From 3037fb149ec6d6a9a898b0e5625cbf3ad2709be4 Mon Sep 17 00:00:00 2001 From: Hailiang Date: Tue, 11 Mar 2025 13:52:01 +0800 Subject: [PATCH 1/3] add sw_64 support --- BUILD/libtool-2.4.7/.serial | 1 + BUILD/libtool-2.4.7/.tarball-version | 1 + BUILD/libtool-2.4.7/.version | 1 + BUILD/libtool-2.4.7/AUTHORS | 50 + BUILD/libtool-2.4.7/COPYING | 339 + BUILD/libtool-2.4.7/ChangeLog | 31847 ++++++++++ BUILD/libtool-2.4.7/GNUmakefile | 127 + BUILD/libtool-2.4.7/INSTALL | 368 + BUILD/libtool-2.4.7/Makefile.am | 835 + BUILD/libtool-2.4.7/Makefile.in | 2592 + BUILD/libtool-2.4.7/NEWS | 1251 + BUILD/libtool-2.4.7/README | 261 + BUILD/libtool-2.4.7/THANKS | 342 + BUILD/libtool-2.4.7/TODO | 346 + BUILD/libtool-2.4.7/aclocal.m4 | 1148 + BUILD/libtool-2.4.7/autom4te.cache/output.0 | 33382 ++++++++++ BUILD/libtool-2.4.7/autom4te.cache/output.1 | 33382 ++++++++++ BUILD/libtool-2.4.7/autom4te.cache/requests | 346 + BUILD/libtool-2.4.7/autom4te.cache/traces.0 | 4267 ++ BUILD/libtool-2.4.7/autom4te.cache/traces.1 | 1493 + BUILD/libtool-2.4.7/bootstrap | 5470 ++ BUILD/libtool-2.4.7/bootstrap.conf | 408 + BUILD/libtool-2.4.7/build-aux/announce-gen | 587 + BUILD/libtool-2.4.7/build-aux/compile | 348 + BUILD/libtool-2.4.7/build-aux/config.guess | 1757 + BUILD/libtool-2.4.7/build-aux/config.sub | 1891 + BUILD/libtool-2.4.7/build-aux/depcomp | 790 + .../build-aux/do-release-commit-and-tag | 180 + .../libtool-2.4.7/build-aux/edit-readme-alpha | 96 + BUILD/libtool-2.4.7/build-aux/extract-trace | 486 + BUILD/libtool-2.4.7/build-aux/funclib.sh | 1465 + BUILD/libtool-2.4.7/build-aux/gendocs.sh | 510 + BUILD/libtool-2.4.7/build-aux/git-version-gen | 227 + .../build-aux/gnu-web-doc-update | 213 + BUILD/libtool-2.4.7/build-aux/gnupload | 480 + BUILD/libtool-2.4.7/build-aux/inline-source | 159 + BUILD/libtool-2.4.7/build-aux/install-sh | 541 + BUILD/libtool-2.4.7/build-aux/ltmain.in | 9286 +++ BUILD/libtool-2.4.7/build-aux/ltmain.sh | 11436 ++++ BUILD/libtool-2.4.7/build-aux/mdate-sh | 228 + BUILD/libtool-2.4.7/build-aux/missing | 215 + .../build-aux/no-bogus-m4-defines | 61 + BUILD/libtool-2.4.7/build-aux/options-parser | 685 + BUILD/libtool-2.4.7/build-aux/test-driver | 150 + BUILD/libtool-2.4.7/build-aux/texinfo.tex | 11592 ++++ .../libtool-2.4.7/build-aux/update-copyright | 302 + .../build-aux/useless-if-before-free | 240 + BUILD/libtool-2.4.7/build-aux/vc-list-files | 113 + BUILD/libtool-2.4.7/cfg.mk | 274 + BUILD/libtool-2.4.7/config-h.in | 637 + BUILD/libtool-2.4.7/configure | 33382 ++++++++++ BUILD/libtool-2.4.7/configure.ac | 186 + BUILD/libtool-2.4.7/doc/PLATFORMS | 162 + BUILD/libtool-2.4.7/doc/fdl.texi | 505 + BUILD/libtool-2.4.7/doc/gendocs_template | 101 + BUILD/libtool-2.4.7/doc/libtool.1 | 123 + BUILD/libtool-2.4.7/doc/libtool.info | 143 + BUILD/libtool-2.4.7/doc/libtool.info-1 | 7228 +++ BUILD/libtool-2.4.7/doc/libtool.info-2 | Bin 0 -> 51742 bytes BUILD/libtool-2.4.7/doc/libtool.texi | 7282 +++ BUILD/libtool-2.4.7/doc/libtoolize.1 | 127 + BUILD/libtool-2.4.7/doc/notes.texi | 79 + BUILD/libtool-2.4.7/doc/notes.txt | 60 + BUILD/libtool-2.4.7/doc/stamp-vti | 4 + BUILD/libtool-2.4.7/doc/version.texi | 4 + BUILD/libtool-2.4.7/gnulib-tests/Makefile.am | 132 + BUILD/libtool-2.4.7/gnulib-tests/Makefile.in | 1208 + BUILD/libtool-2.4.7/gnulib-tests/init.sh | 700 + .../gnulib-tests/test-all-shells.sh | 103 + .../gnulib-tests/test-funclib-quote.sh | 183 + BUILD/libtool-2.4.7/gnulib-tests/test-init.sh | 74 + .../gnulib-tests/test-option-parser-helper | 200 + .../gnulib-tests/test-option-parser.sh | 131 + .../gnulib-tests/test-update-copyright.sh | 561 + .../gnulib-tests/test-vc-list-files-cvs.sh | 53 + .../gnulib-tests/test-vc-list-files-git.sh | 42 + BUILD/libtool-2.4.7/libltdl/COPYING.LIB | 502 + BUILD/libtool-2.4.7/libltdl/Makefile.am | 159 + BUILD/libtool-2.4.7/libltdl/Makefile.in | 1293 + BUILD/libtool-2.4.7/libltdl/README | 21 + BUILD/libtool-2.4.7/libltdl/aclocal.m4 | 1139 + BUILD/libtool-2.4.7/libltdl/config-h.in | 180 + BUILD/libtool-2.4.7/libltdl/configure | 15659 +++++ BUILD/libtool-2.4.7/libltdl/configure.ac | 76 + .../libtool-2.4.7/libltdl/libltdl/lt__alloc.h | 59 + .../libtool-2.4.7/libltdl/libltdl/lt__argz_.h | 69 + .../libltdl/libltdl/lt__dirent.h | 88 + .../libtool-2.4.7/libltdl/libltdl/lt__glibc.h | 89 + .../libltdl/libltdl/lt__private.h | 150 + .../libtool-2.4.7/libltdl/libltdl/lt__strl.h | 54 + .../libltdl/libltdl/lt_dlloader.h | 91 + .../libtool-2.4.7/libltdl/libltdl/lt_error.h | 86 + .../libtool-2.4.7/libltdl/libltdl/lt_system.h | 167 + BUILD/libtool-2.4.7/libltdl/libltdl/slist.h | 97 + .../libtool-2.4.7/libltdl/loaders/dld_link.c | 158 + BUILD/libtool-2.4.7/libltdl/loaders/dlopen.c | 275 + BUILD/libtool-2.4.7/libltdl/loaders/dyld.c | 511 + .../libltdl/loaders/load_add_on.c | 167 + .../libltdl/loaders/loadlibrary.c | 369 + BUILD/libtool-2.4.7/libltdl/loaders/preopen.c | 387 + .../libtool-2.4.7/libltdl/loaders/shl_load.c | 222 + BUILD/libtool-2.4.7/libltdl/lt__alloc.c | 96 + BUILD/libtool-2.4.7/libltdl/lt__argz.c | 225 + BUILD/libtool-2.4.7/libltdl/lt__dirent.c | 107 + BUILD/libtool-2.4.7/libltdl/lt__strl.c | 128 + BUILD/libtool-2.4.7/libltdl/lt_dlloader.c | 215 + BUILD/libtool-2.4.7/libltdl/lt_error.c | 111 + BUILD/libtool-2.4.7/libltdl/ltdl.c | 2471 + BUILD/libtool-2.4.7/libltdl/ltdl.h | 163 + BUILD/libtool-2.4.7/libltdl/ltdl.mk | 149 + BUILD/libtool-2.4.7/libltdl/slist.c | 379 + BUILD/libtool-2.4.7/libltdl/stamp-mk | 1 + BUILD/libtool-2.4.7/libtoolize.in | 1945 + BUILD/libtool-2.4.7/m4/00gnulib.m4 | 85 + BUILD/libtool-2.4.7/m4/autobuild.m4 | 40 + BUILD/libtool-2.4.7/m4/gnulib-common.m4 | 1069 + BUILD/libtool-2.4.7/m4/gnulib-comp.m4 | 308 + BUILD/libtool-2.4.7/m4/libtool.m4 | 8403 +++ BUILD/libtool-2.4.7/m4/ltargz.m4 | 77 + BUILD/libtool-2.4.7/m4/ltdl.m4 | 910 + BUILD/libtool-2.4.7/m4/ltoptions.m4 | 437 + BUILD/libtool-2.4.7/m4/ltsugar.m4 | 124 + BUILD/libtool-2.4.7/m4/ltversion.in | 24 + BUILD/libtool-2.4.7/m4/ltversion.m4 | 24 + BUILD/libtool-2.4.7/m4/lt~obsolete.m4 | 99 + BUILD/libtool-2.4.7/m4/m4.m4 | 83 + BUILD/libtool-2.4.7/m4/zzgnulib.m4 | 23 + BUILD/libtool-2.4.7/maint.mk | 1778 + BUILD/libtool-2.4.7/tests/am-subdir.at | 151 + .../libtool-2.4.7/tests/archive-in-archive.at | 60 + BUILD/libtool-2.4.7/tests/bindir.at | 361 + BUILD/libtool-2.4.7/tests/cdemo.at | 194 + BUILD/libtool-2.4.7/tests/cmdline_wrap.at | 51 + BUILD/libtool-2.4.7/tests/configure-funcs.at | 70 + BUILD/libtool-2.4.7/tests/configure-iface.at | 329 + BUILD/libtool-2.4.7/tests/convenience.at | 290 + BUILD/libtool-2.4.7/tests/ctor.at | 68 + BUILD/libtool-2.4.7/tests/cwrapper.at | 263 + BUILD/libtool-2.4.7/tests/darwin.at | 447 + BUILD/libtool-2.4.7/tests/demo.at | 986 + BUILD/libtool-2.4.7/tests/depdemo.at | 431 + BUILD/libtool-2.4.7/tests/deplib-in-subdir.at | 157 + BUILD/libtool-2.4.7/tests/deplibs-ident.at | 80 + BUILD/libtool-2.4.7/tests/deplibs-mingw.at | 97 + BUILD/libtool-2.4.7/tests/destdir.at | 143 + BUILD/libtool-2.4.7/tests/dlloader-api.at | 441 + BUILD/libtool-2.4.7/tests/dumpbin-symbols.at | 111 + BUILD/libtool-2.4.7/tests/duplicate_conv.at | 92 + BUILD/libtool-2.4.7/tests/duplicate_deps.at | 77 + .../libtool-2.4.7/tests/duplicate_members.at | 78 + BUILD/libtool-2.4.7/tests/early-libtool.at | 230 + BUILD/libtool-2.4.7/tests/exceptions.at | 401 + BUILD/libtool-2.4.7/tests/execute-mode.at | 221 + BUILD/libtool-2.4.7/tests/exeext.at | 53 + BUILD/libtool-2.4.7/tests/export-def.at | 139 + BUILD/libtool-2.4.7/tests/export.at | 198 + BUILD/libtool-2.4.7/tests/f77demo.at | 337 + BUILD/libtool-2.4.7/tests/fail.at | 123 + BUILD/libtool-2.4.7/tests/fcdemo.at | 351 + BUILD/libtool-2.4.7/tests/flags.at | 116 + BUILD/libtool-2.4.7/tests/help.at | 191 + BUILD/libtool-2.4.7/tests/indirect_deps.at | 118 + BUILD/libtool-2.4.7/tests/infer-tag.at | 98 + BUILD/libtool-2.4.7/tests/inherited_flags.at | 114 + BUILD/libtool-2.4.7/tests/install.at | 53 + BUILD/libtool-2.4.7/tests/lalib-syntax.at | 137 + BUILD/libtool-2.4.7/tests/libtool.at | 244 + BUILD/libtool-2.4.7/tests/libtoolize.at | 1166 + BUILD/libtool-2.4.7/tests/link-order.at | 127 + BUILD/libtool-2.4.7/tests/link-order2.at | 151 + BUILD/libtool-2.4.7/tests/loadlibrary.at | 269 + BUILD/libtool-2.4.7/tests/localization.at | 73 + BUILD/libtool-2.4.7/tests/lt_dladvise.at | 390 + BUILD/libtool-2.4.7/tests/lt_dlexit.at | 165 + BUILD/libtool-2.4.7/tests/lt_dlopen.at | 104 + BUILD/libtool-2.4.7/tests/lt_dlopen_a.at | 98 + BUILD/libtool-2.4.7/tests/lt_dlopenext.at | 251 + BUILD/libtool-2.4.7/tests/ltdl-api.at | 40 + BUILD/libtool-2.4.7/tests/ltdl-libdir.at | 124 + BUILD/libtool-2.4.7/tests/mdemo.at | 855 + BUILD/libtool-2.4.7/tests/need_lib_prefix.at | 198 + BUILD/libtool-2.4.7/tests/no-executables.at | 80 + BUILD/libtool-2.4.7/tests/nocase.at | 85 + BUILD/libtool-2.4.7/tests/nonrecursive.at | 150 + BUILD/libtool-2.4.7/tests/old-m4-iface.at | 197 + BUILD/libtool-2.4.7/tests/package.m4 | 7 + BUILD/libtool-2.4.7/tests/pic_flag.at | 63 + BUILD/libtool-2.4.7/tests/recursive.at | 120 + BUILD/libtool-2.4.7/tests/resident.at | 148 + BUILD/libtool-2.4.7/tests/runpath-in-lalib.at | 67 + BUILD/libtool-2.4.7/tests/search-path.at | 98 + BUILD/libtool-2.4.7/tests/shlibpath.at | 74 + BUILD/libtool-2.4.7/tests/slist.at | 171 + BUILD/libtool-2.4.7/tests/standalone.at | 90 + BUILD/libtool-2.4.7/tests/static.at | 380 + BUILD/libtool-2.4.7/tests/stresstest.at | 291 + BUILD/libtool-2.4.7/tests/subproject.at | 123 + BUILD/libtool-2.4.7/tests/sysroot.at | 209 + BUILD/libtool-2.4.7/tests/tagdemo.at | 396 + BUILD/libtool-2.4.7/tests/template.at | 324 + BUILD/libtool-2.4.7/tests/testsuite | 51628 ++++++++++++++++ BUILD/libtool-2.4.7/tests/testsuite.at | 535 + BUILD/libtool-2.4.7/tests/versioning.at | 244 + BUILD/libtool-2.4.7/tests/with-pic.at | 64 + SOURCES/add-sw_64-support.patch | 39 + .../libtool-2.4.5-rpath.patch | 0 .../libtool-2.4.7.tar.xz | Bin libtool.yaml => SOURCES/libtool.yaml | 0 libtool.spec => SPECS/libtool.spec | 8 +- 209 files changed, 325222 insertions(+), 2 deletions(-) create mode 100644 BUILD/libtool-2.4.7/.serial create mode 100644 BUILD/libtool-2.4.7/.tarball-version create mode 100644 BUILD/libtool-2.4.7/.version create mode 100644 BUILD/libtool-2.4.7/AUTHORS create mode 100644 BUILD/libtool-2.4.7/COPYING create mode 100644 BUILD/libtool-2.4.7/ChangeLog create mode 100644 BUILD/libtool-2.4.7/GNUmakefile create mode 100644 BUILD/libtool-2.4.7/INSTALL create mode 100644 BUILD/libtool-2.4.7/Makefile.am create mode 100644 BUILD/libtool-2.4.7/Makefile.in create mode 100644 BUILD/libtool-2.4.7/NEWS create mode 100644 BUILD/libtool-2.4.7/README create mode 100644 BUILD/libtool-2.4.7/THANKS create mode 100644 BUILD/libtool-2.4.7/TODO create mode 100644 BUILD/libtool-2.4.7/aclocal.m4 create mode 100644 BUILD/libtool-2.4.7/autom4te.cache/output.0 create mode 100644 BUILD/libtool-2.4.7/autom4te.cache/output.1 create mode 100644 BUILD/libtool-2.4.7/autom4te.cache/requests create mode 100644 BUILD/libtool-2.4.7/autom4te.cache/traces.0 create mode 100644 BUILD/libtool-2.4.7/autom4te.cache/traces.1 create mode 100755 BUILD/libtool-2.4.7/bootstrap create mode 100644 BUILD/libtool-2.4.7/bootstrap.conf create mode 100755 BUILD/libtool-2.4.7/build-aux/announce-gen create mode 100755 BUILD/libtool-2.4.7/build-aux/compile create mode 100755 BUILD/libtool-2.4.7/build-aux/config.guess create mode 100755 BUILD/libtool-2.4.7/build-aux/config.sub create mode 100755 BUILD/libtool-2.4.7/build-aux/depcomp create mode 100755 BUILD/libtool-2.4.7/build-aux/do-release-commit-and-tag create mode 100755 BUILD/libtool-2.4.7/build-aux/edit-readme-alpha create mode 100755 BUILD/libtool-2.4.7/build-aux/extract-trace create mode 100644 BUILD/libtool-2.4.7/build-aux/funclib.sh create mode 100755 BUILD/libtool-2.4.7/build-aux/gendocs.sh create mode 100755 BUILD/libtool-2.4.7/build-aux/git-version-gen create mode 100755 BUILD/libtool-2.4.7/build-aux/gnu-web-doc-update create mode 100755 BUILD/libtool-2.4.7/build-aux/gnupload create mode 100755 BUILD/libtool-2.4.7/build-aux/inline-source create mode 100755 BUILD/libtool-2.4.7/build-aux/install-sh create mode 100644 BUILD/libtool-2.4.7/build-aux/ltmain.in create mode 100644 BUILD/libtool-2.4.7/build-aux/ltmain.sh create mode 100755 BUILD/libtool-2.4.7/build-aux/mdate-sh create mode 100755 BUILD/libtool-2.4.7/build-aux/missing create mode 100755 BUILD/libtool-2.4.7/build-aux/no-bogus-m4-defines create mode 100644 BUILD/libtool-2.4.7/build-aux/options-parser create mode 100755 BUILD/libtool-2.4.7/build-aux/test-driver create mode 100644 BUILD/libtool-2.4.7/build-aux/texinfo.tex create mode 100755 BUILD/libtool-2.4.7/build-aux/update-copyright create mode 100755 BUILD/libtool-2.4.7/build-aux/useless-if-before-free create mode 100755 BUILD/libtool-2.4.7/build-aux/vc-list-files create mode 100644 BUILD/libtool-2.4.7/cfg.mk create mode 100644 BUILD/libtool-2.4.7/config-h.in create mode 100755 BUILD/libtool-2.4.7/configure create mode 100644 BUILD/libtool-2.4.7/configure.ac create mode 100644 BUILD/libtool-2.4.7/doc/PLATFORMS create mode 100644 BUILD/libtool-2.4.7/doc/fdl.texi create mode 100644 BUILD/libtool-2.4.7/doc/gendocs_template create mode 100644 BUILD/libtool-2.4.7/doc/libtool.1 create mode 100644 BUILD/libtool-2.4.7/doc/libtool.info create mode 100644 BUILD/libtool-2.4.7/doc/libtool.info-1 create mode 100644 BUILD/libtool-2.4.7/doc/libtool.info-2 create mode 100644 BUILD/libtool-2.4.7/doc/libtool.texi create mode 100644 BUILD/libtool-2.4.7/doc/libtoolize.1 create mode 100644 BUILD/libtool-2.4.7/doc/notes.texi create mode 100644 BUILD/libtool-2.4.7/doc/notes.txt create mode 100644 BUILD/libtool-2.4.7/doc/stamp-vti create mode 100644 BUILD/libtool-2.4.7/doc/version.texi create mode 100644 BUILD/libtool-2.4.7/gnulib-tests/Makefile.am create mode 100644 BUILD/libtool-2.4.7/gnulib-tests/Makefile.in create mode 100644 BUILD/libtool-2.4.7/gnulib-tests/init.sh create mode 100644 BUILD/libtool-2.4.7/gnulib-tests/test-all-shells.sh create mode 100755 BUILD/libtool-2.4.7/gnulib-tests/test-funclib-quote.sh create mode 100755 BUILD/libtool-2.4.7/gnulib-tests/test-init.sh create mode 100755 BUILD/libtool-2.4.7/gnulib-tests/test-option-parser-helper create mode 100755 BUILD/libtool-2.4.7/gnulib-tests/test-option-parser.sh create mode 100755 BUILD/libtool-2.4.7/gnulib-tests/test-update-copyright.sh create mode 100755 BUILD/libtool-2.4.7/gnulib-tests/test-vc-list-files-cvs.sh create mode 100755 BUILD/libtool-2.4.7/gnulib-tests/test-vc-list-files-git.sh create mode 100644 BUILD/libtool-2.4.7/libltdl/COPYING.LIB create mode 100644 BUILD/libtool-2.4.7/libltdl/Makefile.am create mode 100644 BUILD/libtool-2.4.7/libltdl/Makefile.in create mode 100644 BUILD/libtool-2.4.7/libltdl/README create mode 100644 BUILD/libtool-2.4.7/libltdl/aclocal.m4 create mode 100644 BUILD/libtool-2.4.7/libltdl/config-h.in create mode 100755 BUILD/libtool-2.4.7/libltdl/configure create mode 100644 BUILD/libtool-2.4.7/libltdl/configure.ac create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt__alloc.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt__argz_.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt__dirent.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt__glibc.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt__private.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt__strl.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt_dlloader.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt_error.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/lt_system.h create mode 100644 BUILD/libtool-2.4.7/libltdl/libltdl/slist.h create mode 100644 BUILD/libtool-2.4.7/libltdl/loaders/dld_link.c create mode 100644 BUILD/libtool-2.4.7/libltdl/loaders/dlopen.c create mode 100644 BUILD/libtool-2.4.7/libltdl/loaders/dyld.c create mode 100644 BUILD/libtool-2.4.7/libltdl/loaders/load_add_on.c create mode 100644 BUILD/libtool-2.4.7/libltdl/loaders/loadlibrary.c create mode 100644 BUILD/libtool-2.4.7/libltdl/loaders/preopen.c create mode 100644 BUILD/libtool-2.4.7/libltdl/loaders/shl_load.c create mode 100644 BUILD/libtool-2.4.7/libltdl/lt__alloc.c create mode 100644 BUILD/libtool-2.4.7/libltdl/lt__argz.c create mode 100644 BUILD/libtool-2.4.7/libltdl/lt__dirent.c create mode 100644 BUILD/libtool-2.4.7/libltdl/lt__strl.c create mode 100644 BUILD/libtool-2.4.7/libltdl/lt_dlloader.c create mode 100644 BUILD/libtool-2.4.7/libltdl/lt_error.c create mode 100644 BUILD/libtool-2.4.7/libltdl/ltdl.c create mode 100644 BUILD/libtool-2.4.7/libltdl/ltdl.h create mode 100644 BUILD/libtool-2.4.7/libltdl/ltdl.mk create mode 100644 BUILD/libtool-2.4.7/libltdl/slist.c create mode 100644 BUILD/libtool-2.4.7/libltdl/stamp-mk create mode 100644 BUILD/libtool-2.4.7/libtoolize.in create mode 100644 BUILD/libtool-2.4.7/m4/00gnulib.m4 create mode 100644 BUILD/libtool-2.4.7/m4/autobuild.m4 create mode 100644 BUILD/libtool-2.4.7/m4/gnulib-common.m4 create mode 100644 BUILD/libtool-2.4.7/m4/gnulib-comp.m4 create mode 100644 BUILD/libtool-2.4.7/m4/libtool.m4 create mode 100644 BUILD/libtool-2.4.7/m4/ltargz.m4 create mode 100644 BUILD/libtool-2.4.7/m4/ltdl.m4 create mode 100644 BUILD/libtool-2.4.7/m4/ltoptions.m4 create mode 100644 BUILD/libtool-2.4.7/m4/ltsugar.m4 create mode 100644 BUILD/libtool-2.4.7/m4/ltversion.in create mode 100644 BUILD/libtool-2.4.7/m4/ltversion.m4 create mode 100644 BUILD/libtool-2.4.7/m4/lt~obsolete.m4 create mode 100644 BUILD/libtool-2.4.7/m4/m4.m4 create mode 100644 BUILD/libtool-2.4.7/m4/zzgnulib.m4 create mode 100644 BUILD/libtool-2.4.7/maint.mk create mode 100644 BUILD/libtool-2.4.7/tests/am-subdir.at create mode 100644 BUILD/libtool-2.4.7/tests/archive-in-archive.at create mode 100644 BUILD/libtool-2.4.7/tests/bindir.at create mode 100644 BUILD/libtool-2.4.7/tests/cdemo.at create mode 100644 BUILD/libtool-2.4.7/tests/cmdline_wrap.at create mode 100644 BUILD/libtool-2.4.7/tests/configure-funcs.at create mode 100644 BUILD/libtool-2.4.7/tests/configure-iface.at create mode 100644 BUILD/libtool-2.4.7/tests/convenience.at create mode 100644 BUILD/libtool-2.4.7/tests/ctor.at create mode 100644 BUILD/libtool-2.4.7/tests/cwrapper.at create mode 100644 BUILD/libtool-2.4.7/tests/darwin.at create mode 100644 BUILD/libtool-2.4.7/tests/demo.at create mode 100644 BUILD/libtool-2.4.7/tests/depdemo.at create mode 100644 BUILD/libtool-2.4.7/tests/deplib-in-subdir.at create mode 100644 BUILD/libtool-2.4.7/tests/deplibs-ident.at create mode 100644 BUILD/libtool-2.4.7/tests/deplibs-mingw.at create mode 100644 BUILD/libtool-2.4.7/tests/destdir.at create mode 100644 BUILD/libtool-2.4.7/tests/dlloader-api.at create mode 100644 BUILD/libtool-2.4.7/tests/dumpbin-symbols.at create mode 100644 BUILD/libtool-2.4.7/tests/duplicate_conv.at create mode 100644 BUILD/libtool-2.4.7/tests/duplicate_deps.at create mode 100755 BUILD/libtool-2.4.7/tests/duplicate_members.at create mode 100644 BUILD/libtool-2.4.7/tests/early-libtool.at create mode 100644 BUILD/libtool-2.4.7/tests/exceptions.at create mode 100644 BUILD/libtool-2.4.7/tests/execute-mode.at create mode 100644 BUILD/libtool-2.4.7/tests/exeext.at create mode 100755 BUILD/libtool-2.4.7/tests/export-def.at create mode 100644 BUILD/libtool-2.4.7/tests/export.at create mode 100644 BUILD/libtool-2.4.7/tests/f77demo.at create mode 100644 BUILD/libtool-2.4.7/tests/fail.at create mode 100644 BUILD/libtool-2.4.7/tests/fcdemo.at create mode 100644 BUILD/libtool-2.4.7/tests/flags.at create mode 100644 BUILD/libtool-2.4.7/tests/help.at create mode 100644 BUILD/libtool-2.4.7/tests/indirect_deps.at create mode 100644 BUILD/libtool-2.4.7/tests/infer-tag.at create mode 100644 BUILD/libtool-2.4.7/tests/inherited_flags.at create mode 100644 BUILD/libtool-2.4.7/tests/install.at create mode 100644 BUILD/libtool-2.4.7/tests/lalib-syntax.at create mode 100755 BUILD/libtool-2.4.7/tests/libtool.at create mode 100644 BUILD/libtool-2.4.7/tests/libtoolize.at create mode 100644 BUILD/libtool-2.4.7/tests/link-order.at create mode 100644 BUILD/libtool-2.4.7/tests/link-order2.at create mode 100644 BUILD/libtool-2.4.7/tests/loadlibrary.at create mode 100644 BUILD/libtool-2.4.7/tests/localization.at create mode 100644 BUILD/libtool-2.4.7/tests/lt_dladvise.at create mode 100644 BUILD/libtool-2.4.7/tests/lt_dlexit.at create mode 100644 BUILD/libtool-2.4.7/tests/lt_dlopen.at create mode 100644 BUILD/libtool-2.4.7/tests/lt_dlopen_a.at create mode 100644 BUILD/libtool-2.4.7/tests/lt_dlopenext.at create mode 100644 BUILD/libtool-2.4.7/tests/ltdl-api.at create mode 100644 BUILD/libtool-2.4.7/tests/ltdl-libdir.at create mode 100644 BUILD/libtool-2.4.7/tests/mdemo.at create mode 100644 BUILD/libtool-2.4.7/tests/need_lib_prefix.at create mode 100644 BUILD/libtool-2.4.7/tests/no-executables.at create mode 100644 BUILD/libtool-2.4.7/tests/nocase.at create mode 100644 BUILD/libtool-2.4.7/tests/nonrecursive.at create mode 100644 BUILD/libtool-2.4.7/tests/old-m4-iface.at create mode 100644 BUILD/libtool-2.4.7/tests/package.m4 create mode 100644 BUILD/libtool-2.4.7/tests/pic_flag.at create mode 100644 BUILD/libtool-2.4.7/tests/recursive.at create mode 100644 BUILD/libtool-2.4.7/tests/resident.at create mode 100644 BUILD/libtool-2.4.7/tests/runpath-in-lalib.at create mode 100644 BUILD/libtool-2.4.7/tests/search-path.at create mode 100644 BUILD/libtool-2.4.7/tests/shlibpath.at create mode 100644 BUILD/libtool-2.4.7/tests/slist.at create mode 100644 BUILD/libtool-2.4.7/tests/standalone.at create mode 100644 BUILD/libtool-2.4.7/tests/static.at create mode 100644 BUILD/libtool-2.4.7/tests/stresstest.at create mode 100644 BUILD/libtool-2.4.7/tests/subproject.at create mode 100644 BUILD/libtool-2.4.7/tests/sysroot.at create mode 100644 BUILD/libtool-2.4.7/tests/tagdemo.at create mode 100644 BUILD/libtool-2.4.7/tests/template.at create mode 100755 BUILD/libtool-2.4.7/tests/testsuite create mode 100644 BUILD/libtool-2.4.7/tests/testsuite.at create mode 100644 BUILD/libtool-2.4.7/tests/versioning.at create mode 100644 BUILD/libtool-2.4.7/tests/with-pic.at create mode 100644 SOURCES/add-sw_64-support.patch rename libtool-2.4.5-rpath.patch => SOURCES/libtool-2.4.5-rpath.patch (100%) rename libtool-2.4.7.tar.xz => SOURCES/libtool-2.4.7.tar.xz (100%) rename libtool.yaml => SOURCES/libtool.yaml (100%) rename libtool.spec => SPECS/libtool.spec (96%) diff --git a/BUILD/libtool-2.4.7/.serial b/BUILD/libtool-2.4.7/.serial new file mode 100644 index 0000000..d97213f --- /dev/null +++ b/BUILD/libtool-2.4.7/.serial @@ -0,0 +1 @@ +4245 diff --git a/BUILD/libtool-2.4.7/.tarball-version b/BUILD/libtool-2.4.7/.tarball-version new file mode 100644 index 0000000..e30309f --- /dev/null +++ b/BUILD/libtool-2.4.7/.tarball-version @@ -0,0 +1 @@ +2.4.7 diff --git a/BUILD/libtool-2.4.7/.version b/BUILD/libtool-2.4.7/.version new file mode 100644 index 0000000..e30309f --- /dev/null +++ b/BUILD/libtool-2.4.7/.version @@ -0,0 +1 @@ +2.4.7 diff --git a/BUILD/libtool-2.4.7/AUTHORS b/BUILD/libtool-2.4.7/AUTHORS new file mode 100644 index 0000000..4e4904e --- /dev/null +++ b/BUILD/libtool-2.4.7/AUTHORS @@ -0,0 +1,50 @@ +* GNU Libtool was conceived, designed and implemented by: + + Gordon Matzigkeit gord@gnu.org + +* GNU Libtool's Dynamic Loader library (libltdl) was conceived, + designed and implemented by: + + Thomas Tanner tanner@ffii.org + +* GNU Libtool and libltdl have previously been maintained, enhanced, + ported and otherwise advanced by: + + Alexandre Oliva oliva@dcc.unicamp.br + Ossama Othman ossama@debian.org + Robert Boehne rboehne@ricardo-us.com + Scott James Remnant scott@netsplit.com + Peter O'Gorman peter@pogma.com + Ralf Wildenhues Ralf.Wildenhues@gmx.de + Gary V. Vaughan gary@vaughan.pe + Bob Friesenhahn bfriesen@simple.dallas.tx.us + Peter Rosin peda@lysator.liu.se + Noah Misch noah@cs.caltech.edu + Charles Wilson libtool@cwilson.fastmail.fm + Brooks Moses bmoses@google.com + +* GNU Libtool is currently being cajoled, bullied, + rewritten and otherwise dragged into the future by: + + Alex Ameen alex.ameen.tx@gmail.com +-- + Copyright (C) 1996, 1998-2019, 2021-2022 Free Software Foundation, + Inc. + + This file is part of GNU Libtool. + +GNU Libtool is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of +the License, or (at your option) any later version. + +GNU Libtool is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Libtool; see the file COPYING. If not, a copy +can be downloaded from http://www.gnu.org/licenses/gpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/BUILD/libtool-2.4.7/COPYING b/BUILD/libtool-2.4.7/COPYING new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/BUILD/libtool-2.4.7/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/BUILD/libtool-2.4.7/ChangeLog b/BUILD/libtool-2.4.7/ChangeLog new file mode 100644 index 0000000..acb6380 --- /dev/null +++ b/BUILD/libtool-2.4.7/ChangeLog @@ -0,0 +1,31847 @@ +2022-03-17 Alex Ameen + + version 2.4.7 + + * NEWS: Record release date. + +2022-03-07 Alex Ameen + + NEWS: roll-back manually filled NEWS versioning + + * NEWS: 'make release-commit' wants to automatically enter this information, + so the original template must be restored. + +2022-03-06 Alex Ameen + + NEWS: fill entries for past commits + + * NEWS: summarize past commits since previous release for NEWS file + +2022-02-09 Alex Ameen + + libltdl: bump libltdl.la version-info. + + * libltdl/ltdl.mk: increment revision number to reflect minor changes + and bug-fixes. + +2022-02-08 Alex Ameen + + libtool: correct linter syntax complaints in M4 + + * m4/libtool.m4: remove unnecessary braces on variable derefence. + * m4/ltargz.m4: change quote style for inline comment. + +2022-02-08 Alex Ameen + + gnulib: update submodule to new repository. + + * configure.ac: Update autoconf requirement for bootstrapping to 2.64. + * README.md: Update note concerning autoconf version requirement. + * bootstrap: Propogate change to GPL license from GPL 3 to GPL 2. + +2022-02-08 Alex Ameen + + maint: update copyrights across project. + +2022-02-05 Stacey Marshall (tiny change) + + libtool: Do not pass '-pthread' to Solaris linker. + + * build-aux/ltmain.in: Do not add -pthread to inherited linker flags on + Solaris systems. + +2021-12-24 Alex Ameen + + docs: manually recording dependencies in Automake + + * doc/libtool.texi (Using Automake): provide example of how to manually record + 'BUILT_SOURCES' dependencies for libtool archives. + +2021-12-05 Alex Ameen + + tests: remove deprecated old-ltdl-iface.at test. + + * tests/old-ltdl-iface.at: remove test as instructed by inline comments, which + indicate that this test should have been deleted in 2013. + This test fails because it relies on legacy usage of 'include Makefile.inc' + by libltdl which is no longer supported. + +2021-11-30 Alex Ameen + + * libtool: Bump M4 serial versions and add missing AC_PROG_SED to ltdl.m4 + + * m4/libtool.m4: bump serial version ( covers entire release ). + * m4/ltargz.m4: bump serial version ( covers entire release ). + Add AC_PROG_SED requirement to LT_FUNC_ARGZ. + * m4/ltdl.m4: bump serial version ( covers entire release ). + +2021-11-30 Václav Haisman (tiny change) + Alex Ameen + + libtool: replace raw invocations of sed with $SED + + * build-aux/ltmain.in: replace raw invocations of sed with $SED + * m4/libtool.m4: replace raw invocations of sed with $SED + * m4/ltargz.m4: replace raw invocations of sed with $SED + * m4/ltdl.m4: replace raw invocations of sed with $SED + +2021-11-30 Lucas Holt (tiny change) + + libtool: add support for MidnightBSD + + * build-aux/ltmain.in: clone link-mode handling for MidnightBSD from FreeBSD + * m4/libtool.m4: clone various TAGVARs for MidnightBSD from FreeBSD + * m4/ltdl.m4: clone dlopen handling for MidnightBSD from FreeBSD + +2021-11-22 Ryan Schmidt (tiny change) + + libtool: powerpc 10.5 detection without a deployment target + + * m4/libtool.m4: properly set "allow undefined" flag for darwin powerpc 10.5 + even if deployment target is unset + +2021-11-22 Jeremy Huddleston Sequoia (tiny change) + + libtool: support macOS 11 + + Fixes bug#44605 + + * m4/libtool.m4: '_LT_REQUIRED_DARWIN_CHECKS' sets proper "allow undefined" flag + for particular macOS versions and powerpc. + +2021-11-22 Vincent Lefevre (tiny change) + + libtool: correct m4 quoting in sed expression + + * m4/libtool.m4: properly escape character set in sed expression + +2021-11-20 Alex Ameen + + libtool: replace some references to /usr/bin/file and /bin/sh + + * build-aux/ltmain.sh: use '/usr/bin/env sh' in shebang + * libtoolize.in: use '/usr/bin/env sh' in shebang + * m4/libtool.m4: 'FILECMD' to replace use of '/usr/bin/file' + +2021-11-19 aakropotkin + + libtool: Add -Wa,* link-mode flag for assembler pass-thru + + * build-aux/ltmain.in: add -Wa,* as link-mode flag. + Add help messages for -Wa,* and -Xassember in link mode. + Add help message for -Xcompiler in compile mode. + * doc/libtool.texi: document -Xassembler and -Wa,* for link-mode. + +2021-11-19 Alex Potapenko (tiny change) + + libtool: Pass -Xassembler flag and arguments to compiler + + * build-aux/ltmain.in: Add parsing and pass-thru for -Xassembler + +2021-11-16 Pavel Raiskup + + maint: update Bootstrap git module + + Fixes bug#47000. + + * bootstrap: Regenerated. + * gl-mod/bootstrap: Updated to the latest HEAD. + +2021-11-15 aakropotkin + + maint: update copyrights across project. + + * AUTHORS: Correct manually modified copyright to be consistent with + other files. + +2021-11-15 aakropotkin + + maint: update AUTHORS, copyright date. + + * AUTHORS: Add Alex Ameen as maintainer. Move past authors to 'previous' list. + +2019-03-22 Pavel Raiskup + + bootstrap: use $gnulib_clone_since + + * bootstrap.conf: Add $gnulib_clone_since. + * gl-mod/bootstrap: Update to the latest git hash. + * bootstrap: Regenerate. + +2019-03-13 Pavel Raiskup + + maint: update bootstrap, gnulib, copyright dates + + * gnulib: Update to the latest git version. + * gl-mod/bootstrap: Likewise. + * bootstrap: Regenerate. + +2018-07-24 Pavel Raiskup + + maint: update bootstrap, gnulib, copyright dates + + * gnulib: Update to the latest git version. + * gl-mod/bootstrap: Likewise. + * bootstrap: Regenerate. + * gl/top/README-release.diff: Update the patch for the latest + changes in gnulib's README-release. + +2018-07-12 Alexander Shevchenko (tiny change) + + libtool: add icl.exe support + + A logical continuation of Automake commit + c40e27e1c2a60f58e72e65d73d808f782d55494a to provide + Windows ICC support similar as already done for MSVC. + + Resolves bug 26484. + + * m4/libtool.m4: Treat icl.exe equivalently to cl.exe. + +2017-05-05 Pavel Raiskup + + docs: typo in 'win32-dll' description + + Resolves bug 26516. Thanks to Reuben Thomas. + + * doc/libtool.texi (Configuring libtool): s/macro/option/ in + 'win32-dll' option description. + +2017-04-25 Pavel Raiskup + + libtool: quote 'cd' command in shipped relink_command + + Per report from Eric Blake: + https://lists.gnu.org/archive/html/bug-libtool/2015-10/msg00009.html + + * build-aux/ltmain.in (func_mode_link): Quote 'cd `pwd`' properly + before generating the $relink_command. Do that for the potential + scenarios where the pwd could contain spaces or special shell + characters. + +2017-04-25 Pavel Raiskup + + doc: fix typos in --mode=install invocations + + Per report from devel@lists.fedoraproject.org, thread id + CLHZMVL3CZ43KX7CD3PF3FDV255EA57O + + * doc/libtool.texi (Install mode): With the + 'libtool --mode=install' wrapper the 'install' command needs to be + specified. + +2017-04-21 Bert Wesarg (tiny change) + + libtool: exit verbosely for fatal configure problems + + Instead of calling not-existing function and processing subsequent + shell code. + + * build-aux/ltmain.in (func_fatal_configuration): Fix typo in + func_fatal_error call. + +2017-04-21 Pavel Raiskup + + maint: update copyright years + + Also sync gnulib & bootstrap git submodules. + + * gnulib, gl-mod/bootstrap: Move to latest git versions. + * bootstrap: Regenerate. + * all files: Bump years by 'make update-copyright'. + +2017-01-16 Pavel Raiskup + + libltdl: handle ENOMEM in lt_dlloader_remove() + + Reported by Alexander Hass. + + * libltdl/lt_dlloader.c (lt_dlloader_remove): Detect NULL return + value from lt_dlinterface_register. + +2016-03-09 Pavel Raiskup + + bootstrap: use the upstream repo as git module + + .. instead of copying it all the time; gnulib-tool and bootstrap + are now ready to do this correctly. + + Bootstrap upstream is now dual-licensed as MIT/GPLv2+; so the + sources are redistributed automatically under GPLv3+ license in + in libtool project. + + * .gitmodules (bootstrap): New submodule. + * bootstrap.conf (local_gl_dir): Renamed to local_gl_path. + (local_gl_path): Renamed from local_gl_dir. Two sub-directories + are now mentioned as two --local-dir's are used. + (gnulib_git_submodules): New option to automatically clone the + bootstrap git submodule. + * build-aux/ltmain.in (libtool_options_prep) + (libtool_parse_options): Changing function exit status is not + needed with new options-parser. + * libtoolize.in: Don't func_quote when it is not necessary, don't + set the function return value. + * gl-mod/bootstrap: New git submodule. + * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, + gl/build-aux/funclib.sh, gl/build-aux/inline-source, + gl/build-aux/options-parser, gl/doc/bootstrap.texi, + gl/modules/all-shells-tests, gl/modules/bootstrap, + gl/modules/extract-trace, gl/modules/funclib.sh, + gl/modules/funclib.sh-tests, gl/modules/inline-source + gl/modules/options-parser, gl/modules/options-parser-tests, + gl/tests/test-all-shells.sh, gl/tests/test-funclib-quote.sh + gl/tests/test-option-parser-helper, + gl/tests/test-option-parser.sh: Files removed, those are + automatically pulled from upstream now. + * bootstrap: Sync with upstream. + +2016-02-25 KO Myung-Hun + + libtool: set file_list_spec to '@' on OS/2 + + Creating and linking reloadable objects sometimes fail. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) : + Set file_list_spec to '@'. + +2016-02-19 Pavel Raiskup + + tests: fix $objdir hardcoding check with CFLAGS=-g3 + + At least with gcc, specifying -g3 in CFLAGS ends up with macros + expanded including LT_OBJDIR macro. This fooled the testsuite. + + * tests/demo.at (Demo hardcode): Filter out the expanded LT_OBJDIR + macro. + +2016-02-19 Mike Frysinger (tiny change) + + libtool: pass through -fuse-ld flags + + Starting with gcc-4.8, there's a -fuse-ld flag that can be used to + select between bfd & gold. Make sure we pass it through to the + linking stage. + + * build-aux/ltmain.in (func_mode_link): Pass -fuse-ld=* flags + through. + +2016-02-19 Pavel Raiskup + + m4/libtool.m4: FreeBSD elftoolchain strip support + + References: + http://savannah.gnu.org/patch/?8675 + Message-Id: <20150523-002056.sv85487.59958@savannah.gnu.org> + + * m4/libtool.m4 (_LT_CMD_STRIPLIB): Remove the redundant tests for + empty $old_striplib and $striplib. Move the test for empty $STRIP + variable up. Allow elftoolchain strip (with the same arguments we + used to have with GNU strip) on FreeBSD. + +2016-02-19 Mike Frysinger (tiny change) + + libtoolize: exec automake and autoconf only with --help + + Same fix as applied to libtool in commit 408cfb9c5fa8a666917 + to delay use of automake/autoconf to when the --help option is + actually specified. + + * libtoolize.in (func_help): Override func_help() from + gl/build-aux/options-parser to only run automake --version and + autoconf --version when libtool --help is executed on the command + line. + +2016-02-17 Pavel Raiskup + + edit-readme-alpha: generate the "stable" README properly + + Fixes bug#20196. Reported by Peter Johansson and KO Myung-Hun + + * build-aux/edit-readme-alpha: Invert the order of checks + and exit sooner if the file was already edited. Also fix the + typo 's/sed -n/sed/' (to print the rest of the file). + * Makefile.am ($(readme)): Double-quote the `cmd` to let test -n + work correctly. + +2016-02-17 Pavel Raiskup + + maint: fix for 'make sc_immutable_NEWS' hints + + * NEWS: Remove the leading white-spaces before Copyright line + because it breaks the perl regexp in sc_immutable_NEWS rule. + * cfg.mk (old_NEWS_hash): Adjust to correct previous hash as the + old NEWS entries were not actually touched. + +2016-02-15 Pavel Raiskup + + maint: update copyright years + + Also update gnulib submodule as it contains updated copyright + years too. + + * gnulib: Latest greatest git hash. + * all files: Run 'make update-copyright'. + +2016-02-12 Pavel Raiskup + + libltdl: handle ENOMEM sooner + + Fixes bug#19890. Reported by Tobias Stoeckmann. + + * libltdl/loaders/dld_link.c (vm_open): Do not even try dld_link() + in case of ENOMEM. + +2016-02-03 Pavel Raiskup + + gl: minor typo fixes + + * gl/build-aux/options-parser (func_run_hooks): + s/funcions.n./functions./, s/$@/${1+"$@"}/. + * gl/modules/funclib.sh: Sync license metadata with real module + code. + * bootstrap: Sync with funclib.sh + +2016-02-03 Pavel Raiskup + + gl-tests: dash && option-parser test fix + + Rico pointed out that the testsuite failed on his system (dash + represented /bin/sh). Turns out that 'shift' in dash exits shell + with exit status 2 when there are no items in the array. + + The other issue was that 'test-option-parser.sh' did not + re-executed the test in proper shell, but in /bin/sh. + + * gl/tests/test-option-parser-helper (test_parse_eat_test): Don't + shift for empty $@. + * gl/tests/test-option-parser.sh: Use $__GL_ALL_SHELLS_SHELL as + shell which runs the helper. + +2015-11-30 Jeremy Huddleston Sequoia (tiny change) + + libtool: fix GCC/clang linking with -fsanitize=* + + References: + https://lists.gnu.org/archive/html/libtool/2014-04/msg00026.html + + * build-aux/ltmain.in (func_mode_link): Pass -fsanitize=* to the + linker to allow trivial use of the clang address sanitizer. + +2015-11-30 Pavel Raiskup + + gl-tests: make the failure more readable + + * gl/tests/test-funclib-quote.sh (_compare_or_error): Put $1 into + error output, not having it like that was my mistake. + +2015-11-25 David Edelsohn + + m4/libtool.m4: export AIX TLS symbols + + TLS symbols in AIX display a new, different symbol type in nm output. + Libtool explicitly creates a list of exported symbols for AIX shared + libraries using nm and does not recognize the new TLS symbols, so + those symbols are not exported in AIX shared libraries. + + This is a regression for TLS support on AIX where TLS symbols or GCC + "emultls" symbols were listed as global data and exported. + + This patch updates libtool.m4 export_symbols_cmds for AIX in two + locations so that global symbols labeled with "L" for TLS are included + in the export list. + + * m4/libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols. + Message-Id: + +2015-11-04 Pavel Raiskup + + gl/tests: new tests for options-parser + + * gl/build-aux/options-parser (func_parse_options): Put the info + message 'enabling shell trace mode' on stderr. + * gl/modules/options-parser-tests: New test module. + * gl/tests/test-option-parser.sh: New test-case. + * gl/tests/test-option-parser-helper: New test-case helper. + * bootstrap: Sync with option-parser. + +2015-11-04 Pavel Raiskup + + gl/funclib.sh: func_quotefast_eval & tilde fix + + Testsuite detected that printf built-in in Bash up to 4.2 was not + able to properly escape tilde. + + * gl/build-aux/funclib.sh (func_quote_for_eval): If printf + supports -v option, test also whether we properly escape tilde. + With Bash <= 4.2, call func_quote_portable with ~* strings. + * bootstrap: Sync with funclib.sh. + +2015-11-04 Pavel Raiskup + + syntax-check: fix sed syntax errors + + Multi-line single-quoted shell arguments defined within makefile + rules end up having the trailing backslash. This caused problem + in some sc_* rules as GNU sed does not interpret trailing + backslash the same way as SHELL (== appending next line). + Switching to double quotes means that SHELL will remove the + trailing backslash for subsequent sed call. This silences a lot + of GNU sed warnings seen before like: + + sed: -e expression #1, char 96: unterminated address regex + + * cfg.mk (sc_libtool_m4_cc_basename): Use $(SED) instead of sed, + use double quotes for sed's multi-line argument. + (sc_prohibit_set_dummy_without_shift): Likewise. + (sc_prohibit_test_const_follows_var): Likewise. + +2015-11-03 Pavel Raiskup + + gl/tests: new tests for func_quote* family + + * gl/modules/funclib.sh-tests: New test module. + * gl/modules/all-shells-tests: New test (helper) module. + * gl/tests/test-funclib-quote.sh: New test case. + * gl/tests/test-all-shells.sh: New gl test helper. + * cfg.mk (sc_useless_braces_in_variable_derefs): Whitelist + new test-funclib-quote.sh as the pattern is used there + intentionally. + (sc_space_tab): Likewise. + (sc_useless_braces_in_variable_derefs): Remove /cvsu pattern as + the file is not used with git. + (sc_prohibit_command_in_subst): New checker. + +2015-11-03 Pavel Raiskup + + check: enable gnulib's testsuite + + * Makefile.am (SUBDIRS): Add gnulib-tests. + (EXTRA_DIST): Distribute also update-copyright script. This does + not happen automatically because we manually remove ./lib + directory created by gnulib-tool. Not having the file distributed + causes 'make check' failure, however. + (dotversion): Fix to point to $(top_srcdir). + * bootstrap.conf (gnulib_tool_options): Add gnulib-tool args + needed to successfully install gnulib's tests. + * configure.ac (CONFIG_STATUS_DEPENDENCIES): Look for .version in + $(top_srcdir). + * gnulib: Sync with upstream. + * build-aux/.gitignore: Ignore ar-lib coming from automake. + +2015-10-12 Pavel Raiskup + + funclib: refactor quoting methods a bit + + From now we have two basic functions to perform string quoting for + shell evaluation -- 'func_quote_arg' to quote one argument and + 'func_quote' which takes list of arguments to be quoted. + + New function name-scheme should be more descriptive (previously we + called func_quote_for_eval with one argument and also multiple + arguments, while we had confusing + $func_quote_for_eval_unquoted_result which is redundant for + multiple-arguments call). + + New abstraction allowed us (in an easy way) to implement + bash-specific optimization for quoting (using + 'printf -v VARNAME %q "$value"', suggested by Eric Blake), this + construct may be used on those places where we don't care much + about the result aesthetics (its thus not useful for '*.la' + generation or for error printing). + + * gl/build-aux/funclib.sh (func_append_quoted): Use + func_quote_arg internally (kept in 'pretty' mode for now). + (func_quote): Made to be "main" high-level quoting method taking + list of arguments to be quoted into single command. It replaces + func_quote_for_{expand,eval}. + (func_quote_portable): Implements quoting in shell, falling back + to portable sed call (rare cases). + (func_quotefast_eval): New internal function using fast + bash-specific construct, falling back to func_quote_portable for + non-Bash scripts. + (func_quote_arg): New function to quote one argument. + (func_quote_for_eval): Removed. All callers changed to call + func_quote. + (func_quote_for_expand): Likewise. + * bootstrap: Sync with funclib.sh and options-parser. + +2015-10-12 Pavel Raiskup + + libtool: optimizing options-parser hooks + + Its not necessary to (re)func_quote_for_eval in each function in + the hook hierarchy. Usually it is enough if the leaf function + does func_quote_for_eval and its caller just re-uses the + _return variable. + + This is follow up for the previous commit. + + * gl/build-aux/options-parser (func_run_hooks): Propagate + $EXIT_SUCCESS return code down to caller if *any* hook succeeded. + Never re-quote the result -- either the arguments are left + untouched, or the options have already been properly quoted by + succeeding hooks. + (func_parse_options): Quote '$@' and return $EXIT_SUCCESS only if + we changed something. + (func_validate_options): Likewise. + (func_options_prep): Likewise. + (func_options_finish): New hook-caller for 'func_options' hooks. + (func_options): Propagate return value down to top-level caller, + but pay attention we have always set $func_options_result. + * build-aux/ltmain.in (libtool_options_prep): Quote '$@' and + return $EXIT_SUCCESS only if we changed something. + (libtool_parse_options): Likewise. + * bootstrap: Sync gl/build-aux/with option-parser. + +2015-10-12 Pavel Raiskup + + libtool: mitigate the $sed_quote_subst slowdown + + When it is reasonably possible, use shell implementation for + quoting. + + References: + http://lists.gnu.org/archive/html/libtool/2015-03/msg00005.html + http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html + https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20006 + + * gl/build-aux/funclib.sh (func_quote): New function that can be + used as substitution for '$SED $sed_quote_subst' call. + * build-aux/ltmain.in (func_emit_wrapper): Use func_quote instead + of '$SED $sed_quote_subst'. + (func_mode_link): Likewise. + * NEWS: Document. + * bootstrap: Sync with funclib.sh. + +2015-09-29 Pavel Raiskup + + gnulib: sync with upstream + + With gnulib commit f8fe25fab60e3, AM_PROG_AR is called + automatically from GL_EARLY macro, which brings its definition + into aclocal.m4. Sufficiently new enough AM_PROG_AR uses guarding + AC_BEFORE([AM_PROG_AR], [LT_INIT]) call. + + Existence of 'LT_INIT' string inside aclocal.m4 however broke + bootstrap's self-defensive libtool_check_for_bogus_macros + function. + + * build-aux/no-bogus-m4-defines: New aux helper using m4 for + aclocal.m4 pre-processing. As this is only bootstrap/dist time + assertion, we don't have to be too much careful (and the AC_BEFORE + pushdef is OK for now). + * boostrap.conf (libtool_check_for_bogus_macros): Use + no-bogus-m4-defines helper to detect bogus macros. + * Makefile.am: Likewise. + * gnulib: Sync with upstream. + * build-aux/git-log-fix: Fix typo. + * gl/build-aux/extract-trace: Fix the script timestamp. + * bootstrap: Sync with extract-trace. + +2015-09-26 Pavel Raiskup + + maint: relax 'sc_prohibit_test_dollar' check + + * cfg.mk (sc_prohibit_test_dollar): White-list the + 'test ${VAR+y}' construct because that is autoconf-suggested + portable way to check for unset variable. + +2015-09-26 Pavel Raiskup + + ARFLAGS: use 'cr' instead of 'cru' by default + + In some GNU/Linux distributions people started to compile 'ar' + binary with --enable-deterministic-archives (binutils project). + That, however, in combination with our previous long time working + default AR_FLAGS=cru causes warnings on such installations: + ar: `u' modifier ignored since `D' is the default (see `U') + + The 'u' option (at least with GNU binutils) did small optimization + during repeated builds because it instructed 'ar' to not + open/close unchanged *.o files and to rather read their contents + from old archive file. However, its removal should not cause a + big performance hit for usual workflows. + + Distributions started using --enable-deterministic-archives + knowing that it would disable the 'u', just to rather have a bit + more deterministic builds. + + Also, to justify this change a bit more, keeping 'u' in ARFLAGS + could only result in many per-project changes to override + Libtool's ARFLAGS default, just to silent such warnings. + + Fixes bug#19967. Reported by Eric Blake. + + * m4/libtool.m4 (_LT_PROG_AR): Default AR_FLAGS to 'cr'. + (_LT_REQUIRED_DARWIN_CHECKS): Use $AR_FLAGS instead 'cru' string. + * doc/libtool.texi: Do 's/ar cru/ar cr/' in whole documentation. + * NEWS: Document. + +2015-09-26 Pavel Raiskup + + libool.m4: add ARFLAGS variable + + Libtool has used $AR_FLAGS since 2000-05-29 commit + 8300de4c54e6f04f0d, Automake ARFLAGS since 2003-04-06 commit + a71b3490639831ca. Even though ARFLAGS is younger, it sounds like + better name according GNU Coding Standards. + + Related to bug#20082. + + * m4/libtool.m4 (_LT_PROG_AR): Copy ARFLAGS value into AR_FLAGS + variable if AR_FLAGS is not set. Add new _LT_DECL'ed variable + 'lt_ar_flags' to keep the configure-time value of AR_FLAGS. The + new 'lt_ar_flags' is to be used as the default value for AR_FLAGS + at libtool-runtime. + * NEWS: Document. + +2015-09-25 Pavel Raiskup + + maint: put newline after 'Subject' in ChangeLog + + * Makefile.am ($(changelog)): Use --format='%s%n%n%b%n'. + +2015-09-25 Pavel Raiskup + + gnulib: sync with upstream + + Blacklisting of duplicated ChangeLog entries is now much easier + with new gitlog-to-changelog's option --ignore-matching -- so + patching the script is not necessary. + + * Makefile.am ($(changelog)): Start ignoring entries having the + 'Omit-from-ChangeLog.' "topic" line. Use TZ=UTC to generate the + same ChangeLog regardless of the actual time-zone. + * build-aux/git-log-fix: Put the "blacklist" mark at the beginning + of each commit as that is requirement for --ignore-matching. + * gl/build-aux/gitlog-to-changelog.diff: Removed. + * gnulib: Sync with upstream. + +2015-09-24 Pavel Raiskup + + libtoolize: fix infinite recursion in m4 + + Some projects use this construct in configure.ac: + + m4_define([version], m4_include([version])) + pkg_version=version + + When the m4_include builtin is undefined (as was done in + libtoolize and extract-trace scripts), the call to this 'version' + macro enters an infinite recursion (until ENOMEM). So rather + re-define all potentially dangerous macros by empty strings, + suggested by Eric Blake. + + While we are on it, merge the macro-"blacklist" with similar list + implemented in gettext, except for 'm4_esyscmd'. It's kept + defined because we already trace AC_INIT macro for package + version, while it is often specified by + m4_esyscmd(git-version-gen). Similarly to m4_include, m4_esyscmd + might be opt-in-blacklisted in future. + + References: + http://lists.gnu.org/archive/html/libtool/2015-09/msg00000.html + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764580 + + * gl/build-aux/extract-trace (_G_mini): Redefine trace-breaking + macros to empty strings rather than undefining those. Use 'dnl' + for comments. + * bootstrap: Likewise, sync with extract-trace. + * NEWS: Document. + * NO-THANKS: Mention Hiroyuki Sato. + +2015-09-24 Pavel Raiskup + + bootstrap: fix race in temporary Makefile + + Target 'bootstrap-deps' sometimes rebuilt $(bootstrap_files) + a bit earlier than the cleanup target 'bootstrap-deps-prep' was + invoked. As a result, some of $(bootstrap_files) were missing. + + * Makefile.am (bootstrap-deps): Rebuild $(bootstrap_files) after + bootstrap-deps-prep dependency. + +2015-09-18 Pavel Raiskup + + libtool: fix GCC linking with -specs=* + + References: + https://bugzilla.redhat.com/show_bug.cgi?id=985592 + + * build-aux/ltmain.in (func_mode_link): Pass -specs=* + to the linker, Fedora uses this option for hardening. + +2015-02-15 Gary V. Vaughan + + maint: demote myself from maintainer to former maintainer. + + * AUTHORS: Move myself from the list of maintainers, into the + list of prior authors. + +2015-02-15 Gary V. Vaughan + + maint: post-release administrivia + + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + +2015-02-15 Gary V. Vaughan + + version 2.4.6 + + * NEWS: Record release date. + +2015-02-06 Gary V. Vaughan + + libtool: don't execute automake and autoconf on every invocation. + + Regression from 2.4.2 was causing noticable slow-down in builds + that call libtool many times. + * build-aux/ltmain.in (func_help): Override func_help() from + gl/build-aux/options-parser to only run automake --version and + autoconf --version when libtool --help is executed on the command + line. + * NO-THANKS: Add Robert Yang. + Reported by Robert Yang + +2015-01-20 Gary V. Vaughan + + maint: undo copyright years regression. + + * gl/build-aux/options-parser: Undo copyright years regression. + * bootstrap: Regenerate. + +2015-01-20 Gary V. Vaughan + + bootstrap: sync with upstream. + + * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, + gl/build-aux/funclib.sh, gl/build-aux/options-parser: Sync with + upstream. + * bootstrap: Regenerate. + +2015-01-20 Pavel Raiskup + + libtool: respect config.site LT_SYS_LIBRARY_PATH + + Libtool generator code needs to remember the configure time + LT_SYS_LIBRARY_PATH content to allow config.status properly + instantiate default LT_SYS_LIBRARY_PATH libtool run-time value; + Thats because config.status has no idea what the contents of + config.site file is (by default). + * m4/libtool.m4 (_LT_CONFIG): Use the _LT_DECLared + $configure_time_lt_sys_library_path variable as the default for + LT_SYS_DLSEARCH_PATH at run-time. + (_LT_SYS_DYNAMIC_LINKER): Don't change ac_cv_* variable if it is + not necessary. New $configure_time_lt_sys_library_path variable. + * NEWS: Update. + +2015-01-20 Pavel Raiskup + + libtool.m4: typofix, subst last '$' with quadrigraph + + * m4/libtool.m4 (_LT_LIBTOOL_TAG_VARS): Encase the + configure/libtool shared function into parseable borders; for + testing purposes. + (func_munge_path_list): Typo s/$/@S|@/. + * tests/configure-funcs.at: New testcase. + * Makefile.am (TESTSUITE_AT): Mention new testcase. + * NEWS: Update. + +2015-01-20 Pavel Raiskup + + tests: fix an ltdl dryrun race condition. + + * tests/testsuite.at (LT_AT_ACLOCAL): Inject a 1 second sleep + after aclocal to ensure subsequently generated autotools files + will be newer. + * NEWS: Update. + +2015-01-19 Gary V. Vaughan + + maint: post-release administrivia + + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + +2015-01-19 Gary V. Vaughan + + version 2.4.5 + + * NEWS: Record release date. + +2015-01-18 Gary V. Vaughan + + maint: update copyright statements to include 2015. + + * AUTHORS, HACKING, Makefile.am, NEWS, README.md, TODO, + bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, + build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk, + configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in, + gl/build-aux/extract-trace, gl/build-aux/funclib.sh, + gl/build-aux/inline-source, gl/build-aux/options-parser, + libltdl/README, libltdl/configure.ac, + libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__argz_.h, + libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, + libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, + libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, + libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, + libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, + libltdl/lt__argz.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, + libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, + libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, + m4/autobuild.m4, m4/libtool.m4, m4/ltargz.m4, m4/ltdl.m4, + m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in, + m4/lt~obsolete.m4, m4/m4.m4, tests/am-subdir.at, + tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at, + tests/cmdline_wrap.at, tests/configure-iface.at, + tests/convenience.at, tests/ctor.at, tests/cwrapper.at, + tests/darwin.at, tests/demo.at, tests/depdemo.at, + tests/deplib-in-subdir.at, tests/deplibs-ident.at, + tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at, + tests/dumpbin-symbols.at, tests/duplicate_conv.at, + tests/duplicate_deps.at, tests/duplicate_members.at, + tests/early-libtool.at, tests/exceptions.at, + tests/execute-mode.at, tests/exeext.at, tests/export-def.at, + tests/export.at, tests/f77demo.at, tests/fail.at, + tests/fcdemo.at, tests/flags.at, tests/help.at, + tests/indirect_deps.at, tests/infer-tag.at, + tests/inherited_flags.at, tests/install.at, + tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, + tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, + tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, + tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, + tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, + tests/need_lib_prefix.at, tests/no-executables.at, + tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, + tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, + tests/resident.at, tests/runpath-in-lalib.at, + tests/search-path.at, tests/shlibpath.at, tests/slist.at, + tests/standalone.at, tests/static.at, tests/stresstest.at, + tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, + tests/template.at, tests/testsuite.at, tests/versioning.at, + tests/with-pic.at: Update copyright statement to include 2015. + * cfg.mk: Adjust old_NEWS_hash accordingly. + +2015-01-16 Gary V. Vaughan + + gnulib: sync with upstream. + + * gnulib: Sync with upstream. + * doc/.gitignore: Regenerate. + +2015-01-16 Pavel Raiskup + + libtoolize: fix ltdl installation order. + + Fixes regression caused by commit 99a808be. + Makefile.in has aclocal.m4 as prerequisite, so Makefile.in + should be installed later to avoid unnecessary rebuild by + (versioned) aclocal. + * Makefile.am (pkgltdl_files): Move the Makefile.in file down in + the list after aclocal.m4. + * tests/libtoolize.at: Adjust to match reordered output. + +2014-12-12 Gary V. Vaughan + + libtool: check Sun Pro CXX ABI postdeps at libtool time. + + * m4/libtool.m4 (_LT_PREPARE_CC_BASENAME): Factor cc_basename + calculation into a shell function... + (_LT_CONFIG_SAVE_COMMAND): ...and expand it into generated + libtool script. + (_LT_CC_BASENAME): Adjust accordingly. + (_LT_FUNC_SUNCC_CSTD_ABI): Remove from here... + * build-aux/ltmain.in (func_suncc_cstd_abi): ...and reimplement + here. + * m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Remove postdeps + augmentation from here... + * build-aux/ltmain.in (func_mode_link): ...and reimplement here + just before postdeps are added. + * NEWS: Update. + +2014-12-12 Gary V. Vaughan + + libtool: more carefully avoid automatic -Cstd -Crun on Sun Pro CXX. + + * m4/libtool.m4 (_LT_FUNC_SUNCC_CSTD_ABI): New function factored out + of repeated code. Take note of other known -Cstd incompatible + compiler flags. + (_LT_SYS_HIDDEN_LIBDEPS): Use it to determine whether -Cstd -Crun + can be safely added to postdeps with Sun Pro CXX. + * NEWS: Update. + * NO-THANKS: Add Marc Glisse. + Reported by Marc Glisse + +2014-12-12 Gary V. Vaughan + + libtool: take care not to double-apply LT_SYS_LIBRARY_PATH. + + * m4/libtool.m4 (_LT_CONFIG_SAVE_COMMANDS): Copy configure-time + LT_SYS_LIBRARY_PATH settings as default, but allow run-time + override. + (_LT_SYS_DYNAMIC_LINKER): Save the unmunged + sys_lib_dlsearch_path_spec value, and use it for _LT_DECL, + but then munge it with LT_SYS_LIBRARY_PATH for use in ltdl.m4 + macros, such as LT_SYS_DLSEARCH_PATH. + +2014-12-11 Pavel Raiskup + + libtool: support LT_SYS_LIBRARY_PATH for adjusting bad guesses. + + Revert 8728e07 and 440fee6. + Some GNU/Linux distributions install libraries into /lib64 (or + /usr/lib64) on 64-bit machines, while /lib (/usr/lib + respectively) stays for multilib variant. Other distributions + keep /usr/lib for 64-bit variant and reserve other directory for + multilib. Detection of what approach a given system uses is + difficult, however, especially because Glibc's ldconfig does not + report the full and correct list of search paths. Allow the user + to adjust Libtools heuristically determined search paths with + the new LT_SYS_LIBRARY_PATH environment variable at both + compile-time, when libtool is called, and at configure time. + * m4/libtool.m4 (_LT_PREPARE_MUNGE_PATH_LIST): Define a new + function to munge a libtool path list according to a user + supplied colon-delimited path. + (_LT_SYS_DYNAMIC_LINKER): Require _LT_PREPARE_MUNGE_PATH_LIST. + Mark LT_SYS_LIBRARY_PATH as precious to autoconf (to survive + automatic "autoreconf"). + Call the new func_munge_path_list function on + sys_lib_dlsearch_path_spec - this propagates results to + generated libtool script. + (_LT_CONFIG): Expand _LT_PREPARE_MUNGE_PATH_LIST into generated + libtool script. + * build-aux/ltmain.in (func_mode_link): Call it to adjust + sys_lib_dlsearch_path according to LT_SYS_LIBRARY_PATH. + * doc/libtool.texi: Document new LT_SYS_LIBRARY_PATH. + * doc/notes.texi: Likewise. + * NEWS: Update. + + References: http://thread.gmane.org/gmane.comp.gnu.libtool.general/8339/focus=8345 + +2014-12-11 Gary V. Vaughan + + maint: fix syntax-check failures. + + * m4/m4.m4 (AC_PROG_GNU_M4): Reverse some test arguments for + sc_prohibit_test_const_follows_var. + Remove some spurious braces for + sc_useless_braces_in_variable_drefs. + +2014-12-11 Gary V. Vaughan + + bootstrap: sync with upstream. + + * gl/build-aux/extract-trace (func_find_tool): Quote a bare + variable expansion in a test argument. + * bootstrap: Regenerate. + +2014-12-05 Gary V. Vaughan + + libtool: s390x is also a 64bit glibc/ELF platform. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LIB): Add s390x to glibc/ELF + compatible CPUs that have /lib64 and /usr/lib64 in + sys_lib_dlsearch_path_spec. + Reported by Pavel Raiskup + +2014-12-04 Gary V. Vaughan + + libtool: for 64bit GNU arches, add /lib64 and /usr/lib64 to sys_lib_dlsearch_path. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + : If $host_cpu contains "64", add /lib64 + and /usr/lib64 to sys_lib_dlsearch_path_spec. + Reported by Orion Poplawski, Christian Rössel, Olly Betts et. al. + +2014-12-04 Gary V. Vaughan + + libltdl: fix gcc compiler warning for unused attributes. + + * libltdl/ltdl.c, libltdl/loaders/dld_link.c, + libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, + libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, + libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: For at + least gcc 4.8.3 and 4.9.1, __attribute__((__unused)) should + follow the unused parameter declaration. + * NO-THANKS: Add Дилян ПалаŃзов. + Reported by Дилян ПалаŃзов + +2014-12-04 Eric Bavier + + tests: do not assume compiler prefers shared libraries. + + Testing whether -static-libtool-libs causes a non-libtool library to be + linked dynamically is effectively a test of the compiler's preference in + this case. The Cray compiler prefers static libraries if not told + otherwise. + * tests/static.at [static linking flags for programs]: Do not expect + -static-libtool-libs to fail. + +2014-12-04 Norihiro Tanaka + + libtool: fix sys_lib_dlsearch_path_spec for ia64 HP-UX. + + The run-time loader does not search /usr/local or subdirectories + by default on ia64 HP-UX. + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix + sys_lib_dlsearch_path_spec for ia64 HP-UX. + * NEWS: Update. + +2014-12-04 Gary V. Vaughan + + libltdl: edit AM_CPPFLAGS correctly for libltdl/Makefile.am. + + * libltdl/ltdl.mk (AM_CPPFLAGS): Make sure the sed expression to + remove the first libltdl/ on each line is not confused by misuse + of linebreaks. + * Makefile.am (lt_Makefile_am): Also edit out the duplicated + include paths after libltdl/ elimination. + * NEWS: Update. + Reported by Michael Wobst + +2014-12-04 Tijl Coosemans + + libtool: commit forgotten soname_spec for freebsd-elf in bb7cef9. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) : Set + soname_spec correctly, per original patch. + * NEWS: Update. + +2014-12-03 Gary V. Vaughan + + bootstrap: sync with upstream for runtime M4 checking functions. + + * gl/build-aux/extract-trace: Sync with upstream for runtime M4 + checking functions. + * bootstrap: Regenerate. + * NEWS: Update. + +2014-12-03 Gary V. Vaughan + + configury: bail out early if GNU M4 is not on the path. + + Now that libtoolize requires an installed GNU M4 to parse + configure.ac and aclocal.m4 sources for libltdl macros, let the + user know at configure time when it is missing. + * m4/m4.m4: New file for rejecting non-GNU and buggy GNU versions + of M4. Copied from GNU Autoconf m4.m4. + * Makefile.am (lt_aclocal_m4_deps): Add m4/m4.m4. + * configure.ac (AC_PROG_GNU_M4): Call it. + * NEWS: Update. + Reported by Michael Felt + +2014-11-29 Gary V. Vaughan + + maint: post-release administrivia + + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + +2014-11-29 Gary V. Vaughan + + version 2.4.4 + + * NEWS: Record release date. + +2014-11-29 Gary V. Vaughan + + gnulib: sync with upstream. + + * gnulib: sync with upstream. + +2014-11-29 Michael Haubenwallner + + libtool: optional filename-based shlib versioning on aix. + + Support filename-based shared library versioning on AIX with the + lib.so library filename extension, which is used with runtime + linking only. Runtime linking is enabled by the -brtl linker + flag for executables and the -G linker flag for Shared Objects. + The behaviour is similar to Linux/SVR4 DT_SONAME, hence the name + "aix-soname=svr4". + * Makefile.am (TESTS_ENVIRONMENT): Pass with_aix_soname value + via lt_cv_with_aix_soname into testsuite. + * configure.ac: AC_SUBST with_aix_soname for testsuite. + * libltdl/loaders/dlopen.c (vm_open): Use RTLD_MEMBER flag for + dlopen when the filename does specify an archive member between + "()". Otherways, retry with appending LT_SHARED_LIB_MEMBER when + loading fails without but archive file seems to exist. + * m4/libtool.m4 (dynamic_linker): Describe configured shared + library versioning variant according to with_aix_soname and + runtime linking. + (soname_spec, library_names_spec, shlibpath_overrides_runpath) + (postinstall_cmds, postuninstall_cmds, hardcode_direct) + (hardcode_direct_absolute, no_undefined_flag) + (allow_undefined_flag): Set according to with_aix_soname and + runtime linking configuration. + (export_symbols_cmds): Decorate symbols with the weak keyword. + (archive_expsym_cmds): Create both shared libraries according to + with_aix_soname and runtime linking configuration. Filter -brtl + linker flag from compiler_flags for shared libraries due to its + side effects. + (enable_static): Respect with_aix_soname for disabling as well. + * m4/ltdl.m4 (LT_SHARED_LIB_MEMBER): Define, set based on the + value of the shared_archive_member_spec libtool variable. + * m4/ltoptions.m4 (_LT_WITH_AIX_SONAME): New. Provides + commandline option --with-aix-soname=aix|svr4|both. Declares + $shared_archive_member_spec as libtool variable. + (_LT_SET_OPTIONS): Define LT_INIT options "aix-soname=aix", + "aix-soname=svr4", "aix-soname=both". Default is + "aix-soname=aix". + * doc/libtool.texi (LT_INIT): Document new options. + * tests/deplibs-ident.at: To define whether this test should + XFAIL, use hardcode_action, hardcode_direct, + hardcode_direct_absolute configuration settings instead of + platforms aix, bitrig, hppa-hpux, interix or openbsd. + * tests/versioning.at: When shared_archive_member_spec is defined + and LDFLAGS contain -brtl, we can run the versioning check. + * NEWS: Update. + +2014-11-28 Tijl Coosemans + + libtoolize: no need for umask 0 now that copying does not use tar. + + The umask calls seem to be left over as a workaround for several + releases ago when libtoolize copied libltdl sources with the help + of tar. Now that we use cp or ln -s exclusively, this just + needlessly makes the files world writable; we should just respect + the users' own umask setting. + * libtoolize.in (func_copy): Remove umask 0 calls and simplify. + +2014-11-28 Gary V. Vaughan + + maint: syntax-checks don't like ${ even in comments! + + * m4/ltdl.m4: Fix a comment to appease syntax-check rules. + +2014-11-28 Tijl Coosemans + + libtool: use a modern library version scheme for freebsd-elf. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Adopt downstream patch + used by FreeBSD for versioned library filenames. + * build-aux/ltmain.in (func_mode_link): Replace conflicting + freebsd-elf version_type case branches with a single calculation + setting major and versuffix to match downstream FreeBSD. + +2014-11-28 Tijl Coosemans + + libtool: split sco version into its own type. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Set version type to + "sco" for sco based hosts. + * build-aux/ltmain.in (func_mode_link): Accept new "sco" + version_type as equivalent to freebsd-elf. + +2014-11-28 Gary V. Vaughan + + configury: detect dlsym underscore prefix without dlopen self. + + * m4/ltdl.m4 (LT_FUNC_DLSYM_USCORE): Compile, load and get the + address of a symbol from a separate loadable module, rather than + assuming dlopen self works. + * NEWS: Update. + Reported by KO Myung-Hun + +2014-11-26 Gary V. Vaughan + + ltdl: fix a long standing duplicate `-ldl' bug in the link line. + + * m4/ltdl.m4 (LT_LIB_DLLOAD): Save contents of LIBS before + calling AC_SEARCH_LIBS, which prepends to LIBS by default, and + restore afterwards. We set LIBADD_DLOPEN and LIBADD_SHL_LOAD + so that dynamic loader libraries can be added selectively only + where they are needed. + * NEWS: Update. + +2014-11-21 Michael Haubenwallner + + tests: do not test undef symbols across shlibs on AIX. + + On AIX, undefined symbols across shared libraries can work only + when the main program explicitly exports those symbols. As this + is bad practice anyway and -no-undefined should be preferred, we + skip this. + * tests/template.at: Skip test with undef syms across libraries + on AIX. + +2014-11-21 Michael Haubenwallner + + tests: question mark is extended regex for non-GNU grep. + + Accepting \? for at-most-once in basic regex is a GNU grep + extension, not accepted by AIX grep for example. + * tests/libtool.at: Use \{0,1\} instead of ? with GREP. + +2014-11-18 Gary V. Vaughan + + maint: Fox a resent smelling mystique. + + * build-aux/git-log-fix: ChangeLog edit. + Reported by Eric Blake + +2014-11-18 Gary V. Vaughan + + bootstrap: make sure gnulib file droppings are removed. + + * bootstrap.conf (libtool_cleanup_empty_dirs): Recent bootstrap + updates set source_base to null, so we need to use ${x:-y} to + override the null. Autoconf Shellology says that ancient BSD + /bin/sh chokes on :- defaults, but bootstrap is a developer tool, + and so we can reasonably expect a developer to have a working + /bin/sh to run the bootstrap script. + +2014-11-18 Gary V. Vaughan + + bootstrap: add missing debug preambles. + + * bootstrap.conf (libtool_prep, func_require_ltdl_dir) + (libtool_require_package_url): Add missing $debug_cmd calls. + +2014-11-18 Vincent Lefevre + + NEWS: Fix an ancient spelling mistake. + + * NEWS: s/propogate/propagate/. + * cfg.mk (old_NEWS_hash): Update. + +2014-11-17 Vincent Lefevre + + libtool: fix comment typo. + + * m4/libtool.m4: Fix -fvisbility=hidden typo in a comment. + +2014-11-04 Gary V. Vaughan + + maint: fix a syntax-check failure. + + * tests/cmdline_wrap.at (fail_list): quote test arguments to + satisfy failing syntax-checks. + +2014-11-04 Gary V. Vaughan + + libtool: fix universal library building on darwin. + + * build-aux/ltmain.in (func_extract_archives): $basename is now + spelled $sed_basename. + * NO-THANKS: Update. + Reported by Misty De Meo + +2014-11-04 Gary V. Vaughan + + tests: update fat binary test case for modern darwin. + + * tests/darwin.at: Use "-arch x86_64", which works on modern + Apple hardware, rather than "-arch ppc", which generally does not. + +2014-11-04 Gary V. Vaughan + + tests: fix false positive in failed test check for cmdline_wrap.at. + + * tests/cmdline_wrap.at (fail_list): non-matching globs return as + a plain unexpanded string, so we also need to test for file + existence before expanding into fail_list. + +2014-11-04 Gary V. Vaughan + + bootstrap: sync with upsteram. + + * gl/build-aux/bootstrap.in: Sync with upstream. + * bootstrap: Regenerate. + +2014-11-04 KO Myung-Hun + + libtool: support versioning on OS/2. + + * build-aux/ltmain.in (func_mode_link) <*-os2*>: Set major and + versuffix. + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <*-os2*>: Set + version_type to windows. Add a version information to soname_spec. + * NEWS: Update. + +2014-11-04 KO Myung-Hun + + libtool: support -export-symbols and -export-symbols-regex on OS/2. + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + <*-os2*>: Set archive_expsym_cmds. + * NEWS: Update. + +2014-11-04 KO Myung-Hun + + libtool: add -os2dllname option. + + On OS/2, if there are many DLLs whose prefix is the same and + very long, the resulting DLLs are overwritten. Provide a new + option to force a DLL name. + * build-aux/ltmain.in (func_mode_help): Add a description for + -os2dllname. + (func_mode_link): Add -os2dllname. + * doc/libtool.texi: Document it. + * NEWS: Update. + +2014-11-04 KO Myung-Hun + + libtool: fix DLL creation/installation/uninstallation on OS/2. + + OS/2 can only load a DLL with a base name of 8 characters or + less. Also, on OS/2 don't install or uninstall using a link. + * build-aux/ltmain.in: Do not strip an import lib. + * m4/libtool.m4: Set variables to fix DLL creation, installation + and uninstallation. + +2014-11-04 KO Myung-Hun + + libtool: support -Zxxx options used on OS/2. + + * build-aux/ltmain.in (func_mode_link): Add -Z* case, treating + them specially on os2 only. + +2014-11-04 KO Myung-Hun + + libtool: set lt_cv_deplibs_check_method to pass_all on OS/2. + + * m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Same as the title. + +2014-11-04 KO Myung-Hun + + libtool: there is no need to relink DLLs on OS/2. + + * build-aux/ltmain.in (func_mode_link) <*-os2*>: need_relink=no. + +2014-11-04 KO Myung-Hun + + ltdl: OS/2 uses other APIs to load a DLL than LoadLibrary() on Windows. + + * m4/ltdl.m4: Remove os2* from a list for loadlibrary.la. + +2014-11-04 KO Myung-Hun + + libtool: support to link against static libraries on OS/2. + + * m4/libtool.m4 (_LT_COMPILER_PIC): Set lt_prog_compiler_static to + $wl-static. + +2014-11-04 KO Myung-Hun + + libtool: don't eliminate duplications in $postdeps and $predeps on OS/2 + + * build-aux/ltmain.h (libtool_validate_options): Add *os2* to the list. + +2014-11-03 Gary V. Vaughan + + configury: create installation dir before writing to it. + + * Makefile.am (install-scripts-local): Don't forget to make the + installation target directory before writing to it. + * NO-THANKS: Update. + Reported by Allan McRae + +2014-11-03 Gary V. Vaughan + + maint: .PHONY rules to protect gmake from pathological file names. + + * Makefile.am (.PHONY): Add install-scripts-local, + check-interactive, check-noninteractive-old, + check-noninteractive-new and check-noninteractive. + +2014-11-02 Arkadiusz MiĹ›kiewicz + + tests: fix typo in cmdline_wrap skip check. + + * tests/cmdline_wrap.at (fail_list): fix a typo in loop script + text. + +2014-11-02 Gary V. Vaughan + + libtoolize: don't forget to remove old non-gnulib argz files. + + * libtoolize.in (all_pkgltdl_files): Add back argz.c and argz_.h, + as installed by previous libtool releases. + +2014-11-02 Gary V. Vaughan + + libltdl: move libltdl argz module into LT namespace. + + To avoid clashes with gnulib argz module in ltdl client projects, + move ours into its own namespace. + * libltdl/argz_.h, libltdl/argz.c, m4/argz.m4: Move from here... + * libltdl/libltdl/lt__argz_.h, libltdl/lt__argz.c, m4/ltargz.m4: + ...to here. + * Makefile.am, libltdl/libltdl/lt__glibc.h, libltdl/ltdl.mk, + libtoolize.in, m4/ltdl.m4: Adjust accordingly. + * tests/libtoolize.at, tests/ltdl-api.at, tests/nonrecursive.at, + tests/old-ltdl-iface.at: Adjust for different libtoolize output. + * libltdl/.gitignore: Adjust accordingly. + * NEWS: Update. + Reported by Pavel Raiskup + +2014-11-02 Gary V. Vaughan + + maint: whitespace cleanup. + + * Makefile.am ($(thanks)): Fix several whitespace syntax-check + failures. + +2014-11-02 Pavel Raiskup + + libtoolize: do not remove gnulib files with --force. + + * libtoolize.in (func_require_seen_libtool): Do not remove + snippet/* files which are from Gnulib. + +2014-10-30 Gary V. Vaughan + + tests: set bindir and libdir at configure time. + + In particular, openSuSE on x86_64 uses CONFIG_SITE to set libdir + to "${exec_prefix}/lib64", which confuses testcases that check + the contents of "${prefix}/lib". In general, tests that expect + to find installed files in specific directories should explicitly + set those directories at configure time. + * tests/testsuite.at (LT_AT_CONFIGURE): Make sure exec_prefix, + bindir and libdir point to known subdirectories we can check the + contents of later on in a test case. + (prefixdir): Rename from this... + (prefix): ...to this. All test cases that set or use the config + prefix directory must now refer to `prefixdir` for the helper + macros in this file to work in hostile build environments such + as CONFIG_SITE setting openSuSE. + * tests/demo.at, tests/depdemo.at, tests/mdemo.at, + tests/tagdemo.at: Adjust accordingly. + Reported by Peter Breitenlohner. + +2014-10-29 Reuben Thomas + + libtool: -rdynamic support for tcc. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) : Set + export_dynamic_flag_spec appropriately when using tcc. + +2014-10-29 Reuben Thomas + + libtool: preliminary support for tcc on linux*. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) : Set archive_cmds and + ld_shlibs appropriately when using tcc. + * NEWS: Update. + +2014-10-29 Gary V. Vaughan + + maint: fix README-alpha version match. + + With simplified release version numbering (thank you, git!), be + careful to recognize four part alpha versions, or short git + revision suffixed alpha versions correctly. + * Makefile.am (re_odd_version): Remove. + (re_alpha_version): Recognize alpha version numbers. + ($(readme)): Adjust accordingly. + +2014-10-29 Gary V. Vaughan + + maint: autogenerate THANKS. + + More automation == less time wasted on menial tasks. + * build-aux/thanks-gen: script inspired by coreutils. + * Makefile.am (THANKS): Based on rule from coreutils/Makefile.am. + * NO-THANKS: New file. Configure thanks-gen output. + * THANKS: Remove. + +2014-10-29 Gary V. Vaughan + + maint: fix prefix and suffix installs for libtoolize. + + * Makefile.am (install-data-local): Depend on new + install-scripts-local, and move libtoolize install from here... + (install-scripts-local): ...to here. + Pass libtoolize destination through program transform expression. + (uninstall-hook): Likewise, prior to removal. + * NEWS: Update. + * THANKS: Update. + Reported by Václav Zeman + +2014-10-27 Gary V. Vaughan + + maint: move Peter O'Gorman and Ralf Wildenhues to past maintainers. + + * AUTHORS: Move Peter O'Gorman and Ralf Wildenhues from current + to past maintainers list. + +2014-10-27 Gary V. Vaughan + + maint: post-release administrivia + + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + +2014-10-27 Gary V. Vaughan + + version 2.4.3 + + * NEWS: Record release date. + +2014-10-27 Gary V. Vaughan + + bootstrap: sync with upstream. + + * gl/build-aux/bootstrap.in, gl/build-aux/funclib.sh: Sync with + upstream. + * bootstrap: Regenerate. + +2014-10-27 Gary V. Vaughan + + testsuite: fixes required for `make distcheck CC=g++`. + + * tests/demo.at (Pdemo conf): Overide _LT_DEMO_SETUP foo.h to + declare foo2. + * tests/mdemo.at (_LT_SETUP): Don't wrap `sub` dectlaration in + C++ guards, because sub.c is also compiled with g++ in this test. + * tests/old-ltdl-iface.at (old.c): Add a return type to main + declaration as required by C++. + +2014-10-27 Gary V. Vaughan + + maint: fix a typo in THANKS. + + * THANKS: s/macports\.com/macports.org/ + +2014-10-27 Gary V. Vaughan + + syntax-check: use strlcpy instead of strncpy. + + * libltdl/loaders/dyld.c (vm_sym): Use strlcpy to pacify syntax + checks. + * libltdl/ltdl.c (try_dlopen): Likewise. + +2014-10-25 Gary V. Vaughan + + libtool: fix GCC linking with -fstack-protector. + + * build-aux/ltmain.in (func_mode_link): Pass -fstack-protector* + to the linker as it is required at link time to resolve libssp symbols. + From Yaakov Selkowitz + +2014-10-25 Gary V. Vaughan + + libtool: support Mac OS 10.10 and newer. + + The current template mistakenly treats a MACOSX_DEPLOYMENT_TARGET + value of "10.10" as "10.1" followed by junk. Thinking that the + build is targeting 10.1 Puma instead of 10.10 Yosemite, it tells + the linker to ignore undefined symbols instead of dynamically + resolving them. This can cause runtime crashes* and will affect + subsequent versions of OS X. + * libtool.mk (_LT_REQUIRED_DARWIN_CHECKS): Improve case match so + as to reject 10.10.x on the 10.1 and 10.2 branch. + * THANKS: Add Lawrence Velázquez. + From Lawrence Velázquez + +2014-10-25 Gary V. Vaughan + + bootstrap: commit latest to avoid regeneration at build time. + + * bootstrap: Regenerate. + +2014-10-25 Gary V. Vaughan + + gnulib: sync with upstream. + + * gnulib: Sync with upstream. + +2014-05-13 Peter Rosin + + libtool: delay expansion of $ECHO until the wrapper script runs + + Expanding $ECHO too early leads to unquoted \n when ECHO='printf %s\n'. + + Fixes bug#17478. Reported by Egmont Koblinger. + + * build-aux/ltmain.in (func_emit_wrapper) [fast_install]: Quote the + $ECHO, and delay the expansion. + +2014-05-06 Peter Rosin + + libtool: fix nm test for MSYS/MinGW + + The check for the -B option of nm does not work as intended on MSYS/MinGW. + MSYS converts /dev/null to the DOW/Windows "equivanent" special file NUL, + but the MinGW nm treats this file as any empty file. This means that + you might end up with some fallback nm instead of the desired nm. This + is not normally a problem, but if one nm is built without lto support, it + starts to matter. + + Fixes sr #108558, reported by LRN. + + * m4/libtool.m4 (LT_PATH_NM) [MSYS]: Use a non-existant file instead of + /dev/null when checking if nm supports -B. + +2014-05-05 Peter Rosin + + libtool: speed up ltwrapper_script detection in execute mode + + Execute mode is slow and might even DOS the computer in extreme + cases when a parameter is a big binary file without newlines. + Work around this with different truncation if a suitable dd + utility is found. + + Fixes bug#13472 and bug#16662. + + Reported by Pavel Raiskup and Nick Bowler. + + * m4/libtool.m4 (_LT_PATH_DD): New macro, for finding a dd utility + that works for the below purpose. + (_LT_CMD_TRUNCATE): New macro, for finding out how to truncate binary + pipes (fallback to the old sed truncation if no suitable dd is found + in _LT_PATH_DD). + (_LT_SETUP): Require _LT_CMD_TRUNCATE. + (LT_INIT): Require Autoconf 2.62, as needed by _LT_PATH_DD. + * build_aux/ltmain.in (func_lalib_p): Factor out the actual "generated + by libtool" test into... + (func_generated_by_libtool_p): ...this new function... + (func_ltwrapper_script_p): ...so that it can be reused here, when + truncating the pipe according to _LT_CMD_TRUNCATE. + * THANKS: Update. + +2014-05-02 Peter Rosin + + libtool: prevent lto from stripping the magic cookie from the cwrapper + + Whole program optimization may remove unused symbols unless told they + are really needed. Fixes sr #108559 reported by LRN. + + * build-aux/ltmain.in (func_emit_cwrapperexe_src:MAGIC_EXE): Try to ensure + that the magic cookie is preserved. + +2014-02-12 Peter Rosin + + tests: sprinkle -no-undefined when linking libraries + + * tests/duplicate_conv.at, tests/f77demo.at, tests/fcdemo.at: Here. + +2014-02-12 Peter Rosin + + libtool: actually strip -Wl when relinking with $LD + + Fixes the regression from commit v2.4.2.444 which is causing a + testsuite failure in duplicate_conv.at (seen on Cygwin). + + * build-aux/ltmain.in (func_mode_link): $reload_cmds typically + starts with "$LD$reload_flag ..." when $LD is used to relink. + Make the case expression match that when checking if $LD is in + fact used to relink. + +2014-02-10 Peter Rosin + + bootstrap: fix description of func_sort_ver to match recent sort change + + gl/build-aux/funclib.sh: Update comment to match reality. + bootstrap: Regenerate. + +2014-02-05 Gary V. Vaughan + + doc: remove redundant "in order to" phrase where possible. + + * doc/libtool.texi: Remove many occurrences of the redundant + phrase "in order to", where ever "to" is as clear or clearer. + * THANKS: Add attribution. + Reported by Dave Yost + +2014-02-03 Bruce Korb (tiny change) + + bootstrap: check for git tree with .git/. in case of soft links. + + * gl/build-aux/bootstrap.in (func_require_git): Use + `test -d .git/.` to defeat soft-links versus non-GNU test. + * bootstrap: Regenerate. + * THANKS: Remove duplicate Bruce Korb entry. + +2014-01-27 Gary V. Vaughan (tiny change) + + bootstrap: use `-d .git` to check whether we are in a git tree. + + * gl/build-aux/bootstrap.in (func_require_git): .git is not a + regular file, use -d to check its existence. + * bootstrap: Regenerate. + * THANKS: Add Bruce Korb. + Reported by Bruce Korb + +2014-01-17 Rainer Orth + + libtool: opt_duplicate_compiler_generated_deps is harmful on Solaris + + Fix for http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452. + * build-aux/ltmain.in (libtool_validate_options): disable the + opt_duplicate_compiler_generated_deps optimization for Solaris2 so + that gcc-4.9+ compiled C++ code with -Wl,-Bdirect on 64-bit Solaris + x86 can avoid unwinding failures caused by accidental mixing of the + libc and libgcc_s unwinders in a single executable. + +2014-01-15 Gary V. Vaughan + + bootstrap: check for git checkout correctly. + + * gl/bulid-aux/bootstrap.in (func_require_git): Use .git instead + of .gitignore to recognise a git checkout. + * bootstrap: Regenerate. + +2014-01-11 Todd C. Miller (tiny change) + + libtoolize: don't remove install-sh. + + If you are not using automake, libtoolize would remove install-sh. + It needs the same treatment as config.guess and config.sub. + * libtoolize.in (func_require_seen_libtool): Remove install-sh + from $all_pkgaux_files, the list of files removed by + `libtoolize --force`. + * THANKS: Add Todd C. Miller. + * NEWS: Update. + +2014-01-07 Gary V. Vaughan + + options-parser: --version works with 'DO NOT EDIT' preamble again. + + * gl/build-aux/options-parser (func_version): Don't quit on first + leading '##' line, otherwise DO NOT edit warnings prevent version + information from being extracted correctly. + * bootstrap: Regenerate. + +2014-01-07 Gary V. Vaughan + + bootstrap: specify particular version in buildreq with =x.y. + + * gl/build-aux/bootstrap.in (func_check_versions): If the version + number begins with '=' then it must match the installed version of + the named tool exactly. + * gl/doc/bootstrap.texi (buildreq): Document the '=vernum' feature. + * bootstrap: Regenerate. + +2014-01-05 Gary V. Vaughan + + bootstrap: remove conftest.sed file droppings. + + * gl/build-aux/funclib.sh: Remove conftest.sed when no longer + needed. + * bootstrap: Regenerate. + +2014-01-04 Gary V. Vaughan + + bootstrap: replace spurious hyphen in some section comments. + + * gl/build-aux/bootstrap.in: replace spurious hypen in same + section header comments with a space. + * gl/build-aux/extract-trace, gl/build-aux/options-parser: + Likewise. + * bootstrap: Regenerate. + +2014-01-03 Gary V. Vaughan + + inline-source: DO NOT EDIT warning only for top-level file. + + * gl/build-aux/inline-source (func_include): When recursing, pass + through the value of `magic` so that only the very first #! magic + number has a DO NOT EDIT warning injected. + * bootstrap: Regenerate. + +2014-01-03 Gary V. Vaughan + + inline-source: gawk doesn't have boolean constants. + + I've been writing a lot of Lua lately, but still a silly mistake:( + * gl/build-aux/inline-source (func_include): Use `magic` variable + to count #! lines found, and only output the DO NOT EDIT warning + after the first one. + +2014-01-03 Gary V. Vaughan + + edit-readme-alpha: adjust for recent README edits. + + * build-aux/edit-readme-alpha: Adjust regexps for recent README + improvements. + * README.md: Fix a SPACE-TAB sanity check failure. + +2014-01-03 Gary V. Vaughan + + bootstrap: fix test-dollar sanity check failure. + + * gl/build-aux/bootstrap.in (func_ensure_README): quote argument. + * bootstrap: Regenerate. + +2014-01-03 Gary V. Vaughan + + libtool: rearrange header comments for correct version/help extraction. + + * m4/libtool.m4 (_LT_COPYING): Rearrange the comments output to + the generated libtool script so that --version and --help behave + the same as pre-funclib.sh revisions. + (_LT_CONFIG_SAVE_COMMANDS): Likewise. + +2014-01-03 Gary V. Vaughan + + README: Tweak into markdown format and fix some bitrot. + + * README: Moved from here... + * README.md: ...to here. Make some changes to be valid markdown + format, and fix some inaccuracies in text that is out of date. + * .gitignore: Add README. + +2014-01-03 Gary V. Vaughan + + bootstrap: support automake README requirement. + + * gl/build-aux/bootstrap.in (func_ensure_README): New function. + Link missing README to existing alternative naming. + (require_automake_options): New functions. Fetch AM_INIT_AUTOMAKE + options from configure.ac. + (func_reconfigure): If we're using automake, and it's not in + foreign mode, link a README file if possible. + * bootstrap: Regenerate. + +2014-01-03 Gary V. Vaughan + + configury: use bootstrap ChangeLog management feature. + + * gl/build-aux/bootstrap.in (func_autoreconf): Accept an optional + directory argument to pass to $AUTORECONF. + Update doc-comment. + * bootstrap.conf (func_reconfigure): Remove. Don't completely + overwrite bootstrap's func_reconfigure, shadowing auto-ChangeLog + management. + (func_autopoint, func_libtoolize): Overwrite these un-needed + calls instead. + (libtool_autoreconf_libltdl): New hook function to run second + autoreconf in libltdl directory. + (libtool_force_changelog): Remove. This is all handled by + bootstrap's func_reconfigure again. + * bootstrap: Regenerate. + +2014-01-03 Gary V. Vaughan + + bootstrap: force remove file droppings from previous run. + + Now that we generate bootstrap.new with no write permission, + we have to force remove it before writing now content to the file. + * bootstrap.in (require_bootstrap_uptodate): Remove old + bootstrap.new output. + * bootstrap: Regenerate. + +2014-01-03 Gary V. Vaughan + + inline-source: add a DO NOT EDIT notice to generated files. + + * gl/build-aux/inline-source (func_include): Add a DO NOT EDIT + notice below the #! magic number of generated files. + * gl/build-aux/bootstrap.in (func_require_bootstrap_uptodate): + Remove write bit from regenerated bootstrap.new if it differs + from incumbent bootstrap. + Change the update instructions to recommend `mv -f` to cope with + no write permission on old bootstrap script. + +2014-01-03 Gary V. Vaughan + + bootstrap: move included files below DO NOT EDIT comment. + + * gl/build-aux/bootstrap.in: Reorder sections to load external + libraries as late as possible, leaving DO NOT EDIT comment + visible near the top of the generated bootstrap script. + +2014-01-03 Gary V. Vaughan + + maint: use before-save-hook in Emacs footers. + + Updating to Emacs 24 now gives me warnings about write-file-hooks + being obsolete. + * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, + gl/build-aux/funclib.sh, gl/build-aux/inline-source, + gl/build-aux/options-parser: Set before-save-hook in Emacs file + footers instead of obsolete write-file-hooks. + +2014-01-03 Gary V. Vaughan + + libtoolize: use printf '%s\n' unconditionally. + + It's been a year since the as_echo probes were removed in Autoconf, + so we can follow suit and remove our equivalent bs_echo probing + now. Retain $ECHO in case users need to override default printf + calls in museum piece environments. + * gl/build-aux/funclib.sh (ECHO): Default to 'printf %s\n'. + (bs_echo): Remove. + Adjust all bs_echo callers to use $ECHO instead. + * bootstrap: Regenerate. + * NEWS: Update. + +2014-01-02 Gary V. Vaughan + + bootstrap: push Peter's version sort fix back into funclib.sh. + + Peter's a7462c5 fix was applied to the generated bootstrap script + instead of the funclib.sh source, and had have been overwritten + the next time bootstrap was regenerated. + * gl/build-aux/funclib.sh (func_sort_ver): Sort numerically on the + non-primary keys as well. + * bootstrap: Regenerate, with the change applied. + +2014-01-01 Gary V. Vaughan + + maint: change history. + + * NEWS: Remove alpha release header. + * cfg.mk (old_NEWS_hash): Update. + +2014-01-01 Gary V. Vaughan + + libtool: only strip -Wl when linking with $LD. + + * build-aux/ltmain.in (func_mode_link): Don't strip -Wl from the + linker flags, except when linking with $LD, otherwise compiler + drivers that don't recognize and pass linker flags through will + choke on unrecognized options. + +2014-01-01 Gary V. Vaughan + + bootstrap: fix gitlog-to-changelog detection. + + * gl/build-aux/bootstrap.in (func_ifcontains): Use a for loop + that relies on $IFS for element splitting instead of a one-shot + case glob that is not tolerant to \n in $gnulib_modules. + * THANKS: Add Reuben Thomas. + Reported by Reuben Thomas + +2014-01-01 Gary V. Vaughan + + maint: update copyright notices to include 2014. + + * .x-update-copyright: New file. Exclude files not owned by this + project from update-copyright rules. + * doc/libtool.texi: Replace m-dash with n-dash in texinfo + copyright notice so that update-copyright matches correctly. + Undo bogus copyright updates to example output from gdb session. + Bump copyright year. + * Changelog.old: Revert bogus updates from previous years + without .x-update-copyright. + AUTHORS, HACKING, Makefile.am, NEWS, README, THANKS, TODO, + bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, + build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk, + configure.ac, gl/build-aux/bootstrap.in, + gl/build-aux/extract-trace, gl/build-aux/funclib.sh, + gl/build-aux/inline-source, gl/build-aux/options-parser, + libltdl/README, libltdl/argz.c, libltdl/argz_.h, + libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, + libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, + libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, + libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, + libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, + libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, + libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, + libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, + libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4, + m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, + m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, + tests/am-subdir.at, tests/archive-in-archive.at, + tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, + tests/configure-iface.at, tests/convenience.at, tests/ctor.at, + tests/cwrapper.at, tests/darwin.at, tests/demo.at, + tests/depdemo.at, tests/deplib-in-subdir.at, + tests/deplibs-ident.at, tests/deplibs-mingw.at, + tests/destdir.at, tests/dlloader-api.at, + tests/dumpbin-symbols.at, tests/duplicate_conv.at, + tests/duplicate_deps.at, tests/duplicate_members.at, + tests/early-libtool.at, tests/exceptions.at, + tests/execute-mode.at, tests/exeext.at, tests/export-def.at, + tests/export.at, tests/f77demo.at, tests/fail.at, + tests/fcdemo.at, tests/flags.at, tests/help.at, + tests/indirect_deps.at, tests/infer-tag.at, + tests/inherited_flags.at, tests/install.at, + tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, + tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, + tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, + tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, + tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, + tests/need_lib_prefix.at, tests/no-executables.at, + tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, + tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, + tests/resident.at, tests/runpath-in-lalib.at, + tests/search-path.at, tests/shlibpath.at, tests/slist.at, + tests/standalone.at, tests/static.at, tests/stresstest.at, + tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, + tests/template.at, tests/testsuite.at, tests/versioning.at, + tests/with-pic.at: Bump copyright year. + +2014-01-01 Gary V. Vaughan + + gnulib: update to latest upstream revision. + + * gnulib: Update. + +2014-01-01 Gary V. Vaughan + + tests: gcj cannot reliably compile directly to .o from .java + + Some 4.3.x and 4.4.x releases of gcj insert a spurious 'dummy' + symbol into every object file when compiling directly from .java + to .o: + * tests/convenience.at (GCJ): make .class files from .java + sources first, and then compile those to native objects. This + works around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143 + +2014-01-01 Gary V. Vaughan + + testsuite: with SunStudio12.x f77, don't fail on system symbols + + Modern SunStudio f77 is just a wrapper for f90, which + explains why current master fails these test groups with: + + Undefined first referenced + symbol in file + __f90_slw_ch .libs/foof2.o + __f90_sslw .libs/foof2.o + __f90_eslw .libs/foof2.o + ld: fatal: symbol referencing errors. No output written to + .libs/libfoo2.so.0.0.0 + + So we allow some undefined symbols in the libraries, which are + resolved by the $(FLIBS) added to the final binaries in the tests. + This seems like the simpler, and less error inducing solution to + me (compared to adding $(FLIBS) to every library LDFLAGS line). + * tests/f77demo.at (libfoo_la_LDFLAGS, libfoo2_la_LDFLAGS) + (libfoo3_la_LDFLAGS, libmix_la_LDFLAGS): Remove -no-undefined + flag. + * tests/fcdemo.at: Likewise. + +2014-01-01 Gary V. Vaughan + + maint: use $SED and $GREP, not sed and grep in all scripts. + + Choosing between hardcoding a tool's name, or using the shell + variable with a path to the user's prefered implementation or + configure's idea of the best available is a premature + optimisation. + * build-aux/ltmain.in, gl/build-aux/bootstrap.in, + gl/build-aux/extract-trace, gl/build-aux/funclib.sh, + libtoolize.in: Use $SED and $GREP consistently throughout, + instead of hardcoding sed and grep. + * bootstrap: Regenerate. + +2014-01-01 Gary V. Vaughan + + tests: use TESTS_ENVIRONMENT for EGREP and FGREP. + + Be consistent about passing commands to the testsuite, and use + TESTS_ENVIRONMENT consistent. + * Makefile.am (TESTS_ENVIRONMENT): Add EGREP and FGREP. + * tests/testsuite.at: Remove EGREP and FGREP extractions from + generated libtool script. + +2014-01-01 Gary V. Vaughan + + tests: use $GREP throughout. + + Trust the user, and use $GREP from TESTS_EVVIRONMENT uniformly. + * Makefile.am (TESTS_ENVIRONMENT): Add GREP setting. + * tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, + tests/configure-iface.at, tests/cwrapper.at, tests/darwin.at, + tests/demo.at, tests/destdir.at, tests/dumpbin-symbols.at, + tests/early-libtool.at, tests/execute-mode.at, tests/export-def.at, + tests/export.at, tests/f77demo.at, tests/fcdemo.at, tests/flags.at, + tests/help.at, tests/inherited_flags.at, tests/install.at, + tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, + tests/localization.at, tests/lt_dladvise.at, tests/lt_dlopen.at, + tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, + tests/mdemo.at, tests/old-m4-iface.at, tests/pic_flag.at, + tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, + tests/static.at, tests/sysroot.at, tests/template.at, + tests/testsuite.at, tests/versioning.at: Replace all hardcoded grep + invocations with $GREP. + +2014-01-01 Gary V. Vaughan + + tests: use $SED throughout. + + Trust the user, and use $SED from TESTS_ENVIRONMENT uniformly. + Hardcoding 'sed' for "simple" edits is a premature optimisation. + * tests/cdemo.at, tests/cmdline_wrap.at, tests/cwrapper.at, + tests/darwin.at, tests/demo.at, tests/duplicate_conv.at, + tests/duplicate_members.at, tests/execute-mode.at, tests/export.at, + tests/inherited_flags.at, tests/install.at, tests/libtoolize.at, + tests/mdemo.at, tests/need_lib_prefix.at, tests/old-m4-iface.at, + tests/sysroot.at, tests/tagdemo.at, tests/testsuite.at: Replace all + hardcoded sed invocations with $SED. + +2014-01-01 Gary V. Vaughan + + tests: run cmdline_wrap last, or not at all if anything else failed. + + * Makefile.am (TESTSUITE_AT): Move stresstest.at and cmdline_wrap.at + to the end of the list. + * tests/cmdline_wrap.at: If previous tests have failed, then we + already know that rerunning them will fail too, so save time by + skipping in that case. + +2014-01-01 Gary V. Vaughan + + configury: remove spurious g modifier in sed expression. + + * Makefile.am (rebuild): Remove useless g modifier from sed + expression. + +2014-01-01 Gary V. Vaughan + + configury: use $(SED) where input does not end in newline. + + On Solaris machines the system sed does not process the last + line of input unless it ends with a newline, which means it + cannot be used to massage the output of git-version-gen, because + it deliberately omits the terminating newline. + * Makefile.am (rebuild): Use the sed command found by configure, + which has a better chance of working properly than the first sed + on PATH. + +2014-01-01 Gary V. Vaughan + + tests: skip fcdemo checks when $FC cannot compile fortran90. + + Avoid spurious fcdemo failures when Autoconf picks f77 or + similar for a fortran90 compiler. + * tests/testsuite.at (LT_AT_TAG): Using FC and FCFLAGS from make + TESTS_ENVIRONMENT, check that we really can compile fortran90 + or else skip. + +2014-01-01 Gary V. Vaughan + + funclib.sh: improve comments. + + * gl/build-aux/funclib.sh: Add a comment explaining the need for + extra SED and GREP searches. + +2013-12-09 Peter Rosin + + maint: fix out-of-tree autoreconf w/o manual rebootstrap + + build-aux/ltmain.in: Look for funclib.sh and options-parser in + the same location ltmain.in is found. + +2013-11-19 Peter Rosin + + bootstrap: fix version sort + + Reported by Ozkan Sezer who suffered from makeinfo 4.13 being detected + as lesser than the required makeinfo 4.8. + + * bootstrap (func_sort_ver): Sort numerically on the non-primary keys + as well. + +2013-11-08 Peter Rosin + + tests: Use a basic grep that matches the basic regexp style. + + Fixes a testsuite failure on Cygwin. + + * tests/tagdemo.at: Use grep instead of egrep. + +2013-10-29 Gary V. Vaughan + + bootstrap: fix a quoting error. + + * gl/build-aux/bootstrap.in (func_require_buildreq_autoconf): Quote + the extracted version number correctly so that it is displayed in + verbose mode. + +2013-10-28 Gary V. Vaughan + + funclib.sh: simplify version comparison functions. + + * gl/build-aux/funclib.sh (func_sort_ver): Much simplified. + (func_lt_ver): New function, return true if arguments are in + ascending order. + * gl/build-aux/bootstrap.in: Simplify with func_lt_ver. + * gl/build-aux/do-release-commit-and-tag.diff: Likewise. + * bootstrap: Regenerate. + + Co-Authored-by: Paul Eggert + +2013-10-28 Gary V. Vaughan + + bootstrap: show found GREP and SED in verbose mode. + + * gl/build-aux/bootstrap.in (EGREP, FGREP, GREP, SED): Remove. + These are already set by funclib.sh. + (func_prep): After --verbose has been processed, show the paths + to GREP and SED found by funclib.sh. + * bootstrap: Regenerate. + +2013-10-28 Gary V. Vaughan + + refactor: simplify program path searching in funclib.sh. + + * gl/build-aux/funclib.sh (func_path_progs): New function. Factor + out common code from GREP and SED searches. + (func_check_prog_sed, func_check_prog_grep): New functions, for + non-common code. + (scriptversion): Update. + * bootstrap: Regenerate. + +2013-10-28 Gary V. Vaughan + + bootstrap: search for a non-truncating grep binary. + + On at least Unixware 7.1.4, the first grep binary on PATH is + unable to process the extract-trace scripts. + * gl/build-aux/funclib.sh (GRUP): Search PATH for a grep binary + that doesn't truncate its own output if available, and set GREP + accordingly. + * Makefile.am (SCRIPT_ENV): Add setting for GREP. + * bootstrap: Regenerate. + Reported by Tim Rice. + +2013-10-28 Gary V. Vaughan + + bootstrap: search for a non-truncating sed binary. + + On at least Unixware 7.1.4, the first sed binary on PATH is + unable to process the extract-trace scripts. + * gl/build-aux/funclib.sh (PATH_SEPARATOR): Set to : or ; + according to a feature test. + (func_executable_p): New function. + (SED): Search PATH for a sed binary that doesn't truncate its + own output if available, and set SED accordingly. + (scriptversion): Update. + * Makefile.am (SCRIPT_ENV): New macro, for propagating configured + variables. + (ltdl_ac_aux_dir, $(ltmain_sh), install-data-local): Use it. + * bootstrap: Regenerate. + Reported by Tim Rice. + +2013-10-27 Gary V. Vaughan + + tests: use autotest as_unset rather than rerolling $unset locally. + + On at least Unixware 7.1.4, the shell variable 'unset' gets set + to 'no' during the testsuite run, breaking several test cases. + We should have been using Autotest $as_unset anyway. + * tests/testsuite.at (unset): Remove test and variable setting. + (LT_AT_MAKE): Use $as_unset as provided by autotest boilerplate + instead of our own $unset. + * tests/demo.at (uninstalled libraries ave priority): Likewise. + Reported by Tim Rice. + +2013-10-27 Gary V. Vaughan + + maint: post-release administrivia + + * NEWS: Add header line for next release. + * .prev-version: Record previous version. + * cfg.mk (old_NEWS_hash): Auto-update. + +2013-10-26 Gary V. Vaughan + + version 2.4.2.418 + + * NEWS: Record release date. + +2013-10-26 Gary V. Vaughan + + gnulib: update to latest upstream revision. + + * gnulib: Update. + +2013-10-26 Gary V. Vaughan + + gnulib: use func_sort_ver instead of GNU sort -V in do-release-commit-and-tag. + + * gl/build-aux/do-release-commit-and-tag: Source funclib.sh and + then use portable func_sort_ver rather than force installation of + all GNU coreutils just for sort -V support. + +2013-10-26 Gary V. Vaughan + + refactor: move func_sort_ver from bootstrap.in to funclib.sh. + + * gl/build-aux/bootstrap.in (func_sort_ver): Move from here... + * gl/build-aux/funclib.sh (func_sort_ver): ...to here. + * bootstrap: Regenerate. + +2013-10-26 Gary V. Vaughan + + tests: use K&R main() syntax for old-ltdl-iface.at. + + At least Mac OS 10.8.5 clang chokes on the previous + 'const void *argv[]' parameter, but since we don't use it + anyway, keep to the theme of old api support and use K&R + syntax. + * tests/old-ltdl-iface.at (old.c): Use 'main ()' instead of + unportable 'int main (int argc, const void *argv[])'. + +2013-10-25 Gary V. Vaughan + + libltdl: bump -version-info revision by 1. + + The only changes to libltdl sources since v2.4.2 have been + cosmetic and stylistic. + * libltdl/ltdl.mk (LTDL_VERSION_INFO): For a release with no + interface changes C:R:A becomes C:R+1:A. + +2013-10-25 Gary V. Vaughan + + maint: Update README-release for Makefile.inc -> ltdl.mk rename. + + * gl/top/README-release.diff: s/Makefile.inc/ltdl.mk/g + +2013-10-25 Gary V. Vaughan + + maint: bump serials on m4 sources changed since v2.4.2. + + * m4/argz.m4: Bump serial to 6. + * m4/libtool.m4: Bump serial to 58. + * m4/ltdl.m4: Bump serial to 19. + * m4/ltoptions.m4: Bump serial to 8. + +2013-10-25 Gary V. Vaughan + + maint: fix a syntax-check violation from commit 12641bd. + + * build-aux/ltmain.in (func_mode_link): Reverse test operands to + forestall misinterpretation of contests of shell variable as + operand 1. + +2013-10-10 Vadim Zeitlin (tiny change) + + libtool: Don't fall back to static libraries if building them was disabled + + If -no-undefined was not specified but the platform didn't + support shared libraries with undefined symbols (e.g. Cygwin/ + MinGW), static libraries were built instead of shared ones, + even if building them was explicitly disabled with --disable- + static configure option. + + Fix this by stopping with a fatal error if a shared library + can't be built in this case instead of unexpectedly building a + static library instead. + + * libltdl/config/ltmain.m4sh (func_mode_link()): Stop with + fatal error when trying to build a shared library without -no- + undefined on a platform not supporting undefined symbols in + shared libraries. + +2013-10-09 Brooks Moses + + libtool: Remove unneeded quotes in assignment. + + The quotes in this assignment cause "make syntax-check" to + fail. Thus, this patch removes them. + +2013-10-09 Fabian Groffen (tiny change) + + libtool: Fix x86_64-pc-solaris2.* GNU ld breakage + + Since commit [1] libtool tries to set a 64-bits target for GNU + ld. However, it does so wrongly for x86_64-pc-solaris2.* + targets, causing libtool to believe the linker is called + ld_sol2. There is no such thing, and it obviously breaks + things further down. Some people wrongly assume there is + supposed to be an ld_sol2 on their systems, e.g. [2]. + + I think the original change is fragile, because it assumes it + has all CHOSTs matched, then appends _sol2. In the wild, + people have used amd64-pc-solaris2* too, so perhaps it would + be safer if the code only appended _sol2 if there is actually + an explicit target set. + + Anyhow, since the 64-bits sparc target is called sparc64-* or + sparcv9-*, the sparc case is already correctly handled, so in + the attached patch, I just added an x86_64-* case, although I + could imagine relaxing the i?86 case to *86*-pc-solaris2* too. + + In any case, defaulting to a linker called ld_sol2 is wrong. + + [1] http://lists.gnu.org/archive/html/libtool-commit/2011-02/ + msg00000.html + [2] http://osdyson.org/issues/8 + +2013-10-09 Olivier Blin (tiny change) + + libtool: Fix detection of ld version with parentheses. + + ld from crosstool-NG reports a version string with an extra + version number in a parenthetical note: + GNU ld (crosstool-NG 1.13.0) 2.21.1 + + This made libtool assume that the ld version was the + crosstool-NG version (1.13.0) instead of the real ld version + (2.21.1). + + To fix the ld version string, this patch filters out any string + between parentheses that is followed by a space. + + Because of this bug, filtering of exported symbols was not + taking place with crosstool-NG toolchains. + + This issue has bee noticed when building pango, which exported + harfbuzz symbols that should have remained hidden. + +2013-10-09 Brooks Moses + + libtool: Fix comment indentation + + This trivial patch fixes indentation on a comment to match + the style used elsewhere in m4/libtool.m4. + +2013-10-09 DJ Delorie + + libtool: Add TPF settings for LT_SYS_DLOPEN_SELF + + * m4/libtool.m4: Since we know that all TPF builds are cross- + builds, do not attempt to run linker tests during config. Use + known constants instead, since we know how dlopen() is + implemented. + +2013-10-09 Vincent Lefevre (tiny change) + + libtool: Fix $wl setting for tcc on GNU systems + + (This addresses http://bugs.debian.org/663945. See there for + more-detailed discussion.) + + tcc gained support for "-Wl,-rpath -Wl," in its + commit 7fb0482a ("Support linker options passed in several -Wl + param", 2012-03-14) but libtool doesn't know to use it. Teach + it. + + Without this change, running "make check" on MPFR when it has + been built with tcc and shared libraries doesn't work because + libtool generates a -rpath option, which tcc doesn't support. + +2013-10-09 Peter Johansson + + libtool: use AS_HELP_STRING in LT_WITH_SYSROOT help message. + + This patch fixes so help output is formatted similar with + other macros using AS_HELP_STRING. Also it outputs '[=DIR]' + as I suspect intended rather than '=DIR'. + +2013-10-09 Joseph Prostko (tiny change) + + libtool: Haiku change for shlibpath_overrides_runpath + + Pretty much all changes to Haiku for Libtool have been + upstreamed, however we currently have an incorrect value for + shlibpath_overrides_runpath. It should be "no" instead of + "yes". + + Previously Scott McCreary had submitted patches for us, but I + told him I would work to get this committed, as he is quite + busy lately. + + Here is a commit he made to our Haiku Ports site though, that + shows the exact change I am proposing done against Libtool + 2.4.2. + + http://ports.haiku-files.org/browser/haikuports/sys-devel/ + libtool/patches/libtool-2.4.2.patch + +2013-10-09 Brooks Moses (tiny change) + Johannes Obermayr + + libtool: Discard "-mllvm $arg" options when linking. + + Clang accepts options of the form "-mllvm $arg", and passes the + argument as an option to LLVM. These options caused problems + for Libtool when linking; in some cases, the -mllvm option is + passed through but the corresponding argument is dropped. (See + for example http://llvm.org/bugs/show_bug.cgi?id=14716.) + + This patch resolves the issue by explicitly matching -mllvm and + taking an argument. Since Clang never uses LLVM for linking, + the matched "-mllvm $arg" option is irrelevant for the link + step, and we can simply discard it once we've recognized it. + +2013-10-09 OndĹ™ej BĂ­lka + + maint: Fix various comment and documentation typos. + + OndĹ™ej writes: "Hi, this is upstream version of patch that I + sent to gcc. I generated this patch with tool that I am + writing: https://github.com/neleai/stylepp" + + (Note: The generated patch was adjusted to retain the non-US + but correct spelling of 'rigourous' before commit. --Brooks) + +2013-10-08 David 'Digit' Turner + + libtool: Add Android/Linux support. + + This patch adds proper Android support to libtool. The main + issues are the following: + + - Versioned libraries are not supported by the platform and + its build/packaging tools. + + - The dynamic linker is not GNU ld, there is no support for + DT_RUNPATH. + + - Similarly, there is no ldconfig. + +2013-09-17 Peter Rosin + + libtool: trust -print-search-dirs from recent GCC + + Alan Modra hints in [1] that -print-search-dirs was fixed in + GCC 4.2(?), so that it nowadays automatically appends + -print-multi-os-directory for the applicable directories. I.e. + it should no longer be necessary for libtool to append a second + ../lib64 when GCC has already done so. Also, the multi-os + appending loop seems to have been added specifically for early + (arguably broken) bi-arch enabled GCCs that printed -m32 + directories even though -m64 was the default [2]. So, my + conclusion is that we want any libtool magic to affect + -print-search-dirs output from contemporary GCCs as little as + possible, while continuing to append the + -print-multi-os-directory for the legacy case. + + Fixes bug#15321 reported by Ozkan Sezer. + + [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20425 + [2] http://lists.gnu.org/archive/html/bug-libtool/2006-09/msg00019.html + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): If any of the + directories printed by -print-search-dirs ends with the + content of -print-multi-os-directory, then assume that + GCC adds the multi-os-directory where appropriate all by + itself and hence don't try to second guess when to add + it manually. + * THANKS: Update. + +2013-09-16 Gary V. Vaughan + + bootstrap: clean up spurious 'gnulib-cache.m4 missing' error. + + * gl/build-aux/bootstrap.in (func_reconfigure): Don't show an + error when running without gnulib-cache.m4. + * bootstrap: Regenerate. + +2013-09-15 Gary V. Vaughan + + bootstrap: make ensure_changelog work for update mode projects. + + * gl/build-aux/bootstrap.in (func_bootstrap): Move + func_changelog_ensure invocation from here... + (func_reconfigure): ...to here. If gnulib_modules is empty, then + grep gnulib-cache.m4 for gitlog-to-changelog before invoking + func_changelog_ensure. + * bootstrap: Regenerate. + +2013-09-15 Gary V. Vaughan + + bootstrap: fetch defaults from gnulib-cache.m4 for non-imported projects. + + Recent changes uncovered some bugs in handling of gnulib-tool + options for projects that check in gnulib-cache.m4 rather than + keep a separate list of modules and options in bootstrap.conf. + * gl/build-aux/bootstrap.in (func_require_doc_base) + (func_require_gnulib_name, func_require_local_gl_dir): New + functions to set defaults from gnulib-cache.m4 in projects that + use gnulib-tool in --update mode. + (func_require_gnulib_tool_base_options): Use them to fetch + defaults. + (func_require_gnulib_copy_cmd): New function to calculate the + options required for gnlib-tool copy command. + (func_gnulib_tool_copy_file): Simplify accordingly. + (scriptversion): Bump. + +2013-09-05 Gary V. Vaughan + + maint: normalise formatting of recent commit log entry. + + * build-aux/git-log-fix: Add a summary line to ChangeLog entry of + most recent commit. + +2013-09-05 Brooks Moses + + maint: add Brooks Moses to AUTHORS file. + * AUTHORS: Add myself to committers list. + +2013-08-29 Gary V. Vaughan + + bootstrap: gnulib_tool=true means no gnulib submodule. + + * gl/build-aux/bootstrap.in (func_require_gnulib_tool): No + sneaking off and cloning gnulib when the user already specified + gnulib_tool=true in their bootstrap.conf! + * bootstrap: Regenerate. + +2013-08-23 Alan Modra + + bootstrap: make first char of IFS a space. + + Putting tab first in IFS breaks func_echo_all usage of $*, + resulting in failure of func_infer_tag to match a command line + using a $CC with trailing spaces. The trailing spaces were + stripped out of CC_expanded but words in $CC were separated by + tabs. This didn't match the makefile expansion of $CC using the + standard IFS with a first char of space. + * gl/build-aux/funclib.sh (IFS): Make first char a space. + * bootstrap: Regenerate. + +2013-08-23 Gary V. Vaughan + + bootstrap: support --no-git and --no-po options. + + * gl/build-aux/bootstrap.in (bootstrap_parse_options): Accept + --no-git as an alias for --skip-git for compatibility with gnulib + bootstrap, and --no-po for symmetry. + Reported by Mike Miller. + +2013-08-23 Gary V. Vaughan + + bootstrap: support gnulib gnulib_tool_option_extras settings. + + * gl/build-aux/bootstrap.in (func_gnulib_tool): Even though we + don't need it, support gnulib_tool_option_extras for bootstrap.conf + ported from gnulib bootstrap. + * bootstrap: Regenerate. + Reported by Mike Miller. + +2013-08-23 Gary V. Vaughan + + bootstrap: support sha1 binary on OpenBSD. + + * gl/build-aux/bootstrap.in (func_update_po_files): Remove the + use of --status in a way that will suppress all error messages, + but since this is only used to minimize updates, it shouldn't + cause an issue. + Look for a sha1 binary if the other SHA1SUM settings are not + found. + Also exit early if there is a problem updating the po file + checksums. + * bootstrap: Regenerate. + Ported from a gnulib patch by Padraig Brady. + +2013-08-23 Gary V. Vaughan + + bootstrap: support tools that don't accept '--version' in buildreq. + + * gl/build-aux/bootstrap.in (func_check_tool): Check whether there + is an executable as given or on the command PATH. + (func_check_version): Use func_check_tool to avoid invoking --version + when buildreq specifies '-' for the version number. + * bootstrap: Regenerate. + Reported by Mike Miller. + +2013-08-23 Gary V. Vaughan + + bootstrap: diagnose bad $buildreq formatting. + + Particularly when porting from gnulib bootstrap to libtool + bootstrap, it's easy to forget the extra URL column used for + error reporting. + * gl/build-aux/bootstrap.in (func_check_versions): A non-URL + pattern in the 3rd column of buildreq triggers a fatal error. + * bootstrap: Regenerate. + Reported by Mike Miller. + +2013-08-23 Gary V. Vaughan (tiny change) + + bootstrap: support OpenBSD sed. + + * gl/build-aux/bootstrap.in (func_insert_if_absent): Work around + the problem of OpenBSD sed not supporting '-' as a notation for + standard input. + * bootstrap: Regenerate. + * THANKS: Add Mike Miller. + Reported by Mike Miller. + +2013-08-23 Steve Ellcey + Gary V. Vaughan + + libtool: set correct linker ABI flags on mips64 linux. + + m4/libtool.m4 (_LT_ENABLE_LOCK): Select the n32 or n64 ABI when + linking to match the ABI produced with the user's compiler flags. + +2013-08-23 Gary V. Vaughan + + maint: correct many abuses of the word "which". + + * HACKING, NEWS, TODO, bootstrap, bootstrap.conf, + build-aux/ltmain.in, cfg.mk, configure.ac, doc/libtool.texi, + doc/notes.texi, gl/build-aux/bootstrap.in, + gl/build-aux/extract-trace, gl/build-aux/funclib.sh, + gl/doc/bootstrap.texi, libltdl/libltdl/lt_system.h, + libltdl/loaders/loadlibrary.c, libltdl/lt__strl.c, + libltdl/lt_dlloader.c, libltdl/ltdl.c, libtoolize.in, + m4/libtool.m4, m4/ltdl.m4, m4/ltsugar.m4, m4/lt~obsolete.m4, + tests/exceptions.at, tests/need_lib_prefix.at, tests/static.at: + Use "which" correctly, or replace with "that", "where" or "what" + as appropriate. + +2013-08-23 Brook Moses + + libtool: improve comments for _LT_ENABLE_LOCK implementation. + + * m4/libtool.m4 (_LT_ENABLE_LOCK): enhance comments to explain + why the code looks odd with 32bit flags in the 64bit section and + vice versa. + +2013-08-22 Alan Modra + + libtool: fix refixed unmangled powerpc*le-linux support patch + + * m4/libtool.m4: fix refixed badly unmangled hunks from earlier + powerpc*le changeset. + Reported by Peter Rosin. + +2013-08-22 Alan Modra + + libtool: refix unmangled powerpc*le-linux support patch + + * m4/libtool.m4: refix badly unmangled hunks from earlier + powerpc*le changeset. + Reported by Peter Rosin. + +2013-08-22 Gary V. Vaughan + + libltdl: don't trip subdir-objects warning from Automake >= 1.14. + + Latest Automake releases now warn when subdir-objects is not + specified in preparation for Automake 2.0. The option has been + in Automake for more than a decade, so there's minimal risk of + someone using the next release of Libtool alongside an ancient + release of Automake when bootstrapping libltdl client projects. + * libltdl/configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects. + +2013-08-22 Gary V. Vaughan + + libtool: refactor powerpc*le-linux case branch expressions. + + libtool (_LT_ENABLE_LOCK): make inner case branch expressions + consistent with outer case expression. + Reported by Peter Rosin. + +2013-08-22 Alan Modra + + libtool: fix mangled powerpc*le-linux support patch + + * m4/libtool.m4: unmangled badly pasted hunks from previous + changeset. + +2013-08-22 Alan Modra + + libtool: initial powerpc*le-linux support + + * m4/libtool.m4 (ld -m flags): Remove non-canonical ppc host match. + Support little-endian powerpc linux host. + +2013-06-17 Yaakov Selkowitz + + libtool: fix conversion warnings in cwrapper + + build-aux/ltmain.in (func_emit_cwrapperexe_src:main): XMALLOC wants a + size_t. Also use int instead of intptr_t for the return value (which + is fine since the _spawnv call is synchronous). + (func_emit_cwrapper_src) [MSVC]: Remove the intptr_t helper define. + (func_emit_cwrapperexe_src:find_executable): Use size_t for variables + involved in strlen computations. + (func_emit_cwrapperexe_src:lt_setenv): Likewise. + (func_emit_cwrapperexe_src:lt_extend_str): Likewise. + (func_emit_cwrapperexe_src:lt_update_exe_path): Likewise. + THANKS: Update. + +2013-04-28 Peter Rosin + + libtool: break all the way out when a good nm is found + + The current code tries to locate a compatible nm tool. It starts with + a prefixed nm tool (great!) and includes a plain nm too (that's fine). + The problem is that the code searches for the prefixed nm before the + plain nm (normally fine), but doesn't break once it has found a valid + match, and the plain nm ends up the winner. + + Report and analysis by Mike Frysinger. + + * m4/libtool.m4 (LT_PATH_NM): Break all the way out on a good match. + +2013-01-28 Peter Rosin + + maint: update email address... + + * THANKS: ...of Jan Engelhardt. + +2013-01-28 Jan Engelhardt + + doc: fix an orthographic error + + * doc/libtool.texi (Install mode): Ensure, not insure. + +2013-01-27 Gary V. Vaughan + + bootstrap: fix func_insert_if_absent bugs. + + * gl/build-aux/bootstrap.in (func_insert_if_absent): Print verbose + message when there is a new entry to add. + Also, make sure to update the .gitignore file when changed. + * bootstrap: Regenerate. + * THANKS: Add Pádraig Brady. + Reported by Pádraig Brady. + +2013-01-27 Gary V. Vaughan + + bootstrap: factor out gnulib-tool option calculations. + + * gl/build-aux/bootstrap.in (func_gnulib_tool): Factor base option + settings out... + (require_gnulib_tool_base_options): ...to here. + * bootstrap: Regenerate. + +2013-01-27 Gary V. Vaughan + + syntax-check: fix a quoted_test_operand violation. + + * gl/build-aux/bootstrap.in (func_insert_if_absent): Make sure + test operands are quoted correctly. + * bootstrap: Regenerate. + +2013-01-27 Gary V. Vaughan + + syntax-check: fix new SPACE-TAB violations. + + * build-aux/ltmain.in (func_dll_def_p): Replace SPACE-TAB by + TAB-SPACE. + * m4/libtool.m4 (_LT_DLL_DEF_P): Likewise. + +2013-01-26 Bernhard Voelker + Gary V. Vaughan + + bootstrap: always auto-add .gitignore files at the top. + + * gl/build-aux/bootstrap.in (func_gitignore_entries): New function. + Strip comments and blank lines. + (func_insert_sorted_if_absent): Renamed... + (func_insert_if_absent): ...to this. Adjust all callers. + Instead of comparing the sorted new file with the original, + compare the line count, being careful to diagnose duplicate + entries which would otherwise skew the count. + +2013-01-26 Gary V. Vaughan + + maint: patch gitlog-to-changelog to reduce bogus warnings. + + Rather than trying to find a new useful warning among the 55 + expected warnings from vanilla gitlog-to-changelog, patch it to + elide the bogus warnings from duplicate log entries. + * gl/bulid-aux/gitlog-to-changelog.diff: Omit-from-ChangeLog is + a new log entry tag to skip legitimate log duplicates. + * build-aux/git-log-fix: Instead of deleting all content of + duplicates and generating a warning, append the new + Omit-from-ChangeLog tag to elide silently. + * Makefile.am *($(changelog)): Remove the 'expect 55 warnings' + echo. + +2013-01-22 Peter Rosin + + libtool: factor out the dll .def file test and improve it + + Resolves bug#13414. Problem reported by Erik van Pienbroek + and Martin Doucha. + + build-aux/ltmain.in (func_mode_link): Factor out the test if a + given symbol file is a module-definition (.def) file into... + (func_dll_def_p): ...this function, which also improves the check. + m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + : Similarly, factor out the test if + a given symbol file is a module-definition (.def) file into... + (_LT_DLL_DEF_P): ...this macro, which also improves the check. + tests/export-def.at: New test. + Makefile.am (TESTSUITE_AT): Add above test. + NEWS: Update. + THANKS: Update. + +2013-01-21 Peter Rosin + + libtool: allow tabs in *_cmds variables + + This is in preparation for the next patch, which needs to have literal + tab characters survive the evaluation of the *_cmds variables. + + build-aux/ltmain.in (func_execute_cmds, func_mode_link): Don't collapse + tabs and surrounding whitespace into a single space when executing a + tilde-separated cmds construct, instead keep any tabs intact. + +2013-01-19 Peter Rosin + + libtool: avoid tabs in all *_cmds variables. + + This is in preparation for the next change, which will preserve + tabs when the *_cmds variables are evaluated. Removing tabs first + ensures that the libtool output stays the same when tabs are not + collapsed with surrounding whitespace. + + m4/libtool.m4: Convert indenting tabs to spaces for all *_cmds + variables. + +2013-01-16 Peter Rosin + + libtool: align archive_cmds with archive_expsym_cmds for MSVC + + m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] + : Specify the import library name, aligning with + archive_expsym_cmds. + +2013-01-16 Peter Rosin + + libtool: feed .def files verbatim to the MSVC linker + + m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] + : When the symbol list isn't really a symbol list, + but instead a .def file, copy it to a file with .def extension so that + MSVC recognizes it as a module-definition file and feed it verbatim. + NEWS: Update + +2013-01-15 Peter Rosin + + Revert "libtool: use false or : for $always_export_symbols, and simplify" + + This reverts commit 5ed7430fcb48c862c9d76ef497b73485d580338e, which is + totally bogus as the variable is also set in libtool.m4. Sorry for the + noise. + +2013-01-15 Peter Rosin + + libtool: use false or : for $always_export_symbols, and simplify + + * build-aux/ltmain.in (func_mode_link): Save a string comparison + by setting $lways_export_symbols to false or : and using it directly + as the first argument to if. Make sure that it is always initialized + while at it. + +2013-01-09 Peter Rosin + + tests: fix nits in path handling + + tests/bindir.at: func_save_and_prepend_path is already checking + $bindirneeded internally, so remove checks from call sites. Add + proper quoting while at it. + (func_save_and_prepend_path): Use $PATH_SEPARATOR instead of a literal + colon (in both instances). + +2013-01-08 Peter Rosin + + libtool: simplify quoting and code for symbols exporting sed programs + + * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] + : Make the sed programs easier to read (and + recover some backslashes for later in the process). + +2013-01-03 Peter Rosin + + tests: don't feed -no-undefined to the linker during configure. + + * tests/deplibs-mingw.at: Restore LDFLAGS for the configure run so that + the linker does not see -no-undefined. Makes the test pass instead of + skip on MinGW. + +2013-01-03 Gary V. Vaughan + + maint: note warnings during ChangeLog generation are normal. + + * Makefile.am ($(changelog)): Output a note that 55 empty commit + log warning messages during ChangeLog generation are expected. + +2013-01-03 Gary V. Vaughan + + git: ignore .serial file. + + * .gitignore: ignore .serial file. + +2013-01-03 Gary V. Vaughan + + maint: fix recent badly formatted ChangeLog entry. + + * build-aux/git-log-fix: No empty lines in a single commit. + +2013-01-03 Gary V. Vaughan + + syntax-check: fix a useless_quotes_in_assignment violation. + + * gl/build-aux/inline-source (func_require_AWK): Remove useless + quotes. + +2013-01-03 Gary V. Vaughan + + syntax-check: fix prohibit_strcmp syntax-check violation. + + * build-aux/ltmain.in (func_generate_dlsyms): Add a definition for + STREQ, and then use it in place of !strcmp. + +2013-01-03 Gary V. Vaughan + + docs: update copyright dates in libtool.texi. + + It seems `make update-copyright' missed the texinfo copyright + notice. + * doc/libtool.texi: Update copyright dates for 2013. + +2013-01-03 Brad Smith + + libtool: add bitrig support. + + * build-aux/ltmain.in (func_mode_link): Add bitrig support. + * m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE, LT_CMD_MAX_LEN) + (_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD) + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Ditto. + * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Ditto. + * tests/deplibs-ident.at(build tree relpaths): Ditto. + * NEWS: Updated. + +2013-01-01 Peter Rosin + + maint: check if git works before relying on it + + Makefile.am (m4/ltversion.m4): Take the opportunity to regenerate + $(srcdir)/.serial whenever git is actually working. + (git_version_gen): Provide a fallback version for the git-version-gen + script to use when .tarball-version does not exist and git is not + working. + +2013-01-01 Peter Rosin + + maint: really do update to latest upstream gnulib + Commit 9a7071e668d044c1c47c855d2f0bc7cadb235071 "maint: update + copyright notices to include 2013." states that this was done, but + it actually was not. + gnulib/: Update to latest upstream. + +2013-01-01 Gary V. Vaughan + + maint: remove unsupported Tested-by: tag. + + * build-aux/git-log-fix: Tested-by: line should not appear in the + ChangeLog. + +2013-01-01 Peter Rosin + + bootstrap: update README-release patch + + gl/top/README-release.diff: Update to match latest gnulib changes. + +2013-01-01 Gary V. Vaughan + + maint: update copyright notices to include 2013. + + * gnulib/: Update to latest upstream. + * AUTHORS, ChangeLog.old, HACKING, Makefile.am, NEWS, README, + THANKS, TODO, bootstrap, bootstrap.conf, + build-aux/edit-readme-alpha, build-aux/ltmain.in, cfg.mk, + configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in, + gl/build-aux/extract-trace, gl/build-aux/funclib.sh, + gl/build-aux/inline-source, gl/build-aux/options-parser, + libltdl/README, libltdl/argz.c, libltdl/argz_.h, + libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, + libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, + libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, + libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, + libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, + libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, + libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, + libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, + libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4, + m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, + m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, + tests/am-subdir.at, tests/archive-in-archive.at, + tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, + tests/configure-iface.at, tests/convenience.at, tests/ctor.at, + tests/cwrapper.at, tests/darwin.at, tests/demo.at, + tests/depdemo.at, tests/deplib-in-subdir.at, + tests/deplibs-ident.at, tests/deplibs-mingw.at, + tests/destdir.at, tests/dlloader-api.at, + tests/dumpbin-symbols.at, tests/duplicate_conv.at, + tests/duplicate_deps.at, tests/duplicate_members.at, + tests/early-libtool.at, tests/exceptions.at, + tests/execute-mode.at, tests/exeext.at, tests/export.at, + tests/f77demo.at, tests/fail.at, tests/fcdemo.at, + tests/flags.at, tests/help.at, tests/indirect_deps.at, + tests/infer-tag.at, tests/inherited_flags.at, tests/install.at, + tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, + tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, + tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, + tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, + tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, + tests/need_lib_prefix.at, tests/no-executables.at, + tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, + tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, + tests/resident.at, tests/runpath-in-lalib.at, + tests/search-path.at, tests/shlibpath.at, tests/slist.at, + tests/standalone.at, tests/static.at, tests/stresstest.at, + tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, + tests/template.at, tests/testsuite.at, tests/versioning.at, + tests/with-pic.at: Bump copyright year. + +2012-12-19 Peter Rosin + + libtool: Drop $LDFLAGS when invoking the toolchain + + m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [Solaris] : Drop + $LDFLAGS as it is a user variable that is usually used when invoking + libtool. As such, it should not be used by libtool when it invokes the + toolchain as it contains options intended for libtool, not the + toolchain. Fixes export.at and other tests that add -no-undefined to + LDFLAGS. + +2012-12-19 Richard Palo (tiny change) + + libtool: Add SONAME to the so when exporting explicit symbols on Solaris + + m4/libtool.m (_LT_LANG_CXX_CONFIG) [Solaris] : Feed + -h $soname to the linker just as is done in archive_cmds. + THANKS: Update. + +2012-11-02 Peter Rosin + + libtool: add @INIT@ to the preloader, for data imports on Windows + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Adjust + lt_cv_sys_global_symbol_to_cdecl so that it declares imported + data symbols as __declspec(dllimport). Adjust + lt_cv_sys_global_symbol_to_c_name_address and + lt_cv_sys_global_symbol_to_c_name_address_lib_prefix so that they + fill in "(void*) 0" for imported data symbols. Add new + lt_cv_sys_global_symbol_to_import which finds imported data + symbols if non-empty and export this variable to the libtool script + in the global_symbol_to_import variable. Adjust + lt_cv_sys_global_symbol_pipe so that data imports can be located. + * build-aux/ltmain.in (func_generate_dlsyms): When data imports + are present, as indicated by global_symbol_to_import, generate + a relocation function lt_syminit that fills in the addresses + of data imports at runtime and point to the new function with a + new virtual @INIT@ entry in the symbol list. + * libltdl/loaders/preopen.c (add_symlist): Look for the virtual + @INIT@ symbol (i.e. lt_syminit) and call it. + (vm_sym): Step past the @INIT@ symbol, if present. + * tests/demo.at (dlmain.c): Call the @INIT@ symbol, if present. + * NEWS: Update. + +2012-11-02 Peter Rosin + + libtool: unify the global symbol transformations + + Since it is safe for $lt_cv_sys_global_symbol_to_cdecl to match + with a simple /^T .* .*$/ type expression, it is ok for the other + transformations as well. At least if you require at least one + $symcode at the start of the line, so that the just generated output + doesn't match the next sed expression. + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unify the matching expressions + in the sed programs that transform the extracted symbol lines. + +2012-11-02 Peter Rosin + + libtool: break up long lines + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Break up long lines when + assigning the sed scripts that transform the extracted symbol lines. + +2012-10-25 Gary V. Vaughan + + bootstrap: use a decent awk if /bin/awk is hopeless. + + Bootstrap used to fail without an explicit AWK environment + setting on machines with both nawk and awk, but where awk is a + museum piece. + * gl/build-aux/inline-source (AWK): Remove initial setting. + (require_awk): Search PATH for a gawk, mawk or nawk before + settling on awk, just like configure does. + (func_include): Use it. + +2012-10-25 Gary V. Vaughan + + bootstrap: be sure to register gnulib submodule. + + * gl/build-aux/bootstrap.in (require_gnulib_submodule): Register + the gnulib submodule before updating it, even with a shallow + clone of gnulib. + * bootstrap: Regenerate. + Reported by Robert Boehne. + +2012-10-25 Gary V. Vaughan + + bootstrap: fix a typo in a find invocation. + + * gl/build-aux/bootstrap.in (require_buildreq_patch): Fix a typo. + * bootstrap: Regenerate. + +2012-10-25 Gary V. Vaughan + + bootstrap: bash versions 3.00.x do not have += functionality. + + * gl/build-aux/funclib.sh: Fix a typo in fork minimisation for + bash versions 3.00.x. + * bootstrap: Regenerate. + +2012-10-25 Gary V. Vaughan + + maint: fix missing command error in make dist. + + * Makefile.am ($(readme)): Don't forget the 'test'! + +2012-10-25 Gary V. Vaughan + + tests: fixup experr for addition whitespace in error prefix. + + Fix spurious test failures due to unmatched experr output. + * tests/libtoolize.at, tests/old-ltdl-iface.at: Add the addition + 2 spaces now used to justify error prefixes. + +2012-10-25 Gary V. Vaughan + + bootstrap: use of ';' in sed scripts is not portable. + + * gl/build-aux/bootstrap.in (require_buildreq_automake) + (require_dotgitmodules_parameters, require_package) + (func_update_po_files): Use '\n' or -e to separate sed commands, + instead of ';'. + * gl/build-aux/extract-trace (func_autoconf_configure) + (func_extract_trace_first): Likewise. + * gl/funclib.sh: Likewise. + (func_tr_sh): Likewise. + * gl/build-aux/options-parser (func_usage_message): Likewise. + * bootstrap: Regenerate. + Reported by Robert Boehne. + +2012-10-25 Gary V. Vaughan + + bootstrap: don't $tc_standout spaces, it's ugly! + + * gl/build-aux/funclib.sh (func_error): Move the prefix indent + before $tc_standout to avoid bright red inverse spaces. + * bootstrap: Regenerate. + +2012-10-25 Gary V. Vaughan + + bootstrap: fix rectangle select induced trailing spaces. + + * gl/build-aux/funclib.sh (require_term_colors): Delete trailing + whitespace. + * bootstrap: Regenerate. + +2012-10-25 Gary V. Vaughan + + bootstrap: display prerequisite program environment vars. + + Be more helpful when a prerequisite program from $buildreq + cannot be located, by showing what variable to export if it + is already installed but not in PATH. + * gl/build-aux/bootstrap.in (func_check_versions): Display + associated environment variables for not found prerequisite + programs. + * bootstrap: Regenerate. + +2012-10-25 Gary V. Vaughan + + bootstrap: honor COLORTERM and USE_ANSI_COLORS. + + Plenty of machines use a terminfo database that doesn't have + entries for color escape sequences, even though the terminal + itself most likely supports ANSI color escapes. + * gl/build-aux/funclib.sh (require_term_colors): If COLORTERM + or USE_ANSI_COLORS are set, then ignore what terminfo says, + and use standard ANSI color escape sequences. + * bootstrap: Regenerate. + +2012-10-25 Gary V. Vaughan + + bootstrap: make error messages prettier. + + * gl/build-aux/funclib.sh (func_error): Indent 'error' prefix by + two additional spaces to line up nicely with 'warning' and + 'running'. + * bootstrap: Regenerate. + +2012-10-24 Gary V. Vaughan + + bootstrap: emphasize command executions with terminal bold. + + * bootstrap.in (func_show_eval): Use $require_term_colors to + embolden the command about to be executed in output. + * bootstrap: Regenerate. + * bootstrap.conf (libtool_build_prerequisites): Use the standard + (colorful!) bootstrap func_show_eval here too. + +2012-10-24 Gary V. Vaughan + + bootstrap: show output from 'make bootstrap-deps'. + + * bootstrap.conf (libtool_build_prerequisites): Add support for + AM_V_GEN and AM_V_at to the temporary pre-configure Makefile. + Instead of eliding non-error output from bootstrap-deps, show + the results, with verbosity set according to $opt_verbose. + * Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh, libtool) + (README): Fix the display rules to correctly fall-back to + AM_DEFAULT_VERBOSITY when V=1 is not passed to make invocation. + +2012-10-22 Gary V. Vaughan + + maint: fixup badly formatted ChangeLog entries. + + * build-aux/git-log-fix: Mostly missing category tags and refilling + to 64 columns, but also deleting duplicate entries from merging the + gary/reredo-test-operand-order branch. + * g/build-aux/gitlog-to-changelog.diff: Local patch to prevent + printing unqualified header lines for deleted duplicate patches. + * THANKS: Put email address for Paul Seidler here... + * build-aux/git-log-fix: ...and remove from ChangeLog here. + +2012-10-22 Gary V. Vaughan + + bootstrap: regenerate to propagate Bob's func_split_equals fix. + + * bootstrap: regenerate. + +2012-10-22 Mikhail Zabaluev (tiny change) + + configury: make LT_INIT options pic-only and no-pic work. + + * m4/ltoptions.m4 (_LT_WITH_PIC): Set pic_mode at m4 time. + +2012-10-21 Bob Friesenhahn + + options-parser: fix regexp quoting error. + * gl/build-aux/options-parser (func_split_equals): Fixed expr + regexp quoting syntax error encountered with non-XSI shells. + Problem was noticed under Solaris 10. + +2012-10-21 Gary V. Vaughan + + syntax-check: fix violations and implement sc_old_style_quoting. + + Modern GNU ASCII quoting in output and comments is done + 'like this'. + * cfg.mk (sc_old_style_quoting): Try to catch most instances + of `old style quoting' so that it is not accidentally re- + introduced to the code. + * HACKING, Makefile.am, NEWS, PORTING, README, TODO, bootstrap, + bootstrap.conf, build-aux/edit-readme-alpha, + build-aux/git-hooks/commit-msg, build-aux/ltmain.in, + doc/libtool.texi, gl/build-aux/bootstrap.in, + gl/build-aux/extract-trace, gl/build-aux/funclib.sh, + gl/build-aux/inline-source, gl/build-aux/options-parser, + libltdl/libltdl/slist.h, libltdl/loaders/loadlibrary.c, + libltdl/ltdl.c, libltdl/slist.c, libtoolize.in, m4/argz.m4, + m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, + tests/cmdline_wrap.at, tests/configure-iface.at, tests/demo.at, + tests/depdemo.at, tests/deplib-in-subdir.at, + tests/deplibs-mingw.at, tests/destdir.at, tests/execute-mode.at, + tests/f77demo.at, tests/fail.at, tests/inherited_flags.at, + tests/libtool.at, tests/libtoolize.at, tests/lt_dladvise.at, + tests/lt_dlexit.at, tests/mdemo.at, tests/need_lib_prefix.at, + tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/static.at, + tests/stresstest.at, tests/testsuite.at, tests/versioning.at: + Convert to upright quotes. + +2012-10-21 Gary V. Vaughan + + tests: remove spurious shell variable braces. + + * tests/testsuite.at: Allow the shell braces syntax check to pass + again. + +2012-10-21 Gary V. Vaughan + + bootstrap: add missing bootstrap override module file. + + * gl/modules/bootstrap: Forgot to add this file in a previous + commit. + +2012-10-21 Gary V. Vaughan + + bootstrap: allow bootstrap.texi to pass syntax-check. + + * cfg.mk (sc_require_function_nl_brace): Skip texi files. + * gl/doc/bootstrap.texi: Fix assorted syntax-check violations. + +2012-10-21 Gary V. Vaughan + + bootstrap: move into local gl overrides directory. + + In order to work as if it were already adopted by upstream + gnulib, put bootstrap and supporting scripts into the local + gnulib overrides directory. + * bootstrap, build-aux/extract-trace, build-aux/funclib.sh, + build-aux/inline-source, build-aux/options-parser: Move from + here... + * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, + gl/build-aux/funclib.sh, gl/build-aux/inline-source, + gl/build-aux/options-parser: ...to here. + * gl/build-aux/options-parser (func_version): Show only the + first copyright notice on files generated with inline-source. + * gl/doc/bootstrap.texi: Developer documentation for bootstrap. + * gl/modules/extract-trace, gl/modules/funclib.sh, + gl/modules/inline-source, gl/modules/options-parser: Describe + dependencies for gnulib-tool. + * bootstrap.conf (gnulib_modules): Add extract-trace, + inline-source and options-parser modules. + * bootstrap: Regenerated from gnulib overrides as a mono- + lithic script file using gl/build-aux/inline-source. + +2012-10-20 Gary V. Vaughan + + tests: make sure AC_CONFIG_MACRO_DIR is still supported. + + * tests/old-m4-iface.at (AC_CONFIG_MACRO_DIR support): New test. + Make sure we continue to support AC_CONFIG_MACRO_DIR using + projects. + +2012-10-20 Gary V. Vaughan + + libtoolize: select the first directory from AC_CONFIG_MACRO_DIRS. + + * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIRS directories): + New test to ensure multiple directory arguments mork correctly. + * libtoolize.in (func_require_ac_macro_dir): Use expr to discard + any additional space delimited entries in the first + AC_CONFIG_MACRO_DIRS argument. + * bootstrap (func_require_macro_dir): Likewise. + +2012-10-20 Gary V. Vaughan + + libtoolize: migrate to new AC_CONFIG_MACRO_DIRS api. + + * libtoolize.in (func_install_pkgmacro_files): Uee + AC_CONFIG_MACRO_DIRS. + (func_check_macros): Advise using AC_CONFIG_MACRO_DIRS. + (require_ac_macro_dir): Give priority to AC_CONFIG_MACRO_DIRS. + (require_macro_dir): Likewise. + * bootstrap: Give priority to AC_CONFIG_MACRO_DIRS. + * configure.ac: Define dummy AC_CONFIG_MACRO_DIRS for older + Autotools, that is allow bootstrap with current release versions. + Use AC_CONFIG_MACRO_DIRS instead of AC_CONFIG_MACRO_DIR. + * tests/testsuite.at: Source build-aux/extract-trace for access + to func_extract_trace. + (LT_AT_ACLOCAL): Use it to get the AC_CONFIG_MACRO_DIRS argument + to pass manually to aclocal for compatibility with old Automake. + Add a fallback AC_CONFIG_MACRO_DIRS definition to acinclude.m4 + in the test directory. + (LT_AT_AUTORECONF): Likewise. + * tests/cdemo.at, tests/configure-iface.at, tests/darwin.at, + tests/demo.at, tests/depdemo.at, tests/early-libtool.at, + tests/libtoolize.at, tests/mdemo.at, tests/no-executables.at, + tests/nonrecursive.at, tests/old-ltdl-iface.at, + tests/recursive.at, tests/subproject.at, tests/tagdemo.at, + tests/template.at: Likewise. + * doc/libtool.texi: Update. + * NEWS: Update. + +2012-10-19 Peter Rosin + + libtool: parse "dumpbin -headers" to get symbols exported from implibs + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [MSVC]: Extract symbols + imported from DLLs by import libraries in the Microsoft dumpbin + wrapper. + (LT_PATH_NM): Add -headers option if dumpbin is the located name + lister to feed the above new code. + * NEWS: Update. + +2012-10-19 Peter Rosin + + libtool: make func_win32_libid work when the name lister is MS dumpbin + + * m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [MSVC]: Use + func_win32_libid as file_magic_cmd when the name lister + is MS dumpbin. + (_LT_CMD_GLOBAL_SYMBOLS): Export the new veriable nm_interface + to the libtool script. + * build-aux/ltmain.in (func_cygming_gnu_implib_p) + (func_cygming_ms_implib_p): Move up to before... + (func_win32_libid): ...which now uses them to determine if + the object is an import library when the nm_interface is + "MS dumpbin". + * NEWS: Update. + +2012-10-19 Gary V. Vaughan + + bootstrap: always extract only the first AC_CONFIG_MACRO_DIR arg. + + Previous versions of bootstrap concatenated all the arguments to + multiple invocations of AC_CONFIG_MACRO_DIR when extracting the + macro_dir directory name. This change enforces correct and + consistent behaviour. + * libtoolize.in (func_require_macro_dir): Use the new + func_extract_trace_first function to make sure the first argument + is always used. + (func_require_aux_dir, func_require_gnulib_mk) + (func_require_source_base): Future proof these functions against + multiple invocations or additional arguments to the macros they + trace. + +2012-10-19 Gary V. Vaughan + + bootstrap: extract *first* ACLOCAL_AMFLAGS -I argument. + + * bootstrap (func_require_macro_dir): .* is greedy, so _G_sed_scan + as it was will always return the last -I argument, which is wrong. + Move to a shell loop to ensure we always get the first -I argument + if any. (code from libtoolize.in). + +2012-10-19 Gary V. Vaughan + + bootstrap: use short gnu.org urls consistently. + + * bootstrap.conf (buildreq): Use gnu.org/s/ style urls to match + the ones added automatically by the main bootstrap script. + +2012-10-19 Gary V. Vaughan + + libtoolize: fix a misspelled variable name. + + * libtoolize.in (func_require_am_macro_dir): The loop uses _G_arg + not _G_opt. Now spelled correctly. + +2012-10-19 Gary V. Vaughan + + tests: always extract only the first AC_CONFIG_MACRO_DIR arg. + + Previous releases of libtoolize used the final invocation when + there were several, and after the rewrite over extract-trace, + all the invocation directories were concatenated. This change + enforces correct and consistent behaviour. + * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIR invocation): + New test. + * build-aux/extract-trace (func_extract_trace_first): New function + for clients that source this file, which returns only the first + argument to the first invocation of the named macros. + * libtoolize.in (func_require_ac_macro_dir): Use it to make sure + the first argument is always used. + (func_require_ac_aux_dir, func_require_ac_ltdl_dir) + (func_require_ac_ltdl_options): Future proof these functions against + multiple invocations or additional arguments to the macros they + trace. + * News (Important incompatible changes): Note change in semantics. + Reported by Eric Blake. + +2012-10-19 Gary V. Vaughan + + tests: always extract only the first ACLOCAL_AMFLAGS include arg. + + * tests/libtoolize.at (libtoolize ACLOCAL_AMFLAGS extraction): + New test. + * libtoolize.in (func_check_macros): Display the correct advice + when ACLOCAL_AMFLAGS specifies a macrodir, but AC_CONFIG_MACRO_DIR + does not. + +2012-10-19 Gary V. Vaughan + + doc: add a missing period following @xref. + + * doc/libtool.texi: Silence a warning by adding back a missing + period. + +2012-10-19 Peter Rosin + + libtool: avoid non-underscore symbols in the "dumpbin -symbols" wrapper + + If an object has a symbol lacking an expected leading underscore, + the symbol name is not printed, but the symbol type is, leading + to output such as: + T _normal _normal + T T _another _another + when the expected output would have been something like: + T _normal _normal + T no_underscore no_underscore + T _another _another + However, symbols lacking an expected leading underscore are + not "real" symbols, they are internal symbols which we don't + care about, therefore drop them instead. + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [MSVC]: Output the whole + symbol line in one go. + * NEWS: Update. + +2012-10-18 Peter Rosin + + libtool: unbreak Windows path quoting + + The lt_sed_naive_backslashify variable lost its lt_ prefix + when m4sh was dropped. But not everywhere. + * build-aux/ltmain.in (func_convert_core_file_wine_to_w32) + (func_convert_core_msys_to_w32): Drop the lt_ prefix from + the lt_sed_naive_backslashify variable. + +2012-10-18 Peter Rosin + + libtool: kill leftover m4 quoting + + * build-aux/ltmain.in (func_mode_compile): Use literal ] and [. + +2012-10-18 Gary V. Vaughan + + syntax-check: exclude false positive nested quote test. + + * build-aux/funclib.sh (func_echo_infix_1): These quotes are not + actually nested, so add an exclude marker for the syntax-check. + +2012-10-18 Gary V. Vaughan + + libtool: don't set auxscriptsdir at bootstrap time. + + * build-aux/ltmain.in: Declare relative paths to aux scripts from + source commands, for early inlining during bootstrap. + * Makefile.am (bootstrap_edit): Move auxscriptsdir + substitution from here.... + (configure_edit): ...to here. + ($(ltmain_sh)): Feed ltmain.in through inline-source as ltmain.sh + is generated to remove relative paths to aux scripts. + (install-data-local): Simplify. No need for special treatment for + ltmain.sh during installation, since aux scripts have already + been inlined. + Reported by Peter Rosin. + +2012-10-18 Gary V. Vaughan + + extract-trace: only source funclib.sh when $progname is extract-trace. + + * build-aux/extract-trace: $usage is too generic, and can cause + sourced extract-trace to re-source options-parser. We already + require that funclib.sh be sourced before sourcing options-parser, + so it's safer to check that $progname is correct before sourcing + options-parser again from here. + +2012-10-18 Peter Rosin + + libtool: fix spelling nit + + * build-aux/ltmain.in (func_generate_dlsyms): Fix spelling nit. + * libltdl/libltdl/lt_system.h: Likewise. + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise. + +2012-10-12 Gary V. Vaughan + + maint: remove m4sh support. + + Now that the code base has coalesced around a single option + parser, there's no need for the unused getopt.m4sh and support. + * build-aux/getopt.m4sh, build-aux/general.m4sh, + tests/getopt-m4sh.at: Remove. + * Makefile.am (m4sh_dir, LT_M4SH, general_m4sh, getopt_m4sh) + (sh_files): Remove. + (TESTSUITE_AT): Remove tests/getopt-m4sh.at. + (TESTS_ENVIRONMENT): Remove M4SH. + * bootstrap.conf (libtool_build_prerequisites): Remove M4SH. + * configure.ac (M4SH): Remove. + * HACKING (Editing `.m4sh' Files): Remove and renumber following + sections. + +2012-10-12 Gary V. Vaughan + + libtool: rewritten over funclib.sh instead of general.m4sh. + + * Makefile.am (ltmain_m4sh, ltmain_sh_edit): Remove. + (ltmain_in): Path to ltmain.in. + (ltmain_sh): Generate ltmain.sh from ltmain.in using + $(bootstrap_edit). + * build-aux/ltmain.m4sh: Remove. + * build-aux/ltmain.in: Rewritten as a client of funclib.sh. + +2012-10-12 Gary V. Vaughan + + libtoolize: inline sourced helper scripts during install. + + * build-aux/inline-source: New file. + * Makefile.am (inline_source): Path to inline-source script. + (EXTRA_DIST): Distribute inline-source too. + (helper_scripts): Remove. + (install-data-local): Inline sourced helper scripts during + installation. + Don't install helper_scripts. + (uninstall-hook): Don't uninstall helper_scripts. + +2012-10-12 Gary V. Vaughan + + libtoolize: rewritten over funclib.sh instead of general.m4sh. + + * Makefile.am (libtoolize_m4sh): Remove. + (EXTRA_DIST): Delete libtoolize_m4sh. + (libtoolize_in): Remove rule. + (libtoolize): Apply bootstrap_edit to libtoolize.in too. + * configure.ac (AC_CONFIG_SRCDIR): Refer to libtoolize.in. + * libtoolize.m4sh: Remove. + * libtoolize.in: Rewrite as a client of options-parser and the + new funclib.sh, avoiding the m4sh expansion step. + * tests/libtoolize.at, tests/old-ltdl-iface.at (experr): adjust + to match funclib.sh error output. + +2012-10-12 Gary V. Vaughan + + options-parser: correctly quote shell meta-characters in arguments. + + When any argument contains a shell meta-character, it needs to be + quoted when passed around. We already pass parameter lists as + space delimited strings of arguments, and pass the string through + eval to turn it back into a list before re-assigning using `set'. + To prevent the shell from interpreting any meta-characters during + an `eval set dummy $argumentlist', they must be quoted again + inside the quoted argument list. + * build-aux/funclib.sh (func_quote_for_eval): Be careful to keep + a separate tally of quoted and unquoted argument lists, to + conform to the API of the single argument func_quote_for_eval + implementation in build-aux/general.m4sh. + * bulid-aux/options-parser (func_run_hooks): To account for the + doubly quoted meta-character argument lists, we must eval the + parameter reassignment `set' call separately from evaluating the + dynamically named hook results variable. + +2012-10-12 Gary V. Vaughan + + maint: factor common shell code into build-aux/funclib.sh. + + Moving potentially reusable code into a common file that can + be sourced by clients, and adjusting for impedance mismatch + or necessary renames during integration. + * build-aux/funclib.sh: New file. + * build-aux/options-parser (Shell normalisation) + (User overrideable command paths, Global variables, func_append) + (require_term_colors, func_echo, func_echo_infix_1, func_warn) + (func_error, func_fatal_error, func_quote_for_eval, func_verbose): + Move from here... + * build-aux/funclib.sh (Shell normalisation, User overrideable + command paths, Global variables, func_append) + (require_term_colors, func_echo, func_echo_infix_1) + (func_warn_and_continue, func_error, func_fatal_error) + (func_quote_for_eval, func_verbose): ...to here. + * build-aux/general.m4sh (func_arith, func_basename) + (func_dirname, func_dirname_and_basename, func_echo_all) + (func_grep, func_len, func_mkdir_p, func_mktempdir) + (func_normal_abspath, func_relative_path, func_quote_for_expand) + (func_stripname, func_show_eval, func_tr_sh): Move from here... + * build-aux/funclib.sh(func_arith, func_basename) + (func_dirname, func_dirname_and_basename, func_echo_all) + (func_grep, func_len, func_mkdir_p, func_mktempdir) + (func_normal_abspath, func_relative_path, func_quote_for_expand) + (func_stripname, func_show_eval, func_tr_sh): ...to here. + * bootstrap (usage message): Document `-no-warn' option. + (func_append_u, func_warning): Move from here... + * build-aux/funclib.sh (func_append_uniq, func_warning): ...to + here. + * bootstrap, build-aux/extract-trace: Source build-aux/funclib.sh + before build-aux/options-parser. + * build-aux/options-parser (usage, long_help_message): Set + default values to match what is parsed by the unmodified parser. + * build-aux/extract-trace (usage, long_help_message): Only set + from func_main, so that clients sourcing this file can still use + the correct defaults from build-aux/options-parser. + * bootstrap (bootstrap_options_prep, bootstrap_parse_options): + Move warning option parsing from here... + * build-aux/option-parser (func_options_prep) + (func_parse_options): ...to here, where all clients can benefit. + * Makefile.am (funclib_sh): New macro; path to funclib.sh. + (EXTRA_DIST): Add $(funclib_sh). + +2012-10-12 Gary V. Vaughan + + libtoolize: source extract-trace rather than fork and execute each call. + + Rather than forking and executing a full $SHELL for each macro + extraction, source the script and its dependencies into our + execution space and use the provided func_extract_trace API. + * libtoolize.m4sh: Source extract-trace from an appropriate + directory determined presently by make. + (func_extract_trace): Remove this wrapper. + * Makefile.am (abs_aux_dir): Absolute path to extract-trace + directory. + (configure_edit): Inject abs_aux_dir into uninstalled libtoolize. + (bin_SCRIPTS): Remove libtoolize. + (uninstall-hook): Manually uninstall libtoolize. + (install-data-local): Inject pkgauxdir into installed libtoolize + during installation. + +2012-10-12 Gary V. Vaughan + + options-parser: employ fork minimisation. + + * build-aux/options-parser (_G_HAVE_XSI_OPS): Environment + overrideable defaults for bash and zsh, which are known to + support XSI extensions. + (_G_HAVE_PLUSEQ_OP): Similarly for new enough versions of bash, + which are known to have += support. + (func_append): Only perform the shell += probe when state of + support is unknown. + (func_split_equals, func_split_short_opt): Similarly for XSI + probe to select fastest working implementation. + +2012-10-12 Gary V. Vaughan + + options-parser: keep non-option arguments separate! + + * build-aux/options-parser (func_parse_options): When there is + more than one non-option argument, "$*" forces all of them into + a single string. Use ${1+"$@"} to set arguments correctly. + +2012-10-12 Gary V. Vaughan + + options-parser: prefix usage message with "Usage: ". + + * build-aux/options-parser (func_usage_message): Prefix usage + message with "Usage: ". + +2012-10-12 Gary V. Vaughan + + bootstrap: work when using fallback shallow gnulib clone. + + Bootstrapping without --gnulib-srcdir creates a shallow gnulib + clone to run gnulib-tool out of, except that the parent package + is almost certainly using a revision of gnulib before just tha + most recent 2 gnulib revisions. + * bootstrap (func_require_gnulib_submodule): Pull the most + recent 365 revisions, which ought to be enough for a well- + maintained parent package. + Don't forget to run 'git submodule update' to select the correct + gnulib revision. + +2012-10-12 Gary V. Vaughan + + bootstrap: require GNU make to bootstrap. + + Make is not installed by default in some environments, such as + cygwin... which is slow enough already without having to wait + for gnulib-tool, bootstrap and half of configure to complete + before getting an error. + * bootstrap.conf (buildreq): Add recent GNU make to bootstrap + requirements. Now missing make is diagnosed in the earliest + part of bootstrap. + +2012-10-12 Gary V. Vaughan + + maint: simplify "Local variables:" footer with time-stamp-pattern. + + * bootstrap, build-aux/extract-trace, build-aux/options-parser + (Local variables): Use time-stamp-pattern to set number of + searched lines to 10, and to replace time-stamp-start, + time-stamp-end and time-stamp-format. + +2012-10-08 Peter Rosin + + tests: skip the with-pic test only if DLL_EXPORT is defined + For some systems with PIC as default, the test was inadvertently + skipped. Issue introduced in commit 4440d65. + * tests/with-pic.at: Skip the test for systems that define + DLL_EXPORT. + Reported by Roumen Petrov. + + tests: rerefix line ending problems on MinGW. + The previous commit broke Linux->MinGW cross-compiling. + * tests/mdemo.at: Normalize line endings after $EGREP. + Reported by Roumen Petrov. + +2012-10-06 Peter Rosin + + tests: refix line ending problems on MinGW. + In commit 22f5750, one of the hunks actually introduced + line ending problems. Revert that hunk. + * tests/mdemo.at: Use AT_DATA for expected output when the + output from compiled programs is fed through $EGREP. + + tests: use dry runs in both parts of 'check link mode operation' + MSVC exits with status 2 instead of the expected 1 when a + real link is attempted. + * tests/libtool.at (check link mode operation): Use a dry run and + expect a clean exit status instead of expecting a fail. + +2012-10-06 Gary V. Vaughan + + tests: sanitise the libtool quote checking Autotests. + + Carefully comment the maze of quoting and escaping needed to + pass through M4, $SHELL, and grep before regexp matching. + * tests/libtool.at (quote shell meta-characters in filenames): + Split backslash into a separate test group, because it needs + additional escaping. + Use grep consistently for the entire test group. + Use AT_CHECK rather than LT_AT_CHECK to avoid problems with + escaping literal $ correctly with LT_ESCAPE. + Use the correct number of backslashes for each sub-group. + Escape double-quote literals portably. + Reported by Peter Rosin. + +2012-10-06 Gary V. Vaughan + + tests: ensure mdemo.at doesn't rely on installed libltdl. + + * tests/mdemo.at (configuer.ac): Build an included convenience + libltdl. + (Makefile.am): Add subdir-objects. + Remove override rules from legacy mdemo tests to reuse parent + libltdlc.la. + (LT_AT_CHECK_CONFIG): Add --with-included-ltdl to configure + arguments so that test cases always use the subproject libltdl + in preference to any installed libltdl. + Reported by Peter Rosin. + +2012-10-06 Gary V. Vaughan + + tests: allow for unstable fortran output ordering. + + Due to differences in line-endings between C stdout and Fortran + stdout, as well as unpredictable output ordering between + platforms and runtimes, weaken success criteria to not require + the entire output of fortran programs to match a test case. + * itests/fcdemo.at, tests/f77demo.at (_LT_CHECK_EXECUTE): + Improve comments, and weaken test case to grep for a known line + in the f77 runtime output. + +2012-10-05 Peter Rosin + + tests: make LT_AT_HOST_DATA retain whitespace on MinGW + Fixes issues with depdemo.at, f77demo.at and fcdemo.at. + * tests/testsuite.at (LT_AT_HOST_DATA) [MinGW]: Keep leading + and trailing spaces and tabs when converting line endings. + +2012-10-05 Peter Rosin + + tests: fix line ending problems on MinGW + + * tests/cdemo.at: Use LT_AT_HOST_DATA for expected output from + compiled programs. + * tests/demo.at: Likewise. + * tests/depdemo.at: Likewise. + * tests/f77demo.at: Likewise. + * tests/fcdemo.at: Likewise. + * tests/mdemo.at: Likewise. + * tests/tagdemo.at: Likewise. + +2012-10-05 Gary V. Vaughan + + tests: remove last vestiges of the legacy test harness. + + All legacy tests have been fully migrated to Autotest, so + no need to cling to the legacy scaffolding any more. + * tests/defs.m4sh: Delete file. + * configure.ac (AM_INIT_AUTOMAKE): Remove unused color-tests and + parallel-tests options. + * Makefile.am (defs_m4sh, defs_in, defs, TESTS): Remove. + Adjust all dependencies. + +2012-10-05 Gary V. Vaughan + + tests: migrate legacy tagtrace.test to Autotest. + + * tests/tagtrace.test: Delete file. + * tests/libtool.at (test LT_SUPPORTED_TAG interface): Add + Autotest equivalent. + * Makefile.am (TESTS): Remove tests/tagtrace.test. + +2012-10-05 Gary V. Vaughan + + tests: migrate legacy objectlist.test to Autotest. + + * tests/objectlist.test: Delete file. + * tests/libtool.at (check objectlist file operation): Add + Autotest equivalent. + * Makefile.am (TESTS): Remove tests/objectlist.test. + +2012-10-05 Gary V. Vaughan + + tests: migrate legacy link.test and link-2.test to Autotest. + + * tests/link.test, tests/link-2.test: Delete files. + * tests/libtool.at (Check link operation): Add Autotest + equivalent. + * Makefile.am (TESTS): Remove tests/link.test and + tests/link-2.test. + +2012-10-05 Gary V. Vaughan + + tests: migrate legacy nomode.test to Autotest. + + * tests/nomode.test: Delete file. + * test/libtool.at (Check help output, No mode diagnostic): Add + equivalent tests in Autotest. + * Makefile.am (TESTS): Remove tests/nomode.test. + +2012-10-05 Gary V. Vaughan + + tests: migrate legacy suffix.test to Autotest. + + * tests/suffix.test: Delete file. + * tests/libtool.at (Transform source suffices): Add Autotest + equivalent. + * Makefile.am (TESTS): Remove tests/suffix.test. + +2012-10-05 Gary V. Vaughan + + tests: migrate legacy quote.test to Autotest. + + * tests/quote.test: Moved from here... + * tests/libtool.at: ...to here, and updated to Autotest. + * Makefile.am (TESTS): Remove tests/quote.test. + (TESTSUITE_AT): Add tests/libtool.at. + +2012-10-04 Gary V. Vaughan + + maint: add missing 2012 copyright to newly pushed old files. + + * tests/cdemo.at, tests/demo.at, tests/depdemo.at, + tests/f77demo.at, tests/fcdemo.at, tests/mdemo.at, + tests/tagdemo.at (Copyright): Update with missing 2012. + +2012-10-04 Gary V. Vaughan + + syntax-check: remove test/demo directories from exemption regexps. + + * cfg.mk (exclude_file_name_regex--sc_bindtextdomain) + (exclude_file_name_regexp--sc_program_name): Remove. The excluded + directories no longer exist. + (exclude_file_name_regexp--sc_prohibit_strcmp): Remove subexpression + for matching removed demo directories. + +2012-10-04 Gary V. Vaughan + + configure: remove unused conditionals and support for order only rules. + + Clean up some more unused cruft. + * configure.ac (HAVE_CXX, HAVE_F77, HAVE_FC, HAVE_GCJ, HAVE_RC): + Remove. These were only used by the recently removed legacy + tests. + [order-only prerequisites]: Ditto. + +2012-10-04 Gary V. Vaughan + + bootstrap: remove support for `-r' and `reconf_dirs'. + + With all those extra demo directories out of the way, we can + revert to a more canonical bootstrap process, and jettison the + cruft that was only there to work around the pain of + needing to autoreconf 11 directories. Bootstrap is now an order + of magnitude faster. + * bootstrap.conf (require_ltdl_dir): New function. Factored out + of `libtool_build_prerequisites'. + (libtool_build_prerequisites): Adjust. + (func_reconfigure): Use `require_ltdl_dir' to determine the name + of the other directory we need to autoreconf during bootstrap. + (libtool_options_prep, libtool_parse_options) + (libtool_validate_options): Remove. + +2012-10-04 Gary V. Vaughan + + tests: let pic_flag and with-pic Autotests work on non-VPATH builds. + + * tests/pic_flag.at: Use _LT_DEMO_SETUP to generate a demo style + project, rather than relying on $abs_top_srcdir/configure. + * tests/with-pic.at: Likewise. + * Makefile.am (TESTSUITE_AT): Move tests/pic_flag.at and + tests/with-pic.at so that they run immediately following + tests/demo.at. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/fcdemo tests to Autotest. + + Along with the demise of the last demo directory, so all the + cruft for re-autotooling and distributing the additional + directories is no longer necessary. + * tests/fcdemo.at: New autotest groups, based on... + * tests/fcdemo-conf.test, tests/fcdemo-exec.test, + tests/fcdemo-make.test, tests/fcdemo-shared-exec.test, + tests/fcdemo-shared-make.test, tests/fcdemo-shared.test, + tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, + tests/fcdemo-static.test: ...these legacy tests, now removed. + * tests/fcdemo/Makefile.am, tests/fcdemo/README, + tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, + tests/fcdemo/foo.h, tests/fcdemo/fooc.c, tests/fcdemo/foof.f90, + tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, + tests/fcdemo/fprogram.f90: Remove. + * configure.ac (CONF_SUBDIRS, DIST_MAKEFILE_LIST): Remove. + * Makefile.am (DIST_SUBDIRS, FC_TESTS, clean-local-legacy) + (configure-subdirs, distclean-recursive, distdir) + (fake-distclean-legacy, $(DIST_MAKEFILE_LIST)): Remove. + (COMMON_TESTS): Rename from this... + (TESTS): ...to this. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/f77demo tests to Autotest. + + * tests/f77demo.at: New autotest groups, based on... + * tests/f77demo-conf.test, tests/f77demo-exec.test, + tests/f77demo-make.test, tests/f77demo-shared-exec.test, + tests/f77demo-shared-make.test, tests/f77demo-shared.test, + tests/f77demo-static-exec.test, tests/f77demo-static-make.test, + tests/f77demo-static.test: ...these legacy tests, now removed. + * tests/f77demo/Makefile.am, tests/f77demo/README, + tests/f77demo/configure.ac, tests/f77demo/cprogram.c, + tests/f77demo/foo.h, tests/f77demo/fooc.c, tests/f77demo/foof.f, + tests/f77demo/foof2.f, tests/f77demo/foof3.f, + tests/f77demo/fprogram.f: Remove. + * configure.ac (CONF_SUBDIRS): Remove tests/f77demo. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/mdemo2 tests to Autotest. + + This test was just a small non-ltdl aware library to load a + library from the legacy mdemo test, which in turn used ltdl to + call functions from modules. No need to create a whole other + test group with copies of everything from mdemo setup - just + tack the additional test on the end of the mdemo group. + * tests/mdemo.at (link with library that loads ltdl modules): + New test, based on... + * tests/mdemo2-conf.test, tests/mdemo-exec.test, + tests/mdemo-make.test: ...these legacy tests, now removed. + * tests/mdemo2/Makefile.am, tests/mdemo2/README, + tests/mdemo2/configure.ac, tests/mdemo2/main.c: Remove. + * configure.ac (CONF_SUBDIRS): Remove tests/mdemo2. + * Makefile.am: Adjust. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/mdemo tests to Autotest. + + * tests/mdemo.at: New autotest groups, based on... + * tests/mdemo-conf.test, tests/mdemo-dryrun.test, + tests/mdemo-exec.test, tests/mdemo-inst.test, + tests/mdemo-make.test, tests/mdemo-shared-exec.test, + tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, + tests/mdemo-shared-unst.test, tests/mdemo-shared.test, + tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, + tests/mdemo-static-make.test, tests/mdemo-static-unst.test, + tests/mdemo-static.test, tests/mdemo-unst.test: ...these legacy + tests, now removed. + * tests/mdemo/Makefile.am, tests/mdemo/README, + tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c, + tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c, + tests/mdemo/sub.c: Remove. + * configure.ac (CONF_SUBDIRS): Remove tests/mdemo. + * Makefile.am: Adjust. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/pdemo tests to Autotest. + + This test was a thinly veiled copy of the basic legacy + demo-conf.test series, with the addition of long file names that + are not unique in the first 17 characters of their name, mashed + up with the cmdline_wrap.at max_cmd_len limits. Migrating to + Autotest means that this test will be automatically rerun with + max_cmd_len=24 as cmdline_wrap.at recurses through the whole + testsuite, so the migrated pdemo test is now simply another test + case in demo.at with longer file names. + * test/demo.at (linking with long file names): New test, based + on... + * tests/pdemo-conf.test, tests/pdemo-exec.test, + tests/pdemo-inst.test, tests/pdemo-make.test: ...these legacy + tests, now removed. + * tests/pdemo/Makefile.am, tests/pdemo/configure.ac, + tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c, + tests/pdemo/longer_file_name_foo.c, + tests/pdemo/longer_file_name_foo2.c, + tests/pdemo/longer_file_name_hell1.c, + tests/pdemo/longer_file_name_hell2.c, + tests/pdemo/longer_file_name_hello.c, + tests/pdemo/longer_file_name_main.c: Remove. + * configure.ac (CONF_SUBDIRS): Remove tests/pdemo. + * Makefile.am: Adjust. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/tagdemo tests to Autotest. + + * tests/tagdemo.at: New autotest groups, based on... + tests/tagdemo-conf.test, tests/tagdemo-exec.test, + tests/tagdemo-make.test, tests/tagdemo-shared-exec.test, + tests/tagdemo-shared-make.test, tests/tagdemo-shared.test, + tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, + tests/tagdemo-static.test, tests/tagdemo-undef-exec.test, + tests/tagdemo-undef-make.test, tests/tagdemo-undef.test: + ...these legacy tests, now removed. + * tests/tagdemo/.gitignore, tests/tagdemo/Makefile.am, + tests/tagdemo/README, tests/tagdemo/baz.cpp, + tests/tagdemo/baz.h, tests/tagdemo/configure.ac, + tests/tagdemo/conv.cpp, tests/tagdemo/conv.h, + tests/tagdemo/foo.cpp, tests/tagdemo/foo.h, + tests/tagdemo/main.cpp: Remove. + * configure.ac (CONF_SUBDIRS): Remove tests/tagdemo. + * Makefile.am: Adjust. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/depdemo tests to Autotest. + + * tests/depdemo.at: New autotest groups, based on... + * tests/depdemo-conf.test, tests/depdemo-exec.test, + tests/depdemo-inst.test, tests/depdemo-make.test, + tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, + tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, + tests/depdemo-nofast.test, tests/depdemo-relink.test, + tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, + tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, + tests/depdemo-shared.test, tests/depdemo-static-exec.test, + tests/depdemo-static-inst.test, tests/depdemo-static-make.test, + tests/depdemo-static-unst.test, tests/depdemo-static.test, + tests/depdemo-unst.test: ...these legacy test cases, now + removed. + * tests/depdemo/Makefile.am, tests/depdemo/README, + tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am, + tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h, + tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c, + tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am, + tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h, + tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c, + tests/depdemo/l4/l4.h, tests/depdemo/main.c, + tests/depdemo/sysdep.h: Remove. + * configure.ac (CONF_SUBDIRS): Remove tests/depdemo. + * Makefile.am: Adjust. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/demo tests to Autotest. + + * tests/demo.at: New autotest groups, based on... + * tests/demo-conf.test, tests/demo-deplibs.test, + tests/demo-exec.test, tests/demo-hardcode.test, + tests/demo-inst.test, tests/demo-make.test, + tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, + tests/demo-nofast-make.test, tests/demo-nofast-unst.test, + tests/demo-nofast.test, tests/demo-noinst-link.test, + tests/demo-nopic-exec.test, tests/demo-nopic-make.test, + tests/demo-nopic.test, tests/demo-pic-exec.test, + tests/demo-pic-make.test, tests/demo-pic.test, + tests/demo-relink.test, tests/demo-shared-exec.test, + tests/demo-shared-inst.test, tests/demo-shared-make.test, + tests/demo-shared-unst.test, tests/demo-shared.test, + tests/demo-static-exec.test, tests/demo-static-inst.test, + tests/demo-static-make.test, tests/demo-static-unst.test, + tests/demo-static.test, tests/demo-unst.test: ...these legacy + test cases, now removed. + * tests/demo/Makefile.am, tests/demo/README, + tests/demo/configure.ac, tests/demo/dlmain.c, tests/demo/foo.c, + tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c, + tests/demo/hello.c, tests/demo/main.c: Remove. + * configure.ac (CONF_SUBDIRS): Remove tests/demo. + * Makefile.am: Adjust. + +2012-10-04 Gary V. Vaughan + + tests: migrate legacy tests/cdemo tests to Autotest. + + * tests/cdemo.at: New Autotest groups, based on... + * tests/cdemo-conf.test, tests/cdemo-exec.test, + tests/cdemo-make.test, tests/cdemo-shared-exec.test, + tests/cdemo-shared-make.test, tests/cdemo-shared.test, + tests/cdemo-static-exec.test, tests/cdemo-static-make.test, + tests/cdemo-static.test, tests/cdemo-undef-exec.test, + tests/cdemo-undef-make.test, tests/cdemo-undef.test: ...these + legacy test cases, now removed. + tests/cdemo/Makefile.am, tests/cdemo/README, + tests/cdemo/configure.ac, tests/cdemo/foo.c, tests/cdemo/foo.h, + tests/cdemo/main.c: Remove. + * configure.ac (CONF_SUBDIRS): Remove tests/cdemo. + * Makefile.am: Adjust. + +2012-10-04 Gary V. Vaughan + + maint: distribute a single ChangeLog file. + + * ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, ChangeLog.1999, + ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, + ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, ChangeLog.2007, + ChangeLog.2008, ChangeLog.2009, ChangeLog.2010: Remove. Content + moved from here... + * ChangeLog.old: ...to here. + * Makefile.am (EXTRA_DIST): Update list of ChangeLog files. + (changelog_old): New variable to hold path to ChangeLog.old file. + ($(changelog)): Update to concatenate non-distributed + ChangeLog.old file to distributed ChangeLog after git log entries. + +2012-10-04 Gary V. Vaughan + + syntax-check: fix violations and implement sc_prohibit_space_semicolon. + + No need for a spurious space before a command ending semi-colon. + * cfg.mk (sc_prohibit_space_semicolon): New test to catch + accidental reintroduction of spurious spaces removed by this + changeset. + * bootstrap, build-aux/general.m4sh, build-aux/ltmain.m4sh, + libltdl/lt__strl.c, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at: + Remove spurious spaces. + +2012-10-03 Gary V. Vaughan + + Merge branch 'gary/reredo-test-operand-order' + The original manually applied changeset 962aa91 contained several + errors (some corrected by subsequent patches on master, others not) + and many unrelated (although in this case, correct) changes were also + committed in the same changeset. + The merged branch gary/reredo-test-operand-order factors the + unrelated changes out into separate commits, and performs the work + that should have been in 962aa91 with a script, the results of which + were then painstakingly inspected for errors. + This merge moves the corrections for errors made in the original + manual patch from the branch onto master. Please inspect the many + separate changesets on the branch rather than the original patch + when you bisect or otherwise find your way to an error caused by + 962aa91. + +2012-10-02 Gary V. Vaughan + + tests: simplify some shell code. + + * tests/fail.at: Simplify. + * tests/static.at: Likewise. + +2012-10-02 Gary V. Vaughan + + libtool: unroll complex nested compound statements + + * build-aux/ltmain.m4sh: Use an if statement instead of ugified + compound statements. + +2012-10-02 Gary V. Vaughan + + libtool: unroll nested if into a single case statement. + + * build-aux/ltmain.m4sh (func_mode_link): Unroll a hard to + understad nested if statement into a more readable single case + statement. + +2012-10-02 Gary V. Vaughan + + libtool: simplify $skipped_export blocks + + * build-aux/ltmain.m4sh (func_mode_link): Save an if statement + with '$skipped_export && { block; }' instead of 'if $skipped_export; + then block; fi'. + +2012-10-02 Gary V. Vaughan + + libtool: simplify an if statement + + * build-aux/ltmain.m4sh (func_mode_link): Reverse the branch + order for an if statement for readability. + * m4/libtool.m4: Likewise. + +2012-10-02 Gary V. Vaughan + + libtool: save an if statement, with a compound statement. + + * build-aux/ltmain.m4sh (func_mode_link): Simplify. + +2012-10-02 Gary V. Vaughan + + libtool: simplify multiple string tests + + * build-aux/ltmain.m4sh (func_mode_link): Save test invocations + by using 'test x,y = "$a,$b"' instead of 'test x = "$a" && test y + = "$b"'. + * m4/libtool.m4: Likewise. + +2012-10-02 Gary V. Vaughan + + libtool: fold if into a compound OR statement when more readable + + * build-aux/ltmain.m4sh (func_mode_link): For readability, use + 'test string = "$var" || { stuff; }' in preference to + 'if test string != "$var"; then stuff; fi'. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $rmforce, and simplify + + * build-aux/ltmain.m4sh (func_mode_uninstall): Save a string + comparison by setting $rmforce to false or : and using it + directly as the first argument to if. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $wrappers_required, and simplify + + * build-aux/ltmain.m4sh (func_mode_link): Save a string + comparison by setting $wrappers_required to false or : and using + it directly with a ored block rather than an if statement. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $linkalldeplibs, and simplify + + * build-aux/ltmain.m4sh (func_mode_link): Save a string + comparison by setting $linkalldeplibs to false or : and using it + directly as the first argument to if. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $valid_a_lib, and simplify + + * build-aux/ltmain.m4sh (func_mode_link): Save a string + comparison by setting $valid_a_lib to false or : and using it + directly as the first argument to if. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $found, and simplify + + * build-aux/ltmain.m4sh (func_mode_link): Save a string + comparison by setting $found to false or : and using it directly + as the first argument to if. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $alldeplibs, and simplify + + * build-aux/ltmain.m4sh (func_mode_link): Save a string + comparison by setting $alldeplibs to false or : and using it + directly as the first argument to if. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $preload, and simplify + + * build-aux/ltmain.m4sh (func_mode_link): Save a string + comparison by setting $preload to false or : and using it directly + instead of if statements. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $my_pic_p, and simplify + + * build-aux/ltmain.m4sh (func_generate_dlsyms): Save a string + comparison by setting $my_pic_p to false or : and using it directly + instead of calling if. + Adjust all callers. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $finalize, and simplify + + * build-aux/ltmain.m4sh (func_mode_install): Save a string + comparison by setting $finalize to false or : and using it + directly as the first argument to if. + +2012-10-02 Gary V. Vaughan + + libtool: use false or : for $isdir, and simplify + + * build-aux/ltmain.m4sh (func_mode_install): Save a string + comparison by setting $isdir to false or : and using it directly + as the first argument to if. + +2012-10-02 Gary V. Vaughan + + syntax-check: [REDO] fix violations and implement + sc_prohibit_test_const_follows_var. + + To safely use a non-literal fist argument to 'test', you must + always prepend a literal non-'-' character, but often the second + operand is a constant that doesn't begin with a '-' already, so + always use 'test a = "$b"' instead of the noisy 'test "X$b" = Xa'. + * cf.mk (sc_prohibit_test_const_follws_var): New syntax-check + rule to ensure we don't reintroduce noisy test operands. + bootstrap, build-aux/extract-trace, build-aux/general.m4sh, + build-aux/ltmain.m4sh, configure.ac, doc/libtool.texi, libtoolize.m4sh, + m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at, tests/defs.m4sh, + tests/demo-relink.test, tests/demo/configure.ac, + tests/depdemo-relink.test, tests/destdir.at, tests/duplicate_conv.at, + tests/fail.at, tests/getopt-m4sh.at, tests/help.at, tests/libtoolize.at, + tests/link-2.test, tests/link-order2.at, tests/lt_dlopenext.at, + tests/mdemo/configure.ac, tests/mdemo2/configure.ac, + tests/need_lib_prefix.at, tests/nocase.at, tests/pdemo/configure.ac, + tests/pic_flag.at, tests/search-path.at, tests/shlibpath.at, + tests/static.at, tests/sysroot.at, tests/tagtrace.test, + tests/testsuite.at, tests/with-pic.at: Swap operands to avoid useless + noise. + +2012-09-19 Peter Rosin + + tests: skip with-pic test when no "real" pic flag is used. + + * tests/with-pic.at: Windows uses "-DDLL_EXPORT -DPIC" as the pic + "flag", but never applies it to static libraries. Cater for this + and skip if no "real" pic flag is in use. + +2012-09-16 Gary V. Vaughan + + syntax-check: fix texinfo formatting flagged by + prohibit_undesirable_word_seq. + + * doc/libtool.text: Fix several misuses of @xref and @pxref so that + the prohibit_undesirable_word_seq syntax check passes again. + +2012-09-16 Gary V. Vaughan + + syntax-check: remove useless_braces_in_variable_derefs. + + * build-aux/general.m4sh: Remove spurious braces around + ${ZSH_VERSION} dereference. + * build-aux/ltmain.m4sh (func_mode_link): Likewise for ${wl}. + +2012-09-16 Gary V. Vaughan + + syntax-check: skip prohibit_strncpy. + + * cfg.mk (local-checks-to-skip): sc_prohibit_strncpy. + +2012-09-16 Gary V. Vaughan + + syntax-check: skip prohibit_always_true_header_tests rule. + + * cfg.mk (local-checks-to-skip): Add + sc_prohibit_always_true_header_tests. + +2012-09-16 Gary V. Vaughan + + maint: Revert "bootstrap: delete unneeded README-release patch" + This reverts commit 11cd425e7d47111956381dba28f8c1b34e14653f. + These instructions are hard to find for new maintainers, so it's + good to keep them to hand with the release notes. + And the additional distchecks are important prior to a release. + +2012-09-16 Gary V. Vaughan + + maint: remove unused cvsu script. + + * build-aux/cvsu: Remove. This script is not useful now that + Libtool's repository is hosted in git. + * Makefile.am (build_scripts): Remove cvsu reference. + +2012-09-16 Gary V. Vaughan + + maint: run update-copyright for missing 2011 and 2012 years. + + See maintain.texi (Copyright Notices) for rules for maintaining + the years in copyright notices. + * All Files (Copyright): Updated with missing 2011 and 2012. + +2012-09-16 Gary V. Vaughan + + bootstrap: use gnulib update-copyright script. + + See maintain.texi (Copyright Notices) for rules for maintaining + the years in copyright notices. + * bootstrap.conf (gnulib_modules): Add update-copyright. + * cfg.mk (update-copyright-env): Set environment variables for + update-copyright script. + +2012-09-16 Gary V. Vaughan + + bootstrap: update bootstrap script to latest upstream. + + * bootstrap, build-aux/options-parser: apply upstream fixes and + enhancements. + +2012-09-16 Gary V. Vaughan + + git: don't complain about new parallel tests driver and file droppings. + + * build-aux/.gitignore: Ignore parallel `test-driver' script. + * tests/.gitignore: Ignore `test-driver' .trs file droppings. + +2012-09-16 Gary V. Vaughan + + gnulib: update local gnulib patches. + + * gl/build-aux/announce-gen.diff: Remove hunks adopted upstream. + * gl/build-aux/do-release-commit-and-tag.diff: Refresh this patch + to match current gnulib. + +2012-09-16 Gary V. Vaughan + + gnulib: update gnulib submodule. + +2012-09-16 Gary V. Vaughan + + bootstrap: ensure there is a ChangeLog before running automake. + + Automake refuses to run in GNU-mode unless there is a ChangeLog file + in the top-level directory. + * bootstrap.conf (libtool_force_changelog): Create a dummy ChangeLog. + +2012-09-16 Gary V. Vaughan + + libtoolize: improve verbose mode output. + + * libtoolize (func_require_seen_ltdl) + (func_require_seen_libtool): Output success message in verbose + mode. + +2012-08-22 Peter O'Gorman + + libtool: Add the 'n' to then. + + * m4/libtool.m4: fix typo. + Reported by Brad Smith. + +2012-08-22 Andreas Schwab + + libtool: Pass through -g* so that debugging information is not dropped + + * ltmain.m4sh (func_mode_link): Pass through -g*. + +2012-08-22 David Edelsohn + + libtool: AIX PIC shared library support + + * m4/libtool.m4 (_LT_COMPILER_PIC): Add -fPIC to GCC and GXX for AIX. + +2012-08-22 Brad Smith + + libtool: Update/simplify OpenBSD support + + * m4/libtool.m4: Forget about 11 year old releases. + +2012-08-19 Peter Rosin + + libtool: quote progpath properly + Attempt to handle spaces in paths better. + * build-aux/ltmain.m4sh (func_mode_install, func_mode_link): Quote + $progpath. + * THANKS: Update. + +2012-04-19 Mike Frysinger + + libtool: Handle getconf returning "undefined". + + * m4/libtool.m4: Check for "undefined" from `getconf`. + +2012-03-17 Peter Rosin + + bootstrap: delete unneeded README-release patch + + * gl/top/README-release.diff: Delete. + +2012-03-16 Peter O'Gorman + + libtool: Fix typo that caused sys_lib_search_path_spec to be wrong. + + * m4/libtool.m4: s/lt_fooi/lt_foo/. + Reported by Paul Seidler. + +2012-02-21 Samuel Thibault + + libtool: Improve GNU/Hurd support. + + * m4/libtool.m4: Add gnu* match where it was missing. + +2012-02-19 Titus von Boxberg + + libtool: Accept clang's -stdlib linker flag. + + build-aux/ltmain.m4sh: Don't drop the -stdlib= flag. + +2012-02-19 Juergen Reuter + + libtool: Enable nagfor fortran compiler support + + * build-aux/ltmain.m4sh: nagfor compatible version string. + * m4/libtool.m4: nagfor support. + +2012-02-19 Juergen Reuter + + libtool: Fixing -shared error message for nagfor compiler. + + * m4/libtool.m4: Fix -shared. + +2012-02-19 Pavel (Pasha) Shamis + + ltdl: Improve debug error reporting in ltdl. + + * libltdl/ltdl.c: Print the error message if loading fails. + +2012-02-19 Peter O'Gorman + + maint: Deleted unneeded gitlog-to-changelog patch + + * gl/build-aux/gitlog-to-changelog.diff: Delete. + +2012-02-02 Roumen Petrov (tiny change) + + fixup: restore EXPORTS test + + Commit v2.4.2-120-g962aa91 + syntax-check: fix violations and implement sc_prohibit_test_const_follows_var + inadvertedly reversed the meaning of the comparison. + + * build-aux/ltmain.m4sh (func_mode_link) [cygwin|mingw|cegcc]: Restore + the EXPORTS test. We need to look at the symbols when it's _not_ + already a .def file (in which case we trust the user input blindly). + +2012-01-30 Peter Rosin + + cwrapper: avoid surplus strlen calculations. + + * build-aux/ltmain.m4sh (func_emit_cwrapperexe_src:lt_update_exe_path): + Avoid surplus strlen calculations. + +2011-12-24 Gary V. Vaughan + + bootstrap: fix Autoconf version typo. + + * build-aux/options-parser: s/2\.62/2.68/ + +2011-12-24 Gary V. Vaughan + + gnulib: update gnulib submodule. + + Among others, this fixes the reference to a local commit. + * gnulib: Updated to todays master HEAD revision. + * gl/top/README-release.diff: Update to account for changes to + gnulib/top/README-release since the last gnulib update. + +2011-12-18 Gary V. Vaughan + + libtool: make fork minimisation compatible with dash and zsh. + + * build-aub/general.m4sh (lt_HAVE_PLUSEQ_OP): Instead of using + $((..)) arithmetic, which causes an error on dash, use a case + based bash version check. + (lt_HAVE_ARITH_OP, lt_HAVE_XSI_OPS): Also short circuit the + feature probing forks and set these automatically when zsh is + detected. + Reported by Stefano Lattarini. + +2011-12-18 Gary V. Vaughan + + bootstrap: adopt autoconf echo normalization code. + + Dash shipped with Ubutu-11.10 as /bin/sh, among others, still + has a crippled echo builtin that mis-handles backslashes. + * build-aux/options-parser (bs_echo): Adopt the autoconf echo + normalization code to find a suitable replacement for buggy echo + commands. + Adjust all uses of echo to $bs_echo. + * build-aux/extract-trace (func_extract_trace, func_main): + Likewise. + * bootstrap: To retain some execution speed on platforms with + buggy builtin echo, replace most occurrences of `echo' with + `$bs_echo' - except where its arguments will obviously never + contain backslashes or be overly long. + Reported by Reuben Thomas. + +2011-12-18 Gary V. Vaughan + + libtool: minimise forks per invocation under bash. + + * build-aux/general.m4sh (lt_HAVE_PLUSEQ_OP, lt_HAVE_ARITH_OP) + (lt_HAVE_XSI_OPS): Set these without forking a test script when + running under bash, to avoid a few unnecessary forks. + +2011-12-13 H.J. Lu + + libtool: Support x32. + + * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32. + +2011-12-08 Gary V. Vaughan + + maint: disable prohibit_always-defined_macros syntax check. + + Aside from Apple grep silently failing to run this test and + report violations, libtool still uses non-gnulib versions of + dirent.h and argz.h which use the same macros, but are not + always-defined. + * cfg.mk (local-checks-to-fix): Move + sc_prohibit_always-defined_macros from here... + (local-checks-to-skip): ...to here. + Reported by Peter O'Gorman. + +2011-12-08 Gary V. Vaughan + + tests: s/snippit/snippet/. + + * tests/demo/foo.h, tests/pdemo/foo.h: Spell `snippet' correctly. + Reported by Stefano Lattarini. + +2011-12-08 Gary V. Vaughan + + tests: make sure file restore traps are called correctly on AIX. + + * tests/demo-noinst-link.test (func_save_files): set the restore + trap outside a function, otherwise AIX 5.3 /bin/sh will run the + trap at the end of the function, instead of when the script + exits. + * tests/demo-relink.test (func_save_files): Ditto. + * tests/depdemo-relink.test (func_save_files): Ditto. + Reported by Stefano Lattarini. + +2011-12-08 Gary V. Vaughan + + maint: eliminate some more spurious leading Xs. + + * m4/libtool.m4: Reverse argument order to eliminate spurious + leading X's. + +2011-12-08 Gary V. Vaughan + + bootstrap: put back missing spaces before parens. + + * bootstrap (func_require_buildreq_autobuild) + (func_require_buildreq_automake): Vi's delete word command is + too greedy and also eats trailing whitespace before following + non-word-chars. Put back the spaces it ate so that + syntax-checks pass once again. + +2011-12-08 Gary V. Vaughan + + libtoolize: refactor copying filter creation. + + Prevent the various require_filter functions from becoming too + long by factoring common code into new functions. + * libtoolize (func_make_relative_dir_filter) + (func_make_relative_ltdl_filter): New functions. Generalize and + consolidate the various similar snippets for concatenating + together the sed scripts for func_copy filtering. + (require_filter_Makefile_am, require_filter_aclocal_m4) + (require_filter_configure_ac): Simplify. + (require_ltdl_relative_aux_dir): Remove. + (require_ltdl_relative_macro_dir): Ditto. + +2011-12-08 Gary V. Vaughan + + maint: pick XSI funcs at runtime, not configure time. + + Determine, on a function by function basis, what XSI features + are available in the shell that is actually running the script, + rather than the one that was picked at configure time by the + re-execution engine. + * m4/libtool.m4 (_LT_PROG_FUNCTION_REPLACE) + (_LT_PROG_REPLACE_SHELLFNS): Remove. + (_LT_CHECK_SHELL_FEATURES): Remove tests for XSI and += support. + * build-aux/general.m4sh (func_append, func_append_quoted) + (func_arith, func_len, func_basename, func_dirname) + (func_dirname_and_basename, func_stripname): List both enhanced + and fallback implementations, and choose one based on whether + the enhanced features required by the fastest version are + available. + * build-aux/getopt.m4sh (func_split_short_opt) + (func_split_long_opt): Ditto. + * build-aux/ltmain.m4sh (func_lo2o, func_xform): Ditto. + * tests/getopt-m4sh.at: Add tests for enhanced and fallback + implementations of func_arith, func_len, func_stripname and + func_dirname_and_basename. + * NEWS: Updated. + +2011-12-08 Gary V. Vaughan + + maint: share useful functions from general.m4sh. + + * build-aux/ltmain.m4sh (func_append, func_append_quoted) + (func_arith, func_len): Removed from here... + * build-aux/general.m4sh (func_append, func_append_quoted) + (func_arith, func_len): ...and added to here. + (func_dirname, func_dirname_and_basename, func_normal_abspath) + (func_relative_path): Use func_append. + * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): Removed. + Fallback functions are now in any m4sh generated file + automatically. + +2011-12-08 Gary V. Vaughan + + libtoolize: reorder function definitions to keep func_filter_* together. + + * libtoolize: Restore asciibetical order, so that all the + filter function definitions are together. + +2011-12-08 Gary V. Vaughan + + libtoolize: use _filter as a prefix for better ordering. + + * libtoolize.m4sh (require_Makefile_am_filter) + (require_ltdl_mk_filter, require_aclocal_m4_filter) + (require_configure_ac_filter): Rename these functions from this... + (require_filter_Makefile_am, require_filter_ltdl_mk) + (require_filter_aclocal_m4, require_filter_configure_ac): ...to + this, respectively. Adjust all callers. + (Makefile_am_filter, ltdl_mk_filter, aclocal_m4_filter) + (configure_ac_filter): Rename these global variables from this... + (filter_Makefile_am, filter_ltdl_mk, filter_aclocal_m4) + (filter_configure_ac): ...to this, respectively. + +2011-12-08 Gary V. Vaughan + + libtoolize: rename ltdl.mk filter function. + + * libtoolize.m4sh (require_Makefile_inc_filter): Rename from + this... + (require_ltdl_mk_filter): ...to this. Adjust all callers. + +2011-12-08 Gary V. Vaughan + + bootstrap: escape quotes properly in generated functions. + + * bootstrap: Although not a real bug, for consistency, be sure + to correctly escape single quotes inside a single quoted + function generator. + +2011-12-08 Gary V. Vaughan + + bootstrap: reorder function definitions to keep func_buildreq_* together. + + * bootstrap: Restore asciibetical order, so that all the + buildreq function definitions are together. + +2011-12-08 Gary V. Vaughan + + bootstrap: use _buildreq as a prefix for better ordering. + + * bootstrap (require_autobuild_buildreq) + (require_autoconf_buildreq, require_automake_buildreq) + (require_autopoint_buildreq, require_libtoolize_buildreq) + (require_patch_buildreq): Rename from these... + (require_buildreq_autobuild, require_buildreq_autoconf) + (require_buildreq_automake, require_buildreq_autopoint) + (require_buildreq_libtoolize, require_buildreq_patch): ...to + these, respectively. Adjust all callers. + +2011-12-08 Gary V. Vaughan + + bootstrap: ensure consistent function header comments. + + * bootstrap (require_bootstrap_uptodate) + (require_buildtools_uptodate): Use `require_...' in header + comment for these functions to be consistent with the rest, + rather than `func_require_...'. + +2011-12-08 Gary V. Vaughan + + bootstrap: make sure patch is available to bootstrap if necessary. + + Make sure we're not lacking any functionality provided by the + incumbent gnulib bootstrap script, and where it's easy to do so + (like it is here), provide better functionality! + * bootstrap (require_patch): Make sure that PATCH expands to the + best `patch' command available on the system, honouring + overrides in the users environment. + (require_patch_buildreq): Automatically add a requirement for a + patch command to buildreq when there are diff files in + $local_gl_dir. + (func_require_buildtools_uptodate): Call require_patch_buildreq + before testing build tool versions. + (func_gnulib_tool_copy_file): Make sure PATCH is set before using + gnulib-tool to copy files. + +2011-11-26 Gary V. Vaughan + + m4: fix logic error leading to -fno-rtti being added wrongly. + + * m4/libtool.m4 (_LT_COMPILER_OPTION): Negate comparison so that + compiler flags are added correctly. + +2011-11-26 Gary V. Vaughan + + maint: Fix generated ChangeLog typos. + + * build-aux/git-log-fix: Spell Stefano Lattarini's name + correctly. + Don't use my home email address for GNU commits. + +2011-11-25 Gary V. Vaughan + + syntax-check: fix violations and implement sc_useless_braces_in_variable_derefs. + + Until now, libtool sources have used braced variable names + seemingly at random! Almost always the braces are just noise, so + remove all the unnecessary ones. + * cfg.mk (sc_useless_braces_in_variable_derefs): New syntax + check rule to ensure we only reintroduce braced variable + dereferences if they are followed by a valid variable name + character. + build-aux/general.m4sh, build-aux/git-hooks/commit-msg, + build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac, + libltdl/configure.ac, m4/libtool.m4, m4/ltdl.m4, + m4/ltoptions.m4, tests/defs.m4sh, tests/demo-nopic.test, + tests/depdemo/configure.ac, tests/flags.at, tests/link.test, + tests/objectlist.test, tests/quote.test, tests/static.at: Remove + spurious braces. + +2011-11-25 Gary V. Vaughan + + syntax-check: fix violations and implement sc_prohibit_sed_s_comma. + + I like to name temporary directories that I will remove shortly + with two leading commas so that they sort lexicographically at + the top of `ls' output. Now, `./configure + --prefix=`pwd`/,,inst' works again, for the first time in + several years. + * cfg.mk (sc_prohibit_sed_s_comma): Comma is too common a + character to use routinely as the separator for sed + substitutions on file paths and other variables determined by + the user, causing bugs like the one I describe above. Make sure + we don't accidentally reintroduce any comma separators in + future. + * Makefile.am, bootstrap, bootstrap.conf, build-aux/extract-trace, + build-aux/general.m4sh, build-aux/git-hooks/commit-msg, + build-aux/git-log-fix, build-aux/ltmain.m4sh, libtoolize.m4sh, + m4/libtool.m4, m4/ltdl.m4, tests/cdemo-undef.test, + tests/cmdline_wrap.at, tests/darwin.at, tests/defs.m4sh, + tests/getopt-m4sh.at, tests/install.at, tests/libtoolize.at, + tests/mdemo/Makefile.am, tests/need_lib_prefix.at, + tests/sysroot.at, tests/tagdemo-undef.test, tests/testsuite.at: + Try to use `|' as the default separator wherever possible, + otherwise something else that doesn't occur in the substitution + expression. + * NEWS: Updated. + +2011-11-25 Gary V. Vaughan + + syntax-check: fix violations and implement sc_prohibit_bare_basename. + + * cfg.mk (sc_prohibit_bare_basename, sc_prohibit_basename_with_sed): + Make sure not to go back to using occasional `|$basename' or + `|$dirname' syntax. + * build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh, + * build-aux/options-parser, tests/fcdemo-conf.test, + * tests/fcdemo-shared.test, tests/fcdemo-static.test, + * tests/libtoolize.at: Fix violations. + +2011-11-25 Gary V. Vaughan + + tests: migrate tests/sh.test checks to syntax-checks. + + Some modernization of the legacy testsuite. + * tests/sh.test: Remove. + * Makefile.am (COMMON_TESTS): Adjust. + * cfg.mk (sc_libtool_m4_cc_basename, sc_prohibit_bracket_as_test) + (sc_prohibit_nested_quotes, sc_prohibit_set_dummy_without_shift) + (sc_prohibit_set_minus_minus, sc_prohibit_test_binary_operators) + (sc_prohibit_test_dollar, sc_prohibit_test_minus_e) + (sc_prohibit_test_unary_operators, sc_prohibit_test_X) + (sc_prohibit_Xsed_withou_X, sc_require_function_nl_brace): + Functionally identical tests to what used to be performed by + sh.test, only with coverage of all files. + * bootstrap, build-aux/edit-readme-alpha, + build-aux/extract-trace, build-aux/getopt.m4sh, + build-aux/ltmain.m4sh, configure.ac, m4/libtool.m4, m4/ltdl.m4, + tests/bindir.at, tests/configure-iface.at, tests/cwrapper.at, + tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test, + tests/dlloader-api.at, tests/exceptions.at, + tests/getopt-m4sh.at, tests/lalib-syntax.at, tests/link-2.test, + tests/link-order2.at, tests/loadlibrary.at, + tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen_a.at, + tests/lt_dlopenext.at, tests/need_lib_prefix.at, + tests/nonrecursive.at, tests/recursive.at, tests/resident.at, + tests/standalone.at, tests/static.at, tests/stresstest.at, + tests/subproject.at, tests/sysroot.at, tests/tagtrace.test, + tests/testsuite.at: Fix violations of the new syntax checks. + +2011-11-25 Gary V. Vaughan + + syntax-check: fix violations and implement sc_useless_quotes_in_assignment. + + Contrary to popular belief, Bourne shell does not resplit RHS of + assignments after expansion, so if there are no unquoted shell + metacharacters or whitespace, the quotes are useless. + * cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's + _sc_search_regexp that also allows individual exclusions at the + site of what would otherwise match by adding a comment. + (sc_useless_quotes_in_assignment): New syntax-check rule to + ensure we don't reintroduce useless quoted assignments. + * bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, + build-aux/general.m4sh, build-aux/getopt.m4sh, + build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac, + doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4, + m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh, + tests/lalib-syntax.at, tests/libtoolize.at, + tests/lt_dlopenext.at, tests/mdemo/configure.ac, + tests/mdemo2/configure.ac, tests/need_lib_prefix.at, + tests/no-executables.at, tests/quote.test, tests/suffix.test: + Remove spurious quotes. + +2011-11-25 Gary V. Vaughan + + syntax-check: fix violations and implement sc_useless_quotes_in_case. + + Contrary to popular belief, Bourne shell does not resplit case + expressions after expansion, so if there are no unquoted shell + metacharacters or whitespace, the quotes are useless. + * cfg.mk (sc_useless_quotes_in_case): New syntax-check rule to + ensure we don't reintroduce useless quoted case expressions. + * build-aux/ltmain.m4sh, m4/libtool.m4, tests/bindir.at, + tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test, + tests/demo-nopic.test, tests/link-2.test, tests/quote.test, + tests/sysroot.at: Remove spurious quotes. + +2011-11-25 Gary V. Vaughan + + maint: quote $file correctly in bootstrap. + + * bootstrap (func_insert_sorted_if_absent): Don't forget the + double quotes, since we can't control the content of $file. + Reported by Stefano Lattarini. + +2011-11-25 Gary V. Vaughan + + build: fix a quoting bug when regenerating with bootstrap_edit. + + * Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh): The + bootstrap_edit make macro already contains double quotes, so + when echoing it, don't surround it with more double quotes since + it is not escaped. + +2011-11-17 Gary V. Vaughan + + dist: hook syntax-check into `make distcheck'. + + To make sure we don't accidentally release anything with + failing syntax-checks, have `make distcheck' run the + syntax-checks automatically. + * Makefile.am (distcheck-hook): New rule depending on + syntax-check. + +2011-11-17 Gary V. Vaughan + + syntax-check: enable sc_prohibit_always_true_header_tests. + + * cfg.mk (local-checks-to-fix): Remove + sc_prohibit_always_true_header_tests from list of disabled + checks, because it no longer flags any violations. + +2011-11-17 Gary V. Vaughan + + syntax-check: enable sc_program_name. + + * cfg.mk (local-checks-to-skip): Remove sc_program_name + list of disabled checks. + (exclude_file_name_regexp--sc_program_name): Don't check demo + programs for use of set_program_name. + +2011-11-17 Gary V. Vaughan + + syntax-check: enable sc_bindtextdomain. + + * cfg.mk (local-checks-to-skip): Remove sc_bindtextdomain + list of disabled checks. + (exclude_file_name_regexp--sc_bindtextdomain): Don't check demo + programs for use of bindtextdomain. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and implement sc_trailing_blank-non-rfc3676. + + * cfg.mk (local-checks-to-fix): Move sc_trailing_blank from + here... + (local-checks-to-skip): ...to here, because otherwise it flags + valid RFC3676 signature blocks. + (sc_trailing_blank-non-rfc3676): An improved sc_trailing_blank + implementation that doesn't flag signature blocks as violations. + * Makefile.am, bootstrap.conf, doc/PLATFORMS, + libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4, + libltdl/m4/lt~obsolete.m4, tests/archive-in-archive.at, + tests/convenience.at, tests/darwin.at, tests/depdemo/l1/l1.c, + tests/depdemo/l2/l2.c, tests/depdemo/l3/l3.c, + tests/depdemo/l4/l4.c, tests/f77demo/README, + tests/f77demo/cprogram.c, tests/f77demo/foof.f, + tests/f77demo/foof2.f, tests/f77demo/foof3.f, + tests/f77demo/fprogram.f, tests/fcdemo/README, + tests/fcdemo/cprogram.c, tests/fcdemo/foof.f90, + tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, + tests/fcdemo/fprogram.f90, tests/mdemo/README, + tests/mdemo/main.c, tests/mdemo/mlib.c, tests/objectlist.test, + tests/static.at, tests/template.at, tests/testsuite.at: Remove + trailing blanks. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_useless_cpp_parens. + + * cfg.mk (local-checks-to-fix): Remove sc_useless_cpp_parens + from list of disabled checks. + * doc/libtool.texi, libltdl/argz.c, libltdl/argz_.h, + build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h, + libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, + libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, + libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, + libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, + libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/loadlibrary.c, + libltdl/loaders/shl_load.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, + libltdl/ltdl.c, libltdl/ltdl.h, libltdl/m4/libtool.m4, tests/demo/foo.h, + tests/depdemo/sysdep.h, tests/exceptions.at, tests/export.at, + tests/pdemo/foo.h, tests/stresstest.at: Remove useless parens in cpp + `#if defined(foo)' statements. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_space_tab. + + * cfg.mk (local-checks-to-fix): Remove sc_space_tab from list of + disabled checks. + (exclude_file_name_regexp--sc_space_tab): Don't flag space-tab + sequences in diff files as an error. + * Makefile.am, build-aux/general.m4sh, build-aux/git-hooks/commit-msg, + build-aux/ltmain.m4sh, libltdl/loaders/dyld.c, + libltdl/loaders/shl_load.c, libltdl/ltdl.h, libltdl/ltdl.mk, + libltdl/slist.c, libtoolize.m4sh, m4/ltoptions.m4, tests/demo/dlmain.c, + tests/depdemo/main.c, tests/libtoolize.at, tests/lt_dladvise.at, + tests/pdemo/longer_file_name_dlmain.c, tests/sh.test, tests/static.at, + tests/stresstest.at, tests/template.at: Fix space-tab sequences by + reversing them in regexps, and deleting leading spaces in indentation. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_prohibit_undesirable_word_seq. + + * cfg.mk (local-checks-to-fix): Remove + sc_prohibit_undesirable_word_seq from list of disabled checks. + * doc/libtool.texi, build-aux/ltmain.m4sh, + libltdl/m4/libtool.m4, libtoolize.m4sh: Replace all uses of "can + not" with "cannot". + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_probibit_test_minus_ao. + + * cfg.mk (local-checks-to-fix): Remove + sc_probhibit_test_minus_ao from list of disabled checks. + (exclude_file_name_regexp--sc_prohibit_tests_minus_ao): The + matches from this syntax-check in libtool.m4 are all bogus. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_prohibit_strcmp. + + * cfg.mk (local-checks-to-fix): Remove sc_prohibit_strcmp + from list of disabled checks. + (exclude_file_name_regexp--sc_prohibit_strcmp): Ignore + violations in libtool.texi and any demo C files. + * libltdl/libltdl/lt__private.h (strneq, streq): Renamed from + this... + (STRNEQ, STREQ): ..to this. Adjust all callers. + * tests/slist.at: Add STREQ definition. Change all !strcmp calls + to STREQ. + * build-aux/ltmain.m4sh (func_emit_cwrapperexe_src): Add and use + STREQ definition. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_prohibit_stddef_without_use. + + * cfg.mk (local-checks-to-fix): Remove + sc_prohibit_stddef_without_use from list of disabled checks. + * libltdl/argz.c, libltdl/lt__dirent.c, libltdl/slist.c: Remove + spurious stddef.h #include lines. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_prohibit_magic_number_exit. + + * cfg.mk (local-checks-to-fix): Remove sc_prohibit_magic_number_exit + from list of disabled checks. + * ltmain.c: Removed unused file. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_prohibit_have_config_h. + + * cfg.mk (local-checks-to-fix): Remove sc_prohibit_have_config_h + from list of disabled checks. + * tests/f77demo/foo.h, tests/fcdemo/foo.h: Remove spurious + HAVE_CONFIG_H guards for #include . + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_prohibit_empty_lines_at_EOF. + + * cfg.mk (local-checks-to-fix): Remove + sc_prohibit_empty_lines_at_EOF from list of disabled checks. + * THANKS, libltdl/argz.c, libltdl/config/getopt.m4sh, + tests/f77demo/README, tests/f77demo/cprogram.c, + tests/f77demo/fprogram.f, tests/fcdemo/README, + tests/fcdemo/cprogram.c, tests/libtoolize.at, + tests/mdemo/README, tests/mdemo2/README, tests/pdemo-inst.test: + Remove spurious empty lines from the end of these files. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_prohibit_doubled_word. + + * cfg.mk (local-checks-to-fix): Remove sc_prohibit_doubled_word + from list of disabled checks. + * build-aux/general.m4sh (func_quote_for_eval): Remove one of a + pair of "and"s in a comment. + * tests/lt_dladvise.at (hint_global): Remove one of a pair of + consecutive "to"s split across lines in a comment. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_prohibit_cvs_keyword. + + * cfg.mk (local-checks-to-fix): Remove sc_prohibit_cvs_keyword + from list of disabled checks. + * tests/tagdemo/README: Remove spurious CVS keyword. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_makefile_at_at_check. + + At some point we were supporting some undetermined `broken + make', as evidenced by having carried the following code since + 2003: + ## use @LIBLTDL@ because some broken makes do not accept + ## macros in targets, we can only do this because our LIBLTDL + ## does not contain $(top_builddir). + @LIBLTDL@: $(top_distdir)/libtool \ + ... + However, we've also had *many* cases of macros in targets for + just as long, so most likely we never fully supported makes + allegedly broken in this way. As of this release, we explicitly + no longer support make implementations that do not accept macros + in targets. + * cfg.mk (local-checks-to-fix): Remove sc_makefile_at_at_check + from list of disabled checks. + * configure.ac (order-only prerequisites): Test with the + order-only pipe symbol in a macro. + * Makefile.am, tests/mdemo/Makefile.am: Convert all @FOO@ to + $(FOO). + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_makefile_TAB_only_indentation. + + * cfg.mk (local-checks-to-fix): Remove + sc_makefile_TAB_only_indentation from list of disabled checks. + * Makefile.am (libltdl/Makefile.am): Replace leading spaces with + TABs. + * libltdl/Makefile.am (libltdl_libltdl_la_SOURCES): Ditto. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_m4_quote_check. + + * cfg.mk (local-checks-to-fix): Remove sc_m4_quote_check from + list of disabled checks. + * libltdl/m4/libtool.m4 (_LT_CHECK_OBJDIR): Quote LT_OBJDIR + correctly. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_file_system. + + * cfg.mk (local-checks-to-fix): Remove sc_file_system from list + of disabled checks. + (VC_LIST_ALWAYS_EXCLUDE_REGEX): Match mail directory correctly + to avoid running its contents through syntax-check. + * build-aux/ltmain.m4sh (func_mode_link): Use correct spelling + for "file system". + * libltdl/ltdl.c (try_dlopen): Ditto. + * tests/dlloader-api.at: Ditto. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_error_message_uppercase. + + * cfg.mk (local-checks-to-fix): Remove + sc_error_message_uppercase from list of disabled checks. + (exclude_file_name_regexp--sc_error_message_uppercase): Don't + match cvsu, which is not our file to edit. + * doc/libtool.texi: Use lowercase error message in example. + +2011-11-17 Gary V. Vaughan + + syntax-check: rationale for disabling sc_cast_of_x_alloc_return_value. + + * cfg.mk: Note that we support C++ compilation of libltdl, which + in turn requires that *alloc return values be cast correctly. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_cast_of_argument_to_free. + + * cfg.mk (local-checks-to-fix): Remove + sc_cast_of_argument_to_free from list of disabled checks. + * build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h, + libltdl/lt__dirent.c: Casting argument to free is never + necessary. + +2011-11-17 Gary V. Vaughan + + syntax-check: fix violations and re-enable sc_avoid_if_before_free. + + * cfg.mk (local-checks-to-fix): Remove sc_avoid_if_before_free + from list of disabled checks. + According to gnulib/doc/free.texi: "On old platforms such as + SunOS4, @code{free (NULL)} fails. However, since all such + systems are so old as to no longer be considered ``reasonable + portability targets,'' this module is no longer useful." + * libltdl/libltdl/lt__alloc.h (FREE, MEMREASSIGN): Don't protect + against freeing NULL bug on SunOS4. + +2011-11-17 Gary V. Vaughan + + syntax-check: skip sc_unmarked_diagnostics. + + * cfg.mk (local-checks-to-fix): Move sc_unmarked_diagnostics + from here... + (local-checks-to-skip): ...to here. + +2011-11-17 Gary V. Vaughan + + libtoolize: rename `libltdl/config' directory to standard `build-aux'. + + In addition to moving the autoconf auxiliary script directory + into the place expected by GNU developers ($top_srcdir/build-aux) + we also simplify libtoolize somewhat by having libltdl use + whatever directory was specified by the parent project. This is + much more flexible, allows libltdl client projects to also use a + single canonical `$top_srcdir/build-aux' auxiliary script + directory, and maintains backward compatibility with existing + projects that wish to continue using $ltdl_dir/config. + * libltdl/config: Moved whole directory from here... + * build-aux: ...to here. + * libtoolize.m4sh (func_install_pkgaux_subproject): Remove. + (func_install_pkgaux_parent): Remove. + (func_install_pkgaux_files): Considerably simplified now that we + have only a single auxiliary directory to worry about. + (subproject_aux_dir): Remove. + * bootstrap.conf (libtool_readme_release_package_substitutions): + No need to substitute our old unusual aux_dir location into + README-release any more. + * cfg.mk (_build-aux): Now that we use the standard location for + this directory, no need to set this variable either. + * configure.ac (AC_INIT): git-version-gen has moved. + (AC_CONFIG_AUX_DIR): Adjust. + * Makefile.am (stamp-mk, auxexefiles, auxfiles) + (install-data-local): Use build-aux instead of config. + (libltdl/stamp-mk): Ditto. + * libltdl/configure.ac, tests/cdemo/configure.ac, + tests/demo/configure.ac, tests/depdemo/configure.ac, + tests/f77demo/configure.ac, tests/fcdemo/configure.ac, + tests/mdemo/configure.ac, tests/mdemo2/configure.ac, + tests/pdemo/configure.ac, tests/tagdemo/configure.ac + (AC_CONFIG_AUX_DIR): Ditto. + * tests/defs.m4sh (aux_dir): Ditto. + * tests/configure-iface.at, tests/getopt-m4sh.at, + tests/libtoolize.at, tests/subproject.at, tests/testsuite.at: + Ditto. + * Makefile.am (ltdl_ac_aux_dir): Extract at build-time... + * libtoolize.m4sh (require_ltdl_ac_aux_dir): ...so that + libtoolize can access it at runtime without requiring GNU M4 via + the extract-trace script. + (require_Makefile_am_filter): Use it to determine whether the + aux_dir declared in the current (parent) project configure is + compatible with the declarations in installed ltdl autotools + source files. + (require_configure_ac_filter): New function to perform similar + checks and rewrite configure.ac during installation if necessary. + * NEWS: Updated. + +2011-11-17 Gary V. Vaughan + + libtoolize: aux scripts go in ltdl dir when parent has no configure. + + When using libtoolize to install subproject libltdl into a + parent project that does not use autotools, set the default + directory for auxiliary scripts inside libltdl rather than + littering the parent project with files it doesn't use. + * libtoolize.m4sh (func_require_ac_aux_dir): In verbose mode, + report results like other require_ funcs. + (func_require_aux_dir): Put subproject auxiliary files into ltdl + directory where libltdl/configure will be able to find + `install-sh' and others. + +2011-11-17 Gary V. Vaughan + + libtoolize: simplify runtime by substituting pkgauxdir. + + * Makefile.am (configure_edit): Substitute pkgauxdir. + * libtoolize.m4sh (func_install_pkgaux_subproject) + (func_install_pkgaux_parent, extract_trace): Use it. + +2011-11-17 Gary V. Vaughan + + libtoolize: generate require_ltdl_relative_aux_dir definition. + + * libtoolize.m4sh (require_ltdl_relative_macro_dir): Change to + be generated function... + (require_ltdl_relative_aux_dir): ...so that we can easily + generate this very similar function from the same code. + +2011-11-17 Gary V. Vaughan + + libtoolize: rename `libltdl/m4' directory to standard `m4'. + + In addition to moving the autoconf macro directory into the + place expected by GNU developers ($top_srcdir/m4), we also + simplify libtoolize somewhat by having libltdl use whatever + directory was specified by the parent project. This is much + more flexible, allows libltdl client projects to also use a + single canonical `$top_srcdir/m4' macro directory, and maintains + backward compatibility with existing projects that wish to + continue using $ltdl_dir/m4. + * libltdl/m4: Moved to it's parent directory. + * Makefile.am (ACLOCAL_AMFLAGS, BUILDCHECK_ENVIRONMENT) + (libltdl/Makefile.am, libltdl/aclocal.m4): Adjust. + * configure.ac (AC_CONFIG_MACRO_DIR): Adjust. + * libltdl/configure.ac (AC_CONFIG_MACRO_DIR): Remove. The + libtoolize script can pick up the project macro directory from + ACLOCAL_AMFLAGS in libltdl/Makefile.am, saving us from needing + to regenerate configure for the sake of a different macro + directory declared in the libltdl using client project. + * libtoolize.m4sh (func_install_pkgmacro_subproject): Remove. + (func_install_pkgmacro_parent): Remove. + (subproject_macro_dir): Remove. + (require_libltdl_Makefile_am, require_ltdl_aclocal_amflags) + (require_ltdl_am_macro_dir): New functions, generated at runtime + by adding libltdl/Makefile.am to the generation loop. + (func_install_pkgmacro_files): Considerably simplified now that + we have only a single macro directory to worry about. + (require_ltdl_relative_macro_dir): New function. Calculate the + relative path from $ltdl_dir to the parent project macro_dir. + (require_Makefile_am_filter): Depending on $ltdl_mode, edit + Makefile.am ACLOCAL_AMFLAGS to use the parent project macro + directory if necessary. + (require_aclocal_m4_filter): Make sure m4_includes point to the + correct macro directory by editing the file as it is copied + into the parent project. + (func_install_pkgltdl_files): Use the filters. + (func_check_macros): Remove various advice that no longer + applies with an always shared macro directory. + (func_require_ltdl_dir): Don't default ltdl_dir to subproject + when `--ltdl' was not given. + (func_require_ltdl_mode): Leave ltdl_mode empty when ltdl_dir is + not set. + (func_require_macro_dir): Default to $ltdl_dir/m4 in subproject + mode with no other directory implied by AC_CONFIG_MACRO_DIR or + ACLOCAL_AMFLAGS, otherwise m4 as before. + * tests/libtoolize.at: Match new "creating file `Makefile.am'" + messages correctly. + (subproject ltdl with non-shared directories): This test no + longer makes sense, so repurposed... + (subproject ltdl with non-canonical macro dir): ...this, to + ensure subproject ltdl continues to automatically share the + parent macro directory. + * tests/cdemo/Makefile.am, tests/demo/Makefile.am, + tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, + tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am, + tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, + tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Use new location + of macro_dir. + * NEWS: Updated. + +2011-11-17 Gary V. Vaughan + + libtoolize: rename `Makefile.inc' to standard `ltdl.mk'. + + * libltdl/Makefile.inc: Moved from here... + * libltdl/ltdl.mk: ...to here. + * Makefile.am, bootstrap.conf, tests/libtoolize.at, + tests/nonrecursive.at: Adjust. + * libtoolize.m4sh (func_install_pkgltdl_files): Set the + destination file to `Makefile.inc' if grep finds an include for + that name in a top-level Makefile.am. + (func_check_macros): Print a deprecation warning if use of the + old `Makefile.inc' convention is found. + * tests/old-ltdl-iface.at: New test for renaming and warning + correctly when `Makefile.inc' convention is still in use. + * NEWS: Updated. + +2011-11-17 Gary V. Vaughan + + libtoolize: refactor ACLOCAL_AMFLAGS extraction. + + Another simple refactor to simplify following changesets. + * libtoolize.m4sh (require_Makefile_am, require_aclocal_amflags) + (require_am_macro_dir): Generate these functions at runtime. + +2011-11-17 Gary V. Vaughan + + libtoolize: rename require_makefile_am to require_Makefile_am. + + A simple refactoring to keep the next change self-contained. + * libtoolize.m4sh (require_makefile_am): Renamed from this... + (require_Makefile_am): ...to this. + +2011-11-17 Gary V. Vaughan + + libtoolize: simplify copying of files that are edited during install. + + * libltdl/Makefile.inc (EXTRA_DIST): Don't list autotools files + that Automake automatically adds to a (subproject) + distribution... + * Makefile.am (EXTRA_DIST): ...although, our layout is a bit odd + because we reuse libltdl/Makefile.inc in non-recursive mode in + our own tree, so we do need to add those very same files here... + * libtoolize.m4sh (require_Makefile_am_filter) + (require_Makefile_inc_filter): ...all of which means we no + longer need to manually remove those files at libtoolize time. + These two new functions are factored out of... + (func_fixup_Makefile): ...this old function, now removed. + (func_copy): Add support for an optional sed script as the last + argument to filter the content of a file as it is copied. + (func_install_pkgltdl_files): Much simplified by $require_ + the relevant filter scripts and passing them to func_copy. + +2011-11-17 Gary V. Vaughan + + libtoolize: simplify file-copying and -linking call-graph. + + * libtoolize.m4sh (TAR): Remove. + (func_copy_some_files, func_copy_cb): Remove. + (func_copy): Refactor from all of the above, and simplify. No + need to use $TAR to preserve timestamps when copying, since + we've been running touch right afterwards anyway. Adjust all + callers to use the new argument footprint. + (func_serial_update, func_keyword_update): Delete any pre- + existing destination file when used with `--force' before + calling func_copy, now that the hardcoded special cases are not + in there any more. + (func_install_pkgmacro_subproject) + (func_install_pkgaux_subproject): Use our own file loop - + func_copy subsumes all the checks previously in + func_copy_some_files, but operates on only one file at a time. + (func_install_pkgltdl_files): Similarly, handle aclocal.m4 and + configure special cases here, before calling func_copy. + * tests/libtoolize.at: Make sure we match corrected "copying + `configure.ac'" output. + +2011-11-17 Gary V. Vaughan + + maint: generate full and correct ChangeLog. + + * gnulib: Updated to pick up gitlog-to-changelog multi-author + support. + * gl/build-aux/gitlog-to-changelog.diff: Use gnulib-rejected + patch for '(tiny change)' support. + * Makefile.am (ChangeLog): Use gitlog-to-changelog --amend=F + option. + * libltdl/config/git-hooks/commit-msg: New commit message hook + for git. + * libltdl/config/git-log-fix: New file, with ChangeLog fixes. + * HACKING (Using git): Update. + +2011-11-16 Gary V. Vaughan + + options-parser: provide a saner pluggable API. + + It's much too easy to forget that the functions you hook into + the option parser need to return unconsumed options in the + variable `func_run_hooks_result'; better to follow the + convention used in the rest of bootstrap and return results in a + variable named after the function with `_result' appended. + * libltdl/config/options-parser (func_run_hooks): implement this + new API. + (Option parsing): Update the example in the header comment for + this section to reflect the changes. + * bootstrap (bootstrap_options_prep, bootstrap_parse_options) + (bootstrap_validate_options): Adjust. + * bootstrap.conf (libtool_options_prep, libtool_parse_options) + (libtool_validate_options): Ditto. + +2011-11-16 Gary V. Vaughan + + bootstrap: display accurate usage message. + + After splitting bootstrap up, we also lost bootstrap's usage + message, and were incorrectly displaying a partial extract-trace + message. + * bootstrap (usage): Set appropriately. + +2011-11-16 Gary V. Vaughan + + bootstrap: accept --gnulib-srcdir=/path/to/gnulib again. + + During the split of bootstrap into options-parser and + extract-trace, the generic long-option splitting code got lost. + * libltdl/config/options-parser (func_parse_options): Add the + code to split any long option separated by an equals from its + optarg back in. + Reported by Roumen Petrov. + +2011-11-15 Gary V. Vaughan + + gnulib: update gnulib submodule. + + Among others, this fixes a bug in _build-aux expansion so that + `make syntax-check' works again. + * gnulib: Updated to today's master HEAD revision. + * gl/top/maint.mk.diff: Remove. This patch has been applied + upstream already. + +2011-11-15 Gary V. Vaughan + + libtoolize: remove NL2SP and initialisation. + + There's only a single use of NL2SP, and that is redundant. + * libtoolize.m4sh (func_serial_update): Factor away use of + NL2SP. + (NL2SP, SP2NL): Remove initialisation. + +2011-11-15 Gary V. Vaughan + + bootstrap: remove consumed options from the list to be processed. + + Fix a bug where processed bootstrap options were not removed + from the queue, and eventually flagged as unknown in the + pluggable option parser driver. + * bootstrap (bootstrap_parse_options) + (bootstrap_validate_options): Follow the pluggable option parser + API correctly, and set func_run_hooks_result to the list of + remaining unconsumed options. + Reported by Roumen Petrov. + +2011-11-14 Gary V. Vaughan + + libtoolize: refactor $opt_quiet, func_echo and func_echo_once. + + Instead of long sequences checking for setting of $opt_quiet, + followed by one or more func_echo variations, add and use a new + function func_whisper - the complement of func_verbose. + * libtoolize.m4sh (func_whisper): New function. Adjust all + callers previously using `$opt_quiet || func_echo ...'. + (func_whisper_once): Ditto, for `$opt_quiet || func_echo_once + ...'. + (func_whisper_hdr): New function, adjust all callers previously + using `func_whisper_once ...; func_whisper ...'. + (func_whisper_error_header): Ditto, but calling func_error. + (func_echo_once): Remove. + +2011-11-14 Gary V. Vaughan + + libtoolize: update a bit-rotted comment. + + * libtoolize (func_copy_cb): Since this comment was written, the + function has been changed to timestamp files as it copies. + Update the comment to reflect that. + +2011-11-14 Gary V. Vaughan + + general.m4sh: relative path to the same directory is `.'. + + * general.m4sh (func_relative_path): We sometimes want to use + the result of this function directly, rather than purely as a + prefix, so we need to return `.' when both directories end up at + the same location. + +2011-11-14 Gary V. Vaughan + + ltmain.sh: append relative path trailing slashes explicitly. + + In addition to being more idiomatic, and hence minimising + suprises, seeing the slash written explicity when appending to + the result of a relative path calculation is a lot more + readable. + * libltdl/config/general.m4sh (func_relative_path): Don't append + an implicit trailing slash... + * libltdl/config/ltmain.m4sh (func_mode_link): ...write it + explicitly at the time of use. + +2011-11-09 Gary V. Vaughan + + build: use pkgauxdir for local install and uninstall rules. + + * Makefile.am (pkgauxdir): Set it correctly. + (uninstall-hook): Use it for pkgaux_scripts and + pkgaux_data_files. + (install-data-local): Ditto. + Remove `config/' prefix from extract-trace and option-parser + items. + +2011-11-08 Gary V. Vaughan + + install: correct a typo in pkgaux_files location. + + * Makefile.am (install-data-local): Install pkgaux_files + directly from $(aux_dir) [./libltdl/config at the moment]. + +2011-11-08 Gary V. Vaughan + + libtoolize: order pkgltdl_files to avoid reconfiguration. + + * Makefile.am (pkgltdl_files): aclocal.m4 depends on + configure.ac, and will cause spurious reconfiguration of freshly + `libtoolize --ltdl' tree if we don't ensure configure.ac is the + older of these two files. + * tests/libtoolize.at: Adjust expout order to match. + +2011-11-08 Gary V. Vaughan + + build: remove an over-exuberant $(srcdir) prefix. + + * Makefile.am (git_version_gen): No need for an extra $(srcdir) + in the path when we always use after `cd $(srcdir). + +2011-11-08 Gary V. Vaughan + + libtoolize: massage installed auxiliary script list at make time. + + * Makefile.am (configure_edit): Rename pkgconfig_files + substitution to pkgaux_files, and add pkgaux_install_files and + pkgaux_parent_files substitutions for atlocal. + (pkgauxdir): Where to install pkgaux_files. + (auxfiles): Removed, and replaced by... + (pkgaux_parent_files, pkgaux_install_files, pkgaux_data_files): + ...these, which separate the files lists more logically for + easier installation, and use by libtoolize.m4sh. + (uninstall-hook): Adjust. + (tests/atlocal): Adjust. + * bootstrap.conf (libtool_link_libltdl_subdirs): Adjust. + * libtoolize.m4sh (func_install_pkgconfig_files) + (func_install_pkgconfig_subproject) + (func_install_pkgconfig_parent, func_install_pkgconfig_files) + (all_pkgconfig_files): Renamed to... + (func_install_pkgaux_files, unc_install_pkgaux_subproject) + (func_install_pkgaux_parent, func_install_pkgaux_files) + (all_pkgaux_files): ...these, resp. Adjust all callers. + (func_massage_pkgconfig_files): Removed. + (pkgaux_files): List of all auxiliary scripts substituted from + Makefile. + +2011-11-08 Gary V. Vaughan + + libtoolize: massage installed libltdl file list at make time. + + * libtoolize.m4sh (pkgltdldir, pkgdatadir): Put installable + libltdl files in pkgdatadir. When testing, and _lt_pkgdatadir + is set, adjust to look in libltdl subdirectory. + (func_massage_pkgltdl_files): Removed function and only caller, + because... + (pkgltdl_files): ...we substitute the pre-massaged files + directly... + (func_install_pkgltdl_files): ...from here. + Adjust installation of specially handled additional files. + * Makefile.am (ltdldir): Location of libltdl files in source + tree. + (ltdldest, ltdldatafiles): Removed. + (pkgltdl_files): New pre-massaged list of libltdl sources. + (install-data-local, uninstall-hook): Use it. + * tests/libtoolize.at: Reorder expected output to match actual + libtoolize output. + +2011-11-08 Gary V. Vaughan + + libtoolize: massage installed macro list at make time. + + * libtoolize.m4sh (func_massage_aclocal_DATA): Removed function + and only caller, because... + (pkgmacro_files): ...we substitute the pre-massaged files + directly... + (func_install_pkgmacro_files): ...from here. + * Makefile.am (pkgmacro_files): New pre-massaged list of aclocal + macros used by func_install_pkgmacro_files. + (configure_edit): Substitute pkgmacro_files instead of + aclocalfiles. + +2011-11-08 Gary V. Vaughan + + libtoolize: use only space delimited file lists. + + We don't install any files with whitespace in their file name, + so using colon delimited lists to make that possible was a + premature optimisation and an unneeded complication. + * libtoolize.m4sh (func_copy_some_files): Remove IFS twiddling, + and just pull space delimited files in a for loop idiomatically. + (func_massage_aclocal_DATA, func_install_pkgmacro_subproject) + (func_install_pkgmacro_parent, func_install_pkgmacro_files) + (func_massage_pkgltdl_files, func_massage_pkgconfig_files): + Append to file lists with space delimiter. + +2011-11-08 Gary V. Vaughan + + libtoolize: remove sed based configure scanning. + + * libtoolize (func_scan_files): Removed function and callers. + (require_seen_ltdl, require_seen_libtool): Factor out remaining + functionality of former sed based scanning. + (func_check_macros): Adjust. + * NEWS: Updated. + +2011-11-08 Gary V. Vaughan + + libtoolize: refactor ltdl_mode discovery. + + * libtoolize.m4sh (require_ac_ltdl_mode) + (require_ac_ltdl_options, require_ltdl_mode): New functions + factored out of func_scan_files for scanning and setting + ltdl_mode and friends. + (func_scan_files): Remove the factored out code. + (func_install_pkgmacro_files, func_install_pkgltdl_files) + (func_install_pkgconfig_files, func_check_macros): Adjust. + +2011-11-08 Gary V. Vaughan + + libtoolize: refactor ltdl_dir discovery. + + * libtoolize.m4sh (require_ac_ltdl_dir, require_ltdl_dir): + New functions factored out of func_scan_files for scanning and + setting ac_ltdl_dir and ltdl_dir resp. + (func_scan_files): Remove the factored out code. + (func_fixup_Makefile, func_serial_update_check) + (func_install_pkgltdl_files, func_install_pkgconfig_subproject) + (func_check_macros): Adjust. + +2011-11-08 Gary V. Vaughan + + libtoolize: refactor aux_dir discovery. + + * libtoolize.m4sh (require_ac_aux_dir, require_aux_dir): New + functions factored out of func_scan_files for scanning and + setting aux_dir and friends. + (func_scan_files): Remove the factored out code to scan + configure.ac with sed, and then set macro_dir appropriately. + (func_install_pkgconfig_subproject, func_install_pkgconfig_parent) + (func_install_pkgmacro_files, func_check_macros): Adjust. + +2011-11-08 Gary V. Vaughan + + libtoolize: install autoconf macros only if there is a $configure_ac. + + * libtoolize.m4sh (func_install_pkgmacro_files): If there is no + $configure_ac in the parent project directory, and libtoolize is + in subproject mode, then the parent project has no use for + autoconf macros, so don't install them. + * NEWS: Updated. + +2011-11-08 Gary V. Vaughan + + libtoolize: display aux files output header for non-autoconf parents. + + * libtoolize.m4sh (func_install_pkgconfig_subproject): When the + parent project does not use Autoconf, be sure to display an + output header before copying auxiliary files despite not being + able to scan for AC_CONFIG_AUX_DIR arguments. + * NEWS: Updated. + +2011-11-08 Gary V. Vaughan + + libtoolize: refactor macro_dir discovery around extract-trace script. + + * libtoolize.m4sh (func_extract_trace): Function to call + $aux_dir/extract-trace. The name and footprint are the same as + the core function in the extract-trace script file so that we + can choose to source that file when the option processing + becomes compatible with ours. + (require_ac_macro_dir, require_aclocal_amflags) + (require_am_macro_dir, require_macro_dir, require_makefile_am): + New functions factored out of func_scan_files for scanning and + setting macro_dir and friends. + (func_scan_files): Remove the factored out code to scan + configure.ac with sed, and then set macro_dir appropriately. + (func_serial_update_check, func_install_pkgmacro_subproject) + (func_install_pkgmacro_parent, func_install_pkgmacro_files) + (func_check_macros): Adjust. + * tests/libtoolize.at (Subproject ltdl without GNU M4): New test + to ensure `libtoolize --subproject' continues to work without a + GNU M4 dependency. + * NEWS: Updated. + +2011-11-08 Gary V. Vaughan + + libtoolize: refactor configure_ac discovery. + + Make a start on decomposing some of the giant functions at the + heart of libtoolize into the much more flexible and manageable + (albeit somewhat more verbose) model of self-organising + $require_ function pointers. + * libtoolize.m4sh (require_configure_ac): New function factored + out of func_scan_files for setting $configure_ac appropriately, + implementation taken from extract-trace script. + (func_autoconf_configure): And similarly for ensuring that a + filename which matches something Autoconf would read also has + content that appears to be destined for Autoconf processing. + (func_scan_files): Simplified the factored out code to a single + require_configure_ac call. + (func_install_pkgconfig_files, func_check_macros): Ditto. + (seen_autoconf): Removed. + +2011-11-08 Gary V. Vaughan + + bootstrap: split into reusable parts. + + * bootstrap: Bourne shell has no scoping, so be extremely + careful with namespaces, functions in `^func_' and `^require_'; + private variables in `^_G_', and public variables all well + documented by comments. + * libltdl/config/extract-trace: New file, containing the minimum + of code previously in bootstrap plus a little glue to make the + GNU M4 based autotools tracing function (as opposed to the + kludgy sed extraction currently used everywhere else) a + standalone script that can be executed or sourced. + * libltdl/config/options-parser: New file, containing the + pluggable options parser code shared between the other two. + * bootstrap.conf: Adjust. + * Makefile.am (EXTRA_DIST): Be sure to distribute the new + extract-trace and options-parser scripts. + (install-data-local): And install them where libtoolize can find + them. + +2011-11-08 Gary V. Vaughan + + tests: prefix absolute directory variables with 'abs_'. + + Avoid any possible confusion about the contests of thes + variables compared to $aux_dir, $macro_dir and $src_dir in + configure.ac, Makefile.am, libtoolize.m4sh and others. + * tests/defs.m4sh (aux_dir, macro_dir, srcdir): Rename these... + (abs_aux_dir, abs_macro_dir, abs_srcdir): ...to these resp. + * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, + tests/cdemo-static-exec.test, tests/cdemo-static-make.test, + tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, + tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, + tests/demo-nofast-make.test, tests/demo-nofast-unst.test, + tests/demo-nopic-exec.test, tests/demo-nopic-make.test, + tests/demo-pic-exec.test, tests/demo-pic-make.test, + tests/demo-shared-exec.test, tests/demo-shared-inst.test, + tests/demo-shared-make.test, tests/demo-shared-unst.test, + tests/demo-static-exec.test, tests/demo-static-inst.test, + tests/demo-static-make.test, tests/demo-static-unst.test, + tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, + tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, + tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, + tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, + tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, + tests/depdemo-static-make.test, tests/depdemo-static-unst.test, + tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, + tests/f77demo-static-exec.test, tests/f77demo-static-make.test, + tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, + tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, + tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, + tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, + tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, + tests/mdemo-static-make.test, tests/mdemo-static-unst.test, + tests/sh.test, tests/tagdemo-shared-exec.test, + tests/tagdemo-shared-make.test, tests/tagdemo-static-exec.test, + tests/tagdemo-static-make.test, tests/tagdemo-undef-exec.test, + tests/tagdemo-undef-make.test, tests/tagtrace.test: Adjust. + +2011-11-08 Gary V. Vaughan + + maint: calculate required mkinstalldirs calls during `make install'. + + * Makefile.am (install-data-local): Make sure all destination + directories are in place before copying files there, without + hardcoding them. + +2011-11-08 Gary V. Vaughan + + maint: substitute static directory names. + + By substituting just the directory name as passed to the macro, + aux_dir can be used with or without $srcdir prefix, which is + more flexible, and always means the same thing in each file, + rather than sometimes being a directory name, sometimes relative + to $top_srcdir. + * configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR) + (LT_CONFIG_LTDL_DIR): Don't force config.status substitutions + with unexpanded shell variables. + * Makefile.am, tests/defs.m4sh: Adjust. + +2011-11-07 Peter Rosin + + libtoolize: fix spelling nit. + + * libtoolize (M4SH_GETOPTS): Fix spelling nit. + +2011-11-07 Gary V. Vaughan + + tests: fix parsing of configure output by pic_flag.at. + + Close http://debbugs.gnu.org/9962. + * tests/pic_flag.at (LT_AT_CONFIGURE): Make sure to configure + with --disable-silent-rules so that the full output parsed by + the rest of the test is available. + Reported by Roumen Petrov. + +2011-11-07 Gary V. Vaughan + + libtoolize: rename `--subproject' option, and make it work. + + * libtoolize (M4SH_GETOPTS): Remove `--standalone', which never + worked, and add `--subproject' which sets ltdl_mode correctly. + +2011-11-05 Gary V. Vaughan + + libtoolize: fix a scoping bug in func_aclocal_update_check. + + libtoolize.m4sh (func_aclocal_update_check): This body of this + function used a global variable set by the outer loop of the + caller. Fix to Use the function argument correctly. + +2011-11-05 Gary V. Vaughan + + maint: rename the debug shell command variable to `debug_cmd'. + + Not only does it make more sense, it also matches bootstrap and + others. + * libtoolize.m4sh, libltdl/config/ltmain.m4sh, + libltdl/config/getopt.m4sh, tests/defs.m4sh (opt_debug): Rename + to debug_cmd. + +2011-11-05 Gary V. Vaughan + + maint: dynamically strip unused scripts from libltdl Makefile. + + * configure.ac (pkgaux_scripts): Centrally maintain the complete + list of aux scripts required to build libltdl, and which need to + be installed by libtoolize --ltdl, and consequently need to be + placed in $pkgdatadir by make install. + * Makefile.am (libltdl/stamp.mk): Improved to strip the unused + scripts not listed in pkgaux_scripts without the need for manual + synchronisation. + (auxexefiles): Removed. Replaced by new pkgaux_scripts + substitution. + (install-data-local): Adjust. + +2011-11-05 Gary V. Vaughan + + build: substitute paths into defs.m4sh instead of recalculating. + + * Makefile.am (configure_edit): Add substitutions for aux_dir, + macro_dir and srcdir. + * tests/defs.m4sh: Don't recalculate srcdir. + (aux_dir, macro_dir, srcdir): Convert to absolute paths. + +2011-11-05 Gary V. Vaughan + + build: support AM_SILENT_RULES + + * configure.ac: Add AM_SILENT_RULES. + * libltdl/configure.ac: Ditto, but only if defined. + * Makefile.am (.version, ChangeLog, README, doc/notes.txt) + (libtool, libtoolize, libtoolize.in, libltdl/Makefile.am) + (libltdl/stamp-mk, m4/ltversion.m4, tests/atconfig, tests/defs) + (tests/defs.in, tests/package.m4): Output an AM_SILENT_RULES-like + GEN when V==0. + * libltdl/Makfile.inc (libltdl/argz.h): Ditto. + +2011-10-31 Gary V. Vaughan + + maint: add autobuild prerequisite only if autobuild.m4 is absent. + + * bootstrap (func_require_autobuild_buildreq): Skip if autobuild.m4 + is already present. + * bootstrap.conf (require_autobuild_bulidreq): No need to set this + specially any more. + +2011-10-31 Gary V. Vaughan + + maint: ensure bootstrap runs from dist tarball. + + * bootstrap (func_gnulib_tool_copy_file): When gnulib-tool is + not available, check that there is a copy of the file from a + previous run available before bailing out with a diagnostic. + (func_install_gnulib_non_module_files): Don't diagnose missing + files explicitly - func_gnulib_tool_copy_file takes care of it + now. + (func_require_checkout_only_file): In the diagnostic for + not being in a source-controlled tree, note that `--force' must + be used to rebootstrap. + (func_require_gnulib_files_already_present): Removed. All the + necessary checks are correctly performed in + func_gnulib_tool_copy_file withot resorting to heuristics. + (func_require_gnulib_mk): Don't continue to try to access + gnulib-cache.m4 after discovering we're running from a dist + tarball. + (func_require_dotgitmodules_parameters): Skip if .gitmodules + file is missing and git binary is not available. + * bootstrap.conf (checkout_only_file): Set to HACKING, which is + a non-distributed file. + (libtool_cleanup_empty_dirs): Don't print spurious errors when + trying to delete gnulib-tool droppings, in case gnulib-tool is + not available on this run. + +2011-10-31 Gary V. Vaughan + + tests: add a keyword `expensive' to very long running tests. + + * tests/cmdline_wrap.at, tests/stresstest.at (AT_KEYWORDS): Add + `expensive'. + * NEWS: Updated. + +2011-10-31 Gary V. Vaughan + + libtoolize: fix some long-standing sed substitution bugs + + * libtoolize.m4sh (func_fixup_Makefile): `\\\\\$' in a " quoted + script that is evaluated twice before execution becomes a `\$', + which sed interprets as a literal $. The script will then delete + any lines with a first non-whitespace character of `$'. Instead + use `\\\\$' in single quotes, which sed eventually receives as + `\\$' and correctly interprets as part of an instruction to + delete otherwise empty lines ending with a `\'. + Additionally the rest of the same sed script is no longer + applied to comment lines to avoid munging the copyright header + among others. + * NEWS: Updated. + +2011-10-27 Gary V. Vaughan + + maint: use gnulib's gitlog-to-changelog instead of a ChangeLog file. + + * ChangeLog: Removed. + * HACKING (Editing 'ChangeLog'): Removed. Renumbered other sections to + compensate. + * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. + * Makefile.am (ChangeLog): Generate the ChangeLog for 2011... + (dist-hook): ...from the output of `git log' before rolling a + distribution tarball. + +2011-10-27 Gary V. Vaughan + + maint: use gnulib's git-version-gen instead of mkstamp. + + * libltdl/config/mkstamp: File removed. + * bootstrap.conf (gnulib_modules): Add git-version-gen. + * configure.ac (AC_INIT, package_revision): Use git-version-gen to + calculate version number. + (TIMESTAMP): Removed. + * libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 + (TIMESTAMP): Ditto. + * Makefile.am (TIMESTAMP): Ditto. + (MKSTAMP): Renamed from this... + (git_version_gen): ...to this. Set revision here. An alpha is now a + release with an odd micro relase number. + (rebuild): Don't reset revision here. + (build_scripts): Remove mkstamp, add git-version-gen. + (EXTRA_DIST, BUILT_SOURCES): Add .version. + (libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4, tests/package.m4): + Don't depend on configure.ac or ChangeLog to determine when the + version number has reved, use .version directly. + (.version): Flush most recent configure calculated VERSION to disk. + (dist-hook): Flush current VERSION to disk at dist time. + (dotserial): Distributed file to cache the serial number for + when git is not available to recalculate it when building from a + release tarball. + (dist-hook): Make sure .serial is created. + (libltdl/config/ltversion.m4): Use .serial when it is present + (in a dist tarball) or calculate with git otherwise (in a git + working directory). + (EXTRA_DIST): Add .serial file. + +2011-10-27 Gary V. Vaughan + + maint: use gnulib's maint.mk and support scripts release procedure. + + * Makefile.maint: Removed. + * configure.ac (LASTRELEASE, lt_major, lt_minor, lt_micro, lt_alpha): + All removed. Makefile.maint was the only client. + * HACKING (Release Procedure): Removed. + * bootstrap.conf (gnulib_modules): Add announce-gen, + do-release-commit-and-tag, gendocs, gnu-web-doc-update, gnupload and + readme-release. + * cfg.mk (manual_title): Set it for web-manual rule. + (announcement_Cc_): Release announcement email addresses. + * Makefile.am (build_scripts): Add to EXTRA_DIST additional files + imported from gnulib for maint.mk release procedure. + * NEWS: Updated. + +2011-10-24 Gary V. Vaughan + + tests: ensure VPATH autom4te search path can find autotests. + + * Makefile.am (tests/testsuite): Passing only $(srcdir) include path + to autom4te is unable to find tests/package.m4, and passing only + $(srcdir)/tests breaks VPATH build searches for TESTSUITE_AT files, + which are relative to $(srcdir)... so we pass both! + * NEWS: Updated. + Reported by Bob Friesenhahn. + +2011-10-24 Karl Berry + + doc: modernize libtool.texi. + + * libtool.texi (@copying): Use this instead of @ifnottex; format for + Texinfo; eliminate obsolete paragraph about TeX; use @insertcopying + instead of duplicating text. + (@syncodeindex): Move all to the Texinfo header, where they belong. + (@dircategory): Use "Software development" instead of "GNU programming + tools", for consistency; and align individual entries to avoid + multiple lines; and move to after the copyright message. + +2011-10-24 Gary V. Vaughan + + maint: don't make autobuild a hard bootstrap requirement. + + * bootstrap.conf (require_autobuild_buildreq): Reset this to ':' so + that bootstrap doesn't auto-add autobuild to $buildreq. + +2011-10-23 Gary V. Vaughan + + maint: use gnulib's maintainer-makefile module. + + * bootstrap.conf (gnulib_modules): Add maintainer-makefile. + (gnulib_tool_options): Add --avoid=dummy now that we have a real + module to import. + * cfg.mk: New file. Customize maint.mk for Libtool. + * Makefile.am (EXTRA_DIST): Add GNUmakefile, cfg.mk and maint.mk. + +2011-10-23 Gary V. Vaughan + + maint: use gnulib's canonical fdl.texi. + + * doc/fdl.texi: Removed. + * bootstrap.conf (gnulib_non_module_files): Add fdl.texi. + +2011-10-23 Gary V. Vaughan + + maint: use gnulib's canonical COPYING files. + + * COPYING, libltdl/COPYING.LIB: Removed. + * bootstrap.conf (gnulib_non_module_files): Add COPYING. + (libtool_add_libltdl_copying): New func_gnulib_tool hook + function to copy the canonical LGPL2 COPYING file from gnulib at + bootstrap. + +2011-10-23 Gary V. Vaughan + + maint: use gnulib's (pending saner) bootstrap script. + + * bootstrap: Replaced with gnulib script. + * bootstrap.conf: New file with Libtool specific bootstrap + configuration. + * Makefile.am (EXTRA_DIST): Add bootstrap.conf. + +2011-10-23 Gary V. Vaughan + + maint: add gnulib submodule. + + * configure.ac (GL_INIT, GL_EARLY): Initialise gnulib, and expand + its configure time checks. + * .gitmodules (gnulib): New file with configuration for our + gnulib git submodule. + +2011-10-22 Gary V. Vaughan + + maint: tidy, sort and consolidate .gitignore files. + + The `gnulib-tool' and gnulib `bootstrap' scripts maintain + `.gitignore' files in asciibetical order, so reorder them now + to avoid spurious patches later. + + Take advantage of putting recursive file ignore matches into + `$top_srcdir/.gitignore' and remove repetitions from other + `.gitignore' files. + +2011-10-22 Gary V. Vaughan + + maint: don't run help2man on programs not-yet-built. + + * Makefile.am (doc/libtool.1, doc/libtoolize.1): Added a + comment about why the dependencies here have to be a mite + bizarre. + +2011-10-22 Gary V. Vaughan + + tests: remove unused `aux_dir' variable from `getopt-m4sh.test'. + + * tests/getopt-m4sh.at (aux_dir): Remove unused variable. + +2011-10-22 Gary V. Vaughan + + tests: DRYing out `tests/sh.test'. + + * Makefile.am (libtool_m4): Canonical location of libtool.m4 file. + (lt_aclocal_m4_deps): Use it. + +2011-10-22 Gary V. Vaughan + + maint: pass directory declarations in configure.ac into Makefile. + + * configure.ac (AC_CONFIG_AUX_DIR, LT_CONFIG_LTDL_DIR) + (AC_CONFIG_MACRO_DIR): Append code to these functions to + capture and propagate their directory arguments to Makefile. + * Makefile.am (aux_dir, ltdl_dir, macro_dir): Remove declarations. + * bootstrap (my_sed_trace): Also capture LT_CONFIG_LTDL_DIR into + `$ltdl_dir'. + : Output the extracted values of `aux_dir', `ltdl_dir' + and `macro_dir' at the top of the quick'n'dirty bootstrap + Makefile. + +2011-10-22 Gary V. Vaughan + + maint: factor out ltmain.sh variable deletion. + + * Makefile.am (ltmain_sh_edit): Expand upon bootstrap edit by + adding the extra line to delete boilerplate variable settings + from libltdl/config/general.m4sh that don't apply here. + (libltdl/config/ltmain.sh): Use it. + +2011-10-22 Gary V. Vaughan + + maint: DRYing out `Makefile.am' file paths. + + * Makefile.am (aux_dir, macro_dir): Include `$(srcdir)' in + declaration. Adjust all references. + (doc_dir, ltdl_dir, m4sh_dir, tests_dir): New single location + to hold directory paths, all including `$(srcdir)', to reduce + typing. + (LT_M4SH): Use `$m4sh_dir' as include directory. + (defs): This one is for a file in the build-tree, so no + leading `$(srcdir)'. + +2011-10-22 Gary V. Vaughan + + CLEANUP: fix error from pushing too far up the branch. + + * Makefile.am (install-data-local): Undo character transposition + from too early push of untested v2.4-17-gaf74d58. + * ChangeLog (2010-09-16): Remove spurious entry. + +2011-10-22 Gary V. Vaughan + + maint: use macro_dir consistently in all files. + + * Makefile.am: Replace all uses of m4dir with macrodir to + match AC_CONFIG_MACRO_DIR. + * libltdl/config/libtoolize.m4sh: Replace all uses of macrodir + with macro_dir. + * tests/defs.m4sh, tests/sh.test: Likewise. + +2011-10-22 Gary V. Vaughan + + maint: use aux_dir consistently in all files. + + * Makefile.am, Makefile.maint: Replace all uses of auxdir + with aux_dir to match AC_CONFIG_AUX_DIR. + * libltdl/config/libtoolize.m4sh: Likewise. + * tests/defs.m4sh, tests/getopt-m4sh.at: Likewise. + +2011-10-22 Gary V. Vaughan + + Makefile: try to be robust against shell meta-chars in filenames. + + * Makefile.am: In each rule body, unless a make variable needs + to be seen as multiple words by the shell (for word-splitting + loops, or because it contains several commands), quote it. Use + single quotes unless the shell needs to perform variable inter- + polation, in which case use double quotes. + +2011-10-20 Gary V. Vaughan + + maint: let make employ user's `SED' setting. + + * Makefile.am: Replace hard-coded `sed' with `$(SED)' through- + out. + +2011-10-20 Gary V. Vaughan + + maint: simplify and improve safety of bootstrap process. + + * Makefile.am (bootstrap_files): List files that need to be + generated at bootstrap time before `./configure && make' can + work. It turns out that this is considerably fewer files than we + had thought necessary previously. + (bootstrap-deps-prep): Ensure minimum set of required substitution + variables are non-empty. + (bootstrap-deps): Depend on `bootstrap' files. + * bootstrap (Generate bootstrap dependencies): Now that + `Makefile.am' is entirely responsible for rebuilding files at + bootstrap time, we need only specify the new `bootstrap-deps' + target, and supply values for the substitutions checked by + `bootstrap-deps-prep'. + * configure.ac (AC_CONFIG_SRCDIR): `libtoolize.in' is not here yet + right after running `bootstrap'. So rely on the presence of + `libltdl/config/libtoolize.m4sh', which is always there. + +2011-10-20 Gary V. Vaughan + + build: eliminate superfluous temporary files from `Makefile.am'. + + * Makefile.am (CLEANFILES): Remove temporary file entries. + (libtoolize.in, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) + (tests/defs, tests/testsuite): Factor away temporary files. + +2011-10-20 Gary V. Vaughan + + build: eliminate `ltmain.in' and `libtoolize.in' intermediate files. + + * Makefile.am (libltdl/config/ltmain.sh, libtoolize.in): Pipe + the output of `$(LT_M4SH)' directly into `$(bootstrap_edit)' to + avoid use of superfluous intermediate file. + +2011-10-20 Gary V. Vaughan + + build: don't hardcode repeated long paths in Makefile rules. + + According to the DRY principle, scattering several copies of + something across a file or project leads to pain. Let's not + do that! + * Makefile.am (Makefile_in, Makefile_inc, defs_in, defs_m4sh), + (libtoolize_in, ltmain_m4sh, ltversion_in): New variables to + hold the location of important files and targets. + (EXTRA_DIST): Add the distributed ones by variable. + (libtoolize, libltdl/Makefile.am, libltdl/m4/ltversion.m4) + (libltdl/config/ltmain.sh, libltdl/stamp-mk, tests/defs) + (tests/defs.in): Use the new variables to reduce noise and + repetition. + +2011-10-20 Gary V. Vaughan + + build: make better use of automatic variables in `Makefile.am'. + + * Makefile.am (libtoolize, libtoolize.in, libltdl/Makefile.am) + (libltdl/config/mkstamp, libltdl/config/ltmain.m4sh) + (libltdl/m4/ltversion.m4, tests/testsuite, tests/defs.in): + Make better use of automatic variables. + +2011-10-20 Gary V. Vaughan + + build: name temporary files in `Makefile.am' consistently. + + Sadly, we still have to jump through hoops for MICROS~1's very + old, very broken 8.3 naming convention, so we have to be careful + to be unique in the first 8 letters, and not to use two periods + in a filename, otherwise we could use the much more elegent + `temporary files use "$@T"' idiom: + * Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file + to `ltversion.tmp'. + (libltdl/config/ltmain.sh): Rename temporary file to + `libltdl/config/ltmain.tmp'. + (libtoolize): Rename temporary file to `libtoolize.tmp'. + (tests/defs): Rename temporary file to `tests/defs.tmp' + (tests/testsuite): Rename temporary file to `tests/testsuite.tmp'. + (CLEANFILES): Append temporary files as we create rules that + use them. + +2011-10-20 Gary V. Vaughan + + build: factor Makefile.am `m4sh' invocations to LT_M4SH. + + * Makefile.am (LT_M4SH): Now that all directories are listed as + fully qualified paths, the search path argument to M4SH is always + the same, so factor it out into a variable. Adjust all callers. + +2011-10-20 Gary V. Vaughan + + build: avoid unnecessary directory changes in Makefile rules. + + * Makefile.am (doc/notes.txt, libltdl/m4/ltversion.m4, + (libltdl/config/ltmain.m4sh, libtoolize.in, libltdl/Makefile.am) + (libltdl/config/mkstamp, tests/testsuite, tests/defs.in): Avoid + unnecessary `cd' commands by using fully qualified paths to files + outside of current directory. + +2011-10-20 Gary V. Vaughan + + build: compare `revision' rather than `correctver' in Makefile.am. + + * Makefile.am (rebuild): Set the shell variable `revision' rather + than `correctver' for clarity of purpose. + (bootstrap_edit, libltdl/config/ltmain.sh): Adjust. + (libltdl/m4/ltversion.m4): Likewise, and alse, instead of munging + the serial number comment line with set, extract `macro_version' + from this file, and compare it directly with `revision'. + (libtool): Likewise for `package_revision'. + +2011-10-20 Gary V. Vaughan + + build: avoid spurious bootstrap_edit call. + + * Makefile.am (tests/package.m4): @FOO@ substitutions have already + been made by the time Makefile.am has been transformed into Makefile, + so don't try to rerun the substitutions manually with + $(bootstrap_edit) after the fact. + +2011-10-18 Gary V. Vaughan + + Post-release administrivia. + + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + numbers. + * NEWS: Add header line for next release. + +2011-10-18 Gary V. Vaughan + + Release 2.4.2. + + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + numbers. + * NEWS: Update version number. + +2011-10-17 Gary V. Vaughan + + Replace leading spaces with tabs. + * libltdl/m4/libtool.m4, libltdl/config/ltmain.m4sh: Replace leading + spaces in source code with tabs to match surrounding code. + Reported by Peter Rosin. + + Make a note to use gnu/linux for version_type. + * libltdl/m4/libtool.m4 (version_type): Add a comment to change + version_type setting from 'linux' to 'gnu/linux' during the next + destabilising code refactoring. + * libltdl/config/ltmain.m4sh: ditto. + Requested by Richard Stallman. + +2011-10-04 Bart Van Assche + + Typo fix - change func_apped into func_append + + * libltdl/config/ltmain.m4sh: Fix typo. + +2011-10-02 Xin LI + + Avoid problems when FreeBSD goes to version 10. + + * libltdl/m4/libtool.m4: Remove mentions of freebsd1. Use dots + for FreeBSD 2 and 3 detection to avoid future problems + * libltdl/m4/ltmain.m4sh: ditto. + +2011-09-25 Cristophe Jarry + + Avoid mentioning "Linux", use "GNU/Linux", if appropriate. + * TODO: Don't use bare "Linux". + * doc/libtool.texi: ditto. + * doc/notes.texi: ditto. + * libltdl/README: ditto. + * libltdl/m4/libtool.m4: ditto. + +2011-09-01 Peter O'Gorman + + Add flag to inhibit warnings. + + * libltdl/config/ltmain.m4sh: Add --no-warn, --no-warning flags. + Reported by John David Anglin. + +2011-04-10 Kurt Roeckx + + tagdemo: do not rely on picking up symbols from indirect deps. + + * tests/tagdemo/Makefile.am: Link to all libraries that the + demo application uses. + +2011-04-10 Svante Signell (tiny change) + + Set shlibpath_overrides_runpath for the Hurd. + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [gnu] + : Set to no. + * THANKS: Update. + +2011-03-22 Justin Lecher (tiny change) + Rhys Ulerich + + Don't filter OPENMP flags (-openmp & -fopenmp) from linker lines. + If -fopenmp if passed to gcc during linking, it will take care to + add all necessary libs to link correctly for openmp support. + Currently libtool filters those flags, similar as it was the + case with the threading flags. This change handles the situation + for the openmp support similar as before the thread support + was fixed. + http://lists.gnu.org/archive/html/bug-libtool/2010-12/msg00009.html + http://lists.gnu.org/archive/html/bug-libtool/2011-03/msg00014.html + * libltdl/config/ltmain.m4sh (func_mode_link): Treat OpenMP + flags like pthreads flags. + +2011-03-14 Ralf Wildenhues + + libtoolize: detect -I (without space) in ACLOCAL_AMFLAGS. + + * libtoolize.m4sh (func_scan_files): Also accept -I + (without intervening space) in ACLOCAL_AMFLAGS. + * THANKS: Update. + Report from Jan Engelhardt. + +2011-03-05 Peter O'Gorman + + On Mac OS X try .dylib as well as .so with lt_dlopenext + + * libltdl/m4/ltdl.m4: Define extra extension if module extension + differs from shared lib extension. + * libltdl/ltdl.c: Use it. + * tests/darwin.at: Test it. + * NEWS: Announce it. + Reported by Hans Aberg, Michael Ellis, and others. + +2011-02-14 Peter O'Gorman + + Install ltmain.sh without execute bit set. + + * Makefile.am: change install rule for ltmain.sh + Reported by KĹ™ištof Ĺ˝elechovski. + +2011-02-07 Ralf Wildenhues + + docs: fix copyright years in PDF version of the manual. + + * doc/libtool.texi: Fix copyright years. + +2011-02-01 Ralf Wildenhues + + fix typo in ChangeLog + +2011-02-01 Rainer Orth + + Fix LD setting for 64-bit Solaris 2/x86. + + * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [*-*-solaris*): + Determine GNU ld options for 64-bit Solaris 2/x86. Detect gld + 2.21 _sol2 emulations. + +2011-01-27 Peter O'Gorman + + Don't loop through wrapper script arguments unnecessarily. + + * libltdl/m4/ltmain.m4sh: Check that argv contains " --lt-" + before looping to remove wrapper script targetted arguments. + Performance regression reported by Dan McGee. + +2011-01-20 Gerald Pfeifer (tiny change) + + Remove support for FreeBSD 1.x. + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) + (_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which + soon would incorrectly match FreeBSD 10.0. + * NEWS, THANKS: Update. + +2011-01-19 Peter O'Gorman + + Don't let verbose linker messages influence test results. + + * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Ignore + stderr during tests for -flag unless it contains "flag". + * tests/darwin.at: Add test. + Reported by Jeremy Huddleston and also by David Fang. + +2011-01-09 John David Anglin (tiny change) + + Fix relink mode to use absolute path if hardcode_minus_L. + + * libltdl/config/ltmain.m4sh (func_mode_link): Use absolute path + when hardcoding with -L. + +2011-01-09 Ralf Wildenhues + + Fix $wl setting for Solaris Studio 12.2 f90 on GNU/Linux. + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] + : Set to '-Qoption ld ' if we + detect Sun Fortran version 8.4 or newer. + Report by Terry Dontje. + +2011-01-07 Peter Rosin + + Convert file name to toolchain format when blessing archives. + + * libltdl/config/ltmain.m4sh (func_mode_install): When executing + old_postinstall_cmds and old_archive_cmds, convert $oldlib to a + format appropriate for the tool and provide that in $tool_oldlib. + Also use $tool_oldlib when stripping old libraries. + * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Use $tool_oldlib + as argument to $RANLIB. + * THANKS: Update. + Report by Dan McMahill. + +2011-01-02 Ralf Wildenhues + + Bump copyright years. + + * ChangeLog.2010: New, rotated from ... + * ChangeLog: ... here. + * Makefile.am (EXTRA_DIST): Add ChangeLog.2010. + * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. + * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. + * libtoolize.m4sh: Likewise. + * doc/libtool.texi: Likewise. + +2010-12-20 Ian Lance Taylor + + * libltdl/m4/libtool.m4 (LT_LANG): Add Go. + (AC_PROG_GO): Provide. + (_LT_SYS_HIDDEN_LIBDEPS): Add Go case. + (_LT_LANG_GO_CONFIG): Define. + (LT_PROG_GO): Define. + (AC_PROG_GO): Define if not defined. + * libltdl/config/ltmain.m4sh: Match *.go. + * doc/libtool.texi (LT_INIT): Mention Go. + (Tags): Mention Go. + * configure.ac: Enable Go. + * NEWS: Update. + +2010-12-20 Brice De Bruyne (tiny change) + + Also turn off -fuse-linker-plugin for postdep_objects computation. + * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Add + -fno-use-linker-plugin to temporary compile flags if necessary, + to fix C++ postdep_objects setting with -flto + -fuse-linker-plugin. + * NEWS, THANKS: Update. + +2010-12-20 KO Myung-Hun (tiny change) + + Set command line length limit for OS/2. + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [os2] + : Set to 8192 to avoid long test. + +2010-12-20 Ralf Wildenhues + + Fix PIC flags with mpif77 using ifort on GNU/Linux. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: + Match Intel compiler also using $CC -V output, to avoid false + negatives with compiler drivers like mpif77. + Report by Christian Rössel. + +2010-12-16 Ralf Wildenhues + + Fix PIC flags with MPI wrappers using Portland on GNU/Linux. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: + Match Portland compilers also using $CC -V output, to avoid + false negatives with MPI compiler drivers. + Report by Christian Rössel. + + * libltdl/m4/libtool.m4 (_LT_SETUP): Fix quoting for + PATH_SEPARATOR. + +2010-12-15 KO Myung-Hun (tiny change) + Ralf Wildenhues + + Fix PATH_SEPARATOR handling for OS/2. + * Makefile.am (update_mans): Quote $(PATH_SEPARATOR). + * libltdl/m4/libtool.m4 (_LT_SETUP): Add _LT_DECL for + PATH_SEPARATOR. + * libltdl/config/general.m4sh: Use PATH_SEPARATOR when computing + $progpath. + * THANKS: Update. + +2010-12-10 Ralf Wildenhues + + Fix nvcc PIC setting on darwin. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) + : Prepend -Xcompiler to nonempty variable + setting rather than hard-coding -Xcompiler -fPIC, for darwin. + * NEWS, THANKS: Update. + Report by PaweĹ‚ Daniluk. + + Honor $AUTOCONF, $AUTOMAKE in --help output. + * libltdl/config/getopt.m4sh (func_help): Use $AUTOCONF and + $AUTOMAKE if set, for --version outout. + + docs: Libtool configuration diagram. + * doc/libtool.texi (Integrating libtool): Add diagrams + explaining the dependencies between Libtool files. + Suggestion by Ethan Mallove. + +2010-11-15 Ralf Wildenhues + + Eliminate hardcode_libdir_flag_spec_ld tag variable. + * libltdl/config/ltmain.m4sh (func_mode_link): Set $wl to empty + if $LD is used for creating shared libraries. Do not use + hardcode_libdir_flag_spec_ld any more. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG, _LT_SYS_DYNAMIC_LINKER) + : Remove all instances of the tag + variable. + (_LT_LINKER_SHLIBS) [linux, xlf] : + Set variable, including ${wl}. Fixes hardcoding in programs + created by XL Fortran on GNU/Linux. + * NEWS, THANKS: Update. + Report by Paul H. Hargrove. + + Rebuild menus in the manual. + * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs). + Thanks to Ian Lance Taylor for the suggestion. + +2010-11-07 Ollie Wild + + Modify --with-pic to support per-package configurations. + * libltdl/m4/libtool.m4: Modify --with-pic to accept a list of + package names. Modelled off --enable-shared. + * tests/with-pic.at: New test. + * Makefile.am (TESTSUITE_AT): Add tests/with-pic.at. + * doc/libtool.texi (LT_INIT): Enhance documentation of + --with-pic configure flag. + * NEWS (New features): Mention that --with-pic now accepts a + comma-separated list of package names. + +2010-11-10 Ralf Wildenhues + + Fix cwrapper test failure with --disable-static. + * tests/cwrapper.at (cwrapper and installed shared libraries): + Compile program source without libtool, so we can be sure a + non-PIC object will be created. + +2010-11-01 Peter Rosin + + docs: Windows DLLs and headers. + * doc/libtool.texi (Platform quirks): Add new subsection + 'Windows DLLs'. + + * doc/libtool.texi (Platform quirks): Fix typo. + +2010-10-30 Ralf Wildenhues + + docs: mention shell requirement for libtool script. + * doc/libtool.texi (Invoking libtool): Document that the shell + used to invoke libtool needs to be the same used to configure + it. + * THANKS: Update. + Report by Markus Duft. + +2010-10-15 Gary V. Vaughan + + libtool: remove redundant unsubstituted shell var defaults. + * Makefile.am (libltdl/config/ltmain.sh): Boilerplate code from + libltdl/config/general.m4 sets some default shell variables + designed to be substituted by `$(configure_edit)'. Actually, + `libtool' uses the language tag values for those variables, and + `ltmain.m4sh' is not passed through `$(configure_edit)', so they + are just noise. Edit them out at bootstrap time. + +2010-10-15 Gary V. Vaughan + + maint: don't leak developer GREP, SED etc into distribution file. + * Makefile.am: Having rearranged the file, now apply the actual + changes to follow-up. + (edit): Split into two parts... + (bootstrap_edit): ...substitutions that should happen at bootstrap + time... + (configure_edit): ...and substitutions that should not happen until + configure time. + * Makefile.am (libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh) + (libtoolize.in, tests/package.m4): Use bootstrap_edit. + (libtoolize, tests/defs): Use configure_edit. + * HACKING (Release Procedure): Remove the note to workaround the + bug fixed by this changeset. + * NEWS (Bug fixes): Mention that this bug is now fixed. + Reported by Joerg Sonnenberger. + + maint: rearrange Makefile.am in preparation for a follow-up patch. + * Makefile.am (Libtool scripts.): Move this section below the + `Bootstrap.' section... + (libtoolize.in): ...except this one which is generated at + bootstrap time, and was added into the `Bootstrap.' section. + (Libltdl.): Move this section below the `Libtool scripts.' + section. + +2010-10-15 Ralf Wildenhues + + Fix linking from only convenience archives with gfortran on Darwin. + * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Update + macro comment header. + [darwin, F77, FC] : Set to yes if + whole_archive_flag_spec is nonempty. Fixes convenience.at test + suite failures with gfortran 4.2 on Darwin. + * THANKS: Update. + Report by Paul Laight. + + Fix bindir check logic, and relax non-bindir case for AIX. + * tests/bindir.at (bindir install tests): Rewrite checks for + place of the installed shared library in two separate tests, + depending on whether -bindir is supposed to have an effect or + not. In the positive case, make the test stricter so that we + reject libraries in $libdir. In the negative case, do not + require a major version number in the $libdir file name, for AIX + without runtimelinking. If tmpdir creation fails, skip the + test. Use fewer bindir directory names for testing, to speed + up the test. Also mention MSVC style DLL name in comment. + Report by Peter Rosin. + + tests: remove unneeded 'bindir compile check' test. + * tests/bindir.at (bindir compile check): Remove. + +2010-10-14 Peter Rosin + + tests: fix $EXEEXT typo. + * tests/depdemo-relink.test (func_restore_files): Use $EXEEXT + instead of $EXEXT. + +2010-10-12 Simon Josefsson + MatÄ›j Týč + Ralf Wildenhues + + docs: improve description of -no-undefined. + * doc/libtool.texi (Link mode): Fix -no-undefined description. + (Inter-library dependencies): Use Windows not AIX as example + system. Clarify need for symbol resolution at library creation + time. + +2010-10-09 Paolo Bonzini + + Add missing sysroot resolution. + * libltdl/config/ltmain.m4sh (func_mode_link): Resolve sysroot + when fetching the install directory of dependent libraries. + Reported by Lionel Landwerlin , + patch by Khem Raj . + * THANKS: Reorder entries, add Khem and Lionel. + +2010-10-07 Roumen Petrov + + Add test case for 69e77671 (cwrapper PATH manipulation order) + * tests/cwrapper.at: Add new test 'cwrapper and installed shared + libraries.' + +2010-10-04 Peter Rosin + + cwrapper: split long lines when dumping the wrapper script. + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): If + the wrapper script contains long lines, split them for + readability and to conform with C standards. + * tests/cwrapper.at (cwrapper string length): New test, making + sure we don't regress. + + msvc: handle symbols from different files independently. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) + : Make all sections + viable for symbol extraction again when the symbols from a new + file starts. Fixes tests/tagdemo-make.test for MSVC 10. + * tests/dumpbin-symbols.at: New test, making sure we don't + regress. + * Makefile.am (TESTSUITE_AT): Update. + +2010-09-27 Peter Rosin + + tests: check if sys_lib_search_path_spec works on MSVC. + * tests/search-path.at (sys_lib_search_path on w32): New test, + making sure v2.2.10-207-g09142ea doesn't regress. + + Skip need_lib_prefix.at on systems without lib prefix on libraries. + * tests/need_lib_prefix.at [MSVC, OS/2]: Skip this test on + systems that do not have libraries prefixed with lib. + + tests: clean up importing and exporting on w32. + Makes the touched tests pass for MSVC when DLLs are built. + * tests/demo/Makefile.am, tests/pdemo/Makefile.am: Define + BUILDING_LIBHELLO when building libhello.la. + * tests/demo/foo.h, tests/pdemo/foo.h (nothing) : Export + variable when building the libhello dll and import when using + libhello. For GCC and non-w32, and when building a static + libhello, leave as an ordinary extern. + * tests/pdemo/foo.h [Cygwin]: Remove unneeded and "dead" export + and import logic (LIBFOO_DLL is always undefined). + * tests/pdemo/longer_file_name_foo.c, + tests/pdemo/longer_file_name_foo2.c (_LIBFOO_COMPILATION_): Not + useful before, even less so now. Removed. + * tests/depdemo/l1/Makefile.am: Define BUILDING_LIBL1 when + building libl1.la. + * tests/depdemo/l2/Makefile.am: Define BUILDING_LIBL2 when + building libl2.la. + * tests/depdemo/l3/Makefile.am: Define BUILDING_LIBL3 when + building libl3.la. + * tests/depdemo/l4/Makefile.am: Define BUILDING_LIBL4 when + building libl4.la. + * tests/depdemo/l1/l1.h, tests/depdemo/l2/l2.h, + tests/depdemo/l3/l3.h, tests/depdemo/l4/l4.h : Export + variables when building the associated library dll and import + when using the library. For GCC and non-w32, and when building + static libraries, leave as an ordinary extern. + +2010-09-26 Ralf Wildenhues + + docs: do not refer to Libtool version with dlopen functionality. + * doc/libtool.texi (Dlopened modules): Remove broken reference + to what should have been Libtool 0.9g. + Report by Roumen Petrov. + +2010-09-23 Peter Rosin + + msvc: don't try to export import descriptors. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw] + [pw32, cegcc] : Don't export symbols in + import libraries related to describing what dll(s) the import + library is importing. Fixes problem in tests/demo-make.test + and some other tests. + +2010-09-22 Ralf Wildenhues + + Fix regression in command-line length computation. + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Use `env echo' rather + than possibly-undefined func_fallback_echo, to ensure we fork + and exec for this test. + * NEWS: Update. + Regression introduced in v2.2.6-39-g9c3d4d8. + +2010-09-22 Gary V. Vaughan + + Post-release administrivia. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + numbers to 2.4.1a. + * NEWS: Add header line for next release. + + Release 2.4. + * libltdl/Makefile.inc (LTDL_VERSION_INFO): We've added the + static libprefix interface, so new version-info is C+1:0:R+1. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + numbers. + * NEWS: Update version number. + + manual: web-manual index.html clashes with @node Index. + * doc/libtool.texi (Index): Renamed to `Combined Index'. + + tests: ISO C++ forbids declaration of 'v1' with no type. + * tests/lt_dlexit.at (lt_dlexit unloading libs): Added an + explicit int type to declaration of 'v1' to prevent compilation + failure with C++. + +2010-09-22 Peter Rosin + + tests: reloadable objects do not work on MSVC, SKIP test. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) + [cygwin, mingw, pw32, cegcc] : Indicate that + reloadable objects do not work. + * tests/duplicate_conv.at: Skip last test if reloadable + objects do not work. + * doc/libtool.texi (libtool script contents) : + Document how to indicate that reloadable objects do not work. + +2010-09-21 Peter Rosin + + msvc: eliminate spaces in the library search path. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] + : The LIB path variable telling + where MSVC looks for libraries is likely to contain directory + names with spaces. Convert those directory names to the short + 8.3 DOS form (i.e. without spaces) when storing them in + sys_lib_search_path_spec, as that is a space separated variable. + +2010-09-21 Ralf Wildenhues + + Revert to per-language libpath computation on AIX. + * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Accept + tagname argument. Use global cache variable lt_cv_aix_libpath + to override per-language tag variables for the libpath value. + Fix the sed script to remove trailing space. + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Pass tag argument to + _LT_SYS_MODULE_PATH_AIX. + Tracked down and reported by Rainer Tammer. + +2010-09-21 Gary V. Vaughan + + maint: edit-readme-alpha shouldn't try to re-edit during dist. + * libltdl/config/edit-readme-alpha: If README is non-writable + assume that it is being run from distcheck, and skip the edit + with a warning (to help diagnose cases where the heuristic is + not correct). However, if README has already been edited to + the alpha text, quietly skip without an error message. + +2010-09-20 Eric Blake + + maint: drop autobuild requirement + * HACKING: Update. + + build: ship autobuild.m4, to reduce bootstrap requirement + * libltdl/m4/.gitignore: Drop autobuild.m4. + * libltdl/m4/autobuild.m4: New file, copied from autobuild. + * configure.ac (AB_INIT): Unconditionally call it. + +2010-09-20 Peter Rosin + Ralf Wildenhues + + libltdl: Make sure preloaded symbols are declared extern "C". + * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Move the + declaration of lt__PROGRAM__LTX_preloaded_symbols to global + scope and make sure it has "C" linkage. Makes exceptions.at + succeed on MSVC. + +2010-09-20 Peter Rosin + + tests: __declspec (dll{ex,im}port) in tests/exceptions.at + * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use + __declspec (dllimport) and __declspec (dllexport) instead of + the less portable __attribute__ ((dllimport)) and + __attribute__ ((dllexport)). Makes the test compile on MSVC. + +2010-09-19 Peter Rosin + + tests: Import items from liba1 for MSVC. + * tests/lt_dlexit.at (b1.c) [MSVC]: Import function f1 and + variable v1 from liba1 when using them from modb1. Makes the + test pass on MSVC. + +2010-09-18 Ralf Wildenhues + + tests: avoid distcheck failure with --disable-ltdl-install. + * tests/ltdl-libdir.at (libdir of installed modules): Skip if + $LIBLTDL does not exist. + +2010-09-18 Gary V. Vaughan + + maint: use sed instead of maintaining 2 README files. + * README.alpha: Deleted. It was mostly identical to README. + * libltdl/config/edit-readme-alpha: New script to edit the + contents of README in the dist tree prior to tarring up. + * Makefile.am (dist-hook): Run it before rolling alpha release + tarball. + + maint: improve README's `Obtaining the Latest Sources'. + * README (Obtaining the Latest Sources): Add instructions for + obtaining stable, alpha and nightly snapshot tarballs. + * README.alpha (Obtaining the Latest Sources): Adjust to match. + + maint: reformat README `The Test Suites' for consistency. + * README (The Test Suites): Reformatted for consistency. + * README.alpha (The Test Suites): Adjust to match. + + maint: improve `Reporting Bugs' in README and README.alpha. + * README (Reporting Bugs): Rewritten to a more complete and + concise guide to providing a good bug report. + * README.alpha (Reporting Bugs): Adjust to match. + + maint: consolidate Introductions of README and README.alpha. + * README (Introduction): Rewritten to a more logical order for + first time users, incorporating some additional text that was + previously only in README.alpha. + * README.alpha (Introduction): Adjust to match. + + maint: copy the Version Numbering section into README.alpha. + * README.alpha (Version Numbering): No less useful for users + of alpha releases. Copied from README. + +2010-09-17 Peter Rosin + + tests: actually detect missing 'test' in 'if "$foo" = ...'. + * tests/sh.test: Remove extra backslash in regex. + + Copy over DLL_EXPORT handling from C to C++ for non-GCC on w32. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [mingw, cygwin, os2] + [pw32, cegcc]: Copy over the DLL_EXPORT handling from C to C++. + +2010-09-17 Ralf Wildenhues + + LTO: consistently accept -fwhopr* and -flto* for GCC. + * libltdl/config/ltmain.m4sh (func_mode_link): Accept -fwhopr*. + * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Also match + -flto*. + +2010-09-17 Charles Wilson + + Fix order of PATH manipulation in cwrapper and shwrapper + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Call + lt_update_exe_path before lt_update_lib_path, to ensure that the + temporary rpath values (which include the OBJDIRs of uninstalled + libtool libraries) precede installation and final -rpath directories. + (func_emit_wrapper): Prepend $dllsearchpath to PATH before prepending + $temp_rpath to $shlibpath_var; similar rationale as above. + Reported by Jon Turney + +2010-09-17 Charles Wilson + + Document libtool variable to_host_file_cmd. + * doc/libtool.texi (libtool script contents:to_host_file_cmd): + Document variable. + (libtool script contents:to_tool_file_cmd): Prefer `build platform' + to `build system'; Ditto `host platform'. + +2010-09-16 Charles Wilson + + Fix sh.test failure introduced in 72064249 + * libltdl/config/ltmain.m4sh (func_mode_link): Avoid poor + syntax. + +2010-09-16 Ralf Wildenhues + + tests: avoid localization failure due to unstable compiler messages. + * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): + Attempt to normalize temporary file names in error messages. + Fixes 'localized compiler messages' test failure on Darwin when + creating fat (multi-ABI) libraries. + +2010-09-13 Peter Rosin + + Prefer $NM @file when the toolchain isn't native to $build. + * libltdl/config/ltmain.m4sh (func_mode_link): Avoid calculating + the command line length and take the @file branch *if* the file + names needs to be converted for the toolchain and the @file + branch works. Fixes problems in stresstest.at when doing a cross + from Cygwin to MinGW using MinGW native tools (a.k.a. a "faked" + cross), and for the specific case of MSVC on Cygwin it makes the + test pass. + +2010-09-15 Gary V. Vaughan + + maint: improve README instructions for fetching latest version. + * README, README-alpha (Obtaining the Latest Sources): New + section, describing use of savannah repositories and bootstrap. + * README.alpha (Reporting Bugs): Remove git instructions in + favour of a reference to the new `Obtaining the Latest Sources' + section. + +2010-09-14 Eric Blake + + maint: ship .xz, not .lzma + * configure.ac (AM_INIT_AUTOMAKE): Prefer better file format. + * Makefile.maint (git-release, git-dist, prev-tarball) + (new-tarball, diffs): Use correct extension. + * HACKING: Update instructions. + * .gitignore: Ignore .xz files. + +2010-09-13 Ralf Wildenhues + + doc: avoid long lines in input and output, indexing fixes. + * doc/libtool.texi (Linking libraries) + (Module loaders for libltdl): Manually line-wrap examples, to + avoid long lines. + (Libltdl interface, User defined module data) + (Module loaders for libltdl): Wrap long @deftypefun input lines + using trailing '@'. Use @deftypefun rather than @deftp where + appropriate, and add spaces in @deftypefun lines to fix the + index entries generated from these lines. + (Cheap tricks): Use @smallexample rather than @example, to avoid + long lines. + + docs: @file and @option markup fixes. + * doc/libtool.texi (Creating object files, Linking libraries) + (Linking executables, Link mode, Finish mode, Autoconf macros) + (Using Automake, Inter-library dependencies, Dlpreopening) + (Linking with dlopened modules, Finding the dlname) + (Libltdl interface, Test descriptions, Multiple dependencies): + Add @option where needed, replace @samp with @file as + appropriate. + +2010-09-12 Peter Rosin + + * .gitignore: Ignore *.obj files for MSVC (and w32 in general). + + Adjust to moved auxiliary files and add compile. + * HACKING (Maintenance Notes): Adjust to moved files. Add the + compile script. + * Makefile.maint (fetch): Also fetch the compile script. + +2010-09-12 Ralf Wildenhues + + tests: avoid empty AT_DATA contents, for zsh. + * tests/libtoolize.at (libtoolize macro serial update) + (libtoolize config files serial update, LIBTOOLIZE_OPTIONS): + Do not create empty files with AT_DATA, the latter is documented + to require a final newline. Fixes testsuite failures with zsh + 4.3.10. + +2010-09-12 Charles Wilson + + When assigning $linklib value, honor [-all]-static[-libtool-libs] + + * libltdl/config/ltmain.m4sh (func_mode_link): When prefer_static_libs + and static library exists, ensure old_library name is used as $linklib. + Fixes failure on mingw when both static and shared libraries are + present. + +2010-09-12 Ralf Wildenhues + + tests: work around zsh use of $options variable. + * tests/getopt-m4sh.at: Rename $options to $opts, the former is + special for zsh 4.3.10. + + Fix AC_NO_EXECUTABLES test failure on IRIX 6.5. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix]: Cache result + of link check for -Wl,-exported_symbol. + * tests/no-executables.at (AC_NO_EXECUTABLES): Set + lt_cv_irix_exported_symbol, to avoid link check. + +2010-09-12 JĂĽrgen Reuter (tiny change) + Ralf Wildenhues + + Initial support for the NAG Fortran compiler on GNU/Linux. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : + New set of entries, for NAG Fortran 5.1 and 5.2. + * NEWS: Update. + +2010-09-12 Ralf Wildenhues + + Fix getopt.m4sh to require Autoconf 2.62 or newer. + * libltdl/config/getopt.m4sh (m4_version_prereq): Require 2.62, + not 2.61. + +2010-09-11 Charles Wilson + + Correct typo: $sharedlib_from_linklib_cmd missing '_cmd' + + * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix obvious + typo, $sharedlib_from_linklib_cmd missing '_cmd'. + +2010-09-10 Peter Rosin + + Convert file name to toolchain format when invoking $NM. + * libltdl/config/ltmain.m4sh (func_generate_dlsyms) + (func_win32_libid, func_cygming_gnu_implib_p) + (func_cygming_ms_implib_p): When using the name lister to find + symbols in files, convert the file names to a format appropriate + for the tool. Fixes testsuite issues in mdemo-static-make.test + and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW + using MinGW native tools (a.k.a. a "faked" cross). + +2010-09-09 Peter Rosin + + Fix dependency tracking for MSYS/MinGW. + * libltdl/config/ltmain.m4sh (func_to_tool_file): Add lazy + argument which allows the user to specify conversions that are + not desired. + (func_mode_compile): Don't convert source files on MSYS, as + MSYS does it for us. This fixes a regression introduced by + "Use func_to_tool_file instead of fix_srcfile_path". + Reported by Charles Wilson. + +2010-09-08 Peter Rosin + + Mention adjustment of naming of MSVC import libraries in NEWS. + * NEWS: Mention the change in import library naming on MSVC. + +2010-09-07 Peter Rosin + + Adjust naming of MSVC import libraries. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] + [pw32, cegcc] : Adjust naming of the + import library from foo-.lib to foo.dll.lib, to + avoid clashes with the static library for unversioned libraries. + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin, pw32] + [cegcc] : Explicitely name the import + library to match the above. + + Fixup texi typo in previous. + * doc/libtool.texi (libtool script content) : + Add missing 'code' command. + + Convert POSIX file names to toolchain format for MSVC + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [cygwin, mingw, pw32, cegcc] : Make + sure the -outputresource: file name for the manifest tool is + in w32 format. + : Likewise for the MSVC command file + containing the exports and the output file name. + * libltdl/config/ltmain.m4sh (func_mode_link): Precalculate the + toolchain format of the output_objdir file name and store it in + the tool_output_objdir variable. Also replace any occurrence of + @TOOL_OUTPUT@ in postlink_cmds with the toolchain version of the + @OUTPUT@ content. + * doc/libtool.texi (libtool script content): Update description + of postlink_cmds to mention @TOOL_OUTPUT@. + +2010-09-06 Peter Rosin + + Use func_to_tool_file instead of fix_srcfile_path. + * libltdl/config/ltmain.m4sh (func_mode_compile): Replace the + fix_srcfile_path hook with a call to func_to_tool_file. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32] + [cegcc]: Drop fix_srcfile_path. + * doc/libtool.texi (libtool script contents): Likewise. + * NEWS: Mention that fix_srcfile_path has been replaced. + + Convert file names to toolchain format in $NM and $AR @files. + * libltdl/config/ltmain.m4sh (func_mode_link): When listing + symbols and when creating archives using command files (or + response files), make sure that both the name of the command + file and the content are made up of file names in a format + appropriate for the tool. Fixes stresstest.at on MSYS when + run with low command line length. + + Convert file names to toolchain format when linking. + * libltdl/config/ltmain.m4sh (func_mode_link): When exporting + symbols and when linking using command files (or response + files), make sure that both the name of the command file and + the content are made up of file names in a format appropriate + for the tool. Fixes problems in stresstest.at on MSYS when run + with low command line length. + + Add file name conversion from $build to toolchain. + * configure.ac: Ensure to_tool_file_cmd is available to Makefile. + * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add + cache variable lt_cv_to_tool_file_cmd that describes how to + convert file names from $build to toolchain format. + * libltdl/config/ltmain.m4sh (func_to_tool_file): New function + that utilizes the above. + * Makefile.am: Ensure to_tool_file_cmd is included in + TEST_ENVIRONMENT so that it is passed to (old testsuite) tests. + * testsuite.at: Ensure to_tool_file_cmd is passed as a variable + setting on the configure line for (new testsuite) tests. + * doc/libtool.texi (libtool script content): Update with + to_tool_file_cmd description. + (Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd. + +2010-09-02 Ralf Wildenhues + + tests: avoid spurious test failure due to library mode on HP-UX. + * tests/help.at (debug tracing): Use $lt_INSTALL not cp for + install mode, the latter will not overwrite an existing library + with mode 555. + +2010-09-01 Charles Wilson + + Path conversion documentation + * doc/libtool.texi (Platform quirks): Add new subsections + 'Cross compiling' and 'File name conversion'. + +2010-09-01 Ralf Wildenhues + + tests: avoid spurious pic_flag test failure on HP-UX 10.20. + * tests/pic_flag.at (override pic_flag at configure time): + Match HP-UX 10.20 cc warning about unknown options, to skip + the test. + + tests: fix localization test for GCC on HP-UX 11.00. + * tests/localization.at (localized compiler messages): Be sure + to switch the locale only for the actual compiler commands, so + we don't pick up warnings from helper tools such as diff which + may not have the locale installed. + + Avoid leaking make flags into testsuite results. + * tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__ + and MAKE_JOBS_FIFO. + * tests/testsuite.at: Likewise. + Fixes warnings in test logs when the user uses 'make -jN check' + and inner $MAKE invocations can't connect to the job server. + Fixes spurious failures of configure-iface.at and of + demo-noinst-link tests with BSD and Tru64 make if the user uses + 'make -k', as the exit status of the latter is not reliable. + +2010-09-01 Gary V. Vaughan + + Remove announce-gen.m4sh and mailnotify.m4sh. + * libltdl/config/announce-gen.m4sh: Removed. This script has + no apparent connection to libtool functionality, and mostly + duplicates the better maintained gnulib announce-gen script. + * libltdl/config/mailnotify.sh: Removed. This script was used + by only clcommit.m4sh and announce-gen.m4sh, both of which are + now removed too. + * Makefile.maint (announce-gen, libltdl/config/mailnotify): + Targets removed. + * bootstrap: Remove the mailnotify regeneration warning. + * HACKING (Release Procedure): Remove references to + announce-gen. + (Alpha release note template, Full release note template): + Reinstated from before announce-gen was introduced. + + Remove clcommit.m4sh. + * clcommit.m4sh: Removed. This script was written to help keep + ChangeLog and commit messages in sync when committing to CVS, + and is an anachronism now that Libtool uses git. + * Makefile.maint (commit): Target removed. + * bootstrap: Don't generate commit. + * HACKING (Release Procedure): Adjusted. + +2010-08-31 Peter Rosin + + archive-in-archive.at passes with Microsoft lib. + * tests/archive-in-archive.at: Tighten test to check that the desired + object files are indeed part of the archive. Microsoft lib still + passes, so remove the expected failure for that case. + + Dump archiver output to the log when testing @file support. + * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout to config.log + when testing for @file support. + Suggested by Ralf Wildenhues. + + Silence archiver output when testing @file support. + * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout and stderr + to the bit bucket when testing for @file support. + +2010-08-31 Gary V. Vaughan + + Remove double `Generated from foo.m4sh' lines. + We now require a modern Autoconf to bootstrap libtool, which + will add the `Generated by ...' boiler-plate automatically, + so we can remove the hand-rolled @configure_input@ + substitutions we had been doing: + * clcommit.m4sh, libtoolize.m4sh, tests/defs.sh, + libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh, + libltdl/config/mailnotify.m4sh: Remove @configure_input@. + * Makefile.am (edit): Remove configure_input substitution. + (libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) + (tests/defs): Don't set `$input' shell variable. + * Makefile.maint (announce_gen, libltdl/config/mailnotify) + (commit): Likewise. + +2010-08-31 Peter Rosin + + Extract the archive name from the .la file and use $AR (not ar). + * Makefile.am: Pass AR through to the testsuite. + * tests/archive-in-archive.at: Bump copyright year. Extract archive + name from the .la file instead of hardcoding the name, and allow + different archivers. Also clarify that the tested functionality is + currently broken. + +2010-08-30 Ralf Wildenhues + + tests: skip -Wall -Werror with Tru64 cc in cwrapper test. + * tests/cwrapper.at (cwrapper for uninstalled executables): + Use a link test rather than a compile test to flesh out unknown + compiler flags starting with -W; Tru64/OSF1 cc will happily + accept `-Wall -Werror' as indication to pass flags on to + subprocesses. + + tests: avoid getopt-m4sh failures when autom4te is not available. + * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): + Check $M4SH --version, skip on failure. + + tests: mark 'syntax of .la files' as XFAIL, expose failure. + * tests/lalib-syntax.at (syntax of .la files): Assert that the + string returned by lt_dlerror after a failure is non-NULL, so + the failure shows up on systems other than Solaris. Mark test + as expected to fail. + Suggested by Bob Friesenhahn. + +2010-08-30 Eric Blake + + Simplify recent configure quoting portability workaround. + * configure.ac: Simplify setting of timestamp_string. + +2010-08-30 Charles Wilson + + Update path conversion warning messages + * libltdl/config/ltmain.m4sh (func_convert_file_check): Update + comments and warning message. + (func_convert_path_check): Update warning message. + +2010-08-29 Peter Rosin + + Fix typo when renaming path conversion functions. + * tests/testsuite.at: Ensure to_host_file_cmd is passed as a + variable setting on the configure line for (new testsuite) tests. + +2010-08-29 Ralf Wildenhues + + Support GCC LTO on GNU/Linux. + * libltdl/config/ltmain.m4sh (func_mode_link): Allow through + flags matching -O*, -flto*, -fwhopr, -fuse-linker-plugin. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Drop symbols + starting with __gnu_lto. + (_LT_LINKER_SHLIBS) [linux] : + Add $pic_flag for GCC. + (_LT_LANG_CXX_CONFIG) [linux] : + Likewise. + (_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o. + * NEWS: Update. + + Disable GCC LTO for verbose library extraction. + * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Temporarily + append -fno-lto or -fno-whopr to CFLAGS if CC or CFLAGS (which + are substituted with the per-language variables here) contain + -flto or match -fwhopr*, respectively. + + Save and restore CFLAGS properly inside libtool.m4 macros. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Use different + temporary variables for saved and restored values of $LIBS, + $CFLAGS, to avoid overlap with the *_CONFIG macros. + (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) + (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Also save and restore + $CFLAGS, and override it with per-language flags, so that in + case output_verbose_link_cmd uses $CFLAGS, the right flags are + used. + + Work around yet another shell quoting portability issue. + * configure.ac: Avoid nonportable quoted alternate variable + value in unquoted here document, so Solaris 10 sh and Tru64 + ksh do not print spurious extra quotes. + + Silence order-only configure test for AIX make. + * configure.ac: Also drop standard output, for AIX 5.1 make. + +2010-08-28 Charles Wilson + + Minor sysroot fixups. + * libltdl/m4/libtool.m4 (_LT_WITH_SYSROOT): Fix typo. + * tests/sysroot.at: Search also for crt0.o to accommodate cygwin. + +2010-08-28 Charles Wilson + + [cygwin|mingw|cross-compile]: Path conversion support. + * configure.ac: Ensure to_host_file_cmd is available to Makefile. + * TODO: Document QoI issue with file name conversion functions. + * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): New function + sets libtool variable $to_host_file_cmd, and employs cache. + (_LT_SETUP): Require it. + * tests/testsuite.at: Ensure to_host_file_cmd is passed as a + variable setting on the configure line for (new testsuite) tests. + * Makefile.am (TESTS_ENVIRONMENT): Ensure to_host_file_cmd is + included so that it is passed to (old testsuite) tests. + * libltdl/config/general.m4sh: Define $lt_sed_naive_backslashify here. + * libltdl/config/ltmain.m4sh ($to_host_file_cmd, $to_host_path_cmd): + New variables. + (func_cygpath): New function. + (func_init_to_host_path_cmd): New function. + (func_to_host_path): Renamed to... + (func_to_host_file): Refactored to... (now uses $to_host_file_cmd). + (func_convert_core_file_wine_to_w32): Here. New function. + (func_convert_core_msys_to_w32): Here. New function. + (func_convert_file_check): Here. New function. + (func_convert_file_noop): Here. New function. + (func_convert_file_msys_to_w32): Here. New function. + (func_convert_file_cygwin_to_w32): Here. New function. + (func_convert_file_nix_to_w32): Here. New function. + (func_convert_file_msys_to_cygwin): New function. + (func_convert_file_nix_to_cygwin): New function. + (func_to_host_pathlist): Renamed to... + (func_to_host_path): Refactored to... (now uses $to_host_path_cmd + and func_init_to_host_path_cmd). + (func_convert_path_check): Here. New function. + (func_convert_path_front_back_pathsep): Here. New function. + (func_convert_core_path_wine_to_w32): Here. New function. + (func_convert_path_noop): Here. New function. + (func_convert_path_msys_to_w32): Here. New function. + (func_convert_path_cygwin_to_w32): Here. New function. + (func_convert_path_nix_to_w32): Here. New function. + (func_convert_path_msys_to_cygwin): New function. + (func_convert_path_nix_to_cygwin): New function. + +2010-08-28 Ralf Wildenhues + + Fix symlist variable path to use _WIN32 instead of __WINDOWS__. + * libltdl/config/ltmain.m4sh, libltdl/libltdl/lt_system.h, + libltdl/m4/libtool.m4, tests/demo/foo.h, tests/pdemo/foo.h: + Change __WINDOWS__ to _WIN32. + Report by Charles Wilson. + + Add $pic_flag to archive_cmds and archive_expsym_cmds. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) + + [GNU ld, netbsd]: Add $pic_flag if ELF. + [GNU ld, solaris]: Likewise. + [GNU ld, default case]: Likewise. + [!GNU ld, freebsd, dragonfly]: Add $pic_flag. + [!GNU ld, GCC, hpux9]: Add $pic_flag. + [!GNU ld, GCC, hpux10]: Replace -fPIC with $pic_flag + [!GNU ld, GCC, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. + [!GNU ld, GCC, irix5, irix6, nonstopux]: Add $pic_flag. + [!GNU ld, GCC, osf4, osf5]: Likewise. + [!GNU ld, GCC, solaris]: Likewise. + (_LT_LANG_CXX_CONFIG) + [hpux9]: Add $pic_flag if $GXX. + [hpux10, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. + [irix5, irix6]: Add $pic_flag if $GXX. + [osf4, osf5]: Likewise. + [solaris]: Add $pic_flag if $GXX and not GCC 2.7. + + Uniform const'ness of symlist variable lt_preloaded_symbols. + On some systems, lt_preloaded_symbols may not be declared + const due to relocation issues. C99 requires qualification to + match for compatible declarations, so ensure we declare + const'ness in the same way everywhere; link-time optimization + may otherwise rightfully complain about inconsistencies. + Since ltdl.h may not depend upon config.h, rely on system + defines for choosing const'ness. + * NEWS: Update. + * doc/libtool.texi (Dlpreopening): Document this issue. + * libltdl/config/ltmain.m4sh (func_generate_dlsyms): + [__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST + according to system defines. Remove old shell cruft. Use + LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols. + * libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise, + define LT_DLSYM_CONST according to system defines. + * tests/demo/foo.h (LT_DLSYM_CONST): Likewise. + * tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise. + * tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST. + * tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist): + Likewise. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise + for configure test code. + * libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST. + * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise. + +2010-08-28 Dave Korn + + Ensure cwrapper magic string is not optimized away. + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): + Declare MAGIC_EXE as volatile. + Report by Charles Wilson. + +2010-08-28 Ralf Wildenhues + + Fix quoting in non-XSI func_xform, for IRIX sh. + * libltdl/config/ltmain.m4sh (func_xform): Remove spurious extra + M4 quotes. + + Fix response file test for unreliable exit status of IRIX ar. + * libltdl/m4/libtool.m4 (_LT_PROG_AR): IRIX ar will not fail + over a command-line argument specifying a nonexistent file (such + as `@FILE'), so ensure failure with a reponse file containing + a nonexistent file. Also, use lt_* variable prefix for + temporary variables. + + Fix AC_LANG_PROGRAM warnings from git Autoconf. + * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Fix + underquoted AC_LANG_PROGRAM call. + (LT_PROG_AR): Use AC_LANG_PROGRAM. + (_LT_LINKER_SHLIBS) [irix, GCC]: Use the right source for the + given language. + * NEWS: Update. + +2010-08-22 Ralf Wildenhues + + fix AIX testsuite regression + * libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly + revert v2.2.10-83-gc45a288: Do not absolutize path here, only do + sysroot replacement. + (func_mode_link): Adjust. + +2010-08-22 Charles Wilson + + fix --mode=finish + * libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else + blocks of the "if $opt_dry_run" conditional. + +2010-08-15 Paolo Bonzini + + improve code for sysroot --mode=finish + * libltdl/config/ltmain.m4sh (func_mode_finish): Change sysroot_regex + and sysroot_cmd delimiter from pipe to slash. Wrap the entire for + loop with "if $opt_dry_run...fi" and print an explanatory message + for the --dry-run case. + +2010-08-12 Paolo Bonzini + + add libtool --mode=finish mode for sysroot + * doc/libtool.texi (Finish mode): Document behavior when *.la files + are passed. + * libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot + or `=' signs representing it from files in $libs. + * tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot + references before running libtool --mode=finish, and for absence + afterwards. + + reorganize parsing of --mode=finish arguments + * libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for + directories and *.la files. + + fix sysroot handling for deplibs of preopened libtool libs + * libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool + through func_resolve_sysroot. + + fix sysroot tests to pass on Fedora 13 + * tests/sysroot.at: Link $prefix/include into the sysroot as well, as + required by newer GCC. + +2010-07-29 Paolo Bonzini + + initial version of the NEWS entry + * NEWS: Document sysroot support. + + add sysroot test + * Makefile.am (TESTSUITE_AT): Add tests/sysroot.at. + * tests/sysroot.at: New. + + emit sysrooted paths when installing .la files + * libltdl/config/ltmain.m4sh (func_replace_sysroot): New. + (func_mode_link): Prepend paths in $libdir with the sysroot. Further, + replace the sysroot with = (using func_replace_sysroot) whenever + such a path is written in a .la file. + + process postdeps to include sysrooted paths + * libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson). + (_LT_SYS_HIDDEN_LIBDEPS): Require it. Use func_stripname_cnf to convert + sysroot (-L= and -R=) usage in postdeps. Adjust the code because -L, -R + and -l flags will now always be separated from the rest of the argument. + + handle sysrooted paths when reading dependencies to la files + * libltdl/config/ltmain.m4sh (func_mode_execute, func_mode_install, + func_mode_link): Whenever a .la file occurs in another .la file, + expand the sysroot path in it. + +2010-07-28 Paolo Bonzini + + teach libtool -L= and -R= + * libltdl/config/ltmain.m4sh (func_resolve_sysroot): New. + (func_mode_link): Always pass result of stripping -L and -R to + func_resolve_sysroot before using it. Remove absolute path expansion + when func_resolve_sysroot subsumes it. Expand sysroot in -rpath. + When processing dependent libraries also resolve sysroot paths there. + + add --with-sysroot + * libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New. + (LT_SETUP): Require _LT_WITH_SYSROOT. + + handle sysroot flags + * libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot + option. + +2010-08-27 Ralf Wildenhues + + * NEWS: Only bootstrapping needs new Automake and Autoconf. + + check-interactive and check-noninteractive for both testsuites. + * Makefile.am (COMMON_TESTS, TESTS): Split into ... + (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new + variables. + (check-interactive-new): Rename from check-interactive. + (check-noninteractive-new): Rename from check-noninteractive. + (check-interactive-old, check-noninteractive-old): New targets. + (check-interactive, check-noninteractive): Depend on the + respective targets for the old and the new test suites. + * doc/libtool.texi (Test descriptions): Simplify description + about check-interactive and check-noninteractive. Add index + entries. + + Adjust docs for renaming and for parallel-tests. + * README: Update example TESTS setting. + * README.alpha: Likewise. + * doc/libtool.texi (Test descriptions): Update for test renaming, + adjust descriptions accordingly. + + Update VERBOSE handling for parallel-tests driver. + * tests/defs.m4sh: Default to verbose output, drop now-unneeded + handling of 'VERBOSE=no'. + * README: Update example usage. + * README.alpha: Likewise. + * doc/libtool.texi (Test descriptions, When tests fail): Remove + unneeded VERBOSE recommendations. Point to per-test log files + and test-suite.log summary file. + + Enable parallel-tests test driver for the old testsuite. + * configure.ac: New configure test to find out whether `make' + supports order-only prerequisites; set @ORDER@ accordingly. + (AM_INIT_AUTOMAKE): Enable parallel-tests option. + * tests/defs.m4sh (prefix): Derive install prefix for tests + from the test name, to avoid clashes. + * Makefile.am (CXX_TESTS, F77_TESTS, FC_TESTS, COMMON_TESTS): + Reformat. Adjust for renamed tests. Add dependencies between + the respective log files of the tests, to ensure proper ordering. + Use order-only dependencies if possible, between test groups that + use the same directory. + (clean-local-legacy): Remove `_inst-*' directories as well. + Prompted by suggestion from Bob Friesenhahn. + + New alias scripts for old tests run more than once. + * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, + tests/cdemo-static-exec.test, tests/cdemo-static-make.test, + tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, + tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, + tests/demo-nofast-make.test, tests/demo-nofast-unst.test, + tests/demo-nopic-exec.test, tests/demo-nopic-make.test, + tests/demo-pic-exec.test, tests/demo-pic-make.test, + tests/demo-shared-exec.test, tests/demo-shared-inst.test, + tests/demo-shared-make.test, tests/demo-shared-unst.test, + tests/demo-static-exec.test, tests/demo-static-inst.test, + tests/demo-static-make.test, tests/demo-static-unst.test, + tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, + tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, + tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, + tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, + tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, + tests/depdemo-static-make.test, tests/depdemo-static-unst.test, + tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, + tests/f77demo-static-exec.test, tests/f77demo-static-make.test, + tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, + tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, + tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, + tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, + tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, + tests/mdemo-static-make.test, tests/mdemo-static-unst.test, + tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, + tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, + tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test: + New files. + + Require Automake 1.11.1 for Libtool, enable color-tests. + * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1. Enable + color-tests. + (LTDL_SUBDIR_LIBOBJS): Remove now-obsolete conditional and + feature test for Autoconf 2.59 and Automake 1.9.x workaround. + * Makefile.am: Simplify accordingly. + * bootstrap: Remove obsolete WORKING_LIBOBJ_SUPPORT workarounds + for Autoconf 2.59 and Automake 1.9.6. + +2010-08-23 Charles Wilson + + Fix syntax for cygwin-cross + libltdl/m4/argz.m4: Add quotes around variable, which + may contain the multiword value 'guessing no'. + +2010-08-22 Ralf Wildenhues + + configure: use Autobuild AB_INIT if available. + * configure.ac: Call AB_INIT if it is defined, with + $autobuild_mode as argument, to be set at configure time. + Set AB_VERSION to the Libtool version string. + * HACKING: Update. + + Fix getopt tests to skip with Autoconf < 2.61. + * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Skip the test + if 'autom4te --language=m4sh' exits 63 because version 2.61 is + required. Allows the testsuite to complete successfully with + Autoconf 2.59 and Automake 1.9.6. + + Tidy and fix clean and distclean rules for old testsuite. + * Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead + of hard-coding the list of test directories. Use + $(AM_MAKEFLAGS). + (fake-distclean-legacy): New phony rule, to create fake Makefile + files if needed so that the automake-generated + distclean-recursive rule can work properly. + (distclean_recursive): New helper variable. + (distclean-recursive): Depend on fake-distclean-legacy. + +2010-08-22 Paolo Bonzini + + Fix sed_make_literal_regex. + * libltdl/config/general.m4sh (sed_make_literal_regex): Fix + definition. + +2010-08-15 Paolo Bonzini + + Factor the sed command used to make a regex from a literal. + * libltdl/config/general.m4sh (sed_make_literal_regex): New. + * libltdl/config/ltmain.m4sh + (func_cygming_dll_for_implib_fallback_core): Use it. Suggested + by Ralf Wildenhues. + +2010-08-21 Rainer Tammer (tiny change) + + Avoid issues with AIX resident shared libraries in old testsuite. + * tests/defs.m4sh [aix]: Remove file mode permission for others, + so shared libraries are not kept in memory after execution. + Fixes failures of repeated mdemo-inst.test with on AIX 5.3. + +2010-08-21 Ralf Wildenhues + + Skip part of versioning test on AIX. + * tests/versioning.at (versioning): The AIX linker always + records the unversioned library name, even with runtimelinking, + so skip the execution test for the incompatibly upgraded + library. + Report by Rainer Tammer. + + Remove dead code from versioning test. + * tests/versioning.at (versioning): No need to build unused + prog3. + +2010-08-20 Ralf Wildenhues + + Don't hide the table of contents in the manual. + * doc/libtool.texi: Move the table of contents to the beginning. + Prompted by patch from Bruno Haible against Automake. + + Remove superfluous dependency in Makefile.am. + * Makefile.am (tests/demo-conf.test): Remove dependency on + libtool, this test is a primary source and not generated. + + Bump copyright years in manual. + * doc/libtool.texi: Bump copyright years. + +2010-08-13 Peter Rosin + + Allow the use of a listing file if the archiver supports it. + * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection + of a suitable archiver... + (_LT_PROG_AR): ...to here. New macro, also detect if the + archiver supports a listing file with the new variable + archiver_list_spec. + * libltdl/config/ltmain.m4sh: If the archiver supports a listing + file, use it when max_cmd_len is exceeded. This is needed for + tool chains such as MSVC which do not support piece by piece + linking (-r -o). + * doc/libtool.texi (libtool script contents): Update with + archiver_list_spec description. + +2010-08-10 Gary V. Vaughan (tiny change) + + Make testsuite compatible with Autoconf 2.62 again. + * tests/getopt-m4sh.at (AT_CHECK): Autotest 2.62 chokes on unquoted + '#' in AT_CHECK, so replace all uses with '@%:@' quadrigraph. + Suggested by Eric Blake + Reported by Ralf Wildenhues + +2010-08-09 Ralf Wildenhues + + Fix more problematic code from "Add func_append_quoted and do..." + * libltdl/config/ltmain.m4sh (func_mode_link): Revert back + func_append instances that as assignments relied on the shell + not performing word splitting on the right hand side of the + assignment. + + Fix another typo on "Add func_append_quoted and do..." + * libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in + computation of finalize_rpath introduced in v2.2.10-40-g0da7d80, + fixing several testsuite failures on AIX. + Report by Rainer Tammer. + +2010-08-07 Ralf Wildenhues + + Avoid unwanted error message in configure output. + * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Try print + in subshell, so eventual `print: not found' is hidden reliably. + + Fix compilation of program sources on AIX. + * tests/lt_dlopenext.at (lt_dlopenext error messages): Do not + use $LIBTOOL when compiling plain object, AIX by default does + not enable static archives. + * tests/ltdl-libdir.at (libdir of installed modules): Likewise. + Report by Rainer Tammer. + + Do not call toplevel configure in non-VPATH build. + * tests/deplibs-mingw.at (deplibs without file command): Use + LT_AT_CONFIGURE for consistency, update comment about why it + might fail. + * tests/pic_flag.at (override pic_flag at configure time): Skip + test if we are building in-tree. + Report by Rainer Tammer. + + Allow running pic_flag test with different shell. + * tests/testsuite.at (LT_AT_CONFIGURE): Accept optional second + argument specifying the configure script to run. + * tests/pic_flag.at (override pic_flag at configure time): + Use LT_AT_CONFIGURE. + + Ensure not to reverse preserving of --debug for relinking/finish. + * libltdl/config/ltmain.m4sh (func_check_version_match): Only + preserve '--debug' switch if $opt_debug is not equal to ':'. + * tests/help.at (debug tracing): New test group. + Report by Rainer Tammer. + +2010-08-06 Ralf Wildenhues + + Fix AC_NO_EXECUTABLES test failure on AIX. + * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link + test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath. + * tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to + avoid link test. + Bug report by Rainer Tammer. + + Fix ltdl-libdir test for C++ compilers. + * tests/ltdl-libdir.at (libdir of installed modules): Declare + module function as extern "C". + +2010-08-04 Ralf Wildenhues + + Let `libtool' without arguments point to `--help' again. + * libltdl/config/ltmain.m4sh (func_check_version_match): + Remove duplicate and wrong error check. + * tests/help.at (standard command line options): Extend test. + Report by Rainer Tammer. + + Avoid syntax error due to shift of nonexistent parameter. + * libltdl/config/ltmain.m4sh : Only shift + if there is a positional parameter to shift. Fixes `libtool + --help' when dash is used. + Report by Rainer Tammer. + + Fix testsuite errors due to shell quoted parameter expansion issue. + * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Insert space + between double-quoted and unquoted shell parameter, as bash + 4.0.28 doesn't add one in its output if the expansion of the + second one starts with a space. + (short option splitting, enhanced shell short option splitting) + (long option splitting, XSI long option splitting): Add space in + expected output. + Fixes testsuite failures on AIX, FreeBSD, etc. + Report by Rainer Tammer. + +2010-08-03 Ralf Wildenhues + + Fix build failure with AIX sh due to shell quoting error. + * libltdl/config/ltmain.m4sh (func_append_quoted): Document + that this function inserts a separator space. + (func_mode_compile): Do not pass extra space here. + Fixes regression introduced in v2.2.10-49-gc13532a. + Report by Rainer Tammer. + +2010-08-02 Ralf Wildenhues + + Fix pic_flag test unportabilities. + * tests/pic_flag.at (override pic_flag at configure time): Skip + test if the compiler produces a warning containing `fpic'. + Do not use nonportable `grep -e', for Solaris. + Report by Charles Wilson. + +2010-08-01 Paolo Bonzini + + Fix bug in postdeps computation + * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually + concatenate $prev and $p. + +2010-07-26 Charles Wilson + + Don't always skip XSI tests + * tests/getopt-m4sh.at: Use new signature as implemented by + de8a0992b21b76a13c302cf48588ad5f6042595c, when determining + whether to test Extended-shell functions. + +2010-07-18 Peter Rosin + + * tests/stresstest.at: Link with main.lo when liba is shared + and linking main with -no-install. + +2010-07-18 Peter Rosin + + * tests/stresstest.at [MSVC]: dllimport all imported + variables. + +2010-07-17 Peter Rosin + + dllimport the variable for MSVC in link-order.at + * tests/link-order.at [MSVC]: Makes the test pass by dllimporting + imported variables when working with shared libraries. + +2010-07-08 Peter Rosin + Ralf Wildenhues + + Make preloading heed libname_spec. + Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC. + * libltdl/ltdl.c (libprefix): New static variable describing + the prefix of static archives. + (try_dlopen): Use libprefix. + * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static + archives to config.h. Also fix assignment of LTDLOPEN to be more + efficient and less error prone while at it. + +2010-07-08 Gary V. Vaughan + + Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE. + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to + _LT_PROG_REPLACE_SHELLFNS. + (_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE. + (_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use + 'Extended shell' rather than 'XSI' on successful replacement. + * libltdl/config/general.m4sh (func_dirname, func_basename) + (func_dirname_and_basename, func_stripname): Change decorator + comment to use 'extended shell' rather than 'XSI' on fallback + implementations. + * libltdl/config/getopt.m4sh (func_split_short_opt) + (func_split_long_opt): Ditto. + * libltdl/config/ltmain.m4sh (func_append, func_append_quoted) + (func_arith, func_len, func_lo2o, func_xform): Ditto. + * tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to + _LT_AT_EXTENDED_SHELL_FUNC_EXTRACT. + (_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to + match new replacable function decorator comments. + +2010-07-08 Peter Rosin + + Optimize assignment of output_la. + * libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec + instances. + Report by Ralf Wildenhues. + +2010-07-08 Gary V. Vaughan + + Fix a cut-n-pasto in "2010-07-07 Charles Wilson" patch. + * libltdl/config/ltmain.m4sh (func_mode_link): Remove spurious + variable dereference. + +2010-07-07 Gary V. Vaughan + + Tidy m4 comment header underline. + * libltdl/m4/libtool.m4 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): Make + sure hyphens in function name comment header underline line up. + +2010-07-07 Charles Wilson + + [cygwin|mingw] fix dlpreopen with --disable-static + * libltdl/config/general.m4sh (func_tr_sh): New function. + * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]: + Obtain DLL name corresponding to import library by using value + stored in unique variable libfile_$(transliterated implib name). + If that fails, use $sharedlib_from_linklib_cmd to extract DLL + name from import library directly. Also, properly extract dlsyms + from the import library. + (func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs + over static libs when both are available. When dlpreopening + DLLs, use linklib (that is, import lib) as dlpreopen file, + rather than DLL. Store name of associated la file in + unique variable libfile_$(transliterated implib name) + for later use. + (func_win32_libid): Accomodate pei-i386 import libs + as well as pe-i386. + (func_cygming_dll_for_implib): New function. + (func_cygming_dll_for_implib_fallback): New function. + (func_cygming_dll_for_implib_fallback_core): New function. + (func_cygming_gnu_implib_p): New function. + (func_cygming_ms_implib_p): New function. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed + expressions for lt_cv_sys_global_symbol_to_c_name_address and + lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + as trailing space after module name is optional. + (_LT_LINKER_SHLIBS) [cygwin|mingw][C++]: + Set exclude_expsyms correctly for $host. Simplify regular + expression in export_symbols_cmds. + (_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms + correctly for $host. Enable export_symbols_cmds to identify + DATA exports by _nm_ prefix. + (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets + sharedlib_from_linklib_cmd variable. + (_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set. + +2010-07-05 Peter Rosin + + * tests/export.at [MSVC]: dllimport all imported variables. + +2010-07-01 Ralf Wildenhues + Peter Rosin + + Support for response files with $NM. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) + : New tag variable. Set it to '@' if input + files can be passed to $NM in a file named with the '@' option. + * libltdl/config/ltmain.m4sh (func_mode_link): When + nm_file_list_spec is nonempty, use it to avoid skipped_export. + * doc/libtool.texi (libtool script contents): Document + new variable. + +2010-07-04 Ralf Wildenhues + + Fix ccache test for MSVC. + * tests/static.at (ccache -all-static): Ignore compiler stderr. + Reported by Peter Rosin. + +2010-07-03 Charles Wilson + + Avoid false failures caused by filesystem interaction + * tests/dlloader-api.at (dlloader API): Use uglified names for + pseudo-modules. + +2010-07-03 Peter Rosin + + Fix typo in "Add func_append_quoted and do..." + * libltdl/config/ltmain.m4sh (func_mode_compile): Use + func_append_quoted instead of func_append. + +2010-07-02 Peter Rosin + + Don't trigger file name expansion when embedding manifests. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) + [ cygwin, mingw, cegcc ] : Remove all spaces in the + case statement of postlink_cmds to make file name expansion + more unlikely. + (_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |. + +2010-07-01 Peter Rosin + + Fix regression caused by "Add func_append_quoted and do..." + * libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover + "_libs" trash. + +2010-06-28 Peter Rosin + + For MSVC, embed the manifest as a resource in the executable. + Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and + above (and perhaps also MSVC .Net) related to running programs + that have been moved (e.g. installed) without their manifests + also having been moved. + * libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro + that locates the Manifest Tool (mt) and verifies that it is + indeed the manifest tool. The result is stored in the new + variable MANIFEST_TOOL. + (_LT_LINKER_SHLIBS) : New tag variable. + [ cygwin, mingw, cegcc ] : Embed the manifest file as a + resource. Make sure the embedding work regardless of if the + @OUTPUT@ file name includes a trailing $EXEEXT. + (_LT_LANG_CXX_CONFIG): Likewise. + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above + _LT_PATH_MANIFEST_TOOL. + * libltdl/config/ltmain.m4sh (func_mode_link): After linking + a program, replace @OUTPUT@ in $postlink_cmds and then execute + the commands. + * doc/libtool.texi (libtool script contents): Document + new postlink_cmds variable. + (LT_INIT): Add that the MANIFEST_TOOL environment variable can + be used to override the manifest tool to use. + * tests/exeext.at: New. Make sure linking with both -o prog + and -o prog$EXEEXT works. + * Makefile.am (TESTSUITE_AT): Update. + (TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the + testsuite. + * NEWS: Add note of the new MANIFEST_TOOL environment variable. + +2010-06-24 Peter Rosin + + Add MSVC support. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add + support for the Microsoft C/C++ Compiler (cl) relying on help + from the compile script in Automake. + * NEWS: Add note of the above. + +2010-07-01 Gary V. Vaughan + + Skip `enhanced shell option appending' test when not available. + * tests/getopt-m4sh.at [enhanced shell option appending]: + _LT_AT_XSI_FUNC_EXTRACT will not be able to find the enhanced + libtool func_append function if the replacement wasn't substituted + by configure, since the decorator comments will be different - in + that case simply skip the test. + +2010-06-30 Gary V. Vaughan + + Add func_append test cases for smart and retarded implementations. + * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New + macro to extract a fallback function implementation from + ltmain.m4sh. + [option appending]: Use it for a test of the fallback + implementation of func_append. + [enhanced shell option appending]: And also test the enhanced + implementation. + * libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \\ + to escape a quoted space for eval. + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in + dereference of func_append inline replacement for retarded + shells. + +2010-06-29 Gary V. Vaughan + + Correct func_split_short_opt comment cut-n-pasto. + * libtool/config/getopt.m4sh (func_split_short_opt): Fix + the function comment. + + Use a real XSI compliant func_split_short_opt substitution. + * libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove + test ${foo:n:m} substrings, instead adding a ${foo%??} check + to the existing XSI tests. + (_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based + func_split_short_opt substitution in favour of a properly + XSI compliant substitution. + Suggested by Paolo Bonzini. + +2010-06-28 Gary V. Vaughan + + Add func_append_quoted and do inline func_append substitutions. + * libtool/config/ltmain.m4sh: Replace all occurrences of + `foo="$foo bar"' with func_append. No decorator comment was + added since /func_append [a-zA-Z0-9_]* "/ is already an + excellent match regexp, and additional comments would only + complicate things. + (func_append_quoted): New function that quotes a value with + func_quote_for_eval before appending it. To avoid quoting the + whitespace in the passed value, a single whitespace is added + automatically. Changed callers where possible. + * libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a + `+=' implementation substitution for func_append_quoted. More + importantly, systematically replace matching func_append calls + with inline `+=' when supported (for maximum speed), and + longhand `foo="$foo bar"' otherwise to avoid the function + overhead. + + Add an XSI replacement for func_split_short_opt, with test cases. + * libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now + that getopt.m4sh doesn't steal that letter for the --version + short option. + * libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v' + as a short option for '--verbose'. + * libltdl/config/getopt.m4sh (m4go_printopts): Add back in the + leading '-' for remaining non-argument short options. + (func_split_short_opt): Use the correct sed script variable. + * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure + that XSI substring extraction is supported. + (_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split + short options to avoid unnecessary forks if the host shell + supports that. + * tests/getopt-m4sh.at: New tests for getopt.m4sh coverage. + * Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at. + (TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the + m4sh expansion performed in tests/getopt-m4sh.at. + +2010-06-27 Gary V. Vaughan + + Add missing case branch terminators. + * libltdl/config/ltmain.m4sh: Fixed everal case branches with + missing ';;' terminators. + + Use TAB-SPACE in preference to SPACE-TAB. + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors + might optimise away the SPACE in SPACE-TAB sequences, so use + TAB-SPACE just in case. + Reported by Ralf Wildenhues + + Amend a missed opt_mode rename instance in ltmain.m4sh. + * libltdl/config/ltmain.m4sh : Rename to opt_mode. + + Fix portability regressions in today's earlier changeset. + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not + portable; use `mv -f ...|| cp -f ...' instead. + Add an initial backslash to sed `c' substitutions with leading + whitespace, so that indentation is not removed by some non-POSIX + compliant sed implementations. + (_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if + one or more XSI function replacements failed. + + getopt.m4sh generated libtool option parser, and XSI improvements. + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable + shell versions of various utility functions from here... + * libltdl/config/getopt.m4sh (func_split_long_opt): ...to here... + * libltdl/config/general.m4sh (func_dirname, func_basename) + (func_dirname_and_basename, func_strip_name): ...here... + * libltdl/config/ltmain.m4sh (func_append, func_arith, func_len) + (func_lo2o, func_xform): ...and here. + * libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that + expands into a sed command for replacing the contents of a + suitably decorated shell function with an alternate XSI + implementation. + (_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell + versions of the functions above with equivalent XSI + implementations that avoid unnecessary forks if the host shell + supports that. + * libltdl/config/ltmain.m4sh: Replace hand written shell code + with a call to M4SH_GETOPTS. Rename some option variables in + the client code to match the generated option parser settings. + * libltdl/config/general.m4sh (func_echo, func_error) + (func_warning): Use $opt_mode instead of obsoleted $mode in + message leader. + * libltdl/config/getopt.m4sh (m4_version_prereq): This file + requires m4sugar.m4 from Autoconf-2.61 or newer. + +2010-06-24 Charles Wilson + + [cygwin] Refactor C++ exception handling for Win32 correctness + * tests/exception.at (common.h): New file, refactored from + (module.h): Move declaration of modexc to libcommon. + Include common.h. Use explicit import/export markings for + symbols when building on win32 or cygwin. + (common.cpp): New file. + (module.cpp): Ensure correct symbols markings when including + module.h. + (lib.h): Use explicit import/export markings for symbols + when building on win32 or cygwin. + (lib.cpp): Ensure correct symbol markings when including lib.h. + (main.cpp): Include common.h. + (commands): Ensure correct symbol markings when compiling + main.cpp, and lib.cpp, and module.cpp. Add command to compile + common.cpp, and to link libcommon.la. Add libcommon.la when + linking module.la and main. Add command to install libcommon.la. + +2010-06-21 Gary V. Vaughan + + Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer. + * libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is + implemented even if Autoconf's m4sugar.m4 doesn't provide it. + (m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use + it everywhere incase m4sugar.m4 doesn't have an implementation. + (m4_ifnblank): Replace all uses with m4_ifval, which was + available long before m4_ifnblank was introduced. + +2010-06-20 Ralf Wildenhues + + Fix clean mode for HP-UX 11.31 sh. + * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try + to match a null string in a case pattern, even with surrounding + spaces. Fixes `lt_dlopenadvise library loading' test. + + Add comment for exception handling module unloading issue. + * tests/exceptions.at (C++ exception handling): Add comment + for last patch. + + Fix flags test failure when ld is used as linker. + * tests/flags.at (passing CC flags through libtool): When $LD + is used for linking libraries, ensure flags passed with `-Wc,' + are not passed through to $LD, but flags passed with `-Wl,' use + $wl when linking programs. Fixed testsuite failure on HP-UX + 10.20. + +2010-06-19 Charles Wilson + + [cygwin] Fix segfault in C++ exception handling test + * tests/exceptions.at (main.cpp:exceptions_in_module): + Move dlclose outside catch block; otherwise __cxa_end_catch + (part of the cygwin g++ ABI) accesses pointers to data inside + unloaded DLL. This is a platform ABI-specific bug, but is + likely common to many platforms' g++ and/or other C++ + compilers. + +2010-06-19 Ralf Wildenhues + + Fix srcdir computation for manual runs of old tests. + * tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow + `$srcdir/tests/FOO.test' to be run from the top build directory. + + Clean up @var handling in the manual. + * doc/libtool.texi: Throughout the manual, replace @var with + @samp or @code as appropriate, ensure the argument of remaining + @var uses are lower-case. + + Let the bootstrap script fail upon errors. + * bootstrap: Enable errexit. + + Fix execute mode test for OSF/1 5.1. + * tests/execute-mode.at (execute mode): Do not use grep -F + with an empty pattern. + * THANKS: Update. + Report by Jay K. + + Use config.cache variable for PIC flag, to allow override. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) : + Save result, and allow override, through cache variable + lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable + needs to contain an eventual -DPIC. + * tests/pic_flag.at (override pic_flag at configure time): + New file, new test. + * Makefile.am (TESTSUITE_AT): Update. + * NEWS, THANKS: Update. + Suggestion by Joakim Tjernlund and Paolo Bonzini. + +2010-06-16 Ralf Wildenhues + + Optimize func_ltwrapper_scriptname to assume a cwrapper. + * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not + call func_ltwrapper_executable_p again here, this function is + documented to allow being called with wrapper executables. + + Fix bootstrap script to cope with changed AC_INIT arguments. + * bootstrap: When extracting PACKAGE and VERSION from AC_INIT + arguments, be sure to remove a 'GNU ' prefix and lowercase the + package name for PACKAGE. Also set PACKAGE_NAME and PACKAGE_URL + appropriately for GNU software. Pass these variables to the + make commands creating tests/package.m4 and other files. + * Makefile.am (edit): Fix substitution of PACKAGE_NAME and + PACKAGE_STRING. + * libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not + @PACKAGE_STRING@. + +2010-06-15 Peter Rosin + + On Windows, find potential libs regardless of file name case. + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD), + libltdl/config/ltmain.m4sh (func_mode_link): On Windows, + find potential libs regardless of file name case. + * tests/nocase.at: New test, to check for regressions + of the above. + * Makefile.am: Add above new test. + * doc/libtool.texi (libtool script contents): Document + new variables. + * NEWS: Updated. + +2010-06-15 Philip Allison (tiny change) + + Avoid GCC -Wall compiler warning in dlopen self test. + * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Fix unused + variable warning in test program. + * THANKS: Update. + +2010-06-15 Ralf Wildenhues + + Fix cleaning of uninstalled w32 shell wrapper in subdirs. + * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not + override global objdir variable, instead use odir for the + directory of to-be-removed files. Drop unneeded origobjdir. + Report by Charles Wilson. + +2010-06-14 Ralf Wildenhues + + Enable colored Autotest testsuite output if available. + * tests/testsuite.at: Move AT_INIT call down to late in the + file, all prior code can go beforehand. + Call AT_COLOR_TESTS if defined. + +2010-06-14 Peter O'Gorman + + Pass resident test with --disable-shared too. + * tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS. + +2010-06-13 Peter O'Gorman + + Test with --disable-shared at release time too. + * HACKING: Note it. + + Avoid failure for --disable-shared. + * tests/lt_dladvise.at: Hack. + + Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure. + * tests/exceptions.at: Use it. + +2010-06-13 Ralf Wildenhues + + Print Libtool project URL in program --help output. + * configure.ac (AC_INIT): Set PACKAGE argument to `GNU Libtool', + so Autoconf knows this is GNU software. For Autoconf < 2.64, + if AC_PACKAGE_URL is not defined, substitute PACKAGE_URL. + * Makefile.am (edit): Substitute PACKAGE_URL. + ($(srcdir)/tests/package.m4): Also depend on Makefile.am. + Define AT_PACKAGE_URL, for `tests/testsuite --help' output. + * libltdl/config/getopt.m4sh (func_help): Also extract comment + lines that mention a home page and general GNU help. + * libltdl/config/ltmain.m4sh: Use @PACKAGE_BUGREPORT@ instead of + hard-coded list address. Also mention Libtool home page and + general GNU help web page. + * libtoolize.m4sh: Likewise. + +2010-06-12 Peter Rosin + Ralf Wildenhues + + Improve libdir usage from within ltdl on MinGW. + * libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the + libdir entry in the .la file, but accept it only if it is not + a unix-style absolute name. + * tests/ltdl-libdir.at: New test that checks if ltdl finds an + installed module via the libdir variable in the .la file. On + MinGW, use a Windows-style libdir name including drive spec. + * Makefile.am: Add above. + +2010-06-11 Peter O'Gorman + + Skip bindir install test if we're not building shared. + * tests/bindir.at: Skip install test if necessary. + * THANKS: Update. + Report by Michael E Faenza. + +2010-06-11 Gary V. Vaughan + + Use getopt.m4sh to generate libtoolize option parser. + * libtoolize.m4sh: Replace hand written shell code with a + call to M4SH_GETOPTS. Move some premature initialization + from the preamble to the main part of the script. Exit with + an error on spurious additional non-option arguments. + (envopts): Integrate LIBTOOLIZE_OPTIONS pre-parsing into the + main option parsing loop. + (opt_copy): Use in place of and in the reverse sense of the + old opt_link variable. + +2010-06-10 Peter O'Gorman + + Create reloadable object files with non-pic objects too. + * libltdl/config/ltmain.m4sh: When not building a shared + library, use the non-pic objects to create a reloadable + object, because pic objects do not exist. + +2010-06-10 Ralf Wildenhues + + Ensure libltdl is up to date for check-local. + * Makefile.am (LTDL_BOOTSTRAP_DEPS): New variable. + (all-local): Use it to simplify dependencies. + (testsuite_deps_uninstalled): Add $(LTDL_BOOTSTRAP_DEPS). + Report by Peter Rosin. + +2010-06-10 Gary V. Vaughan + + Support shell tracing inside functions even with ksh. + * libltdl/config/getopt.m4sh: Set $opt_debug to be either `:' + or `set -x' depending on whether --debug was parsed to match + usage in libtoolize.m4sh and ltmain.m4sh. + * clcommit.m4sh, libltdl/config/announce-gen.sh: Instead of + `$opt_debug && ...', use `test "$opt_debug" != ":" && ...'. + * clcommit.m4sh, libltdl/config/announce-gen.m4sh, + libltdl/config/getopt.m4sh, libltdl/connfig/mailnotify.m4sh: + Execute at the start of functions to cater to ksh, which + resets `-x' inside shell functions. + + Fix a typu in HACKING. + * HACKING (Release Procedure): s/Makeflie/Makefile/. + +2010-06-09 Ralf Wildenhues + + Factorize testing gcj installation in the testsuite. + * tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually + try to compile a .java file when deciding whether to skip. + (LT_AT_EXEC_TAG): New macro, to also ensure runnability. + * tests/convenience.at (Java convenience archives): Use + LT_AT_EXEC_TAG, simplify accordingly. + * tests/flags.at (passing lt_tag flags through libtool): Use + m4_defn for tag so LT_AT_TAG works. + * tests/infer-tag.at (GCJ inferred tag): Simplify. + * THANKS: Update. + Report by Warren Dodge. + +2010-06-09 Peter O'Gorman + + Skip demo-nopic tests if SELinux policy will cause failure. + * tests/demo-nopic.test: Check SELinux policy and skip if + necessary. + +2010-06-09 Gary V. Vaughan + + Set SCM version number to 2.2.11a. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.11a. + * NEWS: Updated. + + GNU Libtool 2.2.10 was released. + + Prepare for next release. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number + to 2.2.10. + * NEWS: Update version number. + + Fix a quoting bug with ./commit -a 'A U Thor'. + * clcommit.m4sh (func_commit): Use func_show_eval when calling + git, so that the previously func_quote_for_eval()ed $git_flags is + expanded properly. + +2009-09-15 Peter Rosin + + Don't try the MSYS libdir path on MinGW. + * libltdl/ltdl.c (parse_dotla_file) [mingw]: The absolute + libdir path in the .la file is recorded as an MSYS (POSIX + style) path. Make sure it isn't tried when locating the + shared library. + * NEWS: Updated. + +2010-06-09 Gary V. Vaughan + + Simplify license variations, and add missing license texts. + * ChangeLog, ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, + ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, + ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, + ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, NEWS: Add + all-permissive license. + * HACKING, README, README.alpha, TODO: Relax license to RMS + encouraged all-permissive terms. + * libltdl/README: Ditto. I added the original license text in + 2007, and there's no need for it to be so long for such a trivial + file. + * libltdl/config/getopt.m4sh, libltdl/general.m4sh: Cvs-utils is + dead, and I am the author of these files, so consolidated license + terms to match regular Libtool licensing. + * HACKING (Licensing Rules): Update wording, and list of files for + the all permissive license. + (GPL with CVS-Utils exception clause): Removed. No files have these + license any more. + (GPL with Libtool exception clause): Ditto, only libltdl/README + used to be distributed with this variation. + * AUTHORS: Add GPL license text. + + Fix a type in the 2.2.8 release notes. + * NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes. + + Don't warn about the blank line inserted into git commit message. + * clcommit.m4sh: When searching for accidental commits of mutliple + changes, ignore the second line of the message, which we inserted + earlier to support "git log --oneline". + + Enable correct extraction of multiline copyright from --version. + * libltdl/config/getopt.m4sh: Wrap copyright notice at 76 + columns. + (func_version): Don't omit spaces when merging multiline copyright + notices. + * clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76 + columns. + + * NEWS (2.2.8): BlueGene compiler tests were performed on BG/P + systems, not BG/L. + Reported by Christian Rössel + +2010-06-08 Ralf Wildenhues + + Fix testsuite helper macros to not hide failure. + * tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE): + Do not wrap AT_CHECK in a subshell, so that failures are + properly propagated; instead, move environment changes inside + the AT_CHECK code. + Report and analysis by Peter Rosin. + + Avoid autom4te warning about unnamed diversion. + * libltdl/config/getopt.m4sh: Use diversion name KILL not -1. + +2010-06-07 Ralf Wildenhues + + Make versioning test stricter for w32, enable shared libs. + * tests/versioning.at (versioning): Add -no-undefined to + LDFLAGS. + (test_uninstalled): Also move $bindir out of the way + temporarily. + + Fix versioning test for LDFLAGS=-Wl,--as-needed. + * tests/versioning.at (versioning): For the library update + hypotheses, ensure the unchanged library libb isn't accidentally + relinked against the new liba, by not reinstalling libb. + Fixes testsuite failure for the incompatible update case with + LDFLAGS=-Wl,--as-needed. + * THANKS: Update. + Report by Ryan Hill. + +2010-06-06 Ralf Wildenhues + + Rewrite manual intro to be gender-neutral. + * doc/libtool.texi (Introduction): Use gender-neutral + formulation when addressing developers. + +2010-06-05 Gary V. Vaughan + + Update and simplify all m4sh scripts to use latest getopt.m4sh. + * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Rewrite option + parsing loop over M4SH_GETOPTS macro, and adjust all clients of + option variables to use generated option names. + + Add missing quote for literal ? in a shell case statement. + * libltdl/config/getopt.m4sh (m4go_shortnoargs): Quote initial ? + correctly for use in a shell case statement. + + Quote command line arguments after --rcfile properly. + * libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining + arguments shell variable expression correctly for eval. + + Shift correctly in numbered option argument collection. + * libltdl/config/getopt.m4sh (_m4go_option): Argument list also + needs to be `shift'ed in the shell option loop after processing a + numbered argument collection. + + Fetch from new upstream host for config.guess and config.sub. + * Makefile.maint (WGET_CGIT): Location of newest config.guess and + config.sub upstream. + (fetch): Fetch config.guess and config.sub from WGET_CGIT, rather + than no-longer-updating WGET_SGO location. + + Update generated upload directive file format to v1.1. + * Makefile.maint (git-dist, diffs): Update to generate v1.1 format + directive files for ftp://ftp-upload.gnu.org/incoming/ftp. + + Fix web manual generation details in release instructions. + * HACKING (Release Procedure): Move the instruction for generating + web manuals for a new release to before the instruction that bumps + the version numbers to the post release values. + + Set SCM version number to 2.2.9a. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.9a. + * NEWS: Updated. + + GNU Libtool 2.2.8 was released. + + Prepare for next release. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.8. + * NEWS: Update version number. + * INSTALL, libltdl/config/install-sh, libltdl/config/config.guess, + libltdl/config/config.sub, libltdl/config/texinfo.tex: Updated + from canonical source. + + Provide an m4sh reimplementation of announce-gen. + * libltdl/config/getopt.m4sh (M4SH_GETOPTS): New macro that takes + a quoted m4 list of command line options to be parsed, and + generates the shell code to parse those options and collect the + results into appropriately named 'opt_xxx' shell variables. Also, + add some private supporting macros, and improve the comments + radically. + * libltdl/config/announce-gen.m4sh: New file, to generate and + optionally post (an enhancement over the gnulib perl script of the + same name) a release announcement. + * Makefile.maint (announce-gen): Build a new announce-gen script + in the build directory, from the contents of + libltdl/config/announce-gen.m4sh. + * HACKING (Release Procedure): Update the instructions to use + announce-gen. + (Alpha release note template, Full release note template): + Removed. + +2010-05-22 Gary V. Vaughan + + Support "git log --oneline" in generated commit messages. + * clcommit.m4sh (func_check_commit_msg): Insert an empty line + between the ChangeLog entry summary line and the ChangeLog entry + body, so that "git log --oneline" works properly. + Bump copyright and version number. + Reported by Ralf Wildenhues + +2010-05-22 Ralf Wildenhues + + * HACKING: Set Reply-To: in announcement emails. + +2010-05-21 Gary V. Vaughan + + Set SCM version number to 2.2.7c. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.7c. + * NEWS: Updated. + + GNU Libtool 2.2.7b was released. + + Prepare for next release candidate. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.7b. + * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, + libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: These files + have been updated without a serial bump since the last release. + * libltdl/Makefile.inc (LTDL_VERSION_INFO): Bump Revision, to + account for bugfixes since the last release. + * libltdl/config/install-sh, libltdl/config/config.guess, + libltdl/config/config.sub, libltdl/config/texinfo.tex, + INSTALL: Updated from canonical source. + * NEWS: Update with missing entries from ChangeLog. + * HACKING: Note workaround for developer tool-path leakage bug. + + Skip some tests in --disable-ltdl-install mode. + * tests/dlloader-api.at, tests/exceptions.at, + tests/lalib-syntax.at, tests/loadlibrary.at, + tests/lt_dlopenext.at, tests/resident.at: Detect when these + tests try to link against the not installed libltdl.la, and + skip rather than FAIL. + +2010-05-05 Peter Rosin + + Clarify versioning algorithm documentation. + * doc/libtool.texi (Updating version info): Be explicit + about setting age to zero on interface change. + Reported by Jef Driesen + +2010-05-04 Peter O'Gorman + + Ranlib is required with -force_load and fat archives. + * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run + ranlib. + Reported by Jeremy Huddleston + +2010-04-09 Ralf Wildenhues + + Fix incompatible struct declarations. + * doc/libtool.texi (Dlpreopening): Remove broken documentation + of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist + and symbol lt_preloaded_symbols according to the implementation. + * tests/demo/dlmain.c (lt_symlist): Make struct anonymous ... + (lt_dlsymlist): ... and typedef to this name. + (lt_preloaded_symbols, main): Adjust. + * tests/pdemo/longer_file_name_dlmain.c: Likewise. + +2010-04-04 Ralf Wildenhues + + Use linker_flags not compiler_flags with $LD. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux] + : With xlf and bgxlf + compilers, when linking with $LD, use $linker_flags not + $compiler_flags. + +2010-03-31 Ralf Wildenhues + + Add FAQ, and FAQ entry for flags stripped at library link time. + * doc/libtool.texi (FAQ, Stripped link flags): New nodes. + (Wrapper executables): Replace bug address with macro. + (Compile mode, Link mode): Document `-Wc,' and `-Xcompiler ' + semantics better. + * libltdl/config/ltmain.m4sh (func_mode_link): Rewrite comment + for the flags that are passed through. + Prompted by reports from Simon Richter , + Török Edwin and + Ă…ke Sandgren . + +2010-03-28 Ralf Wildenhues + + Fix preloader symbol list declaration in libltdl. + * libltdl/ltdl.c (preloaded_symbols): Fix declaration to include + array brackets. + (lt_dlinit): Do not take address of preloaded_symbols. + + Fix typo in libtool --help output. + * libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help + output. + + Fix a couple of documentation errors. + * doc/libtool.texi (Autoconf macros): Improve hyphenation. + (Using libltdl): libltdl uses the Lesser General Public License, + not the Library General Public License. + + Do not use @sc nor @acronym in the manual. + * doc/libtool.texi: Remove all usage of @sc. + +2010-03-19 Chris Demetriou + + Sort output of 'find' to enable deterministic builds. + * libltdl/config/ltmain.m4sh (func_extract_archives): Sort + output of 'find'. + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise. + * THANKS: Update. + +2010-03-19 Ralf Wildenhues + + Unconditionally normalize LC_ALL, LANGUAGE in libtool script. + * libltdl/config/ltmain.m4sh: Unconditionally set LC_ALL and + LANGUAGE to 'C', to avoid semantic differences on MinGW under + Chines locale. SCO issues with e.g. LANG=C are not known to + be relevant today any more. + Report by Pete Batard and Xiaofan Chen + . + +2010-03-17 Peter Rosin + + Preserve the last error when restoring the error mode. + * libltdl/loaders/loadlibrary.c (wm_open): Don't rely on + SetThreadErrorMode (or SetErrorMode) to not clobber the last + error. + Report by Ralf Wildenhues. + + Use Get/SetThreadErrorMode if they are available. + * libltdl/loaders/loadlibrary.c (wrap_geterrormode): Replaced... + (wrap_getthreaderrormode): ...by this function that checks + first for GetThreadErrorMode, then GetErrorMode and makes use + of either of those or... + (fallback_getthreaderrormode): ...else falls back to this + replacement function that implements the old workaround, which + was previously implemented in... + (fallback_geterrormode): ...this now renamed function. + (geterrormode): Replaced... + (getthreaderrormode): ...by this function pointer that points + at either of wrap_getthreaderrormode, GetThreadErrorMode, + GetErrorMode or fallback_getthreaderrormode. + (wrap_setthreaderrormode): New function that checks if + SetThreadErrorMode is supported by the system and makes use of + it if it is. + (fallback_setthreaderrormode): New function that is used + otherwise that implements the old version using SetErrorMode. + (setthreaderrormode): New function pointer that points at + either of wrap_setthreaderrormode, SetThreadErrorMode or + fallback_setthreaderrormode. + (vm_open): Adjust to the above. + +2010-02-28 Ralf Wildenhues + + Detect Sun compiler suite with 'sun'-prefixed names. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) + (_LT_SYS_HIDDEN_LIBDEPS) [solaris]: Accept compiler names sunCC, + sunf77, sunf90, sunf95 in addition to CC, f77, f90, f95. + * NEWS: Update. + Report by Vadim Zeitlin. + +2010-02-28 Pierre Ossman (tiny change) + Ralf Wildenhues + + Fix deplibs check fallback for 64-bit Windows and Windows CE. + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats + 'pe-arm-wince' and 'pe-x86-64'. Add note about consistency with ... + * libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective + pattern here; sync pattern from the former. + * tests/deplibs-mingw.at (deplibs without file command): New + file, new test. + * Makefile.am (TESTSUITE_AT): Update. + * NEWS: Update. + +2010-02-24 Scott McCreary (tiny change) + + Update search path on Haiku for legacy system directory. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku] + : Replace legacy + /boot/beos/system/lib directory with /boot/system/lib. + * THANKS: Update. + +2010-02-22 Ralf Wildenhues + + manual: fix detailmenu ordering. + * doc/libtool.texi (Top): Add section for `Linking executables' + in the detailmenu. + +2010-02-21 Charles Wilson + + Guard against strerror()==NULL + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): + Check return value of strerror() using nonnull(). + (func_emit_cwrapperexe_src:find_executable): Ditto. + (func_emit_cwrapperexe_src:chase_symlinks): Ditto. + +2010-02-21 Charles Wilson + + Document wrapper changes. + * NEWS: Indicate new feature and incompatibility. + * doc/libtool.texi [detailmenu]: Add reference to subsection + 'Wrapper executables for programs', in Platform Quirks category. + [Linking executables]: Mention wrapper executables, in + addition to wrapper scripts. Add menu referencing subsection + 'Wrapper executables for programs'. + [Wrapper executables for programs]: New subsection. Documents + cwrapper rationale and command line options. + +2010-02-21 Charles Wilson + + Add --lt-* options to shell wrapper + * libltdl/config/ltmain.m4sh (func_emit_wrapper): Call + func_parse_lt_options early. Use func_exec_program. + (func_emit_wrapper:func_parse_lt_options): New function. + (func_emit_wrapper:func_lt_dump_args): New function. + (func_emit_wrapper:func_exec_program_core): New function. + (func_emit_wrapper:func_exec_program): New function. + +2010-02-21 Charles Wilson + + Enable runtime cwrapper debugging; add tests + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): + Update comments. Initialize program_name. Eliminate _LENGTH + variables for string constants. In debug mode, print a + banner with known content before any other output. Remove + LTWRAPPER_DEBUGPRINTF macro. Add constants and variables + to support new --lt-debug option. + (func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to... + (func_emit_cwrapperexe_src:lt_debugprintf): this. Only print + messages if lt_debug != 0. Ensure appearance of messages + conforms to GCS. + (func_emit_cwrapperexe_src:lt_fatal): Ditto. + (func_emit_cwrapperexe_src:lt_error_core): Ditto. + (func_emit_cwrapperexe_src): Update all callers to lt_fatal. + Update all users of LTWRAPPER_DEBUGPRINTF (()) to call + lt_debugprintf () directly. + (func_emit_cwrapperexe_src:main): Consolidate option parsing. + Ensure first use of lt_debugprintf occurs after option parsing. + Add stanza to parse for --lt-debug and set lt_debug variable. + Use strcmp rather than strncmp, where safe. + * tests/cwrapper.at: Add new tests for --lt-debug and + -DLT_DEBUGWRAPPER. + +2010-01-31 Ralf Wildenhues + + Use --email with gendocs.sh. + * Makefile.maint (web-manual): Pass bug reporting address to + gendocs.sh. + + Make testsuite code C++ clean again. + * tests/resident.at (resident modules): Fix for C++. + +2010-01-29 Peter Rosin + Ralf Wildenhues + + Testsuite exposure for dlloader API. + * tests/dlloader-api.at: New file, new test. + * Makefile.am (TESTSUITE_AT): Update. + +2010-01-29 Peter Rosin + + * tests/loadlibrary.at: Fix C++ issues. + +2010-01-20 Peter Rosin + + Report proper errors from the loadlibrary loader. + * libltdl/loaders/loadlibrary.c (loadlibraryerror): New + helper function that returns the latest Windows error as a + string, or the provided default string on failure to do so. + (LOADLIB_SETERROR): New macro that wraps previous to make it + easy to use. + (vm_open, vm_close, vm_sym): Make use of previous. + (LOCALFREE): New macro to help free the Windows error string. + (vl_exit): Make use of previous. + * tests/loadlibarry.at: New file, new test that makes sure + the loadlibrary loader reports non-standard error messages. + * Makefile.am (TESTSUITE_AT): Add above test. + +2010-01-02 Peter Rosin + + Use GetErrorMode if it is available. + * libltdl/loaders/loadlibrary.c (wrap_geterrormode): New + function that checks if GetErrorMode is supported by the + system and makes use of it if it is. + (fallback_geterrormode): New function that is used otherwise + that implements the old workaround. + (geterrormode): New function pointer that points at either + of the above or directly at GetErrorMode. + (vm_open): Make use of the above. + +2010-01-11 Ralf Wildenhues + + Ensure functions from resident modules work in atexit handlers. + * tests/resident.at (resident modules): New file, new test. + * Makefile.am (TESTSUITE_AT): Adjust. + Report by Bob Friesenhahn. + + Testsuite exposure for relative output file names and deplibs. + * tests/deplib-in-subdir.at (deplib in subdir): New file, new + test. + * Makefile.am (TESTSUITE_AT): Update. + Prompted by report from Bob Friesenhahn. + +2010-01-11 Ralf Wildenhues + Bob Friesenhahn + + Testsuite exposure for C++ exception handling. + * tests/exceptions.at (C++ exception handling): New file, new + test. + * Makefile.am (TESTSUITE_AT): Update. + Report by Bob Friesenhahn. + +2010-01-06 Ralf Wildenhues + + Bump copyright years. + * ChangeLog.2009: New, rotated from ... + * ChangeLog: ... here. + * Makefile.am (EXTRA_DIST): Add ChangeLog.2009. + * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. + * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. + * libtoolize.m4sh: Likewise. + +2009-12-30 Peter Rosin + + * libltdl/ltdl.c (lt_dlerror): Remove meaningless conditional. + +2009-12-29 Peter Rosin + + * libltdl/ltdl.c (file_not_found): Fix typos in code comment. + +2009-12-12 Ralf Wildenhues + + Replace last __oline__ instance. + * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Replace last + __oline__ instance with $LINENO. + +2009-12-09 Ralf Wildenhues + + Improve parsing of .la files in libltdl. + * libltdl/ltdl.c (trim): Do not dump core upon missing quote in + module .la file. + * tests/lalib-syntax.at (syntax of .la files): New file, new + test. + * Makefile.am (TESTSUITE_AT): Add tests/lalib-syntax.at. + Report by Bob Friesenhahn. + +2009-12-05 Ralf Wildenhues + + Sane fallback initialization of $ECHO from $as_echo. + * libltdl/config/general.m4sh: Use 'printf %s\n' if $as_echo is + unset. + * tests/testsuite.at: Likewise. + * THANKS: Update. + Report by Vadim Zeitlin and Peter Rosin. + +2009-12-02 Ralf Wildenhues + + lt_dlloader_remove and lt_dlloader_find accept const arguments. + * libltdl/lt_dlloader.c (lt_dlloader_remove, lt_dlloader_find): + Accept `const char *' arguments, as documented. Cast them to + `void *' for the slist machinery. + * libltdl/libltdl/lt_dlloader.h: Adjust prototypes. + + Test and fix slist.c. + * libltdl/libltdl/slist.h: Include stddef.h, for size_t. + (slist_remove): Return pointer to SList, not void. + * libltdl/slist.c: Include stdlib.h, for malloc and free. + (slist_remove): Adjust prototype as above. + (slist_sort): Do not loop forever on one-item list. + * tests/slist.at (SList functionality): New file, new test. + * Makefile.am (TESTSUITE_AT): Add tests/slist.at. + +2009-11-30 Peter Rosin + + Please C++ compilers when calling strrchr. + * libltdl/ltdl.c (has_library_ext): Match the return type of + strrchr with the first argument to please C++ compilers. + Report by Peter O'Gorman. + +2009-11-29 Ralf Wildenhues + + Fix bindir and dlopen tests for C++ compilers (CC=g++). + * tests/bindir.at (bindir basic lib test, bindir install tests): + Include stdlib.h rather than declaring abort. + * tests/lt_dlopenext.at (lt_dlopenext error messages): Use + `extern "C"' annotation for dlsym'ed function in C++ mode. + +2009-11-25 Peter Rosin + + Fix cross build issue in execute mode test. + * tests/execute-mode.at: Skip test for cross builds. + +2009-11-24 Ralf Wildenhues + + Enable symbol versioning with the GNU gold linker. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Accept 'GNU gold' + in the version string. + * NEWS, THANKS: Update. + Report by Peter Fritzsche. + + Tighten regex for Portland C++ compiler for version 10. + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [linux]: + Match a dot after version 1 through 5, so 10 and up don't match, + and use weak symbols. + * THANKS: Update. + Report by Jeff Squyres and Brent Leback. + +2009-11-16 Peter O'Gorman + + Update libltdl version to match 2.2.6b release. + * libltdl/Makefile.inc: Make version 9:1:2 + +2009-11-14 Bob Friesenhahn + + Don't load module.la from current directory by default. + * libltdl/ltdl.c (try_dlopen): Do not attempt to load an + unqualified module.la file from the current directory (by + default) since doing so is insecure and is not compliant with + the documentation. + * tests/testsuite.at: Qualify access to module.la file in + current directory so that test passes. + +2009-11-14 Peter O'Gorman + + Only use preopen loader to load preopened archives + * libltdl/ltdl.c: Limit checking of .a to preopen loader. + * tests/lt_dlopen_a.at: Add test. + * Makefile.am: Add test. + +2009-11-14 Ralf Wildenhues + + Recognize `pgfortran' as Portland compiler. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS): + Accept `pgfortran*' too. + Report by Jeff Squyres. + +2009-11-04 Alexandre Oliva + Ralf Wildenhues + + Fix verbose link extraction for multiply reconfigured GCC. + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) + : Drop GCC lines "Configured with" that + may contain unrelated flags. + +2009-11-02 Eric Blake + + Allow gcc builds with -Wall -Werror. + * libltdl/ltdl.c (try_dlopen): Use strlen rather than LT_STRLEN on + an array that will never be NULL. + +2009-11-01 Ralf Wildenhues + + Fix func_normal_abspath sed script for Solaris. + * libltdl/config/general.m4sh (pathcar, pathcdr, removedotparts) + (collapseslashes, finalslash): Use single quotes, for clarity. + (removedotparts): Avoid \{N,M\} after subexpression \(...\), for + Solaris /bin/sed. + + Improve versioning algorithm documentation. + * doc/libtool.texi (Updating version info): Repeat the + algorithms in different, hopefully simpler terms. + * THANKS: Update. + Prompted by Richard B. Kreckel. + +2009-11-01 Ingo Weinhold (tiny change) + + Support for the Haiku operating system. + * libltdl/config/ltmain.m4sh (func_mode_link): Add cases for + `*-*-haiku*' alongside `*-*-beos*'. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_CHECK_MAGIC_METHOD, LT_LIB_M, _LT_COMPILER_PIC) + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Add cases for + `haiku*'. + * NEWS, THANKS: Update. + +2009-11-01 Ralf Wildenhues + + Fix quoting of AS, DLLTOOL, and OBJDUMP for the libtool script. + * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Quote values of + $AS, $DLLTOOL, and $OBJDUMP, so they can contain arguments. + * THANKS: Update. + Report by Matthijs Kooijman. + +2009-09-18 Ralf Wildenhues + + Initial support for the Cuda Compiler Driver on Linux. + * libltdl/config/ltmain.m4sh (func_mode_compile): Accept source + file extensions `.cu' and `.cup'. + * libltdl/m4/libtool.m4 (_LT_COMPILER_NO_RTTI, _LT_COMPILER_PIC) + (_LT_LINKER_SHLIBS): Support for `nvcc' compiler driver. + * NEWS, THANKS: Update. + Report by Mahesh Narayanamurthi. + +2009-09-12 Dave Korn + + Control where win32 DLLs get installed. + * libltdl/config/general.m4sh (func_normal_abspath): New function. + (func_relative_path): Likewise. + * libltdl/config/ltmain.m4sh (func_mode_help): Document "-bindir". + (func_mode_link): Accept new "-bindir" option and use it, if + supplied, to place Windows DLLs. + * tests/bindir.at: New file for install tests using "-bindir". + * Makefile.am (TESTSUITE_AT): Add bindir.at. + * doc/libtool.texi (Link Mode): Update documentation. + * NEWS, THANKS: Update. + +2009-09-11 Akim Demaille + + libtool: clean libconftest.a. + * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Here. + +2009-09-10 Peter Rosin + + func_win32_libid doesn't work with MS dumpbin + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): The $NM + interface is assumed to be BSD nm in func_win32_libid, so + check for that before using it. + +2009-09-07 Ralf Wildenhues + + Allow dlopen self test to work with gcc's -fvisibility=hidden. + * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Declare default + visibility for the symbol we are going to test dlopen (NULL) + when a GCC version is used that understands the visibility + attribute, under the assumption that if -fvisibility=hidden + will be used, the user code will be sufficiently annotated + for visibility of needed symbols from the main executable. + * THANKS: Update. + Report by Josh Hursey against OpenMPI. + + Fix and split recent testsuite addition for compile/link flags. + * tests/flags.at (passing flags through libtool): Split into ... + (passing CC flags through libtool) + (passing CXX flags through libtool) + (passing F77 flags through libtool) + (passing FC flags through libtool) + (passing GCJ flags through libtool): ... these five tests, + factorized with m4_foreach. Fix F77 and FC compile and link + commands; add GCJ tag. Use LT_AT_TAG to correctly skip tags + for which no compiler exists. Use $EXEEXT where appropriate. + Drop unneeded use of reload_cmds. + Reports by Peter Rosin and Peter O'Gorman. + +2009-09-07 Peter O'Gorman + + Testsuite keyword 'interactive' and check-* rules. + * Makefile.am (testsuite_deps, testsuite_deps_uninstalled): + New variables. + (check-local, installcheck-local): Use them. + (check-interactive, check-noninteractive): New rules. + * tests/link-order2.at (Link order of deplibs), + tests/static.at (static linking flags for programs): Add keyword + `interactive'. + * doc/libtool.texi (Test descriptions): Document all keywords + used in the Libtool test suite. + * NEWS: Update. + + Fix failure test in the presence of --with-pic or -prefer-pic. + * tests/fail.at (Failure tests): Run non-PIC failure test only + if pic_mode is 'default' or 'no', rather than 'default' or 'yes' + and also -prefer-pic has not been passed in $CFLAGS. + * THANKS: Update. + Report by Donn Washburn. + + Add testsuite exposure for passing of compiler and linker flags. + * tests/flags.at (passing flags through libtool): New file, new + test, for bug fixed in previous commit. + * Makefile.am (TESTSUITE_AT): Add tests/flags.at. + +2009-09-04 Peter Rosin + + Make -Wc,FLAG behave like -Xcompiler FLAG in link mode. + * libltdl/config/ltmain.m4sh (func_mode_link): Remove "-Wc," + instead of replacing it with "$wl" when linking programs + through the compiler driver, just as is the case when linking + libraries. + * NEWS: Update. + +2009-08-23 Lennart Poettering (tiny change) + + Shut up prototype warnings with recent GCC and -Wstrict-prototypes. + * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Use recent + GCC's diagnostic pragma to override a -Wstrict-prototypes + setting for the symbol list code. + * THANKS: Update. + +2009-08-23 Ralf Wildenhues + + Remove __oline__ from macros, for less spurious configure diffs. + * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION) + (_LT_COMPILER_C_O, LT_PATH_NM): Replace __oline__ instances with + $LINENO. + * NEWS: Update. + +2009-07-24 Roumen Petrov (tiny change) + + Fixup 'execute mode' test for w32. + * tests/execute-mode.at (execute mode): Add missing $EXEEXT. + (LDFLAGS): Add -no-undefined. + +2009-07-01 Yaakov Selkowitz (tiny change) + Charles Wilson + + [CXX] Use correct export_dynamic_flag_spec for PE-COFF $hosts + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [cygwin*|mingw*|pw32*|cegcc*]: + Define export_dynamic_flag_spec as -Wl,--export-all-symbols here as well + (see commit 5f2bbb494a2753afb2878c399cfd8316b7403a5b). + +2009-06-29 Charles Wilson + + [mingw] Improve sys_lib_search_path_spec detection. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix handling + of dos-style paths when parsing $CC -print-search-dirs output. + +2009-06-28 Charles Wilson + + Finish adding alias for obsoleted AC_LIBTOOL_RC macro. + * libltdl/m4/libtool.m4: Add reminder comment concerning + aclocal-1.4 backwards compatibility. + * libltdl/m4/lt~obsolete.m4: Remove unnecessary AC_DEFUN. + +2009-06-27 Charles Wilson + + Add alias for obsoleted AC_LIBTOOL_RC macro. + * libltdl/m4/libtool.m4: Add alias for obsoleted + macro AC_LIBTOOL_RC. + +2009-06-21 Charles Wilson + + Remove unneeded functions and options from cwrapper + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) + [lt_opt_process_env_set]: Remove. + [lt_opt_process_env_prepend]: Remove. + [lt_opt_process_env_append]: Remove. + [lt_split_name_value]: Remove. + [file scope]: Don't declare removed functions. Remove + constants and defines related to eliminated commandline + options. + [main]: Remove code related to eliminated commandline + options --lt-env-set, --lt-env-prepend, --lt-env-append. + +2009-06-19 Yaakov Selkowitz (tiny change) + Charles Wilson + + Ensure LT_PATH_LD works when called before LT_INIT + * libltdl/m4/libtool.m4 (LT_PATH_LD): AC_REQUIRE _LT_PROG_ECHO_BACKSLASH. + +2009-06-14 Ralf Wildenhues + + Add versioning tests. + * tests/versioning.at (versioning): New file, new test. + * Makefile.am (TESTSUITE_AT): Adjust. + Prompted by bug report from Mike Gorchak. + +2009-06-14 Mike Gorchak (tiny change) + Ralf Wildenhues + + Fix versioning computation for QNX. + * libltdl/config/ltmain.m4sh (func_mode_link): Set `$current' + and `$age' properly for version_type `qnx'. + +2009-06-14 Ralf Wildenhues + + Avoid spurious localization testsuite failure on HP-UX/ia64. + * tests/localization.at (localized compiler messages): Skip test + if the compiler warning output contains `locale', for HP-UX. + +2009-06-10 Ralf Wildenhues + + Fix concurrent extraction of convenience libraries on Darwin. + * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): New libtool + variable `lock_old_archive_extraction', set to `yes' on darwin. + * doc/libtool.texi (libtool script contents): Document it. + * libltdl/config/ltmain.m4sh (func_extract_an_archive): Lock + `ar x' invocation if `lock_old_archive_extraction' is yes. + * tests/darwin.at (darwin concurrent library extraction): New + test. + * NEWS: Update. + Report by Akim Demaille. + +2009-06-07 Ralf Wildenhues + + Fix testsuite failure of lt_dlopenadvise test on FreeMiNT. + * tests/lt_dladvise.at (lt_dlopenadvise library loading): Do not + build moddepend for systems without shared libraries. + Report by Alan Hourihane. + + testsuite: avoid failures due to old Automake. + * tests/configure-iface.at (installable libltdl) + (--with-ltdl-include/lib, --with-included-ltdl): + Speficy libmodule_la_SOURCES in Makefile.am as the default + source file naming scheme changed in Automake 1.8. + * tests/nonrecursive.at (_LT_AT_LTDL_SETUP): Require Automake + 1.9.6. + * THANKS: Update. + Report by Robert Garron. + + testsuite: add missing @LIBS@ in a link command line. + * tests/old-m4-iface.at (AC_WITH_LTDL): Use @LIBS@ when linking. + Report by Patrice Fromy. + + testsuite: cope when some installed libltdl.la has been removed. + * tests/old-m4-iface.at (AC_WITH_LTDL): Pass --with-included-ltdl + to configure, to ensure we do not accidentally link against a + previously installed libltdl.so where the corresponding .la + file has been removed, thus we do not add a run path, and the + runtime linker then fails to find libltdl.so.7. + * tests/configure-iface.at (--with-ltdl-include/lib): Remove -L + flags from LDFLAGS to avoid picking up an installed libltdl + outside of the default locations. + * THANKS: Update. + Prompted by report from Patrice Fromy. + +2009-06-07 Vincent Torri (tiny change) + + Fix C wrapper invocation for ceGCC hosts (cegcc and mingw32ce). + * libltdl/config/ltmain.m4sh (func_mode_link): do not generate + C wrapper for cegcc and mingw32ce hosts. + (func_emit_cwrapperexe_src): remove useless check on + __MINGW32CE__. + +2009-06-07 Ralf Wildenhues + + Don't pick up double-quotes from /etc/ld.so.conf on Ubuntu. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] + : Remove embedded double quotes from + paths picked up from /etc/ld.so.conf. Fixes libltdl compile + failure on Ubuntu 7.10. + * THANKS: Update. + Report by Camilo La Rota. + +2009-06-06 Richard Sandiford + + Fix GNU nm invocation for AIX. + * libldtl/m4/libtool.m4 (_LT_LINKER_SHLIBS) + : Modify the GNU-nm-on-AIX version so that + it adds weak defined symbols to the export list. + + Build AIX shared libraries with binutils 2.19.50+. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + : New variable to control whether the + GNU ld or native ld interface is used. Set to "no" for GNU ld + 2.19.50+ on AIX, otherwise mirror $with_gnu_ld. Update the + warning message that is printed when using GNU ld on AIX. + Adjust the whole_archive_flag_spec value for GNU ld on AIX. + * NEWS, THANKS: Update. + +2009-05-27 Peter O'Gorman + + Don't run compiler checks twice. + libltdl/m4/libtool.m4 (_LT_PROG_FC, _LT_PROG_F77, + _LT_PROG_CXX): Remove these macros. + libltdl/m4/lt~obsolete.m4: Add removed macros here. + libltdl/m4/libtool.m4 (_LT_LANG_FC_CONFIG, _LT_LANG_F77_CONFIG, + _LT_LANG_CXX_CONFIG): Remove references to removed macros, and + move functionality here. + NEWS: Update. + +2009-05-05 Rainer Emrich (tiny change) + Peter Rosin + Ralf Wildenhues + + Fix cross compilation for HPPA/64 with a BSD file command. + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) + [hpux10.20*, hpux11*, !ia64] : + Match the dot in `PA-RISC 2.0' literally. Adjust hppa*64* + pattern to also match BSD `file' output, used in cross + compilation setups. + * THANKS: Update. + Report and initial patch by Rainer Emrich, refined by Peter + Rosin. + +2009-05-05 Ralf Wildenhues + + libtoolize: ignore trailing junk on scriptversion line. + * libtoolize.m4sh (func_install_update): Ignore semi-colon or + comment-sign and all following characters when parsing a + `scriptversion' line in one of the auxiliary scripts; recent + Automake-provided script have a stylized comment to induce + Emacs to use UTC. + Exposed by the `libtoolize config files serial update' test. + +2009-05-02 Ralf Wildenhues + + Skip localization test when setlocale is not functional. + * tests/localization.at (localized compiler messages): Skip + test when there is a warning about `LC_ALL'. + * THANKS: Update. + Report by Maciej Helminiak. + +2009-05-02 Alan Hourihane (tiny change) + + Improved support for FreeMiNT. + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [mint]: Hard-code + command line length limit to 8192, to avoid long test. + * NEWS, THANKS: Update. + +2009-05-02 Ralf Wildenhues + + Initial port for BlueGene BG/L. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) [linux]: Detect bgxl*, bgf*, mpixl* + compilers. + * NEWS, THANKS: Update. + Report, feedback and testing by John R. Cary and Christian + Rössel. + + manual: fix grammaros. + * doc/libtool.texi (Dlpreopening): Fix grammaro. + (C header files): Remove duplicate word. + + Allow through -tp=* at link time, for pgcc. + * libltdl/config/ltmain.m4sh (func_mode_link): Portlant Group + pgcc uses `-tp=PROCESSOR' for target processor selection; allow + the flag through at link time. + Report by Ethan Mallove. + + Fix quoting of eval'ed variable. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Double-quote + $lt_cv_sys_global_symbol_pipe for eval, like we do in ltmain, + in order to preserve TABs and multiple adjacent whitespace. + Report by Bruno Haible. + +2009-04-22 Ralf Wildenhues + + Cope better with missing `makeinfo' in `bootstrap'. + * bootstrap: Update `./doc/notes.txt' last so missing `makeinfo' + does not cause a broken tree. + * THANKS: Update. + Report by Christian Rössel. + +2009-03-29 Yaakov Selkowitz (tiny change) + Charles Wilson + + [cygwin] Improve operation with gcc4 + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [cygwin*]: + Add w32api to sys_lib_search_path_spec without overriding gcc's + own search path. + +2009-03-29 Yaakov Selkowitz (tiny change) + Charles Wilson + + Use correct export_dynamic_flag_spec for PE-COFF $hosts + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) + [cygwin*|mingw*|pw32*|cegcc*]: Define export_dynamic_flag_spec + as -Wl,--export-all-symbols, as required by GNU ld for PE-COFF. + +2009-03-29 Charles Wilson + + Improve compatibility with older automake + * libltdl/m4/lt~obsolete.m4: Add AC_DEFUNs for + _LT_PREPARE_SED_QUOTE_VARS and _LT_PROG_ECHO_BACKSLASH. + Report by Yaakov Selkowitz. + +2009-03-20 Peter Rosin + + LT_OUTPUT should always create the libtool script. + * libltdl/m4/libtool.m4 (LT_OUTPUT): Make LT_OUTPUT ignore the + --no-create configure option, and assume that the user wants + to use an up-to-date libtool script if the LT_OUTPUT macro is + present. + * tests/early-libtool.at: Make sure we do not regress. + +2009-01-26 Peter Rosin + + Don't settle for any dumpbin/link program as name lister. + * libltdl/m4/libtool.m4 (LT_PATH_NM): When locating dumpbin or + link -dump, check if they appear to really be capable of name + listing, in order to eliminate e.g. link from coreutils. This + makes the name lister decision fall back on nm as the default if + no acceptable candidate is found, which mainly happens on + (arguably broken) cross compiles. + * NEWS: Update + * THANKS: Update + Reports by Rudolf Leitgeb and Peter Kjellerstedt. + +2009-03-03 Ralf Wildenhues + + Document INNER_TESTSUITEFLAGS, drop leading space. + * README: Document INNER_TESTSUITEFLAGS. + * tests/cmdline_wrap.at (Run tests with low max_cmd_len): + When using INNER_TESTSUITEFLAGS on the testsuite invocation, + drop leading space after "-k libtool", so that the user may + further limit the set of tests to be run. + +2009-03-02 Ralf Wildenhues + + Fix low max_cmd_len template test on UnixWare. + * libltdl/config/ltmain.m4sh (func_mode_link): When expanding + $reload_cmds, always put objects in $reload_objs rather than + adding them to the command line, to allow more general command + lines in reload_cmds. Ensure $reload_objs contains a leading + space. + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*, + sco3.2v5*, sco5v6*] : For CC, invoke prelinker + before creating reloadable object. + (_LT_CMD_RELOAD) : Declare as + _LT_TAGDECL, not _LC_DECL. + (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) + (_LT_LANG_GCJ_CONFIG) : Initialize + from default (C tag) value. + * THANKS: Update. + Report and analysis by Tim Rice and John Wolfe. + +2009-02-28 Ralf Wildenhues + + * doc/libtool.texi (Distributing libltdl, Test descriptions): + Add missing parentheses. + +2009-02-28 Tim Rice + + Fix C++ template handling for old archives on UnixWare 7.1.4. + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*, + sco3.2v5*, sco5v6*] : For CC, add template + prelink step before archiving. Fixes template.at test failures. + +2009-02-28 Török Edwin (tiny change) + Ralf Wildenhues + + Do not add bogus directory arguments to link command lines. + * libltdl/config/ltmain.m4sh (func_mode_link): Ensure $path is + always initialized before it is used. Reported for zsh, for + which $path contains $PATH entries even after "emulate sh", see + . + +2009-02-28 Andreas Schwab + Ralf Wildenhues + + Remove remaining references to CVS. + * bootstrap: Remove references to CVS. + * README.alpha: Likewise. + * clcommit.m4sh: Likewise. + * doc/libtool.texi: Bump copyright years. + (libtool script contents): Describe macro_revision as revision + without reference to CVS. + +2009-02-16 Ralf Wildenhues + + Do not pass $INSTALL via TESTS_ENVIRONMENT. + * Makefile.am (TESTS_ENVIRONMENT): Set lt_INSTALL, not INSTALL, + so that a bogus relative path to the install-sh script in the + source tree is not propagated to the configure scripts of the + old test suite. + * tests/testsuite.at: Adjust. + * tests/install.at (Install tests): Likewise. + +2009-02-03 Ralf Wildenhues + Kurt Roeckx + + New test for lt_dlopenext error message. + * tests/lt_dlopenext.at (lt_dlopenext error messages): New file, + with new test, with sources taken from the Autobook example. + * Makefile.am: Update. + +2009-02-03 Kurt Roeckx + + lt_dlopenext sets error upon successful library load. + * libltdl/ltdl.c (lt_dlopenadvise): Fix bogus error on + successful loading of library with lt_dlopenext. + Report by Kaiwang Chen in . + +2009-02-01 Ralf Wildenhues + + Fix sed script in install.at. + * tests/install.at (Install tests): Fix typo in sed script, + fixes test failure on HP-UX. + + Fix $INSTALL in testsuite with relative path to install-sh. + * tests/testsuite.at: If `$INSTALL' points to in-tree + install-sh, override a possibly-relative path to it with an + absolute one. + + install mode: do not pass `-m $install_override_mode' to cp. + * libltdl/config/ltmain.m4sh (func_mode_install): New variable + $install_cp, factor test when `cp' is used for installation. + Do not pass mode override to cp. Fixes `libtool --mode=install + cp ...' on HP-UX; cp should not be used for libraries that might + be needed by programs invoked during the installation process. + + Fix sed script portability issue in func_version. + * libltdl/config/getopt.m4sh (func_version): Remove space in + `/\./! {' sed command, to please HP-UX sed. + +2009-01-31 Jeff Squyres + Ralf Wildenhues + + New test for bogus lt_dlopen error message. + * tests/lt_dlopen.at (lt_dlopen error messages): New file, new + test, marked as XFAIL for now. + * Makefile.am: Adjust. + Report and reproducible test case by Jeff Squyres. + +2009-01-31 Ralf Wildenhues + + execute mode: do not transform *.lo or *.la arguments. + * libltdl/config/ltmain.m4sh (func_mode_execute): Do not check + arguments matching *.lo or *.la for script wrappers. + * tests/execute-mode.at (execute mode): Add tests. + * NEWS, THANKS: Update. + Report by Paul Biggar. + + Nonexistent `main' does not guarantee link failure. + * tests/fail.at (Failure tests): Use an unresolved symbol, + rather than non-presence of `main', to provoke a link failure + also on QNX. Only check for failure of the libtool script if + the link without libtool would have failed, too. + Report by Mike Gorchak. + + Use AT_CHECK more liberally in duplicate members test. + * tests/duplicate_members.at (duplicate members in archive + tests): Wrap link commands in AT_CHECK, they might fail, as seen + on QNX. + * THANKS: Update. + Report by Mike Gorchak. + +2009-01-30 Akim Demaille + + Fix cwrapper warnings from MSVC 2005. + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) + [file scope]: define _CRT_SECURE_NO_DEPRECATE. + +2009-01-29 Akim Demaille + + Fix bootstrap with older libtool.m4 in reach of aclocal. + * libltdl/m4/lt~obsolete.m4: Add stub definitions for + _LT_REQUIRED_DARWIN_CHECKS and _LT_AC_PROG_CXXCPP. + + Fix func_exec_init. + * tests/defs.m4sh (func_exec_init): Instead of using the undefined + my_dir, call func_dirname_and_basename and use its result. + (func_make): For consistency, don't use the useless local variable + my_dir. + +2009-01-29 Ralf Wildenhues + + Document --mode short-hands better, and test them. + * doc/libtool.texi (Invoking libtool): Give examples for using + the `--mode=MODE' short-hand `MODE', or abbreviations thereof. + * libltdl/config/ltmain.m4sh: Mention the short-hand for MODE + in the --help output. + * tests/help.at (mode short-hands): New test group. + Suggestion by Bruno Haible. + + func_version copes with multi-line copyright headers. + * libltdl/config/getopt.m4sh (func_version): Slurp in copyright + lines until a period is found. + * libltdl/config/ltmain.m4sh: Multi-line copyright is ok to use + now. + * tests/help.at (standard command line options): New file, new + tests. Make this test group the first one for libtool tests, + moving the banner ... + * tests/duplicate_members.at: ... from here. + * Makefile.am (TESTSUITE_AT): Add tests/help.at. + +2009-01-29 Akim Demaille + Ralf Wildenhues + + Normalize compiler output due to compiler wrappers. + * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): New + macro, to normalize ccache and distcc output. + * tests/localization.at (localized compiler messages): Use it. + +2009-01-29 Peter Rosin + + Make modified libtool script in cwrapper test executable + * tests/cwrapper.at: Make modified libtool script executable. + Report by Roumen Petrov. + +2009-01-28 Akim Demaille + + Clean space uses. + * libtoolize.m4sh: Remove trailing spaces. + Use , as some editors remove "useless" spaces in + . + +2009-01-26 Peter Rosin + + AWK is required, make sure it is set. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS: Make sure + AWK is set (automake brings it in, but is not always used). + Fixes old-m4-iface.at on MSYS/MSVC. + +2009-01-25 Mike Frysinger + + Fix typo in libtool install mode documentation. + * libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix + to -inst-prefix-dir. + * doc/libtool.texi (Install mode): Likewise. + +2009-01-24 Charles Wilson + + Add -Wall to cwrapper tests. + * tests/cwrapper.at: Add -Wall existing tests. Add additional + round of tests with -Wall alone. + +2009-01-24 Charles Wilson + + [cygwin|mingw] cwrapper cleanups. + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) + [file scope]: re-organized includes and portability + macros. Avoid oldnames on MINGW32 and MSVC for + setmode/stat/chmod/getcwd/putenv. Declare _putenv on + MINGW32 when -ansi. Use namespaced macro LT_DEBUGWRAPPER. + +2009-01-24 Peter Rosin + + Expand exit status test in LT_AT_NOINST_EXEC_CHECK correctly + * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): STATUS is + argument $3, not $2. + +2009-01-23 Charles Wilson + + Add tests for cwrapper with -std=c89 and -std=c99 + * tests/cwrapper.at: New file. + * Makefile.am: Add tests/cwrapper.at. + +2009-01-22 Peter Rosin + + Unify line endings in localization test. + * tests/testsuite.at: Update copyright year. + (LT_AT_UNIFY_NL): Add macro that unifies line endings on + platforms that suffer from such confusion. + * tests/localization.at: Use it. Update copyright year. Fixes + the test on MSYS/MSVC. + +2009-01-21 Charles Wilson + + [cygwin|mingw] Fix compile warnings when -std=c89. + * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1): + move contents to... + (func_emit_wrapper_part2): move contents to... + (func_emit_wrapper): here. + (func_emit_cwrapperexe_src) [file scope]: Remove + variables script_text_part1 and script_text_part2. + (func_emit_cwrapperexe_src) [lt_dump_script]: New function. + (func_emit_cwrapperexe_src) [main]: Call it. + +2009-01-21 Charles Wilson + + Minor cygwin cleanup + * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Correct + case pattern for cygwin. + +2009-01-19 Ralf Wildenhues + + Avoid failure due to Cygwin path detection bug. + * tests/execute-mode.at (execute mode): Ignore noise on stderr; + Cygwin might consider `d\"e' to be a DOS-style path and warn. + Report by Charles Wilson. + +2009-01-19 Robert Millan + + Support GNU/kOpenSolaris. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) [kopensolaris*-gnu]: Recognize + GNU/kOpenSolaris. + * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. + * NEWS, THANKS: Update. + +2009-01-19 Ralf Wildenhues + + Another LT_AT_EXEC_CHECK fixup. + * tests/shlibpath.at (shlibpath_overrides_runpath): Use + LT_AT_EXEC_CHECK instead of AT_CHECK. + +2009-01-19 Roumen Petrov (tiny change) + + Add missing $EXEEXT to java test. + * tests/convenience.at (Java convenience archives): Add $EXEEXT. + +2009-01-19 Ralf Wildenhues + + Bump copyright years. + * ChangeLog.2008: New, rotated from ... + * ChangeLog: ... here. + * Makefile.am (EXTRA_DIST): Add ChangeLog.2008. + * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. + * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. + * libtoolize.m4sh: Likewise. + +2009-01-14 Peter Rosin + + Fix flakey mdemo-dryrun test on MSYS (again!) + * tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year, + not time, for really fresh files. Add sleep 1 call at yet another + strategic position. Makes the test pass reliably for MSYS/MinGW. + +2008-12-19 Akim Demaille + + Fix copyright notice. + * libltdl/config/ltmain.m4sh: Add missing comma. + +2008-12-17 Ralf Wildenhues + + Add cache variables to link tests. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_LINKER_SHLIBS): Add cache variables to tests that + require the linker to work. For shlibpath_overrides_runpath, + this also changes the semantics to let the result from the C + compiler take precedence. + * tests/no-executables.at (AC_NO_EXECUTABLES): New file. + * Makefile.am: Update. + * NEWS: Update. + Report of shlibpath_overrides_runpath issue by Mike Frysinger, + report of GCC issue by Andreas Schwab. + +2008-11-28 Paolo Bonzini + + Fix inadvertent commit. + * bootstrap: Revert. + +2008-11-28 Paolo Bonzini + + Fix manual typo. + * doc/libtool.texi (LT_INIT): Use correct config.status + invocation. Reported by Akim Demaille. + +2008-11-28 Paolo Bonzini + + Do not use $ECHO within eval-ed `...`, as %s\\n becomes %s\n. + * HACKING: Document func_echo_all. + * libltdl/m4/libtool.m4: Use it within backticks that appear in + eval-ed variables. Reported by Akim Demaille. + +2008-11-24 Ralf Wildenhues + + Fix func_infer_tag $ECHO usage; some testsuite exposure. + * libltdl/config/ltmain.m4sh (func_infer_tag): Use func_echo_all + rather than $ECHO for possibly multiple arguments. + * tests/infer-tag.at (inferred tag, CXX inferred tag) + (F77 inferred tag, FC inferred tag, GCJ inferred tag): New file, + new tests. + * Makefile.am: Adjust. + + * tests/runpath-in-lalib.at (Runpath in libtool library files): + Add $EXEEXT overlooked in patch yesterday. + +2008-11-23 Ralf Wildenhues + + Fix expout and experr line ending issues. + * tests/testsuite.at (LT_AT_HOST_DATA): Renamed from.. + (_LT_AT_TRANSLATE_TEXT_OUTPUT): ..this. + (LT_AT_EXEC_CHECK, LT_AT_NOINST_EXEC_CHECK): Do not use + _LT_AT_TRANSLATE_TEXT_OUTPUT any more. + * tests/configure-iface.at: Use LT_AT_HOST_DATA instead of + AT_DATA for `expout' files. + * tests/lt_dladvise.at (lt_dlopenadvise library loading): + Likewise. + * tests/need_lib_prefix.at (enforced lib prefix): Likewise. + Report by Roumen Petrov. + + Relax link-order2 test for systems with partial wrong order. + * tests/link-order2.at (Link order of deplibs.): On w32 (and + others, e.g., AIX), the wrongly linked executable picks up only + one instance of the bad function instead of two; relax the test + to accept this; we still require the right link order with the + correctly linked executable. + Reported by Roumen Petrov and others. + +2008-11-23 Roumen Petrov + Ralf Wildenhues + + Add $EXEEXT to all linked programs in the new testsuite. + * tests/convenience.at, tests/ctor.at, tests/darwin.at, + tests/deplibs-ident.at, tests/duplicate_conv.at, + tests/duplicate_deps.at, tests/duplicate_members.at, + tests/export.at, tests/fail.at, tests/indirect_deps.at, + tests/inherited_flags.at, tests/link-order.at, + tests/link-order2.at, tests/lt_dladvise.at, tests/lt_dlexit.at, + tests/need_lib_prefix.at, tests/runpath-in-lalib.at, + tests/search-path.at, tests/shlibpath.at, tests/static.at, + tests/stresstest.at, tests/template.at, tests/testsuite.at: + Use $EXEEXT throughout, except in Makefile.am snippets where + automake takes care of it, and in testsuite macros that take + care of the extension. + Reports by Roumen Petrov and Alon Bar-Lev. + +2008-11-23 Ralf Wildenhues + + Adjust executable run tests to cwrapper changes. + * tests/testsuite.at (LT_AT_EXEC_CHECK): Accept fifth argument + ARGS-OR-STATUS-ADJUST, for command-line arguments and/or exit + status flattening. Rewrite to prefer the executable with the + `.exe' prefix over one without. Test exit status against + expected exit status, not against zero, when determining whether + this may be a cross-compilation-induced result. + (LT_AT_NOINST_EXEC_CHECK): Likewise. + * tests/static.at (static linking flags for programs): Adjust + calls. + Report by Roumen Petrov. + + No trailing period in Autotest test group names. + * tests/link-order.at (Link order test): Drop trailing period + from test name. + * tests/link-order2.at (Link order of deplibs): Likewise. + +2008-11-23 Vincent Torri (tiny change) + + Fix func_emit_cwrapperexe_src for WinCE: no errno support. + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) + [__MINGW32CE__]: Do not use errno, do not include errno.h and + remove calls related to errno when using the mingw32ce compiler. + +2008-11-23 Ralf Wildenhues + + No libm in WinCE. + * libltdl/m4/libtool.m4 (LT_LIB_M) [cegcc*]: This system has + only a dummy libm, ignore. + Report by Vincent Torri. + + Fix import library detection for WinCE. + * libltdl/config/ltmain.m4sh (func_win32_libid): Work for + pe-arm-wince import libraries. + * NEWS: Update. + Report by Vincent Torri. + +2008-11-23 Ralf Wildenhues + Eric Blake + + Fix $ECHO test to not influence other _AS_DETECT_SUGGESTED code. + * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix test to + not influence further tests registered with _AS_DETECT_SUGGESTED + and do not use a PATH below /tmp, to avoid influence by a third + party. + +2008-11-23 Alon Bar-Lev (tiny change) + + Fix func_win32_libid for 64-bit Windows. + * libltdl/config/ltmain.m4sh (func_win32_libid): Accept file + format 'pe-x86-64'. + * NEWS: Update. + +2008-11-23 Ralf Wildenhues + + Avoid newlines in some AT_CHECK commands. + * tests/standalone.at (linking libltdl without autotools): Wrap + lines with dnl, to avoid turning off tracing of AT_CHECK. + * tests/subproject.at (linking libltdl without autotools): + Likewise. + + Replace uses of $SED $basename. + * libltdl/config/ltmain.m4sh (func_mode_link): Replace instances + of `$ECHO ... | $SED' with calls to func_basename. + * libtoolize.m4sh (func_copy, func_serial) + (func_massage_aclocal_DATA): Likewise, replace with + func_dirname_and_basename. + * tests/defs.m4sh (func_configure_nofail, func_make, func_exec): + Likewise. + + No need to prepend $progname with './'. + * libltdl/config/general.m4sh (func_dirname_and_basename): $ECHO + copes with leading hyphens now, so do not mangle $progname any + more. + + Revenge of the $ECHO. Kill most uses of Xsed. + * libltdl/config/general.m4sh: Replace all uses of `$ECHO "X..." + | $Xsed' with `$ECHO "..." | $SED', and employ further trivial + simplifications. Replace $ECHO with echo where appropriate. + (func_echo_all): New function. + * libltdl/config/getopt.m4sh: Likewise simplifications. + * libltdl/config/ltmain.m4sh: Likewise. + * libltdl/m4/libtool.m4: Likewise. + (LT_CMD_MAX_LEN): Use func_fallback_echo, to ensure that the + command line is passed through an exec* function. + * libtoolize.m4sh: Likewise simplifications. Use func_echo_all + to implement --dry-run. + * tests/defs.m4sh: Likewise simplifications. + * tests/quote.test: Likewise simplifications. + + Fix matching of Sun Fortran compiler on Linux. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: Also + match `Sun Ceres Fortran' compiler; reorder with C compiler + matching. + * THANKS: Update. + Report by Ethan Mallove. + +2008-11-21 Charles Wilson + + Fix --verbose option; add new --no-{silent|quiet|verbose} options. + + * libltdl/config/ltmain.m4sh (usage): Document + new options --no-silent/--no-quiet and --no-verbose. + (func_enable_tag): Handle new options. + Modified --verbose to actually activate opt_verbose. + New behavior: --silent disables both "normal" output and + func_verbose output. --verbose enables both "normal" + output and func_verbose output. --no-silent enables + "normal" output, but does not affect func_verbose output. + --no-verbose disables func_verbose output, but does not + affect "normal" output. + * NEWS: announce new options --no-silent/--no-quiet, and + --no-verbose. + * doc/libtool.texi: document new options --no-silent/--no-quiet + and --no-verbose. + +2008-11-20 Ralf Wildenhues + + Fix match patterns for cegcc*. + * libltdl/config/ltmain.m4sh (func_mode_link): Match '*cegcc*' + instead of '*cegcc' for $host_os. + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Likewise. + * tests/lt_dladvise.at (lt_dlopenadvise library loading): + Likewise. + * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Match + '*-*-cegcc*' for $host. + + Ensure $ac_aux_dir is initialized for LIBTOOL_DEPS. + * libltdl/m4/libtool.m4 (LT_INIT): Require + AC_CONFIG_AUX_DIR_DEFAULT. + * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Amend test to + expose this. + Report, analysis, and test example by Jakub Bogusz. + + Check for bogus aclocal.m4 contents in bootstrap and dist-hook. + * Makefile.am (dist-hook): Bail out if shipped aclocal.m4 files + contain LT_INIT, AC_PROG_LIBTOOL, or AM_PROG_LIBTOOL macro + definitions. These can only come from bogus pull-ins from older + installed Libtool macro files. + * bootstrap: Likewise. + Report by Akim Demaille. + +2008-11-16 Ralf Wildenhues + + Fix $ECHO abuse exposed by recent patch. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Require + _LT_CHECK_SHELL_FEATURES, for $lt_NL2SP. Always quote argument + to $ECHO. + + Skip sys_lib_search_path on systems without libz. + * tests/search-path.at (sys_lib_search_path): Autotest needs at + least one AT_CHECK executed in a test group. So if we haven't + found -lz anywhere, as may happen with cross-compilers, skip the + test. + * THANKS: Update. + Report by Alon Bar-Lev. + + Fix execute mode test to actually expose cwrapper failures. + * tests/execute-mode.at (execute mode): Actually also test the + cwrapper on the arguments. + Report by Bruno Haible. + +2008-11-15 Charles Wilson + + Add func_win32_import_lib_p. + * libltdl/config/ltmain.m4sh (func_win32_import_lib_p): + New function. + +2008-11-12 Ralf Wildenhues + + Fix archive_cmds for older cc on HP-UX 11. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hp-ux11*, !GCC] + [!hppa*64*, !ia64*] : Older releases of the HP-UX + 11.00 C compiler do not support -b yet; use a link test to + decide whether $LD should be used for library creation. + * THANKS: Update. + Report by Daniel Richard G. + +2008-11-12 Paolo Bonzini + + * configure.ac: Bump Autoconf requirement. + * libltdl/config/general.m4sh: Use $as_echo as default $ECHO. + * tests/testsuite.at: Use $as_echo as default $ECHO. + + * libltdl/m4/libtool.m4 (LT_INIT): Add _LT_SHELL_INIT to + work around Autoconf <2.64 bug. + (_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Add func_fallback_echo. + Eliminate lt_ECHO requoting. + (_LT_SHELL_INIT): Use a public M4sh diversion. + (_LT_PROG_ECHO_BACKSLASH): Rewrite. + (LT_CMD_MAX_LEN): Do not use --fallback-echo. + * libltdl/config/ltmain.m4sh: Remove --no-reexec and --fallback-echo + handling. + (func_fallback_echo): New. + (func_emit_wrapper_part1): Quote ECHO. Remove --no-reexec and + --fallback-echo handling. + (Execute mode): Do not set qecho. + +2008-11-12 Ralf Wildenhues + + Use -no-undefined in install tests. + * tests/install.at (Install tests): Use `-no-undefined'. + +2008-11-11 Ralf Wildenhues + + Do not use `test ... -a ...'. + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hpux10, hpux11]: + Replace test -a with test && test. + +2008-11-11 Roumen Petrov (tiny change) + + Fix destdir tests in cross compile mode. + * tests/destdir.at (Simple DESTDIR install) + (DESTDIR with in-package deplibs): Use $EXEEXT throughout. + * THANKS: Update. + +2008-11-11 Ralf Wildenhues + + Simplify cwrapper handling a bit. + * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1) + (func_emit_wrapper_part2, func_to_host_path) + (func_to_host_pathlist, func_emit_wrapper): Simplify using + default argument, func_append. + +2008-11-10 Paolo Bonzini + + Separate part of _LT_SETUP into other macros, detect ECHO sooner. + * libltdl/m4/libtool.m4 (_LT_PREPARE_SED_QUOTE_VARS): New macro, + extracted from... + (_LT_SETUP): ... here. Require _LT_PROG_ECHO_BACKSLASH sooner. + +2008-11-10 Paolo Bonzini + + Fix quoting when config.status generates libtool config. + * libltdl/m4libtool.m4 (_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): + Double quote ECHO-ed variables. + +2008-11-10 Paolo Bonzini + + Use documented M4sh interfaces. + * clcommit.m4sh: Do not unset CDPATH, use AS_INIT and M4sh diversions. + * libltdl/config/mailnotify.m4sh: Likewise. + * libtoolize.m4sh: Likewise. + * tests/defs.m4sh: Likewise. + * tests/testsuite.at: Move AT_INIT invocation at the top. + + * libltdl/m4/libtool.m4 (_LT_INIT_GENERATED): New. + (LT_OUTPUT): Use it. + + * libltdl/config/general.m4sh (M4SH_IN_HEADER): New. + (progpath): Move setting before $0 could be clobbered. + * libltdl/config/ltmain.m4sh (M4SH_IN_HEADER): New. + +2008-11-10 Paolo Bonzini + + Run sh.test on the M4sh source. + * tests/defs.m4sh (scripts): Point to pre-m4 sources. + +2008-11-10 Paolo Bonzini + + Avoid that autom4te complains about unexpanded macros. + * libtoolize.m4sh: Allow occurrences of "dnl" and use quadrigraphs + to protect other m4 macros. + +2008-11-11 Bruno Haible + Ralf Wildenhues + + Fix cwrapper argument mangling on w32. + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): On + mingw, preprocess the argument vector through prepare_spawn. + * tests/execute-mode.at (execute mode): Output args + newline-separated. Extend tests by more argument pairs that + contain special characters, where the w32 cwrapper fails. + Also test a real compiled program, linked against an uninstalled + library, to expose cwrapper issues. + * NEWS: Update. + +2008-11-10 Ralf Wildenhues + + Update to GFDL 1.3. + * doc/fdl.texi: Update to GFDL 1.3. + * doc/libtool.texi: Adjust. + * NEWS: Update. + +2008-11-09 Alexei Sheplyakov (tiny change) + + Fix cross compilation with wine for the case SHELL != bash. + * libltdl/config/ltmain.m4sh (func_to_host_path): Avoid escape + sequence interpretation by 'echo', for w32-style paths. + * THANKS: Update. + +2008-10-28 Michael Haubenwallner (tiny change) + + Fix checks for unsupported allow_undefined_flag. + * tests/tagdemo-undef.test: Match allow_undefined_flag + correctly, for SKIPping. + * tests/cdemo-undef.test: Likewise. + +2008-10-26 Ralf Wildenhues + + * tests/testsuite.at (_LTDL_PROJECT_FILES): Fix dependencies for + parallel make. + + * libtoolize.m4sh (func_nonemptydir_p): Fix typo in error + message. + +2008-10-15 Ralf Wildenhues + + Fix Autoconf 2.59 incompatibilty. + * libltdl/m4/ltdl.m4 (_LTDL_SETUP): m4_pattern_allow + `LT_LIBEXT'; Autoconf 2.59's AC_DEFINE* macros didn't do this + automatically yet. + * NEWS, THANKS: Update. + Report by Marcel Loose. + +2008-10-05 Ralf Wildenhues + + Atomic shared library install permissions on HP-UX. + The HP-UX 11 runtime linker fails to mmap shared libraries + without execute permissions. Fixing them with postinstall_cmds + may be too late, as ln, sed, and chmod may link against the + library being installed. + + * libltdl/m4/libtool.m4 (install_override_mode): New LT_DECL. + (_LT_SYS_DYNAMIC_LINKER) [hpux9*, hpux10*, hpux11*]: Set it. + * libltdl/config/ltmain.m4sh (func_mode_install): Build a second + command line, $install_shared_prog, for the installation of the + shared library. Override resp. set the permission mode if + install_override_mode is nonempty. + * doc/libtool.texi (libtool script contents): Document it. + * tests/install.at (Install tests): New test. + * Makefile.am (TESTSUITE_AT): Adjust. + (TESTS_ENVIRONMENT): Pass INSTALL. + Report by Bruno Haible. + +2008-09-26 Eric Blake + + Avoid gcc warning. + * libltdl/loaders/loadlibrary.c (vm_open): Don't check for array + being a NULL pointer. + +2008-09-20 Ralf Wildenhues + + Man pages for libtoolize and libtool, new command line option + --help-all. + * Makefile.am (dist_man1_MANS, update_mans): New macros. + ($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New + rules. Use --help-all for libtool. + (MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS. + (BUILT_SOURCES): Add libtoolize. + * configure.ac: Check for help2man, set HELP2MAN. + * doc/libtool.texi: Add @direntry for libtool-invocation. + (Invoking libtool): Document -h, --help-all. Reorder mode + description for consistency. + (Compile mode): Do not document -Wl,FLAG and -XCClinker here. + (Link mode): Document -Wc,FLAG here, reformat a bit. + * libtoolize.m4sh: Reformat --help output a bit, to help + help2man. + * libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to + `libtool', not `ltmain.sh', so the former is used in the man + page. + New argument `--help-all'. If given, call func_help and + func_mode_help several times, beating output in shape with sed. + (func_mode_help): Do not exit here. + * libltdl/config/getopt.m4sh (func_usage): Work with different + indentations, but require comment hash in first column, when + grepping for '-h' in usage to end short help. + (func_help): Accept optional argument to not exit. + * NEWS, THANKS: Update. + Suggestion by Karl Berry. + +2008-09-08 Gary V. Vaughan + + Use `-version-info 9:0:2' for one added iface since 2.2.4. + * libltdl/Makefile.inc (LTDL_VERSION_INFO): Make the libltdl + version number match 2.2.6a rerelease. + + Add ./commit option for pushing tags back to origin. + * clcommit.m4sh (opt_tags): New --tags push option. + (func_commit): Run `$GIT push --tags' if --tags was passed. + * HACKING (Release Procedure): Note the requirement to pass + --tags to ./commit for new release tag to be push back to + origin. + +2008-09-07 Gary V. Vaughan + + Retire gnu.org news.html in favour of savannah news. + * HACKING (Release Procedure): Add instructions for sending + a web release announcement to http://planet.gnu.org via + the savannah news manager. + + Add untested git push conflict testing to commit script. + * clcommit.m4sh (func_check_conflicts): Test return status + of 'git push --dry-run', and display an error on non-zero. + + Enable release procedure to work with lzma OLDRELEASE file. + * Makefile.maint (diffs, prev-tarball, new-tarball): If lzma + tarballs are present use them to generate the diffs, otherwise + use gz tarballs if they are present, or else complain if both + are missing. + + Set SCM version number to 2.2.7a. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.7a. + * NEWS: Updated. + + GNU Libtool 2.2.6 was released. + + Fix typo in Makefile.maint. + * Makefile.maint (git-news): Renamed to check-news, since it + doesn't actually run git. Adjust all dependees. + + Run `git commit -a' when no files are passed. + * clcommit.m4sh (func_commit): Add -a argument if necessary. + + Prepare for next stable release. + * libltdl/Makefile.inc (LTDL_VERSION_INFO): Update. + * libltdl/m4/libtool.m4: Bump serial number to account for + changes since 2.2.4 release. + * INSTALL, config/config.guess, config/texinfo.tex: Updated + from canonical source. + * configure.ac (AM_INIT_AUTOMAKE): Specify dist-lzma, which + was introduced after automake-1.10 was released. + (abs_top_srcdir, abs_top_builddir): No need to substitute these + from configure anymore, since we require automake 1.10.1, which + does perform the substitutions properly. + (TIMESTAMP): Normal releases were displaying the long-form + timestamp. Fix to show the short release timestamp as per + alpha release numbers. + * NEWS: Update with missing entries from ChangeLog. + * HACKING (Release Procedure): We release lzma tarballs now + but no xdeltas. + * Makefile.maint: Updated to match Release Procedure + instructions in HACKING. + + Convert mailnotify headers to git. + * clcommit.m4sh: Improve mailnotify contents. + + Make ./commit useful again. + * clcommit.m4sh: Major overhaul and simplification for git. + +2008-09-06 Gary V. Vaughan + + Fix 'DISTCHECK_CONFIGURE_FLAGS=--program-prefix=g' bug. + * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Fix test failures + with --program-prefix, where the test case output contains the + transformed name somewhere other than the beginning of a line. + * libtoolize.m4sh (func_check_macros): Be sure to always use + the transformed name in output messages. + +2008-09-04 Ralf Wildenhues + + Do not remove .gcno files when linking. + * libltdl/config/ltmain.m4sh (func_mode_link): When removing + potential output files before linking, do not remove *.gcno + profile information GCC outputs next to object files in `.libs'. + Report by Vincent Torri. + +2008-09-01 Peter O'Gorman + + Revert 75142db4f8afc65ba7aae0ed80ea0b35bd9cc382 (AIX libltdl + dlopen(NULL) + + * libltdl/m4/ltdl.m4: Remove LTDL_DLOPEN_SELF_WORKS define. + * libltdl/loaders/dlopen.c: Remove LTDL_DLOPEN_SELF_WORKS check. + * libltdl/m4/libtool.m4 [aix]: Set export_dynamic_flag_spec to + -Wl,-bexpall. This is a temporary workaround until a real fix + is implemented. + * NEWS: document it. + +2008-08-26 Peter O'Gorman + + Allow for extensions other than .a for preloaded modules. + * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LT_LIBEXT. + * libltdl/ltdl.c (lt_dladvise_preload): Use it. + Reported by Ralf Wildenhues. + +2008-08-26 Peter O'Gorman , + Ralf Wildenhues + + Remove unnecessary global argz functions. + * libltdl/argz.c (argz_add,argz_count): Remove. + * libltdl/argz_.h (argz_add,argz_count): Remove. + * NEWS: Announce it. + * tests/ltdl-api.at: Test so we don't repeat it. + * Makefile.am: Add new test. + +2008-08-22 Ralf Wildenhues + + Initial support for Lahey Fortran on GNU/Linux. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + [linux] : Add support for Lahey Fortran 8.1. + * NEWS, THANKS: Update. + Suggested by Craig Tierney. + +2008-08-21 Sam Thursfield (tiny change) + + Avoid leading separator in PATH for DLL search. + * libltdl/config/ltmain.m4sh (func_mode_link) [cygwin, mingw] + [ pw32, os2, cegcc]: Fix dllsearchpath not to contain leading + separator. + * THANKS: Update. + +2008-08-21 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Quote $#. + + Disallow `-L path', do not misparse it silently. + * libltdl/config/ltmain.m4sh (func_mode_link): Diagnose `-L' + without argument, and `-L path', i.e., with a space. + * tests/fail.at (Failure tests): Test for these failures. + * THANKS: Update. + Report by Olaf Lenz. + +2008-08-16 Ralf Wildenhues + + Avoid test failure due to broken dlpreloading of shared library. + * tests/lt_dladvise.at (lt_dlopenadvise library loading): Drop + some newlines in AT_CHECK commands, for better 'testsuite -x' + output. Only create a static installable libpreload.la, to + avoid exposing the bug libtool currently has with preloading of + shared libraries. Add a note to revisit this later. + +2008-08-12 Ralf Wildenhues + + Parallel make testsuite fixes. + * tests/configure-iface.at (installable libltdl) + (--with-ltdl-include/lib, --with-included-ltdl): Add dlopened + libmodule.la to main_DEPENDENCIES. + * tests/old-m4-iface.at (AC_WITH_LTDL): Likewise, let ltdldemo + depend upon module.la and libltdl/libltdlc.la. + * tests/testsuite.at (LT_AT_MAKE): Invoke each target in turn, + default to 'all'. + * tests/early-libtool.at (config.lt): Define 'all' target. + + * HACKING: Update for git, fix some minor nits. + +2008-08-11 Ralf Wildenhues + + Remove use of exit in configure test sources. + * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Return from main, + to avoid using undeclared exit. + Report against OpenMPI from Coverity via Jeff Squyres. + + * tests/configure-iface.at (convenience libltdl): Ignore warning + from parallel make. + +2008-08-07 DJ Delorie + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [tpf] + : Fix typo in variable name. + +2008-08-06 Steve Ellcey + + Use -fPIC with GCC on HP-UX/ia64. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + [ia64-*-hpux*]: Specify -fPIC when using GCC to build shared + libraries. + +2008-08-01 Ralf Wildenhues + + * NEWS: Minor fixups. + +2008-08-01 Gary V. Vaughan + + Bring NEWS up to date. + * NEWS: Add missing summaries since 2.2.4 release. + + Implement lt_dlopening of only preloaded modules. + * libltdl/m4/ltdl.m4 (LTDL_INIT): Check for a libltdl that + provides lt_dladvise_preopen when deciding if installed libltdl + is 'new enough'. + * libltdl/libltdl/lt__private.h (lt__advise): Add a new + is_preload flag. + * libltdl/ltdl.c (lt_dladvise_preload): New api call to set it. + (try_dlopen): If it is set, and the search of preloaded modules + didn't return a match, don't bother searching the filesystem. + * libltdl/ltdl.h (lt_dladvise_preload): Declare it. + * doc/libtool.texi (Libltdl Interface): Document it. + * tests/lt_dladvise.at: Test it (and incidentally add some test + coverage for `libtool -dlpreopen'). + * NEWS: Announce it. + +2008-08-01 Vincent Torri + + Add cegcc (Windows CE/PocketPC) support. + * libltdl/config/ltmain.m4sh: Add 'cegcc' case where needed. + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, LT_SYS_DLOPEN_SELF) + (_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD) + (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG): Likewise. + * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Likewise. + * NEWS: Update. + * THANKS: Update. + +2008-07-31 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_to_host_path): Fix sh.test + failure. + Report by Paolo Bonzini. + +2008-07-31 Paolo Bonzini + + * ltmain.m4sh (func_emit_cwrapperexe_src): Factor + multiple closed braces into the next cat command. + +2008-06-19 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : + Use -fPIC, newer Intel compilers (icc 10, ifort 9) reject -KPIC. + * tests/localization.at: Skip test if the compiler fails merely + due to the locale setting. + * THANKS: Update. + Report by Vincent Lefevre. + +2008-06-17 Ralf Wildenhues + + * doc/libtool.texi (Linking executables, Static libraries) + (Modules for libltdl, Distributing libltdl): Remove TABs from + the manual. + +2008-06-13 Peter O'Gorman + + Support ifort on darwin. + * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Build + shared libraries with ifort. + Reported by Christopher Hulbert. + +2008-06-01 Charles Wilson + + [mingw] fix cross-compile-with-wine case + * libltdl/config/ltmain.m4sh (func_to_host_path) + [host=mingw, build!=mingw|cygwin]: check that winepath + stdout is non-empty and exit code is 0, instead of checking + stderr. + Reported by: Roumen Petrov + +2006-06-01 Stas Maximov (tiny change) + + Check only regular files, not devices, for lalibs. + * libltdl/config/ltmain.m4sh (functions func_lalib_p) + (func_lalib_unsafe_p): Only read regular files and not device + files. Avoids blocking libtool executing gdb, when a + pseudo-terminal device /dev/pts/NN is given as one of the + arguments to gdb, as in: + libtool --mode=execute gdb -q -nw -i mi -tty /dev/pts/4 prog + +2008-05-31 Peter O'Gorman + + Skip darwin test if fat link fails. + * tests/darwin.at: Skip if we can not link a fat program. + Reported by Daniel Macks + +2008-05-26 Ralf Wildenhues + + libtoolize should not remove config.guess, config.sub. + * libtoolize.m4sh (all_pkgconfig_files): Do not list + config.guess nor config.sub. We don't install them without + --install, and the project may not be using Automake. + Report by Andreas Schwab. + + Simplify argument parsing in cwrapper. + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): + Use NULL where appropriate. Do not compute length of arguments + needlessly. + +2008-05-25 Charles Wilson + + [mingw] Add cross-compile support to cwrapper + * libltdl/config/ltmain.m4sh (func_to_host_path) [$host=mingw]: + If present, use winepath to convert from $build to $host + if $build is neither mingw (msys) nor cygwin. Use unconverted + path as fallback when conversion fails. Also update comments. + (func_to_host_pathlist) [$host=mingw]: Ditto. For fallback case, + use simplistic ':' to ';' path separator translation. + +2008-05-25 Charles Wilson + + Cwrapper should not eat -- arguments + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) + [file scope]: Defined all option strings in terms of macro + LTWRAPPER_OPTION_PREFIX. Similarly defined all option string + lengths in terms of macro LTWRAPPER_OPTION_PREFIX_LENGTH. + [main]: Modified option parsing algorithm to pass -- on to + target, and to not stop processing arguments when -- is seen. + Added check for unrecognized options in reserved namespace + defined by LTWRAPPER_OPTION_PREFIX. + +2008-05-25 Ralf Wildenhues + + Fix ifort settings again. + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : + Unlike icc and ecc, not all ifort versions understand `-KPIC', + e.g. version 10.1, so use `-fPIC' instead. + Report by Jeff Squyres. + +2008-05-20 Eric Blake + + Resynchronize argz whitespace changes from gnulib. + * libltdl/m4/argz.m4: Kill trailing whitespace. + * libltdl/argz.c: Likewise. + +2008-05-19 Eric Blake + + Fix regression from two days ago. + * libltdl/m4/ltdl.m4 (_LT_LIBOBJ): Don't refer to deleted macro. + +2008-05-17 Eric Blake + + Speed up bootstrap by improving lt_combine. + * libltdl/m4/ltsugar.m4 (lt_combine): Mirror Autoconf 2.62 + improvements. Includes a semantic change where the separator can + now be empty, and where an empty fourth argument is now treated as + a valid suffix. + * libltdl/m4/libtool.m4 (_lt_decl_varnames_tagged): Adjust to new + semantics of lt_combine. + (lt_decl_varnames_tagged): Fix quoting and optimize. + + Kill _LT_LIBSOURCES; it wasn't checking anything useful. + * libltdl/m4/ltdl.m4 (_LT_LIBSOURCES): Delete. + (LTDL_INIT): Ignore arguments to AC_LIBSOURCES during _LTDL_SETUP, + on the assumption that libtoolize correctly installed them. + +2008-05-13 Charles Wilson + + [mingw|cygwin] Modify cwrapper to invoke target directly. + * libltdl/config/ltmain.m4sh (func_to_native_path): + New function. If $host is mingw, and $build is mingw + or cygwin, convert path to mingw native format. + (func_to_native_pathlist): New function. Ditto, for + :-separated pathlists. + (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]: + Ensure putenv and setenv are declared. Define HAVE_SETENV. + (func_emit_cwrapperexe_src) [main]: Add new constants to + hold desired PATH settings; initialize and use functions + above to convert to $host format if necessary. Add new + command-line options --lt-env-set, --lt-env-prepend, and + --lt-env-append. No longer emit wrapper script as integral + part of launching child. Remove support for (now) unnecessary + $TARGETSHELL. Exec actual target executable directly. + (func_emit_cwrapperexe_src) [lt_setenv, lt_extend_str] + [lt_split_name_value, lt_opt_process_env_set] + [lt_opt_process_env_prepend, lt_opt_process_env_append] + [lt_update_exe_path, lt_update_lib_path]: New functions. + +2008-05-11 Charles Wilson + + Ensure cwrapper compiles without warnings under -std=c99. + * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1): + new function. + (func_emit_wrapper_part2): new function. + (func_emit_wrapper): delegate to new functions. + (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]: + ensure realpath is declared. + (func_emit_cwrapperexe_src): declare two different strings + to each hold part of the wrapper script content. Initialize + using new func_emit_wrapper_partX functions. + (func_emit_cwrapperexe_src) [main]: when emitting wrapper + script content, use both strings. + Reported by Yaakov Selkowitz. + +2008-05-06 Charles Wilson + + Ensure $OBJDUMP is defined + * libltdl/m4/libtool.m4 (_LT_DECL_OBJDUMP): new macro ensures + that $OBJDUMP is always defined sanely. + (_LT_SYS_DYNAMIC_LINKER): call it. + (_LT_CHECK_MAGIC_METHOD): call it. + +2008-05-05 Gary V. Vaughan + + Fix libtoolize test failure with aclocal < 1.10.1 + * tests/libtoolize.at + (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Older aclocal + requires a space between -I and the directory argument. + Reported by Daniel Macks + +2008-05-04 Gary V. Vaughan + + Set SCM version number to 2.2.5a. + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.5a. + * NEWS: Updated. + + GNU Libtool 2.2.4 was released. + + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.4. + * libltdl/Makefile.inc (LTDL_VERSION_INFO): C:R+1:A because the + interfaces are unchanged, even though we improved the code some + more. + * NEWS: Updated. + + Macro file serial updates for next stable release. + * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, + libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: Bump serial + numbers to account for changes since 2.2.2 release. + + Make libtoolize tests work with distcheck. + * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): When $tst_aclocal + is set, transform paths that use it to generic + /usr/local/share/aclocal in time for AT_CHECK comparisons. + +2008-05-03 Gary V. Vaughan + + Don't trip over outdated acinclude.m4. + * libtoolize.m4sh (all_pkgconfig_files, all_pkgmacro_files) + (all_pkgltdl_files): New variables listing all files ever + maintained by any release of libtoolize. + (func_install_pkgconfig_parent, func_install_pkgltdl_files) + (func_install_pkgconfig_subproject, func_install_pkgmacro_parent) + (func_install_pkgmacro_subproject): Carefully clean up any files + that may have been installed by previous libtoolize releases. + * tests/libtoolize.at: New test for libltdl/acinclude.m4 removal. + Reported by Andreas Schwab . + +2008-05-02 Peter O'Gorman + + It helps to close quotes. + * libltdl/config/ltmain.m4sh (func_mode_link): Add closing '. + +2008-05-01 Peter O'Gorman + + Use AC_CHECK_TOOL for otool and otool64. + * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. + * libltdl/config/ltmain.m4sh (func_mode_link): Use. + Reported by Richard Purdie + +2008-04-30 Eric Blake + + Support cygwin 1.7.0 in loadlibrary loader. + * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD) : Check for modern + function. + * libltdl/loaders/loadlibrary.c (vm_open): Avoid deprecated + cygwin_conv_to_full_win32_path. + +2008-04-29 Gary V. Vaughan + + New libtoolize --no-warn option and LIBTOOLIZE_OPTIONS parsing. + * libltdl/config/general.m4sh (opt_warning): New option. + (func_warning): Only display a warning message if $opt_warning + is true. + * libtoolize.m4sh: Accept options in LIBTOOLIZE_OPTIONS + environment variable. + (--no-warn): Parse new option. + (func_serial_update_check, func_keyword_update): Use func_warning. + (func_check_macros): Bail out before style issues nags when + $opt_warning is false. + * doc/libtool.texi (Invoking Libtoolize): Document it. + * tests/libtoolize.at: Test it. + * NEWS: Updated. + + Fix libtoolize test failure with aclocal-1.10.1. + * tests/libtoolize.at + (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Force aclocal to + search the source tree for latest libtool macros. + +2008-04-24 Eric Blake + + Fix bug in 2008-04-21 type improvements. + * libltdl/ltdl.c (load_deplibs): Fix casting bug. + +2008-04-23 Michael Haubenwallner + + Use /nonexistent as destination for files not to be installed. + * tests/darwin.at (darwin fat compile): Fix typo. + * tests/inherited_flags.at (inherited_linker_flags): Change + -rpath to /nonexistent. This helps to avoid accidentally + picking up libraries below /usr/local. + * tests/template.at (simple template test): Likewise. Fixes + test failure for additional incompatible libstdc++ in + /usr/local. + * tests/testsuite.at (configure_options): Add + --prefix=/nonexistent. + +2008-04-23 Gary V. Vaughan + + * libtoolize.m4sh (rerun_aclocal): Remove unused variable. + Reported by Olly Betts + +2008-04-23 Ralf Wildenhues + + * tests/static.at (ccache -all-static): Ignore link warnings. + Report by Gary V. Vaughan. + +2008-04-22 Gary V. Vaughan + + Libtoolize now advises AC_CONFIG_MACRO_DIR use where appropriate. + * libtoolize.m4sh (func_check_macros): Always advise use of + AC_CONFIG_MACRO_DIR when not able to copy libtool macros into + the project tree. + * tests/libtoolize.at: New test for correct diagnosis of mismatch + between AC_CONFIG_MACRO_DIR and ACLOCAL_AMFLAGS. + Update expected output of other tests. + * NEWS: Updated. + +2008-04-22 Ralf Wildenhues + + Fix regression over 1.5.26 with ccache $CC -all-static. + * libltdl/config/ltmain.m4sh (func_mode_link): Add + $link_static_flag to compile_command and link_command only + later, instead of right after a possible compiler wrapper. + * tests/static.at (ccache -all-static): New test. + * THANKS: Update. + Report by Richard Purdie. + +2008-04-22 Andreas Schwab + Ralf Wildenhues + + Fix default argument for AC_LIBLTDL_CONVENIENCE. + * libltdl/m4/ltdl.m4 (AC_LIBLTDL_CONVENIENCE): Default argument + to libltdl. + (AC_LIBLTDL_INSTALLABLE): Likewise. + * tests/configure-iface.at (convenience libltdl): New test. + +2008-04-21 Gary V. Vaughan + + Only complain that files are up-to-date with --force. + As a side effect, this also means that when `aclocal' copies the + libtool macros into `aclocal.m4' libtoolize complains only about + the macro files that are missing or not up-to-date. + * libtoolize.m4sh (func_echo_once): New function that prints + the contents of a named variable only on the first call. + (func_aclocal_update_check): New function that compares serial + numbers of libtool macros in aclocal.m4 and only diagnoses the + missing files. + (func_copy, func_copy_cb, func_copy_some_files, func_serial_update) + (func_keyword_update, func_ltmain_update, func_config_update) + (func_install_update): Accept a new argument naming a variable + containing a header string to print with func_echo_once iff any + body text is output by this function. + (func_install_pkgmacro_subproject, func_install_pkgmacro_parent) + (func_install_pkgltdl_files, func_install_pkgconfig_subproject) + (func_install_pkgconfig_parent: Set and pass a suitable + header string variable for the above functions. + (func_serial_update_check): Don't advise rerunning `libtoolize + --force' when aclocal.m4 is not m4_including libtoolize installed + macro files. + * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Transform generic + /usr/local/share/aclocal paths to point into the uninstalled + libtool macro directory. + * tests/libtoolize.at: Update tests that were checking for old + behaviour of outputing `file is already up to date' even when + --force was not passed. + * tests/libtoolize.at: New tests to prevent regressions of these + smarter messages. + * NEWS: Updated. + Reported by Olly Betts + + Capture lt~obsolete.m4 serial number correctly in libtoolize. + * libltdl/m4/lt~obsolete.m4: Add the filename to the #serial + marker so that libtoolize's serial number checks can find it + in a non-include using aclocal.m4. + * NEWS: Updated. + Reported by Olly Betts + + Allow better compile time type checking for lt_dladvise. + * libltdl/lt__private.h (lt__handle, lt__advise): Typedefs + removed in favour of... + * libltdl/ltdl.h (lt_dlhandle), + libltdl/libltdl/lt_dlloader.h (lt_dladvise): ...changing from + void* to forward declarations. + * libltdl/loaders/dlopen.c, libltdl/loaders/loadlibrary.c, + libltdl/lt_dlloader.c, libltdl/ltdl.c: Remove many redundant + type casts. + * NEWS: Updated. + Suggested by Bob Friesenhahn + +2008-04-21 Peter O'Gorman + + basename does not take a list of strings. + * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed + $basename. + * tests/darwin.at: New. Check that we can built fat program, + shared library and convenience library. + * Makefile.am: Add test. + Reported by LiKai Liu + + Use AC_CHECK_TOOL for lipo too. + * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. + * libltdl/config/ltmain.m4sh (func_extract_archives): Use. + +2008-04-20 Gary V. Vaughan + + Fix misleading lt_dlopenadvise documentation. + * doc/libtool.texi (lt_dlopenadvise): The last parameter is of + type lt_dladvise, not lt_dladvise*. + (my_dlopenext): Correct the example too. + * NEWS: Updated. + Reported by Gary Kumfert + +2008-04-19 Ralf Wildenhues + + Fix testsuite cleanup warnings on AIX with NFS. + * tests/testsuite.at [ aix ]: Set file mode creation so that + 'others' have no permissions. Shared libraries are kept in + memory on AIX after use if they are world-readable, which means + on NFS mounts cleanup of test group directories will fail later. + * THANKS: Update. + Report and analysis by Michael Haubenwallner. + + Fix nonportable use of expr. + * libltdl/config/ltmain.m4sh (func_mode_link) : Fix expr portability issues, + noted on FreeBSD. While at it, simplify and avoid forking. + Report by Bob Friesenhahn. + + Exploit shell arithmetic expansion and ${#var}. + * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also check + for arithmetic expansion, and ${#var}. + (_LT_PROG_XSI_SHELLFNS): Define func_arith and func_len + accordingly, falling back on 'expr'. Note that the argument to + func_len may not start with a hyphen. In the pre-Posix + fallback, take care not to rely on the exit status of the + variable assignment (not portable), but set the length to + $max_cmd_len instead. + * libltdl/config/ltmain.m4sh (func_mode_link): Use func_arith + and func_len throughout for integer arithmetic, fixing + quadratical amount of counting for reloadable object and + piecewise archive linking. Change all comparisons with + max_cmd_len to test for smaller, non-equal length. + * THANKS: Update. + Suggested by Roland Mainz. + + * libltdl/config/ltmain.m4sh (func_mode_compile): Avoid + redundant removal of old output files before compilation. + Do not remove $obj until we have successfully grabbed the + lockfile (in case the compiler doesn't grok `-c -o'), because + it might be identical to $output_obj. + At the end of the function, before we remove the lockfile, + update $removelist so that if the trap hits after the lockfile + has been removed, we do not accidentally remove $output_obj that + does not belong to us. + (func_write_libtool_object): Use $MV instead of mv. + +2008-04-18 Andreas Schwab + + * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Check optional + argument. + (AC_ENABLE_STATIC): Likewise. + (AC_ENABLE_FAST_INSTALL): Likewise. + +2008-04-16 Eric Blake + + Make ChangeLog merges easier. + * .gitattributes: New file. + * HACKING: Mention how it helps. + +2008-04-15 Peter O'Gorman + + Allow bootstrap from git repository. + * Makefile.am: Pass srcdir as an argument to mkstamp and expect + only 2 fields in mkstamps output. + * clcommit.m4sh: Ditto. + * configure.ac: Ditto. + * libltdl/config/mkstamp: return a revision and date based on + the number of lines which look like dates in all the ChangeLog* + files in the directory we got as arg 1. + +2008-04-11 Eric Blake + + Fix usage of setmode without declaration on cygwin. + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Ensure + setmode has prototype for both mingw and cygwin. + +2008-04-10 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Move non-XSI + definition of func_dirname_and_basename ... + * libltdl/config/general.m4sh (func_dirname_and_basename): + ... here, to use it for the other scripts that use general.m4sh + (and as portable fallback for libtool). Add marker for early + insertion of generated shell functions (into libtool, not the + other scripts) here. + Use func_dirname_and_basename to compute progname, progpath. + * libltdl/config/ltmain.m4sh (func_mode_help): Remove marker + for insertion of generated shell functions. + * tests/sh.test: Adjust function definition test to not match + function call. + + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS) : + New function. + * libltdl/config/ltmain.m4sh (func_mode_compile): Use it to + avoid two forks with XSI shells. + * tests/suffix.test: Also test a file with multiple dots. + +2008-04-10 Peter O'Gorman + + * libltdl/config/ltmain.m4sh (func_win32_libid, + func_generate_dlsyms, func_extract_an_archive, + func_extract_archives, func_mode_help): move these so they + appear after func_mode_compile. + * tests/nomode.test: Check that --mode=link --help works. + Reported by Josh Triplett + +2008-04-07 Gary V. Vaughan + + * doc/libtool.texi (Libltdl interface): Add missing + documentation for lt_dlopenavise. + Reported by Anton Erti + + * configure.ac, libltdl/configure.ac (AM_INIT_AUTOMAKE): Use + gnu rather than gnits standards so that version number 2.2.3a + is not rejected! + Reported by Olly Betts + +2008-04-01 Gary V. Vaughan + + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.3a. + + GNU Libtool 2.2.2 was released. + + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2.2. + * libltdl/Makefile.in (LTDL_VERSION_INFO): C:R+1:A because the + interfaces are unchanged, even though we improved the code some + more. + * NEWS: Updated. + + * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, + libltdl/m4/ltoptions.m4: Bump serial numbers to account for + changes since 2.2 release. + +2008-03-27 Peter O'Gorman + + * libltdl/m4/libtool.m4 [_LT_REQUIRED_DARWIN_CHECKS]: Fix the + test for -single_module and log it to config.log. + Reported by Torok Edwin and Nigel Home. + +2008-03-24 Ralf Wildenhues + + Document that disable-static plus -all-static is not portable. + * doc/libtool.texi (Link mode): -all-static does not go well + with disable-static on most systems. + * tests/static.at (static linking flags for programs) [!aix]: + With --disable-static but nonempty link_static_flag, skip the + m-all-static link. Do not skip it on AIX, as there the + enable_static is self-inflicted, and thus expected to work. + * THANKS: Update. + Report by Nix. + +2008-03-17 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): No need to escape + backticks in argument to AC_MSG_WARN or AC_MSG_ERROR. + * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE, LTDL_INIT): Likewise. + +2008-03-16 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (NLS nuisances): Fix quoting of + localization variables for shell-active characters. + * tests/localization.at (localized compiler messages): Extend + test. + * THANKS: Update. + Report by Mike Frysinger. + +2008-03-15 Ralf Wildenhues + + * tests/defs.m4sh (func_get_config): Build egrep regex to speed + up extracting several variables at once. Use it to extract all + default variables at once. Also extract build_alias and + host_alias from the libtool script. + (func_configure_nofail): Use build_alias and host_alias for + --build and --host, respectively. Pass each if nonempty. + * tests/testsuite.at: Pass --build if build_alias is nonemtpy. + * tests/quote.test: Extract ECHO and wl at once. + + * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_WIN32_DLL): Require + AC_CANONICAL_HOST. + * THANKS: Update. + Report by Jakub Bogusz. + +2008-03-14 Ralf Wildenhues + + * NEWS: Update. + +2008-03-12 Charles Wilson + + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file + scope]: additional #includes and #defines to support... + (func_emit_cwrapperexe_src) [main]: ensure stdout is set to + binary mode for cygwin|mingw builds. Ensure temporary script + file is written in binary mode for cygwin|mingw builds. + (func_mode_link) [cygwin|mingw]: cross-build support - only + use cwrapper to generate shell wrapper if building native; + otherwise use func_emit_wrapper() + +2008-03-12 Henning Nielsen Lund + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [amigaos]: Port to + AmigaOS4 shared libraries on powerpc. + * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [amigaos]: + Likewise. + * THANKS, NEWS: Update. + +2008-03-09 Bruno Haible + and Ralf Wildenhues + + Fix compiler output to be in the user locale. + * libltdl/config/general.m4sh (func_show_eval_locale): New + function, for running commands in the user locale. + * libltdl/config/ltmain.m4sh (func_mode_compile): Use it for + compiling. + * tests/localization.at (localized compiler messages): New test. + * Makefile.am: Adjust. + Report by Bruno Haible. + +2008-03-08 Ralf Wildenhues + + Fix several test failures on Cygwin and MinGW. + * tests/nonrecursive.at: Use -no-undefined for foo.la. + * tests/recursive.at: Likewise. + * tests/subproject.at: Likewise. + * tests/lt_dladvise.at: For systems where undefined symbols are + not allowed, to not try to load the module libdepend. + [ mingw ]: Add to list of such systems. + * tests/testsuite.at (_LT_AT_TRANSLATE_TEXT_OUTPUT): New macro, + to translate line ending of expout and experr files suitable for + host executables. + (LT_AT_CHECK, LT_AT_NOINST_EXEC_CHECK): Use it. + Report by Bob Friesenhahn. + + Fix installcheck dependencies, fix for --program-transform-name. + * Makefile.am (installcheck-local): Depend upon tests/atconfig + and $(srcdir)/$(TESTSUITE). + * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): New macro. + (LT_AT_CHECK_LIBTOOLIZE): Use it to transform expout and experr + files suitably. + * HACKING: Update. + + Drop usage of obsolete macros AC_EXEEXT and AC_OBJEXT. + * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION) + (_LT_COMPILER_C_O, LT_PATH_NM, _LT_CMD_GLOBAL_SYMBOLS, _LT_SETUP): + Drop usage of obsolete AC_OBJEXT and AC_EXEEXT. + * tests/am-subdir.at (C++ subdir-objects): Likewise. + +2008-03-07 Peter O'Gorman + + * tests/convenience.at (Java convenience archives): Skip test if + gcj cannot compile a working executable from .java files. + Report by Nelson H. F. Beebe. + + * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Need to set LD. + Reported by Nelson H. F. Beebe. + +2008-03-06 Peter O'Gorman + + * libltdl/m4/libtool.m4 (_LT_PROG_FC): Undo commit - bad idea. + + * libltdl/m4/libtool.m4 (_LT_PROG_FC): Report FC=no if the FC + compiler is not a GNU compiler and the CXX compiler is a GNU + compiler. + Reported by Nelson H. F. Beebe. + +2008-03-06 Gary V. Vaughan + + * Makefile.maint (TSDEPS_DIST): Removed. No longer used. + (TSDEPS): libtool.m4 has long since moved to libltdl. + (cvs-dist): Don't put the suffix dot in twice. + +2008-03-06 Ralf Wildenhues + + * tests/convenience.at (Java convenience archives): Skip test if + gcj cannot compile a .java file. + Report by Nelson H. F. Beebe. + +2008-03-05 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p): redirect + and restore from stdin, not stdout. + * tests/execute-mode.at (execute mode): Adjust test to catch + this. + Report by Roberto Bagnara. + +2008-03-04 Ralf Wildenhues + + Fix libltdl to not skip dlopen on systems with several loaders, + such as HP-UX, Cygwin. + * libltdl/slist.c (slist_concat): When appending to the tail + of a list, do not drop items off the beginning of the list. + * NEWS: Update. + + * libltdl/config/ltmain.m4sh (func_mode_execute): Replace only + arguments we have identified as shell or C wrappers. + (func_emit_wrapper): Output error message on stderr. + * tests/execute-mode.at: New file, with --mode=execute tests. + * Makefile.am: Adjust. + * NEWS: Update. + Fixes 2.2 regression. Report by Roberto Bagnara. + + * libltdl/m4/libtool.m4 (_LT_CONFIG): Drop misleading `GNU' + prefix before the host package name in the "Generated by" line + for the libtool script. + * THANKS: Update. + Reports by Peter Rosin and Roberto Bagnara. + + * doc/libtool.texi (Module loaders for libltdl): Fix typo. + + * libltdl/loaders/dld_link.c (vl_exit): New function, zero out ... + (vtable): ... this new file static variable split out from ... + (get_vtable): ... here. Initialize vtable, register vl_exit as + dlloader_exit function. + * libltdl/loaders/dlopen.c: Likewise. + * libltdl/loaders/dyld.c: Likewise. + * libltdl/loaders/load_add_on.c: Likewise. + * libltdl/loaders/loadlibrary.c: Likewise. + * libltdl/loaders/shl_load.c: Likewise. + * libltdl/loaders/preopen.c: Likewise; vl_exit existed here + already. + * tests/lt_dlexit.at (lt_dlexit unloading libs): Update test. + * NEWS: Update. + Report by Andreas Schwab. + +2008-03-01 Gary V. Vaughan + + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.3a. + + GNU Libtool 2.2 was released. + + * configure.ac, libltdl/configure.ac (AC_INIT): Bump version + number to 2.2. + * NEWS: Updated. + + * tests/lt_dladvise.at, tests/lt_dlexit.at, + tests/need_lib_prefix.at: Skip these tests when called from + `make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install'. + The tests try to link against the dummy installed libltdl.la + from .../_inst/lib/libltdl.la, which does not exist when + configured with --disable-ltdl-install. + +2008-02-29 Gary V. Vaughan + + * libltdl/m4/argz.m4 (AC_CHECK_FUNCS): Also use our replacement + argz if the system argz_add or argz_count are missing. + Report by Juan Manuel Guerrero . + +2008-02-26 Karl Berry + + * libltdl/argz.c (argz_add, argz_count): New functions. + * libltdl/argz_.h: Declare them. + Report by Juan Manuel Guerrero . + +2008-02-20 Peter O'Gorman + + * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Do not call the + _LT_SYS_DYNAMIC_LINKER macro here. + Reported by Mike Frysinger + +2008-02-15 Peter O'Gorman + + * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix typo. + +2008-02-14 Peter Breitenlohner + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better handling + of predefined values for lt_cv_sys_lib_search_path_spec and + lt_cv_sys_lib_dlsearch_path_spec. + +2008-02-14 Ralf Wildenhues + + * libtoolize.m4sh (func_install_pkgconfig_files): Only call + func_install_pkgconfig_parent if $seen_autoconf. + * tests/standalone.at (compiling softlinked libltdl) + (compiling copied libltdl, installable libltdl) + (linking libltdl without autotools): Use checked libtoolize + calls to catch warnings. + +2008-02-13 Ralf Wildenhues + + * libltdl/configure.ac: Bump package version. + * HACKING: Reminder to do it next time, too. + +2008-02-11 Ralf Wildenhues + + * tests/mdemo/Makefile.am (@LIBLTDL@): Update outdated + dependencies. + ($(top_distdir)/libltdl/libtool): Remove. + Fixes spurious mdemo-dryrun failure with OpenBSD make. + +2008-02-09 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : + Treat like icc and ecc, for fixed `-Wl,' and `-KPIC' settings. + +2008-02-08 Ralf Wildenhues + + * tests/archive-in-archive.at + (static library contains static library): Test also the actual + broken link command, and the following install command, as + UnixWare ar rightly refuses to put an archive into an archive. + Report by Tim Rice. + +2008-02-06 Peter O'Gorman + + * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Only set default + LT_INIT values for LT_INIT, not LTDL_INIT. + Reported by Jochem Huhmann + +2008-02-01 Ralf Wildenhues + + * tests/testsuite.at (LT_AT_TAG): For the CXX tag, if $CXX is + g++, check that `g++ -v' works; AC_PROG_CXX may have set that + as default value even if it found no C++ compiler. + Report by Andreas Schwab. + +2008-02-02 Gary V. Vaughan + + * libltdl/Makefile.inc (EXTRA_DIST): Now that we're not using + Autoconf's AC_SOURCES macro, Automake can't trace our extra + source files argz, lt__dirent.c and lt__strl.c. List them + manually here to make sure they are distributed. + * NEWS: Updated. + Reported by Bob Friesenhahn + +2008-02-01 Gary V. Vaughan + + * configure.ac (AC_INIT): Bump version number to 2.1c. + + GNU Libtool 2.1b was released. + + * configure.ac (AC_INIT): Bump version number to 2.1b. + * libltdl/Makefile.inc (LTDL_VERSION_INFO): Increment to account + for new interfaces since the last libltdl update. + * HACKING (Release Procedure): Note that LTDL_VERSION_INFO is now + kept in libltdl/Makefile.inc. + +2008-02-01 Gary V. Vaughan + + * tests/cdemo, tests/depdemo, tests/fcdemo, tests/pdemo, + tests/demo, tests/f77demo, tests/mdemo, tests/tagdemo + (distclean-local): Remove compiler file droppings left by + Autoconf tests that prevent make dist from finishing on + several machines including Mac OS 10.5. + +2008-02-01 Gary V. Vaughan + + Unfortunately, the autoconf implementation of AC_LIBOBJ and + friends requires all libobjs to be in the same directory, as + declared by AC_CONFIG_LIBOBJ_DIR. That might prevent using + either recursive or nonrecursive libltdl if the parent project + has libobjs of its own, except that this patch tracks libltdl's + libobjs in another namespace: + + * libltdl/m4/ltdl.m4 (_LT_LIBOBJ, _LT_LIBSOURCES): Versions of + AC_LIBOBJ and AC_LIBSOURCES that save missing sources in a + ltdl_LIBOBJS automake macro, instead of the global LIBOBJS + automake macro. Content of the macros inspired by code from + gnulib-tool. + (_LTDL_MODE_DISPATCH): Initialise lt_libobj_prefix in + nonrecursive mode. + (LTDL_INIT): Push and pop the new definitions around potential + sites that call AC_LIBOBJ. Also, using lt_libobj_prefix, + initialise ltdl_LIBOBJS and ltdl_LTLIBOBJS. + * libtoolize.m4sh (func_fixup_Makefile): Substitute ltdl_LIBOBJS + and ltdl_LTLIBOBJS for LIBOBJS and LTLIBOBJS during copying + either Makefile.am or Makefile.inc, depending on ltdl_mode. + Reported by Eric Blake + +2008-01-30 Gary V. Vaughan + + There are 5 distinct batches of files that libtoolize might + install into a project, depending on whether libltdl is + being installed in subproject mode, and in that case whether + the parent project shares the config and macro directories + with the subproject ltdl. Make a separate function for each + of those 5 batches (4 new functions below, plus the recently + factored func_install_pkgltdl_files), and make a clearer + distinction between when each of them is needed: + + * libtoolize.m4sh (func_install_pkgmacro_subproject): + New function for installing and reporting on m4 files copied + to a subproject ltdl directory. + (func_install_pkgmacro_parent): Similar new function for m4 + files copied solely for the use of the parent project, + including serial checking. + (func_install_pkgconfig_subproject): New function for + installing and reporting on config helper files copied to a + subproject ltdl directory. + (func_install_pkgconfig_parent): Similar new function for + config helper files copied solely for the use of the parent + project, including serial checking. + (func_install_pkgmacro_files, func_install_pkgconfig_files): + Rewritten in terms of the above functions. + * tests/libtoolize.at: Adjust test expout's to match newly + regularized libtoolize output. + Move parent project pkgconfig files to build-aux directory + so that progress messages show an obvious difference to + pkgconfig files installed to subproject `config' directory. + (nonrecursive ltdl with AC_CONFIG_MACRO_DIR): New test. + (diagnose missing LT_CONFIG_LTDL_DIR): New test. + (subproject ltdl with non-shared directories): New test. + Reported by Eric Blake + +2008-01-29 Peter O'Gorman + + * libltdl/m4/libtool.m4 [darwin]: Changes to glob pattern matching + to be safer. + + Search the compiler path too. + * libltdl/m4/libtool.m4 (compiler_lib_search_dirs): New variable. + * libltdl/config/ltmain.m4sh: Use it. + Reported by Maynard Johnson + +2008-01-28 Gary V. Vaughan + + * libtoolize.m4sh (func_check_macros): Correct typo with + '$opt_quiet ||' where '$opt_quiet &&' that was preventing + func_check_macros from running! + + * libtoolize.m4sh: Set opt_ltdl whenever seen_ltdl is set + so that libtoolize behaves as though --ltdl was passed even + if it wasn't as long as LTDL_INIT (or equivalent) was seen + in configure.ac. Adjust redundant '$opt_ltdl || $seen_ltdl' + to simply '$opt_ltdl'. + Reported by Eric Blake + + * libtoolize.m4sh (func_check_macros): Check opt_quiet + in the function itself to simplify calling it. Also move + the definition of the function. + + * libtoolize.m4sh (func_scan_files): Be sure to set the + default libltdl mode to 'subproject' when libtoolize is + executed before configure.ac has been updated. + +2008-01-27 Gary V. Vaughan + + * libtoolize.m4sh (func_install_pkgconfig_files) + (func_install_pkgmacro_files, func_install_pkgltdl_files): + Factored out from the 'Main' section of the file. + + * libtoolize.m4sh (subproject_auxdir, subproject_macrodir): + New variables to hold the default locations for auxfiles + and macrofiles in a subproject libltdl. + (ac_auxdir, ac_macrodir): New variables to hold the values + passed by AC_CONFIG_AUX_DIR and AC_CONFIG_MACRO_DIR resp. + (auxdir, macrodir): Adjust to contain the values to be + used by libtoolize at runtime. + + * libtoolize.m4sh (func_fixup_Makefile) + (func_massage_aclocal_DATA, func_massage_pkgltdl_files) + (func_massage_pkgconfig_files): Add missing $opt_debug. + +2008-01-27 Gary V. Vaughan + + * libtoolize (func_fixup_Makefile, func_massage_aclocal_DATA) + (func_massage_pkgltdl_files, func_massage_pkgconfig_files): + Add missing $opt_debug. + +2008-01-26 Gary V. Vaughan + + * libtoolize.m4sh (Main): Copy (or link) libltdl sources + into project tree when LTDL_INIT was seen, whether or not + `--ltdl' is passed. + (func_check_macros): Recommend LTDL_INIT instead of + LT_WITH_LTDL when `--ltdl' is used before configure.ac is + upgraded. + * tests/libtoolize.at: Test that it works. + (_LT_AT_LTDL_SETUP): Factor out some common test setup. + Reported by Eric Blake + +2008-01-24 Peter O'Gorman + + * doc/notes.texi: Fix errors in previous commit. + + * libltdl/m4/libtool.m4 (sys_lib_search_path_spec, + sys_lib_dlsearch_path_spec): Allow for a cache variable + lt_cv_sys_lib_... to set these at configure time. + * doc/notes.texi: Short note about the above change. + +2008-01-24 Eric Blake + + Add proper quoting to doc examples. + * doc/libtool.texi: Use m4 quotes where appropriate. + (Test descriptions): Fix truncated sentence. + +2008-01-18 Gary V. Vaughan + + * Makefile.am (DISTCLEANFILES): Remove libtool.dvi generated + by 'make dvi'. + +2008-01-17 Ralf Wildenhues + + * libtoolize.m4sh (func_scan_files): Avoid matching our own + macro code when scanning configure.ac and aclocal.m4. + Don't produce spurious output if AC_PROG_RANLIB is found. + * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Add a (weak) check + that we don't match our own macro code when searching for user + code calling us. + * TODO: Updated. + +2008-01-17 Ralf Wildenhues + + New variable LTDLDEPS for use in output_DEPENDENCIES. + + * libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE, _LTDL_INSTALLABLE) + (LTDL_INIT): Set and substitute LTDLDEPS according to chosen + method. + * tests/configure-iface.at (installable libltdl) + (--with-ltdl-include/lib, --with-included-ltdl): Test it. + * doc/libtool.texi (Distributing libltdl): Document LTDLDEPS. + * NEWS: Updated. + Dependency bug exposed by Eric Blake in M4, found by Bob Proulx + build daemon. + +2008-01-17 Ralf Wildenhues + + * doc/libtool.texi (Distributing libltdl): Clarify that + `${top_build_prefix}' may be used in place of `${top_builddir}/'. + + * doc/libtool.texi (Distributing libltdl): Clarify that + LTDL_INIT goes after LT_INIT; also show the latter in the + respective examples. + * tests/subproject.at: Adjust order. + +2008-01-16 Ralf Wildenhues + + * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Use AM_CONDITIONAL + only if defined. Allows to use libltdl without aclocal. + +2008-01-16 Peter O'Gorman + + * libltdl/m4/libtool.m4: Set GCC var for every tag, avoids need + to set withGCC var. + +2008-01-15 Ralf Wildenhues + + * configure.ac: Set libltdl nonrecursive option, to avoid + configuring libltdl inside the Libtool package. + +2008-01-14 Ralf Wildenhues + + Silence all non-warning output from `libtool --silent'. + * libltdl/config/ltmain.m4sh (func_generate_dlsyms) + (func_extract_archives, func_mode_link): Use func_verbose + instead of func_echo for all non-warning output. + + * Makefile.maint (fetch): Update to match upstream git sources. + Pull `INSTALL' from gnulib instead of from Autoconf. + + * doc/notes.texi: Mention AIX binutils deficiency for C++ code. + Report by Rainer Tammer. + Suggest using bash for configure. + + * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Fix to use + new _LT_SET_OPTION semantics. + +2008-01-12 Ralf Wildenhues + + * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define + LTDL_DLOPEN_SELF_WORKS, depending upon lt_cv_dlopen_self. + * libltdl/loaders/dlopen.c (vm_open) [!LTDL_DLOPEN_SELF_WORKS]: + Fail for dlopen(NULL), so that the preopen loader is used. This + fixes mdemo-exec.test failures on AIX where dlopen(NULL) + succeeds but dlsym resolves no symbol. + * NEWS: Update. + Report by Rainer Tammer. + + * tests/am-subdir.at: Drop unused variables. + * tests/configure-iface.at: Likewise. + * tests/ctor.at: Likewise. + * tests/early-libtool.at: Likewise. + * tests/lt_dladvise.at: Likewise. + * tests/old-m4-iface.at: Likewise. + * tests/lt_dlexit.at: Likewise. Also drop unused functions. + + * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Also copy needed + lt~obsolete.m4. + + * libltdl/config/ltmain.m4sh (func_mode_link): Fix warning + about -l and -L for archives and objects as output, to not + trigger for *.la files. Non-convenience archives are diagnosed + later on. + + * tests/configure-iface.at: Ensure LTDLINCL is expanded + before CPPFLAGS, so that even CPPFLAGS=-I/usr/local/include + won't make the tests prefer an installed ltdl.h over the + in-package one. + * tests/lt_dladvise.at, tests/lt_dlexit.at: Likewise. + * tests/need_lib_prefix.at, tests/old-m4-iface.at: Likewise. + Report by Bob Friesenhahn. + +2008-01-11 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) : + Also exclude `_GLOBAL__F[ID]_.*'. Also set for the C++ tag. + Fixes esp. demo/helldl build failure with GCC on AIX. + Report by Rainer Tammer. + +2008-01-11 Peter O'Gorman + + * libltdl/m4/libtool.m4 [darwin]: Reorganize darwin support, use + dsymutil if it is available so that debugging is possible, check + for nmedit and dsymutil with AC_CHECK_TOOL, use the linker flag + -exported_symbols_list in preference to nmedit if it is available. + Drop support for xlc, it is probably broken. + * tests/template.at [darwin]: Skip this test, I can not find a way + to make it work on darwin9 with Xcode-3.0. + * NEWS: Note the dropping of xlc support. + +2008-01-08 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (LT_INIT): m4_require, not AC_REQUIRE + _LT_CHECK_BUILDDIR, as it's m4_defun'ed, not AC_DEFUN'ed. + Report by Peter O'Gorman. + + * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE): Restore correct + _LT_BUILD_PREFIX-using code. + +2008-01-08 Gary V. Vaughan + + * tests/recursive.at: Remove bogus --debug option. + Reported by Ralf Wildenhues + + * tests/configure-iface.at: Build libltdl in a subdir so that + it can be easily removed without trying to remove config.log + on windows (which can't delete a file until it is closed). + Reported by Ralf Wildenhues + + * libltdl/m4/ltdl.m4 (LTDL_INSTALLABLE): Use _LT_BUILD_PREFIX + instead of ${top_builddir} for Autoconf-2.62. + Reported by Ralf Wildenhues + + * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Correct closing + comment. + Reported by Ralf Wildenhues + + * NEWS: Grammar nit. + + * tests/configure-iface.at, tests/nonrecursive.at, + tests/recursive.at, tests/subproject.at (_LTDL_SETUP): + Renamed to _LT_AT_LTDL_SETUP to avoid a nameclash with + libltdl/m4/ltoptions.m4:_LTDL_SETUP from yesterday's patch. + Reported by Ralf Wildenhues + +2008-01-07 Ralf Wildenhues + + * tests/runpath-in-lalib.at (Runpath in libtool library files): + Compile program file without libtool. + Report by Rainer Tammer. + +2008-01-07 Rainer Tammer (tiny change) + Ralf Wildenhues + + Support AIX 6.1. + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) + (_LT_LANG_FC_CONFIG): Adjust case patterns to match AIX 6 + through 9 as well. + * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. + * NEWS: Update. + * THANKS: Update. + +2008-01-07 Gary V. Vaughan + + Move libltdl build mode options from LT_CONFIG_LTDL_DIR to + LTDL_INIT. Accept (optional) new 'convenience' and 'installable' + options in lieu of LTDL_CONVENIENCE and LTDL_INSTALL macros. And + also, implement --with-included-ltdl, --with-ltdl-lib and + --with-ltdl-include configure-time options: + + * libltdl/m4/ltoptions.m4: Associate existing option settings with + LT_INIT. + (LT_OPTION_DEFINE): Associate options 'nonrecursive', 'recursive', + 'subproject', 'installable' and 'convenience' with LTDL_INIT. + (_LT_MANGLE_OPTION, _LT_SET_OPTION, _LT_IF_OPTION) + (_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Add MACRO-NAME argument to + support options to named macros instead of hardcoding only LT_INIT + options. + * libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE): Factor common code from + LTDL_CONVENIENCE and LTDL_INIT([convenience]). + (_LTDL_INSTALLABLE): Factor out common code from LTDL_INSTALLABLE + and LTDL_INIT([installable]). + (_LTDL_SETUP): Renamed from LTDL_INIT. Support new configure-time + options: --with-included-ltdl, --with-ltdl-lib, + --with-ltdl-include. + (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust. + (LT_WITH_LTDL): Removed. + (LTDL_INIT): Parse caller options. + * libltdl/m4/libtool.m4 (LT_INIT): Declare that this macro must be + expanded before LTDL_INIT, and be sure to parse caller options. + * configure.ac: Call directly into internal _LTDL_SETUP macro. + * libtoolize.m4sh (func_scan_files): Ltdl mode argument moved from + LT_CONFIG_LTDL_DIR to LTDL_INIT. + * tests/nonrecursive.at, tests/recursive.at: Use new interfaces. + * tests/configure-iface.at: Test it. + * Makefile.am (TESTSUITE_AT): Add configure-iface.at. + * doc/libtool.texi (Distributing libltdl): Document improved + LTDL_INIT interfaces. + * NEWS: Updated. + +2008-01-02 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): When creating + reloadable object files, avoid issuing plain `rm -f' without + further arguments, even if the line length limit is ridiculously + low as in the `Run tests with low max_cmd_len' test. This + failure is exposed on NetBSD. + Report by Patrick Welche. + + * Makefile.am (EXTRA_DIST): Add ChangeLog.2007. + * ChangeLog.2007: New, rotated, from... + * ChangeLog: ...here. + * NEWS, README, README.alpha, Makefile.am, libtoolize.m4sh, + libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, + libltdl/m4/libtool.m4: Bump copyright years. + +2007-11-30 Stefan Sperling (tiny change) + + * doc/libtool.texi (Linking executables): Reorder paragraphs. + +2007-11-26 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: The IBM + XL 8.0 C++ compiler may also be called xlc++*, not only xlC*. + Report by Nysal K Jan . + +2007-11-24 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): New macro. + Warn about whitespace in the absolute build tree name. + (LT_INIT): Use it. + * THANKS: Update. + Report by Jim Meyering. + + * libltdl/config/ltmain.m4sh (func_extract_an_archive) + (func_extract_archives): Add some quoting. + +2007-11-16 Ralf Wildenhues + + Use `${top_build_prefix}' for better compatibility with non-GNU make. + * libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro. + If the Autoconf version used is >= 2.62, then expand to + `${top_build_prefix}', otherwise to `${top_builddir}/'. + (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining + LIBLTDL. Fixes a build failure with AIX make in a package + using convenience libltdl in nonrecursive mode. + * doc/libtool.texi (Distributing libltdl): Document requirements + to define `top_build_prefix' if Automake is not used. + Report by Bob Friesenhahn. + +2007-11-12 Ralf Wildenhues + + Avoid warnings about conftest.dSYM directories on Mac OS X Leopard. + * libltdl/m4/libtool.m4 (_LT_LINKER_BOILERPLATE) + (_LT_LINKER_OPTION, _LT_CMD_GLOBAL_SYMBOLS): Remove + conftest.dSYM directory. + Report and analysis by Jeff Squyres and Peter O'Gorman. + +2007-11-09 Ralf Wildenhues + + * libltdl/configure.ac: Drop the broken and long-disabled code + to output a banner for the libltdl configure. Avoids the need + to ship mkstamp with libltdl. + +2007-11-08 Ralf Wildenhues + + * tests/runpath-in-lalib.at: New test. + * Makefile.am: Update. + Report by Benoit SIGOURE . + +2007-10-16 Eric Blake + + Speed up bootstrap by improving lt_join. + * libltdl/m4/ltsugar.m4 (lt_join, _lt_join): Rewrite to mirror + Autoconf 2.62's faster implementation. + +2007-10-12 Eric Blake + + Whitespace cleanup. + * libltdl/m4/ltsugar.m4: Avoid space-tab in indents. + * libltdl/m4/libtool.m4: Avoid trailing space. + + Deal with Autoconf 2.62's semantic change in m4_append. + * libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of + m4_append. + (lt_if_append_uniq): Don't require separator to be overquoted, and + avoid broken m4_append. + (lt_dict_add): Fix typo. + * libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator. + +2007-10-12 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh: Also sanitize `LANGUAGE'. + (func_mode_execute): Also restore `LANGUAGE', for old glibc. + Report by Paul Eggert against Autoconf. + +2007-10-11 Eric Blake + + * libltdl/.cvsignore: Ignore argz.h. + +2007-10-11 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) + : Renamed from + lt_prog_compiler_pic_works. + : Renamed from + lt_prog_compiler_static_works. + * NEWS: Update. + +2007-10-09 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_compile): Accept + extension `.sx'. + * tests/suffix.test: Test it. + +2007-09-07 Ralf Wildenhues + + * libltdl/lt_dlloader.c (loader_callback, lt_dlloader_get): Use + NULL, not 0, for the benefit of too picky compilers like PGI. + * slist.c (slist_tail): Likewise. Include stddef.h, for NULL. + Report by Jeff Squyres. + +2007-09-05 Eric Blake + + * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller + has set data. + +2007-09-04 Ralf Wildenhues + + * doc/libtool.texi (User defined module data) + : Document that a NULL place matches + all modules. + * libltdl/lt_dlloader.c (lt_dlloader_remove): Actually iterate + over all open modules when looking for modules that use it. + If a resident module is found, return but do not set the error + string. + * libltdl/ltdl.c (lt_dlexit): When removing dlloaders, ignore + errors that stem from earlier failed commands. Exposed by the + lt_dladvise test. + Fixes regression over branch-1-5. + Memleak report as Coverity CID 19 via Jeff Squyres. + +2007-09-01 Ralf Wildenhues + + * NEWS: Update. + + * libltdl/ltdl.c (trim): Fix possible write beyond array bound. + + * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return + FILE_NOT_FOUND if the filename is "". + + * libltdl/ltdl.c (try_dlopen): Fix computation of extension, + avoids subtracting pointer from NULL pointer. + + * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Do not test + array address of sys_dlsearch_path against NULL, rather test for + nonempty contents. + Coverity reports CID 148 and CID 149 via Jeff Squyres. + + * libltdl/ltdl.c (tryall_dlopen_module): Fix string length + computation: do not allocate more than needed. + +2007-08-30 Ralf Wildenhues + + * libltdl/loaders/preopen.c (vm_close): `module' is unused. + Coverity report CID 158 via Jeff Squyres. + + * libltdl/ltdl.c (parse_dotla_file): If we run out of memory, + do not close the .la file twice. + Coverity report CID 440 via Jeff Squyres. + + * libltdl/ltdl.c (has_library_ext): Remove dead code. + Coverity report CID 561 against Open MPI via Jeff Squyres. + +2007-08-29 Ralf Wildenhues + + * libltdl/slist.c (slist_remove): When a matching item is found, + break out of the loop to return the first match; also fixes + possible NULL dereference. + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) [ linux ]: Add support for IBM XL 8.0 + C/C++ (xlc*, xlC*) and IBM XL Fortran 10.1 (xlf*) on GNU/Linux, + tested on ppc, pending a $shlibpath_var related fix. + (_LT_SYS_HIDDEN_LIBDEPS): Double-quote $output_verbose_link_cmd + properly during evaluation, obsoleting $no_glob_subst mangling. + * NEWS: Update. + +2007-08-18 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] + [ k*bsd*-gnu ] : Avoid spurious + output in runpath test. + +2007-08-16 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ mingw, cygwin ] + : Do not use -DDLL_EXPORT. + Report by Ross Ridge . + + * Makefile.am (edit): Do not warn against manual editing for the + generated files libtool, libtoolize, libltdl/m4/ltversion.m4, + tests/defs, as they are still in a preferred source code form as + required by GPL. + Report by DJ Delorie. + +2007-08-15 Dirk Mueller (tiny change) + Ralf Wildenhues + + * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen. When + reading .la files, cope with files that are not + newline-terminated. + +2007-08-05 Tilman Koschnick (tiny change) + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) + [ linux ]: Treat pgcpp as Portland Group C++ compiler as well. + +2007-08-05 Ralf Wildenhues + + * libltdl/ltdl.c (try_dlopen): Use `attempt' rather than + `filename', as the former has the needed extension when called + by lt_dlopenext. + Report by Brian Barrett. + +2007-07-27 Peter Rosin + + * Makefile.am: Pass STRIP through to the testsuite, so that + tests that run configure will use the same strip program. + +2007-07-24 Ralf Wildenhues + + * tests/mdemo-exec.test: Also try absolute library names. + * tests/mdemo/main.c (test_dl, main): Try lt_dlopenext as well. + * THANKS: Update. + Report by Brian Barrett. + +2007-07-23 Ralf Wildenhues + + * doc/fdl.texi: Update to GFDL 1.2. + * doc/libtool.texi: Adjust. Put License in Appendix. + + * libltdl/config/ltmain.m4sh (func_mode_link): Remove each + intermediate relinked object after use, to avoid quadratic space + complexity when linking partially. + Report by Isidor Zeuner . + +2007-07-23 Eric Blake + + * libltdl/config/ltmain.m4sh: Whitespace cleanup. + + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) + : Avoid compiler warning. + +2007-07-22 Peter Rosin + + * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Add + support for Microsoft Visual C. Also, older MinGW versions + seem to need stdint.h to find intptr_t. + +2007-07-22 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: + Ignore lines in ld.so.conf starting with 'hwcap '. + +2007-07-16 Charles Wilson + + * tests/cdemo-exec.test: use $EXEEXT where appropriate + to correct mingw cross-compile issues. + * demo-deplibs.test: Ditto. + * demo-exec.test: Ditto. + * demo-inst.test: Ditto. + * demo-relink.test: Ditto. + * depdemo-exec.test: Ditto. + * depdemo-inst.test: Ditto. + * depdemo-relink.test: Ditto. + * f77demo-exec.test: Ditto. + * fcdemo-exec.test: Ditto. + * mdemo-exec.test: Ditto. + * mdemo-inst.test: Ditto. + * mdemo2-exec.test: Ditto. + * pdemo-exec.test: Ditto. + * pdemo-inst.test: Ditto. + * tagdemo-exec.test: Ditto. + +2007-07-14 Peter Rosin + + * AUTHORS, THANKS: Peter Ekberg got married, now Peter Rosin. + +2007-07-13 Charles Wilson + + * libltdl/m4/libtool.m4 (func_dirname_and_basename) : + New function. + (func_dirname_and_basename) : New function. + * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): + Call it. Also, take advantage of missed optimization using + func_dirname's additional arguments. + (func_mode_compile): Call it. + (func_mode_install): Call it. + (func_mode_link): Call it. + +2007-07-12 Peter Rosin + + * libltdl/config/ltmain.m4sh (func_mode_link): Strip the cwrapper + using $STRIP instead of relying on the tools to support -s, which + MSVC doesn't. + +2007-07-06 Peter O'Gorman + + * libltdl/config/libtool.m4sh: Don't pass -msg_* through to the + linker. + Reported by Bob Friesenhahn + +2007-07-04 Bob Friesenhahn + + * libltdl/lt__alloc.c, libltdl/loaders/preopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/dlopen.c, libltdl/ltdl.c, + libltdl/lt_error.c, libltdl/lt_dlloader.c, libltdl/lt__dirent.c: + Include lt__private.h prior to any system headers. + * libltdl/lt__alloc.c: Remove redundant inclusion of configuration + header. + +2007-07-04 Eric Blake + + * libltdl/ltdl.c (advise_dup): Delete function no longer used + after memleak fix three days ago. + +2007-07-03 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Cater to + old Sparc Solaris 7 ld that does not understand `-64'. + Report by Vincent Lefevre . + +2007-07-01 Ralf Wildenhues + + * libltdl/m4/lt~obsolete.m4 (LTOBSOLETE_VERSION): New macro, to + force-pull in this file by aclocal. + * libltdl/m4/libtool.m4 (LT_INIT): Require LTOBSOLETE_VERSION. + * tests/libtoolize.at (upgrading verbatim style aclocal.m4): + Adjust. + Report by H. J. Lu . + + * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed + alias of `advise' instead of allocating a copy. Fixes memleak. + +2007-06-30 Peter Breitenlohner + + * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Correct a typo + ("-dld" instead of "-ldld"). + +2007-06-24 Gary V. Vaughan + + Add a test to simulate a failure visible on systems which + need a library prefix like 'lib', such as BeOS. Fix a number + of bugs exposed by this test in order for it to pass. + Currently the prefix is hardcoded as 'lib', as I am not aware + of systems that require a different prefix: + + * libltdl/loaders/preopen.c (lt_dlpreload_open): Move error + condition out of test loop to be sure that each originator is + tried, instead of erroring out if the first doesn't match. + Support passing NULL as the originator to load all preloaded + modules originating in the program itself. + * libltdl/lt_dlloader.c (lt_dlloader_dump): New debug function. + * libltdl/libltdl/lt_dlloader.h (lt_dlloader_dump): Declare it + when LT_DEBUG_LOADERS is defined at compile time. + * libltdl/ltdl.c (lt_dlinit): Dump loader list after successful + initialisation. + (tryall_dlopen): Add a new VTABLE parameter to force use of a + specific loader in preference to trying every loader in turn. + Adjust all callers. + (try_dlopen): Always see whether a module was preloaded for + module names with no directory component before searching the + filesystem for a match. + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Declare + a new global_symbol_to_c_name_address_lib_prefix variable. + (global_symbol_to_c_name_address_lib_prefix): The sed + expressions to use when a lib prefix is enforced need to be + slightly different to work with preloaded modules. + * libltdl/config/ltmain.m4sh (func_generate_dlsyms): In order + to name preloaded symbols correctly for the lookup algorithm + to work when the loaded module file must be prefixed with lib. + Use global_symbol_to_c_name_address_lib_prefix when + need_lib_prefix is other than no. + * tests/need_lib_prefix.at: New test to check for breakage on + hosts where need_lib_prefix is unknown. + * Makefile.am (TESTSUITE_AT): Add new test. + * tests/TODO: Note missing tests that would have caught some + of the latent bugs fixed by this patch. + * HACKING: Document libltdl keyword. + * NEWS: Updated. + +2007-06-24 Gary V. Vaughan + + Reenable compilation of libltdl with C++: + + * libltdl/ltdl.c (tryall_dlopen): Rename the try variable to + attempt, and cast explicitly. + (advise_dup): Add explicit cast. + +2007-06-22 Peter O'Gorman + + * libltdl/config/ltmain.m4sh (version-number) [irix]: Don't subtract + 1 from major as it may be less than age. + +2007-06-21 Noah Misch + + * tests/f77demo/configure.ac [--with-dist]: New option. Skip most + Fortran checks when given. + * tests/fcdemo/configure.ac [--with-dist]: Likewise. + * Makefile.am (@DIST_MAKEFILE_LIST@): Pass --with-dist. + Reported by Benoit Sigoure . + +2007-06-19 Charles Wilson + + * AUTHORS: Add myself. + +2007-06-18 Charles Wilson + + * libltdl/config/ltmain.m4sh: Add new magic variable + for use with cwrapper. + (func_ltwrapper_script_p): New function. + (func_ltwrapper_executable_p): New function. + (func_ltwrapper_scriptname): New function. + (func_ltwrapper_p): Accomodate both wrapper scripts and + wrapper executables. + (func_mode_execute): Handle $file that is a wrapper + script and $file that is a wrapper executable differently. + (func_mode_install) [cygwin|mingw]: If $file is a wrapper + executable, use func_ltwrapper_scriptname to determine + wrapper script name. Afterwards, always use + func_ltwrapper_script_p instead of func_ltwrapper_p. + (func_emit_libtool_wrapper_script): Rename to... + (func_emit_wrapper): ...this. All callers changed. + (func_emit_libtool_cwrapperexe_source): Rename to... + (func_emit_cwrapperexe_src): ...this. All callers changed. + Embed new magic_exe variable into source. Private transient + wrapper script now called foo_ltshwrapperTMP, not + foo_ltshwrapper. + (func_emit_cwrapperexe_src) [main, mingw]: Use _spawnv + and return child's exit code manually rather than rely on + broken execv. + (func_mode_link) [cygwin|mingw]: Don't call dirname and + basename directly; use func_dirname and func_basename + when computing cwrapper names. Use cwrapper to generate + wrapper script, and use pathname returned by + func_ltwrapper_scriptname instead of $output. + (func_mode_link) [NOT cygwin|mingw]: move wrapper script + generation for non-win32 inside case statement, as default + case. + (func_mode_uninstall) [$name's extension != .lo|.la]: + 'clean' mode must handle $file differently if it is a libtool + wrapper script, or if it is a libtool wrapper executable. + * tests/destdir.at [Simple DESTDIR install]: $EXEEXT fixups. + * tests/destdir.at [DESTDIR with in-package deplibs]: Ditto. + +2007-06-17 Noah Misch + + * AUTHORS: Add myself. + +2007-06-17 Peter O'Gorman + + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): add quotes to + the test -n. + +2007-06-17 Charles Wilson + + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): ensure stderr + is redirected even when getconf does not exist. + +2007-06-09 Charles Wilson + + * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script): + Take an argument to specify value assigned to + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR in the emitted + script. + (func_emit_libtool_cwrapperexe_source) [file scope]: + define permission flags S_IXGRP and S_IXOTH if not + already defined. + (func_emit_libtool_cwrapperexe_source) [LTWRAPPER_DEBUGPRINTF]: + Use C89-compatible syntax to mimic variadic macros. + Adjust all callers. + (func_emit_libtool_cwrapperexe_source) [check_executable]: + avoid embedded #ifdefs; use S_IXGRP and S_IXOTH + unconditionally. + (func_emit_libtool_cwrapperexe_source) [make_executable]: + ditto. + (func_emit_libtool_cwrapperexe_source): don't rewrite + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR posthoc; instead pass + correct argument when calling func_emit_libtool_wrapper_script. + (func_mode_link): pass correct argument when calling + func_emit_libtool_wrapper_script. + +2007-06-07 Charles Wilson + + * libltdl/config/ltmain.m4sh (func_emit_libtool_cwrapperexe_source): + ensure that generated source follows GCS as nearly as + possible. + +2007-06-07 Charles Wilson + + * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script): + add code block to handle cases when wrapper script is in $objdir. + (func_emit_libtool_cwrapperexe_source): replace DEBUG() macro + with namespace-safe LTWRAPPER_DEBUGPRINTF(). Call + func_emit_libtool_wrapper_script() with appropriate filters to + embed script text in C char* static variable. + (f_e_l_c_s: main): add new option --lt-dump-script, parse argv[] + for it, and take appropriate action. Call chase_symlinks() + on argv[0], in case this.exe was launched via one. Use chased + value to determine full absolute pathname of wrapper script, in + $objdir. Unconditionally write script out to this pathname and + set permission bits. Remove extraneous ';' from debugging loop. + (f_e_l_c_s: main) [mingw]: DOS-ize $SHELL before populating + newargv[0]; if $TARGETSHELL environment variable is set, use + it instead of $SHELL and do not DOS-ize. Ensure newargv[1] + (wrapper script absolute path) uses only '/', not '\'. Make + sure to call execv() with DOS-ized $SHELL (or un-DOS-ized + $TARGETSHELL, if set) + (f_e_l_c_s: make_executable): new function + (f_e_l_c_s: chase_symlinks): new function (no-op if !S_ISLNK) + +2007-06-03 Peter O'Gorman + + * libltdl/m4/libtool.m4 (old_archive_cmds): Remove + old_deplibs. + * tests/archive-in-archive.at: Check for archives as members + of static archives. Currently XFAILS, above only eliminates + one of the two static archives. + * Makefile.am: Add test. + Reported by Daniel Macks + +2007-06-01 Steve Ellcey + + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf + to set lt_cv_sys_max_cmd_len. + +2007-05-28 Peter O'Gorman + + * libltdl/config/ltmain.m4sh (func_mode_link), + libltdl/m4/libtool.m4 [darwin]: Only use ${wl} in verstring + with xlc. + +2007-05-22 Gary V. Vaughan + + * tests/lt_dladvise.at: Use the lib prefix throughout for + better portability - testing whether modules build and load + without that prefix is not the domain of this test. + Also, only run the test of the global hint with the depend + module on hosts that can compile a module without passing + -no-undefined in link mode. + +2007-05-10 Noah Misch + + * tests/duplicate_deps.at: Make the XFAIL unconditional, but + skip the test if the test link would succeed even without + --preserve-dup-deps. + + * libltdl/config/general.m4sh (func_echo): Use $* instead of + ${1+"$@"}. + +2007-05-09 Eric Blake + + * libltdl/libltdl/lt_error.h (LT_ERROR_LEN_MAX): Adjust, to fix + buffer overflow in previous patch. + +2007-05-09 Gary V. Vaughan + + * tests/lt_dladvise.at: Commit missing file from below. + +2007-05-08 Gary V. Vaughan + + Without this patch, lt_dlopen always opens modules with symbol + visibility set according to the underlying implementation. + Here, we add lt_dlopenadvise() to allow callers to request, + among other things, local or global symbol visibility from the + underlying dlloader: + + * libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed. + (LT_DLIS_RESIDENT): Use public is_resident info field. + (LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for + module symbol visibility status. + (tryall_dlopen): If vtable->module_open() was able to act on + either is_symlocal or is_symglobal hints, store that in + the handle flags. + (lt_dlopenadvise): New function that works like lt_dlopen(), + but accepts an advise type to determine whether to ask + dlloaders to change default symbol visibility. + (lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with + the correct parameters. + (lt_dladvise_init, lt_dladvise_destroy): New functions to + initialize and destroy an advise type hint. + (lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local) + (lt_dladvise_global): Set hints on an advise type. + (openadvise): Factored out of lt_dlopenadvise. + (has_library_ext): Factored out of lt_dlopenadvise. + * libltdl/ltdl.h: Declare all of the above. + (lt_dlinfo): New fields for advise hints. + * libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new + advise parameter. Adjust all callers. + (lt_dladvise): New opaque type for advise hints. + * libltdl/libltdl/lt__private.h (lt__advise): Declare + contents of opaque lt_dladvise type. + * libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error + for attempts to have local and global symbol visibility at the + same time. + * libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c, + libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, + libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust. + * libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to + define these symbols if the system has equivalents. + (vmopen): If unable to act on a caller request to set symbol + visibility, then unset the relevant hints in the advise type. + * tests/lt_dladvise.at: New tests for the above. + * doc/libtool.texi (Libltdl Interface): Updated. + * NEWS: Updated. + +2007-05-03 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): When adding + new_inherited_linker_flags to compiler_flags, remember to + translate .ltframework back. Fixes bug introduced 2007-04-23. + * THANKS: Update. + * tests/inherited_flags.at: Amend test. + Report by Christoph Egger. + +2007-05-03 Reuben Thomas (tiny change) + + * doc/libtool.texi (Libltdl interface): Fix typo. + +2007-05-01 Ralf Wildenhues + + * Makefile.am (clean-ltmain-sh): Removed. + (libtool, $(srcdir)/$(m4dir)/ltversion.m4) + ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any + phony rules. Test `$?' for prerequisites that should always + cause us to update the target. Fixes rebuilding rules, at the + cost of sometimes updating too much with non-GNU make. + +2007-04-27 Noah Misch + + * tests/ctor.at: New file. + * Makefile.am (TESTSUITE_AT): Add tests/ctor.at. + +2007-04-27 Charles Wilson + + * libltdl/libltdl/lt__glibc.h: Use !HAVE_WORKING_ARGZ + instead of SYSTEM_ARGZ_IS_BROKEN. + * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Ditto. Also, minor + stylistic improvements. + Report by Bruno Haible . + +2007-04-25 Charles Wilson + Ralf Wildenhues + + * libltdl/argz_.h: ensure error_t definition is obtained + in same mechanism system argz.h would have. + * libltdl/libltdl/lt__glibc.h: also detect if + SYSTEM_ARGZ_IS_BROKEN when determining whether to re#def + argz* functions. + * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): add new test to check + if $host's argz facilities are known bad. Err on the side + of caution if cross-compiling. + +2007-04-25 Ralf Wildenhues + + * README, README.alpha: Document how to test an arbitrary + installed libtool script. + +2007-04-24 Ralf Wildenhues + + * tests/cmdline_wrap.at: Avoid `AT_CAPTURE_FILE' if it not + defined (Autoconf < 2.60). + * tests/shlibpath.at: Add `libtool' keyword. + + * tests/indirect_deps.at: New file, with tests to ensure + `link_all_deplibs=no' does not break functionality. + * Makefile.am: Adjust. + +2007-04-23 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Fix accumulation + of `inherited_linker_flags' entries from multiple deplibs, by + adding $new_inherited_linker_flags only once, only in link pass. + * tests/inherited_flags: Amend test to expose this. + * NEWS: Adjust: kill one regression, but add note about the + feature new in 1.9b. + Report by Jeff Squyres and others. + +2007-04-23 Charles Wilson + + * libltdl/config/ltmain.m4sh (func_mode_link): move wrapper + script generation from here... + (func_emit_libtool_wrapper_script): to this new function, and + write to stdout + (func_mode_link): move cwrapper source code generation from + here... + (func_emit_libtool_cwrapperexe_source): to this new function, + and write to stdout + (func_mode_link): call the two new functions and redirect + output to appropriate file. + +2007-04-10 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link) <-no-install> + [ darwin ]: Treat like `-no-fast-install', as we cannot + hardcode. Report by Simon Josefsson. + +2007-04-03 Ralf Wildenhues + + * doc/libtool.texi (Link mode) <-no-install>: Mention that this + still generates a wrapper script on systems without hardcoding. + * tests/stresstest.at: Test `-no-install'. + * THANKS: Update. + Report by Simon Josefsson. + +2007-03-30 Matthieu Herrb + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [ openbsd ]: Add an explicit check for shared libraries support. + +2007-03-29 Ralf Wildenhues + + * Makefile.am ($(srcdir)/$(m4dir)/ltversion.m4): Fix quoting + error. + +2007-03-28 Gary V. Vaughan + + * HACKING (Abstraction layers in libltdl): Rewritten somewhat + for (hopefully) better clarity. + +2007-03-26 Gary V. Vaughan + + The stamp-vcl file rules caused non-gnu make programs to rerun + parts of the configuration process on each invocation. Instead + of relying on a stamp file, we now compare version numbers of + generated files with the ChangeLog timestamp manually in the + affected make rules to decide whether regenerating is necessary: + + * Makefile.am (EXTRA_DIST): Remove stamp-vcl. + (clean-ltmain-sh): Also remove users' obsolescent stamp-vcl. + (rebuild): Keep some common code here for... + (libtool, libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh): + Rewritten to work without reference to intermediate stamp-vcl + file. + * configure.ac (CONFIG_STATUS_DEPENDENCIES): Change from + stamp-vcl to ChangeLog. + * NEWS: Removed entry saying this fix is needed. + +2007-03-25 Gary V. Vaughan + + * HACKING (LGPL with Libtool exception clause): Typo. + Reported by Tim Van Holder + + * HACKING (Licensing Rules): Explain the various license texts + used for files distributed with Libtool, and update license text + to match. + * Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO, + bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc, + libltdl/README, libltdl/argz.c, libltdl/argz_.h, + libltdl/config/general.m4sh, libltdl/config/getopt.m4sh, + libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh, + libltdl/config/mkstamp, libltdl/configure.ac, + libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, + libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, + libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, + libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, + libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, + libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, + libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, + libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c, + libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, + libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, + libltdl/ltdl.h, libltdl/m4/argz.m4, libltdl/m4/libtool.m4, + libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, + libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in, + libltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4, + libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at, + tests/cdemo-conf.test, tests/cdemo-exec.test, + tests/cdemo-make.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/cdemo-undef.test, + tests/cdemo/Makefile.am, tests/cdemo/configure.ac, + tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c, + tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh, + tests/demo-conf.test, tests/demo-deplibs.test, + tests/demo-exec.test, tests/demo-hardcode.test, + tests/demo-inst.test, tests/demo-make.test, + tests/demo-nofast.test, tests/demo-noinst-link.test, + tests/demo-nopic.test, tests/demo-pic.test, + tests/demo-relink.test, tests/demo-shared.test, + tests/demo-static.test, tests/demo-unst.test, + tests/demo/Makefile.am, tests/demo/configure.ac, + tests/demo/dlmain.c, tests/demo/foo.c, + tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c, + tests/demo/hello.c, tests/demo/main.c, + tests/depdemo-conf.test, tests/depdemo-exec.test, + tests/depdemo-inst.test, tests/depdemo-make.test, + tests/depdemo-nofast.test, tests/depdemo-relink.test, + tests/depdemo-shared.test, tests/depdemo-static.test, + tests/depdemo-unst.test, tests/depdemo/Makefile.am, + tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am, + tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h, + tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c, + tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am, + tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h, + tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c, + tests/depdemo/l4/l4.h, tests/depdemo/main.c, + tests/depdemo/sysdep.h, tests/deplibs-ident.at, + tests/destdir.at, tests/duplicate_conv.at, + tests/duplicate_deps.at, tests/duplicate_members.at, + tests/early-libtool.at, tests/export.at, + tests/f77demo-conf.test, tests/f77demo-exec.test, + tests/f77demo-make.test, tests/f77demo-shared.test, + tests/f77demo-static.test, tests/f77demo/Makefile.am, + tests/f77demo/configure.ac, tests/f77demo/cprogram.c, + tests/f77demo/foo.h, tests/f77demo/fooc.c, + tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test, + tests/fcdemo-make.test, tests/fcdemo-shared.test, + tests/fcdemo-static.test, tests/fcdemo/Makefile.am, + tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, + tests/fcdemo/foo.h, tests/fcdemo/fooc.c, + tests/inherited_flags.at, tests/libtoolize.at, + tests/link-2.test, tests/link-order.at, tests/link-order2.at, + tests/link.test, tests/lt_dlexit.at, tests/mdemo-conf.test, + tests/mdemo-dryrun.test, tests/mdemo-exec.test, + tests/mdemo-inst.test, tests/mdemo-make.test, + tests/mdemo-shared.test, tests/mdemo-static.test, + tests/mdemo-unst.test, tests/mdemo/Makefile.am, + tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c, + tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c, + tests/mdemo/sub.c, tests/mdemo2-conf.test, + tests/mdemo2-exec.test, tests/mdemo2-make.test, + tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac, + tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at, + tests/objectlist.test, tests/old-m4-iface.at, + tests/pdemo-conf.test, tests/pdemo-exec.test, + tests/pdemo-inst.test, tests/pdemo-make.test, + tests/pdemo/Makefile.am, tests/pdemo/configure.ac, + tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c, + tests/pdemo/longer_file_name_foo.c, + tests/pdemo/longer_file_name_foo2.c, + tests/pdemo/longer_file_name_hell1.c, + tests/pdemo/longer_file_name_hell2.c, + tests/pdemo/longer_file_name_hello.c, + tests/pdemo/longer_file_name_main.c, tests/quote.test, + tests/recursive.at, tests/search-path.at, tests/sh.test, + tests/shlibpath.at, tests/standalone.at, tests/static.at, + tests/stresstest.at, tests/subproject.at, tests/suffix.test, + tests/tagdemo-conf.test, tests/tagdemo-exec.test, + tests/tagdemo-make.test, tests/tagdemo-shared.test, + tests/tagdemo-static.test, tests/tagdemo-undef.test, + tests/tagdemo/Makefile.am, tests/tagdemo/baz.cpp, + tests/tagdemo/baz.h, tests/tagdemo/configure.ac, + tests/tagdemo/conv.cpp, tests/tagdemo/conv.h, + tests/tagdemo/foo.cpp, tests/tagdemo/foo.h, + tests/tagdemo/main.cpp, tests/tagtrace.test, + tests/template.at, tests/testsuite.at: Apply correct license + text according to the new rules set out in HACKING. + +2007-03-19 Gary V. Vaughan + + * libtoolize.m4sh: Handle argz.m4 specially like ltdl.m4, so + that it isn't copied unless libltdl is being used. Copy other + macro files according to their tagged serial numbers. + * tests/libtoolize.at: Adjust. + +2007-03-18 Ralf Wildenhues + + * tests/mdemo/Makefile.am (libmlib_la_LDFLAGS): Add + `-export-symbols-regex ".*"' because the convenience libltdl + uses export markers and thus turns off autoexport on w32. Fixes + test failures for Cygwin and MinGW. + Bug analysis by Charles Wilson. + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ interix ]: When + matching for interix, accept version range [3-9] instead of 3. + * NEWS: Update. + Report by Martin Koeppe . + + * libltdl/m4/libtool.m4 (LT_PROG_GCJ): Avoid M4 expansion error + that caused `dnl' to be merged to the previous word. + * THANKS: Update. + Report by Steve Ellcey. + +2007-03-09 Gary V. Vaughan + + * libtoolize.m4sh: Replace literal tab chars in help comment + with spaces to align columns in --help output. + +2007-03-06 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Also apply the + symbol filtering for w32 and the include_expsyms feature in the + case of exceeded command line length. Fixes test failure on + MinGW. + + * tests/stresstest.at: For const data object imported from + shared library, define appropriate macros to expand + __declspec(dllimport) on w32. Use two different main objects + and pick the right one for the link flags we are about to test. + Fixes test failure on MinGW. + + * tests/export.at: For const data object imported from shared + library, define appropriate macros to expand + __declspec(dllimport) on w32. Fixes test failure on MinGW. + +2007-03-05 Gary V. Vaughan + + * libtoolize.m4sh (func_check_macros): Display m4 quotes correctly + in AC_CONFIG_MACRO_DIR diagnostics. + + * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to + simplify m4sh quote quoting in blocks of raw shell code. + * clcommit.m4sh, libtoolize.m4sh, libltdl/config/getopt.m4sh, + libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh, + tests/defs.m4sh: Use it. + * HACKING (Editing `.m4sh' Files): Mention M4SH_VERBATIM Macro. + +2007-02-27 Ralf Wildenhues + + * tests/lt_dlexit.at: Allow test to pass on static-only systems + and with disable-shared. + + * NEWS: Rewrite all news since 1.9f and put in categories, + update. + + * libltdl/Makefile.inc: Fix the file description, so that it + matches recursive and nonrecursive libltdl setup. + * Makefile.am ($(srcdir)/libltdl/Makefile.am): Do not depend + upon the exact text of the copyright header, just copy until + the marker line. Remove the marker lines in the output, and + adjust the description for subpackage setup. + +2007-02-26 Gary V. Vaughan + + * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fix regexp typo. + + * clcommit.m4sh: Look in the right directory for helper scripts. + +2007-02-25 Gary V. Vaughan + + * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fixup regex to + match Copyright notice change below. + + * HACKING, Makefile.am, Makefile.maint, bootstrap, + libltdl/Makefile.am, libltdl/Makefile.inc, libltdl/m4/libtool.m4, + ltmain.c, tests/cdemo/Makefile.am, tests/demo/Makefile.am, + tests/depdemo/Makefile.am, tests/depdemo/l1/Makefile.am, + tests/depdemo/l2/Makefile.am, tests/depdemo/l3/Makefile.am, + tests/depdemo/l4/Makefile.am, tests/f77demo/Makefile.am, + tests/fcdemo/Makefile.am, tests/libtoolize.at, + tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, + tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Update + Copyright notice text to include URL for canonical GPL document. + +2007-02-25 Ralf Wildenhues + + * tests/static.at: Forgot to fix PATH for the first + func_test_exec invocation. So factor out into new functions + func_fix_path and func_restore_path and use those. + + * README: Document the need for GNU make to build Libtool. + Point the user to the doc/notes.txt file. In the examples, use + `gmake' throughout to make it more obvious. Explain simpler way + to run both testsuites and either one. Referring to individual + tests needs the `tests/' prefix. + * README.alpha: Likewise. + * doc/notes.texi: Likewise, document need for GNU make. + Comment out the FreeBSD make issue for now. + + * tests/static.at: Larger rewrite to make work on w32: Use three + different prefixes instead of three libdirs, so the moving of + the DLLs works as expected. Adjust all code. Since now + $libdirI/../bin is distinct from the directory of the installed + program, take care than on w32 PATH contains the needed bindirs, + in appropriate order. + Report by Charles Wilson. + + * Makefile.am (INSTALLCHECK_ENVIRONMENT): Point LTDLINCL and + LIBLTDL to installed libltdl, so that it is being used by + the lt_dlexit test. + +2007-02-24 Ralf Wildenhues + + * doc/libtool.texi (Install mode, libtool script contents): + Describe current and system-specific DESTDIR limitations. + * tests/destdir.at: XFAIL if `fast_install' is no. + + * doc/libtool.texi (LT_INIT): Fix typo. + + * doc/libtool.texi (Libtool test suite): Mention the new + testsuite. Point to README rather than INSTALL for testing + instructions. + (Test descriptions): Fix more file names. Also mention + cdemo-undef.test, mdemo2-conf.test, mdemo2-exec.test, + mdemo2-make.test, objectlist.test, pdemo-conf.test, + pdemo-exec.test, pdemo-inst.test, pdemo-make.test, + tagdemo-conf.test, tagdemo-exec.test, tagdemo-make.test, + tagdemo-static.test, tagdemo-shared.test, tagdemo-undef.test, + f77demo-conf.test, f77demo-exec.test, f77demo-make.test, + f77demo-static.test, f77demo-shared.test, fcdemo-conf.test, + fcdemo-exec.test, fcdemo-make.test, fcdemo-static.test, + fcdemo-shared.test. Describe what they do. + (When tests fail, Troubleshooting): Mention how to pass options + to the new test suite. + * tests/tagdemo/README: Fix description. + + * bootstrap: Also set GREP, FGREP, EGREP, LN_S, when creating a + preliminary ltmain.sh script. + + * doc/libtool.texi (Test descriptions): Track the grand test + suite renaming from 2003-10-14 in the tests documentation. + assign.test is merged into sh.test. Fix description of sh.test. + * tests/sh.test: Likewise. + + * doc/libtool.texi (LT_INIT): Fix wording of intro a bit. + : Also describe these default LT_INIT options. + + : Mention deprecated macro names, + including the respective LT_INIT replacement. + + : Document, un-deprecate. Suggest the + respective LT_INIT replacement. + + : Document deprecated aliases. + (Distributing libltdl) + : Document deprecated aliases. + * libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED) + (AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of + the respective AC_* macros, so we do not recommend LT_INIT(*) in + this case. + (AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC) + (AC_DISABLE_STATIC): Un-deprecate these. Remove now-superfluous + aclocal-1.4 backwards compatibility comments. + + * tests/link-order2.at: Rewrite completely. Do not use `sin' + from the math library, there are too many problems with this. + Instead, use a self-written library, install it without the + Libtool library file, to emulate a native library in a system + directory, and adjust $shlibpat_var. Try overriding its symbol. + Further, also try an installed `wrong' binary. + Avoid failing test bits on AIX without runtimelinking and on + Darwin in some cases, SKIP at the end in this case. + Analysis by Peter O'Gorman. + + * doc/notes.texi: Mention MACOSX_DEPLOYMENT_TARGET issue. + * tests/template.at: Only skip those tests failing on Darwin + if `-flat_namespace' is used by libtool. In that case, SKIP + at the end. Analysis by Peter O'Gorman. + +2007-02-23 Ralf Wildenhues + + Fix -export-symbols and -export-symbols-regex for links that + exceed the command line length and use convenience archives. + + * libltdl/config/ltmain.m4sh (func_mode_link): Avoid grepping a + nonexistent file if using reloadable objects. Do not create a + linker script nor a linker input file if no objects are passed. + Apply export_symbols_regex in case the command line length is + exceeded. + Report by Bob Friesenhahn. + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) + : New tag variable. Default to `no'. + (_LT_LINKER_SHLIBS) [ linux ]: Set it to yes for Sun C 5.9. + (_LT_LANG_CXX_CONFIG): Also default it to `no'. + [ linux ]: Set it to `yes' for Sun C++ 5.9. + * libltdl/config/ltmain.m4sh (func_mode_link): If we link + no objects but only convenience archives into a library, + force expansion if `compiler_needs_object' is yes. + For creating a linker input filelist due to long cmdline, + extract the first object if `compiler_needs_object' is yes. + * doc/libtool.texi (libtool script contents): Document it. + Fixes test failures of Sun compilers on GNU/Linux. + Report by Terry D. Dontje. + + * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting + `$libobjs' to a single space; set it to empty in that case. + +2007-02-23 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [ osf5 ]: + On Tru64 5.1, const relocations do not work well. Omit the + const here. Fixes failure of demo-make after demo-shared with + link editor error `seg_info_ptr: Couldnt find a seg type 2'. + + * Makefile.am (doc_libtool_TEXINFOS): Renamed from... + (libtool_TEXINFOS): ...this, to fix dependencies. Omit from + EXTRA_DIST. + (check-local): Also depend upon $(bin_SCRIPTS). + +2007-02-23 Ralf Menzel (tiny change) + + * libltdl/config/general.m4sh (sed_double_backslash): Fix + hacky sed script to avoid limitations but retain portability to + Solaris /bin/sed. Remove old obsolete cruft. + +2007-02-22 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Fix the check for + convenience archives when warning about linking against static + libraries: test against $deplib rather than empty $lib. + +2007-02-19 Ralf Wildenhues + + * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Fix detection of new enough + libltdl by actually checking for the declaration of + lt_dlinterface_register in ltdl.h with AC_CHECK_DECL. + Remove redundant configure output line. + + * tests/template.at: Reformat, add M4 quoting. Use $LDFLAGS + consistently for link mode. + +2007-02-18 Ralf Wildenhues + + * tests/static.at: Use the right names for the broken libs. + +2007-02-17 Ralf Wildenhues + + * tests/deplibs-ident.at [aix, hppa*-*-hpux*, interix, openbsd]: + Do not XFAIL, on these systems we happen to pass. + * tests/duplicate_deps.at [aix]: Likewise. + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux | + k*bsd*-gnu ]: Fix eval quoting in the DT_RUNPATH test. + + * HACKING: Update. + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ linux ] + : For Sun C/C++ 5.9, do not add + /dev/null as dummy object, it fails with GNU ld version + 2.16.91.0.7-amd-sles9. Report by Terry D. Dontje. + * THANKS: Update. + +2007-02-14 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ osf4, osf5 ] + : Use `${wl}-input' not `-input', for + cc. Could use `-input_to_ld'. + (_LT_LANG_CXX_CONFIG) [ osf4, osf5 ] : + Use `${wl}' instead of `-Wl,', for consistency. + +2007-02-12 Ralf Wildenhues + + Fix spurious testsuite failures on AIX due on NFS mounts due to + shared library images that cannot be removed without `slibclean' + which needs superuser privileges. + + * tests/testsuite.at (PREPARE_TESTS): Define $mkdir_p globally. + (LT_AT_MVDIR): New macro to emulate `mv dir dest'. + * tests/destdir.at: Use LT_AT_MVDIR. + * tests/shlibpath.at: Likewise. + * tests/static.at: Likewise. + +2007-02-12 Ralf Wildenhues + + * tests/export.at: Exporting is not fully functional with + -retain-symbols-file. Do not test for failure to link `broken' + in this case. At the end of the test, SKIP if we are not fully + functional. + + * tests/lt_dlexit.at: Add casts and `extern "C"' to let the test + pass with a C++ compiler. + + * libltdl/config/ltmain.m4sh: Remove duplicate marker for + generated shell functions. + + * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): New macro, like + LT_AT_EXEC_CHECK but uses `$LIBTOOL --mode=execute' and allows + to pass `-dlopen MODULE' arguments. + * tests/lt_dlexit.at: Use it. Also, do not test `-dlpreopen', + that currently needs library names to begin with `lib'. + +2007-02-11 Ralf Wildenhues + + * tests/export.at: New test: expose -export-symbols failure + when the input consists solely of convenience archives, and + failure to not export all symbols when the command line length + is exceeded. + * Makefile.am: Adjust. + + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New substituted + function `func_lo2o', saving two fork&exec with XSI shells. + * libltdl/config/ltmain.m4sh (func_mode_compile) + (func_mode_install, func_mode_link): Use it for rewrites of + single files. + + * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New function + func_opt_split, for XSI and portable shell. + * libltdl/config/ltmain.m4sh: Move the insertion point for the + configure-generated shell functions to before the first option + parsing loop. Rewrite the separation of the long options to use + func_opt_split. + +2007-02-11 Ralf Wildenhues + + Eliminate roughly a third of the script execution time overhead + for all modes except for link/relink and uninstall/clean. + + * libltdl/m4/libtool.m4 (_LT_CONFIG): Remove unused `TEST SUITE + MARKER', obsolete since 2005-04-17. + * libltdl/config/ltmain.m4sh: Likewise, several instances. + (Main): Tear apart, moving individual bits up as early in the + script as possible, to help the shell to avoid parsing the rest. + +2007-02-11 Ralf Wildenhues + + * doc/libtool.texi: Update copyright years. + +2007-02-11 Ralf Wildenhues + + * libltdl/config/general.m4sh (sed_double_backslash): Replace + POSIX sed script with a hack that treats up to 10 backslashes + in the input correctly and is portable to Solaris /bin/sed. + +2007-02-08 Ralf Wildenhues + + * tests/testsuite.at (LT_AT_TAG): Skip also if the compiler + variable is set to `no', not only if it is empty. + +2007-02-06 Ralf Wildenhues + + * tests/lt_dlexit.at: Do not compile main object with libtool. + + * tests/cmdline_wrap.at: Pass $abs_top_srcdir and $abs_builddir + to inner testsuite. + + * Makefile.am (TESTSUITE_AT): Move destdir.at after + search-path.at so the banners fit better. + + * tests/convenience.at: Use $CPPFLAGS for compilation. + * tests/deplibs-ident.at: Likewise. + * tests/duplicate_members.at: Likewise. + * tests/inherited_flags.at: Likewise. + * tests/link-order.at: Likewise. + * tests/stresstest.at: Likewise. + * tests/early-libtool.at: Likewise. Do not quote $CC. + + * libltdl/ltdl.c (lt_dlexit): Add casts to fix compilation with + C++ compiler again. + + * tests/destdir.at: Add `libtool' keyword to tests. + +2007-02-05 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) + (_LT_LINKER_BOILERPLATE, _LT_SYS_MODULE_PATH_AIX) + (_LT_COMPILER_C_O): Require _LT_DECL_SED. + * THANKS: Update. + Report by Maciej W. Rozycki. + +2007-01-29 Ralf Wildenhues + + * tests/lt_dlexit.at: Use $abs_top_srcdir, not $top_srcdir, + in the new testsuite. + +2007-01-29 Samuel Thibault + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ gnu ] + : Behave like Linux, so that + --version-script is used for Hurd as well. + +2007-01-28 Charles Wilson + + * NEWS: Update for Cygwin changes. + +2007-01-28 Brian W. Barrett + + * libltdl/config/ltmain.m4sh [darwin]: Use otool64 if otool fails. + +2007-01-28 Dave Brolley , + Ralf Wildenhues + + * libltdl/ltdl.c (lt_dlexit): Make sure that 'cur' is not NULL + before checking that it is still in the list. + * tests/lt_dlexit.at: New test. + * Makefile.am (TESTSUITE_AT): Adjust. + (check-local): Also depend on libltdl/libltdlc.la. + (check-recursive): Removed, unnecessary use of Automake + internals. + +2007-01-28 Mike Frysinger + + * libltdl/config/ltmain.m4sh (func_mode_link): Pass through + `-p' and `-fprofile-*' for GCC. + +2007-01-28 Ralf Wildenhues + + * libltdl/libltdl/lt_system.h: Adjust copyright years. + +2007-01-28 Charles Wilson + + * libltdl/libltdl/lt__private.h (LT_GLOBAL_DATA) [__CYGWIN__]: + Also define on Cygwin. + * libltdl/libltdl/lt_system.h (LT_SCOPE) [__CYGWIN__]: Likewise. + +2007-01-28 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw ] + : Avoid shell expansion of '/s/.*' through + double expansion, in case there is a 'S:' drive. + Report by Charles Wilson. + +2007-01-28 Ralf Wildenhues + + Introduce a new test keyword `recursive' for tests that create a + modified `libtool' script and run the suite on this script. All + tests with the keyword `libtool' are (by definition) suitable to + be used here. + + * tests/cmdline_wrap.at: New test. + * Makefile.am: Adjust. + * tests/testsuite.at (LT_ESCAPE): New macro: clone of Autoconf + AS_ESCAPE that does not escape `$'. + (LT_AT_CHECK): New macro: print a command-to-be-run while + expanding parameters but nothing else. + * tests/stresstest.at: Use LT_AT_CHECK. Create some files to + expose erroneous globbing errors with `-export-symbols-regex', + similar to those reported by Charles Wilson. Use `eval' and + adjusted quoting so the expansion doesn't already happen in the + testsuite commands. + * HACKING: Update. + +2007-01-27 Ralf Wildenhues + + Assume C89 for included headers, and throughout the testsuite. + + * NEWS: Update. + * libltdl/argz.c: Do not include strings.h nor memory.h, include + string.h unconditionally. + Patch by Simon Josefsson . + * libltdl/libltdl/lt__private.h: Likewise. + * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not check for string.h, + strings.h, memory.h. + * tests/cdemo/configure.ac: Assume presence of math.h. + * tests/cdemo/foo.c: Likewise. + * tests/demo/configure.ac: Likewise for math.h, string.h. + Assume 'const'. Drop obsolete AC_EXEEXT. + * tests/demo/dlmain.c: Likewise. + * tests/demo/foo.c: Likewise. + * tests/depdemo/configure.ac: Likewise. + * tests/depdemo/l4/l4.c: Likewise. + * tests/f77demo/configure.ac: Likewise. Also drop obsolete + AC_OBJEXT. + * tests/fcdemo/configure.ac: Likewise. + * tests/mdemo/configure.ac: Likewise. + * tests/mdemo/foo1.c: Likewise. + * tests/mdemo/foo2.c: Likewise. + * tests/mdemo2/configure.ac: Likewise. + * tests/pdemo/configure.ac: Likewise. + * tests/pdemo/longer_file_name_dlmain.c: + * tests/pdemo/longer_file_name_foo.c: Likewise. + * tests/pdemo/longer_file_name_foo2.c: Likewise. + * tests/tagdemo/configure.ac: Likewise. + * tests/tagdemo/foo.cpp: Likewise. + +2007-01-24 Reuben Thomas (tiny change) + + * doc/libtool.texi (Inter-library dependencies): Fix typo. + +2007-01-21 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]: + Use `lib -OUT' rather than `lib /OUT' to avoid MSYS path + translation mangling. Report by Christopher Hulbert. + * THANKS: Update. + + * libltdl/config/ltmain.m4sh (func_mode_compile): Accept + suffixes matching `[fF][09].', for Fortran. + * tests/suffix.test: Also test F90, F95, f03, F03. + + * Makefile.am (EXTRA_DIST): Add ChangeLog.2006. + * ChangeLog.2006: New, rotated, from... + * ChangeLog: ...here. + +2007-01-21 Ralf Wildenhues + + * doc/libtool.texi: Typo fixes. + * TODO: Likewise. + +2006-12-14 Ralf Wildenhues + + * tests/link-order2.at: Define our override `sin' function with + C binding even if $CC is a C++ compiler. Skip the test with g++ + as its command line driver reorders `-lm'. + * tests/search-path.at: Declare `inflate' with C binding. + * tests/stresstest.at: Avoid unused variable warnings. + +2006-11-07 Ralf Wildenhues + + * tests/link-order2.at: Simplify logic to be a bit more self + documenting. Suggested by Gary V. Vaughan. + +2006-10-28 Ralf Wildenhues + + * tests/link-order2.at: Add missing $bindir setting. Prevent + compiler optimization of sqrt call. Fix logic inversion and + add some comments about this stunt. Add a test with reversed + library link order that should fail if the system has a libm. + Report by Patrick Welche. + +2006-10-26 Ralf Wildenhues + + Assume presence of a config header in all files, to provoke + test failures on all systems. + * libltdl/lt__alloc.c: Likewise. + * libltdl/libltdl/lt__dirent.h: Likewise. + * libltdl/libltdl/lt__glibc.h: Likewise. + * libltdl/libltdl/lt__private.h: Likewise. + * libltdl/libltdl/lt__strl.h: Likewise. + * tests/recursive.at: Use AC_CONFIG_HEADERS. + * tests/nonrecursive.at: Likewise. Invoke autoheader. + * HACKING: Adjust. + Report by Patrick Welche. + +2006-10-24 Paul Eggert , + Ralf Wildenhues + + * doc/libtool.texi (Distributing libltdl): In recursive and + nonrecursive mode, a config header is now required. + * libltdl/argz.c: Remove check for HAVE_CONFIG_H, to conform + to gnulib's policy of including config.h unconditionally. + +2006-10-24 Ralf Wildenhues + + * tests/link-order2.at: New test to show one case where ordering + of depdepls on the command line matters. + * Makefile.am: Adjust. + + * tests/tagtrace.test: SKIP if `autoconf --trace' exits 63 or 1, + for various possible (valid) error cases. Also output stderr, + to help with analysis. + + * NEWS: Account for recent multilib fix. + * tests/search-path.at: New test, to provide at least a weak + test. + * Makefile.am: Update. + + * libtoolize.m4sh (func_fixup_Makefile): Fix missing + substitution for nonrecursive mode. Remove otherwise-empty + continuation lines in the output file. + Report by Bob Friesenhahn. + +2006-10-22 Peter O'Gorman + + * libltdl/config/ltmain.m4sh: Add -F* to flags that are passed + to the linker. + Reported by SIGOURE Benoit + +2006-10-19 Peter O'Gorman + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Improve + multilib support. + Reported by Kate Minola and others. + +2006-10-13 Eric Blake + + * libltdl/ltdl.c (load_deplibs): Avoid memory leak on failure. + (unload_deplibs): Avoid memory leak on cleanup. + +2006-09-20 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (func_mode_compile): Accept files with + extension `.f9?'. + * tests/suffix.test: Test `f95'. + + * libltdl/config/ltmain.m4sh (func_mode_uninstall): Use + `func_source' consistently. + +2006-09-18 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] + [k*bsd*-gnu ]: Fix brown paper bag: save and restore `libdir'. + +2006-09-17 Ralf Wildenhues + + * tests/duplicate_deps.at: New file. Test circular depending + convenience archives (currently failing). + * Makefile.am: Update. + Report by Stefan Traby . + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [ openbsd ]: Set `hardcode_direct_absolute', to prefer rpath + over putting absolute file names in NEEDED entries. + * NEWS: Update. + Reported by Jake Meuser and others. + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] + [ k*bsd*-gnu ]: Test if ld sets DT_RUNPATH; in that case, set + shlib_overrides_runpath to `yes'. Fixes test failure of new + test on Gentoo GNU/Linux. + + * tests/shlibpath.at: New file, with... + (shlibpath_overrides_runpath): ...new test. + * Makefile.am: Update. + +2006-09-12 Ralf Wildenhues + + * tests/destdir.at: New file. + * Makefile.am: Adjust. + +2006-09-11 Ralf Wildenhues + + * tests/inherited_flags.at: Drop `${parameter}' for `$parameter' + where appropriate, for improved `testsuite -x' output. + +2006-09-04 Ralf Wildenhues + + * libltdl/ltdl.c: Move LT__UNUSED before parameter name, for g++ + 3.2.3 (on MinGW). + * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, + libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise. + +2006-09-04 George Bosilca + and Ralf Wildenhues + + Make libltdl work when compiled with a C++ compiler. + + * libltdl/lt__alloc.c, libltdl/lt_dlloader.c, libltdl/ltdl.c, + libltdl/slist.c, libltdl/libltdl/lt__alloc.h, + libltdl/libltdl/lt_error.h, libltdl/libltdl/slist.h, + libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c, tests/stresstest.at, + tests/testsuite.at, tests/f77demo/foo.h, tests/fcdemo/foo.h, + tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c, + tests/mdemo/main.c: Allow sources to be compiled by a C++ + compiler: Cast appropriately, add C linkage for `get_vtable' + functions, do not use C++ keyword `delete'. + + * libltdl/config/ltmain.m4sh (func_mode_link): In the dlsym + file, define a type for the symbol list, and declare the list + `extern', so that it is extern even if compiled by a C++ + compiler. The type definition helps avoid a compiler warning + against anonymous extern struct. + * libltdl/libltdl/lt_system.h: Add `extern' to `LT_SCOPE' for + the same reason. + + * libltdl/argz_.h: It's __cplusplus, not _cplusplus. + * libltdl/libltdl/slist.h: Likewise. + + * libltdl/libltdl/lt__glibc.h: Wrap included argz.h in + `extern "C"', for broken headers on Cygwin. + +2006-09-03 Ralf Wildenhues + + * tests/testsuite.at: Test `unset' on a set variable; older + bash versions return 1 if the variable was not set. + + * tests/am-subdir.at, tests/early-libtool.at: Fix the LF vs. + CRLF related failures on MinGW by grepping for good output + instead of using AT_CHECK's `expout'. + +2006-09-01 Ralf Wildenhues + + Drop K&R support from testsuite in favor of C89. + + * tests/duplicate_members.at: provide declarations of used + functions. + * tests/testsuite.at: Drop unneeded arguments. + * tests/cdemo/main.c: Assume C89. + * tests/demo/dlmain.c: Likewise. + * tests/demo/main.c: Likewise. + * tests/depdemo/main.c: Likewise. + * tests/depdemo/l1/l1.c: Likewise. + * tests/depdemo/l2/l2.c: Likewise. + * tests/depdemo/l3/l3.c: Likewise. + * tests/depdemo/l4/l4.c: Likewise. + * tests/f77demo/cprogram.c: Likewise. + * tests/fcdemo/cprogram.c: Likewise. + * tests/mdemo/mlib.c: Likewise. + * tests/mdemo2/main.c: Likewise. + * tests/pdemo/longer_file_name_dlmain.c: Likewise. + * tests/pdemo/longer_file_name_main.c: Likewise. + * tests/fcdemo/fooc.c: Reformat. + * tests/mdemo/sub.c: Likewise. + +2006-08-31 Ralf Wildenhues + + * tests/mdemo/main.c: Fix bogus line in last patch. + +2006-08-31 Ralf Wildenhues + + Avoid mixing functions and data pointers in callback functions. + + * libltdl/ltdl.c (file_worker_func): New type. + (lt_dlforeachfile): Instead of passing a function pointer as a + data pointer, pass a pointer to a file_worker_func pointer. + (foreach_callback_func): Adjust. + * tests/mdemo/main.c: Assume C89. Exercise lt_dlforeachfile. + (callback, try_iterate, my_dirname): New functions. + * tests/mdemo-exec.test: Check for its output. + +2006-08-30 Ralf Wildenhues + + * libltdl/libltdl/lt__private.h (__attribute__, LT__UNUSED): + New macros. + * libltdl/loaders/dld_link.c: Use LT__UNUSED where + appropriate. + * libltdl/loaders/dlopen.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c: Likewise. + * libltdl/ltdl.c: Likewise. + (find_file_callback): Fix declaration names to match definition. + (load_deplibs) [!LTDL_DLOPEN_DEPLIBS]: Use separate definition + for less preprocessor clutter. + + * Makefile.am (check-local, installcheck-local): Use + `TESTSUITEFLAGS' rather than `TESTSUITE_FLAGS', like Autoconf. + * HACKING, README, README.alpha: All uses changed. + +2006-08-28 Ralf Wildenhues + + * libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code + sharing with gnulib. Report by Eric Blake. + * libltdl/lt__alloc.c, libltdl/libltdl/lt__dirent.h, + libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, + libltdl/libltdl/lt__strl.h: Likewise. + * HACKING: Update. + +2006-08-25 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Pass through + `--coverage' and `-pg', for GCC. Report by Rainer Keller + and Tor Lillqvist . + +2006-08-25 Kurt Roeckx , + Aurelien Jarno + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) [k*bsd*-gnu]: kfreebsd*-gnu and + knetbsd*-gnu behave like linux-gnu. + * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. + * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) + [x86_64-*kfreebsd*-gnu]: Add 32/64 bit bi-arch support. + * NEWS: Update. + +2006-08-25 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ mingw,pw32 ]: + If `file' is present, use `func_win32_libid' rather than + `objdump -f', to facilitate cross-compilation. + Reported by Pierre Ossman . + +2006-08-23 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): In GNU ld script, + do not quote object file names, for Intel icc 9.0 IPO link. + +2006-08-22 Eric Blake + + * libltdl/m4/ltdl.m4 (LTDL_INIT): Avoid macros marked obsolete in + latest autoconf. + * libltdl/m4/libtool.m4 (_lt_cv_sys_global_symbol_pipe): Work in + spite of -Wmissing-prototypes. + * libltdl/libltdl/lt__dirent.h: Rewrite to accomodate loss of + AC_HEADER_DIRENT. + + * libltdl/m4/libtool.m4: Avoid space-tab. + +2006-08-07 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_execute): Also search + the directory above `$objdir' for the argument of "-dlopen", as + mentioned in the error message. + +2006-08-03 Ralf Menzel + + * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix issues + with previous patch. for ... do' line is superflous. Need + _LT_TAGVAR not _LT_AC_TAGVAR, should be for both linux and + solaris with Sun compiler. + +2006-08-01 Albert Chin + + * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS) [ solaris ]: + Don't set $postdeps to "-lCstd -lCrun" if + "-library=stlport4" set in CXXFLAGS as stlport4 C++ + library incompatible with Cstd C++ library. Use + '-library=Cstd -library=Crun' instead of '-lCstd -lCrun'. + +2006-07-28 Eric Blake + + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD, LT_OUTPUT): + s/recognise/recognize/. + +2006-07-22 Eric Blake + + * libltdl/ltdl.c (loader_init_callback) [HAVE_LIBDLLOADER]: + Protect definition to avoid compiler warnings about unused + function. + +2006-07-21 Eric Blake + + * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD): Search for dlopen without + depending on -ldl, required by cygwin 1.5.20. + +2006-06-24 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) + ( _LT_LINKER_BOILERPLATE): Rewrite to not use unchecked + `printf', for old systems like SunOS 4.1. + (_LT_COMPILER_OPTION, _LT_LINKER_OPTION) + (_LT_COMPILER_C_O, _LT_LINKER_SHLIBS): Likewise. + (_LT_LANG_C_CONFIG): Adjust: use literal newlines in + `lt_simple_compile_test_code' and `lt_simple_link_test_code'. + (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) + (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Likewise. + Bug report by Bruce Becker and Mark Andrews. + +2006-06-13 Ralf Wildenhues + + Fix the bugs where libtoolize needs to use `dir/file' instead of + `./dir/file', where ltdldir is `.', so that libtoolize correctly + checks for (and suggests) `config' and `m4' instead of + `./config' and `./m4' as auxiliary resp. macro directories. + The change is necessary for unambiguous naming, the chosen way + plays better with non-GNU make in VPATH builds. + + * libtoolize.m4sh (ltdlprefix): New variable, to use as prefix + instead of `$ltdldir/'. + (func_check_macros): Use it. Bug report by Eric Blake. + +2006-06-12 Ralf Wildenhues + + Fix several libtoolize-related bugs: + - Do not symlink aclocal.m4, to work around a bug in aclocal + overwriting the linked-to file instead of removing the symlink. + - Have `libtoolize --copy' cause current time stamps, so that + dependents will be rebuilt; for this, install files in order. + - Fix list of distribution files for (non)recursive libltdl. + - Fix some failure cases. + + * libtoolize.m4sh (func_copy_cb): + If `$opt_link', still copy `aclocal.m4', so a subsequent + `aclocal' will not overwrite the symlink target. + In `--copy' mode, do `cp -p' and `touch' for each file, so + timestamps are updated but permissions preserved. + (main): Reorder installing of files to match logical order + and timestamp requirements. + (func_fixup_Makefile_inc): Renamed to + (func_fixup_Makefile): this. Add sed scriptlet to remove + non-existent files from EXTRA_DIST, for either nonrecursive + or recursive mode. + (main): call it to mangle also in recursive mode. + * tests/libtoolize.at (expout): Adjusted. + * tests/testsuite.at (tst_dist): Default to `dist'. + +2006-06-10 Ralf Wildenhues + + Fix libltdl to always have all generated files up to date. + + * Makefile.am (all-local): Depend on all generated files in + libltdl, namely... + (libltdl/aclocal.m4, libltdl/configure, libltdl/config-h.in): + ...these. List explicitly, including dependencies and + rebuilding rules, using... + (sub_aclocal_m4_deps, sub_configure_deps): ...these new + variables. + Report by Dan Lacher . + +2006-06-09 Ralf Wildenhues + + * Makefile.am (install-data-local): Do not use $(INSTALL_DATA) + from another directory: it may use a relative path to + `install-sh'. + Bug report by Dan Lacher . + +2006-06-08 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Honor `-threads', + similar to `-mt'. + Report by Eric Paire . + +2006-06-01 Charles Wilson + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ cygwin ]: + define DLL_EXPORT for PIC objects on cygwin. + +2006-05-24 Albert Chin + + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) + [ aix4*, aix5*, hpux10*, hpux11* ]: Set hardcode_direct_absolute + for CXX tag too! + +2006-05-19 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link, shell wrapper): + Do not put `"$@"' in argument to $ECHO. + +2006-05-18 Ralf Wildenhues + + * libltdl/m4/libtool.m4: Bump serial, necessary because of + _LT_CHECK_SHELL_FEATURES changes. + +2006-05-18 Albert Chin-A-Young + + * tests/early-libtool.at: Pass $CPPFLAGS and $CFLAGS to + compiler when compiling for extra flags that might be + needed for ANSI-compliance, 64-bit, etc. The environment + we compile with should match the environment libtool was + compiled with. + +2006-05-18 Ralf Wildenhues + + Fix mode=compile time regression of CVS HEAD over branch-1-5. + + * libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Rename to... + (_LT_CHECK_SHELL_FEATURES): ...this. + (_LT_SETUP): Adjust caller. + (_LT_CHECK_XSI_SHELL): New libtool variables `lt_unset', + `SP2NL', `NL2SP', to contain results from tests for unset, + taken from AS_BOURNE_COMPATIBLE, and ASCII vs EBCDIC, taken... + * libltdl/config/general.m4sh: ...from here, and used... + * libltdl/config/ltmain.m4sh: ...here everywhere now. + * (AS_SHELL_SANITIZE): Replace by faster, actually necessary + part of its expansion, taken from current Autoconf CVS. Do not + save and set all locale variables any more, but only LANG, + LC_ALL, LC_CTYPE, LC_COLLATE, LC_MESSAGES. + (func_mode_execute): Adjust. + * libltdl/m4/libtool.m4 (_LT_CONFIG): No need to unset CDPATH + here any more. + * libtoolize.m4sh: Compute `SP2NL' and `NL2SP' here, too. + +2006-05-17 Gary V. Vaughan + + * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, + _LT_LANG_FC_CONFIG), tests/link-order.at + [ aix4*, aix5*, hpux10*, hpux11* ]: rename + hardcode_direct_static to hardcode_direct_absolute. + * doc/libtool.texi (libtool script contents): Adjust. + + * libltdl/ltdl.c (lt_dlhandle_fetch): Arguments to + lt_dlhandle_iterate were in the wrong order. + +2006-05-17 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LINKER_OPTION): Require + _LT_DECL_SED. + (_LT_CMD_GLOBAL_SYMBOLS, _LT_LINKER_SHLIBS): Likewise. + * libltdl/m4/ltdl.m4 (LTDL_INIT): Likewise. + (_LT_DECL_SED): Set $Xsed here, using $SED. Moved from... + (_LT_SETUP): ...here. + Report by Eric Blake. + +2006-05-17 Gary V. Vaughan + + * doc/libtool.texi (libtool script contents): Document new + hardcode_direct_static variable. + + * tests/link-order.at: Be careful about usage of shrext_cmds. + + * libltdl/m4/libtool.m4 (LT_AC_PROG_SED): Declarations for + compatibility with old versions of libtool, and old versions + of aclocal. + +2006-05-17 Albert Chin-A-Young + + * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, + _LT_LANG_FC_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]: + Introduce a new variable, hardcode_direct_static, which + would ignore hardcode_direct=yes if the result would create a + static library dependency. Static library dependencies are + immune to $shlibpath_var. + * tests/link-order.at: Take hardcode_direct and + hardcode_direct_static into consideration when testing + link order. + +2006-05-17 Ralf Wildenhues + + Eliminate quadratic scaling in argument parsing loop, for + shells that understand `var+=value', such as Bash-3.1, or Zsh. + + * libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Test whether + the shell understands `var+=value'. + (_LT_PROG_XSI_SHELLFNS): Define `func_append' based on this. + * config/ltmain.m4sh (func_mode_link): Use `func_append' for + compile_command, finalize_command, libtool_args, libobjs, + non_pic_objects. + +2006-05-15 Bruno Haible , + Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]: + Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on + GNU/Linux. + * NEWS: Update. + +2006-05-15 Ralf Wildenhues + + * Makefile.am (check-local): Move `$(TESTS_ENVIRONMENT)' and + `$(BUILDCHECK_ENVIRONMENT)' to be arguments of `testsuite', so + that reruns will remember it; set enviroment variable + `CONFIG_SHELL' so the suite will know which shell it was started + with. + (installcheck-local): Likewise, for `$(TESTS_ENVIRONMENT)' and + `$(INSTALLCHECK_ENVIRONMENT)'. + * tests/testsuite.at (LT_AT_TAG): Do not set the compiler + variable here. + +2006-05-14 Albert Chin-A-Young + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [ aix ]: $hardcode_direct is set twice. + +2005-05-14 John Bowler + + * libltdl/config/ltmain.m4sh (func_mode_link): For version_type + `none', we still need to set `current', `age', and `revision', + so that our checks don't barf. The values won't be used later. + Apparently reported by several people, several times, for BeOS. + * NEWS, THANKS: Update. + +2006-05-13 Ralf Wildenhues + + * tests/fail.at: Use "test -x" if available, for testing of + executables; code modified from Autoconf's AS_EXECUTABLE_P. + Reported by Albert Chin . + +2006-04-22 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_write_libtool_object): + New function, factored out from.. + (func_mode_compile): .. here. Call it to generate the libtool + object file (the `.lo' file) in one step. + +2006-04-03 Peter O'Gorman + + * libltdl/loaders/preopen.c: Don't allow lt_dlopen if the + module has no symbols. + +2006-03-28 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: + Avoid warning when "parsing" `/etc/ld.so.conf' and empty + `/etc/ld.so.conf.d'. + Reported by Orion Poplawski . + +2006-03-27 Ralf Wildenhues + + * bootstrap: Actually use the correct version of the last patch. + +2006-03-25 Ralf Wildenhues + + * bootstrap: Enable `WORKING_LIBOBJ_SUPPORT' if we detect + Autoconf-2.60+ and Automake-1.10+, or CVS versions. + + * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Sync with gnulib: If we + define `error_t', also define `__error_t_defined', so argp.h + will not typedef the former. + +2006-03-23 Ralf Wildenhues + + * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [ freebsd ] + [ dragonfly ]: Set libltdl_cv_sys_dlopen_deplibs to yes. + Fixes excessive lt_dlopen times on these systems. + * NEWS, THANKS: Update. + Bug reported by Peter Jeremy , + patch by Joerg Sonnenberger . + +2006-03-20 Ralf Wildenhues + + * tests/static.at: New tests for comprehensive test exposure of + all current and proposed static linking flags for programs. + * Makefile.am: Updated. + + * libltdl/config/ltmain.m4sh (func_mode_link) + < -static-libtool-libs >: New option. + * doc/libtool.texi (Link mode, Distributing libltdl): + Document it. + Suggested by Gary Kumfert . + +2006-03-17 Ralf Wildenhues + + * tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp [ hpux ] : + The HPPA C++ compiler has namespace support but provides no + `std' namespace; just provide it with a dummy. + + * libltdl/m4/libtool.m4 (AC_PROG_SED): Do not forget to reset + IFS even in case of empty `$PATH'. + +2006-03-16 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Comment out the + code to remove uninstalled paths, as it is wrong here. Change + the wrong shell quoting that kept it from "working" before. + * THANKS: Updated. + + * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) + [ freebsd, dragonfly ]: Fix 1.5.22 regression caused by too + strict $host_os match that stopped DragonFly from working. + * THANKS: Updated. + Reported by Jeremy C. Reed , + patch by Todd Vierling . + +2006-02-24 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (startup): save all locale specific + environment, variables:, LANG, LANGUAGE, LC_ADDRESS, LC_ALL + LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT, + LC_MESSAGES LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER, + LC_TELEPHONE, LC_TIME. + (func_mode_execute): Restore them. + +2006-02-15 Ralf Wildenhues + + * doc/libtool.texi (Tags): Mention `FC'. + (libtool script contents) : Specify more precisely as the + compiler of the current tag. + : + Document these variables. + +2006-02-15 Ralf Wildenhues + + * doc/libtool.texi: Update copyright years. + + * libltdl/config/getopt.m4sh (func_help): Substitute `$host'. + * libltdl/config/ltmain.m4sh (help message): Use $host not + @host_triplet@, as the `@..@' substitution is done at bootstrap + time already. + Reported by Julien Lecomte . + + * doc/libtool.texi (Implementation issues): Note that both + prefix and suffix of a library may differ. + (Using libtool, Creating object files, Linking libraries): + Remove last documentation traces of the age when `foo.lo' was + the PIC object file and not the `libtool object' text file. + (libtool script contents) : Remove description + of this variable. It was removed from libtool in 1.5 times. + +2006-02-13 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link) [ linux ]: + PGI: for `reload_cmds', we not only need to get rid of `$wl', + but also turn comma into space so $LD understands + whole_archive_flag_spec correctly. + + * libltdl/config/ltmain.m4sh (func_mode_link) : + Add _AS_BOURNE_COMPATIBLE code from Autoconf, to fix issues + with zsh and other shells. + Reported by David GĂłmez Espinosa . + +2006-02-09 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (AC_PROG_SED): m4_defun this rather + than AC_DEFUN, so that old aclocal does not pick this up. + + * Makefile.am ($(TESTSUITE)): Also depend on `Makefile.am'. + Write to temporary file and rename. + +2006-02-05 Ralf Wildenhues + + * Makefile.am (EXTRA_DIST): Add `$(srcdir)/' to all generated + files so that non-GNU make programs will use the rebuilding + rules. + + * tests/testsuite.at: Add new keyword `libtoolize' for tests + that exercise the `libtoolize' script that is generated at build + time. + * HACKING: Update testsuite mention, explain keywords. + + * libltdl/config/ltmain.m4sh (extracted_archives) + (extracted_serial): New globals. + (func_extract_archives): Use them to rename extraction archives + for linking against multiple convenience libraries with the same + name. + * tests/duplicate_conv.at: New tests. + * Makefile.am: Adjusted. + Reported by Carlo Contavalli . + + * libltdl/config/ltmain.m4sh (func_mode_link) < test_compile >: + Fix a couple of instances where `test .. -ne ..' would possibly + compare non-numbers. Clean up a bit. + + * tests/convenience.at, tests/deplibs-ident.at: Add new keyword + `libtool' for tests that exercise the unmodified `libtool' + script that is generated at build time. + * tests/duplicate_members.at, tests/fail.at: Likewise. + * tests/inherited_flags.at, tests/link-order.at: Likewise. + * tests/stresstest.at, tests/template.at: Likewise. + +2006-02-03 Ralf Wildenhues + + * tests/fail.at: Also pass a bogus object file to the linker so + it fails more reliably; AIX and IRIX linkers ignore duplicate + symbol definitions. + + * libltdl/m4/libtool.m4 [ solaris ] (_LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) < whole_archive_flag_spec >: + Fix this once and for all, for both the SUN compiler suite + (cc/CC/f77/f90/f95) and GCC. + Reported by Yuri Pukhalsky . + + * tests/cdemo/Makefile.am: Remove broken use of undocumented + Automake variable `$(OBJECTS)'. + * tests/demo/Makefile.am, tests/depdemo/Makefile.am: Likewise. + * tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am: Likewise. + * tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am: Likewise. + * tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Likewise. + + * libltdl/config/ltmain.m4sh (func_mode_link): Fix logic for + adding run paths to also add paths for installed libtool + libraries in case `-static' is used. + +2006-02-01 Ralf Wildenhues + + * Makefile.am (TESTSUITE_AT): List testsuite files in the order + in which they are to be expanded in the suite. + (tests/TESTSUITE): Rebuild by passing all $(TESTSUITE_AT) files, + with their path suitably adjusted. This enables us to.. + * tests/testsuite.at: ..get rid of their redundant mention here. + +2006-01-30 Ralf Wildenhues + + * doc/libtool.texi (titlepage): Remove superfluous word. + + * libltdl/config/ltmain.m4sh (func_mode_link): Fix matching + duplicate run path entries with the correct separator. + + * tests/testsuite.at (PREPARE_TESTS): Escape `^' for some older + shells. + + * ChangeLog, HACKING, README, README.alpha, + libltdl/config/ltmain.m4sh: Add vi(m) modelines, to match emacs + formatting variables. + +2006-01-24 Ralf Wildenhues + + * Makefile.am (libltdl/Makefile.am): Fixup sed script. + Reported by Bob Friesenhahn . + +2006-01-23 Ralf Wildenhues + + * Makefile.am, bootstrap, clcommit.m4sh, + libltdl/config/getopt.m4sh, libltdl/config/mailnotify.m4sh, + tests/sh.test, tests/testsuite.at: Bump copyright years. + +2006-01-21 Eric Blake + + * THANKS: Move myself to contributor. + +2006-01-21 Ralf Wildenhues + + * bootstrap: Don't use semicolons inside { } in sed scripts, as + Posix says it's not portable. + * Makefile.am (libltdl/Makefile.am): Likewise. + * libtoolize.m4sh (all over the map): Likewise. + * libltdl/config/getopt.m4sh (func_version, func_usage) + (func_help): Likewise. + * libltdl/config/ltmain.m4sh (func_win32_libid): Likewise. + * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Likewise. + * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Likewise. + * tests/sh.test, tests/testsuite.at (LT_AT_TAG): Likewise. + Noted by Paul Eggert . + + * libltdl/config/ltmain.m4sh (func_mode_compile): Also transform + `.obj' correctly. + Reported by George Bosilca . + +2006-01-13 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): Fix my forward port + error of last commit. + +2006-01-12 Leif Ekblad + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC): Added support for + RDOS. + * NEWS: Updated. + +2006-01-11 Ralf Wildenhues + + * libtoolize.m4sh, libltdl/config/general.m4sh, + libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, + libltdl/m4/libtool.m4: Bump copyright years. + +2006-01-03 Ralf Wildenhues + + * Makefile.am (EXTRA_DIST): Add ChangeLog.2005. + + * README, README.alpha: Adjust copyright years. + * ChangeLog.2005: New, rotated, from.. + * ChangeLog: ..here. + +2005-12-29 Ralf Wildenhues + + * Makefile.am (libtoolize): Also depend on `config.status'. + (tests/atconfig): Normalize path, for non-GNU make. + Reported by Bob Friesenhahn . + + * libltdl/config/ltmain.m4sh (func_mode_link) : + Fix position of separator for shlibpath_var setting in shell + wrapper. + + * libltdl/lt_error.c (error_strings): Remove parentheses around + string literal initializers, uncovered by `tcc'. + Reported by Edward Chernenko . + +2005-12-21 Gary V. Vaughan + + * .cvsignore, libltdl/.cvsignore, tests/.cvsignore: Ignore + +build, +dest, +inst, .cvslog-tlasync, .gdb_history, .pc, + libltdl/INSTALL, libltdl/stamp-mk and tests/testsuite.log. + +2005-12-20 Eric Blake + + * README.alpha: Really commit. + +2005-12-19 Eric Blake + + * HACKING (release note templates): Update anon cvs location. + * README.alpha (Reporting Bugs): Likewise. + +2005-12-18 Jacob Meuser , + Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Move library + search paths that coincide with paths to not yet installed + libraries to the beginning of the library search list. + +2005-12-18 Ralf Wildenhues + + * THANKS: Updated. + + * HACKING: `./libtool --config' is more helpful than `--help'. + + * libltdl/config/ltmain.m4sh : + Initialize properly. + +2005-12-18 Kean Johnston , + Ralf Wildenhues + + * libltdl/m4/libtool.m4 (LT_PATH_NM): Also look in + /usr/ccs/bin/elf, for SCO. If we are not cross-compiling, but + $ac_tool_prefix is set, also try an un-prefixed `nm'. + +2005-12-18 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) + : Initialize, to `unsupported'. + +2005-12-18 Marc Espie + + * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) + [ openbsd ] : Set to `/usr/lib' + only. + +2005-12-16 Ralf Wildenhues + + * tests/old-m4-iface.at: Require Autoconf-2.50, so that + Debian's autoconf wrapper will not cause 2.13 to barf over + `--force'. + Reported by Kurt Roeckx . + + * README.alpha (Reporting bugs): Suggest to also bootstrap the + libltdl subdirectory -- the Makefile will enforce it anyway. + (The Test Suite): Renamed to.. + (The Test Suites): ..this. Introduce the new Autotest test + suite, how to run each one individually, and what to report. + * README (The Test Suite): Likewise. + +2005-12-16 Ralf Wildenhues + + In the subpackage case, we do not install Makefile.inc. Since + we have to be correct for this case, remove `Makefile.inc' from + EXTRA_DIST. Recursive mode does not use it either. Since + nonrecursive mode requires an Automake >= 1.7 anyway, and those + versions automatically distribute included makefile fragments, + we don't need to cater for that one either. + + * libltdl/Makefile.inc (EXTRA_DIST): Remove Makefile.inc. + Reorder other entries. + +2005-12-16 Ralf Wildenhues + + * Makefile.am (libltdl/Makefile.in): also depend on + libltdl/aclocal.m4, so that we guarantee timestamp consistency. + (libltdl/stamp-mk): New target, to fix `libltdl/Makefile.in'. + (EXTRA_DIST): Distribute `libltdl/stamp-mk' and + `libltdl/m4/lt~obsolete.m4'. + (all-local): Ensure the stamp files is up to date. + (libltdl/aclocal.m4): New target, to ensure timestamp + consistency. Depend on all m4 files. + * HACKING: Updated. + + * tests/testsuite.at (PREPARE_TESTS): New variable `tst_dist', + default to empty. + * tests/nonrecursive.at, tests/recursive.at, + tests/standalone.at, tests/subproject.at: Use it in + LT_AT_BOOTSTRAP or LT_AT_MAKE, so that you can optionally test + redistribution within the tests. + + * libltdl/m4/lt~obsolete.m4: Update documentation for aclocal + versions before 1.7. Change all macros to use AC_DEFUN instead + of AU_DEFUN. + * (_AC_PROG_LIBTOOL, AC_LIBTOOL_SETUP, _LT_AC_CHECK_DLFCN) + (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_TAGCONFIG) + (AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_CXX, _LT_AC_LANG_F77) + (_LT_AC_LANG_GCJ, AC_LIBTOOL_RC, AC_LIBTOOL_LANG_C_CONFIG) + (_LT_AC_LANG_C_CONFIG, AC_LIBTOOL_LANG_CXX_CONFIG) + (_LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_LANG_F77_CONFIG) + (_LT_AC_LANG_F77_CONFIG, AC_LIBTOOL_LANG_GCJ_CONFIG) + (_LT_AC_LANG_GCJ_CONFIG, AC_LIBTOOL_LANG_RC_CONFIG) + (_LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG) + (_LT_AC_FILE_LTDLL_C): Add new fake macros for these, they + were used at one time in libtool.m4. + + * tests/am-subdir.at (Makefile.am): Put automake options here, + in AUTOMAKE_OPTIONS. Require 1.6 because of the newer + `AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' scheme. + * tests/nonrecursive.at, tests/recursive.at: Require 1.7, + because libltdl rules use `+=' in conditionals. + * tests/testsuite.at (LT_AT_AUTOMAKE): Fix indenting. + (LT_AT_AUTORECONF): also detect too old Automake. + +2005-12-08 Eric Blake + + * libltdl/libltdl/lt__alloc.h (FREE): Cast away constness of + argument to `free' to avoid compiler warning. + +2005-12-08 Peter O'Gorman + + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_LINKER_SHLIBS) + [darwin]: Use $LTCC $LTCFLAGS to check for -single_module. + Reported by Ralf Wildenhues + +2005-12-07 Ralf Wildenhues + + * bootstrap: always remove Makefile, to avoid triggering the + autotools rebuild rules before autoreconf builds these. + Reported by Bob Friesenhahn . + +2005-12-07 Peter O'Gorman + + * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 [darwin]: + Use -single_module by default when linking shared libraries. Can + be overridden by specifying -multi-module or by setting the env + var LT_MULTI_MODULE before configure. + * libltdl/m4/libtool.m4 (archive_expsyms_cmds) [darwin]: + Simplify. + Reported by Ralf Wildenhues + +2005-12-04 Ralf Wildenhues + + * doc/libtool.texi (References): Do not use `@/' for the benefit + of older `makeinfo', break lines instead. + + * Makefile.am (install-data-local): No continuation here. + (dist-hook): Fix copying of README.alpha to README. + * tests/early-libtool.at (configure.ac): Remove + `AM_INIT_AUTOMAKE', we do not use automake in these tests. + + * README, README.alpha, libtoolize.m4sh: Typos. + * tests/am-subdir.at, tests/duplicate_members.at: Make all + banners end with a dot, for symmetry. + + * libtoolize.m4sh (func_copy_all_files) + (glob_exclude_pkgaux_files): Removed, since unused. + + * libtoolize.m4sh (func_copy_cb, func_copy_some_files) + (func_serial_update, func_keyword_update): Fail immediately + if some file we may install does not exist. + Reported by Troy Benjegerdes . + +2005-12-03 Ralf Wildenhues + + * TODO: A bunch of items fixed. :) + + * tests/convenience.at: Updated to expose more corner cases. + + * doc/libtool.texi (Invoking libtoolize): Remove mention of + the nonrecursive restriction to name the directory `libltdl'. + + * libtoolize.m4sh (func_fixup_Makefile_inc): New function. + (main): Call it in nonrecursive mode to mangle Makefile.inc. + * tests/nonrecursive.at: adjusted to test this. + +2005-12-03 Ralf Wildenhues + + Basic support for PIE (position-independent executables). + + * libltdl/config/ltmain.m4sh (func_generate_dlsyms): + Don't pass PIE flag for compilation of the symbol file object. + (func_mode_compile): Pass PIE flag only for non-PIC objects. + * NEWS: Updated. + +2005-12-03 Ralf Wildenhues + + * libltdl/config/general.m4sh (func_show_eval): Rewrite use of + the failure expression, because the exit status of the previous + command may not be preserved in the next `eval' by some shells, + such as pdksh. + * libltdl/config/ltmain.m4sh (func_extract_an_archive): + Use func_show_eval correctly. + (func_mode_link): Likewise. Also, do not use `$status'. + * tests/fail.at: New set of tests to ensure libtool fails. + * Makefile.am, tests/testsuite.at: Adjusted. + +2005-11-26 Peter O'Gorman + + * libltdl/m4/libtool.m4 [darwin]: Use $LTCC $LTCFLAGS to create + reloadable objects. + +2005-11-25 Ralf Wildenhues + + * libltdl/Makefile.inc (libltdl/argz.h): Create libltdl + directory if it does not exist yet. Take care that munging + of the file will not mess up the build rule. + Reported by Peter O'Gorman . + +2005-11-25 Eric Blake , + Ralf Wildenhues + + * libltdl/loaders/loadlibrary.c (iface_id): New variable. + (get_vtable): Get an `iface_id' from `lt_dlinterface_register'. + (get_vtable): Rewrite to catch up with lt_dlhandle_iterate + interface change. Append dot only after w32 path conversion + so it works on cygwin managed mounts. + + * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlinterface_free): New + function. + * doc/libtool.texi (User defined module data): Document it. + +2005-11-25 Ralf Wildenhues + + * libltdl/m4/libtool.m4 [aix] + (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Always move -bnoentry + before $compiler_flags, so it can be overridden. + + * libltdl/config/ltmain.m4sh (func_mode_link): Allow GCC + response files through. + +2005-11-25 Peter O'Gorman + + * libltdl/config/ltmain.m4sh (func_mode_link): Pass through + -isysroot for cross architecture builds on darwin. + +2005-11-24 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_uninstall): In clean + mode, don't remove non-existent libfoo.lai. + +2005-11-20 Ralf Wildenhues + + * Makefile.am (aclocalfiles): Also install lt~obsolete.m4. + * libtoolize.m4sh (func_check_macros): Updated. + * tests/libtoolize.at: Adjusted. + +2005-11-20 Eric Blake , + Ralf Wildenhues + + * bootstrap (--help): Provide some help. + +2005-11-20 Todd Vierling , + Thorsten Glaser + + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, _LT_SYS_DYNAMIC_LINKER) + (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) [ interix3 ]: Support for Interix/Microsoft + Services for Unix. + * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. + * NEWS: Updated. + +2005-11-20 Ralf Wildenhues + + * tests/link-order.at [ interix ]: Skip command line grep. + * tests/deplibs-ident.at [ interix ]: Not broken here. + Reported by Thorsten Glaser . + +2005-11-18 Ralf Wildenhues + + * libtoolize.m4sh (func_copy_all_files) + (func_massage_aclocal_DATA, func_massage_pkgltdl_files) + (func_massage_pkgconfig_files): Work around ksh limitation. + Reported by Thorsten Glaser . + +2005-11-14 Albert Chin + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [ hpux11 ]: Pass +nodefaultrpath when linking on ia64*. + +2005-11-14 Ralf Wildenhues + + Testsuite portability update round. + + * tests/inherited_flags: skip when shared libs are disabled. + * tests/deplibs-ident.at [ aix ]: No unexpected failure here. + * tests/libtoolize.at: Fix for distcheck (readonly sources). + * tests/nonrecursive.at, tests/recursive.at, tests/subproject.at + (foo.c): Actually export a symbol, for AIX. + * tests/old-m4-iface.at: Use AC_LIBTOOL_DLOPEN, for AIX. + * tests/nonrecursive.at: Set foo_la_SOURCES, for automake-1.7. + * tests/subproject.at: Require automake-1.9, we use indirect + subdirs. + * tests/am-subdir.at: Move AT_KEYWORDS settings.. + * tests/testsuite.at: ..here, in respective macros. + (LT_AT_AUTOMAKE): Skip if we detect failure due to old version. + (PREPARE_TESTS): Set autotool variables to `no' if not present. + (LT_AT_ACLOCAL, LT_AT_AUTOCONF, LT_AT_AUTOMAKE) + (LT_AT_AUTOHEADER, LT_AT_AUTORECONF): Use to XFAIL tests. + Reported by Tim Rice . + (LT_AT_MAKE): Do not use `make -e'. + (_LTDL_PROJECT_FILES): Adjust sub-make call. Work around `make' + which does not set `MAKE' or `SHELL'. Fix for user-set + `CONFIG_SHELL'. + Reported by Charles Wilson . + + * libltdl/m4/lt~obsolete.m4 (_LT_CC_BASENAME) + (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE): + Added because they were added to branch-1-5 AC_DEFUNed. + * HACKING: Add note about lt~obsolete.m4. + + * Makefile.am, libltdl/Makefile.inc (INSTALL_LTDL): + For nonrecursive mode, add to include_HEADERS as well. + * doc/libtool.texi (Invoking libtoolize, Distributing libltdl), + tests/nonrecursive.at: Adjusted, and removed TABS from .texi. + + * libtoolize.m4sh: Revert use of `$tst_aclocaldir'. + +2005-11-13 Eric Blake + + * libltdl/ltdl.c (lt_dlhandle_iterate): Fix endless loop. + (lt_dlinterface_register): Fail if lt__strdup did. + +2005-11-13 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LANG_C_CONFIG): + Removed `lt_prog_cc_shlib' cruft, not needed any more. + +2005-11-13 Kean Johnston , + Tim Rice + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG) + [ sco3.2v5, sysv4, sysv4.3, sysv5, sco3.2v5, sco5v6, unixware, + OpenUNIX, sysv4*uw2 ]: Complete overhaul of SCO support. + * THANKS: Updated. + +2005-11-13 Ralf Wildenhues + + * tests/quote.test: Do not fail on harmless shell bug present + in some ksh versions. + Reported by Tim Rice and others. + +2005-11-12 Ralf Wildenhues + + * libltdl/m4/ltoptions.m4 (_LT_SET_OPTION): Use m4_warning + instead of m4_warn. + + * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): `wl' is tagged here. + + * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF, _LT_COMPILER_PIC): + Make sure `$wl' is properly expanded for tests involving + `export_dynamic_flag_spec', `lt_prog_compiler_static'. + + * tests/defs.m4sh (func_configure): Actually pass + options (like --disable-shared) to func_configure_nofail. + +2005-11-11 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ freebsd ]: + Fix shlibpath_overrides_runpath settings. + Reported by Dave Benson . + +2005-09-10 Charles Wilson + + * libltdl/config/ltmain.m4sh (func_win32_libid): use $SED not + sed. + +2005-11-10 Albert Chin-A-Young + + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ] + : + Use C++ compiler for linking rather than ld. + +2005-11-10 Ralf Wildenhues + + * libltdl/m4/ltsugar.m4 (lt_join, lt_combine, lt_dict_filter): + Rewrite to eliminate tail recursion; use .. + (lt_unquote): New trivial helper macro. + * libltdl/m4/libtool.m4 (_lt_decl_filter): Document. + +2005-11-10 Gary V. Vaughan + + * tests/testsuite.ac (macrodir): Don't set it here... + * Makefile.am (BUILDCHECK_ENVIRONMENT, INSTALLCHECK_ENVIRONMENT): + ...set it here to pick up files from the right place in context. + * tests/libtoolize.at, tests/old-m4-iface.at: Adjust. + * libtoolize.m4sh: Take tst_aclocaldir into account when running + inside the test harness. + +2005-11-10 Gary V. Vaughan + + * tests/am-subdir.at: Now that we don't run autoreconf, we have to + explicitly tell aclocal what flags to use. + + * tests/testsuite.at (LT_AT_BOOTSTRAP): Allow passing arguments to + configure. + * tests/am-subdir.at, tests/nonrecursive.at, tests/old-m4-iface.at, + tests/subproject.at: Use LT_AT_BOOTSTRAP. + +2005-11-09 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Also set pic_flag. + (_LT_LANG_CXX_CONFIG): Use $as_unset, not unset. + (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG): Remove bogus + ld_shlibs tests. + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Move setting of + `variables_saved_for_relink'.. + (_LT_SYS_DYNAMIC_LINKER): here, when both `shlibpath_var' + and `runpath_var' have been set. + Reported by Mike Frysinger . + + * libltdl/Makefile.inc (AM_CPPFLAGS): Do not define + HAVE_CONFIG_H. + * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not invoke + AC_CONFIG_HEADERS ourselves, we can build with or without now. + +2005-11-07 Kean Johnston + + * libltdl/config/ltmain.m4sh (func_mode_link) [ sysv4*uw2*, + unixware7* ]: Work around linker bug on older SCO systems. + +2005-11-07 Albert Chin-A-Young + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ]: + hardcode_libdir_flag_spec and hardcode_minus_L are the same for + hppa*64 and ia64*. Don't set + hardcode_libdir_flag_spec='-L$libdir' on ia64* because if you + specify +b and -L, +b overrides what is set into DT_RPATH. + +2005-11-07 Gary V. Vaughan + + * tests/testsuite.at (_LTDL_PROJECT_FILES): Factored out from + common code to build a basic libltdl using project. + * tests/old-m4-iface.at, tests/standalone.at, tests/subproject.at: + Use it. + + * doc/libtool.texi (Distributing libltdl): Document correct use of + LT_CONFIG_LTDL_DIR mode argument with Autoconf and Automake. + +2005-11-07 Gary V. Vaughan + + Support 'recursive' mode for building libltdl: Automake will + recursively descend into the libltdl directory, and use libltdl's + Makefile.am code to build libltdl: + + * ltdl.m4 (LT_CONFIG_LTDL_DIR): Don't barf on 'recursive' mode + for 2nd argument. + (_LTDL_MODE_DISPATCH): Handle recursive mode. + +2005-11-07 Gary V. Vaughan + + * tests/recursive.at: New tests for libltdl as a subdirectory, + configured and compiled from the toplevel project using a + recursive make.. + * tests/testsuite.at: Use it. + * Makefile.am (TESTSUITE_AT): Depend on it. + + * libltdl/m4/ltdl.m4 (LTDL_INIT): Don't force running + AC_CONFIG_HEADERS for subproject ltdl. + * tests/old-m4-iface.at, tests/subproject.at: Remove workaround. + + * libltdl/m4/ltdl.m4 (LT_CONFIG_LTDL_DIR): Add LTDL-MODE + argument. + * configure.ac: Use it. + +2005-11-06 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): lt_unknown is + lt_dlunknown. + + * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Revert + expansion of `$wl'. + (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_GCJ_CONFIG): + Do not require LT_SYS_DLOPEN_SELF. + (_LT_LANG_C_CONFIG): Instead call it at the right time. + (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) + (_LT_LANG_GCJ_CONFIG): Do not call _LT_CMD_STRIPLIB. + + * Makefile.am: `2>&1' as suggested by Albert Chin. + * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4: + Two newlines before each macro, fix underlines. + +2005-11-05 Kean Johnston , + Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link) [*-*-sco3.2v5*]: + Don't pass through -lc, nor add it to deplibs. + [*-*-sysv5*]: Ditto. + [*-*-openbsd*, *-*-freebsd*, *-*-dragonfly*]: Remove bogus + `$arg'. + +2005-11-04 Ralf Wildenhues + + * THANKS: Updated. + +2005-11-02 Gary V. Vaughan + + * tests/nonrecursive.at: New tests for libltdl as a subdirectory, + configured and compiled from the toplevel project. + * tests/testsuite.at: Use it. + (LT_AT_AUTOHEADER): New macro. + * Makefile.am (TESTSUITE_AT): Depend on nonrecursive.at. + +2005-11-01 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Add `-64' + to $LD if necessary, to permit combining of several convenience + libs without any further objects added. + Reported by Brian Barrett . + +2005-11-01 Kean Johnston , + Ralf Wildenhues + + * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Use + `lt_prog_compile_static', not `link_static_flag'. Expand `$wl' + so expansion of `export_dynamic_flag_spec' works. + (_LT_TRY_DLOPEN_SELF): Show dlerror() in case of failure. + (_LT_LINKER_SHLIBS) [ aix3 ]: Likewise. + (_LT_COMPILER_PIC) [ hpux* ]: Use `${wl}'. + +2005-11-01 Ralf Wildenhues + + * THANKS: Updated. + +2005-11-01 Gary V. Vaughan + + * libltdl/m4/ltdl.m4 (LTDL_INIT): Call _LT_ENABLE_INSTALL directly + instead of m4_requiring it, as it relies on enable_ltdl_install + and enable_ltdl_convenience to have been initialised first. + + * libtoolize.m4sh: Use serial tags to locate the correct serial + numbers when deciding whether to update. + (func_serial): Allow for macro_regex argument to be originating + file name. + (func_serial_update): Use NL2SP to flatten list of extracted + m4_include files. + * tests/libtoolize.at: More tests for old-style verbatim copying + of macros into aclocal.m4. + + * libltdl/m4/argz.m4, libltdl/m4/ltoptions.m4, libltdl/ltsugar.m4, + libltdl/m4/ltversion.in: Add serial number tags, and bump serial + number. + +2005-10-31 Kean Johnston + + [ sysv5*, sco3.2v5*, sco5v6*, unixware*, OpenUNIX*, sysv4*uw2* ] + Patches for various bug fixes, small improvements and updating + the SCO platform support. + + * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Set correctly for SCO. + + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Set correct + symcode values for the native nm on SCO platforms. + + * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): All SCO platforms + open dependency libraries when you dlopen a module. + +2005-10-31 Albert Chin-A-Young + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [ aix ]: Remove duplicate always_export_symbols=yes for AIX. + +2005-10-29 Howard Chu + + * libltdl/config/ltmain.m4sh (func_mode_link): + With `-static', only link statically against uninstalled + libtool libraries. Fixes 1.5.x regression to match documented + behavior. + * NEWS: Updated. + +2005-10-27 Stepan Kasal + + * HACKING: Update note about use of `$#' in m4 macros. + +2005-10-27 Ralf Wildenhues + + * tests/tagtrace.test: Allow `$AUTOCONF' to contain arguments. + Skip if the running `autoconf' version is older than the one + used to bootstrap Libtool. + +2005-10-26 Eric Blake , + Ralf Wildenhues + + * Makefile.am (vcl-tmp): Avoid warnings from diff. + * bootstrap: Avoid warnings from find. + (lt_tab): Use to prevent editor whitespace "cleanup". + +2005-10-26 Gary V. Vaughan + + * libtoolize.m4sh: Put back the func_serial_update callback for + func_copy_some_files so that the testsuite passes again. We'll + have to find a better way of handling serial numbers in libtool + macro files. + + * libltdl/Makefile.inc: New file, factored out of Makefile.am for + use in non-recursive libltdl installations. + * bootstrap: Adjust. + * Makefile.am: include it. + (libltdl/Makefile.am): Adjust to build from the new + libltdl/Makefile.inc. + (SUBDIR_LIBOBJS): Renamed from this... + (LTDL_SUBDIR_LIBOBJS): ...to this. + * configure.ac: Adjust. + * doc/libtool.texi (Invoking libtoolize): Document the new modes + and libtoolize option to select them. + * libtoolize.m4sh: Parse new options, --nonrecursive, --recursive + and --subproject. Install the appropriate files with --ltdl + according to the selected mode. + (func_scan_files): If --subproject, --recursive or --nonrecursive + options were not given, use the value from LT_CONFIG_LTDL_DIR; if + a mode was given, and there is also an argument to + LT_CONFIG_LTDL_DIR, ensure they are the same. + * NEWS: Updated. + + * libtoolize.m4sh: Don't use func_serial_update as a copy + function for libtool m4 files with no macro_regex. If the + files are copied directly into aclocal.m4, because + AC_CONFIG_MACRO_DIR isn't set for example, there is no way + to tell what serial number goes with what source file. + (func_serial_update): For future-proofing, only make the second + serial number check if the destination file wasn't m4_included + into aclocal.m4 (and hence updated automatically by the cat of + copying a new version to the dest directory). + + * libtoolize.m4sh: Move the consistency checks... + (func_check_macros): ...into here. Also suggest LT_WITH_LTDL if + appropriate. + + * libtoolize.m4sh: Copying just libtool.m4 for hand maintained + aclocal.m4 doesn't work. List all required files in that case, + using the files from installed libltdl if available. Also, list + the additional files required when using libltdl. + Reported by Patrick Welche . + + * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_first): Removed. + * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_next) + (lt_dlhandle_find, lt_dlforeach): Removed... + (lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map): Similar + functions that are multi-loader safe, and require a registered + interface validator argument. + * doc/libtool.texi: Updated. + * NEWS: Updated. + + * libtoolize.m4sh: Always copy pkgconfig_files for --ltdl, incase + ltdl needs additional things not found by automake when looking at + the parent project configury. + * tests/libtoolize.at: Adjust. + +2005-10-17 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh [darwin]: Don't check for "bundle" + in file path. + Reported by Christoph Egger . + +2005-10-14 Gary V. Vaughan + + * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Don't nest AC_MSG_CHECKING/ + AC_MSG_RESULT pairs. + +2005-10-14 Gary V. Vaughan + + * tests/subproject.at: Move 'touch config.h.in' invocation. + + * tests/subproject.at (_LTDL_SETUP): Use pushdef/popdef to + simulate file-local scope. Empty source file compilation is not + portable, so add minimal code to generated foo.c file. + +2005-10-13 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (LT_PATH_NM): End test source with + newline. + Reported by Charles Wilson . + +2005-10-13 Peter O'Gorman + + * libltdl/ltdl.c (find_module): Check that dir is set. + (load_deplibs): Don't free the user search paths too early. + +2005-10-11 Ralf Wildenhues + + * tests/testsuite.at (LT_AT_AUTOMAKE): New macro. + * tests/subproject.at: Use it. Do not call `autoreconf' in + tests, since it will try to reconfigure `sub/ltdl', which + breaks `make check' during `distcheck' because of a readonly + source tree. + + * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Also set INCLTDL. + + * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE) + (LT_WITH_LTDL): Revert Gary's 2005-10-10 patch. + + * tests/stresstest.at: Use `allow_undefined_flag' instead of + host_os setting. + +2005-10-10 Gary V. Vaughan + + * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Remove bogus extra + closing brackets. + +2005-10-10 Gary V. Vaughan + + * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Remove + AC_SUBST of LIBLTDL, LTDLINCL, and all mention of INCLTDL. + (LT_WITH_LTDL): Due to order constraints between LTDL_CONVENIENCE, + LTDL_INSTALLABLE, LT_WITH_LTDL & LTDL_INIT, we can safely AC_SUBST + LIBLTDL and LTDLINCL here. Also, remember to synch INCLTDL. + +2005-10-10 Ralf Wildenhues + + * tests/stresstest.at [ aix3, beos, os2 ]: Always use + `-no-undefined'. + +2005-10-09 Christian Biesinger + + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ beos ]: + Initial shared library support for C++. + +2005-10-07 Ralf Wildenhues + + * configure.ac (abs_top_builddir, abs_top_srcdir): always + substitute. + * Makefile.am (BUILDCHECK_ENVIRONMENT) + (INSTALLCHECK_ENVIRONMENT): New macros. Set _lt_pkgdatadir, + LIBTOOL, LIBTOOLIZE accordingly, by using above, and + program_transform_name. + * tests/testsuite.at (TESTS_PREPARE): Do not set them anymore. + Set $unset. + (LT_AT_MAKE): Use to unset LIBTOOL and LIBTOOLIZE. + +2005-10-05 Gary V. Vaughan + + * tests/subproject.at: Commit the right file this time. + +2005-10-05 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Fix m4 quoting + for lt_simple_link_test_code. + Reported by Nicolas Joly . + +2005-10-05 Gary V. Vaughan + + * tests/subproject.at: New tests for libltdl as a subproject with + its own configuration. + * tests/testsuite.at: Use it. + * Makefile.am (TESTSUITE_AT): Depend on it. + +2005-10-05 Ralf Wildenhues + + * Makefile.am: Simplify. Do not use abs_top_srcdir. + Reported by Gary V. Vaughan . + +2005-10-05 Gary V. Vaughan + + * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Spurious './' prefixes + upset BSD pmake, don't set lt_ltdl_dir in this case. + (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust. + +2005-10-05 Ralf Wildenhues + + * Makefile.am (BUILDCHECK_ENVIRONMENT) + (INSTALLCHECK_ENVIRONMENT): New macros. + (check-local, installcheck-local): Use them. + * tests/testsuite.at (PREPARE_TESTS): Extract host_alias, ECHO. + Set configure_options appropriately. + (LT_AT_CONFIGURE, LT_AT_AUTORECONF, LT_AT_MAKE): New macros. + (LT_AT_BOOTSTRAP): Use them. + * tests/am-subdir.at, tests/early-libtool.at, + tests/old-m4-iface.at, tests/standalone.at: Likewise. + * tests/link-order.test: Do not extract ECHO any more. + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Require + AC_CANONICAL_HOST and _LT_DECL_SED. + +2005-10-03 Gary V. Vaughan + + * libltdl/m4/ltdl.m4: Bump serial as we are changing the + interface. + (LT_CONFIG_LTDL_DIR): New macro to centralise setting the + subdirectory used for libltdl. + (LTDL_CONVENIENCE): Continue backwards compatibility support for + declaring the libltdl source subdirectory with an argument, but + defer to LT_CONFIG_LTDL_DIR. + (AC_LIBLTDL_CONVENIENCE): Adjust to upgrade to the new style. + (LTDL_INSTALLABLE, AC_LIBLTDL_INSTALLABLE): Ditto. + (LTDL_INIT): lt_ltdl_dir is set by LT_CONFIG_LTDL_DIR now, and + even `./' needs trailing slashes trimming! If the user didn't + upgrade their configure.ac yet, call LT_CONFIG_LTDL_DIR for them. + * libtoolize.m4sh (func_scan_files): If --ltdl option is given + without a directory argument, use the value from + LT_CONFIG_LTDL_DIR; if the argument is given, and there is also a + value in LT_CONFIG_LTDL_DIR, ensure they are the same. + * libltdl/configure.ac: Use it. + * NEWS: Updated. + +2005-10-02 Ralf Wildenhues + + * tests/old-m4-iface.at (Makefile.in): Do not reconfigure + libltdl directory. + +2005-09-30 Ralf Wildenhues + + * tests/deplibs-ident.at: New file with XFAIL test to expose + wrong multiple listing of a deplib on the command line. + * Makefile.am, tests/testsuite.at: Updated. + Reported by Brian Barrett . + + * tests/old-m4-iface.at: Define top_srcdir, work around current + ltdl.m4 bug. + + * libltdl/config/ltmain.m4sh (func_mode_link): + Fix wrong logic introduced in last commit. + +2005-09-30 Gary V. Vaughan + + * tests/libtoolize.at: Add a new test to catch a regression I + almost introduced with respect to copying macro files when + AC_CONFIG_MACRO_DIR is shared with libltdl subproject. + +2005-09-30 Gary V. Vaughan + + * tests/old-m4-iface.at: Start of a new test series for m4 + interface backwards compatibility. + * tests/testsuite.at: Use it. + (macrodir): Declare the location of uninstalled libtool m4 macros. + * Makefile.am (TESTSUITE_AT): Depend on it. + +2005-09-29 Tim Rice (tiny change) + + * tests/early-libtool.at (Makefile.in): Set $(SHELL). + +2005-09-29 Peter Ekberg + + * libltdl/config/ltmain.m4sh (func_mode_link): Don't modify + user provided symbols file. Adjust removal of temporary files + and also remove temporary files used during symbols file + filtering. + +2005-09-29 Ralf Wildenhues + + * libtoolize.m4sh (func_included_files): Do not recurse + non-existent files. + +2005-09-27 Gary V. Vaughan + + * libtoolize.m4sh (func_scan_files): Support projects that have + upgraded libtool, but still use an old autoconf. When the libtool + macros are not copied (because of missing ACLOCAL_AMFLAGS and + AC_CONFIG_MACRO_DIR ), point them at the libtoolize master tree + for files to manually copy into acinclude.m4 or aclocal.m4. + + * libltdl/lt_error.c (lt__last_error, lt__error_strings): The lt__ + prefix is used to indicate internal symbols that are only exported + for use by other parts of libltdl. These are now static, so... + (last_error, error_strings): ...renamed to this. Changed all + callers. + + * libltdl/ltdl.h (lt_dlmutex_register, lt_dlmutex_lock) + (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror) + (lt_dlmalloc, lt_dlrealloc, lt_dlfree): Remove deprecated APIs. + * doc/libtool.tex: Updated. + * NEWS: Updated. + + * libltdl/ltdl.c (lt_dlcaller_register): Renamed to avoid problems + with module visibilty when linked with programs written for the + old API. + (lt_dlinterface_register): New name. + * Makefile.am (VERSION_INFO): Bumped. + * doc/libtool.texi (User defined module data): Updated. + +2005-09-27 Tim Rice + + * tests/defs.m4sh, tests/testsuite.at (PREPARE_TESTS) + : Allow variable override. + +2005-09-26 Ralf Wildenhues + + * HACKING: Only update libltdl version info before release. + +2005-09-26 Tim Rice + + * configure.ac : Allow variable override. + +2005-09-25 Alan W. Irwin , + Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_win32_libid) + [ cygwin, mingw ]: Robustify sed script to determine + win32_libid_type. + (func_mode_link) [ mingw ]: Ignore `-lm'. + +2005-09-25 Peter Ekberg + + * libltdl/libltdl/lt__private.h, libltdl/lt_error.c: + Don't export the lt__last_error and lt__error_strings + variables. Define lt__error_strings so that no relocations + are needed. + * libltdl/libltdl/lt__private.h (LT__STRERROR, LT__GETERROR) + (LT__SETERRORSTR): Adjust to not use the above variables, + instead use the following functions... + * libltdl/lt_error.c: (lt__error_string, lt__get_last_error) + (lt__set_last_error): Reimplement the functionality in + these functions instead. + * libltdl/libltdl/lt_error.h: Add LT_ERROR_LEN_MAX define for + max error string length. + (lt_dlerror_table): Append explicit nul terminators so that + compilers warn more reliably if the above define is too small. + +2005-09-23 Ralf Wildenhues + + * tests/link-order.at [ aix* ]: skip path syntax grep. + +2005-09-23 Peter Ekberg + + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Fix awk + script to be a single line so that the cache variable isn't + multiline. + +2005-09-23 Eric Blake (tiny change) + + * libltdl/loaders/loadlibrary.c (vm_open): Silence gcc warnings. + [__CYGWIN__]: Include for prototype. + +2005-09-22 Gary V. Vaughan + + * bootstrap: Don't clobber the working copy metadata in + ./{arch}/libtool during bootstrap. + +2005-09-22 Peter Ekberg , + Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Filter + user supplied symfile to tag relevant symbols as data + symbols. Fixes segfault in stresstest.at on Cygwin and + makes the test pass. + +2005-09-22 Peter Ekberg + + * tests/link-order.test: Clean up the uninstalled libraries + before linking the test executables so that they don't pick + up the dlls from the current dir on Cygwin and MinGW. + +2005-09-22 Tim Rice + + * libltdl/m4/libtool.m4 (LT_PATH_NM, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS): + Add missing `;;' after case list. + +2005-09-22 Peter Ekberg , + Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC) + (_LT_LINKER_SHLIBS): Require _LT_TAG_COMPILER to make sure that + $compiler is assigned. Fixes crippled configure output. + +2005-09-21 Peter Ekberg + + * libltdl/m4/libtool.m4 (LT_PATH_NM): Fix autodetection of + dumpbin and also check for "link -dump -symbols" as a synonym + for "dumpbin -symbols". + + * libltdl/config/ltmain.m4sh (func_mode_uninstall): Clean + up $dlname as well when cleaning a uninstalled libtool + library. Fixes -mode=clean on Cygwin and MinGW to actually + remove the dll when cleaning up an uninstalled library. + +2005-09-20 Peter Ekberg + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): + Split up --out-implib option for linker in separate args so that + the MSYS path translation can do its magic on the provided path + to the import library. Fixes problem in stresstest.at on MinGW. + +2005-09-19 Ralf Wildenhues + + * Makefile.am (ltdldatafiles): Fix installation order to match + dependency order. + (libltdl/Makefile.in): Use $(srcdir) for non-GNU make. + +2005-09-17 Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_mode_link): Allow some + ARM gcc ABI flags through. + Reported by AndrĂ©s MorĂ© . + + * Makefile.am (all-local): Rebuild libltdl/Makefile.in. + + * libltdl/m4/ltdl.m4 (LTDL_INIT) : Rename to.. + : this, to contain the name of the config + header. + * Makefile.am : Use it to define LT_CONFIG_H. + * HACKING, libltdl/argz.c, libltdl/lt__alloc.c, + libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, + libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h: + Adjusted. + +2005-09-16 Peter Ekberg + + * tests/testsuite.at (LT_AT_EXEC_CHECK): Make sure + that the exit status of the tested program is + propagated as the exit status of the expression + fed to AT_CHECK. + +2005-09-14 Ralf Wildenhues + + * libltdl/argz.c : Avoid redefinition warning. + + * libltdl/ltdl.c (lt_argz_insert): Work around newlib + argz_insert bug. + * Makefile.am (VERSION_INFO): Bumped revision. + Reported by Eric Blake . + +2005-09-13 Peter Ekberg , + Ralf Wildenhues + + * libltdl/config/ltmain.m4sh (func_generate_dlsyms): + Fix escape expression to actually escape relevant + characters from the following grep. Fix Cygwin and + MinGW to use the filtered symbol list when exporting + from self, and not the symbol filter. + * tests/stresstest.at: Export w8, not w8$ + +2005-09-12 Ralf Wildenhues + + Make tagdemo work smoothly with both pre- and ISO C++ compilers, + and remove all use of libstdc from other tests. + + * tests/tagdemo/configure.ac (HAVE_NAMESPACES, HAVE_IOSTREAM): + New tests for ISO C++ features. Reimplementation of similar + macros from the autoconf archive. + * tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp: Adjusted. + * tests/am-subdir.at, tests/template.at: Do not use iostream. + +2005-09-12 Peter Ekberg , + Ralf Wildenhues + + * tests/testsuite.at (host_os): Pull from `libtool --config'. + * tests/stresstest.at [ cygwin, mingw, pw32 ]: Use it to fix + setting of `-no-undefined'. + +2005-09-12 Ralf Wildenhues + + * libltdl/m4/ltdl.m4 (LT_WITH_LTDL, LTDL_CONVENIENCE) + (LTDL_INSTALLABLE): Use less quoting for expanded LIBLTDL, + LTDLINCL. Use m4_default instead of m4_if, to work + around AU_ALIAS bug with empty macro arguments. + (LTDL_INIT): Likewise. + * libltdl/m4/ltoptions.m4 (_LT_WITH_PIC): Likewise. + * TODO, HACKING: Updated. + +2005-09-10 Gary V. Vaughan + + * libtoolize.m4sh (TAR): Allow the user to override the tar + command. + +2005-09-09 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) + (_LT_LINKER_BOILERPLATE, _LT_COMPILER_OPTION, _LT_LINKER_OPTION) + (_LT_COMPILER_C_O): When comparing expected and actual compiler/ + linker output for warnings, weed out both empty lines as well as + lines starting with possibly indented `+', to allow for shell + debugging with `set -x'. + Check the weeded instead of unweeded contents for emptiness. + + * libltdl/config/ltmain.m4sh (func_mode_link): Actually provide + a useful error message. Fixes long-standing shameful user + neglection. + Reported by Martin Paljak . + +2005-09-08 Peter Ekberg + + * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: + Symbols in "pick any" sections are not global. Use + awk, not sed, in the global_symbol_pipe so that keeping + track of sections is easier. + * doc/libtool.texi (libtool script contents): Update to hint + at new findings concerning "pick any" sections. + +2005-09-08 Ralf Wildenhues + + * tests/early-libtool.at (config.status): Use EXEEXT + consistently. + Reported by Charles Wilson . + +2005-09-08 Charles Wilson + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [ cygwin, mingw, pw32 ]: Use --enable-auto-image-base instead of + a fixed image base address. + +2005-09-06 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ sysv4*uw2*, + sysv4.2uw2* ]: Fix my last checkin to really match the more special + case before the general case. + Reported by Stepan Kasal . + +2005-09-06 Roger Cornelius + + * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) + [ sysv5OpenUNIX8, sysv5UnixWare7, sysv5uw[78], unixware7, + sysv4*uw2* ]: Match special cases before general case. + +2005-09-05 Ralf Wildenhues + + * bootstrap: another AIX sed fix. + + * Makefile.am (TESTS_ENVIRONMENT): Export SHELL. + * bootstrap (SHELL): Set to $CONFIG_SHELL or /bin/sh. + Name `make' targets in portable fashion. Work around `rm' + warnings. Unconditionally create fake `libtoolize'. + Reported by Patrick Welche . + + * Makefile.am (doc/notes.txt): Use --no-headers instead of + --plaintext for makeinfo. + Reported by Peter O'Gorman . + +2005-09-04 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ aix ] + : Work around shell expansion issue in + func_show_eval by separating `$' and field number; drop then + unnecessary m4 quoting. + +2005-09-02 Gary V. Vaughan + + AC_BEFORE only works if declarations are made inside the macro + cited as the first argument: + + * libltdl/m4/libtool.m4 (LT_OUTPUT): Move AC_BEFORE decls... + (LT_INIT, LT_LANG): ...to the macro that has to come first. + +2005-09-01 Peter O'Gorman + + * libltdl/m4/libtool.m4 (old_postintall_cmds): chmod 644 before + running ranlib. + Reported by Gerald Pfeifer + +2005-09-01 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77) + (_LT_PROG_FC): aclocal-1.4 compatibility workaround. + + * bootstrap: Do not use nonportable -path. + Reported by Ralf Menzel . + +2005-09-01 Gary V. Vaughan + + * doc/libtool.texi (LT_INIT): Fix a logical error with + documentation of --with-pic vs --without-pic. + +2005-09-01 Ralf Wildenhues + + * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): m4_defun this.. + * libltdl/m4/libtool.m4 (LT_INIT): so it can be m4_require'd + from here with user-supplied options. Fixes output macro + ordering issue. + +2005-09-01 Gary V. Vaughan + + * libtoolize.m4sh (func_scan_files): When searching for evidence + of Autotools in aclocal.m4, be careful not to trip over requires + and defuns. + +2005-08-31 Gary V. Vaughan , + Ralf Wildenhues + + * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Move option macro + dipatch.. + (_LT_SET_OPTION): here. Do not fail but warn on unknown + options. + (_LT_UNLESS_OPTIONS(win32-dll), LT_OPTION_DEFINE(dlopen)): + Add whitespace. + Reported by Robert Ă–gren and + Akim Demaille . + +2005-08-31 Ralf Wildenhues + + * libltdl/m4/libtool.m4 [ solaris CC ]: Document issue with C++ + standard libraries. + +2005-08-30 Gary V. Vaughan + + * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_PIC_MODE): Renamed... + (AC_LIBTOOL_PICMODE): ...this in the backwards compatibility + code. There never was an AC_LIBTOOL_PIC_MODE macro. + + * libltdl/m4/libtool.m4 (_LT_SETUP): Remove duplicate + --enable-libtool-lock declaration. + +2005-08-29 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_PATH_TOOL_PREFIX, _LT_SYS_HIDDEN_LIBDEPS, _LT_DECL_EGREP): + Fix typos. + + * Makefile.am: Install libltdl data files in correct order. + Use pre-defined programs for installation; use NORMAL_INSTALL + and NORMAL_UNINSTALL. Really fix ownership and timestamp + problems. Fix typo in uninstallation of aclocal files. + Reported by Peter Breitenlohner and + Charles Wilson . + +2005-08-29 Gary V. Vaughan , + Ralf Wildenhues + + Allow for portability with Autoconf 2.59, Automake 1.9.6, + which lack AC_CONFIG_LIBOBJ_DIR support. + + * bootstrap: Unless environment variable WORKING_LIBOBJS_SUPPORT + is set to true aka `:', symlink .. + * argz.c lt__dirent.c lt__strl.c: .. these from the copies in + libltdl. + * configure.ac (SUBDIR_LIBOBJS): Automake conditional, set if + bootstrap didn't make the extra copies of libobj sources in + top srcdir... + * Makefile.am: Add these to EXTRA_DIST if SUBDIR_OBJS is not set, + as well as the originals in libltdl/, in order to work when + bootstrapped both with old and newer Automake/Autoconf. + +2005-08-29 Gary V. Vaughan + + * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE): Fix the comment to not + pretend that LIBLTDL and LTDLINCL are not AC_SUBSTed here. + +2005-08-29 Gary V. Vaughan + + Some macros had relied on accidentally correct ordering in order + for $MV to be defined before use. Factor out setting of some + common file commands and m4_require it before use: + + * libltdl/m4/libtool.m4 (_LT_FILEUTILS_DEFAULTS): Allow user to + override some common file commands at configure time. + (_LT_SETUP, _LT_CONFIG, _LT_COMPILER_OPTION, _LT_LINKER_OPTION) + (_LT_COMPILER_C_O, _LT_COMPILER_FILE_LOCKS) + (_LT_SYS_DYNAMIC_LINKER, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + (_LT_SYS_HIDDEN_DEPLIBS): m4_require it to ensure the commands are + defined before they are called. + +2005-08-28 Gary V. Vaughan + + * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4: AU_DEFUN doesn't pass + arguments. Use AU_ALIAS instead! + +2005-08-28 Ralf Wildenhues , + Gary V. Vaughan + + * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p) [osf]: + Save file descriptor to original STDIN, and restore after + redirection. Fixes memory corruption with Tru64 and OSF sh. + Reported by Nicolas Joly . + +2005-08-26 Ralf Wildenhues , + Peter Ekberg + + * tests/early-libtool.at: Fix goofed up make rules in + previous commit. + + * tests/inherited_flags.at: Weaken for MSVC. + * tests/early-libtool.at, tests/template.at: Fix for compiler + that do not understand '-c -o'. + +2005-08-26 Ralf Wildenhues + + * tests/standalone.at, tests/template.at: Do not compare + output because of EOL issues. Resolve warnings, make cross- + compilation aware. + Reported by Peter Ekberg . + + * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + (_LT_LINKER_SHLIBS): Double-quote unsafe tag variable + descriptions: they are literals. + +2005-08-25 Peter Ekberg , + Ralf Wildenhues + + * tests/standalone.at: (without autotools): Add + $(CFLAGS) to LTCOMPILE and LTLINK. Separate compiling + and linking. Remove compiling flags from link. Add + --tag. Add -no-undefined flag. + +2005-08-24 Bruno Haible + + * libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f" + and "rm -f && ln -s" to make a symlink for a shared library: the + former is needed for libraries `ln' depends on, the latter for + Solaris /bin/ln. + Reported by Nelson H. F. Beebe . + + * libltdl/config/ltmain.sh (cwrappersource): return 127 if exec + failed. + +2005-08-24 Ralf Wildenhues + + * libltdl/m4/libtool.m4 (_LT_COMPILER_C_O): Send chmod warning to log. + + * tests/defs.m4sh (m4dir, auxdir, scripts): Fix for source tree + reorganization. + * tests/sh.test: Adjust. Also barf on sed diagnostics so this + test will not fail again silently. + + * libltdl/m4/ltdl.m4 (LT_SYS_SYMBOL_USCORE): Use _LT_EOF, not + EOF. + + * tests/fcdemo/Makefile.am (suffix rules): Explicitly add + $(FCFLAGS_f90) so the tests can pass on AIX. + +2005-08-24 Peter O'Gorman + + * libltdl/config/ltmain.m4sh (inherited_linker_flags): Work when + output is an application too. + Reported by Christopher Egger + +2005-08-23 Stepan Kasal , + Ralf Wildenhues + + * libltdl/m4/ltdl.m4 (LTDL_INIT): Use AH_HEADER if defined. + Compute CONFIG_H only before creating config.status. + Reported by Peter Ekberg . + +2005-08-23 Ralf Wildenhues + + * Makefile.maint (web-manual): Fix $(LN_S) to use absolute path. + Fix creating the manual for VPATH build. + + * bootstrap: Fix missing replace config -> $auxdir. ltmain.m4sh + is prerequisite to ltmain.sh. Improve warning message. + +2005-08-22 Gary V. Vaughan + + Reorganise the libtool tree to create a bootstrapped libltdl for + installation to the libtoolize master tree, so that libltdl is + useable even in the extreme case of when automake and autoconf are + not installed on the developers machine. Part of this change + requires some duplication of rules between Makefile.am (which + builds libltdl for this distribution) and libltdl/Makefile.am + (which is used by projects that libltoolize --ltdl --copy), so + libtool now really does use a single toplevel Makefile.am, and we + generate libltdl/Makefile.am from that: + + * m4, config: Moved from here... + * libltdl/m4, libltdl/config: ...to here, to reduce the amount of + kludging needed in bootstrap for autoreconf to run. + * tests/cdemo/Makefile.am, tests/demo/Makefile.am, + tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, + tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am, + tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, + tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to + compensate. + * tests/cdemo/configure.ac, tests/demo/configure.ac, + tests/depdemo/configure.ac, tests/f77demo/configure.ac, + tests/fcdemo/configure.ac, tests/mdemo/configure.ac, + tests/mdemo2/configure.ac, tests/pdemo/configure.ac, + tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto. + * libltdl/m4/ltdl.m4: Increment serial number. + (LTDL_INIT): Accept an optional directory argument to prefix each + of the LD_DLLOADERS locations. Default to empty for backwards + compatibility. + * Makefile.maint: Adjust to compensate. + * configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust. + (AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS + from in a subdirectory from the amalgamated Makefile.am. + (AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects. + (AC_CONFIG_FILES): Remove libltdl/Makefile.am. + * libltdl/Makefile.am: Removed from repository, and merged into + Makefile.am as we now generate it... + * Makefile.am (libltdl/Makefile.am): ...from here, by extracting + the merged rules, and tweaking paths to accomodate the difference + in directory from Makefile.am to libltdl/Makefile.am. + (nobase_dist_pkgdata_DATA): Automake generated installation rules + change timestamps of installed files, so renamed this... + (configauxfiles): ...to this... + (libtoolize): ...substitute it... + (install-data-local): ...install manually, preserving + timestamps... + (install-data-hook): ...and set execute bit as appropriate. + (uninstall-hook): Not forgetting to remove them at uninstall. + (libltdl/Makefile.in): New rule. Called from... + * bootstrap: ...here to avoid relying on config.status at + bootstrap time. + (auxdir, m4dir): Extract from configure.ac for ease of future + maintenance. Adjust all references. + (reconfdirs): Call autoreconf for libltdl too -- even + though we don't use it for the build, libltdl/configure and + friends are installed with `libtoolize --ltdl --copy'. + * libtoolize.m4sh: Add files from the installed config master tree + to libtoolize --ltdl project subdirectory. + Diagnose duplicated files when --ltdl is used in an autotooled + project. + It's perfectly fine to run `libtoolize --ltdl --copy' in a tree + that has no configure.ac or configure.in; we want libltdl to be + useful even to projects that don't use autotools themselves. + (libtoolize_flags): Removed. Changed all callers. + (func_massage_pkgconfig_files): New function. + * tests/standalone.at: New tests for using libltdl without + supporting configury in the parent project. + * tests/testsuite.at: Run them! + * NEWS: Updated. + +2005-08-22 Peter Ekberg + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Add + forgotten end bracket. + + * doc/libtool.texi: Shorten the lines describing the + output from MS dumpbin, and align the columns. + + * m4/libtool.m4: Bump serial number. + (LT_PATH_NM): If nm is not found on the path, look for + dumpbin. Then check if $NM responds as dumpbin would + and if not, assume the name lister is BSD nm compatible. + (_LT_CMD_GLOBAL_SYMBOLS): If the name lister uses the + dumpbin interface, adjust the test to find a working + global_symbol_pipe. + * doc/libtool.texi: Document $NM to possibly be MS + dumpbin compatible, and also document the format of the + relevant output from MS dumpbin. + +2005-08-21 Gary V. Vaughan + + * libltdl/Makefile.am: revert mistaken commit. + + * tests/template.at [darwin]: Some of these tests result in + unresolved symbols on darwin, so don't run those test on that + host! + +2005-08-18 Gary V. Vaughan , + Ralf Wildenhues + + * m4/libtool.m4 (LT_OUTPUT): New macro to generate + libtool before config.status. + (_LT_CONFIG_COMMANDS): If LT_OUTPUT has been invoked, then + generate code in config.status to call config.lt instead of + generating libtool directly. + * doc/libtool.texi (LT_INIT): Document LT_OUTPUT. + * tests/early-libtool.at: New test. + * Makefile.am (TESTSUITE_AT): Updated. + * tests/testsuite.at: Updated. Define defaults for $ACLOCAL, + $AUTOCONF. + +2005-08-18 Ralf Wildenhues + + * TODO: Actually updated now. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ freebsd ]: Do not + assume `aout' for modern FreeBSD by absence of deprecated + `objformat'. + + * m4/libtool.m4 [sun, CC] (_LT_LANG_CXX_CONFIG): Move postdeps + override .. + (_LT_SYS_HIDDEN_LIBDEPS): ..here. + * TODO: Updated. + +2005-08-18 Stepan Kasal + + * config/general.m4sh (SP2NL, NL2SP): Simplify. + +2005-08-17 Gary V. Vaughan + + * m4/ltdl.m4 (LTDL_INIT): Fix mismatched parens. + +2005-08-13 Ralf Wildenhues + + * tests/inherited_flags.at: Store intermediate libtool output + for better debugging. + + * tests/link-order.at: Add -no-undefined to LDFLAGS. + + * tests/convenience.at, tests/template.at: Change suffix of C++ + files to .cpp, for compatibility with MSVC. + Reported by Peter Ekberg . + +2005-08-12 Jeremie LE HEN , + Ralf Wildenhues + + * doc/libtool.texi (Creating object files, Linking libraries): + Update description of library object (.lo) and libtoo library + (.la) files. + (all over): Replace MODE with --mode=MODE in examples. + +2005-08-12 Ralf Wildenhues + + * config/ltmain.m4sh (func_source): New function. + (func_mode_execute, func_mode_install, func_mode_link): Use it. + Do not append a dot to a file name to source, it breaks on + cygwin managed mounts and is not necessary anywhere. + Reported by Eric Blake . + + * config/ltmain.m4sh (func_execute_cmds): New function. + (func_mode_finish, func_mode_install, func_mode_link) + (func_mode_uninstall): Use it. + + * tests/defs.m4sh (func_configure): Rename to .. + (func_configure_nofail): this, call from old. + * tests/fcdemo-conf.test, tests/fcdemo-shared.test, + tests/fcdemo-static.test: Use. Do not fail gratuitously but + SKIP on compilers that look like they could be Fortran 77-only. + Reported by Patrick Welche . + + * config/ltmain.m4sh (mode): Do not initialize, for nicer error + messages. + +2005-08-10 Peter Ekberg + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Set ac_ext to cpp, not cc. + +2005-08-08 Ralf Wildenhues + + * config/ltmain.m4sh (inherited_linker_flags): Backed out broken + patch. + +2005-08-08 Peter O'Gorman + + * config/ltmain.m4sh (inherited_linker_flags): Work when output + is an application too. + Reported by Christopher Egger + +2005-08-08 Ralf Wildenhues + + * m4/libtool.m4 (_LT_PROG_FC, _LT_LANG_FC_CONFIG): New macros + for modern Fortran. + (LT_LANG, _LT_LANG_DEFAULT_CONFIG, _LT_SYS_DYNAMIC_LINKER, + _LT_SYS_HIDDEN_LIBDEPS): Adjusted. + * tests/fcdemo-conf.test, tests/fcdemo-exec.test, + tests/fcdemo-make.test, tests/fcdemo-shared.test, + tests/fcdemo-static.test, tests/fcdemo/Makefile.am, + tests/fcdemo/README, tests/fcdemo/configure.ac, + tests/fcdemo/cprogram.c, tests/fcdemo/foo.h, tests/fcdemo/fooc.c, + tests/fcdemo/foof.f90, tests/fcdemo/foof2.f90, + tests/fcdemo/foof3.f90, tests/fcdemo/fprogram.f90: New tests for + Fortran. + * tests/convenience.at: Extended. + * Makefile.am, configure.ac: Adjusted. + * NEWS: Updated. + + * AUTHORS, HACKING: Updated. + +2005-08-05 Albert Chin-A-Young + + * config/ltmain.m4sh (func_mode_link): Ignore errors from expr + when determining if piece-wise linking should be done. + +2005-08-04 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_link) : Add + missing bit from Christoph's patch. + + * m4/libtool.m4 (_LT_LINKER_HARDCODE_LIBPATH, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG): Comment typos. + +2005-08-04 Christoph Egger + + * config/ltmain.m4sh (func_mode_link) : Change + basename() to base_name() and have it return a pointer to const, + fix compilation warnings. + +2005-07-30 Peter Ekberg + + * m4/libtool.m4 (_LT_PROG_F77): Set it up so that saying F77=no + to configure disables the fortran tests in the testsuite. + +2005-07-29 Richard Moseley + + * m4/ltdl.m4 (LTDL_INIT): Handle in addition the new name for + AC_LIST_HEADERS which is _AC_LIST_TAGS. + +2005-07-28 Peter Ekberg + + * libltdl/Makefile.am: Make the LTDLOPEN define controllable + from the configure script. + * m4/ltdl.m4 (LTDL_INIT): Set the LTDLOPEN define according + to libname_spec. + + * tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year, + not time, for really fresh files. Add sleep 1 calls at + strategic places. Makes the test pass for MinGW. + + * m4/libtool.m4 (_LT_LINKER_OPTION): Fix copy-paste bug, it is + the linker that is tested. + + * tests/demo-noinst-link.test: $make is empty on MSYS, replace + with $MAKE. Makes the test pass for MinGW. + + * config/ltmain.m4sh (func_generate_dlsyms): Properly remove + the fake symbol line ": @PROGRAM@ " from the list of exported + symbols. + + * libltdl/loaders/loadlibrary.c (vm_open): Set the error mode so + that no dialog is popped up in case the file given to + LoadLibrary is not a dll. + + * config/ltmain.m4sh (func_mode_link) : Make sure + skipped_export is set to colon if _some_ cmd of + export_symbols_cmds is too long. + + * libltdl/ltdl.c: The linker is confused by having one + definition of lt_libltdlc_LTX_preloaded_symbols tagged with + __declspec(dllexport) in ltdl.c and one definition with an + initial value in libltdlcS.c. So, just say extern in ltdl.c. + Fixes the mdemo-exec.test for MinGW. + + * config/ltmain.m4sh (func_mode_link) : Zap duplicate + message "creating reloadable object files..." + +2005-07-23 Peter O'Gorman + + * m4/libtool.m4 (CXX, archive_cmds) [sun]: Add -lCstd, -lCrun + and -lc for c++ builds with Sun C++ and Centerline C++.. + Reported by Albert Chin-A-Young + +2005-07-11 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Fix bogus merge. + Reported by Patrick Welche . + +2005-07-08 Ralf Wildenhues + + * libltdl/Makefile.am (libltdl_la_DEPENDENCIES): Depend on + $(BUILT_SOURCES) as well, so that argz.h gets created through + `make libltdlc.la'. + Reported by Sven Verdoolaege . + +2005-07-08 Peter Breitenlohner + + * Makefile.am (install-data-local): Have root own of installed + files (but do not fail, for user installs). + +2005-07-08 Bruno Haible + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + [cygwin,mingw,pw32]: Make DLL executable after installing it. + +2005-07-08 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_install): Do not assume `-f' + needs an argument if the install program is `cp'. Cleanup + install mode somewhat. + Reported by Juergen Leising . + +2005-07-03 Thorsten Glaser + + * m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Quieten configure + output for corner cases on some BSDs. + (LT_CMD_MAX_LEN): Another comment cleanup. + + * config/ltmain.m4sh (func_extract_archives, func_mode_install), + m4/libtool.m4 (_LT_SETUP, _LT_SYS_DYNAMIC_LINKER, LT_PATH_LD) + (_LT_PATH_LD_GNU, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): + Comment language, indentation, and backquote cleanup. + * THANKS: Updated. + +2005-07-02 Peter O'Gorman + + * tests/inherited_flags.at: Use -no-undefined. + Reported by Chris Oxenreider + +2005-07-02 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_compile, func_mode_link), + m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH, _LT_ENABLE_LOCK): + Remove some unnecessary quotes. + + * tests/convenience.at : Fix java test. + Reported by Eric Blake . + +2005-07-01 Derek R. Price + + * config/ltmain.m4sh (func_mode_link) : Handle + spaces in paths to executed programs. Quote path in error message. + +2005-06-29 Ralf Wildenhues + + * THANKS: Updated. + +2005-06-28 Stepan Kasal + + * clcommit.m4sh: "grep|sed" can be replaced by mere "sed". + * m4/libtool.m4 (_LT_LIBTOOL_TAGS): Remove unnnecessary "[]". + * m4/lt~obsolete.m4: Use m4_ifndef. + +2005-06-27 Stepan Kasal + + * m4/ltsugar.m4 (lt_combine, _lt_combine): Fix default separator. + + * m4/ltoptions.m4 (_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Replace + AC_FOREACH by a combination of m4_foreach/m4_split/m4_normalize. + +2005-06-27 Ralf Wildenhues + + * m4/ltoptions.m4 (_LT_SET_OPTIONS): Remove unnecessary workaround + for CVS Automake bug (fixed). + Reported by Stepan Kasal . + +2005-06-21 Peter O'Gorman + + * conig/ltmain.m4sh [darwin]: Accept -arch flag. + +2005-06-18 Ralf Wildenhues + + * m4/libtool.m4 (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE): + New macros: save warnings and boilerplate of simple compile/link + tests. + (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) + (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Call. + (_LT_COMPILER_OPTION, _LT_LINKER_OPTION, _LT_COMPILER_C_O, ): + Fail only if nonempty warnings different from default + compile/link. + +2005-06-17 Ralf Wildenhues + + * m4/ltsugar.m4 (lt_car, lt_cdr): New macros, clones of + m4_car/m4_cdr with the fixed semantics of Autoconf-2.59c CVS, in + order to work with 2.59. + (lt_combine): Use it. + Reported by Christoph Egger . + +2005-06-11 Ralf Menzel , + Ralf Wildenhues + + * m4/ltoptions.m4 (_LT_SET_OPTIONS): Loop options only if + nonempty. + * m4/ltsugar.m4 (lt_combine): Don't test against empty quotes, + test against empty arg. Fixes infinite m4 loop with CVS + Autoconf. + +2005-06-11 Ralf Wildenhues + + * m4/libtool.m4 (_LT_COMPILER_OPTION, _LT_LINKER_OPTION): No + need for $ECHO here. Fix sed script syntax to be portable. + This should now put the pic-flag right after the last $*FLAGS + variable again, if any. Necessary for Fortran AC_FC_SRCEXT. + +2005-06-09 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CONFIG_COMMANDS): Remove long lines. + +2005-06-06 Ralf Wildenhues + + * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS, + _LT_LANG_CXX_CONFIG): PGI also has pgf95. PGI static flag is + `-Bstatic'. Remove harmless extra comma from whole_archive + output. + +2005-06-05 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_compile): In order to find out + about forbidden characters in output, check with grep after + checking func_quote_for_eval result. Also, warn instead of fail. + * config/general.m4sh (func_quote_for_eval) + (func_quote_for_expand): Revert SunOS sh bug workaround patch from + 2004-12-28 as it triggers bugs in the Tru64 5.1B shell. + Reported by Albert Chin and + Nicolas Joly . + +2005-06-01 Olly Betts (tiny change) + + * libltdl/argz.c (argz_create_sep): Fix typo. + +2005-05-31 Peter O'Gorman + + * config/ltmain.m4sh: Do not add installed static litool libraries + to convenience, they are not convenience libraries. + Reported by Chen-Mou Cheng + +2005-05-16 Ralf Wildenhues + + * THANKS: Updated. + +2005-05-15 Ralf Wildenhues + + * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [aix]: + Fix wrong $ECHO use overlooked in 2005-04-27. Simplify slightly. + + * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS, + _LT_LANG_CXX_CONFIG) [linux]: PGI: + Add $pic_flag to archive_cmds and archive_expsyms_cmds. + Bug reported against LAM by Troy Telford . + +2005-05-13 Ralf Wildenhues + + * THANKS: Updated. + +2005-05-06 Gary V. Vaughan + + * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Propogate ltdl directory. + +2005-05-02 Ralf Wildenhues + + * Makefile.am (stamp-vcl): Use `diff' instead of `cmp'. + +2005-04-30 Gary V. Vaughan + + Revert the parallel installation changes from November last year: + + * libtoolize.m4sh (pkgdatadir, aclocaldir): Substituted from + configure. + (func_copy_all_from_path): Removed. No longer used. + (func_copy_some_files): Simplify now that nothing is copied from a + list of possible directories now. + (func_scan_files): Remove directory readability check... + (func_nonemptydir_p): ...in favour of a dedicated sanity check + function called from the main body. + (_lt_pkgvdatadir): Set pkgdatadir and aclocaldir appropriately if + this is in the environment. + * configure.ac: Tests for `ln' removed. + (APIVERSION): Removed. + * Makefile.am (pkgvdatadir, nobase_dist_pkgvdata_DATA) + (nobase_pkgvdata_DATA): Renamed to... + (pkgdatadir, nobase_dist_pkgdata_DATA, aclocalfiles): ...these + respectively. + (edit): Adjust for new variable names. + (install-data-local): Don't bother to remove old macro files that + will be overwritten by the installation, and perform a manual + installation of $(aclocalfiles) to preserve timestamps. + (install-exec-hook): Removed. No need to make versioned links. + (uninstall-hook): No need to remove versioned links, but now we + need to manually remove the manually installed $(aclocalfiles). + * doc/libtool.texi: Remove bogus notes about setting + ACLOCAL_AMFLAGS for versioned libtool installations. + * NEWS: Remove parallel installation item. + +2005-04-29 Ralf Wildenhues + + * m4/ltdl.m4 (all over): Quote all arguments to AC_DEFINE and + AC_DEFINE_UNQUOTED consistently. Reported by + Michael Koch , Riccardo Mottola , + and Dalibor Topic . + + * HACKING: Updated. + +2005-04-27 Ralf Wildenhues + + * tests/convenience.at: Actually add. + + * tests/convenience.at: New. Test convenience archives. + * Makefile.am, tests/testsuite.at: Adjust. + * tests/testsuite.at: Reorder tests. Suspend AT_TESTED. + (PREPARE_TESTS): Define EGREP, host, build, LIBTOOL. + (LT_AT_BOOTSTRAP): Fail if autoreconf fails. + (LT_AT_EXEC_CHECK): New macro for execution of $build binaries. + (LT_AT_TAG): New macro to test tag availability or skip test. + * tests/am-subdir.at, tests/duplicate_members.at, + tests/inherited_flags.at, tests/link-order.at, + tests/stresstest.at, tests/template.at: Adjust. Use LT_AT_TAG, + LT_AT_EXEC_CHECK, AT_KEYWORDS. Use compiler/linker flags + consistently. + * tests/link-order.at: Fix use of AT_DATA, bogus redirection + inside AT_CHECK. + * tests/stresstest.at: Do not use wildcards/regex in symbol files, + they are not portable. Use -no-undefined on win32. Fix to ignore + compile/link warnings. + + * tests/f77demo/foo.h, tests/f77demo/fooc.c, + tests/f77demo/cprogram.c, tests/mdemo2/main.c, tests/pdemo/foo.h: + Make declarations available. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: sed 3.02 does + not understand \t in regex. + Reported by Tim Van Holder . + + * tests/defs.m4sh (func_configure): Don't run the whole configure + script with -x. + + * config/ltmain.m4sh: Audit use of echo vs $ECHO. + Reported by Robert Ă–gren and others. + + * TODO: Updated. + +2005-04-26 Ralf Wildenhues , + Gary V. Vaughan + + * HACKING, THANKS: Updated. + +2005-04-25 David Edelsohn + + * m4/libtool.m4 (_LT_LINKER_SHLIBS): _LT_TAGDECL(file_list_spec). + * config/ltmain.m4sh (func_mode_link): Change $filelist to + $output. + +2005-04-24 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CC_BASENAME): Ignore `compile'. + +2005-04-23 Ralf Wildenhues + + * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [solaris]: + Update wl for Sun Studio f77/f90/f95. Fix whole_archive_flag_spec + for cc and f77/f90/f95 to prevent reordering in case we link with + $CC. + + * m4/libtool.m4: Audit use of echo vs $ECHO. + * TODO: Update. + Reported by Robert Ă–gren and others. + +2005-04-23 Gary Kumfert + + * m4/libtool.m4 (_LT_LANG_F77_CONFIG) [aix4, aix5]: + Adjust logic to match the C case: Only disable static if not + on ia64 nor runtimelinking. + +2005-04-22 Ralf Wildenhues (tiny change) + + * Makefile.am, HACKING: Use lt__cd throughout. + +2005-04-22 Gary V. Vaughan + + The FSF are moving offices today. Changed their contact address + in all files from `59 Temple Place, Suite 330, MA 02111-1307' to + `51 Franklin Street, Fifth Floor, MA 02110-1301'. + +2005-04-19 Ralf Wildenhues + + * libtoolize.m4sh (func_scan_files, func_serial, + func_ltmain_update, func_config_update, func_install_update): + Placate AIX sed. + +2005-04-19 David Edelsohn + + * config/ltmain.m4sh (func_mode_link): If command exceeds + max_cmd_len and file_list_spec exists, write list of input files + to temporary file. + * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [aix4,aix5]: Define file_list_spec. + +2005-04-18 Ralf Wildenhues + + * tests/demo-hardcode.test: Fix typo. + +2005-04-17 Alexandre Oliva , + Peter O'Gorman + + * config/ltmain.m4sh: Don't add files with the same base name to + an archive; rename duplicates instead. + (func_extract_an_archive): Remove section to deal with duplicate + base names in an archive. + * tests/functests.at: remove. + * tests/duplicate_members.at: new test. + * tests/testsuite.at: Add new test, remove old. + * Makefile.am: Add new test, remove old. + +2005-04-17 Ralf Wildenhues + + * tests/demo-hardcode.test [solaris]: Use dumpstabs if available, + to avoid false failure caused by debug section which contains + command line (Solaris cc). + Reported by Ralf Menzel . + +2005-04-17 Ralf Wildenhues (tiny change) + + * libtoolize.m4sh (func_copy_cb): Fix syntax typo. + +2005-04-15 Maciej W. Rozycki + + * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Add old_archive_cmds + definition. + +2005-04-15 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CC_BASENAME): New macro to figure out + $cc_basename. Skip ccache, distcc, purify, cmdline options, + `$host_alias-' prefix. + (_LT_SETUP, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) + (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Use. + * NEWS, TODO: Update. + +2005-04-15 Gary V. Vaughan + + * libltdl/configure.ac (AC_OUTPUT): loaders/Makefile is no longer + used. + + * Makefile.am (lt__cd, CD_TESTDIR): New make macros to work around + problems with CDPATH in some shells. + (check-local, installcheck-local, clean-local): Use them. + +2005-04-14 Ralf Wildenhues (tiny change) + + * bootstrap: Define srcdir for making `commit'. + +2005-04-14 Alexandre Oliva , + Ralf Wildenhues + + * config/ltmain.m4sh (link mode): Add to tmp_libs paths for + libtool dep libs in reverse order as well. + * Makefile.am, tests/testsuite.at, tests/link-order.at: New test. + +2005-04-13 Gary V. Vaughan + + Since the bootstrap process requires that several of the rules for + files generated in doc and tests already lived in + $top_srcdir/Makefile.am, along with proxy rules in sub-Makefiles, + this changeset consolidates almost everything into the top + Makefile.am, simplifying things considerably: + + * doc/Makefile.am, tests/Makefile.am: Removed. All rules moved... + * Makefile.am: ...to here and adjusted to run from $top_builddir. + Some reformatting to group rules and declarations by purpose, and + simplify with respect to removing much of the make recursion. + Add `doc/PLATFORMS', `doc/fdl.texi' and `doc/notes.texi'. + `defs.in' and `defs.m4sh' are in directory `tests'. + (uninstall-hook): Don't forget to uninstall libtoolize's libltdl + source tree. + * bootstrap: Simplified dirty makefile management, and bootstrap + file creation in light of having only a single pertinent + Makefile. + * configure.ac (CONF_SUBDIRS): Add tests/ prefix to each subdir to + compensate. + (DIST_MAKEFILE_LIST): Adjust. + (AC_CONFIG_FILES): Remove doc/Makefile and tests/Makefile. + * tests/defs.m4sh (LIBTOOL, scripts): Adjust paths. + * tests/cdemo-conf.test, tests/cdemo-exec.test, + tests/cdemo-make.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/cdemo-undef.test, + tests/demo-conf.test, tests/demo-deplibs.test, + tests/demo-exec.test, tests/demo-hardcode.test, + tests/demo-inst.test, tests/demo-make.test, + tests/demo-nofast.test, tests/demo-noinst-link.test, + tests/demo-nopic.test, tests/demo-pic.test, + tests/demo-relink.test, tests/demo-shared.test, + tests/demo-static.test, tests/demo-unst.test, + tests/depdemo-conf.test, tests/depdemo-exec.test, + tests/depdemo-inst.test, tests/depdemo-make.test, + tests/depdemo-nofast.test, tests/depdemo-relink.test, + tests/depdemo-shared.test, tests/depdemo-static.test, + tests/depdemo-unst.test, tests/f77demo-conf.test, + tests/f77demo-exec.test, tests/f77demo-make.test, + tests/f77demo-shared.test, tests/f77demo-static.test, + tests/link-2.test, tests/link.test, tests/mdemo-conf.test, + tests/mdemo-dryrun.test, tests/mdemo-exec.test, + tests/mdemo-inst.test, tests/mdemo-make.test, + tests/mdemo-shared.test, tests/mdemo-static.test, + tests/mdemo-unst.test, tests/mdemo2-conf.test, + tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, + tests/objectlist.test, tests/pdemo-conf.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, + tests/pdemo-make.test, tests/quote.test, tests/sh.test, + tests/suffix.test, tests/tagdemo-conf.test, + tests/tagdemo-exec.test, tests/tagdemo-make.test, + tests/tagdemo-shared.test, tests/tagdemo-static.test, + tests/tagdemo-undef.test, tests/tagtrace.test (func_cd, + func_require): Adjust paths. + +2005-04-12 Ralf Wildenhues + + * config/general.m4sh, libtool.m4 (_LT_SETUP), tests/defs.m4sh, + tests/functests.at: Fix definition of $Xsed. + +2005-04-07 Ralf Wildenhues + + Improved Portland support: prelinking of C++ templates and + whole_archive. + + * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [linux]: + Reinstate formatted whole_archive_flag_spec for PGI compilers. + * config/ltmain.m4sh (func_mode_link), m4/libtool.m4 + (_LT_LINKER_SHLIBS): New tag prelink_cmds, to be executed before + linking a program. + (_LT_LANG_CXX_CONFIG) [linux]: Use for pgCC. + (_LT_COMPILER_C_O): conftest might be nonempty, clean up more + thoroughly. + + * tests/testsuite.at (LT_AT_BOOTSTRAP): Temporary fix for testing + in-tree libtoolize. + + * m4/libtool.m4 (_LT_CONFIG_COMMANDS): Only call sed if + necessary while quoting all libtool variables. + Reported by Robert Ă–gren . + +2005-04-05 Ralf Wildenhues + + * tests/Makefile.am: Typo. + +2005-04-04 Ralf Wildenhues + + * notes.texi: Platform-specific configuration notes. + * doc/libtool.texi: Include as section. + * bootstrap, doc/Makefile.am: build also as notes.txt and + distribute. + +2005-04-04 Gary V. Vaughan + + Under certain circumstances, not all of the macro files were + copied into the destination directory. This changeset fixes + that bug: + + * libtoolize.m4sh (func_serial_update): Renamed local variable + `my_update_p' to `my_serial_update_p', and initialise it correctly + even when the destination file is not yet there. + Reported by Ralf Wildenhues + +2005-04-04 Gary V. Vaughan + + * tests/libtoolize.at: New tests for basic libtoolize + functionality and reporting. + * tests/testsuite.at: Call them. + * tests/Makefile.am: Distribute them. + + * libtoolize.m4sh (pkgvdatadir): Renamed from this... + (_lt_pkgvdatadir): ...to this. + * tests/testsuite.at (LT_AT_LIBTOOLIZE): The `-I' option is no + longer supported by libtoolize. Set _lt_pkgvdatadir in the + environment of the invocation instead. + +2005-04-04 Ralf Wildenhues + + * tests/template.at: New Autotest tests for C++ with templates. + First test provided by + Markus Christen . + * tests/Makefile.am, tests/testsuite.at: Use and distribute. + +2005-04-04 Gary V. Vaughan + + * libtoolize.m4sh (func_serial_update): Replace missing + destination serial calculation line, presumably lost due to a bad + merge. + + * libltdl/loaders/Makefile.am: Removed actually. + +2005-04-04 Gary V. Vaughan + + Getting the value of ltdldatafiles from a submake was not + portable, and had problems with GNU make-3.80 at least. This + changeset pulls the installation rules for libtoolize's copy of + the libltdl sources out of libltdl/Makefile.am so that + ltdldatafiles is defined in the same Makefile that uses it. Also, + this makes a start at cleaning up libltdl/Makefile.am so that it + is useful in a package that uses `libtoolize --ltdl': + + * libltdl/loaders/Makefile.am: Removed entirely. + * libltdl/Makefile.am (dlopen.la, dld_link.la, dyld.la) + (load_add_on.la, loadlibrary.la, shl_load.la): All built from here + now that the loaders submake has gone. + (show-ltdldatafiles): Removed. No longer required. + (ltdldatadir, ltdldatafiles, install-local): Moved from here... + * Makefile.am (ltdldatadir, ltdldatafiles, install-local): ..to + here. + (libtoolize): Substitute $(ltdldatafiles) directly without calling + make to get the value from libltdl/Makefile. + +2005-04-01 Gary V. Vaughan + + * Makefile.am (libtoolize): Substitute $(nobase_pkgvdata_DATA). + pkgvmacro_DATA is no longer set in the makefile. + * libtoolize.m4sh (func_massage_pkgvmacro_DATA): Use it and, for + consistency, renamed from this... + (func_massage_nobase_pkgvdata_DATA): ...to this. Adjust all + callers. + +2005-04-01 Gary V. Vaughan + + Fix problems with serial comparison sed scripts, and factor out + common code from similar serial comparison functions: + + * libtoolize.m4sh (func_keyword_update): Common code factored out + of func_ltmain_update and func_config_update. + (func_ltmain_update, func_config_update): Adjust, and fix sed + expressions to not use unportable ? modifier. + (func_install_update): New serial number based file updater keyed + off 'scriptversion' variable in install-sh. Adjust all callers. + +2005-04-01 Gary V. Vaughan + + Most of the hair introduced ostensibly to enable testing of + uninstalled libtoolize isn't necessary if we allow overriding of + the libtool master copy directory: + + * configure.ac (pkvmacrodir): No need to substitute this. + * Makefile.am (edit): No need to substitute pkgvmacrodir. + (dist_pkgvdata_DATA): Use nobase_ prefix so that these files are + installed to $(pkgvdatadir)/config. + (pkgvmacro_DATA): Renamed to... + (nobase_pkgvdata_DATA): ...this, so that files are installed to + $(pkgvdatadir)/m4. + (install-data-hook): Adjust. + * libtoolize.m4sh: Remove -I processing. + (func_filename_path_search): No longer required without -I. + Adjust all callers. + (pkgvltdldirs, pkgvmacrodirs): Deleted. + (pkgvdatadir): Allow overriding from the environment so that we + can write tests for uninstalled libtoolize. + (func_serial_update, func_ltmain_update, func_config_update): + Rename srcdirs parameter to srcdir, and don't call the path_search + function anymore. Adjust all callers. + (--install): Don't blindly copy all config files. + +2005-04-01 Mike Stump + + * m4/libtool.m4 (LT_CMD_MAX_LEN) [netbsd, freebsd, openbsd + darwin, dragonfly]: Use 3/4 of argmax, instead of 1/4. + +2005-03-28 Ralf Wildenhues + + * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): + Set $cc_basename. + + * HACKING: echo vs $ECHO. + +2005-03-28 Ralf Wildenhues (tiny change) + + * doc/libtool.texi: Minor formatting cleanups. + +2005-03-24 Gary V. Vaughan + + * libtoolize.m4sh: Propogate --debug flag to sub-libtoolizes. + + * libtoolize.m4sh: Fix a typo, s/pkgvltdldirs/pkgvdatadirs/. + When using -I to test an uninstalled libtoolize, we need to add + the config subdirectory to the search path so that ltmain.sh can + be found in the source tree. + + * libtoolize.m4sh (func_copy_some_files): IFS needs to be set to + path delimiter for all inner loop iterations. + Once a matching file has been copied, no need to keep searching + the path for another -- move on to the next file! + + * libtoolize.m4sh: For verbose mode, explain why macro files are + not installed without an AC_CONFIG_MACRO_DIR declaration. + +2005-03-24 Gary V. Vaughan + + As a prerequisite for being able to test an uninstalled libtoolize + for copying files correctly from the source tree, we must know + exactly which files should be copied by the --ltdl option to avoid + accidentally picking up compilation objects and other noise when + $builddir == $srcdir: + + * libltdl/loaders/Makefile.am (ltdldatadir, ltdldatafiles) + (install-data-local): Removed... + * libltdl/Makefile.am (ltdldatafiles): ...and consolidated here. + (show-ltdldatafiles): New rule... + * Makefile.am (ltdldatafiles, libtoolize): ...used to substitute + exactly which files are installed by libtoolize --ltdl. + (edit): Move pkgvmacro_DATA substitution expression... + (libtoolize): ...to here. + * libtoolize.m4sh: Use func_copy_some_files() instead of + func_copy_all_from_path() to copy the --ltdl option installed + files. + (pkgvltdldirs): New path variable to search for files installed by + --ltdl option. + (func_massage_pkgvltdl_files): New function to calculate the list + of ltdl installation files. + +2005-03-22 Ralf Wildenhues (tiny change) + + * m4/libtool.m4, m4/ltdl.m4: Indentation and quoting cleanup. + +2005-03-22 Ralf Wildenhues + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Use ${wlarc} + and set to empty when using $LD for linking. Fixes regression + introduced in 2004-11-17. + Reported by Ralf Menzel and + ĐźŃхальŃкий Юрий Đндреевич . + +2005-03-21 Gary V. Vaughan , + Ralf Wildenhues + + * m4/libtool.m4 (_LT_SETUP, _LT_LANG_CXX_CONFIG) + (_LT_LANG_F77_CONFIG): For matching compiler names -- Pick only + first word, allow leading white space. + * tests/sh.test: ..and test for missing `*' at end of patterns. + +2005-03-21 Ralf Wildenhues + + * TODO: Update. + +2005-03-20 Peter Ekberg + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix5, irix6, nonstopux]: + Test if it is possible to use the -exports_file linker option on + irix with gcc, as the gcc specs file may include a -hidden_symbol + option that is clashing with the -exports_file option. + See this gcc bugzilla entry for further details: + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15288 + * THANKS: Update. + +2005-03-19 Ralf Wildenhues + + * tests/demo-nopic.test: Enhance status output + noted by Tom Burger . + +2005-03-18 Ralf Wildenhues + + * config/ltmain.m4sh, tests/defs.m4sh: Typos. + +2005-03-18 Peter O'Gorman , + Ralf Wildenhues + + * m4/libtool.m4: The compiler can be a program name with args, so + always check cc_basename against compiler name and a wildcard. + Also, drop unnecessary quotes in `case' argument. + +2005-03-16 Ralf Wildenhues + + * Makefile.am: tests/defs.in depends on config/general.m4sh. + + * config/general.m4sh: unconditionally set IFS, and set it + to the one true right sequence: space, tab, newline. + * m4/libtool.m4: remove IFS setting and as_* namespace + infringement. + + * m4/libtool.m4 (_LT_CONFIG): Reset IFS to fix failure with ash. + + * configure.ac, libltdl/configure.ac: s/##/dnl/ for comments + that are meaningless in configure. + Reported by Alexandre Duret-Lutz . + +2005-03-15 Ralf Wildenhues + + * libltdl/configure.ac: Update version; require Autoconf >= 2.59. + + * bootstrap: Allow to override tools. + +2005-03-15 Gary V. Vaughan + + * libtoolize.m4sh (func_massage_pkgvmacro_DATA): New function + to calculate the macro filenames to be copied by libtoolize. + * Makefile.am (edit): Substitute pkgvmacro_DATA. + + * bootstrap: Need to generate tests/package.m4 from Makefile.am + before generating tests/testsuite from tests/Makefile.am, or + else bootstrap of a fresh checkout fails. + +2005-03-14 Ralf Wildenhues + + * m4/libtool.m4 (_LT_COPYING): Update Copyright year. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]: Remove MAIN_ + dependency when creating shared libraries with Portland pgf77. + +2005-03-12 Ralf Wildenhues + + * configure.ac: stamp-vcl is in $top_srcdir, not $top_builddir. + +2005-03-12 Per Bothner , + Ralf Wildenhues + + Allow special characters in source file names. Will break unless + `-o target' is also given, which must not contain special + characters. En passant, fix source file quoting broken for + cygwin/MSVC: + + * config/ltmain.m4sh (func_mode_compile): Use new variable + qsrcfile for quoted source file name for compile $command. Fix + missing quotes for _c_o lockfile. + * NEWS: Update. + +2005-03-12 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_link): Reword double negation in + error message. + Reported by Jesper Louis Andersen . + + * bootstrap: really remove bogus files Makefile tests/Makefile. + + * doc/libtool.texi: Replace wicked whiches by thats or other + better-sounding constructs. + +2005-03-11 Ralf Wildenhues (tiny change) + + * tests/Makefile (clean-local): Ignore testsuite cleanup + failures. + +2005-03-11 Per Bothner (tiny change) + + * tests/Makefile (clean-local): Only run the testsuite cleanup + if the testsuite has been generated. + +2005-03-10 Gary V. Vaughan + + * libltdl/Makefile.am (install-data-local): Don't force v7 tar + format with the `o' flag in create mode. + Set the umask to 0 when untarring to avoid copied files taking + their mode from the installer's umask. + * libltdl/loaders/Makefile.am (install-data-local): Ditto. + * libtoolize.m4sh (func_copy_cb): Ditto. + Ignore errors from failed `cd' in the tar processes, since we + may be running in dryrun mode. + Reported by Noah Misch , + Bob Friesenhahn + +2005-03-10 Ralf Wildenhues + + * libltdl/Makefile.am: $(builddir) is not defined, replace by + `.'. + +2005-03-08 Albert Chin-A-Young + + * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [irix*, osf*]: Output -update_registry information to + ${output_objdir} directory, not ${objdir}. ${output_objdir} + will work when a project has a single Makefile and performs + builds in subdirectories. ${objdir} expects the source in + the current directory, breaking single-Makefile builds. + +2005-03-08 Ralf Wildenhues + + * tests/stresstest.at: Remove multiple variable definition. + + * TODO: Update. + + * THANKS: Update. + +2005-03-02 Gary V. Vaughan + + * libtoolize.m4sh (func_copy_cb): Use tar chof to avoid symlink + attacks. + * libltdl/Makefile.am, libltdl/loaders/Makefile.am + (install-data-local): Ditto. + +2005-02-27 Gary V. Vaughan + + In branch-2-0 (and in time, others) ltversion.m4 has a dot + delimited serial number that didn't used to be processed + correctly by libtoolize. This changeset fixes that, and + leverages those changes to check versions of ltmain.sh and + config.sub, config.guess before overwriting when --force is + not given: + + * libtoolize.m4sh: Don't overwrite pkgaux files with --force + unless --install is given too. + (func_serial): Fix underquoting in regexp. + (func_serial_max): New function to compare serial numbers. + (func_serial_update_check): New function factored out of + func_serial_update(). + (func_serial_update): Bail if SRCFILE is missing. + Don't display both 'already up to date' and 'use --force to + update' messages for the same file. + Use func_serial_max to cope with `.' delimited serial numbers. + (func_ltmain_update): Use func_serial_update_check and + func_serial_max to do version checking with $package_revision. + (func_config_update): Ditto with $timestamp. + +2005-02-26 Gary V. Vaughan + + * libltdl/Makefile.am (install-data-local): cd to $(srcdir) + before tarring up the files for installation to + $(DESTDIR)$(ltdldatadir). Don't remove the destination directory, + since that interacts badly with the multi-Makefile installation. + * libltdl/loaders/Makefile.am (install-data-local): Ditto. + +2005-02-26 Gary V. Vaughan + + I assume that it is okay to have undefined symbols in convenience + libraries that will be used as modules -- the pic objects are + built normally, and are not expected to resolve all their symbols + until they are linked into a library; convenience libraries are + then rolled using 'ar' and 'ranlib' (or equivalent) which also do + not check whether symbols are resolved. We now build each of the + loaders as a convenience library module under these assumptions, + and link libltdl.la with selected modules, at which time all of + the symbols *are* resolved: + + * TODO: Remove item addressed by this changeset. + * libltdl/Makefile.am (lib_LTLIBRARIES): Remove libdlloader.la. + (libdlloader_la_SOURCES): Declaration removed. Changed all + clients. Source files.. + (libltdl_la_SOURCES): ...added back in here. + (libdlloader_LDFLAGS, libdlloader_la_LIBADD): Removed. + (libltdl_la_LIBADD): Remove libdlloader.la; add $(LTLIBOBJS). + * libltdl/loaders/Makefile.am: Removed all references to + libdlloader.la. + +2005-02-25 Gary V. Vaughan + + * libtoolize.m4sh (func_copy): Split arguments to func_copy_cb + calls across lines so that quote.test doesn't misdiagnose nested + quotes. + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): + Fix some typos -- s/_LT_AC_TAGVAR/_LT_TAGVAR/g. + +2005-02-24 Peter O'Gorman + + * m4/libtool.m4 (_LT_LINKER_SHLIBS): The Portland group's + compiler does not pass --whole-archive. Move gnu ld check for + the flag to the top so it can be overridden. + (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): Unset + whole_archive_flag_spec for the portland group's c++ compiler + too. + Reported by Jeff Squyres + +2005-02-23 Gary V. Vaughan + + * libltdl/Makefile.am (install-data-local): Don't forget about + $(DESTDIR). + * libltdl/loaders/Makefile.am (install-data-local): Ditto. + +2005-02-23 Gary V. Vaughan + + Preserving the installed timestamps for libltdl sources from + `libtoolize --ltdl --copy' is pointless if they are not preserved + from the libtool source tree at install time: + + * libltdl/Makefile.am, libltdl/loaders/Makefile.am + (nobase_ltdldata_DATA): Renamed to... + (ltdldatafiles): ...this. + (install-data-local): New rule to install libltdl tree with tar to + preserve timestamps. + +2005-02-23 Christoph Egger (tiny change) + + * config/ltmain.m4sh (func_mode_link): Add -pthread like flags to + inherited_linker_flags. + +2005-02-22 Gary V. Vaughan + + * libtoolize.m4sh (func_copy_cb): self.leg->shoot_off() :-/ + Let's not redirect stdout to null when sending tar output to a + pipe. + +2005-02-22 Gary V. Vaughan + + Using `libtoolize --copy --ltdl' was not preserving timestamps, so + parts of the autoconf bootstrap would be rerun spuriously after + the files had been copied into the source tree: + + * libtoolize.m4sh (TAR): New default tar command. + (func_copy_cb): Move the core copying internals to here, using + $TAR to transfer files if possible when --copy was specified. + (func_copy): Adjust to call func_copy_cb. + * TODO: Remember to refactor this fix in due course. + Reported by Jeff Squyres + +2005-02-21 Peter O'Gorman + + * config/ltmain.m4sh (func_extract_archives) [darwin]: This didn't + actually work on a real fat archive, should do now. + * tests/functests.at [darwin]: remove darwin fat tests which + did not actually work. + +2005-02-07 Peter O'Gorman + + * config/ltmain.m4sh: Add -pthread like flags when linking + executables too. + Reported by Andreas Schwab + +2005-02-04 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_link): Allow five digits in + version-info. + + * NEWS: s/Linux/GNU &/. + +2005-02-03 Ralf Wildenhues + + * tests/Makefile.am, tests/testsuite.at, tests/stresstest.at: + New test. Stresses several combinations of link flags and + path specifications. Uses several data types to test linkage + against symbols in all kinds of (e.g., ELF) sections. + +2005-02-03 Reid Spencer , + Ralf Wildenhues + + * config/ltmain.m4sh (func_generate_dlsyms): Fix broken subdir + path computation, exposed by using `-dlopen self'. Fix broken + sed script exposed by additionally using `-export-symbols FILE'. + +2005-02-03 Ralf Wildenhues + + * THANKS: Update. + + * THANKS: Update. + +2005-02-03 Peter O'Gorman + + * config/ltmain.m4sh [darwin]: Don't add installed libs to + temp_rpath when building executables on darwin, or other systems + which use hardcode_automatic. It may break our wrapper scripts. + +2005-02-02 Ralf Wildenhues + + * config/getopt.m4sh (func_version, func_usage, func_help): + Exit with nonzero status on write failures. + * config/ltmain.m4sh (func_mode_help, func_config, func_features): + Ditto. + + * tests/sh.test: Check for preferred function definition layout. + +2005-02-01 Ralf Wildenhues + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) + [pw32, freebsd3.[01], freebsdelf3.[01]]: Fix [] quoting. Should + fix various spurious failures. + (_LT_LINKER_SHLIBS) [linux with GNU ld < 2.11, aix4.[012]*]: + Ditto. + (_LT_LANG_CXX_CONFIG) [aix4.[012]*, freebsd[12], solaris2.[0-5]]: + Ditto. + (_LT_LANG_GCJ_CONFIG): Ditto. + + * tests/Makefile.am: Add `atconfig' to DISTCLEANFILES. + + * clcommit.m4sh: Test whether the shell understands `read -r'. + Use as `$read_r' if available, so `\' is preserved in commit + notices. + + * HACKING (Editing `.m4sh' Files): Document preferred function + header layout. + * config/ltmain.m4sh (func_win32_libid, func_infer_tag) + (func_generate_dlsyms, func_extract_an_archive) + (func_extract_archives): Adjust to fit. + +2005-01-31 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unicos 9 sed rejects + empty parentheses as in 's/x\(\)/\1/'. + (_LT_COMPILER_PIC) [unicos*]: wl=-Wl,. + * tests/sh.test: Not all sed's like '/.*\n.*/' (Unicos 9 sed + loops endlessly). + + * tests/quote.test: Match link quoting against `"$wl"', not + `-Wl,'. + + * tests/quote.test: Check for `--no-reexec' in $1 to avoid one + reexec. + + * m4/libtool.m4 (_LT_COMPILER_C_O): _LT_TAGDECL(lt_compiler_c_o), + not _LT_DECL, since this is tag-dependent. + + * config/ltmain.m4sh, m4/libtool.m4: Change `( cmd ) 2>/dev/null' + to `{ cmd; } 2>/dev/null', when cmd has no side effects and might + be a builtin. Note that it is unspecified whether cmd will run + within a subshell (e.g. Bourne shells) or within the current shell + (most modern shells). + +2005-01-29 Ralf Wildenhues + + * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [linux]: + Update for Intel Compiler icc/icpc/ifort: add -i_dynamic and + -nofor_main, if necessary. Simplify logic somewhat. + +2005-01-26 Ralf Wildenhues + + * tests/Makefile.am: also re-export CPP, CXXCPP, and the value of + SHELL as CONFIG_SHELL. + Reported by Heinz Salzmann . + +2005-01-26 Craig Dooley , + Ralf Wildenhues + + * NEWS, m4/libtool.m4, config/ltmain.m4sh [dragonfly]: + Add support for DragonFly. + +2005-01-26 Ralf Wildenhues + + * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Work around pdksh + positional parameter expansion bug. + +2005-01-25 Ralf Wildenhues + + * config/ltmain.m4sh: Fix endless loop in cmdline parsing. + +2005-01-25 Albert Chin-A-Young + + * config/ltmain.m4sh (func_mode_link) [irix]: Preserve processor + option for SGI Compiler (-r[0-9][0-9]*). + +2005-01-24 Ralf Wildenhues + + * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Define Bourne and XSI + variants of new function func_stripname for stripping literal + prefixes and suffixes. + * config/ltmain.m4sh (all over): Use func_stripname. + + * tests/defs.m4sh: Extract $build from $LIBTOOL. + (func_configure): Pass --host if $host != $build. + (func_exec): Try executing cross-compiled binaries (e.g. i686 -> + i386), but SKIP rather than FAIL. + * tests/depdemo-relink.test: Do not try to access possibly non- + existent files. SKIP rather than FAIL or PASS falsely when + cross-compiling. + + * m4/libtool.m4 (_LT_SETUP) [mingw, cygwin, pw32, os2]: + Add _LT_DECLs for host_os, build_alias, build and build_os. + host_os and build were used in a few occasions in ltmain.m4sh + and affect above-mentioned systems, the others are added for + symmetry and in order to be able to detect cross-compiling. + +2005-01-23 Ralf Wildenhues + + * libltdl/Makefile.am: Add $(AM_LDFLAGS) to all per-target + variables *_LDFLAGS as per CVS Automake semantic change. + +2005-01-16 Peter O'Gorman + + * config/ltmain.m4sh (func_mode_link): Don't pass through + compiler-like thread flags when using $LD to do the linking. + Use compiler_flags instead. + Reported by Mark_Andrews@isc.org. + + * m4/libtool.m4 (LT_CMD_MAX_LEN) [osf]: On Tru64 there could + be a kernel panic when testing the maximum command line length + if exec_disable_arg_limit=1. Don't do the tests to figure it + out on *-osf*. + Reported by Dr. Hans Ekkehard Plesser + + +2005-01-14 Guido Draheim (tiny change) + + * m4/libtool.m4 (AC_PROG_SED): Don't break test loop early. + +2005-01-12 Ralf Wildenhues + + * TODO: Update. + + * libltdl/ltdl.c: Whitespace cleanup. + + * config/ltmain.m4sh: New option `--verbose'/`-v' to enable + override of `--silent'. Verbose is the default behavior. + * doc/libtool.texi (Invoking libtool): Document it. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: While "parsing" + /etc/ld.so.conf, skip comments. + Reported by Jens Elkner . + +2005-01-10 Ralf Wildenhues + + * libltdl/libltdl/lt__glibc.h: Move all exported slist + symbols into the lt__* namespace. + * libltdl/libltdl/lt__private.h, libltdl/libltdl/slist.h: + Adjust includes. + +2005-01-10 Peter O'Gorman + + * config/ltmain.m4sh (func_mode_link): Fix + inherited_linker_flags so it puts it on the link line when + linking shared libraries as well as when linking executables. + * tests/inherited_flags.at: test inherited_linker_flags. + * tests/Makefile.am: Add test. + * tests/testsuite.at: Add test. + Reported by: Albert Chin-A-Young + +2005-01-10 Ralf Wildenhues + + * tests/sh.test: After `set dummy [...]', check for `shift' + within the same and following line. + * config/ltmain.m4sh (func_enable_tag, func_mode_install) + (func_mode_link): Sprinkle `shift's all over to conform to this. + +2005-01-09 Gary V. Vaughan + + * HACKING (Editing 'ChangeLog'): Follow the GCS with respect to + attributions, and mention how to handle tiny changes. + Reported by Alexandre Duret-Lutz . + + * ChangeLog.2004: Trim 2005 entries. + * ChangeLog: Add missing entries. + +2005-01-08 Gary V. Vaughan + + * ChangeLog: Move 2004 change logs from here... + * ChangeLog.2004: ...to here. + + * m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, + m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4: RMS says, + 'I think the [license of autoconf macro files] should be: + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is + # preserved.'. + + * ChangeLog: Reformatting. + * HACKING: Fix section numbering. + (Editing 'ChangeLog'): New notes on ChangeLog entry format. + +2005-01-03 Ralf Wildenhues + + * tests/am-subdir.at tests/testsuite.at (AT_BOOTSTRAP, + AT_LIBTOOLIZE, AT_CHECK_LIBTOOLIZE): Rename to ... + (LT_AT_BOOTSTRAP, LT_AT_LIBTOOLIZE, LT_AT_CHECK_LIBTOOLIZE): + ...and make use of new names. + +2004-12-30 Ralf Wildenhues + + * config/getopt.m4sh (func_version, func_usage, func_help): + Use `$SED -n' instead of `$SED RANGE {..}; d' as AIX sed cannot + handle the latter. + (func_help): start autoconf and automake in subshells to avoid + error messages from ash or Bourne shell if not available. + +2004-12-28 Ralf Wildenhues + + * config/general.m4sh (func_quote_for_eval): Move backslash to + beginning of character class, to work around old Bash bug. + (func_quote_for_expand): Also test to avoid unnecessary fork. + +2004-12-28 Ralf Wildenhues , + Gary V. Vaughan + + * Makefile.am, bootstrap, clcommit.m4sh, libtoolize.m4sh, + config/ltmain.m4sh: Replace `set --' with `set dummy [...]; shift' + for portability. + * tests/sh.test: Test for this. + +2004-12-28 Ralf Wildenhues + + * libtoolize.m4sh, config/ltmain.m4sh (most functions): New + variable $opt_debug is either `:' or `set -x' depending on + --debug. Execute at most function entries to cater for ksh which + resets `-x'. + * tests/defs.m4sh: Ditto for VERBOSE=debug. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: + _LT_TAGVAR missing for `fix_srcfile_path'. + [sysv4, sysv5]: _LT_TAGVAR missing for + `export_dynamic_flag_spec'. + + * doc/libtool.texi (all over): Use @option and @command. + Some more minor formatting updates, typos. + + * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix variable quoting; + allows lt_ECHO to match --fallback-echo again. + + * config/ltmain.m4sh (func_extract_archives): Not all shells grok + `read -r' (unnecessary in this case). + Reported by Ralf Menzel . + + * config/general.m4sh: New variable quote_scanset... + (func_quote_for_eval, func_quote_for_expand): ...use it to work + around SunOS ksh `case' backslash-escaping bug: protect character + class by variable expansion. + Reported by Alexander Kurz . + + * tests/quote.test: Restart under the correct shell (the one + $ECHO was computed for). + +2004-12-21 Ralf Wildenhues + + * libltdl/lt__dirent.c: Include lt__private.h. + * libltdl/libltdl/lt__private.h: Include lt__strl.h. + +2004-12-20 Peter O'Gorman + + * config/ltmain.m4sh (func_extract_archives) + (func_extract_an_archive): On darwin, uniq can not take the flags + -cd together, thanks to Ralf for the fix, also ar does not accept + N, so we use the fact that ar x libfoo.a foo.o will always extract + the first foo.o in the archive and we then delete foo.o from the + archive, which will also delete only the first foo.o, then rinse + and repeat. Also add markers for the testuite. + * m4/libtool.m4 (_LT_CONFIG): Add a marker so that we can use a + sed expression to find the shell functions in libtool. + * tests/functests.at: Test this feature. + * tests/testsuite.at: Add the test. + * tests/Makefile.am: Add the test. + +2004-12-20 Ralf Wildenhues + + * libtoolize.m4sh: Install `install-sh' as well, needed for + configure. + * Makefile.am, Makefile.maint: Install, update it. + * NEWS, doc/libtool.texi (Distributing): Document it. + Reported by Ross Boylan . + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Add '${wl}-z + ${wl}text' to archive_cmds and archive_expsyms_cmds. I.e., do not + allow nopic in shared libraries. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Change + no_undefined_flag back to ' -z defs'. Problems with linking + against libgcc.a will have to be resolved differently. + + * tests/demo-nopic.test [solaris, sunos]: Skip test. + +2004-12-18 Ralf Wildenhues + + * libtool.m4 [linux] (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG): + Match icpc* and ecpc* (ia64 version of icpc) instead of only icpc. + + * libltdl/lt__dirent.c (opendir) [mingw]: Fix write of constant + strings past end of buffer. + (opendir, readdir): Fix read past end of buffer. + +2004-12-17 Ralf Wildenhues + + * HACKING: Update list of non-Libtool-owned files. + +2004-12-17 Akim Demaille + + * libtoolize.m4sh (func_copy_all_from_path): Remove spurious eval. + +2004-12-16 Ralf Wildenhues + + * libltdl/ltdl.c (trim): Return error rather than do bogus + null pointer arithmetic when parsing a malformed .la file. + +2004-12-13 Bob Friesenhahn + + * libltdl/lt__strl.c, libltdl/libltdl/lt__strl.h: New files to + emulate strlcat and strlcpy, which support size-bounded string + copying and concatenation for improved security. + * libltdl/Makefile.am: Optionally build source files + libltdl/lt__strl.c and libltdl/libltdl/lt__strl.h. + * m4/ltdl.m4 (LTDL_INIT): Add checks for strlcat and strlcpy. + +2004-12-13 Albert Chin-A-Young + + * libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): + Append -G to link command-line on AIX to honor -brtl on + command-line (runtime linking). Already done for IBM C/C++ + compilers. + +2004-12-12 Patrick Welche + + * configure.ac: Fix aclocaldir to use ${datadir}, not ${prefix}. + Necessary for removal of old libtool.m4 files. + +2004-12-10 Ralf Wildenhues + + * config/ltmain.m4sh (func_extract_archive): Send stderr of $NM + to /dev/null. + Reported by Martin Waitz . + +2004-12-09 Albert Chin-A-Young + + * config/ltmain.m4sh: Preserve -model [arg] option, used + with the Tru64 UNIX C++ compiler. This option selects the + layout of C++ classes, name mangling, and exception handling. + +2004-12-09 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_finish) [solaris]: Fix [] escaping + bug. + + * config/ltmain.m4sh (all over the map): Make use of func_basename + and func_dirname in most occasions. + + * m4/libtool.m4 (_LT_CHECK_XSI_SHELL, _LT_PROG_XSI_SHELLFNS): New + macros to detect at `configure' time whether the shell supports + some XSI extensions and to copy appropriate versions of new shell + functions into `libtool' through `config.status'. Copied + functions are Bourne and XSI variants of func_basename, + func_dirname (a variant of `dirname' suitable for libtool). + (_LT_SETUP): Require _LT_CHECK_XSI_SHELL. + (_LT_CONFIG): Use _LT_PROG_XSI_SHELLFNS to insert into `libtool' + at marker. + + * config/ltmain.m4sh: Set marker for insertion of shell functions. + + * config/general.m4sh (func_quote_for_eval): Only fork if the + substitution matches. + +2004-12-03 Gary V. Vaughan + + * TODO: Paste Peter's summary of the TODO thread starting at + http://lists.gnu.org/archive/html/libtool/2004-11/msg00130.html. + +2004-12-02 Bob Friesenhahn + + * config/ltmain.m4sh: Remove code which is no longer needed + now that temp_rpath only contains fully-qualified elements. + +2004-11-30 Ralf Wildenhues + + * config/general.m4sh: basename sed-subst is anchored and thus + does not need the `g' flag. + (func_quote_for_eval): Return both the possibly double-quoted + backslashified as well as only the backslashified argument. + * config/ltmain.m4sh (func_mode_link): Use both return values, + to save another sed_quote_subst application per cmdline arg. + +2004-11-29 Ralf Wildenhues + + * config/ltmain.m4sh (func_lalib_p): Update function + description. + (func_lalib_unsafe_p): New function with same functionality but + written without forks; this function is safe to use for cases + where the argument either does not exist or is required to be a + lalib for correct operation. + * NEWS: Mention the fact that stdin is not to be used. + * config/ltmain.m4sh (func_mode_execute, func_mode_install) + (func_mode_link): Use func_lalib_unsafe_p where appropriate. + (func_mode_execute): For the program wrapper, use + func_ltwrapper_p instead of func_lalib_p. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS): Treat linux-dietlibc with + the `diet' compiler wrapper (as opposed to the `diet-dyn' wrapper) + as a static-only platform. + * NEWS: Updated. + + * libltdl/ltdl.c (trim): Use memcpy instead of strncpy here, to + avoid problems with non-conforming strncpy. This is safe here. + + * m4/ltdl.m4 (LT_LIB_DLLOAD): Define HAVE_LIBDLLOADER if we + have a dlloader to preload. + * libltdl/ltdl.c (lt_dlinit): Only preload if HAVE_LIBDLLOADER, only + declare preloaded_symbols then. Fixes libltdl on static platforms. + * NEWS: Updated. + +2004-11-29 Gary V. Vaughan + + Add a search path option to libtoolize so that we can run it from + the testsuite without pulling in the last installed macros and + ltdl sources: + + * libtoolize.m4sh: Add a -I option to change libtoolize's search + path for macro files, and libltdl master sources. + (pkgvdatadir, pkgvmacrodir): Renamed... + (pkgvdatadirs, pkgvmacrodirs): ...as they can now contain a ':' + delimited list of directories. Adjust all callers. + (func_copy_all_from_path): New function to search a ':' delimited + search path for a directory to copy. + (func_serial_update, func_ltmain_update, func_config_update): New + first parameter is a filename to search for. srcdir parameter can + now be a ':' delimited search path. Adjust all callers. + (func_copy_some_files): Ditto. + Put srcfile_spec first in parameter list for consistency with + other functions. Adjust all callers. + (func_copy_cb): func_copy adapter function to call func_copy + correctly from func_copy_some_files. + (func_filename_path_search): Return the full path to the first + occurence of a named file found in a list of directories. + * tests/testsuite.at (LIBTOOLIZE): Wrap exported LIBTOOLIZE + initialisation in PREPARE_TESTS diversion to stop it being + discarded when testsuite is generated. + (AT_LIBTOOLIZE): Factor out libtoolize calls, + and set search path to find macros and libltdl source files from + the source tree. + (AT_CHECK_LIBTOOLIZE): Test it. + (AT_BOOTSTRAP): Adjust. Split out call to make. + * tests/am-subdir.at: Call make explicitly. + (Makefile.am): Fix typo in ACLOCAL_AMFLAGS, + +2004-11-28 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_link): $dlsymsobj is really + $symfileobj, bug exposed only in the static preloading case + (symfileobj is created, but not linked into output). + + * tests/demo-relink.test, tests/depdemo-relink.test: SKIP, don't + FAIL if no shared libs available in demo/. Do not try to access + nonexistent files. + + * libltdl/loaders/loadlibrary.c: Remove unneeded + file-static variable. + +2004-11-27 Bob Friesenhahn + + * config/ltmain.m4sh: Add fully-qualified paths to temp_rpath + rather than unqualified paths in order to avoid possible errors + when computing the fully-qualified path later. + +2004-11-24 Jeff Squyres + + * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) [linux]: Support for Portland Group (aka + "pgi") compilers. + * NEWS, THANKS: Updated. + +2004-11-24 Gary V. Vaughan + + * Makefile.am: Move Autotest rules from here... + * tests/Makefile.am: ...to here. + * bootstrap: Adjust. Also, create temporary Makefile from + tests/Makefile.am so that bootstrap can create the Autotest + testsuite. + +2004-11-23 Gary V. Vaughan + + If the user's login shell is something crazy like, oooh, + /bin/tcsh, trying to execute bourne shell helper scripts with + the `$SHELL /path/to/helper $helper_flags' idiom incase the + execute bits were lost by say, eeer, cvs, is gonna blow up in + our faces. This changeset tries to save these people from + their shells^H^H^H^H^H^H^H^H^Hmselves :-> + + * tests/defs.m4sh (SHELL): Move definition from here... + * config/general.m4sh (SHELL): ...to here. + +2004-11-23 Gary V. Vaughan + + The ltdl.h header is the published interface to libltdl, and + is thus not installed to $prefix/include/libltdl. It has always + been used with `#include ', so move just that one file + back to where it was before: + + * libltdl/libltdl/ltdl.h: Moved from here... + * libltdl/ltdl.h: ...to here. + * libltdl/Makefile.am: Adjust. + +2004-11-23 Peter O'Gorman + + Do not require that libtoolize --ltdl=/some/path end in libltdl. + Move most libltdl headers to libltdl/libltdl to allow + `#include ' to always work: + + * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for includes + in the new location. + * libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, + libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, + libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, + libltdl/libltdl/lt_system.h, libltdl/libltdl/ltdl.h, + libltdl/libltdl/slist.h: Added files, moved from libtdl/. + * libltdl/lt__alloc.h, libltdl/lt__dirent.h, libltdl/lt__glibc.h, + libltdl/lt__private.h, libltdl/lt_dlloader.h, libltdl/lt_error.h, + libltdl/lt_system.h, libltdl/ltdl.h, libltdl/slist.h: Removed, moved + to libltdl/libltdl. + +2004-11-23 Ralf Wildenhues + + * doc/libtool.texi (LT_INIT): s/libtool 1.6/libtool 2.0/. + (Invoking libtoolize): Fix typo. + +2004-11-22 Gary V. Vaughan + + * config/ltmain.m4sh (func_mode_install): Now that func_mktempdir + has been improved, the default directory template is perfectly + fine. + + * doc/libtool.texi (Invoking libtoolize): Improve documentation + for use of ACLOCAL_AMFLAGS and AC_CONFIG_MACRO_DIR. + +2004-11-22 Ralf Wildenhues + + * m4/libtool.m4 (_LT_TAG_COMPILER): Document that with_gcc is + tag-dependent. + + * m4/libtool.m4, tests/demo-nopic.test: Undo bogus commit. + + * config/ltmain.m4sh (func_mode_link), tests/objectlist.test: + Make sure the argument to `-objectlist' may contain spaces. + +2004-11-19 Gary V. Vaughan + + * config/m4general.m4sh, config/mailnotify.m4sh, + clcommit.m4sh: Updated from cvs-utils--tla--1.0 to allow + parallel commits, and use safer tmpfiles. + +2004-11-19 Ralf Wildenhues + + * doc/libtool.texi (Libltdl interface): Typos. + + * doc/libtool.texi (Libltdl interface): Document public macros + LT_PATHSEP_CHAR, LT_DIRSEP_CHAR, use in path descriptions. + +2004-11-18 Daniel Reed + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Interpret + `include' statements in toplevel ld.so.conf file. + +2004-11-18 Ralf Wildenhues + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: + tag-protect setting of ld_shlibs. + +2004-11-17 Ralf Wildenhues + + * doc/libtool.texi (Libltdl interface): The path separator + is system-dependent. + + * doc/libtool.texi (Linking static libraries): Typo. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [aix4/aix5 !ia64]: Set whole_archive_flag_spec to '$convenience' + so convenience libs are really added to the link cmdline. + +2004-11-17 Mats Rynge + + * libtool.m4 [linux]: Use only the CC basename in case statment + when checking for icc/ecc. Allows for setting CC to the full path + to the compiler. + + * libtool.m4 [solaris]: Added missing 'with linker' flags to + -z allextract ... -z defaultextract flags + +2004-11-14 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LINKER_SHLIBS): Typo: s/--rpath/-rpath/g. + (_LT_LANG_CXX_CONFIG): Ditto. + + * configure.ac (APIVERSION): New substituted variable. + (pkgvdatadir): Ditto. Versioned data directory. + (pkgvmacrodir): Ditto. Versioned aclocal directory. + (LN): New check for LN command. + * Makefile.am (aclocal_DATA): Replaced with... + (pkgvmacro_DATA): ...this. + (install-data-local): Remove old shared resources. + (install-exec-hook): Make versioned links to executables. + (uninstall-hook): Remove versioned files. + * libltdl/Makefile.am (ltdldatadir): Redefine in terms of + pkgvdatadir. + * libltdl/loaders/Makefile.am (ltdldatadir): Ditto. + * libtoolize.m4sh: Copy macro files from versioned macro directory + instead of shared aclocal directory. + * doc/libtool.texi: Document it. + * NEWS: Updated. + +2004-11-10 Gary V. Vaughan + + From James Henstridge : + * m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4: Added commented out + empty macro definitions to match each AU_DEFUN to help aclocal + from automake-1.4 regexps find the right libtool macro files. + +2004-11-10 James E Wilson , + Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_link), tests/Makefile.am, + Fix error message with `-objectlist' file that does not exist. + * tests/objectlist.test: New test for this. + + * Makefile.am: config/ltmain.sh is generated by + config/ltmain.m4sh. + +2004-11-09 Ralf Wildenhues + + * doc/libtool.texi (Compile mode, Link mode, + Libltdl interface, Test descriptions, libtool script + contents): Some quote cleanup, more use of texinfo types. + + * doc/libtool.texi (libtool script contents): + echo is now ECHO; mention argument restriction. + + * doc/libtool.texi (Multiple dependencies): Minor rewording. + + * doc/libtool.texi (User defined module data, References): + indentation and word-wrap cleanup. + + * doc/libtool.texi (all over): White space cleanup: + two spaces at start of sentence, no TABs. + +2004-11-09 Gary V. Vaughan , + Ralf Wildenhues + + * doc/libtool.texi (libtool script contents): Fix description + of need_lib_prefix. + +2004-11-08 Peter Ekberg + + * config/ltmain.m4sh (func_mode_link): forward thread + related flags to dependent applications and libraries + by adding them to `inherited_linker_flags'. + +2004-11-07 Ralf Wildenhues + + * m4/ltoptions.m4: Change all references of LT_LIBTOOL_INIT + to LT_INIT. + +2004-11-05 Peter Ekberg + + * ltmain.m4sh (cwrappersource): clean up other warning on MinGW. + +2004-11-04 Bernhard Fischer , + Ralf Wildenhues + + * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS), m4/ltoptions.m4 + (_LT_SET_OPTIONS), README, README.alpha: Typos. + +2004-11-03 Ralf Wildenhues + + * libltdl/ltdl.c (parse_dotla_file): Fix memleak. + + * ltmain.m4sh (cwrappersource): Cast isalpha arguments correctly. + +2004-11-03 Peter Ekberg + + * ltmain.m4sh (cwrappersource): clean up warnings and + #include errors on MinGW. + +2004-11-01 Peter Ekberg + + * config/ltmain.m4sh (cwrappersource): clean up warnings and + #include errors. + +2004-11-01 Peter Ekberg + + Sometimes, a wrapper script is generated for an executable that, + itself, does not link against an uninstalled library. It appears + that this can happen if you are building a project where: + + (1) there is a library + (2) there is an executable that does not, itself, link against + that library + + In this case, notinst_deplibs is empty, and when the wrapper + script is loaded by libtool during ./libtool mode=install, there + is a check for "is notinst_deplibs empty". In this case, it is, + so libtool reports an error. + + I don't think it is wrong to have a wrapper script for an exe that + *technically* doesn't need it. But instead of checking for + notinst_deplib nonempty as a proxy for "did wrapper script get + sourced into my environment properly" a different var should be + used. + + * config/ltmain.m4sh (func_mode_install): set new variable + `generated_by_libtool_version' in wrapper script when using + libtool_install_magic. When verifying that wrapper script was + properly sourced, check that `generated_by_libtool_version' is + non-empty, instead of using notinst_deplibs. + +2004-11-01 Charles Wilson , + Peter Ekberg + + * config/ltmain.m4sh (func_mode_install): On Windows based hosts, + ensure that import libraries don't get stripped. + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): On Windows based hosts, + use postinstall_cmds to strip DLL (not import lib!) when symbol + stripped installation was requested. + +2004-10-30 Ralf Wildenhues + + * libltdl/ltdl.c (loader_init_callback): Back out broken cast. + + * libltdl/ltdl.c (loader_init_callback, lt_dlexit): Add casts to + target type. + + * tests/defs.m4sh (func_exec): `shift'ing when there is nothing + to shift is non-portable. + +2004-10-28 Patrick Welche , + Ralf Wildenhues + + * Makefile.am, Makefile.maint: Use path for dependencies built + in the source tree, to cater for BSD make. + +2004-10-24 Noah Misch + + * config/ltmain.m4sh (func_lalib_p, func_ltwrapper_p): New + functions that abstract .la sanity checking. + (func_mode_execute, func_mode_install, func_mode_link) + (func_mode_uninstall): Use them. + +2004-10-24 Gary V. Vaughan + + * config/ltmain.m4sh (opt_silent): Whether --silent was given. + (run, show): Deleted. All callers converted to opt_dry_run, + opt_silent or calls to func_show_eval. + * tests/mdemo-dryrun.test: Adjust. + + * HACKING: Fix a typo in the gpg --verify instructions. + + * Makefile.maint (cvs-dist): Generate signatures and directives + for bz2 upload. + +2004-10-23 Peter O'Gorman + + * config/ltmain.m4sh (func_mode_link): Make Gary's new tests + pass. When the output wrapper script is not in the current + directory, we can not use an rpath which is relative to the + current directory. Use an absolute path instead. + +2004-10-22 Gary V. Vaughan + + * clcommit.m4sh: Add --rcfile option. + + * clcommit.m4sh: Updated again, to support file list limited + commits to CVS, and to fix another occurence of the bash bug + that was preventing non-tla users from sending a commit mail. + +2004-10-22 Ralf Wildenhues + + * TODO, libltdl/lt_error.h, libltdl/ltdl.c, libltdl/ltdl.h: + Undo accidental commit. + + * Makefile.maint: Fix typo. + +2004-10-22 Gary V. Vaughan + + * clcommit.m4sh, config/mailnotify.m4sh: Updated from + cvs-utils--tla--1.0 to fix quoting of metachars in patch names. + + * HACKING: Updated: `.in' files are now `.m4sh'; document some + more coding standards for these files. + + * config/general.m4sh (sed_double_backslash): Undo an + over-optimisation. + +2004-10-21 Gary V. Vaughan + + * AUTHORS: Reformatted to better reflect the current state of + Libtool maintainership. + * THANKS: Reformatted to give maintainers a quick way to look + up who has supplied FSF paperwork. + +2004-10-21 Noah Misch , + Gary V. Vaughan + + * config/general.m4sh (sed_double_backslash): Improve this sed + expression to correct left anchored \$ input to + double_quote_subst, as well as backslash escaped $ preceded by + any odd-numbered amount of \ characters. + +2004-10-20 Gary V. Vaughan + + * config/general.m4sh (sed_double_backslash): New sed expression + to escape \$ properly in combination with double_quote_subst. + (func_quote_for_eval): Four space indent margin for functions! + (func_quote_for_expand): Use $sed_double_backslash. + (func_show_eval): New function that echos an escaped but variable + expanded command, and then evaluates it. + +2004-10-20 Noah Misch , + Gary V. Vaughan + + * m4/libtool.m4 (sed_quote_subst): Remove superfluous backslashes + from the match character set. + (double_quote_subst): Ditto. + * config/general.m4sh (sed_quote_subst): Ditto. + (double_quote_subst): New variable, copied from + m4/libtool.m4. Much the same as sed_quote_subst, but variable + references are not quoted. + (func_quote_for_eval): Given any $foo; $bar and + $foo must be identical after the following commands: + func_quote_for_eval "$foo" + eval "bar=$func_quote_for_eval_result" + (func_quote_for_expand): In a similar vein to to func_quote_for_eval, + except that variable expansions are not protected when quoting the + command for subsequent display. + * config/ltmain.m4sh: Factor away use of $sed_quote_subst now that + it has been subsumed into func_quote_for_eval. + (func_mode_link): Instead of `2004-10-14 Peter O'Gorman' below, + use func_quote_for_expand so that ${wl} is expanded properly in + the $show expression. + +2004-10-16 Gary V. Vaughan + + * config/ltmain.m4sh (func_mode_finish): solaris-2.6 also has + crle(1). + Reported by Albert Chin-A-Young + +2004-10-16 Gary V. Vaughan + + Add some new tests for Libtool's support of Automake + subdir-objects builds. This marks the beginning of a move to an + Autotest driven test framework, which will eventually allow us to + trim away many of the generated files in the current test demo + subdirectories: + + * configure.ac (AC_CONFIG_TESTDIR): Re-enable commented out + Autotest macros. + (AUTOTEST, M4SH): Use --language long hand. + * bootstrap: Generate tests/testsuite, and by implication + tests/package.m4. + * Makefile.am (edit): Add substitutions needed to generate + tests/package.m4 from bootstrap. + (check-recursive): Add tests/testsuite. + (TESTSUITE): The new Autotest testsuite target. + (TESTSUITE_AT): The Autotest sources. + (EXTRA_DIST): Distribute the generated testsuite and sources. + (tests/package.m4): Use $(edit) to propagate package metadata to + the new tests. + (tests/testsuite): Build the testsuite. + (tests/atconfig): How to regenerate the file. + (check-local): Hook Autotest into `make check'. + (installcheck-local): Run the testsuite on the installed tree. + (clean-local): Tidy our file droppings. + * tests/Makefile.am: Remove bitrotted code from Autotest + experiments in Autoconf 2.52 era. Updated the rest and moved into + Makefile.am. + * tests/testsuite.at: New container for Autotest test groups. + * tests/am-subdir.at: New test group for compatibility with + Automake's subdir-objects builds. Currently holds two tests, one + for a C project and another similar project in C++. + * TODO: Add an entry to remind us that these new tests expose a + bug in libtool. + * NEWS: Updated. + +2004-10-14 Peter O'Gorman + + * config/ltmain.m4sh: Revert most of my last commit, only eval + \$show \"$cmds\", and only when building a library. I'm a wimp. + Thanks Gary for pointing out errors in previous commit. + +2004-10-13 Gary V. Vaughan + + * config/ltmain.m4sh (func_mode_finish): Mention crle(1) on + solaris 2.7 and higher in the finalisation notes. + Reported by Kurt J. Lidl + + * tests/cdemo-undef.test: New test for hosts that allow shared + libraries with undefined symbols, but have no C++ compiler + installed. + * tests/Makefile.am (COMMON_TESTS): Add it. + +2004-10-13 Peter O'Gorman + + * config/ltmain.m4sh: Make sure that we $show what we will $run, + use eval $show if we do $run eval. + +2004-10-13 Charles Wilson + + * config/ltmain.m4sh: add foo/bin for every foo/lib + in dllsearchpath when creating wrapper script. Fixes + depdemo-relink test failure. + +2004-10-12 Charles Wilson + + * config/ltmain.m4sh (func_mode_link): don't relink + on cygwin/mingw; no need. But do ensure that wrappers + are created unless doing a purely static build. + +2004-10-13 Gary V. Vaughan + + * tests/tagdemo-undef.test: New test for hosts that allow shared + libraries with undefined symbols. + * tests/Makefile.am (CXX_TESTS): Add it. + +2004-10-11 Charles Wilson + + * tests/link.test: Fix check for use of libnlsut.a under + Cygwin. + +2004-10-11 Noah Misch + + * tests/quote.test: Do not look for $preargs in the output, + because libtool may change them. + +2004-10-10 Charles Wilson + + * config/ltmain.m4sh: Really don't require versions of GNU + sed newer than 3.02 for Cygwin and MinGW, and don't break + dryrun mode. + +2004-10-10 Bob Friesenhahn + + * config/getopt.m4sh: Under MinGW, reported paths may include ':' + so ':' should not be used as the sed delimiter. Use '*' instead + since it is very unlikely to appear in a path. + +2004-10-10 Albert Chin-A-Young + + * config/ltmain.m4sh: Don't require versions of GNU sed newer than + 3.02 for Cygwin and MinGW. + +2004-10-10 Bob Friesenhahn + + * tests/pdemo-inst.test: Correction for mis-application of + Charles Wilson's earlier patch. + +2004-10-09 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LANG_F77_CONFIG): Make sure the save and + restore code for CC is nested at the same depth. + (_LT_LANG_CXX_CONFIG): Ditto, but for several variables. + +2004-10-08 Gary V. Vaughan + + Update to the latest commit and mailnotify scripts from + gary@gnu.org--2004/cvs-utils--tla--1.0: + + * commit, config/mailnotify: Removed. Now built from... + * clcommit.m4sh, config/mailnotify.m4sh: ...these new sources. + * Makefile.maint (commit, config/mailnotify): How to build them. + * bootstrap: If we have a checked out tree (i.e. clcommit.m4sh + is present), then build them. + +2004-10-08 Gary V. Vaughan + + Fix some issues that mangled the reexecution path to a script, + and thus prevented it from finding itself: + + * config/general.m4sh (progname): Don't actually change the name + of the script if it begins with a `-', just prepend `./'. + (progpath): Add a new clause that first searches the execution + PATH, and then finally assumes this script is in the current + working directory if $progname has no directory separators (e.g + when invoked as `$SHELL progname'). + +2004-10-08 Gary V. Vaughan + + * config/general.m4sh (func_verbose): Work around a bash bug in + shell functions. + +2004-10-08 Charles Wilson + + * tests/pdemo-inst.test: pdemo-inst should depend on pdemo-make. + * config/ltmain.m4sh: Windows and Cygwin reserve the .lnk + extension to represent shortcuts. Use the extension ".lnkscript" + rather than ".lnk" for the piecewise linking ld script in order to + avoid the conflict. + +2004-10-07 Ralf Wildenhues + + * libltdl/ltdl.c (lt_dlexit, lt_dlpath_insertdir): Fix memleaks, + free user_search_path on lt_dlexit. + +2004-10-07 Ralf Wildenhues + + * tests/sh.test: Remove tests which fail on AS_SHELL_SANITIZE + from autoconf >= 2.59. + + * TODO: Remove item: no need for a libltdl without stdio. + +2004-10-07 Gary V. Vaughan + + * tests/defs.m4sh (scripts): Actually scan the generated ltmain.sh + for shell portability problems. + + * m4/libtool.m4 (_LT_FORMAT_COMMENT): Shell meta-characters in + _LT_DECL descriptions were not being escaped before injection into + TAG CONFIG here documents in config.status. + +2004-10-06 Peter O'Gorman + + * m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77): New macros to work + around the deficiencies in AC_PROG_CXX and AC_PROG_F77. + * configure.ac: Cleaned up, having moved the checks for compilers + which do not exist to libtool.m4. + +2004-10-05 Ralf Wildenhues + + * libltdl/ltdl.c (try_dlopen): Move .la file parsing + part.. (parse_dotla_file): ..here. Adjust. + + * libltdl/ltdl.c (load_deplibs, try_dlopen): Revert unnecessary casts + to int from my patch from 2004-10-01. + + * AUTHORS: Add myself. + +2004-10-05 Peter O'Gorman + + * config/ltmain.m4sh [darwin]: Make the -dylib_file flag work on + older darwins too. Reported by Christoph Egger. + +2004-10-05 Gary V. Vaughan + + * configure.ac: Bumped version to 2.1a. + +2004-10-04 Gary V. Vaughan + + * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO + with $lt_ECHO, or we always get a libtool with ECHO=echo, rather + than testing for a mechanism that quotes \ properly. + * NEWS: Updated. + + * config/ltmain.m4sh: Need to include getopt.m4sh earlier so that + progpath is set before it is called to --no-reexec. + * NEWS: Updated. + +2004-10-04 Gary V. Vaughan + + Without this change, the distributed libtool tarball has a + dependency on autom4te. There was some inconsistency in the + filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure + -> foo[.sh]. Bootstrap runs the m4sh steps and the resulting .in + files are distributed: + + * tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh. + * Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh. + (libtoolize.in, libtoolize): Split into bootstrap and runtime + stages. + ($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto. + ($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in + names. + * bootstrap: Make libtoolize.in and tests/defs.in. + * NEWS: Updated. + +2004-10-03 Bob Friesenhahn + + * README, README.alpha: Update notes regarding available VERBOSE + settings. + +2004-10-03 Bob Friesenhahn + + * config/ltmain.in: Change $XSED to $Xsed to fix hang noticed + under MinGW. + * tests/defs.in: Support VERBOSE=debug to enable shell tracing + while running tests. + +2004-10-03 Gary V. Vaughan + + * NEWS: Updated. + * configure.ac: Bumped version to 1.9e. + + GNU libtool 1.9d was released. + + * configure.ac: Bumped version to 1.9d. + * NEWS: Updated. + + * libltdl/lt__alloc.h (lt__alloc_die): Declare with LT_SCOPE as + per Ralf's original patch. + Reported by Bob Friesenhahn + + * libltdl/Makefile.am (libltdlc_la_LIBADD): Don't use + libdlloader_la_OBJECTS, an undocumented Automake internal + variable... + (libltdlc_la_SOURCES): ...use libdlloader_la_SOURCES here + instead. + Reported by Bob Friesenhahn + + * libltdl/argz_.h: Forgot to spell lt_system.h with just one `_'. + + * libltdl/argz_.h: Forgot to include lt__system.h for LT_SCOPE + definition. + +2004-10-03 Ralf Wildenhues , + Gary V. Vaughan + + * libltdl/lt__alloc.h: Declare exported functions with LT_SCOPE + for mingw32. + * libltdl/lt__dirent.h: Ditto. + * libltdl/argz._h: Ditto. Be careful about not requiring + additional libltdl files when used outside of libltdl. + * libltdl/slist.h: Ditto. + * HACKING: Add a section on libltdl implementation layering. + +2004-10-03 Gary V. Vaughan + + * tests/quote.test: echo is called ECHO now. Make sure we extract + the value of ECHO from the libtool script. + Reported by Bob Friesenhahn + +2004-10-02 Gary V. Vaughan + + * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7*]: Revert my + hack from 2004-09-30 now that I've removed /lib/hello.la and the + tests work properly for me again. + +2004-10-02 Jim Tison + + Initial support for s390x-ibm-tpf: + + * m4/libtool.m4: Correct obvious spelling errors in remarks. + (_LT_ENABLE_LOCK): Make s390x-ibm-tpf hosts adopt elf64_s390 + conventions. + (_LT_SYS_DYNAMIC_LINKER): Set defaults for s390x-ibm-tpf host. + (_LT_CHECK_MAGIC_METHOD): Skip all dependency checks for + s390x-ibm-tpf hosts. + (_LT_LINKER_SHLIBS): Make s390x-ibm-tpf hosts adopt GNU/Linux OS + attributes. + * NEWS: Updated. + +2004-10-01 Ralf Wildenhues + + * config/ltmain.in (func_mode_install): Need to set $tmpdir before + using it. + + * config/ltmain.in (func_mode_link): Fix quoting bug. Fixes + e.g. the quoting of the -export-symbols-regex argument in .la + files' relink_command. + + * libltdl/lt__alloc.c (lt__memdup): Allocation can fail, so we + need to guard against null pointer dereference here. + * libltdl/ltdl.c (lt_dlcaller_register): Ditto. + + * libltdl/slist.c (slist_foreach): result was declared as + inner variable, shadowing the actually returned value. + + * libltdl/ltdl.c (load_deplibs, try_dlopen): Cast argument + to isspace/isalnum to the correct range. Also, cast to int to + avoid compiler warnings. + +2004-09-30 Ralf Wildenhues + + * libltdl/ltdl.c (try_dlopen): Fix null pointer dereference in + case the name given to lt_dlopen contains no extension. + + * libltdl/lt_dlloader.c (lt_dlloader_remove), libltdl/ltdl.c + (tryall_dlopen, lt_dlhandle_next): Show usage of function pointers. + + * doc/libtool.texi (LT_INIT, Using libltdl) + (Module loaders for libltdl, Multiple dependencies) + (libtool script contents): Fix several typos (trivial change). + Also, libltdl consists of more than two small files. + +2004-09-30 Gary V. Vaughan + + * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7]: My Panther + workstation doesn't hardcode the shared library path, although it + used to, so this is more likely a function of the binutils and/or + gcc I am using at the moment. The hardcode value setting code for + the configure script sucks at the moment though... + * TODO: ...and needs to do a test compile instead of a table + lookup before 2.0 final. + + * m4/libtool.m4 (echo): Use ECHO throughout for consistency with + config/ltmain.in. + Reported by Ralf Wildenhues + + * m4/libtool.m4 (rm): Use RM throughout for consistency with + config/ltmain.in. + Reported by Charles Wilson + +2004-09-27 Peter O'Gorman + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v + output during configure. (Really this time, honest) + +2004-09-26 Albert Chin-A-Young + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [aix]: In archive_expsym_cmds, + move -bnoentry linker option before $compiler_flags to honor any + possible -e entries in LDFLAGS. + +2004-09-25 Gary V. Vaughan + + * config/ltmain.in (func_mode_link): When linking an installed + libtool library on the command line using -lfoo we need to find + the library in the search paths and add it's dependency_libs to + the link in the conv pass so that any libtool libs listed are + correctly expanded in the link pass. + +2004-09-24 Charles Wilson + + * libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Revert changeset from + `2004-09-22 Charles Wilson '. + +2004-09-24 Gary V. Vaughan + + * config/general.m4sh (Xsed): Set a default when not used from + ltmain.in. + (ECHO): Audit for (and correct!) uses of $ECHO with more than one + argument, which breaks when ECHO='printf %s\n', and with possible + `-' as first character of the argument, which breaks `print -r' + and some implementations of `echo'. + * config/ltmain.in, tests/defs.in, libtoolize.in (ECHO): Ditto. + Reported by Albert Chin-A-Young + +2004-09-24 Peter O'Gorman + + * m4/libtool.m4 (_LT_CMD_STRIPLIB) [darwin]: strip archives too. + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v + output during configure. + +2004-09-24 Gary V. Vaughan + + * m4/libtool.m4 (_LT_DECL_EGREP): Only the newest CVS autoconf + AC_SUBSTs for GREP. Do our own here too to cater for release + autoconfen. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [openbsd3.3]: Set + need_version to yes or no depending on the os release. + Reported by Dalibor Topic + +2004-09-23 Gary V. Vaughan + + * tests/cdemo-conf.test, tests/cdemo-exec.test, + tests/cdemo-make.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-deplibs.test, tests/demo-exec.test, + tests/demo-hardcode.test, tests/demo-inst.test, + tests/demo-make.test, tests/demo-nofast.test, + tests/demo-noinst-link.test, tests/demo-nopic.test, + tests/demo-pic.test, tests/demo-relink.test, + tests/demo-shared.test, tests/demo-static.test, + tests/demo-unst.test, tests/depdemo-conf.test, + tests/depdemo-exec.test, tests/depdemo-inst.test, + tests/depdemo-make.test, tests/depdemo-nofast.test, + tests/depdemo-relink.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/depdemo-unst.test, + tests/f77demo-conf.test, tests/f77demo-exec.test, + tests/f77demo-make.test, tests/f77demo-shared.test, + tests/f77demo-static.test, tests/link-2.test, tests/link.test, + tests/mdemo-conf.test, tests/mdemo-dryrun.test, + tests/mdemo-exec.test, tests/mdemo-inst.test, + tests/mdemo-make.test, tests/mdemo-shared.test, + tests/mdemo-static.test, tests/mdemo-unst.test, + tests/mdemo2-conf.test, tests/mdemo2-exec.test, + tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, + tests/pdemo-make.test, tests/quote.test, tests/sh.test, + tests/suffix.test, tests/tagdemo-conf.test, + tests/tagdemo-exec.test, tests/tagdemo-make.test, + tests/tagdemo-shared.test, tests/tagdemo-static.test, + tests/tagtrace.test: POSIX `.' searches only in user's $PATH, so + we must use `. ./defs' to source the common code. + Reported by Alexandre Duret-Lutz + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Gah. Merge error + corrected. + +2004-09-23 Gary V. Vaughan + + Since defs can change (path to grep for example) when it is made + for a different host, it can't be shipped. That also means that + defs will always be generated in the build tree, so each test case + can have the srcdir discovery factored away into tests/defs.in: + + * Makefile.am (EXTRA_DIST): s/defs/defs.in/g + * tests/Makefile.am (defs): New rule to remake defs from the + parent directory's Makefile. + * tests/cdemo-conf.test, tests/cdemo-exec.test, + tests/cdemo-make.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-deplibs.test, tests/demo-exec.test, + tests/demo-hardcode.test, tests/demo-inst.test, + tests/demo-make.test, tests/demo-nofast.test, + tests/demo-noinst-link.test, tests/demo-nopic.test, + tests/demo-pic.test, tests/demo-relink.test, + tests/demo-shared.test, tests/demo-static.test, + tests/demo-unst.test, tests/depdemo-conf.test, + tests/depdemo-exec.test, tests/depdemo-inst.test, + tests/depdemo-make.test, tests/depdemo-nofast.test, + tests/depdemo-relink.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/depdemo-unst.test, + tests/f77demo-conf.test, tests/f77demo-exec.test, + tests/f77demo-make.test, tests/f77demo-shared.test, + tests/f77demo-static.test, tests/link-2.test, tests/link.test, + tests/mdemo-conf.test, tests/mdemo-dryrun.test, + tests/mdemo-exec.test, tests/mdemo-inst.test, + tests/mdemo-make.test, tests/mdemo-shared.test, + tests/mdemo-static.test, tests/mdemo-unst.test, + tests/mdemo2-conf.test, tests/mdemo2-exec.test, + tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, + tests/pdemo-make.test, tests/quote.test, tests/sh.test, + tests/suffix.test, tests/tagdemo-conf.test, + tests/tagdemo-exec.test, tests/tagdemo-make.test, + tests/tagdemo-shared.test, tests/tagdemo-static.test, + tests/tagtrace.test: Removed srcdir discovery boilerplate... + * tests/defs.in: ...and put it here. + +2004-09-23 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): move symcode calculation + to correct place. + * doc/libtool.texi (libtool script contents): update description + of global_symbol_to_cdecl. + +2004-09-23 Gary V. Vaughan + + * configure.ac (M4SH): AC_SUBST m4sh expander. + * config/general.m4sh, config/getopt.m4sh: New files with factored + out functionality from... + * config/ltmain.in, libtoolize.in: ...here. m4_include the shared + code, and call AS_SHELL_SANITIZE. Also quote all `[' and `]' to + survive m4 run. + (func_serial): No need to double up m4sh quotes after a `#'. + (func_check_macros): Escape `dnl' to stop m4sh interpreting it as + a macro. + * tests/defs.in: New file expanded into tests/defs by autom4te. + * m4/libtool.m4 (_LT_DECL_EGREP): Also require fgrep for the tests + that use it. + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Now built with + M4SH. + (libtoolize): Ditto. + * bootstrap: Set M4SH for call to make. + * HACKING: No need to sync to AS_SHELL_SANITIZE by hand any more. + + * m4/libtool.m4: _LT_DECL uppercase ECHO. + * config/ltmain.in: Use it throughout. + (func_mkdir_p): Now matches the other implementations in + tests/defs and libtoolize.in. + * tests/sh.test: Updated to detect ECHO misuse. + +2004-09-22 Gary V. Vaughan + + * config/ltmain.in (func_mode_link): Propagate a convenience + library's dependency libs correctly when it is being linked into a + libtool library. Deplibs are now propagated whether libdir is set + or not. + +2004-09-22 Andreas Schwab + + The dlpreopen pass over libraries reverses the elements in the + $deplibs list. This causes problems when the link pass tries to + find libraries when they are located in non-standard places + denoted by -L options. Due to the reversed order these -L options + occur after the libraries that need them, and they are not found: + + * config/ltmain.in: (Un)Reverse $deplibs list at the start of the + link pass in lib mode. + +2004-09-22 Charles Wilson + + * ltmain.in (func_generate_dlsyms) [cygwin, mingw]: when creating + a .exp file for an executable, also create a .def file, and add + that file to the link command via SYMFILES. This causes binutils + to generate an .edata section, and allows self dlopening to work. + * NEWS: Updated. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better quoting for + postinstall_cmds and postuninstall_cmds to allow spaces in install + paths. + + * config/ltmain.in (func_generate_dlsyms): Addresses in + _preloaded_symbols[] cannot go into .rdata section if symbols are + DATA imported from DLL, on windows, because runtime relocations + must happen. + * m4/libtool.m4 (_LT_LINKER_SHLIBS([TAGNAME])): Build exports for + symbols in .rdata sections. + +2004-09-19 Gary V. Vaughan + + The checks in assign.test are trying to catch case of this ilk: + `foo=bar break', but unfortunately they also choke on `foo=bar; + break' and `foo=bar && break'. Writing a sophisticated test to + catch just the intended case seems like more trouble than it's + worth, but leaving the test in causes the testsuite to fail on + valid m4sh output: + + * tests/assign.test: Removed; chokes on perfectly valid shell + syntax. + * tests/Makefile.am (COMMON_TESTS): Remove assign.test. + * tests/defs.in (scripts): Don't check the m4sh inputs, go back + to checking the generated ltmain.sh script. + +2004-09-17 Gary V. Vaughan + + * config/ltmain.in (func_echo): Except for multi-line warnings and + errors, always use func_echo. $show is for command output, and + $echo is for internal use in backtick expressions and similar. + +2004-09-17 Gary V. Vaughan + + Missed a couple of MKDIR_P references in ltmain.in in my last + patch; fix them carefully. Introduce an opt_dry_run to ltmain.in + so that the implementations of func_mkdir_p can converge, and a + func_mktempdir to do a better job of temporary directory creation: + + * libtoolize.in (func_mkdir_p): Don't fail if the directory wasn't + created in dry run mode. + * tests/defs (func_mkdir_p): Ditto. We don't actually have a dry + run mode for the tests, but the function is written carefully to + be kept in synch and work correctly here too. + * config/ltmain.in (func_mkdir_p): Ditto. This copy of the + function now only differs in its use of $echo over $ECHO. + (func_extract_archive): Removed first redundant mkdir call. + (func_mktempdir): New function that tries to avoid races when + making temporary directories. + (opt_dry_run): Set this if --dry-run is given at the CLI, or if + tests/mdemo-dryrun.test has forced the value of $run. + (func_mode_install): Call $MKDIR directly and error out if the + directory cannot be created. + (func_mode_link): Rather than copying func_mkdir_p into the + wrapper script as a replacement for $MKDIR_P, we know that the + script won't be called my `make -j', so write the current value of + $MKDIR. + +2004-09-17 Peter O'Gorman + + * m4/libtool.m4: remove an extra "]" + + * m4/libtool.m4 [darwin] (_LT_LANG_CXX_CONFIG): Changes for 10.4. + * config/libtool.in [darwin]: ditto. + +2004-09-16 Gary V. Vaughan + + My most recent `2004-09-02 Gary V. Vaughan' patch for mkdir_p + below is horrendously broken since it makes the installed libtool + try to run the mkinstalldirs or install-sh helper scripts. This + patch fixes the `make -j' mkdir race condition internally: + + * libtoolize.in (func_mkdir_p): New slice and dice algorithm + to build the directory tree one dir at a time, ignoring errors + until the end incase they are transient due to a concurrent + identical mkdir. + * tests/defs (func_mkdir_p): Ditto. + * config/ltmain.in (func_mkdir_p): Ditto, except that ltmain.in + uses $echo rather than $ECHO, and uses $show and $run to interact + correctly with the command line. + * configure.ac (AM_INIT_AUTOMAKE): 1.8 is sufficient again. + * Makefile.am (edit): Don't substitute automake's $(mkdir_p). + * NEWS: Updated. + +2004-09-15 Bob Friesenhahn + + * libltdl/loaders/loadlibrary.c: Compilation fixes (originally + from Gary V. Vaughan) to compile under MinGW. + * config/mkstamp: Translate input data so that it is assured to + use the Unix line terminations. This is necessary under Windows if + the files are checked out with CR/NL line terminations. A + side-effect of this change is that input must always be from + stdin. Previously a filename argument was accepted as well. + +2004-09-15 Ralf Wildenhues + + * tests/Makefile.am: Use the same CPP, F77, CXX and CXXFLAGS + for the test suite. + +2004-09-15 Ralf Wildenhues + + * m4/libtool.m4 (_LT_ENABLE_LOCK):Replace AC_TRY_LINK with + AC_LINK_IFELSE to get rid of `autoconf -Wobsolete' warning. + * m4/ltdl.m4 (LT_LIB_DLLOAD): Ditto. + +2004-09-15 Gary V. Vaughan + + * config/ltmain.in (func_quote_for_eval): Set a return value to + avoid forking at every call. Changed all callers. + (func_mode_link): Simplified, and removed the final non-portable + nested escaped double quotes in back quotes usage in the process. + +2004-09-14 Gary V. Vaughan + + * config/ltmain.in (func_quote_for_eval): Factor out the ugly + shell meta-character quoting. Changed all callers. + +2004-09-14 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Simplification: + distinguish between data and code symbols on every system. + +2004-09-14 Albert Chin-A-Young + + Unfortunately, libtool has no way of telling if unrecognized + compiler flags need an argument or not, and can disect options and + pass parts through incorrectly. This changeset reverts both + 2004-09-06 Albert Chin-A-Young (topmost) and 2004-09-05 Albert + Chin-A-Young below, and recognises more options explicitly: + + * config/ltmain.in (func_mode_link): Pass through options needed + to compile in 64-bit mode with gcc, and the SGI, Sun, HP and IBM + compilers. + +2004-09-13 Gary V. Vaughan + + * m4/libtool.m4 (_LT_CMD_GLOBALS_SYMBOLS): Fix a typo I made when + applying 2004-09-11 Ralf Wildenhues. + +2004-09-12 Brad + + * libtool.m4: Fixes for the OpenBSD support + +2004-09-12 Peter O'Gorman + + Our fortran tests were not very good. All the libraries created + were convenience libs, so we did not test the creation of shared + libraries on any platform. Also none of the libs used any actual + fortran library calls, adding a call to write(*,*) in each lib + causes the tests to fail on darwin (and presumably other platforms). + These new tests would likely cause many more fortran test failures, + so if there is an error during make it is reported as SKIP. + + * tests/f77demo-make.test: Don't fail hard, skip on failure. + * tests/f77demo/foof2.f: New file. + * tests/f77demo/foof3.f: New file. + * tests/f77demo/fprogram.f: Call routine in new lib. + * tests/f77demo/foof.f: Call routine in another new lib. + * tests/f77demo/Makefile.am: Make a couple of new libraries, add + $(FLIBS) to cprogram LDADD. + +2004-09-11 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes + data and code symbols on linux-gnu/ia64. Fixes multiple testsuite + failures. + * NEWS: Updated. + +2004-09-06 Gary V. Vaughan + + * libltdl/loaders/shl_load.c (get_vtable): Typo. + +2004-09-06 Albert Chin-A-Young + + Hopefully, passing unrecognised compiler arguments through + unmolested will prove to be a good plan for the 2.0 release. If + it goes awry, we can get back to where we were by reverting this + patch and the 2004-09-05 Albert Chin-A-Young patch, aka + gary@gnu.org--2004/libtool--devo--1.0--patch-169,172: + + * config/ltmain.in (func_mode_link): Because we now pass through + compiler arguments we doesn't recognize, the code to pass + through GCC's -m* arguments is not needed. + +2004-09-06 Albert Chin-A-Young + + * Makefile.am (clean-ltmain-sh): Using '==' to test for equality + in a shell script is not portable. Use '=' instead. + +2004-09-05 Andreas Schwab + + * m4/ltdl.m4 (LT_WITH_LTDL): Remove excess quoting in argument of + AC_CONFIG_SUBDIRS. + +2004-09-05 Albert Chin-A-Young + + * config/ltmain.in (func_mode_link): Pass otherwise unrecognised + + and - style switches to the compiler. + * NEWS: Updated. + +2004-09-05 Gary V. Vaughan + + * Makefile.am (libtool): Force libtool to be regenerated if + stamp-vcl has changed. + +2004-09-05 Albert Chin-A-Young + + * m4/libtool.m4, config/ltmain.in: When calling $LTCC, + pass default $CFLAGS through with $LTCFLAGS. + +2004-09-03 David Edelsohn + + * config/ltmain.in (func_mode_link): Use $pic_object as + $non_pic_object if $non_pic_object=none. + * NEWS: Updated. + +2004-09-03 Gary V. Vaughan + + * bootstrap: Remember that the ltmain.sh generated by bootstrap + is missing most of its substitution values, so force it to be + rebuilt at make time by touching $(top_srcdir)/config/ltmain.in. + + From Martin Quinson + * m4/libtool.m4 (_LT_SETUP, _LT_ENABLE_LOCK, LT_PATH_LD): Use + AS_HELP_STRING to get rid of autoconf -Wobsolete warning + messages. + * m4/ltdl.m4 (LT_WITH_LTDL, _LT_ENABLE_INSTALL): Ditto. + * m4/ltoptions.m4 (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC) + (_LT_ENABLE_FAST_INSTALL, _LT_WITH_PIC): Ditto. + * TODO: Updated + +2004-09-03 Ralf Wildenhues + + * libltdl/slist.c (slist_cons): Don't leak the tail of a list. + +2004-09-03 Albert Chin-A-Young + + * m4/libtool.m4 (_LT_ENABLE_LOCK): Reformatted. + +2004-09-03 Gary V. Vaughan + + * HACKING: Explain how to verify detached signatures with gpg in + the release announcement templates. + + * AUTHORS: Fix typo in my address. + +2004-09-02 Gary V. Vaughan , + + Builds of packages that use libtool and make -j produce "directory + already exists warnings" for .lib directory. Build on automake + wisdom to support make -j builds where a suitable mkdir is + available: + + * configure.ac (AM_INIT_AUTOMAKE): Require 1.9, which goes to some + trouble to find a $(mkdir_p) that doesn't interfere with make -j. + * Makefile.am (edit): Substitute for @mkdir_p@. + * config/ltmain.in (MKDIR_P): Take @mkdir_p@ value. + (mkdir): Removed. + (func_mkdir_p): New function to use $MKDIR_P. Factor out all + previous mkdir calls to use this function. + (RM, MV): Declared as in libtoolize.in. Changed all callers. + * libtoolize.in (MKDIR_P): Take @mkdir_p@ value from automake. + (func_mkdir_p): Use it, similarly to new config/ltmain.in. + * tests/defs: Synchronize boiler plate code with ltmain.in. + Adjust all callers. + Add missing copyright preamble. + * tests/demo-static.test: Add missing copyright preamble. + * NEWS: Updated. + Reported by Daniel Reed + +2004-09-02 Gary V. Vaughan , + + * Makefile.am (clean-ltmain-sh): Quote $(top_builddir) for the + shell, incase it is not set when running maintainer rules with + `make -fMakefile.maint'. + Don't show the shell commands. + + * AUTHORS: Fix my email address. + +2004-09-02 Ralf Wildenhues + + * libltdl/ltdl.c (try_dlopen): Fix memory leak. + * NEWS: Updated. + +2004-09-02 Gary V. Vaughan , + Ralf Wildenhues + + * libltdl/slist.c, libltdl/slist.h: Merge in changes from latest + upstream. Mostly comments, formal item boxing, a sort function, + and const madness reduction. + (slist_new): Removed. + (slist_box, slist_unbox, slist_sort): New. + (SListCompare, SListCallback): Swapped! + (slist_remove, slist_find): Change order of parameters for + orthogonality with slist_foreach. Changed all callers. + * libltdl/lt_dlloader.c (loader_cmp): Renamed to... + (loader_callback): ...this. Return boxed item. + (lt_dlloader_remove): Adjust to new loader_callback semantics; + unbox each removed item before returning. + Remove unused variable. + Remove const from name parameter, since the slist API cannot + guarantee userdata const-ancy for its callback functions. + (lt_dlloader_find): Adjust to new loader_callback semantics; need + to return the contents of the boxed item. + Remove const from name parameter, since the slist API cannot + guarantee userdata const-ancy for its callback functions. + * libltdl/lt_dlloader.h (lt_dlloader_find, lt_dlloader_remove): + Adjust to new constless footprint. + * libltdl/ltdl.c (ltdl_exit): The global `loaders' list is changed + by `lt_dlloader_remove' while cleaning up, so the address in local + variable `loader' is invalidated. Since some loaders may be + resident modules that cannot be unloaded (though we have none + yet), we must save each `next' address before calling + `lt_dlloader_remove'. + * NEWS: Updated. + * THANKS: Added Ralf. + +2004-09-01 Gary V. Vaughan + + * libltdl/lt_dlloader.c (lt_dlloader_add): Handle malloc failure + from slist_new. + * libltdl/ltdl.c (loader_init): Trust lt_dlloader_add(), don't + overwrite its error type, and simplify. + Reported by Ralf Wildenhues + +2004-09-01 Ralf Wildenhues + + * libltdl/slist.c (slist_new): Handle malloc failure gracefully. + +2004-09-01 Gary V. Vaughan + + * libtoolize.in, config/ltmain.in: Add CDPATH protection to + preamble. + * tests/defs: Put a full m4sh.m4 style 'Be Bourne compatible' + preamble in here too. + * HACKING: Note that tests/defs needs synching with m4sh.m4 too. + * TODO: Add new item. + + * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Use correct cpp + macro name, LT_DLSEARCH_PATH. + + * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Fix gcc parentheses + warning. + (foreach_dirinpath, try_dlopen, lt_dlpath_insertdir): Fix gcc + signed vs unsigned warning. + Reported by Bob Friesenhahn + + * m4/libtool.m4 (_LT_PROG_LTMAIN): Simplified in light of + ltmain.sh no longer being in the build tree. + Reported by Ralf Wildenhues + +2004-09-01 Ralf Wildenhues + + * libltdl/loaders/preopen.c: Initialise memory in get_vtable. + + * tests/sh.test: Look in the source tree for ltmain.sh. + +2004-09-01 Gary V. Vaughan + + Don't use C99 flexible array types as we want to be C89 + compatible. Instead, revert to the old way of doing things with + an array of symbol name vs. address, and adding the originator as + the first symbol but with a NULL address: + + * config/ltmain.in (func_extract_dlsyms): Store originator as a + NULL address symbol. + * libltdl/ltdl.h (lt_dlsymbol): Removed. + (lt_dlsymlist): Remove originator field. + (LTDL_SET_PRELOADED_SYMBOLS): Adjust. + * libltdl/loaders/preopen.c (vm_open, lt_dlpreload_open): Adjust + for new types. + (vm_sym): Skip the new originator symbol when scanning symbol + names. + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust preloaded symbols + test file to match. + * NEWS: Updated. + Reported by Andreas Schwab + +2004-09-01 Gary V. Vaughan + + Libtool currently assumes that certain characteristics, such as + enable_shared, apply to the host architecture rather than per- + language. Running the tests over a broken compiler can corrupt + these values, when there is no C++ compiler for example, so we + skip most of the tests in those cases. + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): If caught_CXX_compiler was + set from configure.ac, then don't run all the compiler tests. + (_LT_LANG_F77_CONFIG): Similarly for caught_F77_compiler. + +2004-08-31 Gary V. Vaughan + + * Makefile.am (clean-ltmain-sh): Remove stale config/ltmain.sh + from the build tree that were left behind by previous versions of + libtool. + ($top_srcdir)/stamp-vcl: Since this rule is already called on + every invocation of make, hook clean-ltmain-sh in here too. + Suggested by Ralf Wildenhues + +2004-08-31 Ralf Wildenhues + + * bootstrap: Update warning message to reflect having split + libtool.m4 into several files. + Also, add config/ltmain.sh to list of stale files from previous + versions to be removed before bootstrap. + + * libltdl/ltdl.c: Replace strdup with lt__strdup. + +2004-08-30 Gary V. Vaughan + + * config/ltmain.in: Double quote even $# for the sake of sh.test. + (exec_cmd): Be careful about "`\"foo\"`" quoting, even in comments + to avoid triggering the tests in sh.test. + + * configure.ac: Because of the way the autoconf C++ testing + works, we need to call the C test first to work in an environment + that has no C++ compiler. + + * libltdl/lt_dlloader.c (lt_dlloader_remove): Since the return + value of this function is often passed to free, don't declare it + `const'. Responsibility for this memory is given back to the + caller on return. + * libltdl/lt_dlloader.h (lt_dlloader_remove): Ditto. + * libltdl/ltdl.c (lt_dlexit): Adjust. + * NEWS: Updated. + +2004-08-30 Andreas Schwab + + * libltdl/ltdl.c (lt_dlexit): Remove lvalue cast. + + * libltdl/slist.h (SListCallback): Fix missing type. + + * config/ltmain.in: Accept --mode=relink. + +2004-08-29 Gary V. Vaughan + + * NEWS: Updated. + * configure.ac: Bumped version to 1.9c. + + GNU libtool 1.9b was released. + + * configure.ac: Bumped version to 1.9b. + * NEWS: Updated. + * INSTALL, config/config.guess, config/config.sub, + config/texinfo.tex: Updated from canonical source. + * Makefile.maint, HACKING: Update instructions for releasing in a + VPATH build. + + * Makefile.am (dist-hook): Only run if README-alpha exists. + * README.alpha: Renamed from README-alpha to stop automake from + automatically adding it to DIST_COMMON. + + * NEWS: Merge changes from branch-1-5. + + * Makefile.am (dist-hook): Always distribute just a README file, + but take its contents from README-alpha for alpha releases. + + * TODO: Reformat. Removed some items that have been implemented. + +2004-08-29 Gary V. Vaughan + + Add a new `-weak' flag to tell libtool when not to propogate + dependency libraries from dlpreopened modules to libraries: + + * config/ltmain.in: Support new -weak link mode option. Adjust + help message. + * libltdl/Makefile.am (libltdlc_la_LDFLAGS): Use it. + * doc/libtool.texi (Linking with dlopened modules): Document it. + (Link mode): Mention -weak. + * NEWS: Updated. + +2004-08-29 Gary V. Vaughan + + * config/ltmain.in (opt_help): Defer showing help messages until + after a possible following --mode argument has been parsed, so we + can handle `libtool --help --mode=foo'. + +2004-08-29 Gary V. Vaughan + + We have had shell functions in ltmain.in for a few years without + complaint now, and recently a few more have crept in. Make a + start at refactoring the code with shell functions, and + standardising on option parsing style: + + * config/ltmain.in (func_echo, func_verbose, func_error) + (func_fatal_error, func_fatal_help, func_missing_arg) + (func_version, func_usage, func_help): Boiler plate shell + functions mostly copied from libtoolize.in. Changed *lots* of + shell snippets to call these functions as appropriate, rather than + inlining the same code over and over. + (func_config, func_features, func_enable_tag, func_mode_help): + Factored out from the shared option parsing loop. Write a new + shared option parser based on the one in libtoolize.in. + (func_check_version_match): Factored out from global scope. + (func_mode_compile, func_mode_execute, func_mode_finish) + (func_mode_install, func_mode_link, func_mode_uninstall): Break + each of the top level mode handlers out into a function. Adjust + main loop. + (modename, prevopt, prev, optarg, show_help): Removed in the + course of cleaning up the shared option parser. + (opt_duplicate_deps): Use `:' and `false' instead of `yes' and `', + so we can run it directly, rather than calling test. + +2004-08-28 Gary V. Vaughan + + To help users submit better bug reports, improve the general + instructions, and provide additional useful info alongside the bug + reporting address in --help output: + + * Makefile.am (edit): Substitute $host_triplet. + * libtoolize.in: Output useful debug info with --help. + * config/ltmain.in: Ditto. + * README: Rewritten. Added copyright info. + * README-alpha: Rewritten. Added copyright info. + * HACKING: New file, partly taken from old README-alpha. + +2004-08-27 Gary V. Vaughan + + Two things to stop `make distcheck' from trying to rebuild + distributed files (m4/ltversion.m4 and config/ltmain.in) in the + readonly source tree: + + * Makefile.am (stamp-vcl): Keep only one copy of stamp-vcl; in + $(top_srcdir), so that an up-to-date version is rolled into the + dist tarball even from a VPATH build. + ($(top_srcdir)/config/ltmain.sh): Don't depend on Makefile, + otherwise ltmain.sh needs to be rebuilt after every config.status + run, and then configure needs to be rebuilt, and it all goes + horribly wrong :-/ Unfortunately, we can't depend on Makefile.am + either, because that is a circular dependency. The downside of + this change is that it is now possible to edit Makefile.am to + change the way ltmain.sh is generated, and the dependency + information can't tell that ltmain.sh needs regenerating. + +2004-08-27 Gary V. Vaughan + + * doc/libtool.texi (Cheap tricks): Escape the `@' for texinfo. + +2004-08-27 Gary V. Vaughan + + * doc/libtool.texi (Cheap tricks): Fix the instructions for making + a ltmain.in wrapping libtool in light of recent changes to the + version checking code. + +2004-08-26 Peter O'Gorman + + * config/ltmain.in [darwin]: Use the -dylib_file flag and avoid + linking to so many libraries on darwin. + + * m4/libtool.m4 [darwin]: Don't use a libname triplet, a couplet + is perfectly fine. + + * m4/ltdl.m4: Don't use the dyld loader on darwin 8 or later. + +2004-08-25 Paolo Bonzini + + * config/ltmain.in (piecewise linking): Use a GNU ld script if + possible. + * m4/libtool.m4 (_LT_LINKER_SHLIBS): Add per-tag variable + with_gnu_ld. + (_LT_LANG_CXX_CONFIG): Don't set unused variable with_gnu_ldcxx. + +2004-08-22 Gary V. Vaughan + + The Grand Renaming. In preparation for libtool-2.0, move all of + the many and varied m4 symbols accumulated by libtool over the + years, considering also that modern autoconf can detect unexpanded + macros even without AC in the macro name: + + * bootstrap: Remove libltdl/config.h from previous releases. + * m4/libtool.m4, m4/ltdl.m4, doc/libtool.texi: Basically, run a + giant sed transformation like this: + s,AC_LIB_LTDL,LTDL_INIT,g + s,AC_LIBLTDL_CONVENIENCE,LTDL_CONVENIENCE,g + s,AC_LIBLTDL_INSTALLABLE,LTDL_INSTALLABLE,g + s,AC_WITH_LTDL,LT_WITH_LTDL,g + s,AC_LTDL_ENABLE_INSTALL,_LT_ENABLE_INSTALL,g + s,AC_DEPLIBS_CHECK_METHOD,_LT_CHECK_MAGIC_METHOD,g + s,AC_LIBTOOL_OBJDIR,_LT_CHECK_OBJDIR,g + s,AC_LTDL_OBJDIR,_LT_CHECK_OBJDIR,g + s,AC_LTDL_DLPREOPEN,_LT_CHECK_DLPREOPEN,g + s,AC_LIBTOOL_SYS_MAX_CMD_LEN,LT_CMD_MAX_LEN,g + s,AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE,_LT_CMD_GLOBAL_SYMBOLS,g + s,AC_LIBTOOL_SYS_OLD_ARCHIVE,_LT_CMD_OLD_ARCHIVE,g + s,AC_PROG_LD_RELOAD_FLAG,_LT_CMD_RELOAD,g + s,AC_LIBTOOL_SYS_LIB_STRIP,_LT_CMD_STRIPLIB,g + s,AC_CHECK_LIBM,LT_LIB_M,g + s,AC_LTDL_DLLIB,LT_LIB_DLLOAD,g + s,AC_LIBTOOL_COMPILER_OPTION,_LT_COMPILER_OPTION,g + s,AC_LIBTOOL_PROG_CC_C_O,_LT_COMPILER_C_O,g + s,AC_LIBTOOL_PROG_COMPILER_NO_RTTI,_LT_COMPILER_NO_RTTI,g + s,AC_LIBTOOL_PROG_COMPILER_PIC,_LT_COMPILER_PIC,g + s,AC_LIBTOOL_SYS_HARD_LINK_LOCKS,_LT_COMPILER_FILE_LOCKS,g + s,AC_LTDL_DLSYM_USCORE,LT_FUNC_DLSYM_USCORE,g + s,AC_LIBTOOL_LINKER_OPTION,_LT_LINKER_OPTION,g + s,AC_LIBTOOL_PROG_LD_SHLIBS,_LT_LINKER_SHLIBS,g + s,AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH,_LT_LINKER_HARDCODE_LIBPATH,g + s,AC_PATH_MAGIC,_LT_PATH_MAGIC,g + s,AC_PATH_TOOL_PREFIX,_LT_PATH_TOOL_PREFIX,g + s,AC_PROG_LD,LT_PATH_LD,g + s,AC_PROG_LD_GNU,_LT_PATH_LD_GNU,g + s,AC_PROG_NM,LT_PATH_NM,g + s,AC_LTDL_SYS_DLOPEN_DEPLIBS,LT_SYS_DLOPEN_DEPLIBS,g + s,AC_LIBTOOL_DLOPEN_SELF,LT_SYS_DLOPEN_SELF,g + s,AC_LIBTOOL_POSTDEP_PREDEP,_LT_SYS_HIDDEN_LIBDEPS,g + s,AC_LTDL_SYSSEARCHPATH,LT_SYS_DLSEARCH_PATH,g + s,AC_LTDL_SHLIBEXT,LT_SYS_MODULE_EXT,g + s,AC_LTDL_SHLIBPATH,LT_SYS_MODULE_PATH,g + s,AC_LTDL_SYMBOL_USCORE,LT_SYS_SYMBOL_USCORE,g + s,AC_LIBTOOL_SYS_DYNAMIC_LINKER,_LT_SYS_DYNAMIC_LINKER,g + s,_LT_AC_TAGVAR,_LT_TAGVAR,g + s,_LT_AC_SYS_COMPILER,_LT_TAG_COMPILER,g + s,_LT_AC_PROG_ECHO_BACKSLASH,_LT_PROG_ECHO_BACKSLASH,g + s,_LT_AC_SYS_LIBPATH_AIX,_LT_SYS_MODULE_PATH_AIX,g + s,_LT_AC_SHELL_INIT,_LT_SHELL_INIT,g + s,_LT_AC_LOCK,_LT_ENABLE_LOCK,g + s,_LT_AC_CHECK_DLFCN,_LT_HEADER_DLFCN,g + s,_LT_AC_TRY_DLOPEN_SELF,_LT_TRY_DLOPEN_SELF,g + s,LT_AC_PROG_EGREP,_LT_DECL_EGREP,g + s,LT_AC_PROG_SED,_LT_DECL_SED,g + * doc/libtool.texi (Autoconf macros): Document exported macros. + * libtoolize.in: Compare ltdl.m4 serial numbers for LTDL_INIT + instead of newly obsoleted AC_LIB_LTDL. + (func_scan_files): Also set seen_ltdl for LTDL_INIT and + LT_WITH_LTDL. + +2004-08-12 Peter O'Gorman + + * m4/libtool.m4 [GNU/linux] (AC_DEPLIBS_CHECK_METHOD): Cleanup, + thanks to Daniel Reed. + +2004-08-11 Daniel Reed + + * tests/demo-nopic.test: Do not run on x86_64 or s390* + +2004-08-06 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlforeachfile): LT_SYS_LIBSEARCH_PATH is not + an environment variable, it is an actual path. + + * bootstrap: Remove `-f Makefile.am' now that we have an actual + Makefile to build ltmain.sh. + Reported by Noah Mish + +2004-08-05 Gary V. Vaughan + + * bootstrap: Run the bootstrap rules from a file named Makefile, + copied from Makefile.am for fresh checkouts. + +2004-08-05 Alexandre Duret-Lutz + + * m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using + using Autoconf's new AC_REQUIRE_AUX_FILE. + +2004-08-05 Gary V. Vaughan + + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Depends on + Makefile. + (timestamp): Factor out timestamp setting and edit it based on the + version number, so that it is empty for release versions. + ($(top_srcdir)/config/ltmain.sh): Use it. + (libtoolize): Ditto. + + * Makefile.am (libtool): Depends on ltmain.sh. + (libtoolize): Set and substitute TIMESTAMP. + + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Actually run + $(MKSTAMP) before changing directories, or it won't be found. + Forgot to save before my last commit :-( + + * Makefile.am ($(top_srcdir)/m4/ltversion.m4): Since we already did + `cd $(top_srcdir)' for this rule, we can't mv ltversion.tmp to the + relative $(top_srcdir) again! Also, run $(MKSTAMP) before changing + directories, or it won't be found. + ($(top_srcdir)/config/ltmain.sh): Ditto. + (EXTRA_DIST): We should distribute ltversion.m4 too. + +2004-08-04 Peter O'Gorman + + * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Since CONFIG_SHELL may + not actually be set, we should use SHELL here, also make darn sure + that SHELL is set to something. Bug from Willem Jan Palenstijn + . + +2004-08-03 Jacob Meuser + + * ltmain.in: Allow some static libraries to be used in generating a + shared library on NetBSD and OpenBSD. match-pattern_regex decides + which are good. + +2004-08-02 Geoffrey Keating + + * m4/libtool.m4 [darwin]: Don't use -all_load. + +2004-08-01 Maciej W. Rozycki + + * m4/libtool.m4 (LT_AC_PROG_SED): Set SED when running from cache as + well. + +2004-07-31 Gary V. Vaughan + + Although libtool is optimised to not need to subconfigure libltdl, + the installed libltdl sources for libtoolize need to put + libltdl/configure.ac in the parent package so that *it* can + subconfigure libltdl. That way we don't put any constraints on + the build system used by the parent package because the + libtoolized libltdl subtree is a self-contained sub-project: + + * libltdl/Makefile.am (EXTRA_DIST): Add configure.ac. + (nobase_ltdldata_DATA): Change back to libltdl's own + configure.ac. + +2004-07-30 Gary V. Vaughan + + My thanks to Alexandre Duret-Lutz for the insight + required to write this changeset -- especially that ltmain.sh is + the same on any machine for a given release, which I hadn't + noticed for some bizarre reason: It turns out that generating + distributed files from configure causes no end of hassle, as + evidenced by the many patches I've generated over the last few + days to try and get the dist and distcheck make rules to work. + Instead of all that hair, we now simply generate our distributed + files (now including ltmain.sh) with make rules -- and since + automake creates make variables for all AC_SUBSTs, that is really + easy. The code looks a lot more like automake and autoconf + Makefile.ams now, and doesn't have all the rough edges the earlier + hacky solution suffered from. We still generate libtool from + config.status, but that is not a distributed file, and doesn't + break the golden rule. Besides, there is way more going on there + than a bunch of substitutions: + + * Makefile.am (edit): New common sed substitutions for files now + generated by make instead of config.status. + (CLEANFILES): Clean new tmp files. + (EXTRA_DIST): Add ltmain.sh. + (vcl-tmp): Reinstated. + (m4/ltversion.m4, config/ltmain.sh): New rules. Generate from + here instead of config.status. + (libtoolize): Ditto. + (libtool): Call config.status to regenerate if necessary. + (dist-hook): Removed. + * config/ltmain.in: Moved here from top_srcdir. + * README-alpha: Update instructions to check AS_SHELL_SANITIZE is + up to date. + * bootstrap: Rewritten. Generate m4/ltversion.m4 and + config/ltmain.sh because configure depends on them. + * configure.ac (AC_CONFIG_SRCDIR): Use libtoolize.in now that + ltmain.in has moved. + (AC_CONFIG_FILES): Don't generate distributed files, + config/ltmain.sh and libtoolize from config.status. We have make + rules to do that now. + +2004-07-30 Peter O'Gorman + + * m4/libtool.m4, ltmain.in: readd the comments that I erased. + + * ltmain.in [darwin]: We already had a module var, there can be + only one. + + * m4/libtool.m4, ltmain.in: autoconf now says the best thing to do + with CDPATH is to (unset CDPATH) >/dev/null 2>&1 && unset CDPATH, + so do it. + +2004-07-29 Gary V. Vaughan + + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Ugh. More hair to + help `make distcheck'; not only do we have to make a copy of + ltmain.sh available in the source tree, but we have to be really + careful about permission bit twiddling when we copy it across into + the possible read-only $(top_srcdir)/config directory! + + * tests/tagtrace.test: Skip this test when running a VPATH build + against a read-only source tree (as in distcheck for example), + since autoconf wants to write temporary files in $top_srcdir + otherwise. + + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Automake assumes, + quite rightly for every project except libtool, that there will be + an ltmain.sh in the source tree. + (EXTRA_DIST): As do the dist rules it generates. + (dist-hook): Even though we definitely don't want to distribute + our local ltmain.sh. + + * config/config.guess, config/config.sub: Don't check these in, + they cause spurious conflicts on cvs commit and update, and are + added by bootstrap in any case. + + * configure.ac (AC_INIT): Revert an accidental commit from my + testing of package_revision. + +2004-07-29 Alexandre Duret-Lutz + + * doc/libtool.texi (Tags): Document CC. + * m4/libtool.m4 (_LT_SETUP): Register CC as supported tag so that + Automake uses it. + +2004-07-28 Gary V. Vaughan + + Fix a long-standing bug where macro_version was always empty in + the generated m4/ltversion.m4. Except for CVS revisions: + + * ltmain.in (package_revision): Don't try to deduce it from + TIMESTAMP, since that is empty for release versions; simply + substitute it... + * configure.ac (package_revision): ...from here, having + precalculated it before resetting TIMESTAMP for release versions. + * bootstrap: Force regeneration of m4/ltversion.m4, but retain + timestamps if there is no change to the content. + +2004-07-28 Gary V. Vaughan + + To take full advantage of this, libtool must be bootstrapped with + CVS autoconf, otherwise pdksh chokes on some nested escaped quotes + from libtool.m4. Using CVS autoconf protects configure from + non-bourne compatible shells in the same way this changeset + protects libtool and libtoolize: + + * libtoolize.in: Include latest CVS autoconf AS_SHELL_SANITIZE + expansion to make various shells fully bourne compatible. + * ltmain.in: Ditto. + * m4/libtool.m4 (AC_PATH_TOOL_PREFIX): Remove spurious quotes, the + RHS of = assignment is not IFS split. + (_LT_LANG_CXX_CONFIG): Ditto. + (AC_LIBTOOL_POSTDEP_PREDEP): Ditto. + +2004-07-27 Gary V. Vaughan + + This change fixes another VPATH build bug, where the vcl.tmp + target forced a rebuild of stamp-vcl in the build tree (and + hence regeneration of m4/ltversion.m4, thus an automake driven + rebootstrap that doesn't know about $fakes) requiring a fresh + ./bootstrap after every cvs/tla update: + + * Makefile.am (vcl.tmp): Removed. + (stamp-vcl): Adopt former vcl.tmp target rules. + +2004-07-25 Gary V. Vaughan + + * ltmain.in: Make sure that dependency libraries of -dlpreopened + libraries are propogated properly. + +2004-07-23 Joe Orton + + * libtool.m4: Treat bsdi5* like bsdi4*. + +2004-07-22 Peter O'Gorman + + * ltmain.in [darwin](func_extract_archives): $SED not sed. + + * ltmain.in [darwin](func_extract_archives): Clean up last commit + a little, some suggestions are from Albert Chin, those that are + broken are mine. + + * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for + included files in the right places. + +2004-07-18 Peter O'Gorman + + * ltmain.in [darwin](func_extract_archives): Because fat archives + on darwin can not be extracted using ar, we need to use lipo to + extract the thin archives and then use lipo again to generate the + individual fat objects. This should allow people to run configure + with CC set to "cc -arch ppc -arch ppc64" or "cc -arch ppc -arch + i386" or whatever to match the toolchain they have available. + +2004-07-18 Greg Eisenhauer + + * libltdl/loaders/Makefile.am: Use AM_MAKEFLAGS not MAKEFLAGS. + +2004-07-18 Peter O'Gorman + + * libltdl/Makefile.am: Ensure that lt__dirent.h is part of the dist, + also make failed looking for configure.ac, look for + $(top_srcdir)/configure.ac instead. + +2004-07-15 Gary V. Vaughan + + * libltdl/lt__private.h (lt_dlhandle_struct): Renamed to + lt__handle to better reflect the naming scheme. + * libltdl/ltdl.h (lt_dlhandle): Be truly opaque with a void *. + * libltdl/lt_dlloader.c (lt_dlloader_remove): Party to + lt__private.h, so use internal lt__handle instead of opaque + lt_dlhandle. + * libltdl/ltdl.c (LT_DLGET_FLAG, LT_DLSET_FLAG): Add a cast to + internal lt__handle type. + (try_dlopen, tryall_dlopen, load_deplibs, unload_deplibs): Ditto. + (lt_dlexit, lt_dlclose, lt_dlsym): Use lt__handle to iterate + throught the handle list. + (try_dlopen): Use lt__zalloc instead of MALLOC and memset. + * libltdl/ltdl.h (lt_dlcaller_id): Be truly opaque with a void *. + (lt_dlhandle_interface): New callback type for filtering handles + according to the interface they present. + * libltdl/ltdl.c (lt_dlcaller_register): Take an id and an + interface check callback, and generate a caller_id. + (iterator): New static variable for the use of... + (lt_dlhandle_first): New function. Set the iterator for + subsequent calls to lt_dlhandle_next. + (lt_dlhandle_next): Either work as before when iterator is unset, + or else skip handles that fail the interface check in iterator set + by lt_dlhandle_first. + * libltdl/ltdl.h (lt_dlhandle_first): Declaration. + * doc/libtool.texi (User defined module data): Document the new + APIs. + * NEWS: Updated. + +2004-07-15 Gary V. Vaughan + + Split lt_dlloader management into a separate file, and factor + `loaders' list management into a new SList ADT. In the process, + the API for writing loaders is a little cleaner, so all the + existing loaders were tweaked to take advantage of that: + + * libltdl/slist.h, libltdl/slist.c: New files implementing a + generic singly linked list container ADT. The ADT is purely + internal, and none of its API's are visible from an installed + libltdl. + * libltdl/lt_dlloader.h (lt_dlloader): Removed next field again + :-) Renamed to lt_dlvtable for API. Changed all callers. + (lt_dlloader_get): New function to turn an lt_dlloader into its + associated lt_dlvtable. + (lt_dlloader_add): Removed unused data parameter. The caller + data belongs to (and is set by) the loader itself, not the + loader's client. Changed all callers. + (lt_dlloader_name, lt_dlloader_data): Removed. Use + lt_dlloader_get instead! + * libltdl/lt__private.h: Include slist.h. + (lt__alloc_die_callback): Add missing LT_SCOPE to declaration. + (lt_dlhandle_struct): Use lt_dlvtable instead of opaque + lt_dlloader. + * libltdl/ltdl.c (lt_dlexit): Rewritten for the new loader API. + (loaders, lt_dlloader_add, lt_dlloader_remove, lt_dlloader_next, + lt_dlloader_find): Moved from here... + * libltdl/lt_dlloader.c ((loaders, lt_dlloader_add, + lt_dlloader_remove, lt_dlloader_next, lt_dlloader_find): ...to + here. And rewritten in terms of new SList interface. + * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Rewritten in terms of + new lt_dlloader interface. + * libltdl/Makefile.am (libdlloader_la_SOURCES): Add slist.h and + slist.c. Move lt_dlloader.h from here... + (pkginclude_HEADERS): ...to here. + (libltdl_la_SOURCES): Add lt_dlloader.c and lt_dlloader.h. + +2004-07-15 Gary V. Vaughan + + Collapse two almost identical structures into one: + + * libltdl/lt_dlloader.h (lt_dlloader): Add next field. + * libltdl/ltdl.c (lt_user_dlloader): Remove entirely. Change all + callers to use lt_dlloader instead. Add a compatibility macro. + (lt_dlloader_add): Remove copy and allocate stage, just hook + directly into the loaders list. + +2004-07-15 Gary V. Vaughan + + A cleaner way to access the private fields of an lt_dlhandle + than my move of the module field into lt_dlinfo: + + * libltdl/ltdl.c (lt_caller_data, lt_dlhandle_struct): Move from + here... + * libltdl/lt__private.h (lt_caller_data, lt_dlhandle_struct): + ...to here. And put the module field back here... + * libltdl/ltdl.h (lt_dlinfo): ...instead of here. + * libltdl/loaders/loadlibrary.c (vm_open): Adjust. + +2004-07-15 Gary V. Vaughan + + * libltdl/lt__private.h (streq, strneq): New macros to make strcmp + calls as used for simple comparison easier to read. + * libltdl/loaders/dyld.c, libltdl/loaders/preopen.c, + libltdl/ltdl.c: Use them! + +2004-07-15 Gary V. Vaughan + + This pervasive changeset makes two intertwined deep changes to the + operation of libtool (neither would work alone). First, there is + a new feature that allows libraries to preopen modules. This + entails a backwards incompatible change to the libltdl API for + separating out the preloaded symbol lists by owner. Second, in + the tradition of "eating our own dogfood", libltdl now preloads + its own dlloaders. The internal API for dlloaders has also had to + change in a backwards incompatible way in support of the new + library preloading feature. If you don't use preloaded libraries, + you needn't change your project sources, though you will need to + recompile against the new libltdl. The API changes are mostly + confined to dlloaders, so you probably needn't worry about those + (unless you have written a custom loader that you want libltdl to + use): + + * configure.ac (AC_CONFIG_FILES): Add libltdl/loaders/Makefile. + * libltdl/configure.ac (AC_CONFIG_FILES): Add loaders/Makefile. + * libltdl/loaders: New directory for module loaders, to simplify + Makefile rules, and to give the loaders themselves names that are + unique in the first few characters. + * libtoolize.in (func_copy_all_files): Copy recursively to pick up + the loaders directory contents. + * libltdl/loaders/Makefile.am: New file. Move module building + rules to here... + * libltdl/Makefile.am: ...from here. + (VERSION_INFO): Bumped version info to signify interface changes. + (libltdl_la_CPPFLAGS, libltdlc_la_CPPFLAGS): Set LTDLOPEN + appropriately for each library. + * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, + libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, + libltdl/loader-loadlibrary.c libltdl/loader-preopen.c, + libltdl/loader-shl_load.c: Moved from here... + * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c: ...to here. + (get_vtable): New entry function for each. + * libltdl/loaders/preopen.c (lt_dlsymlists_t): Replaced by... + (symlist_chain): ...a new structure which maps lists of preloaded + symbols from the object that loads them. + (lt_dlpreload_open): New function to automatically open all + preloaded modules belonging to a named object (ORIGINATOR). + * libltdl/lt__alloc.c (lt__zalloc): New function to return a block + of zeroed out new memory. + * libltdl/lt__alloc.h (lt__zalloc): Prototype it. + * libltdl/lt__private.h (lt__alloc_die_callback): Add missing + prototype. + (lt__error_strings): Make this opaque to callers. + * libltdl/lt_error.c (lt__error_strings): Move the implementation + to here. + * libltdl/lt_dlloader.h (lt_user_dlloader): Add extra fields to + make originator focused preloading possible. *BREAKS BACKWARDS + COMPATIBILITY* + (lt_dlloader_add): Take advantage of new fields to simplify + paramater list. + * libltdl/lt_system.h (LT_STR): New ANSI stringification macro. + (LT_CONC): Fix it to work from within macros. + * libltdl/ltdl.c (loader_init, loader_init_callback): Simplify + dlloader loading. + (get_vtable, preloaded_symbols): Point these at the preopen.c + symbols to bootstrap the loader chain. + (lt_dlinit): Load the preopen dlloader manually, and then use it + to load any other preloaded dlloaders. + (lt_dlloader_add): Simplify parameter list. Populate new + fields. Chain new loaders according to priority field. + * libltdl/ltdl.h (lt_dlsymlist): Add a new originator field. + (lt_dlpreload_callback_func): Type of a callback for automatic + lt_dlpreload_open loading. + (LTDL_SET_PRELOADED_SYMBOLS): Adjust to hook into preloaded + symbols from the "@PROGRAM@" originator. + * tests/demo/dlmain.c (main): Use mangled preloaded_symbols symbol. + * tests/pdemo/longer_file_name_dlmain.c (main): Ditto. + * ltmain.in: Don't spew spurious warnings when dlopening and + dlpreopening modules. + (func_generate_dlsyms): Factored out from multiple copies in the + rest of the code. Generate originator keyed symbol lists. + (func_extract_archives): Also factored. Extract the contents of + convenience archives for linking with dependent libraries when + --whole-archive is not available. + [darwin]: Don't try to link $old_library unless it exists, and + $lib is a bundle. + * m4/ltdl.m4 (AC_LTDL_DLLIB): Check for all possible dynamic + loading libraries/apis rather that stopping when an acceptable one + is discovered. + (LT_DLLOADERS): New variable for holding dlloaders that can be + preloaded. + * doc/libtool.texi: Document interface changes. + * NEWS: Updated. + +2004-07-12 Peter O'Gorman + + * m4/libtool.m4 [darwin]: Set whole_archive_flag_spec to '' for xlc, + or it does not pass it's tests. xlc passes -noall_load (the default) + and when -all_load is also specified Apple's /usr/bin/libtool barfs + and dies. + +2004-07-07 Gary V. Vaughan + + * libltdl/ltdl.h (lt_dlinfo): Move private module field to here... + * libltdl/ltdl.c (lt_dlhandle_struct): ...from here. Changed all + callers. + * libltdl/loader-loadlibrary.c (sys_wll_open): Use new inteface to + scan loaded handle->info.module fields for previously loaded + modules. + * doc/libtool.texi (User defined module data): Document changes to + the interface. + * NEWS: Updated. + Reported by Chuck Wilson + +2004-07-07 Brad + + * m4/libtool.m4: Fixes for the OpenBSD support + +2004-06-24 Noah Misch + + * ltmain.in: Unset the zsh GLOB_SUBST option, which makes zsh + handle backslash quoting poorly, before doing anything else. + * tests/defs: Likewise. + +2004-06-21 Gary V. Vaughan + + * libtoolize.in (libtoolize_flags): With the --ltdl option, we + libtoolize the libltdl subdirectory automatically. + * m4/ltdl.m4 (AC_WITH_LTDL): Fix overquoted args. + +2004-06-21 Peter O'Gorman + + * ltmain.in (dependency_libs) [darwin]: Remove -framework stuff from + dependency_libs. Instead, invent a new .la var "inherited_linker_flags" + to keep any linker flags which should be used when linking the library, + but are outside the usual -L -l, -R etc that can be used in + dependency_libs. Any unusual flags in dependency_libs cause recent + versions of libtool to die with "cannot find the library `'", so + it is required to move frameworks out of there. :( + +2004-06-21 Gary V. Vaughan + + From Ralf Wildenhues : + * libtoolize.in: Quote $# to make sh.test happy again. + + * m4/ltdl.m4 (AC_WITH_LTDL): Remove redundant AC_REQUIRE calls. + Either set variables to allow a client to link with the installed + libltdl, or else compile a local libltdl as a convenience library. + * libtoolize.in (opt_ltdl): Removed in favour of... + (ltdldir): ...this, which is defaulted to "libltdl" or can be set + by the user with an argument to --ltdl. + (Main): Use it! + * doc/libtool.texi (Distributing libltdl): Improved documentation + on libltdl. + (Invoking libtoolize): Document new optional --ltdl target + directory argument. + +2004-06-17 Gary V. Vaughan + + * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Fix a typo + in allow_undefined_flag: s,${Wl},${wl},g + + * libtoolize.in (func_scan_files): Accept AC_WITH_LTDL as an + indication that libltdl is being used. + (Main): Without AC_CONFIG_MACRO_DIR, don't just dump all the + macro files in `.' since they are never used, and aclocal will + copy them from $aclocaldir into aclocal.m4 anyway. + Reported by Alexandre Duret-Lutz + +2004-06-16 Brad + + * m4/libtool.m4: More improvements to OpenBSD support. + * NEWS: Updated. + +2004-06-16 Gary V. Vaughan + + libltdl uses LIBOBJS, which leak out into a parent project if both + share the same configure.ac. Libtool itself doesn't compile any + code, so it is okay to do it during bootstrap, but other projects + need to treat libltdl as a configurable subproject to keep their + respective LIBOBJS separate: + + * libltdl/configure.ac: New file, based on configure.ac. + * libltdl/Makefile.am (AC_LOCAL_AMFLAGS): Use our own m4 + directory. + (ltdldata_DATA): List *all* the files that libtoolize --ltdl will + install. + +2004-06-16 Gary V. Vaughan + + Automake 1.9 won't have the AC_PROG_EGREP bug (aclocal used to + pull an old installed libtool.m4 as well as the bootstrap + m4/libtool.m4 if an AC_DEFUN was removed), and we have + lt~obsolete.m4 to work around it in the mean time. libtoolize + can install macro files from $prefix/share/aclocal perfectly well + without us needing to move to a whole other directory: + + * Makefile.am (pkgmacro_DATA): Renamed to aclocal_DATA, so m4 + files are installed to $prefix/share/aclocal again. + (install-data-local): Don't remove just installed macros! + * libtoolize.in (pkgmacrodir): Renamed to aclocaldir. + (func_copy_some_files): New function factored out of... + (func_copy_all_files): ...here. Adjust to use func_copy_some_files. + (re_pkgaux_files): Renamed to glob_pkgaux_files, since it is not + a regular expression. + (re_pkgmagro_files): Replaced with... + (pkgmacro_files): ...a colon delimited list of libtool installed + m4 files from aclocaldir. + (Main): Copy macro files from aclocaldir again. + * NEWS: Updated. + +2004-05-21 Bob Friesenhahn + + * ltmain.sh (check_executable): The WIN32 API and MinGW do not support + S_IXOTH and S_IXGRP so use of these modes should be conditional. + +2004-05-21 Gary V. Vaughan + + * tests/tagtrace.test: Forgot to add this file to the repository + for Alexandre's 2004-05-16 patch below. + +2004-05-18 Peter O'Gorman + + * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Make this an m4_defun, + test the tags compiler to see if it is GCC, not the CC compiler. + +2004-05-16 Alexandre Duret-Lutz + + * doc/libtool.texi (Invoking libtool): Mention --tag=TAG. + (Tags, Trace interface): New nodes. + * m4/libtool.m4 (LT_SUPPORTED_TAG): New macro. + (_LT_LANG): Call it. + * tests/tagtrace.test: New file. + * tests/Makefile.am + (TESTS): Add tagtrace.test. + * tests/defs: Define AUTOCONF. + +2004-05-14 Mike Gorchak + + * ltmain.in: Add new qnx version type support. + * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it. Set + ldqnx.so linker type. + (AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib + checking, so use pass_all. + (AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX. + (_LT_LANG_CXX_CONFIG): QNX can make shared libraries. + * m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on + dlopen. + * NEWS: Updated. + +2004-05-05 Peter O'Gorman + + * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space + around = for a test and a comma between runpath_var and $1. Bug + reported by Max Bowsher. + +2004-04-22 Gary V. Vaughan + + * libltdl/argz.h: Moved from here... + * libltdl/argz_.h: ...to here, so as not to shadow system + argz.h when we `#include ' for example. + #include stdlib.h and sys/types.h to ensure we get a size_t + definition. + * libltdl/argz.c (HAVE_CONFIG_H): Set it up how ltdl likes it when + used by another client. + * m4/argz.m4: New file. + (gl_FUNC_ARGZ): Try to find an error_t definition, and a system + argz.h. + * m4/ltdl.m4: Use it. + (AC_LTDL_FUNC_ARGZ): Removed. + * libltdl/lt__glibc.h: #include to pick up either the + system argz.h or our libltdl/argz.h if necessary. + * libltdl/Makefile.am (libltdl_la_SOURCES): Move argz.h from + here... + (ltdldata_DATA): ...here. Along with argz.c. + (argz.h): Generate from argz_.h if the system file is missing. + Reported by Ralf Wildenhues + +2004-04-22 Gary V. Vaughan + + According to Howard Chu : + Applications should assume that the native dlopen is NOT + thread-safe, and take care of locking themselves. All application + calls into libltdl should thus be protected by the caller. + + * libltdl/lt_mutex.c, libltdl/lt_mutex.h: Removed. + * libltdl/Makefile.am (pkginclude_HEADERS): Removed lt_mutex.h. + (libltdl_la_SOURCES): Removed lt_mutex.c and lt_mutex.h. + * libltdl/ltdl.h: Don't include lt_mutex.h. + * libltdl/lt__private.h (LT__MUTEX_GETERROR, LT__MUTEX_SETERROR) + (LT__MUTEX_SETERRORSTR): Renamed to... + (LT__GETERROR, LT__SETERROR, LT__SETERRORSTR): ...this. Changed + all callers. + (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, lt_dlmutex_lock) + (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror): + Removed. Changed all callers. + * doc/libtool.texi (Thread Saftey in libltdl): + * NEWS: Updated. + +2004-04-19 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Detect Intel C++ compiler + version more idiomatically. + +2004-04-19 Albert Chin-A-Young + + * m4/libtool.m4: Use cc rather than ld to created + a shared library on HP-UX 11.x. On HP-UX 10.x, the + C compiler doesn't grok -b so we continue to use ld. + + * m4/libtool.m4: Use cc rather than ld to create a + shared library on Solaris. When using the Sun + Workshop compiler 5.0 (and I presume any previous + version), revert to ld due to compiler errors. + + * m4/libtool.m4: Use cc rather than ld to created + a shared library on Tru64 UNIX. + + * m4/libtool.m4: Use cc rather than ld to created + a shared library on IRIX. + + * libltdl/loader-shl_load.c: Fix typos during reorg. + +2004-04-19 Alexandre Duret-Lutz + + * doc/libtool.texi (LT_INIT): Properly display options in a table. + +2004-04-19 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and + newer adds predep_objects and postdep_objects itself, so don't + duplicate them in $archive_cmds and $archive_expsym_cmds. + * NEWS: Updated. + Reported by Roberto Bagnara + +2004-04-17 Peter O'Gorman + + * libltdl/loader-dyld.c: Fix compilation issues. Set Original author + to me. + +2004-04-17 Todd Vierling , + Peter O'Gorman + + * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use sysctl to get the + max cmd length on BSD* and darwin. Make sure that there is a safety + factor too. + +2004-04-15 Scott James Remnant + + * m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none' + and 'all' options, this now always assumes automatic mode as that + works so well. + (_LT_LANG_DEFAULT): Remove definition + * m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options. + * configure.ac: Invoke LT_LANG for each desired supported language. + * doc/libtool.texi: Remove documentation for the LT_INIT options, + rewrite LT_LANG documentation. + +2004-04-14 Alexandre Duret-Lutz + + * bootstrap: Delete acinclude.m4. + +2004-04-14 Gary V. Vaughan + + * libtoolize.in (configure_ac): Don't complain about the lack of + aclocal.m4. + Reported by Alexandre Duret-Lutz + +2004-04-13 Gary V. Vaughan + + * m4/ltdl.m4 (AC_LIB_LTDL): Remove AC_REPLACE_FUNCS for memmove + and strcpy. + + * libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c, + libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove + half-assed pre-c89 support entirely. + * libltdl/lt__private.h: Don't refer to lt__pre89.h. + * libltdl/Makefile.am (ltdldata_DATA): Remove references to + deleted files. + * NEWS: Mention it. + + * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c, + libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h, + libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h, + libltdl/lt__alloc.c, libltdl/lt__alloc.h, libltdl/lt_system.h, + libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, + libltdl/loader-dyld.c, libltdl/loader-loadlibrary.c, + libltdl/loader-shl_load.c, libltdl/lt_error.h, libltdl/lt_mutex.h: + Autoconf either defines to 1 or undefs the discovery macros it + puts in config.h, and many (non-GNU) compilers throw a spurious + warning when testing an #undef macro with #if. For consistency, + while we are touching all these lines, use defined(MACRO) style + throughout. + Reported by Bob Friesenhahn + +2004-04-13 Gary V. Vaughan + + Factor out the individual loaders, in preparation for preloading + them as libtool modules. Currently loader-preopen.c is linked + unconditionally and other appropriate loaders discovered by + AC_LTDL_DLLIB are built and linked in: + + * libltdl/Makefile.am (libltdl_la_SOURCES): Add loader-preopen + module. + * m4/ltdl.m4 (AC_LTDL_DLLIB): Use AC_LIBOBJ to add appropriate + loaders to libltdl. + * libltdl/lt_system.h (LT_SCOPE): Moved to here. + * libltdl/ltdl.h (lt_dlloader, lt_user_data, lt_module) + (lt_module_open, lt_module_close, lt_find_sym, lt_dlloader_exit) + (struct lt_user_dlloader, lt_dlloader_next, lt_dlloader_find) + (lt_dlloader_name, lt_dlloader_data, lt_dlloader_add) + (lt_dlloader_remove): Moved declarations... + * libltdl/lt_loader.h: ...to here. + * libltdl/ltdl.c: Include lt_loader.h. Move loader implementation + code from here... + * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, + libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, + libltdl/loader-loadlibrary.c, libltdl/loader-preopen.c, + libltdl/loader-shl_load.c: ...to here. + * tests/cdemo/Makefile.am, tests/demo/Makefile.am, + tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, + tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, + tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (AM_CPPFLAGS): + Add -I$(top_srcdir)/../.. so that libltdl include files can be + written as #include and found correctly. + +2004-04-13 Gary V. Vaughan + + Factor out the mutex handling and error handling into their own + modules. Mutex handling is not currently useful in combination + with posix threads, and should be easier to replace if it is in a + separate module. Additionally, we can factor out the loaders in + such a way as to depend on only the portability layer and these + new mutex and error modules now: + + * libltdl/Makefile.am (pkginclude_HEADERS): Install lt_error.h and + lt_mutex.h to $includedir/libltdl. + (libltdl_la_SOURCES): Build lt_error and lt_mutex objects. + * libltdl/ltdl.h (LT_SCOPE): Moved from here... + * libltdl/lt_system.h (LT_SCOPE): ...to here. + * libltdl/ltdl.c (lt_dlerror_strings, LT_DLSTRERROR): Moved from + here... + * libltdl/lt__private.h (lt__error_strings, LT__STRERROR): ...to + here as additional internal interfaces to lt_error. Changed all + callers. + * libltdl/ltdl.c (LT_DLMUTEX_LOCK, LT_DLMUTEX_UNLOCK) + (LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR, lt_dlmutex_lock_func) + (lt_dlmutex_unlock_func, lt_dlmutex_geterror_func) + (lt_dllast_error): Moved from here... + (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, LT__MUTEX_SETERRORSTR) + (LT__MUTEX_GETERROR, lt__mutex_lock_func, lt__mutex_unlock_func) + (lt__mutex_geterror_func, lt__last_error): ...to here as + additional internal interfaces to lt_mutex. Changed all callers. + (LT_MUTEX_SETERROR): Take an errorcode rather than a string. + Changed all callers. + * libltdl/ltdl.c, libltdl/ltdl.h (lt_dlmutex_register): Moved from + here... + * libltdl/lt_mutex.c, libltdl/lt_mutex.h (lt_dlmutex_register): + ...to here. New files. + * libltdl/ltdl.c, libltdl/ltdl.h (lt_dladderror, lt_dlseterror) + (lt_dlerror_table): + Moved from here... + * libltdl/lt_error.c, libltdl/lt_error.h (lt_dladderror) + (lt_dlseterror, lt_dlerror_table): ...to here. New files. + +2004-04-13 Scott James Remnant + + * Makefile.am (XDELTA_OPTIONS): Remove --pristine as that + generates huge xdeltas. + +2004-04-08 Gary V. Vaughan + + * libltdl/ltdl.c (argz_append, argz_create_sep, argz_insert) + (argz_next, argz_stringify): Move from here... + * libltdl/argz.c: New file. ...to here. + * libltdl/lt__glibc.h: New file. Rename global symbols into the + lt__ namespace. + * libltdl/lt__private.h: Include lt__glibc.h. + * libltdl/Makefile.am (libltdl_la_SOURCES): Add new files. + (AM_CPPFLAGS): Add -DLTDL. + * libltdl/argz.h (argz_append, argz_create_sep, argz_insert) + (argz_next, argz_stringify): New file. Declare argz functions + here, including lt__glibc.h when LTDL is defined to rename global + symbols for libltdl. + * m4/ltdl.m4 (AC_LTDL_FUNC_ARGZ): Add argz to AC_LIBOBJ if any of + our argz_* functions are missing from the system libraries. + + * libltdl/ltdl.c: Move standard headers and preprocessor guards + from here... + * libltdl/lt__private.h: ...to here. New file to declare ltdl's + internal interfaces. + * libltdl/ltdl.c: Include lt__private.h. + * m4/ltdl.m4 (AC_LIB_LTDL): Add lt_dirent to AC_LIBOBJ if all of + opendir, readdir and closedir are missing. + (AC_CHECK_HEADERS): Remove assert.h, ctype.h, errno.h, malloc.h, + stdio.h and stdlib.h; these headers are all available in standard + c89 environments and newer. + * libltdl/lt__private.h: Include them here unconditionally. + * libltdl/lt__dirent.c (opendir, readdir, closedir): New file. + Windows dirent emulation functions moved to here... + * libltdl/ltdl.c (opendir, readdir, closedir): ...from here. + * libltdl/lt__dirent.h: New file. Rename the global symbols from + lt__dirent.c into the lt__ namespace so they don't clash with + other libraries. + +2004-04-08 Gary V. Vaughan + + Factor out the bottom portability layer from ltdl. Code in this + layer has global symbols renamed by lt__pre89.h, and may not + refer to any symbols except those provided by the system libraries + or other code in the portability layer: + + * libltdl/lt__pre89.h: New file. Rename all the symbols from + LTLIBOBJS into the lt__ namespace so that they don't clash with + other libraries. + * libltdl/ltdl.c (rpl_memcpy, rpl_memmove, rpl_strchr, rpl_strcmp) + (rpl_strrchr): Moved from here... + * libltdl/memcpy.c (memcpy): ...to here, and fixed void * + dereference bug... + * libltdl/memmove.c (memmove): ...to here, and fixed void * + dereference bug... + * libltdl/strchr.c (strchr): ...to here... + * libltdl/strcmp.c (strcmp): ...here... + * libltdl/strrchr.c (strrchr): ...and here. + * libltdl/Makefile.am (libltdl_la_SOURCES): Add lt__pre89.h. + (libltdl_la_LIBADD, libltdlc_la_LIBADD): Add $(LTLIBOBJS). + (ltdldata_DATA): Add replacement sources files. + * m4/ltdl.m4 (AC_LIB_LTDL): Do careful config.h and LTLIBOBJ + setting for missing pre89 functions. + +2004-04-08 Gary V. Vaughan + + * libltdl/ltdl.h (LT_PARAMS): Removed. Changed all users to + ANSI prototypes. + (lt_ptr): Keep backwards compatibility stub. + * libltdl/ltdl.c, libltdl/ltdl.h: Use ANSI function declarations + throughout. s/lt_ptr/void */g. + +2004-04-08 Fredrik Estreen + + * m4/ltdl.m4: Rename shrext to shrext_cmds here too. + +2004-04-06 Gary V. Vaughan + + There was no clean separation of abstraction layers in libltdl. + The first step in fixing this is to factor out the memory + management abstraction, making a start on removing promiscuity + from the underlying portability layer: + + * doc/libtool.texi (Libltdl interface): Remove lt_dlmalloc, + lt_dlrealloc and lt_dlfree references. The memory management + layer used by libltdl is now private. + * libltdl/lt_system.h: New installed header for system portability + abstraction. + * libltdl/ltdl.h: Use it. + * libltdl/lt__alloc.c, libltdl/lt__alloc.h: New module above + system portability layer to abstract ltdl's memory management. + * libltdl/ltdl.c: Use lt__alloc.h. + (closedir): Use free. + (opendir): Use malloc/free. + (lt__xalloc_die_callback): Report memory failures through + lt_dlerror. + (lt_dlinit): Use it to initialise memory management. + (LT_DLMALLOC, LT_DLREALLOC, LT_DLFREE, LT_EMALLOC, LT_EREALLOC) + (rpl_strdup, rpl_realloc, lt_estrdup, lt_emalloc, lt_erealloc): + Removed in favour of... + (lt__strdup, lt__memdup, MALLOC, REALLOC, FREE): ...these calls + from libltdl/lt__alloc.h. Changed all callers. + (rpl_argz_append, rpl_argz_create_sep, rpl_argz_insert): As part + of the portability layer, these functions no longer use libltdl + memory management API. + (free_vars): Factored out. + (LT_DLMEM_REASSIGN): While redoing memory handling, renamed... + * libltdl/lt__alloc.h (MEMREASSIGN): ...to this. + * libltdl/Makefile.am (AUTOMAKE_OPTIONS): Let automake track + dependencies automatically. + (pkgincludedir): Override from parent package's setting. + (pkginclude_HEADERS): Install lt_system.h. + (libltdl_la_SOURCES): Add new files. + * NEWS: Updated. + Reported by Dalibor Topic + +2004-04-01 Peter O'Gorman + + * ltmain.in: Remove an extra eval concat_cmds that some idiot added. + Fixes double eval on AIX, reported by Albert Chin and Uwe Moeller. + + * NEWS: Add a news item about xlc support that I forgot yesterday. + +2004-03-31 Peter O'Gorman + + * m4/libtool.m4, ltmain.in (darwin): Support IBM's xlc and xlc++. + +2004-03-31 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LANG_C_CONFIG): If $compiler is not set, then + don't call the macros that test it. + (_LT_LANG_CXX_CONFIG): Ditto. + (_LT_LANG_F77_CONFIG): Ditto. + (_LT_LANG_GCJ_CONFIG): Ditto. + (_LT_LANG_RC_CONFIG): Ditto. + +2004-03-30 Gary V. Vaughan + + * libtoolize.in (func_scan_files): sed BRE have no alternation, so + break LT_INIT matcher out. + (func_serial): Don't escape literal parens for grep BRE. + + * m4/libtool.m4 (LT_INIT): aclocal can't see AC_DEFUN_ONCE, so use + AC_DEFUN and m4_define. + * libtoolize.in (func_serial): No longer accept AC_DEFUN_ONCE... + (func_grep): ...so mere grep is sufficient again... + (EGREP): ...and this is no longer required. + +2004-03-29 Gary V. Vaughan + + * m4/libtool.m4: Use LT_INIT as #serial tag. + * libtoolize.in: Grok LT_INIT! Pass A[CM]_PROG_LIBTOOL to... + (func_serial_update): ...here, we now take an additional parameter + containing another regex to match ancient serialed files. + (func_serial): Accept AC_DEFUN_ONCE of the #serial tag... + (func_grep): ...which requires egrep... + (EGREP): ...substituted by config.status. + (func_scan_files): Set seen_libtool if LT_INIT goes by. + + * Makefile.am (pkgmacro_DATA): Install ltoptions.m4. + + * libltdl/Makefile.am (AM_CPPFLAGS): Also check $top_builddir for + config.h. + (ltdl.o): config.h is in $top_builddir. + +2004-03-24 Scott James Remnant + + * NEWS: Explain more fully why we no longer load libraries + with global symbol resolution. + * doc/libtool.texi (libtool script contents): Add missing + documentation for 'inherit_rpath' variable. + + * configure.ac: Catch errors during calls to AC_PROG_CXX, + AC_PROG_CXXCPP and AC_PROG_F77 before LT_INIT. Only set the + HAVE_CXX and HAVE_F77 conditions to true if an error didn't + occur (AC_PROG_CXX leaves CXX="g++" even if it didn't find one). + Set HAVE_GCJ and HAVE_RC to true correctly as well. + * m4/libtool.m4 (LT_PROG_GCJ): If AC_PROG_GCJ or AM_PROG_GCJ are + defined, expand to the definition of those instead of our own. + Define GCJ to '' instead of 'no' if not found. + (LT_PROG_RC) Define RC to '' instead of 'no' if not found. + (_LT_LANG_GCJ_CONFIG): Require LT_PROG_GCJ to be expanded first. + (_LT_LANG_RC_CONFIG): Require LT_PROG_RC to be expanded first. + + * libltdl/ltdl.c (sys_dl_open): Don't load libraries with global + symbol resolution. + * NEWS: Updated. + +2004-03-24 Albert Chin-A-Young + + * m4/libtool.m4: Add new variable, inherit_rpath, if the + RPATHs of the libraries being linked are inherited in + the output file. For systems with a linker exhibiting + this feature, programs/libraries must be relinked at + installation time. + + * m4/libtool.m4: When linking convenience libraries on Solaris + with the Sun C++ compiler, pass convenience libraries through + to the linker with -Qoption between allextract/defaultextract. + The Sun C++ compiler bundles -Qoption arguments so + convenience libraries are linked with defaultextract + otherwise. + * tagdemo/Makefile.am, tagdemo/main.cpp, tagdemo/conv.h, + tagdemo/conv.cpp: Augment tagdemo test to link a convenience + library with a libtool library. + + * ltmain.in: Piecewise linking doesn't work when the output + file is an absolute path, use the basename only instead. + + * ltmain.in: When a library is installed, dependent on a + convenience library, and it involves relinking, the object + files extracted from the convenience library are not removed + after the relink. This is a problem if you build as non-root, + install as root, then try to remove the build directory as + non-root; Clean up properly if relink fails; Change + "$realname"U to ${realname}T to be consistent. + +2004-03-24 Scott James Remnant + + * ltmain.in : Always add -L options to + $newlib_search_path instead of just in scan mode to ensure that + non-libtool libraries in user-specified directories can be found. + +2004-03-22 Scott James Remnant + + * m4/libtool.m4 (_LT_CONFIG): Remove unneeded else condition + code, now the support determination is done in m4. + (_LT_LANG): Correct comment, unexpected leak from keybuk-lt-tag.patch. + +2004-03-21 Scott James Remnant + + * libltdl/Makefile.am (libltdl_la_LDFLAGS): Increment CURRENT + and AGE of libltdl, warranted by the addition of lt_dlhandle_find() + since 1.5.2. + +2004-03-21 Scott James Remnant + + Further sweeping changes to the user interface to libtool from + `configure.ac' to allow users to better control the list of + supported languages. Three LT_INIT options 'no-lang', 'all-lang' + and 'auto-lang' (the default) control the initial list and others + may be added with LT_LANG. + + * m4/libtool.m4 (_LT_CONFIG): Renamed AC_LIBTOOL_CONFIG to _LT_CONFIG + which is more consistent with our own namespace and gets us further out + of Autoconf's. + (_LT_LIBTOOL_TAGS): Output available_tags variable based entirely + on the value of _LT_TAGS. + (_LT_COPYING): Call _LT_LIBTOOL_TAGS to output available tags, + always append tag configuration if the tag is available. + (LT_LANG): New macro to enable support for a language that accepts + tag names (eg. "CXX") or human language names (eg. "C++"). + (_LT_LANG): Internal support macro for above that appends the + tag to _LT_TAGS and calls the appropriate config macro. + (LT_INIT): Ensure that LT_LANG is not called before LT_INIT. + (AC_LIBTOOL_TAGS): Removed, call LT_LANG for each language now. + (_LT_AC_TAG_CHECK): Removed, _LT_LANG handles duplicate calls. + (_LT_LANG_DEFAULT_CONFIG): Macro to set initial language support + based on options passed to LT_INIT. + (_LT_SETUP): Call _LT_LANG_DEFAULT_CONFIG. + (_LT_AC_TAG_CONFIG): Removed, handled by _LT_LANG_DEFAULT_CONFIG. + (_LT_AC_LANG_CXX, _LT_AC_LANG_F77, _LT_AC_LANG_GCJ): Removed, + automatic language support inclusion now handled by + _LT_LANG_DEFAULT_CONFIG. + (AC_LIBTOOL_CXX): Obsolete macro, update to LT_LANG(C++). + (AC_LIBTOOL_F77): Obsolete macro, update to LT_LANG(Fortran 77). + (AC_LIBTOOL_GCJ): Obsolete macro, update to LT_LANG(Java). + (AC_LIBTOOL_LANG_C_CONFIG_: Removed. + (_LT_AC_LANG_C_CONFIG): Renamed to _LT_LANG_C_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (_LT_SETUP): Replace call to AC_LIBTOOL_LANG_C_CONFIG with call to + new _LT_LANG_C_CONFIG macro. + (AC_LIBTOOL_LANG_CXX_CONFIG): Removed. + (_LT_AC_LANG_CXX_CONFIG): Renamed to _LT_LANG_CXX_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (AC_LIBTOOL_LANG_F77_CONFIG): Removed. + (_LT_AC_LANG_F77_CONFIG): Renamed to _LT_LANG_F77_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (AC_LIBTOOL_LANG_GCJ_CONFIG): Removed. + (_LT_AC_LANG_GCJ_CONFIG): Renamed to _LT_LANG_GCJ_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (AC_LIBTOOL_LANG_RC_CONFIG): Removed. + (_LT_AC_LANG_RC_CONFIG): Renamed to _LT_LANG_RC_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (LT_AC_PROG_GCJ): Renamed to LT_PROG_GCJ. + (LT_AC_PROG_RC): Renamed to LT_PROG_RC. + * m4/ltoptions.m4: Define new 'no-lang', 'auto-lang' and 'all-lang' + options which set the default for _LT_LANG_DEFAULT_CONFIG. + * m4/lt~obsolete.m4: Removed AC_LIBTOOL_CONFIG, _LT_AC_LANG_C_CONFIG, + _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG; all of which are no + long referenced in any way. + * configure.ac: Enable all languages. + * tests/cdemo/configure.ac, tests/demo/configure,ac, + tests/depdemo/configure.ac, tests/f77demo/configure.ac, + tests/mdemo/configure.ac, tests/pdemo/configure,ac, + tests/tagdemo/configure.ac: Remove calls to AC_LIBTOOL_TAGS, + the default 'auto-lang' mode now does the right thing. + * doc/libtool.texi (The LT_INIT macro): Add documentation for + new LT_INIT options and the LT_LANG macro, replacing the old + documentation of AC_LIBTOOL_TAGS which is no more. + * NEWS: Updated. + +2004-03-17 Scott James Remnant + + * m4/libtool.m4: Removed AC_BEFORE references to AC_LIBTOOL_SETUP + which is no more. + * m4/lt~obsolete.m4: As AC_LIBTOOL_SETUP is no longer referenced, + it can be removed from this file. Remove _AC_PROG_LIBTOOL also. + +2004-03-14 Ralf Wildenhues + + * m4/libtool.m4: Remove newlines from lt_ld_extra, so + variable can safely be stored in config.cache. + +2004-03-14 Michael Pruett + + * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS0 [irix]: Define + archive_expsym_cmds so that --export-symbols will work. + +2004-03-11 Peter O'Gorman + + * ltmain.in (link_all_deplibs,darwin): Link libraries in the + correct order. Bug from Zachary Pincus . + +2004-03-14 Scott James Remnant + + * m4/ltmain.in: Only check precious_files_regex if it is not empty. + +2004-03-14 Gary V. Vaughan + + * doc/libtool.texi (Autoconf and LTLIBOBJS): The correct version + of Autoconf is 2.54. + From Alexandre Duret-Lutz + +2004-03-13 Gary V. Vaughan + + * doc/libtool.texi (Using Automake): Cite correct Automake version + for -dlopen quoting. + (Autoconf and LTLIBOBJS): Cite correct Autoconf versions + throughout. + (Distributing libltdl): Use AM_CPPFLAGS; INCLUDES is deprecated. + From Alexandre Duret-Lutz + +2004-03-05 David Edelsohn + + * m4/libtool.m4: Disable building static libraries if building + shared libraries on AIX 5L. + +2004-03-05 Gary V. Vaughan + + * libtoolize.in: Remove --ltdl-tar. It doesn't work with the + current implementation, and seems more or less pointless. + * doc/libtool.texi (Invoking libtoolize): Updated. + * NEWS: Updated. + + * doc/libtool.texi: This manual has not been maintained properly + for a number of years. Much of what it said was outdated, or + plain wrong with reference to modern autotools. This change + represents a first pass edit to clean up the obviously wrong. + +2004-03-02 Gary V. Vaughan + + * bootstrap: Prune out my arch mirror dir before running + amok through the tree with 'rm -rf'! + +2004-03-02 Patrick Welche + + * doc/libtool.texi (LT_INIT): Dumb typos fixed. + +2004-02-23 Gary V. Vaughan + + * ltmain.in : Add missing --help doc for + -inst-prefix option. + + * ltmain.in : Add missing --help doc for -shrext + option. + + * ltmain.in (IFS): Move '\n' to beginning of IFS so that emacs + doesn't offer to strip trailing ' \t' on every save. + + * ltmain.in: Add missing --help doc for --preserve-dup-deps. + +2004-02-22 Gary V. Vaughan + + * Makefile.maint (web-manual): Generate the web manual carefully + so that links will still work when it is uploaded to gnu.org. + * README-alpha: Note that this rule should be used at release + time. + +2004-02-20 Gary V. Vaughan + + Sweeping changes to the user interface to libtool from + `configure.ac' to be more like AC_INIT and accept a space + delimited list of options. Instead of calling `AC_LIBTOOL_DLOPEN; + AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])': + + * m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL) + (AC_LIBTOOL_SETUP): Removed. Added AU_DEFUNs. + (LT_INIT): Replace with an Autoconf like interface which accepts a + version number as a minimum required libtool release at configure + time. + * m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4, + which additionally flags an error if the configuring libtool + macros are not new enough according to LT_INIT. + (LT_OPTION_DEFINE): New macro to declare option handlers. + (dlopen, win32-dll, shared, disable-shared, static) + (disable-static, fast-install, disable-fast-install, pic-only) + (no-pic): Newly LT_OPTION_DEFINEd option handlers that use... + (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL) + (_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle + LT_LIBTOOL_INIT options... + * m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC) + (AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL): + ...to replace these user interface macros, now defined as + AU_DEFUNs. + (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): + Removed. No longer required with LT_INIT_LIBTOOL interface. + Added AU_DEFUNs. + (AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC) + (AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface. + (_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP. + * m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL) + (_LT_PROG_LTMAIN): More AC_DEFUNs that have been retracted. + * configure.ac: Use new interface. + * doc/libtool.texi: Document new interface. + * NEWS: Updated. + +2004-02-18 Gary V. Vaughan + + * commit (SHELL): Set it explicitly, incase some madman is using + tcsh as their login shell :-b + +2004-02-15 Scott James Remnant + + * Makefile.am (m4/ltversion.m4): Generate serial number by + removing initial '1.' from the revision, replace @MACRO_SERIAL@ + with this new variable. + * m4/ltversion.in: Use @MACRO_SERIAL@ for the serial number + as some shells don't like a '.' when using test. + + * m4/ltversion.in: Add a serial number to this file otherwise + libtoolize will refuse to copy it into $pkgdatadir, where it + is needed by m4/libtool.m4. + +2004-02-15 Peter O'Gorman + + * m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds. + +2004-02-13 Scott James Remnant + + * ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly + quote usage of $basename and $dirname to avoid (unlikely) path + expansion. + + * tests/sh.test: Test the config/ltmain.sh and libtoolize in the + build directory not the source directory, where they won't exist + during 'make distcheck'. + * ltmain.in: Revert one line of previous intendation clean-up + to enable one of the sh.test checks to pass. + + * tests/cdemo/configure.ac: Drop AC_PREREQ back to 2.54, this + was debris from Gary's cvsapply going mad and wasn't backed + out. + + * Makefile.am (pkgmacro_DATA): We have to distribute + m4/ltversion.m4 because it can be needed before the Makefile + that generates it exists. + +2004-02-13 Gary V. Vaughan + + * commit (MKSTAMP): Look for mkstamp in the right place. + +2004-02-12 Scott James Remnant + + * Makefile.maint, Makefile: Move rules intended for Libtool + maintainers only out of the Makefile we distribute and into one + that we only need keep in CVS. + * README-alpha: Add -fMakefile.maint to the instructions where + needed. + +2004-02-12 Albert Chin-A-Young + Scott James Remnant + + * ltmain.in: Fix typo: duplcations -> duplications, + Fix indentation of a handful of badly indented blocks, + Fix last remaining use of 'grep' to $GREP, + Remove unnecessary trailing slash where we break a line on a + command separator. + * m4/libtool.m4: Also remove unnecessary trailing slash where + we break a line on a command separator. + +2004-02-12 Scott James Remnant + + * m4/ltoptions.m4: This got committed by an over-keen Gary, + but the support for this isn't ready yet and if aclocal decides + to m4_include this (which it will) you'll get a non-functioning + libtool. Removed. + + * ltmain.in: Remove duplicated version checking block. + + * bootstrap, m4/libtool.m4: Argh, Gary went crazy after cvsapply + went crazy and backed out more than he should've. This patch puts + some of it back again. + + * ltmain.in, libtoolize.in, commit, config/mailnotify: Remove + $SED from definitions of $dirname and $basename and prefix each + use with it instead. Some shells (zsh) treat the expansion as + a single command instead of a command with arguments. + + * config/mailnotify (func_sendmail): Look for sendmail in a + couple of common non-PATH locations as well. + + * ltmain.in: Fix typo: macro's -> macros. + + * ltmain.in: Correct definition of basename sed expression to + not include single quotes. + +2004-02-12 Gary V. Vaughan + + * libtoolize.in: Use $progpath as for ltmain.in to work around the + IRIX bug described below. + * commit, config/mailnotify: Ditto. Resynch with cvs-utils HEAD. + +2004-02-12 Albert Chin-A-Young , + Gary V. Vaughan + + * ltmain.in (progpath): Work around backward compatibility issue + on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked + as "sh" and the current value of the _XPG environment variable is + not equal to 1 (one), the special positional parameter $0, within + a function call, is the name of the function. So, rather than + using "$0" in functions, we set $progpath in the body and use that + everywhere instead (incase of code refactoring later). + (EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity. + +2004-02-12 Gary V. Vaughan + + * Makefile.am (EXTRA_DIST): Remove config/mailnotify after all; it + is of no use in a distribution tarball. + +2004-02-11 Gary V. Vaughan + + * commit: Fix cut-n-paste error. + + * commit: Completely change CVS/Root->name sed script to actually + work when :ext: is not shown. + + * commit: Improve CVS/Root->name sed script to work when :ext: is + not shown. + +2004-02-11 Albert Chin-A-Young + + * m4/libtool.m4: Fix typo: testring -> teststring. + +2004-02-11 Gary V. Vaughan + + * commit: Mail a nicer commit notification. + +2004-02-10 Gary V. Vaughan + + * NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4: + * m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh. cvsapply just + went crazy and committed a bunch of stuff that shouldn't have been + in the last changeset. The patch backs it all out. + + * config/mailnotify: New file for mailing commit notifications, + imported from cvs-utils. + * commit: Updated from cvs-utils and tweaked for libtool. + * Makefile.am (EXTRA_DIST): Add config/mailnotify. + +2004-02-06 Gary V. Vaughan + + * bootstrap: Remove vcl.tmp, otherwise it can interfere with make. + * Makefile.am (vcl.tmp): Move comment out of multi-line command, + as this rule is called from bootstrap as if it were a Makefile. + + * m4/ltversion.in: New file to capture what version number macros + are being used. + * Makefile.am (m4/ltversion.m4): New rule to create it from + m4/ltversion.in. + (nodist_pkgmacro_DATA): Add m4/ltversion.m4. + (EXTRA_DIST): Add m4/ltversion.in. + * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION + from ltversion.m4. + * bootstrap: Call the Makefile.am to create an initial + m4/ltversion.m4. + * ltmain.in: Diagnose version mismatches of various flavours. + * TODO: Remove mismatch item. + * NEWS: Updated. + + * Makefile.am ($(top_builddir)/config.status): Removed. + * configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is + how automake-1.8 now informs all Makefiles when config.status + needs to be rebuilt. + Reported by Alexandre Duret-Lutz + + * configure.ac (AC_CONFIG_FILES): Generate libtoolize from here. + * Makefile.am (libtool, libtoolize): These rules are redundant. + Automake generates better rules for remaking these files. + + * m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with + beginning with LT_ and _LT_. + * configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed + to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the + unexpanded macros error. + + * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require + Autoconf 2.58, which ships this macro anyway. + + * Makefile.am: Comment typo. + + * m4/libtool.m4 (LT_PREREQ): Declare the minimum release number + that is required for the calling code. + * doc/libtool.texi (AC_PROG_LIBTOOL): Document it. + * NEWS: Updated. + +2004-02-05 Peter O'Gorman + + * ltmain.in (infer_tag, win32_libid): Style changes. Rename + infer_tag to func_infer_tag and win32_libid to func_win32_libid. + * m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid. + +2004-02-04 Peter O'Gorman + + * ltmain.in (infer_tag): Move tag inferrence to a shell function. + Also test $base_compile against $CC with escaped arguments. Bug + reported by Geoff Keating . + +2004-02-03 Scott James Remnant + + * Makefile.am (install-data-hook): Manually make config.guess + and config.sub executable after they are installed as _DATA. + We can't use _SCRIPTS because the various program name + transforms may be applied to them. + (dist_pkgdata_DATA): List config.guess and config.sub here + (pkgdata_SCRIPTS): instead of here. + +2003-02-03 Scott James Remnant + + * ltmain.in: Create temporary directory under a strict umask + rather than running chmod afterwards, preventing a race + condition where the directory could be replaced with a symbolic + link in the time between the two commands. + +2004-01-31 Peter O'Gorman + + * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to + `$echo, causes problems when builtin echo is broken. Reported + by Ralf Wildenhues . + +2004-01-27 Scott James Remnant + + This fixes release procedure problems discovered whilst making + the 1.5.2 release. + + * Makefile.am (cvs-dist): Because we check whether ChangeLog + has been committed, this rule can't be run with uncommitted + source so we can't run 'commit' and don't need to run + 'make dist' a second time. Fix CVS tag as it should be + "release-X" not "Release-X". + (cvs_commit): New rule for the cvs-release chain that runs + 'commit' + (cvs-release): Depend on cvs-commit, depend on deltas instead of + cvs-diff and xdelta. + (cvs-diff): Removed, replaced with delta-diff. + (delta-diff): Unpack and diff the old and new tarballs rather + than using CVS, so we get a genuinely complete diff. + (xdelta): Removed, replaced with delta-xdelta. + (got-xdelta): New rule for improved reading. + (delta-xdiff): Copied and cleaned up version of old xdelta rule. + (deltas): Depends on delta-diff and delta-xdelta (make deltas). + (cvs-news): Don't depend on timestamps, cvs-dist itself does now. + (prev-tarball): This is the only place we need a LASTRELEASE check + so copy the code here and remove the CHECK_RELEASE variable. + (new-tarball): Check there's a new tarball (did cvs-dist work?) + (FETCHFILES): Remove obsolete libltdl mentions. + * README-alpha: Update CVS instructions as everything's changed + on Savannah. + (Release procedure): Update NEWS and ChangeLog after changing + the version number (both times); Run 'make fetch' after running + 'configure' (difficult to do it beforehand); Require 'commit' + before 'make cvs-dist' as that checks ChangeLog is committed; + 'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE + to make instead of OLDVERSION (and it's mandatory); Clean up + uploading paragraph; Clearer announcement sending instruction; + Removed ftp-upload@gnu.org mail as that's not necessary now; + Make web page updating instructions a bit clearer; Add an instruction + to update the manual for non-alphas. + (Alpha release note template): Add a Subject; update CVS instructions. + (Full release note template): Add a Subject; update CVS instructions. + * configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk + about bz2 files in our release announcements; remove old reference + to OLDVERSION. + +2004-01-25 Scott James Remnant + + * NEWS: Include 1.5.2 release information. + +2004-01-22 Gary V. Vaughan + + This fixes a bug in the libtoolize ltdl source installation rules, + which were copying Makefile.in from the libtool tree into the + package running libtoolize. Now we explicitly list the files to + copy to force the package to generate its own Makefile.in: + + * libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES): + Add ltdl.h. + (ltdldatadir): New variable for installation directory of + libtoolize --ltdl files. + (ltdldata_DATA): Tell automake what files to copy there at install + time (and remove at unistall time!). + (local-install-files): Removed. This hack is not required + anymore, the automake generated install rules are much more + advanced than this. + * Makefile.am (install-data-hook, uninstall-local): Removed. + Libltdl files for libtoolize are installed by their own Makefile + now. + +2004-01-22 Jeff Squyres + + * m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers + (e.g. Intel Linux icc compiler) write temporary files to the current + directory. These compilers do support -c and -o simultaneously but + wrongly fail the test due to the failure to create temporary + files. It is incorrect to penalize compilers which write temporary + files to the current directory so the 'chmod -w .' is therefore + removed. + +2004-01-22 Gary V. Vaughan + + * m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP. + AIX has a brain-dead grep that only handles lines < 2048 + characters. Default GREP incase we are not using a future + autoconf that sets it for us :-) Changed all callers to use $GREP + instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP. + Declare GREP as a libtool config var. + * ltmain.in: Use it. + * tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by + tightening the regexp. + Reported by Albert Chin-A-Young + +2004-01-21 Nick Hudson + + * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove + gratuitous ${libname}${release}${shared_ext} from + library_names_spec. + +2004-01-21 Peter O'Gorman + + * m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the + reload_cmds to use $CC, otherwise ld will thin out any fat + objects. + +2004-01-18 Benjamin Reed + + * ltmain.in: Fix handling of frameworks in search paths. Also + a one-liner fix to eval shrext in the libtool library search. + +2004-01-16 Gary V. Vaughan + + * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or + else aclocal.m4 is huge, and m4 directory is not distributed. + + * configure.ac (AC_CONFIG_HEADERS): Create config.h in + $top_srcdir. + * m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if + necessary. Calculate filename from first argument to + AC_CONFIG_HEADERS, and substitute as CONFIG_H. + * libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in + $top_srcdir for headers. + (DEFS): Override the default HAVE_CONFIG_H with the config.h + filename. + (ltdl.lo): Reference config.h via $(CONFIG_H). + * libltdl/ltdl.c (HAVE_CONFIG_H): Ditto. + +2004-01-15 Scott James Remnant + + * m4/lt~obsolete.m4: Add a file containing aclocal-fooling + macro definitions which stop the contents of an installed + libtool.m4 ending up in our aclocal.m4 when we bootstrap. + * Makefile.am (pkgmacro_DATA): Note that we don't need to add + lt~obsolete.m4 to this list. + +2004-01-12 Gary V. Vaughan + + * m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it + only needs to be updated in one place. + (AC_LIBTOOL_CONFIG): Refactor to be more readable. Only add + tags if a compiler was found; ie if you have no gcj compiler, + don't tack the GCJ tag onto the generated libtool script. + +2004-01-13 Peter O'Gorman + + * m4/libtool.m4: Quote shrext as it is evaled in ltmain. + +2004-01-11 Scott James Remnant + + * ltmain.in: new -precious-files-regex link mode option + to prevent removal of matching files from the temporary + output directory. + (Debian Bug #221420) + * doc/libtool.texi: document the new option. + * NEWS: announce the new option. + +2004-01-11 Gary V. Vaughan + + * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy. + Now the test can actually succeed sometimes. + +2004-01-09 Gary V. Vaughan + + * libtoolize.in: Break out of the command argument parse loop when + -- is encountered. + +2004-01-08 Gary V. Vaughan + + * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep + tests/sh.test happy. + +2004-01-07 Gary V. Vaughan + + * Makefile.am (aclocal_macros, aclocal_DATA): Removed. + (EXTRA_DIST): Remove m4 macro files; they are automatically + added by automake. + (pkgmacrodir): Where to install libtool macro files. + (pkgmacro_DATA): List installable libtool macro files. + (install-data-local): Remove previous versions of ltdl.m4 and + libtool.m4 from their old location. + * libtoolize.in: Use new pkgmacrodir installed macros when + libtoolizing a project. Treat libtool.m4 and ltdl.m4 specially, + and func_serial_update() any other files from pkgmacrodir. + (pkgmacrodir): Where to find installed libtool macro files. + (aclocaldir): Removed. + (func_copy_all_files): Add an optional callback parameter to + control how files are copied. If the callback is passed, don't + tell it whether it can copy or not. + (func_serial): Exchange parameters and make macro_regex optional, + so that this function can be used to extract serial numbers from + files with the traditional /^# serial [1-9][0-9]*$/ syntax. + Changed all callers. + (func_serial_update): Make macro_regex optional last parameter, so + that this function can be used as a callback for + func_copy_all_files(). Changed all callers. + * m4/ltsugar.m4: Add a serial number. + +2004-01-07 Gary V. Vaughan + + A complete rewrite of the m4 code involved in the generation of + libtool via config.status. The old way involved manually + synchronising disparate bits of shell code in several macros, to + quote a copy of a shell variable, put that in config.status, maybe + add it to some quotation loops to prevent early expansion, and + then add a block to _LT_CONFIG_COMMANDS to bring it into the + libtool script. The new way is to mark shell variables for + propogation using _LT_DECL for language independent variables, or + _LT_TAGDECL for those that need to be propogated in several + language flavours. The marking can be done in the macro that + probes the variables, and this new m4 machinery takes care of + synchronising all the other bits of code at autoconf time: + + * m4/ltsugar.m4: New file. Macros that are useful outside the + context of libtool. Initially, contains some generalised list + management macros, and the scaffolding for dictionary type data + storage and retrieval. + * Makefile.am (aclocal_macros): Install ltsugar.m4. + * m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to + the libtool script, along with a comment, and hints for quoting + and renaming. + (_LT_TAGDECL): Similarly mark a tagged shell variable for export + in each tag. + (lt_decl_tag_varnames, lt_decl_quote_varnames) + (lt_decl_dquote_varnames, lt_decl_varnames_tagged) + (lt_decl_all_varnames): New utility macros for managing lists of + shell variable names from _LT_DECL and _LT_TAGDECL. + (_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE): + Expand to correctly quoted variable declarations in config.status + from all marked shell variables. + (_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable + declaration for libtool tag section. + (_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked + variables to _LT_LIBTOOL_DECLARE. + (_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and + friends to generate all the variable passing shell code for + config.status, to get marked variables from libtool.m4 into + libtool itself eventually. + (AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag + configuration. Changed all client macros to mark variables + suitably rather than the hand pasting that was necessary + previously. + (AC_PROG_SED): Renamed from LT_AC_PROG_SED. + (LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for + propogation to the libtool script. + +2004-01-07 Gary V. Vaughan + + * libtoolize.in (seen_gettext): Removed unused variable. + +2004-01-06 Gary V. Vaughan + + * libtoolize.in (func_scan_files): Don't assume the existence of + aclocal.m4. Make the comment more descriptive. + Reported by Alexandre Duret-Lutz + + * NEWS: Note libtoolize changes. + + * ChangeLog.2003: New file, containing all the ChangeLog entries + from 2003. Trimmed ChangeLog accordingly. + + * ltmain.in: Output 2004 in the copyright from libtool --version. + +2004-01-03 Stefan Nordhausen + Scott James Remnant + + * ltmain.in: Don't use the mkdir -p option when creating a + temporary output directory so a symlink attack can't be used to + arbitrarily chmod other directories on the system if libtool + gets run as root. + +2004-01-02 Peter O'Gorman + + * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped. + + * m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it + allows for zsh differences, as noted in the autoconf manual's + Portable Shell - Special Shell Variables section. + +2004-01-02 Scott James Remnant + + * .cvsignore: Ignore stamp-vcl created by the Makefile. + +2004-01-02 Bob Friesenhahn + Joe Orton + + * m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash + in front of all the inner double-quotes as this is removed + on Solaris, IRIX and AIX leading to broken definitions + in config.status. + +2004-01-02 Scott James Remnant + + * NEWS: Next release will be in 2004. + +2003-12-31 Scott James Remnant + + * ltmain.sh: Infer tagged configuration for link mode with the + full compiler arguments available rather than only the first. + +2003-12-31 Alexandre Duret-Lutz + + * ltmain.sh: Quote $exec_cmd before it is eval'ed, so that + libtool --mode=execute echo '4 * 5' does not expand the `*'. + +2003-11-28 Peter O'Gorman + + * m4/libtool.m4: Move things around so that "setopt NO_GLOB_SUBST" + to make zsh behave wrt \ escapes happens early in config.status. + +2003-11-27 Gary V. Vaughan + + * libltdl/configure.ac: Removed. + * configure.ac (AC_CONFIG_HEADERS): Merged from + libltdl/configure.ac. + (AC_LIB_LTDL): Ditto. + (AC_CONFIG_FILES): Add libltdl/Makefile. + (AC_CONFIG_SUBDIRS): Removed. + (AC_CONFIG_COMMANDS): Remove generation of libltdl/ltmain.sh. + * libltdl/Makefile.am (libtool): Removed references, since we now + share $(top_builddir)/libtool. + * NEWS: Updated. + +2003-11-26 Gary V. Vaughan + + * Makefile.am (vcl.tmp): Be careful of VPATH builds. + + * Makefile.am (EXTRA_DIST): Add stamp-vcl, or we go back to a + double configure run from a distributed tarball :-? + +2003-11-26 Gary V. Vaughan + + Okay, the problem I am trying to solve is that when a change (say, + bumping the version to 1.6 for the next release) is committed, the + timestamp in ChangeLog is updated, but ltmain.sh and libtoolize + inherit the pre-commit build number from config.status. This + delta notes the change in build number in the unstamped ChangeLog + and forces a rerun of configure etc. to roll a new ltmain.sh with + the correct TIMESTAMP: + + * Makefile.am (stamp-vcl): We actually need a new config.status to + force the correct timestamp into libtoolize and ltmain.sh, + rerunning autoconf has no effect at all if configure.ac hasn't + changed. + +2003-11-26 Gary V. Vaughan + + * Makefile.am (stamp-vcl): New rules to force libtool and + libtoolize scripts to update when the TIMESTAMP changes in + ChangeLog, but the file modification time doesn't (e.g in cvs + commit). Otherwise we'll carry on releasing tarballs with the + wrong version numbers in the tools! + + * config/mkstamp: Change output format to ` $rev $date'. + * configure.ac: Make the banner more like suggestions in + http://www.gnu.org/prep/standards_toc.html Section 4.6. + * libtoolize.in: Make --version output conform to the GNU + standard. + * ltmain.in: Ditto. And tweak the generated file headers to + match. + +2003-11-25 Gary V. Vaughan + + * Makefile.am (config.status): Removed. Rebuilding config.status + isn't enough, because the TIMESTAMP in configure is still out + of date. + (configure): We actually need a new configure to force the + correct timestamp into ltmain.sh. + + * Makefile.am (config/ltmain.sh): Removed. Rebuilding ltmain.sh + isn't enough, because the TIMESTAMP in config.status is still out + of date. + (config.status): We actually need a new config.status to force the + correct timestamp into ltmain.sh. + + * Makefile.am (config/ltmain.sh): Note the dependency on the + timestamp in ChangeLog so we don't ship libtools that report the + wrong version number :-/ + + * bootstrap: Explain automake and autoconf version dependencies + truthfully, and the difference between bootstrap and user + dependencies. + * configure.ac (AM_INIT_AUTOMAKE): List AUTOMAKE_OPTIONS here. + * Makefile.am, doc/Makefile.am, tests/Makefile.am + (AUTOMAKE_OPTIONS): Removed from here. + +2003-11-24 Gary V. Vaughan + + * tests/defs (func_configure): cdemo, demo and mdemo are shows + signs of indeterminacy for some users. Be more verbose during + failure to help track down the cause. + +2003-11-22 Peter O'Gorman + + * ltmain.in: Check for module_cmds if max_cmd_len is exceeded too. + + * ltmain.in: Move eval to after command separation to allow ~ in paths. + + * tests/demo-hardcode.test: Call ./libtool not libtool. + + * ltmain.in: Test $old_striplib before using it, not $striplib. + +2003-11-22 Gary V. Vaughan + + * configure.ac (LASTRELEASE): Calculate it as best as we can from + AC_PACKAGE_VERSION. + * Makefile.am (distdir): Remove dependency on timestamps so that + it is possible to roll a dist without contacting the cvs server. + Use `make cvs-release' for that. + (cvs-news): Extracted from cvs-dist. + (cvs-dist): Depend on cvs-news. + (CHECK_LASTRELEASE): Check LASTRELEASE has been set. + (prev-tarball): New rule. Use LASTRELEASE to make sure the + previous release tarball is present. + (cvs-diff): Use CHECK_LASTRELEASE. + (xdelta): Ditto. + (cvs-release): Depend on prev-tarball, timestamps, cvs-news and + fetch. Provided you set LASTRELEASE appropriately, making a full + cvs release is just a matter of `make cvs-release', and submitting + the files to ftp-upload. + +2003-11-19 Gary V. Vaughan + + * m4/libtool.m4 (_LT_PROG_LTMAIN): Ensure config.status has a + value for `ac_aux_dir' when automake is not used. + Reported by Patrick Welche . + + * configure.ac (AC_PREREQ): AS_HELP_STRING was introduced after + autoconf-2.57 was released. + +2003-11-18 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlhandle_find): New function to find a handle + by module name. + * libltdl/ltdl.h (lt_dlhandle_find): Declare it. + * doc/libtool.texi (User defined module data): Document it. + * NEWS: Updated. + +2003-11-17 Gary V. Vaughan + + * m4/libtool.m4 (AC_LIBTOOL_SETUP): Uncomment call to + _LT_CONFIG_COMMANDS. + (_LT_AC_TAG_CONFIG, AC_LIBTOOL_CONFIG): Accumulate tag generation + for `config.status' using _LT_CONFIG_SAVE_COMMANDS. Remove + AC_MSG_NOTICE noise now that libtool is generated by a single + config.status tag. + * Makefile.am (libtool): Specify CONFIG_COMMANDS properly now that + libtool is generated in one pass. + + * configure.ac (CONF_SUBDIRS): Make these relative to + tests/Makefile.am. + (DIST_MAKEFILE_LIST): Adjust to compensate for having removed the + `tests/' part in CONF_SUBDIRS. + * tests/Makefile.am (DIST_SUBDIRS): Distribute these directories. + (SUBDIRS): Set to `.', a NOP, to workaround an automake bug which + ignores DIST_SUBDIRS unless SUBDIRS is also set. + * Makefile.am (DIST_SUBDIRS): Don't try to distribute the tests + subdirectories from here, since the recursive automake dist rule + only works with direct child directories. Defer to + tests/Makefile.am in this case. + +2003-11-15 Scott James Remnant + + * ltmain.in: In compile mode, delay parsing of -shared, -static, + -prefer-pic and -prefer-non-pic until after tagged configuration + has been read. In link mode, read tagged configuration before + parsing any arguments. These arguments will now work when using + a non-C compiler. + +2003-11-14 Gary V. Vaughan + + * NEWS: Mention AC_LIBTOOL_TAGS. + + * Makefile.am (EXTRA_DIST): List ChangeLog files correctly. + + * tests/cdemo/configure.ac, tests/demo/configure.ac, + tests/depdemo/configure.ac, tests/f77demo/configure.ac, + tests/mdemo/configure.ac, tests/mdemo2/configure.ac, + tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Declare just + the tags we need using AC_LIBTOOL_TAGS, reducing the size of the + configure script by 50% in most cases. + +2003-11-14 Marius Vollmer + + * doc/libtool.texi (Libltdl interface): libltdl does in fact load + dependency libs for lt_dlopen()ed modules. + +2003-11-14 Gary V. Vaughan + + Run our configure.ac files through Autoconf 2.59's autoupdate, and + then tweak the results by hand: + + * m4/libtool.m4 (AC_PROG_LD): In common with all the other + AC_PROG_ macros, AC_SUBST the discovered LD. + (AC_PROG_NM): Similarly for NM. + (LT_AC_PROG_SED): Similarly for SED. + * configure.ac: No need to SUBST NM and LD manually any more. + (AC_PREREQ): Conservatively downgrade from 2.59 to 2.54. + * tests/cdemo/configure.ac, tests/demo/configure.ac, + tests/depdemo/configure.ac, tests/f77demo/configure.ac, + tests/mdemo/configure.ac, tests/mdemo2/configure.ac, + tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Ditto. + * m4/libtool.m4 (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, + AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC, + AM_PROG_LD, AM_PROG_NM): AU_DEFUN these macros so autoupdate can + use the newer definitions. + +2003-11-12 Gary V. Vaughan + + The rules for uploading releases to gnu.org have been updated, and + are in fact now rather complicated. This delta updates the + release instructions to the describe the new process, and updates + the maintainer rules to help automate many of the steps: + + * README-alpha: Updated release instructions. + * Makefile.am (GPG): Name of the program for generating signatures + for files to be uploaded. + (XDELTA, XDELTA_OPTIONS): Invocation of xdelta. + (cvs-dist): Run distcheck before tagging the cvs tree incase + distcheck fails, and then generate the gpg signature files. + (cvs-diff): Generate the gpg signature files for the diff. + (xdelta): New rule for generating the xdelta diffs and associated + gpg signature files. + (cvs-release): New rule to do all of the above, if you don't mind + typing your gpg passphrase over and over again. :-) + (fetch): New rule inspired by automakes similar rule for updating + files maintained outside the project. + * config/config.guess, config/config.sub: Updated with the new + fetch rule. + +2003-11-11 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlinit): Save a function call for each loader + added to the list, in exchange for appending loaders to the list + with O(N) rather than O(1). The longest the loader list can ever + get is 4 (on cygwin with dld installed) so it probably constitutes + a small speedup, in addition to making the code much more readable. + + * m4/libtool.m4 (AC_LIBTOOL_SETUP): Don't define the value for + ltmain unconditionally. + (_LT_PROG_LTMAIN): New macro to ensure that the + shell variable `ltmain' actually points at a suitable `ltmain.sh'. + (_AC_PROG_LIBTOOL): Require it. + (AC_LIBTOOL_CONFIG, _LT_AC_TAG_CONFIG): Invoke it. + * Makefile.am (libtool): ltmain.sh is in the build tree. + * libltdl/configure.ac: Ditto. + +2003-11-10 Scott James Remnant + + * ltmain.in: Add -pthread and similar to $deplibs ($compile_deplibs + and $finalize_deplibs for programs) when found on the command line + or in a .la file's dependency_libs (but don't place them there) so + they are honoured when linking both programs and libraries. + +2003-11-10 Scott James Remnant + + * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [linux]: Include + directories found in /etc/ld.so.conf in sys_lib_dlsearch_path_spec. + +2003-11-09 Peter O'Gorman + + * ltmain.in (linkalldeplibs,darwin): Fix a bug reported by Idar + Tollefsen where a dir could be added to the link line with no '-L' + on darwin. + +2003-11-07 Gary V. Vaughan + + * tests/cdemo/configure.ac, tests/demo/configure.ac, + tests/depdemo/configure.ac, tests/f77demo/configure.ac, + tests/mdemo/configure.ac, tests/mdemo2/configure.ac, + tests/pdemo/configure.ac, tests/tagdemo/configure.ac: + s/AM_PROG_LIBTOOL/AC_PROG_LIBTOOL/. Marching boldly into the 21th + century :-$ + + * m4/libtool.m4 (AC_LIBTOOL_TAGS, AC_ENABLE_SHARED, + AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, + AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AM_PROG_LIBTOOL, + AM_ENABLE_SHARED, AM_ENABLE_STATIC, AM_DISABLE_SHARED, + AM_DISABLE_STATIC): These macros must be AC_DEFUNed after all, + otherwise aclocal can't find them when it tries to construct + `aclocal.m4'. + + * Makefile.am (install-data-local): Wipe out old installation + pkgdatadir before installing new files. + * NEWS: Updated. + + * libtoolize.in (func_scan_files): If libtoolize is run before + automake has created install-sh and configure.ac does not mention + AC_CONFIG_AUX_DIR, fall back to the current directory for auxdir. + +2003-11-07 Robert Millan + + * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD) [GNU/KNetBSD]: Detect + inter-library dependencies. + +2003-11-06 Gary V. Vaughan + + * m4/libtool.m4 (_LT_AC_FILE_LTDLL_C): Removed; no longer in use. + + * m4/libtool.m4: s/ifelse(/m4_if(/g + (_LT_AC_SYS_LIBPATH_AIX, _LT_AC_SHELL_INIT, + _LT_AC_PROG_ECHO_BACKSLASH, AC_LIBTOOL_LINKER_OPTION, + AC_LIBTOOL_TAGS, _LT_AC_TAG_CHECK, _LT_AC_TAG_CONFIG, + AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, + AC_DISABLE_STATIC, AC_ENABLE_FAST_INSTALL, + AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_C_CONFIG, + _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG, + _LT_AC_TAGVAR, AM_PROG_LIBTOOL, AM_ENABLE_SHARED, + AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC): Use + m4_define instead of AC_DEFUN for internal macros that do not + AC_PROVIDE or AC_REQUIRE, and documented user macros that cannot + be AC_REQUIREd because they need arguments, or because that would + violate the documented API. + + * m4/libtool.m4 (AC_LIBTOOL_SETUP): Add a new + delay_single_quote_subst sed script to quote single quotes in + variables that are copied to `config.status'. + (_LT_CONFIG_STATUS_DECLARE): New macro to apply + delay_single_quote_subst to a named variable. + (AC_LIBTOOL_CONFIG): Use _LT_CONFIG_STATUS_DECLARE to declare all + `configure' variables that are copied to `config.status'. + (AC_LIBTOOL_PROG_COMPILER_PIC): Fix a quoting bug exposed by + _LT_CONFIG_STATUS_DECLARE using the null quadrigraph in the + rvalues of lt_prog_compiler_pic. + +2003-11-06 Owen Taylor + + * m4/libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Recognise the + 'R' symbol type so read-only symbols can be exported when combining + GCC and Solaris LD. + +2003-11-06 James Henstridge , + Scott James Remnant + + * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [Linux]: Fix the + -export-symbols and -export-symbols-regex options. + +2003-11-06 Scott James Remnant + + * tests/demo-nopic.test: Skip test on hppa, which don't like + non-PIC shared libraries. + +2003-11-06 Charles Wilson + + * tests/depdemo/configure.ac, tests/mdemo/configure.ac, + tests/mdemo2/configure.ac: process 'libtool --features' + from Makefile, not configure -- because libtool doesn't + exist at configure time. + + * ltmain.in (find_executable, check_executable) [cygwin*, mingw*]: + binary wrapper used with uninstalled executables breaks when + invoked via execlp/execvp (that is, via $PATH). Handle that case. + (fnqualify): Subsumed into find_executable. + + * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin*, mingw*]: + when extracting symbols from an import lib (occurs if + --enable-shared --disable-static), the output of + $global_symbol_pipe is not the same as when extracting from a + static library (the default case). Add extra filters to + $export_symbols_cmds to process this sort of output in addition to + 'normal' static-lib output. + * NEWS: Updated. + +2003-11-06 Charles Wilson , + Gary V. Vaughan + + * libltdl/ltdl.c (LT_USE_POSIX_DIRENT): Factored out. + (LT_USE_WINDOWS_DIRENT_EMULATION): Move to after include "ltdl.h", + as they are affected by __WINDOWS__ definition. + (LT_READTEXT_MODE): Use textmode to read .la files. + (lt_dlinit): Use LoadLibrary loader as a fallback on cygwin. + +2003-11-06 Gary V. Vaughan + + * libltdl/ltdl.h (__WINDOWS__): Define this if _WIN32 or WIN32 are + defined, unless __CYGWIN__ or __CYGWIN32__ are defined. + (LT_SCOPE): Now set without reference to __CYGWIN__ definition, + since __WINDOWS__ now implies !__CYGWIN__ after canonicalisation. + (LT_PARAMS, lt_ptr): Use canonicalised __WINDOWS__ to determine + which values to set these macros to. + +2003-11-05 Gary V. Vaughan + + * README-alpha: Mention autotools-announce@gnu.org, and update release + note templates. + +2003-11-01 Scott James Remnant + + * ltmain.in: When relinking, place the -L parameter containing + the installation prefix directory after the intended destination, + so we don't accidentally link against an older installed library. + +2003-11-01 Peter O'Gorman + + * tests/mdemo2/Makefile.am: Let mdemo2 find ltdl.h again. + +2003-10-30 Peter O'Gorman + + * m4/libtool.m4 (Darwin): Fix stupidities for darwin tags support. + Makes it work again if AC_LIBTOOL_TAGS is specified in configure.ac. + Bug reported by Joe Orton and Christian Schaffner. + +2003-10-21 Gary V. Vaughan + + Start to eliminate the double run of configure in a fresh CVS + checkout by generating ltmain.sh, using that to create libtool, + and then adding the tags to that, all from config.status. + + * configure.ac (AC_CONFIG_FILES): Make config/ltmain.sh, and copy + it to libltdl. + * Makefile.am ($(srcdir)/config/ltmain.sh): This file is now + created by config.status. Adjust this rule. + (libtoolize): Set CONFIG_COMMANDS to empty to prevent regenerating + the libtool script as a side effect of running this rule. + * libtool.m4: Bump serial number. Fix comment typos. + (_LT_CONFIG_LIBTOOL_INIT, _LT_CONFIG_LIBTOOL, + _LT_CONFIG_SAVE_COMMANDS, _LT_CONFIG_COMMANDS: New macros. They + don't work for some reason - the variable value quoting in the + init section is all wrong. Not used at the moment. + (AC_LIBTOOL_CONFIG): Generate libtool from config.status. + (_LT_AC_TAG_CONFIG): Add the tags in config.status. + (compiler_DEFAULT): Save the compiler value for the DEFAULT tag, + or it gets overwritten by the other macros. + (EOF): Globally replace with _LT_EOF to avoid namespace pollution. + * tests/demo/configure.ac (STATIC): Check $enable_static instead + of running ./libtool which doesn't exist yet. + (BINARY_HELLDL): Check $lt_cv_sys_global_symbol_pipe with case + instead of grepping ./libtool which doesn't exist yet. + * tests/pdemo/configure.ac (STATIC, BINARY_HELLDL): Ditto. + * doc/libtool.texi (AC_PROG_LIBTOOL): Add some notes about trying + to get config details from `libtool --config'. + * NEWS: Updated. + +2003-10-21 Gary V. Vaughan + + * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... + * ChangeLog, ChangeLog.2002, ChangeLog.2001, ChangeLog.2000, + ChangeLog.1999, ChangeLog.1998, ChangeLog.1997, ChangeLog.1996: + ...into entries by year for easier copyright confirmation. + + * configure.ac, libltdl/configure.ac, tests/cdemo/configure.ac, + tests/demo/configure.ac, tests/depdemo/configure.ac, + tests/f77demo/configure.ac, tests/mdemo/configure.ac, + tests/mdemo2/configure.ac, tests/pdemo/configure.ac, + tests/tagdemo/configure.ac (AM_INIT_AUTOMAKE): Remove redundant + arguments. + * libltdl/configure.ac: Use quadrigraphs to escape macronames. + + * bootstrap (reconfdirs): Same as yesterday, only with portable + bourne shell syntax. :-/ + +2003-10-20 Gary V. Vaughan + + * bootstrap (reconfdirs): Overridable top dirs for bootstrap, for + those times when you don't want to wait for all of the test + directories to be rebootstrapped! + +2003-10-19 Kevin P. Fleming + Charles Wilson + + * ltmain.in: include --tag options, if specified, in the + relink_command in uninstalled .la files. Also, preserve --silent, + --debug options when libtool re-execs itself. + * NEWS: Updated. + +2003-10-19 Charles Wilson + + * libtoolize.in: protect sed expression against + AC_CONFIG_AUX_DIR_DEFAULT. + +2003-10-16 Bob Friesenhahn + + * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): For MinGW, reverted DLL + check method back to a working objdump-based test. This is not as + concrete a test as using the 'file' command, but it does not + require that the 'file' command be available. + +2003-10-15 Bob Friesenhahn + + * doc/libtool.texi (AC_LIBTOOL_TAGS): Incorporate documentation + for AC_LIBTOOL_TAGS macro to specifify libtool tags. The now + defunct --with-tags option was never documented. + +2003-10-15 Albert Chin-A-Young + + * m4/libtool.m4: Restrict the list of tags that can be created + with a new AC_LIBTOOL_TAGS([tag1 tag2 ...]) macro. Deprecate + --with-tags. + +2003-10-15 Gary V. Vaughan + + * libtoolize.in: Typo when copying config.sub. + From Patrick Welche + + * demo/Makefile.am (libhell0_a_SOURCES): Do not name sources + already built with libtool... + (libhell0_a_LIBADD): ...instead name the objects directly. This + prevents a long standing warning from automake 1.7+. + * pdemo/Makefile.am (libhell0_a_SOURCES, libhell0_a_LIBADD): + Ditto. + + * bootstrap: Make the fake files valid shell scripts with a + comment incase they get left around. + (LIBTOOLIZE): Use a dummy script to prevent the installed + `libtoolize' from trashing the distributed libtool.m4, + config.guess and config.sub. + + * configure.ac (AC_CONFIG_TESTDIR, AC_CONFIG_TESTFILES): Comment + this out for now, the autotest testsuite rewrite is not ready + yet. + + * tests/cdemo/Makefile.am, tests/demo/Makefile.am, + tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, + tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, + tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (top_distdir): + Removed. `autoreconf' needs literals in ACLOCAL_AMFLAGS. + +2003-10-14 Gary V. Vaughan + + * libtoolize.in (func_mkdir_p): Synch with tests/defs; if there + are no more directories in the stack, break out of the loop. + + * tests/Makefile.am (COMMON_TESTS): Remove pdemo-unst.test, which + isn't a real test. + +2003-10-14 Gary V. Vaughan + + Refactor all the test case common code into shell functions in + tests/defs, and move the various demo directories out of + $top_srcdir, and into tests too. The refactoring showed up a + number of inconsistencies and latent bugs, as well as fixing (I + think!!) the long-standing annoyance with some of the tests giving + spurious failures intermittently. While I was here, emacs kindly + removed a lot of bogus whitespace and added copyright notices for + us: + + * cdemo, demo, depdemo, f77demo, mdemo, mdemo2, pdemo, tagdemo: + Moved from here... + * tests/cdemo, tests/demo, tests/depdemo, tests/f77demo, + tests/mdemo, tests/mdemo2, tests/pdemo, tests/tagdemo: ...to + here. + * tests/defs: Factor much common functionality from the test + scripts into shell functions. Added a copyright notice. + * tests/assign.test, tests/cdemo-conf.test, tests/cdemo-exec.test, + tests/cdemo-make.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-deplibs.test, tests/demo-exec.test, + tests/demo-inst.test, tests/demo-make.test, + tests/demo-nofast.test, tests/demo-nopic.test, + tests/demo-pic.test, tests/demo-shared.test, + tests/demo-static.test, tests/demo-unst.test, + tests/depdemo-conf.test, tests/depdemo-exec.test, + tests/depdemo-inst.test, tests/depdemo-make.test, + tests/depdemo-nofast.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/depdemo-unst.test, + tests/f77demo-conf.test, tests/f77demo-exec.test, + tests/f77demo-make.test, tests/f77demo-shared.test, + tests/f77demo-static.test, tests/link-2.test, tests/link.test, + tests/mdemo-conf.test, tests/mdemo-exec.test, + tests/mdemo-inst.test, tests/mdemo-make.test, + tests/mdemo-shared.test, tests/mdemo-static.test, + tests/mdemo-unst.test, tests/mdemo2-conf.test, + tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, + tests/pdemo-conf.test, tests/pdemo-exec.test, + tests/pdemo-inst.test, tests/pdemo-make.test, + tests/pdemo-unst.test, tests/quote.test, tests/sh.test, + tests/suffix.test, tests/tagdemo-conf.test, + tests/tagdemo-exec.test, tests/tagdemo-make.test, + tests/tagdemo-shared.test, tests/tagdemo-static.test: Refactored + to use new functions in tests/defs. Added a copyright notice. + * tests/hardcode.test, noinst-link.test, + tests/relink.test, tests/relink.test, + tests/mdryrun.test: Ditto. Moved from here... + * tests/demo-hardcode.test, demo-noinst-link.test, + tests/demo-relink.test, tests/depdemo-relink.test, + tests/mdemo-dryrun.test: ...to here respectively. + * Makefile.am: Added a copyright notice. + * tests/sh.test: Check libtoolize.in for non-portabilities too. + * libtoolize.in: Fix non-portabilities found by tests/sh.test. + +2003-10-12 Peter O'Gorman + + * m4/libtool.m4: Speed up max_cmd_len check. + +2003-10-08 Gary V. Vaughan + + * libtoolize.in: AC_CONFIG_M4_DIR has landed in CVS autoconf. + Only it's called AC_CONFIG_MACRO_DIR. Search and replace. + Grumble. ;-) + +2003-10-08 Scott James Remnant + + * libltdl/ltdl.c (lt_dlerror): change return value when + no error has occured to NULL to match documentation. + (Debian Bug #157229) + +2003-10-07 Gary V. Vaughan + + * ltmain.in: Don't suppress output of PIC mode compile if + -no-suppress option is given. + * doc/libtool.texi (Invoking libtool): Document it. + * NEWS: Updated. + +2003-10-07 Marcus Comstedt + + * m4/libtool.m4 [amigaos-ppc, amigaos-m68k]: Differentiate between + amigaos on ppc and m68k. + * NEWS: Updated. + +2003-10-07 Ralph Schleicher + + * ltmain.in: Do not create `.o' objects when `-shared' is + specified in compile mode. + Do not make a static library when `-shared' is specified in link + mode. + * doc/libtool.texi (Compile mode): Document it. + * NEWS: Updated. + + * doc/libtool.texi (Compile mode): Be more specific about the + effect of `-static'. + * ltmain.in: Do not create `.lo' objects when `-static' is + specified. + * NEWS: Updated. + +2003-10-07 Gary V. Vaughan + + * doc/libtool.texi (Invoking libtool): Updated. + * ltmain.in: Add missing clean and finish modes to the shorthand + options. + + * ltmain.in: Typo in the --mode shorthand. + +2003-10-07 Scott James Remnant + + * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Remove dead code + for platforms that have been using pass_all for some time now. + +2003-10-07 Gary V. Vaughan + + * libtoolize.in: Completely rewritten. + * Makefile.am (AUTOMAKE_OPTIONS): Reduced to 1.7. The 1.8 + requirement just made the distribution much smaller due to + m4_includes. 1.7 will bootstrap libtool just fine. + * NEWS: Updated. + +2003-10-05 Peter O'Gorman , + Gary V. Vaughan + + * ltmain.in: Remove inferrence of mode, add shorthand for mode + choice. + + * ltmain.in: Specifying -allow-undefined is now an error. + +2003-09-29 Scott James Remnant + + * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for linux* + solving many build problems on ARM, and hopefully preventing any + future ones. + (Debian Bug #191133 and #190569) + +2003-09-29 Bob Friesenhahn , + Dalibor Topic + + * libltdl/ltdl.c: Only include malloc.h if stdlib.h can not be + found. + +2003-09-26 Alfred M. Szmidt + + * mdemo2/Makefile.am (INCLUDES): Include `$(top_srcdir)/../libltdl' + instead of `../libltdl'. + +2003-09-24 Gary V. Vaughan + + * bootstrap: Rewritten to use autoreconf. + * config.guess, config.sub, mkstamp: Moved from here... + * config/config.guess, config/config.sub, config/mkstamp: ...to + here, respectively. + * libtool.m4, ltdl.m4: Moved from here... + * m4/libtool.m4, m4/ltdl.m4: ...to here, respectively. + * configure.ac: Removed various acinclude.m4 hackery, as these + files are no longer needed with automake 1.8. + * Makefile.am: Removed various acinclude.m4 hackery, as these + files are no longer needed with automake 1.8. + (AUTOMAKE_OPTIONS): Require CVS automake. + (CONF_SUBDIRS, CFLAGS, CPPFLAGS, LDFLAGS, LIBS, FFLAGS, FLIBS): + Automake now makes a Make variable from every AC_SUBST, so these + are NOP. + (aclocal_macros): These files are now in their own m4 subdir. + Changed all clients. + (EXTRA_DIST): mkstamp has moved to the new config subdir. Changed + all clients. + (pkgdata_SCRIPTS): Ditto wrt config.guess and config.sub. + (pkgdata_DATA): Ditto wrt ltmain.sh. + * f77demo/configure.ac, libltdl/configure.ac (AM_CONFIG_HEADER): + Is deprecated in favour of AC_CONFIG_HEADERS. Updated to the + latter. + * Makefile.am, cdemo/Makefile.am, demo/Makefile.am, + depdemo/Makefile.am, f77demo/Makefile.am, mdemo/Makefile.am, + mdemo2/Makefile.am, pdemo/Makefile.am, tagdemo/Makefile.am + (EXTRA_DIST): Remove acinclude.m4. + (ACLOCAL_AMFLAGS): Search new `m4' macro directory. + * configure.ac, cdemo/configure.ac, demo/configure.ac, + depdemo/configure.ac, f77demo/configure.ac, mdemo/configure.ac, + mdemo2/configure.ac, pdemo/configure.ac, tagdemo/configure.ac + (AC_CONFIG_AUX_DIR): Declare that config helper scripts are now + kept in the new config subdir. + * libltdl/configure.ac (AC_CONFIG_AUX_DIR): Removed. Defaults to + `.' anyway. + +2003-09-21 Robert Millan + + * libtool.m4: Add GNU/KNetBSD support. + * ltdl.m4: Likewise. + +2003-09-13 Scott James Remnant + + * libtool.m4: allow STRIP to contain spaces and additional + arguments. (Debian Bug #183055) + * ltmain.in: include newline in "sensible default" for IFS. + (Debian Bug #98492 and #95447) + +2003-09-11 Peter O'Gorman + + * AUTHORS, THANKS: Added myself to AUTHORS, removed from THANKS. + +2003-09-10 Peter O'Gorman + + * mdemo2/configure.ac: Use AC_LIBTOOL_DLOPEN. + * mdemo2/main.c: Use LTDL_SET_PRELOADED_SYMBOLS(). + * mdemo2/Makefile.am: Set INCLUDES properly and add -dlopen force + to make sure the symbols file is included in the link line. + + * ltmain.in: Accept -framework for darwin and put it in + dependency_libs. For non-installed .la's try to avoid having + ./.libs/.libs/libfoo.so on the link line. + +2003-09-10 Arne Woerner + + * libtool.m4 [openbsd]: openbsd 3.x needs versioning information. + +2003-08-29 Gary V. Vaughan + + * bootstrap: Typo. + +2003-08-29 Alexandre Duret-Lutz + + * libtool.m4 (_LT_AC_LANG_C_CONFIG): Fix unquoted call to + _LT_AC_LANG_C_CONFIG. + (AC_PROG_EGREP): Remove, now that Libtool requires Autoconf 2.56. + * bootstrap: Issue an upgrade warning. + +2003-08-27 Gary V. Vaughan + + * libtool.m4 (_LT_AC_CHECK_DLFCN): Use the interrim new + AC_CHECK_HEADER with compiler rather than preprocessor. + (AC_LIBTOOL_SETUP): ...which was introduced in autoconf-2.56, so + we AC_PREREQ that version. + * ltdl.m4 (AC_WITH_LTDL, AC_LIB_LTDL, AC_LTDL_FUNC_ARGZ): Ditto. + +2003-08-27 Gary V. Vaughan + + Work around a bug in AU_ALIAS in CVS Autoconf that inserts a + newline just before AC_FD_CC, by hand updating: + + * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): s/AC_FD_CC/AS_MESSAGE_LOG_FD/g. + +2003-08-05 Jim Pick , + Ito Kazumitsu , + Gary V. Vaughan + + Much as we have tried not to make it the callers' responsibility + to maintain an lt_dlrealloc function pointer, it is too difficult + to implement realloc as malloc/memcpy/free without knowing the + size of the original block. rpl_realloc has been deprecated since + 2002-10-30, but kaffe has real failures with that so it's time to + bite the bullet. Caller gets to maintain lt_dlrealloc: + + * NEWS (1.5.1): Updated. + * libltdl/ltdl.c (LT_DLREALLOC): Use lt_dlrealloc so the user can + update the function pointer to match lt_dlmalloc. + (lt_emalloc): Use lt_dlrealloc rather than hardcoding realloc. + * doc/libtool.texi (Libltdl interface): Describe lt_dlrealloc now + that it too has become part of the exported interface to libltdl. + +2003-08-01 Peter O'Gorman + + * libtool.m4 (darwin): Use "-undefined dynamic_lookup" if the + user set MACOSX_DEPLOYMENT_TARGET to 10.3 or greater. + * libltdl/ltdl.c (dyld): Save the error from the first lookup + to report in lt_dlerror(). Otherwise the error is always + "Symbol _foo not in /usr/lib/libSystem.dylib". + Thanks to Chris Zubrzycki for reporting this. + +2003-08-01 Robert Boehne + + * libltdl/ltdl.h: Tweak the header to support visual studio. + +2003-07-31 Greg Eisenhauer + + * ltmain.in: Provide absolute paths for dlopen and dlpreopen + files in generating uninstalled libtool libraries. + * mdemo2/main.c, mdemo2/Makefile.am, mdemo2/README, + mdemo2/configure.ac, mdemo2/.cvsignore, mdemo/mlib.c, + tests/mdemo2-conf.test, tests/mdemo2-exec.test, + tests/mdemo2-make.test: New files for testing above feature. + * configure.ac, bootstrap, tests/Makefile.am: Accomodate new + test directory. + * mdemo/Makefile.am: Build libmlib.la for mdemo2 tests. + +2003-07-30 Tony Wyatt + + * libtool.m4: Remove parentheses around finish_eval part which + broke on amigaos pdksh. + +2003-07-30 Christiaan Welvaart + + * tests/dryrun.test: Ignore any 'total' line from "ls -l" output. + +2003-07-30 Albert Chin-A-Young + + * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Correctly remove IRIX C++ + template files. + +2003-07-24 Robert Millan + + * libtool.m4: More fixes for the new GNU/FreeBSD triplet. + +2003-07-14 Bob Friesenhahn + + * config.guess, config.sub: Synchronized from ftp.gnu.org since + Robert Millan's patch requires it. + +2003-07-14 Robert Millan + + * libtool.m4: Fixed to use the new GNU/FreeBSD triplet. + * ltdl.m4: Fixed to use the new GNU/FreeBSD triplet. + * ltmain.in: Remove GNU/FreeBSD cases, which are no longer needed. + +2003-07-14 Andreas Schwab + + * libtool.m4 (_LT_AC_LOCK): Also match powerpc64-*linux* in + addition to ppc64-*linux*. From Markus Meissner + . + +2003-07-14 Dalibor Topic + + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): For AmigaOS with pdksh, + set the maximum command line length to 8K since otherwise the test + takes over an hour to run. + +2003-06-25 Alexandre Oliva , Tim Waugh + + * libtool.m4: Replace mis-uses of path with pathname. + (AC_PROG_LD_GNU): Don't quote $LD when running it. + (_LT_AC_LANG_CXX_CONFIG): Use -nostdlib also when linking with g++ + and non-GNU ld. + +2003-06-11 Gary V. Vaughan + + * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION): Require LT_AC_PROG_SED to + ensure $SED is set by the time it is used. + + * ChangeLog: Restore missing entries from 2003-04-22. + + * NEWS: Sychronised from branch-1-5. + +2003-06-03 Benjamin Reed + + * ltmain.in: search libraries in the order of preference, rather + than picking .la's even if they're in a less preferred directory. + +2003-06-03 Robert Millan + + * ltdl.m4: Add support for GNU/FreeBSD. + * ltmain.in: Add support for GNU/FreeBSD. + +2003-06-03 Albert Chin-A-Young + + * libtool.m4: No need to use sed to remove leading comma when + appending to $tagnames. + +2003-06-03 Albert Chin-A-Young + + * tests/defs, tests/demo-conf.test, tests/demo-nofast.test, + tests/demo-nopic.test, tests/demo-pic.test, + tests/demo-shared.test, tests/demo-static.test, + tests/depdemo-conf.test, tests/depdemo-nofast.test, + tests/depdemo-shared.test, tests/depdemo-static.test: + Pass build system type to tests to support environment + where default system type not equal to build system type + (eg. 64-bit HP-UX). + +2003-06-03 Peter O'Gorman + + * libtool.m4 (darwin): Remove checks for Apple-specific gcc. + * libltdl/ltdl.c (HAVE_MACH_O_DYLD_H): #define + __private_extern__ for fsf gcc. + * ltmain.in (darwin): Only add new paths to newlib_search_path. + +2003-06-03 Max Bowsher + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Reorder cygwin's + system library search path. + +2003-06-01 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match all qnx-nto + as recent config.guess returns a slightly different string. + * ltmain.in: Replace use of "od" with tr. + +2003-05-30 Gary V. Vaughan + + * libltdl/ltdl.c (argz_insert): Corrected an off by one error when + checking that before is not out of range. + +2003-05-29 Gary V. Vaughan + + * libltdl/ltdl.c (lt_int_dyld_lib_install_name): Removed unused + variable mh1. + (sys_dyld_close): Removed unused variable size. + +2003-05-21 Bruno Haible + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Add support for + GNU/FreeBSD. + +2003-04-22 Alexandre Oliva + + * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all + mips*-linux* variants. + +2003-04-22 Samuel Meder + + * libtool.m4 Switch on $CC and add paterns to cases. + +2003-04-22 Peter O'Gorman + + * libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check + to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the + value of shlibpath_overrides_runpath is used in the HARDCODE + test and is set in the DYNAMIC_LINKER test. + * ltmain.in [darwin]: We never need to relink on darwin. + +2003-04-22 Samuel Meder + + * libtool.m4: Switch on $CC and add patterns to cases. + +2003-04-21 Richard Dawe + + * doc/libtool.texi: Use @ifnottex instead of @ifinfo, + to allow production of HTML documentation using makeinfo. + +2003-04-14 Robert Boehne + + * NEWS: Updated. + * configure.ac: Bumped version to 1.5a. + + GNU libtool 1.5 was released. + + * configure.ac: Bumped version to 1.5. + * NEWS: updated. + * README-alpha: Updated upload instructions. + * README: Changed typo in version description. + * config.guess, config.sub, texinfo.tex: Synchronized from + ftp.gnu.org. + + +2003-04-10 Alexandre Oliva + + * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all + mips*-linux* variants. + +2003-04-09 Samuel Meder + + * libtool.m4 Switch on $CC and add paterns to cases. + +2003-04-09 Peter O'Gorman + + * libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check + to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the + value of shlibpath_overrides_runpath is used in the HARDCODE + test and is set in the DYNAMIC_LINKER test. + * ltmain.in(darwin): We never need to relink on darwin. + +2003-04-09 Samuel Meder + + * libtool.m4 Switch on `basename $CC` not $CC + +2003-04-05 Peter O'Gorman + + * libtool.m4: if ZSH_VERSION is set then setopt NO_GLOB_SUBST so + libtool works. Remove zsh echo test code, don't bother checking + for zsh anymore in the darwin archive_expsym_cmds. + +2003-04-05 Allan Sandfeld Jensen + + * libtool.m4: Switch on $CC not $cc_basename. + +2003-04-02 Robert Boehne + + * tests/defs: Quote $DJGPP to prevent problems with some shells. + Pointed out by Albert Chin + +2003-04-01 Peter O'Gorman + + * libtool.m4: Fix the echo test which I broke earlier. + * ltmain.in: Make DESTDIR work on darwin, don't use otool. + +2003-03-31 Keith Packard + + * ltmain.in: New flag -version-number to be used for maintaining + compatability with a previously non-Libtool versioning scheme. + * doc/libtool.texi: Document it. + +2003-03-31 Naofumi Yasufuku + + * ltmain.in (win32_libid): Fixed sed expression error in + win32_nmres evaluation. + +2003-03-31 Albert Chin + + * ltmain.in: Don't pass -R flags found in a .la's dependency_libs + variable directly down to the linker. + Reported by Tim Mooney . + +2003-03-28 Richard Dawe + + * Makefile.am: Define CONF_SUBDIRS. + * tests/defs: Set CONFIG_SITE to /nonexistent, except on DJGPP, + which requires its config.site, to work correctly. + * tests/cdemo-conf.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-nofast.test, tests/demo-nopic.test, + tests/demo-pic.test, tests/demo-shared.test, + tests/demo-static.test, tests/depdemo-conf.test, + tests/depdemo-nofast.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/f77demo-conf.test, + tests/f77demo-shared.test, tests/f77demo-static.test, + tests/mdemo-conf.test, tests/mdemo-shared.test, + tests/mdemo-static.test, tests/pdemo-conf.test, + tests/tagdemo-conf.test, tests/tagdemo-shared.test, + tests/tagdemo-static.test: Don't set CONFIG_SITE, now that + tests/defs sets it. + * tests/cdemo-exec.test, tests/demo-exec.test, + tests/demo-inst.test, tests/depdemo-exec.test, + tests/depdemo-inst.test, tests/f77demo-exec.test, + tests/mdemo-exec.test, tests/mdemo-inst.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, + tests/tagdemo-exec.test: When checking for the existence + of executables, use the executable file extension from $EXEEXT. + +2003-03-28 Peter O'Gorman + + * libltdl/ltdl.c (dyld): Remove some debug printf's, fix a bug. + * ltmain.in (darwin): Only link against shared libraries when doing + link_all_deplibs. + +2003-03-25 Robert Boehne + + * bootstrap: Add f77demo to the directories that AUTOHEADER + is run in. + +2003-03-21 Wesley W. Terpstra + + * ltmain.in: Don't accumulate directory information in clean mode. + Include properly pathed wrapper script. + +2003-03-21 Peter O'Gorman + + * README: Remove "Important" information about patching automake. + * configure.ac: Fix misapplied patch in last commit + * libtool.m4 (darwin): Check compiler is apple gcc, add -single_module + support so that dyloading c++ shared libraries will work. + * libtool.m4 (_LT_AC_TAGCONFIG): Add test -n to the tests so that + it will work outside of libtool. + * doc/PLATFORMS: Add darwin + * f77demo/configure.ac: Add config.h which was misapplied previously. + +2003-03-20 Peter O'Gorman + + * ltmain.in: Always use $echo not echo for consistency. + Changes for darwin building. Warn if linking against libs linked + with -module. Use module_cmds if available and building a module, + move convenience double lib check, + * libltdl/ltdl.c: ltdl support for darwin (first blush) + * libltdl/README: note that darwin is supported + * ltdl.m4: Changes for darwin, and for new shrext + * libtool.m4: Changed the way darwin builds stuff (make check passes) + added module_cmds, module_expsym_cmds and hardcode_automatic and put + them in the libtool script. check for zsh's removal of escapes. Allow + libraries to be stripped on darwin. + * TODO: Remove the todo about zsh's removal of excapes. note that zsh + echo works perfectly well, eval is screwed up. Seems to be fixed in + latest zsh. + * THANKS: added self :) + * f77demo/configure.ac: Use config.h or it doesn't work. + +2003-03-19 Robert Boehne + + * libtool.m4 (_LT_AC_TAGCONFIG): Add test around the macro that + adds tags to the libtool script so that they won't run when not + needed. + * configure.ac: Set F77 to no when no Fortran compiler is found. + +2003-03-16 Charles Wilson + + * ltmain.in (win32_libid): use $SED, not head. + +2003-03-02 Alexandre Oliva + + * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. + (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, + and reset them for a C++ environment. Use the with_gnu_ld setting + from AC_PROG_LD. + +2003-02-28 Ralph Schleicher + + * ltmain.in: Only append a dot to the wrapper script when + building on cygwin/MSYS (check for $build, not $host). + +2003-02-27 Samuel Meder + + * libtool.m4 (ia64): Add support for Intel compiler (ecc) on IA64 + Linux. + +2003-02-27 Benjamin Reed + + * THANKS: Added people who have submitted 3 or more patches + to libtool to the THANKS file. + * README: Added notes about the Darwin (MacOSX) support. + +2003-02-25 Bob McElrath + + * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Add support for + the Compaq C compiler for Alpha Linux. + +2003-02-25 Benjamin Reed + + * libtool.m4 (darwin): Disable hardcoding library paths to + make relinking unnecessary. + +2003-02-24 Robert Boehne + + * libltdl/configure.ac: Use AC_CONFIG_AUX_DIR([.]) to place + auxilary files in the libltdl directory. + * Makefile.am: Add to the ltmain.sh rule to copy it into the + libltdl subdirectory. + * bootstrap: Explicitly handle ltmain.sh in libltdl, and pass + --copy to automake. + +2003-02-24 Ralph Schleicher + + * libtool.m4 (AC_LIBTOOL_SETUP): Check for ar. + +2003-02-23 Peter O'Gorman + + * libtool.m4 (darwin): Revamp darwin platform support. + * ltdl.m4 (darwin): Support dlcompat if found. + * ltmain.in: Make sure ranlib is run if needed when piecewise + linking. + +2003-02-23 Alexandre Duret-Lutz + + * ltmain.in (--help): Show mailing-address for bug reports. + (--version): Mention only the most recent copyright year. + * libtoolize.in (--help): Show mailing-address for bug reports. + (--version): Mention only the most recent copyright year. + +2003-02-19 Alexandre Oliva + + * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. + (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, + and reset them for a C++ environment. Use the with_gnu_ld setting + from AC_PROG_LD. + + * libtool.m4: Replace $linker_flags with $compiler_flags wherever + it is used as argument to $CC. + + * libtool.m4: Use linux version_type on IRIX with GNU ld. + Prefix -soname, -set_version and their arguments with ${wl}. Add + -melf* linker scripts to LD, and use them to determine libsuff, + shlibsuff and libmagic. + +2003-02-17 Allan Sandfeld Jensen + + * libtool.m4: Intel icc fixups for version 7.0. + +2003-02-17 Ralph Schleicher + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Prepend a dot to + the value of the shrext (aka shared_ext) variable and delete it + from the library_names_spec and soname_spec definitions. That + way the user can omit the shared library suffix by setting it + to the empty string. + (AC_LIBTOOL_LANG_CXX_CONFIG): Strengthen renaming commands for + the KCC compiler. + * doc/libtool.texi (Link mode): Update the manual. + +2003-02-17 Charles Wilson + + * ltmain.in (win32_libid): Rewritten to improve speed. + +2003-02-11 Richard Dawe + + * libtoolize.in: Use the program found by AC_PROG_LN_S + to create symlinks. + +2003-02-08 Jan Kratochvil + + * ltmain.in: Handle duplicate object file names when performing + piecewise archive linking by renaming object files when needed. + +2003-02-05 Robert Boehne + + * libtool.m4 (AC_CHECK_LIBM): Search for a real symbol in + the math library rather than 'main', it causes problems for + C++ compilers with certain Auto* tools. + (AC_LIBLTDL_INSTALLABLE): ditto. + +2003-02-05 Christian Cornelssen + + * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) + (AC_LIBTOOL_PROG_LD_SHLIBS): Rewrite printf commands so + that the format string cannot be mistaken as an option. + Reported by Martin MOKREJS. + +2003-02-05 Robert Boehne + + * libtool.m4: Modify the sys_lib_search_path_spec to allow + for either native sed or GNU sed to be used. + +2003-02-04 Nick Hudson + + * libtool.m4: don't use -nodefaultlibs in archive_commands + or archive_expsym_commands on NetBSD. + +2003-02-04 Albert Chin-A-Young + + * libtool.m4: Change setting of archive_cmds_need_lc + so that it doesn't overwrite the previous setting. + +2003-01-28 Albert Chin-A-Young + + * libtool.m4: Allow compiler variable, CC, CXX, etc. to + be a program name with arguments. Original version stripped + arguments for CC. + +2003-01-28 Charles Wilson + + * ltmain.in: add code for a binary wrapper + to use with uninstalled executables on cygwin/mingw. + Make sure that --mode=clean gets shell wrapper and + binary wrapper. When sourcing the shell wrapper, + invoke using a terminal `.' on cygwin/mingw to + avoid the automatic append-.exe behavior. + +2003-01-28 Albert Chin-A-Young + + * libtool.m4: Hardcode library paths into libraries on IRIX. + +2003-01-18 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Don't add -DPIC + for languages other than C and C++. + +2003-01-13 Albert Chin-A-Young + + * libtool.m4, ltmain.in: Add support for hppa*64* based on + a patch by Ross Alexander . + Credit to Ross! Use +b to hardcode library runtime path. + Add new variable, $hardcode_libdir_flag_spec_ld, that + is equivalent to $hardcode_libdir_flag_spec but is used + when ld is used for linking. This works around having to + set wl=''. + +2003-01-12 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Revert an + accidental rearranging of dylib and so for darwin. + +2003-01-10 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Modify the + "-shrext" option so that is works properly under Darwin. + Modify the processing of 'gcc -print-search-dirs' under + Darwin to make it behave like GNU gcc does. + (AC_LIBTOOL_CONFIG): Single quote $shrext. + * ltimain.in: Expand shared_ext just before it is used + so that it can be conditional on the value of $module. + +2002-12-31 Benjamin Reed + + * ltmain.in [darwin]: disable lazy linking, needed + to resolve C++ global constructor issues + +2002-12-30 Ralph Schleicher + + Rework by Robert Boehne + * ltmain.in: New link option -shrext. + * libtool.m4 (AC_LIBTOOL_CONFIG): New libtool variable shrext. + (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Replace all hard coded shared + library file name extensions in library_names_spec and + soname_spec with $shrext. + * doc/libtool.texi (Link mode): Document it. + +2002-12-30 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): modify + $archive_expsym_cmds to restore support for using + .def files via the -export-symbols switch. + (AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]): in both the [CXX] + branch and the default branch, improve $export_symbols_cmds + so that DATA symbols are properly labelled. In the default + branch, duplicate the _CXX_CONFIG correction for + $archive_expsym_cmds. + +2002-12-30 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_RC): AC_PROG_RC doesn't exist -- + but we do AC_DEFUN something called LT_AC_PROG_RC. + Call that instead. + +2002-12-30 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Copy the section + for Darwin from AC_LIBTOOL_PROG_LD_SHLIBS so that the CXX + tag doesn't use the g++ defaults for the OS X compiler. + +2002-12-30 Albert Chin-A-Young + + * libtool.m4: Sync methods used to detect GNU ld. + +2002-12-20 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, + AC_LIBTOOL_PROG_CC_C_O): Do not escape } or ? in sed argument. + +2002-12-19 Robert Boehne + + * ltmain.in: Use the sed program found by LT_AC_PROG_SED + so that relink commands don't get truncated. + +2002-12-18 Robert Boehne + + * libtool.m4: Move AC_REQUIRE([LT_AC_PROG_SED]) to AC_PROG_LD + so it is invoked earlier. + +2002-12-11 Allan Sandfeld Jensen + + * libtool.m4: Add support for Intel icc compiler for Linux. + +2002-12-11 Robert Boehne + + * ltmain.in: Revert the version +1 change for IRIX, it could + cause compatibility problems. + +2002-11-22 Christian Cornelssen + + * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, + AC_LIBTOOL_PROG_CC_C_O): Changed method for compilation with + custom flags to be language-independent. Thereby removed + CFLAGS/GCJFLAGS mixup bug. Imitate Autoconf-style logging. + Log entries no longer discarded by compilation failures. + (_LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG, + _LT_AC_LANG_GCJ_CONFIG): Tuned settings of + lt_simple_compile_test_code and lt_simple_link_test_code + to avoid warnings that could break some option detections. + (AC_LIBTOOL_PROG_COMPILER_NO_RTTI): Removed + redundant "-c conftest.$ac_ext" in the argument to + AC_LIBTOOL_COMPILER_OPTION. + (AC_LIBTOOL_PROG_LD_SHLIBS): Replaced C-specific conftest + source code with $lt_simple_compile_test_code, to support + the "-lc" test with other languages. + +2002-11-19 Paul Eggert + + Don't assume that egrep and fgrep exist. POSIX 1003.1-2001 no + longer requires them; you're supposed to use grep -E and grep -F + instead. Also, don't assume that "test -a" works, since POSIX + doesn't require it. + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_LANG_C_CONFIG, + _LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE, + AC_LIBTOOL_PROG_LD_SHLIBS): + egrep -> grep, when that makes no difference. + * libtoolize.in: Likewise. + * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Likewise. + * ltmain.in: Likewise. + * demo/Makefile.am (hc-direct): Likewise. + * pdemo/Makefile.am (hc-direct): Likewise. + * tests/build-relink.test, tests/build-relink2.test, + tests/cdemo-conf.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-nofast.test, tests/demo-shared.test, + tests/demo-static.test, tests/depdemo-conf.test, + tests/depdemo-nofast.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/hardcode.test, + tests/mdemo-conf.test, tests/mdemo-shared.test, + tests/mdemo-static.test, tests/pdemo-conf.test, + tests/tagdemo-conf.test, tests/tagdemo-shared.test, + tests/tagdemo-static.test: Likewise. + + * libtool.m4 (AC_PROG_EGREP): + New macro, defined if Autoconf doesn't define. + (AC_PATH_TOOL_PREFIX, AC_PROG_LD_GNU): Use it. + (AC_PROG_LD, AC_PROG_NM, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): + Use shell pattern matching rather than egrep. + (AC_LIBTOOL_CONFIG): Set lt_EGREP and EGREP. + + * demo/Makefile.am (SET_HARDCODE_FLAGS): Use sed instead of egrep. + * pdemo/Makefile.am (SET_HARDCODE_FLAGS): Likewise. + + * tests/defs (EGREP, FGREP): New vars. + + * ltmain.in: egrep -> $EGREP + * tests/assign.test, tests/demo-exec.test, tests/demo-inst.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, tests/sh.test: + Likewise. + + * tests/hardcode.test: fgrep -> $FGREP + + * tests/f77demo-exec.test: test -a -> test && + +2002-11-18 Bob Friesenhahn + + * ltmain.in: When using gcc, pass -mfoo to the linker + via $compiler_flags in order to pass architecture information to + the linker (e.g. 32 vs 64-bit). This may also be accomplished via + -Wl,-mfoo but this is not reliable with gcc because gcc may use + -mfoo to select a different linker, different libraries, etc, while + -Wl,-mfoo simply passes -mfoo to the linker. If there is a better + solution, please let me know what it is. + +2002-11-18 Bob Friesenhahn + + * tests/Makefile.am: Conditional assignment of FFLAGS = @FFLAGS@ + does not appear to be necessary given that Automake makes this + assignment by default. The condition is removed since Automake + 1.7.1 complains about it. + +2002-11-18 Jakub Jelinek + + * libtool.m4: Support linking of 64-bit libraries on + sparc{,v[789]}-*linux*, s390*-*linux*, ppc*-*linux* + GNU/Linux systems when the platform default is to build + 32-bit libraries. + +2002-11-18 Andreas Jaeger , Bo Thorsen + + * libtool.m4: Support linking of 32-bit libraries with ld + on the x86-64, ppc64, s390x and sparc64 GNU/Linux systems. + +2002-11-18 Akim Demaille + + * ltmain.in: Do not change the PATH in the wrappers: let them + launch the real binary using its path. + +2002-11-18 Kevin Ryde + + * doc/libtool.texi (Library tips): Note array dimensions. + +2002-11-18 Bob Friesenhahn + + * tests/*.test: MinGW's MSYS treats files under /dev + specially. This causes 'test -r /dev/null/config/site' to + improperly report success, causing configure to fail. Change the + CONFIG_SITE definition from "/dev/null/config/site" to + "/nonexistent" to avoid this problem. + +2002-11-18 Charles Wilson + + * libtool.m4 (_LT_AC_LOCK): remove support for ancient + versions of mingw and cygwin. + (AC_LIBTOOL_POSTDEP_PREDEP): new function. + moved the "find hidden library dependencies" code here + from AC_LIBTOOL_LANG_CXX_CONFIG. Attempted to make it + multi-tag compatible, but currently only CXX calls it. + (AC_LIBTOOL_LANG_CXX_CONFIG): set + enable_shared_with_satic_runtimes to 'no' by default + Set it to 'yes' for cygwin, mingw, pw32. Replace + "find hidden library dependencies" code with a call + to the new function AC_LIBTOOL_POSTDEP_PREDEP. + Consolidate cygwin and mingw/pw32 stanzas. + (AC_LIBTOOL_LANG_F77_CONFIG): set + enable_shared_with_static_runtimes to 'no' by default + (AC_LIBTOOL_CONFIG): add + enable_shared_with_static_runtimes to the list of variables + to write into ltmain.sh; include it in the libtool script + template as allow_libtool_libs_with_static_runtimes. + (AC_LIBTOOL_PROG_LD_SHLIBS): set + enable_shared_with_static_runtimes to 'no' by default + Set it to 'yes' for cygwin, mingw, pw32. + (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): only put cr in regexp + if the build_os is mingw, not host_os + + * ltmain.in (case deplibs_check_method): for all appropriate + cases, if allow_libtool_libs_with_static_runtimes, then remove + predeps and postdeps from the list of dependencies that must + be checked for "dynamicness". For the "none" case, the + presence of compiler-generated postdeps and predeps should + not trigger "inter-library dependencies not supported" error. + (initial setup after arg processing): on cygwin/mingw, allow + compiler-generated dependent libs to be duplicated without + elimination. + (initial search loop for deplibs): if the deplib in question + is a libtool lib, then if + allow_libtool_libs_with_static_runtimes then parse the .la file. + If the .la file only has an "old_library", add the deplib + directly to the deplibs list (-lstdc++) and DON'T use the .la + file; this allows the (case deplibs_check_method) change above + to take effect. + * ltmain.in (for pass in $passes loop): remove predeps, + postdeps, and compiler_lib_search_path from dependency_libs. + +2002-11-08 Robert Boehne + + * doc/libtool.texi: Add --mode=* to every example using libtool. + +2002-11-03 Ossama Othman + + * ltmain.in: add support for installing into temporary + staging area (e.g. 'make install DESTDIR=...') + +2002-11-03 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): restore setting + allow_undefined_flag=unsupported for cygwin and mingw. + (AC_LIBTOOL_PROG_LD_SHLIBS): ditto, for both "normal" gcc/ld + and for the (unmaintained?) MSVC case. + +2002-11-03 Charles Wilson + + * doc/libtool.texi (Install mode): document new + -inst-prefix option. + +2002-11-02 Robert Boehne + + * ltmain.in: Print a warning if the mode is not specified. + * doc/libtool.texi: Document the change that the mode must be + specified. + +2002-10-30 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not + echo. (AC_DEPLIBS_CHECK_METHOD): use new shell function + win32_libid on w32 platforms + * ltmain.in: add new section for shell functions. Add + win32_libid() shell function. + * f77demo/Makefile.am: add -no-undefined flag + +2002-10-30 Rob Browning + + * ltdl.c (realloc): Remove custom realloc. (#define + rpl_realloc realloc) and comment out later code for custom + realloc. You can't define your own malloc unless you know + enough about the malloc in use to be able to tell how big + the src ptr is. The disabled code incorrectly used the + *destination* ptr to decide how much to copy. This + sometimes results in out-of-bound accesses which cause + segfaults. This is a quick hack for now; we may want + something cleaner later. + (tryall_dlopen_module): check to be sure (dirname_len > 0) before + testing first character against '/'. + (try_dlopen): check for feof(file) in read loop -- otherwise + infinite loop? + +2002-10-25 Robert Boehne + + * ltmain.in (-XCClinker): New flag passes a linking option + directly to the compiler driver without appending ${wl}. + +2002-10-25 Gary V. Vaughan + + * README-alpha: Add some release note templates for inspiration + and consistency at release time. + + * Makefile.am (cvs-diff): Compress the generated diff file, ready + for upload to ftp.gnu.org. + +2002-10-25 Howard Chu + + * ltmain.in [aix]: Be sure to deal with xlc_r, cc_r and other + compiler variants. + +2002-10-25 Gary V. Vaughan + + * libtool.m4 (_LT_AC_FILE_IMPGEN_C): Removed. No longer used. + (_LT_AC_FILE_LTDLL_C): Ditto. + (AC_LIBTOOL_CONFIG) [cygwin, mingw, pw32, os2]: Don't call + _LT_AC_FILE_LTDLL_C or _LT_AC_FILE_IMPGEN_C. + +2002-10-25 Albert Chin-A-Young + + * libtool.m4: When LDFLAGS="-Wl,-brtl,[other options]", the + -brtl special-case code for AIX never gets triggered because + were are being too specific about how we search for -brtl. + Use case statement to avoid this. Remove extraneous + semicolon. + * ltmain.in: Recognize the IBM xlc compiler. + +2002-10-24 Andrew Suffield + + * libltdl/ltdl.c (lt_dlopenext): Corrected sense of "file not + found" check. + +2002-10-24 Ossama Othman + + * ltmain.in: Support compiler names matching g++* + +2002-10-23 Bob Friesenhahn + + * libtool.m4: Removed old Windows cruft. + * libtool.m4: Adapted pw32 to be like Cygwin/MinGW. + +2002-10-23 Robert Boehne + + ltmain.in: Do not add 1 to the version under IRIX, it is + not necessary. + +2002-10-15 Charles Wilson + + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): avoid long delay on + cygwin/Win9x when computing commandline length. + (AC_LIBTOOL_SYS_DYNAMIC_LINKER): fix postinstall_cmds when + sources are in a subdirectory + * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): use $PATH_SEPARATOR, not + $ac_path_separator + * configure.ac: move depdemo-specific stuff. You must configure + libtool before you can try './libtool --features'. + * mdemo-inst.test: set $PATH to include the directory in which + the modules are installed (on cygwin, DLL search path is the + $PATH) + +2002-10-15 Bob Friesenhahn + + * ltmain.in: MinGW works identically to Cygwin. + * libtool.m4: lt_cv_sys_max_cmd_len hard-coded to 8192 + * Model MinGW configuration after Cygwin configuration. + Some portions share implementation. + +2002-10-15 Elizabeth Barham + + * libtool.m4: Pattern MinGW library naming after that + used by Cygwin except use 'lib' prefix rather than 'cyg'. + * Transfer some configuration from Cygwin with adjustments + for MinGW. + +2002-10-15 Albert Chin-A-Young + + * libtool.m4: When a module is built for AIX, the 'lib' + prefix isn't needed, neither is the version. AIX dlopen + will honor the RPATH in a library. + +2002-10-11 Christoph Egger + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS, darwin): Add + -install_name to the link line only when -dynamiclib is + specified for a module. Use -bind_at_load when linking C++ + shared libraries. + +2002-10-04 Elizabeth Barham + + * libtool.m4 (AC_LIBTOOL_SETUP): GCC now checks -shared to + create a dll for Windows targets. + +2002-09-24 Robert Boehne + + * ltmain.in: Fixed a few spelling errors. + +2002-09-17 Robert Boehne + + * libltdl/ltdl.c: Commented out access() call that checks for a + library file's existence and permissions, as it appears to fail + in every case. + +2002-09-09 Albert Chin-A-Young + + * libtool.m4: Custom $symcode for Tru64 UNIX to catch 'Q', + read-only constants. + +2002-09-09 Rainer Orth + + * libtool.m4 (osf[345]): Append $major to soname_spec. + Reflect this in library_names_spec. + * ltmain.in (osf): Prefix $major with '.' for use as extension. + +2002-08-28 Bob Friesenhahn + + * ltdl.m4 & libltdl/ltdl.c: Port fully to native Win32 API. + +2002-07-31 Robert Boehne + + * f77demo/.cvsignore: New file, forgotten in the last commit. + +2002-07-31 Eric Lindahl + + * libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77 + Fortran support tag. + (AC_LIBTOOL_PROG_CC_C_O, _LT_AC_TAGCONFIG): Support F77 tag. + (AC_LIBTOOL_F77, _LT_AC_LANG_F77, AC_LIBTOOL_LANG_F77_CONFIG): + New macros for F77 tag Fortran support. + * configure.ac: Add support for creating the new F77 tag. + * bootstrap: Add f77demo directory to the list to be processed. + * Makefile.am: Add support for FFLAGS and FLIBS. + * tests/Makefile.am: Add new Fortran tests. + * tests/f77demo-*.test: New files. + * f77demo/configure.ac, f77demo/cprogram.c, f77demo/fooc.c + * f77demo/foof.f, f77demo/foo.h, f77demo/fprogram.f + * f77demo/Makefile.am, f77demo/README: New files. + +2002-07-16 Gary V. Vaughan + + * libltdl/ltdl.c (tryall_dlopen): We need to catch missing file + errors early so that file_not_found() can detect what happened. + +2002-06-26 Bob Friesenhahn + + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Remove + extraneous '=' character which appears in gcc 3.1 + -print-search-dirs output. + Handle both upper and lower case drive letters when testing for + Windows vs POSIX style path output from -print-search-dirs + output. + +2002-06-24 Robert Boehne + + * ltmain.in (Piecewise linking): Add a clause to skip creating + the export file until the reloadable object file(s) have been + created, then use them as input for $export_symbols_cmds. + +2002-06-23 Albert Chin-A-Young + + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Need to quote [ and ] for + Autoconf. + + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): HP/UX needs + libltdl_cv_sys_dlopen_deplibs set to yes. + +2002-06-23 Kevin Ryde + + * libtool.m4 (AC_LIBTOOL_SETUP, _LT_AC_LOCK): Use + AC_PROVIDE_IFELSE to test AC_LIBTOOL_WIN32_DLL and + AC_LIBTOOL_DLOPEN, necessary for autoconf 2.53. + +2002-06-23 Gary V. Vaughan + + * libltdl/ltdl.c (argz_insert): Actually, BEFORE can be NULL + when *PARGZ_LEN is non-NULL, so the assertion to the contrary was + bogus. + Reported by Bob Friesenhahn + and Albert Chin-A-Young + +2002-06-21 Gary V. Vaughan + + * libltdl/ltdl.c (foreach_dirinpath): Ensure that filename is '\0' + terminated by all code paths. + Reported by Lutz Müller + +2002-06-20 Gary V. Vaughan + + From Kevin Ryde : + * doc/libtool.texi (Platform quirks): s/dependan/dependen/ + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Ditto. + * TODO: Ditto. + +2002-06-13 Rainer Orth + + * ltmain.in (irix, nonstopux): Set major before use. + +2002-06-11 Daniel Kobras + + * libltdl/ltdl.c (try_dlopen): Don't return bogus handle to user + if tryall_dlopen() fails. + +2002-06-01 Gary V. Vaughan + + * tests/pdemo-exec.test: Typo. s/hell-static/hell_static/ + +2002-05-31 Charles Wilson + + * NEWS: Updated. + * libtool.m4: use $NM to create the symbol list on cygwin, not + $ltdll_cmds as on mingw. For all tags, (and host=cygwin) set + allow_undefined_flag="" so that the --auto-import magic + works properly. For all tags (and host=cygiwn) set + always_export_symbols=no -- it is unnecessary thanks to + binutils' auto-export magic. + * libltdl/ltdl.c: Don't force cygwin to use the LoadLibrary + wrapper; use cygwin's builtin implementatino of dl*. + * cdemo/Makefile.am: the downside of unsetting + 'allow_undefined_flag' -- we must include -no-undefined + in the _la_LDFLAGS variable. + * depdemo/l1/Makefile.am: ditto. + * depdemo/l2/Makefile.am: ditto. + * depdemo/l3/Makefile.am: ditto. + * depdemo/l4/Makefile.am: ditto. + * mdemo/Makefile.am: ditto. + * tagdemo/Makefile.am: ditto. + * demo/Makefile.am: ditto. But also, we must make special + provision to clean up the hell0 wrapper script. + * pdemo/Makefile.am: ditto -no-undefined. ditto hell0. + And use 'hell_static' instead of 'hell.static'. + * tests/pdemo-inst.test: use 'hell_static' instead + of 'hell.static'. + * tests/pdemo-exec.test: ditto. + +2002-05-30 Charles Wilson + + * tests/build-relink2.test: look for installed libl3.la + in $prefix/lib/ as well as $prefix/lib/extra/. + +2002-05-30 Gary V. Vaughan + + * tests/hardcode.test: Use libtool --config to collect the + variable values for the test, otherwise the tag values interfere + with a straight grep. + +2002-05-30 Gary V. Vaughan + + Finally fix the annoying bug which always adds all tags to the + libtool script built by your project configure. Now we set the + default tags depending on whether AC_PROG_CXX et. al. are actually + called from configure.ac. + + * libtool.m4 (_LT_AC_TAGCONFIG): Don't default the tagnames when + no --with-tags argument is given. + (_LT_AC_SHELL_INIT): Factored out from the AC_DIVERT_PUSH code + in... + (_LT_AC_PROG_ECHO_BACKSLASH): ...which now calls the macro + instead. + (AC_LIBTOOL_CXX): Use _LT_AC_SHELL_INIT to add CXX to the + initialisation sequence for tagnames. + (AC_LIBTOOL_GCJ): Similarly for GCJ tag. + (AC_LIBTOOL_RC): Likewise for RC tag. + +2002-05-21 Jon Meredith + + * ltmain.in: Fix a problem on SCO OpenServer5 that caused a + failure in three depdemo-make tests. For some reason the linker + tries to find the dependent libraries using the library search + path before it has read the libraries specified with absolute + paths in the full commandline. This patch add -L's for each of + the dependent library directories so that they can be resolved. + +2002-05-09 Nick Hudson + + * libtool.m4: Update support for NetBSD + * ltdl.m4: Make sure that libltdl_cv_func_dlopen and + libltdl_cv_lib_dl_dlopen are set and used instead of the + ac_cv_ versions. Also, use lt_cv_sys_global_symbol_pipe + instread of global_symbol_pipe. This fixes the detection of + dlopen on BSD derived plaforms and more importantly fixes + need_uscore detection. + +2002-05-06 Paul Eggert + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): head -1 -> sed 1q to + port to POSIX 1003.1-2001 hosts, like textutils 2.0.21 with + _POSIX2_VERSION=200112. + +2002-05-06 Paul Eggert + + * ltmain.in: Don't assume that "sort +2" works, as POSIX + 1003.1-2001 says that "sort +2" is supposed to sort the file + named "+2". An example host that behaves like this is + textutils 2.0.21 with _POSIX2_VERSION=200112. + +2002-05-06 Loren James Rittle + + * ltmain.in: Detect and handle object name conflicts while + piecewise linking a static library. + +2002-05-02 Dave Vasilevsky + + * ltmain.in: Remove convenience libraries from deplibs for Darwin. + +2002-05-02 Fritz Elfert + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Modify archive_expsym_cmds + to catch properly handle dll alias symbols. + +2002-04-24 Kevin Ryde + + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use $build_os not $host_os. + +2002-04-14 Robert Boehne + + * doc/libtool.texi (C++ libraries): Finally updated to reflect + Libtool's support for C++. + +2002-04-14 Jean-Frederic Clere + + * libtool.m4: Update support for Fujistu-Siemens Computers (FSC). + * ltmain.in: Add support for EBCDIC based systems. + +2002-04-07 Robert Boehne + + * libtool.m4 (LT_AC_PROG_SED): Refactor, removing temporary directory + and consistent use of the shell variable namespace "lt_ac_". + +2002-04-02 Robert Boehne + + * ltmain.in: Finish the tag matching logic started yesterday and + refactor it a bit. + +2002-04-01 Robert Boehne + + * ltmain.in: Handle the case when no tag is explicitly set, and + $base_compile has a space in front of $CC, and revert the setting + of tagname checked in on 2002-3-14. + +2002-04-01 Robert Boehne + + * tagdemo/foo.cpp: Use C++ IO to catch problems linking to C++ + runtime libraries. + * tagdemo/main.cpp: Ditto. + +2002-03-16 Gary V. Vaughan + + * TODO: Removed obsolete comments about RMS' package system. + +2002-03-14 Robert Boehne + + ltmain.in: Touch-up to make testsuite pass, and default tagname + to CC when it isn't explicitly set. + +2002-03-14 Anthony Green + + * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Albert Chin's gcj fix. + (AC_LIBTOOL_PROG_COMPILER_PIC): Per Bothner's change for not + using -DPIC with gcj. + +2002-03-11 Bruce Korb + + * ltmain.in(compile): bring a touch of order to the option processing + +2002-02-09 Gary V. Vaughan + + * NEWS: Updated. + * THANKS: Added Rob Collins and Chuck Wilson for their cygwin + work. + + From Robert Collins : + * configure.ac (AC_EXEEXT): Needed for DOSish systems. + * libtool.m4 (shlibpath_overrides_runpath) [cygwin]: Set to yes + when compiling with gcc. + (lt_prog_compiler_pic) [cygwin]: No longer needs the -DDLL_EXPORT + hack, so we just say the pic is the default. + (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin]: Extract symbols from a + library normally. + [cygwin]: Declare C++ compiler characterisics for g++, taking into + account the new auto-import support in cygwin ld. + * ltmain.in (specialdeplibs) [cygwin]: Be careful about + eliminating duplicate -lgcc's from the link line. + [cygwin]: Be smarter about .exe suffixes. + * demo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Support + DOSish systems properly. + * depdemo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Ditto. + * demo/Makefile.am (deplibs-check): Allow for .exe suffix. Use + hell_static instead of hell.static for multi-`.' inhibited OSes. + * tests/demo-exec.test: Ditto. + * tests/demo-inst.test: Ditto. + * demo/foo.h [cygwin]: Sanitize cygwin dll support. + * demo/foo.c (_LIBFOO_COMPILATION_): No longer required. + * demo/hello.c (_LIBFOO_COMPILATION_): Ditto. + * depdemo/Makefile.am (bin_PROGRAMS): Use depdemo_static instead + of depdemo.static for multi-`.' inhibited OSes. + * tests/depdemo-exec.test: Ditto. + * tests/depdemo-inst.test: Ditto. + * mdemo/Makefile.am (bin_PROGRAMS): Ditto for mdemo.static. + * tests/dryrun.test: Ditto. + * tests/mdemo-exec.test: Ditto. + * tests/mdemo-inst.test: Ditto. + * tests/build-relink.test: Be careful about possible .exe + suffixes. + * tests/noinst-link.test: Allow for .exe suffix. + +2002-02-07 Alexandre Oliva + + Reverted incorrect patch: + 2001-10-24 H.J. Lu + * ltmain.sh: Allow link against an archive when building a + shared library. + * libtool.m4 (lt_cv_deplibs_check_method): Always use + file_magic for Linux ELF. + +2002-01-30 Robert Boehne + + * libtool.m4 (LT_AC_PROG_SED): Removed a mysterious newline. + +2002-01-28 Robert Boehne + + * libtool.m4 (LT_AC_PROG_SED): New macro tests sed for truncation of + output. AC_REQUIRE the new macro. + * ltmain.in: Use $SED rather than plan old sed, as set by the new + macro LT_AC_PROG_SED. + +2002-01-10 Volker Christian + + * libltdl/ltdl.c (find_handle_callback): treat the result of a call + to access(2) correctly when deciding whether a library can be found + in a directory from user_search_path. + +2002-01-07 Robert Boehne + + * NEWS: Fixed wrong path for texinfo.tex. + * configure.ac: Bumped version to 1.4e. + + GNU libtool 1.4d was released. + + * configure.ac: Bumped version to 1.4d. + * NEWS: updated. + * config.guess, config.sub, texinfo.tex: Synchronised from + ftp.gnu.org. + +2001-12-06 Jens Petersen + + * ltmain.in: Replace all test "-a"s by "&& test" + for portability. + +2001-11-28 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Change the + factor of saftey as 3/4 of the result was not low enough. + +2001-11-28 Gary V. Vaughan + + * libtoolize.in: The test for whether AC_PROG_LIBTOOL is defined + in aclocal.m4 had bitrotted slightly. + Reported by Takahiko Kawasaki + +2001-11-27 Donald D. Anderson + + * ltmain.in: Treat freebsd like openbsd, in that -lc/-lc_r should + not be explicitly used. ld handles this depending on the presence + of the -pthread option. + +2001-11-27 Robert Boehne + + With help from Michael Matz : + * ltmain.in: Add a new command line argument + --preserve-dup-deps for preserving duplicate + dependent libraries. + * libtool.texi: Document it. + +2001-11-27 Kevin Ryde + + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Send "test" + warnings to /dev/null, helps FreeBSD and maybe others. + +2001-11-15 Albert Chin-A-Young + + * libtool.m4: quote LTCC because autoconf AC_PROG_CC_STDC + macro might add to $CC if options needed by compiler to + grok ANSI. + +2001-11-15 Gary V. Vaughan + + From Joseph S. Myers : + * ltmain.in: Typo. + +2001-11-15 Mo DeJong + + * ltmain.in: Place parens around a generated relink_command + so it is run is a subshell. This avoids an install error + where libtool ended up in the wrong directory after + relinking a .la file. + +2001-10-31 Raja R Harinath + + * configure.ac (pkgdatadir): Move the invocation of AC_INIT_AUTOMAKE + before the use of $PACKAGE in $pkgdatadir. + Reported by Bob Friesenhahn + +2001-10-28 Gary V. Vaughan + + From Tom Bates : + * libtool.m4 [mips-compaq-nonstopux]: New port. + * ltmain.in [mips-compaq-nonstopux]: Support + $version_type == nonstopux. + +2001-10-28 Albert Chin-A-Young + + * libltdl/ltdl.c (foreach_dirinpath): change some types to size_t + from int because strlen() returns size_t. argz_len changed to + size_t because argzize_path() takes 3rd argument as size_t, not + int. + Based on lint run from Bob Friesenhahn + +2001-10-27 Gary V. Vaughan + + * libtool.m4 (_LT_AC_TAGCONFIG): Cray sed does not allow character + sets to contain the separator character. + Reported by Kevin Ryde + + * ltdl.m4 (AC_WITH_LTDL): New macro to add `--with-included-ltdl' + option to configure, but to find an appropriate ltdl library and + append the right options to link it. + +2001-10-24 Kevin Ryde + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Remove a stray ' quote. + +2001-10-24 H.J. Lu + + * ltmain.sh: Allow link against an archive when building a + shared library. + * libtool.m4 (lt_cv_deplibs_check_method): Always use + file_magic for Linux ELF. + +2001-10-12 Guido Draheim + + * ltdl.m4: Changed "underscode to underscore". + +2001-10-06 Gary V. Vaughan + + * configure.ac: General modernisation and cleanup. + * cdemo/configure.ac: Ditto. + * demo/configure.ac: Ditto. + * depdemo/configrue.ac: Ditto. + * ltdl/configure.ac: Ditto. + * ltdldemo/configure.ac: Ditto. + * mdemo/configure.ac: Ditto. + * pdemo/configure.ac: Ditto. + * tagdemo/configure.ac: Ditto. + +2001-10-04 Albert Chin-A-Young + + * libltdl/ltdl.c: Match function return type with prototype + (add static initializer to file_not_found). + +2001-09-30 Gary V. Vaughan + + * libtool.m4 (AC_LIBLTDL_CONVENIENCE): s/INCLTDL/LTDLINCL/ for + consistency with gettext's INTLINCL. Keep the old symbol too for + backwards compatibility. + (AC_LIBLTDL_INSTALLABLE): Ditto. + * doc/libtool.texi (Distributing libltdl): Adjust documentation. + +2001-09-22 Albert Chin-A-Young + + * ltdl.m4 (AC_LTDL_DLLIB): Even though HP-UX 10.20 and 11.00 + support shl_load *and* dlopen, dlopen works correctly only + with a patch. Because we want to avoid the situation where we + build on a system with the patch but deploy on a system without, + use shl_load exclusively if found. + +2001-09-22 Gary V. Vaughan + + * libtool.m4 (_LT_AC_FILE_LTDLL_C): Be carefule that the start + marker searched for by sed must start in column 0. + (_LT_AC_FILE_IMPGEN_C): Ditto. + Reported by Tor Lillqvist + +2001-09-22 Tor Lillqvist + + * libtool.m4 [mingw* cygwin*]: Small improvement for mingw-hosted + tool support (while still running libtool on cygwin). In that case + PATH_SEPARATOR is ':', but gcc -print-search-dirs still prints its + search path with ';' as separator. + (AC_LIBTOOL_RC, AC_LIBTOOL_LANG_RC_CONFIG): Add support for .rc + files (Windows resource files), compiled by the resource compiler + (windres in mingw) to .o files. + (AC_PROG_NM): Minor bug fix for $PATH elements with spaces in + them. + * configure.ac: Use LT_AC_PROG_RC. + * ltmain.in: Check for .rc files. + * NEWS: Updated. + + * ltmain.in: Add a space to $base_compile in the case statement, + as the case labels checks for trailing spaces, but there aren't + necessarily in $base_compile. + +2001-09-22 Albert Chin-A-Young + + * libtool.m4: When setting archive_cmds for CC, don't + test for $GXX but for $GCC on HP-UX. Indentation fixes. + +2001-09-21 Gary V. Vaughan + + From Tor Lillqvist : + * ltmain.in [cygwin* mingw*]: Take care of the difference between + wrapper script name and executable name. + + * libtool.m4 (archive_cmds) [darwin1.[0-2]]: Darwin uses zsh-3.1.6 + for /bin/sh, and that shell does not handle escaped quotes + properly yet. + Reported by Christopher Pfisterer + +2001-09-21 Albert Chin-A-Young + + * libltdl/ltdl.c: Match function return type with prototype + (add static initializer to some functions) to prevent warnings + from HP-UX cc. + +2001-09-21 Gary V. Vaughan + + * libltdl/ltdl.c: Added support for dmalloc, and uncovered some + memory bugs as a result. + +2001-09-21 Albert Chin + + * libtool.m4: Don't include main() when testing for command to + parse $NM output because some C++ compilers don't allow you to + take the address of main (e.g. HP-UX aCC). + + * libtool.m4: Some uses of $GXX were unquoted, but GXX is either + NULL or yes. Use "$GXX". + +2001-09-13 Assar Westerlund + + * ltdl.m4 (AC_LTDL_DLLIB): call dlopen with arguments so the test + does not fail due to a prototype in dlfcn.h + +2001-09-13 Gary V. Vaughan + + * ltdl.m4 (AC_CHECK_HEADERS): Check for assert.h. + * libltdl/ltdl.c: If not, disable assertions manually. + +2001-09-11 Gary V. Vaughan + + * bootstrap: Be robust to having no files that need removing. + + * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump libltdl version to + 1.2. + * libltdl/Makefile.am (libltdl_la_LDFLAGS): Bump libtool library + version info to 4:0:1. + +2001-09-11 Gary V. Vaughan + + * libtool.m4: No need to undefine([symbols]), proper quotation is + enough. + +2001-09-10 Gary V. Vaughan + + * libtool.m4: CVS Autoconf guarantees a decent default IFS, so + there is no need for us to preset it anymore. + Be careful not to set IFS="${IFS}$PATH_SEPARATOR" for PATH + splitting, otherwise spaces in directory names will be lost. + Use $PATH_SEPARATOR... don't rely on $ac_path_separator, which was + an autoconf internal until just now, when it disappeared! + * ltmain.in: Default IFS once, at the start. + Reported by Akim Demaille + +2001-09-10 Brad + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Missed an instance of + Autoconf square bracket quoting style normalisation. + + * ltmain.in (-lc_r): Style improvement. + + * doc/libtool.texi: Remove obsolete references to ltconfig. + * tests/quote.test: s/ltconfig/\$0/ + +2001-09-09 Gary V. Vaughan + + * libtool.m4: Use Autoconf square bracket quoting style + consistently throughout. + +2001-09-08 Gary V. Vaughan + + * bootstrap: Cleanup `autom4te' and `libtool' so that we don't + get caught by something from a previous build. + + * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Revert + my 2001-09-06 patch. + (no_undefined_flag)i [solaris*]: Revert Alexandre's 2001-04-11 patch. + +2001-09-07 Gary V. Vaughan + + * libltdl/ltdl.c (foreach_dirinpath): argz_len should be a size_t. + Reported by Albert Chin + +2001-09-06 Gary V. Vaughan + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [solaris*]: Typo. s/GXX/GCC/. + + * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing + no_undefined_flag from `-z text' to `-z defs' (see entry below at + 2001-04-11 Alexandre Oliva ) has a problem. + when linking a shared library with gcc calling /usr/ccs/bin/ld (eg. + the gcc supplied with Solaris 8 companion CD), using the flag + -no-undefined, shared library linking will always fail because of + the unresolved symbols from libgcc.a. Consequently we have to + provide a path to libgcc.a when linking shared libraries in + conjunction with -no-undefined! + + From Michael Pruett : + * libltdl/ltdl.c (find_module): `0' valued arguments to + tryall_dlopen_module() must be explicitly cast to avoid compiler + warnings on some environments. + + From Daniel Johnson : + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Move from GNU + ld section to non-GNU ld section. + +2001-09-05 Robert Boehne + + * pdemo/Makefile.am (helldl): Automake 1.4 can't find the target + if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. + Using both targets to the left of the colon seems to work though! + +2001-09-03 Gary V. Vaughan + + * demo/Makefile.am (helldl): Automake 1.4 can't find the target + if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. + Using both targets to the left of the colon seems to work though! + +2001-09-03 Brad + + * ltdl.m4 [AC_LTDL_SYS_DLOPEN_DEPLIBS]: Teach ltdl about the + behavior of OpenBSD's dlopen(). + +2001-09-03 Gary V. Vaughan + + From Marius Vollmer : + * libltdl/ltdl.c (tryall_dlopen_module): Don't forget to propogate + errors over recurse levels. + +2001-09-03 Brad + + * libtool.m4 [openbsd*]: More improvements to the OpenBSD port. + +2001-09-02 Gary V. Vaughan + + From Albert Chin : + * libtool.m4 (_LT_AC_LANG_C_CONFIG) [aix4*]: Be careful with + shared namespaces for static and shared libs. + (AC_LIBTOOL_DLOPEN_SELF): If all else fails, try dld_link from GNU + DLD. + +2001-09-02 Christopher Pfisterer + + * libtool.m4, ltmain.in: Linker flag and version numbering fixes + for darwin. + +2001-09-02 Gary V. Vaughan + + Based on a patch from Marius Vollmer : + * NEWS: updated. + * ltdl.m4 (AC_LIB_LTDL): Check for unistd.h. + * ltdl.c: Include unistd.h if it exists. + (LTDL_SEARCHPATH_VAR): Macro to prevent hardcoding + "LTDL_LIBRARY_PATH". + (LTDL_ARCHIVE_EXT): Macro to prevent hardcoding ".la". + (archive_ext): Have only one copy of ".la" in the readonly + segment of the compiled library. + (find_handle_callback): Don't bother trying to dlopen the file if + it doesn't exist. + (find_handle): Don't bother searching for files if no search_path + was supplied. + (file_not_found): A new function to determine whether the last + error was due to a file not found condition. + (try_dlopen): Renamed from lt_dlopen() and changed to have the + same footprint as tryall_dlopen. This involved a minor rewrite of + much of the internals of this function. + (lt_dlopen): A new function wrapped arounf try_dlopen(). + (lt_dlopenext): If a file already has a suitable extension, don't + bother adding additional extensions and trying to open those. + Tidy up the rest of the code to prevent continued searching with + an eventual FILE_NOT_FOUND when a genuine failure earlier in the + search process could be legitimately reported. + + * demo/Makefile.am (helldl$(EXEEXT)): Automake-1.5 made me change + this from just `helldl'. + +2001-07-31 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) Fixed a problem + with export_symbols_cmds not being set for CXX tags, and + not being properly set for any tag under AIX/Power. + +2001-08-19 Ossama Othman + + * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Corrected and improved + error message that is displayed when there was a problem + compiling the C++ test program. It still mentioned the now + non-existent `ltcf-cxx.sh' file. + + * doc/libtool.texi (LTDL_SET_PRELOADED_SYMBOLS): Removed + parentheses at end of starting "defmac" line, as pointed out by + makeinfo. + +2001-08-18 Brad + + * ltmain.in: Do not remove -lm from deplibs for OpenBSD. + +2001-08-16 Gary V. Vaughan + + * libltdl/ltdl.c (argz_create_sep): Don't forget to include the + terminating '\0' when counting argz_len. + (argz_create_sep): When canonicalizing argz, don't forget to copy + the terminating '\0', incase canonicalization has shortened argz. + (argz_stringify): Don't covert the final '\0' to a separator. + +2001-08-15 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlhandle_next): Now we can loop through all + loaded module handles as originally intended. + + * libltdl/ltdl.c (lt_dlseterror): Oops. This never worked + either, due to a pair of typos. Now fixed. + + * libltdl/ltdl.c (N_ELEMENTS): Deleted. How come nobody noticed + there was no way this could have ever worked? + (lt_dlcaller_set_data): Now that valid caller_ids must be + non-zero, allocate an addition entry in the caller_data vector and + use a zero valued key as the end marker. + (lt_dlcaller_get_data): Iterate up to the end marker in one pass. + +2001-08-14 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlcaller_register): Caller ids are allocated + starting from value `1', so that clients can use a value of zero + to indicate that libltdl has not yet initialised. + + * ltmain.in (exec_cmd): Fix quoting in execute mode so that the + double quotes added by libtool (to prevent lossage with embedded + spaces in filenames etc.) are not interpreted as literals by the + shell. + +2001-08-13 Gary V. Vaughan + + * libltdl/ltdl.c (find_file_callback): Fix a multiple free() + bug. + (tryall_dlopen_module): Remove some unused variables. + + * libltdl/ltdl.c (lt_dlinsertsearchdir): Calculate the address + of the end of user_search_path correctly. + + * libltdl/ltdl.c (rpl_argz_stringify): New fallback implementation. + * ltdl.m4 (AC_LTDL_FUNC_ARGZ): Test for argz_stringify in libc. + * libltdl/ltdl.c (lt_argz_insertinorder): Renamed from + lt_argz_insert to make room for... + (lt_argz_insert): Wraps argz_insert with libltdl error handling. + (lt_dlpath_insertdir): Insert new path elements into an + argzized path. + (lt_dlinsertsearchdir): New function to insert new search + directories anywhere into user_search_path using the above. + (lt_dladdsearchdir): Rewritten to use lt_dlpath_insertdir. + * libltdl/ltdl.h (lt_dlinsertsearchdir): Prototype for export. + * doc/libtool.texi (Libltdl interface): Document it. + * NEWS: Updated, + +2001-08-07 Gary V. Vaughan + + From Albert Chin : + * ltmain.in [irix*]: $with_gcc is either "yes" or "" (empty string) + with current autoconf, so we need to be robust to that when testing + it, + +2001-08-06 Gary V. Vaughan + + From Brad : + * libtool.m4 (deplibs_check_method) [aix*]: Removed redundant setting + of this variable. + +2001-08-05 Gary V. Vaughan + + * libltdl/ltdl.c (load_deplibs): Insert missing 1st argument to + LT_EMALLOC. + +2001-08-05 Tim Van Holder + + * ltdl.m4: Canonicalize descriptive text used with + AC_DEFINE. + + * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Remove. + (_LT_AC_PROG_ECHO_BACKSLASH): Use $ac_path_separator + instead of $PATH_SEPARATOR. + (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Ditto. + (_LT_AC_TAGCONFIG): Ditto. + (AC_ENABLE_SHARED): Ditto. + (AC_ENABLE_STATIC): Ditto. + (AC_ENABLE_FAST_INSTALL): Ditto. + (AC_PATH_TOOL_PREFIX): Ditto. + (AC_PATH_MAGIC): Ditto. + (AC_PROG_LD): Ditto. + (AC_PROG_NM): Ditto. + * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): Ditto. + +2001-08-05 Gary V. Vaughan + + From Brad : + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: OpenBSD + can build modules without a `lib' prefix and version number. + Move the deplibs check code from here... + (AC_DEPLIBS_CHECK_METHOD): ...to here. + +2001-08-05 Tim Mooney + + * libtool.m4 [osf3*, osf4*, osf5*]: Tru64 *can* build modules + without a `lib' prefix to the module name. + +2001-08-05 Gary V. Vuaghan + + From Guido Draheim : + * ltmain.in: Display better and different error messages when + library linkage fails in various ways. + +2001-08-05 Albert Chin-A-Young + + * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Add newline after + terminating '}' grouping character. Change '[0-9][0-9]' + to '0' as we've already matched it. + +2001-08-05 Gary V. Vaughan + + From Brad : + * libtool.m4 (archive_cmds) [darwin, newsos, sysv4]: Replace + 1.3 era $linkopts references with $linker_flags. + + * libltdl/ltdl.c: Fixed several careless mistakes in the + foreach_dirinpath support functions. + (foreach_dirinpath): Walk path elements with the argz API. + +2001-08-04 Gary V. Vaughan + + From Sedi Master Albert Chin : + * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Replace the awk invocation + with an equivalent bit of sed wizardry. + + From Edouard G. Parmelan + * libtool.m4 [darwin, openbsd]: Fix quoting problems with + unquoted [] expressions. + +2001-08-03 Gary V. Vaughan + + * bootstrap: s/ltdldemo // -- This demo soesn't work properly, + so I haven't committed it yet. + +2001-08-01 Ossama Othman + + * libtool.m4 (AC_LIBTOOL_SETUP): Require Autoconf-2.50 via the + AC_PREREQ autoconf macro since the new libtool macros utilize + macros from that version of Autoconf. + +2001-08-01 Gary V. Vaughan + + * ltdl.m4: Bump serial number. + General reformat and tify up in line with Autoconf-2.50 support. + (AC_LTDL_FUNC_ARGZ): Test for system implementations of a + handful of argz API calls, the error_t type, and the argz.h + header. + * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump version number. + * libltdl/ltdl.c (rpl_argz_append, rpl_argz_create_sep. + rpl_argz_insert, rpl_rgz_next): Fallback implementations of + the similarly named functions for machines that don;t use glibc. + (lt_dlrealloc): New memory function pointer that can be set by + the client. Defaults to rpl_realloc, which in turn uses only + lt_dlmalloc and lt_dlfree. + (LT_EMALLOC, LT_EREALLOC): Set internal out-of-memory error + inside the functions called by these new macros. Simplified all + callers by removing explicit client error reporting. + (memmove): Fallback implementation of overlap safe memory copy + function. + (tryall_dlopen): Factorized common code into... + (tryall_dlopen_module): ...this new helper function. + (canonicalize_path): Changed function signature to return success + or failure. Updated all callers. + (foreachfile_callback): Make use of argz API. + (LT_DLSTRLEN): Moved from here... + * libltdl/ltdl.h (LT_STRLEN): ...to here. Updated all callers. + (lt_dlrealloc): Declare new memory management handle. + +2001-07-31 Robert Boehne + + * libtool.m4 (mingw*) Revert the previous change as it was + applied by mistake. + +2001-07-31 Guido Draheim + + * libtool.m4 (mingw*) sys_lib_search_path_spec: + Sets the proper path separator for cross-compiling. + +2001-07-30 Steve Ellcey + + * libtool.m4 (ia64-*-hpux*) Add support for ia64*-*-hpux* platform. + +2001-07-30 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Fixed an + incorrect resetting of lt_prog_compiler_static when using gcc + under AIX Power. + +2001-07-31 Gary V. Vaughan + + * bootstrap: Remove generated files (incase they are links) before + rerunning the autotools to regenerate them. + +2001-07-30 Gary V. Vaughan + + * libtool.m4 (AC_LIBTOOL_SETUP): Use Autoconf-2.50 era + quadrigraphs and AC_HELP_STRING to bring AC_ARG_WITH/ENABLE + macros up to date. + (_LT_AC_LOCK): Ditto. + (_LT_AC_TAGCONFIG): Ditto. + (AC_PROG_LD): Ditto. + (AC_ENABLE_SHARED): Ditto. And eliminate the last remaining + changequote invocations. + (AC_ENABLE_STATIC): Ditto. And Ditto. + (AC_ENABLE_FAST_INSTALL): Ditto. And Ditto. + * ltdl.m4 (AC_LTDL_ENABLE_INSTALL): Use Autoconf-2.50 era + quadrigraphs and AC_HELP_STRING to bring AC_ARG_ENABLE + macro up to date. + * NEWS: Updated. + + * libtool.m4 [UnixWare7, OpenUNIX8]: Initial support for + UnixWare7 and OpenUNIX8. Accept these identifiers from the + latest config.guess/config.sub as pseudonyms for sysv5uw[78]. + * NEWS: Updated. + Reported by Boyd Lynn Gerber + +2001-07-29 Gary V. Vaughan + + * tests/sh.test: Add a new test to enforce X as the fill + character in `test "X...'. + Beef up the `test' tests to also check `test -.' and `test ! -.' + phrases for compliance. + * ltmain.in: Fix quoting problems uncovered by the new tests. + +2001-07-29 Andrew C. Feren + + * tests/sh.test: New test to disallow `test $foo', where + `test "$foo"' is much safer. + * ltmain.in: Fix quoting problems uncovered by the new test. + +2001-07-29 Steve Ellcey + + * libtool.m4 (lt_cv_sys_global_symbol_to_cdecl): Change it from + "extern char" to "extern int" so that GCC 3.0 won't complain and + refuse to compile programs containing "extern char main()". + +2001-07-29 Gary V. Vaughan + + From Guido Draheim : + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Support + cross compilation to mingw by allowing `:' or ';' as a path + separator. + * NEWS: Updated. + +2001-07-27 NIIBE Yutaka + + * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all + for sh*-*-linux* (SuperH) too. + +2001-07-25 Ossama Othman + + From Thomas Poindessous + * ltmain.in (pic_mode): Added missing quotes around shell + variable in "if test" conditional. + + From Peter Moulder + * ltmain.in (xform): Add support for pre-processed + (e.g. `*.{i,ii}' sources). + +2001-07-25 Gary V. Vaughan + + From Steve Ellcey : + * libltdl/ltdl.c (foreach_dirinpath): Free unassigned pointer + fix for `canonical'. + +2001-07-23 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG, AC_LIBTOOL_PROG_LD_SHLIBS) + [aix4*, aix5*]: Fixed a mispelled binder option under AIX. + The option to throw errors for unresolved external references is + -bernotok, not -bnoerok. + +2001-07-23 Gary V. Vaughan + + * Makefile.am (EXTRA_DIST): Don't forget to distribute + ChangeLog.1. + + From Erik Lindahl + * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Used on aix to discover + the compiler's default library search path so that the MPI + compiler suite is not hosed by the previously hardcoded path. + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [aix4*, aix5*]: Use it. + +2001-07-23 Andreas Schwab + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for + s390*-*-linux* and m68*-*-linux*. + +2001-07-19 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix tag support + problems with CXX variables being overwritten by the individual + macros. + (AC_LIBTOOL_PROG_CC_C_O): Ditto. + (AC_LIBTOOL_PROG_COMPILER_PIC): Ditto. + (AC_LIBTOOL_LANG_CXX_CONFIG): Moved call to + AC_LIBTOOL_SYS_HARD_LINK_LOCKS after the call to + AC_LIBTOOL_PROG_CC_C_O as it depends on the result. + (AC_LIBTOOL_LANG_GCJ_CONFIG): Ditto. + (AC_LIBTOOL_LANG_C_CONFIG): Ditto. + (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Used the macro + _LT_AC_TAGVAR to ensure the correct variable is being queried. + (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Changed the naming of shared + objects under IRIX back to what it was in the MLB. + +2001-07-23 Mark Kettenis + + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN) [gnu*]: Remove spurious + "break" and bogus comment + (_LT_AC_LANG_CXX_CONFIG): Add support for the Hurd. + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Add support for the Hurd. + +2001-07-16 Robert Boehne , Tim Mooney + + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): add cases and comments for + more platforms, including AIX, Digital/Tru64 UNIX and IRIX. + +2001-07-16 Gary V. Vaughan + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix ia64 AIX + run-time-linking when not using gcc. + (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. + Reported by Dan McNichol + +2001-07-12 Gary V. Vaughan + + From dda@sleepycat.com (Don Anderson): + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [qnx]: New + supported architecture. + (AC_DEPLIBS_CHECK_METHOD) [qnx]: Ditto. + * NEWS: Updated. + + From Stefan Ondrejicka : + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [cygwin*]: Make + sure that /lib/w32api is searched for system libraries to + match recent versions of cygwin. + * NEWS: Updated. + +2001-07-12 Dan McNichol + + From albert chin + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix AIX + run-time-linking when using gcc. + (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. + +2001-07-11 Gary V. Vaughan + + * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, + solaris]: Doh! the evalled variable shouldn't have been + quoted. + + * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, + solaris]: output_verbose_link_cmd have unquoted `*' in case + statements for these architectures. Be sure to quote them + with a sed expression before passing to eval. + Reported by Tim Mooney + +2001-07-09 Gary V. Vaughan + + * README-alpha: s/configure.in/configure.ac. + * configure.ac: Bumped version to 1.4c. + + GNU libtool 1.4b was released. + + * configure.ac: Bumped version to 1.4b. + * NEWS: updated. + * config.guess, config.sub, texinfo.tex: Synchronised from + ftp.gnu.org. + +2001-07-09 Robert Boehne + + From Michael Elizabeth Chastain : + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len + to a maximum of 512Kb, as it seems some HPUX 11.0 systems + have trouble with 1MB. + +2001-07-09 Gary V. Vaughan + + * README-alpha: Upgrade distribution instructions to include + canonical location of texinfo.tex. + +2001-07-09 Timothy Wall + + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Don't disable shlibs + on AIX5/IA64 with GNU ld. Keep gnu defaults if using gnu tools + on AIX5/IA64. + +2001-07-09 Robert Boehne + + * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len + to -1 on hurd, it has no command line argument limits. + * ltmain.in Handle max_cmd_len=-1 for systems that don't have + command line argument limits. + +2001-07-05 Gary V. Vaughan + + * libtool.m4 (_LT_AC_LANG_C_CONFIG): Revert to 1.3.x + sematics, and always build static libs when the host machine + cannot build shared libs. Even if static libs were explicitly + disabled. + +2001-07-02 Gary V. Vaughan + + Cleanup of libltdl: + * ltdl.c (lt_dladderror): Don't use `index' as a variable name, + since it is a function on BSD based boxes. + (lt_dlseterror): Ditto. + (lt_dlexit): Remove unused errormsg declaration. + (foreach_dirinpath): Make sure filename is initialised. + (find_handle): Return NULL for a failed search. + (foreachfile_callback): Don't reuse data2 symbol from prototype + in func declaration to prevent symbol shadowing. + * ltdl.h (lt_dlmutex_seterror): Don't use `error' as a parameter + name, since it is a function on glibc boxes. + + * libtoolize.in: Display --version in the same format as + autoconf and automake. + * ltmain.in: Ditto. + +2001-06-30 Gary V. Vaughan + + Merge test improvements from multi-language-branch: + * tests/defs: Find and set the value of CC probed by libtool.m4 + * tests/link-2.test: Use a .lo wrapper script, and the value of + CC set by defs instead of hardcoding gcc. + * tests/link.test: Use the value of CC set by defs instead of + hardcoding gcc. + * tests/quote.test: Ditto. + * tests/suffix.test: Ditto. + + * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Always set + lt_prog_compiler_wl to `-Wl'. + Reported by Albert Chin-A-Young + + * ltdl.m4 (AC_LTDL_DLLIB) [sco3.2*]: When searching for a dlopen + implementation, and adding `-ldl' has failed, try linking a call + to dlopen, #including dlfcn.h, and without -ldl. On sco3.2 the + header files redefines the interface symbols to point at the + implementation symbols in libc. + Reported by "Golubev I. N." + +2001-06-29 Tim Van Holder + + General cleanup of autoconf-2.50 upgrade: + * configure.ac: Mark as needing autoconf-mode in + emacs. Pass arguments to AC_INIT. + * cdemo/configure.ac: Ditto. + * demo/configure.ac: Ditto. + * depdemo/configure.ac: Ditto. + * libltdl/configure.ac: Ditto. + * mdemo/configure.ac: Ditto. + * pdemo/configure.ac: Ditto. + * tagdemo/configure.ac: Ditto. + * ltdl.m4: Mark as needing autoconf-mode in + emacs. + * libtool.m4: Mark as needing autoconf-mode in + emacs. Don't add () to AS_MESSAGE_LOG_FD. + * libltdl/configure.ac: Use config-h.in as + template for config.h. + * tagdemo/configure.ac: Drop the AC_DIAGNOSTIC. Move + AC_LANG([C++]) after the OBJEXT/EXEEXT check. + +2001-06-29 Gary V. Vaughan + + From Tim Van Holder + * tests/suffix.test: Typo in 2nd for loop. + + From Tim Van Holder + * libltdl/Makefile.am (OBJECTS): This was an implicit variable. + instead state the list of object variables explicitly. + + From Bruno Haible + * libtool.m4: undefine the m4 builtin `symbols', so that the + string `symbols' can be used in the rest of the code without + causing errors with autoconf-2.13. + + From "Golubev I. N." + * tests/Makefile.am (CPPLAGS): Typo. s/CPPLAGS/CPPFLAGS. + + * mdemo/Makefile,am (foo1_la_LIBADD): Add libsub.la, since foo1 + does use symbols from libsub.la -- only platforms that allow + undefined symbols in libraries were able to cope with this + previously. + Reported by Robert Collins + + From "Golubev I. N." + * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [sco3.2v5*]: Needs + -wl,-Bexport to make self dlopen work. + +2001-06-28 Gary V. Vaughan + + From Alexander Bluhm + * libltdl/ltdl.c (lt_dlopen): Fix bad memory initialisation + assumptions. + + * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE) [HPUX]: Define + lt_cv_sys_global_symbol_to_c_name_address to be a sed expression + for mangling the output of the symbol pipe into a brace delimited + C declaration of symbol name and address. + * ltmain.in: Use it to generate the fooS.c symbol name + Reported by Albert Chin-A-Young + +2001-06-28 Tim Van Holder , Gary V. Vaughan + + * bootstrap: Use cp instead of ln -s, for systems without + symlinks. Reorder the statements to avoid repetition outside + the loop. + +2001-06-28 Paolo Bonzini , Gary V. Vaughan + + Libtool now builds with the help of Autoconf-2.50! + * configure.ac (AC_PREREQ): Require Autoconf-2.50 or newer. + (AC_PROG_CPP, AC_EXEEXT, AC_OBJEXT): Removed. Autoconf-2.50 + doesn't have the AC_REQUIRE bug that required these to be called + explicitly from here. Autoconf-2.50 uses this file instead of... + * configure.in: ...this, which is now deleted. + * cdemo/configure.ac, cdemo/configure.in: Ditto. + * demo/configure.ac, demo/configure.in: Ditto. + * depdemo/configure.ac, depdemo/configure.in: Ditto. + * libltdl/configure.ac, libltdl/configure.in: Ditto. + * mdemo/configure.ac, mdemo/configure.in: Ditto. + * pdemo/configure.ac, pdemo/configure.in: Ditto. + * tagdemo/configure.ac, tagdemo/configure.in: Ditto. + * libltdl/acconfig.h: Deleted. + * Makefile.am (libtool): libtool now depends on configure.ac. + * libtool.m4 (_LT_AC_LOCK): Use 2.50's AC_LANG_PUSH/AC_LANG_POP + instead of 2.13's AC_LANG_SAVE/AC_LANG_RESTORE. + (AC_LIBTOOL_LANG_C_CONFIG): Ditto. + (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. + * libtoolize.in: Use $configure_ac, instead of hardcoding + configure.in. + +2001-06-28 Tim Van Holder + + * pdemo/Makefile.am: Use '=' instead of '+=' to shut up + automake. + +2001-06-27 Gary V. Vaughan + + From brad@openbsd.org: + * NEWS: Updated. + * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: Improved + support for various openbsd platforms. + (AC_LIBTOOL_PROG_LD_SHLIBS): Ditto. + * ltmain.in: Ditto, + +2001-06-26 Gary V. Vaughan + + * NEWS: Updated. + * libltdl/ltdl,c (LT_DLMUTEX_LOCK): Renamed from MUTEX_LOCK to + avoid potential namespace clash. + (LT_DLMUTEX_UNLOCK, LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR): + Ditto. + (lt_dlmutex_lock_func): Renamed from mutex_lock to avoid a + namespace clash of NCR MP-RAS. + (lt_dlmutex_unlock_func, lt_dlmutex_seterror_func, + lt_dlmutex_geterror_func): Ditto. + Reported by Edouard G. Parmelan + + * libltdl/ltdl.c (LT_DLSTRLEN): Call strlen only if the argument + is non-NULL and non-zero in length. Changed all calls to strlen + appropriately. + + * libltdl/ltdl.c: Prototype all static functions. + + * ltdl.m4: Bump serial number to 3. + (AC_LIB_LTDL): Require AC_HEADER_DIRENT for ltdl.c. + * libltdl/ltdl.h (lt_dlforeachfile): Prototype for new function. + * libltdl/ltdl.c: Include an appropriate header for the + opendir/dirent api. + (foreach_dirinpath): Visit each file in a list of directories. + (find_file_callback): Factor out the core of find_file() to make + use of foreach_dirinpath(). + (find_file): Use it! + (find_handle_callback, find_handle): Ditto. + (lt_dlforeachfile): New function to find files in a searchpath.,, + (foreachfile_callback): ...using this callback. + * doc/libtool.texi (Libltdl interface): Document new + lt_dlforeachfile api call. + +2001-06-25 Gary V. Vaughan + + * THANKS: Added Albert Chin-A-Young. + + * libtool.m4 (IFS): When IFS is changed to split a string for + examination in a loop, restore it inside the loop as well as + outside incase IFS is needed by commands in that loop. + Reported by Pavel Roskin + +2001-06-25 Albert Chin-A-Young + + * libtool.m4: Prefer shl_load to dlopen on HP-UX because dlopen + won't work properly without a patch. + +2001-06-25 Daniel Harvey + + * libtool.m4 (ltdll_cmds): [$]0 doesn't appear to translate through + the script correctly, change to $''0 + +2001-06-25 Maciej W. Rozycki + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for + mips-*-linux* and mipsel-*-linux*. + +2001-06-24 Andreas Schwab + + * libtool.m4 (AC_LIBTOOL_SETUP): Remove failed try to + transform linux to linux-gnu in $host. + (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match $host_os against + linux*, not linux-gnu*. + (AC_DEPLIBS_CHECK_METHOD): Likewise. + +2001-06-24 Gary V. Vaughan + + * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Set + PATH_SEPARATOR appropriately if it is not set already, + (_LT_AC_TAGCONFIG): Use it. + (AC_ENABLE_SHARED): Ditto. + (AC_ENABLE_STATIC): Ditto. + (AC_ENABLE_FAST_INSTALL): Ditto. + (AC_PATH_TOOL_PREFIX): Ditto. + (AC_PATH_MAGIC): Ditto. + (AC_PATH_PROG_NM): Ditto. + + From Tim Van Holder : + * libtool.m4: Use the canonical absolute path test + ([\\/]* | ?:[\\/]) and $PATH_SEPARATOR wherever + appropriate. + (AC_LIBTOOL_PROG_CC_PIC): Properly recognize DJGPP as a + platform that doesn't support shared libraries. + (AC_LIBTOOL_SYS_MAX_CMD_LEN): Avoid this test on DJGPP; use a + fixed value (12K) instead. + (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't forget $ac_exeext + when testing for link success. + + * configure.in (AM_INIT_AUTOMAKE): Bumped version to 1.4a. + + Complete the new configure time tags creation facility based on + the ltcf-*.sh and ltconfig.in files from multi-language-branch: + * libtool.m4: More refactoring and reformatting. + (_LT_AC_LANG_GCJ_CONFIG): Merged ltcf-gcj.sh from + multi-language-branch. + (_LT_AC_LANG_CXX_CONFIG): Merged ltcf-cxx.sh from + multi-language-branch. + * configure.in (AC_PROG_CXX, LT_AC_PROG_GCJ): Compiler checks must + be done before AC_PROG_LIBTOOL which appends tags based on their + results. + +2001-06-12 Robert Boehne + + * docs/libtool.texi: Updated the libltdl interface documentation + to bring it up to date. + +2001-06-06 Gary V. Vaughan + + * demo/Makefile.am (objdir): Use `libtool --config' for + extracting configuration values, since a given value may + be present in each tag. + (hc-libpath): Ditto. + (hc-minusL): Ditto. + * libtool.m4 (_LT_AC_TAGCONFIG): Add tagged configurations from + the --with-tags option. + (_LT_AC_LTCONFIG_HACK): Factored out into separate configuration + macros -- The interdependencies and running order are still + immutable, and need a lot of work to fix. + (AC_LIBTOOL_CONFIG): Taken from the previous incarnation of + _LT_AC_LTCONFIG_HACK -- this macro is used both to create the + primary (C language) libtool configuration from + _LT_AC_LTCONFIG_HACK and also to append tagged configurations from + _LT_AC_TAGCONFIG. + * NEWS: Merged from multi-language-branch. + +2001-06-06 Robert Boehne + + * bootstrap: Added tagdemo and pdemo tests from + multi-language-branch. + * configure.in: Added pdemo and tagdemo to CONF_SUBDIRS + and merged references to CXX and GCJ from multi-language-branch. + * pdemo: Added test directory from multi-language-branch. + * tagdemo: Added test directory from multi-language-branch. + * tests/Makefile.am: Merged additional tests from + multi-language-branch. + * tests/pdemo-*.test: ditto. + * tests/tagdemo-*.test: ditto. + +2001-05-30 Gary V. Vaughan + + * libtool.m4: Merged ltconfig.in from multi-language-branch. + +2001-05-28 Gary V. Vaughan + + * libtool.m4: Reformatting for consistency, and some refactoring + in preparation for ltcf-*.sh merge. + +2001-05-27 Gary V. Vaughan + + * ltmain.in: Merged from multi-language-branch. + * libtool.m4: Merged from multi-language-branch. + * ChangeLog: Started afresh. Old ChangeLog history moved to... + * ChangeLog.1: ...here. + +2000-06-04 Mark Mitchell + + * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris, + with_gcc]: Use `gcc -shared' to build a shared library. + +2001-06-04 John David Anglin + + * ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared + archives. + +2001-05-28 Simon Patarin + + * ltcf-cxx.sh (osf3/osf4/osf5): Support creation of C++ shared + libraries when using g++ with native linker. + +2001-05-28 Albert Chin + + * ltconfig.in (version_type, soname_spec) [aix4* | aix5*]: Use + linux-style versioning, and remove trailing .o from soname_spec. + +2001-05-22 Alexandre Oliva + + * ltcf-cxx.sh (allow_undefined_flag, no_undefined_flag) + [aix4*|aix5*]: Prepend blank. + +2001-05-20 Alexandre Oliva + + * configure.in: Reverted to 1.4, to avoid confusion with MLB. + Mainline is the release snapshot, except for the ChangeLog version + number, until the multi-language branch is merged into it. + + * ltconfig.in: Fix sh.test regression introduced in previous patch. + + * ltconfig.in (lt_cv_sys_max_cmd_len): Improve test to work better + in case of non-built-in echo. Set bounds correctly. + + * ltcf-cxx.sh (allow_undefined_flag) [aix4* | aix5*]: Fix quote + error. + + * ltmain.in (exec_cmd): New variable. Don't exec programs within + the big `case'; set the variable instead, and exec the cmd + afterwards, so that the shell gets a chance to clean up here-doc + files. + * NEWS: Update. + +2001-05-16 Alan Modra + + * libtool.m4 (lt_cv_deplibs_check_method): pass_all for hppa*-linux. + +2001-05-03 Andreas Jaeger , Andreas Schwab + + * ltmain.in (relink_command): Arrange for wrapper script to save + output to a variable and display it only if relinking fails. + +2001-04-25 Gary V. Vaughan + + * configure.in: bumped version to 1.4a. + + GNU libtool 1.4 was released. + + * configure.in: Bumped version to 1.4. + * config.sub, config.guess: Synchronised from ftp.gnu.org. + * NEWS: updated. + +2001-04-24 Peter Eisentraut + + * libtool.m4: Support $host_os as /sysv5uw7*/ from newer + config.guess in addition to older /unixware*/. Use compiler + driver, not linker, for linking shared libraries. + +2001-04-24 Gary V. Vaughan + + * libtool.m4, ltmain.in, libltdl/configure.in, + tests/quote.test: Remove stale references to ltconfig. + + * ltdl.m4 (AC_C_INLINE): No longer required. + * libltdl/ltdl.c (strdup, strcmp, strchr, strrchr, memcpy, trim, + free_vars): Revoke inline keyword from declarations. `static + inline' is not very portable, and in addition Unixware 7.1.1's + compiler says you can't access static variables from inline + functions. + Reported by Peter Eisentraut + +2001-04-24 Albert Chin-A-Young + + * libtool.m4: Handle case where /bin/nm -p outputs multiple + symbol types (like under HP-UX 11.00). + +2001-04-24 Thomas Tanner + + * TODO: describe problems with libltdl + * ltmain.in (ILD): tidy up, add comments, remove dead code, + merge duplicate code + * ltmain.in (ILD): don't touch newdependency_libs after scan or + dlopen pass + * ltmain.in (ILD): don't dlpreopen dependency_libs of a dlopened + module (remove absolutely wrong quick hack) + * ltmain.in (ILD): remove wrong comments about duplicate removal + * ltmain.in (ILD): build a static-only module if it has + static libraries in its dependencies (so that libltdl can + safely load dependency_libs) + * ltmain.in (argument parsing): prefix comparsions of -l args with X, + replace -lc with `-framework System' _after_ the ILD passes + * ltmain.in (argument parsing): support dl[pre]open + for both .o and .lo files + * ltmain.in (deplibs_check): use portable test syntax + * ltmain.in (help): document -prefer-[non-]pic flags + * ltmain.in: improve readablity by adding some comments, + rename uninst_* to notinst_* (more adequate name) + +2001-04-24 Gary V. Vaughan + + * doc/PLATFORMS: More updates from subscribers to + libtool@gnu.org. + + From Tim Mooney + * tests/Makefile.am (TESTS_ENVIRONMENT): Make sure the *.test + scripts get the same make that was used in the top level + directory. + +2001-04-23 Gary V. Vaughan + + * doc/PLATFORMS: Updated with more platforms successfully + tested by members of libtool@gnu.org. + +2001-04-23 Peter Eisentraut + + * doc/PLATFORMS: With this patch, freebsd4.3 passes the test + suite. + * libltdl/ltdl.c (lt_dlexit): Quit loop if only resident modules + are left. + +2001-04-23 Gary V. Vaughan + + * doc/PLATFORMS: With this patch, my Solaris boxes now pass the + test suite, Yay! + From Albert Chin-A-Young + * ltmain.in: `test -L' is not portable, and infact breaks uninstall + mode on Solaris. Fallback to `test -h' and finally `test -f', + but be careful not to let the failure status cause libtool to + stop. + + From Simon Spero + * ltdl.m4 (AC_LTDL_DLSYM_USCORE): Add $LIBADD_DL while + checking for dlsym _. + + From Simon Spero + * libtool.m4 (lt_cv_deplibs_check_method) [darwin]: Set it! + + * TODO: Make a note to undo this later. + From Christoph Pfisterer + * libtool.m4: Use $() execution substitution quotation to work + around zsh builtin echo \ escape removal. + +2001-04-22 Peter Eisentraut + + * bootstrap: Allow overriding the location aclocal, automake, + autoconf, autoheader from the environment. + + * demo/Makefile.am: Automake 1.4e does not allow `+=' assignments + if the variable was not set with `=' earlier. `+=' was not useful + here anyway. + +2001-04-22 Gary V. Vaughan + + * ltdl.m4 (AC_CHECK_HEADERS): UW7 has sys/dl.h, so we must + check for that here. + * libltdl/ltdl.c (HAVE_SYS_DL_H): Include it if necessary for + the dlopen loader. + Reported by Matthew Schalit + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for + various releases of UnixWare and OpenServer that support it. + Reported by Matthew Schalit + + * doc/PLATFORMS: Updated with various platforms successfully + tested by members of libtool@gnu.org. + +2001-04-21 Gary V. Vaughan + + * TODO: propose pkg-config merge. + +2001-04-21 Nick Hudson + + * ltmain.in: Correct an error in yesterday's patch. + +2001-04-20 Nick Hudson + + * libtool.m4: Improve NetBSD support. + * ltmain.in: ditto. + +2001-04-19 Dan McNichol + + * libtool.m4: Build standard shared libraries on AIX POWER + more like AIX does, with a shared object archived into lib.a. + On AIX -bexpall flag does strange things... Don't use it. + Fix quotes around -berok flag. Add support for AIX 5. + Add support for run time linking on AIX POWER. (should work + on AIX 4.2 and up). Turn this feature on by adding -brtl flag + to LD_FLAGS. Add support for AIX on IA64. Note: AIX on IA64 + uses a SYSV type linker. Add a comment telling what to do if the + TOC starts getting too large on AIX. + * NEWS: mention aix5 support. + +2001-04-18 Alexandre Oliva + + * TODO: Add -L- flag. + +2001-04-11 Alexandre Oliva + + * libtool.m4 (no_undefined_flag) [Solaris ld]: Change to -zdefs. + +2001-04-11 Ossama Othman + + * AUTHORS: Added myself to the list of maintainers. + +2001-04-08 Gary V. Vaughan + + * libtool.m4 (hardcode_libdir_flag_spec, osf4/osf5): Use ${wl} + to pass -rpath when compiling with gcc. + Reported by Tim Mooney + + * libltdl/ltdl.c (sys_shl_open): Cache a handle for the `self' + module, since HPUX adds module symbols into the `self' pool if + it is opened later. Return the cached pointer if the caller + subsequently tries to open `self'. + (sys_shl_sym): Diagnose NULL modules. + + From Peter Eisentraut + * ltmain.in (clean,uninstall): test -e is not portable. Well, + neither is -L, but I'm hoping that redirecting error messages + to /dev/null and relying on non-zero exit status will work okay + on the few hosts that don't support -L. + +2001-04-08 Nick Hudson + + * ltmain.in: Improve check for valid -version-info parameter. + +2001-04-08 Gary V. Vaughan + + From Nick Hudson + * doc/Makefile.am (libtool_TEXINFOS): Add fdl.texi so that it + is included in the distribution. + +2001-04-07 Peter Eisentraut + + * ltmain.in (clean,uninstall): Do not error if the file doesn't + exist and 'rm -f' was used. Exit with status 1 on error. + +2001-04-06 Nick Hudson + + * ltmain.in: Implement a new deplibs_check_method called + match_pattern that does pattern matching on filenames... + * libtool.m4: ...use it with NetBSD + +2001-04-05 Gary V. Vaughan + + * doc/libtool.texi (Multiple dependencies): A note about the + problems I've reintroduced by reverting the my patch of 2001-03-31. + + From Edward Lee + * libtool.m4: Typos. + + * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test. + * tests/depdemo-dups.test: Removed, as part of the patch + reversion below. + * ltmain.in: Revert my change from 2001-03-31. Although it + was technically correct, it opens a whole can of worms we don't + want to deal with right now. + + From Ahmed Masud + * libltdl/ltdl.c (sys_shl_open): Return a NULL module handle + for self opening. + (sys_shl_close): Be careful not to close a NULL module handle. + (sys_shl_sym): Allow shl_findsym() to open NULL modules, but + discard the modified module address it returns. + + * libltdl/ltdl.c (lt_dlopen): When reading the .la file, + reallocate the line buffer size if the line overflows the + original buffer. + Reported by Nick Hudson + + * NEWS (1.3d) Removed bogus ltconfig reference. + +2001-04-03 Gary V. Vaughan + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Remove the spurious + `dnl' from the help text of --with-pic. + Reported by stefan + +2001-04-02 Gary V. Vaughan + + * configure.in: bumped version to 1.3e. + + GNU libtool 1.3d was released. + + * NEWS: inserted todays date. + +2001-04-01 Christoph Pfisterer + + * libtool.m4: Fixed support for Darwin and Rhapsody. Now correctly + hardcodes the library path and adds versioning. Other small + fixes. + * ltmain.in: Fixed special cases for libc and libm on Rhapsody and + Darwin. One of them was misplaced. Added version_type case for + Rhapsody and Darwin, named "darwin". + +2001-03-31 Gary V. Vaughan + + * ltmain.in: Remove the code for stripping duplicate deplibs + from libtool link lines -- duplicates are somtimes necessary + to satisfy inter-library dependencies, and never cause link to + fail even if they are spurious. + * tests/depdemo-dups.test: New file. Make sure this bug doesn't + creep back in again! + * tests/Makefile.am (TESTS): Use the new test above. + +2001-03-29 Edward M. Lee + + * libtoolize.in: Check configure.ac and prefer configure.ac to + configure.in. + + * libtoolize.in: change recommendation from AM_PROG_LIBTOOL to + AC_PROG_LIBTOOL. + + * libtool.m4: Generate dll/import libraries for cygwin according + to the following: libFOO.a (static lib), libFOO.dll.a (import + lib), cygFOO-version.dll (dll). Update postinstall_cmds and + postuninstall_cmds to reflect this. + * ltmain.in: Generate installed .la files with dlnames set to + ../bin/cygFOO-version.dll for normal dlls. dlls for modules + remain with the .la file. + + * libltdl/ltdl.c: Use windows paths while calling LoadLibrary. + +2001-03-16 Albert Chin + + * libtool.m4 (save_CPPFLAGS): Fix typo. + +2001-03-13 Alexandre Oliva + + * libtool.m4 (lt_cv_compiler_c_o): Cache it. + (lt_cv_compiler_o_lo): Likewise. + +2001-03-09 Peter Eisentraut + + * ltmain.in (clean): Automatically remove $objdir (usually '.libs'). + +2001-03-08 Gary V. Vaughan + + * ltconfig.in (library_names_spec): Undo latin-1 spaces I pasted + in yesterday by mistake. + +2001-03-07 Gary V. Vaughan + + From Tor Lillqvist + * libtool.m4 (export_symbols): On Windows, if the export_symbols + file (which has been passed to libtool with the -export-symbols + command line switch) already is a .def file, use it as is. + + * libtool.m4 (library_names_spec): Using m4 quotes correctly this + time around! + + From Tor Lillqvist + * libtool.m4 (library_names_spec): Use an appropriate filename + prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32. + +2001-03-06 Alexandre Oliva + + * libtool.m4 (can_build_shared) [AIX 4.[01], GCC]: GCC up to + 2.96 can't build shared libraries reliably. Disable them. + + * ltmain.in: When dropping dependencies of a -no-undefined + library, give up on building a shared library. + +2001-03-05 Akim Demaille + + * ltmain.sh: Don't quote the argument of case/esac and + assignments. + * libtool.m4: Likewise. + +2001-03-03 Markus F.X.J. Oberhumer , + Alexandre Oliva + + * libtool.m4: Added explicit return type to all C functions. + +2001-02-22 Gary Vaughan + + * NEWS: Updated. + * doc/libtool.texi (Thread Safety in libltdl): New node describing + the application the new MT API. + * libltdl/ltdl.h: Prototypes. + * libltdl/ltdl.c: Use these functions throughout the rest of + the file to provide thread locking. + (lt_dlmutex_register): New function to set callbacks for + multi-threaded calls into libltdl. + (lt_dl_mutex_lock): Type of a locking callback function. + (lt_dl_mutex_lock): Type of an unlocking callback function. + (lt_dl_mutex_seterror): Type of a callback function to save the + last libltdl error message in thread local storage. + (lt_dl_mutex_geterror): Type of a callback function to retrieve + the last saved error message from thread local storage. + +2001-02-20 Gary Vaughan + + * libltdl/ltdl.c (lt_dlcaller_register): dont set an unsigned + type to a negative number. + Reported by Guenter Millahn + +2001-02-05 Gary V. Vaughan + + From Nick Hudson + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): netbsd* is able to + automatically load module deplibs without assistance from + libltdl. + +2001-02-02 Gary V. Vaughan + + * libltdl/ltdl.c (load_deplibs): Make sure the depcount is reset, + even when deplibs are not used because of the patch below. + + * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): If we know that the host + architecture automatically loads deplibs, then... + * libltdl/ltdl.c (load_deplibs): ...don't manually load each one. + +2001-01-31 Gary V. Vaughan + + * TODO: Updated. + + * libltdl/ltdl.c (load_deplibs): If loading a deplib fails, + don't sweat -- it may be a lib that is already statically linked + into the loading application. + + * libltdl/ltdl.c: Clean up the shadowing of the global handles + variable. + (LT_DLRESIDENT_FLAGS): Add extra parens to satisfy -Wall. + (load_deplibs): Cast isspace() argument to an int to satisfy + -Wall. + +2001-01-30 Robert Boehne + + * AUTHORS: added myself to the list of maintainers. + +2001-01-28 Alexandre Oliva + + * libltdl/Makefile.am (CLEANFILES): Clean conditionally-built + libraries. + +2001-01-27 Alexandre Oliva + + * libtool.m4 (ld_shlibs) [aix4*]: Disable on unknown CPU types. + +2001-01-07 Gary V. Vaughan + + * NEWS: Updated. + * doc/libtool.texi (User defined module data): Updated. + * libltdl/ltdl.c (lt_dlhandle_next): New function. + * libltdl/ltdl.h (lt_dlhandle_next): Prototypes. + +2001-01-05 Gary V. Vaughan + + * NEWS: Updated. + * doc/libtool.texi (User defined module data): Document it all. + * ltdl.m4: Check for memcpy, or else bcopy. + * ltdl.c (lt_caller_data): New type. + (lt_dl_handle_struct): Add an lt_caller_data field. + (lt_dlcaller_register, lt_dlcaller_set_data, + lt_dlcaller_get_data): New functions. + (rpl_memcpy): A minimal fallback implementation. + (rpl_realloc): A realloc implemented with lt_dlmalloc and + lt_dlfree. + (LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN): + New memory handling convenience macros. Use them + appropriately throughout the rest of this file. + * ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data, + lt_dlcaller_get_data): Prototyped. + +2001-01-04 Gary V. Vaughan + + * libltdl/ltdl.h: formatting change. + +2000-12-23 Gary V. Vaughan + + From vvv@vsu.ru: + * doc/fdl.texi (GNU Free Documentation License): contained @bye + command which prevented part of document to be generated (indices, + etc). + * doc/libtool.texi (Dlpreopening): the @deftypevar did not contain + a space after a type. + +2000-12-22 Akim Demaille + + * libtool.m4: s/[ \t]*$// + +2000-12-22 Aneesh Kumar K.V + + * libtool.m4 (OSF/1): Revert my patch of 2000-12-16. + +2000-12-20 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlexit): Was checking for residency of the + wrong module. + Reported by Robert Boehne + + * ltmain.in (dlprefiles): Now that `2000-12-15 Utz-Uwe Haus' patch + below can detect preopened library deplibs correctly in libltdl, + we need to ensure that libtool library deplibs are also preloaded + into the binary for that phase to work. + +2000-12-16 Aneesh Kumar K.V + + * libtool.m4 (OSF/1): Change the way to pass linker flags through + compiler on a Tru64 machine. + +2000-12-16 Gary V. Vaughan + + * libtool.m4 (sys_lib_search_path_spec): Use test instead of + `['. + (archive_cmds): And another one. + + * libtool.m4 (darwin*): Fixed a pair of stupid typos I made in the + last patch. + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): moved rogue settings from + sequent, ncr and newos6 back into here from other macros. + +2000-12-16 Wilfredo Sanchez + + * libtool.m4: (dyld/darwin*) Much improved port. + * ltmain.in: (dyld/darwin*) Much improved port. + +2000-12-16 Sascha Schumann + + * libtool.m4: Accept darwin as an alias for rhapsody. + * ltmain.in: ditto. + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use the HPUX 10.20 + methods to check for library dependencies on HPUX 11. + +2000-12-16 Nick Hudson + + * libtool.m4 (netbsd*, deplibs_check_method): Enable ILD support + for NetBSD a.out. + +2000-12-15 Akim Demaille + + * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Rename + `ac_cv_sys_global_symbol_pipe' as `lt_cv_sys_global_symbol_pipe'. + Similarly with `lt_cv_global_symbol_to_cdecl + (_LT_AC_LTCONFIG_HACK): Similarly with `ac_cv_prog_cc_pic', + `ac_cv_prog_cc_shlib', `ac_cv_prog_cc_wl', `ac_cv_prog_cc_static', + `ac_cv_prog_cc_no_builtin', `ac_cv_prog_cc_can_build_shared', + `ac_cv_prog_cc_static_works', `ac_cv_archive_cmds_need_lc'. + (AC_PATH_TOOL_PREFIX): Similarly with `ac_cv_path_MAGIC_CMD' + (AC_PROG_LD) : Likewise. + (AC_PROG_LD_GNU) : Likewise. + (AC_PROG_NM) : Likewise. + +2000-12-15 Utz-Uwe Haus + + * libltdl/ltdl.c (lt_dlopen): Changed "dl_dependency_libs" keyword + to "dependency_libs". + +2000-12-14 Tod Milam + + * libltdl/ltdl.c (lt_dlexit): Reset the loaders value to zero when + the last module has been unloaded. + +2000-12-14 Michael Schmitz + + * libtool.m4: Port to *-sni-sysv4 (Reliant Unix) + * README: added Reliant Unix to hte list of supported platforms + * doc/PLATFORMS: added note on tests on Reliant Unix + +2000-12-14 Masahiro Nobori + + * README: Updated. + * NEWS: Updated. + * libtool.m4: New port to NEWS-OS Release 6. + +2000-12-14 Nick Hudson + + * libtool.m4 (hardcode_libdir_flag_spec): Remove linker + specification for netbsd. + +2000-12-14 Akim Demaille + + * libtool.m4: Don't depend on Autoconf internals: + s/ac_cv_prog_gcc/GCC/. + +2000-12-14 Gary V. Vaughan + + * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't empty + out ac_cv_global_symbol_to_cdecl inside the loop, incase we + need to go around again and try with underscore prefix. + (_LT_AC_TRY_DLOPEN_SELF): On some hosts (cygwin for instance) + self dlclosing unloads the main program and causes a SIGSEGV. So + don't do it for now. + +2000-12-05 Gary V. Vaughan + + Oh My! Cygwin support has bitrotted while I was looking the other + way. This should fix it some: + * libtool.m4 (extract_expsyms_cmds): There is a quoting problem + with autoconf-2.13 that prevents [$]0 from expanding. Use shell + quotes instead to delay eval of $0. + (impgen.c) The '# ' sequence stripped by sed works again. + +2000-12-01 Gary V. Vaughan + + * doc/libtool.texi (Libltdl interface): Add documentation. + * libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add + prototypes. + (LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status. + * libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow + making and testing of resident module status, which prevents a + module from being lt_dlclosed. + (lt_dlopen): If lt_dlopen()ing self, make the module resident. + (lt_dlclose): Return an error if the module is resident. + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Move the tests for dlopen + from here... + (AC_LIBTOOL_DLOPEN_SELF): ...to here. + (_LT_AC_CHECK_DLFCN): Factor out repeated code for dlfcn.h + (_LT_AC_TRY_DLOPEN_SELF): Factor out repeated code for + checking dlopen status. + * ltdl.m4 (AC_LIB_LTDL): Use _LT_AC_CHECK_DLFCN. + dlopen compile time checking. Use _LT_AC_CHECK_DLFCN. + (AC_LTDL_DLSYM_USCORE): Use _LT_AC_TRY_DLOPEN_SELF. + +2000-11-29 Gary V. Vaughan + + * libltdl/ltdl.h (lt_dlhandle): Rename the wrapped structure + to prevent nameclash when used from C++. + * libltdl/ltdl.c: Fixed all references. + +2000-11-25 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlopen): Change the default search order + for modules. If the named module has no directory component, + always start the search with the user_search_path directories, + and then fall back on the current directory only if that fails. + +2000-11-20 Gary V. Vaughan + + * libltdl/Makefile.am (libltdl_la_LDFLAGS): increment the version + number to reflect the breakage of binary compatibility. + * doc/libtool.texi (Libltdl interface): Document + LT_NON_POSIX_NAMESPACE. + * libltdl/ltdl.h (LT_POSIX_NAMESPACE): Deleted. The default is + now to use this namespace, so the cpp macro is no longer + necessary. + +2000-11-20 Morten Eriksen + + * ltdl.m4 (AC_LIB_LTDL, AC_LTDL_SYMBOL_USCORE): Break a circular + dependency between AC_LTDL_SYMBOL_USCORE and AC_LTDL_DLSYM_USCORE. + +2000-11-20 Paul Berrevoets + + * ltmain.in: Some versions of expr respond with "0" if a + regexp fails to match. + +2000-11-19 Paul Berrevoets + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote the $ in $#, $2 and + $3 in variable 'archive_expsym_cmds' for cygwin. + +2000-11-19 Gary V. Vaughan + + * ltdl.c: Relegate non-POSIX-compliant symbols (e.g. those + ending in ``_t'') to deprecated #define compatibility macros. + Also ease up on the namespace pollution, so that only ``lt_'' + and ``LT_'' prefixes are taken from the global namespace. + * ltdl.h: ditto. + +2000-11-17 Gary V. Vaughan + + * ltdl.c: Reformatted. + * ltdl.h: ditto. + +2000-11-11 Gary V. Vaughan + + * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Use $ac_ext for conftest + sourcefile. + * libtool.m4: Use $ac_ext and $ac_objext respectively for conftest + sources and objects. + Reported by Carlo Wood + + * doc/fdl.texi: New file. The license for distributing the + libtool manual. + * doc/libtool.texi: Reference the new license. + +2000-10-31 Morten Eriksen + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote argument to avoid + error output from cygpath when $srcdir is empty. + +2000-10-31 Gary V. Vaughan + + * bootstrap: rm Makefiles to prevent infinite loop during + configure when libtool.m4 is newer than Makefile. + +2000-10-31 Akim Demaille + + * libtool.m4: Adjust the copyright notice. + Quote all the macro names when defined. + Some minor formatting changes. + (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC) + (AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM): + Don't use indir when useless. Don't add trailing `dnl' either. + +2000-10-30 Gary V. Vaughan + + * doc/libtool.texi: Corrected another attack of CRLF line + endings. + +2000-10-30 Ossama Othman + + * libtool.m4 (archive_expsym_cmds): Fix typo where line was broken + in the middle of an expression. + +2000-10-30 Aneesh Kumar K.V + + * libtool.m4 (archive_expsym_cmds): Support for -export-symbol + option on Tru64. + (hardcode_libdir_flag_spec): Fixed cxx throwing error while using + libtool. Done by passing -rpath directlty to the compiler. + +2000-10-27 Robert Boehne + + * docs/libtool.texi: Added pointers to documentation + of Hewlett-Packard, Compaq Tru64 and IBM AIX systems. + +2000-10-02 Gary V. Vaughan + + From Bruce Korb + * ltmain.in (execute_dlfiles): Reduce obfuscation. + +2000-09-30 Alexandre Oliva + + * libtool.m4 [netbsd*] (deplibs_check_method, file_magic_cmd, + file_magic_test_file): Removed inappropriate duplicate + definitions; these variables are set in AC_DEPLIBS_CHECK_METHOD. + + * libtool.m4 (lt_cv_file_magic_cmd): Don't use '${MAGIC_CMD}' or + '${OBJDUMP}'; Solaris' /bin/sh loses with `}' in cache files. + (ac_cv_path_MAGIC_CMD): Renamed to lt_cv_path_MAGIC_CMD. + +2000-09-28 Gary V. Vaughan + + * libtool.m4 (MAGIC_CMD): Don't use MAGIC, since BSD versions of + the file command use this environment variable to hold the + location of the magic database. + Reported by Marc Espie + +2000-09-19 Gary V. Vaughan + + * doc/PLATFORMS: Updated. + * demo/configure.in: Revert to the `libtool --features' test. + * Makefile.am (libtool): This needs to rerun configure now that + libtool is generated entirely by AC_PROG_LIBTOOL again. + (ltconfig): Removed. + (ltmain.sh): Is now regenerated when ltmain.in changes. + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Now does all of the work for + generating libtool immediately in configure.in, rather than + deferring part of the creation until config.status runs. + +2000-09-17 Gary V. Vaughan + + * bootstrap: Backed out yesterdays patch which is no longer + necessary. + * Makefile.am (libtool): Reworked rule for regeneration of libtool, + now that it is built entirely withing config.status. + (libtoolize): Tidied for orthogonality with the other generation + rules. + (ltconfig): This is now generated by AC_PROG_LIBTOOL, called from + make by running config.status --recheck. + (ltmain.sh): Moved primary generation of this file into here... + * configure.in (AC_OUTPUT): ...instead of here. + * libtool.m4 (AC_OUTPUT_COMMANDS): Write the config to ltconfig + where it can be reused, rather than directly to libtool. + * demo/configure.in: libtool is no longer present immediately + after AC_LIBTOOL_M4 has completed, so the tests now grep through + ltconfig instead -- which *will* be present. + +2000-09-16 Gary V. Vaughan + + * TODO: Removed the item describing the change below, and added a + similar item to remind us to change the ltdl.m4 macros again when + _LT_AC_LTCONFIG_HACK is divided into proper macros. + * ltdl.m4 (AC_LTDL_SNARF_CONFIG): Removed. No longet required + now that ltconfig has migrated to libtool.m4. + (AC_LTDL_SHLIBEXT): Require _LT_AC_LTCONFIG_HACK. + (AC_LTDL_SHLIBPATH): ditto. + (AC_LTDL_SYSSEARCHPATH): ditto. + + * ltdl.m4 (AC_LTDL_DLPREOPEN): Require the libtool.m4 symbol_pipe + macro. + (AC_LTDL_SYMBOL_USCORE): ditto. + (AC_LTDL_GLOBAL_SYMBOL_PIPE): Removed, since it is a duplicate + of... + * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): ...this new + macro, extracted from _LT_AC_LTCONFIG_HACK. + + * ltdl.m4 (changequote): An audit of changequote and m4 + quote usage -- all changequotes have been removed, and some + latent unquoted `[' and `]' bugs have been fixed. + + * configure.in (AC_OUTPUT): ltmain.sh must be generated in the + source tree since this is where it would be found in a freshly + unrolled tarball. + + * configure.in: Replace `dnl' comments with `#' comments for + more conformity with cvs autoconf. + Removed emacs hack-local-variables, since there is now a + proper Autoconf major mode. + Removed a couple of changequote()s. + + * bootstrap (ltconfig): When bootstrapping libtool with a + stock automake (i.e. without the README patch applied), + references to ltconfig are manually removed from the generated + Makefile.in files. + +2000-09-15 Gary V. Vaughan + + * doc/libtool.texi: Removes references to ltconfig, and a small + amount of tidying up to compensate. + +2000-09-15 Nick Hudson + + * libtool.m4 (netbsd): Improved support. + +2000-09-15 Gary V. Vaughan + + * ltmain.in (version_type): Use "-iface" as the windows + versioning scheme, where iface is the number of the oldest + interface supported. + +2000-09-14 Gary V. Vaughan + + From Paul Sokolovsky + * libtool.m4 (pw32): Initial support for pw32, assuming that + libtool's behaviour in this environment is identical to under + cygwin. + * ltmain.in (pw32): ditto. + * NEWS: Updated. + + * libtool.m4 (changequote): An audit of changequote and m4 + quote usage -- all changequotes (except a few with non-nesting + square brackets) have been removed. + + * Makefile.am (EXTRA_DIST): The bootstrap script should be + distributed with libtool. + +2000-09-13 Gary V. Vaughan + + libtool.m4 (_LT_AC_LTCONFIG_HACK): Oh man! Third time lucky. + I just discovered that '&' needs to be escaped inside + AC_TRY_EVAL. + +2000-09-12 Michael Matz + + * ltmain.in: Be careful about filenames with multiple `.'s in + them when calculating file extensions. + Reported by Joel Reed + +2000-09-12 Gary V. Vaughan + + libtool.m4 (AC_PROG_LIBTOOL): Removed, as it was triggering a + bug in Autoconf-2.13 AC_REQUIRE implementation which inserted + some of the expanded tests too early in the generaated configure. + (_AC_PROG_LIBTOOL): renamed to AC_PROG_LIBTOOL, and defines + itself to an empty expansion to prevent multiple expansions. + configure.in (AC_LIBTOOL_SETUP): Replaced by a call to + AC_PROG_LIBTOOL now that the AC_REQUIRE bug has been worked + around. + +2000-09-09 Gary V. Vaughan + + libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to escape the + redirections inside AC_TRY_EVAL in the need_lc tests. Doh! + + libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to redirect the + output of grep to /dev/null in the need_lc tests. + + configure.in (AC_PROG_LIBTOOL): Using this in libtools own + configure.in interacts badly with the AC_PROVIDE calls and + results in several tests being inserted into configure too + early. Use AC_LIBTOOL_SETUP instead. + +2000-09-08 Gary V. Vaughan + + libtool.m4 (_LT_AC_LTCONFIG_HACK): The ltconfig.in code I + ported from ltconfig.in was incomplete -- this is a backport + of the missing code taken from the multi-language branch. + +2000-09-07 Pavel Roskin + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Fixed incorrect use of + changequote + +2000-09-07 Gary V. Vaughan + + * NEWS: Updated. + * TODO: Add a reminder to get rid of ltconfig in mlb. + * README: Until things even out, I have added a note and a + patch to make the installed automake cooperate with the new + ltconfig free libtool. + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): with_gcc is only useful in + ltmain.sh as it has not yet been set in libtool.m4. Use + $ac_cv_prog_gcc instead. + + * doc/PLATFORMS: Updated. + + * configure.in (AC_PROG_AWK): Removed -- no longer required by + the build process. + * lineno: ditto. + + * libtoolize.in (files): Don't try to install ltconfig -- it + doesn't exist!! + * bootstrap: Fake an ltconfig incase the installed automake + calls an installed libtoolize (as part of its --add-missing + process) which thinks ltconfig should be there. + + * libtool.m4 (_LT_AC_LTCONFIG_HACK): Deleted a vital `;;' + terminator from a case statement by mistake. + + * Makefile.am (ltmain.sh): Make this depend on TSDEPS again + so that the Changelog timestamp is used for ltmain.sh at `make + dist' time. + +2000-09-06 Gary V. Vaughan + + libtool.m4 now contains a version of the code that used to run + from ltconfig, so that ltmain.sh and then libtool are + generated at configure time. + + * Makefile.am: Don't generate ltmain.sh or ltconfig anymore. + * bootstrap: ltconfig is no more! + * configure.in: Call AC_PROG_LIBTOOL directly. + (AC_OUTPUT): Generate tmain.sh. + * libtool.m4: Don't build an argument list for ltconfig. + (_LT_AC_LTCONFIG_HACK): Refactoring of the former contents of + ltconfig.in to take advantage of the m4 macros from autoconf. + * ltmain.in: Don't do a version check against ltconfig. + * tests/assign.test: Remove reference to ltconfig. + * tests/hardcode.test: ditto. + * tests/sh.test: ditto. + +2000-09-05 Alexandre Oliva + + * depdemo/main.c: Support -alt. + * tests/build-relink2.test: Try it. + + * ltconfig.in: Removed all references to what used to be + hardcode_into_libs=all. 2000-09-03's patch was wrong. + * ltmain.in: Likewise. + * tests/build-relink.test, tests/build-relink2.test: Adjust. + * mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before + libfoo2.la, so that they're installed in the right order. + +2000-09-04 Alexandre Oliva + + * tests/dryrun.test: Build libsub.la along with the object files, + since it is needed by libfoo2.la. + + * mdemo/Makefile.am: Mark only libfoo2 as -no-undefined. + Explicitly link it with libsub.la. + + * ltconfig.in (need_lc): Preserve allow_undefined_flag. + + * tests/*.test (CONFIG_SITE): Ultrix's /bin/sh fails on + `. /dev/null'. Set CONFIG_SITE to /dev/null/config/site, to make + sure we pick a non-existent file. + + * Makefile.am (libtool, clibtool): Pass CONFIG_SHELL along with + ECHO down to ltconfig. + + * ltconfig.in (hardcode_libdir_flag_spec, export_dynamic_flag_spec): + Use ${wl}, not ${wlarc}. + + * ltmain.in (compile, need_lock): Don't create nor remove lock + files in dry runs. + + * libltdl/ltdl.c (load_deplibs): Don't append shlib_ext; use + lt_dlopenext() instead. + + * ltmain.in (link -static): Don't add $link_static_flag; only + -all-static should do that. + * mdemo/configure.in: Revert part of the previous delta. + + * mdemo/configure.in: Don't use -static on AIX4.1. + * mdemo/Makefile.am: Likewise. + +2000-09-03 Alexandre Oliva + + * ltconfig.in: Get rid of hardcode_into_libs=all; use + hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes + instead. + [FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no. + * ltmain.in: Likewise. + * tests/build-relink.test, tests/build-relink2.test: Adjust. + + * libtool.m4: Fix typo I introduced in yesterday's patch. + + * libltdl/ltdl.c (lt_dlopen): Set dlname from library_names if + dlname is empty. + + * ltdl.m4 (HAVE_LIBDL): Look for dlopen in -lsvld. + * ltconfig.in: Likewise. + + * tests/mdemo-exec.test: Modify failure message. + + * ltmain.in (newdlprefiles): Use dlname if it's available and + old_library isn't; use linklib only if dlname is not available. + + * ltconfig.in (enable_dlopen): Set to no when lt_cv_dlopen is no. + + * libtool.m4: Don't quote CONFIG_SHELL nor ORIGINAL_CONFIG_SHELL. + Quote $@ properly so that the shell expands it, not m4. + + * libtool.m4: Don't quote SHELL when `re-exec'ing, so that SHELL + can be `/path/to/shell -x'. + + * tests/quote.test: Move the match test out of case statements, to + work around bug in /bin/sh of several OSs. + + * ltmain.in (variables_saved_for_relink): Attempt to unset them + instead of setting them to an empty string. + +2000-09-02 Alexandre Oliva + + * ltconfig.in [with_gnu_ld] (archive_cmds, archive_expsym_cmds) + : Use compiler_flags instead of linker + flags. + Reported by Alex Hornby + +2000-09-02 Makoto Ishisone + + * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Fix typo, + add support for compact format library. + +2000-09-02 Alexandre Oliva + + * ltdl.m4: Oops, I had forgotten to commit this part of Syd Polk's + patch from 2000-06-17. + +2000-09-02 Tom Kacvinsky , Tim Mooney + + * libtool.m4: Ignore Tru64's nm's complaint. + +2000-09-02 Pavel Roskin + + * ltconfig.in: only load $cache_file if it's a regular file + +2000-09-02 Assar Westerlund + + * ltconfig.in: Add back ranlib calls for static libraries if there + is a ranlib. + +2000-08-31 Gary V. Vaughan + + Move the echo detection code to a macro in libtool.m4. The code + at the top ofltconfig.in is ugly, but will go away when the rest + of ltconfig is migrated. + + * Makefile.am (libtool): Pass the value of $ECHO to ltconfig as + an environment variable. + * libtool.m4 (_LT_AC_PROG_ECHO_BACKSLASH): Quote the ECHO value + correctly so that it inserts the correct code into configure.in + suitably quoted for M4 expansion. This code needs to be near + the top of configure.in as it calls itself recursively, so I + am using AC_DIVERSION_NOTICE (or simply NOTICE on CVS + Autoconf). The value of ECHO is also substitued into the + Makefile to be used when Make calls ltconfig to generate + libtool, so another layer of quotation is required for the + Makefile. + (AC_LIBTOOL_SETUP): Use it. + * ltconfig.in: Accept a value for ECHO from the environment, and + carefully substitue for $0 if it is present in the ECHO value. + Because ECHO was quoted for Make, when ltconfig is called by + configure, it is overquoted, and one layer of quotes must be + stripped. + +2000-08-27 Gary V. Vaughan + + * ltconfig.in (with_gcc): Make the value of this option + available to the generated libtool script. + * ltmain.in (compile_command, finalize_command): The native C + and C++ compilers on IRIX require the -LANG:std in order to to + compile correctly. The same options should _not_ be passed + through to gcc on IRIX, or at all on other architectures for + backwards compatibility (among others). + Reported by Bob Friesenhahn + Reported by Albert Chin-A-Young + +2000-08-26 Gary V. Vaughan + + * ltconfig.in (old_reload_flag): typo. + +2000-08-01 Alexandre Oliva + + * ltmain.in (shtool): Use echo|grep instead of expr, as in the + original patch. + +2000-08-01 Alexandre Oliva + + * ltconfig.in (need_lc): Fix test message. + +2000-07-24 Mocha + + * ltconfig.in (NetBSD, deplibs_check_method): Use file_magic. + (NetBSD, file_magic_cmd, file_magic_test_file): Set. + +2000-07-24 Alexandre Oliva , David Kaelbling + + * ltmain.in (irix, major): Prepend a `.'. + * ltconfig.in (irix, soname_spec, library_names_spec): Adjust. + +2000-07-24 Alexandre Oliva , Ralf S. Engelschall + + * ltmain.in: Support GNU shtool's install. + +2000-07-24 Alexandre Oliva + + * ltconfig.in (linkopts): Don't set for test. + +2000-07-24 Nick Hudson + + * ltconfig.in (linkopts): Replace with linker_flags. + + * ltmain.in (ILD): Fix addition of deplibs in relink case. + +2000-07-18 H.J. Lu + + * ltconfig.in: Check if -lc is necessary for building shared + library. Set build_libtool_need_lc to indicate it. + * ltmain.in: Add -lc when building shared library only if + necessary. + +2000-07-10 Mo DeJong + + * libtool.m4 (AC_PROG_NM): Fix macro so that it + finds a cross NM on the PATH. + +2000-07-10 Ken Block + + * libltdl/ltdl.h: Also check for __cplusplus, __STDC__ is not + by Compaq C++ compiler + +2000-07-10 Alexandre Oliva + + * ltconfig.in (wlarc, netbsd, aout): Set to empty. + (hardcode_dynamic_flag_spec, export_dynamic_flag_spec): Use it. + + * ltconfig.in (dynamic_linker, linux, powerpc): Do not disable + shared libraries just because of MkLinux. + + * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Do not depend + on $version_type; check for ELF support as in other BSDs. + +2000-06-17 Syd Polk + + * libtool.m4 (AC_LIBTOOL_SETUP): Do not generate a libtool based + on target; use host instead. + +2000-05-30 Gary V. Vaughan + + * ltconfig.in (ORIGINAL_CONFIG_SHELL): Prevent lossage when + the echo probing code falls into this branch without setting + this variable. + + * ltconfig.in (netbsd*): archive_cmds and archive_expsym_cmds + were reversed with respect to definition of __ELF__. + From Keisuke Inoue + +2000-05-29 Gary V. Vaughan + + * libtool.m4 (netbsd*): Use -L option to file_magic_cmd as for + freebsd (below). + * libtool.m4 (netbsd ELF): support file_magic. + From Dan Winship . + +2000-05-29 Steven M. Schultz + + * libtool.m4 (bsdi4*): Add -L option to bsdi4's file_magic_cmd + command. Under BSD/OS 4.1 several libraries are now symlinks + rather than regular files. Adding -L tells the file program + to follow the symlink. + +2000-05-29 Gary V. Vaughan + + * libtool.m4 (i*86-*-freebsd*): Forgot to changequote(,). + + * NEWS: Updated. + * libtool.m4 (i*86-*-freebsd*): Support a.out shared libs. + From + +2000-05-29 Fred Fish + + Support AR=mwld AR_FLAGS='-xml -o' for PPC Beos. + * ltconfig (old_AR_FLAGS): Add. + (old_archive_cmds): Use AR_FLAGS rather than hardcoding "cru". + (archive_cmds): Use AR_FLAGS rather than hardcoding "cru". + (AR_FLAGS): Default to "cru" if not set. + +2000-05-29 Gary V. Vaughan + + * ltconfig.in (echo): The following code actually prints the + double quotes -- so I removed them: + echo='printf "%s\n"' /bin/ksh -c '$echo \\t' + From Tuukka Toivonen + + * NEWS: Updated. + +2000-05-29 Bernhard Rosenkraenzer + + * libtool.m4: adding ia64 as supported linux platform + +2000-05-29 Michael Matz + + * ltmain.in: fix quoting for $var_value. + + * ltconfig.in: check for dlfcn.h: include return value + to make -Wall in CFLAGS work. + +2000-05-27 Gary V. Vaughan + + * README-alpha: note new location of config.(guess|sub). + +2000-05-27 Chad Cunningham + + * ltconfig.in (rhapsody*): New Port. + * ltmain.in (rhapsody*): ditto. + +2000-05-27 Chris Lattner + + * ltconfig.in (*-sequent-sysv4): New Port. + +2000-05-17 Gary V. Vaughan + + * ltmain.in: cygwin-1.1.0 and higher no longer grok backslash path + separators. + +2000-05-14 Alexandre Oliva + + * libtool.m4 (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): + Pick LIBLTLD from top_builddir and INCLTDL from top_srcdir. + * mdemo/configure.in: Remove comments on + AC_LIBLTLD_CONVENIENCE. + + * libtool.m4 (_AC_PROG_LIBTOOL): Renamed from... + (AC_PROG_LIBTOOL): Just AC_REQUIRE(_AC_PROG_LIBTOOL), to avoid + effects of multiple runs. + +2000-05-11 Thomas Tanner + + * NEWS: update + * doc/libtool.texi (libltdl): rename lt_(find|next|add|remove)_dlloader + to lt_dlloader_* + * libltdl/ltdl.c: ditto + * libltdl/ltdl.h: ditto, add declaration of lt_dlloader_(find|remove) + +2000-05-06 Pavel Roskin + + * libltdl/ltdl.c: Typo. + + * libtool.m4 (AC_LIBTOOL_SETUP): CVS autoconf no longer sets + target to "NONE", but to an empty string. + +2000-05-05 Paul Sokolovsky + + * ltdl.c: support lt_dlopen(0) for win32 + +2000-05-03 Thomas Tanner + + * doc/libtool.texi (libltdl): fix typos, + INCLTDL starts with top_srcdir, replace NULL with @code{NULL} + + * ltmain.in (ILD): search in newlib_search_path, too + + * ltmain.in (ILD): fix bugs in conv pass, expand convenience + libs to deplibs and link them later on + + * ltmain.in (ILD): don't allow convenience libs to be + -dlopen/preopen'ed + + * ltmain.in (ILD): it's not required to link all deplibs + in fast-install mode + + * ltmain.in (ILD): if hardcode_into_libs=all, only relink + a library if it is linked against uninstalled libtool libraries, + rename link_against_libtool_libs to uninst_deplibs + + * ltmain.in (ILD): tidy up, add some comments + +2000-05-03 John Wehle (john@feith.com) + + * libtool.m4 (hpux10.20*): use file_magic for + inter-library dependency tracking. + +2000-05-02 Gary V. Vaughan + + * AUTHORS: Update my email address. + * commit: ditto. + +2000-04-11 Thomas Tanner + + * NEWS: update + * libtool.m4: add AC_LIBTOOL_PICMODE + * ltconfig.in: move pic_mode checks to ltmain.in + * ltmain.in: add -prefer-pic and -prefer-non-pic + +2000-03-29 Alexandre Oliva + + * ltmain.in (tmpdir): Do not accept an existing directory, and + force its mode to 700, for security reasons. + Reported by Joseph S. Myers + +2000-03-27 Thomas Tanner + + * NEWS: reformatting + + * ltmain.in (ILD): add extra convenience library scanning pass + + * ltmain.in (ILD): accept -R flags for libraries, too + + * ltmain.in (ILD): correclty merge the dlpreopened libraries + with deplibs + + * ltmain.in (install mode): remove directories from filenames + before relinking (reported by Elrond ) + + * doc/libtool.texi (libltdl): rename Library -> Lesser, + clarify exception clause + * libltdl/ltdl.c, libltdl.h (License): ditto + +2000-03-21 Alexandre Oliva + + * ltconfig.in (variables_saved_for_relink): Set to `PATH + $shlibpath_var $runpath_var'. If with_gcc, add gcc-related + environment variables. Add it to the configuration section. + * ltmain.in (relink_command): Expand those variables. + +2000-03-14 Christopher A. Knight + + * ltconfig.in: added main() definition in compile + check for header `dlfcn.h' to fix link errors + when built with Sun Workshop Pro CC 4.2 (and perhaps + others). + +2000-02-03 Gary V. Vaughan + + * libltdl/ltdl.c (lt_find_dlhandle): Deleted. This was B.S. + far cleaner to use lt_dlforeach and lt_dlgetinfo. + * libltdl/ltdl.h: Prototype deleted. + * doc/libtool.texi: Documentation deleted. + * NEWS: annoncement deleted. + +2000-02-23 Thomas Tanner + + * ltmain.in: remove duplicates from deplibs, handle + interdependent libraries (e.g. -la -lb -la), + this requires adding deplibs in reverse order + + * ltmain.in: link dlpreopened libraries before other libraries + (reported by Pavel Roskin) + * mdemo/Makefile.am: build and link libsub.la + * mdemo/sub.c: new file used by both dlopened modules + * mdemo/foo*: use sub() defined in libsub + * tests/dryrun.test: build libsub.la + + * mdemo/Makefile.am: always link mdemo.static with -static + * mdemo/configure.in: ditto + + * ltmain.in: fix dlopen/dlpreopening of objects + + * ltmain.in (ILD): fix misplaced `continue' in -R* argument handler + + * ltmain.in: merge duplicated code of clean and uninstall mode + + * libtool.m4: recognize powerpc*linux* (reported by + Dirk A. Mueller ) + +2000-02-23 Gary V. Vaughan + + * ltconfig.in (old_MAGIC, old_STRIP, old_reload_flag, + old_deplibs_check_method, old_file_magic_cmd): New variabes. + Treat these as old_CC etc. + (STRIP, MAGIC): Create and set these variables in the generated + libtool script. + Reported by Pavel Roskin + + * configure.in: Due to a bug in autoconf-2.13 implementation of + AC_SUBST, `AC_SUBST(FILE)' can never work. Use MAGIC as the + holder of the command to run in file_magic_cmd instead. + * ltconfig.in: s/FILE/MAGIC/g. + * libtool.m4 (AC_PROG_LIBTOOL): set MAGIC in the environment when + calling ltconfig. + (AC_PATH_MAGIC): renamed from AC_PATH_FILE. + (AC_PATH_TOOL_PREFIX): s/FILE/MAGIC/g. Also set file_magic_cmd + to '${MAGIC}' so that make can grok it. + * Makefile.am (libtool): + (clibtool): ditto. + +2000-02-21 Gary V. Vaughan + + * libltdl/ltdl.c (lt_find_dlhandle): New function. + (tryall_dlopen): Use it. + * libltdl/ltdl.h: Prototype it. + * doc/libtool.texi: Document it. + * NEWS: updated. + + * libltdl/ltdl.c (lt_dlinit): removed unused variable, `loader'. + + * libltdl/ltdl.c (lt_remove_dlloader): typo, s/=/==/g. + +2000-02-03 Gary V. Vaughan + + * libltdl/ltdl.h (lt_dlloader_data_t): New type for loader + instance data. + (lt_user_dlloader): New lt_dlloader_data_t field. + (lt_module_open_t): Add lt_dlloader_data_t parameter. + (lt_module_close_t): Add lt_dlloader_data_t parameter. + (lt_find_sym_t): Add lt_dlloader_data_t parameter. + (lt_dlloader_exit_t): Add lt_dlloader_data_t parameter. + * libltdl/ltdl.c: A sprinkling of /*ARGSUSED*/ markers to + reassure lint that the unused arguments are intentional. + (lt_dlloader_t): New lt_dlloader_data_t field. + (lt_dlloader_data): New function to return the contents of the + dlloader_data field. + (sys_dl_open): Take an additional lt_dlloader_data_t argument. + (sys_dl_close): Ditto. + (sys_dl_sym): Ditto. + (sys_dl): Initialise lt_dlloader_data_t field. + (sys_shl_open, sys_shl_close, sys_shl_sym, sys_shl): As above. + (sys_wll_open, sys_wll_close, sys_wll_sym, sys_wll): As above. + (sys_bedl_open, sys_bedl_close, sys_bedl_sym, sys_bedl): As + above. + (sys_dld_open, sys_dld_close, sys_dld_sym, sys_dld): As above. + (presym_init, presym_exit, presym_open, presym_close, presym_sym, + presym): As above. + (lt_dlinit): Call presym_init with additional argument. + (lt_dlexit): Call dlloader_exit method with additional argument. + (tryall_dlopen): Call module_open method with additional argument. + (lt_dlclose): Call module_close method with additional argument. + (lt_dlsym): Call find_sym method with additional argument. + (lt_add_dlloader): Initialise dlloader_data field. + (lt_remove_dlloader): Call dlloader_exit method with additional + argument. + + * libltdl/ltdl.c (find_file): Prevent early release of memory + in filename/*pdir. + From Jon Leichter + + (sys_wll_init): Deleted. No longer required. And this time, + with feeling! + (sys_wll_exit): Ditto. + +2000-02-02 Gary V. Vaughan + + * NEWS: updated. + * doc/libtool.texi (Libltdl interface): Moved user defined module + loader documentation from here... + (Module loaders for libltdl) ...to here, and updated the text and + added examples. + * ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader. + * libltdl/ltdl.h: Reformatted and commented for readability. + (struct lt_user_dlloader): New data type for passing + initialisation pointers to lt_add_dlloader. + (LTDL_ERROR_INVALID_LOADER): New error message when non loader + handles are passed to the user loader API. + (LTDL_ERROR_INIT_LOADER): New error when loader initialisation + fails. + (LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails. + (lt_module_open_t): renamed from lt_lib_open_t. + (lt_module_close_t): renamed from lt_lib_close_t. + (lt_dlloader_exit_t): renamed from lt_dlloader_exit_t. + * libltdl/ltdl.c: Reordered builtin loaders so that the "dld" + loader no longer occurs before "dlopen" on some platforms and + after it on others. + (lt_dlloader_t): Moved here from ltdl.h, added a field, + "loader_name", for identifying the loader, and renamed from + lt_dltype_t. Renamed type variables to loader IFF of type + lt_dlloader_t. + (lt_module_t): Renamed from lt_syshandle. Renamed handle variables + to module IFF of type lt_module_t. + (LTDL_TYPE_TOP): Deleted. No longer required. + (sys_dl): Initialised as a struct lt_user_dlloader. + (sys_dl_init): Deleted. No longer required. + (sys_dl_exit): Ditto. + (sys_shl): Initialised as a struct lt_user_dlloader. + (sys_shl_init): Deleted. No longer required. + (sys_shl_exit): Ditto. + (sys_wll): Initialised as a struct lt_user_dlloader. + (sys_wll_init): Deleted. No longer required. + (sys_wll_exit): Ditto. + (sys_bedl): Initialised as a struct lt_user_dlloader. + (sys_bedl_init): Deleted. No longer required. + (sys_bedl_exit): Ditto. + (sys_dld): Initialised as a struct lt_user_dlloader. + (sys_dld_init): Deleted. No longer required. + (sys_dld_exit): Ditto. + (sys_presym): Initialised as a struct lt_user_dlloader. + (lt_mod_init_t): Moved to here from ltdl.h. + (lt_dlinit): Add builtin loaders using the user loader API. + (lt_dlexit): Unregister and free all loaders. + (lt_add_dlloader): New function to add a new module loader after the + loader specified in the argument. + (lt_remove_dlloader): New function to remove a module loader. + (lt_next_dlloader): New function for iterating over module loaders. + (lt_dlloader_name): Accessor function for name of dlloader. + (lt_find_dlloader): New function to get a reference to a registered + module loader. + (strcmp): static implementation incase the host has none. + (lt_dlgettypes, lt_dlsettypes): Removed. + +2000-02-02 Thomas Tanner + + * libltdl/ltdl.c: replace NULL with 0, remove unused system + and app_private pointers from lt_dlhandle_t + * libltdl/ltdl.c (presym_add_list): new preloaded symbols + don't need to be added to the end + + * libltdl/ltdl.c (lt_dlgetdata, lt_dlsetdata): removed + * libltdl/ltdl.h: ditto + * doc/libtool.texi (libltdl interface): ditto + +2000-02-01 Thomas Tanner + + * ltmain.in: support -dlopen/dlpreopen for libraries + * NEWS: updated + * TODO: updated + * ltmain.in: rename dlopen to dlopen_support + * ltconfig.in: ditto + * doc/libtool.texi: ditto + + * ltmain.in: check whether libraries are moved out of $libdir, + replace .a and .lib with .$libext, .o and .obj with .$objext + +2000-01-31 Gary V. Vaughan + + * libltdl/ltdl.h (lt_dlrealloc): removed declaration. + * libltdl/ltdl.c (lt_dlrealloc): removed definition. + (lt_dladderror): Instead of calling lt_dlrealloc, use lt_dlmalloc, + and lt_dlfree. + +2000-01-30 Ossama Othman + + * libtool.m4 (lt_cv_cc_needs_belf): Set the test language to C + prior to executing the test that checks if the C compiler needs + "-belf." + Reported by Chris Butler + +2000-01-28 Gary V. Vaughan + + * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use changequote to + protect `[' and `]' in deplibs_check_method. + + * libltdl/ltdl.h (lt_dlrealloc): Added declaration. + * libltdl/ltdl.c (lt_dlrealloc): Added default definition. + + * libltdl/ltdl.c (lt_dlseterror): Catch errorcodes below 0 as + invalid. + * libltdl/ltdl.h (LTDL_ERROR): Added missing '_' in K&R + definition. + + * libltdl/ltdl.h (ltdl_error_table): Added missing error code, and + fixed typo in another code. + * doc/libtool.texi (Libltdl interface): Added missing @end + clause. + +2000-01-27 Thomas Tanner + + * ltconfig.in: Oops, replace the remaining $objdir's + + * ltmain.in: merge library linking code of programs and libraries, + some cleanups + +2000-01-27 Gary V. Vaughan + + * NEWS: Updated. + * doc/libtool.texi (Libltdl interface): Document new entry + points. + * libltdl/ltdl.c (lt_dladderror): New function to add a user + defined error message to the tables used by lt_dlerror(). + (lt_dlseterror): New function to allow setting of last_error by + user modules. + (ltdl_error_strings): New preprocessor generated table of internal + error diagnostic strings. + (user_error_strings): New internal list of registered user error + diagnostic strings. + (throughout!): Use error messages from ltdl_error_strings. + * libltdl/ltdl.h (ltdl_error_table): New macro to tabulate + internal diagnostic error strings alongside enum keys. + + * NEWS: Updated. + * doc/libtool.texi (Libltdl interface): Document new entry + points. + * libltdl/ltdl.c (lt_dltype_t): Use new type definitions for + existing fields. + (lt_dladdtype): New function to add a new ltdl dynamic loader + type to the end of the list of valid types.. + (lt_dlgettypes): New function to return the complete list of ltdl + dynamic loader types. + (lt_dlsettypes): New function to replace the list of ltdl dynamic + loader types entirely -- e.g. to prepend a new type to the + existing list. + (sys_dl_open, sys_dl_close, sys_dl_sym): Work with lt_syshandle. + (sys_shl_open, sys_shl_close, sys_shl_sym): ditto. + (sys_dld_open, sys_dld_close, sys_dld_sym): ditto. + (sys_wll_open, sys_wll_close, sys_wll_sym): ditto. + (sys_bedl_open, sys_bedl_close, sys_bedl_sym): ditto. + (presym_open, presym_close, presym_sym): ditto. + (tryall_dlopen): Call lt_lib_open_t functions lt_syshandle + compatibly. + (lt_dlclose): Call lt_lib_close_t functions lt_syshandle + compatibly. + (lt_dlsym): Call lt_find_sym_t functions lt_syshandle compatibly. + (lt_dltype_t): moved type declaration from here... + * libltdl/ltdl.h (lt_dltype_t): ...to here. + (lt_syshandle): new type for low level system handles passed by + loader functions + (lt_mod_init_t): New type for functions implementing the + initialisation for an ltdl dynamic loader. + (lt_mod_exit_t): Type of exit functions for the same. + (lt_lib_open_t): Type of loader functions for the same. + (lt_lib_close_t): Type of unloader functions for the same. + (lt_find_sym_t): Type of symbol resolver functions for the same. + + * libltdl/ltdl.c (sys_dl_init, sys_dl_exit, sys_dl_open, + sys_dl_close, sys_dl_sym): Preprocess these away on cygwin to + avoid spurious error messages. + +2000-01-24 Thomas Tanner + + fix severe bugs reported by Elrond + + * ltconfig.in: replace $objdir with $output_objdir + + * ltmain.in: change to the builddir before relinking programs + + * ltmain.in, ltconfig.in, libtool.m4, ltdl.m4: + remove unnessary spaces from line endings + +2000-01-19 Thomas Tanner + + * ltmain.in: rewrite of the ILD code, merge linking code for + programs, libraries and objects, allow linking of shared libraries + against static libraries/objects on platforms that support it + but print a warning, fix some typos + + * partially revert my previous change and + update only copyright notices of files that were actually modified + + * NEWS: update + + * libltdl/Makefile.am: version number was wrong + + * libltdl/ltdl.c (tryall_dlopen): revert Gary's change + since it breaks dlpreopening + * ltdl.m4: ditto + + * libltdl/ltdl.c (sys_search_path): search in the system default + library search path, too + * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path + + * libltdl/ltdl.c (find_module): remove bogus file_not_found_error + + * libltdl/ltdl.c (load_deplibs): implement loading of dependency + libraries + * libltdl/ltdl.c (unload_deplibs): implement unloading of dependency + libraries + * libltdl/ltdl.c (lt_dlexit): correctly close all modules and + their dependencies + + * libltdl/ltdl.c (lt_dlforeach): new function + * libltdl/ltdl.h: ditto + * doc/libtool.texi (using libltdl): document it + + * libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to + INCLTDL + + * libtoolize.in: reformatting + * ltconfig.in: reformatting + * ltmain.in: reformatting + + * mdemo/configure.in: AC_SUBST INCLTDL + * mdemo/Makefile.am: use INCLTDL + + * tests/Makefile.am: reexport OBJEXT and EXEEXT + * tests/dryrun.test: use them for building main.obj and mdemo.exe + +2000-01-17 Gary V. Vaughan + + * libltdl/ltdl.c (tryall_dlopen): Abort with + file_not_found_error before trying all lib_open() methods + if the file to be dlopened doesn't exist. + * ltdl.m4 (AC_HAVE_HEADERS): add unistd.h. + +2000-01-16 Gary V. Vaughan + + * libltdl/ltdl.c (find_file): memory error fixed. + +2000-01-14 Gary V. Vaughan + + * ltconfig.in (Usage): Now it matches the code! + Reported by Jon Leichter + + * README: Some notes about libtool release numbers. + + * mdemo/README: Explain the deliberate incompleteness of the + Windows port. + * mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL. + * mdemo/Makefile.am (LDFLAGS): Add -no-undefined. + + * libltdl/ltdl.h (LTDL_STMT_START, LTDL_STMT_END): Macros for + wrapping other macros to make a portable compound statement from + multiple C statements in the expansion. + (LTDL_SET_PRELOADED_SYMBOLS): Use the above macros to add an + extern declaration for lt_preloaded_symbols, to remove + dependency on undefined symbol from libltdl.dll on cygwin (and + other -no-undefined architectures). + * libltdl/ltdl.c (lt_preloaded_symbols): No longer defined here. + + * libtool,m4 (AC_LIBTOOL_SETUP): The result of lt_cv_need_dllmain + was set to the opposite of what it should be. + * configure.in (AC_LIBTOOL_WIN32_DLL): Call to this macro is + required for libtool configury to test lt_cv_need_dllmain on + Windows. + + * ltconfig.in (opt_cr, mingw*): replace unescaped ? with correctly + escaped and portable \{0,1\} in sed expression. + From Jon Leichter + +2000-01-13 Gary V. Vaughan + + * libtool.m4 (AC_LIBLTDL_CONVENIENCE): Add -I${top_srcdir}/libltdl + to default INCLTDL for VPATH. + (AC_LIBLTDL_INSTALLABLE): ditto. + Reported by Tom Tromey + +2000-01-12 Thomas Tanner + + * update all copyright notices to 2000 + + * doc/libtool.texi (using libltdl): document new lt_dlinfo struct, + replace NULL with @code{NULL}, document lt_dlsetdata(), + lt_dlgetdata() and lt_dlgetinfo() + * libltdl/Makefile.am: increment interface version number + * libltdl/configure.in: set version number to 1.1 + * libltdl/ltdl.c: make some variables public by moving them + to the info struct, add support for application specific data + within module handles, new lt_dlsetdata(), lt_dlgetdata() and + lt_dlgetinfo() functions, + fix memory leaks, minor cleanups + * libltdl/ltdl.h: ditto + * mdemo/main.c: demonstrate use of lt_dlgetinfo, + improved handling of errors + + * ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux + and Solaris, only hardcode *all* run-paths if hardcode_into_libs + is set to 'all', otherwise hardcode only user-specified rpaths + into libraries + * ltmain.in: minor cleanups, we don't need to add user-specified + rpaths to compile_rpath, finalize_rpath is sufficient + + * ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has + been set! (reported by Bruno Haible ) + + * configure.in: AC_SUBST reload_flag, deplibs_check_method + and file_magic_cmd + + * README: use 'libtool --version' instead of 'ltconfig --version' + (suggested by Francios Pinard + +2000-01-10 Gary V. Vaughan + + * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Leave undefined when + not compiling for a Windows target. + * libltdl/ltdl.c (canonicalize_path): New function to + ensure internal paths use '/' directory separators. + (find_file): use canonicalize_path. Memory management + changed to cope. + (lt_dlopen): ditto. + (free_vars): Removed `dir' and `name', which are now handled + internally. + + * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Define to '/' or '\\', + as suitable for the target host. + (LTDL_PATHSEP_CHAR): Similarly with ':' or ';'. + * libltdl/ltdl.c: Use LTDL_DIRSEP_CHAR and LTDL_PATHSEP_CHAR + instead of hardcoding throughout. + Reported by Jon Leichter + +1999-12-18 Alexandre Oliva + + * ltmain.in: Oops, `largarg' -> `lastarg'. + + * ltmain.in (-Wc, -Xcompiler): Implemented in compile mode. + + * ltmain.in (-Xcompiler, -Xlinker): Add to compile_command and + finalize_command. + (-Wc, -Wl): Likewise. + + * tests/quote.test: Adjust quoting style of -Wl. + + * ltmain.in: Oops, `echo' -> `$echo'. + + * ltmain.in (-Wl, -Wc): Make commas argument separators, just like + in gcc. + + * ltmain.in (libtool_args): Get all arguments properly enclosed in + quotes and backslash-protected when needed. + +1999-12-16 Alexandre Oliva + + * ltdl.m4: Renamed from... + * libltdl/ltdl.m4: that no longer exists. + * configure.in (ACINCLUDE_M4_LIST): Removed libltdl/acinclude.m4. + * Makefile.am (aclocal_macros): Added ltdl.m4. + (libltdl/acinclude.m4): Concatenate libtool.m4 and ltdl.m4. + * bootstrap: Likewise. + * libltdl/Makefile.am (ACLOCAL): Remove the definition. Relying + upon -I may lead to duplicates. + * doc/libtool.texi: Suggest appending ltdl.m4 to acinclude.m4. + * libtoolize.in: Check AC_LIB_LTDL version number in aclocal.m4. + + * libltdl/configure.in (with_auxdir): Do not use it as the + argument of AC_CONFIG_AUX_DIR, automake requires a literal here. + Use AC_CONFIG_AUX_DIRS/DIR_DEFAULT instead. + + * libltdl/Makefile.am (ACLOCAL): Define with `-I .', as in + bootstrap. + +1999-12-15 Thomas Tanner + + * libltdl/configure.in: path to auxiliary files can be specified + using --with-auxdir (idea by Howard Chu ) + + * ltmain.in: don't remove multiple occurences from dependency_libs + of a library, otherwise many dependencies would get lost + + * bootstrap: use "aclocal -I ." instead of adding the contents + of ltdl.m4 to acinclude.m4 + +1999-12-13 Gary V. Vaughan + + * NEWS: updated. + * libltdl/Makefile.am: Use -no-undefined for dll compliance. + * libltdl/configure.in: Use AC_LIBTOOL_WIN32_DLL for dll + compliance. + * libltdl/ltdl.c: Define and use LTDL_GLOBAL_DATA to correctly + export global data symbols from libltdl.dll. + * libltdl/ltdl.h: Define and use LTDL_SCOPE to declare data + symbols as dllexport, dllimport or plain ornary extern depending + in the context in which it is used. + + * doc/libtool.texi (Distributing libltdl): document use of + ltdl.m4. + * libltdl/configure.in: Removed header checks, as they are + automatically performed by AC_LIB_LTDL. + * libltdl/ltdl.m4: Added header checks from configure.in, so that + AC_LIB_LTDL is sufficient to compile ltdl.c. + Reported by Stephan Kulow . + + * ltconfig.in (ltdll_obj): fixed typo: objdir -> $objdir + +1999-12-12 Gary V. Vaughan + + * ltconfig.in (cygwin*, mingw*, export_symbols_cmds): keep any + DATA tags associated with symbols by recent dlltool. + (cygwin*, mingw*, archive_expsym_cmds): Honor any DATA tags + found in the symbol list. + Reported by Jon Leichter . + +1999-12-10 Gary V. Vaughan + + From Stephan Kulow + * libltdl/ltdl.m4: Add arg 3 to AC_DEFINE's to save the user + from having to hack acconfig.h. + +1999-12-06 Gary V. Vaughan + + * NEWS: Updated. + * TODO: Note some cleanups that are now needed. + * libltdl/configure.in: Use the new macroised tests. + * libltdl/ltdl.m4: New file, macroised tests formerly in + libltdl/configure.in. + Reported by Stephan Kulow . + + From Tim Mooney + * ltconfig.in: split off the osf3 section, so that the osf4 and + osf5 sections can add `-msym' to arguments passed to the linker + for shared libs. + +1999-12-03 Alexandre Oliva + + * ltconfig.in (ac_compile): Use $ac_ext instead of .c. + (ac_link): Likewise. + (dlfcn.h, ac_try): Do not add filename, it is already in + ac_compile. + Reported by Stephane Conversy + + * ltconfig.in (linux-gnu*): Disable hardcode_into_libs until it + works together with fast_install. + + * libtool.m4: Use host when --target is not specified. + + * configure.in: AC_SUBST variables that are used by ltconfig to + build libtool. + + * ltconfig.in (irix6*): Do not override deplibs_check_method + here. + + * libtool.m4: Do not AC_SUBST anything other than LIBTOOL. + +1999-11-20 Michael Forster + + * ltconfig.in (linux-gnu*): Set hardcode_into_libs=yes. + +1999-11-29 Gary V. Vaughan + + * ltconfig.in: Be friendlier to C++ compilers when testing + for dlopen support. + Reported by Stephan Kulow + +1999-11-26 Gary V. Vaughan + + * libtool.m4: better use of $target instead of $host to support + cross compilation. + Reported by Sam Latinga + +1999-11-16 Thomas Tanner + + * configure.in: generate ltconfig and ltmain.sh before configuring + libltdl + +1999-11-04 Alexandre Oliva + + * tests/sh.test: New test to detect uses of quotes within + backticks within quotes. + * ltconfig.in, ltmain.in: Fix detected errors. Mark false + positives with a comment that disables the detector. + Reported by Akim Demaille + + * configure.in: Move ltconfig and ltmain.sh generation back... + * Makefile.am: here. + +1999-11-02 Thomas Tanner + + * NEWS: updated + * THANKS: added Olly Betts and Pavel Roskin + * doc/libtool.texi: fix typo + + * fix major bugs which rendered libtool virtually + unusable (i.e. not portable): + * ltconfig.in: don't hardcode system dependent variables in ltconfig!! + but set sane defaults + * Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig + * libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG + + * ltconfig.in: use old_deplibs for archives, too + remove second occurence of sysv5 + * ltmain.in: fix typo, fix the second occurence of -DPIC, too + + * libltdl/Makefile.am: increment version number, fix typo + * libltdl/ltdl.c (lt_dlsym): don't report an error if the + libltdl-style symbol name wasn't found + +1999-11-02 Wolfgang Rapp + + * ltconfig.in: add support for Unixware (sysv4.2uw2*) + +1999-10-29 Gary V. Vaughan + + * ltmain.in: Damnit! Cygwin cvs committed all the + dos line endings. + +1999-10-28 Stephane Conversy + + * ltmain.in (-DPIC): changed the order of pic flags a little to + prevent upsetting the sgi c++ compiler. + +1999-10-28 Olly Betts + + * ltconfig.in (opt_cr): Handle crlf sequences output by the + mingw toolchain. + + * libtool.m4: Third time lucky, with Tor's patch. + +1999-10-19 Tor Lillqvist + + * libtool.m4: these was a missing `*' in the -mno-cygwin + match. + * ltconfig.in (cygwin, ltdll_obj): fixed a quoting error. + (export_symbols_cmds): added missing cosmetic newline. + +1999-10-18 Tor Lillqvist + + * libtool.m4: test command used == which should be =. + Support -mno-cygwin flag for building mingw32 dlls. + * ltconfig.in (file_magic_cmd): add missing quotes. + (deplibs_check_method): and here. + +1999-10-16 Alexandre Oliva + + * libltdl/ltdl.c (lt_dlopen): Do not search paths when the + specified library is not just a basename. + +1999-10-10 Gary V. Vaughan + + * libtool.m4 (AC_PATH_FILE): new macro replaces + AC_PATH_TOOL_GREP_OUTPUT. + (AC_PATH_TOOL_PREFIX): new macro replaces + AC_PATH_PROG_GREP_OUTPUT. + (AC_LD_RELOAD_FLAG): migrated from ltconfig.in. + (AC_DEPLIBS_CHECK_METHOD): ditto. + * ltconfig.in (reload_flag): moved to libtool.m4. + (deplbs_check_method): ditto. + +1999-10-07 Gary V. Vaughan + + * libtool.m4 (AC_PATH_PROG_VERSION_GREP): removed in favour of the + more general AC_PATH_PROG_GREP_OUTPUT. + (AC_PATH_TOOL_VERSION_GREP): removed in favour of the more general + AC_PATH_TOOL_GREP_OUTPUT. + (AC_PROG_LIBTOOL): Search for a working find program in the + user's PATH using the new macros. + +1999-10-06 Gary V. Vaughan + + * NEWS: updtaed. + * ltconfig.in: Accept osf5. + Reported by Sascha Schumann + +1999-10-04 Gary V. Vaughan + + * ltmain.in (-no-install): This doesn't work on win32 since + the search path for libraries is not encoded in the binary, + and dlls not in $PATH won't be found. Fall back to -no-fast-install + instead. + + * ltmain.in (-no-fast-install): Wrapper script used to add the + exeext on again when naming the wrapped executable. + +1999-10-03 Gary V. Vaughan + + * ltconfig.in: Set $FILE to @FILE@ for substitution with + the value found in libtool.m4 at configure time. + * libtool.m4 (AC_PATH_TOOL_GREP_VERSION): New macro, combines + AC_PATH_PROG and AC_CHECK_TOOL with a test which greps the + output of $ac_dir/${ac_prefix} --version for a + given regex. + (AC_PATH_PROG_GREP_VERSION): New macro used by the above. + (AC_LIBTOOL_SETUP): Use the new macros to search the PATH + [starting at /usr/bin] for a file program which accepts + --version and has "file" in its --version output. + +1999-10-03 Thomas Tanner + + * NEWS: new -no-install flag + * configure.in: fix typo + * doc/libtool.texi(Link mode): document -no-install flag, + correct -no-fast-install docs + * libtool.m4: check for "file" command + * ltconfig.in: don't hardcode /usr/bin/file, remove second + definition of sysv5, replace linkopts -> linker_flags + * ltmain.in: add new -no-install flag, print help for -no-install + and -no-fast-install flags + +1999-10-03 Olly Betts + + * ltmain.in: always create output_objdir + +1999-10-03 Pavel Roskin + + * libltdl/Makefile.am: don't preserve file attributes when + installing the libltdl sources + +1999-10-01 Gary V. Vaughan + + * configure.in (AC_OUTPUT_COMMANDS): generate ltmain.sh + * Makefile.am (ltmain.sh ltconfig): removed. Automake inserts the + rules to automatically call config.status. + + * libtool.m4: be sure to AC_SUBST values no longer tested in + ltconfig.in. + * ltconfig.in: replaced several of the simple feature tests with + substitutions from config.status. + * Makefile.am (ltconfig): generate ltconfig with config.status. + * configure.in (AC_OUTPUT): generate ltconfig with config.status. + +1999-09-30 Donald Anderson + + * ltconfig.in (sco3.2v5): use pass_all deplibs_check_method + for SCO3.2. + +1999-09-29 Gary V. Vaughan + + * ltconfig.in (whole-archive-flag-spec): I had been + wondering why my file system was filling up with empty + files named `71'... seems I forgot to hold in the + shift key when redirecting stderr, 2>&1. Doh! + +1999-09-29 Vadim + + * ltconfig.in (sysv): More UW7 support. + +1999-09-28 Albert Cheng + + * ltmain.in (shlibpath_var): ensure the variable is non-empty before + exporting it. + +1999-09-27 Manfred Weichel + + * ltconfig.in (sysv5): Added support required for shared + library linking on SCO UW7. + +1999-09-22 Gary V. Vaughan + + * ltconfig.in (whole-archive-flag-spec): test whether the + version of GNU ld being used understands --whole-archive + before using it. + +1999-09-19 Thomas Tanner + + * ltmain.in: don't ignore convenience libraries for objects/archives + (temporary hack) + +1999-09-14 Alexandre Oliva + + * ltconfig.in (CDPATH): Set to `:' instead of empty. + * ltmain.in (CDPATH): Likewise. + Reported by Greg McGary + +1999-08-24 Gary V. Vaughan + + * ltconfig.in (ltdll.c, impgen.c): Prevent the shell from + expanding variables & backslash escapes when writing these + files to the libtool script. + +1999-08-24 Thomas Tanner + + * NEWS: mention fixes + * doc/PLATFORMS: GNU/Hurd update + * depdemo: make use of variables + * ltconfig.in: use CC -E when checking for ELF support + on NetBSD (reported by Todd Vierling ), + replace all occurences of 'linkopts' with 'linker_flags' + * ltmain.in: move ltdll.c and impgen.c to ltconfig.in and + only add them to the libtool script if it's necessary + +1999-08-24 Boyd Gerber + + * ltconfig.in: add support for UnixWare 7.X.X + * doc/PLATFORMS: add new platforms + +1999-08-24 Pavel Roskin + + * doc/libtool.texi: document use of noinst_LTLIBRARIES for + convenience libraries + + * ltconfig.in: check for freebsdelf3, not just freebsd3. + Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1 + + * ltmain.in: enable workaround for freebsdelf3.0 + +1999-08-24 Bert Driehuis + + * ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS + +1999-08-07 Alexandre Oliva + + * libltdl/COPYING.LIB: Update to version 2.1. + * libltdl/ltdl.h, libltdl/ltdl.c: Update FSF address. + +1999-08-03 Gary V. Vaughan + + * libtool.m4 (mingw*, AC_PROG_LD): use tr for carriage return + stripping. + * ltconfig.in: ditto. + From Olly Betts + +1999-08-02 Olly Betts + + * doc/libtool.texi (Compile mode): typo correction. + (Link mode): and another. + (Release numbers): and another. + (Distributing libltdl): and another. + (Test descriptions): and another. + (libtool script contents): and one more. + + * libtool.m4 (AC_PROG_LD): strip carriage returns from the + output of gcc -print-prog-name=ld. + * ltconfig.in: ditto. + +1999-07-30 Pavel Roskin + + * ltmain.in: Ensure that gcc on HPsUX uses -fPIC, or else + initialised structures are sometimes emitted in the code section. + +1999-07-30 Mumit Khan + + * ltconfig.in: Read line at a time to avoid tokenisation by + shell. + +1999-07-29 Alexandre Oliva + + * ltmain.in: Fix creation of relative links to object files in + sub-dirs. + +1999-07-29 Olly Betts + + * ltconfig.in(cygwin mingw32, archive_expsym_cmds): Only compile + and link ltdll.c if the libtool.m4 macros discovered that it is + required. + +1999-07-26 Olly Betts + + * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): Oops. Fix some + typos made by Evil Gary while (mis)applying my patch :-). + + * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): On second + thoughts, only probe for -mdll vs -dll on mingw, and revert to + the old `-Wl,--dll -nostartfiles' on cygwin. + +1999-07-24 Erez Zadok + + * doc/PLATFORMS (i*86-*openbsd2.5): New platform. + Slight reordering of other bsd entries. + +1999-07-24 Olly Betts + + * NEWS: Note new user visible changes. + * libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll + under cygwin/mingw. + probe whether the cygwin/mingw library supplies a stub DllMain + (but this information isn't yet used). + * ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set, + use that to build impgen so we can use it when cross-compiling. + use correct entry points for mingw so static C++ constructors get + called for code in the DLL. + * ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the + system headers. + +1999-07-24 Bert Driehuis + + * ltconfig.in: Updated bsdi4 soname specs to be more like + linux as discussed on the bsdi mailing list. + +1999-07-20 Gary V. Vaughan + + * configure.in (AC_PROG_RANLIB): No longer required as we now use + AC_CHECK_TOOL in AC_LIBTOOL_SETUP. + * libtool.m4 (AC_PROG_LIBTOOL): Pass the $build variable to + ltconfig. + (AC_PROG_RANLIB): replaced with AC_CHECK_TOOL. + * ltconfig.in (build): new variable to hold the build triplet + which is now checked for unless --no-verify is specified. + (--build): new argument to set the build triplet. + (ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different + to $host. + * doc/libtool.texi (Invoking ltconfig): Document --build option. + * NEWS: Note --build option. + +1999-07-19 Erez Zadok + + * doc/PLATFORMS: Updated mostly *bsd platforms. + +1999-07-19 Alexandre Oliva + + * doc/libtool.texi (Porting inter-library dependencies): Typos + Reported by Petter Reinholdtsen + +1999-07-17 Thomas Tanner + + * NEWS, TODO: updated (pic flags) + * libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag + * ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags, + fixed the strip check (reported by Keith Bostic ) + * ltmain.in (compile mode): build only PIC/non-PIC code depending + on pic_mode + * libltdl/README: document the supported dlopen interfaces + * doc/libtool.texi (tests): documented new tests + * tests/Makefile.am: added new tests + * tests/demo-pic.test: new test to test --with-pic + * tests/demo-nopic.test: new test to test --without-pic + * tests/build-relink2.test: variant of build-relink.test that + uses depdemo + +1999-07-09 Olly Betts + + * doc/libtool.texi (C++ Libraries): fixed a typo. + +1999-07-06 Gary V. Vaughan + + * README-alpha: improved the release instructions to mention + actual list addresses for announcements, and urls for upload + locations. + +1999-07-03 Thomas Tanner + + * doc/PLATFORMS: 1.3b passes all tests on cygwin + +1999-07-03 Pavel Roskin + + * ltconfig.in: finish_cmds for FreeBSD removed + * depdemo/l3/Makefile.am: install libl3.la into an extra directory + +1999-07-02 Gary V. Vaughan + + * configure.in: bumped version to 1.3c. + + GNU libtool 1.3b was released. + + * NEWS: inserted todays date. + +1999-07-02 Alexandre Oliva + + * doc/PLATFORMS: Tested on as many platforms as possible for me. + +1999-07-01 Thomas Tanner + + * NEWS: updated + * doc/PLATFORMS: updated + * changed my email address + +1999-06-30 Thomas Tanner + + * demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl) + * tests/build-relink.test: also check for hardcode_into_libs = yes, + if set, we need to relink at install-time + +1999-06-29 Thomas Tanner + + * NEWS: mention -no-fast-install, rename dummy to force + * doc/PLATFORMS: 1.3b passes all tests on GNU/Linux, + FreeBSD (2.2.6 and 3.1) + * doc/libtool.texi: it's possible to link libtool libraries + using -L and -l, better documentation of uninstall and clean mode, + rename dummy to force, documented -no-fast-install, + AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL, + documented hardcode_into_libs and striplib/old_striplib, + * ltconfig.in: search for strip program, added hardcode_into_libs + and striplib/old_striplib variables, set strip commands for GNU strip, + on FreeBSD >= 3.2 set hardcode_into_libs to yes, + fast-install mode doesn't work if hardcode_into_libs = yes + * ltmain.in: reimplemented hardcoding into libraries: + new relink mode, preserve all libtool args, relink libraries + when installing if necessary + added -no-fast-install flag, removed unnecessary `dlname' + initialization, use striplib/old_striplib for stripping libraries, + dlname is always soname or in library_names so we don't need + to handle different file names + +1999-06-29 Alexandre Oliva + + * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes + up to release 3.1, and to no from 3.2 on. + Reported by Pavel Roskin + +1999-06-29 Pavel Roskin , Alexandre Oliva + + * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to + yes; tested on 3.1-ELF by Pavel and on 2.2.6 by Alexandre. + +1999-06-25 Alexandre Oliva + + * ltconfig.in (linux-gnu*, deplibs_check_method): Use pass_all on + alpha, x86 and sparc architectures by now, reverting to file_magic + at least on ARM, where it breaks. + +1999-06-23 Thomas Tanner + + * NEWS: updated + * README: added GNU Hurd to the supported platforms + * doc/libtool.texi: document `-dlpreopen dummy' + instead of `-dlopen dummy' + * libltdl/ltdl.c (strchr): fixed typo (missing star) + +1999-06-23 Stephan Kulow + + * libltdl/ltdl.c (strrchr): fixed typo (missing star) + * libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings + +1999-06-23 Olly Betts + + * ltmain.in (ltdll.c): Support for crosscompiling from linux to + mingw32. + +1999-06-23 Gary V. Vaughan + + * ltconfig.in (cygwin, export_symbols_cmds): If there is already + an extracted and compiled ltdll.c, then don't delete, reextract + and recompile. + (cygwin, archive_expsym_cmds): Make sure the ltdll source has been + extracted and compiled before referencing the object, since there + are paths through the code which run archive_expsym_cmds without + running export_symbols_cmds. + +1999-06-20 Gary V. Vaughan + + * ltconfig.in: moved the test for NM after the test for + no_builtin_flag. + +1999-06-20 Alexandre Oliva + + * ltconfig.in: Use sed '$q' instead of sed "" for copying ltmain, + just in case some sed does not support an empty command. + + * ltconfig.in (link_static_flag, ac_cv_prog_cc_static): Use the + latter in the test. + +1999-06-18 Thomas Tanner + + * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive + regex (reported by Chris P. Ross ) + * ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols + if dlself != no + * doc/libtool.texi (Compile and Link mode): document it, + documented the -Wc, -Wl flags, libtool does also support non C + source code + +1999-06-18 Teun Burgers + + * ltconfig.in: CR/LF fix for broken DJGPP bash + * ltmain.in: CR/LF fix for DJGPP + +1999-06-18 Gary V. Vaughan + + * ltmain.in (outputname): When generating the executable wrapper + script, $outputname already has the $exeext suffix, so we needn't + add it again. + +1999-06-16 Gary V. Vaughan + + * libltdl/configure.in (ac_cv_lib_dl_dlopen): missing "x" in test + comparison corrected. + + * libltdl/ltdl.c (sys_wll_open): libltdl expects this function to + fail if it is unable to physically load the library. Sadly, + LoadLibrary will search the loaded libraries for a match and + return one of them if the path search load fails. Simulate a + failure in this case for compatibility with the other APIs. + Also, LoadLibrary takes the liberty of adding `.dll' to library + names passed without an extension, we now add a trailing `.' to + prevent this from happening. + +1999-06-15 Gary V. Vaughan + + * libltdl/ltdl.c (sys_wll_close): Strangely enough, Microsoft have + decided that LoadLibrary returns `0' for success, yet FreeLibrary + returns `0' for failure! The FreeLibrary call used to interpret + `0' as success for both functions. + +1999-06-14 Thomas Tanner + + * ltconfig.in: use eval when setting have_dlfcn_h, reformatting + +1999-06-12 Thomas Tanner + + * ltmain.in: store old archives in deplibs and old_deplibs, + retain the order of dependency libraries (even old archives), + determining the absolute directory name didn't work due to a typo, + add the library search paths of all dependency libraries when + linking a library (fixes IRIX 5.2 bug) + +1999-06-10 Alexandre Oliva + + * ltconfig.in: Reverted June 6's patch for new GNU ld output, it + is no longer needed, as ld reverted to the original format. + * NEWS: Likewise. + + * ltconfig.in: When testing self-dlopening, test whether dlclose + crashes. On FreeBSD 3.1, it does. :-( + * libltdl/configure.in: Likewise. + * NEWS: Note work-around. + Reported by Pavel Roskin + +1999-06-09 Gary V. Vaughan + + * ltconfig.in (exeext): autoconf's AC_EXEEXT uses "no" to indicate + no extension, and we must do the same in order to share the cache + value. Also we must ignore conftest.err which HPsUX (at least) + fills with gratuitous warnings. + (objext): for consistency, do the same as above. + Reported by Pavel Roskin + +1999-06-09 Pavel Roskin + + * ltconfig.in (exeext): Use quotes in the test, to prevent a + failure in sh.test. + +1999-06-09 Gary V. Vaughan + + * ltconfig.in: Reordered tests to be more like configure.in's + recommended order (programs first, then libraries, etc.). + Performed a manual ``constant folding pass'' (eg: s/eval "test + \"echo '$''{'lt_cv_dlopen'+set}'`\" != set/test + "${lt_cv_dlopen+set}" != set/). + s/test "${foo+set}" = "set"/test "X${foo+set}" = Xset/g + + * ltconfig.in (link_static_flag): Accept, in order of decreasing + preference: the cached value; the default value for the current + host. Also test that the compiler accepts the flag, and cache + that result too. + + * ltconfig.in (pic_flag): Accept, in order of decreasing + preference: the cached value; the default value for the current + host. Also test that the compiler accepts the flag, and cache + that result too. + +1999-06-08 Gary V. Vaughan + + * ltconfig.in (LN_S): Accept, in order of decreasing preference: + the cached value; an environment setting; ``ln -s'' if it works; + ``ln'' if ``ln -s'' doesn't appear to work. + + * ltconfig.in (objext): Accept, in order of decreasing preference: + the cached value; the result of a test object compilation. + + * ltconfig.in (RANLIB): Accept, in order of decreasing preference: + the cached value; an environment setting; the first file called + ``ranlib'' in the user's path. + + * ltmain.in (exeext): Use $exeext when working out the names of + programs (but not the wrapper script itself due to a stupidity in + win32 which hardwires the .exe extension to the binary loader!). + * ltconfig.in (exeext): Now that the wrapper script tries to move + executables, we need to know whether they have an extension (ala + AC_EXEEXT). Since we can't rely on AC_EXEEXT having been called + in configure.in, we must be able to check for ourselves, though we + can look for a cached result incase AC_EXEEXT was called. + + * ltconfig.in (cygwin, pic_flag): Force separate compilation of + objects for dlls vs. objects for static archives. Using a cpp + macro also allows us to decide whether or not we need to use + dllexport/import declarations. + + * ltconfig.in (cygwin, need_version): Set to no, otherwise module + dll's end up with mighty long names! + +1999-06-06 Alexandre Oliva + + * ltconfig.in: Support new GNU ld --help output format. + * NEWS: Likewise. + Reported by Gaël Quéri and + H.J. Lu . + +1999-06-05 Mark Kettenis + + * ltconfig.in: Update support for the Hurd. Make sure that the + soname includes the major version number and create the right + links. Allow shared objects without the `lib' prefix and without + version information. + +1999-06-02 Nick Rasmussen + + * ltmain.in (link): use "$nonopt" as the compiler for + compile/finalize_command + +1999-05-27 Alexandre Oliva + + * TODO: Remove the short list of people interested in C++ + constructors; it's not meaningful, since there are so many more + people requesting this feature, and we just can't maintain it + accurate. + +1999-05-27 Pavel Roskin + + * ltconfig.in (GNU Hurd, deplibs_check_method): Use pass_all. + +1999-05-27 Alexandre Oliva , Olly Betts + + * ltmain.in: Expand convenience libraries when creating reloadable + objects. + * NEWS: Ditto. + +1999-05-27 Alexandre Oliva + + * NEWS: Mention the two bugfixes below. + + * ltmain.in: Only create directory into which to extract + convenience libraries when $convenience is not empty. It would + always be created on systems that did not support + whole_archive_flag_spec. + + * ltconfig.in (export_symbols_cmds): Add $convenience. + (cygwin, export_symbols_cmds): Ditto. + * ltmain.in: Generate export symbol list before expanding + convenience libraries, to avoid passing whole_archive_flag_spec to + $NM. + Reported by Godmar Back + +1999-05-27 David Jones + + * libltdl/ltdl.c (LTDL_BIND_FLAGS): Remove BIND_VERBOSE, to avoid + printing error messages. + +1999-05-26 Alexandre Oliva + + GNU libtool 1.3.2 was released. + +1999-05-25 Alexandre Oliva + + * NEWS: List fixed problems. + * doc/PLATFORMS: Tested for 1.3.2. + + * config.guess: Synch with GNU common. + + * ltmain.in: Revert to stripping .exe on all platforms. + * TODO: Note about this problem. Demo is fixed on win32. Support + `empty' convenience libraries. + + * ltconfig.in (solaris*, ld_shlibs): Do not enable shared + libraries with GNU ld 2.8.*, it's broken. Emit a warning + suggesting an upgrade. + Reported by Brian Ford and Ronald Pijnacker + + +1999-05-25 Frank Ch. Eigler + + * ltmain.in: file_magic check would not avoid cyclic links. + +1999-05-25 Alexandre Oliva + + * depdemo/main.c, depdemo/l1/l1.c, depdemo/l2/l2.c: K&R-ize. + * depdemo/l3/l3.c, depdemo/l4/l4.c: Likewise. + + * ltmain.in: Remove object files before writing to them, to avoid + circular links. + Reported by Ron O'Hara + +1999-05-24 Thomas Tanner + + * NEWS: support for installing stripped libraries using GNU strip + * ltconfig.in: set deplibs_check_method=pass_all on FreeBSD, + Linux and Solaris since no one can reproduce the famous deplibs + bug + * ltmain.in: preserve $CC (reported by Tom Tromey), + strip libraries using GNU strip if it's available and the + -s flag was passed to "install" + +1999-05-23 Alexandre Oliva + + * doc/PLATFORMS: Release 1.3.1 passes on GNU Hurd/x86. + Reported by Pavel Roskin + +1999-05-23 Thomas Tanner + + * ltmain.in: strip off the .exe suffix only on *Win + (Reported by Matthew D. Langston ) + +1999-05-22 Thomas Tanner + + * NEWS: updated + * TODO: -Wc, -Wl, implemented + * AUTHORS: changed my email address + * doc/libtool.texi: fix "wierd" typo :) + * ltmain.in: linking against convenience libraries was broken, + implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for + compiler and linker-specific flags, + add -lc before we do the deplibs check + * ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags + for $LD, link_all_deplibs=yes on IRIX + +1999-05-22 Gary V. Vaughan + + * NEWS: insert todays date alongside 1.3.1 release. + * Makefile.in: use gnu not gnits rules + * config.guess: synch with gnu common & apply Takabatake-san's + MIPS *000 patch. + * config.sub: synch with gnu common. + +1999-05-22 Doug Evans + + * libltdl/configure.in (dlerror): Fix typo in dlopen found in -ldl + test. + +1999-05-21 Pavel Roskin + + * Makefile.am (EXTRA_DIST): Don't distribute instutils. + (install-data-hook): use libltdl/Makefile.am's local-install files + rule. + * libltdl/Makefile.am (local-install-files): New rule to install + libltdl without creating links or mode 777 directories. + * instutil/*: deleted. + +1999-05-21 Alexandre Oliva + + * doc/PLATFORMS: Updated to 1.3.1 for all platforms I've got. + Added sparc-unknown-linux-gnu. + +1999-05-21 Gary V. Vaughan + + * demo/foo.h: s/PARAMS/LTDL_PARAMS/g + * libltdl/ltdl.h: ditto. + * libltdl/ltdl.c: ditto. + + * demo/foo.h: s/__P/PARAMS/g + * libltdl/ltdl.h: ditto. + * libltdl/ltdl.c: ditto. + Reported by Akim Demaille + +1999-05-20 Alexandre Oliva + + * NEWS: Updated docs. + * TODO: Recommend libtool.m4 to be inserted in acinclude.m4. AIX + 4.3.2.0 no longer fails on static dlopening. GNU DLD no longer + has to support .la files, since libltdl already does. Convenience + libraries and reloadable objects should be tested in the + testsuite. We could support some amount of control on the soname + of libraries. + * doc/libtool.texi: Notes about convenience libraries and + automake. Documented INCLTDL. + +1999-05-20 Thomas Tanner + + * cdemo/main.c: "Welcome _to_ ..." + * mdemo/main.c: ditto + * libltdl/configure.in: support multiple dlopening mechanisms + at once + * libltdl/ltdl.c: prefix system dependent functions with "sys_" + to avoid symbol conflicts (libdld didn't work) + * libtool.m4 (AC_LIBLTDL_*): set INCLTDL to the path of ltdl.h + * ltconfig.in: check for dlopen with -ldl first + +1999-05-19 Gary V. Vaughan + + * NEWS: Added 1.3.1 news items. + * doc/PLATFORMS: updated the boxes I have access to, to 1.3.1 + in preparation for the next release. + +1999-05-18 Gary V. Vaughan + + * ltconfig.in (cygwin*, whole_archive_flag_spec): dlltool chokes + on this, so leave it unset in this case so that the ltmain code + knows it has to unpack convenience archives by itself. + +1999-05-17 Gary V. Vaughan + + * ltmain.in: Do not exit when an unknown library name is passed + passed in, simply warn and continue since some compilers require + -LANG:* like options to work. + Reported by Adam C. Powell, IV + +1999-05-17 Jiro Takabatake + + * ltconfig.in: port to NEC UX/4800. + * NEWS: updated. + +1999-05-17 Gary V. Vaughan + + * ltconfig.in (beos*, deplibs_check_method): set to pass_all. BeOS + is PIC by default. + Reported by "Shawn T . Amundson" + + * libltdl/configure.in: Fix test failures on AIX 4.3.2 by checking + for dlopen *with* -ldl first. + Reported by Greg Wooledge + + * demo/foo.h: Don't set any declspecs until we have full dll + support. + +1999-05-16 Alexandre Oliva + + * ltconfig.in (solaris2.6, whole_archive_flag_spec): Do not use + -Wl for allextract. + +1999-05-14 Alexandre Oliva + + * instutil/chmod: New script to avoid chmod'ing files while + installing libltdl's sources. + * instutil/ln: New script to avoid hard-linking libltdl's sources + in the install tree. + * Makefile.am (EXTRA_DIST): Dist them. + (instal-data-hook): Add srcdir/instutil to the beginning of the + PATH before installing libltdl's sources. + +1999-05-09 Gary V. Vaughan + + * TODO: updated. + +1999-05-06 Gary V. Vaughan + + * Makefile.am (install-data-hook): make sure the install directory + is not left world writable. + Reported by Andreas Schwab + +1999-04-30 Alexandre Oliva + + * libtool.m4: Use ifelse instead of if. + Reported by David Mazieres + +1999-04-29 Alexandre Oliva + + GNU Libtool 1.3 was released. + + * NEWS: Summarize news from 1.2 to 1.3. + + * ltmain.in: Save exit status of link_command before removing + symbol table object file. + +1999-04-29 Gary V. Vaughan + + * doc/PLATFORMS: updated my hpux-10.20 and cygwin box entries. + +1999-04-29 Alexandre Oliva + + * NEWS: Improved support for DU and IRIX too. + + * config.sub, config.guess: Updated from GNU common. + + * mdemo/configure.in: Move AC_LIBLTDL_CONVENIENCE before + AM_PROG_LIBTOOL, as suggested by autoconf. + + * doc/libtool.texi (Distributing libltdl): Document that -static + may cause the same problems on libltdl as -all-static. + * TODO: We might want to fix this in the future. + + * doc/libtool.texi: Clear up overfull hbox. + + * libltdl/Makefile.am (ltdl.lo): Add dependencies. + * libltdl/configure.in: Clean up some duplicate defines. Enable + support for multiple dlopening mechanisms. + * libltdl/acconfig.h: New file. Add #undefs for defines that + would be duplicated. + +1999-04-29 Gary V. Vaughan + + * libtool.m4 (cygwin*|mingw*, DLLTOOL, OBJDUMP, AS): Only expand the + code that makes these configure time checks on hosts that need the + tools *and* if the AC_LIBTOOL_WIN32_DLL macro is used. + +1999-04-29 Alexandre Oliva + + * ltmain.in (nlist, SYMFILE): Use outputname instead of output for + names within output_objdir. + +1999-04-28 Alexandre Oliva + + * libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC, + AC_ENABLE_FAST_INSTALL): Do not call AC_BEFORE here, they're + AC_REQUIREd by AC_LIBTOOL_SETUP. + (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): + Call AC_BEFORE here, and now with two arguments, since these do + change the default. + (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Fix calls to + AC_BEFORE. + +1999-04-28 Gary V. Vaughan + + * libtool.m4 (ltconfig_enable_win32_dll): pass --enable-win32-dll to + ltconfig if this is set. + (AC_LIBTOOL_WIN32_DLL): New macro required for libtool to attempt + a dll build on win32 hosts. + * ltconfig.in (--enable-win32-dll): new flag for the cli. + (cygwin*|mingw*|os2*, ltconfig_enable_win32_dll): if this is not set + to yes, then do not attempt to build shared libraries. + * doc/libtool.texi: document AC_LIBTOOL_WIN32_DLL. + * NEWS: noted new macro. + +1999-04-27 Alexandre Oliva + + * libtool.m4 (AC_LIBTOOL_DLOPEN, AC_ENABLE_SHARED, + AC_ENABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_LIBLTDL_CONVENIENCE, + AC_LIBLTDL_INSTALLABLE): Warn if they appear after + AC_PROG_LIBTOOL. AC_LIBTOOL_SETUP, actually. + (AC_LIBTOOL_SETUP): Check whether DLOPEN support is to be enabled + at autoconf time, not configure time. Simplify code and + improve (?) help message about --disable-libtool-lock. + +1999-04-27 Thomas Tanner + + * NEWS: new clean mode + * THANKS: added Ossama Othman + * doc/libtool.texi: documented the new `clean' mode + * ltconfig.in: set need_version=no on OSF (reported by + Marcus Sundberg ) + * ltmain.in: allow absolute non-existant -L paths, + always use output_objdir instead of objdir for temporary files, + delete generated temporary symbol lists, + don't add .la twice in the pseudo-library header, + implemented and documented clean mode (deletes libraries, + programs and object files and the files associated with them), + if build_libtool_libs=no and no static library is available, + try to link the program against the shared library, + don't add a statically linked library to the dependency_libs + * ltmain.in (help uninstall): added a missing backslash + after echo (reported by Ossama Othman) + +1999-04-27 Alexandre Oliva + + * ltmain.in (old_archive_cmds): Iterate on oldobjs to find out + which links to object files we must create. Do not test for empty + pic_flag to create such links. Use objext when searching for + object files extracted from convenience library. + + * ltconfig.in (compiler_c_o): Make sure the compiler does not + create temporaries in the current directory when output should go + elsewhere. We must perform locking if it does. + +1999-04-27 Gary V. Vaughan + + * ltmain.in (old_archive_cmds): Ensure that there are always .o + objects available before running old_archive_cmds. + +1999-04-26 Erez Zadok + + * doc/PLATFORMS: Updates for netbsd 1.3.3 and 1.4. + +1999-04-26 Alexandre Oliva + + * ltconfig.in (aix4.[01], always_export_symbols): The case pattern + would never match; fixed. + Reported by Stephan Kulow + +1999-04-25 Alexandre Oliva + + * libtool.m4 (OBJDUMP): Pass it to ltconfig. + * configure.in: AC_SUBST DLLTOOL, OBJDUMP and AS. + * Makefile.am (libtool, clibtool): Pass them to ltconfig. + +1999-04-25 Frank Ch. Eigler + + * libtool.m4 (cygwin*): Look for target objdump tool. + * ltconfig.in (cygwin*, file_magic_cmd): Use autoconf-located target + objdump tool. Track OBJDUMP like DLLTOOL and AS. + + * ltconfig.in (cygwin*, deplibs_check_method): Accept + "architecture: i386" as optional suffix, for it is printed on a + separate line sometimes. + + * ltmain.in (cygwin*, ltdll.c): Wrap DllMain declaration in extern "C". + + * ltmain.in (deplibs_check_method=file_magic): Redirect stderr to + /dev/null, to suppress error messages from target objdump. + +1999-04-25 Alexandre Oliva + + * ltconfig.in (irix*, soname_spec, library_names_spec): Missing + dots before $versuffix and $major. + + * ltconfig.in (solaris*, whole_archive_flag_spec): Use -z + allextract/defaultextract from Solaris 2.6 on. + Reported by Brian Ford + + * ltconfig.in (beos*, allow_undefined_flag): Do not build shared + libraries with undefined symbols. + + * ltconfig.in (aix4*, allow_undefined_flag): Set to -berok. + (aix4*, shared_flag): Set to -shared or ${wl}-bM:SRE. + (aix4*, archive_cmds): Use -bexpall. + (aix4*, archive_cmds, archive_expsym_cmds): Use shared_flag and + allow_undefined_flag. + (aix4*, always_export_symbols): Set to yes up to AIX 4.1.*, + because -bexpall is supported from 4.2 on. + Reported by Greg Wooledge + + + * ltconfig.in (hpux*, hardcode_minus_L): Set to yes. + (hpux*, hardcode_libdir_flag_spec): Do not use +s by default. + (hpux*, shlibpath_overrides_runpath): Set to no. + + * ltconfig.in (irix*, osf*, archive_cmds): Write so_locations + within objdir. + + * ltconfig.in (irix*, soname_spec): Append $major. + (irix*, library_names_spec): Add new soname. + Reported by David Kaelbling + + * ltconfig.in (irix*, sys_lib_dlsearch_path_spec): /usr/local/lib + is not searched by default. /usr/lib is searched before /lib. + * ltconfig.in (irix*, sys_lib_search_path_spec): /usr/lib is + searched before /lib. + + * ltconfig.in (irix5*, need_lib_prefix, need_version): Set to no, + by unifying with irix6*. + + * ltconfig.in (irix*, osf*, deplibs_check_method): Use pass_all. + + * ltconfig.in (old_LDFLAGS, old_LIBS): Save and write to comments + in output file. + + * ltmain.in (prefer_static_libs): New variable, set to no by + default, but set to yes by -static and -all-static. Used instead + of build_libtool_libs to decide whether to use a shared or static + version of a library, when both versions are available. + +1999-04-25 Boyd Lynn Gerber + + * ltconfig.in (sco3.2v5*): Use LD_RUN_PATH for hard-coding. + +1999-04-25 Pavel Roskin + + * Makefile.am (uninstall-local): Remove installed libltdl tree. + +1999-04-25 Alexandre Oliva + + * demo/Makefile.am (hc-direct, hc-libflag, hc-libpath, hc-minusl): + Added CFLAGS to link commands; SCO OSR needs it for -belf. + + * TODO: -Wl and -Wc options. + +1999-04-12 Alexandre Oliva + + * libltdl/ltdl.c: Remove trivial warnings. + +1999-04-22 Frank Ch. Eigler + + * ltconfig.in: Correct sed expression that extracts symbols + from cygwin def files. Ignore demangled C++ names, if any. + +1999-04-12 John David Anglin + + * libltdl/ltdl.c (shl_close): shl_t was correct here... + (shl_sym): ... but we have to pass the handle by reference here. + +1999-04-12 Alexandre Oliva + + * doc/libtool.texi (Invoking ltconfig): Document environment + variables used. + + * doc/libtool.texi (Invoking ltconfig): Document --cache-file. + + * doc/libtool.texi (Invoking ltconfig): Document + --disable-fast-install, --enable-dlopen, --with-gnu-ld and + --disable-lock. + +1999-04-11 Thomas Tanner + + * libltdl/configure.in: check for shl_load in libdld + * libltdl/ltdl.c (shl_close, shl_sym): use (shl_t *) instead of shl_t + * ltconfig.in (check for gcc): removed a bogus line, + check for shl_load in libdld + * ltmain.in: added a warning to the header of the .la file + to warn users against deleting the file, + link shared against static libraries if + deplibs_check_method == pass_all + +1999-04-10 Alexandre Oliva + + * libtool.m4 (AC_PROG_LD, AC_PROG_NM): When looking for programs, + try $ac_exeext too, so that they're found on DJGPP/MS-DOS. + * ltconfig.in: Likewise. + Reported by Robert S. Maier + + * ltconfig.in (Usage): Removed --enable-dlopen-self. + Reported by Pavel Roskin + + * ltconfig.in: Moved sysv4 before sysv4.*. + (symcode): Brian's overrider is specific to sysv4, not sysv4*. + +1999-04-09 Thomas Tanner + + * NEWS, README: Motorola System V 4 support + * doc/PLATFORMS: added mk88-motorola-sysv4 + * ltconfig.in: installed patch from Brian Ford + to support mk88-motorola-sysv4 + + * doc/libtool.texi: some cleanups in the libltdl documentation + +1999-04-07 Alexandre Oliva + + * ltconfig.in (--fallback-echo): Do not put an inline document and + an exec in the same if construct; otherwise the inline document + may not be removed. + * ltmain.in (--fallback-echo): Likewise. + Reported by John David Anglin + + * dryrun.test: It would still fail at random times, because `cp' + and `mv' are not guaranteed to preserve the timestamps of the + installed files. Instead of preserving them, just remove them + before the dry uninstall test. Redirect dry-run output to stderr, + so that it can be easily separated from the regular output. + +1999-04-07 Thomas Tanner + + * NEWS: support for moved libraries + * libtool.m4: another DJGPP fix + +1999-04-07 Alexandre Oliva + + * doc/PLATFORMS: Updated to 1.3 for all platforms I've got. I'll + make sure 1.3 won't be released unless it passes all tests on + those platforms. + + * doc/libtool.texi (Compile mode): Document potential problem and + work-around for `-c -o dir/foo.lo'. + + * tests/dryrun.test: The constant modifications of libtool would + cause main.o to be updated at the wrong time; the new approach is + to modify the libtool script so that it enables dry run depending + on whether an environment variable is set or not. I've also moved + `after' and `before' to a directory deep within $objdir, instead + of creating it in ../tests. + * tests/Makefile.am (CLEANFILES): Removed. + +1999-04-06 Alexandre Oliva + + * tests/dryrun.test: We cannot rely on setting LIBTOOL, because + automake may use sub-makes, and the setting will not be propagated + to them on some makes. Instead, create a dry version of libtool + and switch between it and the original one before and after dry + runs. + * tests/Makefile.am (CLEANFILES): Added libtool-*, created by + dryrun.test. + + * tests/dryrun.test: Use cmp instead of diff. + (before, after): Create them within ../tests. + (libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL, + SHELL and top_builddir from the environment if available. For dry + runs, use "$libtool -n". + * tests/Makefile.am (CLEANFILES): Added before and after. + * ltmain.in: Do not create links to object files in dry runs. + +1999-04-06 Thomas Tanner + + * ltmain.in: added a missing line of the ILD patch + + * NEWS: improved DJGPP support + * doc/libtool.texi: removed hardcode_into_libs documentation + * libtool.m4: some DJGPP fixes + * ltconfig.in: ditto, reverted one of my previous patches: we need + to check for NM, removed the hardcode_into_libs support since + no platform seems to support it + * ltmain.in: some DJGPP fixes, removed the hardcode_into_libs support + +1999-04-05 Alexandre Oliva + + * ltconfig.in (netbsd*, GNU ld): Support a.out shared libraries + + * Makefile.am (CVS): allow command-line overriding of cvs + + * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by + default, as most a.out platforms use it, and end up in trouble if + we preload it, so it's safer to rule it out by default, and + special case its removal from exclude_expsyms if someone ever + complains. + +1999-04-05 Thomas Tanner + + * doc/libtool.texi: reorder tests to reflect execution order, + documented dryrun.test and depdemo* + * ltmain.in (lt_preloaded_symbols): dry-run mode bugfix + * tests/dryrun.test: new test to check whether the dry-run + mode works properly + + * demo/run.test: removed the unnecessary test + * demo/Makefile.am: ditto + * ltmain.in: set the DLL search path on cygwin,mingw and os2 + +1999-04-04 Alexandre Oliva + + * ltconfig.in (sunos4*, GNU ld): -Bstatic is not enough for + deplibs.test to work with GNU ld; -Bshareable is needed here. + + * ltconfig.in (ld_shlibs, amigaos*): Disable shared libs with + native ld too. + + * ltconfig.in (sunos4*, GNU ld): Reordered. + + * ltconfig.in (archive_cmds, sunos4*): Revert to -Bstatic; the + native linker doesn't even support -Bshareable, only GNU ld does. + Do not use `gcc -shared' in archive_cmds, it breaks deplibs.test. + + * ltconfig.in: if ld_shlibs=no, set can_build_shared=no too, + otherwise it will just be disregarded. This would cause + netbsd/m68k with GNU ld a.out, and certainly many other platforms, + to incorrectly believe that shared libraries were supported, while + archive_cmds was empty, causing shared libraries not to be created + +1999-04-03 Alexandre Oliva + + * NEWS: improved support for AIX and HP/UX + +1999-04-03 Thomas Tanner + + * NEWS: updated + * libtool.m4: check for main in libm instead of cos + * ltmain.in: cosmetic fixes, don't try to link libraries only once + (although it's not necessary on many platforms and looks ugly...), + +1999-04-02 Alexandre Oliva + + * ltmain.in (convenience): fixed race condition when more than one + library was linked with the same convenience library by + uniquifying the extract directory. It is now named after the new + library *and* the old one, and lives in the objdir of the new one. + + * ltmain.in (-L*): do not abort just because a directory specified + with -L does not exist; just warn and discard it + + * depdemo/l1/Makefile.am (AUTOMAKE_OPTIONS): no-dependencies + * depdemo/l2/Makefile.am (AUTOMAKE_OPTIONS): ditto + * depdemo/l3/Makefile.am (AUTOMAKE_OPTIONS): ditto + * depdemo/l4/Makefile.am (AUTOMAKE_OPTIONS): ditto + + * ltconfig.in (archive_cmds, sunos4*): where we used -Bstatic, we + should have been using -Bshareable + + * demo/Makefile.am (CLEANFILES): clean EXTRA_* from deplibs-check + + * libtool.m4 (LDFLAGS, LIBS): pass them to ltconfig, for the tests + that involve linking + * Makefile.am (LDFLAGS, LIBS, libtool, clibtool): ditto + * tests/Makefile.am (CFLAGS, CPPFLAGS, LDFLAGS, LIBS): set + (LDFLAGS, LIBS, TESTS_ENVIRONMENT): pass them down + +1999-04-02 Erez Zadok + + * doc/PLATFORMS: 1.2f ok on various versions of hpux cc + +1999-04-02 Alexandre Oliva + + * ltconfig.in (link_all_deplibs): set to unknown by default + * ltmain.in: test != no, not = yes + * doc/libtool.texi: document unknown + +1999-04-01 Thomas Tanner + + * doc/libtool.texi: documented deplibs.test + + * demo/Makefile.am: moved testsuite specific declarations to the end, + the deplibs check is now optional + * libltdl/configure.in: read libtool --config only once, + merged AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE from libtool.m4 + * libtool.m4: AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE were not + used, lt_dlopen and silent may be empty, AC_SYS_LIBTOOL_CYGWIN + no longer necessary + * ltconfig.in: NM is already checked in libtool.m4, + * ltmain.in: always link all static dependency_libs + * tests/Makefile.am: added deplibs.test + * tests/demo-exec.test, demo-inst.test: removed hell0 + * tests/deplibs.test: new test to test the deplibs_check_method + +1999-03-31 Thomas Tanner + + * ltmain.in: always link a library before its dependency libs + * mdemo/Makefile.am: test -export-symbols-regex + +1999-03-30 Thomas Tanner + + * doc/libtool.texi: fixed a typo + * libtoolize.in: add the libtool scripts to libltdl.tar.gz + * libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE), + AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work + when libltdl is already installed + * *demo/Makefile.am: use LIBM + * *demo/configure.in: AC_SUBST LIBM + * libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of + USE_SYMBOL_UNDERSCORE + * ltconfig.in: added link_all_deplibs variable + * doc/libtool.texi: document it + * ltmain.in: always search for libname.la - don't eval libname_spec, + when linking libraries against static ones just print a warning + and add them to dependency_libs, add -lc before deplibs, + always link all dependencies of a static library or if + link_all_deplibs is yes, hardcode library paths if + hardcode_into_libs is no, don't link against dependency_libs + that already are deplibs + +1999-03-30 Alexandre Oliva + + * ltconfig.in (aix4*, collect2name): make sure collect2 exists + before running string on it, to avoid errors on old gccs + Reported by Erez Zadok + + * ltconfig.in (aix4*, hardcode_libdir_flag_spec): unless we're + using gcc with old collect2, use -b libpath to hardcode the + library search path + + * ltmain.in, ltconfig.in: reverted most of the quoting changes + from 1999-03-25; Gary's delay_variable_subst patch from 1999-02-19 + obviates it. Keep only quoting of $PATH, for uniformity with + other systems that already did it + +1999-03-29 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dladdsearchdir): Forgot to mallocate the + extra byte of memory for the teminating NUL, and forgot to + strcpy the original path in to the new memory before appending + the new path compononent. + +1999-03-27 Thomas Tanner + + * NEWS: updated + * README: updated (BeOS support, no longer shared libraries + support for AmigaOS), cleanups, we have now two mailing lists + * REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists + * THANKS: added Xavier Pianet + * doc/PLATFORMS: BeOS works + * doc/libtool.texi: we have now to two mailing lists, + updated -dlopen self documentation, documented libltdl's license, + put each author in a separate line, + inter-library dependencies on uninstalled libtool libraries are + now supported, cleanups and minor corrections + * libltdl/COPYING.LIB: new file + * libltdl/ltdl.[ch]: added special exception to the LGPL license + * libtool.spec: removed, it was outdated + * Makefile.am: removed libtool.spec + * ltmain.in: use TMPDIR when possible, create a subdirectory + in the temporary directory, added -export-symbols-regex to the help, + +1999-03-25 Alexandre Oliva + + * demo/Makefile.am: create a static library, link two libtool + archives with it, then link the program hell0 with both + * demo/hell1.c, demo/hell2.c: dummy files used to create the + libtool archives without introducing symbol conflicts + * tests/demo-exec.test, tests/demo-inst.test: run the new program + * ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all + + * ltmain.in ($PATH): instead of modifying the PATH, better prevent + its expansion the first time *_cmds variables are eval'ed. Modify + $show within loops that eval them so as to expand variables + * ltconfig.in (*_cmds): quote $ so that they're not expanded by + the first eval + +1999-03-25 Gary V. Vaughan + + * ltmain.in ($PATH): Expand any tildes in the users path to the + contents of $HOME to avoid problems with *_cmds splitting and + evaluation. + +1999-03-24 Thomas Tanner + + * TODO: support -dlopen for libraries + * doc/PLATFORMS: Erez Zadok reported that libtool works on bsdi 4.0.1 + * doc/libtool.texi (libltdl): libltdl supports BeOS + * libltdl/ltdl.c: shlib_ext was declared even if LTDL_SHLIB_EXT + didn't exist, partially reverted my previous patch: BeOS will + automatically search in ADDON_PATH + * ltmain.in: don't allow relative run-paths, fixed a typo in a warning, + ignore -dlopen self for libraries and objects, + only accept -L paths that exist, minor cleanups, + bugfix: add -lc for normal libraries, not convenicence libraries + removed offensive warnings/comments + +1999-03-24 Alexandre Oliva + + * ltconfig.in (ld_shlibs, amigaos*): disable shared libraries + +1999-03-23 Gary V. Vaughan + + * libltdl/configure.in: the sed expression for finding the shared + library extension used to think the . in [.] for the cygwin + shared_library_names_spec was the start of the extension!! We now + remove anything in square brackets (assuming that the square + brackets delimit a sed or expr expression which is not part of the + extension) before looking for the extension. + + * TODO (cygwin): food for thought re: mutually dependant dlls. + +1999-03-21 Alexandre Oliva + + * tests/build-relink.test: if we relink and have hardcode_direct, + removing an uninstalled library breaks an uninstalled program + + * doc/libtool.texi: documented convenience libraries + * TODO: removed entry about it + + * tests/*-unst.test: if directory is not configured, skip it + * tests/demo.test, tests/mdemo.test: unused, removed + * tests/depdemo.test: ditto + +1999-03-20 Thomas Tanner + + * doc/libtool.texi (link mode): documentation for -module updated + * ltconfig.in: fast-install mode doesn't work for + hardcode_into_libs=yes + * ltmain.in: bugfix: "-dlopen self [-all]-static" wouldn't use + dlopen_self_static, automatically enable -export-dynamic when + using "-dlopen self", always make run-paths absolute, + ignore -lc only on platforms that don't have such a library, + cleanups in the ILD code, find even installed libtool libraries + that were moved, before generating the DLL-import library we need + to set libname, improved hardcoding of shlibpath for libraries, + don't generate an installable pseudo-library for convenience + libraries, bugfix: export_symbols would be removed immediately + before it is used + +1999-03-19 Thomas Tanner + + * use the same header in all configure.in's and Makefile.am's + * NEWS: improved support for BeOS and Cygwin + * TODO: ILD branch was merged, all internal variables and macros + are now documented + * demo/Makefile.am: use $(LIBS) instead of -lm + * doc/libtool.texi: documented new variable hardcode_into_libs + and thread_safe_flag_spec, renamed all AM_ENABLE/DISABLE_* macros + to AC_*, documented AC_DISABLE_FAST_INSTALL and AC_LIBTOOL_DLOPEN + * libltdl/ltdl.c: added two new error messages (cannot_open_error, + cannot_close_error), use them where approriate, + BeOS support (thanks to Xavier Pianet), on BeOS search modules + additionally in ADDON_PATH + * libtool.m4: rewrote AC_CHECK_LIBM: BeOS and Cygwin don't have + libm and *-ncr-sysv4.3* requires libmw + * ltconfig.in: don't check for LoadLibrary, hardcode dlopen + configuration for BeOS and Cygwin + * ltmain.in: fix sourcing of .la files on Solaris + (patch by Raja R Harinath) + +1999-03-19 Alexandre Oliva + + * ltconfig.in (sunos4*, with_gnu_ld, hardcode_minus_L): remove, we + have -rpath + (aix4*, without_gnu_ld, hardcode_shlibpath_var): unsupported is + default + (hpux9*, hpux10*, hpux11*, archive_cmds): drop +s, unneeded here + (hpux9*, hpux10*, hpux11*, hardcode_libdir_flag_spec): add +s + before +b + (hpux9*, hpux10*, hpux11*, shlibpath_overrides_runpath): since +s + appears before +b, set it to yes + (hardcode_shlibpath_var, hardcode_action): do not use + shlibpath_var to specify the compile-time search path; it loses, + and we may end up linking with pre-installed older versions of + libraries instead of yet-to-be-installed ones + (*, hardcode_direct, hardcode_minus_L): remove entries that set + them to no, that is default + + * demo/Makefile.am (hc-direct, hc-libpath, hc-minusL): link with + $$hardcode_libdir_flag_spec, if available, with libdir=$(libdir), + to make sure the hardcode_* variables will produce the expected + results even in the presence of a hardcoding flag; depend on + libhello.la having been installed already + (hc-libflag): link with the installed library, but try to + hard-code the uninstalled one + * doc/libtool.texi: document the changes + + * tests/*.test: when a test fails, skip tests that depend on it. + If a certain configuration is not supported, skip all its tests. + + * doc/libtool.texi: reorder tests to reflect execution order + + * tests/noinst-link.test: new test + * tests/Makefile.am (TESTS): added noinst-link.test + * doc/libtool.texi: document it + +1999-03-19 Gary V. Vaughan + + * ltmain.in (dependency_libs): There is no reason to infer that + the pseudo library is invalid if dependency_libs='' at + install-time, or else libltdl/libltdl.la is invalid!! + +1999-03-18 Thomas Tanner + + * merged my inter-library dependencies code from the ILD branch: + * NEWS: inter-library dependencies are now supported + * configure.in: add the depdemo subdirectory + * depdemo/*: new demo to demonstrate inter-library dependencies + * tests/depdemo*: new tests for depdemo + * ltconfig.in: added hardcode_into_libs (whether library paths + should be hardcoded into the libraries), + it currently defaults to 'no' + * ltmain.in: new internal 'relink' mode to relink libraries + on platforms with hardcode_into_libs=yes, save command line + arguments in libtool_args, accept relative -L directories, + ignore -lm on BeOS and Cygwin, always ignore -lc, + handle -l, -L and .la arguments later, always make the library + installation directory (-rpath) absolute, in relink mode don't + delete the not-relinked library and exit immediately after relinking, + try to find already-installed libtool libraries that were specified + using -l, support hardcoding of library paths into libraries too, + export shlibpath before linking libraries, and a lot of other + big changes that I don't want to describe here... please read + the source. + + * merged Gary's Win32 code from the ILD branch: + * NEWS: Win32 DLLs are now supported + * TODO: removed .a library namespace clash for win32. It is + now resolved. + * ltconfig.in (cygwin, library_names_spec): removed $libname.a. + Creating a dll with libtool no longer creates an import library. + * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does + not exist -- i.e. we need to generate import an import library + in a directory which has no libs of its own. + * doc/libtool.texi (old_archive_from_expsyms_cmds, + extract_expsyms_cmds): documented these new variables. + * ltconfig.in (extract_expsyms_cmds): New variable. Commands to + extract the exported symbol list from a dll. + (old_archive_from_expsyms_cmds): New variable. Commands to build + an old archive from the extracted expsyms list. + * ltmain.in: run the cmds in extract_expsyms_cmds and + old_archive_from_expsyms_cmds as necessary. + * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer + required. + * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even + sure whether win32 honours the runpath at all when searching for + a dll to load! Anyway, when set to yes this prevents a gratuitous + warning. + * ltmain.in (deplib): The cygwin environment doesn't actually have + -lm, and although the linker fakes having one, specifiying it to + libtool will break ILD, so we ignore it when generating + dependencies. + +1999-03-17 Gary V. Vaughan + + * doc/PLATFORMS: Thanks to Alexandres changes below, both my + hp boxes pass the entire test suite. + +1999-03-17 Alexandre Oliva + + * ltconfig.in (hpux*, hardcode_minus_L): should be no, we have +b + (hpux*, hardcode_libdir_separator): set to colon + +1999-03-17 Alexandre Oliva + + * doc/PLATFORMS: egcs is gcc; updates from Erez Zadok + +1999-03-16 Alexandre Oliva + + * ltmain.in (deplibs, beos*): don't append -lc + Reported by Xavier Pianet + + * tests/build-relink.test (hardcode_action): when set to relink, + skip the test with lt-hell + + * Makefile.am (EXTRA_DIST): add mkstamp + Reported by Xavier Pianet + + * Makefile.am (EXTRA_DIST): add ChangeLog.0 + +1999-03-16 Thomas Tanner + + * doc/libtool.texi: some minor corrections to the "-dlopen self" + documentation + * tests/Makefile.am: sorted by name, added assign.test + * ChangeLog: started new file + + * ltconfig.in: some cosmetical changes + * ltmain.in: ditto + +1999-03-15 Alexandre Oliva + + * configure.in, libtool.spec, NEWS: bump to 1.3a + * Branched for release 1.3 (branch-1-3) + * configure.in, libtool.spec, NEWS: bump to 1.2g + + * configure.in, libtool.spec: bump to 1.2f + * doc/PLATFORMS: ditto + * NEWS: libtool 1.2f released + + * ltmain.in: silence ``unbug'' :-) detected by sh.test + +1999-03-14 Alexandre Oliva + + * TODO: we now use full pathnames for `file' + +1999-03-14 Thomas Tanner + + * TODO: libltdl is now documented + * doc/libltdl.texi (linking with installed libtool libraries): + fixed typo + * doc/libltdl.texi (libltdl): added documentation for building + libtool modules and examples how to embed libltdl + * ltmain.in: don't ignore user-specified run-paths (fixed it + at the right place) + +1999-03-14 Alexandre Oliva + + * ltmain.in (deplibs_check_method=none): discard -L and -R + switches when testing whether deplibs contains some library + +1999-03-14 Erez Zadok + + * config.sub: recognize hppa2.0w, yet to be installed at GNU + + * config.guess: minor update for FreeBSD-elf, yet to be installed + at GNU + +1999-03-14 Alexandre Oliva + + * ltconfig.in (bsdi4*, sys_lib_search_path_spec, + sys_lib_dlsearch_path_spec): fix thinko in variable names; add + standard directories + + * ltmain.in (exclude_expsyms): exclude symbols before sorting, + otherwise only the sorted list will have them excluded + + * ltconfig.in (file_magic_cmd, file_magic_test_file, freebsd-elf*, + bsdi4*): use full pathnames when possible + + * Makefile.am (all-recursive): depend on ACINCLUDE_M4_LIST + (all-local, check-local): remove, unused + + * doc/PLATFORMS: updated platforms tested on 1.2f-pre; clean up; + reorder; untabify + + * config.guess, config.sub: updated from GNU common + + * doc/libtool.texi: notes on thread-safety problems of + libltdl/dlopen on GNU/Linux and FreeBSD + + * ltconfig.in (aix3*, aix4*): GNU ld on AIX is very broken: it + cannot create working shared libraries. Print a warning + suggesting the user not to use it and disable shared libraries. + +1999-03-13 Alexandre Oliva + + * ltconfig.in (global_symbol_to_cdecl): was reset before trying + `symprfx=_', rendering the test with `_' useless + + * doc/libtool.texi (AM_PROG_LIBTOOL): eliminate overfull boxes + + * doc/libtool.texi: complete dlopening/libltdl documentation + + * ltconfig.in (osf3*, osf4*, deplibs_check_method): pass_all does + not really work; use file_magic instead. + (osf3*, osf4*): customize sys_lib_[dl]search_path_spec + + * ltconfig.in (file_magic_test_file): new variable; if set, it + will be used as an argument for $file_magic_cmd to test whether + the regex in deplibs_check_method matches its output + (file_magic_cmd): use full pathnames whenever possible + + * ltconfig.in (sys_lib_dlsearch_path_spec): new variable, that + lists the system *run-time* search path. Listed directories are + not implicitly hard-coded into executables. + * ltmain.in: use it, but *never* discard -R flags + * doc/libtool.texi: document it + * NEWS: ditto + Reported by Bob Friesenhahn + + * tests/sh.test: look for `$Xsed' without `$echo "X...' + * ltconfig.in, ltmain.in: fixed a few such occurrences + + * ltmain.in (-static, -all-static): revert March 11's patch, I was + barking up the wrong tree + +1999-03-12 Thomas Tanner + + * libltdl/ltdl.c: removed FILENAME_MAX since LTDL_FILENAME_MAX + is sufficient and doesn't break HP/UX + +1999-03-11 Alexandre Oliva + + * ltconfig.in: (global_symbol_pipe) extract symbol tag from the + output of NM too + (global_symbol_to_cdecl): new variable; convert the output of + global_symbol_pipe to valid C declarations; on HP/UX, convert + text symbols to function declarations + * libtool.m4: similar modifications + * doc/libtool.texi: document new variable + * ltmain.in: use global_symbol_to_cdecl to generate lt_dlpreopened + symbols; avoid extracting symbol lists from dlpreopened files + twice; do not filter symbols from dlpreopened libraries + * TODO: fixed HP/UX dlpreopening problem + + * ltmain.in (-static, -all-static): set dlopen_self to + $dlopen_self_static regardless of link_static_flag or pic_flag + + * ltmain.in: FreeBSD bug that needs symbol table compiled with + -fPIC is fixed in release 3.1; use it only for 2.* and 3.0 + +1999-03-11 Thomas Tanner + + * ltmain.in: when building a library it doesn't make + sense to remove a relinked program ("lt-" prefix) + +1999-03-11 Alexandre Oliva + + * mdemo/main.c (main, test_dl, test_dlself): propagate error + conditions better, to avoid false positives + + * */configure.in: AC_SUBST(LIBTOOL_DEPS) + * */Makefile.am $(OBJECTS): depend on libtool + (libtool): rebuild automatically + + * ltconfig.in: set dlopen_* variables to unknown when appropriate + * ltmain.in: only emit warning about lack of AC_LIBTOOL_DLOPEN if + *all* dlopen_* variables are set to unknown + +1999-03-11 Thomas Tanner + + * ltmain.in: delete the old output files (incl. the relinked binary) + before linking. + + * ltconfig.in: replaced `configure' with $progname and all + line numbers with @LINENO@ + +1999-03-11 Alexandre Oliva + + * libltdl/ltdl.c (strdup): cannot return str when it's NULL + because of const correctness + +1999-03-10 Alexandre Oliva + + * libltdl/ltdl.c (strdup): always use our own, because the + standard strdup won't use lt_dlmalloc + + * ltconfig.in (dlfcn.h): function definition may cause warnings; + define variable instead + + * ltmain.in: properly create an export file for a program, + avoiding error messages about not finding it + + * TODO: need to document AC_LIBLTDL_*; static self dlopening + problem fixed + + * libtool.m4 (AC_LIBTOOL_DLOPEN): just set lt_dlopen=yes + (AC_LIBTOOL_SETUP): if lt_dlopen=yes, add --enable-dlopen to + libtool_flags; drop --enable-dlopen-self + * ltconfig.in: perform all the dirty work of testing for dlopening + support, because we need platform-dependent equivalents for + -export-dynamic, for self dlopening, and -static, for static self + dlopening + (dlopen_self_static): new configuration variable that is set to + yes only if static programs can dlopen themselves + * ltmain.in (-static, -all-static): dlopen_self=dlopen_self_static + + * libltdl/configure.in (libltdl_cv_need_uscore): do not assume + dlfcn.h and LTDL_LAZY exist; use LTDL_GLOBAL and LTDL_LAZY_OR_NOW. + This test is likely to fail if self-dlopening does not work, + especially because we do not link the program with + -export-dynamic. Let's just hope that platforms whose symbol + names start with underscores will also accept underscores for + dlopen. We should probably use libtool to compile and link this + test, so that we can use -export-dynamic. + + * mdemo/Makefile.am (@LIBLTDL@): depend on ../libltdl/config.h + + * configure.in: fix AC_OUTPUT_COMMANDS for ltconfig and ltmain.sh + so that they work if srcdir is relative too + + * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): + avoid introducing multiple --enable options when re-running + config.status + * libltdl/configure.in: if enable_ltdl_* is not set, assume no + * configure.in: if enable_ltdl_install is not set, enable it + + * libltdl/configure.in: only assume implicit installation if + libltdl was libtoolized. If not, print a warning message + suggesting the use of --enable-ltdl-install or of one of the + AC_LIBLTDL_* macros. + + * libtool.m4 (AC_LIBTOOL_SETUP): new macro, that does all the + configure-work that AC_PROG_LIBTOOL used to do; add + --cache-file=$cache_file to libtool_flags + (AC_PROG_LIBTOOL): call AC_LIBTOOL_SETUP, save the cache, run + ltconfig and reload the cache + * configure.in: run AC_LIBTOOL_SETUP, then set LIBTOOL_FLAGS to + libtool_flags + * ltconfig.in: support --cache-file switch. If it is used, load + the cache in the beginning and save it just before terminating + + * tests/Makefile.am (TESTS): run demo-nofast before demo-shared + + * configure.in: create ltconfig and ltmain.sh at the end of + config.status, if they do not exist. This fixes the bootstrap + problem reported by Erez Zadok + +1999-03-10 Thomas Tanner + + * NEWS: sorted by importance + * Makefile.am: set LIBTOOL_FLAGS when generating libtool + * configure.in: check for dlopen support and set LIBTOOL_FLAGS + accordingly + + * configure.in: fix spacing for --disable-ltdl-install, + always configure libltdl, add libltdl/acinclude.m4 to + ACINCLUDE_M4_LIST, disable installation of libltdl if necessary + * libltdl/Makefile.am: set version info for libltdl.la + * libltdl/configure.in: don't check whether + enable_ltdl_convenience/install was set so that libltdl + can be used as independent package (libltdl.tar.gz) without + the need to use --enable-ltdl* + * libltdl/ltdl.c: minor cleanups, allocate the line cache + dynamically (lt_dlopen) + +1999-03-10 Alexandre Oliva + + * libltdl/ltdl.c (lt_dlopen): some preprocessors choke if the `#' + of `#define' is not in column 1; let's go back to fortran! :-) + Add #undefs too, to avoid potential warnings or errors. + +1999-03-09 Alexandre Oliva + + * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): + renamed convenience libltdl, dropped toinst hack for installable + * libltdl/Makefile.am: ditto + * libltdl/configure.in: ditto; abort if none of the macros is used + + * ltmain.in: $output_objdir/$objdir/ -> $output_objdir/lt- + +1999-03-09 Thomas Tanner + + * libltdl/ltdl.c (lt_dlopen): don't hardcode the length of the + constant strings + +1999-03-09 Alexandre Oliva + + * Makefile.am (install-data-hook): install libltdl as a directory, + not as a tar-file, so that we do not modify the build tree at make + install time + * libtoolize.in (ltdl, ltdl_tar): update + + * configure.in, Makefile.am, NEWS: install libltdl by default + + * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): + new macros + * NEWS: ditto + * libltdl/configure.in: if none of the new macros or configure + arguments are used, warn and build convenience library only + * libltdl/Makefile.am: conditionally build convenience libltdl.la + * mdemo/configure.in: use AC_LIBLTDL_CONVENIENCE + * mdemo/Makefile.am: refer to @LIBLTDL@ + +1999-03-09 Gary V. Vaughan + + * NEWS: updated. + +1999-03-08 Alexandre Oliva + + * ltmain.in: extract symbols from program objects to nlist first, + then translate them to the export_symbols format. Now it works, + but it appears to be needlessly extracting the symbol list from + dlpreopened libraries twice + + * ltmain.in: temporarily disable dlopen_self when linking with + -static or -all-static, until we figure out how to test whether it + works at configure time + + * TODO: remember to fix this later + + * tests/build-relink.test: when hell is expected to fail, run it + within a subshell and redirect stderr to stdout, so that dynamic + linker errors are only printed in verbose mode + + * ltmain.in (hardcode_libdir_separator, compile_rpath, + finalize_rpath): only substitute hardcode_libdir_flag_spec if + hardcode_libdirs is non-empty + + * libtool.m4 (AC_LIBTOOL_DLOPEN): do not depend on the existence + of dlfcn.h nor on the definition of RTLD_LAZY + + * tests/build-relink.test: hellT was renamed to lt-hell + + * libltdl/Makefile.am (@TOINST@/libltdl.la): do not hide the + command that creates the TOINST directory; remove `-o $@' from the + LINK command, $(LINK) already contains it. + +1999-03-08 Thomas Tanner + + * doc/libtool.texi (tests): documented demo-nofast.test and + renamed cdemo* to demo* + +1999-03-08 Alexandre Oliva + + * libltdl/Makefile.am, libltdl/configure.in, mdemo/Makefile.am: + libltdl must not be renamed; if there's a problem with the install + option, let's fix it, not just work around it by breaking code of + users of the convenience library + + * tests/build-relink.test: link broken libhello.la with at least + one libtool object + +1999-03-08 Thomas Tanner + + * TODO: updated (libltdl build problem fixed) + * doc/libtool.texi (libltdl interface): removed the line which + promised that lt_dlopen will return NULL if it can't resolve all + symbols + * libltdl/Makefile.am, libltdl/configure.in: fixed build problem: + renamed the convenience library to libltdlc.la and the + installed version to libltdl.la + * ltmain.in (wrapper script): replaced the "T" suffix of the program + file name with a "lt-" prefix + * mdemo/Makefile.am: use libltdlc.la + * tests/Makefile.am, tests/demo-nofast.test: added demo to + test --enable-fast-install=no + +1999-03-07 Alexandre Oliva + + * tests/Makefile.am (TESTS): run hardcode before build-relink + trashes libhello.la + * tests/hardcode.test (need_prefix): set to yes so that _inst is + not removed + + * ltmain.in (compile_command): append finalize search path to + compile search path + + * tests/build-relink.test: new; check shlibpath_overrides_runpath + * tests/Makefile.am (TESTS): add build-relink.test; remove + hardcode.test duplicates + * doc/libtool.texi: document it + + * ltmain.in (relink_command): do not prepend cd `pwd` to it, the + scripts already enters the correct directory, and expanding the + pathname would prevent the build tree from moving + + * ltconfig.in (enable_fast_install): force it to no only if we + need relink; in the other cases, set it to needless + * ltmain.in (fast_install): if needless, set relink_command empty + * doc/libtool.texi (fast_install, shlibpath_overrides_runpath): + document the new behavior + + * ltconfig.in (enable_fast_install): test whether it can be forced + off after shlibpath_overrides_runpath and enable_shared are set + +1999-03-07 Thomas Tanner + + * TODO: updated + * NEWS: updated + + * TODO: scheduled some items for next release/future + * demo/configure.in: use AC_LIBTOOL_DLOPEN + * libtool.m4: added AC_ENABLE/DISABLE_FAST_INSTALL macro + * ltconfig.in: added --disable-fast-install flag + * ltmain.in: partially reverted Alexandre's patch and implemented + on-demand linking in such a way that the old developer-friendly + linking style is optional, + don't hardcode library paths that are in the system search path, + fixed a typo in lib_search_path, + implemented -export-symbols-regex for programs + +1999-03-06 Alexandre Oliva + + * libltdl/ltdl.c (LTDL_LAZY_OR_NOW): renamed from LTDL_NOW; prefer + LAZY loading because it's much faster and NOW is apparently + partially broken on FreeBSD + Reported by Archie Cobbs + + * ltconfig.in (archive_expsym_cmds, solaris, without_gnu_ld): + $lib.exp already starts with $objdir/ + Reported by Godmar Back + + * ltmain.in (freebsd): compile symbol table file with pic_flag + only on FreeBSD and when not static linking; it's been causing + trouble on platforms such as OpenBSD. + +1999-02-26 Gary V. Vaughan + + * libtool.m4 (cygwin): s/\\(mingw\\|cygwin\\)32/\\1/g. Must've + missed this file when I changed to cygnus' new sanction name. + + * ltconfig.in (sub_uncdrive): removed. This won't work with + the next version of cygwin. + (sub_uncdir): removed. We use :/path/to/executable now. + * libtool.m4 (AC_PROG_LD): removed sub_uncdrive and sub_uncdir. + +1999-02-25 Thomas Tanner + + * TODO: added items for next alpha release, ILD etc. + * libltdl/ltdl.c: removed unnecessary check from presym_sym, + fixed bug in lt_dlclose, allow lt_dlopenext(NULL), + set deplibs for lt_dlopen(NULL) + +1999-02-24 Alexandre Oliva + + * ltmain.in (file_magic_regex): sed `10q' is faster than `11,$d' + +1999-02-22 Thomas Tanner + + * ltconfig.in (dlopen, dlopen_self): default is unknown + * ltmain.in: fixed -dlopen self, print a warning + if -dlopen is used without AC_LIBTOOL_DLOPEN + * mdemo/Makefile.am: use -dlopen self + +1999-02-22 Alexandre Oliva + + * ltmain.in: added missing mkdir $progdir for on-demand executable + + * ltmain.in: create on-demand executable as $progdir/$$-$program, + and rename it to $progdir/$program only when it's finished, to + avoid race conditions. We can still get the program linked + multiple times, if multiple instances are started simultaneously + and the program does not exist, but they are very unlikely to + interfere with each other. There's still a possibility that one + process removes the $program another has just created, and doesn't + replace it before the other tries to run it, in a system whose + `mv' is not atomic, so it will $rm then $mv, but so what? :-) + Locking files have been avoided to prevent dead-locks in case they + are left over after a reboot or crash. + + * TODO: removed ILD, soon to be merged, and added convenience + libraries docs + + * ltconfig.in (irix5*, irix6*, shlibpath_overides_runpath): yes + + * ltmain.in: remove on-demand executable in the proper place, and + just warn if it can't be removed; add wrapper code to test whether + the install-executable is newer than the build-executable, to + relink it when it appears to be out-of-date + + * libltdl/configure.in: check for dld.h + * libltdl/ltdl.c: include dld.h + (dld_open) it's spelled memory_error, not no_memory_error + Reported by Stefan Burstroem + + * ltmain.in: fix typos in my last change (s/ocmpile/compile/) + +1999-02-21 Thomas Tanner + + * libltdl/ltdl.c (lt_dlopen): use newhandle instead of handle + when dlopening the executable + * libtool.m4 (AC_LIBTOOL_DLOPEN): removed the redundant "yes: " + prefix for lt_cv_dlopen, renamed lt_cv_dlopen_LIBS + to lt_cv_dlopen_libs (more consistent) + * ltmain.in: implemented -dl[pre]open self, necessary for + lt_dlopen(NULL), generation of exported symbols was broken + +1999-02-20 Alexandre Oliva + + * ltmain.in: avoid duplication of -L switches, it sometimes breaks + IRIX 5.2's linker + + * ltconfig.in (freebsd*, finish_cmds): expand objformat here + Reported by Vladimir Kushnir + +1999-02-20 Vladimir Kushnir + + * ltconfig.in (freebsd-elf*, need_version, need_lib_prefix): no + (freebsd-elf*, library_names_spec): add $libname.so instead of + $libname.so$versuffix; add $libname$release.so + +1999-02-20 Alexandre Oliva + + * doc/libtool.texi: remove ticks from menu items; it breaks TeX + Reported by Erez Zadok + + * ltmain.in: fixes for export-symbols dry-run + + * ltconfig.in (shlibpath_overrides_runpath): new variable; + determines whether LD_LIBRARY_PATH or equivalent can be used to + override a hard-coded library search path; default to unknown + (linux-gnu*): set it to no + (solaris*, sunos4*): set it to yes + * ltmain.in (build_libdirs_flags, build_libdirs, build_rpath): if + shlibpath_overrides_runpath is not yes, arrange that wrapper + scripts create, on demand, programs that use uninstalled libraries + + * doc/libtool.texi: document it + + * libtool.m4 (AC_LIBTOOL_DLOPEN): check for dlopen in libc before + trying in dl. Add the actual dlopening type to lt_cv_dlopen, and + add any needed libraries to lt_cv_dlopen_LIBS. Add test for + MS-Windows' LoadLibrary. Check whether a program can dlopen + itself only if we really have dlopen(), not some equivalent + function, but leave room for testing with other mechanisms. + (AC_PROG_LIBTOOL): assume some form of dlopen, but not + dlopen(NULL), is available if AC_LIBTOOL_DLOPEN is not used, for + backward compatibility. + +1999-02-20 Archie Cobbs + + * libltdl/ltdl.c (lt_dlopen): use newhandle instead of handle + where appropriate, when dlopening a non-libtool library + +1999-02-19 Gary V. Vaughan + + * ltconfig.in (export_symbols_cmds): renamed from + export_symbols_cmd. + (cygwin, mingw): Be sure to compile the ltdll.c object before + extracting the exported symbol list. Extract only the names + of the exported symbols from the def file [otherwise we might + run into trouble with -export-symbols-regex]. + (archive_expsym_cmds): Regenerate the def file from the symbol + export list. + (delay_variable_subst): New sed expression to allow us to delay + evaluation of $foo in a double_quote_subst evaluated variable by + using \$. + * ltmain.in (export_symbols_cmds): evaluate each ~ delimitted cmd + separately. + * doc/libtool.texi (libtool script contents): new paragraph to + explain the difference between _cmd and _cmds suffixes for + variable names. + (export_symbols_cmds): renamed from export_symbols_cmd. + +1999-02-18 Alexandre Oliva + + * ltconfig.in (ld_shlibs): move -soname and similar flags to the + end of archive_cmds and archive_expsym_cmds, so as to prevent + gcc's collect2 from inserting an object file between -soname and + the library name + + * ltconfig.in (openbsd*, netbsd*, library_names_spec): append + alternate name without ${release}, otherwise build fails when + -release is used + +1999-02-18 Gary V. Vaughan + + * ltconfig.in (archive{,_sym}_commands): Be careful not to + re-export the dll entry points DllMain@12, _cygwin_dll_entry@12 and + _cygwin_noncygwin_dll_entry@12 to avoid bugs with the wrong entry + function being called with inter-dll dependencies. + Reported by DJ Delorie + * THANKS: Added DJ Delorie, since his code inspired the impgen.c + program and because he has patiently answered all of the + irritating dll and win32 questions I have fired at him. + + * ltmain.in (version_type): Oops. Irix versioning implies that + major version numbers are 1 based (not zero based). Fixed. + + * ltmain.in (version_type): Implement irix versioning. + * ltconfig.in (irix{5,6}*): Use new irix shared object versioning. + * TODO: remove irix versioning from TODO list. + + * ltmain.in (impgen.c): Added a new embedded C file that can be + used under win32 to extract a def file (symbol export list) from a + dll that has none. Code to use it might need to wait for the ILD + merge before it will be useful... + +1999-02-18 Thomas Tanner + + * TODO: updated + * autogen: only libltdl needs autoheader + * doc/libtool.texi (link mode): documented -export-symbols-regex + and updated -export-symbols + * doc/libtool.texi (script contents): documented + always_export_symbols, export_symbols_cmd, exclude_expsyms, + include_expsyms, dlopen and dlopen_self + more detailed description of need_lib_prefix + * ltconfig.in: a "'" was missing in the default value + of export_symbols_cmd + * ltmain.in: implemented -export-symbols-regex + +1999-02-17 Alexandre Oliva + + * ltconfig.in: (freebsd2*, sunos4*, exclude_expsyms): exclude + _GLOBAL_OFFSET_TABLE_ + * ltmain.in: implement exclude_expsyms with egrep + + * libltdl/ltdl.c (lt_dlmalloc, lt_dlfree): SunOS' cc can't cope + with argument lists, we __P even in the definition + +1999-02-15 Thomas Tanner + + * cdemo/Makefile.am: renamed *foo1 to *foo, removed $(MATH_LIB) + * cdemo/foo1.c: renamed to foo.c + * libltdl/ltdl.c: eliminated lt_dltype, in presym_open(): + search for @PROGRAM@ if filename == 0, in lt_dlopen(): + fixed bug for filename == 0 + * libltdl/ltdl.h: use __P macro for lt_dlmalloc/free + * libtool.m4: new macro AC_LIBTOOL_DLOPEN: checks for dlopen + and dlopen(NULL) support + * ltconfig.in: added new variables dlopen and dlopen_self, + --enable-dlopen[-self] flags for AC_LIBTOOL_DLOPEN + * ltmain.in: use dlopen[_self], dlpreopen files if there's no + dlopen support, build lt_preloaded_symbols only if + -dl[pre]open was used, include program symbols if -export-dynamic + was specified and there's no dlopen(NULL) support + * mdemo/configure.in: use AC_LIBTOOL_DLOPEN + * mdemo/main.c: demonstrate lt_dlopen(0) + +1999-02-15 Gary V. Vaughan + + * demo/dlmain.c (_WIN32): The lt_symlist structure is now const, + so my original horrible temporary win32 hack no longer worked. + Here is a new horrible temporary hack to prevent helldl from SEGVing + on win32. I will fix this properly when we figure out how to do + data exports from dlls. + +1999-02-14 Alexandre Oliva + + * libtool.m4 (AC_CHECK_LIBM): do not set MATHLIB or AC_SUBST it, + this has a negative side-effect of causing automake to add MATHLIB + to every single Makefile. Let's use plain AC_CHECK_LIB, so that + LIBS get set, until we find a better alternative + * *demo/Makefile.am: remove $(MATHLIB) + + * libltdl/configure.in: add a DESCRIPTION argument to AC_DEFINEs + where appropriate, so as to get rid of acconfig.h + * libltdl/acconfig.h: removed + +1999-02-13 Thomas Tanner + + * *demo/Makefile.am: use $(MATHLIB) + * *demo/configure.in: use AC_CHECK_LIBM + * doc/libtool.texi: renamed file_magic_command to file_magic_cmd, + renamed archive_sym_cmds to archive_expsym_cmds + * ltconfig.in: ditto + * ltmain.in: ditto + * libltdl/ltdl.c: use lt_dlmalloc/free + * libltdl/ltdl.h: define lt_dlmalloc/free + * libtool.m4: added AC_CHECK_LIBM macro + * ltconfig.in: renamed archive_sym_cmds to archive_expsym_cmds, + added always_export_symbols, export_symbols_cmd, exclude_expsyms, + include_expsyms, removed archive_cmds for cygwin/mingw and AIX, + on Solaris store the exported symbols list in objdir + * ltmain.in: allow -export-symbols for modules, use thread_safe flag, + add include_expsyms to the exported symbols + +1999-02-12 Gary V. Vaughan + + * libltdl/ltdl.h (_LTDLL_EXTERN): libltdl is no longer linked as a + shared library, so the _declspec's were preventing the linker from + resolving symbols on win32. They have been removed now. + +1999-02-12 Alexandre Oliva + + * ltmain.in: don't try to read objdir/libname.la before it is + created! + + * ltmain.in: create libname.lai at link time, not at install time, + but still create it at install time if it is missing + Reported by Akim Demaille + + * libltdl/ltdl.c (tryall_dlopen): strcmp filenames was reversed + +1999-02-11 Thomas Tanner + + * autogen: libltdl needs autoheader + * demo/Makefile.am: renamed hell.debug to hell.static + (we're demonstrating static linking, not debugging) + * tests/demo*: ditto + * doc/libtool.texi (libltdl): documented new lt_dlopen(NULL) + feature + * libltdl/acconfig.h: required for config.h + * libltdl/configure.in: use config.h + * libltdl/ltdl.c: use config.h, support lt_dlopen(NULL) + (returns a handle for the program itself) + * ltconfig.in: minor reformatting + * ltmain.in: in lt_preloaded_symbols always define + the program's symbols first, for -export-dynamic list all + program symbols together, -export-symbols was broken for + programs, minor reformatting + * mdemo/Makefile.am: renamed mdemo.debug to mdemo.static + * tests/mdemo*: ditto, mdemo.test was completely broken + +1999-02-10 Alexandre Oliva + + * ltconfig.in (irix5*, irix6*, osf3*, osf4*): do not use + -set_version in archive_cmds if verstring is empty + (irix6*, shlibpath_var, sys_lib_search_path-spec, + deplibs_check_method): set appropriate values depending on + selected ABI, -32, -n32 or -64, as set in LD by libtool.m4 + (uts4*): remove dot between .so and versuffix + +1999-02-08 Alexandre Oliva + + * ltconfig.in (irix5*, irix6*, deplibs_check_method): use + file_magic for inter-library dependency tracking + + * ltconfig.in (irix5*, hardcode_libdir_separator): set it to a + colon, because on IRIX 5 only the last -rpath switch prevails, and + it can be a list of colon-separated directories. This change will + affect irix6 too, but that's not a problem. + + * ltconfig.in (irix5*, library_names_spec): add soname_spec, + otherwise we can't dlopen + +1999-02-08 Thomas Tanner + + * ltconfig.in: according to Marcus Sundberg + HP/UX, IRIX, OpenBSD, Digital Unix and SunOS support + need_version=no and need_lib_prefix=no, + fixed a bug in Solaris' archive_sym_cmds + +1999-02-04 Alexandre Oliva + + * libtool.m4 (ac_cv_sys_global_symbol_pipe): accept TAB in + addition to space as separator, and allow more than one space + between the symbol code and the symbol name; HP/UX's nm, for + example, uses two spaces + * ltconfig.in (global_symbol_pipe): ditto + (bsdi4, deplibs_check_method): variable name was misspelled + * libltdl/configure.in (libltdl_cv_preloaded_symbols): rewrite + test, so as not to depend on the way global_symbol_pipe is + initialized; the current test would get false positives, as + global_symbol_pipe was initialized `x=""', not `x=' + + * libltdl/ltdl.c (find_module): initialize filename if dir is NULL + Reported by Godmar Back + +1999-02-04 Godmar Back + + * libltdl/ltdl.c (lt_dlopenext): missing space for terminator when + allocating memory for shlib_ext + +1999-02-03 Alexandre Oliva + + * libltdl/ltdl.c (lt_dlopenext): tmp would be trashed if shlib_ext + was longer than 3 characters + +1999-02-02 Gary V. Vaughan + + * ltconfig.in: new config.guess returns *-*-cygwin now instead of + *-*-cygwin32. sed -e 's%\(cygwin\|mingw\)32%\1%g' ltconfig.in + * ltmain.in: sed -e 's%\(cygwin\|mingw\)32%\1%g' ltmain.in + + * ltconfig.in (hardcode_libdir_flag_spec, allow_undefined_flag, + archive_cmds, archive_sym_cmds, old_archive_from_new_cmds): + removed duplication of config by assuming that `test $with_gcc = + yes' implies gnu ld, otherwise MSVC++ (which I haven't tested + since I inheritted the code from Ian Lance Taylor btw!) is implied. + +1999-01-28 Gary V. Vaughan + + * ltmain.in: Reverted this change of Alexandre's from the + 1999-01-25; "don't try to use .o instead of .lo just because + there's no PIC flag. It loses if --disable-static, and there's + not much point if we're referring to the same file anyway...", + because not all linkers will accept .lo object names. + * ltmain.in: In the case where --disable-static is specified (as + noted in Alexandre's log entry), we just link some .o files to + prevent the original error. + Reported by Andrey Slepuhin + +1999-01-27 Alexandre Oliva + + * libtoolize.in: search for A[MC]_PROG_LIBTOOL, not + AM_PROG_LIBTOOL + Reported by Jeff Garzik + +1999-01-27 Gary V. Vaughan + + * THANKS: Now that we have a policy, applied it to the existing + list. This in no way demeans the work of those people removed + from the THANKS file, who are still credited in the ChangeLogs and + without who's work, libtool would not work so well on many + platforms, but serves to highlight the outstanding and continued + contribution the remaining people have made. And I quote, "We + reserve THANKS for people who have made major contributions, and + leave the credit to the others for the ChangeLog only." + + * THANKS: added Sam Vilain. + * ltconfig.in ($echo): When using printf to replace echo the shell + expands %s\n to %sn. Changed to use "%s\n" (with quotes). + Reported by Sam Vilain + +1999-01-27 Alexandre Oliva + + * libltdl/ltdl.c (find_file): fix endless loop condition + (find_module): filename allocation was off by 1 + + * libltdl/Makefile.am (distclean-local): renamed from + distclean-hook, that didn't work + + * libltdl/ltdl.c (lt_dlopen, non-.la): find_file now returns 0 on + failure + + * Makefile.am (ltconfig, ltmain.sh): some broken makes don't like + macros in targets; replace $(srcdir) with @srcdir@ + * configure.in (ACINCLUDE_M4_LIST): same problem; expand $srcdir + + * libltdl/Makefile.am (@TOINST@/libltdl.la): if installation is + enabled, create to-be-installed libltdl.la within @TOINST@ + directory + (noinst_LTLIBRARIES): even if installation is enabled, build + convenience libltdl.la, otherwise builds of random packages may + fail if the user happens to enable installation + (distclean-hook): wipe out $(TOINST) + * libltdl/configure.in: set TOINST and LIBLIBS as appropriate; + don't set NOINSTLIBS any more + * mdemo/Makefile.am: use libltdl.la + + * libltdl/ltdl.c (find_file): oops, filenamesize was miscomputed + + * libltdl/ltdl.c (find_file): allocate filename dynamically + + * libltdl/configure.in (AC_PROG_LIBTOOL): automake does not + recognize it and fail, better keep using AM_PROG_LIBTOOL until the + next release of automake + * demo/configure.in, cdemo/configure.in: ditto + * depdemo/configure.in, mdemo/configure.in: ditto + + * libltdl/ltdl.c: make all global strings char[], not char*; check + that all calls to malloc() are properly cast + (strdup, strchr, strrchr, trim, free_vars): declare as inline + (find_module): allocate filename dynamically; support null dir + (free_vars): free dir and name only if non-null + (lt_dlopen): keep dir as NULL if not given; fix expression that + calculated the size of name; only free and name if non-null + (lt_dlopenext): allocate tmp dynamically + + * configure.in (pkgdatadir): expand ${PACKAGE} at configure-time, + just like automake does + + * configure.in (pkgdatadir): define pkgdatadir explicitly, and + comment that automake does not need it, but libtoolize does + + * Makefile.am (aclocaldir): do not set it explicitly, automake + does already + + * configure.in (TIMESTAMP): use mkstamp here too + +1999-01-27 Thomas Tanner + + * cdemo/configure.in: renamed AM_PROG_LIBTOOL to AC_PROG_LIBTOOL + * demo/configure.in: likewise + * depdemo/configure.in: likewise + * libltdl/configure.in: likewise + * mdemo/configure.in: likewise + * libltdl/ltdl.c: in find_module() check whether libdir is defined, + tryall_dlopen(): move deallocation of an already opened handle + to lt_dlopen(), allocate the directory in lt_dlopen() dynamically, + minor cleanups, fixed memory leak (name) + * libtool.m4: renamed all AM_ macros to AC_ and added aliases for + compatibilty, updated AC_SYS_NM_PARSE (no undefined symbols, + don't count the symbols) + * ltconfig.in: added thread_safe_flag_spec (not used yet), + added generic variable for linker options "linkopts" in + all archive_cmds + * ltmain.in: added -thread-safe flag (unused) + +1999-01-26 Alexandre Oliva + + * ltconfig.in (LTCONFIG_VERSION): damn!, adding TIMESTAMP doesn't + always work, because then different ChangeLog timestamps fail to + pass the version test. Instead of forcing both ltconfig and + ltmain.sh to be updated every time ChangeLog changes, better + revert it + + * ltconfig.in (LTCONFIG_VERSION): add TIMESTAMP, remove + explicit quotes and add it to the list of variables to quote + + * ltmain.in: reworded `dropped inter-library dependencies' + message, and added a warning about inter-library dependencies even + for non-module builds + +1999-01-26 Gary V. Vaughan + + * Makefile.am (install-data-hook): Don't show the if expression + that tests for gzip with a conditional error message; just do it + quietly and show the error if it fails, or the next action if it + succeeds. + + * configure.in: It seems Alexandre accidentally removed the + AC_SUBST(pkgdatadir) line recently which breaks libtoolize. + Reverted that small change. + +1999-01-25 Alexandre Oliva + + * libltdl/ltdl.c (find_module): test old_name and dlname for NULL, + not len==0 + + * libltdl/configure.in (libltdl_cv_objdir): yes, appending the "/" + in configure.in was much simpler + * libltdl/ltdl.c (objdir): ditto + + * libltdl/ltdl.c (objdir): string collation isn't portable; strcat + "/" explicitly. Or should this be moved to configure.in? + +1999-01-25 Thomas Tanner + + * libltdl/ltdl.c: allocate the variables in lt_dlopen() dynamically + +1999-01-25 Alexandre Oliva + + * ltmain.in (file_magic): use egrep instead of expr to support + more general regular expressions + (file_regex): remove it; the name is misleading, it's not used + anywhere, and probably will never be + * ltconfig.in, doc/libtool.texi: ditto + * ltconfig.in (linux-gnu*, deplibs_check_method): extend regex to + support `LSB dynamic lib' in the output of `file' + Reported by Scott D. Heavner + + * ltmain.in (dependency_libs, xrpath): add -R switches to + dependency_libs only just before creating the .la file; they + should not be passed to the C compiler or linker at + library-creation time, since we don't know whether it is supported + + * ltconfig.in (freebsd2.2*, hardcode_minus_L): for FreeBSD 2.2.6, + this must be `no' + + * mkstamp: move the sed script to extract revision and date + information into a separate shell-script, so that we can break + lines between commands; FreeBSD's sed doesn't like `;' after `t' + Reported by Axel Thimm + * Makefile.am: use mkstamp + * THANKS: added Axel Thimm + + * ltmain.in: don't try to use .o instead of .lo just because + there's no PIC flag. It loses if --disable-static, and there's + not much point if we're referring to the same file anyway... + + * ltmain.in (pass_all=none, droppeddeps): set only if deplibs was + non-empty + +1999-01-24 Thomas Tanner + + * libltdl/ltdl.c: minor bugfixes, append a "/" the search + directory only if necessary + * ltconfig.in: added support for FreeBSD >= 3.0 + (patch from Kurt D. Zeilenga) + * THANKS: added Kurt D. Zeilenga + +1999-01-24 Thomas Tanner + + * doc/libtool.texi (libltdl): list supported dlopen mechanisms, + added function lt_dlopenext(), removed reference to + LTDL_PRELOADED_SYMBOLS in LTDL_SET_PRELOADED_SYMBOLS + * libltdl/ltdl.c: partially reverted Alexandre's dynamic string + allocation change (it was not necessary and the code was unreadable), + cleanups, removed usr_search_path_size, renamed usr_search_path + to user_search_path, in find_module() also check for moved + modules, merged find_file() and find_library(), + added lt_dlopenext(), in lt_dladdsearchdir() no longer reset + the search path if 'search_dir' == NULL and don't use realloc() + (might not be available on all platforms), + removed __P((void)) in the declaration of lt_dlgetsearchpath() + * libltdl/ltdl.h: added lt_dlopenext() + * ltconfig.in: AIX archive commands were broken, + fixed a MAJOR bug in global_symbol_pipe which caused + "demo-shared.test;demo-make.test" to fail (libtool must not extract + undefined symbols of libraries, i.e. symcode must not contain 'U') + * tests/Makefile.am (clean-local): "make distclean" in cdemo, too + +1999-01-22 Alexandre Oliva + + * Makefile.am (ltconfig, ltmain.sh): add ChangeLog Revision to + TIMESTAMP + * configure.in: get values of PACKAGE and VERSION set by + AM_INIT_AUTOMAKE, and extract only TIMESTAMP from the ChangeLog + + * libltdl/ltdl.c (lt_dlopen): if we're reusing a previously opened + handle, don't reset its name nor add it to the list, and free the + name we have allocated + Reported by Edouard G. Parmelan + + * Makefile.am (ltconfig, ltmain.sh, TIMESTAMP): let's not assume + anything about the format of the date, just that it does not + contain `$' + +1999-01-22 Gary V. Vaughan + + * configure.in (date): echo the version number during + configuration, and show $date for cvs versions. + + * Makefile.am ($(srcdir)/ltconfig): Oops. cvs co keyword + expansion ate the sed expression! Changed sed separator to '%' + because there are '/' in the date. Added missing '\(' to search + expression. Inserted a null string to stop cvs from expanding it + next time =)O| + ($(srcdir)/ltmain.sh): ditto. + +1999-01-22 Alexandre Oliva + + * Makefile.am (TSDEPS_DIST): dist-time dependencies for timestamps + (timestamps, update-timestamps): check whether TSDEPS_DIST are + up-to-date and update ltconfig and ltmain.sh if needed + (ltconfig, ltmain.sh): depend on TSDEPS; replace @TIMESTAMP@ with + the Date tag in the ChangeLog + (TSDEPS): empty unless overridden by update-timestamps + * ltconfig.in, ltmain.in (TIMESTAMP): append timestamp to most + references to VERSION + +1999-01-22 Gary V. Vaughan + + * ltmain.in (ild): Revert the change which allowed libtool to + link libraries with dependencies on .la libs. + * NEWS: Removed reference to win32, incase 1.3 ships before + ild is ready. + * doc/PLATFORMS: Removed i686-pc-cygwin32, for the same reason. + * doc/libtool.texi: Removed win32 refs, for the same reason. + +1999-01-22 Alexandre Oliva + + * ltmain.in (Xsed): add 1 to Xsed definition that goes into + temporary wrapper scripts + * libtool.m4: we don't have Xsed here, expand it manually + Reported by Pavel Roskin + +1999-01-22 Edouard G. Parmelan + + * ltmain.in (finalize_hardcode_libdirs, finalize_rpath): in + platforms that use -rpath, programs must be finalized at + installation time, otherwise build-tree programs will + prefer installed libraries over build-tree ones + +1999-01-22 Alexandre Oliva + + * mdemo/Makefile.am (../libltdl/libtool): if it does not exist, + the sub-make for libltdlc.la will take care of it, but we must at + least provide an empty rule for it, otherwise the sub-make will + never run + + * demo/configure.in, demo/Makefile.am (DLPREOPEN): reverted; it + didn't make any difference. + +1999-01-21 Gary V. Vaughan + + * THANKS: Added Chris Laas + + From Chris Laas + * ltmain.in (compile): corrected a typo in compile mode which + caused "gcc: unrecognized option -c-fPIC" errors due to a missing + space. + +1999-01-21 Alexandre Oliva + + * libltdl/configure.in: reintroduce code to detect native library + extension + * libltdl/ltdl.c (lt_dlopen): if a .la file name is given, that's + all. Otherwise, lt_dlopen now tries to append .la first. If this + fails, it tries the given filename, and, at last, tries to append + the native library extension to the given filename. + * doc/libtool.texi (lt_dlopen): explain new lookup strategy + + * libltdl/ltdl.c: major rewrite to avoid almost all fixed-size + buffers; only `tmp' in lt_dlopen remained. But the code got ugly + :-( + + * ltconfig.in (linux-gnu*, finish_cmds): remove erroneous backslash + + * demo/configure.in: set DLPREOPEN to -dlopen if we don't have + shared libraries + * demo/Makefile.am (DLPREOPEN): use instead of -dlpreopen + (STATIC): use $(STATIC), not @STATIC@ + * mdemo/Makefile.am (STATIC): ditto + + * tests/demo-shared.test, tests/demo-static.test: new tests + * tests/mdemo-shared.test, tests/mdemo-static.test: ditto + * tests/Makefile.am: ditto + * doc/libtool.texi: document them + * demo/Makefile.am, mdemo/Makefile.am (STATIC): do not use + -static unconditionally, it can't work with --disable-static + * demo/configure.in, mdemo/configure.in: check whether libtool was + configured to build static libraries and, if not, set STATIC to an + empty string + +1999-01-20 Alexandre Oliva + + * ltmain.in (module, droppeddeps): if libtool could not satisfy + all dependencies of a module, it will only build a static version + of it, and display a warning message + +1999-01-20 Erez Zadok + + * ltconfig.in (aix4*, with_gcc, archive_cmds): fix typo in Andrey + Slepuhin's last patch + +1999-01-20 Alexandre Oliva + + * Makefile.am (@DIST_MAKEFILE_LIST@): work around Ultrix /bin/sh bug + * tests/nomode.test (must specify a MODE): ditto + Reported by Rainer Orth + * THANKS: Added Rainer Orth + +1999-01-20 Rainer Orth + + * ltconfig.in: No known version of Solaris 2 hardcoded -L paths. + +1999-01-20 Erez Zadok + + * ltmain.in: s/n\'t/ not/ + * doc/PLATFORMS: updates for sunos4/m68k and aix + +1999-01-20 Andrey Slepuhin + + * ltconfig.in (aix4*): check for reworked collect2, always pass + -bnoentry option to linker when building a shared library + +1999-01-20 Alexandre Oliva + + * ltmain.in (file_magic): follow soft-links before running `file' + on the candidate library; try to avoid entering endless loop + Suggested by Nix + + * ltconfig.in (linux*, solaris*, bsdi4*, sys_lib_search_path): + remove expansion of $LD_LIBRARY_PATH + * ltmain.in (lib_search_path): append the expansion of $shlibpath_var + * doc/libtool.texi: document it + + * THANKS: Added Steven Schultz + +1999-01-20 Steven M. Schultz + + * ltconfig.in (bsdi4*, check_shared_deplibs_method): file_magic + (bsdi4*, sys_lib_search_path): add /shlib and other dirs + +1999-01-20 Alexandre Oliva + + * cdemo/main.c (main): use K&R definition syntax + * mdemo/main.c (test_dl, main): ditto + (test_dl): casts return value of lt_dlsym to appropriate types + + * ltmain.in (dlsyms): #define const to nothing if not __STDC__ + + * ltconfig.in (global_symbol_pipe): #define const to nothing if + not __STDC__ + + * demo/dlmain.c (main): cast s->address to the appropriate pointer + types, otherwise StunOS4's cc refuses to compile it + + * ltconfig.in (sunos4*, without_gnu_ld, with_gcc, archive_cmds): + add -fPIC, because libgcc is multilibbed, and we want the PIC + version of it for shared libraries, otherwise ld complains + + * demo/dlmain.c (main): add missing const to declaration of name + + * libltdl/ltdl.c (find_module): remove the libdir argument, and + try to open library only as old_name and dir/dlname + (lt_dlopen): use `installed' variable in .la file to decide + whether to use libdir or objdir + + * demo/configure.in (AC_C_CONST): added, for portability + * mdemo/configure.in (AC_C_CONST): ditto + * libltdl/configure.in (AC_C_CONST, AC_C_INLINE): ditto + * libltdl/ltdl.c (LTDL_FILENAME_MAX): use FILENAME_MAX if defined + (FILENAME_MAX): replace all explicit uses with LTDL_FILENAME_MAX + (presym_free_symlists, trim): don't return void, for portability + (lt_dlgetsearchpath): replace (void) with __P((void)) + + * ltmain.in (compile): when compiling both PIC and non-PIC, write + the PIC object to .libs/.lo and only rename it to .lo after + compiling the .o, to avoid fooling make dependencies + + * mdemo/main.c (LTDL_PREOPENED_SYMBOLS): remove + +1999-01-20 Gary V. Vaughan + + * TODO: Added inter-library deps for ltlibs. + + * THANKS: Added Vladimir Kushnir. + +1999-01-20 Vladimir Kushnir + + * ltconfig.in (freebsd3*): Define `deplibs_check_method' and + `file_magic_command' for freebsd-elf. + +1999-01-20 Alexandre Oliva + + * TODO: should we also build a `static' copy of a convenience + library out of .o files? + + * ltconfig.in (bsdi4*, netbsd*, uts4*, library_names_spec, + soname_spec): removed duplicate dot before $major + Reported by Steven M. Schultz (bsdi4*) + + * THANKS: added Manfred Weichel + +1999-01-20 Manfred Weichel + + * ltconfig.in (sysv5*): same as sysv4.3* + +1999-01-20 Alexandre Oliva + + * libltdl/ltdl.c (lt_dlopen): properly detect error condition when + full pathname of non-libtool library is provided + + * libltdl/configure.in (libltdl_cv_preloaded_symbols, + HAVE_PRELOADED_SYMBOLS): test whether we support -dl*open + * libltdl/ltdl.c (!HAVE_PRELOADED_SYMBOLS, lt_preloaded_symbols): + define it to an empty list if libtool won't generate it, so as to + avoid link errors. This will cause silent dlopening failures, but + maybe this is better than failing to link the program... + + * libltdl/ltdl.h (LTDL_PRELOADED_SYMBOLS): remove it; better to + declare lt_preloaded_symbols + * doc/libtool.texi (LTDL_PRELOADED_SYMBOLS): ditto + + * ltmain.in (dlpredeps): removed, reverting 1999-01-17's change + +1999-01-19 Alexandre Oliva + + * libltdl/Makefile.am (Makefile): depend on libtool + + * ltmain.in (lt_preloaded_setup): function added to symbol list + source file to work around FreeBSD problem + + * Makefile.am (check-local): depend on libltdl/Makefile + + * mdemo/Makefile.am (mdemo_LDFLAGS, mdemo_LDADD): moved -dlopen + flags to LDADD + * doc/libtool.texi (Using Automake): how to add -dlopen to LDADD + +1999-01-19 Gary V. Vaughan + + From Andrey Slepuhin + * ltmain.in (hardcode_action) Oops, misapplied the patch! + + * ltconfig.in (compile_dependencylbs): removed this + variable and pick up the library dependencies from $deplibs. + * ltmain.in (compile_dependencylibs): removed this + variable, use deplibs to hold these dependencies. + + From Andrey Slepuhin + * ltmain.in (hardcode_action) make sure deplibs is set to include + all the extra libs added to compile_command. + +1999-01-18 Alexandre Oliva + + * libtool.m4 (LIBTOOL_DEPS): set it + * libltdl/configure.in (LIBTOOL_DEPS): AC_SUBST it + * libltdl/Makefile.am (libtool): use it + * doc/libtool.texi (AM_PROG_LIBTOOL): document it + + * Makefile.am (libltdl.tar.gz): don't create it as part of the + build, since it is likely to become stale if we do + (install-data-hook): create and install libltdl.tar.gz, without + depending on GNU tar + Reported by Manfred Weichel + +1999-01-17 Thomas Tanner + + * Makefile.am: added libltdl.tar.gz to CLEANFILES + * ChangeLog: some reformatting + * TODO: documentation updates + * doc/libtool.texi: added preliminary libltdl documentation, + updated dlopen and -module documentation, + renamed -avoid-versioning to -avoid-version + documented the libtool script variables compiler_c_o, + compiler_o_lo, need_locks, old_postuninstall_cmds, + postuninstall_cmds, sys_lib_search_path_spec, + fix_srcfile_path, objdir, objext, libext, + documented the two new flags (--ltdl[-tar]) of libtoolize + * libltdl/Makefile.am: incremented the version, removed + libtool dependency so that it can be build independently + * libltdl/configure.in: removed LTDL_SHLIB_EXT hack, + set version to 1.0, use AM_MAINTAINER_MODE, + DLPREOPEN is always supported, check for libtool's objdir variable + (LTDL_OBJDIR) + * libltdl/ltdl.c: some cleanups (moved constants to the beginning + of the file and prefixed all of them with LTDL_, minor optimizations + in find_file() and find_module()), renamed lt_dlpreopen* to + lt_dlpreload* for consistency, removed LTDL_SHLIB_EXT hack, + we don't need unistd.h, DLPREOPEN is _always_ supported, + reverted Alexandre's lt_dlpreopen_default_ change, + try to open the not-installed module before the installed one, + replaced lt_dlsearchpath() with lt_dladdsearchdir(), + lt_dlsetsearchpath() and lt_dlgetsearchpath() + * libltdl/ltdl.h: renamed lt_dlpreopen* to lt_dlpreload* + for consistency, removed the declaration of lt_preloaded_symbols + (should be imported by programs), + reverted Alexandre's lt_dlpreopen_default_ change and added + two new macros LTDL_PRELOADED_SYMBOLS and + LTDL_SET_PRELOADED_SYMBOLS(), + added lt_dladdsearchdir(), lt_dlsetsearchpath() and + lt_dlgetsearchpath() + * libtool.m4: some reformatting + * libtoolize.in: implemented --ltdl, bugfix when checking for + the libtool package directory + * ltconfig.in: removed $thread_safe_flags from Andrey Slepuhin's + AIX patch, renamed sys_lib_search_path to sys_lib_search_path_spec, + some reformatting, fixed typo in deplibs_check_method (unkwnon) + * ltmain.in: documented -o for compile mode, some reformatting, + renamed -avoid-versioning to -avoid-version + renamed sys_lib_search_path to sys_lib_search_path_spec + * mdemo/Makefile.am: use -avoid-version + * mdemo/main.c: use LTDL_PRELOADED_SYMBOLS and + LTDL_SET_PRELOADED_SYMBOLS() + +1999-01-17 Alexandre Oliva + + * ltconfig.in (wlarc): set to either '${wl}' or an empty string, + depending on whether archive_cmds runs CC or LD + (gnu_ld=yes, whole_archive_flag_spec): "$wlarc" instead of '${wl}' + + * mdemo/Makefile.am (../libltdl/libltdlc.la): depend on + ../libtool, because ../libltdl/libtool depends on it + (mdemo_debug_*): copy from mdemo_*, adding -static to LDFLAGS + + * ltmain.in (dlpredeps): append dependencies from dlopened modules + (but not dlpreopened ones) after all explicitly linked libraries + + * ltconfig.in (need_lib_prefix, need_version, + deplibs_check_method): default to unknown, so that we're + remembered that this needs porting; unknown is interpreted as yes, + yes and none, respectively + (freebsd2*, freebsd3*, sunos4*, need_version): set to yes + (freebsd2*, freebsd3*, library_names_spec): libraries without a + version number are not used by `ld'; add $versuffix; + Reported by Ben Jackson + * ltmain.in (deplibs_check_method): alias unknown to none + (need_version): if vinfo was not provided and release info was, + zero out versuffix only if we don't need_version. + * doc/libtool.texi: document what `unknown' means + + * libltdl/ltdl.h (lt_dlpreopen_default): reverted to a macro + without arguments, that calls lt_dlpreopen_default_ with + lt_dlpreloaded_symbols + * libltdl/ltdl.c (lt_dlpreopen_default_): renamed from + lt_dlpreopen_default + (find_module) tryall_dlopen old_name first, so that we don't + override statically linked symbols with dlopened ones + +1999-01-15 Gary V. Vaughan + + From Andrey Slepuhin + * libtoolize.in (cd $pkgdatadir): Make sure we return the the + working directory when this is done. + + From Andrey Slepuhin + * ltconfig.in (aix): Use shared library support correctly on + aix4*, and tweak the config for aix3. + * NEWS: added aix3 and aix4 to list of hosts with improved + support. + * THANKS: added Andrey Slepuhin . + +1999-01-15 Thomas Tanner + + * Makefile.am (@DIST_MAKEFILE_LIST@): added a second '$' + before abs_scrdir, removed ltconfig and ltmain.sh from + EXTRA_DIST (automake distributes them by default) + +1999-01-14 Thomas Tanner + + * autogen: moved faking of the libtool scripts before + the call of automake, so that ltconfig and ltmain.sh + are included in the distribution + * ltconfig.in: when checking whether PIC is supported assume + only on HP/UX that warnings during compilation mean that + PIC is not supported (Thanks to Ron O'Hara) + * THANKS: added Ron O'Hara + +1999-01-14 Alexandre Oliva + + * Makefile.am: Moved ltconfig and ltmain.sh back into srcdir, and + add them to the distribution. Added work-around if `mv -f' fails. + fix @AINCLUDE_M4_LIST@ and @DIST_MAKEFILE_LIST@ for relative and + absolute specifications of srcdir + +1999-01-14 Thomas Tanner + + * libltdl/ltdl.c: added variable symbol prefix, added user-defined + library search path (can be set using lt_dlsearchpath()), + added default_preloaded_symbols which are independent of + lt_dlinit/exit + * libltdl/ltdl.h: added lt_dlsearchpath() and + lt_dlpreopen_default() + * mdemo/Makefile.am: use -export-dynamic until libtool + and libltdl are able to handle module dependencies + +1999-01-14 Gary V. Vaughan + + * THANKS: added Mark Elbrecht. + * ltconfig.in (PATH_SEPARATOR): new variable to hold valid $PATH + separator characters for the build host, to support DJGPP + environment. + * ltconfig.in: Use PATH_SEPARATOR instead of hardcoded `:'. + Reported by Mark Elbrecht + + * cdemo/README: typo: mdemo->cdemo + +1999-01-14 Thomas Tanner + + * autogen: fake the libtool scripts to help fixing + the bootstrapping problem + * Makefile.am: always configure libltdl, however after building + the libtool scripts, + build the libtool scripts in builddir, not srcdir + (unfortunately this breaks building when srcdir!=objdir, + but it was just plain wrong - needs to be fixed), + build and install libltdl.tar.gz, + copy acinclude.m4 instead of linking them, so that we + can 'make dist' in libltdl, + fixed configuring of subdirectories + * configure.in: removed --enable-ltdl-install - libltdl is supposed + to be installed by packages, not by libtool itself + * libtoolize.in: new flags --ltdl and --ltdl-tar to install libltdl + in packages (--ltdl doesn't work yet), + install only the necessary libtool scripts, not just all + files in pkgdatadir + * mdemo/Makefile.am: removed the rule for libltdl configuration + +1999-01-13 Alexandre Oliva + + * mdemo/Makefile.am (../libltdl/libtool): mkdir and configure + ../libltdl + +1999-01-13 Thomas Tanner + + * demo/dlmain.c, libltdl/ltdl.c, ltconfig.in, ltmain.in, + doc/libtool.texi: renamed dld_preloaded_symbols to + lt_preloaded_symbols, symbol lists are 'const' + * cdemo/configure.in: don't check for string.h + * demo/dlmain.c: renamed dld_symlist to lt_symlist, + preloaded symbols are 'const', use lt_ptr_t instead of void* + * demo/foo.h: define lt_ptr_t + * doc/libtool.texi: document lt_preloaded_symbols correctly + * libltdl/Makefile.am, mdemo/Makefile.am: renamed libtest to libltdlc + * libltdl/ltdl.c: fixed some minor typos, renamed dldpre to presym, + bugfix: search in search_path only if we have no directory + and a search_path, in lt_dlsym() check whether symbol != 0 + * libltdl/ltdl.h: removed lt_dlpreopen_default() + * ltconfig.in (dlpreopen): removed dld_preloaded_symbol_count + * ltmain.in: added help for -avoid-versioning, -export-symbols, + -module, add @SYMFILE@ if one of -export-dynamic, -dlopen or + -dlpreopen is used + * mail/deplibs.html: added Gordon Matzigkeit's inter-library + dependencies article + * mdemo/Makefile.am: removed -export-dynamic from LDFLAGS + (no longer necessary, since libtool defines lt_preloaded_symbols + when -dlopen is used), initialize with lt_preloaded_symbols + +1999-01-13 Alexandre Oliva + + * doc/libtool.texi (Test descriptions): cdemo-static works, thanks + to Edouard Parmelan! + + * THANKS: added Sebastian Wilhelmi + + * ltconfig.in (solaris): define `need_version' to no + +1999-01-13 Sebastian Wilhelmi + + * ltconfig.in (solaris): Define `deplibs_check_method', + `file_magic_command', `need_lib_prefix' and `sys_lib_search_path' + * ltmain.in (file_magic_regex): Add space before matching pattern, + such that it works on solaris (solaris has a tab between the + library name (including the colon) and the `ELF' and such the + `ELF' will never be matched). + +1999-01-13 Edouard G. Parmelan + + * ltconfig.in (NM): PATH search was not updated like in + libtool.m4, in last Alexandre Oliva's change to it + (sysv4*, ncr): pass all library dependencies + * ltmain.in (dependency_libs, -R): use `deplib' instead of `arg' to + iterate, otherwise we'd overwrite `arg' + (convenience, old_libs): if --disable-shared, convenience + libraries are just old archives, as .lo's are of no use + * tests/cdemo-static.test: print --disable-shared here + +1999-01-13 Alexandre Oliva + + * libltdl/configure.in (libltdl_cv_shlibext, LTDL_SHLIB_EXT): + system-dependent extension of shared libraries + (libltdl_cv_shlibpath_var, LTDL_SHLIBPATH_VAR): system-dependent + run-time shared library search path + * libltdl/ltdl.c (dldpre_init, dldpre_exit): unrelate init/exit + from add/remove symlists, so one may add dld_preloaded_symbols + from main(), when only a library will call dldpre_init + (lt_dlopen): use LTDL_SHLIBPATH_VAR, if defined, as secondary + search path. Also, if a requested .la file cannot be found, try + with the LTDL_SHLIB_EXTension instead. + + * ltmain.in (old_archives, oldobjs): use find to SYMDEF here too + + * Makefile.am (@DIST_MAKEFILE_LIST@): `$' must be doubled + + * configure.in (AC_CONFIG_DIRS): configure only libltdl, and then, + only if --enable-ltdl-install + (CONF_SUBDIRS): list directories that are configured on demand, + but that must be included in the distribution + (ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS + * Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and + readme-alpha, to handle README-alpha automatically + (EXTRA_DIST): removed README-alpha + (BUILD_SUBDIRS): subdirectories that are always built + (SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL + (DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure + (all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from + configure, and libtool, so that it is built before subdirs + (configure-subdirs): new target + (configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST), + from configure + (@DIST_MAKEFILE_LIST@): create subdir if needed, then run + configure. + On-demand configuration of subdirs at distribution time was + suggested by Gary V. Vaughan + + * libtool.m4, ltconfig.in (NM): search for NM in PATH before + /usr/ccs/bin, /usr/ucb and /bin. However, if the found one isn't + BSD-compat keep searching. If no BSD-compat is found, use the + first we found. + + * THANKS: added Raffaele Sena + +1999-01-13 Raffaele Sena + + * libltdl/ltdl.c: replaced RTDL with RTLD + +1999-01-13 Manish Singh + + * ltconfig.in (osf3*, osf4*, irix6*): include + ${libname}{release}.so for library_names_spec + +1999-01-13 Alexandre Oliva + + * configure.in (AC_CONFIG_SUBDIRS): added cdemo + * Makefile.am (DIST_SUBDIRS): ditto + (ACINCLUDE_M4_LIST): ditto + * tests/Makefile.am (TESTS): added cdemo-shared.test + * tests/cdemo-static.test: disable shared libraries here + * tests/cdemo-shared.test: disable static libraries here + * doc/libtool.texi (Test descriptions): added cdemo tests + * THANKS: added Edouard G. Parmelan + +1999-01-13 Edouard G. Parmelan + + * ltmain.in: fix convenience libraries when static libraries + are disables. + * cdemo/README, cdemo/Makefile.am, cdemo/configure.in, cdemo/foo.h, + cdemo/foo1.c, cdemo/main.c, cdemo/.cvsignore, test/cdemo-conf.test, + test/cdemo-make.test, test/cdemo-exec.test, test/cdemo-static.test: + new tests for convenience libraries. + * autogen, Makefile.am, test/Makefile.am: ditto. + + * ltconfig.in, doc/PLATFORMS: Added support for NCR MP-RAS + (i586-ncr-sysv4.3*) with native compiler. + * README, doc/libtool.texi: Added note for NCR MP-RAS compiler. + +1999-01-12 Thomas Tanner + + * ltmain.in: before using LN_S remove the symlink + * libltdl/ltdl.c: support multiple symbol lists, moved library- + and file searching to separate functions, renamed "preload_libs" + to "dl_dependency_libs", set the LT_SYMBOL_OVERHEAD to the correct + value (7), fix to support lt_dlsym() for not-libtool modules again, + check for invalid handles, when using strdup() check whether + it fails + * libltdl/ltdl.h: declare the lt_dlsymlist type for lt_dlpreopen() + * mdemo/README: rewritten + * mdemo/configure.in: check only for math.h (string.h is no longer + necessary) + +1999-01-12 Gary V. Vaughan + + * configure.in (ltdl-install): Fixed up the indentation so that + `configure --help' is pretty again. + +1999-01-11 Alexandre Oliva + + * ltmain.in, NEWS, doc/libtool.texi: Added support for -R flag + * ltmain.in, doc/libtool.texi: documented that -rpath is the same + as -R for programs + * ltmain.in: softened the instructions for linking with installed + libraries, and noted that libtool can be used to link with them; + documented that -rpath is not required for convenience libraries + + * ltconfig.in (symxfrm): don't print $pipe_works twice, once for + each $ac_symprfx + Reported by Godmar Back + + * ltmain.in (convenience, libobjs): get only .o and .lo files from + the files extract from the convenience library. Some systems, + such as FreeBSD2, will add a SYMDEF file, that is not an object + file, and therefore should not be fed to the linker + + * libtool.m4 (AM_SYS_NM_PARSE): while we are at it, we may well + cache the value of ac_cv_sys_symbol_underscore + + * libtool.m4 (AM_SYS_NM_PARSE): need for underscore prefix is now + auto-detected, by trying first without, then with it. + + * ltconfig.in: ditto + +1999-01-10 Alexandre Oliva + + * configure.in (AC_CONFIG_SUBDIRS): add libltdl, demo, mdemo and + depdemo commented out, so that `dist' works before `check' + (BUILD_LTDL): will contain libltdl if --enable-ltdl-install + * Makefile.am (DIST_SUBDIRS): expand SUBDIRS and add depdemo, + commented out + (SUBDIRS): add $(BUILT_LTDL) + * libltdl/Makefile.am (EXTRA_LTLIBRARIES): add libtest.la, the + same as libltdl but always a convenience library. Not built by + default. Both libraries now depend on the libtool script, that + depends on ../libtool and is rebuilt when needed + * mdemo/Makefile.am (mdemo, mdemo.debug): depend on and link with + ../libltdl/libtest.la, that is rebuilt if needed + (mdemo_LDADD): removed $(LIBADD_M), to avoid silent failures + (foo1.la): renamed from libfoo1.la; test removing the lib prefix + * mdemo/foo1.c: renamed libfoo1_LTX symbols to foo1_LTX + * mdemo/main.c: don't include string.h nor math.h, nor refer to + sin nor cos + * tests/mdemo-exec.test: renamed libfoo1.la to foo1.la + * tests/mdemo-inst.test: ditto + + * libltdl/ltdl.c (FILENAME_MAX): use it instead of MAX_FILENAME, + and don't redefine it if already defined; default to 1024, as on + most systems + (LT_SYMBOL_LENGTH): renamed from MAX_SYMBOL_LENGTH + (LT_SYMBOL_OVERHEAD): new macro, that accounts for the size of + the _LTX_ separator and the initial underscore + (lt_dlsym): sym now points to a stack buffer (lsym) if possible, + or is dynamically allocated. If allocation fails, a + buffer_overflow_error is returned. + +1999-01-10 Thomas Tanner + + * ltmain.in: define dld_preloaded_symbols if at least one of + -export-dynamic, -dlopen or -dlpreopen was specified, + do not include program objects in the symbol list + if -export-dynamic was not enabled + * libltdl/ltdl.c: limit symbols to max. 256 bytes + * mdemo/Makefile.am: build libltdl in a subdirectory, + do not use -export-dynamic for mdemo and mdemo.debug + * tests/mdemo-conf.test,tests/mdemo-make.test,tests/mdemo-inst.test: + do not check for libltdl + +1999-01-09 Alexandre Oliva + + * libltdl/ltdl.c (lt_dlopen): missing strlen in bound test + +1999-01-09 Thomas Tanner + + * NEWS: support for BSD/OS 4.x was not documented + * demo/Makefile.am: link against libm only if available + * mdemo/Makefile.am: likewise, use -avoid-versioning flag + instead of -avoid-version (typo) + * demo/configure.in: check for libm, string.h and math.h + * mdemo/configure.in: likewise + * depdemo/configure.in: check for libm and math.h + * libltdl/configure.in: check for dlerror + * libltdl/ltdl.c: check for buffer overflows, implemented + dlerror, fixed a severe bug which occured when opening + non-libtool modules, dlopen with the flags GLOBAL and NOW + * mdemo/main.c: report the error using lt_dlerror() + +1999-01-08 Gary V. Vaughan + + * doc/libtool.texi (old_archive_from_new_commands): Documented + this ltcofig variable. + +1999-01-07 Gary V. Vaughan + + * ltmain.sh (cygwin, allow_undefined): Unfortunately, there are + problems with this variable when trying to make a dll which has + undefined symbols, in which case not even a static library is + built. For now, we need to specify -no-undefined on the libtool + link line when we can be certain that all symbols are satisfied, + otherwise we get a static library. + +1999-01-06 Thomas Tanner + + * ChangeLog: merged in tests/ChangeLog + * tests/ChangeLog: deleted + * libltdl/ltdl.c: assigned copyright to the FSF + * libltdl/ltdl.h, mdemo/foo*,main.c: likewise + +1999-01-06 Gary V. Vaughan + + * ltmain.in (dllsearchpath): add absolute directory paths to + dllsearchpath so that the wrapper scripts can be called from any + directory (e.g. tests) on cygwin. + + * ltconfig.in (cygwin, library_names_spec): revert Alexandre's + change from yesterday to use `-dll.a' suffix. That change caused + $libname-dll.a to be a symlink to $soname, which isn't even an + `ar' archive. Before the import library suffix can be changed, we + need to figure out how to handle building objects differently for + linking with an import library versus an equivalent static library. + + * TODO: Added details of a Linux wrapper script bug. + Reported by Jeff Garzik . + +1999-01-05 Alexandre Oliva + + * ltmain.in (libobjs_save, oldobjs): when building an + old-fashioned archive, use a copy of libobjs saved before + convenience libraries are appended + + * libltdl/ltdl.h (_LTDLL_EXPORT, _LTDLL_IMPORT): use cygwin or + unix library import/export primitives; this may be convenient for + people willing to create DLLs + (_LTDLL_EXTERN): select _LTDLL_EXPORT or _LTDLL_IMPORT depending + on _LTDL_COMPILE_ + * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlpreopen): new function, + that replaces the current preloaded_symbols list with its + argument, and returns the old value, initially NULL + (dldpre_init): don't refer to dld_preloaded_symbols any more + (dldpre_open, dldpre_sym): search preloaded_symbols + (lt_dlpreopen_default): call lt_dlpreopen with + dld_preloaded_symbols, that is declared as extern; it should be + called from the main program or from some static library without + -no-undefined + (lt_dlerror): new function, that returns the error message for the + last error occurred; the error message is kept in the static + variable last_error + * libltdl/configure.in (enable-ltdl-install): moved back from + enable-install; other packages might use enable-install already, + better have fine grained control over this. + * libltdl/Makefile.am (libltdls.la): discarded + +1999-01-05 Thomas Tanner + + * configure.in: do not configure libltdl by default + * Makefile.am: do not build libltdl by default + * libltdl/Makefile.am: ltdls.lo depends on libtool + * tests/Makefile.am: before starting the tests + make sure that libtool was build + * tests/mdemo-conf.test: configure libltdl + * tests/mdemo-make.test: build libltdl + +1999-01-05 Alexandre Oliva + + * ltmain.in (SP2NL, NL2SP): Don't delete empty lines, as this + would lose for files with embedded blanks. + + * ltconfig.in (cygwin, archive_cmds, archive_sym_cmds): Moved + ltdll.c into ltmain.in, to avoid its duplication, and added a sed + script to extract it. Also, create def and base files in $objdir, + and don't remove them after the compilation. + (cygwin, library_names_spec): Create static part of the dll with + suffix -dll.a, to avoid conflicts with actual static libraries. + * ltmain.in: Added ltdll.c, as commented out text + +1999-01-01 Thomas Tanner + + * NEWS: new BeOS support + * THANKS: added Joseph Beckenbach + * libltdl/ltdl.h: use dllimport/export on Win32 + +1998-12-31 Joseph Beckenbach III + + * ltconfig.in: added support for BeOS + * ltmain.in (shlibpath_var): added a workaround for + an odd bug in the BeOS R4 sed + +1998-12-31 Thomas Tanner + + * verified all copyright notices + and updated them to 1999 + * TODO: added some things that need to documented + * doc/libtool.texi: -export-symbols is not + supported on all platforms + * doc/PLATFORMS: added a few new platforms + +1998-12-30 Thomas Tanner + + * NEWS: updated + * THANKS: added Todd Vierling + +1998-12-30 Todd Vierling + + * ltconfig.in: improved shared object handling on both + a.out and ELF platforms for NetBSD + +1998-12-29 Thomas Tanner + + * ltconfig.in: do not rely on a leading space when concatenating + variables as suggested by Erez Zadok + * ltmain.in: likewise + * doc/PLATFORMS: updated and reformatted + (thanks to Erez Zadok for the testing) + +1998-12-27 Thomas Tanner + + * THANKS: added Erez Zadok + +1998-12-26 Erez Zadok + + * ltconfig.in: support i486-ncr-sysv4.3.03 + shared libraries. + + * ltmain.in: before every ln -s, remove the link name + +1998-12-25 Thomas Tanner + + * depdemo/configure.in: removed last relics of demo + * depdemo/sysdep.h: ditto + * mdemo/Makefile.am: ditto + * libltdl/Makefile.am: fixed the version number, build libltdls if + -enable-install and -enable-dlpreopen are enabled + * libltdl/configure.in: libltdl is version 0.1, not 1.0, + renamed -enable-ltdl-install to -enable-install, + conditionals for libltdls, check for strchr and index, + replaced NULL with 0 + * libltdl/ltdl.c: replaced NULL with 0, dlpreopen only if + USE_DLPREOPEN was defined, integrated shl_load code from GModule + (still untested) + +1998-12-24 Gary V. Vaughan + + * libltdl/configure.in: fixup spacing in --enable-ltdl-install + help string so that it lines up nicely for configure --help. + + * ltmain.in (dllsearchpath): keep track of what the dll search path + will need to be in the wrapper scripts as deplibs are calculated. + Make sure the wrapper script doesn't end in `.exr', which makes + win32 try to execute it as a binary! + Add the contents of dllsearchpath to $PATH in the wrapper script. + Use the relative path to the wrapped program so that the dll + search path is calculated properly by win32 OSes. + * TODO: removed the item for making wrapper scripts work on win32. + + * TODO: removed the reference to making libltdl and demo work on + win32. They *do* work now that wrapper scripts are functioning. + + * ltmain.in (file_magic_command): It turns out that if the + file_magic_command generates huge output (e.g. running `objdump + -f' over a large import lib [say libX11.a]) the expr to check it + against the file_magic_regex blows up. There is now an optimistic + heuristic, to save only the first 10 lines of running + file_magic_command which (at risk of sounding like Bill) should be + enough for anyone =)O|. + + * ltmain.in: Set the compile_dependencylibs and dllsearchpath for + non-libtool libs, or else libdeps only works between ltlibs for + cygwin32. + +1998-12-23 Alexandre Oliva + + * ltmain.in (SP2NL, NL2SP): use `tr' magic to avoid passing very + long lines to sed + * doc/libtool.texi (sed): very long lines are no longer a problem + + * libltdl/Makefile.am: install libltdl conditionally... + * libltdl/configure.in: ... if --enable-ltdl-install is issued + * libltdl/ltdl.c: removed #ifdef DEBUG + * mdemo/Makefile.am (mdemo_debug_LDADD, mdemo_debug_DEPENDENCIES): + use libltdl.la + +1998-12-23 Gary V. Vaughan + + * doc/PLATFORMS: added my cygwin32 box (i686-pc-cygwin32). + + * TODO: remind myself of the win32 tasks remaining. + + * ltconfig.in (archive_cmds, archive_sym_cmds, + old_archive_from_new_cmds): Fixed a bug which left an a.exe in the + build directory. Fixed a bug where $soname-def was never deleted. + + * ltconfig.in (file_magic_command): new variable holds the command + (including any args) to run to generate the string to match + against the regex in $file_magic. Use the variable where + necessary. Added to libtool header output. + (deplibs_check_method): use file_magic for win32, but compare the + output of `objdump -f' with the regex (see below). + (archive_cmds, archive_sym_cmds): use compile_dependencylibs for + each $CC invokation (see below). + + * ltmain.in: Set allow_undefined to `no' for win32 variants by + default, otherwise it is impossible to link a dll without forcing + the makefile maintainer to figure out whether to pass + --no-undefined at every libtool invokation. + (compile_dependencylibs): save the list of dependency library + flags needed for a deplib build on win32. + (link_against_libtool_libs): commented out the check for this; if + it is left in, then ltlibs (i.e. *.la files) cannot be deplibs for + subsequent links. + Don't add -lc to the deplibs line for win32 platforms (which don't + have a libc as such). + (file_magic_command): use this to get some output to compare with + the file_magic regex (instead of hardcoding `file' which doesn't + exist on win32. + * doc/libtool.texi (Porting inter-library dependencies): Updated + to document the changes above. + + * ltconfig.in (deplibs_check_method): Changed the file_magic regex + to match more linux variants. This is less lenient than Thomas + Tanner's commit to fix the same problem below. + Reported by Joel Klecker + * THANKS: added Joel Klecker + +1998-12-23 Thomas Tanner + + * ltconfig.in: fixed file-magic for Linux shared libraries + * ltmain.in: removed the unused -force-static flag + * libltdl/ltdl.c: added strchr, search modules in LTDL_LIBRARY_PATH, + check whether actual module was already dlopened, + read in preload_libs rather than dependency_libs + +1998-12-23 Thomas Tanner + + * libltdl/Makefile.am: build two versions of libltdl: + libltdl (support native dlopen if available, otherwise dlpreopen), + libltdls (like libltdl, but always support for dlpreopen) + * libltdl/ltdl.c: ditto + * libltdl/configure.in: warn if dlopen is not supported + * mdemo/Makefile.am (mdemo.debug): use libltdls + +1998-12-22 Gary V. Vaughan + + * ltconfig.in: revert Thomas Tanners change to create all + libraries without the `lib' prefix on win32, otherwise `gcc foo.c + -lbar' can't find libbar.a. + +1998-12-22 Alexandre Oliva + + * Makefile.am (SUBDIRS): prepend `.' to avoid am-recursive + dependency hack + +1998-12-21 Thomas Tanner + + * ltconfig.in: indentation is now 8 character wide tabs + * ltmain.in: ditto + * ChangeLog: ditto + * ltmain.in: renamed check_shared_deplibs_method to + deplibs_check_method (we_dont_want_too_long_variable_names :) + * doc/libtool.texi (Porting inter-library dependencies): ditto + * depdemo/.cvsignore: renamed hell* to depdemo*, added *.lo,*.la + * mdemo/.cvsignore: ditto + +1998-12-21 Gary V. Vaughan + + * libtool.m4 (AM_SYS_NM_PARSE): apparently __ptr_t is predefined + on some systems - use lt_ptr_t instead. + * ltconfig.in: ditto. + * ltmain.in: ditto. + + * libtool.m4 (AM_SYS_SYMBOL_UNDERSCORE): use an AC_SUBST to pass + the result of this into the compile rather than AC_DEFINE which + breaks when building with older versions of autoconf. + * ltconfig.in (symxfrm): Don't put the leading underscore back + with the global_symbol_pipe. + * demo/dlmain.c (main): No need to specialcase underscores in + dld_preloaded_symbols - it is fixed by symxfrm above! + * libltdl/configure.in: use AM_SYS_SYMBOL_UNDERSCORE from + libtool.m4 rather than reinvent the wheel here =)O| + + * ltmain.in: Fix deplibs methods to not rely on a.out (cygwin + uses a.exe!). + + * libltdl/configure.in: Cleanups - fix header comment and emacs + local-vars. + + * demo/dlmain.c (win32_force_data_import_address): a nasty hack + to force the address of imported data symbols into + dld_preloaded_symbols on win32, which does data imports + differently to function imports (sheesh!). This functionality + needs to be moved into the dld_preloaded_symbols generation code. + demo/helldl with static linking is broken on win32 by this change, + probably until after libtool-1.3 =(O| + * demo/foo.h: make sure __CYGWIN32__ is always defined on cygwin32 + systems. Use the correct __declspec macro for lib exports/imports + on cygwin32. + * demo/foo.c, demo/hello.c: Make sure we tell foo.h that these + sources are inside libfoo, and want to export symbols. + +1998-12-20 Thomas Tanner + + * autogen: configure demo, depdemo, libltdl and mdemo + * tests/mdemo-exec.test: renamed hell* to mdemo* + * tests/mdemo-inst.test: ditto + +1998-12-19 Thomas Tanner + + * libltdl/Makefile.am: build a normal libtool library + * libltdl/ltdl.c: get LTDL_LIBRARY_PATH but don't make use of it yet, + some reformatting + * ltmain.in: fixed a bug which listed symbols in + dld_preloaded_symbols twice + * TODO: removed symbol export lists and deplibs + +1998-12-18 Thomas Tanner + + * ltconfig.in: added need_lib_prefix and need_version, + which determine whether we must prefix modules with 'lib' + and whether versioning is required for libraries. + * ltmain.in: allow modules names without 'lib' prefix, + new -avoid-versioning option + * doc/libtool.texi (link flags): updated documentation for -module, + added -avoid-versioning + * doc/libtool.texi (libtool script contents): + documented the two new flags and archive_sym_cmds + * doc/libtool.texi (tests): + added (partially very short) documentation for assign.test, + nomode.test, quote.test, sh.test + * libltdl/ltdl.c: canonicalize module names, + some cleanups and bugfixes, __ptr_t is predefined on + some systems - use lt_ptr_t instead + * mdemo/: renamed hell* to mdemo* (hell is already used in + demo), updated the documentation, import sin and cos in main + program rather than linking libfoo1 statically + +1998-12-17 Gary V. Vaughan + + * libtool.m4 (AM_PROG_LIBTOOL): Added AC_PREREQ(2.12) to prevent + people using libtool with old autoconfs that don't provide the + features we need. + +1998-12-16 Alexandre Oliva + + * NEWS, configure.in, libtool.spec: Bumped to 1.2e for CVS + + * NEWS, configure.in, libtool.spec: Bumped to 1.2d for release + + * Makefile.am (cvs-dist): our release tags are in lower case + (cvs-diff): ditto + (EXTRA_DIST): added README-alpha + * README-alpha: minor adaptations + * demo/Makefile.am, mdemo/Makefile.am, depdemo/Makefile.am: + removed comment about special needs for distribution + * depdemo/Makefile.am: don't generate dependencies + * depdemo/configure.in: modified version number + + * ltmain.in (-force-static, force_static): removed + * libltdl/Makefile.am (CFLAGS): ditto + * libltdl/configure.in: check for memory.h, rindex() and + dlpreopening. Fixed NEED_USCORE caching policy. + * libltdl/ltdl.h (lt_dlsym): make the name argument const + * libltdl/ltdl.c (types): new variable: head of list of available + dlopening mechanisms + (lt_dltype_t): interface of a dlopening mechanism, with pointers + to functions for init, exit, open, close and sym + (lt_dlhandle_t): added pointer to interface type + (strdup): don't name it strdup; it can be troublesome + (strrchr): ditto; use rindex if available + (LIBTOOL_STATIC): check HAVE_DLPREOPEN instead, and move to the + end of the file, so that it becomes the header of the list + (all): renamed all interface-implementation functions, to avoid + name clashes, and created lt_dltype_t nodes for all of them + (lt_dlinit): initialize all available interfaces; remove those + that fail from the list. Return failure only if no interfaces + could be initialized. + (lt_dlexit): return number of failures + (tryall_dlopen): try to open the library with all available + interfaces + (lt_dlopen): use tryall_dlopen; increased size of fixed buffers. + We should probably make these bound-checked or dynamically + allocated for the final release! Fix bug when filename did not + contain slashes; should we check for `\\' too? Try old_library if + everything else fails. + (lt_dlclose): use the interface type for closing + (lt_dlsym): make `symbol' const, use interface type for looking up + * mdemo/Makefile.am: moved mdemo/modules/* back into mdemo + (SUBDIRS): removed + (libfoo2_la_LDFLAGS): added -static; nice test. However, since it + causes -lm to linked into hell*, it causes tests that should fail + to pass + (noinst_HEADERS): no need to install foo.h + * mdemo/configure.in: remove modules/Makefile + tests/mdemo-exec.test: updated accordingly + + * NEWS: Added Thomas Tanner and Gary V. Vaughan to the list of new + maintainers. Detailed expected failures of libltdl+mdemo. Listed + recent ports. Added full URL for the home page. Note that + libtool C program is unusable. + +1998-12-16 Bruno Haible + + * doc/libtool.texi (Tested platforms): broken `sed' programs + +1998-12-16 Alexandre Oliva + + * THANKS: added Stephan Kulow; removed Gary V. Vaughan and Thomas + Tanner, now that they're AUTHORS + +1998-12-16 Stephan Kulow + + * ltmain.in (freebsd-aout, freebsd-elf): added missing dot to + versuffix + +1998-12-16 Alexandre Oliva + + * libltdl/Makefile.am (EXTRA_DIST): removed, nothing needed + (libtool): automatically update + + * libltdl/configure.in (stdlib.h, unistd.h, stdio.h): check + * libltdl/ltdl.c: include them + + * demo/configure.in (BINARY_HELLDL): test whether dlopen is + supported at configure time + * demo/Makefile.am (helldl): use automake conditionals to build + helldl as a script or as a binary program + + * tests/Makefile.am (EXTRA_DIST): remove ltdl-*.test + (clean-local): don't clean libltdl any more + * tests/ltdl-conf.test: removed + * tests/ltdl-inst.test: ditto + * tests/ltdl-make.test: ditto + * tests/ltdl-unst.test: ditto + * tests/mdemo-make.test: updated accordingly + * tests/mdemo-inst.test: ditto + * tests/mdemo-unst.test: ditto + * doc/libtool.texi: ditto + + * ltmain.in (-DSTATIC): changed to -DLIBTOOL_STATIC, and defined + only for -force-static; it should be removed soon, before people + start to use it + + * configure.in (AC_CONFIG_SUBDIRS): added libltdl + * Makefile.am (SUBDIRS): build libltdl by default + (DIST_SUBDIRS): simplify distribution of demo and mdemo + (libtool, clibtool, libtoolize, ltconfig, ltmain.sh): add + srcdir where appropriate + (ACINCLUDE_M4_LIST): new rule for maintaining links from + acinclude.m4 to libtool.m4 + (*demo/Makefile.in): don't update autoconf/automake files any + more; make check is needed + +1998-12-14 Gary V. Vaughan + + * ltconfig.in (archive_cmds): tweaked for cygwin b18->b20.1 + compatibility and fixed a bug with generating the export + definitions file. This is only tested on b20.1, but should + work back to b18 at least. + +1998-12-11 Thomas Tanner + + * ltmain.in: -module implies now -export-dynamic, + dlpreopen files if we're linking statically + * doc/libtool.texi (link flags): added documentation for -module + and the tests for mdemo and libltdl + * mdemo/Makefile.am: replaced -dlpreopen with -dlopen + +1998-12-09 Alexandre Oliva + + * PORTING: removed the text Akim Demaille converted to .texi + +1998-12-09 Akim Demaille + + * doc/libtool.texi: converted inter-library dependencies + instructions from PORTING + +1998-12-09 Alexandre Oliva + + * ltmain.in (convenience, deplibs): propagate dependencies + * libltdl/Makefile.am (noinst_HEADERS): don't install ltdl.h yet + (noinst_LTLIBRARIES): ditto for libltdl.la + +1998-12-08 Gary V. Vaughan + + * README-alpha: adapted the release procedure from + automake/HACKING. + * Makefile.am: adapted the cvs-dist and cvs-diff rules from + automake/Makefile.am. I guess this is probably safe to use + already, but I didn't test it as it tags the CVS tree. If + it needs tweaking, we'll find out come 1.2d. + +1998-12-08 Thomas Tanner + + * ltconfig.in: fixed some typos in archive_sym_cmds + * ltmain.in: replaced basename with a sed expression + +1998-12-07 Alexandre Oliva + + * configure.in: we no longer use PRCS + + * doc/libtool.texi (author): listed all the AUTHORS + (Dlopen issues): added reference to libltdl, still undocumented + (C++ libraries): it's not *that* simple, after all :-( + (Inter-library dependencies): they're back! + +1998-12-04 Alexandre Oliva + + * libtool.m4 (ac_cv_sys_symbol_underscore): `test a == b' doesn't + work, use `test a = b' instead + + * Makefile.am (mdemo_distfiles): libfoo[12].sym no longer exist + + * ltconfig.in (solaris): do not use $CC for linking if GNU ld is + not available + +1998-12-04 Manfred Weichel + + * ltconfig.in: Port to SCO UnixWare 7.x. + +1998-12-03 Thomas Tanner + + * ChangeLog: converted CR/LF back to CR format + * ltconfig.in: new variable sys_lib_search_path for searching + of installed libraries, export archive_sym_cmds and + sys_lib_search_path + * ltmain.in: use sys_lib_search_path, removed extradeplibs + (they're not portable) + +1998-12-02 Gary V. Vaughan + + * libltdl/configure.in: look for string.h or else strings.h, and + also check for ANSI strrchr() function. Fix `undescore before + symbols' macro to not rely on a.out (cygwin uses a.exe!). Fix + `underscore for dlsym' to set cache variable properly, not just in + environment of AC_DEFINE(NEED_USCORE). + * libltdl/ltdl.h (__ptr_t): for K&R compatibility using char*. + * libltdl/ltdl.c (strrchr): fallback function incase none is + defined in libc. + (trim, ltdlopen): replace rindex with ANSI strrchr. + Add static function declarations so that we get type checking with + ANSI compilers. Use __ptr_t instead of void*. + +1998-12-01 Thomas Tanner + + * ltconfig.in: added -export-symbols support for GNU ld and + Solaris (untested), archive_sym_cmds for -export-symbols + * doc/libtool.texi, ltmain.in: -export-symbols is now + independent from -export-dynamic and does not work for modules + anymore + * ltmain.in: added some checks for -export-symbols + * mdemo/modules/Makefile.am: replaced -export-symbols with + -export-dynamic since it doesn't work for modules + +1998-12-01 Gary V. Vaughan + + * README: Updated homepage pointer to gnu libtool page. + + * ltconfig.in (ltdll.c): update the ltdll.c file for cygwinb20. + Based on code from Mumit Khan . + (archive_cmds): correct typo libtool.c->ltdll.c. Update shell + commands for cygwin32. + + * libtool.m4 (AM_SYS_SYMBOL_UNDERSCORE): New macro; find out + whether compiled symbols have an extra leading underscore. + (AM_SYS_NM_PARSE): New macro (converted to m4 from ltconfig.in); + find a sed expression to parse global symbols from the output of + $NM. + (AM_PROG_LIBTOOL): require AM_SYS_NM_PARSE and + AM_SYS_SYMBOL_UNDERSCORE. + * demo/dlmain.c (main): Remove a single leading underscore from + compiled symbol names if necessary. + +1998-12-01 Alexandre Oliva + + * config.guess, config.sub: imported from autoconf pre-2.13 + +1998-11-27 Gary V. Vaughan + + * libtool (AM_PROG_LD): Oops... we need to know the host_os for + the changes below. I'm not sure whether mingw32 and os2 support + UNC paths, if they did we wouldn't need the check, we could use + UNC paths on all three; or if the bug with $LD not being + shell-meta escaped was fixed, we could use '\\' separators on all + three. AC_REQUIRE'ed AC_CANONICAL_HOST. + + * libtool.m4 (AM_PROG_LD): Cannonicalize the absolute path for the + ld program; The order is funny to provide canonicalization to + paths with '\\' separators as well as '/'. + * ltconfig.in: ditto. + + * AUTHORS: Added myself as a co-maintainer. + + * ltconfig.in (archive_cmds): The `;\' in a compound statement is + expanded wrongly for cygwin32, mingw32, aix3 and aix4. Changed to + `;'. + +1998-11-25 Alexandre Oliva + + * libtool.spec (URL): point to www.gnu.org + (Source): point to ftp.gnu.org + + * Makefile.am (EXTRA_DIST): removed libtool.prj + Reported by Akim Demaille + +1998-11-24 Alexandre Oliva + + * ltconfig.in (echo): avoid shell error messages when we're + testing for large command line support + Reported by Axel Thimm + + * doc/PLATFORMS: updated last-tested release for platforms I've + got access to + + * THANKS: added Chris P. Ross + +1998-11-24 Chris P. Ross + + * ltconfig.in: added recognition of the dynamic linker on BSD/OS 4.x + * README: added BSD/OS 4.x to the list of supported platforms + * doc/PLATFORMS: added BSD/OS 4.x support for various host id's + +1998-11-24 David Heine + + * ltmain.in (pass_all): actively pass the flags + +1998-11-24 Thomas Tanner + + * depdemo: added inter-library dependencies demo (doesn't work yet!) + * AUTHORS: added myself to the list of maintainers + +1998-11-22 Thomas Tanner + + * libltdl: added support for .la files, LGPL license, + K&R compatibility, some API changes and bugfixes + * ltmain.in: renamed -module flag (for compiling) to -force-static, + define -DSTATIC when compiling static .o files, + do not include directories in dld_preloaded_symbols + * mdemo: modified mdemo to work with the new libltdl + * tests/mdemo-exec.test, tests/mdemo-inst.test: use .la files + +1998-11-21 Alexandre Oliva + + * libltdl/ltdl.c: replace NULL with 0, so that we don't depend on + header files defining it. + + * ltconfig.in (archive_cmds, osf3, osf4, solaris, sunos4): create + libraries with gcc -shared if using gcc without GNU ld. + + * ltconfig.in: replaced occurrences of solaris2 with solaris, to + prepare for Solaris 7 + +1998-11-19 Alexandre Oliva + + * mdemo/Makefile.am (hell_debug_LDFLAGS): -dlpreopen -> -dlopen + (hell_LDFLAGS): added -export-dynamic and -dlopen + (SUBDIRS, INCLUDES): added modules directory + (foo1.c, foo2.c, foo.h, libfoo1.sym, libfoo2.sym): moved to modules + * Makefile.am: ditto + * tests/mdemo-exec.test, tests/mdemo-inst.test: libraries moved + * mdemo/modules/Makefile.am: new file + + * */Makefile.am (AUTOMAKE_OPTIONS): added no-dependencies + + * ltmain.in: missing `test' between `&&' and `"$module"' + + * ltconfig.in (echo_test_string): the whole ltconfig script was + too much for DU4.0's ksh, but the first 50 lines will be enough. + + * ltmain.in (installed): new variable defined within a .la file, + so that libtool can now link already-installed libraries into a + program. + * NEWS: ditto + * doc/libtool.texi (Linking executables): document it + + * ltmain.in (output_objdir): compute it from $output, not $arg + + * tests/mdemo-inst.test (libltdl): install it + * tests/mdemo-unst.test (libltdl): uninstall it + * tests/Makefile.am (TESTS): list ltdl-unst.test before mdemo-conf.test + +1998-11-18 Alexandre Oliva + + * NEWS: -module and libltdl + * mdemo/Makefile.am: ../libltdl is within $(srcdir) + +1998-11-18 Thomas Tanner + + * libltdl, Makefile.am: added libltdl (a system independent + dlopen wrapper library extracted from mdemo) + * ltmain.in: added -module flag for compiling and linking of + modules. If enabled it compiles always both .o (with -DLT_RENAME) + and .lo files + * mdemo: modified mdemo to work with libltdl + * tests/ltdl*: added tests for libltdl + +1998-11-16 Steve Price + + * ltconfig.in: when $host_os is freebsd[23]* determine whether + the current linker format is a.out or ELF + * ltmain.in: add two new $version_type's, freebsd-aout and + freebsd-elf, to support above change + +1998-11-16 Stephan Kulow + + * ltconfig.in: extent no_builtin_flag to contain -fno-rtti and + -fno-exceptions in case we compile with a gcc, that supports + this options (egcs and gcc >= 2.8) + +1998-11-16 Alexandre Oliva + + * ltmain.in (C_compiler): copy $CC before it is overwritten with + command-line compiler, so that we can use it to compile C sources + generated during the build. This fixes the problem that showed up + with -export-dynamic of C++ programs in egcs 1.1. + * NEWS: ditto + +1998-11-12 Alexandre Oliva + + * PORTING: Porting instructions are in the libtool manual already + + * NEWS: Mention -export-symbols and new dlpreopen + +1998-11-11 Alexandre Oliva + + * ltmain.in (IFS): revert Gary's patch when parsing version + information; we still use `:' here :-) + + * NEWS: updated + * PORTING: new file, with general instructions and inter-library + dependencies tips + +1998-11-11 Gary V. Vaughan + + * ltconfig.in: make use of '~' field separator in reload_cmds, + old_archive_from_new_cmds, old_archive_cmds, archive_cmds, + old_postinstall_cmds, postinstall_cmds, old_postuninstall_cmds, + postuninstall_cmds and finish_cmds, so that the semi-colons inside + if/then/else/fi and for/do/done etc. do not break the eval loop in + ltmain.in (below). + * ltmain.in: changed all of the eval loops to use an IFS of `~', + to allow differentiation between the end-of-statement-; + (now `~' is used) and end-of-substatement-; (still `;'). This + fixes AIX and win32 at least. + +1998-11-11 Alexandre Oliva + + * ltconfig.in (sunos*, sympat, symxfrm): remove underscore + prepended by the compiler + +1998-11-10 Toshio Kuratomi + + * ltconfig.in: re-enable deplibs + * ltmain.in: support deplibs, at least for GNU/Linux/x86 + Updated to current libtool by Thomas Tanner + +1998-11-10 Gordon Matzigkeit + + * ltmain.in (link): Make the relink warning less harsh. + +1998-11-07 William M. Perry + + * ltconfig.in (aix3, aix4): uniquify symbol names in archive_cmds + +1998-11-07 Alexandre Oliva + + * ltconfig.in: add --falback-echo, to be used if everything else + fails. The tests now check the behavior of $echo for very large + strings, because some echo commands would just core dump (e.g., + Solaris' printf). If too large strings fail, smaller ones are + tested. + (ltecho): arrange that, if the --fallback-echo method is selected, + echo will be defined in the libtool script so as to re-run itself, + not ltconfig + * ltmain.in: add --fallback-echo + (qecho) ensure that, if --falback-echo is being used, qecho is + defined with the full pathname of the libtool script + + * tests/sh.test (test X): ensure that the double-quote supposed to be + reported is really reported + +1998-11-07 Thomas Tanner + + * mdemo/main.c: removed hardcoded library names; link against -lm + * tests/mdemo-exec, tests/mdemo-inst: pass the library names + to the program + +1998-11-07 Marc J. Fraioli + + * README: Added DG/UX + * doc/PLATFORMS: ditto + +1998-11-04 Michael Tiemann + + * ltconfig.in (irix6): it's a little bit different from irix5 + +1998-11-04 Alexandre Oliva + + * THANKS: Added Thomas Tanner and Gary V. Vaughan + + * ltconfig.in, ltmain.in: updated and fixed the patches below + +1998-11-04 Thomas Tanner + + * mdemo/*: added new demo to demonstrate building of dlopenend + modules + * tests/Makefile.am, tests/mdemo*: added some tests for mdemo + +1998-11-04 Gary V. Vaughan + + * demo/configure.in: added AC_EXEEXT macro so that the tests can + work on cywin32/mingw32 hosts. This requires the current CVS + autoconf + +1998-11-04 Thomas Tanner + + * ltmain.in: New flag -export-symbols; new dlpreopen system + * demo/dlmain.c: removed dld_preloaded_symbol_count + +1998-11-04 Ian Lance Taylor + + * ltmain.in: On installation, don't get confused if the same name + appears more than once in the list of library names. + +1998-11-04 Ian Lance Taylor + + * ltconfig.in: Add objext and libext variables. Check for object + suffix. Check for mingw32* as well as cygwin32*. Use objext when + testing compiler. Add support for Visual C++ on cygwin32 when not + using gcc. Add objext, libext, and fix_srcfile_path to generated + libtool script. + * ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path + if it is set. Check for .obj as well as for .o, and for .lib as + well as for .a. Use .${libext} rather than .a when creating old + libraries. + * libtoolize.in: Change initial /bin/sh to @SHELL@. + * libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for + AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the + AC_REQUIRE in AC_CHECK_TOOL. + +1998-11-04 Ian Lance Taylor + + * ltconfig.in: Look in the right directory for libtool.c in + archive_cmds for cygwin32. + +1998-11-04 Ian Lance Taylor + + * ltconfig.in: Fix cygwin32 support to avoid using a double + extension, to delete the def file, to set version_type to windows, + and to include versuffix in the DLL name. + * ltmain.in: Add support for a version_type of windows. + +1998-11-04 Ian Lance Taylor + + * ltconfig.in: Add cygwin32 support. + * libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a + cygwin32 host. Pass DLLTOOL and AS to ltconfig. + (AM_SYS_LIBTOOL_CYGWIN32): New macro. + +1998-11-04 Alexandre Oliva + + * libtool.m4 (sco): fix typo + +1998-11-04 Ian Lance Taylor + + * ltconfig.in: On AIX, don't treat GNU ld specially. + +1998-11-04 Alexandre Oliva + + * ltconfig.in (hardcode_minus_L): Revert Ian's patch for + ltconfig.in. Although -L hardcoding is not used with GNU ld, it + does happen, so hardcode_minus_L must be set to yes. + + * ltconfig.in (compiler_o_lo): check whether we can write directly + to a .lo + + * ltmain.in (compiler_o_lo): if not, write to .o and rename it + +1998-11-04 Ian Lance Taylor + + * ltconfig.in: For sunos4 using GNU ld, set hardcode_minus_L to + no. + * ltmain.in: Add some hacks to make SunOS --enable-shared work + when using GNU ld. + +1998-11-04 Alexandre Oliva + + * THANKS: Added Marc J. Fraioli + +1998-11-04 Marc J. Fraioli + + * ltconfig.in (dgux): new supported platforms + +1998-11-04 Alexandre Oliva + + * ltconfig.in (need_locks): if neither `-c -o' nor hard links are + available, fallback to not so safe mechanism, by setting + need_locks to warn + * ltmain.in (need_locks): when need_locks is set to warn, use the + lockfile to try to fail in case of incorrect concurrent builds + + * THANKS: Added Eric Estievenart + +1998-11-04 Eric Estievenart + + * doc/libtool.texi (Compile mode): Document that -o is fully + supported. + + * libtool.m4 (libtool-lock): new ARG_ENABLE; sets (need_locks) + * ltconfig.in (disable-lock): control need_locks + (hard_links): check whether hard-links can be used for locking + * ltmain.in (need_locks): use $output_obj.lock for locking + +1998-11-03 Alexandre Oliva + + * ltmain.in: correctly create libraries and programs with + directory components in their names + +1998-11-03 Eric Estievenart + + * ltmain.in (output_obj): typo + +1998-11-02 Ian Lance Taylor + + * ltconfig.in: For sunos4, add ${libname}.so$versuffix to + library_names_spec. + * ltmain.in: For version_type of sunos, set versuffix even if + -version-info was not used. + +1998-11-02 Alexandre Oliva + + * ltmain.in (libobj): default value must not contain directory + components + +1998-11-02 Eric Estievenart + + * ltconfig.in (compiler): detect if the compiler supports + -c and -o flags, create a variable compiler_c_o. Also issue + a big warning if it is not supported + + * ltmain.in (compile): enable the -o option as input for libtool. + The objects are not moved if the compiler supports -o with -c. + Sources and objects can contain relative directories. + (link): enable the linking of executables into relative directories + +1998-11-02 Alexandre Oliva + + * AUTHORS: added myself as a co-maintainer + * THANKS: and removed my name from here + + * autogen: new script; run it to bootstrap libtool after checking + it out from CVS + + * libtool.m4 (CFLAGS): check whether -belf is needed on SCO, as + suggested by Robert Lipe + +1998-10-31 Gordon Matzigkeit + + * demo/Makefile.am (hc-libpath): Use parameters from the libtool + in the top build directory, since the one in the demo directory is + not guaranteed to exist. + +1998-10-27 Alexandre Oliva + + * demo/Makefile.am (objdir): there are no longer quotes around + objdir in the libtool script + +1998-10-27 Gordon Matzigkeit + + * ltconfig.in (dynamic_linker): Echo the result to fd 6, so that + --silent works correctly. From William M. Perry. + +1998-09-24 Gordon Matzigkeit + + * ltmain.in (link): Fix problems when building only static + libraries. From Owen Taylor. + +1998-08-20 Gordon Matzigkeit + + * ltmain.in (install): When library_names_spec has redundancies, + avoid deleting the main library when installing symlinks. From + Jeff Dairiki. + (link): Get rid of backticks in a here doc comment. + This causes segfaults on Solaris 2. From Aleksandar Bakic. + (finish): Don't display messages + + * ltconfig.in (archive_cmds): On HP-UX 9, make sure we don't try + to move a file to itself. From Jeff Dairiki. + +1998-08-19 Gordon Matzigkeit + + * ltconfig.in: Make changes to accomodate ltmain.c. + + * Makefile.am (clibtool): New target for the C version of libtool. + + * ltmain.c: Experimental C version of libtool. + +1998-07-10 Ian Lance Taylor + + * ltmain.in (install): Test against both $SHELL and /bin/sh. + +1998-06-30 Gordon Matzigkeit + + * ltmain.in: Convenience archive support. From Ulrich Drepper. + + * ltconfig.in (postinstall_commands): Change libraries to be + executable on Solaris in order to prevent ldd from moaning. From + Julian Gosnell. + (whole_archive_flag_spec): New variable to shortcut convenience + archive expansion. From Ulrich Drepper. + +1998-06-11 Gordon Matzigkeit + + * ltconfig.in, ltmain.in: Change globs to accept forward slashes + in absolute directory names used on DOS-like systems. From Robert + S. Maier. + +Thu May 28 18:59:08 1998 Ian Lance Taylor + + * ltconfig.in: Use $SHELL when invoking shell scripts. + +1998-05-21 Gordon Matzigkeit + + * ltmain.in (compile): Don't have `-static' turn off libtool + libraries, so that people can use it just to guarantee that `.o' + files exist. Suggested by David Mosberger-Tang. + +1998-05-18 Gordon Matzigkeit + + * ltmain.in (link): Possibly reexec the shell from within the + wrapper script. + Allow `-version-info' and `-release' to coexist again. If people + want to shoot themselves in the foot, I'd better let them do so, + so that people who are smart enough not to can squeeze out another + ounce of functionality. From Tim Janik. + (version_vars): Delete dead variable. + + * ltconfig.in (hardcode_minus_L): FreeBSD 3.0 doesn't hardcode, at + last. Reported by Jason Nordwick. + + * libtoolize.in, ltconfig.in, ltmain.in: Change a bunch of `if + test ...; then : ; else ...' constructs to `if test ! ...; then + ...', for clarity. + +1998-05-17 Gordon Matzigkeit + + * ltmain.in (LC_ALL, LANG): Save these values and restore them + during execute mode. From Pavel Kankovsky. + (mode): Accept strace and truss as programs that throw us into + execute mode. From Pavel Kankovsky. + +1998-05-07 Ian Lance Taylor + + * ltconfig.in: Don't use .$versuffix or .$major. Instead, assume + the variable will include any required prefix. + * ltmain.in: If no -version-info option was used, produce empty + version strings rather than 0.0.0. When making library symlinks, + avoid making a symlink if the name would be the same. + +1998-04-27 Gordon Matzigkeit + + * ltmain.in (link): Support `unsupported' as a hardcode_action. + Reported by Lars Hecking. + (lib_linked): Do some sanity checking to make sure that we + actually do link libtool libraries into the program to prevent the + above problem from happening again. + +1998-04-20 Gordon Matzigkeit + + * ltmain.in: Maybe reexec under $SHELL, if $echo doesn't work. + Reported by Lars Hecking. + +1998-04-19 Gordon Matzigkeit + + * Makefile.am (maintainer-rekey): New rule to force us to change + Project-Version after we make a release. This keeps all version + numbers in sync, rather than branching just before the release. + (maintainer-release, maintainer-checkin): Use maintainer-rekey. + + * ltmain.in (finish): Notice when a finish command fails, so that + we can add it to the list of recommendations. + +1998-04-17 Gordon Matzigkeit + + * libtool.m4 (AM_PROG_LIBTOOL): Append file descriptor 5 to + config.log, so that configure doesn't clobber the messages that + ltconfig put there. From David Taylor. + +1998-04-15 Gordon Matzigkeit + + * ltconfig.in (archive_cmds): Try using `$CC -shared' when + configuring for GCC under irix5 and irix6. From Wolfram Gloger. + (ofile): Add `--output' flag to change the name of the generated + libtool. Suggested by Wolfram Gloger. + +1998-04-14 Gordon Matzigkeit + + * ltmain.in: Remove all hardcoded references to ltmain.in in + favour of $PACKAGE and $PROGRAM. + (install): Compute the installation name for programs, in case we + install a relinked file which has a different name. Reported by + Pieter Schoenmakers. + + * ltconfig.in (echo): Try using the ksh(1) `print -r' builtin + command, before reverting to printf(1). + + * Makefile.am (libtool): Use $(SHELL) when invoking ltconfig. + + * ltconfig.in (echo): Rewrite the test for a working echo so that + we win on Solaris by avoiding printf(1), if possible. + + * tests/quote.test (echo): Update the echo test from ../ltconfig.in. + +1998-04-13 Ian Lance Taylor + + * libtool.m4 (AM_PROG_NM): Don't override NM in the environment. + +1998-04-13 Gordon Matzigkeit + + * ltmain.in: New `--config' flag to print out all configured + variables. + + * libtool.m4: Pass ltconfig the undocumented --no-reexec flag, + since we call it explicitly using CONFIG_SHELL. + + * ltconfig.in: Restart the script under a different shell if + CONFIG_SHELL is not /bin/sh. This way, people can use Bash if + they don't have a working echo program. + + * ltmain.in, ltconfig.in: Use $SHELL instead of /bin/sh when + generating executable scripts. + + * libtoolize.in, ltconfig.in, ltmain.in: Implement the `--debug' + flag to begin shell tracing. + + * ltconfig.in (archive_cmds): Don't use `gcc -shared', even if we + have GNU ld. Reported by Robert S. Maier. + +1998-04-06 Gordon Matzigkeit + + * ltconfig.in (pic_flag): Create more than just a null C file, so + that the SunPRO 4.2 cc doesn't complain. From Bob Friesenhahn. + (gnu_ld_acts_native): Delete this variable. There is just too + much version skew to try to pretend GNU ld is the same as the + system ld. Reported by Ian Lance Taylor. + (hardcode_action): Don't bother relinking or aborting on systems + that are too dynamic to have a consistent hardcode method. + Reported by Doug Winterburn. + +1998-03-24 Gordon Matzigkeit + + * doc/libtool.texi: A little proofreading. From Albert + Chin-A-Young. + +1998-03-23 Gordon Matzigkeit + + * ltconfig.in: Treat HP-UX 11 just like HP-UX 10. From Jeff Law. + +1998-03-21 Gordon Matzigkeit + + * ltconfig.in (reload_flag): Correct a tiny bug where `--silent' + would still print out the reload flag. From Stephan Kulow. + +1998-03-20 Ian Lance Taylor + + * libtool.m4: Use changequote to avoid problems with square + bracket patterns. + +1998-03-20 Gordon Matzigkeit + + * Release 1.2. + +1998-03-18 Gordon Matzigkeit + + * ltmain.in: Rearrange some of the echos to make them more + consistent. + +1998-03-14 Gordon Matzigkeit + + * ltmain.in: Break up an echo command that causes Solaris printf + to dump core. Apparently the Solaris people hardcoded a 2110-byte + buffer into their printf(1). Feh. From John Judge. + +1998-03-11 Gordon Matzigkeit + + * ltconfig.in: Change the test for the PIC compiler flag so that + we assume it doesn't work if there are any warning messages. This + fixes a bug using old GCC's on HP-UX. Reported by Akim Demaille. + +1998-03-10 Andreas Schwab + + * Makefile.am ($(srcdir)/ltconfig): Remove bogus command to create + a file ltconfig in the build directory. + +1998-03-09 Andreas Schwab + + * ltmain.in: Avoid unnecessary use of command substitution, + replacing foo=`eval \\$echo \"$mumble\"` by eval foo=\"$mumble\". + + (link): Use ${1+"$@"} in wrapper scripts in order to pass + arguments safely to a program. + + * ltconfig.in: Use -fpic instead of -fPIC if $host_cpu matches + m68*. + +1998-03-08 Gordon Matzigkeit + + * Release 1.1. + + * ltmain.in: I like `here documents' a lot, but apparently + they are so badly handled by old and buggy /bin/sh's, that + replacing `cat < + + * ltconfig.in: Copy the contents of ltmain.sh into the generated + libtool. This should more than halve the execution times on old + or buggy /bin/sh systems, such as HP-UX 9 and SunOS 4.1.4. From + Tom Lane. + +1998-03-05 Gordon Matzigkeit + + * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): Add support for + the `default' package, so that people can control unnamed + packages. + (LD): Only add an ABI flag under IRIX 6.x, since IRIX 5.x doesn't + support them. From Alexandre Oliva. + +1998-03-01 Gordon Matzigkeit + + * ltconfig.in: Port to UnixWare 2.x. From Christopher Olsen. + +1998-02-25 Gordon Matzigkeit + + * ltmain.in (compile): For consistency, honour the `-static' flag + during compilation. + +1998-02-23 Brendan Kehoe + + * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): For + --enable-shared, heed the value of $PACKAGE from AM_INIT_AUTOMAKE + if given as the argument for the library to be built shared. + +1998-02-20 Gordon Matzigkeit + + * libtool.m4, ltconfig.in (NM): Fix up a typo confusion between + $ac_dir and $dir. Reported by Akim Demaille. + + * ltmain.in (link): Don't allow both `-version-info' and + `-release'. Reported by Danny Backx. + +1998-02-18 Gordon Matzigkeit + + * Makefile.am (noinst_SCRIPTS): Remove lineno from distribution. + + * lineno: Remove from distribution, as it is no longer needed. + + * Makefile.am ($(srcdir)/ltconfig.in, $(srcdir)/ltmain.sh): + Rewrite these rules not to use config.status or lineno. This + makes things simpler, and reduces dependencies, so that the + scripts are rebuilt and installed in srcdir only when necessary. + Reported by Stephan Kulow. + + * tests/sh.test (scripts): Remove the lineno script, since it is no + longer distributed. + + * tests/assign.test, if.test, test-e.test: Even though 15 tests looks + impressive, these are now redundant. Remove them from the + distribution. + + * tests/sh.test: Do what assign.test, if.test, and test-e.test used to + do. + +1998-02-16 Gordon Matzigkeit + + * libtool.m4, ltmain.in, ltconfig.in: Correctly identify absolute + directory names on MS-DOS. Suggested by Bob Friesenhahn. + + * ltconfig.in, ltmain.in, libtool.m4: Change a bunch of `sed N!d' + commands to `sed Nq', for efficiency. + + * ltmain.in: Only egrep the first few lines of files in order to + determine if they were libtool-generated. This prevents egrep(1) + from taking forever to look at a 10MB binary on Solaris. From + Stephan Kulow. + + * tests/defs: Correctly identify absolute directory names on MS-DOS. + Suggested by Bob Friesenhahn. + +1998-02-11 Gordon Matzigkeit + + * ltconfig.in (no_undefined_flag): Add a flag to declare under + Solaris that the library should not have any undefined + references. Suggested by Bob Friesenhahn. + + * ltmain.in (mkdir): Fix one more mkdir race. From H.J. Lu. + +1998-02-08 Gordon Matzigkeit + + * ltconfig.in, ltmain.in (striplib, old_striplib): Ditto. + + * ltconfig.in (profile_flag_pattern): Get rid of dead code. + +1998-02-07 Gordon Matzigkeit + + * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): New macros to + modify the `--enable-shared' and `--enable-static' defaults in the + configure script. This works a lot better than the old + `enable_shared' and `enable_static' variables did. Reported by + Bob Friesenhahn. + + * tests/suffix.test (extensions): Added GNAT (GNU Ada Translator) + suffices, `.ada', `.ads', `.adb'. From Samuel Tardieu. + +1998-02-07 Samuel Tardieu + + * ltmain.in: Recognize .ada, .ads and .adb as known suffixes (they + are used by GNAT, the GNU Ada compiler). + +1998-02-06 Gordon Matzigkeit + + * ltconfig.in: Turn on IRIX shared libraries again! + + * libtool.m4 (LD): Use file(1) to discover which ABI we're using + on IRIX, and propagate the correct linker flag. From Jim Wilson. + + * ltconfig.in, ltmain.in (Xsed): `arg=-n; echo "$arg" | sed ...' + gives problems, because the `-n' is interpreted as an option to + echo(1). So, use `echo "X$arg" | sed -e 's/^X//' ...' everywhere, + via the $Xsed convenience variable. Suggested by H.J. Lu. + +1998-02-02 Gordon Matzigkeit + + * ltconfig.in: Turn off IRIX shared library support until 32-bit + and 64-bit ABI differences can be resolved. + +1998-01-28 Gordon Matzigkeit + + * libtool.m4 (LD): Reverse yesterday's change because `-old_ld' + isn't accepted by GCC. + +1998-01-27 Gordon Matzigkeit + + * ltconfig.in (soname_spec): Add in user-specified release numbers + for every host system that supports an soname that differs from + the linkname. + + * libtool.m4 (LD): Add `-old_ld' to the list of flags that need to + be passed through on SGI. Reported by Chris Lee. + + * ltmain.in (release): Prepend a hyphen to the release number, and + fix a typo because `-version-info' takes only 3 args. From + H.J. Lu. + +1998-01-25 Gordon Matzigkeit + + * ltconfig.in (library_names_spec): On Linux, use the + user-specified release. + + * ltmain.in (link): Allow the user to specify a release number for + the library using the `-release' flag. Suggested by H.J. Lu and + Ian Lance Taylor. + +1998-01-23 Gordon Matzigkeit + + * tests/Makefile.am (TESTS_ENVIRONMENT): Export some important + environment variables. Reported by Ian Haggard. + +1998-01-19 Gordon Matzigkeit + + * ltconfig.in (old_postuninstall_cmds): Reorder so that chmod + happens after ranlib. From Markus F.X.J. Oberhumer. + + * ltmain.in (mode): Added `gcc*' and `*-gcc*' to the patterns that + recognize compilers. From Pieter Schoenmakers. + (link): Recognize `.a' files again. Suggested by Pieter + Schoenmakers. + +1998-01-18 Gordon Matzigkeit + + * ltmain.in (compile): Recognize `.asm' extension, for use with + the nasm assembler. From Markus F.X.J. Oberhumer. + + * tests/suffix.test (extensions): Recognize `.asm'. From Markus + F.X.J. Oberhumer. + +1998-01-12 Gordon Matzigkeit + + * ltconfig.in (runpath_var): Use instead of + `hardcode_runpath_var'. + +1998-01-11 Gordon Matzigkeit + + * ltmain.in (finish): Add a better --finish message. Suggested by + Kenneth Albanowski. + + * ltconfig.in, ltmain.in: Fix a few typos. + +1998-01-03 Gordon Matzigkeit + + * ltmain.in (link): Quote the definition of $echo in the wrapper + script. + + * ltconfig.in (export_dynamic_flag_spec): Use `--export-dynamic' + instead of `-export-dynamic', which is not accepted by all GNU + ld's. From Eiichi Takamori. + + * ltmain.in (install): Don't print silly `library stripping' + warnings. Reported by François Pinard. + +1997-12-19 Gordon Matzigkeit + + * ltmain.in: Don't forget to quote the CDPATH substitution. From + Tor Lillqvist. + +1997-12-18 Gordon Matzigkeit + + * ltconfig.in, ltmain.in (CDPATH): Unset this environment variable + so that HP-UX shells, at least, don't print out the directory name + after a `cd' command. From Tor Lillqvist. + +1997-12-10 Gordon Matzigkeit + + * demo/Makefile.am (hardcode): Change a bunch of references to + `$(LIBS)' to `-lm', since we no longer put -lm in LIBS. + + * demo/configure.in: Delete the test for libm, since it is + standard on every system. + + * demo/Makefile.am (libhello_la_LDFLAGS): Change to include -lm, + in accordance with new inter-library dependency code. + + * ltmain.in (dependency_libs): Added to help people link programs + without having to explicitly specify inter-library dependencies. + + * ltconfig.in (COLLECT_NAMES): Oops... I forgot to apply the AIX 3 + restriction to the generated libtool script. Reported by Stefan + Westerfeld. + +1997-12-05 Gordon Matzigkeit + + * ltconfig.in (thisdir): Quote $echo in the generated libtool + script for HP-UX. From Markus F.X.J. Oberhumer. + + * ltmain.in (link): Recognize the `.s' suffix. From Markus + F.X.J. Oberhumer. + + * ltconfig.in (link_static_flag): Don't quote ${wl} on HP-UX + because link_static_flag is never evaled. From Eric Backus. + + * tests/suffix.test (extensions): Recognize `.s'. From Markus + F.X.J. Oberhumer. + +1997-12-01 Gordon Matzigkeit + + * demo/Makefile.am (helldl_DEPENDENCIES): Add `libhello.la' to our + dependencies so that parallel builds work correctly. From Jim + Meyering. + + * Makefile.am ($(srcdir)/ltconfig, $(srcdir)/ltmain.sh): Rewrite + these rules so that they are parallelizable. Reported by Jim + Meyering. + + * ltconfig.in (ltecho): We need special handling to quote the + `echo' variable itself. From Alexandre Oliva. + +1997-11-29 Gordon Matzigkeit + + * ltconfig.in (COLLECT_NAMES): Enable this workaround for a broken + collect2 only on AIX 3. This avoids problems on other AIX + versions. Reported by Stefan Westerfeld. + + * ltmain.in, ltconfig.in (finish_eval): Variable like finish_cmds, + except it is a single command which is evaled, and not shown. + + * ltconfig.in: Port to AmigaOS. From Joop van de Wege. + + * ltmain.in (echo): Delete preamble to check for a working echo, + since we just use the one included in the generated libtool. + + * ltconfig.in (echo): Include this definition in the generated + libtool script. + +1997-11-28 Gordon Matzigkeit + + * ltconfig.in, libtool.m4 (NM): Add /usr/ccs/bin to the PATH + before checking. From Kaveh R. Ghazi. + (NM): Delete an extraneous egrep from ltconfig. + + * ltconfig.in (finish_cmds): Change back to using `ldconfig -n'. + This makes Linux behave like other systems, which is more in line + with what libtool needs. + +1997-11-27 Gordon Matzigkeit + + * ltmain.in: Change a whole bunch of `progname' variables to + `modename'. This is for clarity, and to fix a tiny typo in finish + mode. + + * libtool.spec (Name, Version): Ditto. + + * configure.in (AM_INIT_AUTOMAKE): Use PRCS to automatically generate + the proper package name and version number. + + * ltconfig.in (gnu_ld_acts_native): Treat GNU ld like the native + linker on SunOS 4.x. Suggested by Alexandre Oliva. + (deplibs): Change the defaults all over, since most systems cannot + handle inter-library dependencies. + + * libtool.m4, ltconfig.in (NM): Only look at the first line of the + output from NM when determining whether it supports a command line + option. This prevents false positives on OSes which ignore + invalid flags, like HP-UX, which prints `nm: unknown option "B" + ignored'. Reported by Kaveh R. Ghazi. + + * ltconfig.in (finish_cmds): On Linux, update ld.so.cache by + removing the `-n' flag from ldconfig. Suggested by Kenneth + Albanowski. + + * Makefile.am (maintainer-checkin, maintainer-release): New + commands to reap the full benefit of using PRCS to maintain + libtool version numbers. + + * ltconfig.in, ltmain.in (global_symbol_pipe): Explicitly cast all + addresses to __ptr_t. This fixes a bug due to a strict IRIX + compiler. Suggested by Kaveh R. Ghazi. + +1997-11-23 Gordon Matzigkeit + + * ltmain.in (echo): For aesthetics, avoid using `$echo' when + `echo' will do *exactly* the same thing. This prevents ugly + `printf %s\n timestamp > some.lo' commands from appearing in the + libtool output. + (link): Delete the `-allow-undefined' flag because it is now the + default. Make `-no-undefined' in order for people to declare that + a library is entirely self-contained. This prevents maintainers + from accidentally creating shared libraries that won't work on + AIX. Reported by Stefan Westerfeld and Danny Backx. + + * ltconfig.in (echo): Use an echo variable, just as in ltmain.in, + because we need it for quoting substitutions. For most of the + script, though, use the default echo, just like Autoconf does. + Without this patch, character \001 ends up in global_symbol_pipe. + Reported by Lars Hecking and Jürgen Fluk. + + * ltmain.in (echo): Set default to `echo=echo'. Ooops. That's + what you get for testing obscure code paths and forgetting to + revert to the original version. Reported by Danny Backx. + +1997-11-14 Gordon Matzigkeit + + * ltconfig.in (hardcode_libdir_flag_spec): Set to `-R' for FreeBSD + 2.2. From Sean Kelly. + (postuninstall_cmds, old_postuninstall_cmds): Commands to run + after uninstall mode deletes the libraries. Suggested by Joop van + de Wege. + (export_dynamic_flag_spec): On HP-UX, add the `${wl}-E' + export_dynamic_flag_spec. Reported by Matthias Hoelzer. + +1997-11-11 Gordon Matzigkeit + + * ltconfig.in, ltmain.in (sed_quote_subst): Oops. We forgot to + quote backticks. Reported by Joop van de Wege. + + * tests/quote.test: Add backticks to the backslashify test. + +1997-11-09 Gordon Matzigkeit + + * ltconfig.in (symcode): On IRIX, don't extract undefined + symbols. When a function is inlined by G++, references to it are + still marked as undefined in the object file. This means that our + symbol file causes undefined references, because there are + actually no matching global symbols. Reported by Paul Kendall. + +1997-11-08 Gordon Matzigkeit + + * ltconfig.in: Don't forget to redirect the COLLECT_NAMES libtool + script fragment to the generated libtool, rather than to stdout. + +1997-11-07 Gordon Matzigkeit + + * libtool.m4 (LD): Add a more sophisticated test to determine the + ABI flag on IRIX 6. Suggested by Lars Hecking and Ian Lance + Taylor. + + * ltconfig.in, ltmain.in (COLLECT_NAMES): Only export this + variable if we are running under AIX. Otherwise, we tickle a g++ + bug under IRIX. From Paul Kendall. + + * Change bug reporting address to . + + * ltconfig.in (allow_undefined_flag): OSF/1 3.x also requires a + wildcard argument to `-expect_unresolved'. From Stephan Kulow. + +1997-11-06 Gordon Matzigkeit + + * ltmain.in (link): Use libname_spec. + + * ltconfig.in (pic_flag): Somehow, the HP-UX pic_flag (`+Z') was + dropped between libtool-1.0 and now. Add it back in. Reported by + Akim Demaille. + Integrated more patches for OS/2. From Jeff Freedman. + (libname_spec): New variable for OSes that don't require their + libraries to look like `libNAME.a'. + + * ltmain.in (link): Only use global_symbol_pipe if it has been + defined. From Stephan Kulow. + + * ltconfig.in (global_symbol_pipe): Protect C fragment under C++ + compilers. From Stephan Kulow. + + * Makefile.am ($(srcdir)/acinclude.m4, + $(srcdir)/demo/acinclude.m4): Change rules to use LN_S so that + they can be run on any system. + + * ltconfig.in (archive_cmds): For NetBSD, don't include deplibs. + From Dieter Baron. + + * ltmain.in (mkdir): Check that the directory doesn't exist before + we exit with error, so that we don't get races during parallel + builds. From H.J. Lu. + (fbsd_hideous_sh_bug): Apparently, some FreeBSD /bin/sh's have a + bug that will empty base_compile unless we do this dummy + assignment. From Marc van Kempen. + +1997-10-22 Gordon Matzigkeit + + * libtool.m4 (libtool_shared, libtool_static): Fixed logic error + to reenable override of libtool's defaults by setting + enable_shared or enable_static in configure.in. Reported by Tom + Tromey and Stephan Kulow. + + * ltmain.in (link): Add explicit support for compiler options that + begin with `+'. Reported by Aubert Pierre. + +1997-10-20 Gordon Matzigkeit + + * ltmain.in: Silly me. Change a bunch of occurances of "* $dir *" + into *" $dir "*. + + * ltconfig.in (pic_flag): PIC is the default for AIX. From Mark + Kettenis. It is also the default for OSF/1. + + * demo/Makefile.am (objdir): Quote double-quotes. From Mark + Kettenis. + + * ltconfig.in (global_symbol_pipe): This variable is not + double-evaled, so it should not be double quoted. From Mark + Kettenis. + +1997-10-19 Gordon Matzigkeit + + * ltconfig.in (LD): Same as below. + + * libtool.m4 (LD): Set LD if we discover an absolute path to GNU + ld. This prevents breakage when `$CC -print-prog-name=ld' returns + an absolute directory name. Reported by Ulrich Drepper. + + * ltconfig.in: Port to OS/2 using EMX. From Jeff Freedman. + + * ltmain.in (link): Use old_archive_from_new_cmds. + + * ltconfig.in (old_archive_from_new_cmds): New variable to + support DLL libraries. + + * ltmain.in (link): Only `eval' export_dynamic_flag_spec if it is + not empty. Reported by Stephan Kulow. + +1997-10-18 Gordon Matzigkeit + + * ltconfig.in (objdir): Use the .libs directory on all systems for + which that name is valid, and _libs on the others (like MS-DOS). + Suggested by Juergen Erhard. + +1997-10-14 Gordon Matzigkeit + + * ltmain.in (link): Added a bit more inter-language support to the + symbol file generation process. + Instead of complaining about unrecognized argument suffices, pass + them to the linker. This prevents libtool from barfing on + mandatory arguments to linker flags. Reported by Michael + Tiemann. + +1997-10-09 Gordon Matzigkeit + + * ltmain.in (link): Change the wrapper script to follow symlinks + in order to find thisdir. This should put the final nail in the + coffin for problems with wrapper scripts. From Ian Lance Taylor. + +1997-10-07 Gordon Matzigkeit + + * ltmain.in: Change a few `$echo' commands into `$show' to make + --silent mode behave as advertised. + + * ltconfig.in (allow_undefined_flag): On OSF/1 4.x, use + `-expect_unresolved \*'. From Christian Mondrup. + + * ltmain.in (install): Change install mode to allow a specified + /bin/sh argument at the beginning of the install_prog. Also, + specify the shell to run when invoking libtool recursively for + finish mode. From Chris Provenzano. + + * libtool.m4 (LIBTOOL): Change definition to include $(SHELL). + From Chris Provenzano. + + * ltconfig.in: Port to UTS 4.x. From Alistair Crooks. + + * demo/Makefile.am (hc-libflag): Add rules to make this binary for + hardcode.test. + + * tests/hardcode.test (hardcode_libdir_flag_spec): Check the hardcoding + properties of the flag_spec, too. + +1997-09-24 Gordon Matzigkeit + + * ltconfig.in (LD): As with libtool.m4, don't override LD. + Do a whole bunch of ac_t quoting. + +1997-09-24 Ian Lance Taylor + + * libtool.m4 (AM_PROG_LD): Don't override LD in the environment. + +1997-09-21 Gordon Matzigkeit + + * libtool.m4, ltconfig.in (NM): Arguments to the for loop must be + whitespace separated. This fixes a bug under FreeBSD's /bin/sh. + From George Scott. + + * tests/defs, tests/Makefile.am (clean-local): Change =inst to + _inst to fix portability on MS-DOS. From Robert Hoehne. + +1997-09-20 Gordon Matzigkeit + + * ltmain.in (deplibs): When building shared libraries, always add + -lc to deplibs. Reported by Andreas Jellinghaus. + +1997-09-15 Gordon Matzigkeit + + * ltconfig.in, ltmain.in (COLLECT_NAMES): If the COLLECT_NAMES + environment variable has not been set, set it to empty. This + apparently fixes the AIX bug with GCC's collect2. Reported by + Mark Kettenis. + + * demo/Makefile.am, ltmain.in, tests/hardcode.test (objdir): + Changed objdir variable .libs to _libs. This is another MS-DOS + portability fix. Suggested by Robert Hoehne. + + * tests/hardcode.test (objdir): New variable to simplify change from + .libs to _libs (MS-DOS portability fix). + +1997-09-13 Gordon Matzigkeit + + * ltconfig.in, ltmain.in (hardcode_minusL): Fix typo by renaming + hardcode_minusL to hardcode_minus_L. Also add FreeBSD + hardcode_libdir_flag_spec. From Paul Traina. + + * ltmain.in (link): Honour multiple `-rpath' flags when linking + programs. Suggested by Bengt Martensson. + Quote appearances of $echo in the wrapper script. From Alexandre + Oliva. + + * Makefile.am, configure.in, tests/tlibtool: Use ltmain.in instead + of ltmain.sh.in. + + * ltmain.in: Rename ltmain.sh.in to ltmain.in. This fixes a + portability problem (on MS-DOS, of all places!). From Robert + Hoehne. + +1997-09-11 Gordon Matzigkeit + + * ltmain.sh.in (link): Do not transform libtool objects to regular + objects if we did not build old libs. Reported by Tomas Hiller. + +1997-09-05 Gordon Matzigkeit + + * demo/Makefile.am (hell_debug_LDFLAGS): Change hell.static to + hell.debug in order to reflect the new static linking semantics. + + * ltmain.sh.in (link): Add new `-all-static' flag to prevent all + dynamic linking. The old `-static' flag just prevents dynamic + linking against libtool libraries. Suggested by Bengt + Martensson. + + * ltconfig.in (with_gnu_ld): Add a test to make sure that we are + actually using GNU ld. This fixes an inconsistency when running + ltconfig without using libtool.m4. Reported by Ulrich Drepper. + (global_symbol_pipe): Delete symbols that are not valid C + identifiers. Reported by Johan Danielsson and Bengt Martensson. + + * tests/demo-exec.test, tests/demo-inst.test: Change references from + hell.static to hell.debug. + + * tests/quote.test (echo): Add the same Digital Unix echo test fixes as + the ones to ltmain.sh.in from Todd Kover. + + * tests/if.test, tests/test-e.test (scripts): Add ../lineno to + the scripts we check. + * tests/if.test: Check for accidental use of test X$something rather + than test "X$something". + +1997-09-04 Gordon Matzigkeit + + * ltmain.sh.in (echo): Quote all the uses of `echo' in all eval + statements. Reported by Bengt Martensson and Alexandre Oliva. + (echo): Need to surround test args with double quotes, or the echo + test fails on Digital Unix 4.0. From Todd Kover. + +1997-08-28 Gordon Matzigkeit + + * ltmain.sh.in (echo): Change test to one that uses printf. + This works on AIX, which has the same problems that Solaris does, + but no working echo program. + + * tests/quote.test (echo): Change test to version that uses printf. + Be less strict about return results. + +1997-08-27 Gordon Matzigkeit + + * ltmain.sh.in (link): Make sure that compile_command and + finalize_command are always evaled. Quote any unknown linker + flags we need to pass through. + (compile): Use quoting for flags we pass. + (echo): I hate Sun! The /usr/bin/echo on Solaris handles + backslash sequences, which makes it impossible to do backslash + quoting using echo and sed. So, we search for an echo that obeys + the `echo '\t'` = '\t' equality. Then we use `$echo' everywhere + in ltmain.sh. + Put tabs back into the ${IFS= } sequences. Emacs untabify is + libtool bane. + + * ltconfig.in: Quote all variable values that may contain + metacharacters creating the libtool script. This provides + complete protection, so that even single-quotes may appear inside + a libtool variable value. + + * ltmain.sh.in (link): Quote finalize_command before putting it in + the wrapper script. + + * tests/quote.test (echo): Add the test for a non-backslash-mangling + echo. + +1997-08-26 Gordon Matzigkeit + + * ltmain.sh.in (sed_quote_subst): Change the quoting procedure + again. I think that the new one is robust for *all* characters, + including whitespace and metacharacters. + + * tests/quote.test: New torture test for libtool metacharacter quoting. + +1997-08-25 Gordon Matzigkeit + + * ltmain.sh.in: Change quoting procedure because some shells + cannot handle `]' in scan sets. From Ian Dall. + +1997-08-22 Gordon Matzigkeit + + * ltmain.sh.in (execute): Added -dlopen flag handling. Suggested + by Alexandre Oliva. + +1997-08-21 Gordon Matzigkeit + + * ltmain.sh.in (link): Change executable wrapper to fix up value + of thisdir, as well as progdir, if the $0 path doesn't work. This + guarantees that shlibpath_var is set correctly. Add support for + execute mode. + + * ltmain.sh.in (execute): New mode to automatically set + shlibpath_var, which allows easy debugging of uninstalled + executables and libraries. Suggested by Kenneth Albanowski. + +1997-08-20 Gordon Matzigkeit + + * Makefile.am ($(srcdir)/ltconfig): Use lineno. + + * configure.in: Add AM_PROG_AWK for lineno. + + * lineno: New program to automatically put line numbers in + ltconfig. + + * libtool.m4, ltconfig.in (AM_PROG_LD): Yet Another Rewrite, which + incorporates the results of `gcc -print-program-name=ld'. + Suggested by Alexandre Oliva. + +1997-08-14 Gordon Matzigkeit + + * ltmain.sh.in: Accept `--quiet' and `--silent' flags to turn off + command echoing. From Juergen A. Erhard. + + (compile): Recognize the Objective C `.m' extension. From Juergen + A. Erhard. + + (compile): Suppress error output from the second compilation (if + any) so that we don't get those frustrating duplicate error + messages. + + * tests/suffix.test (extensions): Added Objective C extension, `.m'. + +1997-08-12 Gordon Matzigkeit + + * ltconfig.in: Added messages to config.log to describe what sort + of test we are running. + (pic_flag): Added a sanity check for pic_flag. This should fix + bugs reported using the cc bundled with HP-UX 10. Suggested by + Bruno Haible and Akim Demaille. + +1997-08-01 Gordon Matzigkeit + + * ltmain.sh.in (link): Add -dlopen and -dlpreopen support for + libtool objects. This means that dlopened modules no longer need + to be shared libraries. + + * ltconfig.in (pic_flag): GCC on IRIX 6 always builds PIC. + Reported by Ian Lance Taylor. + + * libtool.m4 (LD): Always add `-n32' to the linker if we are using + GCC on IRIX 6. Reported by Ian Lance Taylor. + +1997-07-30 Gordon Matzigkeit + + * libtool.m4 (AM_PROG_LIBTOOL): Explicitly check enable_shared and + enable_static rather than just enableval. This allows + configure.in scripts to set their own defaults. Suggested by + Tommy Reilly. + +1997-07-29 Gordon Matzigkeit + + * ltmain.sh.in: Add NLS environment variable handling copied from + ltconfig.in. Reported by Akim Demaille. + (link): If allow_undefined_flag is not supported, then turn on old + libraries. Reported by Akim Demaille. + + * demo/dlmain.c (main): Use dld_preloaded_symbol_count to display + a message about the sortedness of the symbol table. + + * ltconfig.in (nlist): Use an nlist convenience variable, so that + code can be shared directly with ltmain.sh.in. + + * ltconfig.in, ltmain.sh.in (dld_preloaded_symbol_count): Count up + the number of symbols in the dld_preloaded_symbols. Set to `-1' + if the list wasn't both sorted and counted. This allows + applications to do a quick binary search, if they are so inclined. + +1997-07-25 Gordon Matzigkeit + + * ltmain.sh.in (link): Remove code for `-version-file', since it + has been long-deprecated. + + Disable static linking if hardcode_direct is unsupported and there + is no working link_static_flag. This provides correct behaviour + for all cases on AIX 3, regardless of whether collect2 is broken + or not. Reported by Mark Kettenis. + + * ltconfig.in: Fix typo in test polarity. From Mark Kettenis. + +1997-07-24 Gordon Matzigkeit + + * ltconfig.in (hardcode_direct): Set to `unsupported' if aix3 uses + a broken collect2. Adapted out of test results from Mark + Kettenis. + (link_static_flag): Make sure the link_static_flag actually works + with a trivial binary. + + * ltmain.sh.in, ltconfig.in (export_dynamic_flag_spec): Renamed + from export_dynamic_flag because we eval it in ltmain.sh. + + * ltmain.sh.in (link_static): Don't eval link_static_flag. + + * demo/dlmain.c (main): Change function prototype to be KNR + compatible. From Kaveh R. Ghazi. + + * ltmain.sh.in (link): Use no_builtin_flag. This works around + conflicting definitions of builtin functions with at least GCC. + Reported by Kazuhiro Sasayama. + + * ltconfig.in (no_builtin_flag): New flag to turn off builtin + functions when compiling an object file. + (pipe_works): Use it. + + * tests/demo-exec.test (status): Use status variables so that we try to + execute all the programs. + +1997-07-23 Gordon Matzigkeit + + * ltconfig.in (pic_flag): According to the libg++ 2.7.2 configure + script, DEC alpha CPUs are PIC-only, as well. Reported by Kevin + Jacobs. + +1997-07-21 Gordon Matzigkeit + + * ltconfig.in, ltmain.sh.in: Replace all occurances of "sed 'X; + Y'" with "sed -e 'X' -e 'Y'". + + * ltmain.sh.in (link): Finish full integration for `-dlopen' and + `-dlpreopen'. + + Fix two silly typos where I used a compile_command in place of a + finalize_command, and vice versa. + + Change the wrapper script to check a hardcoded path only if the + argv[0] method fails. This is a compromise for the previous two + patches, and should solve the majority of problems with wrapper + scripts. From Kenneth Albanowski. + + (link): Change a reference to hardcode_libdir_colon_separated to + use the new hardcode_libdir_separator variable. + + * demo/Makefile.am (helldl_LDFLAGS): Add `-export-dynamic' and + `-dlpreopen' for building helldl. + + * demo/dlmain.c (main): Succeed, even if none of the libhello + symbols have been preloaded. + +1997-07-20 Gordon Matzigkeit + + * ltconfig.in (global_symbol_pipe): Add `U' to the accepted global + symbol types. This means that we will get duplicate symbols, but + we'll also be sure to get all global symbols used by the program. + + * ltconfig.in (pipe_works), ltmain.sh.in (link): Sort and make + symbol output unique. + +1997-07-19 Gordon Matzigkeit + + * ltconfig.in (pipe_works): Check to make sure our guessed + global_symbol_pipe actually works. + + * ltmain.sh.in (link): Revert change from Kenneth Albanowski. The + wrapper scripts are more reliable when they just use the argv[0] + value. Generally, when the argv[0] method doesn't work, the user + is trying to do something weird with an uninstalled binary, and + should try a different approach. + + * ltconfig.in, ltmain.sh.in (CC): Always use `$CC' instead of + `$cc'. This fixes a FreeBSD bug. Reported by Chuck Robey, and + others. + +1997-07-14 Gordon Matzigkeit + + * ltmain.sh.in (link): In wrapper scripts, hardcode the current + directory to prevent phony argv[0] values from screwing up our + program. From Kenneth Albanowski. + +1997-07-13 Gordon Matzigkeit + + * Makefile.am (demo_distfiles): Add demo/dlmain.c to the + distribution. + +1997-07-12 Gordon Matzigkeit + + * demo/Makefile.am: Add helldl, made from dlmain.c, to demostrate + `-dlopen' usage. + + * demo/dlmain.c: New file to demonstrate preloaded modules. + + * ltmain.sh.in (link): Add `-dlopen' flag to preload dynamic + modules, even on static platforms. Use `$NM' and + `$global_symbol_cmd' to extract symbols from required files. + (dlname): Delete dlname mode entirely. It is rendered obsolete + because the `.la' file format is now a public interface. + + * ltconfig.in (NM): New variable for BSD-compatible nm program. + (global_symbol_cmd): Pipeline to extract global symbols from the + nm output. + + * ltmain.sh.in: The .la file header should depend on `ltmain.sh', + not `$PROGRAM'. + (link): Make sure $export_dynamic_flag is eval'ed before it is + used. + + * tests/demo-exec.test, tests/demo-inst.test: Check the new + helldl program, too. + +1997-07-11 Gordon Matzigkeit + + * libtool.spec: New Red Hat Package Manager specification file in + order to help people prepare distributions of libtool for Linux. + + * ltmain.sh.in: Eliminate two accidental uses of the NONE magic + value. These were breaking libtool's behaviour when no mode is + specified. + + * tests/nomode.test: New test to make sure there is correct behaviour + when we don't specify a mode. + +1997-07-08 Gordon Matzigkeit + + * Release 1.0. + + * ltconfig.in: On SunOS, append /usr/etc to the PATH before + running ldconfig; on *BSD, append /sbin. This was done in line + with the Linux change suggested by Kenneth Albanowski. + + * demo/Makefile.am (hardcode_tests): Aesthetic change to + alphabetize order of compiling the hardcode tests. + + * Makefile.am (EXTRA_DIST): Delete README-automake. + + * README-automake: Remove from distribution. + +1997-07-02 Gordon Matzigkeit + + * ltmain.sh.in (link): In the executable wrapper, strip trailing + colons from the shlibpath_var because some ld.so's, notably + OpenBSD 2.0's (!), don't parse colon-terminated values correctly. + From Tim Pierce. + +1997-07-01 Gordon Matzigkeit + + * ltmain.sh.in, ltconfig.in: Eliminate uses of the NONE magic + variable value. Use an empty variable instead. + + * ltconfig.in (with_gcc, with_gnu_ld): Do the tests for the C + compiler and linker if the variables are unset, or if they are not + GNU C and ld. + (RANLIB): Eliminate redundant `if' statement. + + * configure.in: Use AM_PROG_LD. + + * libtool.m4 (AM_PROG_LD_GNU): New macro to determine if LD is GNU + ld. + (AM_PROG_LD): Rename AM_PATH_PROG_LD to AM_PROG_LD. Parameterize + so that the user can specify `--with-gnu-ld' or `--without-gnu-ld' + to indicate his preference. + (AM_PROG_LIBTOOL): Use it. + +1997-06-30 Gordon Matzigkeit + + * ltconfig.in: Append /sbin to the path before running ldconfig on + Linux. This helps superusers who haven't set their PATH + correctly. Suggested by Kenneth Albanowski. + + * tests/if.test: New test to make sure that we haven't forgotten to + follow an `if' statement with a `test' command. This should avoid + the majority of hard-to-track bugs. + +1997-06-29 Gordon Matzigkeit + + * ltmain.sh.in: Change all the `eval "$run ..."' sequences to + `$run "eval ..."'. + + Change all `$ln_s ...' sequences to use `(cd /dir && $LN_S ...)'. + This is the sequence recommended by the Autoconf manual, and + should avoid any problems on older machines. Eliminate all uses + of `cp -p'. Reported by Akim Demaille. + + (install): Use `test $# -gt 0' instead of `test -n "$1"'. + + * ltconfig.in (LN_S): Add test to see if `ln -s' works. + + * libtool.m4: Increment serial number, and require AC_PROG_LN_S. + +1997-06-26 Gordon Matzigkeit + + * ltmain.sh.in (link): Add missing `test' statement. Reported by + Akim Demaille. + +1997-06-24 Gordon Matzigkeit + + * libtool.m4 (LD): Consistently use ac_cv_path_ld instead of + am_cv_path_ld. From Tim Pierce. + +1997-06-20 Gordon Matzigkeit + + * ltmain.sh.in: Redo two robustness fixes. Alexandre had the + correct approach, but I botched them. + + * ltconfig.in (dynamic_linker): Disable shared libraries on + MkLinux unless GNU libc is in use. Reported by Akim Demaille. + +1997-06-19 Gordon Matzigkeit + + * ltmain.sh.in (install): Add a missing `test' command. Reported + by Joel Weber. + Miscellaneous fixes to improve robustness. From Alexandre Oliva. + + * tests/demo-conf.test (CONFIG_SITE): Set to /dev/null, so that the + config.site file doesn't mess up our prefix. Reported by Joel + Weber. + + * tests/demo-inst.test: Always run both hell.static and hell. + + * tests/demo-conf.test: Always remove the local config.cache, but run + `make distclean' only if the Makefile exists. Otherwise, the demo + directory is not cleaned up if a user uses their own config.cache. + Reported by Joel Weber. + +1997-06-14 Gordon Matzigkeit + + * ltmain.sh.in (link): Create invalid libtool objects when partial + linking if we don't have PIC. From Jeff Dairiki. + (install): Fix bug if libtool object is installed to a file name + without directory components. From Jeff Dairiki. + +1997-06-13 Gordon Matzigkeit + + * Makefile.am (demo/configure): Fix up rules to run autoconf. + (aclocal.m4): Now we depend on our own libtool.m4. + + * configure.in (AM_PATH_PROG_LD): Use it. + + * libtool.m4 (AM_PATH_PROG_LD): New macro to find the linker used + by the C compiler. + (AM_PROG_LIBTOOL): Use it. + + * ltmain.sh.in (install, uninstall): Support installing and + uninstalling `.lo' files. From Jeff Dairiki. + +1997-06-11 Gordon Matzigkeit + + * Makefile.am (ltconfig, ltmain.sh): Only move if $(srcdir) is not + the current directory. Don't regenerate every time the package is + reconfigured. Reported by Tom Tromey. + (MAINTAINERCLEANFILES): Added ltconfig, ltmain.sh, so that + $(srcdir) is not messed with during a regular clean. + +1997-06-10 Gordon Matzigkeit + + * Makefile.am (ltconfig, ltmain.sh): Be sure to move these files + into $(srcdir) once they are created. + + * ltmain.sh.in (link): Disable building static libraries. + People should use their favourite AR and RANLIB commands. + Disable building old-style objects if `--disable-static' is + given. Suggested by Tom Lees and Stephan Kulow. + +1997-06-08 Gordon Matzigkeit + + * ltconfig.in (host_cpu, host_vendor, host_os): Patch up + definitions, to allow for the fact that the host_os may contain + hyphens (as in linux-gnu). From Scott Goehring. + + * ltmain.sh.in (link): Move the `dlname' setting closer to the top + of the file. Suggested by David Mosberger-Tang. + Symlink the libtool archive into the `.libs' directory so that it + can be found by programs that want to find a library's dlname by + searching LD_LIBRARY_PATH. Reported by David Mosberger-Tang. + +1997-06-06 Gordon Matzigkeit + + * Tell people to report bugs to the new libtool mailing list, + . + +1997-06-05 Gordon Matzigkeit + + * ltconfig.in (allow_undefined_flag): New variable that implements + `-allow-undefined'. + (archive_cmds): Enable C++ constructors for FreeBSD 2.2. From + David Nugent. + + * ltmain.sh.in (link): Accept new `-allow-undefined' flag when + building libtool libraries. This tells libtool to allow + unresolved symbols to exist in shared libraries. Basically, this + turns off shared libraries on AIX. Suggested by Ian Lance Taylor. + +1997-05-26 Gordon Matzigkeit + + * libtool.m4 (LD): On at least IRIX, many different flags need to + be propagated to the linker if they are part of the compiler + command line. Reported by Anthony Green. + +1997-05-10 Gordon Matzigkeit + + * ltconfig.in: Trivial port to FreeBSD 3. From David Nugent. + +1997-04-25 Gordon Matzigkeit + + * ltmain.sh.in (link): Remove all traces of `-whole-archive', + `-no-whole-archive', and libtool convenience libraries. They were + more trouble than they're worth. If these are ever reimplemented, + they need more careful attention to make portable. + + * libtool.m4, ltconfig.in: Added a `--disable-static' flag to turn + off static library creation. From Tom Lees (who finally convinced + me that it was the Right Thing to do). + +1997-04-22 Gordon Matzigkeit + + * ltmain.sh.in (hardcode_runpath_var, runpath_var): Use them, if + the linker has no -rpath flag. + Quote the values we use to set runpath_var and shlibpath_var. + (link): Use libobjlibs for libtool convenience libraries. + + * ltconfig.in (hardcode_runpath_var, runpath_var): Add new + variables to describe linkers that honour `LD_RUN_PATH'. + (host_cpu, host_os): Use these more specific variables, rather + than the full canonical host system name. + + * ltmain.sh.in (dlname): Distinguish between missing + `-export-dynamic' and when the library is only statically linked. + +1997-04-21 Gordon Matzigkeit + + * ltconfig.in: Trivial port to OpenBSD by making it an alias for + NetBSD. From Tim Pierce. + +1997-04-16 Gordon Matzigkeit + + * ltconfig.in: Temporary measures to check for a broken collect2 + program. Right now, we just see if we're using GCC on AIX 3. + + * tests/hardcode.test: AIX also has arbitrary limits on the line length + of input to fgrep(1), so we need to translate NUL characters to + newlines in order to properly detect embedded `.libs'. From Bruno + Haible. + Also redirect stderr to /dev/null, so that AIX users don't get + worried by `fgrep: Maximum line length of 2048 exceeded.'. + +1997-04-13 Gordon Matzigkeit + + * ltmain.sh.in (mode): Use `egrep -e' when inferring the operation + mode. + +1997-04-12 Gordon Matzigkeit + + * ltconfig.in (linker): Some GNU ld's don't accept `--version', + but do accept `-v'. From Jukka Honkela. + (ld_shlibs): AIX lossage may be settling down. AIX 3.2.5 ld does + *not* hardcode direct libraries, but AIX 4.1.[45] ld does. + +1997-04-07 Gordon Matzigkeit + + * ltconfig.in (hardcode_action): Fix silly logic error. From + Bruno Haible. + +1997-04-05 Gordon Matzigkeit + + * ltmain.sh.in (install): Relink if hardcode_action is `relink', + rather than using complex conditionals based on the other + hardcode variables. + + * ltconfig.in (hardcode_action): Set to `relink', not `immediate', + if we can only hardcode existing directories. Rearrange + conditionals to make the intent clearer, otherwise this can be one + hellish piece of code for the already-dizzy libtool maintainer. + +1997-04-02 Gordon Matzigkeit + + * replfunc.m4: Delete from the distribution. Documentation now + describes how to set LTALLOCA and LTLIBOBJS in your own + configure.in. + + * ltmain.sh.in (link): Make sure a libtool library only counts as + a shared library if its library_names are non-null. + Use timestamps for .lo's when PIC is turned off, rather than + symlinking to the real object. This helps invalid mixtures of PIC + and non-PIC to fail. + +1997-04-01 Gordon Matzigkeit + + * Makefile.am (EXTRA_DIST): Distribute libtool.prj. + + * Shameless plug: Changed source code management system from CVS + to PRCS. + + * libtool.scm: Initial Guile implementation of libtool. + + * ltmain.sh.in: An unexpected inconsistency in my whole approach + to shared libraries has proven that libtool needs to be completely + rewritten if I'm going to give full shared library support for + platforms that don't use the GNU C library version 2 (which to my + knowledge currently only works on GNU Hurd and Linux/GNU systems). + Porting the GNU C library should not be difficult, though. + + Platforms that don't have the dlopen(3) family of functions will + need to install GNU DLD version 4 in order to build any kind of + libraries at all. Unfortunately, DLD 4 won't be released for a + while, because I maintain it, and I'm too busy working on libtool. + + I'll keep the old ltconfig/ltmain.sh implementation around for as + long as I can, and continue applying bug fixes, so that I'll have + a reasonable starting point for this new libtool implementation. + + It looks like this implementation will be even more complex than + the original (pre-0.7) libtool. Initial estimates show that it + may be up to 3 times slower, and 5 times larger than libtool-0.9. + I'll probably have to rewrite it in Guile to get reasonable + performance, which will severely limit its portability for a + while. + + That will also introduce a bootstrapping issue, since the next + release of Guile will use libtool to build shared libraries. So, + if users want to have shared Guile libraries, they will have to + configure Guile with `--disable-shared', compile it, install it, + then reconfigure Guile with `--enable-shared' and repeat. + + I was hoping to get libtool 1.0 out the door by early April, but + now it looks like it will take at least another year before it'll + be usable by the public at large. April fools. libtool.scm + doesn't exist yet, either. + + * ltconfig.in (verify_host): Remove redundant `Transform *-*-linux* + to *-*-linux-gnu*'. From Bruno Haible. + + * tests/hardcode.test: AIX 3 doesn't have strings(1) so we need to do a + funny tr and pipe the output to fgrep. From Bruno Haible. + +1997-03-31 Gordon Matzigkeit + + * Makefile.am: Use the new AUTOMAKE and ACLOCAL variables. + + * ltmain.sh.in (link): Only fail if a convenience library doesn't + exist, and the user specified -whole-archive. + Fix shell quoting that was breaking @OUTPUT@ substitution. + +1997-03-28 Gordon Matzigkeit + + * ltmain.sh.in (link): Use the hardcode_libdir_separator. + Convenience libraries are libtool objects if we're not building + libtool libs. + + * ltconfig.in (hardcode_libdir_separator): Added in case the + linker only honours the last of the -rpath flags (but it can + contain multiple colon-separated directories), such as on OSF/1. + Reported by Carl D. Roth. + + * ltmain.sh.in (link): Set the dlname if -export-dynamic is given. + (install, uninstall): Handle the dlname file separately. + + * ltconfig.in (export_dynamic_flag): Added to allow programs to + use reflexive dlopens. + + * ltmain.sh.in: Include the mode name in any help messages. + (dlname): New mode to give the name to be used with dlopen(3). + + * ltconfig.in (AR): Allow AR to be set by the user, and export it + to ltmain.sh. + + * ltmain.sh.in: Remove broken profiled library support. + Added `-whole-archive' and `-no-whole-archive' to manipulate + convenience libraries. + +1997-03-27 Gordon Matzigkeit + + * ltmain.sh.in (link): Allow the creation of static convenience + libraries made of libtool objects. Suggested by David + Mosberger-Tang. + +1997-03-25 Gordon Matzigkeit + + * ltconfig.in: On AIX, libtool also needs to look for `B' symbols + in nm output. These are global variable definitions. + + * ltmain.sh.in: Linking with -static should link against the + linklib if old_library is empty (like it is on AIX). + + * ltconfig.in: Change the order of OS detection, so that + linux-gnu* is detected before gnu*. + + * Makefile.am (libtool): Use the correct CC, RANLIB, LD, when + generating libtool. From Carl D. Roth. + + * configure.in: Find out the user-supplied CC, LD, RANLIB. From + Carl D. Roth. + +1997-03-24 Gordon Matzigkeit + + * ltmain.sh.in: Linking with -static should link against the old + library, not linklib. + + * README-automake: Updated to point to Automake 1.1m. + +1997-03-15 Gordon Matzigkeit + + * demo/main.c: Use it. + + * demo/foo.h: Declare it. + + * demo/foo.c: Added definition of `nothing' so that we have an + global variable definition, as well as functions. + +1997-03-12 Gordon Matzigkeit + + * ltconfig.in: Make sure either enable_shared or enable_static is + configured. Reported by Tom Tromey. + + * ltmain.sh.in: Bomb out if no library types are configured. + +1997-02-22 Gordon Matzigkeit + + * ltconfig.in, ltmain.sh.in (hardcode_libdir_flag_spec): Renamed + from `hardcode_libdir_flag'. + (library_names_spec): Renamed from `lib_names'. + + * ltconfig.in, ltmain.sh.in (hardcode_action): Change value from + `rpath' to `immediate'. + + * replfunc.m4: Add AM_FUNC_ALLOCA, AM_FUNC_MEMCMP, and + AM_STRUCT_ST_BLOCKS. + +1997-02-18 Gordon Matzigkeit + + * ltconfig.in: Transform *-*-linux* to *-*-linux-gnu* to support + old-style config.guess scripts. + +1997-02-17 Gordon Matzigkeit + + * ltmain.sh.in: Create objdir *before* linking a program into it. + +1997-02-12 Gordon Matzigkeit + + * ltconfig.in: Any ld --version that returns GNU is probably a GNU + ld. From Marcus Daniels. + + * libtool.m4: Added AM_REPLACE_FUNCS. + +1997-02-11 Gordon Matzigkeit + + * ltconfig.in: Trivial port to *-*-osf4. From Bruno Haible. + +1997-02-10 Gordon Matzigkeit + + * ltconfig.in: AIX 3 and 4 ld only hardcodes LIBPATH if -L is not + specified. This behaviour is the same with both xlc and gcc. + +1997-02-07 Gordon Matzigkeit + + * doc/platforms.texi: Yaay! We found a workaround for HP-UX + /bin/sh buffer overflows. From Eric Backus. + +1997-02-03 Gordon Matzigkeit + + * Release 0.9. + + * PLATFORMS, doc/platforms.texi, Makefile.am, doc/Makefile.am: + Move PLATFORMS to doc/platforms.texi. + + * ltmain.sh.in (link): Use hardcode_libdir_flag to get a library + directory into the resulting binary. + Use hardcode_action, and make many simplifying changes to have + compilation and finalization be consistent with each other. + + * ltconfig.in: Not so amazing! It's AIX cc that hardcodes direct + libraries... gcc doesn't, though. + (link_rpath_flag): Change link_rpath_flag to be + hardcode_libdir_flag. + (hardcode_action): New variable to simplify ltmain.sh. + + * tests/Makefile.am (TESTS): Do the full make sequence with + --disable-shared, then without. + + * tests/demo-sttc.test: Configure the demo directory with + --disable-shared. + +1997-01-29 Gordon Matzigkeit + + * ltmain.sh.in: Change to take advantage of linkers that don't + hardcode direct libraries. + + * ltconfig.in: Amazing! AIX 3 linker doesn't hardcode direct + libraries, which makes it less buggy than AIX 4. Reported by Mark + Kettenis. + + * demo/configure.in: Check for the math library. + + * demo/foo.c (foo): Change to use the `cos' function, so that we + need to link against another library. + + * tests/hardcode.test: Rewrite to use fgrep on output from ``strings + -a'' if using fgrep directly on the binary files fails. From Mark + Kettenis. + +1997-01-28 Gordon Matzigkeit + + * ltmain.sh.in (link): Export the PATH variable in order to find + the program, rather than giving a full path. This helps give the + program a less confusing value for argv[0]. + + * tests/hardcode.test: Make sure that ../demo/libhello.la really is a + shared library before running hardcoding tests. + +1997-01-26 Gordon Matzigkeit + + * Release 0.8. + +1997-01-24 Gordon Matzigkeit + + * Makefile.am (demo_distfiles): Add demo/acinclude.m4 to the + distribution. + +1997-01-22 Gordon Matzigkeit + + * libtool.m4: For IRIX 6, ld needs -n32 if cc uses it. Reported + by Bruno Haible. + + * ltconfig.in: IRIX ld does not hardcode direct libraries. + Reported by Bruno Haible. + +1997-01-18 Gordon Matzigkeit + + * ltconfig.in, ltmain.sh.in (hardcode_shlibpath_var): Allow new + value, `unsupported', since most linkers do not allow you to use + shlibpath_var for initial linking. + + * ltconfig.in: Lots of bug fixes from Bruno Haible. Set wl on + OSF/1, fix definitions of hardcode_* variables. + (archive_cmds): Fix not to use +h on HP-UX 9.x. Reported by Bruno + Haible. + + * tests/demo-conf.test: Use the CONFIG_SHELL environment variable when + running configure in the demo directory. From Bruno Haible. + + * tests/Makefile.am (clean-local): Make distclean in the demo directory, + so that ``make clean; env CC=cc make check'' works as one would + expect. + + * tests/demo-make.test: Fix typo (use $make instead of make). Reported + by Akim Demaille. + +1997-01-17 Gordon Matzigkeit + + * libtoolize.in: Handle explicit AC_CONFIG_AUX_DIR settings. + Suggested by Akim Demaille. + + * libtool.m4: Change ltconfig line to use $CONFIG_SHELL when it is + specified. Reported by Bruno Haible. + +1997-01-16 Gordon Matzigkeit + + * demo/Makefile.am (hc-direct): Do better searching for the proper + name to do a direct link. + (hc-libpath): Make allowances if shlibpath_var cannot be used + to find libraries at link time, such as on AIX. + + * Makefile.am (demo_distfiles): Remove ansi2knr.1 and ansi2knr.c. + + * demo/foo.c, demo/hello.c, demo/main.c: Change ANSI prototypes to + KNR form, for better portability, and less ansi2knr hair. + + * demo/configure.in: Remove AM_FUNC_PROTOTYPES. + + * demo/Makefile.am: Remove ansi2knr from the AUTOMAKE_OPTIONS. + + * demo/ansi2knr.1, demo/ansi2knr.c: Removed these files. + + * ltmain.sh.in: Use 1>&2 consistently to direct errors and + warnings to stderr. + (compile): Fix missing single quote. + + * ltconfig.in (hardcode_direct): On Solaris at least, using + DIR/libNAME.so does not hardcode DIR, so introduce a new hardcode + variable to reflect that. + + * ltmain.sh.in (link): If linking with $link_static_flag fails, + then retry without it, but still use the .a versions of + uninstalled libtool archives. + + * tests/tlibtool: Rewrote to grab all the settings from the generated + libtool script. + + * tests/hardcode.test: Make allowances if shlibpath_var cannot be used + to find libraries at link time, such as on AIX. + +1997-01-15 Gordon Matzigkeit + + * ltmain.sh.in (link): Eval $link_static_flag. Reported by Bruno + Haible. + + * PLATFORMS: Add to distribution. Suggested by Bruno Haible. + +1997-01-14 Gordon Matzigkeit + + * tests/demo-conf.test, tests/demo-inst.test, tests/demo-unst.test, + tests/hardcode.test: + Use $make instead of make. + + * tests/defs (make): Add definition of $make that uses the $MAKE + environment variable, if set. Suggested by Bruno Haible. + + * tests/demo-unst.test (leftovers): Change the find command to ignore + files beginning with a dot, as egrep -v doesn't seem to do the + trick. Reported by Bruno Haible. + +1997-01-13 Gordon Matzigkeit + + * ltconfig.in: Add support for SCO OpenServer 5.x. From + Christopher Olsen. + + (can_build_shared): Initialize at the top of the file, so that + shared libraries aren't built on platforms that don't support + them. + + * tests/hardcode.test: Added a test to make sure that libtool's idea of + hardcoding system linkers is correct. + +1997-01-11 Gordon Matzigkeit + + * ltmain.sh.in, ltconfig.in, libtoolize.in, doc/libtool.texi: + Update the copyright completion years. + +1997-01-08 Gordon Matzigkeit + + * ltconfig.in: Port to IRIX 5.3, 6.2. + +1997-01-06 Gordon Matzigkeit + + * ltconfig.in: HP-UX 9 support is the same as HP-UX 10, so the + port is trivial. + + * libtoolize.in: Add --dry-run option, -n for short. + +1997-01-03 Gordon Matzigkeit + + * ltmain.sh.in (link): On at least SunOS, /bin/sh doesn't + understand "export something=val". From Bruno Haible. + + * tests/Makefile.am (distclean-local): Remove all files that the tests + may have created. Reported by Bruno Haible. + + * For all tests, discover srcdir when running from the command + line. + + * tests/demo-unst.test: Don't fail if make uninstall doesn't delete + files beginning with a dot, since spurious .nfsXXX files may be + present when running NFS. Reported by Bruno Haible. + +1997-01-02 Gordon Matzigkeit + + * ltmain.sh.in (compile): Recognize valid source file suffixes for + Fortran and C++. + + * tests/suffix.test: New test to guarantee that libtool compile + recognizes valid source file suffices. + +1996-12-17 Gordon Matzigkeit + + * ltmain.sh.in (link): Don't allow *._o and *.l_o to be valid + object type suffixes, in spite of Automake's current ansi2knr + implementation. Not all compilers allow non-`.o' suffixes. + +1996-12-16 Gordon Matzigkeit + + * ltmain.sh.in (link): Delete the `libtool' version type. + +1996-12-12 Gordon Matzigkeit + + * ltconfig.in: Use the full autoconf syntax when checking for GNU + C. Delete library stripping program, until we have a correct + test. + +1996-12-11 Gordon Matzigkeit + + * ltconfig.in: On AIX 3, use /usr/ucb/nm, not /ucb/nm. From Mark + Kettenis. + +1996-12-09 Gordon Matzigkeit + + Reported by Charles Kerr: + * doc/libtool.texi (Creating Object Files): Doc fix independant -> + independent. + + * ltconfig.in (ld_shlibs): SunOS 4 doesn't support shared library + dependencies. + +1996-12-08 Gordon Matzigkeit + + * Release 0.7. + + * Makefile.am (EXTRA_DIST): Add README-automake to the + distribution. + + * ltmain.sh.in (link): When linking libtool libraries, use + standard objects if they are PIC. This prevents spurious warnings + about invalid suffixes on AIX. + + * demo/Makefile.am: Rename libhell to libhello, so that we're not + quite as offensive. + + * ltconfig.in: Remove unnecessary host validity checking. + + * ltmain.sh.in: Don't force people to use libNAME.la: SOMETHING.la + is good enough (for consistency with *.a handling). + + * tests/demo.test: Break up into demo-conf.test, demo-make.test, + demo-exec.test, demo-inst.test, and demo-unst.test, so that passes + and failures are reported more quickly. + + * tests/link-2.test: Test to make sure that .lo files don't get built + directly into programs. + +1996-12-07 Gordon Matzigkeit + + * ltmain.sh.in (link): Accept files ending in .a as standard + object files. Reported by Ulrich Drepper. + Remove support for creating profiled libraries (for now). + Transform all library objects into standard objects when linking a + program. + + * ltconfig.in (thisdir): How embarrassing! An error in the regexp + for finding the directory component of the script path. + + * tests/tlibtool: A typically-configured libtool script, that uses + ../ltmain.sh.in for its backend. + + * tests/link.test: Make sure that it is legal to link against .a files. + +1996-12-05 Gordon Matzigkeit + + * ltmain.sh.in (compile): Support `.S' (preprocessed assembler) + files. Reported by Anthony Green. + + * libtoolize.in: Give clearer instrutions for how to update + aclocal.m4. + + * ltconfig.in, ltmain.sh.in (link): Add support for creating + reloadable objects. + +1996-12-04 Gordon Matzigkeit + + * ltmain.sh.in (install): Fix passing -n flag to `libtool + --finish'. + (compile): Compile `.lo' and `.o' objects at the same time so that + non-PIC objects (if they are available) can be used for linking + into programs and creating static archives. Suggested by Ulrich + Drepper. + +1996-12-03 Gordon Matzigkeit + + * ltmain.sh.in (link): Give the full path to the libtool library + when sourcing it. + + * ltconfig.in (old_striplib): Do a configuration test to determine + if old-style libraries actually can be stripped or not. + +1996-12-02 Gordon Matzigkeit + + * tests/demo.test: Try compiling the ../demo subdirectory, with no + special options. + + * test-e.test: Check that we haven't used `test -e' anywhere in + our portable shell scripts. + +1996-12-02 Gordon Matzigkeit + + * ltconfig.in: Delete reference to ABOUT-LIBS. + + * tests: Added new subdirectory. + + * doc/libtool.texi: Doc fixes, and finished up the Configuring + chapter. + + * ltmain.sh.in (link): Allow *._o and *.l_o to be valid object + file suffixes, for Automake's ansi2knr implementation. + New option -version-info replaces -version-file. + + [help]: Give a pointer to mode-specific help when appropriate. + + * ltconfig.in: Changed messages to correspond to AM_PROG_CC_STDC. + + * demo: Also test Automake's ansi2knr support. + +1996-11-19 Gordon Matzigkeit + + * ltconfig.in: Bug fixes for AIX 4, and for static platforms. + + * ltmain.sh.in (install): Fix for loops over arguments. + Need to quote ${IFS= } -> "${IFS= }". + (link): Fix soname_spec bug. Create objdir whether or not we have + shared libraries. + + * ltconfig.in: Check for library stripping program. + Use test -f instead of test -e. + +1996-11-18 Gordon Matzigkeit + + * ltconfig.in: Don't run the RANLIB test unless RANLIB wasn't + set. + Be verbose about the environment variables we were configured + with. + + * ltmain.sh.in (objdir): change to .libs. + +1996-11-16 Gordon Matzigkeit + + * ltmain.sh.in (install): Just plunge ahead with the + installation... don't try to enforce dependencies. + +1996-11-15 Gordon Matzigkeit + + * ltmain.sh.in: Fix up $libdir to be $dest in install mode. + +1996-11-10 Gordon Matzigkeit + + * ltmain.sh: Finished rewrite of compile, link, and install + modes. + + * New ChangeLog file for libtool-0.7, since I've totally rewritten + libtool. + +1996-03-15 Gordon Matzigkeit + + * For historical reasons: this is when I started writing libtool. +-- + Copyright (C) 1996-2010 Free Software Foundation, Inc. + + This file is part of GNU Libtool. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. diff --git a/BUILD/libtool-2.4.7/GNUmakefile b/BUILD/libtool-2.4.7/GNUmakefile new file mode 100644 index 0000000..7a08c9d --- /dev/null +++ b/BUILD/libtool-2.4.7/GNUmakefile @@ -0,0 +1,127 @@ +# Having a separate GNUmakefile lets me 'include' the dynamically +# generated rules created via cfg.mk (package-local configuration) +# as well as maint.mk (generic maintainer rules). +# This makefile is used only if you run GNU Make. +# It is necessary if you want to build targets usually of interest +# only to the maintainer. + +# Copyright (C) 2001, 2003, 2006-2022 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# If the user runs GNU make but has not yet run ./configure, +# give them a diagnostic. +_gl-Makefile := $(wildcard [M]akefile) +ifneq ($(_gl-Makefile),) + +# Make tar archive easier to reproduce. +export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner + +# Allow the user to add to this in the Makefile. +ALL_RECURSIVE_TARGETS = + +include Makefile + +# Some projects override e.g., _autoreconf here. +-include $(srcdir)/cfg.mk + +# Allow cfg.mk to override these. +_build-aux ?= build-aux +_autoreconf ?= autoreconf -v + +include $(srcdir)/maint.mk + +# Ensure that $(VERSION) is up to date for dist-related targets, but not +# for others: rerunning autoreconf and recompiling everything isn't cheap. +_have-git-version-gen := \ + $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) +ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) + _is-dist-target ?= $(filter-out %clean, \ + $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS))) + _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) + ifneq (,$(_is-dist-target)$(_is-install-target)) + _curr-ver := $(shell cd $(srcdir) \ + && $(_build-aux)/git-version-gen \ + .tarball-version \ + $(git-version-gen-tag-sed-script)) + ifneq ($(_curr-ver),$(VERSION)) + ifeq ($(_curr-ver),UNKNOWN) + $(info WARNING: unable to verify if $(VERSION) is the correct version) + else + ifneq (,$(_is-install-target)) + # GNU Coding Standards state that 'make install' should not cause + # recompilation after 'make all'. But as long as changing the version + # string alters config.h, the cost of having 'make all' always have an + # up-to-date version is prohibitive. So, as a compromise, we merely + # warn when installing a version string that is out of date; the user + # should run 'autoreconf' (or something like 'make distcheck') to + # fix the version, 'make all' to propagate it, then 'make install'. + $(info WARNING: version string $(VERSION) is out of date;) + $(info run '$(MAKE) _version' to fix it) + else + $(info INFO: running autoreconf for new version string: $(_curr-ver)) +GNUmakefile: _version + touch GNUmakefile + endif + endif + endif + endif +endif + +.PHONY: _version +_version: + cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf) + $(MAKE) $(AM_MAKEFLAGS) Makefile + +else + +.DEFAULT_GOAL := abort-due-to-no-makefile +srcdir = . + +# The package can override .DEFAULT_GOAL to run actions like autoreconf. +-include ./cfg.mk + +# Allow cfg.mk to override these. +_build-aux ?= build-aux +_autoreconf ?= autoreconf -v + +include ./maint.mk + +ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) +$(MAKECMDGOALS): abort-due-to-no-makefile +endif + +abort-due-to-no-makefile: + @echo There seems to be no Makefile in this directory. 1>&2 + @echo "You must run ./configure before running '$(MAKE)'." 1>&2 + @exit 1 + +endif + +# Tell version 3.79 and up of GNU make to not build goals in this +# directory in parallel, in case someone tries to build multiple +# targets, and one of them can cause a recursive target to be invoked. + +# Only set this if Automake doesn't provide it. +AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) \ + dist distcheck tags ctags + +ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS) + +ifneq ($(word 2, $(MAKECMDGOALS)), ) +ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), ) +.NOTPARALLEL: +endif +endif diff --git a/BUILD/libtool-2.4.7/INSTALL b/BUILD/libtool-2.4.7/INSTALL new file mode 100644 index 0000000..e82fd21 --- /dev/null +++ b/BUILD/libtool-2.4.7/INSTALL @@ -0,0 +1,368 @@ +Installation Instructions +************************* + + Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free +Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell command './configure && make && make install' +should configure, build, and install this package. The following +more-detailed instructions are generic; see the 'README' file for +instructions specific to this package. Some packages provide this +'INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + The 'configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a 'Makefile' in each directory of the package. +It may also create one or more '.h' files containing system-dependent +definitions. Finally, it creates a shell script 'config.status' that +you can run in the future to recreate the current configuration, and a +file 'config.log' containing compiler output (useful mainly for +debugging 'configure'). + + It can also use an optional file (typically called 'config.cache' and +enabled with '--cache-file=config.cache' or simply '-C') that saves the +results of its tests to speed up reconfiguring. Caching is disabled by +default to prevent problems with accidental use of stale cache files. + + If you need to do unusual things to compile the package, please try +to figure out how 'configure' could check whether to do them, and mail +diffs or instructions to the address given in the 'README' so they can +be considered for the next release. If you are using the cache, and at +some point 'config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file 'configure.ac' (or 'configure.in') is used to create +'configure' by a program called 'autoconf'. You need 'configure.ac' if +you want to change it or regenerate 'configure' using a newer version of +'autoconf'. + + The simplest way to compile this package is: + + 1. 'cd' to the directory containing the package's source code and type + './configure' to configure the package for your system. + + Running 'configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type 'make' to compile the package. + + 3. Optionally, type 'make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type 'make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the 'make install' phase executed with root + privileges. + + 5. Optionally, type 'make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior 'make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing 'make clean'. To also remove the + files that 'configure' created (so you can compile the package for + a different kind of computer), type 'make distclean'. There is + also a 'make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type 'make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide 'make + distcheck', which can by used by developers to test that all other + targets like 'make install' and 'make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the 'configure' script does not know about. Run './configure --help' +for details on some of the pertinent environment variables. + + You can give 'configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here is +an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU 'make'. 'cd' to the +directory where you want the object files and executables to go and run +the 'configure' script. 'configure' automatically checks for the source +code in the directory that 'configure' is in and in '..'. This is known +as a "VPATH" build. + + With a non-GNU 'make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use 'make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the 'lipo' tool if you have problems. + +Installation Names +================== + + By default, 'make install' installs the package's commands under +'/usr/local/bin', include files under '/usr/local/include', etc. You +can specify an installation prefix other than '/usr/local' by giving +'configure' the option '--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option '--exec-prefix=PREFIX' to 'configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like '--bindir=DIR' to specify different values for particular +kinds of files. Run 'configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the default +for these options is expressed in terms of '${prefix}', so that +specifying just '--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to 'configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +'make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, 'make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +'${prefix}'. Any directories that were specified during 'configure', +but not in terms of '${prefix}', must each be overridden at install time +for the entire installation to be relocated. The approach of makefile +variable overrides for each directory variable is required by the GNU +Coding Standards, and ideally causes no recompilation. However, some +platforms have known limitations with the semantics of shared libraries +that end up requiring recompilation when using this method, particularly +noticeable in packages that use GNU Libtool. + + The second method involves providing the 'DESTDIR' variable. For +example, 'make install DESTDIR=/alternate/directory' will prepend +'/alternate/directory' before all installation names. The approach of +'DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of '${prefix}' +at 'configure' time. + +Optional Features +================= + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving 'configure' the +option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. + + Some packages pay attention to '--enable-FEATURE' options to +'configure', where FEATURE indicates an optional part of the package. +They may also pay attention to '--with-PACKAGE' options, where PACKAGE +is something like 'gnu-as' or 'x' (for the X Window System). The +'README' should mention any '--enable-' and '--with-' options that the +package recognizes. + + For packages that use the X Window System, 'configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the 'configure' options '--x-includes=DIR' and +'--x-libraries=DIR' to specify their locations. + + Some packages offer the ability to configure how verbose the +execution of 'make' will be. For these packages, running './configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with 'make V=1'; while running './configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with 'make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC +is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX 'make' updates targets which have the same timestamps as their +prerequisites, which makes it generally unusable when shipped generated +files such as 'configure' are involved. Use GNU 'make' instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its '' header file. The option '-nodtk' can be used as a +workaround. If GNU CC is not installed, it is therefore recommended to +try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put '/usr/ucb' early in your 'PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in '/usr/bin'. So, if you need '/usr/ucb' +in your 'PATH', put it _after_ '/usr/bin'. + + On Haiku, software installed for all users goes in '/boot/common', +not '/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features 'configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, 'configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +'--build=TYPE' option. TYPE can either be a short name for the system +type, such as 'sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file 'config.sub' for the possible values of each field. If +'config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option '--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with '--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for 'configure' scripts to share, +you can create a site shell script called 'config.site' that gives +default values for variables like 'CC', 'cache_file', and 'prefix'. +'configure' looks for 'PREFIX/share/config.site' if it exists, then +'PREFIX/etc/config.site' if it exists. Or, you can set the +'CONFIG_SITE' environment variable to the location of the site script. +A warning: not all 'configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to 'configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the 'configure' command line, using 'VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified 'gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an +Autoconf limitation. Until the limitation is lifted, you can use this +workaround: + + CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash + +'configure' Invocation +====================== + + 'configure' recognizes the following options to control how it +operates. + +'--help' +'-h' + Print a summary of all of the options to 'configure', and exit. + +'--help=short' +'--help=recursive' + Print a summary of the options unique to this package's + 'configure', and exit. The 'short' variant lists options used only + in the top level, while the 'recursive' variant lists options also + present in any nested packages. + +'--version' +'-V' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally 'config.cache'. FILE defaults to '/dev/null' to + disable caching. + +'--config-cache' +'-C' + Alias for '--cache-file=config.cache'. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + 'configure' can determine that directory automatically. + +'--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: for + more details, including other options available for fine-tuning the + installation locations. + +'--no-create' +'-n' + Run the configure checks, but stop before creating any output + files. + +'configure' also accepts some other, not widely useful, options. Run +'configure --help' for more details. diff --git a/BUILD/libtool-2.4.7/Makefile.am b/BUILD/libtool-2.4.7/Makefile.am new file mode 100644 index 0000000..7bd7f72 --- /dev/null +++ b/BUILD/libtool-2.4.7/Makefile.am @@ -0,0 +1,835 @@ +## Makefile.am -- Process this file with automake to produce Makefile.in +## +## Copyright (C) 2003-2019, 2021-2022 Free Software Foundation, Inc. +## Written by Gary V. Vaughan, 2003 +## +## This file is part of GNU Libtool. +## +## GNU Libtool is free software; you can redistribute it and/or +## modify it under the terms of the GNU General Public License as +## published by the Free Software Foundation; either version 2 of +## the License, or (at your option) any later version. +## +## GNU Libtool is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with GNU Libtool; see the file COPYING. If not, a copy +## can be downloaded from http://www.gnu.org/licenses/gpl.html, +## or obtained by writing to the Free Software Foundation, Inc., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +##### + +ACLOCAL_AMFLAGS = -I m4 + +AM_CPPFLAGS = +AM_LDFLAGS = + +SUBDIRS = . gnulib-tests +DIST_SUBDIRS = $(SUBDIRS) +EXTRA_DIST = + +BUILT_SOURCES = libtool libtoolize + +CLEANFILES = +MOSTLYCLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +include_HEADERS = +noinst_LTLIBRARIES = +lib_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +# Using 'cd' in backquotes may print the directory name, use this instead: +lt__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd + +git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version' +rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'` + + +# ---------- # +# Bootstrap. # +# ---------- # + +SCRIPT_ENV = GREP='$(GREP)' SED='$(SED)' + +build_scripts = $(srcdir)/$(aux_dir)/announce-gen \ + $(srcdir)/$(aux_dir)/do-release-commit-and-tag \ + $(srcdir)/$(aux_dir)/gendocs.sh \ + $(srcdir)/$(aux_dir)/git-version-gen \ + $(srcdir)/$(aux_dir)/gnu-web-doc-update \ + $(srcdir)/$(aux_dir)/gnupload \ + $(srcdir)/$(aux_dir)/useless-if-before-free \ + $(srcdir)/$(aux_dir)/vc-list-files + +EXTRA_DIST += bootstrap bootstrap.conf $(build_scripts) cfg.mk maint.mk \ + GNUmakefile +CLEANFILES += libtool libtoolize + +## If a file is named several times below, and especially if it +## is a distributed file created during Libtool bootstrap, we +## put it in a variable in accordance with the DRY principle. +## Use '$(srcdir)' for the benefit of non-GNU makes: referring +## to them by their variable makes sure they appear as targets +## and dependencies with '$(srcdir)' consistently. +configure_ac = $(srcdir)/configure.ac +config_status = $(top_builddir)/config.status +extract_trace = $(srcdir)/$(aux_dir)/extract-trace +funclib_sh = $(srcdir)/$(aux_dir)/funclib.sh +inline_source = $(srcdir)/$(aux_dir)/inline-source +libtoolize_in = $(srcdir)/libtoolize.in +ltmain_sh = $(srcdir)/$(aux_dir)/ltmain.sh +ltmain_in = $(srcdir)/$(aux_dir)/ltmain.in +libtool_m4 = $(srcdir)/$(macro_dir)/libtool.m4 +ltversion_in = $(srcdir)/$(macro_dir)/ltversion.in +ltversion_m4 = $(srcdir)/$(macro_dir)/ltversion.m4 +no_bogus_macros = $(srcdir)/$(aux_dir)/no-bogus-m4-defines +options_parser = $(srcdir)/$(aux_dir)/options-parser +u2d_copyright = $(srcdir)/$(aux_dir)/update-copyright + +EXTRA_DIST += $(extract_trace) $(funclib_sh) $(inline_source) \ + $(libtoolize_in) $(ltmain_in) $(ltmain_sh) \ + $(ltversion_in) $(ltversion_m4) $(no_bogus_macros) \ + $(options_parser) $(u2d_copyright) + +## These are the replacements that need to be made at bootstrap time, +## because they must be static in distributed files, and not accidentally +## changed by configure running on the build machine. +bootstrap_edit = $(SED) \ + -e 's|@MACRO_VERSION\@|$(VERSION)|g' \ + -e "s|@MACRO_REVISION\@|$$revision|g" \ + -e "s|@MACRO_SERIAL\@|$$serial|g" \ + -e 's|@PACKAGE\@|$(PACKAGE)|g' \ + -e 's|@PACKAGE_BUGREPORT\@|$(PACKAGE_BUGREPORT)|g' \ + -e 's|@PACKAGE_URL\@|$(PACKAGE_URL)|g' \ + -e 's|@PACKAGE_NAME\@|$(PACKAGE_NAME)|g' \ + -e "s|@package_revision\@|$$revision|g" \ + -e 's|@PACKAGE_STRING\@|$(PACKAGE_NAME) $(VERSION)|g' \ + -e 's|@PACKAGE_TARNAME\@|$(PACKAGE)|g' \ + -e 's|@PACKAGE_VERSION\@|$(VERSION)|g' \ + -e 's|@VERSION\@|$(VERSION)|g' + +## We build ltversion.m4 here, instead of from config.status, +## because config.status is rerun each time one of configure's +## dependencies change and ltversion.m4 happens to be a configure +## dependency. configure and ltversion.m4 would be rebuilt in +## a loop otherwise. +## We used to do this with a 'stamp-vcl' file, but non-gmake builds +## would rerun configure on every invocation, so now we manually +## check the version numbers from the build rule when necessary. +$(ltversion_m4): $(ltversion_in) $(dotversion) + @$(rebuild); \ + if test -f '$@'; then \ + eval `'$(SED)' -n '/^macro_revision=/p' '$@'`; \ + test "x$$macro_revision" = "x$$revision" && rebuild=false; \ + fi; \ + for prereq in $?; do \ + case $$prereq in *.version);; *) rebuild=:;; esac; \ + done; \ + if $$rebuild; then \ + rm -f '$@'; \ + if test -d '$(srcdir)/.git' && git --version >/dev/null 2>&1; then \ + $(git_commit_count) > '$(srcdir)/.serial'; \ + fi; \ + serial=`cat '$(srcdir)/.serial'`; \ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo $(bootstrap_edit) "'$(ltversion_in)' > '$@'"; fi; \ + $(bootstrap_edit) '$(ltversion_in)' > '$@'; \ + chmod a-w '$@'; \ + fi + +## And for similar reasons, ltmain.sh can't be built from config.status. +## We used to do this with a 'stamp-vcl' file, but non-gmake builds +## would rerun configure on every invocation, so now we manually +## check the version numbers from the build rule when necessary. +## !WARNING! If you edit this rule to change the contents of ltmain.sh, +## you must 'touch $(aux_dir)/ltmain.in' from the +## shell if you need ltmain.sh to be regenerated. Ideally, we +## should make this rule depend on Makefile but that will break +## distcheck (at least) by rebuilding ltmain.sh in the source +## tree whenever config.status regenerates the Makefile. +$(ltmain_sh): $(ltmain_in) $(dotversion) + @$(rebuild); \ + if test -f '$@'; then \ + eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ + test "x$$package_revision" = "x$$revision" && rebuild=false; \ + fi; \ + for prereq in $?; do \ + case $$prereq in *.version);; *) rebuild=:;; esac; \ + done; \ + if $$rebuild; then \ + rm -f '$@'; \ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo "$(inline_source) '$(ltmain_in)' |" $(bootstrap_edit) "> '$@'"; fi; \ + $(SCRIPT_ENV) '$(inline_source)' '$(ltmain_in)' | $(bootstrap_edit) > '$@'; \ + chmod a-w '$@'; \ + fi + +lt_Makefile_am = $(srcdir)/$(ltdl_dir)/Makefile.am +lt_Makefile_in = $(srcdir)/$(ltdl_dir)/Makefile.in +ltdl_mk = $(srcdir)/$(ltdl_dir)/ltdl.mk + +$(lt_Makefile_am): $(ltdl_mk) + $(AM_V_at)rm -f '$@' + $(AM_V_GEN)( '$(SED)' -n '1,/^.. DO NOT REMOVE THIS LINE -- /p' \ + '$(ltdl_mk)'; \ + { echo 'ACLOCAL_AMFLAGS = -I ../m4'; \ + echo 'AUTOMAKE_OPTIONS = foreign'; \ + echo 'AM_CPPFLAGS ='; \ + echo 'AM_LDFLAGS ='; \ + echo 'BUILT_SOURCES ='; \ + echo 'include_HEADERS ='; \ + echo 'noinst_LTLIBRARIES ='; \ + echo 'lib_LTLIBRARIES ='; \ + echo 'EXTRA_LTLIBRARIES ='; \ + echo 'EXTRA_DIST ='; \ + echo 'CLEANFILES ='; \ + echo 'MOSTLYCLEANFILES ='; \ + }; \ + '$(SED)' -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' \ + '$(ltdl_mk)' \ + |'$(SED)' -e 's|libltdl_||; s|libltdl/||; s|: libltdl/|: |' \ + -e '/^[ ]*-I\$$(srcdir)\/libltdl -Ilibltdl \\/d' \ + -e 's|\$$(libltdl_|$$(|' \ + ) |'$(SED)' -e '/^.. DO NOT REMOVE THIS LINE -- /d' \ + -e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with automake to produce Makefile.in,' > '$@' + $(AM_V_at)chmod a-w '$@' + +## Document the make macros that are needed to build bootstrap-deps +## dependencies when called from 'bootstrap' (developer's machine), +## where the Makefile.am is fed to make in its raw format before +## 'configure' has found the correct values (on the build machine). +bootstrap_files = \ + $(lt_Makefile_am) \ + $(ltmain_sh) \ + $(ltversion_m4) + +.PHONY: bootstrap-deps bootstrap-deps-prep +bootstrap-deps: bootstrap-deps-prep + $(MAKE) $(bootstrap_files) + +bootstrap-deps-prep: +## The following variables are substituted by 'bootstrap-dep-preps' + @exit_cmd=:; \ + test -z '$(srcdir)' \ + && echo "ERROR: don't call $(MAKE) with srcdir unset." \ + && exit_cmd=exit; \ + test -z '$(PACKAGE)' \ + && echo "ERROR: don't call $(MAKE) with PACKAGE unset." \ + && exit_cmd=exit; \ + test -z '$(PACKAGE_BUGREPORT)' \ + && echo "ERROR: don't call $(MAKE) with PACKAGE_BUGREPORT unset." \ + && exit_cmd=exit; \ + test -z '$(PACKAGE_NAME)' \ + && echo "ERROR: don't call $(MAKE) with PACKAGE_NAME unset." \ + && exit_cmd=exit; \ + test -z '$(PACKAGE_URL)' \ + && echo "ERROR: don't call $(MAKE) with PACKAGE_URL unset." \ + && exit_cmd=exit; \ + test -z '$(SED)' \ + && echo "ERROR: don't call $(MAKE) with SED unset." \ + && exit_cmd=exit; \ + test -z '$(VERSION)' \ + && echo "ERROR: don't call $(MAKE) with VERSION unset." \ + && exit_cmd=exit; \ + $$exit_cmd 1 + $(AM_V_at)rm -f $(bootstrap_files) + +## Unfortunately, all this bogeyness means that we have to manually +## keep the generated files in libltdl up to date. +LTDL_BOOTSTRAP_DEPS = \ + $(stamp_mk) \ + $(lt_aclocal_m4) \ + $(lt_config_h_in) \ + $(lt_configure) + +all-local: $(LTDL_BOOTSTRAP_DEPS) + + +## ---------------- ## +## Libtool scripts. ## +## ---------------- ## + +abs_aux_dir = `$(lt__cd) '$(srcdir)/$(aux_dir)' && pwd` +ltdl_ac_aux_dir = `$(SCRIPT_ENV) $(extract_trace) AC_CONFIG_AUX_DIR $(srcdir)/libltdl/configure.ac` + +configure_edit = $(bootstrap_edit) \ + -e '/^\. /s|@auxscriptsdir\@|'$(abs_aux_dir)'|g' \ + -e 's|@aclocaldir\@|$(aclocaldir)|g' \ + -e 's|@aux_dir\@|$(aux_dir)|g' \ + -e 's|@datadir\@|$(datadir)|g' \ + -e 's|@EGREP\@|$(EGREP)|g' \ + -e 's|@FGREP\@|$(FGREP)|g' \ + -e 's|@GREP\@|$(GREP)|g' \ + -e 's|@host_triplet\@|$(host_triplet)|g' \ + -e 's|@LN_S\@|$(LN_S)|g' \ + -e "s|@ltdl_ac_aux_dir\@|$(ltdl_ac_aux_dir)|g" \ + -e 's|@macro_dir\@|$(macro_dir)|g' \ + -e 's|@pkgauxdir\@|$(pkgauxdir)|g' \ + -e 's|@pkgaux_files\@|$(pkgaux_scripts) $(pkgaux_data_files)|g' \ + -e 's|@pkgaux_install_files\@|$(pkgaux_install_files)|g' \ + -e 's|@pkgaux_parent_files\@|$(pkgaux_parent_files)|g' \ + -e 's|@pkgdatadir\@|$(pkgdatadir)|g' \ + -e 's|@pkgltdl_files\@|$(pkgltdl_files)|g' \ + -e 's|@pkgmacro_files\@|$(pkgmacro_files)|g' \ + -e 's|@prefix\@|$(prefix)|g' \ + -e 's|@SED\@|$(SED)|g' \ + -e 's|@srcdir\@|$(srcdir)|g' + +# The libtool distributor and the standalone libtool script. +bin_SCRIPTS = libtool + +libtoolize: $(libtoolize_in) $(config_status) + $(AM_V_at)rm -f '$@' + $(AM_V_GEN)$(configure_edit) '$(libtoolize_in)' > '$@' + $(AM_V_at)chmod a+x '$@' + $(AM_V_at)chmod a-w '$@' + +# We used to do this with a 'stamp-vcl' file, but non-gmake builds +# would rerun configure on every invocation, so now we manually +# check the version numbers from the build rule when necessary. +libtool: $(ltmain_sh) $(config_status) $(dotversion) + @$(rebuild); \ + if test -f '$@'; then \ + eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ + test "$$package_revision" = "$$revision" && rebuild=false; \ + fi; \ + for prereq in $?; do \ + case $$prereq in *.version);; *) rebuild=:;; esac; \ + done; \ + if $$rebuild; then \ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo '$(SHELL) $(top_builddir)/config.status "$@"'; fi; \ + cd '$(top_builddir)' && '$(SHELL)' ./config.status '$@'; \ + fi + + +## -------- ## +## Libltdl. ## +## -------- ## + +include libltdl/ltdl.mk + +lt_aclocal_m4 = $(srcdir)/$(ltdl_dir)/aclocal.m4 +lt_config_h_in = $(srcdir)/$(ltdl_dir)/config-h.in +lt_configure = $(srcdir)/$(ltdl_dir)/configure +lt_configure_ac = $(srcdir)/$(ltdl_dir)/configure.ac +stamp_mk = $(srcdir)/$(ltdl_dir)/stamp-mk + +lt_obsolete_m4 = $(srcdir)/$(macro_dir)/lt~obsolete.m4 + +EXTRA_DIST += $(lt_aclocal_m4) \ + $(lt_configure) \ + $(lt_configure_ac) \ + $(lt_config_h_in) \ + $(lt_Makefile_am) \ + $(lt_Makefile_in) \ + $(lt_obsolete_m4) \ + $(stamp_mk) + +$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile + +# Don't let unused scripts leak into the libltdl Makefile +$(stamp_mk): $(lt_Makefile_in) + $(AM_V_at)T='$(srcdir)/$(aux_dir)/Makefile.tmp'; \ + for p in $(srcdir)/$(aux_dir)/*; do \ + test -f "$$p" || continue; \ + f=`echo "$$p" | $(SED) 's|^$(srcdir)/$(aux_dir)/||'`; \ + case " $(pkgaux_scripts) ltmain.sh " in \ + *" $$f "*) ;; \ + *) '$(SED)' \ + -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"'\$$||' \ + -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"' ||' \ + -e '/^[ ]*\\$$/d' \ + '$(lt_Makefile_in)' > "$$T" \ + && mv -f "$$T" '$(lt_Makefile_in)';; \ + esac; \ + done + $(AM_V_GEN)echo stamp > '$@' + +lt_aclocal_m4_deps = \ + $(lt_obsolete_m4) \ + $(ltversion_m4) \ + $(libtool_m4) \ + $(srcdir)/$(macro_dir)/ltargz.m4 \ + $(srcdir)/$(macro_dir)/ltdl.m4 \ + $(srcdir)/$(macro_dir)/ltoptions.m4 \ + $(srcdir)/$(macro_dir)/ltsugar.m4 \ + $(srcdir)/$(macro_dir)/m4.m4 \ + $(srcdir)/$(ltdl_dir)/configure.ac + +lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps) + +$(lt_aclocal_m4): $(lt_aclocal_m4_deps) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4 + +$(lt_configure): $(lt_configure_deps) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF) + +$(lt_config_h_in): $(lt_configure_deps) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOHEADER) + $(AM_V_at)touch '$@' + + +## -------------- ## +## Documentation. ## +## -------------- ## + +doc_dir = $(srcdir)/doc + +libtool_1 = $(doc_dir)/libtool.1 +libtoolize_1 = $(doc_dir)/libtoolize.1 +notes_texi = $(doc_dir)/notes.texi +notes_txt = $(doc_dir)/notes.txt + +EXTRA_DIST += $(doc_dir)/gendocs_template + +# A bug in automake 1.11.1 (at least) prevents us from using: +# +# info_TEXINFOS = $(doc_dir)/libtool.texi +# +# Producing the following error, even though srcdir is implicitly set: +# "cannot open < ./$(srcdir)/doc/libtool.texi: No such file or directory" +info_TEXINFOS = doc/libtool.texi +doc_libtool_TEXINFOS = $(doc_dir)/PLATFORMS $(doc_dir)/fdl.texi \ + $(notes_texi) +EXTRA_DIST += $(notes_txt) +## Workaround for a texinfo bug described here: +## http://thread.gmane.org/gmane.comp.tex.texinfo.bugs/3930 +DISTCLEANFILES += libtool.dvi + +all-local: $(notes_txt) + +$(notes_txt): $(notes_texi) + $(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \ + $(MAKEINFOFLAGS) -o '$@' '$(notes_texi)' + +dist_man1_MANS = $(libtool_1) $(libtoolize_1) +MAINTAINERCLEANFILES += $(dist_man1_MANS) +update_mans = \ + PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \ + $(HELP2MAN) --output='$@' + +# It's wrong to make distributed files (e.g. $(libtool_1)) rely on +# files created in the build tree, so instead we regenerate the +# manual pages if the sources for the build-tree files we want to +# run have changed. +$(libtool_1): $(ltmain_sh) + $(AM_V_GEN)$(update_mans) --help-option=--help-all libtool +$(libtoolize_1): $(libtoolize_in) + $(AM_V_GEN)$(update_mans) libtoolize + + +## ------------- ## +## Installation. ## +## ------------- ## + +ltdldir = $(srcdir)/libltdl +pkgauxdir = $(pkgdatadir)/build-aux + +# The timestamps on these files must be preserved carefully so we install, +# uninstall and set executable with custom rules here. +pkgaux_parent_files = ltmain.sh +pkgaux_install_files = config.guess config.sub install-sh +pkgaux_data_files = $(pkgaux_parent_files) + +# Everything that gets picked up by aclocal is automatically distributed, +# this is the list of macro files we install on the user's system. +pkgmacro_files = libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 \ + ltversion.m4 lt~obsolete.m4 + +## These are installed as a subdirectory of pkgdatadir so that +## libtoolize --ltdl can find them later. Note that this list requires +## specific order to avoid unnecessary re-autotooling after libtoolize run. +pkgltdl_files = COPYING.LIB \ + Makefile.am \ + README \ + configure.ac \ + aclocal.m4 \ + Makefile.in \ + config-h.in \ + configure \ + libltdl/lt__alloc.h \ + libltdl/lt__argz_.h \ + libltdl/lt__dirent.h \ + libltdl/lt__glibc.h \ + libltdl/lt__private.h \ + libltdl/lt__strl.h \ + libltdl/lt_dlloader.h \ + libltdl/lt_error.h \ + libltdl/lt_system.h \ + libltdl/slist.h \ + loaders/dld_link.c \ + loaders/dlopen.c \ + loaders/dyld.c \ + loaders/load_add_on.c \ + loaders/loadlibrary.c \ + loaders/preopen.c \ + loaders/shl_load.c \ + lt__alloc.c \ + lt__argz.c \ + lt__dirent.c \ + lt__strl.c \ + lt_dlloader.c \ + lt_error.c \ + ltdl.c \ + ltdl.h \ + ltdl.mk \ + slist.c + +install-data-local: $(lt_Makefile_in) install-scripts-local + @$(NORMAL_INSTALL) +## Don't install over the top of an old pkgdatadir + -rm -rf '$(DESTDIR)$(pkgdatadir)'/* +## First, put a copy of the libtool m4 macros in the aclocal dir + @list='$(pkgmacro_files)'; for p in $$list; do \ + d=`echo "$(DESTDIR)$(aclocaldir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + echo " $(INSTALL_DATA) '$(srcdir)/$(macro_dir)/$$p' '$(DESTDIR)$(aclocaldir)/$$p'"; \ + $(INSTALL_DATA) "$(srcdir)/$(macro_dir)/$$p" "$(DESTDIR)$(aclocaldir)/$$p"; \ + done +## install the helper scripts + @list='$(pkgaux_scripts)' && \ + for p in $$list; do \ + d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + echo " $(INSTALL_SCRIPT) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ + $(INSTALL_SCRIPT) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ + done + @list='$(pkgaux_data_files)' && for p in $$list; do \ + d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + echo " $(INSTALL_DATA) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ + $(INSTALL_DATA) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ + done +## install the libltdl files + @list='$(pkgltdl_files)' && for p in $$list; do \ + d=`echo "$(DESTDIR)$(pkgdatadir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + echo " $(INSTALL_DATA) '$(ltdldir)/$$p' '$(DESTDIR)$(pkgdatadir)/$$p'"; \ + $(INSTALL_DATA) "$(ltdldir)/$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \ + done + chmod a+x '$(DESTDIR)$(pkgdatadir)/configure' + +.PHONY: install-scripts-local +install-scripts-local: $(lt_Makefile_in) +## Inline helper-scripts for installed libtoolize script + @p=`echo libtoolize |sed -e '$(transform)'`; \ + echo " $(SCRIPT_ENV) '$(inline_source)' libtoolize > '$(DESTDIR)$(bindir)/$$p'"; \ + d=`echo "$(DESTDIR)$(bindir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + $(SCRIPT_ENV) '$(inline_source)' libtoolize > "$(DESTDIR)$(bindir)/$$p"; \ + chmod a+x "$(DESTDIR)$(bindir)/$$p" + + +## ------------- ## +## Distribution. ## +## ------------- ## + +edit_readme_alpha = $(srcdir)/$(aux_dir)/edit-readme-alpha +gitlog_to_changelog = $(srcdir)/$(aux_dir)/gitlog-to-changelog +git_log_fix = $(srcdir)/$(aux_dir)/git-log-fix +thanks_gen = $(srcdir)/$(aux_dir)/thanks-gen + +dotserial = $(distdir)/.serial +dotversion = $(top_srcdir)/.version +tarball_version = $(distdir)/.tarball-version +readme = $(distdir)/README +changelog = $(distdir)/ChangeLog +changelog_old = $(srcdir)/ChangeLog.old +thanks = $(distdir)/THANKS +no_thanks = $(srcdir)/NO-THANKS + +# Generate ChangeLog using git log entries for as far back as +# they are in good shape, appending manual records from earlier. +changelog_start_date = 2011-01-01 +$(changelog): FORCE + $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ + TZ=UTC $(gitlog_to_changelog) --amend=$(git_log_fix) \ + --ignore-matching=Omit-from-ChangeLog. \ + --format='%s%n%n%b%n' \ + --since=$(changelog_start_date) > '$@T'; \ + rm -f '$@'; mv '$@T' '$@'; \ + cat '$(changelog_old)' >> '$@'; \ + fi + +# Sort in traditional ASCII order, regardless of the current locale; +# otherwise we may get into trouble with distinct strings that the +# current locale considers to be equal. +ASSORT = LC_ALL=C sort + +# Extract all lines up to the first one starting with "##". +prologue = perl -ne '/^\#\#/ and exit; print' $(no_thanks) + +# Generate THANKS using git log entries as far as possible, fixing +# up ommisions and errors from NO-THANKS configuration. +$(thanks): FORCE + $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ + { \ + $(prologue); echo; \ + { perl -ne '/^$$/.../^$$/ and print' $(no_thanks) \ + | grep -v '^$$' | perl -pe 's/ +/\0/'; \ + { sed -e '1,/\#\# /d' -e '/^\#\# /d' \ + -e 's|[ ][ ]*| |' < $(no_thanks) \ + | tr '\t' '\0'; \ + git log --pretty=format:'%aN%x00%aE'; \ + } | $(ASSORT) -u; \ + } | $(thanks_gen) \ + | LC_ALL=en_US.UTF-8 sort -f; \ + echo; \ + printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \ + } > '$@'; \ + fi + +## Arrange so that .version appears only in the distribution +## tarball, and never in a checked-out repository. +EXTRA_DIST += $(dotversion) +BUILT_SOURCES += $(dotversion) +$(dotversion): + $(AM_V_GEN)echo '$(VERSION)' > '$@T' && mv '$@T' '$@' + +## Edit the README file for alpha releases. +EXTRA_DIST += $(edit_readme_alpha) +re_alpha_version = '\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*[-\.][-\.0-9a-z]*\)' +$(readme): FORCE + @if test -n "`expr $(VERSION) : $(re_alpha_version)`"; then \ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo "$(SHELL) $(edit_readme_alpha) $@"; fi; \ + $(SHELL) $(edit_readme_alpha) '$@'; \ + fi + +git_commit_count = git log --pretty=oneline |wc -l |$(SED) 's|[ ]||g' + +dist-hook: $(changelog) $(thanks) $(dotversion) $(readme) +## Arrange so that .tarball-version appears only in the distribution +## tarball, and never in a checked-out repository. + echo '$(VERSION)' > $(tarball_version) +## ...and similarly for .serial. + $(git_commit_count) > $(dotserial) +## Ensure aclocal has not wrongly picked up old macro definitions. + $(no_bogus_macros) + +distcheck-hook: syntax-check + +uninstall-hook: + @$(NORMAL_UNINSTALL) + @list='$(pkgltdl_files)'; \ + for f in $$list; do \ + echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + @list='$(pkgaux_scripts) $(pkgaux_data_files)'; \ + for f in $$list; do \ + echo " rm -f '$(DESTDIR)$(pkgauxdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgauxdir)/$$f"; \ + done + @for p in $(pkgmacro_files); do \ + f=`echo "$$p" |$(SED) 's|^.*/||'`; \ + echo " rm -f '$(DESTDIR)$(aclocaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \ + done + @p=`echo libtoolize |sed -e '$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$p'"; \ + rm -f "$(DESTDIR)$(bindir)/$$p" + + +## ----------- ## +## Test suite. ## +## ----------- ## + +tests_dir = $(top_srcdir)/tests +package_m4 = $(tests_dir)/package.m4 +testsuite = $(tests_dir)/testsuite + +# The testsuite files are evaluated in the order given here. When +# adding new tests, make sure cmdline_wrap.at stays at the end so +# that it can check for previous failures and skip if necessary. +TESTSUITE = tests/testsuite +TESTSUITE_AT = tests/testsuite.at \ + tests/configure-funcs.at \ + tests/libtoolize.at \ + tests/libtool.at \ + tests/demo.at \ + tests/pic_flag.at \ + tests/with-pic.at \ + tests/cdemo.at \ + tests/convenience.at \ + tests/depdemo.at \ + tests/help.at \ + tests/duplicate_members.at \ + tests/duplicate_conv.at \ + tests/duplicate_deps.at \ + tests/flags.at \ + tests/inherited_flags.at \ + tests/link-order.at \ + tests/link-order2.at \ + tests/fail.at \ + tests/shlibpath.at \ + tests/runpath-in-lalib.at \ + tests/static.at \ + tests/export.at \ + tests/export-def.at \ + tests/search-path.at \ + tests/indirect_deps.at \ + tests/archive-in-archive.at \ + tests/exeext.at \ + tests/execute-mode.at \ + tests/bindir.at \ + tests/cwrapper.at \ + tests/deplib-in-subdir.at \ + tests/infer-tag.at \ + tests/localization.at \ + tests/nocase.at \ + tests/install.at \ + tests/versioning.at \ + tests/destdir.at \ + tests/old-m4-iface.at \ + tests/am-subdir.at \ + tests/lt_dlexit.at \ + tests/lt_dladvise.at \ + tests/lt_dlopen.at \ + tests/lt_dlopen_a.at \ + tests/lt_dlopenext.at \ + tests/ltdl-libdir.at \ + tests/ltdl-api.at \ + tests/dlloader-api.at \ + tests/loadlibrary.at \ + tests/lalib-syntax.at \ + tests/resident.at \ + tests/slist.at \ + tests/need_lib_prefix.at \ + tests/mdemo.at \ + tests/standalone.at \ + tests/subproject.at \ + tests/nonrecursive.at \ + tests/recursive.at \ + tests/tagdemo.at \ + tests/template.at \ + tests/ctor.at \ + tests/exceptions.at \ + tests/early-libtool.at \ + tests/no-executables.at \ + tests/deplibs-ident.at \ + tests/configure-iface.at \ + tests/f77demo.at \ + tests/fcdemo.at \ + tests/darwin.at \ + tests/dumpbin-symbols.at \ + tests/deplibs-mingw.at \ + tests/sysroot.at \ + tests/stresstest.at \ + tests/cmdline_wrap.at \ + $(NOTHING_ELSE) + +EXTRA_DIST += $(testsuite) $(TESTSUITE_AT) $(package_m4) + +# Be sure to reexport important environment variables: +TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ + CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ + LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ + AR="$(AR)" \ + EGREP="$(EGREP)" FGREP="$(FGREP)" GREP="$(GREP)" SED="$(SED)" \ + STRIP="$(STRIP)" lt_INSTALL="$(INSTALL)" \ + MANIFEST_TOOL="$(MANIFEST_TOOL)" \ + OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" \ + SHELL="$(SHELL)" CONFIG_SHELL="$(SHELL)" \ + CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CXXCPP="$(CXXCPP)" \ + F77="$(F77)" FFLAGS="$(FFLAGS)" \ + FC="$(FC)" FCFLAGS="$(FCFLAGS)" \ + GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \ + lt_cv_with_aix_soname="$(with_aix_soname)" \ + lt_cv_to_host_file_cmd="$(to_host_file_cmd)" \ + lt_cv_to_tool_file_cmd="$(to_tool_file_cmd)" + +BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \ + LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \ + LIBTOOL="$(abs_top_builddir)/libtool" \ + tst_aclocaldir="$(abs_top_srcdir)/m4" + +INSTALLCHECK_ENVIRONMENT = \ + LIBTOOLIZE="$(bindir)/`echo libtoolize |$(SED) '$(program_transform_name)'`" \ + LIBTOOL="$(bindir)/`echo libtool |$(SED) '$(program_transform_name)'`" \ + LTDLINCL="-I$(includedir)" \ + LIBLTDL="$(libdir)/libltdl.la" \ + tst_aclocaldir="$(aclocaldir)" + +$(testsuite): $(package_m4) $(TESTSUITE_AT) Makefile.am + $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -I '$(srcdir)/tests' $(TESTSUITE_AT) -o '$@' + +$(package_m4): $(dotversion) Makefile.am + $(AM_V_GEN){ \ + echo '# Signature of the current package.'; \ + echo 'm4_define([AT_PACKAGE_NAME], [$(PACKAGE_NAME)])'; \ + echo 'm4_define([AT_PACKAGE_TARNAME], [$(PACKAGE_TARNAME)])'; \ + echo 'm4_define([AT_PACKAGE_VERSION], [$(PACKAGE_VERSION)])'; \ + echo 'm4_define([AT_PACKAGE_STRING], [$(PACKAGE_STRING)])'; \ + echo 'm4_define([AT_PACKAGE_BUGREPORT], [$(PACKAGE_BUGREPORT)])'; \ + echo 'm4_define([AT_PACKAGE_URL], [$(PACKAGE_URL)])'; \ + } > '$@' + +tests/atconfig: $(config_status) + $(AM_V_GEN)$(SHELL) '$(config_status)' '$@' + +DISTCLEANFILES += tests/atconfig + +CD_TESTDIR = abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; cd tests + +testsuite_deps = tests/atconfig $(srcdir)/$(TESTSUITE) +testsuite_deps_uninstalled = $(testsuite_deps) libltdl/libltdlc.la \ + $(bin_SCRIPTS) $(LTDL_BOOTSTRAP_DEPS) + +# Hook the test suite into the check rule +check-local: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ + CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) + +# Run the test suite on the *installed* tree. +installcheck-local: $(testsuite_deps) + $(AM_V_at)$(CD_TESTDIR); \ + CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ + AUTOTEST_PATH='$(exec_prefix)/bin' + +.PHONY: check-noninteractive-old +check-noninteractive-old: + $(AM_V_at)'$(MAKE)' $(AM_MAKEFLAGS) check-TESTS TESTS='$(TESTS)' + +# Run only noninteractive parts of the new testsuite. +.PHONY: check-noninteractive-new +check-noninteractive-new: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ + CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ + -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \ + $(TESTSUITEFLAGS) + +# Run only interactive parts of the new testsuite. +.PHONY: check-interactive +check-interactive: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ + CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ + -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \ + $(TESTSUITEFLAGS) + +.PHONY: check-noninteractive +check-noninteractive: check-noninteractive-old check-noninteractive-new + +# We need to remove any file droppings left behind by testsuite +clean-local: + -$(CD_TESTDIR); \ + test -f "$$abs_srcdir/$(TESTSUITE)" && \ + '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" --clean + +## An empty target to depend on when a rule needs to always run +## whenever it is visited. +FORCE: diff --git a/BUILD/libtool-2.4.7/Makefile.in b/BUILD/libtool-2.4.7/Makefile.in new file mode 100644 index 0000000..a6a0178 --- /dev/null +++ b/BUILD/libtool-2.4.7/Makefile.in @@ -0,0 +1,2592 @@ +# Makefile.in generated by automake 1.16.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +##### + +##### + + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@INSTALL_LTDL_TRUE@am__append_1 = libltdl/ltdl.h +@INSTALL_LTDL_TRUE@am__append_2 = libltdl/libltdl.la +@CONVENIENCE_LTDL_TRUE@am__append_3 = libltdl/libltdlc.la +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/autobuild.m4 \ + $(top_srcdir)/m4/gnulib-common.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/zzgnulib.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(srcdir)/doc/version.texi \ + $(srcdir)/doc/stamp-vti $(am__include_HEADERS_DIST) \ + $(am__ltdlinclude_HEADERS_DIST) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \ + "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)" +LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) +libltdl_dld_link_la_DEPENDENCIES = +am__dirstamp = $(am__leading_dot)dirstamp +am_libltdl_dld_link_la_OBJECTS = libltdl/loaders/dld_link.lo +libltdl_dld_link_la_OBJECTS = $(am_libltdl_dld_link_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libltdl_dld_link_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libltdl_dld_link_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +am__DEPENDENCIES_1 = +libltdl_dlopen_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_libltdl_dlopen_la_OBJECTS = libltdl/loaders/dlopen.lo +libltdl_dlopen_la_OBJECTS = $(am_libltdl_dlopen_la_OBJECTS) +libltdl_dlopen_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libltdl_dlopen_la_LDFLAGS) $(LDFLAGS) \ + -o $@ +libltdl_dyld_la_LIBADD = +am_libltdl_dyld_la_OBJECTS = libltdl/loaders/dyld.lo +libltdl_dyld_la_OBJECTS = $(am_libltdl_dyld_la_OBJECTS) +libltdl_dyld_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libltdl_dyld_la_LDFLAGS) $(LDFLAGS) \ + -o $@ +LIBOBJDIR = libltdl/ +am_libltdl_libltdl_la_OBJECTS = libltdl/loaders/libltdl_la-preopen.lo \ + libltdl/libltdl_la-lt__alloc.lo \ + libltdl/libltdl_la-lt_dlloader.lo \ + libltdl/libltdl_la-lt_error.lo libltdl/libltdl_la-ltdl.lo \ + libltdl/libltdl_la-slist.lo +libltdl_libltdl_la_OBJECTS = $(am_libltdl_libltdl_la_OBJECTS) +libltdl_libltdl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libltdl_libltdl_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +@INSTALL_LTDL_TRUE@am_libltdl_libltdl_la_rpath = -rpath $(libdir) +am__objects_1 = libltdl/loaders/libltdlc_la-preopen.lo \ + libltdl/libltdlc_la-lt__alloc.lo \ + libltdl/libltdlc_la-lt_dlloader.lo \ + libltdl/libltdlc_la-lt_error.lo libltdl/libltdlc_la-ltdl.lo \ + libltdl/libltdlc_la-slist.lo +am_libltdl_libltdlc_la_OBJECTS = $(am__objects_1) +libltdl_libltdlc_la_OBJECTS = $(am_libltdl_libltdlc_la_OBJECTS) +libltdl_libltdlc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libltdl_libltdlc_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +@CONVENIENCE_LTDL_TRUE@am_libltdl_libltdlc_la_rpath = +libltdl_load_add_on_la_LIBADD = +am_libltdl_load_add_on_la_OBJECTS = libltdl/loaders/load_add_on.lo +libltdl_load_add_on_la_OBJECTS = $(am_libltdl_load_add_on_la_OBJECTS) +libltdl_load_add_on_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libltdl_load_add_on_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +libltdl_loadlibrary_la_LIBADD = +am_libltdl_loadlibrary_la_OBJECTS = libltdl/loaders/loadlibrary.lo +libltdl_loadlibrary_la_OBJECTS = $(am_libltdl_loadlibrary_la_OBJECTS) +libltdl_loadlibrary_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libltdl_loadlibrary_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +libltdl_shl_load_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_libltdl_shl_load_la_OBJECTS = libltdl/loaders/shl_load.lo +libltdl_shl_load_la_OBJECTS = $(am_libltdl_shl_load_la_OBJECTS) +libltdl_shl_load_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(libltdl_shl_load_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +SCRIPTS = $(bin_SCRIPTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo \ + libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo \ + libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo \ + libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo \ + libltdl/$(DEPDIR)/libltdl_la-slist.Plo \ + libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo \ + libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo \ + libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo \ + libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo \ + libltdl/$(DEPDIR)/libltdlc_la-slist.Plo \ + libltdl/$(DEPDIR)/lt__argz.Plo \ + libltdl/$(DEPDIR)/lt__dirent.Plo \ + libltdl/$(DEPDIR)/lt__strl.Plo \ + libltdl/loaders/$(DEPDIR)/dld_link.Plo \ + libltdl/loaders/$(DEPDIR)/dlopen.Plo \ + libltdl/loaders/$(DEPDIR)/dyld.Plo \ + libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo \ + libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo \ + libltdl/loaders/$(DEPDIR)/load_add_on.Plo \ + libltdl/loaders/$(DEPDIR)/loadlibrary.Plo \ + libltdl/loaders/$(DEPDIR)/shl_load.Plo +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libltdl_dld_link_la_SOURCES) $(libltdl_dlopen_la_SOURCES) \ + $(libltdl_dyld_la_SOURCES) $(libltdl_libltdl_la_SOURCES) \ + $(libltdl_libltdlc_la_SOURCES) \ + $(libltdl_load_add_on_la_SOURCES) \ + $(libltdl_loadlibrary_la_SOURCES) \ + $(libltdl_shl_load_la_SOURCES) +DIST_SOURCES = $(libltdl_dld_link_la_SOURCES) \ + $(libltdl_dlopen_la_SOURCES) $(libltdl_dyld_la_SOURCES) \ + $(libltdl_libltdl_la_SOURCES) $(libltdl_libltdlc_la_SOURCES) \ + $(libltdl_load_add_on_la_SOURCES) \ + $(libltdl_loadlibrary_la_SOURCES) \ + $(libltdl_shl_load_la_SOURCES) +AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) +am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) +am__v_DVIPS_0 = @echo " DVIPS " $@; +am__v_DVIPS_1 = +AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@) +am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@) +am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; +am__v_MAKEINFO_1 = +AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@) +am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@) +am__v_INFOHTML_0 = @echo " INFOHTML" $@; +am__v_INFOHTML_1 = +AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@) +am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@) +am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@; +am__v_TEXI2DVI_1 = +AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@) +am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@) +am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@; +am__v_TEXI2PDF_1 = +AM_V_texinfo = $(am__v_texinfo_@AM_V@) +am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@) +am__v_texinfo_0 = -q +am__v_texinfo_1 = +AM_V_texidevnull = $(am__v_texidevnull_@AM_V@) +am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) +am__v_texidevnull_0 = > /dev/null +am__v_texidevnull_1 = +INFO_DEPS = $(srcdir)/doc/libtool.info +TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex +am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux +DVIS = doc/libtool.dvi +PDFS = doc/libtool.pdf +PSS = doc/libtool.ps +HTMLS = doc/libtool.html +TEXINFOS = doc/libtool.texi +TEXI2DVI = texi2dvi +TEXI2PDF = $(TEXI2DVI) --pdf --batch +MAKEINFOHTML = $(MAKEINFO) --html +AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) +DVIPS = dvips +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(dist_man1_MANS) +am__include_HEADERS_DIST = libltdl/ltdl.h +am__ltdlinclude_HEADERS_DIST = libltdl/libltdl/lt_system.h \ + libltdl/libltdl/lt_error.h libltdl/libltdl/lt_dlloader.h +HEADERS = $(include_HEADERS) $(ltdlinclude_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir distdir-am dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config-h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +am__DIST_COMMON = $(dist_man1_MANS) $(doc_libtool_TEXINFOS) \ + $(srcdir)/Makefile.in $(srcdir)/config-h.in \ + $(srcdir)/libltdl/ltdl.mk $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/depcomp \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/ltmain.sh \ + $(top_srcdir)/build-aux/mdate-sh \ + $(top_srcdir)/build-aux/missing \ + $(top_srcdir)/build-aux/texinfo.tex \ + $(top_srcdir)/libltdl/lt__argz.c \ + $(top_srcdir)/libltdl/lt__dirent.c \ + $(top_srcdir)/libltdl/lt__strl.c AUTHORS COPYING ChangeLog \ + INSTALL NEWS README THANKS TODO build-aux/compile \ + build-aux/config.guess build-aux/config.sub build-aux/depcomp \ + build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \ + build-aux/missing build-aux/texinfo.tex +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz +GZIP_ENV = --best +DIST_TARGETS = dist-xz dist-gzip +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +pkgdatadir = @pkgdatadir@ +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOM4TE = @AUTOM4TE@ +AUTOMAKE = @AUTOMAKE@ +AUTOTEST = @AUTOTEST@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CONFIG_INCLUDE = @CONFIG_INCLUDE@ +CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FC = @FC@ +FCFLAGS = @FCFLAGS@ +FFLAGS = @FFLAGS@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GCJ = @GCJ@ +GCJFLAGS = @GCJFLAGS@ +GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@ +GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@ +GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@ +GL_LIBOBJDEPS = @GL_LIBOBJDEPS@ +GL_LIBOBJS = @GL_LIBOBJS@ +GL_LTLIBOBJS = @GL_LTLIBOBJS@ +GLtests_LIBOBJDEPS = @GLtests_LIBOBJDEPS@ +GLtests_LIBOBJS = @GLtests_LIBOBJS@ +GLtests_LTLIBOBJS = @GLtests_LTLIBOBJS@ +GLtests_WITNESS = @GLtests_WITNESS@ +GOC = @GOC@ +GREP = @GREP@ +HELP2MAN = @HELP2MAN@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBADD_DL = @LIBADD_DL@ +LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ +LIBADD_DLOPEN = @LIBADD_DLOPEN@ +LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTDLOPEN = @LTDLOPEN@ +LTLIBOBJS = @LTLIBOBJS@ +LT_ARGZ_H = @LT_ARGZ_H@ +LT_CONFIG_H = @LT_CONFIG_H@ +LT_DLLOADERS = @LT_DLLOADERS@ +LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +M4_GNU = @M4_GNU@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_aux_dir = `$(lt__cd) '$(srcdir)/$(aux_dir)' && pwd` +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_FC = @ac_ct_FC@ +aclocaldir = @aclocaldir@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +aux_dir = @aux_dir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +ltdl_dir = @ltdl_dir@ +macro_dir = @macro_dir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +package_revision = @package_revision@ +pdfdir = @pdfdir@ +pkgaux_scripts = @pkgaux_scripts@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sys_symbol_underscore = @sys_symbol_underscore@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +to_host_file_cmd = @to_host_file_cmd@ +to_tool_file_cmd = @to_tool_file_cmd@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +with_aix_soname = @with_aix_soname@ +ACLOCAL_AMFLAGS = -I m4 + +# -I$(srcdir) is needed for user that built libltdl with a sub-Automake +# (not as a sub-package!) using 'nostdinc': +AM_CPPFLAGS = -DLT_CONFIG_H='<$(LT_CONFIG_H)>' -DLTDL -I. -I$(srcdir) \ + -Ilibltdl -I$(srcdir)/libltdl -Ilibltdl/libltdl \ + -I$(srcdir)/libltdl/libltdl +AM_LDFLAGS = -no-undefined +SUBDIRS = . gnulib-tests +DIST_SUBDIRS = $(SUBDIRS) +EXTRA_DIST = bootstrap bootstrap.conf $(build_scripts) cfg.mk maint.mk \ + GNUmakefile $(extract_trace) $(funclib_sh) $(inline_source) \ + $(libtoolize_in) $(ltmain_in) $(ltmain_sh) $(ltversion_in) \ + $(ltversion_m4) $(no_bogus_macros) $(options_parser) \ + $(u2d_copyright) libltdl/lt__dirent.c libltdl/lt__strl.c \ + libltdl/COPYING.LIB libltdl/README libltdl/libltdl/lt__argz_.h \ + libltdl/lt__argz.c $(lt_aclocal_m4) $(lt_configure) \ + $(lt_configure_ac) $(lt_config_h_in) $(lt_Makefile_am) \ + $(lt_Makefile_in) $(lt_obsolete_m4) $(stamp_mk) \ + $(doc_dir)/gendocs_template $(notes_txt) $(dotversion) \ + $(edit_readme_alpha) $(testsuite) $(TESTSUITE_AT) \ + $(package_m4) +BUILT_SOURCES = libtool libtoolize libltdl/libltdl/$(LT_ARGZ_H) \ + $(dotversion) +CLEANFILES = libtool libtoolize libltdl/libltdl.la libltdl/libltdlc.la \ + libltdl/libdlloader.la $(LIBOBJS) $(LTLIBOBJS) +MOSTLYCLEANFILES = libltdl/libltdl/lt__argz.h \ + libltdl/libltdl/lt__argz.h-t +DISTCLEANFILES = libtool.dvi tests/atconfig +MAINTAINERCLEANFILES = $(dist_man1_MANS) +include_HEADERS = $(am__append_1) +noinst_LTLIBRARIES = $(LT_DLLOADERS) $(am__append_3) +lib_LTLIBRARIES = $(am__append_2) +EXTRA_LTLIBRARIES = libltdl/dlopen.la libltdl/dld_link.la \ + libltdl/dyld.la libltdl/load_add_on.la libltdl/loadlibrary.la \ + libltdl/shl_load.la + +# Using 'cd' in backquotes may print the directory name, use this instead: +lt__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version' +rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'` + +# ---------- # +# Bootstrap. # +# ---------- # +SCRIPT_ENV = GREP='$(GREP)' SED='$(SED)' +build_scripts = $(srcdir)/$(aux_dir)/announce-gen \ + $(srcdir)/$(aux_dir)/do-release-commit-and-tag \ + $(srcdir)/$(aux_dir)/gendocs.sh \ + $(srcdir)/$(aux_dir)/git-version-gen \ + $(srcdir)/$(aux_dir)/gnu-web-doc-update \ + $(srcdir)/$(aux_dir)/gnupload \ + $(srcdir)/$(aux_dir)/useless-if-before-free \ + $(srcdir)/$(aux_dir)/vc-list-files + +configure_ac = $(srcdir)/configure.ac +config_status = $(top_builddir)/config.status +extract_trace = $(srcdir)/$(aux_dir)/extract-trace +funclib_sh = $(srcdir)/$(aux_dir)/funclib.sh +inline_source = $(srcdir)/$(aux_dir)/inline-source +libtoolize_in = $(srcdir)/libtoolize.in +ltmain_sh = $(srcdir)/$(aux_dir)/ltmain.sh +ltmain_in = $(srcdir)/$(aux_dir)/ltmain.in +libtool_m4 = $(srcdir)/$(macro_dir)/libtool.m4 +ltversion_in = $(srcdir)/$(macro_dir)/ltversion.in +ltversion_m4 = $(srcdir)/$(macro_dir)/ltversion.m4 +no_bogus_macros = $(srcdir)/$(aux_dir)/no-bogus-m4-defines +options_parser = $(srcdir)/$(aux_dir)/options-parser +u2d_copyright = $(srcdir)/$(aux_dir)/update-copyright +bootstrap_edit = $(SED) \ + -e 's|@MACRO_VERSION\@|$(VERSION)|g' \ + -e "s|@MACRO_REVISION\@|$$revision|g" \ + -e "s|@MACRO_SERIAL\@|$$serial|g" \ + -e 's|@PACKAGE\@|$(PACKAGE)|g' \ + -e 's|@PACKAGE_BUGREPORT\@|$(PACKAGE_BUGREPORT)|g' \ + -e 's|@PACKAGE_URL\@|$(PACKAGE_URL)|g' \ + -e 's|@PACKAGE_NAME\@|$(PACKAGE_NAME)|g' \ + -e "s|@package_revision\@|$$revision|g" \ + -e 's|@PACKAGE_STRING\@|$(PACKAGE_NAME) $(VERSION)|g' \ + -e 's|@PACKAGE_TARNAME\@|$(PACKAGE)|g' \ + -e 's|@PACKAGE_VERSION\@|$(VERSION)|g' \ + -e 's|@VERSION\@|$(VERSION)|g' + +lt_Makefile_am = $(srcdir)/$(ltdl_dir)/Makefile.am +lt_Makefile_in = $(srcdir)/$(ltdl_dir)/Makefile.in +ltdl_mk = $(srcdir)/$(ltdl_dir)/ltdl.mk +bootstrap_files = \ + $(lt_Makefile_am) \ + $(ltmain_sh) \ + $(ltversion_m4) + +LTDL_BOOTSTRAP_DEPS = \ + $(stamp_mk) \ + $(lt_aclocal_m4) \ + $(lt_config_h_in) \ + $(lt_configure) + +ltdl_ac_aux_dir = `$(SCRIPT_ENV) $(extract_trace) AC_CONFIG_AUX_DIR $(srcdir)/libltdl/configure.ac` +configure_edit = $(bootstrap_edit) \ + -e '/^\. /s|@auxscriptsdir\@|'$(abs_aux_dir)'|g' \ + -e 's|@aclocaldir\@|$(aclocaldir)|g' \ + -e 's|@aux_dir\@|$(aux_dir)|g' \ + -e 's|@datadir\@|$(datadir)|g' \ + -e 's|@EGREP\@|$(EGREP)|g' \ + -e 's|@FGREP\@|$(FGREP)|g' \ + -e 's|@GREP\@|$(GREP)|g' \ + -e 's|@host_triplet\@|$(host_triplet)|g' \ + -e 's|@LN_S\@|$(LN_S)|g' \ + -e "s|@ltdl_ac_aux_dir\@|$(ltdl_ac_aux_dir)|g" \ + -e 's|@macro_dir\@|$(macro_dir)|g' \ + -e 's|@pkgauxdir\@|$(pkgauxdir)|g' \ + -e 's|@pkgaux_files\@|$(pkgaux_scripts) $(pkgaux_data_files)|g' \ + -e 's|@pkgaux_install_files\@|$(pkgaux_install_files)|g' \ + -e 's|@pkgaux_parent_files\@|$(pkgaux_parent_files)|g' \ + -e 's|@pkgdatadir\@|$(pkgdatadir)|g' \ + -e 's|@pkgltdl_files\@|$(pkgltdl_files)|g' \ + -e 's|@pkgmacro_files\@|$(pkgmacro_files)|g' \ + -e 's|@prefix\@|$(prefix)|g' \ + -e 's|@SED\@|$(SED)|g' \ + -e 's|@srcdir\@|$(srcdir)|g' + + +# The libtool distributor and the standalone libtool script. +bin_SCRIPTS = libtool +LTDL_VERSION_INFO = -version-info 10:2:3 +@INSTALL_LTDL_TRUE@ltdlincludedir = $(includedir)/libltdl +@INSTALL_LTDL_TRUE@ltdlinclude_HEADERS = libltdl/libltdl/lt_system.h \ +@INSTALL_LTDL_TRUE@ libltdl/libltdl/lt_error.h \ +@INSTALL_LTDL_TRUE@ libltdl/libltdl/lt_dlloader.h + +libltdl_libltdl_la_SOURCES = libltdl/libltdl/lt__alloc.h \ + libltdl/libltdl/lt__dirent.h \ + libltdl/libltdl/lt__glibc.h \ + libltdl/libltdl/lt__private.h \ + libltdl/libltdl/lt__strl.h \ + libltdl/libltdl/lt_dlloader.h \ + libltdl/libltdl/lt_error.h \ + libltdl/libltdl/lt_system.h \ + libltdl/libltdl/slist.h \ + libltdl/loaders/preopen.c \ + libltdl/lt__alloc.c \ + libltdl/lt_dlloader.c \ + libltdl/lt_error.c \ + libltdl/ltdl.c \ + libltdl/ltdl.h \ + libltdl/slist.c + +libltdl_libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS) +libltdl_libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN) +libltdl_libltdl_la_LIBADD = $(LTLIBOBJS) +libltdl_libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS) +libltdl_libltdlc_la_SOURCES = $(libltdl_libltdl_la_SOURCES) +libltdl_libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS) +libltdl_libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN) +libltdl_libltdlc_la_LIBADD = $(libltdl_libltdl_la_LIBADD) +libltdl_libltdlc_la_DEPENDENCIES = $(libltdl_libltdl_la_DEPENDENCIES) +libltdl_dlopen_la_SOURCES = libltdl/loaders/dlopen.c +libltdl_dlopen_la_LDFLAGS = -module -avoid-version +libltdl_dlopen_la_LIBADD = $(LIBADD_DLOPEN) +libltdl_dld_link_la_SOURCES = libltdl/loaders/dld_link.c +libltdl_dld_link_la_LDFLAGS = -module -avoid-version +libltdl_dld_link_la_LIBADD = -ldld +libltdl_dyld_la_SOURCES = libltdl/loaders/dyld.c +libltdl_dyld_la_LDFLAGS = -module -avoid-version +libltdl_load_add_on_la_SOURCES = libltdl/loaders/load_add_on.c +libltdl_load_add_on_la_LDFLAGS = -module -avoid-version +libltdl_loadlibrary_la_SOURCES = libltdl/loaders/loadlibrary.c +libltdl_loadlibrary_la_LDFLAGS = -module -avoid-version +libltdl_shl_load_la_SOURCES = libltdl/loaders/shl_load.c +libltdl_shl_load_la_LDFLAGS = -module -avoid-version +libltdl_shl_load_la_LIBADD = $(LIBADD_SHL_LOAD) +lt_aclocal_m4 = $(srcdir)/$(ltdl_dir)/aclocal.m4 +lt_config_h_in = $(srcdir)/$(ltdl_dir)/config-h.in +lt_configure = $(srcdir)/$(ltdl_dir)/configure +lt_configure_ac = $(srcdir)/$(ltdl_dir)/configure.ac +stamp_mk = $(srcdir)/$(ltdl_dir)/stamp-mk +lt_obsolete_m4 = $(srcdir)/$(macro_dir)/lt~obsolete.m4 +lt_aclocal_m4_deps = \ + $(lt_obsolete_m4) \ + $(ltversion_m4) \ + $(libtool_m4) \ + $(srcdir)/$(macro_dir)/ltargz.m4 \ + $(srcdir)/$(macro_dir)/ltdl.m4 \ + $(srcdir)/$(macro_dir)/ltoptions.m4 \ + $(srcdir)/$(macro_dir)/ltsugar.m4 \ + $(srcdir)/$(macro_dir)/m4.m4 \ + $(srcdir)/$(ltdl_dir)/configure.ac + +lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps) +doc_dir = $(srcdir)/doc +libtool_1 = $(doc_dir)/libtool.1 +libtoolize_1 = $(doc_dir)/libtoolize.1 +notes_texi = $(doc_dir)/notes.texi +notes_txt = $(doc_dir)/notes.txt + +# A bug in automake 1.11.1 (at least) prevents us from using: +# +# info_TEXINFOS = $(doc_dir)/libtool.texi +# +# Producing the following error, even though srcdir is implicitly set: +# "cannot open < ./$(srcdir)/doc/libtool.texi: No such file or directory" +info_TEXINFOS = doc/libtool.texi +doc_libtool_TEXINFOS = $(doc_dir)/PLATFORMS $(doc_dir)/fdl.texi \ + $(notes_texi) + +dist_man1_MANS = $(libtool_1) $(libtoolize_1) +update_mans = \ + PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \ + $(HELP2MAN) --output='$@' + +ltdldir = $(srcdir)/libltdl +pkgauxdir = $(pkgdatadir)/build-aux + +# The timestamps on these files must be preserved carefully so we install, +# uninstall and set executable with custom rules here. +pkgaux_parent_files = ltmain.sh +pkgaux_install_files = config.guess config.sub install-sh +pkgaux_data_files = $(pkgaux_parent_files) + +# Everything that gets picked up by aclocal is automatically distributed, +# this is the list of macro files we install on the user's system. +pkgmacro_files = libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 \ + ltversion.m4 lt~obsolete.m4 + +pkgltdl_files = COPYING.LIB \ + Makefile.am \ + README \ + configure.ac \ + aclocal.m4 \ + Makefile.in \ + config-h.in \ + configure \ + libltdl/lt__alloc.h \ + libltdl/lt__argz_.h \ + libltdl/lt__dirent.h \ + libltdl/lt__glibc.h \ + libltdl/lt__private.h \ + libltdl/lt__strl.h \ + libltdl/lt_dlloader.h \ + libltdl/lt_error.h \ + libltdl/lt_system.h \ + libltdl/slist.h \ + loaders/dld_link.c \ + loaders/dlopen.c \ + loaders/dyld.c \ + loaders/load_add_on.c \ + loaders/loadlibrary.c \ + loaders/preopen.c \ + loaders/shl_load.c \ + lt__alloc.c \ + lt__argz.c \ + lt__dirent.c \ + lt__strl.c \ + lt_dlloader.c \ + lt_error.c \ + ltdl.c \ + ltdl.h \ + ltdl.mk \ + slist.c + +edit_readme_alpha = $(srcdir)/$(aux_dir)/edit-readme-alpha +gitlog_to_changelog = $(srcdir)/$(aux_dir)/gitlog-to-changelog +git_log_fix = $(srcdir)/$(aux_dir)/git-log-fix +thanks_gen = $(srcdir)/$(aux_dir)/thanks-gen +dotserial = $(distdir)/.serial +dotversion = $(top_srcdir)/.version +tarball_version = $(distdir)/.tarball-version +readme = $(distdir)/README +changelog = $(distdir)/ChangeLog +changelog_old = $(srcdir)/ChangeLog.old +thanks = $(distdir)/THANKS +no_thanks = $(srcdir)/NO-THANKS + +# Generate ChangeLog using git log entries for as far back as +# they are in good shape, appending manual records from earlier. +changelog_start_date = 2011-01-01 + +# Sort in traditional ASCII order, regardless of the current locale; +# otherwise we may get into trouble with distinct strings that the +# current locale considers to be equal. +ASSORT = LC_ALL=C sort + +# Extract all lines up to the first one starting with "##". +prologue = perl -ne '/^\#\#/ and exit; print' $(no_thanks) +re_alpha_version = '\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*[-\.][-\.0-9a-z]*\)' +git_commit_count = git log --pretty=oneline |wc -l |$(SED) 's|[ ]||g' +tests_dir = $(top_srcdir)/tests +package_m4 = $(tests_dir)/package.m4 +testsuite = $(tests_dir)/testsuite + +# The testsuite files are evaluated in the order given here. When +# adding new tests, make sure cmdline_wrap.at stays at the end so +# that it can check for previous failures and skip if necessary. +TESTSUITE = tests/testsuite +TESTSUITE_AT = tests/testsuite.at \ + tests/configure-funcs.at \ + tests/libtoolize.at \ + tests/libtool.at \ + tests/demo.at \ + tests/pic_flag.at \ + tests/with-pic.at \ + tests/cdemo.at \ + tests/convenience.at \ + tests/depdemo.at \ + tests/help.at \ + tests/duplicate_members.at \ + tests/duplicate_conv.at \ + tests/duplicate_deps.at \ + tests/flags.at \ + tests/inherited_flags.at \ + tests/link-order.at \ + tests/link-order2.at \ + tests/fail.at \ + tests/shlibpath.at \ + tests/runpath-in-lalib.at \ + tests/static.at \ + tests/export.at \ + tests/export-def.at \ + tests/search-path.at \ + tests/indirect_deps.at \ + tests/archive-in-archive.at \ + tests/exeext.at \ + tests/execute-mode.at \ + tests/bindir.at \ + tests/cwrapper.at \ + tests/deplib-in-subdir.at \ + tests/infer-tag.at \ + tests/localization.at \ + tests/nocase.at \ + tests/install.at \ + tests/versioning.at \ + tests/destdir.at \ + tests/old-m4-iface.at \ + tests/am-subdir.at \ + tests/lt_dlexit.at \ + tests/lt_dladvise.at \ + tests/lt_dlopen.at \ + tests/lt_dlopen_a.at \ + tests/lt_dlopenext.at \ + tests/ltdl-libdir.at \ + tests/ltdl-api.at \ + tests/dlloader-api.at \ + tests/loadlibrary.at \ + tests/lalib-syntax.at \ + tests/resident.at \ + tests/slist.at \ + tests/need_lib_prefix.at \ + tests/mdemo.at \ + tests/standalone.at \ + tests/subproject.at \ + tests/nonrecursive.at \ + tests/recursive.at \ + tests/tagdemo.at \ + tests/template.at \ + tests/ctor.at \ + tests/exceptions.at \ + tests/early-libtool.at \ + tests/no-executables.at \ + tests/deplibs-ident.at \ + tests/configure-iface.at \ + tests/f77demo.at \ + tests/fcdemo.at \ + tests/darwin.at \ + tests/dumpbin-symbols.at \ + tests/deplibs-mingw.at \ + tests/sysroot.at \ + tests/stresstest.at \ + tests/cmdline_wrap.at \ + $(NOTHING_ELSE) + + +# Be sure to reexport important environment variables: +TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ + CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ + LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ + AR="$(AR)" \ + EGREP="$(EGREP)" FGREP="$(FGREP)" GREP="$(GREP)" SED="$(SED)" \ + STRIP="$(STRIP)" lt_INSTALL="$(INSTALL)" \ + MANIFEST_TOOL="$(MANIFEST_TOOL)" \ + OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" \ + SHELL="$(SHELL)" CONFIG_SHELL="$(SHELL)" \ + CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CXXCPP="$(CXXCPP)" \ + F77="$(F77)" FFLAGS="$(FFLAGS)" \ + FC="$(FC)" FCFLAGS="$(FCFLAGS)" \ + GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \ + lt_cv_with_aix_soname="$(with_aix_soname)" \ + lt_cv_to_host_file_cmd="$(to_host_file_cmd)" \ + lt_cv_to_tool_file_cmd="$(to_tool_file_cmd)" + +BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \ + LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \ + LIBTOOL="$(abs_top_builddir)/libtool" \ + tst_aclocaldir="$(abs_top_srcdir)/m4" + +INSTALLCHECK_ENVIRONMENT = \ + LIBTOOLIZE="$(bindir)/`echo libtoolize |$(SED) '$(program_transform_name)'`" \ + LIBTOOL="$(bindir)/`echo libtool |$(SED) '$(program_transform_name)'`" \ + LTDLINCL="-I$(includedir)" \ + LIBLTDL="$(libdir)/libltdl.la" \ + tst_aclocaldir="$(aclocaldir)" + +CD_TESTDIR = abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; cd tests +testsuite_deps = tests/atconfig $(srcdir)/$(TESTSUITE) +testsuite_deps_uninstalled = $(testsuite_deps) libltdl/libltdlc.la \ + $(bin_SCRIPTS) $(LTDL_BOOTSTRAP_DEPS) + +all: $(BUILT_SOURCES) config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .dvi .lo .o .obj .ps +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/libltdl/ltdl.mk $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ + esac; +$(srcdir)/libltdl/ltdl.mk $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config-h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config-h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +libltdl/loaders/$(am__dirstamp): + @$(MKDIR_P) libltdl/loaders + @: > libltdl/loaders/$(am__dirstamp) +libltdl/loaders/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libltdl/loaders/$(DEPDIR) + @: > libltdl/loaders/$(DEPDIR)/$(am__dirstamp) +libltdl/loaders/dld_link.lo: libltdl/loaders/$(am__dirstamp) \ + libltdl/loaders/$(DEPDIR)/$(am__dirstamp) +libltdl/$(am__dirstamp): + @$(MKDIR_P) libltdl + @: > libltdl/$(am__dirstamp) + +libltdl/dld_link.la: $(libltdl_dld_link_la_OBJECTS) $(libltdl_dld_link_la_DEPENDENCIES) $(EXTRA_libltdl_dld_link_la_DEPENDENCIES) libltdl/$(am__dirstamp) + $(AM_V_CCLD)$(libltdl_dld_link_la_LINK) $(libltdl_dld_link_la_OBJECTS) $(libltdl_dld_link_la_LIBADD) $(LIBS) +libltdl/loaders/dlopen.lo: libltdl/loaders/$(am__dirstamp) \ + libltdl/loaders/$(DEPDIR)/$(am__dirstamp) + +libltdl/dlopen.la: $(libltdl_dlopen_la_OBJECTS) $(libltdl_dlopen_la_DEPENDENCIES) $(EXTRA_libltdl_dlopen_la_DEPENDENCIES) libltdl/$(am__dirstamp) + $(AM_V_CCLD)$(libltdl_dlopen_la_LINK) $(libltdl_dlopen_la_OBJECTS) $(libltdl_dlopen_la_LIBADD) $(LIBS) +libltdl/loaders/dyld.lo: libltdl/loaders/$(am__dirstamp) \ + libltdl/loaders/$(DEPDIR)/$(am__dirstamp) + +libltdl/dyld.la: $(libltdl_dyld_la_OBJECTS) $(libltdl_dyld_la_DEPENDENCIES) $(EXTRA_libltdl_dyld_la_DEPENDENCIES) libltdl/$(am__dirstamp) + $(AM_V_CCLD)$(libltdl_dyld_la_LINK) $(libltdl_dyld_la_OBJECTS) $(libltdl_dyld_la_LIBADD) $(LIBS) +libltdl/lt__argz.$(OBJEXT): libltdl/$(am__dirstamp) +libltdl/lt__argz.lo: libltdl/$(am__dirstamp) +libltdl/lt__strl.$(OBJEXT): libltdl/$(am__dirstamp) +libltdl/lt__strl.lo: libltdl/$(am__dirstamp) +libltdl/lt__dirent.$(OBJEXT): libltdl/$(am__dirstamp) +libltdl/lt__dirent.lo: libltdl/$(am__dirstamp) +libltdl/loaders/libltdl_la-preopen.lo: \ + libltdl/loaders/$(am__dirstamp) \ + libltdl/loaders/$(DEPDIR)/$(am__dirstamp) +libltdl/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libltdl/$(DEPDIR) + @: > libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdl_la-lt__alloc.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdl_la-lt_dlloader.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdl_la-lt_error.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdl_la-ltdl.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdl_la-slist.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) + +libltdl/libltdl.la: $(libltdl_libltdl_la_OBJECTS) $(libltdl_libltdl_la_DEPENDENCIES) $(EXTRA_libltdl_libltdl_la_DEPENDENCIES) libltdl/$(am__dirstamp) + $(AM_V_CCLD)$(libltdl_libltdl_la_LINK) $(am_libltdl_libltdl_la_rpath) $(libltdl_libltdl_la_OBJECTS) $(libltdl_libltdl_la_LIBADD) $(LIBS) +libltdl/loaders/libltdlc_la-preopen.lo: \ + libltdl/loaders/$(am__dirstamp) \ + libltdl/loaders/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdlc_la-lt__alloc.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdlc_la-lt_dlloader.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdlc_la-lt_error.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdlc_la-ltdl.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) +libltdl/libltdlc_la-slist.lo: libltdl/$(am__dirstamp) \ + libltdl/$(DEPDIR)/$(am__dirstamp) + +libltdl/libltdlc.la: $(libltdl_libltdlc_la_OBJECTS) $(libltdl_libltdlc_la_DEPENDENCIES) $(EXTRA_libltdl_libltdlc_la_DEPENDENCIES) libltdl/$(am__dirstamp) + $(AM_V_CCLD)$(libltdl_libltdlc_la_LINK) $(am_libltdl_libltdlc_la_rpath) $(libltdl_libltdlc_la_OBJECTS) $(libltdl_libltdlc_la_LIBADD) $(LIBS) +libltdl/loaders/load_add_on.lo: libltdl/loaders/$(am__dirstamp) \ + libltdl/loaders/$(DEPDIR)/$(am__dirstamp) + +libltdl/load_add_on.la: $(libltdl_load_add_on_la_OBJECTS) $(libltdl_load_add_on_la_DEPENDENCIES) $(EXTRA_libltdl_load_add_on_la_DEPENDENCIES) libltdl/$(am__dirstamp) + $(AM_V_CCLD)$(libltdl_load_add_on_la_LINK) $(libltdl_load_add_on_la_OBJECTS) $(libltdl_load_add_on_la_LIBADD) $(LIBS) +libltdl/loaders/loadlibrary.lo: libltdl/loaders/$(am__dirstamp) \ + libltdl/loaders/$(DEPDIR)/$(am__dirstamp) + +libltdl/loadlibrary.la: $(libltdl_loadlibrary_la_OBJECTS) $(libltdl_loadlibrary_la_DEPENDENCIES) $(EXTRA_libltdl_loadlibrary_la_DEPENDENCIES) libltdl/$(am__dirstamp) + $(AM_V_CCLD)$(libltdl_loadlibrary_la_LINK) $(libltdl_loadlibrary_la_OBJECTS) $(libltdl_loadlibrary_la_LIBADD) $(LIBS) +libltdl/loaders/shl_load.lo: libltdl/loaders/$(am__dirstamp) \ + libltdl/loaders/$(DEPDIR)/$(am__dirstamp) + +libltdl/shl_load.la: $(libltdl_shl_load_la_OBJECTS) $(libltdl_shl_load_la_DEPENDENCIES) $(EXTRA_libltdl_shl_load_la_DEPENDENCIES) libltdl/$(am__dirstamp) + $(AM_V_CCLD)$(libltdl_shl_load_la_LINK) $(libltdl_shl_load_la_OBJECTS) $(libltdl_shl_load_la_LIBADD) $(LIBS) +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) { files[d] = files[d] " " $$1; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$4, $$1 } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f libltdl/*.$(OBJEXT) + -rm -f libltdl/*.lo + -rm -f libltdl/loaders/*.$(OBJEXT) + -rm -f libltdl/loaders/*.lo + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-slist.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-slist.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/lt__argz.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/lt__dirent.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/lt__strl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/dld_link.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/dlopen.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/dyld.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/load_add_on.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/loadlibrary.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/shl_load.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +libltdl/loaders/libltdl_la-preopen.lo: libltdl/loaders/preopen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/loaders/libltdl_la-preopen.lo -MD -MP -MF libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Tpo -c -o libltdl/loaders/libltdl_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo '$(srcdir)/'`libltdl/loaders/preopen.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Tpo libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/loaders/preopen.c' object='libltdl/loaders/libltdl_la-preopen.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/loaders/libltdl_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo '$(srcdir)/'`libltdl/loaders/preopen.c + +libltdl/libltdl_la-lt__alloc.lo: libltdl/lt__alloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-lt__alloc.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Tpo -c -o libltdl/libltdl_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo '$(srcdir)/'`libltdl/lt__alloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Tpo libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt__alloc.c' object='libltdl/libltdl_la-lt__alloc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo '$(srcdir)/'`libltdl/lt__alloc.c + +libltdl/libltdl_la-lt_dlloader.lo: libltdl/lt_dlloader.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-lt_dlloader.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Tpo -c -o libltdl/libltdl_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo '$(srcdir)/'`libltdl/lt_dlloader.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Tpo libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt_dlloader.c' object='libltdl/libltdl_la-lt_dlloader.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo '$(srcdir)/'`libltdl/lt_dlloader.c + +libltdl/libltdl_la-lt_error.lo: libltdl/lt_error.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-lt_error.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-lt_error.Tpo -c -o libltdl/libltdl_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo '$(srcdir)/'`libltdl/lt_error.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-lt_error.Tpo libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt_error.c' object='libltdl/libltdl_la-lt_error.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo '$(srcdir)/'`libltdl/lt_error.c + +libltdl/libltdl_la-ltdl.lo: libltdl/ltdl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-ltdl.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-ltdl.Tpo -c -o libltdl/libltdl_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo '$(srcdir)/'`libltdl/ltdl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-ltdl.Tpo libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/ltdl.c' object='libltdl/libltdl_la-ltdl.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo '$(srcdir)/'`libltdl/ltdl.c + +libltdl/libltdl_la-slist.lo: libltdl/slist.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-slist.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-slist.Tpo -c -o libltdl/libltdl_la-slist.lo `test -f 'libltdl/slist.c' || echo '$(srcdir)/'`libltdl/slist.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-slist.Tpo libltdl/$(DEPDIR)/libltdl_la-slist.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/slist.c' object='libltdl/libltdl_la-slist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-slist.lo `test -f 'libltdl/slist.c' || echo '$(srcdir)/'`libltdl/slist.c + +libltdl/loaders/libltdlc_la-preopen.lo: libltdl/loaders/preopen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/loaders/libltdlc_la-preopen.lo -MD -MP -MF libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Tpo -c -o libltdl/loaders/libltdlc_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo '$(srcdir)/'`libltdl/loaders/preopen.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Tpo libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/loaders/preopen.c' object='libltdl/loaders/libltdlc_la-preopen.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/loaders/libltdlc_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo '$(srcdir)/'`libltdl/loaders/preopen.c + +libltdl/libltdlc_la-lt__alloc.lo: libltdl/lt__alloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-lt__alloc.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Tpo -c -o libltdl/libltdlc_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo '$(srcdir)/'`libltdl/lt__alloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Tpo libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt__alloc.c' object='libltdl/libltdlc_la-lt__alloc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo '$(srcdir)/'`libltdl/lt__alloc.c + +libltdl/libltdlc_la-lt_dlloader.lo: libltdl/lt_dlloader.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-lt_dlloader.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Tpo -c -o libltdl/libltdlc_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo '$(srcdir)/'`libltdl/lt_dlloader.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Tpo libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt_dlloader.c' object='libltdl/libltdlc_la-lt_dlloader.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo '$(srcdir)/'`libltdl/lt_dlloader.c + +libltdl/libltdlc_la-lt_error.lo: libltdl/lt_error.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-lt_error.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-lt_error.Tpo -c -o libltdl/libltdlc_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo '$(srcdir)/'`libltdl/lt_error.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-lt_error.Tpo libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt_error.c' object='libltdl/libltdlc_la-lt_error.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo '$(srcdir)/'`libltdl/lt_error.c + +libltdl/libltdlc_la-ltdl.lo: libltdl/ltdl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-ltdl.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-ltdl.Tpo -c -o libltdl/libltdlc_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo '$(srcdir)/'`libltdl/ltdl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-ltdl.Tpo libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/ltdl.c' object='libltdl/libltdlc_la-ltdl.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo '$(srcdir)/'`libltdl/ltdl.c + +libltdl/libltdlc_la-slist.lo: libltdl/slist.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-slist.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-slist.Tpo -c -o libltdl/libltdlc_la-slist.lo `test -f 'libltdl/slist.c' || echo '$(srcdir)/'`libltdl/slist.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-slist.Tpo libltdl/$(DEPDIR)/libltdlc_la-slist.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/slist.c' object='libltdl/libltdlc_la-slist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-slist.lo `test -f 'libltdl/slist.c' || echo '$(srcdir)/'`libltdl/slist.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf libltdl/.libs libltdl/_libs + -rm -rf libltdl/loaders/.libs libltdl/loaders/_libs + +distclean-libtool: + -rm -f libtool config.lt +doc/$(am__dirstamp): + @$(MKDIR_P) doc + @: > doc/$(am__dirstamp) + +$(srcdir)/doc/libtool.info: doc/libtool.texi $(srcdir)/doc/version.texi $(doc_libtool_TEXINFOS) + $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && $(am__cd) $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + else :; fi && \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ + -o $@ $(srcdir)/doc/libtool.texi; \ + then \ + rc=0; \ + $(am__cd) $(srcdir); \ + else \ + rc=$$?; \ + $(am__cd) $(srcdir) && \ + $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ + fi; \ + rm -rf $$backupdir; exit $$rc + +doc/libtool.dvi: doc/libtool.texi $(srcdir)/doc/version.texi $(doc_libtool_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ + $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ + `test -f 'doc/libtool.texi' || echo '$(srcdir)/'`doc/libtool.texi + +doc/libtool.pdf: doc/libtool.texi $(srcdir)/doc/version.texi $(doc_libtool_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ + $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ + `test -f 'doc/libtool.texi' || echo '$(srcdir)/'`doc/libtool.texi + +doc/libtool.html: doc/libtool.texi $(srcdir)/doc/version.texi $(doc_libtool_TEXINFOS) doc/$(am__dirstamp) + $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) + $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ + -o $(@:.html=.htp) `test -f 'doc/libtool.texi' || echo '$(srcdir)/'`doc/libtool.texi; \ + then \ + rm -rf $@ && mv $(@:.html=.htp) $@; \ + else \ + rm -rf $(@:.html=.htp); exit 1; \ + fi +$(srcdir)/doc/version.texi: $(srcdir)/doc/stamp-vti +$(srcdir)/doc/stamp-vti: doc/libtool.texi $(top_srcdir)/configure + @test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp) + @(dir=.; test -f ./doc/libtool.texi || dir=$(srcdir); \ + set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/libtool.texi`; \ + echo "@set UPDATED $$1 $$2 $$3"; \ + echo "@set UPDATED-MONTH $$2 $$3"; \ + echo "@set EDITION $(VERSION)"; \ + echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \ + (cmp -s vti.tmp$$$$ $(srcdir)/doc/version.texi \ + || (echo "Updating $(srcdir)/doc/version.texi" && \ + cp vti.tmp$$$$ $(srcdir)/doc/version.texi.tmp$$$$ && \ + mv $(srcdir)/doc/version.texi.tmp$$$$ $(srcdir)/doc/version.texi)) && \ + rm -f vti.tmp$$$$ $(srcdir)/doc/version.texi.$$$$ + @cp $(srcdir)/doc/version.texi $@ + +mostlyclean-vti: + -rm -f vti.tmp* $(srcdir)/doc/version.texi.tmp* + +maintainer-clean-vti: + -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi +.dvi.ps: + $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(DVIPS) $(AM_V_texinfo) -o $@ $< + +uninstall-dvi-am: + @$(NORMAL_UNINSTALL) + @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ + rm -f "$(DESTDIR)$(dvidir)/$$f"; \ + done + +uninstall-html-am: + @$(NORMAL_UNINSTALL) + @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ + rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ + done + +uninstall-info-am: + @$(PRE_UNINSTALL) + @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ + if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ + then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ + done; \ + else :; fi + @$(NORMAL_UNINSTALL) + @list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ + (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ + echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ + rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ + else :; fi); \ + done + +uninstall-pdf-am: + @$(NORMAL_UNINSTALL) + @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ + done + +uninstall-ps-am: + @$(NORMAL_UNINSTALL) + @list='$(PSS)'; test -n "$(psdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ + rm -f "$(DESTDIR)$(psdir)/$$f"; \ + done + +dist-info: $(INFO_DEPS) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for base in $$list; do \ + case $$base in \ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ + base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ + for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ + if test -f $$file; then \ + relfile=`expr "$$file" : "$$d/\(.*\)"`; \ + test -f "$(distdir)/$$relfile" || \ + cp -p $$file "$(distdir)/$$relfile"; \ + else :; fi; \ + done; \ + done + +mostlyclean-aminfo: + -rm -rf doc/libtool.t2d doc/libtool.t2p + +clean-aminfo: + -test -z "doc/libtool.dvi doc/libtool.pdf doc/libtool.ps doc/libtool.html" \ + || rm -rf doc/libtool.dvi doc/libtool.pdf doc/libtool.ps doc/libtool.html + +maintainer-clean-aminfo: + @list='$(INFO_DEPS)'; for i in $$list; do \ + i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ + echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ + rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ + done +install-man1: $(dist_man1_MANS) + @$(NORMAL_INSTALL) + @list1='$(dist_man1_MANS)'; \ + list2=''; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) +install-ltdlincludeHEADERS: $(ltdlinclude_HEADERS) + @$(NORMAL_INSTALL) + @list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(ltdlincludedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(ltdlincludedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(ltdlincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(ltdlincludedir)" || exit $$?; \ + done + +uninstall-ltdlincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(ltdlincludedir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-info dist-hook + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(SCRIPTS) $(MANS) \ + $(HEADERS) config.h all-local +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -rm -f libltdl/lt__argz.$(OBJEXT) + -rm -f libltdl/lt__argz.lo + -rm -f libltdl/lt__dirent.$(OBJEXT) + -rm -f libltdl/lt__dirent.lo + -rm -f libltdl/lt__strl.$(OBJEXT) + -rm -f libltdl/lt__strl.lo + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f doc/$(am__dirstamp) + -rm -f libltdl/$(DEPDIR)/$(am__dirstamp) + -rm -f libltdl/$(am__dirstamp) + -rm -f libltdl/loaders/$(DEPDIR)/$(am__dirstamp) + -rm -f libltdl/loaders/$(am__dirstamp) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-recursive + +clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-local clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo + -rm -f libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo + -rm -f libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo + -rm -f libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo + -rm -f libltdl/$(DEPDIR)/libltdl_la-slist.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-slist.Plo + -rm -f libltdl/$(DEPDIR)/lt__argz.Plo + -rm -f libltdl/$(DEPDIR)/lt__dirent.Plo + -rm -f libltdl/$(DEPDIR)/lt__strl.Plo + -rm -f libltdl/loaders/$(DEPDIR)/dld_link.Plo + -rm -f libltdl/loaders/$(DEPDIR)/dlopen.Plo + -rm -f libltdl/loaders/$(DEPDIR)/dyld.Plo + -rm -f libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo + -rm -f libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo + -rm -f libltdl/loaders/$(DEPDIR)/load_add_on.Plo + -rm -f libltdl/loaders/$(DEPDIR)/loadlibrary.Plo + -rm -f libltdl/loaders/$(DEPDIR)/shl_load.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: $(DVIS) + +html: html-recursive + +html-am: $(HTMLS) + +info: info-recursive + +info-am: $(INFO_DEPS) + +install-data-am: install-data-local install-includeHEADERS \ + install-info-am install-ltdlincludeHEADERS install-man + +install-dvi: install-dvi-recursive + +install-dvi-am: $(DVIS) + @$(NORMAL_INSTALL) + @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ + done +install-exec-am: install-binSCRIPTS install-libLTLIBRARIES + +install-html: install-html-recursive + +install-html-am: $(HTMLS) + @$(NORMAL_INSTALL) + @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ + $(am__strip_dir) \ + d2=$$d$$p; \ + if test -d "$$d2"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ + $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ + echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ + $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ + else \ + list2="$$list2 $$d2"; \ + fi; \ + done; \ + test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ + done; } +install-info: install-info-recursive + +install-info-am: $(INFO_DEPS) + @$(NORMAL_INSTALL) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ + fi; \ + for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ + for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ + if test -f $$ifile; then \ + echo "$$ifile"; \ + else : ; fi; \ + done; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done + @$(POST_INSTALL) + @if $(am__can_run_installinfo); then \ + list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ + install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ + done; \ + else : ; fi +install-man: install-man1 + +install-pdf: install-pdf-recursive + +install-pdf-am: $(PDFS) + @$(NORMAL_INSTALL) + @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done +install-ps: install-ps-recursive + +install-ps-am: $(PSS) + @$(NORMAL_INSTALL) + @list='$(PSS)'; test -n "$(psdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done +installcheck-am: installcheck-local + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo + -rm -f libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo + -rm -f libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo + -rm -f libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo + -rm -f libltdl/$(DEPDIR)/libltdl_la-slist.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo + -rm -f libltdl/$(DEPDIR)/libltdlc_la-slist.Plo + -rm -f libltdl/$(DEPDIR)/lt__argz.Plo + -rm -f libltdl/$(DEPDIR)/lt__dirent.Plo + -rm -f libltdl/$(DEPDIR)/lt__strl.Plo + -rm -f libltdl/loaders/$(DEPDIR)/dld_link.Plo + -rm -f libltdl/loaders/$(DEPDIR)/dlopen.Plo + -rm -f libltdl/loaders/$(DEPDIR)/dyld.Plo + -rm -f libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo + -rm -f libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo + -rm -f libltdl/loaders/$(DEPDIR)/load_add_on.Plo + -rm -f libltdl/loaders/$(DEPDIR)/loadlibrary.Plo + -rm -f libltdl/loaders/$(DEPDIR)/shl_load.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-vti + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-vti + +pdf: pdf-recursive + +pdf-am: $(PDFS) + +ps: ps-recursive + +ps-am: $(PSS) + +uninstall-am: uninstall-binSCRIPTS uninstall-dvi-am uninstall-html-am \ + uninstall-includeHEADERS uninstall-info-am \ + uninstall-libLTLIBRARIES uninstall-ltdlincludeHEADERS \ + uninstall-man uninstall-pdf-am uninstall-ps-am + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook +uninstall-man: uninstall-man1 + +.MAKE: $(am__recursive_targets) all check check-am install install-am \ + install-strip uninstall-am + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ + am--depfiles am--refresh check check-am check-local clean \ + clean-aminfo clean-cscope clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-local clean-noinstLTLIBRARIES cscope \ + cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ + dist-gzip dist-hook dist-info dist-lzip dist-shar dist-tarZ \ + dist-xz dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-binSCRIPTS install-data install-data-am \ + install-data-local install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am \ + install-includeHEADERS install-info install-info-am \ + install-libLTLIBRARIES install-ltdlincludeHEADERS install-man \ + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installcheck-local installdirs installdirs-am maintainer-clean \ + maintainer-clean-aminfo maintainer-clean-generic \ + maintainer-clean-vti mostlyclean mostlyclean-aminfo \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + mostlyclean-vti pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-binSCRIPTS uninstall-dvi-am \ + uninstall-hook uninstall-html-am uninstall-includeHEADERS \ + uninstall-info-am uninstall-libLTLIBRARIES \ + uninstall-ltdlincludeHEADERS uninstall-man uninstall-man1 \ + uninstall-pdf-am uninstall-ps-am + +.PRECIOUS: Makefile + + +$(ltversion_m4): $(ltversion_in) $(dotversion) + @$(rebuild); \ + if test -f '$@'; then \ + eval `'$(SED)' -n '/^macro_revision=/p' '$@'`; \ + test "x$$macro_revision" = "x$$revision" && rebuild=false; \ + fi; \ + for prereq in $?; do \ + case $$prereq in *.version);; *) rebuild=:;; esac; \ + done; \ + if $$rebuild; then \ + rm -f '$@'; \ + if test -d '$(srcdir)/.git' && git --version >/dev/null 2>&1; then \ + $(git_commit_count) > '$(srcdir)/.serial'; \ + fi; \ + serial=`cat '$(srcdir)/.serial'`; \ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo $(bootstrap_edit) "'$(ltversion_in)' > '$@'"; fi; \ + $(bootstrap_edit) '$(ltversion_in)' > '$@'; \ + chmod a-w '$@'; \ + fi + +$(ltmain_sh): $(ltmain_in) $(dotversion) + @$(rebuild); \ + if test -f '$@'; then \ + eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ + test "x$$package_revision" = "x$$revision" && rebuild=false; \ + fi; \ + for prereq in $?; do \ + case $$prereq in *.version);; *) rebuild=:;; esac; \ + done; \ + if $$rebuild; then \ + rm -f '$@'; \ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo "$(inline_source) '$(ltmain_in)' |" $(bootstrap_edit) "> '$@'"; fi; \ + $(SCRIPT_ENV) '$(inline_source)' '$(ltmain_in)' | $(bootstrap_edit) > '$@'; \ + chmod a-w '$@'; \ + fi + +$(lt_Makefile_am): $(ltdl_mk) + $(AM_V_at)rm -f '$@' + $(AM_V_GEN)( '$(SED)' -n '1,/^.. DO NOT REMOVE THIS LINE -- /p' \ + '$(ltdl_mk)'; \ + { echo 'ACLOCAL_AMFLAGS = -I ../m4'; \ + echo 'AUTOMAKE_OPTIONS = foreign'; \ + echo 'AM_CPPFLAGS ='; \ + echo 'AM_LDFLAGS ='; \ + echo 'BUILT_SOURCES ='; \ + echo 'include_HEADERS ='; \ + echo 'noinst_LTLIBRARIES ='; \ + echo 'lib_LTLIBRARIES ='; \ + echo 'EXTRA_LTLIBRARIES ='; \ + echo 'EXTRA_DIST ='; \ + echo 'CLEANFILES ='; \ + echo 'MOSTLYCLEANFILES ='; \ + }; \ + '$(SED)' -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' \ + '$(ltdl_mk)' \ + |'$(SED)' -e 's|libltdl_||; s|libltdl/||; s|: libltdl/|: |' \ + -e '/^[ ]*-I\$$(srcdir)\/libltdl -Ilibltdl \\/d' \ + -e 's|\$$(libltdl_|$$(|' \ + ) |'$(SED)' -e '/^.. DO NOT REMOVE THIS LINE -- /d' \ + -e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with automake to produce Makefile.in,' > '$@' + $(AM_V_at)chmod a-w '$@' + +.PHONY: bootstrap-deps bootstrap-deps-prep +bootstrap-deps: bootstrap-deps-prep + $(MAKE) $(bootstrap_files) + +bootstrap-deps-prep: + @exit_cmd=:; \ + test -z '$(srcdir)' \ + && echo "ERROR: don't call $(MAKE) with srcdir unset." \ + && exit_cmd=exit; \ + test -z '$(PACKAGE)' \ + && echo "ERROR: don't call $(MAKE) with PACKAGE unset." \ + && exit_cmd=exit; \ + test -z '$(PACKAGE_BUGREPORT)' \ + && echo "ERROR: don't call $(MAKE) with PACKAGE_BUGREPORT unset." \ + && exit_cmd=exit; \ + test -z '$(PACKAGE_NAME)' \ + && echo "ERROR: don't call $(MAKE) with PACKAGE_NAME unset." \ + && exit_cmd=exit; \ + test -z '$(PACKAGE_URL)' \ + && echo "ERROR: don't call $(MAKE) with PACKAGE_URL unset." \ + && exit_cmd=exit; \ + test -z '$(SED)' \ + && echo "ERROR: don't call $(MAKE) with SED unset." \ + && exit_cmd=exit; \ + test -z '$(VERSION)' \ + && echo "ERROR: don't call $(MAKE) with VERSION unset." \ + && exit_cmd=exit; \ + $$exit_cmd 1 + $(AM_V_at)rm -f $(bootstrap_files) + +all-local: $(LTDL_BOOTSTRAP_DEPS) + +libtoolize: $(libtoolize_in) $(config_status) + $(AM_V_at)rm -f '$@' + $(AM_V_GEN)$(configure_edit) '$(libtoolize_in)' > '$@' + $(AM_V_at)chmod a+x '$@' + $(AM_V_at)chmod a-w '$@' + +# We used to do this with a 'stamp-vcl' file, but non-gmake builds +# would rerun configure on every invocation, so now we manually +# check the version numbers from the build rule when necessary. +libtool: $(ltmain_sh) $(config_status) $(dotversion) + @$(rebuild); \ + if test -f '$@'; then \ + eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ + test "$$package_revision" = "$$revision" && rebuild=false; \ + fi; \ + for prereq in $?; do \ + case $$prereq in *.version);; *) rebuild=:;; esac; \ + done; \ + if $$rebuild; then \ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo '$(SHELL) $(top_builddir)/config.status "$@"'; fi; \ + cd '$(top_builddir)' && '$(SHELL)' ./config.status '$@'; \ + fi + +# We need the following in order to create an when the system +# doesn't have one that works with the given compiler. +all-local $(lib_OBJECTS): libltdl/libltdl/$(LT_ARGZ_H) +libltdl/libltdl/lt__argz.h: libltdl/libltdl/lt__argz_.h + $(AM_V_at)$(mkinstalldirs) . libltdl/libltdl + $(AM_V_GEN)cp $(srcdir)/libltdl/libltdl/lt__argz_.h $@-t + $(AM_V_at)mv $@-t $@ + +$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile + +# Don't let unused scripts leak into the libltdl Makefile +$(stamp_mk): $(lt_Makefile_in) + $(AM_V_at)T='$(srcdir)/$(aux_dir)/Makefile.tmp'; \ + for p in $(srcdir)/$(aux_dir)/*; do \ + test -f "$$p" || continue; \ + f=`echo "$$p" | $(SED) 's|^$(srcdir)/$(aux_dir)/||'`; \ + case " $(pkgaux_scripts) ltmain.sh " in \ + *" $$f "*) ;; \ + *) '$(SED)' \ + -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"'\$$||' \ + -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"' ||' \ + -e '/^[ ]*\\$$/d' \ + '$(lt_Makefile_in)' > "$$T" \ + && mv -f "$$T" '$(lt_Makefile_in)';; \ + esac; \ + done + $(AM_V_GEN)echo stamp > '$@' + +$(lt_aclocal_m4): $(lt_aclocal_m4_deps) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4 + +$(lt_configure): $(lt_configure_deps) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF) + +$(lt_config_h_in): $(lt_configure_deps) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOHEADER) + $(AM_V_at)touch '$@' + +all-local: $(notes_txt) + +$(notes_txt): $(notes_texi) + $(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \ + $(MAKEINFOFLAGS) -o '$@' '$(notes_texi)' + +# It's wrong to make distributed files (e.g. $(libtool_1)) rely on +# files created in the build tree, so instead we regenerate the +# manual pages if the sources for the build-tree files we want to +# run have changed. +$(libtool_1): $(ltmain_sh) + $(AM_V_GEN)$(update_mans) --help-option=--help-all libtool +$(libtoolize_1): $(libtoolize_in) + $(AM_V_GEN)$(update_mans) libtoolize + +install-data-local: $(lt_Makefile_in) install-scripts-local + @$(NORMAL_INSTALL) + -rm -rf '$(DESTDIR)$(pkgdatadir)'/* + @list='$(pkgmacro_files)'; for p in $$list; do \ + d=`echo "$(DESTDIR)$(aclocaldir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + echo " $(INSTALL_DATA) '$(srcdir)/$(macro_dir)/$$p' '$(DESTDIR)$(aclocaldir)/$$p'"; \ + $(INSTALL_DATA) "$(srcdir)/$(macro_dir)/$$p" "$(DESTDIR)$(aclocaldir)/$$p"; \ + done + @list='$(pkgaux_scripts)' && \ + for p in $$list; do \ + d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + echo " $(INSTALL_SCRIPT) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ + $(INSTALL_SCRIPT) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ + done + @list='$(pkgaux_data_files)' && for p in $$list; do \ + d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + echo " $(INSTALL_DATA) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ + $(INSTALL_DATA) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ + done + @list='$(pkgltdl_files)' && for p in $$list; do \ + d=`echo "$(DESTDIR)$(pkgdatadir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + echo " $(INSTALL_DATA) '$(ltdldir)/$$p' '$(DESTDIR)$(pkgdatadir)/$$p'"; \ + $(INSTALL_DATA) "$(ltdldir)/$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \ + done + chmod a+x '$(DESTDIR)$(pkgdatadir)/configure' + +.PHONY: install-scripts-local +install-scripts-local: $(lt_Makefile_in) + @p=`echo libtoolize |sed -e '$(transform)'`; \ + echo " $(SCRIPT_ENV) '$(inline_source)' libtoolize > '$(DESTDIR)$(bindir)/$$p'"; \ + d=`echo "$(DESTDIR)$(bindir)/$$p" |$(SED) 's|[^/]*$$||'`; \ + test -d "$$d" || $(mkinstalldirs) "$$d"; \ + $(SCRIPT_ENV) '$(inline_source)' libtoolize > "$(DESTDIR)$(bindir)/$$p"; \ + chmod a+x "$(DESTDIR)$(bindir)/$$p" +$(changelog): FORCE + $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ + TZ=UTC $(gitlog_to_changelog) --amend=$(git_log_fix) \ + --ignore-matching=Omit-from-ChangeLog. \ + --format='%s%n%n%b%n' \ + --since=$(changelog_start_date) > '$@T'; \ + rm -f '$@'; mv '$@T' '$@'; \ + cat '$(changelog_old)' >> '$@'; \ + fi + +# Generate THANKS using git log entries as far as possible, fixing +# up ommisions and errors from NO-THANKS configuration. +$(thanks): FORCE + $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ + { \ + $(prologue); echo; \ + { perl -ne '/^$$/.../^$$/ and print' $(no_thanks) \ + | grep -v '^$$' | perl -pe 's/ +/\0/'; \ + { sed -e '1,/\#\# /d' -e '/^\#\# /d' \ + -e 's|[ ][ ]*| |' < $(no_thanks) \ + | tr '\t' '\0'; \ + git log --pretty=format:'%aN%x00%aE'; \ + } | $(ASSORT) -u; \ + } | $(thanks_gen) \ + | LC_ALL=en_US.UTF-8 sort -f; \ + echo; \ + printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \ + } > '$@'; \ + fi +$(dotversion): + $(AM_V_GEN)echo '$(VERSION)' > '$@T' && mv '$@T' '$@' +$(readme): FORCE + @if test -n "`expr $(VERSION) : $(re_alpha_version)`"; then \ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo "$(SHELL) $(edit_readme_alpha) $@"; fi; \ + $(SHELL) $(edit_readme_alpha) '$@'; \ + fi + +dist-hook: $(changelog) $(thanks) $(dotversion) $(readme) + echo '$(VERSION)' > $(tarball_version) + $(git_commit_count) > $(dotserial) + $(no_bogus_macros) + +distcheck-hook: syntax-check + +uninstall-hook: + @$(NORMAL_UNINSTALL) + @list='$(pkgltdl_files)'; \ + for f in $$list; do \ + echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + @list='$(pkgaux_scripts) $(pkgaux_data_files)'; \ + for f in $$list; do \ + echo " rm -f '$(DESTDIR)$(pkgauxdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgauxdir)/$$f"; \ + done + @for p in $(pkgmacro_files); do \ + f=`echo "$$p" |$(SED) 's|^.*/||'`; \ + echo " rm -f '$(DESTDIR)$(aclocaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \ + done + @p=`echo libtoolize |sed -e '$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$p'"; \ + rm -f "$(DESTDIR)$(bindir)/$$p" + +$(testsuite): $(package_m4) $(TESTSUITE_AT) Makefile.am + $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -I '$(srcdir)/tests' $(TESTSUITE_AT) -o '$@' + +$(package_m4): $(dotversion) Makefile.am + $(AM_V_GEN){ \ + echo '# Signature of the current package.'; \ + echo 'm4_define([AT_PACKAGE_NAME], [$(PACKAGE_NAME)])'; \ + echo 'm4_define([AT_PACKAGE_TARNAME], [$(PACKAGE_TARNAME)])'; \ + echo 'm4_define([AT_PACKAGE_VERSION], [$(PACKAGE_VERSION)])'; \ + echo 'm4_define([AT_PACKAGE_STRING], [$(PACKAGE_STRING)])'; \ + echo 'm4_define([AT_PACKAGE_BUGREPORT], [$(PACKAGE_BUGREPORT)])'; \ + echo 'm4_define([AT_PACKAGE_URL], [$(PACKAGE_URL)])'; \ + } > '$@' + +tests/atconfig: $(config_status) + $(AM_V_GEN)$(SHELL) '$(config_status)' '$@' + +# Hook the test suite into the check rule +check-local: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ + CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) + +# Run the test suite on the *installed* tree. +installcheck-local: $(testsuite_deps) + $(AM_V_at)$(CD_TESTDIR); \ + CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ + AUTOTEST_PATH='$(exec_prefix)/bin' + +.PHONY: check-noninteractive-old +check-noninteractive-old: + $(AM_V_at)'$(MAKE)' $(AM_MAKEFLAGS) check-TESTS TESTS='$(TESTS)' + +# Run only noninteractive parts of the new testsuite. +.PHONY: check-noninteractive-new +check-noninteractive-new: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ + CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ + -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \ + $(TESTSUITEFLAGS) + +# Run only interactive parts of the new testsuite. +.PHONY: check-interactive +check-interactive: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ + CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ + -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \ + $(TESTSUITEFLAGS) + +.PHONY: check-noninteractive +check-noninteractive: check-noninteractive-old check-noninteractive-new + +# We need to remove any file droppings left behind by testsuite +clean-local: + -$(CD_TESTDIR); \ + test -f "$$abs_srcdir/$(TESTSUITE)" && \ + '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" --clean + +FORCE: + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/BUILD/libtool-2.4.7/NEWS b/BUILD/libtool-2.4.7/NEWS new file mode 100644 index 0000000..ba99fbe --- /dev/null +++ b/BUILD/libtool-2.4.7/NEWS @@ -0,0 +1,1251 @@ +NEWS - list of user-visible changes between releases of GNU Libtool + +* Noteworthy changes in release 2.4.7 (2022-03-16) [stable] + +** New features: + + - Libtool script now supports (configure-time and runtime) ARFLAGS + variable, which obsoletes AR_FLAGS. This is due to naming conventions + among other *FLAGS and to be consistent with Automake's ARFLAGS. + + - Gnulib testsuite is enabled and run during 'make check'. + + - Support the Windows version of the Intel C Compiler (icl) in + libtool script. + + - Pass '-fsanitize=*' flags for GCC and LLVM, and '-specs=*' for GCC + to linker. + + - Pass '-Xassembler=*' and '-Wa,*' flag to compilers and linkers. + + - The variable 'FILECMD' with default value of '/usr/bin/file' was used to + replace existing hard coded references to '/usr/bin/file'. + + - Add MidnightBSD support. + +** Important incompatible changes: + + - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'. + + - Do not pass '-pthread' to Solaris linker. + + - 'libtool' and 'libtoolize' scripts now use '#! /usr/bin/env sh' shebang. + Previously '#! /bin/sh' was used, which presents challenges for + containerized environments. + +** Bug fixes: + + - Fix significant slowdown of libtoolize for certain projects (regression + introduced in 2.4.3 release) caused by infinite m4 macro recursion. + + - Mitigate the slowdown of libtool script (introduced in v2.4.3) caused by + increased number of calls to '$SED $sed_quote_subst' (bug#20006). + + - Properly parse and export TLS symbols on AIX. + + - Various bug fixes surrounding use of 'sed'. + + - Darwin systems set proper "allow undefined" flag on OSX 11, and + PowerPC 10.5. + + - Removed some deprecated tests related to 'Makefile.inc' files. + +* Noteworthy changes in release 2.4.6 (2015-02-15) [stable] + +** New features: + + - LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time + and persists correctly in the generated libtool script. + +** Bug fixes: + + - Fix a race condition in ltdl dryrun test that would cause spurious + random failures of that test. + + - LT_SYS_DLSEARCH_PATH is munged correctly. + + +* Noteworthy changes in release 2.4.5 (2015-01-19) [stable] + +** New features: + + - Libtoolize searches for the best available M4 on the user PATH at + runtime, rather than settling for the first one found. + + - Support munging sys_lib_dlsearch_path_spec with LT_SYS_LIBRARY_PATH + environment variable. + +** Bug fixes: + + - Bail out at configure time if the installed M4 is not sufficient + for the purposes of libtoolize. + + - freebsd-elf library versioning was upgraded incorrectly in 2.4.4, + but now works properly again. + + - Fix a 2.4.4 regression so that libltdl subprojects do not warn + about missing libltdl/libltdl directory as in prior releases. + + - When using Sun C++ on Solaris or GNU/Linux we used to set libtool's + postdeps permanently, based on the contents of $CXX and $CXXFLAGS at + configure time, which was brittle and error-prone. Now, we no + longer check for a SunCC ABI at configure time, but augment the + postdeps at libtool time based on the current invocation flags on + each call. + +** Changes in supported systems or compilers: + + - /usr/local prefixed rpaths are now added to the link-line on + ia64-hp-hpux*, because the default system runtime loader path does + not contain them. + + - Previously, when using Sun C++ on Solaris or GNU/Linux, `-Cstd -Crun` + flags were added to $postdeps unless CXX or CXXFLAGS contained + `-library=stlport4`. Newer releases have added other compiler flags + that are also incompatible with `-Cstd -Crun`, so now we don't add + them if any of `-std=c++[0-9][0-9]`, `-library=stdcxx4` or + `-compat=g` were found in CXX or CXXFLAGS when the Sun C++ compiler + is detected. + + +* Noteworthy changes in release 2.4.4 (2014-11-29) [stable] + +** New features: + + - Libltdl maintains its own fork of argz, with macros and files in + the LT_ and lt__ namespaces (resp.) where they cannot clash with + client projects' use of gnulib argz. + +** Bug fixes: + + - Installation of 'libtoolize' once again obeys '--program-prefix', + '--program-suffix' and '--program-transform-name' configure options. + + - `libtoolize` doesn't remove any files that it can't reinstall, + including old versions of the snippet directory, and gnulib's + version of the argz module and supporting files. + + - LT_FUNC_DLYSM_USCORE now works correctly on systems that don't + support self dlopen()ing. + +** Important incompatible changes: + + - LT_LIB_DLLOAD no longer prepends -ldl or -ldld to LIBS, causing + duplicate occurrences in libltdl link lines. If you need to + add a library for dlopen() or shl_load() in your Makefile, then + use $(LIBADD_DLOPEN) or $(LIBADD_SHL_LOAD) respectively. If you + are using libltdl, this all happens automatically, and the only + difference you'll see is no more duplicated library names in the + verbose link line. + +** Changes in supported systems or compilers: + + - Preliminary support for tcc on linux*. Although it already worked + sometimes in previous releases, making sure to set LD correctly now + avoids mis-matching GNU ld with tcc: + + ./configure CC=tcc LD=tcc + + - Added -os2dllname option to work around 8 character base name + limit on OS/2. The option has no effect on other systems. + + - Support for DLL versioning, -export-symbols and -export-symbols-regex + on OS/2. + + - Support filename-based shared library versioning on AIX. See manual + for details. + + +* Noteworthy changes in release 2.4.3 (2014-10-27) [stable] + +** New features: + + - Moved to gnulib release infrastructure. + + - M4 is now used for scanning the M4 macros in your configure.ac that + 'libtoolize' looks at to determine what files you want, and where you + would like them installed. This means that you can compose your + version number or any other argument that Libtoolize needs to know at + M4 time using git-version-gen from gnulib, for example. + + - Invoking 'libtoolize --ltdl' no longer maintains a separate autoconf + macro directory in the libltdl tree, but automatically adjusts the + installed libltdl configuration files to share whatever macro + directory is declared by the parent project. (Note: if you were + already sharing a macro directory with AC_CONFIG_MACRO_DIR(ltdl/m4) + or similar, that still works as does any other directory choice). + + - Invoking 'libtoolize --ltdl' no longer maintains a separate auxiliary + scripts directory in the libltdl tree, but automatically adjusts the + installed libltdl configuration files to share whatever auxiliary + scripts directory is declared by the parent project. (Note: if you + were already sharing an auxiliary directory with subproject libltdl + using AC_CONFIG_AUX_DIR(ltdl/config) or similar, that still works as + does any other directory choice). + + - The legacy tests have all been migrated to the Autotest harness. + + - The Autotest testsuite can be run without the especially time consuming + tests with: + + make check-local TESTSUITEFLAGS='-k "!expensive"' + +** Bug fixes: + + - Fix a long-standing latent bug in autom4te include path for autotests + with VPATH builds. + - Fix a long-standing latent bug in libtoolize that could delete lines + from libltdl/Makefile.am in recursive mode due to underquoting in a + sed script. + - Fix a long-standing bug in libtoolize, by outputting the 'putting + auxiliary files in' header with 'libtoolize --ltdl --subproject'. + - Fix a long-standing bug in libtoolize subproject installation, by not + installing a set of autoconf macro files into the parent project if + there is no configure.ac present to use them. + - The libtoolize subproject mode selector is now named '--subproject' + and is equivalent to the implied '--subproject' mode when no other + mode is selected; '--standalone' never worked, and is no longer + accepted. + - Libtool and libtoolize no longer choke on paths with a comma in them. + - In the case where $SHELL does not have the same enhanced features + (e.g. the ability to parse 'var+=append') as $CONFIG_SHELL, libtool + will now correctly fallback to using only vanilla shell features + instead of failing with a parse at startup. + - Correctly recognize import libraries when Microsoft dumpbin is used + as the name lister and extend the dumpbin wrapper to find symbols + in import libraries using the -headers option of dumpbin. Also fix a + bug in the dumpbin wrapper that could lead to broken symbol listings + in some corner cases. + - Use the improved Microsoft dumpbin support to mend preloading of + import libraries for Microsoft Visual C/C++. + - No longer mangle module-definition (.def) files when feeding them to + the Microsoft Visual C/C++ linker via the -export-symbols argument to + the libtool script, thus matching how .def files are handled when + using GNU tools. + - Recognize more variants (e.g. those starting with a LIBRARY statement) + of module-definitions (.def) files when using them instead of a raw + list of symbols to export. + - Fix a long-standing bug when using libtoolize without automake; we + no longer remove install-sh with --force, since it's not a file + libtoolize will reinstall without --install.. + +** Important incompatible changes: + + - GNU M4 is required to run libtoolize in a directory with a + 'configure.ac' (or 'configure.in') that needs tracing to determine + what modes and directories have been specified. + + - The use of the idiosyncratically named 'Makefile.inc' in nonrecursive + libltdl builds is deprecated, although it will be supported for one + more year or until the next release, whichever takes longer. Please + upgrade to the more standard naming of 'ltdl.mk' in keeping with other + GNU projects. + + - libtoolize now behaves consistenty in respect of multiple directory + arguments to ACLOCAL_AMFLAGS and multiple invocations of AC_CONFIG- + _MACRO_DIRS, where the first directory is always selected. Previous + releases took the first ACLOCAL_AMFLAGS argument, but the last + invocation of AC_CONFIG_MACRO_DIRS. + + - The libtoolize program now advises use of the new Autoconf + AC_CONFIG_MACRO_DIRS declaration. If you follow that advice, all + your developers will need at least autoconf-2.70 and automake-1.13 + to rebootstrap your probject. If you still need to support + bootstrap with older Autotools, then you should add the following + to your configure.ac file: + + m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], + m4_defn([AC_CONFIG_MACRO_DIR]))]) + + - Overhead of probing for a non-backslash crippled echo equivalent + during initialization of every script has been removed in favor of + trusting that "printf %s\n" works out of the box on all non-museum + host architectures. Manually setting ECHO appropriately in the + build environment will be necessary on some ancient architectures. + +** Changes in supported systems or compilers: + + - Support for bitrig (*-*-bitrig*). + + - Solaris 7 and earlier requires ECHO=/usr/ucb/echo in the build + environment, to build and use libtool. + +New in 2.4.2 2011-10-17: git version 2.4.1a, Libtool team: + +* New features: + + - The --with-pic configure option now supports a list of comma-separated + package names. This can be used to build some static libraries with PIC + objects while building others with non-PIC objects. + + - Initial support for Go, using the gccgo compiler. + + - On Mac OS X .dylib is now tried as well as .so with + lt_dlopenext(). + +* Bug fixes: + + - The generic approximation of the command line length limit (when getconf is + not available) works again. Regression introduced in v2.2.6-39-g9c3d4d8. + - The bug that leaked developer tool paths into the release tarballs + from ./bootstrap is fixed. + - Improved support for the Cuda Compiler Driver (nvcc) on Darwin. + - For GCC LTO support, the -fuse-linker-plugin switch is now also removed + when computing compiler postdeps. + +* Important incompatible changes: + + - The undocumented hardcode_libdir_flag_spec_ld tag variable has been + removed in favor of using hardcode_libdir_flag_spec with $wl set to empty. + +* Changes in supported systems or compilers: + + - Fixes for gfortran on Darwin, XL Fortran on GNU/Linux. + - Support for FreeBSD 1.x (outdated since 1994) has been removed. + +New in 2.4 2010-09-22: git version 2.2.11a, Libtool team: + +* New features: + + - Sysroot support. This allows you to build cross-compiled packages + with the same prefix that will be used on the destination machine, + and still find dependent libraries under the compiler's "sysroot". + Without sysroot support, paths internal to the build system may leak + into the product of the build. + + Sysroot support is disabled unless the --with-sysroot configure + option is passed to configure, because .la files generated with + sysroot support will _not_ be usable in general with older Libtools. + + - On non-cygwin Windows systems, we now lookup potential library + file names without regard to file name case. + - The old testsuite now uses the 'parallel-tests' Automake test driver + now for more concurrency and better test logging. For this, tests are + run in verbose mode by default now. + +* Important incompatible changes: + + - Autoconf 2.62 and Automake 1.11.1 or newer are now required for + bootstrapping Libtool. For using Libtool in your own projects, + Autoconf 2.59 and Automake 1.9.6 should still work. + - The fix_srcfile_path variable has been replaced by a more thorough + mechanism triggered by the to_tool_file_cmd variable. + +* Changes in supported systems or compilers: + + - Initial support for the Microsoft C/C++ Compiler, with help from + the compile script in unreleased Automake 1.12. Override the manifest + tool used to embed the manifest resource through the environment + variable MANIFEST_TOOL. Please note that the import library naming + has changed (from foo-2.lib to foo.dll.lib) from when the code lived + in its own git branch. + - Initial support for the NAG Fortran compiler on GNU/Linux. + +* Bug fixes: + + - The 'check-interactive' and 'check-noninteractive' convenience make + targets now also work for the old testsuite. + - Warnings from Autoconf v2.67-36-g1e604ec about incomplete programs + passed to AC_*_IFELSE tests have been fixed. + - On IRIX, the test for -Wl,-exported_symbol now also works with gfortran. + +New in 2.2.10 2010-06-10: git version 2.2.9a, Libtool team: + +* New features: + + - On non-cygwin Windows systems, we no longer try to lookup the POSIX + format path recorded in $libdir of a pseudo-library when looking up + the location of the library with the native tools. + +New in 2.2.8 2010-06-05: git version 2.2.7c, Libtool team: + +* No new features: + + - Bumped version number and promoted 2.2.7b release candidate to a full + stable release. + +New in 2.2.7b 2010-05-20: git version 2.2.7a, Libtool team: + +* New features: + + - Libtool ships and installs man pages for libtool and libtoolize now. + - New libtool command line flag --help-all. + - New libtool command line flag --no-silent (with alternate spelling + --no-quiet). This flag (re)enables the default informational messages, + but has no effect on so-called "verbose" output messages. + - New libtool command line flag --no-verbose, which disables only + the extra "verbose" output messages and has no effect on the + default informational messages. + - New convenience make targets 'check-noninteractive' to avoid long testsuite + runs on Windows with popup windows in the middle, and 'check-interactive' + for the complement set of tests. + - New link mode flag -bindir to specify the location for installed PE DLLs. + - Wrapper scripts and wrapper executables for programs linked against + uninstalled shared libraries now support command-line options --lt-debug + and --lt-dump-script. + +* Important incompatible changes: + + - The wrapper command line option support described above introduces the + following incompatibility: the wrapper will remove any command line + options that begin with '--lt-*' from the argument list before launching + (uninstalled) programs. Any '--lt-*' option on the command line not + recognized by the wrapper will result in an error. + - The type of the symbol lists variables (lt_*_LTX_preloaded_symbols) has + been fixed in the manual and in a couple of tests to match the actual + implementation. + +* Changes in supported systems or compilers: + + - Improved support for 64bit Windows (mingw64). + - Improved support for cegcc (Windows CE/PocketPC). + - Support for GNU/kOpenSolaris (kopensolaris*-gnu). + - Initial support for compilers on BlueGene BG/P. + - Improved support for Atari FreeMiNT. + - With binutils 2.19.50+, shared libraries can be built on AIX. + - Initial support for the Cuda Compiler Driver on GNU/Linux. + - Support for Haiku (i586-pc-haiku). + - Initial support for GCC link-time optimization (LTO) flags. + +* Bug fixes: + + - Fix 2.2.6 regression that prevented using the libltdl macros together + with Autoconf 2.59 ('possibly undefined macro: LT_LIBEXT'). + - Fix 2.2.4 regression that caused arguments with special characters + to be mangled by the compile wrapper for uninstalled programs on MinGW. + - libtool command line flag --verbose now also enables explicit + verbose output, in addition to its previous behavior of (re)enabling + only the default informational output. See New Features, --no-silent. + - Link tests are guarded by cache variables so they can be avoided for + bootstrapping purposes (e.g., when link tests are not possible). + - Argument mangling of execute mode has been improved (i.e., lessened). + - Fix 2.1b regression that caused nm to not be the default name lister. + The regression affected mainly (arguably broken) cross compiles. + - Fix long standing bug that caused compiler checks for Fortran and + C++ compilers to run twice. + - Link mode works around a parallel build failure on Darwin 9.6.0 due + to the 'ar' 'flock'ing an archive upon extraction, by protecting the + extraction of convenience archives with a lock. + - The Libtool macro files do not contain instances of __oline__ any more, + easing merges for configure scripts that are added to version control. + - Fix ancient bug where "-Wc," was turned into "$wl" (typically "-Wl,") + when using the compiler driver to link programs. Now "-Wc," is stripped + just as it is when linking libraries through the compiler driver. + - Symbol versioning works with the GNU gold linker now. + - Fixes for detection of shared library dependencies on MinGW systems. + - Fixed Sun compiler detection on Solaris with sunCC, sunf77 etc. names. + +* Miscellaneous changes: + + - The manual is distributed under the terms of the GNU FDL 1.3 now. + +New in 2.2.6 2008-09-05: git version 2.2.5a, Libtool team: + +* New features: + + - New lt_dloadvise_preload() call to set a hint that only preloadeded + modules can be opened. + - libtoolize no longer removes config.guess and config.sub, even when + --install is passed. + +* Changes in supported systems or compilers: + + - Fixes for ifort on Darwin, and newer Intel compilers (icc 10, ifort 9) + on GNU/Linux. + - Fixes for cwrapper (cygwin/mingw) under -stdc=c99. + - Support cross compile of MinGW with Wine. + - Initial support for cegcc (Windows CE/PocketPC) cross compilation. + - Initial support for lf95 (Lahey Fortran 8.1) on GNU/Linux. + +* Bug fixes: + + - Several testsuite issues have been fixed, thanks to user feedback. + + - Fix 2.2 regression that caused argz symbols to be exported from + libltdl unrenamed on systems that do not have working argz. + + - Revert "lt_dlopen(NULL) works on AIX again.". It was not the + correct fix. + + - Diagnose '-L' arguments correctly. + + - Libtool no longer tries to open devices as files in execute mode. + + - Libtool no longer removes *.gcno profile information from GCC. + +New in 2.2.4: 2008-05-04: git version 2.2.3a, Libtool team: + +* New features: + + - New libtoolize option --no-warn, for users that want to continue to + use old libtool style without being nagged. + - Options --debug, --no-warn, --quiet and --verbose can be passed to + libtoolize through the environment variable LIBTOOLIZE_OPTIONS, for + cleaner interaction between the user and libtoolize when called by + autoreconf. + +* Bug fixes: + + - The documentation for lt_dlopenadvise showed the wrong type for + the lt_dladvise parameter. + - The public declarations for lt_dlhandle and lt_dladvise are now + incomplete struct types rather than void*, which means that nearly + all casting is eliminated allowing the compiler to provide more + type checking. + - libtoolize no longer reports up-to-date files that it would have + copied, unless --force is passed. + - No longer reports that lt~obsolete.m4 needs to be added to aclocal.m4 + when it is already there. + - When 'aclocal' copied the libtool macros directly into 'aclocal.m4' + (i.e. AC_CONFIG_MACRO_DIR is not being used), libtoolize no longer + reports that all macros need to be added to 'aclocal.m4', and + diagnoses only the macro files that are missing or not up-to-date. + - libtoolize now advises use of AC_CONFIG_MACRO_DIR to keep matching + libtool macros in-tree where appropriate. + - libtoolize now advises use of 'ACLOCAL_AMFLAGS = -I m4' (or + equivalent) where appropriate, and errors out when ACLOCAL_AMFLAGS + names a different directory to AC_CONFIG_MACRO_DIR. + +New in 2.2.2: 2008-04-01: CVS version 2.2.1a, Libtool team: + +* New features: + + - In compile mode, compiler output occurs in the user locale. This + feature has been present in 1.5.26 but not in 2.2. + +* Changes in supported systems or compilers: + + - Initial shared library support for AmigaOS4 on powerpc. + +* Bug fixes: + + - Fix 2.2 regression in libltdl that causes memory corruption upon + repeated 'lt_dlinit(); lt_dlexit()'. + - Fix 2.2 regression in libltdl that skipped the dlopen loader if + the system also supports other loaders (e.g., Cygwin, HP-UX). + - Fix 2.2 regression in that 'libtool --mode=execute CMD ARGS' does not + transform ARGS that do not look like shell or C wrappers of libtool + programs. + - Fix 2.2 regression that kept cross-compiling to w32 from working. + - Several testsuite issues have been fixed, thanks to user feedback. + +New in 2.2: 2008-03-01; CVS version 2.1c, Libtool team: + +* Bug fixes: + + - argz.c, lt__dirent.c and lt__strl.c are correctly distributed with + parent projects using nonrecursive libltdl. + - libtoolize no longer tries to install libtool files when libltdl is + used in a non-autoconf parent package. + - Don't add the CXX tag to libtool when there is no C++ compiler, even + if AC_PROG_CXX sets a default g++ compiler where no such compiler + actually exists. + - make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install + works again. + +New in 2.1b: 2008-02-01; CVS version 2.1a, Libtool team: + +* Important incompatible changes and obsoleted features: + + - Removed deprecated APIs from libltdl: lt_dlcaller_register, + lt_dlhandle_next, lt_dlhandle_find, lt_dlforeach, lt_dlmutex_register, + lt_dlmutex_lock, lt_dlmutex_unlock, lt_dlmutex_seterror, + lt_dlmutex_geterror, lt_dlmalloc, lt_dlrealloc, lt_dlfree. + - The Libtool and libltdl macros and the testsuite now assume a C89 + environment, consequently do not test for headers such as string.h, + strings.h, memory.h any more. + - Fix regression in libltdl symbol exports on Cygwin. Side effect: + LT_GLOBAL_DATA and LT_SCOPE are now explicitly defined as + declspec(dllexport), bypassing auto-export logic on Cygwin. + This tracks existing behavior on MinGW. + - The libtool script has been optimized a bit for more modern shells. + This breaks use of the stdin file descriptor in libtool, and can + break if a different shell is used to execute the libtool script + than the one it was configured for. + - The macros AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, and + AC_DISABLE_STATIC have been un-deprecated after deprecation in + 1.9b. + - The macro LT_WITH_LTDL has been renamed to LTDL_INIT. + - Fixed a branch-1-5/HEAD regression to only link uninstalled libraries + statically with '-static'. In order to compensate for this, there + is a new link flag '-static-libtool-libs' to provide the previous + '-static' semantics. + +* New features: + + - Fix installation of libltdl so that it does not need Autoconf and + Automake installed, in order to be usable in another package. This + lifts the restrictions introduced in 1.9b. + - Default convenience or installable libltdl builds can optionally + be declared using new 'convenience' or 'installable' options to the + LTDL_INIT macro (as an alternative to individual LTDL_CONVENIENCE + or LTDL_INSTALLABLE invocations). + - New configure-time options to allow libltdl parent project builder + to choose between installed and shipped libltdl, when invoking + LTDL_INIT: --with-included-ltdl, --with-ltdl-include, + --with-ltdl-lib. + - New LT_CONFIG_LTDL_DIR macro to specify a different directory name + for a convenience libltdl. + - libtoolize has been completely overhauled. + - 'libtoolize --install' now also installs 'install-sh'. + - New libtoolize options: --non-recursive, --recursive, --subproject. + These options control the way libltdl is installed into a package by + libtoolize. The new recursive and non-recursive build modes for + libltdl don't require a subconfigure any more. + The Libtool package itself builds libltdl nonrecursively. + - The 'nonrecursive', 'recursive' and 'subproject' libltdl build + modes are given as LTDL_INIT options. + - New make variable LTDLDEPS for use in output_DEPENDENCIES. + - New multi-module-loader safe libltdl handle iteration APIs: + lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map. + - New lt_dlinterface_register to maintain separation of concerns + between modules loaded by different libraries. + - New lt_dlopenadvise takes a new lt_dladvise type argument, which + lets the caller request local or global symbol visibility from the + module loader with lt_dladvise_local and lt_dladvise_global + respectively. If neither is given, or if lt_dlopen (or lt_dlopenext) + are called, then the system default module symbol visibility is used. + - The new lt_dladvise_init/lt_dladvise_destroy based APIs also allow + caller requests for a filename extension search with lt_dladvise_ext, + and for marking a module unloadable with lt_dladvise_resident. + - Allow shell special characters like '$' in source file names, but + not in object names, to enhance GCJ support. + - An entire new Autotest-based testsuite in addition to the old one. + Both testsuites have been made more useful for testing + cross-compilers. The new testsuite exposes many more issues, but + may also be a little rocky on exotic systems. + - In 1.9b, a new variable inherited_linker_flags has been added to the + libtool library files. This variable takes flags that should be + used by dependent libraries and programs, but that do not fit into + 'dependency_libs' for both clarity and backward-compatibility. + +* Changes in supported systems or compilers: + + - Removed bitrotted support for xlc on Mac OS X. + - Detection of compiler wrappers distcc/ccache and $host_alias prefix. + - Basic support for PIE (position-independent executables). + - Support for DragonFly BSD, improved support for FreeBSD. + - Improved support for GNU/kFreeBSD and GNU/NetBSD. + - Support for Interix 3 (Windows SFU) and newer versions. + - Support for AIX 6.1. + - Improved support for UnixWare. + - Initial support for RDOS. + - Initial Support for FC (modern Fortran). + - Support for Portland Group compiler, the Sun compiler suite on GNU/Linux, + and initial support for the IBM compiler suite on GNU/Linux/ppc. + - Support for linux-dietlibc ('diet' as well as 'diet-dyn', separately). + - Building libltdl with a C++ compiler has been undusted. + - On (AIX?,) HP-UX, and OpenBSD, hardcoding has been changed to prefer + rpath over absolute dependent library names. This fixes DESTDIR + installs, among others, on the non-HP-UX/PA systems. + - Use of C++ templates together with shared libraries has been + improved on some systems and with some compilers, but is still + ongoing work. Feedback is desirable here. + +* Bug fixes: + + - Fix libltdl on static platforms. + - Search paths with GCC on multilib systems like x86_64 have been fixed. + - Fixed a regression that prevented use of libltdl without autotools. + - Fix error with -version-info on systems with version_type=none, such + as BeOS. + - Fix symbol exporting for cases where command line length limits are + exceeded. + - Improve linking with C++ libraries on Solaris with Sun compiler. + - Fix installation of libraries that are required by installation + commands such as 'ln' or 'rm'. + - More robust parsing of mangled '.la' files inside libltdl, fixing a + possible overrun and a crash due to memory exhaustion. + - Fix compile command line for gcj on MinGW. + - Some configure variables have been renamed to fix caching: + lt_prog_compiler_pic_works to lt_cv_prog_compiler_pic_works + lt_prog_compiler_static_works to lt_cv_prog_compiler_static_works. + - Fix 1.9b regression: lt_dlopen(NULL) works on AIX again. + - Loads of smaller bug fixes. + + +New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team: +* Fix a regression in 1.9d, where ECHO was always set to 'echo' and the + backslash quoting tests were never run. +* Fix a regression in 1.9d, where progpath was used for --no-reexec before it + was set. +* Fix a regression in 1.9d, which required an installed automake to build the + bootstrapped tarball. +* Fix hanging bug on MinGW. + +New in 1.9d: 2004-10-03; CVS version 1.9c, Libtool team: +* If non-pic objects were not compiled, and libtool is called in link mode, + libtool no longer silently creates an empty archive, but rather falls + back to pic objects. +* When compiling C glue code with $LTCC, libtool now saves the setting of + $compiler_flags from the C tag, and passes those flags to $LTCC. +* libtool no longer dies when concurrently creating directories with + 'make -j' on multi-processor hosts. +* Return type, and name parameter of lt_dlloader_remove are no longer + 'const'. +* Name parameter of lt_dlloader_find is no longer 'const'. +* The API for the slist ADT has been updated: slist_new has been replaced + by slist_box; slist_unbox and slist_sort are new; the footprint of + slist_remove and slist_fnid have changed; SListCallback and SListCompare + types have been exchanged. See libltdl/slist.c for documentation. +* libltdl is C89 compatible again. lt_dlsymbol type removed, and lt_dlsymlist + structure changed to avoid using C99 flexible arrays. +* Support self dlopening for executables on cygwin and mingw. +* Improved support for linux-gnu/ia64. +* Initial support for s390x-ibm-tpf. +* Fixed some memory leaks in libltdl. +* Improved support for OpenBSD (use rpath instead of hardcoding absolute + file names). + +New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team: +* The /^_?LT_[A-Z_]+$/ namespace is now reserved for Libtool's own macros. + If you have any shell variables in this namespace they will need to be + renamed. If you have any macros in this namespace please rename them to + prevent any possible future clash with libtool supplied macros. +* New LT_PREREQ macro for specifying minimum libtool requirement. +* New LT_INIT interface replaces AC_PROG_LIBTOOL, AC_ENABLE_SHARED, + AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, + AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, + AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_PIC_MODE. Use autoupdate to modernise + your configure.ac files after installing this release. +* New LT_LANG interface to enable libtool support for a specific language. +* Language support is now only included if your configure.ac enables it, + either through a call to AC_PROG_CXX etc. or LT_LANG. +* The libtool script will complain if it was built from mismatched ltmain.sh + and libtool m4 macro versions. +* Like automake, libtoolize no longer installs config.guess and config.sub by + default. Use new --install option to get the old behaviour. +* libtoolize no longer supports the --ltdl-tar option. +* libtool script is now created by config.status. Instead of interrogating + './libtool' from configure.ac after calling AC_PROG_LIBTOOL, use the + variable names directly. +* libltdl is no longer a self-contained package, and shares configury with + the top level directory now. +* Shared objects (.lo) are no longer created when '-static' is passed in + compile mode. +* New compile mode option '-shared' prevents creation of static objects (.o). +* New link mode option '-shared' creates only shared libraries at link time. +* If you configure libtool with --disable-shared (or if libtool does not + support shared libraries on your platform) trying to build a library using + '-shared' is a fatal error. +* New link mode option '-weak' tells libtool when not to propagate dependency + libraries from dlpreopened modules. +* libtoolize installs libtool.m4, (ltdl.m4 if used,) and various supporting + m4 definitions to AC_CONFIG_MACRO_DIR. +* Mode inferrence removed, shorthand for choosing modes added. +* Specifying -allow-undefined is now an error. +* Speed up max_cmd_len check. +* libltdl can now preopen modules from within a library, and libtool will + accept -dlpreopen options when linking either a shared library or a + convenience library. +* New function in libltdl: lt_dlhandle_find provides access to module handles + by module name. +* New function in libltdl: lt_dlpreload_open opens all preloaded modules. +* libltdl no longer loads shared libraries with global symbol resolution, + this caused problems when the symbols were intended to be overriden further + up the stack; it is also not recommended practice. +* New function in libltdl: lt_dlhandle_first, primes handle iterations (using + lt_dlhandle_next) to filter by module interface. +* libltdl no longer tries to support multi-threaded programming with + lt_dlmutex_register(), which was unusable with POSIX threads anyway. + The symbols are deprecated but exported for backwards compatibility. +* libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols + are still exported for backwards compatibility. +* The lt_dlinfo struct has a new module field that can be used by dlloaders. +* libltdl no longer supports pre-c89 compilers. Some of the pre89 portability + functions had compile time bugs in them anyway, so you guys can't have been + using it :-) +* make install now deletes preexisting $prefix/share/libtool before installing + latest files. +* Extracting symbols from an import library on cygwin and win32 now works. +* Initial support for amigaos-ppc. +* Improved support for OpenBSD. +* Support for Intel C++ version 8.0. +* New support for IBM's xlc and xlc++ on Mac OS X. +* Finished support for QNX RTOS. +* Bug fixes. + +New in 1.5.8: 2004-08-07; CVS version 1.5.7a, Libtool team: +* Support for Intel C++ version 8.0. +* Improved support for OpenBSD. +* Support for xlc on Mac OS X. +* Better support for zsh as /bin/sh. +* Much faster check for command line length on all BSD systems. +* Better Mac OS X/darwin support. +* Bug Fixes. + +New in 1.5.6: 2004-04-11; CVS version 1.5.5a, Libtool team: +* Installs libltdl files properly in $prefix/share/libtool/libltdl. 1.5.4 + did not install them at all. +* libltdl correctly guesses the extension for loadable modules again. + +New in 1.5.4: 2004-04-03; CVS version 1.5.3a, Libtool team: +* Bug fixes. + +New in 1.5.2: 2004-01-25; CVS version 1.5.0a, Libtool team: +* lt_dlrealloc is an official part of the libltdl API. +* --tag, --silent and --debug options are preserved and reused when libtool + calls itself for relinking etc. +* '-pthread' and similar options are honoured when linking shared libraries. +* -no-suppress in compile mode shows compiler output for both PIC and non-PIC + object compilation. +* New link mode option '-precious-files-regex' to prevent accidental removal + of files you want to keep, such as test coverage data, from the temporary + output directory. +* Directories specified in /etc/ld.so.conf are no longer hardcoded on GNU/Linux. +* Recognises the 'R' symbol type on Solaris so read-only symbols can be + exported. +* Bug fixes. + +New in 1.5.1: 2003-??-??; CVS version 1.5.0a, Libtool team: +* lt_dlrealloc is an official part of the libltdl API. +* Bug fixes. + +New in 1.5: 2003-04-14; CVS version 1.4e, Libtool team: +* First stable release of multi-language architecture. +* libtool and libltdl support for Mac OS/X. +* libltdl will now use cygwins dlopen API instead of always forcing + LoadLibrary. +* Support auto-import patch to binutils on cygwin for much improved dll + support. +* Bug fixes. + +New in 1.4.3: 2002-10-13; CVS version 1.4.2a, Robert Boehne: +* The libltdl subdirectory now bootstraps correctly with Automake 1.5. +* srcdir != builddir builds with Automake 1.5 work correctly. +* Support for mips-compaq-nonstopux. +* New command line argument, --preserve-dup-deps prevents removal of + duplicate dependent libraries. + +New in 1.4d: 2002-01-07; CVS version 1.4c, Libtool team: +* Help strings display correctly again. +* Better error messages when library linking fails. +* Better error messages from libltdl when loading fails. +* Better search path management in libltdl with 'lt_dlinsertsearchdir' call. +* Support /lib/w32api in recent cygwin releases. +* Support cross compilation to mingw. +* Support for .rc files (Windows resource compiler). +* Improved handling of mingw gcc. +* Improved handling of $PATH with entries containing spaces. +* Improved support for linking with gcc on aix4* and aix5*. +* Improved support for GCC 3.0. +* Initial support for QNX RTOS, UnixWare 7 and OpenUNIX 8. +* Bug fixes to the OpenBSD port. +* Bug fixes. + +New in 1.4.2: 2001-09-11; CVS version 1.4.1a, Gary V. Vaughan: +* libltdl now builds on solaris again +* diagnose and warn about not-quite-working combinations of gcc and + ld on solaris. +* Improved OpenBSD support. +* Improved cygwin support. +* Bugfixes. + +New in 1.4.1: 2001-09-03; CVS version 1.4.0a, Libtool team: +* Better error messages from libltdl when loading fails. +* Don't leave here-doc files behind. +* Improved support for OpenBSD. +* Libtool will build with autoconf-2.50 and higher. +* Plug memory management bugs in libltdl. +* Prefer shl_load to dlopen for better operation on HP-UX. + +New in 1.4b: 2001-07-09; CVS version 1.4a, Libtool team: +* Now bootstraps with autoconf-2.50 and automake-1.4-p4. +* Always try to build at least a static lib, even if both static and + shared libs were disabled. +* Full support for C++ compiler. +* Support for GNU gcj compiler. +* libltdl can now load all modules in a given path according to user + supplied criteria with 'lt_dlforeachfile' call. +* Improved support for AIX ia64, djgpp, HPUX, hurd, OpenBSD, sco3.2*. +* Internal mutex handling no longer has namespace clashes on NCR MP-RAS. +* New pdemo and tagdemo tests. +* Bug fixes. + +New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team: +* Support for aix5*. +* Bugfixes. + +New in 1.3d: 2001-04-02; CVS version 1.3c, Libtool team: +* ltconfig is no more. Generation of libtool happens directly from + the configure file. +* Multithread safe with lt_dlmutex_register callback registration. +* New -no-install flag to avoid the use of executable wrapper scripts. +* New --with-pic, -prefer-pic and -prefer-non-pic flags to control + the generation of PIC/non-PIC code. +* Support for hardcoding run-time paths (-R) into libraries. +* Support -dlopen and -dlpreopen for libraries. +* Libtool now allows you to link shared libraries against static code. +* New functions in libltdl: + lt_dlgetinfo, lt_dlhandle_next and lt_dlforeach provide access to module + specific data in handles. + lt_dlcaller_register, lt_dlcaller_set_data and lt_dlcaller_get_data provide + management for user storage of per module data. + lt_dlloader_next, lt_dlloader_name, lt_dlloader_find, lt_dlloader_add and + lt_dlloader_remove can be used for adding new types of module loaders. + lt_dladderror, lt_dlseterror integrate user module loaders with lt_dlerror. +* "-Xcompiler" and "-Wc," does now work in compile mode, too. +* Support recent dlltool formats. +* Start of support code for cross-compiling to win32. +* libltdl can now be built as a dll with win32. +* m4 macros needed to configure libltdl split out into libltdl/ltdl.m4. +* New port to NEWS-OS Release 6. +* Improved support for darwin (rhapsody), mingw32, NetBSD, Compaq Tru64 V5.0 + and Digital Unix V4.*. +* Initial support for ia64 linux. +* Initial support for a.out freebsd shared libs. +* Initial support for Paul Sokolovsky's pw32 POSIX over win32 layer. +* Many bugfixes (especially in libltdl) + +New in 1.3b: 1999-07-02; CVS version 1.3a, Libtool team: +* Complete inter-library dependencies support. It's now possible + to link libtool libraries against other libtool libraries. +* Libtool is able to find already-installed libtool libraries, + even if they were moved out of their installation directory. +* New "-Wc,flag" and "-Xcompiler flag" flags to pass flags + directly to the compiler +* New "-Wl,flag" and "-Xlinker flag" flags to pass flags + directly to the linker +* New "-no-fast-install" flag to selectively disable fast-install mode. +* Support for installing stripped libraries using GNU strip (install -s). + Automake >= 1.5 will install stripped libraries with "make install-strip". +* Allow linking shared libraries against static ones + on FreeBSD, GNU/Linux, GNU Hurd and Solaris +* Support for linking DLLs on Win32 +* New 'clean' mode to delete uninstalled files. +* New demos and tests +* Various bugfixes + +New in 1.3.5: 2000-05-27, CVS version 1.3.4a, Libtool team: +* Support for mac OS X (rhapsody). +* Support for *-sequent-sysv4. +* Support for Cygwin-1.1.0. +* Support recent dlltool formats. +* Bugfixes. + +New in 1.3.4: 1999-12-08, CVS version 1.3.3a, Libtool team: +* Support for Compaq Tru64 V5.0. +* Improved support for Digital Unix V4.*. +* Improved support for NetBSD, FreeBSD and Unixware. +* Many fine bugfixes. + +New in 1.3.3: 1999-07-02, CVS version 1.3.2a, Libtool team: +* New '-dlpreopen force' flag to ensure that + lt_preloaded_symbols is always defined. +* Work around self-dlclose bug in FreeBSD 3.1. +* Expand convenience libraries when creating reloadable objects. +* Do not forget to import -L flags of convenience libraries. +* Do not pass -whole-archive or equivalent to symbol extractor. +* Create directory to expand convenience libraries only when needed. +* Improved support for Cygwin, DJGPP and NetBSD +* Various bugfixes + +New in 1.3.2: 1999-05-26, CVS version 1.3.1a, Libtool team: +* Avoid circular links of objects and libraries. +* Look for dlerror when dlopen was found in -ldl (typo). +* Disable shared libraries with broken GNU ld on Solaris. + +New in 1.3.1: 1999-05-21, CVS version 1.3.0a, Libtool team: +* Documentation improvements; recommend automake users to insert libtool.m4 + in acinclude.m4 +* AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE now set INCLTDL. +* New port to NEC UX/4800. +* cygwin-b20.1 passes all tests. +* Slightly improved BeOS support. +* Many AIX 4.3.2 test failures have gone. +* Pass unknown -L arguments through to the linker (for -LANG:* support). +* Close a security hole with mode 777 directory during libltdl installation. +* Fixed the infamous 'ifelse' bug in libtool.m4 + +New in 1.3: 1999-04-29, Libtool team: +* This is just a summary of the changes since 1.2. + See the news of intermediate alpha releases below for details. +* Support for convenience archives. +* New maintainers. Anonymous CVS and home page at gnu.org. +* Portable dlopening interface with libltdl, new -module flag. +* Correctly link installed libtool libraries into programs and other + libtool libraries. Linking of uninstalled libtool libraries into + libraries is under development for 1.4. +* Do not drop library dependencies on platforms that allow them. +* Linking with uninstalled libraries no longer picks installed ones by + mistake. +* Use libraries from the build tree when running uninstalled + executables (may require double linking). +* Allow developers to optimize for build-tree executions. +* Support -export-symbols-regex for controlled symbol exporting. +* Support -R to hardcode directories in library search paths. +* New ports, demos and tests. Lots of improvements and bug fixes. + +New in CVS version 1.2g, Libtool team: +* AM_PROG_LIBTOOL is smaller and faster +* AC_LIBTL_L_WIN32_DLL is required in configure.in for libtool to + attempt to build dlls on win32 hosts +* Shared libraries on AmigaOS up to version 4 are now disabled + since they don't meet libtool's requirements for shared libraries +* -L supports now relative directories +* Libltdl has a new license: LGPL with a special exception +* Libltdl can be used as stand-alone package +* dlopen support for BeOS +* Partial support for Motorola System V 4 +* Improved support for AIX, BeOS, Cygwin, DJGPP, DU, IRIX and HP/UX +* Documentation updates +* New tests +* Bugfixes + +New in 1.2f: 1999-03-15; CVS version 1.2e, Libtool team: +* libtool will correctly link uninstalled libraries into programs + and prefer uninstalled libraries to installed ones +* Library paths that are in the system default run-time search path + are no longer hardcoded into executables. +* New fast installation mode, which links the final executable + in order to avoid relinking during installation. + Programs in the build-tree are relinked when executed. +* New AC_DISABLE_FAST_INSTALL macro to set the default for + the fast-install mode to disabled +* New -export-symbols-regex flag, to export symbols selectively by + a regular expression +* Support -R for specifying run-time path of programs and library dependencies +* New -avoid-version option to avoid versioning for libraries +* libtool module names no longer need to have a "lib" prefix + (requires automake 1.4). +* New -thread-safe flag, to build thread-safe libraries +* Major improvements in libltdl: API documentation, installable version, + support for module search paths, support for lt_dlopen(0), + can be embedded into packages as a tar file (libltdl.tar.gz), + dynamic buffer allocation and buffer overflow checks, + new macro LTDL_SET_PRELOADED_SYMBOLS() which must be used in the + main program, dynamic memory allocation functions are user-defineable +* New AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE macros, to select + convenience and/or installable versions of libltdl. +* libltdl is now built and installed unless --disable-ltdl-install +* New "-dlopen self" flag for dlopening the executable itself +* New AC_LIBTOOL_DLOPEN macro to check for dlopen support, + required if you use -dlopen or -dlpreopen +* If libtool could not satisfy all dependencies of a module + it will only build a static version of it +* dld_preloaded_symbols was renamed to lt_preloaded_symbols +* Support for BeOS +* Improved support for FreeBSD, AIX, IRIX, OSF, SysV 4.3, HP/UX, DJGPP + BSD/OS 4.x and NetBSD +* In order for libtool to attempt to link a shared library (dll) on win32 + platforms, you must pass the -no-undefined flag to libtool in link mode. +* The path to GNU ld now works on cygwin-b18 to cygwin-b20.2 at least. +* Support for IRIX library versioning. +* New demos and tests +* Various bugfixes + +New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team: +* libtool will correctly link already-installed libraries into programs. +* New -module flag, to create loadable modules. +* New libltdl, a small library for portable dlopening of modules. + It is still undocumented, but you can already find some examples in: +* New mdemo directory, with tests of -module and dlopening examples. + Be aware that libltdl is only known to work on a few platforms such as + GNU/Linux and Solaris2. Some mdemo tests are known to FAIL on several + other platforms; please ignore these failures by now (or work to fix + them :-). +* Inter-library dependencies patch finally integrated, but there's + still much porting to do. See PORTING for details (some plans for the + future in mail/deplibs in the CVS tree). +* New option -export-symbols to control symbol exporting when possible. +* Fixed -export-dynamic problem with C++ programs in egcs 1.1. +* New dlpreopen structure. +* libtool now supports '-c -o' and subdirectories in sources and + target object names even in platforms whose compilers do not support + this. In this case, file locking occurs to avoid problems with + parallel builds. +* New 'echo' variant that should fix most problems with long command + lines and broken printf programs. +* Support for DG/UX, UnixWare 7.x and FreeBSD 3.0, and improved + support for Microsoft Windows +* Various bugfixes +* We now have anonymous CVS access to GNU libtool. CVSROOT is + :pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot. The password + is empty. The directory is libtool. Check our home-page at + http://www.gnu.org/software/libtool/libtool.html for details. +* Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over + the maintenance of libtool. +* Arguments to ltconfig have been changed to allow creation of a + libtool C program, totally unusable as of this release. + +New in 1.2b - 1998-07-01, Gordon Matzigkeit: +* Libtool needs a new maintainer, since Gordon Matzigkeit has quit. + If you think you can do the job, send mail to bug-libtool@gnu.org. +* Bug fixes. +* Support for libtool convenience archives. + +New in 1.2a - 1998-04-19, Gordon Matzigkeit: +* Bug fixes. +* ltconfig accepts an '--output' option to specify the name of the + generated libtool. +* New '--debug' flag to turn on shell script tracing for libtool, + libtoolize, and ltconfig. +* Added 'libtool --config' to print out all configuration variables. +* Support for *-*-hpux11*. + +New in 1.2 - 1998-03-20, Gordon Matzigkeit: +* Minor bug fixes to provide a stable public release. +* Libtool no longer cseses Solaris printf to barf due to silly + 2110-byte static buffers. + +New in 1.1 - 1998-03-08, Gordon Matzigkeit: +* Bug fixes. +* http://www.profitpress.com/libtool/ is libtool's homepage. +* 'AM_PROG_LIBTOOL' supports turning shared or static libraries off + with the '--enable-shared=PKGS' and '--enable-static=PKGS' configure + flags. See (libtool)AM_PROG_LIBTOOL. +* Use the 'AM_DISABLE_SHARED' or 'AM_DISABLE_STATIC' macros if you + wish to modify the default behaviour of 'AM_PROG_LIBTOOL' for your + package. +* New rules for 'AM_PROG_LD' to use gcc's '-print-prog-name' flag in + order to find ld, if possible. +* Suppress duplicate compiler output during 'compile' mode. +* Deleted 'dlname' mode. Dlopen applications should only use the + runtime search method described in (libtool)Finding the dlname. +* Experimental support for dynamically loaded modules, even on + static-only platforms, via new '-dlopen' and '-dlpreopen' link + flags. +* 'compile' mode honours the '-static' flag to prevent libtool + from building PIC objects. +* New 'execute' mode to support debugging uninstalled libtool + libraries and executables. +* '-allow-undefined' is now the default. You can use '-no-undefined' + to declare that a shared library is completely self-contained. +* Inter-library dependencies are automatically handled when linking + against an uninstalled '.la' file. +* New '-all-static' flag to prevent any dynamic linking. The regular + '-static' flag now just prevents dynamic linking of libtool libraries. +* New '-release' flag to encode release numbers into libtool + libraries. This breaks binary compatibility, but is useful for + libraries whose interfaces change very frequently. See + (libtool)Versioning. +* The '-rpath' flag can be used to hardcode absolute directories when + linking executables using libtool. +* New robust quoting code to handle any metacharacters passed in + arguments to libtool commands. +* Full support for broken collect2 on AIX 3. Shared libraries + can now be built with all working versions of GCC on AIX. +* Shell script speed optimizations for old and buggy /bin/sh systems, + such as HP-UX 9 and SunOS 4.1.4. +* Maybe use '_libs' as a temporary libtool directory instead of '.libs' + in order to cope with MS-DOS filenames. +* Portability fixes for Windows NT. +* Refuse to create libtool libraries that don't begin with 'lib'. + This allows us to correctly handle OSes that don't have the 'lib' + prefix by default, such as OS/2. +* Support for *-*-amigaos*, *-*-os2*, *-*-sysv4.2uw2*, and *-*-uts4*. + +New in 1.0 - 1997-07-08, Gordon Matzigkeit: +* Bug fixes. +* Better configuration test to find the system linker. The old test + was failing because people frequently install GNU ld, but don't + necessarily configure GCC to use it. +* Automake support for Libtool now uses the LTLIBRARIES primary. See + the Automake documentation for more information. +* Added new '--disable-static' flag to disable building static + libraries on platforms that have shared libs. +* New '-allow-undefined' link flag to build shared libs that contain + references to unresolved symbols. +* Removed all support for creating static-only libraries. +* Basic support for dynamically loaded modules: new '-export-dynamic' + linking flag and corresponding 'dlname' mode. +* New '--features' flag to display configured libtool attributes. +* Added support for installing libtool objects, both in absolute and + relative directories. +* Support *-*-linux-gnu* as an alias for *-*-linux*. +* Support for *-*-openbsd* and *-*-freebsd3*. + +New in 0.9 - 1997-02-03, Gordon Matzigkeit: +* Bug fixes. +* The libtool demo now uses the libm cos(3) function, to demonstrate + inter-library dependencies. +* The PLATFORMS file has been moved to doc/platforms.texi. + +New in 0.8 - 1997-01-26, Gordon Matzigkeit: +* Bug fixes, and more documentation. +* Basic support for other language compilers (C++, Fortran, and + preprocessed assembler). +* Libtool is now more persistent when linking with the '-static' + flag fails. +* New test for hardcoding system linkers, to verify that libtool + neither creates incorrect binaries, nor takes unnecessary + precautions while linking against uninstalled shared libraries. +* For clarity, the demo subdirectory no longer uses ansi2knr, and has + been rewritten to avoid ANSI-only constructs. +* Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*. + +New in 0.7 - 1996-12-08, Gordon Matzigkeit: +* Total rewrite of libtool, along with a new model for library building. +* Completely rewritten documentation for the new paradigm. +* Sane handling of broken system linkers, such as the ones on AIX + and HP-UX. +* configure mode is now a separate program, 'ltconfig' +* The libinfo helper script has been incorporated into the main + libtool program. +* Automatic mode guessing, based on the command line. +* Full support for Automake 1.2 (including ansi2knr features). +* Support to create reloadable objects using link mode. +* Support for new '-static' linking flag. +* Support for stripping libraries during installation. +* Library version information is now passed on the command line, not + through a version file. + +Version 0.6 was never released. + +New in 0.5: +* Disabled install-progs until next version, when it will be correctly + implemented. +* Clearer library versioning documentation. See (libtool)Versioning. +* Renamed gm_PROG_LIBTOOL to AM_PROG_LIBTOOL +* Libtool now creates pseudo-objects named foo.lo and pseudo-archives named + libfoo.la instead of foo.o and libfoo.a. See the documentation. +* libtool compile doesn't interfere with user CFLAGS if they don't + conflict with the current objtype. From Karl Berry. +* Created new libinfo helper script. +* libversion.in files are obsolete -- libtool uses libinfo to read the + new LIBINFO files. +* Libtool is better at finding its config file and helper scripts. +* Support for *-*-gnu* + +New in 0.4: +* Bug fixes and new regression tests +* On unsupported configurations, 'libtool configure' demotes OBJTYPES to + 'standard' instead of aborting +* Added new object type, 't', for tcov(1) support +* Support for *-*-aix3*, *-*-aix4*, *-*-hpux10*, *-*-osf3*, and *-*-solaris2* + +New in 0.3: +* Bug fixes and new regression tests +* Added new uninstall-libs mode +* Added a host argument to configure mode +* Fixed debugging/hyper-optimizing flags conflict (from Karl Berry) +* Support for --no-whole-archive when needed by GNU ld (from Ulrich Drepper) +* Implementation of --enable-linktype, --enable-profile, --enable-shared, + --enable-static in gm_PROG_LIBTOOL macro +* New 'libtoolize' program (modeled after GNU gettext's 'gettextize') to help + conversion to libtool +* New ABOUT-LIBS document for inclusion with libtool-supported packages + +New in 0.2: +* Support for *-*-linux +* Better checking for GNU ld +* Reimplemented the config file so that it corresponds more closely to the + variables listed in (libtool)Porting Libtool. +* Reimplemented the shared library version scheme. See (libtool)Versioning. +* Replaced '--config-file' and '--version-file' options with '--confdir' +* Added new install-libs and install-progs modes + +New in 0.1: +* First release of libtool +* Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4* +-- + +Copyright (C) 1996, 1998-2019, 2021-2022 Free Software Foundation, Inc. + +This file is part of GNU Libtool. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. diff --git a/BUILD/libtool-2.4.7/README b/BUILD/libtool-2.4.7/README new file mode 100644 index 0000000..0984306 --- /dev/null +++ b/BUILD/libtool-2.4.7/README @@ -0,0 +1,261 @@ +# GNU Libtool + +1. Introduction +=============== + +[GNU Libtool][libtool] is a generic library support script. +[Libtool][] hides the complexity of using shared libraries behind a +consistent, portable interface. + +Libtool's home page is: + + http://www.gnu.org/software/libtool/libtool.html + +See the file [NEWS][] for a description of recent changes to Libtool. + +Please note that you can build GNU Libtool from this directory using a +vendor Make program as long as this is an official release tarball; +otherwise you will need GNU Make for sane VPATH support. See the file +[INSTALL][] for complete generic instructions on how to build and install +Libtool. Also, see the file [doc/notes.txt][notes] for some platform- +specific information. + +See the info node (libtool)Tested Platforms. (or the file +[doc/PLATFORMS][platforms]) for a list of platforms that Libtool already +supports. + +Please try it on all the platforms you have access to: + + * If it builds and passes the test suite (`gmake check`), please send + a short note to the [libtool mailing list][libtool list] with a + subject line including the string `[PLATFORM]`, and containing the + details from the end of `./libtool --help` in the body. + * Otherwise, see _Reporting Bugs_ below for how to help us fix any + problems you discover. + +To use Libtool, add the new generic library building commands to your +`Makefile`, `Makefile.in`, or `Makefile.am`. See the documentation for +details. + +[install]: http://git.savannah.gnu.org/cgit/libtool.git/tree/INSTALL +[libtool]: http://www.gnu.org/s/libtool +[libtool list]: mailto:libtool@gnu.org +[news]: http://git.savannah.gnu.org/cgit/libtool.git/tree/NEWS +[notes]: http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/notes.texi +[platforms]: http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS + + +2. Reporting Bugs +================= + +If this distribution doesn't work for you, before you report the +problem, at least try upgrading to the latest released version first, +and see whether the issue persists. If you feel able, you can also +check whether the issue has been fixed in the development sources for +the next release (see _Obtaining the Latest Sources_ below). + +Once you've determined that your bug is still not fixed in the latest +version, please send a full report to the libtool [bug mailing list][], +including: + + 1. the information from the end of the help message given by + `./libtool --help`, and the verbose output of any failed tests + (see _The Test Suites_ immediately below); + 2. complete instructions for how to reproduce your bug, along with + the results you were expecting, and how they differ from what you + actually see; + 3. a workaround or full fix for the bug, if you have it; + 4. a copy of `tests/testsuite.log` if you are experiencing failures + in the Autotest testsuite. + 5. new test cases for the testsuite that demonstrate the bug are + especially welcome, and will help to ensure that future releases + don't reintroduce the problem - if you're not able to write a + complete testsuite case, a simple standalone shell script is + usually good enough to help us write a test for you. + +If you have any other suggestions, or if you wish to port Libtool to a +new platform, please send email to the [mailing list][libtool list]. + +Please note that if you send us an non-trivial code for inclusion in a +future release, we may ask you for a copyright assignment (for brief +details see the 'Copyright Assignment' section on our +[Contributing][contribute] webpage. + +[bug mailing list]: mailto:bug-libtool@gnu.org +[contribute]: http://www.gnu.org/software/libtool/contribute.html + + +3. The Test Suite +================= + +Libtool comes an integrated sets of tests to check that your build +is sane. You can run like this, assuming that `gmake` refers to GNU +make: + + gmake check + +The new, Autotest-driven testsuite is documented in: + + info Autoconf 'testsuite Invocation' + +but simple help may also be obtained through: + + gmake check TESTSUITEFLAGS='--help' + +For verbose output, add the flag '-v', for running only a subset of the +independent tests, merely specify them by number or by keyword, both of +which are displayed with the '--list' flag. For example, the 'libtool' +keyword is used for the tests that exercise only this script. So it is +possible to test an installed script, possibly from a different Libtool +release, with: + + gmake check \ + TESTSUITEFLAGS="-k libtool LIBTOOL=/path/to/libtool" + +Some tests, like the one exercising `max_cmd_len` limits, make use of +this to invoke the testsuite recursively on a subset of tests. For these +tests, the variable `INNER_TESTSUITEFLAGS` may be used. It will be +expanded right after the `-k libtool`, without separating whitespace, so +that further limiting of the recursive set of tests is possible. For +example, to run only the template tests within the `max_cmd_len`, use: + + gmake check TESTSUITEFLAGS="-v -x -k max_cmd_len \ + INNER_TESTSUITEFLAGS=',template -v -x'" + +If you wish to report test failures to the libtool list, you need to +send the file `tests/testsuite.log` to the [bug mailing list][]. + + +4. Obtaining the Latest Sources +=============================== + +* With the exception of ancient releases, all official GNU Libtool + releases have a detached GPG signature file. With this you can verify + that the corresponding file (i.e. without the `.sig` suffix) is the + same file that was released by the owner of it's GPG key ID. First, + be sure to download both the .sig file and the corresponding release, + then run a command like this: + + gpg --verify libtool-x.y.z.tar.gz.sig + + If that command fails because you don't have the required public key, + then run this command to import it: + + gpg --keyserver keys.gnupg.net --recv-keys 2983D606 + + and then rerun the `gpg --verify` command. + +* Official stable releases of GNU Libtool, along with these detached + signature files are available from: + + ftp://ftp.gnu.org/gnu/libtool + + To reduce load on the main server, please use one of the mirrors + listed at: + + http://www.gnu.org/order/ftp.html + +* Alpha quality pre-releases of GNU Libtool, also with detached + signature files are available from: + + ftp://alpha.gnu.org/gnu/libtool + + and some of the mirrors listed at: + + http://www.gnu.org/order/ftp.html + +* The master libtool repository is stored in git. + + If you are a member of the savannah group for GNU Libtool, a writable + copy of the libtool repository can be obtained by: + + git clone @git.sv.gnu.org:/srv/git/libtool.git + + If you are behind a firewall that blocks the git protocol, you may + find it useful to use + + git config --global url.http://git.sv.gnu.org/r/.insteadof \ + git://git.sv.gnu.org/ + + to force git to transparently rewrite all savannah git references to + use http. + + If you are not a member of the savannah group for GNU Libtool, you can + still fetch a read-only copy with either: + + git clone git://git.sv.gnu.org/libtool.git + + or using the CVS pserver protocol: + + cvs -d:pserver:anonymous@pserver.git.sv.gnu.org:/srv/git/libtool.git \ + co -d libtool HEAD + +* Before you can build from git, you need to bootstrap. This requires: + - Autoconf 2.64 or later + - Automake 1.11.1 or later + - Help2man 1.29 or later + - Xz 4.999.8beta or later (from [tukaani.org](http://tukaani.org/xz)) + - Texinfo 4.8 or later + - Any prerequisites of the above (such as m4, perl, tex) + + Note that these bootstrapping dependencies are much stricter than + those required to use a destributed release for your own packages. + After installation, GNU Libtool is designed to work either standalone, + or optionally with: + - Autoconf 2.59 or later + - Automake 1.9.6 or later + +* The `bootstrap` script sets up the source directory for you to hack. + + +5. Version Numbering +==================== + +People have complained that they find the version numbering scheme under +which libtool is released confusing... so we've changed it! + +It works like this: + + . + +Releases with a **major-number** less than 1 were not yet feature +complete. Releases with a **major-number** of 1 used the old numbering +scheme that everyone disliked so much. Releases with a **major-number** +of 2 us the new scheme described here. If libtool ever undergoes a +major rewrite or substantial restructuring, the **major-number** will be +incremented again. + +If we make a patch release to fix bugs in a stable release, we use a +third number, so: + + 2.4.2 + +If we make an alpha quality prerelease, we use a fourth number for the +number of changsets applied since the version it's based on: + + 2.4.2.418 + +And finally, if you build an unreleased version it will have a short git +revision hash string in hexadecimal appended to all of that: + + 2.4.2.418.3-30eaa + +-- + Copyright (C) 2004-2010, 2015-2019, 2021-2022 Free Software + Foundation, Inc. + + Written by Gary V. Vaughan, 2004 + + This file is part of GNU Libtool. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + + +Local Variables: +mode: text +fill-column: 72 +End: +vim:tw=72 diff --git a/BUILD/libtool-2.4.7/THANKS b/BUILD/libtool-2.4.7/THANKS new file mode 100644 index 0000000..fa5f6ee --- /dev/null +++ b/BUILD/libtool-2.4.7/THANKS @@ -0,0 +1,342 @@ +These people have contributed to GNU Libtool. Some have reported problems, +others have contributed improvements to the documentation and actual code. +The particular contributions are described in the version control logs and +ChangeLog files. If your name has been left out, if you'd rather not be +listed, or if you'd prefer a different address be used, please send a +note to the bug-report mailing list (as seen at end of e.g., libtool --help). + +## +aakropotkin alex.ameen.tx@gmail.com +Akim Demaille akim@epita.fr +Alan Hourihane alanh@fairlite.co.uk +Alan Modra amodra@bigpond.net.au +Alan W. Irwin irwin@beluga.phys.uvic.ca +Albert Cheng acheng@ncsa.uiuc.edu +Albert Chin-A-Young china@thewrittenword.com +Alex Ameen alex.ameen.tx@gmail.com +Alexander Hass alexander.hass@sap.com +Alexander Shevchenko sav_ix@ukr.net +Alexandre Duret-Lutz adl@gnu.org +Alexei Sheplyakov varg@theor.jinr.ru +Alex Potapenko opotapeno@gmail.com +Alfred M. Szmidt ams@kemisten.nu +Allan McRae allan@archlinux.org +Allan Sandfeld Jensen snowwolf@one2one-networks.com +Alon Bar-Lev alon.barlev@gmail.com +Andreas Jaeger aj@suse.de +Andreas Schiffler aschiffler@ferzkopp.net +Andreas Schwab schwab@linux-m68k.org +Andrew C. Feren aferen@CetaceanNetworks.com +Andrew Suffield asuffield@debian.org +Andrey Slepuhin pooh@msu.ru +Aneesh Kumar K.V kvaneesh@hotmail.com +Anthony Green green@redhat.com +Archie Cobbs archie@whistle.com +Arkadiusz MiĹ›kiewicz arekm@maven.pl +Arne Woerner woerner@mediabase-gmbh.de +Assar Westerlund assar@sics.se +Bart Van Assche bvanassche@acm.org +Benjamin Reed ranger@befunk.com +Bernhard Fischer spam.protected +Bernhard Rosenkraenzer bero@redhat.de +Bernhard Voelker mail@bernhard-voelker.de +Bert Driehuis bert_driehuis@compuware.com +Bert Wesarg bert.wesarg@googlemail.com +Bob McElrath bob+libtool@mcelrath.org +Boyd Lynn Gerber gerberb@zenez.com +Brad brad@comstyle.com +Brad Smith brad@comstyle.com +Brent Leback brent.leback@st.com +Brian Barrett brbarret@osl.iu.edu +Brian W. Barrett bbarrett@lanl.gov +Brice De Bruyne bricedb@gmail.com +Brook Moses bmoses@google.com +Brooks Moses bmoses@google.com +Bruce Korb bkorb@gnu.org +Bruno Haible bruno@clisp.org +Camilo La Rota camilo.larota@ens-lyon.fr +Carl D. Roth roth@cse.ucsc.edu +Chad Cunningham ccunning@math.ohio-state.edu +Chris Demetriou cgd@google.com +Chris Lattner sabre@skylab.org +Chris P. Ross cross@eng.us.uu.net +Christiaan Welvaart cjw@daneel.dyndns.org +Christian Biesinger cbiesinger@web.de +Christian Cornelssen ccorn@cs.tu-berlin.de +Christian Rössel christian.roessel@gmx.de +Christoph Egger Christoph_Egger@gmx.de +Christopher A. Knight chriskn@crt.com +Christopher Hulbert cchgroupmail@gmail.com +Christopher Pfisterer cp@chrisp.de +Christoph Pfisterer cp@chrisp.de +Craig Dooley xlnxminusx@gmail.com +Craig Tierney Craig.Tierney@noaa.gov +Cristophe Jarry christophe.jarry@ouvaton.org +Dalibor Topic robilad@kaffe.org +Daniel Harvey daniel@amristar.com.au +Daniel Kobras kobras@linux.de +Daniel Reed djr@redhat.com +Daniel Richard G. skunk@iSKUNK.ORG +Dan McMahill mcmahill@mtl.mit.edu +Dan McNichol mcnichol@austin.ibm.com +Dave Brolley brolley@redhat.com +Dave Korn dave.korn.cygwin@googlemail.com +Dave Vasilevsky thevas@mac.com +Dave Yost Dave@Yost.com +David 'Digit' Turner digit@google.com +David Edelsohn dje.gcc@gmail.com +David Heine dlheine@truffle.Stanford.EDU +David Jones jones@mosaid.com +Derek R. Price derek@ximbiot.com +Dirk Mueller dmueller@suse.de +DJ Delorie dj@delorie.com +Donald Anderson dda@world.std.com +Donald D. Anderson dda@sleepycat.com +Donn Washburn n5xwb@comcast.net +Doug Evans devans@casey.cygnus.com +Ed Maste emaste@freebsd.org +Edouard G. Parmelan Edouard.Parmelan@France.NCR.COM +Edward M. Lee tailbert@yahoo.com +Elizabeth Barham soggytrousers@yahoo.com +Erez Zadok ezk@cs.columbia.edu +Eric Bavier bavier@cray.com +Eric Blake ebb9@byu.net +Eric Estievenart eric@via.ecp.fr +Eric Lindahl erik@theophys.kth.se +Erik van Pienbroek erik-gnu@vanpienbroek.nl +Ethan Mallove ethan.mallove@sun.com +Fabian Groffen grobian@gentoo.org +Frank Ch. Eigler fche@cygnus.com +Fred Cox sailorfred@yahoo.com +Fred Fish fnf@be.com +Fredrik Estreen estreen@algonet.se +Fritz Elfert felfert@to.com +Gary Kumfert kumfert@llnl.gov +Geoffrey Keating geoffk@apple.com +George Bosilca bosilca@cs.utk.edu +Gerald Pfeifer gerald@pfeifer.com +Greg Eisenhauer eisen@cc.gatech.edu +Guido Draheim guidod-2001q3@gmx.de +Henning Nielsen Lund hnl_dk@amigaos.dk +Hiroyuki Sato hiroysato@gmail.com +H.J. Lu hjl@gnu.org +Howard Chu hyc@highlandsun.com +Ian Lance Taylor ian@cygnus.com +Ingo Weinhold ingo_weinhold@gmx.de +Jacob Meuser jakemsr@jakemsr.com +Jakub Bogusz qboosh@pld-linux.org +Jakub Jelinek jakub@redhat.com +James E Wilson wilson@specifixinc.com +James Su james.su@gmail.com +Jan Engelhardt jengelh@inai.de +Jan Kratochvil project-libtool@jankratochvil.net +Jay Krell jay.krell@cornell.edu +Jean-Frederic Clere jfrederic.clere@fujitsu-siemens.com +Jeff Squyres jsquyres@cisco.com +Jens Petersen petersen@redhat.com +Jeremie LE HEN tataz@sitadelle.com +Jeremy C. Reed reed@reedmedia.net +Jeremy Huddleston Sequoia jeremyhu@macports.org +Jim Meyering jim@meyering.net +Jim Pick jim@kaffe.org +Jim Tison jtison@us.ibm.com +Jiro Takabatake jiro@din.or.jp +Joakim Tjernlund joakim.tjernlund@transmode.se +Joel N. Weber II devnull@gnu.org +Joe Orton joe@manyfish.co.uk +Joerg Sonnenberger joerg@netbsd.org +John Bowler jbowler@acm.org +John David Anglin dave.anglin@nrc-cnrc.gc.ca +John R. Cary cary@txcorp.com +John Wehle john@feith.com +John Wolfe jlw@sco.com +Jon Meredith jonm@alchemetrics.co.uk +Joseph Beckenbach III jrb3@best.com +Joseph Prostko joe.prostko@gmail.com +Juergen Reuter reuter@t00pcx17094.desy.de +JĂĽrgen Reuter juergen.reuter@physik.uni-freiburg.de +Justin Lecher jlec@gentoo.org +Karl Berry karl@freefriends.org +Kean Johnston jkj@sco.com +Keith Packard keithp@keithp.com +Ken Block block@zk3.dec.com +Kenneth Albanowski kjahds@kjahds.com +Kevin P. Fleming kpfleming@backtobasicsmgmt.com +Kevin Ryde user42@zip.com.au +Khem Raj raj.khem@gmail.com +KO Myung-Hun komh78@gmail.com +Kurt D. Zeilenga Kurt@OpenLDAP.Org +Kurt Roeckx kurt@roeckx.be +Lawrence Velázquez larryv@macports.org +Leif Ekblad leif@rdos.net +Lennart Poettering lennart@poettering.net +Lionel Landwerlin llandwerlin@gmail.com +Loren James Rittle rittle@latour.rsch.comm.mot.com +Lucas Holt luke@foolishgames.com +Maciej Helminiak dion2@wp.pl +Maciej W. Rozycki macro@ds2.pg.gda.pl +Mahesh Narayanamurthi mahesh.mach@gmail.com +Makoto Ishisone ishisone@sra.co.jp +Manfred Weichel Manfred.Weichel@pdb.siemens.de +Manish Singh yosh@gimp.org +Marcel Loose loose@astron.nl +Marc Espie espie@nerim.net +Marc Glisse marc.glisse@inria.fr +Marc J. Fraioli fraioli@dg-rtp.dg.com +Marcus Comstedt marcus@mc.pp.se +Marius Vollmer mvo@zagadka.de +Mark Kettenis kettenis@gnu.org +Markus Duft markus.duft@salomon.at +Markus F.X.J. Oberhumer markus@oberhumer.com +Martin Doucha doucha@integri.cz +Masahiro Nobori nobori@ss.titech.ac.jp +Mats Rynge rynge@isi.edu +Matthieu Herrb matthieu.herrb@laas.fr +Matthijs Kooijman matthijs@stdin.nl +Max Bowsher maxb@ukf.net +Michael Forster email@michael-forster.de +Michael Haubenwallner michael.haubenwallner@salomon.at +Michael Matz matz@ifh.de +Michael Pruett michael@68k.org +Michael Schmitz mschmitz@iname.com +Michael Tiemann tiemann@cygnus.com +Micheal E. Faenza mfaenza@mitre.org +Mike Frysinger vapier@gentoo.org +Mike Gorchak lestat@i.com.ua +Mike Miller mtmiller@ieee.org +Mike Stump mrs@apple.com +Mikhail Zabaluev mikhail.zabaluev@gmail.com +Misty De Meo misty@brew.sh +Mocha netbsd_alpha@yahoo.com +Mo DeJong mdejong@redhat.com +Morten Eriksen mortene@sim.no +Mumit Khan khan@xraylith.wisc.edu +Naofumi Yasufuku naofumi@yasufuku.net +Nick Bowler nbowler@draconx.ca +Nick Hudson nick@nthcliff.demon.co.uk +Nick Rasmussen nick@jive.org +NIIBE Yutaka gniibe@m17n.org +Nix nix@esperi.org.uk +Noah Misch noah@cs.caltech.edu +Norihiro Tanaka noritnk@kcn.ne.jp +Olaf Lenz olenz@fias.uni-frankfurt.de +Olivier Blin olivier.blin@softathome.com +Ollie Wild aaw@google.com +Olly Betts olly@muscat.co.uk +OndĹ™ej BĂ­lka neleai@seznam.cz +Ozkan Sezer sezeroz@gmail.com +Pádraig Brady P@draigBrady.com +Paolo Bonzini bonzini@gnu.org +Patrice Fromy patrice.fromy@u-psud.fr +Patrick Welche prlw1@newn.cam.ac.uk +Paul Berrevoets paul@swi.com +Paul Biggar paul.biggar@gmail.com +Paul Eggert eggert@cs.ucla.edu +Paul Laight plaight@quantxautomation.co.uk +Paul Seidler sepek@lavabit.com +Paul Sokolovsky Paul.Sokolovsky@technologist.com +Pavel (Pasha) Shamis shamisp@ornl.gov +Pavel Raiskup praiskup@redhat.com +Pavel Roskin pavel_roskin@geocities.com +PaweĹ‚ Daniluk pawel@bioexploratorium.pl +Per Bothner per@bothner.com +Peter Breitenlohner peb@mppmu.mpg.de +Peter Eisentraut peter_e@gmx.net +Peter Ekberg peda@axentia.se +Peter Fritzsche peter.fritzsche@gmx.de +Peter Jeremy peterjeremy@optushome.com.au +Peter Johansson trojkan@gmail.com +Peter Kjellerstedt peter.kjellerstedt@axis.com +Peter Rosin peda@lysator.liu.se +Philip Allison philip.allison@smoothwall.net +Pierre Ossman ossman@ossman.lkpg.cendio.se +Rainer Emrich r.emrich@de.tecosim.com +Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE +Rainer Tammer tammer@tammer.net +Raja R Harinath harinath@cs.umn.edu +Ralf Menzel menzel@ls6.cs.uni-dortmund.de +Ralph Schleicher rs@nunatak.allgaeu.org +Reid Spencer reid@x10sys.com +Reuben Thomas rrt@sc3d.org +Richard B. Kreckel kreckel@ginac.de +Richard Dawe rich@phekda.freeserve.co.uk +Richard Moseley dickie.moseley@virgin.net +Richard Palo richard.palo@baou.fr +Richard Purdie rpurdie@rpsys.net +Richard Sandiford richards@transitive.com +Richard W.M. Jones rjones@redhat.com +Rico Tzschichholz ricotz@ubuntu.com +Robert Garron Robert.Garron@Access3000.net +Robert Millan rmh@aybabtu.com +Roberto Bagnara bagnara@cs.unipr.it +Robert Ă–gren lists@roboros.com +Robert Yang liezhi.yang@windriver.com +Roger Cornelius rac@tenzing.org +Roland Mainz roland.mainz@nrubsig.org +Roumen Petrov bugtrack@roumenpetrov.info +Rudolf Leitgeb r.leitgeb@x-pin.com +Ryan Hill dirtyepic@gentoo.org +Ryan Schmidt libtool@ryandesign.com +Sam Thursfield ssssam@gmail.com +Samuel Meder meder@mcs.anl.gov +Samuel Thibault samuel.thibault@ens-lyon.org +Sascha Schumann sascha@schumann.cx +Scott McCreary scottmc2@gmail.com +Sebastian Wilhelmi wilhelmi@ira.uka.de +Simon Josefsson jas@extundo.com +Stacey Marshall stacey.marshall@oracle.com +Stas Maximov smaximov@ieee.org +Stefan Nordhausen nordhaus@informatik.hu-berlin.de +Stefan Sperling stsp@elego.de +Stepan Kasal kasal@ucw.cz +Stephane Conversy Stephane.Conversy@lri.fr +Stephan Kulow coolo@kde.org +Steve Ellcey sellcey@mips.com +Steven M. Schultz sms@moe.2bsd.com +Steve Price sprice@hiwaay.net +Svante Signell srs@kth.se +Sven Verdoolaege skimo@liacs.nl +Syd Polk spolk@redhat.com +Terry D. Dontje Terry.Dontje@Sun.COM +Thorsten Glaser tg@66h.42h.de +Tijl Coosemans tijl@FreeBSD.org +Tilman Koschnick til@subnetz.org +Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu +Timothy Wall twall@oculustech.com +Tim Rice tim@multitalents.net +Tim Van Holder tim.van.holder@pandora.be +Titus von Boxberg titus@v9g.de +Tobias Stoeckmann tobias@stoeckmann.org +Todd C. Miller Todd.Miller@courtesan.com +Todd Vierling tv@duh.org +Tod Milam tmilam@traclabs.com +Tom Kacvinsky tjk@ams.org +Tom Tromey tromey@cygnus.com +Tony Wyatt wyattaw@optushome.com.au +Tor Lillqvist tml@iki.fi +Török Edwin edwintorok@gmail.com +Toshio Kuratomi badger@prtr-13.ucsc.edu +Ulrich Drepper drepper@ipd.info.uni-karlsruhe.de +Utz-Uwe Haus haus@mail.math.uni-magdeburg.de +Václav Haisman vhaisman@gmail.com +Václav Zeman vhaisman@gmail.com +Vadim vadim@olly.ru +Vadim Zeitlin vz-libtool@zeitlins.org +Vincent Lefevre vincent@vinc17.net +Vincent Torri doursse@users.sf.net +Vladimir Kushnir kushn@mail.kar.net +Volker Christian voc@soft.uni-linz.ac.at +Warren Dodge warren.l.dodge@Tektronix.com +Wesley W. Terpstra terpstra@ito.tu-darmstadt.de +Wilfredo Sanchez wsanchez@apple.com +William M. Perry wmperry@aventail.com +Xavier Pianet xavier@xingo.com +Xin Li +Xin LI d@delphij.net +Yaakov Selkowitz yselkowitz@users.sourceforge.net +Дилян ПалаŃзов dilyan.palauzov@aegee.org +Юрий Đндреевич ĐźŃхальŃкий pooh@cryptopro.ru + +;; Local Variables: +;; coding: utf-8 +;; End: diff --git a/BUILD/libtool-2.4.7/TODO b/BUILD/libtool-2.4.7/TODO new file mode 100644 index 0000000..e915ac9 --- /dev/null +++ b/BUILD/libtool-2.4.7/TODO @@ -0,0 +1,346 @@ +GNU Libtool +*********** + +1. In the near future +===================== + +1.1. libtool +------------ + +* Rather than looking up the linker's hardcode characteristics in a + table of shell code, use objdump or equivalent to probe a test program + at configure time. + +* Eliminate the warnings from autoconf -Wobsolete. + +* Hook the various language dependencies into the autoconf _AC_LANG + framework. + +* Work out what to do when the dynamic linker loads needed dependencies. + +* We could have an option to hardcode paths into libraries, as well as + binaries: '... -Wl,-soname -Wl,/tmp/libtest.so.0 ...'. This is not + possible on all platforms, and is in part obviated by the ability of + linking libtool libraries specified with -lname, but it might still + be desirable. + +* Lists of exported symbols should be stored in the pseudo library + so that the size of lt_preloaded_symbols can be reduced. + +* Have some option to tell libtool not to include -L flags that point + into a certain tree in the dependence list of an installed library. + For example: -L-$top_builddir would let one link with libtool + libraries in sibling subdirectories within a project, using the -L + notation, without getting builddir pathnames ever mentioned in .la + files that get installed. + +* Eric Lemings writes: + Because of a growing number of config scripts for packages in GNOME 1.2 + (e.g. glib-config, xml-config, orbit-config. etc), development of GNOME + 2.0 spawned a separate tool called pkg-config that allows all packages + to use one tool rather than several different scripts to query compile + flags, link flags, and other configuration data. + + The functionality of pkg-config seems to me to have a lot of overlap + with the goals of libtool. I was wondering if anyone had considered + adding an eighth mode to libtool that just queries the installed + library for the same information that pkg-config provides. Since + most packages that use pkg-config also use libtool, I think this + would be a good way to reduce maintainer and developer dependencies. + +* Have libtoolize install 'install-sh' if a newer version is available, + and/or Automake is not used. + +* Allow to specify linking some dependent libraries statically and some + dynamically, where possible. + +* Improve support for C++ with templates. + +* Audit file listing in libtool.m4. + +* Fix deplibs_check_method=pass_all (which is wrong!) on GNU/Linux. + +* Fix -dlopen "self" on AIX. Reported by Gary Kumfert . + +* Fix denial of service if using installed 'libtool' on a different mount point + together with a compiler that does not understand '-c -o'. + Reported by Marcin Siennicki. + +* Look at better -no-undefined support, maybe along the idea of + [support #103719] for CC. + + +1.2. libltdl +------------ + +* Change libltdl interface: add separate functions for function + pointers. This will allow porting to systems where function pointers + are incompatible with data pointer C-wise. + +* Fix the following bugs in libltdl: + - error reporting of tryall_dlopen(): + if the file actually doesn't exist (stat() fails or it wasn't dlpreopened) + -> report 'file not found' + if it cannot be loaded (e.g. due to missing dependencies) + -> report dlerror + open question: what error should be reported if all dlloaders fail + or if a specific module type can only be loaded by one of them, how report its dlerror? + Also report dlerror() for dlclose and dlsym if available + - Make sure that the dependency_libs of a dlpreopened module won't be loaded. + + - Fix mdemo failures on mingw. + + - Fix the last memleak. Reported by Jeff Squyres . + + - Fix LTDL_CONVENIENCE. Reported by Bob Friesenhahn + and Patrick Welche . + + +1.3. libtoolize +--------------- + +* Rewrite the func_copy_* functions so that instead of forking 2 tar + processes per copied file, a list of files to copy is built and all + files copied with a single pair of tar processes. + +* Write test case that adds libtool macros to aclocal.m4. + + +2. In the future +================ + +2.1. Documentation +------------------ + +* Need to finalize the documentation, and give a specification of + '.la' files so that people can depend on their format. This would be + a good thing to put before the maintainance notes. + +* Document the installed 'libtool' and its limitations clearly (maybe implement + --disable-script-install as well). Or, even better, remove its limitations. + +* Platform notes redo. + +2.2. test suite +--------------- + +* Rewrite the whole thing in Autotest. This will enable us to remove + all the tests/*demo noise, and duplication; and thus speed up bootstrap + and make writing new tests a whole lot more pleasant. + +* We should include tests with reloadable objects in the testsuite. + +* Write a test case for linkage with gnu ld scripts (per 2004-08-25 patch + from Paolo Bonzini). + +* Test everything: + - cross compile + - dirs with ~ + - multiple input files + +2.3. libtool +------------ + +* Fix cross-compiling. + +* Fix threads. + +* Support multilibbing. + +* If not cross-compiling, have the static flag test run the resulting + binary to make sure everything works. + +* Another form of convenience library is to have undocumented utility + libraries, where only the shared version is installed. + +* We could use libtool object convenience libraries that resolve + symbols to be included in a libtool archive. This would require some + sort of -whole-archive option, as well. + +* Currently, convenience libraries (.al) are built from .lo objects, + except when --disable-shared. When we can build both shared and + static libraries, we should probably create a .al out of .lo objects + and also a .a out of .o objects. The .al would only be used to create + shared libraries, whereas the .a would be used for creating static + libraries and programs. We could also explicitly support 'empty' + convenience libraries, that behave as macros that expand to a set of + -Rs, -Ls and -ls switches. + +* Audit use of object names so we can allow '$' not only within + source file names. Necessary especially for java. + +* We could introduce a mechanism to allow for soname rewriting, to + ease multi-libc support. Installers could specify a prefix, suffix or + sed command to modify the soname, and libtool would create the + corresponding link. This would allow for rebuilding a library with + the same version number, but depending on different versions of libc, + for example. In the future, we might even have an option to encode + the sonames of all dependencies of a library into its soname. + +* Look again at a binary C libtool, or byte-compiled libtool to improve + speed. + +* Generate some "platform specific" shell functions with config.status, + for example, there is no need to have the C source code for the + wrapper script on non-windows platforms, this will make the generated + libtool script smaller and easier to follow, maybe a little faster + too? + +* Audit the GCJ tag section in libtool.m4. + +* Add caching mechanism. Look at 'libtool-cache' from Robert Ă–gren. + + +2.4. libtool autoconf macros +---------------------------- + +* Sort out the macro mess in libtool.m4. We've started this already + by refactoring chunks into separate files, but I never did completely + untangle the mess of macros imported from ltconfig. + +* The definitions for LT_SYS_MODULE_EXT, LT_SYS_MODULE_PATH and + LT_SYS_DLSEARCH_PATH should not rely on the _LT_SYS_DYNAMIC_LINKER + macro. This involves moving the code that sets the variables + library_names_spec, shlibpath_var and sys_lib_dlsearch_path_spec from + into a separate macro, and AC_REQUIRING the newly extracted macro in the + respective ltdl.m4 macros. + +2.5. libtool automake integration +--------------------------------- + +* Unify locks between libtool and compile. + +* Fix relinking. + +2.6. libltdl +------------ + +* Finish the rewrite of the core libltdl. The loaders are fine, and + the outlying code is now good. Ralf is starting to pick away at a lot + of the remaining nasties already, but the code for finding .la/.so files + and reading/loading them could use a lot more improvement. + +* I think we could factor out a little path management support module + from existing libltdl. This would be useful for M4 at least -- keeping + track of FOO_PATH environment contents, searching for files in paths + etc. + +* Try to find a work-around for -[all-]static and libltdl on platforms + that will fail to find dlopening functions in this case. Maybe + creating an alternate libltdl that provides only for dlpreopening, or + creating an additional static library to provide dummy implementations + of the functions that can't be linked statically. This could hardly + be made completely transparent, though. + +* In conjunction with above, fix the failures on *BSD when linked to + static libc. Reported by Guilhem Lavaux . + +* Add i18n strings to libltdl, ensuring that package developers can + ignore any i18n when they libtoolize. + +2.7. win32 support +------------------ + +* Arrange that EXEEXT suffixes are stripped from wrapper script names + only when needed, and that a timestamp file or a wrapper program is + created with the EXEEXT suffix, so that 'make' doesn't build it every + time. + +* Figure out how to use data items in dlls with win32. + The difficult part is compiling each object that will be linked with an + import lib differently than if it will be linked with a static lib. This + will almost definitely require that automake pass some hints about linkage + in to each object compilation line. + +* jeffdb@goodnet.com writes: + all you need to do for mutually dependent .dll's is to create an implib from + a .def file so it appears that we might need to detect and handle mutual + dependencies specially on win32 =(O| + +* QoI for file name and path conversion functions. Currently, these are + implemented as MxN different functions; this has quadratic complexity. If + possible, it would be preferred to implement then as M+N functions. However: + http://lists.gnu.org/archive/html/libtool-patches/2010-08/msg00224.html + The main issue is you don't know what the "native" (e.g. "central") + path-type is; e.g. "from-X (to what?)" and "(from what?) to-Y". Right + now there are only four "platforms" involved: *nix, mingw, msys, and + cygwin. That's actually the break-even point, given the vagaries and + optimizations involved in these particular four platforms. + + We have exactly five basic file name conversion functions (not counting + the wrappers that handle paths). For a non-quadratic M+N (from-X|to-Y) + solution, we'd need, I think, the same number of conversion functions: brute + force suggests nine (four to_*, four from_*, plus the noop), but then many + of the from_* and to_* would actually BE noop. + + I'm assuming here that the "central" path-type is implicitly some sort of + unixish -- maybe cyg, maybe msys, maybe unix -- path-type. The issue is + that each of the five conversion functions use a different TOOL to perform + the conversion, with different syntax. So, trying to combine, e.g. + msys_to_mingw + cygwin_to_mingw + unix_to_mingw + into an all-encompassing "central_unixish_to_mingw" would require additional + m4 magic to basically replace the guts depending on whether $build was msys, + cygwin, or unix. Worse, you can't really do a set of + {msys|cygwin|unix}_to_central_unixish that isn't simply a no-op -- because + (A) they already are all unixish, and (B) what tool would you use? How would + the later to_mingw function "know" how to covert this new representation to + mingw. So, {msys|cygwin|unix}_to_central_unixish would simply be a no-op + and central_unixish_to_mingw would still do all the work (with its guts + customized based on $build). + + For more reasonable cross environments (e.g. linux-gnu->some_embedded) I + think you could probably work out a general M+N scheme, since most embedded + $hosts aren't as strange as the win32 variants -- even VxWorks and INTEGRITY + have basic, unix-like file systems (although INTEGRITY does have multiple + roots). Aggressive use of the m4 function_replace machinery WOULD be + appropriate for /these/ conversion functions. OTOH...(a) you can't run the + $host apps on $build anyway, in these embedded situations. At best you'd use + $TARGETSHELL and "run" them via a remote connection, and (b) they don't use + the C wrapper! + + So...I don't think it makes much difference *right now* in the amount of + code required, or the number of functions implemented. At some point in the + future we might want to generalize to an M+N scheme. For the existing win32 + $hosts, all of the funtionality would be on "one side" of the 2-step + conversion; the "other side" would be noop. But we won't worry about the + implicit quadratic complexity of the existing scheme for now. + +3. Wish List +============ + +* Maybe implement full support for other orthogonal library types + (libhello_g, libhello_p, 64 vs 32-bit ABI's, etc). Make these types + configurable. + +* Perhaps the use of libltdl could be made cleaner by allowing + registration of hook functions to call at various points. This would + hopefully free the user from having to maintain a parallel module + list with user data. This would likely involve being able to carry + additional per user module data in the lt_dlmodule structure -- perhaps + in the form of an associative array keyed by user name? + +* Figure out how to make pkg-config aware of the information libtool + knows about libraries and their dependencies, and send a patch. + +* Generate a libtool.m4 from a bunch of individual files, one per + platform, to make the job of a "platform maintainer" easier and make + it easier to add new platforms. + +-- + Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + This file is part of GNU Libtool. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Local Variables: +mode: text +fill-column: 72 +End: diff --git a/BUILD/libtool-2.4.7/aclocal.m4 b/BUILD/libtool-2.4.7/aclocal.m4 new file mode 100644 index 0000000..da31bc9 --- /dev/null +++ b/BUILD/libtool-2.4.7/aclocal.m4 @@ -0,0 +1,1148 @@ +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- + +# Copyright (C) 1996-2018 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# Copyright (C) 2002-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.16' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.16.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.16.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? + done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. +AC_DEFUN([AM_MAKE_INCLUDE], +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2018 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/00gnulib.m4]) +m4_include([m4/autobuild.m4]) +m4_include([m4/gnulib-common.m4]) +m4_include([m4/gnulib-comp.m4]) +m4_include([m4/libtool.m4]) +m4_include([m4/ltargz.m4]) +m4_include([m4/ltdl.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) +m4_include([m4/m4.m4]) +m4_include([m4/zzgnulib.m4]) diff --git a/BUILD/libtool-2.4.7/autom4te.cache/output.0 b/BUILD/libtool-2.4.7/autom4te.cache/output.0 new file mode 100644 index 0000000..29075a6 --- /dev/null +++ b/BUILD/libtool-2.4.7/autom4te.cache/output.0 @@ -0,0 +1,33382 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.69 for GNU Libtool 2.4.7. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ +@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +@%:@ +@%:@ +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in @%:@( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in @%:@( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: bug-libtool@gnu.org about your system, including any +$0: error possibly output before this message. Then install +$0: a modern shell, or manually run the script under such a +$0: shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +lt_ltdl_dir='libltdl' + +SHELL=${CONFIG_SHELL-/bin/sh} + +lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/ + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='GNU Libtool' +PACKAGE_TARNAME='libtool' +PACKAGE_VERSION='2.4.7' +PACKAGE_STRING='GNU Libtool 2.4.7' +PACKAGE_BUGREPORT='bug-libtool@gnu.org' +PACKAGE_URL='http://www.gnu.org/software/libtool/' + +ac_unique_file="libtoolize.in" +ac_config_libobj_dir=libltdl +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='GLtests_LIBOBJDEPS +GLtests_LTLIBOBJS +GLtests_LIBOBJS +GL_LIBOBJDEPS +GL_LTLIBOBJS +GL_LIBOBJS +CONFIG_INCLUDE +am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +HELP2MAN +GL_CFLAG_GNULIB_WARNINGS +abs_aux_dir +GLtests_WITNESS +GL_CXXFLAG_ALLOW_WARNINGS +GL_CFLAG_ALLOW_WARNINGS +GL_COND_LIBTOOL_FALSE +GL_COND_LIBTOOL_TRUE +with_aix_soname +to_tool_file_cmd +to_host_file_cmd +RC +GCJFLAGS +GCJ +GOC +ac_ct_FC +FCFLAGS +FC +ac_ct_F77 +FFLAGS +F77 +CXXCPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +ac_ct_CXX +CXXFLAGS +CXX +LTDLOPEN +LT_CONFIG_H +CONVENIENCE_LTDL_FALSE +CONVENIENCE_LTDL_TRUE +INSTALL_LTDL_FALSE +INSTALL_LTDL_TRUE +LT_ARGZ_H +LIB@&t@OBJS +sys_symbol_underscore +LIBADD_DL +LT_DLPREOPEN +LIBADD_DLD_LINK +LIBADD_SHL_LOAD +LIBADD_DLOPEN +LT_DLLOADERS +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +ac_ct_AR +FILECMD +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +SED +LIBTOOL +OBJDUMP +DLLTOOL +AS +RANLIB +ARFLAGS +AR +EGREP +GREP +CPP +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +pkgaux_scripts +pkgdatadir +aclocaldir +CONFIG_STATUS_DEPENDENCIES +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +M4_DEBUGFILE +M4_GNU +M4 +AUTOTEST +AUTOM4TE +package_revision +macro_dir +aux_dir +ltdl_dir +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_ltdl_install +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_cross_guesses +' + ac_precious_vars='build_alias +host_alias +target_alias +M4 +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +LT_SYS_LIBRARY_PATH +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS +FC +FCFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GNU Libtool 2.4.7 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + @<:@@S|@ac_default_prefix@:>@ + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + @<:@PREFIX@:>@ + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/libtool@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GNU Libtool 2.4.7:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --disable-ltdl-install do not install libltdl + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-ltdl-install install libltdl + --enable-cross-guesses={conservative|risky} + specify policy for cross-compilation guesses + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, @<:@default=aix@:>@. + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + +Some influential environment variables: + M4 Location of GNU M4 1.4.6 or later. Defaults to the first program + of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs. + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + FC Fortran compiler command + FCFLAGS Fortran compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +GNU Libtool home page: . +General help using GNU software: . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GNU Libtool configure 2.4.7 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +@%:@ ac_fn_c_try_compile LINENO +@%:@ -------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_compile + +@%:@ ac_fn_c_try_cpp LINENO +@%:@ ---------------------- +@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_cpp + +@%:@ ac_fn_c_try_link LINENO +@%:@ ----------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_link + +@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +@%:@ ------------------------------------------------------- +@%:@ Tests whether HEADER exists and can be compiled using the include files in +@%:@ INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +@%:@include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_header_compile + +@%:@ ac_fn_c_try_run LINENO +@%:@ ---------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes +@%:@ that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_run + +@%:@ ac_fn_c_check_func LINENO FUNC VAR +@%:@ ---------------------------------- +@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_func + +@%:@ ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +@%:@ --------------------------------------------- +@%:@ Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +@%:@ accordingly. +ac_fn_c_check_decl () +{ + ac_save_ac_compile="$ac_compile" + if test -n "$ac_compile_for_check_decl"; then + ac_compile="$ac_compile_for_check_decl" + fi + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +@%:@ifndef $as_decl_name +@%:@ifdef __cplusplus + (void) $as_decl_use; +@%:@else + (void) $as_decl_name; +@%:@endif +@%:@endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + ac_compile="$ac_save_ac_compile" + +} @%:@ ac_fn_c_check_decl + +@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES +@%:@ ------------------------------------------- +@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache +@%:@ variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_type + +@%:@ ac_fn_cxx_try_compile LINENO +@%:@ ---------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_compile + +@%:@ ac_fn_cxx_try_cpp LINENO +@%:@ ------------------------ +@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_cpp + +@%:@ ac_fn_cxx_try_link LINENO +@%:@ ------------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_link + +@%:@ ac_fn_f77_try_compile LINENO +@%:@ ---------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_f77_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_f77_try_compile + +@%:@ ac_fn_f77_try_link LINENO +@%:@ ------------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_f77_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_f77_try_link + +@%:@ ac_fn_fc_try_compile LINENO +@%:@ --------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_fc_try_compile + +@%:@ ac_fn_fc_try_link LINENO +@%:@ ------------------------ +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_fc_try_link +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GNU Libtool $as_me 2.4.7, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in @%:@(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + +# Remove this when a released Autoconf is capable of bootstrapping +# Libtool without it (probably after autoconf-2.70). + + +# Since we already declare these directories in this file, save those +# choices, and push the results into Makefile.am to avoid declaring +# them in two places making renames error prone, and where copies +# might get out of sync. + + + + +ac_config_headers="$ac_config_headers config.h:config-h.in" + + + + + + + + +ltdl_dir=libltdl + +ac_aux_dir= +for ac_dir in build-aux "$srcdir"/build-aux; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + +aux_dir=build-aux + +macro_dir=m4 + + + +package_revision=`$SHELL $ac_aux_dir/git-version-gen .tarball-version` + + +## ------------------------ ## +## Autotest initialisation. ## +## ------------------------ ## + +ac_config_commands="$ac_config_commands tests/atconfig" + +AUTOM4TE=${AUTOM4TE=autom4te} + +AUTOTEST='$(AUTOM4TE) --language=autotest' + + + +## ---------------------------------------- ## +## Display a configure time version banner. ## +## ---------------------------------------- ## + +# This is a sanity check so we can see what version is used in bug reports. +$as_echo "## ------------------------- ## +## Configuring libtool 2.4.7 ## +## ------------------------- ##" +echo + + +## ------------ ## +## Shell tools. ## +## ------------ ## + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU M4 that supports accurate traces" >&5 +$as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; } +if ${ac_cv_path_M4+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest.m4f +ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} +{ POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} +if test -z "$M4"; then + ac_path_M4_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in m4 gm4 gnum4; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_M4" || continue + # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. + # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. + # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy + # false positive strstr. + ac_snippet=change'quote(<,>)in''dir(,mac,bug)' + ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' + test -z "`$ac_path_M4 -F conftest.m4f &1`" \ + && test -z "`$as_echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \ + && test -f conftest.m4f \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: + rm -f conftest.m4f + $ac_path_M4_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_M4"; then + as_fn_error $? "no acceptable m4 could be found in \$PATH. +GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. +GNU M4 1.4.15 uses a buggy replacement strstr on some systems. +Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug." "$LINENO" 5 + fi +else + ac_cv_path_M4=$M4 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 +$as_echo "$ac_cv_path_M4" >&6; } + M4=$ac_cv_path_M4 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_cv_path_M4 accepts --gnu" >&5 +$as_echo_n "checking whether $ac_cv_path_M4 accepts --gnu... " >&6; } +if ${ac_cv_prog_gnu_m4_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + case `$M4 --help < /dev/null 2>&1` in + *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; + *) ac_cv_prog_gnu_m4_gnu=no ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_gnu" >&5 +$as_echo "$ac_cv_prog_gnu_m4_gnu" >&6; } + if test yes = "$ac_cv_prog_gnu_m4_gnu"; then + M4_GNU=--gnu + else + M4_GNU= + fi + + if test yes = "$ac_had_posixly_correct"; then + POSIXLY_CORRECT=: + if test no = $ac_cv_prog_gnu_m4_gnu; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the version of M4 that was found does not support -g" >&5 +$as_echo "$as_me: WARNING: the version of M4 that was found does not support -g" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&5 +$as_echo "$as_me: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&2;} + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how m4 supports trace files" >&5 +$as_echo_n "checking how m4 supports trace files... " >&6; } +if ${ac_cv_prog_gnu_m4_debugfile+:} false; then : + $as_echo_n "(cached) " >&6 +else + case `$M4 --help < /dev/null 2>&1` in + *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; + *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_debugfile" >&5 +$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; } + M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile + + + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## + +am__api_version='1.16' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in @%:@(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +@%:@ Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='libtool' + VERSION='2.4.7' + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +@%:@ Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + + + +## ------------------------- ## +## Autobuild initialisation. ## +## ------------------------- ## + +# You can set autobuild_mode at configure time to specify a "unique" +# string for this build. +: ${autobuild_mode=default} +AB_VERSION='2.4.7' +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + + + + if test -z "$AB_PACKAGE"; then + AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5 +$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} + + if test -z "$AB_VERSION"; then + AB_VERSION=${PACKAGE_VERSION:-$VERSION} + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5 +$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} + + hostname=`hostname` + if test "$hostname"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5 +$as_echo "$as_me: autobuild hostname... $hostname" >&6;} + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild mode... $autobuild_mode" >&5 +$as_echo "$as_me: autobuild mode... $autobuild_mode" >&6;} + + date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` + if test "$?" != 0; then + date=`date` + fi + if test "$date"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5 +$as_echo "$as_me: autobuild timestamp... $date" >&6;} + fi + + + +CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/.version' + + + +## ------------------------------- ## +## Libtool specific configuration. ## +## ------------------------------- ## + +aclocaldir="\$(datadir)/aclocal" + +pkgdatadir="\$(datadir)/$PACKAGE" + + +@%:@ Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then : + enableval=$enable_ltdl_install; +fi + +if test set != "${enable_ltdl_install+set}"; then + enable_ltdl_install=yes +fi + +# The list of scripts required to build libltdl, and which need to be +# installed by libtoolize --ltdl, and consequently need to be placed in +# $pkgdatadir by our make install rule. +pkgaux_scripts="compile config.guess config.sub depcomp install-sh missing" + + + +## ---------------- ## +## compiler checks. ## +## ---------------- ## + +# Need to be sure that we have a working C compiler, otherwise even with +# a good C compiler: if the following C++ tests fail, the whole libtool +# build fails! +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5 +$as_echo_n "checking whether the compiler is clang... " >&6; } +if ${gl_cv_compiler_clang+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifdef __clang__ + barfbarf + #endif + +int +main () +{ + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_compiler_clang=no +else + gl_cv_compiler_clang=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5 +$as_echo "$gl_cv_compiler_clang" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5 +$as_echo_n "checking for compiler option needed when checking for declarations... " >&6; } +if ${gl_cv_compiler_check_decl_option+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $gl_cv_compiler_clang = yes; then + save_ac_compile="$ac_compile" + ac_compile="$ac_compile -Werror=implicit-function-declaration" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration' +else + gl_cv_compiler_check_decl_option=none +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_compile="$save_ac_compile" + else + gl_cv_compiler_check_decl_option=none + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5 +$as_echo "$gl_cv_compiler_check_decl_option" >&6; } + if test "x$gl_cv_compiler_check_decl_option" != xnone; then + ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" + else + ac_compile_for_check_decl="$ac_compile" + fi + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in @%:@( + '0:this is the am__doit target') : + case $s in @%:@( + BSD) : + am__include='.include' am__quote='"' ;; @%:@( + *) : + am__include='include' am__quote='' ;; +esac ;; @%:@( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } + +@%:@ Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 +$as_echo_n "checking for Minix Amsterdam compiler... " >&6; } +if ${gl_cv_c_amsterdam_compiler+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __ACK__ +Amsterdam +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Amsterdam" >/dev/null 2>&1; then : + gl_cv_c_amsterdam_compiler=yes +else + gl_cv_c_amsterdam_compiler=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 +$as_echo "$gl_cv_c_amsterdam_compiler" >&6; } + + if test $gl_cv_c_amsterdam_compiler = yes; then + if test -z "$AR"; then + AR='cc -c.a' + fi + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + : + fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="ar" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + + if test -z "$ARFLAGS"; then + ARFLAGS='cr' + fi + + + + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + fi + fi + + + + + # Pre-early section. + + + # Code from module all-shells-tests: + # Code from module announce-gen: + # Code from module bootstrap: + # Code from module do-release-commit-and-tag: + # Code from module extract-trace: + # Code from module funclib.sh: + # Code from module funclib.sh-tests: + # Code from module gendocs: + # Code from module git-version-gen: + # Code from module gitlog-to-changelog: + # Code from module gnu-web-doc-update: + # Code from module gnumakefile: + # Code from module gnupload: + # Code from module inline-source: + # Code from module maintainer-makefile: + # Code from module options-parser: + # Code from module options-parser-tests: + # Code from module readme-release: + # Code from module test-framework-sh: + # Code from module test-framework-sh-tests: + # Code from module update-copyright: + # Code from module update-copyright-tests: + # Code from module useless-if-before-free: + # Code from module vc-list-files: + # Code from module vc-list-files-tests: + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.7' +macro_revision='2.4.7' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +@%:@ Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_FILECMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +$as_echo "$FILECMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_FILECMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +$as_echo "$ac_ct_FILECMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + 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]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + 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]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +@%:@ Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +@%:@ Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + + +# Set options +enable_dlopen=yes +enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AS+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AS="${ac_tool_prefix}as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +$as_echo "$AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AS+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AS="as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 +$as_echo "$ac_ct_AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + + ;; +esac + +test -z "$AS" && AS=as + + + + + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + + @%:@ Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + @%:@ Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +@%:@ Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + pic_mode=default +fi + + + + + + + + + @%:@ Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +@%:@ Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +@%:@define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$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)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$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' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$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' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$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' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$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)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="$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" + module_expsym_cmds="$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" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$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' + else + archive_cmds='$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' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$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' + fi + else + archive_cmds='$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' + archive_expsym_cmds='$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' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$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' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$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' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$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' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$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' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen=shl_load +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen=dlopen +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac + fi +fi + + + + + + + + + + + + + # Report what library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 +$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } +if ${libltdl_cv_shlibext+:} false; then : + $as_echo_n "(cached) " >&6 +else + +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_shlibext" >&5 +$as_echo "$libltdl_cv_shlibext" >&6; } +if test -n "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LT_MODULE_EXT "$libltdl_cv_shlibext" +_ACEOF + +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LT_SHARED_EXT "$libltdl_cv_shrext" +_ACEOF + +fi +if test -n "$shared_archive_member_spec"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 +$as_echo_n "checking what variable specifies run-time module search path... " >&6; } +if ${lt_cv_module_path_var+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_module_path_var=$shlibpath_var +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 +$as_echo "$lt_cv_module_path_var" >&6; } +if test -n "$lt_cv_module_path_var"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LT_MODULE_PATH_VAR "$lt_cv_module_path_var" +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the default library search path" >&5 +$as_echo_n "checking for the default library search path... " >&6; } +if ${lt_cv_sys_dlsearch_path+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 +$as_echo "$lt_cv_sys_dlsearch_path" >&6; } +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + +cat >>confdefs.h <<_ACEOF +@%:@define LT_DLSEARCH_PATH "$sys_dlsearch_path" +_ACEOF + +fi + + +LT_DLLOADERS= + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 +$as_echo_n "checking for library containing dlopen... " >&6; } +if ${ac_cv_search_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_dlopen=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_dlopen+:} false; then : + break +fi +done +if ${ac_cv_search_dlopen+:} false; then : + +else + ac_cv_search_dlopen=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 +$as_echo "$ac_cv_search_dlopen" >&6; } +ac_res=$ac_cv_search_dlopen +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h + + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_DLFCN_H +# include +#endif + +int +main () +{ +dlopen(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h + + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + +$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h + + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +fi + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + for ac_func in dlerror +do : + ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" +if test "x$ac_cv_func_dlerror" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_DLERROR 1 +_ACEOF + +fi +done + + LIBS=$lt_save_LIBS +fi + + +LIBADD_SHL_LOAD= +ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + +$as_echo "@%:@define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + +$as_echo "@%:@define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld +fi + +fi + + + +case $host_os in +darwin[1567].*) +# We only want this for pre-Mac OS X 10.4. + ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" +if test "x$ac_cv_func__dyld_func_lookup" = xyes; then : + +$as_echo "@%:@define HAVE_DYLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" +fi + + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include +" +if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +@%:@define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl +_ACEOF + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + +$as_echo "@%:@define HAVE_DLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" +fi + + + + +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + +$as_echo "@%:@define HAVE_LIBDLLOADER 1" >>confdefs.h + +fi + + +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" + + +LIBS=$lt_dlload_save_LIBS +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5 +$as_echo_n "checking for _ prefix in compiled symbols... " >&6; } +if ${lt_cv_sys_symbol_underscore+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&5 + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "configure: failed program was:" >&5 + cat conftest.c >&5 + fi + rm -rf conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5 +$as_echo "$lt_cv_sys_symbol_underscore" >&6; } + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + + +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 +$as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } +if ${libltdl_cv_need_uscore+:} false; then : + $as_echo_n "(cached) " >&6 +else + libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; } +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in @S|@1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 +$as_echo "$libltdl_cv_need_uscore" >&6; } + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + +$as_echo "@%:@define NEED_USCORE 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether deplibs are loaded by dlopen" >&5 +$as_echo_n "checking whether deplibs are loaded by dlopen... " >&6; } +if ${lt_cv_sys_dlopen_deplibs+:} false; then : + $as_echo_n "(cached) " >&6 +else + # PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[4-9]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly* | midnightbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[12345]*|irix6.[01]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[1234]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 +$as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + +$as_echo "@%:@define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h + +fi + + +for ac_header in argz.h +do : + ac_fn_c_check_header_compile "$LINENO" "argz.h" "ac_cv_header_argz_h" "$ac_includes_default +" +if test "x$ac_cv_header_argz_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ARGZ_H 1 +_ACEOF + +fi + +done + + +ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if defined(HAVE_ARGZ_H) +# include +#endif +" +if test "x$ac_cv_type_error_t" = xyes; then : + +cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ERROR_T 1 +_ACEOF + + +else + +$as_echo "@%:@define error_t int" >>confdefs.h + + +$as_echo "@%:@define __error_t_defined 1" >>confdefs.h + +fi + + +LT_ARGZ_H= +for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + LT_ARGZ_H=lt__argz.h; case " $LIB@&t@OBJS " in + *" lt__argz.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS lt__argz.$ac_objext" + ;; +esac + +fi +done + + +if test -z "$LT_ARGZ_H"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 +$as_echo_n "checking if argz actually works... " >&6; } +if ${lt_cv_sys_argz_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 +$as_echo "$lt_cv_sys_argz_works" >&6; } + if test yes = "$lt_cv_sys_argz_works"; then : + +$as_echo "@%:@define HAVE_WORKING_ARGZ 1" >>confdefs.h + +else + LT_ARGZ_H=lt__argz.h + case " $LIB@&t@OBJS " in + *" lt__argz.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS lt__argz.$ac_objext" + ;; +esac + +fi +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libtool supports -dlopen/-dlpreopen" >&5 +$as_echo_n "checking whether libtool supports -dlopen/-dlpreopen... " >&6; } +if ${libltdl_cv_preloaded_symbols+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 +$as_echo "$libltdl_cv_preloaded_symbols" >&6; } +if test yes = "$libltdl_cv_preloaded_symbols"; then + +$as_echo "@%:@define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h + +fi + + + +@%:@ Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then : + enableval=$enable_ltdl_install; +fi + + +case ,$enable_ltdl_install,$enable_ltdl_convenience in + *yes*) ;; + *) enable_ltdl_convenience=yes ;; +esac + + if test no != "${enable_ltdl_install-no}"; then + INSTALL_LTDL_TRUE= + INSTALL_LTDL_FALSE='#' +else + INSTALL_LTDL_TRUE='#' + INSTALL_LTDL_FALSE= +fi + + if test no != "${enable_ltdl_convenience-no}"; then + CONVENIENCE_LTDL_TRUE= + CONVENIENCE_LTDL_FALSE='#' +else + CONVENIENCE_LTDL_TRUE='#' + CONVENIENCE_LTDL_FALSE= +fi + + + + + + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). + + + +for ac_header in unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_func in closedir opendir readdir +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIB@&t@OBJS " in + *" lt__dirent.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS lt__dirent.$ac_objext" + ;; +esac + +fi +done + +for ac_func in strlcat strlcpy +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIB@&t@OBJS " in + *" lt__strl.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS lt__strl.$ac_objext" + ;; +esac + +fi +done + + + +cat >>confdefs.h <<_ACEOF +@%:@define LT_LIBEXT "$libext" +_ACEOF + + +name= +eval "lt_libprefix=\"$libname_spec\"" + +cat >>confdefs.h <<_ACEOF +@%:@define LT_LIBPREFIX "$lt_libprefix" +_ACEOF + + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" + + + +# Enable all the language support we can +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CXX_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + + +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + + +@%:@ Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_CXX='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$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' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $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' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="$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" + module_expsym_cmds_CXX="$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" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$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" + archive_expsym_cmds_CXX="$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" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='$wl-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes = "$GXX"; then + archive_cmds_CXX='$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' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='$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' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$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' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$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' + else + archive_cmds_CXX='$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' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='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' + archive_expsym_cmds_CXX='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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $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' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$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' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$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' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='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' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$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' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$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' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $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~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + archive_cmds_CXX='$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' + ;; + *) + archive_cmds_CXX='$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' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='$wl-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX=$prev$p + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX=$prev$p + else + postdeps_CXX="${postdeps_CXX} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX=$p + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX=$p + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$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' + else + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + ;; + pw32*) + export_symbols_cmds_CXX=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test yes = "$hardcode_automatic_CXX"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_CXX" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 +$as_echo "$F77" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_F77="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 +$as_echo "$ac_ct_F77" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 +$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } +if ${ac_cv_f77_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 +$as_echo "$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 +$as_echo_n "checking whether $F77 accepts -g... " >&6; } +if ${ac_cv_prog_f77_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + FFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO"; then : + ac_cv_prog_f77_g=yes +else + ac_cv_prog_f77_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 +$as_echo "$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + G77=yes +else + G77= +fi +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_direct_absolute_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +inherit_rpath_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +reload_flag_F77=$reload_flag +reload_cmds_F77=$reload_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + compiler_F77=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + GCC=$G77 + if test -n "$compiler"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + GCC_F77=$G77 + LD_F77=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + lt_prog_compiler_pic_F77='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_F77='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_F77='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_F77= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_F77='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_F77='-Xlinker ' + if test -n "$lt_prog_compiler_pic_F77"; then + lt_prog_compiler_pic_F77="-Xcompiler $lt_prog_compiler_pic_F77" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_F77='-Wl,-Wl,,' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_F77='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='--shared' + lt_prog_compiler_static_F77='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_F77='-Wl,-Wl,,' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-qpic' + lt_prog_compiler_static_F77='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_F77='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77@&t@" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_F77=$lt_prog_compiler_pic_F77 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_F77" >&5 +$as_echo "$lt_cv_prog_compiler_pic_F77" >&6; } +lt_prog_compiler_pic_F77=$lt_cv_prog_compiler_pic_F77 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77@&t@" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_F77=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_F77"; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_F77=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_F77=yes + fi + else + lt_cv_prog_compiler_static_works_F77=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_F77"; then + : +else + lt_prog_compiler_static_F77= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_F77" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_F77= + always_export_symbols_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + compiler_needs_object_F77=no + enable_shared_with_static_runtimes_F77=no + export_dynamic_flag_spec_F77= + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_F77=no + hardcode_direct_F77=no + hardcode_direct_absolute_F77=no + hardcode_libdir_flag_spec_F77= + hardcode_libdir_separator_F77= + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + inherit_rpath_F77=no + link_all_deplibs_F77=unknown + module_cmds_F77= + module_expsym_cmds_F77= + old_archive_from_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + thread_safe_flag_spec_F77= + whole_archive_flag_spec_F77= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_F77='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='' + ;; + m68k) + archive_cmds_F77='$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)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + export_dynamic_flag_spec_F77='$wl--export-all-symbols' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_F77='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + haiku*) + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_F77=yes + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + shrext_cmds=.dll + archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_F77=yes + file_list_spec_F77='@' + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + export_dynamic_flag_spec_F77='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_F77= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_F77='$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' + compiler_needs_object_F77=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='$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' + compiler_needs_object_F77=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_F77='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_F77='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_F77=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test no = "$ld_shlibs_F77"; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_F77='$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' + else + export_symbols_cmds_F77='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + file_list_spec_F77='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_F77=no + hardcode_direct_absolute_F77=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_F77='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__F77 +fi + + hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_F77='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__F77 +fi + + hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' $wl-bernotok' + allow_undefined_flag_F77=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_F77='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + fi + archive_cmds_need_lc_F77=yes + archive_expsym_cmds_F77='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='' + ;; + m68k) + archive_cmds_F77='$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)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + file_list_spec_F77='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, F77)='true' + enable_shared_with_static_runtimes_F77=yes + exclude_expsyms_F77='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_F77='chmod 644 $oldlib' + postlink_cmds_F77='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_F77=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_F77='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + compiler_needs_object_F77=yes + else + whole_archive_flag_spec_F77='' + fi + link_all_deplibs_F77=yes + allow_undefined_flag_F77=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_F77="$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" + module_expsym_cmds_F77="$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" + + else + ld_shlibs_F77=no + fi + + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_F77='$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' + else + archive_cmds_F77='$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' + fi + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_F77='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat > conftest.$ac_ext <<_ACEOF + + subroutine foo + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_F77='$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' + fi + else + archive_cmds_F77='$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' + archive_expsym_cmds_F77='$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' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + inherit_rpath_F77=yes + link_all_deplibs_F77=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_F77=yes + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + hardcode_direct_absolute_F77=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + export_dynamic_flag_spec_F77='$wl-E' + else + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + shrext_cmds=.dll + archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_F77=yes + file_list_spec_F77='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' + archive_cmds_F77='$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' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$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' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' + archive_cmds_F77='$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' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$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' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_F77='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_F77='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_F77='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_F77='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='$wl-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='$wl-z,text' + allow_undefined_flag_F77='$wl-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='$wl-R,$libdir' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_F77='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5 +$as_echo "$ld_shlibs_F77" >&6; } +test no = "$ld_shlibs_F77" && can_build_shared=no + +with_gnu_ld_F77=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_F77=no + else + lt_cv_archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_F77" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_F77" >&6; } + archive_cmds_need_lc_F77=$lt_cv_archive_cmds_need_lc_F77 + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_F77='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_F77\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_F77\"" + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || + test -n "$runpath_var_F77" || + test yes = "$hardcode_automatic_F77"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_F77" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, F77)" && + test no != "$hardcode_minus_L_F77"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5 +$as_echo "$hardcode_action_F77" >&6; } + +if test relink = "$hardcode_action_F77" || + test yes = "$inherit_rpath_F77"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +$as_echo "$FC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +$as_echo "$ac_ct_FC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 +$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } +if ${ac_cv_fc_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +$as_echo "$ac_cv_fc_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+set} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +$as_echo_n "checking whether $FC accepts -g... " >&6; } +if ${ac_cv_prog_fc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO"; then : + ac_cv_prog_fc_g=yes +else + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +$as_echo "$ac_cv_prog_fc_g" >&6; } +if test "$ac_test_FCFLAGS" = set; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +fi +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +archive_cmds_need_lc_FC=no +allow_undefined_flag_FC= +always_export_symbols_FC=no +archive_expsym_cmds_FC= +export_dynamic_flag_spec_FC= +hardcode_direct_FC=no +hardcode_direct_absolute_FC=no +hardcode_libdir_flag_spec_FC= +hardcode_libdir_separator_FC= +hardcode_minus_L_FC=no +hardcode_automatic_FC=no +inherit_rpath_FC=no +module_cmds_FC= +module_expsym_cmds_FC= +link_all_deplibs_FC=unknown +old_archive_cmds_FC=$old_archive_cmds +reload_flag_FC=$reload_flag +reload_cmds_FC=$reload_cmds +no_undefined_flag_FC= +whole_archive_flag_spec_FC= +enable_shared_with_static_runtimes_FC=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +objext_FC=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + compiler_FC=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + GCC_FC=$ac_cv_fc_compiler_gnu + LD_FC=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_FC= +postdep_objects_FC= +predeps_FC= +postdeps_FC= +compiler_lib_search_path_FC= + +cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_FC"; then + compiler_lib_search_path_FC=$prev$p + else + compiler_lib_search_path_FC="${compiler_lib_search_path_FC} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_FC"; then + postdeps_FC=$prev$p + else + postdeps_FC="${postdeps_FC} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_FC"; then + predep_objects_FC=$p + else + predep_objects_FC="$predep_objects_FC $p" + fi + else + if test -z "$postdep_objects_FC"; then + postdep_objects_FC=$p + else + postdep_objects_FC="$postdep_objects_FC $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling FC test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken + + +case " $postdeps_FC " in +*" -lc "*) archive_cmds_need_lc_FC=no ;; +esac + compiler_lib_search_dirs_FC= +if test -n "${compiler_lib_search_path_FC}"; then + compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + lt_prog_compiler_wl_FC= +lt_prog_compiler_pic_FC= +lt_prog_compiler_static_FC= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_static_FC='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_FC='-Bstatic' + fi + lt_prog_compiler_pic_FC='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_FC='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_FC='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_FC='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_FC='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_FC= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_FC='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_FC=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_FC='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_FC=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_FC='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_FC='-Xlinker ' + if test -n "$lt_prog_compiler_pic_FC"; then + lt_prog_compiler_pic_FC="-Xcompiler $lt_prog_compiler_pic_FC" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_FC='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_FC='-Bstatic' + else + lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_FC='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_FC='-Wl,-Wl,,' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_FC='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_FC='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_FC='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_FC='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_FC='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_FC='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_FC='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='--shared' + lt_prog_compiler_static_FC='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_FC='-Wl,-Wl,,' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fpic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_FC='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_FC='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-qpic' + lt_prog_compiler_static_FC='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fpic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_FC='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_FC='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_FC='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_FC='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_FC='-Qoption ld ';; + *) + lt_prog_compiler_wl_FC='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_FC='-Qoption ld ' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_FC='-Kconform_pic' + lt_prog_compiler_static_FC='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_can_build_shared_FC=no + ;; + + uts4*) + lt_prog_compiler_pic_FC='-pic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_FC=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_FC= + ;; + *) + lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC@&t@" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 +$as_echo "$lt_cv_prog_compiler_pic_FC" >&6; } +lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_FC=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_FC@&t@" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_FC=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_FC" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then + case $lt_prog_compiler_pic_FC in + "" | " "*) ;; + *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;; + esac +else + lt_prog_compiler_pic_FC= + lt_prog_compiler_can_build_shared_FC=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_FC=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_FC=yes + fi + else + lt_cv_prog_compiler_static_works_FC=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_FC" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_FC"; then + : +else + lt_prog_compiler_static_FC= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_FC=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_FC=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_FC=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_FC=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_FC= + always_export_symbols_FC=no + archive_cmds_FC= + archive_expsym_cmds_FC= + compiler_needs_object_FC=no + enable_shared_with_static_runtimes_FC=no + export_dynamic_flag_spec_FC= + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_FC=no + hardcode_direct_FC=no + hardcode_direct_absolute_FC=no + hardcode_libdir_flag_spec_FC= + hardcode_libdir_separator_FC= + hardcode_minus_L_FC=no + hardcode_shlibpath_var_FC=unsupported + inherit_rpath_FC=no + link_all_deplibs_FC=unknown + module_cmds_FC= + module_expsym_cmds_FC= + old_archive_from_new_cmds_FC= + old_archive_from_expsyms_cmds_FC= + thread_safe_flag_spec_FC= + whole_archive_flag_spec_FC= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_FC= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_FC=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_FC='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_FC=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_FC= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='' + ;; + m68k) + archive_cmds_FC='$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)' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_FC=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_FC=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_FC='-L$libdir' + export_dynamic_flag_spec_FC='$wl--export-all-symbols' + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=no + enable_shared_with_static_runtimes_FC=yes + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_FC='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_FC=no + fi + ;; + + haiku*) + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_FC=yes + ;; + + os2*) + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + allow_undefined_flag_FC=unsupported + shrext_cmds=.dll + archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_FC=yes + file_list_spec_FC='@' + ;; + + interix[3-9]*) + hardcode_direct_FC=no + hardcode_shlibpath_var_FC=no + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + export_dynamic_flag_spec_FC='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_FC='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_FC='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_FC='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_FC= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_FC='$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' + compiler_needs_object_FC=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_FC='$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' + compiler_needs_object_FC=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_FC='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + archive_cmds_FC='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_FC=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + esac + + if test no = "$ld_shlibs_FC"; then + runpath_var= + hardcode_libdir_flag_spec_FC= + export_dynamic_flag_spec_FC= + whole_archive_flag_spec_FC= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=yes + archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_FC=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_FC=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_FC='$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' + else + export_symbols_cmds_FC='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_FC='' + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + hardcode_libdir_separator_FC=':' + link_all_deplibs_FC=yes + file_list_spec_FC='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_FC=no + hardcode_direct_absolute_FC=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_FC=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_FC=yes + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_libdir_separator_FC= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_FC='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_FC=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_FC='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__FC +fi + + hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_FC='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_FC='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_FC="-z nodefs" + archive_expsym_cmds_FC="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__FC +fi + + hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_FC=' $wl-bernotok' + allow_undefined_flag_FC=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_FC='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_FC='$convenience' + fi + archive_cmds_need_lc_FC=yes + archive_expsym_cmds_FC='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='' + ;; + m68k) + archive_cmds_FC='$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)' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_FC=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_FC=' ' + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=yes + file_list_spec_FC='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_FC='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, FC)='true' + enable_shared_with_static_runtimes_FC=yes + exclude_expsyms_FC='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_FC='chmod 644 $oldlib' + postlink_cmds_FC='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_FC=' ' + allow_undefined_flag_FC=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_FC='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_FC=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_FC=no + hardcode_direct_FC=no + hardcode_automatic_FC=yes + hardcode_shlibpath_var_FC=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_FC='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + compiler_needs_object_FC=yes + else + whole_archive_flag_spec_FC='' + fi + link_all_deplibs_FC=yes + allow_undefined_flag_FC=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_FC="$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" + module_expsym_cmds_FC="$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" + + else + ld_shlibs_FC=no + fi + + ;; + + dgux*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_shlibpath_var_FC=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes + hardcode_minus_L_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_FC='$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' + else + archive_cmds_FC='$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' + fi + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_direct_FC=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_FC='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_FC='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_FC=no + hardcode_shlibpath_var_FC=no + ;; + *) + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_FC='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat > conftest.$ac_ext <<_ACEOF + + subroutine foo + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_FC='$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' + fi + else + archive_cmds_FC='$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' + archive_expsym_cmds_FC='$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' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + inherit_rpath_FC=yes + link_all_deplibs_FC=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_FC=yes + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + newsos6) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_shlibpath_var_FC=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + hardcode_direct_absolute_FC=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + export_dynamic_flag_spec_FC='$wl-E' + else + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + fi + else + ld_shlibs_FC=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + allow_undefined_flag_FC=unsupported + shrext_cmds=.dll + archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_FC=yes + file_list_spec_FC='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' + archive_cmds_FC='$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' + else + allow_undefined_flag_FC=' -expect_unresolved \*' + archive_cmds_FC='$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' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' + archive_cmds_FC='$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' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + else + allow_undefined_flag_FC=' -expect_unresolved \*' + archive_cmds_FC='$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' + archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_FC='-rpath $libdir' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_separator_FC=: + ;; + + solaris*) + no_undefined_flag_FC=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_FC='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_FC='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_FC='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_shlibpath_var_FC=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_FC='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_FC=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_FC='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_direct_FC=yes + hardcode_minus_L_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_FC='$CC -r -o $output$reload_objs' + hardcode_direct_FC=no + ;; + motorola) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_FC=no + ;; + + sysv4.3*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_FC=no + export_dynamic_flag_spec_FC='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_FC=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_FC=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_FC='$wl-z,text' + archive_cmds_need_lc_FC=no + hardcode_shlibpath_var_FC=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_FC='$wl-z,text' + allow_undefined_flag_FC='$wl-z,nodefs' + archive_cmds_need_lc_FC=no + hardcode_shlibpath_var_FC=no + hardcode_libdir_flag_spec_FC='$wl-R,$libdir' + hardcode_libdir_separator_FC=':' + link_all_deplibs_FC=yes + export_dynamic_flag_spec_FC='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_shlibpath_var_FC=no + ;; + + *) + ld_shlibs_FC=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_FC='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 +$as_echo "$ld_shlibs_FC" >&6; } +test no = "$ld_shlibs_FC" && can_build_shared=no + +with_gnu_ld_FC=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_FC" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_FC=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_FC in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_FC + pic_flag=$lt_prog_compiler_pic_FC + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_FC + allow_undefined_flag_FC= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_FC=no + else + lt_cv_archive_cmds_need_lc_FC=yes + fi + allow_undefined_flag_FC=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_FC" >&6; } + archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_FC='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\"" + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_FC= +if test -n "$hardcode_libdir_flag_spec_FC" || + test -n "$runpath_var_FC" || + test yes = "$hardcode_automatic_FC"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_FC" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" && + test no != "$hardcode_minus_L_FC"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_FC=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_FC=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_FC=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 +$as_echo "$hardcode_action_FC" >&6; } + +if test relink = "$hardcode_action_FC" || + test yes = "$inherit_rpath_FC"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gccgo", so it can be a program name with args. +set dummy ${ac_tool_prefix}gccgo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GOC"; then + ac_cv_prog_GOC="$GOC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GOC="${ac_tool_prefix}gccgo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GOC=$ac_cv_prog_GOC +if test -n "$GOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC" >&5 +$as_echo "$GOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GOC"; then + ac_ct_GOC=$GOC + # Extract the first word of "gccgo", so it can be a program name with args. +set dummy gccgo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_GOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_GOC"; then + ac_cv_prog_ac_ct_GOC="$ac_ct_GOC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_GOC="gccgo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_GOC=$ac_cv_prog_ac_ct_GOC +if test -n "$ac_ct_GOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GOC" >&5 +$as_echo "$ac_ct_GOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_GOC" = x; then + GOC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GOC=$ac_ct_GOC + fi +else + GOC="$ac_cv_prog_GOC" +fi + + + + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +objext_GO=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +compiler_GO=$CC +LD_GO=$LD +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Go did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GO=no + +old_archive_cmds_GO=$old_archive_cmds +reload_flag_GO=$reload_flag +reload_cmds_GO=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag_GO= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag_GO=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag_GO=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag_GO="$lt_prog_compiler_no_builtin_flag_GO -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + lt_prog_compiler_wl_GO= +lt_prog_compiler_pic_GO= +lt_prog_compiler_static_GO= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_static_GO='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GO='-Bstatic' + fi + lt_prog_compiler_pic_GO='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_GO='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_GO='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GO='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_GO='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GO='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_GO= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GO='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GO=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GO='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GO=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_GO='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_GO='-Xlinker ' + if test -n "$lt_prog_compiler_pic_GO"; then + lt_prog_compiler_pic_GO="-Xcompiler $lt_prog_compiler_pic_GO" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GO='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GO='-Bstatic' + else + lt_prog_compiler_static_GO='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GO='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GO='-Wl,-Wl,,' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GO='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_GO='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GO='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GO='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GO='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GO='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GO='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='--shared' + lt_prog_compiler_static_GO='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GO='-Wl,-Wl,,' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fpic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GO='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GO='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-qpic' + lt_prog_compiler_static_GO='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fpic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GO='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GO='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GO='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GO='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_GO='-Qoption ld ';; + *) + lt_prog_compiler_wl_GO='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GO='-Qoption ld ' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GO='-Kconform_pic' + lt_prog_compiler_static_GO='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_can_build_shared_GO=no + ;; + + uts4*) + lt_prog_compiler_pic_GO='-pic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GO=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GO= + ;; + *) + lt_prog_compiler_pic_GO="$lt_prog_compiler_pic_GO@&t@" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_GO=$lt_prog_compiler_pic_GO +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GO" >&5 +$as_echo "$lt_cv_prog_compiler_pic_GO" >&6; } +lt_prog_compiler_pic_GO=$lt_cv_prog_compiler_pic_GO + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GO works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GO works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_GO=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GO@&t@" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_GO=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GO" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_GO" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_GO"; then + case $lt_prog_compiler_pic_GO in + "" | " "*) ;; + *) lt_prog_compiler_pic_GO=" $lt_prog_compiler_pic_GO" ;; + esac +else + lt_prog_compiler_pic_GO= + lt_prog_compiler_can_build_shared_GO=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GO eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GO\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_GO=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_GO=yes + fi + else + lt_cv_prog_compiler_static_works_GO=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GO" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_GO" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_GO"; then + : +else + lt_prog_compiler_static_GO= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GO=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GO=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GO=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GO=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_GO" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_GO= + always_export_symbols_GO=no + archive_cmds_GO= + archive_expsym_cmds_GO= + compiler_needs_object_GO=no + enable_shared_with_static_runtimes_GO=no + export_dynamic_flag_spec_GO= + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_GO=no + hardcode_direct_GO=no + hardcode_direct_absolute_GO=no + hardcode_libdir_flag_spec_GO= + hardcode_libdir_separator_GO= + hardcode_minus_L_GO=no + hardcode_shlibpath_var_GO=unsupported + inherit_rpath_GO=no + link_all_deplibs_GO=unknown + module_cmds_GO= + module_expsym_cmds_GO= + old_archive_from_new_cmds_GO= + old_archive_from_expsyms_cmds_GO= + thread_safe_flag_spec_GO= + whole_archive_flag_spec_GO= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GO= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_GO='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GO=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_GO='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GO=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_GO= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='' + ;; + m68k) + archive_cmds_GO='$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)' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GO=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GO='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_GO=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, GO) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GO='-L$libdir' + export_dynamic_flag_spec_GO='$wl--export-all-symbols' + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=no + enable_shared_with_static_runtimes_GO=yes + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_GO='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GO=no + fi + ;; + + haiku*) + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_GO=yes + ;; + + os2*) + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + allow_undefined_flag_GO=unsupported + shrext_cmds=.dll + archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GO=yes + file_list_spec_GO='@' + ;; + + interix[3-9]*) + hardcode_direct_GO=no + hardcode_shlibpath_var_GO=no + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + export_dynamic_flag_spec_GO='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GO='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GO='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GO='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_GO= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_GO='$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' + compiler_needs_object_GO=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GO='$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' + compiler_needs_object_GO=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_GO='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_GO='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_GO='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + archive_cmds_GO='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_GO=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GO='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GO='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + esac + + if test no = "$ld_shlibs_GO"; then + runpath_var= + hardcode_libdir_flag_spec_GO= + export_dynamic_flag_spec_GO= + whole_archive_flag_spec_GO= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=yes + archive_expsym_cmds_GO='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GO=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GO=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_GO='$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' + else + export_symbols_cmds_GO='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GO='' + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + hardcode_libdir_separator_GO=':' + link_all_deplibs_GO=yes + file_list_spec_GO='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_GO=no + hardcode_direct_absolute_GO=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GO=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GO=yes + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_libdir_separator_GO= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_GO='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GO=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GO='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GO +fi + + hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GO='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_GO='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GO="-z nodefs" + archive_expsym_cmds_GO="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GO +fi + + hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GO=' $wl-bernotok' + allow_undefined_flag_GO=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_GO='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GO='$convenience' + fi + archive_cmds_need_lc_GO=yes + archive_expsym_cmds_GO='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='' + ;; + m68k) + archive_cmds_GO='$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)' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GO=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_GO=' ' + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=yes + file_list_spec_GO='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GO='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, GO)='true' + enable_shared_with_static_runtimes_GO=yes + exclude_expsyms_GO='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_GO='chmod 644 $oldlib' + postlink_cmds_GO='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_GO=' ' + allow_undefined_flag_GO=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GO='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_GO='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GO='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_GO=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_GO=no + hardcode_direct_GO=no + hardcode_automatic_GO=yes + hardcode_shlibpath_var_GO=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_GO='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_GO='' + fi + link_all_deplibs_GO=yes + allow_undefined_flag_GO=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_GO="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_GO="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_GO="$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" + module_expsym_cmds_GO="$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" + + else + ld_shlibs_GO=no + fi + + ;; + + dgux*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_shlibpath_var_GO=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes + hardcode_minus_L_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_GO='$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' + else + archive_cmds_GO='$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' + fi + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_direct_GO=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_GO='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GO='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_GO=no + hardcode_shlibpath_var_GO=no + ;; + *) + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_GO='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_GO='$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' + fi + else + archive_cmds_GO='$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' + archive_expsym_cmds_GO='$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' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + inherit_rpath_GO=yes + link_all_deplibs_GO=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_GO=yes + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GO='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + newsos6) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_shlibpath_var_GO=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + hardcode_direct_absolute_GO=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + export_dynamic_flag_spec_GO='$wl-E' + else + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + fi + else + ld_shlibs_GO=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + allow_undefined_flag_GO=unsupported + shrext_cmds=.dll + archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GO=yes + file_list_spec_GO='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' + archive_cmds_GO='$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' + else + allow_undefined_flag_GO=' -expect_unresolved \*' + archive_cmds_GO='$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' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' + archive_cmds_GO='$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' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + else + allow_undefined_flag_GO=' -expect_unresolved \*' + archive_cmds_GO='$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' + archive_expsym_cmds_GO='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GO='-rpath $libdir' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_separator_GO=: + ;; + + solaris*) + no_undefined_flag_GO=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_GO='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_GO='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_GO='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_shlibpath_var_GO=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_GO='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_GO='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GO=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GO='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_direct_GO=yes + hardcode_minus_L_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GO='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GO='$CC -r -o $output$reload_objs' + hardcode_direct_GO=no + ;; + motorola) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GO=no + ;; + + sysv4.3*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GO=no + export_dynamic_flag_spec_GO='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GO=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GO=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GO='$wl-z,text' + archive_cmds_need_lc_GO=no + hardcode_shlibpath_var_GO=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GO='$wl-z,text' + allow_undefined_flag_GO='$wl-z,nodefs' + archive_cmds_need_lc_GO=no + hardcode_shlibpath_var_GO=no + hardcode_libdir_flag_spec_GO='$wl-R,$libdir' + hardcode_libdir_separator_GO=':' + link_all_deplibs_GO=yes + export_dynamic_flag_spec_GO='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_shlibpath_var_GO=no + ;; + + *) + ld_shlibs_GO=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_GO='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GO" >&5 +$as_echo "$ld_shlibs_GO" >&6; } +test no = "$ld_shlibs_GO" && can_build_shared=no + +with_gnu_ld_GO=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GO" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GO=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_GO in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GO + pic_flag=$lt_prog_compiler_pic_GO + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GO + allow_undefined_flag_GO= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_GO=no + else + lt_cv_archive_cmds_need_lc_GO=yes + fi + allow_undefined_flag_GO=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GO" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_GO" >&6; } + archive_cmds_need_lc_GO=$lt_cv_archive_cmds_need_lc_GO + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_GO= +if test -n "$hardcode_libdir_flag_spec_GO" || + test -n "$runpath_var_GO" || + test yes = "$hardcode_automatic_GO"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_GO" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GO)" && + test no != "$hardcode_minus_L_GO"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GO=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GO=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GO=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GO" >&5 +$as_echo "$hardcode_action_GO" >&6; } + +if test relink = "$hardcode_action_GO" || + test yes = "$inherit_rpath_GO"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcj", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcj; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GCJ"; then + ac_cv_prog_GCJ="$GCJ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GCJ="${ac_tool_prefix}gcj" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GCJ=$ac_cv_prog_GCJ +if test -n "$GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ" >&5 +$as_echo "$GCJ" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GCJ"; then + ac_ct_GCJ=$GCJ + # Extract the first word of "gcj", so it can be a program name with args. +set dummy gcj; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_GCJ"; then + ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_GCJ="gcj" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ +if test -n "$ac_ct_GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5 +$as_echo "$ac_ct_GCJ" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_GCJ" = x; then + GCJ="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GCJ=$ac_ct_GCJ + fi +else + GCJ="$ac_cv_prog_GCJ" +fi + + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +compiler_GCJ=$CC +LD_GCJ=$LD +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds +reload_flag_GCJ=$reload_flag +reload_cmds_GCJ=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag_GCJ=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + + case $host_os in + os2*) + lt_prog_compiler_static_GCJ='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_GCJ= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GCJ='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_GCJ='-Xlinker ' + if test -n "$lt_prog_compiler_pic_GCJ"; then + lt_prog_compiler_pic_GCJ="-Xcompiler $lt_prog_compiler_pic_GCJ" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + + case $host_os in + os2*) + lt_prog_compiler_static_GCJ='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='--shared' + lt_prog_compiler_static_GCJ='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-qpic' + lt_prog_compiler_static_GCJ='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GCJ='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ@&t@" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_GCJ=$lt_prog_compiler_pic_GCJ +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_pic_GCJ" >&6; } +lt_prog_compiler_pic_GCJ=$lt_cv_prog_compiler_pic_GCJ + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ@&t@" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_GCJ=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_GCJ"; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_GCJ=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_GCJ=yes + fi + else + lt_cv_prog_compiler_static_works_GCJ=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_GCJ"; then + : +else + lt_prog_compiler_static_GCJ= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_GCJ" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + always_export_symbols_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + compiler_needs_object_GCJ=no + enable_shared_with_static_runtimes_GCJ=no + export_dynamic_flag_spec_GCJ= + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_GCJ=no + hardcode_direct_GCJ=no + hardcode_direct_absolute_GCJ=no + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + inherit_rpath_GCJ=no + link_all_deplibs_GCJ=unknown + module_cmds_GCJ= + module_expsym_cmds_GCJ= + old_archive_from_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + thread_safe_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_GCJ='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='' + ;; + m68k) + archive_cmds_GCJ='$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)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + export_dynamic_flag_spec_GCJ='$wl--export-all-symbols' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_GCJ='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + haiku*) + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_GCJ=yes + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + shrext_cmds=.dll + archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GCJ=yes + file_list_spec_GCJ='@' + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + export_dynamic_flag_spec_GCJ='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_GCJ= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_GCJ='$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' + compiler_needs_object_GCJ=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='$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' + compiler_needs_object_GCJ=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_GCJ='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_GCJ='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test no = "$ld_shlibs_GCJ"; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$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' + else + export_symbols_cmds_GCJ='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + file_list_spec_GCJ='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_GCJ=no + hardcode_direct_absolute_GCJ=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_GCJ='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GCJ +fi + + hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_GCJ='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GCJ +fi + + hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' $wl-bernotok' + allow_undefined_flag_GCJ=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_GCJ='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + fi + archive_cmds_need_lc_GCJ=yes + archive_expsym_cmds_GCJ='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='' + ;; + m68k) + archive_cmds_GCJ='$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)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + file_list_spec_GCJ='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, GCJ)='true' + enable_shared_with_static_runtimes_GCJ=yes + exclude_expsyms_GCJ='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_GCJ='chmod 644 $oldlib' + postlink_cmds_GCJ='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_GCJ=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_GCJ='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_GCJ='' + fi + link_all_deplibs_GCJ=yes + allow_undefined_flag_GCJ=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_GCJ="$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" + module_expsym_cmds_GCJ="$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" + + else + ld_shlibs_GCJ=no + fi + + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_GCJ='$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' + else + archive_cmds_GCJ='$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' + fi + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_GCJ='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_GCJ='$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' + fi + else + archive_cmds_GCJ='$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' + archive_expsym_cmds_GCJ='$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' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + inherit_rpath_GCJ=yes + link_all_deplibs_GCJ=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_GCJ=yes + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + hardcode_direct_absolute_GCJ=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + export_dynamic_flag_spec_GCJ='$wl-E' + else + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + shrext_cmds=.dll + archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GCJ=yes + file_list_spec_GCJ='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' + archive_cmds_GCJ='$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' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$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' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' + archive_cmds_GCJ='$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' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$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' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_GCJ='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_GCJ='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_GCJ='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_GCJ='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='$wl-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='$wl-z,text' + allow_undefined_flag_GCJ='$wl-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='$wl-R,$libdir' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_GCJ='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GCJ" >&5 +$as_echo "$ld_shlibs_GCJ" >&6; } +test no = "$ld_shlibs_GCJ" && can_build_shared=no + +with_gnu_ld_GCJ=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_GCJ=no + else + lt_cv_archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GCJ" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_GCJ" >&6; } + archive_cmds_need_lc_GCJ=$lt_cv_archive_cmds_need_lc_GCJ + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || + test -n "$runpath_var_GCJ" || + test yes = "$hardcode_automatic_GCJ"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_GCJ" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GCJ)" && + test no != "$hardcode_minus_L_GCJ"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GCJ" >&5 +$as_echo "$hardcode_action_GCJ" >&6; } + +if test relink = "$hardcode_action_GCJ" || + test yes = "$inherit_rpath_GCJ"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. +set dummy ${ac_tool_prefix}windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RC"; then + ac_cv_prog_RC="$RC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RC="${ac_tool_prefix}windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RC=$ac_cv_prog_RC +if test -n "$RC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 +$as_echo "$RC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RC"; then + ac_ct_RC=$RC + # Extract the first word of "windres", so it can be a program name with args. +set dummy windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RC"; then + ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RC="windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RC=$ac_cv_prog_ac_ct_RC +if test -n "$ac_ct_RC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 +$as_echo "$ac_ct_RC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RC" = x; then + RC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RC=$ac_ct_RC + fi +else + RC="$ac_cv_prog_RC" +fi + + + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +compiler_RC=$CC +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + +lt_cv_prog_compiler_c_o_RC=yes + +if test -n "$compiler"; then + : + + + +fi + +GCC=$lt_save_GCC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + + +# Ensure the correct file name (and path) conversion function +# is available to the test suite. + +# Propagate --with-aix-soname option to the testsuite. + +## ---------------------- ## +## Gnulib initialisation. ## +## ---------------------- ## + + + + + + + + + @%:@ Check whether --enable-cross-guesses was given. +if test "${enable_cross_guesses+set}" = set; then : + enableval=$enable_cross_guesses; if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-cross-guesses" >&5 +$as_echo "$as_me: WARNING: invalid argument supplied to --enable-cross-guesses" >&2;} + enableval=conservative + fi + gl_cross_guesses="$enableval" +else + gl_cross_guesses=conservative +fi + + if test $gl_cross_guesses = risky; then + gl_cross_guess_normal="guessing yes" + gl_cross_guess_inverted="guessing no" + else + gl_cross_guess_normal="guessing no" + gl_cross_guess_inverted="guessing yes" + fi + LIBC_FATAL_STDERR_=1 + export LIBC_FATAL_STDERR_ + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5 +$as_echo_n "checking for C compiler option to allow warnings... " >&6; } +if ${gl_cv_cc_wallow+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest* + echo 'int dummy;' > conftest.c + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cc_wallow='-Wno-error' + else + gl_cv_cc_wallow=none + fi + rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5 +$as_echo "$gl_cv_cc_wallow" >&6; } + case "$gl_cv_cc_wallow" in + none) GL_CFLAG_ALLOW_WARNINGS='' ;; + *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; + esac + + + + if test -n "$CXX" && test "$CXX" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler option to allow warnings" >&5 +$as_echo_n "checking for C++ compiler option to allow warnings... " >&6; } +if ${gl_cv_cxx_wallow+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest* + echo 'int dummy;' > conftest.cc + { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cxx_wallow='-Wno-error' + else + gl_cv_cxx_wallow=none + fi + rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5 +$as_echo "$gl_cv_cxx_wallow" >&6; } + case "$gl_cv_cxx_wallow" in + none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; + *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; + esac + else + GL_CXXFLAG_ALLOW_WARNINGS='' + fi + + + + + GL_CFLAG_GNULIB_WARNINGS='' + if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then + cat > conftest.c <<\EOF + #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-cast-qual + -Wno-conversion + -Wno-float-equal + -Wno-sign-compare + -Wno-undef + -Wno-unused-function + -Wno-unused-parameter + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-float-conversion + #endif + #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wimplicit-fallthrough + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-pedantic + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-sign-conversion + -Wno-type-limits + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 + -Wno-unsuffixed-float-constants + #endif +EOF + gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5 + (eval $gl_command) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + gl_options=`grep -v '#' conftest.out` + for word in $gl_options; do + GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" + done + fi + rm -f conftest.c conftest.out + fi + + + + if true; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' +else + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= +fi + + gl_cond_libtool=true + gl_m4_base='m4' + + + + + + + + + + + + + gl_source_base='lib' + gl_source_base_prefix= + # Autoconf 2.61a.99 and earlier don't support linking a file only + # in VPATH builds. But since GNUmakefile is for maintainer use + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. + GNUmakefile=GNUmakefile + ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" + + + + + # End of code from modules + + + + + + + + + + gltests_libdeps= + gltests_ltlibdeps= + + + + + + + + + + + + + + + gl_source_base='gnulib-tests' + gl_source_base_prefix= + GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS + + gl_module_indicator_condition=$GLtests_WITNESS + + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + + + + + + + + + + + + + + +## ------------- ## +## Documentation ## +## ------------- ## + +HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} + + +## -------- ## +## Outputs. ## +## -------- ## +ac_config_files="$ac_config_files Makefile gnulib-tests/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then + as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then + as_fn_error $? "conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +LT_CONFIG_H=config.h +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then + as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +CONFIG_INCLUDE=config.h + + + GL_libobjs= + GL_ltlibobjs= + GL_libobjdeps= + if test -n "$GL_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' + for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GL_libobjs="$GL_libobjs $i.$ac_objext" + GL_ltlibobjs="$GL_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + GL_LIBOBJS=$GL_libobjs + + GL_LTLIBOBJS=$GL_ltlibobjs + + GL_LIBOBJDEPS=$GL_libobjdeps + + + + GLtests_libobjs= + GLtests_ltlibobjs= + GLtests_libobjdeps= + if test -n "$GLtests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' + for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" + GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + GLtests_LIBOBJS=$GLtests_libobjs + + GLtests_LTLIBOBJS=$GLtests_ltlibobjs + + GLtests_LIBOBJDEPS=$GLtests_libobjdeps + + + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in @%:@( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit + +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GNU Libtool $as_me 2.4.7, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_links="$ac_config_links" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration links: +$config_links + +Configuration commands: +$config_commands + +Report bugs to . +GNU Libtool home page: . +General help using GNU software: ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +GNU Libtool config.status 2.4.7 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# + +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +LD_F77='`$ECHO "$LD_F77" | $SED "$delay_single_quote_subst"`' +LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`' +LD_GO='`$ECHO "$LD_GO" | $SED "$delay_single_quote_subst"`' +LD_GCJ='`$ECHO "$LD_GCJ" | $SED "$delay_single_quote_subst"`' +LD_RC='`$ECHO "$LD_RC" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_F77='`$ECHO "$reload_flag_F77" | $SED "$delay_single_quote_subst"`' +reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`' +reload_flag_GO='`$ECHO "$reload_flag_GO" | $SED "$delay_single_quote_subst"`' +reload_flag_GCJ='`$ECHO "$reload_flag_GCJ" | $SED "$delay_single_quote_subst"`' +reload_flag_RC='`$ECHO "$reload_flag_RC" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_F77='`$ECHO "$reload_cmds_F77" | $SED "$delay_single_quote_subst"`' +reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`' +reload_cmds_GO='`$ECHO "$reload_cmds_GO" | $SED "$delay_single_quote_subst"`' +reload_cmds_GCJ='`$ECHO "$reload_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +reload_cmds_RC='`$ECHO "$reload_cmds_RC" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_F77='`$ECHO "$old_archive_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_GO='`$ECHO "$old_archive_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_GCJ='`$ECHO "$old_archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_RC='`$ECHO "$old_archive_cmds_RC" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +compiler_F77='`$ECHO "$compiler_F77" | $SED "$delay_single_quote_subst"`' +compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`' +compiler_GO='`$ECHO "$compiler_GO" | $SED "$delay_single_quote_subst"`' +compiler_GCJ='`$ECHO "$compiler_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_RC='`$ECHO "$compiler_RC" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +GCC_F77='`$ECHO "$GCC_F77" | $SED "$delay_single_quote_subst"`' +GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`' +GCC_GO='`$ECHO "$GCC_GO" | $SED "$delay_single_quote_subst"`' +GCC_GCJ='`$ECHO "$GCC_GCJ" | $SED "$delay_single_quote_subst"`' +GCC_RC='`$ECHO "$GCC_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_F77='`$ECHO "$lt_prog_compiler_no_builtin_flag_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_GO='`$ECHO "$lt_prog_compiler_no_builtin_flag_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "$lt_prog_compiler_no_builtin_flag_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_RC='`$ECHO "$lt_prog_compiler_no_builtin_flag_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_F77='`$ECHO "$lt_prog_compiler_pic_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_GO='`$ECHO "$lt_prog_compiler_pic_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_GCJ='`$ECHO "$lt_prog_compiler_pic_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_RC='`$ECHO "$lt_prog_compiler_pic_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_F77='`$ECHO "$lt_prog_compiler_wl_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_GO='`$ECHO "$lt_prog_compiler_wl_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_GCJ='`$ECHO "$lt_prog_compiler_wl_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_RC='`$ECHO "$lt_prog_compiler_wl_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_F77='`$ECHO "$lt_prog_compiler_static_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_GO='`$ECHO "$lt_prog_compiler_static_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_GCJ='`$ECHO "$lt_prog_compiler_static_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_RC='`$ECHO "$lt_prog_compiler_static_RC" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_F77='`$ECHO "$lt_cv_prog_compiler_c_o_F77" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_GO='`$ECHO "$lt_cv_prog_compiler_c_o_GO" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_GCJ='`$ECHO "$lt_cv_prog_compiler_c_o_GCJ" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_RC='`$ECHO "$lt_cv_prog_compiler_c_o_RC" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_F77='`$ECHO "$archive_cmds_need_lc_F77" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_GO='`$ECHO "$archive_cmds_need_lc_GO" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_GCJ='`$ECHO "$archive_cmds_need_lc_GCJ" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_RC='`$ECHO "$archive_cmds_need_lc_RC" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_F77='`$ECHO "$enable_shared_with_static_runtimes_F77" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_GO='`$ECHO "$enable_shared_with_static_runtimes_GO" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_GCJ='`$ECHO "$enable_shared_with_static_runtimes_GCJ" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_RC='`$ECHO "$enable_shared_with_static_runtimes_RC" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_F77='`$ECHO "$export_dynamic_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_GO='`$ECHO "$export_dynamic_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_GCJ='`$ECHO "$export_dynamic_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_RC='`$ECHO "$export_dynamic_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_F77='`$ECHO "$whole_archive_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_GO='`$ECHO "$whole_archive_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_GCJ='`$ECHO "$whole_archive_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_RC='`$ECHO "$whole_archive_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_F77='`$ECHO "$compiler_needs_object_F77" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_GO='`$ECHO "$compiler_needs_object_GO" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_GCJ='`$ECHO "$compiler_needs_object_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_RC='`$ECHO "$compiler_needs_object_RC" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_F77='`$ECHO "$old_archive_from_new_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_GO='`$ECHO "$old_archive_from_new_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_GCJ='`$ECHO "$old_archive_from_new_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_RC='`$ECHO "$old_archive_from_new_cmds_RC" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_F77='`$ECHO "$old_archive_from_expsyms_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_GO='`$ECHO "$old_archive_from_expsyms_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_GCJ='`$ECHO "$old_archive_from_expsyms_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_RC='`$ECHO "$old_archive_from_expsyms_cmds_RC" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_F77='`$ECHO "$archive_cmds_F77" | $SED "$delay_single_quote_subst"`' +archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`' +archive_cmds_GO='`$ECHO "$archive_cmds_GO" | $SED "$delay_single_quote_subst"`' +archive_cmds_GCJ='`$ECHO "$archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +archive_cmds_RC='`$ECHO "$archive_cmds_RC" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_F77='`$ECHO "$archive_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_GO='`$ECHO "$archive_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_GCJ='`$ECHO "$archive_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_RC='`$ECHO "$archive_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_F77='`$ECHO "$module_cmds_F77" | $SED "$delay_single_quote_subst"`' +module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`' +module_cmds_GO='`$ECHO "$module_cmds_GO" | $SED "$delay_single_quote_subst"`' +module_cmds_GCJ='`$ECHO "$module_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +module_cmds_RC='`$ECHO "$module_cmds_RC" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_F77='`$ECHO "$module_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_GO='`$ECHO "$module_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_GCJ='`$ECHO "$module_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_RC='`$ECHO "$module_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_F77='`$ECHO "$with_gnu_ld_F77" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_GO='`$ECHO "$with_gnu_ld_GO" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_GCJ='`$ECHO "$with_gnu_ld_GCJ" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_RC='`$ECHO "$with_gnu_ld_RC" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_F77='`$ECHO "$allow_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_GO='`$ECHO "$allow_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_GCJ='`$ECHO "$allow_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_RC='`$ECHO "$allow_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_F77='`$ECHO "$no_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_GO='`$ECHO "$no_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_GCJ='`$ECHO "$no_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_RC='`$ECHO "$no_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_F77='`$ECHO "$hardcode_libdir_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_GO='`$ECHO "$hardcode_libdir_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_GCJ='`$ECHO "$hardcode_libdir_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_RC='`$ECHO "$hardcode_libdir_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_F77='`$ECHO "$hardcode_libdir_separator_F77" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_GO='`$ECHO "$hardcode_libdir_separator_GO" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_GCJ='`$ECHO "$hardcode_libdir_separator_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_RC='`$ECHO "$hardcode_libdir_separator_RC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_F77='`$ECHO "$hardcode_direct_F77" | $SED "$delay_single_quote_subst"`' +hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_GO='`$ECHO "$hardcode_direct_GO" | $SED "$delay_single_quote_subst"`' +hardcode_direct_GCJ='`$ECHO "$hardcode_direct_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_direct_RC='`$ECHO "$hardcode_direct_RC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_F77='`$ECHO "$hardcode_direct_absolute_F77" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_GO='`$ECHO "$hardcode_direct_absolute_GO" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_GCJ='`$ECHO "$hardcode_direct_absolute_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_RC='`$ECHO "$hardcode_direct_absolute_RC" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_F77='`$ECHO "$hardcode_minus_L_F77" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_GO='`$ECHO "$hardcode_minus_L_GO" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_GCJ='`$ECHO "$hardcode_minus_L_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_RC='`$ECHO "$hardcode_minus_L_RC" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_F77='`$ECHO "$hardcode_shlibpath_var_F77" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_GO='`$ECHO "$hardcode_shlibpath_var_GO" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_GCJ='`$ECHO "$hardcode_shlibpath_var_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_RC='`$ECHO "$hardcode_shlibpath_var_RC" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_F77='`$ECHO "$hardcode_automatic_F77" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_GO='`$ECHO "$hardcode_automatic_GO" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_GCJ='`$ECHO "$hardcode_automatic_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_RC='`$ECHO "$hardcode_automatic_RC" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_F77='`$ECHO "$inherit_rpath_F77" | $SED "$delay_single_quote_subst"`' +inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`' +inherit_rpath_GO='`$ECHO "$inherit_rpath_GO" | $SED "$delay_single_quote_subst"`' +inherit_rpath_GCJ='`$ECHO "$inherit_rpath_GCJ" | $SED "$delay_single_quote_subst"`' +inherit_rpath_RC='`$ECHO "$inherit_rpath_RC" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_F77='`$ECHO "$link_all_deplibs_F77" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_GO='`$ECHO "$link_all_deplibs_GO" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_GCJ='`$ECHO "$link_all_deplibs_GCJ" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_RC='`$ECHO "$link_all_deplibs_RC" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_F77='`$ECHO "$always_export_symbols_F77" | $SED "$delay_single_quote_subst"`' +always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`' +always_export_symbols_GO='`$ECHO "$always_export_symbols_GO" | $SED "$delay_single_quote_subst"`' +always_export_symbols_GCJ='`$ECHO "$always_export_symbols_GCJ" | $SED "$delay_single_quote_subst"`' +always_export_symbols_RC='`$ECHO "$always_export_symbols_RC" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_F77='`$ECHO "$export_symbols_cmds_F77" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_GO='`$ECHO "$export_symbols_cmds_GO" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_GCJ='`$ECHO "$export_symbols_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_RC='`$ECHO "$export_symbols_cmds_RC" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_F77='`$ECHO "$exclude_expsyms_F77" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_GO='`$ECHO "$exclude_expsyms_GO" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_GCJ='`$ECHO "$exclude_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_RC='`$ECHO "$exclude_expsyms_RC" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_F77='`$ECHO "$include_expsyms_F77" | $SED "$delay_single_quote_subst"`' +include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`' +include_expsyms_GO='`$ECHO "$include_expsyms_GO" | $SED "$delay_single_quote_subst"`' +include_expsyms_GCJ='`$ECHO "$include_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' +include_expsyms_RC='`$ECHO "$include_expsyms_RC" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_F77='`$ECHO "$prelink_cmds_F77" | $SED "$delay_single_quote_subst"`' +prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`' +prelink_cmds_GO='`$ECHO "$prelink_cmds_GO" | $SED "$delay_single_quote_subst"`' +prelink_cmds_GCJ='`$ECHO "$prelink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +prelink_cmds_RC='`$ECHO "$prelink_cmds_RC" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_F77='`$ECHO "$postlink_cmds_F77" | $SED "$delay_single_quote_subst"`' +postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`' +postlink_cmds_GO='`$ECHO "$postlink_cmds_GO" | $SED "$delay_single_quote_subst"`' +postlink_cmds_GCJ='`$ECHO "$postlink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +postlink_cmds_RC='`$ECHO "$postlink_cmds_RC" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_F77='`$ECHO "$file_list_spec_F77" | $SED "$delay_single_quote_subst"`' +file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`' +file_list_spec_GO='`$ECHO "$file_list_spec_GO" | $SED "$delay_single_quote_subst"`' +file_list_spec_GCJ='`$ECHO "$file_list_spec_GCJ" | $SED "$delay_single_quote_subst"`' +file_list_spec_RC='`$ECHO "$file_list_spec_RC" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_F77='`$ECHO "$hardcode_action_F77" | $SED "$delay_single_quote_subst"`' +hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`' +hardcode_action_GO='`$ECHO "$hardcode_action_GO" | $SED "$delay_single_quote_subst"`' +hardcode_action_GCJ='`$ECHO "$hardcode_action_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_action_RC='`$ECHO "$hardcode_action_RC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_F77='`$ECHO "$compiler_lib_search_dirs_F77" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_GO='`$ECHO "$compiler_lib_search_dirs_GO" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_GCJ='`$ECHO "$compiler_lib_search_dirs_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_RC='`$ECHO "$compiler_lib_search_dirs_RC" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_F77='`$ECHO "$predep_objects_F77" | $SED "$delay_single_quote_subst"`' +predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`' +predep_objects_GO='`$ECHO "$predep_objects_GO" | $SED "$delay_single_quote_subst"`' +predep_objects_GCJ='`$ECHO "$predep_objects_GCJ" | $SED "$delay_single_quote_subst"`' +predep_objects_RC='`$ECHO "$predep_objects_RC" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_F77='`$ECHO "$postdep_objects_F77" | $SED "$delay_single_quote_subst"`' +postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`' +postdep_objects_GO='`$ECHO "$postdep_objects_GO" | $SED "$delay_single_quote_subst"`' +postdep_objects_GCJ='`$ECHO "$postdep_objects_GCJ" | $SED "$delay_single_quote_subst"`' +postdep_objects_RC='`$ECHO "$postdep_objects_RC" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +predeps_F77='`$ECHO "$predeps_F77" | $SED "$delay_single_quote_subst"`' +predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`' +predeps_GO='`$ECHO "$predeps_GO" | $SED "$delay_single_quote_subst"`' +predeps_GCJ='`$ECHO "$predeps_GCJ" | $SED "$delay_single_quote_subst"`' +predeps_RC='`$ECHO "$predeps_RC" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_F77='`$ECHO "$postdeps_F77" | $SED "$delay_single_quote_subst"`' +postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`' +postdeps_GO='`$ECHO "$postdeps_GO" | $SED "$delay_single_quote_subst"`' +postdeps_GCJ='`$ECHO "$postdeps_GCJ" | $SED "$delay_single_quote_subst"`' +postdeps_RC='`$ECHO "$postdeps_RC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_F77='`$ECHO "$compiler_lib_search_path_F77" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_GO='`$ECHO "$compiler_lib_search_path_GO" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_GCJ='`$ECHO "$compiler_lib_search_path_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_RC='`$ECHO "$compiler_lib_search_path_RC" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in AS \ +DLLTOOL \ +OBJDUMP \ +SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +FILECMD \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +sharedlib_from_linklib_cmd \ +AR \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +LD_F77 \ +LD_FC \ +LD_GO \ +LD_GCJ \ +LD_RC \ +reload_flag_CXX \ +reload_flag_F77 \ +reload_flag_FC \ +reload_flag_GO \ +reload_flag_GCJ \ +reload_flag_RC \ +compiler_CXX \ +compiler_F77 \ +compiler_FC \ +compiler_GO \ +compiler_GCJ \ +compiler_RC \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_no_builtin_flag_F77 \ +lt_prog_compiler_no_builtin_flag_FC \ +lt_prog_compiler_no_builtin_flag_GO \ +lt_prog_compiler_no_builtin_flag_GCJ \ +lt_prog_compiler_no_builtin_flag_RC \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_pic_F77 \ +lt_prog_compiler_pic_FC \ +lt_prog_compiler_pic_GO \ +lt_prog_compiler_pic_GCJ \ +lt_prog_compiler_pic_RC \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_wl_F77 \ +lt_prog_compiler_wl_FC \ +lt_prog_compiler_wl_GO \ +lt_prog_compiler_wl_GCJ \ +lt_prog_compiler_wl_RC \ +lt_prog_compiler_static_CXX \ +lt_prog_compiler_static_F77 \ +lt_prog_compiler_static_FC \ +lt_prog_compiler_static_GO \ +lt_prog_compiler_static_GCJ \ +lt_prog_compiler_static_RC \ +lt_cv_prog_compiler_c_o_CXX \ +lt_cv_prog_compiler_c_o_F77 \ +lt_cv_prog_compiler_c_o_FC \ +lt_cv_prog_compiler_c_o_GO \ +lt_cv_prog_compiler_c_o_GCJ \ +lt_cv_prog_compiler_c_o_RC \ +export_dynamic_flag_spec_CXX \ +export_dynamic_flag_spec_F77 \ +export_dynamic_flag_spec_FC \ +export_dynamic_flag_spec_GO \ +export_dynamic_flag_spec_GCJ \ +export_dynamic_flag_spec_RC \ +whole_archive_flag_spec_CXX \ +whole_archive_flag_spec_F77 \ +whole_archive_flag_spec_FC \ +whole_archive_flag_spec_GO \ +whole_archive_flag_spec_GCJ \ +whole_archive_flag_spec_RC \ +compiler_needs_object_CXX \ +compiler_needs_object_F77 \ +compiler_needs_object_FC \ +compiler_needs_object_GO \ +compiler_needs_object_GCJ \ +compiler_needs_object_RC \ +with_gnu_ld_CXX \ +with_gnu_ld_F77 \ +with_gnu_ld_FC \ +with_gnu_ld_GO \ +with_gnu_ld_GCJ \ +with_gnu_ld_RC \ +allow_undefined_flag_CXX \ +allow_undefined_flag_F77 \ +allow_undefined_flag_FC \ +allow_undefined_flag_GO \ +allow_undefined_flag_GCJ \ +allow_undefined_flag_RC \ +no_undefined_flag_CXX \ +no_undefined_flag_F77 \ +no_undefined_flag_FC \ +no_undefined_flag_GO \ +no_undefined_flag_GCJ \ +no_undefined_flag_RC \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_flag_spec_F77 \ +hardcode_libdir_flag_spec_FC \ +hardcode_libdir_flag_spec_GO \ +hardcode_libdir_flag_spec_GCJ \ +hardcode_libdir_flag_spec_RC \ +hardcode_libdir_separator_CXX \ +hardcode_libdir_separator_F77 \ +hardcode_libdir_separator_FC \ +hardcode_libdir_separator_GO \ +hardcode_libdir_separator_GCJ \ +hardcode_libdir_separator_RC \ +exclude_expsyms_CXX \ +exclude_expsyms_F77 \ +exclude_expsyms_FC \ +exclude_expsyms_GO \ +exclude_expsyms_GCJ \ +exclude_expsyms_RC \ +include_expsyms_CXX \ +include_expsyms_F77 \ +include_expsyms_FC \ +include_expsyms_GO \ +include_expsyms_GCJ \ +include_expsyms_RC \ +file_list_spec_CXX \ +file_list_spec_F77 \ +file_list_spec_FC \ +file_list_spec_GO \ +file_list_spec_GCJ \ +file_list_spec_RC \ +compiler_lib_search_dirs_CXX \ +compiler_lib_search_dirs_F77 \ +compiler_lib_search_dirs_FC \ +compiler_lib_search_dirs_GO \ +compiler_lib_search_dirs_GCJ \ +compiler_lib_search_dirs_RC \ +predep_objects_CXX \ +predep_objects_F77 \ +predep_objects_FC \ +predep_objects_GO \ +predep_objects_GCJ \ +predep_objects_RC \ +postdep_objects_CXX \ +postdep_objects_F77 \ +postdep_objects_FC \ +postdep_objects_GO \ +postdep_objects_GCJ \ +postdep_objects_RC \ +predeps_CXX \ +predeps_F77 \ +predeps_FC \ +predeps_GO \ +predeps_GCJ \ +predeps_RC \ +postdeps_CXX \ +postdeps_F77 \ +postdeps_FC \ +postdeps_GO \ +postdeps_GCJ \ +postdeps_RC \ +compiler_lib_search_path_CXX \ +compiler_lib_search_path_F77 \ +compiler_lib_search_path_FC \ +compiler_lib_search_path_GO \ +compiler_lib_search_path_GCJ \ +compiler_lib_search_path_RC; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +reload_cmds_F77 \ +reload_cmds_FC \ +reload_cmds_GO \ +reload_cmds_GCJ \ +reload_cmds_RC \ +old_archive_cmds_CXX \ +old_archive_cmds_F77 \ +old_archive_cmds_FC \ +old_archive_cmds_GO \ +old_archive_cmds_GCJ \ +old_archive_cmds_RC \ +old_archive_from_new_cmds_CXX \ +old_archive_from_new_cmds_F77 \ +old_archive_from_new_cmds_FC \ +old_archive_from_new_cmds_GO \ +old_archive_from_new_cmds_GCJ \ +old_archive_from_new_cmds_RC \ +old_archive_from_expsyms_cmds_CXX \ +old_archive_from_expsyms_cmds_F77 \ +old_archive_from_expsyms_cmds_FC \ +old_archive_from_expsyms_cmds_GO \ +old_archive_from_expsyms_cmds_GCJ \ +old_archive_from_expsyms_cmds_RC \ +archive_cmds_CXX \ +archive_cmds_F77 \ +archive_cmds_FC \ +archive_cmds_GO \ +archive_cmds_GCJ \ +archive_cmds_RC \ +archive_expsym_cmds_CXX \ +archive_expsym_cmds_F77 \ +archive_expsym_cmds_FC \ +archive_expsym_cmds_GO \ +archive_expsym_cmds_GCJ \ +archive_expsym_cmds_RC \ +module_cmds_CXX \ +module_cmds_F77 \ +module_cmds_FC \ +module_cmds_GO \ +module_cmds_GCJ \ +module_cmds_RC \ +module_expsym_cmds_CXX \ +module_expsym_cmds_F77 \ +module_expsym_cmds_FC \ +module_expsym_cmds_GO \ +module_expsym_cmds_GCJ \ +module_expsym_cmds_RC \ +export_symbols_cmds_CXX \ +export_symbols_cmds_F77 \ +export_symbols_cmds_FC \ +export_symbols_cmds_GO \ +export_symbols_cmds_GCJ \ +export_symbols_cmds_RC \ +prelink_cmds_CXX \ +prelink_cmds_F77 \ +prelink_cmds_FC \ +prelink_cmds_GO \ +prelink_cmds_GCJ \ +prelink_cmds_RC \ +postlink_cmds_CXX \ +postlink_cmds_F77 \ +postlink_cmds_FC \ +postlink_cmds_GO \ +postlink_cmds_GCJ \ +postlink_cmds_RC; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + + + + + + + + + + + + +GNUmakefile=$GNUmakefile + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; + "tests/atconfig") CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + :L) + # + # CONFIG_LINK + # + + if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then + : + else + # Prefer the file from the source tree if names are identical. + if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then + ac_source=$srcdir/$ac_source + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 +$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} + + if test ! -r "$ac_source"; then + as_fn_error $? "$ac_source: file not found" "$LINENO" 5 + fi + rm -f "$ac_file" + + # Try a relative symlink, then a hard link, then a copy. + case $ac_source in + [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; + *) ac_rel_source=$ac_top_build_prefix$ac_source ;; + esac + ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || + ln "$ac_source" "$ac_file" 2>/dev/null || + cp -p "$ac_source" "$ac_file" || + as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 + fi + ;; + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "tests/atconfig":C) cat >tests/atconfig </dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX F77 FC GO GCJ RC ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Assembler program. +AS=$lt_AS + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Object dumper program. +OBJDUMP=$lt_OBJDUMP + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: F77 + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_F77 +reload_cmds=$lt_reload_cmds_F77 + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_F77 + +# A language specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU compiler? +with_gcc=$GCC_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_F77 + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_F77 + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_F77 + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_F77 + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_F77 + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_F77 + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_F77 + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77 + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_F77 +postdep_objects=$lt_postdep_objects_F77 +predeps=$lt_predeps_F77 +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# ### END LIBTOOL TAG CONFIG: F77 +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: FC + +# The linker used to build libraries. +LD=$lt_LD_FC + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_FC +reload_cmds=$lt_reload_cmds_FC + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_FC + +# A language specific compiler. +CC=$lt_compiler_FC + +# Is the compiler the GNU compiler? +with_gcc=$GCC_FC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_FC + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_FC + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_FC + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_FC + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_FC + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_FC +archive_expsym_cmds=$lt_archive_expsym_cmds_FC + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_FC +module_expsym_cmds=$lt_module_expsym_cmds_FC + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_FC + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_FC + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_FC + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_FC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_FC + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_FC + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_FC + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_FC + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_FC + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_FC + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_FC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_FC + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_FC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_FC + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_FC + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_FC + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_FC + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_FC + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_FC +postdep_objects=$lt_postdep_objects_FC +predeps=$lt_predeps_FC +postdeps=$lt_postdeps_FC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_FC + +# ### END LIBTOOL TAG CONFIG: FC +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: GO + +# The linker used to build libraries. +LD=$lt_LD_GO + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_GO +reload_cmds=$lt_reload_cmds_GO + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_GO + +# A language specific compiler. +CC=$lt_compiler_GO + +# Is the compiler the GNU compiler? +with_gcc=$GCC_GO + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GO + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GO + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GO + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GO + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GO + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GO + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GO + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GO + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GO + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_GO + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GO + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GO + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_GO +archive_expsym_cmds=$lt_archive_expsym_cmds_GO + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_GO +module_expsym_cmds=$lt_module_expsym_cmds_GO + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_GO + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GO + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GO + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GO + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GO + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_GO + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_GO + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_GO + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GO + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_GO + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_GO + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GO + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_GO + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GO + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GO + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GO + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_GO + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_GO + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_GO + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GO + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GO + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_GO +postdep_objects=$lt_postdep_objects_GO +predeps=$lt_predeps_GO +postdeps=$lt_postdeps_GO + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GO + +# ### END LIBTOOL TAG CONFIG: GO +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: GCJ + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_GCJ +reload_cmds=$lt_reload_cmds_GCJ + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_GCJ + +# A language specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU compiler? +with_gcc=$GCC_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_GCJ + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_GCJ + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_GCJ + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_GCJ + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_GCJ + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_GCJ + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_GCJ + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_GCJ +postdep_objects=$lt_postdep_objects_GCJ +predeps=$lt_predeps_GCJ +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# ### END LIBTOOL TAG CONFIG: GCJ +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: RC + +# The linker used to build libraries. +LD=$lt_LD_RC + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_RC +reload_cmds=$lt_reload_cmds_RC + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_RC + +# A language specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU compiler? +with_gcc=$GCC_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_RC + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_RC + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_RC + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_RC + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_RC + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_RC + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_RC + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_RC + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_RC +postdep_objects=$lt_postdep_objects_RC +predeps=$lt_predeps_RC +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# ### END LIBTOOL TAG CONFIG: RC +_LT_EOF + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/BUILD/libtool-2.4.7/autom4te.cache/output.1 b/BUILD/libtool-2.4.7/autom4te.cache/output.1 new file mode 100644 index 0000000..29075a6 --- /dev/null +++ b/BUILD/libtool-2.4.7/autom4te.cache/output.1 @@ -0,0 +1,33382 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.69 for GNU Libtool 2.4.7. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ +@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +@%:@ +@%:@ +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in @%:@( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in @%:@( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: bug-libtool@gnu.org about your system, including any +$0: error possibly output before this message. Then install +$0: a modern shell, or manually run the script under such a +$0: shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +lt_ltdl_dir='libltdl' + +SHELL=${CONFIG_SHELL-/bin/sh} + +lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/ + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='GNU Libtool' +PACKAGE_TARNAME='libtool' +PACKAGE_VERSION='2.4.7' +PACKAGE_STRING='GNU Libtool 2.4.7' +PACKAGE_BUGREPORT='bug-libtool@gnu.org' +PACKAGE_URL='http://www.gnu.org/software/libtool/' + +ac_unique_file="libtoolize.in" +ac_config_libobj_dir=libltdl +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='GLtests_LIBOBJDEPS +GLtests_LTLIBOBJS +GLtests_LIBOBJS +GL_LIBOBJDEPS +GL_LTLIBOBJS +GL_LIBOBJS +CONFIG_INCLUDE +am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +HELP2MAN +GL_CFLAG_GNULIB_WARNINGS +abs_aux_dir +GLtests_WITNESS +GL_CXXFLAG_ALLOW_WARNINGS +GL_CFLAG_ALLOW_WARNINGS +GL_COND_LIBTOOL_FALSE +GL_COND_LIBTOOL_TRUE +with_aix_soname +to_tool_file_cmd +to_host_file_cmd +RC +GCJFLAGS +GCJ +GOC +ac_ct_FC +FCFLAGS +FC +ac_ct_F77 +FFLAGS +F77 +CXXCPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +ac_ct_CXX +CXXFLAGS +CXX +LTDLOPEN +LT_CONFIG_H +CONVENIENCE_LTDL_FALSE +CONVENIENCE_LTDL_TRUE +INSTALL_LTDL_FALSE +INSTALL_LTDL_TRUE +LT_ARGZ_H +LIB@&t@OBJS +sys_symbol_underscore +LIBADD_DL +LT_DLPREOPEN +LIBADD_DLD_LINK +LIBADD_SHL_LOAD +LIBADD_DLOPEN +LT_DLLOADERS +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +ac_ct_AR +FILECMD +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +SED +LIBTOOL +OBJDUMP +DLLTOOL +AS +RANLIB +ARFLAGS +AR +EGREP +GREP +CPP +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +pkgaux_scripts +pkgdatadir +aclocaldir +CONFIG_STATUS_DEPENDENCIES +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +M4_DEBUGFILE +M4_GNU +M4 +AUTOTEST +AUTOM4TE +package_revision +macro_dir +aux_dir +ltdl_dir +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_ltdl_install +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_cross_guesses +' + ac_precious_vars='build_alias +host_alias +target_alias +M4 +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +LT_SYS_LIBRARY_PATH +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS +FC +FCFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GNU Libtool 2.4.7 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + @<:@@S|@ac_default_prefix@:>@ + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + @<:@PREFIX@:>@ + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/libtool@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GNU Libtool 2.4.7:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --disable-ltdl-install do not install libltdl + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-ltdl-install install libltdl + --enable-cross-guesses={conservative|risky} + specify policy for cross-compilation guesses + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, @<:@default=aix@:>@. + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + +Some influential environment variables: + M4 Location of GNU M4 1.4.6 or later. Defaults to the first program + of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs. + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + FC Fortran compiler command + FCFLAGS Fortran compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +GNU Libtool home page: . +General help using GNU software: . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GNU Libtool configure 2.4.7 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +@%:@ ac_fn_c_try_compile LINENO +@%:@ -------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_compile + +@%:@ ac_fn_c_try_cpp LINENO +@%:@ ---------------------- +@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_cpp + +@%:@ ac_fn_c_try_link LINENO +@%:@ ----------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_link + +@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +@%:@ ------------------------------------------------------- +@%:@ Tests whether HEADER exists and can be compiled using the include files in +@%:@ INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +@%:@include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_header_compile + +@%:@ ac_fn_c_try_run LINENO +@%:@ ---------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes +@%:@ that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_run + +@%:@ ac_fn_c_check_func LINENO FUNC VAR +@%:@ ---------------------------------- +@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_func + +@%:@ ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +@%:@ --------------------------------------------- +@%:@ Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +@%:@ accordingly. +ac_fn_c_check_decl () +{ + ac_save_ac_compile="$ac_compile" + if test -n "$ac_compile_for_check_decl"; then + ac_compile="$ac_compile_for_check_decl" + fi + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +@%:@ifndef $as_decl_name +@%:@ifdef __cplusplus + (void) $as_decl_use; +@%:@else + (void) $as_decl_name; +@%:@endif +@%:@endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + ac_compile="$ac_save_ac_compile" + +} @%:@ ac_fn_c_check_decl + +@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES +@%:@ ------------------------------------------- +@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache +@%:@ variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_type + +@%:@ ac_fn_cxx_try_compile LINENO +@%:@ ---------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_compile + +@%:@ ac_fn_cxx_try_cpp LINENO +@%:@ ------------------------ +@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_cpp + +@%:@ ac_fn_cxx_try_link LINENO +@%:@ ------------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_link + +@%:@ ac_fn_f77_try_compile LINENO +@%:@ ---------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_f77_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_f77_try_compile + +@%:@ ac_fn_f77_try_link LINENO +@%:@ ------------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_f77_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_f77_try_link + +@%:@ ac_fn_fc_try_compile LINENO +@%:@ --------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_fc_try_compile + +@%:@ ac_fn_fc_try_link LINENO +@%:@ ------------------------ +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_fc_try_link +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GNU Libtool $as_me 2.4.7, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in @%:@(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + +# Remove this when a released Autoconf is capable of bootstrapping +# Libtool without it (probably after autoconf-2.70). + + +# Since we already declare these directories in this file, save those +# choices, and push the results into Makefile.am to avoid declaring +# them in two places making renames error prone, and where copies +# might get out of sync. + + + + +ac_config_headers="$ac_config_headers config.h:config-h.in" + + + + + + + + +ltdl_dir=libltdl + +ac_aux_dir= +for ac_dir in build-aux "$srcdir"/build-aux; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + +aux_dir=build-aux + +macro_dir=m4 + + + +package_revision=`$SHELL $ac_aux_dir/git-version-gen .tarball-version` + + +## ------------------------ ## +## Autotest initialisation. ## +## ------------------------ ## + +ac_config_commands="$ac_config_commands tests/atconfig" + +AUTOM4TE=${AUTOM4TE=autom4te} + +AUTOTEST='$(AUTOM4TE) --language=autotest' + + + +## ---------------------------------------- ## +## Display a configure time version banner. ## +## ---------------------------------------- ## + +# This is a sanity check so we can see what version is used in bug reports. +$as_echo "## ------------------------- ## +## Configuring libtool 2.4.7 ## +## ------------------------- ##" +echo + + +## ------------ ## +## Shell tools. ## +## ------------ ## + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU M4 that supports accurate traces" >&5 +$as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; } +if ${ac_cv_path_M4+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest.m4f +ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} +{ POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} +if test -z "$M4"; then + ac_path_M4_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in m4 gm4 gnum4; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_M4" || continue + # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. + # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. + # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy + # false positive strstr. + ac_snippet=change'quote(<,>)in''dir(,mac,bug)' + ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' + test -z "`$ac_path_M4 -F conftest.m4f &1`" \ + && test -z "`$as_echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \ + && test -f conftest.m4f \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: + rm -f conftest.m4f + $ac_path_M4_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_M4"; then + as_fn_error $? "no acceptable m4 could be found in \$PATH. +GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. +GNU M4 1.4.15 uses a buggy replacement strstr on some systems. +Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug." "$LINENO" 5 + fi +else + ac_cv_path_M4=$M4 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 +$as_echo "$ac_cv_path_M4" >&6; } + M4=$ac_cv_path_M4 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_cv_path_M4 accepts --gnu" >&5 +$as_echo_n "checking whether $ac_cv_path_M4 accepts --gnu... " >&6; } +if ${ac_cv_prog_gnu_m4_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + case `$M4 --help < /dev/null 2>&1` in + *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; + *) ac_cv_prog_gnu_m4_gnu=no ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_gnu" >&5 +$as_echo "$ac_cv_prog_gnu_m4_gnu" >&6; } + if test yes = "$ac_cv_prog_gnu_m4_gnu"; then + M4_GNU=--gnu + else + M4_GNU= + fi + + if test yes = "$ac_had_posixly_correct"; then + POSIXLY_CORRECT=: + if test no = $ac_cv_prog_gnu_m4_gnu; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the version of M4 that was found does not support -g" >&5 +$as_echo "$as_me: WARNING: the version of M4 that was found does not support -g" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&5 +$as_echo "$as_me: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&2;} + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how m4 supports trace files" >&5 +$as_echo_n "checking how m4 supports trace files... " >&6; } +if ${ac_cv_prog_gnu_m4_debugfile+:} false; then : + $as_echo_n "(cached) " >&6 +else + case `$M4 --help < /dev/null 2>&1` in + *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; + *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_debugfile" >&5 +$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; } + M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile + + + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## + +am__api_version='1.16' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in @%:@(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +@%:@ Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='libtool' + VERSION='2.4.7' + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +@%:@ Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + + + +## ------------------------- ## +## Autobuild initialisation. ## +## ------------------------- ## + +# You can set autobuild_mode at configure time to specify a "unique" +# string for this build. +: ${autobuild_mode=default} +AB_VERSION='2.4.7' +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + + + + if test -z "$AB_PACKAGE"; then + AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5 +$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} + + if test -z "$AB_VERSION"; then + AB_VERSION=${PACKAGE_VERSION:-$VERSION} + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5 +$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} + + hostname=`hostname` + if test "$hostname"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5 +$as_echo "$as_me: autobuild hostname... $hostname" >&6;} + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild mode... $autobuild_mode" >&5 +$as_echo "$as_me: autobuild mode... $autobuild_mode" >&6;} + + date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` + if test "$?" != 0; then + date=`date` + fi + if test "$date"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5 +$as_echo "$as_me: autobuild timestamp... $date" >&6;} + fi + + + +CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/.version' + + + +## ------------------------------- ## +## Libtool specific configuration. ## +## ------------------------------- ## + +aclocaldir="\$(datadir)/aclocal" + +pkgdatadir="\$(datadir)/$PACKAGE" + + +@%:@ Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then : + enableval=$enable_ltdl_install; +fi + +if test set != "${enable_ltdl_install+set}"; then + enable_ltdl_install=yes +fi + +# The list of scripts required to build libltdl, and which need to be +# installed by libtoolize --ltdl, and consequently need to be placed in +# $pkgdatadir by our make install rule. +pkgaux_scripts="compile config.guess config.sub depcomp install-sh missing" + + + +## ---------------- ## +## compiler checks. ## +## ---------------- ## + +# Need to be sure that we have a working C compiler, otherwise even with +# a good C compiler: if the following C++ tests fail, the whole libtool +# build fails! +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5 +$as_echo_n "checking whether the compiler is clang... " >&6; } +if ${gl_cv_compiler_clang+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifdef __clang__ + barfbarf + #endif + +int +main () +{ + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_compiler_clang=no +else + gl_cv_compiler_clang=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5 +$as_echo "$gl_cv_compiler_clang" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5 +$as_echo_n "checking for compiler option needed when checking for declarations... " >&6; } +if ${gl_cv_compiler_check_decl_option+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $gl_cv_compiler_clang = yes; then + save_ac_compile="$ac_compile" + ac_compile="$ac_compile -Werror=implicit-function-declaration" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration' +else + gl_cv_compiler_check_decl_option=none +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_compile="$save_ac_compile" + else + gl_cv_compiler_check_decl_option=none + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5 +$as_echo "$gl_cv_compiler_check_decl_option" >&6; } + if test "x$gl_cv_compiler_check_decl_option" != xnone; then + ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" + else + ac_compile_for_check_decl="$ac_compile" + fi + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in @%:@( + '0:this is the am__doit target') : + case $s in @%:@( + BSD) : + am__include='.include' am__quote='"' ;; @%:@( + *) : + am__include='include' am__quote='' ;; +esac ;; @%:@( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } + +@%:@ Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 +$as_echo_n "checking for Minix Amsterdam compiler... " >&6; } +if ${gl_cv_c_amsterdam_compiler+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __ACK__ +Amsterdam +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Amsterdam" >/dev/null 2>&1; then : + gl_cv_c_amsterdam_compiler=yes +else + gl_cv_c_amsterdam_compiler=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 +$as_echo "$gl_cv_c_amsterdam_compiler" >&6; } + + if test $gl_cv_c_amsterdam_compiler = yes; then + if test -z "$AR"; then + AR='cc -c.a' + fi + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + : + fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="ar" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + + if test -z "$ARFLAGS"; then + ARFLAGS='cr' + fi + + + + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + fi + fi + + + + + # Pre-early section. + + + # Code from module all-shells-tests: + # Code from module announce-gen: + # Code from module bootstrap: + # Code from module do-release-commit-and-tag: + # Code from module extract-trace: + # Code from module funclib.sh: + # Code from module funclib.sh-tests: + # Code from module gendocs: + # Code from module git-version-gen: + # Code from module gitlog-to-changelog: + # Code from module gnu-web-doc-update: + # Code from module gnumakefile: + # Code from module gnupload: + # Code from module inline-source: + # Code from module maintainer-makefile: + # Code from module options-parser: + # Code from module options-parser-tests: + # Code from module readme-release: + # Code from module test-framework-sh: + # Code from module test-framework-sh-tests: + # Code from module update-copyright: + # Code from module update-copyright-tests: + # Code from module useless-if-before-free: + # Code from module vc-list-files: + # Code from module vc-list-files-tests: + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.7' +macro_revision='2.4.7' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +@%:@ Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_FILECMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +$as_echo "$FILECMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_FILECMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +$as_echo "$ac_ct_FILECMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + 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]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + 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]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +@%:@ Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +@%:@ Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + + +# Set options +enable_dlopen=yes +enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AS+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AS="${ac_tool_prefix}as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +$as_echo "$AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AS+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AS="as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 +$as_echo "$ac_ct_AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + + ;; +esac + +test -z "$AS" && AS=as + + + + + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + + @%:@ Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + @%:@ Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +@%:@ Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + pic_mode=default +fi + + + + + + + + + @%:@ Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +@%:@ Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +@%:@define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$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)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$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' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$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' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$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' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$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)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="$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" + module_expsym_cmds="$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" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$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' + else + archive_cmds='$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' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$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' + fi + else + archive_cmds='$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' + archive_expsym_cmds='$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' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$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' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$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' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$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' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$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' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen=shl_load +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen=dlopen +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac + fi +fi + + + + + + + + + + + + + # Report what library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 +$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } +if ${libltdl_cv_shlibext+:} false; then : + $as_echo_n "(cached) " >&6 +else + +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_shlibext" >&5 +$as_echo "$libltdl_cv_shlibext" >&6; } +if test -n "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LT_MODULE_EXT "$libltdl_cv_shlibext" +_ACEOF + +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LT_SHARED_EXT "$libltdl_cv_shrext" +_ACEOF + +fi +if test -n "$shared_archive_member_spec"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 +$as_echo_n "checking what variable specifies run-time module search path... " >&6; } +if ${lt_cv_module_path_var+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_module_path_var=$shlibpath_var +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 +$as_echo "$lt_cv_module_path_var" >&6; } +if test -n "$lt_cv_module_path_var"; then + +cat >>confdefs.h <<_ACEOF +@%:@define LT_MODULE_PATH_VAR "$lt_cv_module_path_var" +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the default library search path" >&5 +$as_echo_n "checking for the default library search path... " >&6; } +if ${lt_cv_sys_dlsearch_path+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 +$as_echo "$lt_cv_sys_dlsearch_path" >&6; } +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + +cat >>confdefs.h <<_ACEOF +@%:@define LT_DLSEARCH_PATH "$sys_dlsearch_path" +_ACEOF + +fi + + +LT_DLLOADERS= + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 +$as_echo_n "checking for library containing dlopen... " >&6; } +if ${ac_cv_search_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_dlopen=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_dlopen+:} false; then : + break +fi +done +if ${ac_cv_search_dlopen+:} false; then : + +else + ac_cv_search_dlopen=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 +$as_echo "$ac_cv_search_dlopen" >&6; } +ac_res=$ac_cv_search_dlopen +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h + + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_DLFCN_H +# include +#endif + +int +main () +{ +dlopen(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h + + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + +$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h + + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +fi + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + for ac_func in dlerror +do : + ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" +if test "x$ac_cv_func_dlerror" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_DLERROR 1 +_ACEOF + +fi +done + + LIBS=$lt_save_LIBS +fi + + +LIBADD_SHL_LOAD= +ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + +$as_echo "@%:@define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + +$as_echo "@%:@define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld +fi + +fi + + + +case $host_os in +darwin[1567].*) +# We only want this for pre-Mac OS X 10.4. + ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" +if test "x$ac_cv_func__dyld_func_lookup" = xyes; then : + +$as_echo "@%:@define HAVE_DYLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" +fi + + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include +" +if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +@%:@define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl +_ACEOF + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + +$as_echo "@%:@define HAVE_DLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" +fi + + + + +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + +$as_echo "@%:@define HAVE_LIBDLLOADER 1" >>confdefs.h + +fi + + +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" + + +LIBS=$lt_dlload_save_LIBS +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5 +$as_echo_n "checking for _ prefix in compiled symbols... " >&6; } +if ${lt_cv_sys_symbol_underscore+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&5 + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "configure: failed program was:" >&5 + cat conftest.c >&5 + fi + rm -rf conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5 +$as_echo "$lt_cv_sys_symbol_underscore" >&6; } + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + + +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 +$as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } +if ${libltdl_cv_need_uscore+:} false; then : + $as_echo_n "(cached) " >&6 +else + libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; } +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in @S|@1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 +$as_echo "$libltdl_cv_need_uscore" >&6; } + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + +$as_echo "@%:@define NEED_USCORE 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether deplibs are loaded by dlopen" >&5 +$as_echo_n "checking whether deplibs are loaded by dlopen... " >&6; } +if ${lt_cv_sys_dlopen_deplibs+:} false; then : + $as_echo_n "(cached) " >&6 +else + # PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[4-9]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly* | midnightbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[12345]*|irix6.[01]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[1234]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 +$as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + +$as_echo "@%:@define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h + +fi + + +for ac_header in argz.h +do : + ac_fn_c_check_header_compile "$LINENO" "argz.h" "ac_cv_header_argz_h" "$ac_includes_default +" +if test "x$ac_cv_header_argz_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ARGZ_H 1 +_ACEOF + +fi + +done + + +ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if defined(HAVE_ARGZ_H) +# include +#endif +" +if test "x$ac_cv_type_error_t" = xyes; then : + +cat >>confdefs.h <<_ACEOF +@%:@define HAVE_ERROR_T 1 +_ACEOF + + +else + +$as_echo "@%:@define error_t int" >>confdefs.h + + +$as_echo "@%:@define __error_t_defined 1" >>confdefs.h + +fi + + +LT_ARGZ_H= +for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + LT_ARGZ_H=lt__argz.h; case " $LIB@&t@OBJS " in + *" lt__argz.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS lt__argz.$ac_objext" + ;; +esac + +fi +done + + +if test -z "$LT_ARGZ_H"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 +$as_echo_n "checking if argz actually works... " >&6; } +if ${lt_cv_sys_argz_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 +$as_echo "$lt_cv_sys_argz_works" >&6; } + if test yes = "$lt_cv_sys_argz_works"; then : + +$as_echo "@%:@define HAVE_WORKING_ARGZ 1" >>confdefs.h + +else + LT_ARGZ_H=lt__argz.h + case " $LIB@&t@OBJS " in + *" lt__argz.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS lt__argz.$ac_objext" + ;; +esac + +fi +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libtool supports -dlopen/-dlpreopen" >&5 +$as_echo_n "checking whether libtool supports -dlopen/-dlpreopen... " >&6; } +if ${libltdl_cv_preloaded_symbols+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 +$as_echo "$libltdl_cv_preloaded_symbols" >&6; } +if test yes = "$libltdl_cv_preloaded_symbols"; then + +$as_echo "@%:@define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h + +fi + + + +@%:@ Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then : + enableval=$enable_ltdl_install; +fi + + +case ,$enable_ltdl_install,$enable_ltdl_convenience in + *yes*) ;; + *) enable_ltdl_convenience=yes ;; +esac + + if test no != "${enable_ltdl_install-no}"; then + INSTALL_LTDL_TRUE= + INSTALL_LTDL_FALSE='#' +else + INSTALL_LTDL_TRUE='#' + INSTALL_LTDL_FALSE= +fi + + if test no != "${enable_ltdl_convenience-no}"; then + CONVENIENCE_LTDL_TRUE= + CONVENIENCE_LTDL_FALSE='#' +else + CONVENIENCE_LTDL_TRUE='#' + CONVENIENCE_LTDL_FALSE= +fi + + + + + + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). + + + +for ac_header in unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_func in closedir opendir readdir +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIB@&t@OBJS " in + *" lt__dirent.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS lt__dirent.$ac_objext" + ;; +esac + +fi +done + +for ac_func in strlcat strlcpy +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIB@&t@OBJS " in + *" lt__strl.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS lt__strl.$ac_objext" + ;; +esac + +fi +done + + + +cat >>confdefs.h <<_ACEOF +@%:@define LT_LIBEXT "$libext" +_ACEOF + + +name= +eval "lt_libprefix=\"$libname_spec\"" + +cat >>confdefs.h <<_ACEOF +@%:@define LT_LIBPREFIX "$lt_libprefix" +_ACEOF + + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" + + + +# Enable all the language support we can +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CXX_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + + +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + + +@%:@ Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_CXX='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$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' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $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' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="$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" + module_expsym_cmds_CXX="$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" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$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" + archive_expsym_cmds_CXX="$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" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='$wl-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes = "$GXX"; then + archive_cmds_CXX='$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' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='$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' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$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' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$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' + else + archive_cmds_CXX='$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' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='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' + archive_expsym_cmds_CXX='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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $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' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$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' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$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' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='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' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$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' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$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' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $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~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + archive_cmds_CXX='$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' + ;; + *) + archive_cmds_CXX='$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' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='$wl-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX=$prev$p + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX=$prev$p + else + postdeps_CXX="${postdeps_CXX} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX=$p + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX=$p + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$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' + else + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + ;; + pw32*) + export_symbols_cmds_CXX=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test yes = "$hardcode_automatic_CXX"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_CXX" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 +$as_echo "$F77" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_F77="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 +$as_echo "$ac_ct_F77" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 +$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } +if ${ac_cv_f77_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 +$as_echo "$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 +$as_echo_n "checking whether $F77 accepts -g... " >&6; } +if ${ac_cv_prog_f77_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + FFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO"; then : + ac_cv_prog_f77_g=yes +else + ac_cv_prog_f77_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 +$as_echo "$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + G77=yes +else + G77= +fi +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_direct_absolute_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +inherit_rpath_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +reload_flag_F77=$reload_flag +reload_cmds_F77=$reload_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + compiler_F77=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + GCC=$G77 + if test -n "$compiler"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + GCC_F77=$G77 + LD_F77=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + lt_prog_compiler_pic_F77='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_F77='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_F77='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_F77= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_F77='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_F77='-Xlinker ' + if test -n "$lt_prog_compiler_pic_F77"; then + lt_prog_compiler_pic_F77="-Xcompiler $lt_prog_compiler_pic_F77" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_F77='-Wl,-Wl,,' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_F77='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='--shared' + lt_prog_compiler_static_F77='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_F77='-Wl,-Wl,,' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-qpic' + lt_prog_compiler_static_F77='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_F77='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77@&t@" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_F77=$lt_prog_compiler_pic_F77 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_F77" >&5 +$as_echo "$lt_cv_prog_compiler_pic_F77" >&6; } +lt_prog_compiler_pic_F77=$lt_cv_prog_compiler_pic_F77 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77@&t@" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_F77=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_F77"; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_F77=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_F77=yes + fi + else + lt_cv_prog_compiler_static_works_F77=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_F77"; then + : +else + lt_prog_compiler_static_F77= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_F77" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_F77= + always_export_symbols_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + compiler_needs_object_F77=no + enable_shared_with_static_runtimes_F77=no + export_dynamic_flag_spec_F77= + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_F77=no + hardcode_direct_F77=no + hardcode_direct_absolute_F77=no + hardcode_libdir_flag_spec_F77= + hardcode_libdir_separator_F77= + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + inherit_rpath_F77=no + link_all_deplibs_F77=unknown + module_cmds_F77= + module_expsym_cmds_F77= + old_archive_from_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + thread_safe_flag_spec_F77= + whole_archive_flag_spec_F77= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_F77='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='' + ;; + m68k) + archive_cmds_F77='$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)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + export_dynamic_flag_spec_F77='$wl--export-all-symbols' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_F77='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + haiku*) + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_F77=yes + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + shrext_cmds=.dll + archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_F77=yes + file_list_spec_F77='@' + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + export_dynamic_flag_spec_F77='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_F77= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_F77='$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' + compiler_needs_object_F77=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='$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' + compiler_needs_object_F77=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_F77='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_F77='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_F77=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test no = "$ld_shlibs_F77"; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_F77='$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' + else + export_symbols_cmds_F77='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + file_list_spec_F77='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_F77=no + hardcode_direct_absolute_F77=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_F77='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__F77 +fi + + hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_F77='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__F77 +fi + + hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' $wl-bernotok' + allow_undefined_flag_F77=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_F77='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + fi + archive_cmds_need_lc_F77=yes + archive_expsym_cmds_F77='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='' + ;; + m68k) + archive_cmds_F77='$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)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + file_list_spec_F77='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, F77)='true' + enable_shared_with_static_runtimes_F77=yes + exclude_expsyms_F77='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_F77='chmod 644 $oldlib' + postlink_cmds_F77='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_F77=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_F77='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + compiler_needs_object_F77=yes + else + whole_archive_flag_spec_F77='' + fi + link_all_deplibs_F77=yes + allow_undefined_flag_F77=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_F77="$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" + module_expsym_cmds_F77="$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" + + else + ld_shlibs_F77=no + fi + + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_F77='$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' + else + archive_cmds_F77='$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' + fi + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_F77='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat > conftest.$ac_ext <<_ACEOF + + subroutine foo + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_F77='$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' + fi + else + archive_cmds_F77='$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' + archive_expsym_cmds_F77='$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' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + inherit_rpath_F77=yes + link_all_deplibs_F77=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_F77=yes + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + hardcode_direct_absolute_F77=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + export_dynamic_flag_spec_F77='$wl-E' + else + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + shrext_cmds=.dll + archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_F77=yes + file_list_spec_F77='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' + archive_cmds_F77='$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' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$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' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' + archive_cmds_F77='$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' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$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' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_F77='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_F77='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_F77='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_F77='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='$wl-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='$wl-z,text' + allow_undefined_flag_F77='$wl-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='$wl-R,$libdir' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_F77='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5 +$as_echo "$ld_shlibs_F77" >&6; } +test no = "$ld_shlibs_F77" && can_build_shared=no + +with_gnu_ld_F77=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_F77=no + else + lt_cv_archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_F77" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_F77" >&6; } + archive_cmds_need_lc_F77=$lt_cv_archive_cmds_need_lc_F77 + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_F77='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_F77\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_F77\"" + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || + test -n "$runpath_var_F77" || + test yes = "$hardcode_automatic_F77"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_F77" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, F77)" && + test no != "$hardcode_minus_L_F77"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5 +$as_echo "$hardcode_action_F77" >&6; } + +if test relink = "$hardcode_action_F77" || + test yes = "$inherit_rpath_F77"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +$as_echo "$FC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +$as_echo "$ac_ct_FC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 +$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } +if ${ac_cv_fc_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +$as_echo "$ac_cv_fc_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+set} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +$as_echo_n "checking whether $FC accepts -g... " >&6; } +if ${ac_cv_prog_fc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO"; then : + ac_cv_prog_fc_g=yes +else + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +$as_echo "$ac_cv_prog_fc_g" >&6; } +if test "$ac_test_FCFLAGS" = set; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +fi +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +archive_cmds_need_lc_FC=no +allow_undefined_flag_FC= +always_export_symbols_FC=no +archive_expsym_cmds_FC= +export_dynamic_flag_spec_FC= +hardcode_direct_FC=no +hardcode_direct_absolute_FC=no +hardcode_libdir_flag_spec_FC= +hardcode_libdir_separator_FC= +hardcode_minus_L_FC=no +hardcode_automatic_FC=no +inherit_rpath_FC=no +module_cmds_FC= +module_expsym_cmds_FC= +link_all_deplibs_FC=unknown +old_archive_cmds_FC=$old_archive_cmds +reload_flag_FC=$reload_flag +reload_cmds_FC=$reload_cmds +no_undefined_flag_FC= +whole_archive_flag_spec_FC= +enable_shared_with_static_runtimes_FC=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +objext_FC=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + compiler_FC=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + GCC_FC=$ac_cv_fc_compiler_gnu + LD_FC=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_FC= +postdep_objects_FC= +predeps_FC= +postdeps_FC= +compiler_lib_search_path_FC= + +cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_FC"; then + compiler_lib_search_path_FC=$prev$p + else + compiler_lib_search_path_FC="${compiler_lib_search_path_FC} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_FC"; then + postdeps_FC=$prev$p + else + postdeps_FC="${postdeps_FC} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_FC"; then + predep_objects_FC=$p + else + predep_objects_FC="$predep_objects_FC $p" + fi + else + if test -z "$postdep_objects_FC"; then + postdep_objects_FC=$p + else + postdep_objects_FC="$postdep_objects_FC $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling FC test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken + + +case " $postdeps_FC " in +*" -lc "*) archive_cmds_need_lc_FC=no ;; +esac + compiler_lib_search_dirs_FC= +if test -n "${compiler_lib_search_path_FC}"; then + compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + lt_prog_compiler_wl_FC= +lt_prog_compiler_pic_FC= +lt_prog_compiler_static_FC= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_static_FC='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_FC='-Bstatic' + fi + lt_prog_compiler_pic_FC='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_FC='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_FC='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_FC='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_FC='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_FC= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_FC='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_FC=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_FC='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_FC=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_FC='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_FC='-Xlinker ' + if test -n "$lt_prog_compiler_pic_FC"; then + lt_prog_compiler_pic_FC="-Xcompiler $lt_prog_compiler_pic_FC" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_FC='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_FC='-Bstatic' + else + lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_FC='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_FC='-Wl,-Wl,,' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_FC='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_FC='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_FC='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_FC='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_FC='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_FC='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_FC='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='--shared' + lt_prog_compiler_static_FC='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_FC='-Wl,-Wl,,' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fpic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_FC='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_FC='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-qpic' + lt_prog_compiler_static_FC='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fpic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_FC='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_FC='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_FC='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_FC='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_FC='-Qoption ld ';; + *) + lt_prog_compiler_wl_FC='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_FC='-Qoption ld ' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_FC='-Kconform_pic' + lt_prog_compiler_static_FC='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_can_build_shared_FC=no + ;; + + uts4*) + lt_prog_compiler_pic_FC='-pic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_FC=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_FC= + ;; + *) + lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC@&t@" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 +$as_echo "$lt_cv_prog_compiler_pic_FC" >&6; } +lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_FC=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_FC@&t@" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_FC=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_FC" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then + case $lt_prog_compiler_pic_FC in + "" | " "*) ;; + *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;; + esac +else + lt_prog_compiler_pic_FC= + lt_prog_compiler_can_build_shared_FC=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_FC=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_FC=yes + fi + else + lt_cv_prog_compiler_static_works_FC=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_FC" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_FC"; then + : +else + lt_prog_compiler_static_FC= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_FC=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_FC=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_FC=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_FC=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_FC= + always_export_symbols_FC=no + archive_cmds_FC= + archive_expsym_cmds_FC= + compiler_needs_object_FC=no + enable_shared_with_static_runtimes_FC=no + export_dynamic_flag_spec_FC= + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_FC=no + hardcode_direct_FC=no + hardcode_direct_absolute_FC=no + hardcode_libdir_flag_spec_FC= + hardcode_libdir_separator_FC= + hardcode_minus_L_FC=no + hardcode_shlibpath_var_FC=unsupported + inherit_rpath_FC=no + link_all_deplibs_FC=unknown + module_cmds_FC= + module_expsym_cmds_FC= + old_archive_from_new_cmds_FC= + old_archive_from_expsyms_cmds_FC= + thread_safe_flag_spec_FC= + whole_archive_flag_spec_FC= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_FC= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_FC=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_FC='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_FC=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_FC= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='' + ;; + m68k) + archive_cmds_FC='$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)' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_FC=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_FC=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_FC='-L$libdir' + export_dynamic_flag_spec_FC='$wl--export-all-symbols' + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=no + enable_shared_with_static_runtimes_FC=yes + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_FC='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_FC=no + fi + ;; + + haiku*) + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_FC=yes + ;; + + os2*) + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + allow_undefined_flag_FC=unsupported + shrext_cmds=.dll + archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_FC=yes + file_list_spec_FC='@' + ;; + + interix[3-9]*) + hardcode_direct_FC=no + hardcode_shlibpath_var_FC=no + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + export_dynamic_flag_spec_FC='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_FC='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_FC='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_FC='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_FC= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_FC='$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' + compiler_needs_object_FC=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_FC='$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' + compiler_needs_object_FC=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_FC='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + archive_cmds_FC='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_FC=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + esac + + if test no = "$ld_shlibs_FC"; then + runpath_var= + hardcode_libdir_flag_spec_FC= + export_dynamic_flag_spec_FC= + whole_archive_flag_spec_FC= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=yes + archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_FC=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_FC=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_FC='$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' + else + export_symbols_cmds_FC='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_FC='' + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + hardcode_libdir_separator_FC=':' + link_all_deplibs_FC=yes + file_list_spec_FC='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_FC=no + hardcode_direct_absolute_FC=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_FC=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_FC=yes + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_libdir_separator_FC= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_FC='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_FC=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_FC='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__FC +fi + + hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_FC='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_FC='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_FC="-z nodefs" + archive_expsym_cmds_FC="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__FC +fi + + hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_FC=' $wl-bernotok' + allow_undefined_flag_FC=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_FC='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_FC='$convenience' + fi + archive_cmds_need_lc_FC=yes + archive_expsym_cmds_FC='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='' + ;; + m68k) + archive_cmds_FC='$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)' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_FC=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_FC=' ' + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=yes + file_list_spec_FC='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_FC='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, FC)='true' + enable_shared_with_static_runtimes_FC=yes + exclude_expsyms_FC='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_FC='chmod 644 $oldlib' + postlink_cmds_FC='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_FC=' ' + allow_undefined_flag_FC=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_FC='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_FC=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_FC=no + hardcode_direct_FC=no + hardcode_automatic_FC=yes + hardcode_shlibpath_var_FC=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_FC='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + compiler_needs_object_FC=yes + else + whole_archive_flag_spec_FC='' + fi + link_all_deplibs_FC=yes + allow_undefined_flag_FC=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_FC="$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" + module_expsym_cmds_FC="$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" + + else + ld_shlibs_FC=no + fi + + ;; + + dgux*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_shlibpath_var_FC=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes + hardcode_minus_L_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_FC='$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' + else + archive_cmds_FC='$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' + fi + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_direct_FC=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_FC='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_FC='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_FC=no + hardcode_shlibpath_var_FC=no + ;; + *) + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_FC='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat > conftest.$ac_ext <<_ACEOF + + subroutine foo + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_FC='$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' + fi + else + archive_cmds_FC='$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' + archive_expsym_cmds_FC='$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' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + inherit_rpath_FC=yes + link_all_deplibs_FC=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_FC=yes + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + newsos6) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_shlibpath_var_FC=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + hardcode_direct_absolute_FC=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + export_dynamic_flag_spec_FC='$wl-E' + else + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + fi + else + ld_shlibs_FC=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + allow_undefined_flag_FC=unsupported + shrext_cmds=.dll + archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_FC=yes + file_list_spec_FC='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' + archive_cmds_FC='$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' + else + allow_undefined_flag_FC=' -expect_unresolved \*' + archive_cmds_FC='$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' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' + archive_cmds_FC='$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' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + else + allow_undefined_flag_FC=' -expect_unresolved \*' + archive_cmds_FC='$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' + archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_FC='-rpath $libdir' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_separator_FC=: + ;; + + solaris*) + no_undefined_flag_FC=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_FC='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_FC='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_FC='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_shlibpath_var_FC=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_FC='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_FC=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_FC='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_direct_FC=yes + hardcode_minus_L_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_FC='$CC -r -o $output$reload_objs' + hardcode_direct_FC=no + ;; + motorola) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_FC=no + ;; + + sysv4.3*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_FC=no + export_dynamic_flag_spec_FC='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_FC=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_FC=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_FC='$wl-z,text' + archive_cmds_need_lc_FC=no + hardcode_shlibpath_var_FC=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_FC='$wl-z,text' + allow_undefined_flag_FC='$wl-z,nodefs' + archive_cmds_need_lc_FC=no + hardcode_shlibpath_var_FC=no + hardcode_libdir_flag_spec_FC='$wl-R,$libdir' + hardcode_libdir_separator_FC=':' + link_all_deplibs_FC=yes + export_dynamic_flag_spec_FC='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_shlibpath_var_FC=no + ;; + + *) + ld_shlibs_FC=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_FC='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 +$as_echo "$ld_shlibs_FC" >&6; } +test no = "$ld_shlibs_FC" && can_build_shared=no + +with_gnu_ld_FC=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_FC" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_FC=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_FC in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_FC + pic_flag=$lt_prog_compiler_pic_FC + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_FC + allow_undefined_flag_FC= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_FC=no + else + lt_cv_archive_cmds_need_lc_FC=yes + fi + allow_undefined_flag_FC=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_FC" >&6; } + archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_FC='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\"" + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_FC= +if test -n "$hardcode_libdir_flag_spec_FC" || + test -n "$runpath_var_FC" || + test yes = "$hardcode_automatic_FC"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_FC" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" && + test no != "$hardcode_minus_L_FC"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_FC=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_FC=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_FC=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 +$as_echo "$hardcode_action_FC" >&6; } + +if test relink = "$hardcode_action_FC" || + test yes = "$inherit_rpath_FC"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gccgo", so it can be a program name with args. +set dummy ${ac_tool_prefix}gccgo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GOC"; then + ac_cv_prog_GOC="$GOC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GOC="${ac_tool_prefix}gccgo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GOC=$ac_cv_prog_GOC +if test -n "$GOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC" >&5 +$as_echo "$GOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GOC"; then + ac_ct_GOC=$GOC + # Extract the first word of "gccgo", so it can be a program name with args. +set dummy gccgo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_GOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_GOC"; then + ac_cv_prog_ac_ct_GOC="$ac_ct_GOC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_GOC="gccgo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_GOC=$ac_cv_prog_ac_ct_GOC +if test -n "$ac_ct_GOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GOC" >&5 +$as_echo "$ac_ct_GOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_GOC" = x; then + GOC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GOC=$ac_ct_GOC + fi +else + GOC="$ac_cv_prog_GOC" +fi + + + + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +objext_GO=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +compiler_GO=$CC +LD_GO=$LD +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Go did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GO=no + +old_archive_cmds_GO=$old_archive_cmds +reload_flag_GO=$reload_flag +reload_cmds_GO=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag_GO= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag_GO=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag_GO=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag_GO="$lt_prog_compiler_no_builtin_flag_GO -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + lt_prog_compiler_wl_GO= +lt_prog_compiler_pic_GO= +lt_prog_compiler_static_GO= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_static_GO='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GO='-Bstatic' + fi + lt_prog_compiler_pic_GO='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_GO='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_GO='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GO='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_GO='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GO='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_GO= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GO='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GO=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GO='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GO=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_GO='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_GO='-Xlinker ' + if test -n "$lt_prog_compiler_pic_GO"; then + lt_prog_compiler_pic_GO="-Xcompiler $lt_prog_compiler_pic_GO" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GO='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GO='-Bstatic' + else + lt_prog_compiler_static_GO='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GO='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GO='-Wl,-Wl,,' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GO='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_GO='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GO='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GO='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GO='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GO='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GO='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='--shared' + lt_prog_compiler_static_GO='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GO='-Wl,-Wl,,' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fpic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GO='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GO='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-qpic' + lt_prog_compiler_static_GO='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fpic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GO='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GO='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GO='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GO='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_GO='-Qoption ld ';; + *) + lt_prog_compiler_wl_GO='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GO='-Qoption ld ' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GO='-Kconform_pic' + lt_prog_compiler_static_GO='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_can_build_shared_GO=no + ;; + + uts4*) + lt_prog_compiler_pic_GO='-pic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GO=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GO= + ;; + *) + lt_prog_compiler_pic_GO="$lt_prog_compiler_pic_GO@&t@" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_GO=$lt_prog_compiler_pic_GO +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GO" >&5 +$as_echo "$lt_cv_prog_compiler_pic_GO" >&6; } +lt_prog_compiler_pic_GO=$lt_cv_prog_compiler_pic_GO + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GO works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GO works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_GO=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GO@&t@" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_GO=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GO" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_GO" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_GO"; then + case $lt_prog_compiler_pic_GO in + "" | " "*) ;; + *) lt_prog_compiler_pic_GO=" $lt_prog_compiler_pic_GO" ;; + esac +else + lt_prog_compiler_pic_GO= + lt_prog_compiler_can_build_shared_GO=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GO eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GO\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_GO=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_GO=yes + fi + else + lt_cv_prog_compiler_static_works_GO=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GO" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_GO" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_GO"; then + : +else + lt_prog_compiler_static_GO= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GO=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GO=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GO=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GO=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_GO" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_GO= + always_export_symbols_GO=no + archive_cmds_GO= + archive_expsym_cmds_GO= + compiler_needs_object_GO=no + enable_shared_with_static_runtimes_GO=no + export_dynamic_flag_spec_GO= + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_GO=no + hardcode_direct_GO=no + hardcode_direct_absolute_GO=no + hardcode_libdir_flag_spec_GO= + hardcode_libdir_separator_GO= + hardcode_minus_L_GO=no + hardcode_shlibpath_var_GO=unsupported + inherit_rpath_GO=no + link_all_deplibs_GO=unknown + module_cmds_GO= + module_expsym_cmds_GO= + old_archive_from_new_cmds_GO= + old_archive_from_expsyms_cmds_GO= + thread_safe_flag_spec_GO= + whole_archive_flag_spec_GO= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GO= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_GO='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GO=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_GO='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GO=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_GO= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='' + ;; + m68k) + archive_cmds_GO='$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)' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GO=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GO='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_GO=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, GO) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GO='-L$libdir' + export_dynamic_flag_spec_GO='$wl--export-all-symbols' + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=no + enable_shared_with_static_runtimes_GO=yes + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_GO='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GO=no + fi + ;; + + haiku*) + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_GO=yes + ;; + + os2*) + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + allow_undefined_flag_GO=unsupported + shrext_cmds=.dll + archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GO=yes + file_list_spec_GO='@' + ;; + + interix[3-9]*) + hardcode_direct_GO=no + hardcode_shlibpath_var_GO=no + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + export_dynamic_flag_spec_GO='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GO='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GO='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GO='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_GO= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_GO='$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' + compiler_needs_object_GO=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GO='$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' + compiler_needs_object_GO=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_GO='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_GO='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_GO='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + archive_cmds_GO='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_GO=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GO='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GO='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + esac + + if test no = "$ld_shlibs_GO"; then + runpath_var= + hardcode_libdir_flag_spec_GO= + export_dynamic_flag_spec_GO= + whole_archive_flag_spec_GO= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=yes + archive_expsym_cmds_GO='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GO=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GO=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_GO='$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' + else + export_symbols_cmds_GO='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GO='' + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + hardcode_libdir_separator_GO=':' + link_all_deplibs_GO=yes + file_list_spec_GO='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_GO=no + hardcode_direct_absolute_GO=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GO=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GO=yes + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_libdir_separator_GO= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_GO='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GO=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GO='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GO +fi + + hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GO='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_GO='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GO="-z nodefs" + archive_expsym_cmds_GO="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GO +fi + + hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GO=' $wl-bernotok' + allow_undefined_flag_GO=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_GO='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GO='$convenience' + fi + archive_cmds_need_lc_GO=yes + archive_expsym_cmds_GO='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='' + ;; + m68k) + archive_cmds_GO='$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)' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GO=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_GO=' ' + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=yes + file_list_spec_GO='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GO='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, GO)='true' + enable_shared_with_static_runtimes_GO=yes + exclude_expsyms_GO='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_GO='chmod 644 $oldlib' + postlink_cmds_GO='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_GO=' ' + allow_undefined_flag_GO=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GO='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_GO='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GO='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_GO=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_GO=no + hardcode_direct_GO=no + hardcode_automatic_GO=yes + hardcode_shlibpath_var_GO=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_GO='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_GO='' + fi + link_all_deplibs_GO=yes + allow_undefined_flag_GO=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_GO="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_GO="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_GO="$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" + module_expsym_cmds_GO="$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" + + else + ld_shlibs_GO=no + fi + + ;; + + dgux*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_shlibpath_var_GO=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes + hardcode_minus_L_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_GO='$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' + else + archive_cmds_GO='$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' + fi + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_direct_GO=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_GO='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GO='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_GO=no + hardcode_shlibpath_var_GO=no + ;; + *) + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_GO='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_GO='$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' + fi + else + archive_cmds_GO='$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' + archive_expsym_cmds_GO='$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' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + inherit_rpath_GO=yes + link_all_deplibs_GO=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_GO=yes + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GO='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + newsos6) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_shlibpath_var_GO=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + hardcode_direct_absolute_GO=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + export_dynamic_flag_spec_GO='$wl-E' + else + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + fi + else + ld_shlibs_GO=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + allow_undefined_flag_GO=unsupported + shrext_cmds=.dll + archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GO=yes + file_list_spec_GO='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' + archive_cmds_GO='$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' + else + allow_undefined_flag_GO=' -expect_unresolved \*' + archive_cmds_GO='$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' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' + archive_cmds_GO='$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' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + else + allow_undefined_flag_GO=' -expect_unresolved \*' + archive_cmds_GO='$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' + archive_expsym_cmds_GO='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GO='-rpath $libdir' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_separator_GO=: + ;; + + solaris*) + no_undefined_flag_GO=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_GO='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_GO='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_GO='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_shlibpath_var_GO=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_GO='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_GO='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GO=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GO='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_direct_GO=yes + hardcode_minus_L_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GO='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GO='$CC -r -o $output$reload_objs' + hardcode_direct_GO=no + ;; + motorola) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GO=no + ;; + + sysv4.3*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GO=no + export_dynamic_flag_spec_GO='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GO=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GO=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GO='$wl-z,text' + archive_cmds_need_lc_GO=no + hardcode_shlibpath_var_GO=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GO='$wl-z,text' + allow_undefined_flag_GO='$wl-z,nodefs' + archive_cmds_need_lc_GO=no + hardcode_shlibpath_var_GO=no + hardcode_libdir_flag_spec_GO='$wl-R,$libdir' + hardcode_libdir_separator_GO=':' + link_all_deplibs_GO=yes + export_dynamic_flag_spec_GO='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_shlibpath_var_GO=no + ;; + + *) + ld_shlibs_GO=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_GO='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GO" >&5 +$as_echo "$ld_shlibs_GO" >&6; } +test no = "$ld_shlibs_GO" && can_build_shared=no + +with_gnu_ld_GO=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GO" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GO=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_GO in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GO + pic_flag=$lt_prog_compiler_pic_GO + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GO + allow_undefined_flag_GO= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_GO=no + else + lt_cv_archive_cmds_need_lc_GO=yes + fi + allow_undefined_flag_GO=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GO" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_GO" >&6; } + archive_cmds_need_lc_GO=$lt_cv_archive_cmds_need_lc_GO + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_GO= +if test -n "$hardcode_libdir_flag_spec_GO" || + test -n "$runpath_var_GO" || + test yes = "$hardcode_automatic_GO"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_GO" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GO)" && + test no != "$hardcode_minus_L_GO"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GO=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GO=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GO=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GO" >&5 +$as_echo "$hardcode_action_GO" >&6; } + +if test relink = "$hardcode_action_GO" || + test yes = "$inherit_rpath_GO"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcj", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcj; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GCJ"; then + ac_cv_prog_GCJ="$GCJ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GCJ="${ac_tool_prefix}gcj" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GCJ=$ac_cv_prog_GCJ +if test -n "$GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ" >&5 +$as_echo "$GCJ" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GCJ"; then + ac_ct_GCJ=$GCJ + # Extract the first word of "gcj", so it can be a program name with args. +set dummy gcj; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_GCJ"; then + ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_GCJ="gcj" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ +if test -n "$ac_ct_GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5 +$as_echo "$ac_ct_GCJ" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_GCJ" = x; then + GCJ="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GCJ=$ac_ct_GCJ + fi +else + GCJ="$ac_cv_prog_GCJ" +fi + + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +compiler_GCJ=$CC +LD_GCJ=$LD +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds +reload_flag_GCJ=$reload_flag +reload_cmds_GCJ=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag_GCJ=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + + case $host_os in + os2*) + lt_prog_compiler_static_GCJ='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_GCJ= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GCJ='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_GCJ='-Xlinker ' + if test -n "$lt_prog_compiler_pic_GCJ"; then + lt_prog_compiler_pic_GCJ="-Xcompiler $lt_prog_compiler_pic_GCJ" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + + case $host_os in + os2*) + lt_prog_compiler_static_GCJ='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='--shared' + lt_prog_compiler_static_GCJ='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-qpic' + lt_prog_compiler_static_GCJ='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GCJ='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ@&t@" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_GCJ=$lt_prog_compiler_pic_GCJ +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_pic_GCJ" >&6; } +lt_prog_compiler_pic_GCJ=$lt_cv_prog_compiler_pic_GCJ + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ@&t@" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_GCJ=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_GCJ"; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_GCJ=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_GCJ=yes + fi + else + lt_cv_prog_compiler_static_works_GCJ=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_GCJ"; then + : +else + lt_prog_compiler_static_GCJ= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_GCJ" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + always_export_symbols_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + compiler_needs_object_GCJ=no + enable_shared_with_static_runtimes_GCJ=no + export_dynamic_flag_spec_GCJ= + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_GCJ=no + hardcode_direct_GCJ=no + hardcode_direct_absolute_GCJ=no + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + inherit_rpath_GCJ=no + link_all_deplibs_GCJ=unknown + module_cmds_GCJ= + module_expsym_cmds_GCJ= + old_archive_from_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + thread_safe_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_GCJ='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='' + ;; + m68k) + archive_cmds_GCJ='$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)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + export_dynamic_flag_spec_GCJ='$wl--export-all-symbols' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_GCJ='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + haiku*) + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_GCJ=yes + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + shrext_cmds=.dll + archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GCJ=yes + file_list_spec_GCJ='@' + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + export_dynamic_flag_spec_GCJ='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_GCJ= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_GCJ='$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' + compiler_needs_object_GCJ=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='$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' + compiler_needs_object_GCJ=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_GCJ='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_GCJ='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test no = "$ld_shlibs_GCJ"; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$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' + else + export_symbols_cmds_GCJ='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + file_list_spec_GCJ='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_GCJ=no + hardcode_direct_absolute_GCJ=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_GCJ='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GCJ +fi + + hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_GCJ='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GCJ +fi + + hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' $wl-bernotok' + allow_undefined_flag_GCJ=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_GCJ='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + fi + archive_cmds_need_lc_GCJ=yes + archive_expsym_cmds_GCJ='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='' + ;; + m68k) + archive_cmds_GCJ='$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)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + file_list_spec_GCJ='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, GCJ)='true' + enable_shared_with_static_runtimes_GCJ=yes + exclude_expsyms_GCJ='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_GCJ='chmod 644 $oldlib' + postlink_cmds_GCJ='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_GCJ=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_GCJ='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_GCJ='' + fi + link_all_deplibs_GCJ=yes + allow_undefined_flag_GCJ=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_GCJ="$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" + module_expsym_cmds_GCJ="$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" + + else + ld_shlibs_GCJ=no + fi + + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_GCJ='$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' + else + archive_cmds_GCJ='$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' + fi + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_GCJ='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_GCJ='$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' + fi + else + archive_cmds_GCJ='$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' + archive_expsym_cmds_GCJ='$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' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + inherit_rpath_GCJ=yes + link_all_deplibs_GCJ=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_GCJ=yes + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + hardcode_direct_absolute_GCJ=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + export_dynamic_flag_spec_GCJ='$wl-E' + else + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + shrext_cmds=.dll + archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GCJ=yes + file_list_spec_GCJ='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' + archive_cmds_GCJ='$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' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$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' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' + archive_cmds_GCJ='$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' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$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' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_GCJ='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_GCJ='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_GCJ='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_GCJ='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='$wl-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='$wl-z,text' + allow_undefined_flag_GCJ='$wl-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='$wl-R,$libdir' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_GCJ='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GCJ" >&5 +$as_echo "$ld_shlibs_GCJ" >&6; } +test no = "$ld_shlibs_GCJ" && can_build_shared=no + +with_gnu_ld_GCJ=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_GCJ=no + else + lt_cv_archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GCJ" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_GCJ" >&6; } + archive_cmds_need_lc_GCJ=$lt_cv_archive_cmds_need_lc_GCJ + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || + test -n "$runpath_var_GCJ" || + test yes = "$hardcode_automatic_GCJ"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_GCJ" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GCJ)" && + test no != "$hardcode_minus_L_GCJ"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GCJ" >&5 +$as_echo "$hardcode_action_GCJ" >&6; } + +if test relink = "$hardcode_action_GCJ" || + test yes = "$inherit_rpath_GCJ"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. +set dummy ${ac_tool_prefix}windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RC"; then + ac_cv_prog_RC="$RC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RC="${ac_tool_prefix}windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RC=$ac_cv_prog_RC +if test -n "$RC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 +$as_echo "$RC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RC"; then + ac_ct_RC=$RC + # Extract the first word of "windres", so it can be a program name with args. +set dummy windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RC"; then + ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RC="windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RC=$ac_cv_prog_ac_ct_RC +if test -n "$ac_ct_RC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 +$as_echo "$ac_ct_RC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RC" = x; then + RC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RC=$ac_ct_RC + fi +else + RC="$ac_cv_prog_RC" +fi + + + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +compiler_RC=$CC +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + +lt_cv_prog_compiler_c_o_RC=yes + +if test -n "$compiler"; then + : + + + +fi + +GCC=$lt_save_GCC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + + +# Ensure the correct file name (and path) conversion function +# is available to the test suite. + +# Propagate --with-aix-soname option to the testsuite. + +## ---------------------- ## +## Gnulib initialisation. ## +## ---------------------- ## + + + + + + + + + @%:@ Check whether --enable-cross-guesses was given. +if test "${enable_cross_guesses+set}" = set; then : + enableval=$enable_cross_guesses; if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-cross-guesses" >&5 +$as_echo "$as_me: WARNING: invalid argument supplied to --enable-cross-guesses" >&2;} + enableval=conservative + fi + gl_cross_guesses="$enableval" +else + gl_cross_guesses=conservative +fi + + if test $gl_cross_guesses = risky; then + gl_cross_guess_normal="guessing yes" + gl_cross_guess_inverted="guessing no" + else + gl_cross_guess_normal="guessing no" + gl_cross_guess_inverted="guessing yes" + fi + LIBC_FATAL_STDERR_=1 + export LIBC_FATAL_STDERR_ + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5 +$as_echo_n "checking for C compiler option to allow warnings... " >&6; } +if ${gl_cv_cc_wallow+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest* + echo 'int dummy;' > conftest.c + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cc_wallow='-Wno-error' + else + gl_cv_cc_wallow=none + fi + rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5 +$as_echo "$gl_cv_cc_wallow" >&6; } + case "$gl_cv_cc_wallow" in + none) GL_CFLAG_ALLOW_WARNINGS='' ;; + *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; + esac + + + + if test -n "$CXX" && test "$CXX" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler option to allow warnings" >&5 +$as_echo_n "checking for C++ compiler option to allow warnings... " >&6; } +if ${gl_cv_cxx_wallow+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest* + echo 'int dummy;' > conftest.cc + { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cxx_wallow='-Wno-error' + else + gl_cv_cxx_wallow=none + fi + rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5 +$as_echo "$gl_cv_cxx_wallow" >&6; } + case "$gl_cv_cxx_wallow" in + none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; + *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; + esac + else + GL_CXXFLAG_ALLOW_WARNINGS='' + fi + + + + + GL_CFLAG_GNULIB_WARNINGS='' + if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then + cat > conftest.c <<\EOF + #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-cast-qual + -Wno-conversion + -Wno-float-equal + -Wno-sign-compare + -Wno-undef + -Wno-unused-function + -Wno-unused-parameter + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-float-conversion + #endif + #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wimplicit-fallthrough + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-pedantic + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-sign-conversion + -Wno-type-limits + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 + -Wno-unsuffixed-float-constants + #endif +EOF + gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5 + (eval $gl_command) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + gl_options=`grep -v '#' conftest.out` + for word in $gl_options; do + GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" + done + fi + rm -f conftest.c conftest.out + fi + + + + if true; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' +else + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= +fi + + gl_cond_libtool=true + gl_m4_base='m4' + + + + + + + + + + + + + gl_source_base='lib' + gl_source_base_prefix= + # Autoconf 2.61a.99 and earlier don't support linking a file only + # in VPATH builds. But since GNUmakefile is for maintainer use + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. + GNUmakefile=GNUmakefile + ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" + + + + + # End of code from modules + + + + + + + + + + gltests_libdeps= + gltests_ltlibdeps= + + + + + + + + + + + + + + + gl_source_base='gnulib-tests' + gl_source_base_prefix= + GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS + + gl_module_indicator_condition=$GLtests_WITNESS + + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + + + + + + + + + + + + + + +## ------------- ## +## Documentation ## +## ------------- ## + +HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} + + +## -------- ## +## Outputs. ## +## -------- ## +ac_config_files="$ac_config_files Makefile gnulib-tests/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then + as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then + as_fn_error $? "conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +LT_CONFIG_H=config.h +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then + as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +CONFIG_INCLUDE=config.h + + + GL_libobjs= + GL_ltlibobjs= + GL_libobjdeps= + if test -n "$GL_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' + for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GL_libobjs="$GL_libobjs $i.$ac_objext" + GL_ltlibobjs="$GL_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + GL_LIBOBJS=$GL_libobjs + + GL_LTLIBOBJS=$GL_ltlibobjs + + GL_LIBOBJDEPS=$GL_libobjdeps + + + + GLtests_libobjs= + GLtests_ltlibobjs= + GLtests_libobjdeps= + if test -n "$GLtests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' + for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" + GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + GLtests_LIBOBJS=$GLtests_libobjs + + GLtests_LTLIBOBJS=$GLtests_ltlibobjs + + GLtests_LIBOBJDEPS=$GLtests_libobjdeps + + + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in @%:@( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit + +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GNU Libtool $as_me 2.4.7, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_links="$ac_config_links" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration links: +$config_links + +Configuration commands: +$config_commands + +Report bugs to . +GNU Libtool home page: . +General help using GNU software: ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +GNU Libtool config.status 2.4.7 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# + +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +LD_F77='`$ECHO "$LD_F77" | $SED "$delay_single_quote_subst"`' +LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`' +LD_GO='`$ECHO "$LD_GO" | $SED "$delay_single_quote_subst"`' +LD_GCJ='`$ECHO "$LD_GCJ" | $SED "$delay_single_quote_subst"`' +LD_RC='`$ECHO "$LD_RC" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_F77='`$ECHO "$reload_flag_F77" | $SED "$delay_single_quote_subst"`' +reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`' +reload_flag_GO='`$ECHO "$reload_flag_GO" | $SED "$delay_single_quote_subst"`' +reload_flag_GCJ='`$ECHO "$reload_flag_GCJ" | $SED "$delay_single_quote_subst"`' +reload_flag_RC='`$ECHO "$reload_flag_RC" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_F77='`$ECHO "$reload_cmds_F77" | $SED "$delay_single_quote_subst"`' +reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`' +reload_cmds_GO='`$ECHO "$reload_cmds_GO" | $SED "$delay_single_quote_subst"`' +reload_cmds_GCJ='`$ECHO "$reload_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +reload_cmds_RC='`$ECHO "$reload_cmds_RC" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_F77='`$ECHO "$old_archive_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_GO='`$ECHO "$old_archive_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_GCJ='`$ECHO "$old_archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_RC='`$ECHO "$old_archive_cmds_RC" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +compiler_F77='`$ECHO "$compiler_F77" | $SED "$delay_single_quote_subst"`' +compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`' +compiler_GO='`$ECHO "$compiler_GO" | $SED "$delay_single_quote_subst"`' +compiler_GCJ='`$ECHO "$compiler_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_RC='`$ECHO "$compiler_RC" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +GCC_F77='`$ECHO "$GCC_F77" | $SED "$delay_single_quote_subst"`' +GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`' +GCC_GO='`$ECHO "$GCC_GO" | $SED "$delay_single_quote_subst"`' +GCC_GCJ='`$ECHO "$GCC_GCJ" | $SED "$delay_single_quote_subst"`' +GCC_RC='`$ECHO "$GCC_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_F77='`$ECHO "$lt_prog_compiler_no_builtin_flag_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_GO='`$ECHO "$lt_prog_compiler_no_builtin_flag_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "$lt_prog_compiler_no_builtin_flag_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_RC='`$ECHO "$lt_prog_compiler_no_builtin_flag_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_F77='`$ECHO "$lt_prog_compiler_pic_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_GO='`$ECHO "$lt_prog_compiler_pic_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_GCJ='`$ECHO "$lt_prog_compiler_pic_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_RC='`$ECHO "$lt_prog_compiler_pic_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_F77='`$ECHO "$lt_prog_compiler_wl_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_GO='`$ECHO "$lt_prog_compiler_wl_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_GCJ='`$ECHO "$lt_prog_compiler_wl_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_RC='`$ECHO "$lt_prog_compiler_wl_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_F77='`$ECHO "$lt_prog_compiler_static_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_GO='`$ECHO "$lt_prog_compiler_static_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_GCJ='`$ECHO "$lt_prog_compiler_static_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_RC='`$ECHO "$lt_prog_compiler_static_RC" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_F77='`$ECHO "$lt_cv_prog_compiler_c_o_F77" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_GO='`$ECHO "$lt_cv_prog_compiler_c_o_GO" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_GCJ='`$ECHO "$lt_cv_prog_compiler_c_o_GCJ" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_RC='`$ECHO "$lt_cv_prog_compiler_c_o_RC" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_F77='`$ECHO "$archive_cmds_need_lc_F77" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_GO='`$ECHO "$archive_cmds_need_lc_GO" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_GCJ='`$ECHO "$archive_cmds_need_lc_GCJ" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_RC='`$ECHO "$archive_cmds_need_lc_RC" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_F77='`$ECHO "$enable_shared_with_static_runtimes_F77" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_GO='`$ECHO "$enable_shared_with_static_runtimes_GO" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_GCJ='`$ECHO "$enable_shared_with_static_runtimes_GCJ" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_RC='`$ECHO "$enable_shared_with_static_runtimes_RC" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_F77='`$ECHO "$export_dynamic_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_GO='`$ECHO "$export_dynamic_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_GCJ='`$ECHO "$export_dynamic_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_RC='`$ECHO "$export_dynamic_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_F77='`$ECHO "$whole_archive_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_GO='`$ECHO "$whole_archive_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_GCJ='`$ECHO "$whole_archive_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_RC='`$ECHO "$whole_archive_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_F77='`$ECHO "$compiler_needs_object_F77" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_GO='`$ECHO "$compiler_needs_object_GO" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_GCJ='`$ECHO "$compiler_needs_object_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_RC='`$ECHO "$compiler_needs_object_RC" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_F77='`$ECHO "$old_archive_from_new_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_GO='`$ECHO "$old_archive_from_new_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_GCJ='`$ECHO "$old_archive_from_new_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_RC='`$ECHO "$old_archive_from_new_cmds_RC" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_F77='`$ECHO "$old_archive_from_expsyms_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_GO='`$ECHO "$old_archive_from_expsyms_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_GCJ='`$ECHO "$old_archive_from_expsyms_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_RC='`$ECHO "$old_archive_from_expsyms_cmds_RC" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_F77='`$ECHO "$archive_cmds_F77" | $SED "$delay_single_quote_subst"`' +archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`' +archive_cmds_GO='`$ECHO "$archive_cmds_GO" | $SED "$delay_single_quote_subst"`' +archive_cmds_GCJ='`$ECHO "$archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +archive_cmds_RC='`$ECHO "$archive_cmds_RC" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_F77='`$ECHO "$archive_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_GO='`$ECHO "$archive_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_GCJ='`$ECHO "$archive_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_RC='`$ECHO "$archive_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_F77='`$ECHO "$module_cmds_F77" | $SED "$delay_single_quote_subst"`' +module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`' +module_cmds_GO='`$ECHO "$module_cmds_GO" | $SED "$delay_single_quote_subst"`' +module_cmds_GCJ='`$ECHO "$module_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +module_cmds_RC='`$ECHO "$module_cmds_RC" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_F77='`$ECHO "$module_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_GO='`$ECHO "$module_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_GCJ='`$ECHO "$module_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_RC='`$ECHO "$module_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_F77='`$ECHO "$with_gnu_ld_F77" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_GO='`$ECHO "$with_gnu_ld_GO" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_GCJ='`$ECHO "$with_gnu_ld_GCJ" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_RC='`$ECHO "$with_gnu_ld_RC" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_F77='`$ECHO "$allow_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_GO='`$ECHO "$allow_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_GCJ='`$ECHO "$allow_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_RC='`$ECHO "$allow_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_F77='`$ECHO "$no_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_GO='`$ECHO "$no_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_GCJ='`$ECHO "$no_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_RC='`$ECHO "$no_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_F77='`$ECHO "$hardcode_libdir_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_GO='`$ECHO "$hardcode_libdir_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_GCJ='`$ECHO "$hardcode_libdir_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_RC='`$ECHO "$hardcode_libdir_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_F77='`$ECHO "$hardcode_libdir_separator_F77" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_GO='`$ECHO "$hardcode_libdir_separator_GO" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_GCJ='`$ECHO "$hardcode_libdir_separator_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_RC='`$ECHO "$hardcode_libdir_separator_RC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_F77='`$ECHO "$hardcode_direct_F77" | $SED "$delay_single_quote_subst"`' +hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_GO='`$ECHO "$hardcode_direct_GO" | $SED "$delay_single_quote_subst"`' +hardcode_direct_GCJ='`$ECHO "$hardcode_direct_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_direct_RC='`$ECHO "$hardcode_direct_RC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_F77='`$ECHO "$hardcode_direct_absolute_F77" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_GO='`$ECHO "$hardcode_direct_absolute_GO" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_GCJ='`$ECHO "$hardcode_direct_absolute_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_RC='`$ECHO "$hardcode_direct_absolute_RC" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_F77='`$ECHO "$hardcode_minus_L_F77" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_GO='`$ECHO "$hardcode_minus_L_GO" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_GCJ='`$ECHO "$hardcode_minus_L_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_RC='`$ECHO "$hardcode_minus_L_RC" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_F77='`$ECHO "$hardcode_shlibpath_var_F77" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_GO='`$ECHO "$hardcode_shlibpath_var_GO" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_GCJ='`$ECHO "$hardcode_shlibpath_var_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_RC='`$ECHO "$hardcode_shlibpath_var_RC" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_F77='`$ECHO "$hardcode_automatic_F77" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_GO='`$ECHO "$hardcode_automatic_GO" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_GCJ='`$ECHO "$hardcode_automatic_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_RC='`$ECHO "$hardcode_automatic_RC" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_F77='`$ECHO "$inherit_rpath_F77" | $SED "$delay_single_quote_subst"`' +inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`' +inherit_rpath_GO='`$ECHO "$inherit_rpath_GO" | $SED "$delay_single_quote_subst"`' +inherit_rpath_GCJ='`$ECHO "$inherit_rpath_GCJ" | $SED "$delay_single_quote_subst"`' +inherit_rpath_RC='`$ECHO "$inherit_rpath_RC" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_F77='`$ECHO "$link_all_deplibs_F77" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_GO='`$ECHO "$link_all_deplibs_GO" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_GCJ='`$ECHO "$link_all_deplibs_GCJ" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_RC='`$ECHO "$link_all_deplibs_RC" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_F77='`$ECHO "$always_export_symbols_F77" | $SED "$delay_single_quote_subst"`' +always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`' +always_export_symbols_GO='`$ECHO "$always_export_symbols_GO" | $SED "$delay_single_quote_subst"`' +always_export_symbols_GCJ='`$ECHO "$always_export_symbols_GCJ" | $SED "$delay_single_quote_subst"`' +always_export_symbols_RC='`$ECHO "$always_export_symbols_RC" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_F77='`$ECHO "$export_symbols_cmds_F77" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_GO='`$ECHO "$export_symbols_cmds_GO" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_GCJ='`$ECHO "$export_symbols_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_RC='`$ECHO "$export_symbols_cmds_RC" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_F77='`$ECHO "$exclude_expsyms_F77" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_GO='`$ECHO "$exclude_expsyms_GO" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_GCJ='`$ECHO "$exclude_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_RC='`$ECHO "$exclude_expsyms_RC" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_F77='`$ECHO "$include_expsyms_F77" | $SED "$delay_single_quote_subst"`' +include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`' +include_expsyms_GO='`$ECHO "$include_expsyms_GO" | $SED "$delay_single_quote_subst"`' +include_expsyms_GCJ='`$ECHO "$include_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' +include_expsyms_RC='`$ECHO "$include_expsyms_RC" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_F77='`$ECHO "$prelink_cmds_F77" | $SED "$delay_single_quote_subst"`' +prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`' +prelink_cmds_GO='`$ECHO "$prelink_cmds_GO" | $SED "$delay_single_quote_subst"`' +prelink_cmds_GCJ='`$ECHO "$prelink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +prelink_cmds_RC='`$ECHO "$prelink_cmds_RC" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_F77='`$ECHO "$postlink_cmds_F77" | $SED "$delay_single_quote_subst"`' +postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`' +postlink_cmds_GO='`$ECHO "$postlink_cmds_GO" | $SED "$delay_single_quote_subst"`' +postlink_cmds_GCJ='`$ECHO "$postlink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +postlink_cmds_RC='`$ECHO "$postlink_cmds_RC" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_F77='`$ECHO "$file_list_spec_F77" | $SED "$delay_single_quote_subst"`' +file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`' +file_list_spec_GO='`$ECHO "$file_list_spec_GO" | $SED "$delay_single_quote_subst"`' +file_list_spec_GCJ='`$ECHO "$file_list_spec_GCJ" | $SED "$delay_single_quote_subst"`' +file_list_spec_RC='`$ECHO "$file_list_spec_RC" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_F77='`$ECHO "$hardcode_action_F77" | $SED "$delay_single_quote_subst"`' +hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`' +hardcode_action_GO='`$ECHO "$hardcode_action_GO" | $SED "$delay_single_quote_subst"`' +hardcode_action_GCJ='`$ECHO "$hardcode_action_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_action_RC='`$ECHO "$hardcode_action_RC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_F77='`$ECHO "$compiler_lib_search_dirs_F77" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_GO='`$ECHO "$compiler_lib_search_dirs_GO" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_GCJ='`$ECHO "$compiler_lib_search_dirs_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_RC='`$ECHO "$compiler_lib_search_dirs_RC" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_F77='`$ECHO "$predep_objects_F77" | $SED "$delay_single_quote_subst"`' +predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`' +predep_objects_GO='`$ECHO "$predep_objects_GO" | $SED "$delay_single_quote_subst"`' +predep_objects_GCJ='`$ECHO "$predep_objects_GCJ" | $SED "$delay_single_quote_subst"`' +predep_objects_RC='`$ECHO "$predep_objects_RC" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_F77='`$ECHO "$postdep_objects_F77" | $SED "$delay_single_quote_subst"`' +postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`' +postdep_objects_GO='`$ECHO "$postdep_objects_GO" | $SED "$delay_single_quote_subst"`' +postdep_objects_GCJ='`$ECHO "$postdep_objects_GCJ" | $SED "$delay_single_quote_subst"`' +postdep_objects_RC='`$ECHO "$postdep_objects_RC" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +predeps_F77='`$ECHO "$predeps_F77" | $SED "$delay_single_quote_subst"`' +predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`' +predeps_GO='`$ECHO "$predeps_GO" | $SED "$delay_single_quote_subst"`' +predeps_GCJ='`$ECHO "$predeps_GCJ" | $SED "$delay_single_quote_subst"`' +predeps_RC='`$ECHO "$predeps_RC" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_F77='`$ECHO "$postdeps_F77" | $SED "$delay_single_quote_subst"`' +postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`' +postdeps_GO='`$ECHO "$postdeps_GO" | $SED "$delay_single_quote_subst"`' +postdeps_GCJ='`$ECHO "$postdeps_GCJ" | $SED "$delay_single_quote_subst"`' +postdeps_RC='`$ECHO "$postdeps_RC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_F77='`$ECHO "$compiler_lib_search_path_F77" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_GO='`$ECHO "$compiler_lib_search_path_GO" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_GCJ='`$ECHO "$compiler_lib_search_path_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_RC='`$ECHO "$compiler_lib_search_path_RC" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in AS \ +DLLTOOL \ +OBJDUMP \ +SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +FILECMD \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +sharedlib_from_linklib_cmd \ +AR \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +LD_F77 \ +LD_FC \ +LD_GO \ +LD_GCJ \ +LD_RC \ +reload_flag_CXX \ +reload_flag_F77 \ +reload_flag_FC \ +reload_flag_GO \ +reload_flag_GCJ \ +reload_flag_RC \ +compiler_CXX \ +compiler_F77 \ +compiler_FC \ +compiler_GO \ +compiler_GCJ \ +compiler_RC \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_no_builtin_flag_F77 \ +lt_prog_compiler_no_builtin_flag_FC \ +lt_prog_compiler_no_builtin_flag_GO \ +lt_prog_compiler_no_builtin_flag_GCJ \ +lt_prog_compiler_no_builtin_flag_RC \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_pic_F77 \ +lt_prog_compiler_pic_FC \ +lt_prog_compiler_pic_GO \ +lt_prog_compiler_pic_GCJ \ +lt_prog_compiler_pic_RC \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_wl_F77 \ +lt_prog_compiler_wl_FC \ +lt_prog_compiler_wl_GO \ +lt_prog_compiler_wl_GCJ \ +lt_prog_compiler_wl_RC \ +lt_prog_compiler_static_CXX \ +lt_prog_compiler_static_F77 \ +lt_prog_compiler_static_FC \ +lt_prog_compiler_static_GO \ +lt_prog_compiler_static_GCJ \ +lt_prog_compiler_static_RC \ +lt_cv_prog_compiler_c_o_CXX \ +lt_cv_prog_compiler_c_o_F77 \ +lt_cv_prog_compiler_c_o_FC \ +lt_cv_prog_compiler_c_o_GO \ +lt_cv_prog_compiler_c_o_GCJ \ +lt_cv_prog_compiler_c_o_RC \ +export_dynamic_flag_spec_CXX \ +export_dynamic_flag_spec_F77 \ +export_dynamic_flag_spec_FC \ +export_dynamic_flag_spec_GO \ +export_dynamic_flag_spec_GCJ \ +export_dynamic_flag_spec_RC \ +whole_archive_flag_spec_CXX \ +whole_archive_flag_spec_F77 \ +whole_archive_flag_spec_FC \ +whole_archive_flag_spec_GO \ +whole_archive_flag_spec_GCJ \ +whole_archive_flag_spec_RC \ +compiler_needs_object_CXX \ +compiler_needs_object_F77 \ +compiler_needs_object_FC \ +compiler_needs_object_GO \ +compiler_needs_object_GCJ \ +compiler_needs_object_RC \ +with_gnu_ld_CXX \ +with_gnu_ld_F77 \ +with_gnu_ld_FC \ +with_gnu_ld_GO \ +with_gnu_ld_GCJ \ +with_gnu_ld_RC \ +allow_undefined_flag_CXX \ +allow_undefined_flag_F77 \ +allow_undefined_flag_FC \ +allow_undefined_flag_GO \ +allow_undefined_flag_GCJ \ +allow_undefined_flag_RC \ +no_undefined_flag_CXX \ +no_undefined_flag_F77 \ +no_undefined_flag_FC \ +no_undefined_flag_GO \ +no_undefined_flag_GCJ \ +no_undefined_flag_RC \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_flag_spec_F77 \ +hardcode_libdir_flag_spec_FC \ +hardcode_libdir_flag_spec_GO \ +hardcode_libdir_flag_spec_GCJ \ +hardcode_libdir_flag_spec_RC \ +hardcode_libdir_separator_CXX \ +hardcode_libdir_separator_F77 \ +hardcode_libdir_separator_FC \ +hardcode_libdir_separator_GO \ +hardcode_libdir_separator_GCJ \ +hardcode_libdir_separator_RC \ +exclude_expsyms_CXX \ +exclude_expsyms_F77 \ +exclude_expsyms_FC \ +exclude_expsyms_GO \ +exclude_expsyms_GCJ \ +exclude_expsyms_RC \ +include_expsyms_CXX \ +include_expsyms_F77 \ +include_expsyms_FC \ +include_expsyms_GO \ +include_expsyms_GCJ \ +include_expsyms_RC \ +file_list_spec_CXX \ +file_list_spec_F77 \ +file_list_spec_FC \ +file_list_spec_GO \ +file_list_spec_GCJ \ +file_list_spec_RC \ +compiler_lib_search_dirs_CXX \ +compiler_lib_search_dirs_F77 \ +compiler_lib_search_dirs_FC \ +compiler_lib_search_dirs_GO \ +compiler_lib_search_dirs_GCJ \ +compiler_lib_search_dirs_RC \ +predep_objects_CXX \ +predep_objects_F77 \ +predep_objects_FC \ +predep_objects_GO \ +predep_objects_GCJ \ +predep_objects_RC \ +postdep_objects_CXX \ +postdep_objects_F77 \ +postdep_objects_FC \ +postdep_objects_GO \ +postdep_objects_GCJ \ +postdep_objects_RC \ +predeps_CXX \ +predeps_F77 \ +predeps_FC \ +predeps_GO \ +predeps_GCJ \ +predeps_RC \ +postdeps_CXX \ +postdeps_F77 \ +postdeps_FC \ +postdeps_GO \ +postdeps_GCJ \ +postdeps_RC \ +compiler_lib_search_path_CXX \ +compiler_lib_search_path_F77 \ +compiler_lib_search_path_FC \ +compiler_lib_search_path_GO \ +compiler_lib_search_path_GCJ \ +compiler_lib_search_path_RC; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +reload_cmds_F77 \ +reload_cmds_FC \ +reload_cmds_GO \ +reload_cmds_GCJ \ +reload_cmds_RC \ +old_archive_cmds_CXX \ +old_archive_cmds_F77 \ +old_archive_cmds_FC \ +old_archive_cmds_GO \ +old_archive_cmds_GCJ \ +old_archive_cmds_RC \ +old_archive_from_new_cmds_CXX \ +old_archive_from_new_cmds_F77 \ +old_archive_from_new_cmds_FC \ +old_archive_from_new_cmds_GO \ +old_archive_from_new_cmds_GCJ \ +old_archive_from_new_cmds_RC \ +old_archive_from_expsyms_cmds_CXX \ +old_archive_from_expsyms_cmds_F77 \ +old_archive_from_expsyms_cmds_FC \ +old_archive_from_expsyms_cmds_GO \ +old_archive_from_expsyms_cmds_GCJ \ +old_archive_from_expsyms_cmds_RC \ +archive_cmds_CXX \ +archive_cmds_F77 \ +archive_cmds_FC \ +archive_cmds_GO \ +archive_cmds_GCJ \ +archive_cmds_RC \ +archive_expsym_cmds_CXX \ +archive_expsym_cmds_F77 \ +archive_expsym_cmds_FC \ +archive_expsym_cmds_GO \ +archive_expsym_cmds_GCJ \ +archive_expsym_cmds_RC \ +module_cmds_CXX \ +module_cmds_F77 \ +module_cmds_FC \ +module_cmds_GO \ +module_cmds_GCJ \ +module_cmds_RC \ +module_expsym_cmds_CXX \ +module_expsym_cmds_F77 \ +module_expsym_cmds_FC \ +module_expsym_cmds_GO \ +module_expsym_cmds_GCJ \ +module_expsym_cmds_RC \ +export_symbols_cmds_CXX \ +export_symbols_cmds_F77 \ +export_symbols_cmds_FC \ +export_symbols_cmds_GO \ +export_symbols_cmds_GCJ \ +export_symbols_cmds_RC \ +prelink_cmds_CXX \ +prelink_cmds_F77 \ +prelink_cmds_FC \ +prelink_cmds_GO \ +prelink_cmds_GCJ \ +prelink_cmds_RC \ +postlink_cmds_CXX \ +postlink_cmds_F77 \ +postlink_cmds_FC \ +postlink_cmds_GO \ +postlink_cmds_GCJ \ +postlink_cmds_RC; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + + + + + + + + + + + + +GNUmakefile=$GNUmakefile + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; + "tests/atconfig") CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + :L) + # + # CONFIG_LINK + # + + if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then + : + else + # Prefer the file from the source tree if names are identical. + if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then + ac_source=$srcdir/$ac_source + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 +$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} + + if test ! -r "$ac_source"; then + as_fn_error $? "$ac_source: file not found" "$LINENO" 5 + fi + rm -f "$ac_file" + + # Try a relative symlink, then a hard link, then a copy. + case $ac_source in + [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; + *) ac_rel_source=$ac_top_build_prefix$ac_source ;; + esac + ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || + ln "$ac_source" "$ac_file" 2>/dev/null || + cp -p "$ac_source" "$ac_file" || + as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 + fi + ;; + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "tests/atconfig":C) cat >tests/atconfig </dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX F77 FC GO GCJ RC ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Assembler program. +AS=$lt_AS + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Object dumper program. +OBJDUMP=$lt_OBJDUMP + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: F77 + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_F77 +reload_cmds=$lt_reload_cmds_F77 + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_F77 + +# A language specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU compiler? +with_gcc=$GCC_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_F77 + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_F77 + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_F77 + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_F77 + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_F77 + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_F77 + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_F77 + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77 + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_F77 +postdep_objects=$lt_postdep_objects_F77 +predeps=$lt_predeps_F77 +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# ### END LIBTOOL TAG CONFIG: F77 +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: FC + +# The linker used to build libraries. +LD=$lt_LD_FC + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_FC +reload_cmds=$lt_reload_cmds_FC + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_FC + +# A language specific compiler. +CC=$lt_compiler_FC + +# Is the compiler the GNU compiler? +with_gcc=$GCC_FC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_FC + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_FC + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_FC + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_FC + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_FC + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_FC +archive_expsym_cmds=$lt_archive_expsym_cmds_FC + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_FC +module_expsym_cmds=$lt_module_expsym_cmds_FC + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_FC + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_FC + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_FC + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_FC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_FC + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_FC + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_FC + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_FC + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_FC + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_FC + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_FC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_FC + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_FC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_FC + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_FC + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_FC + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_FC + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_FC + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_FC +postdep_objects=$lt_postdep_objects_FC +predeps=$lt_predeps_FC +postdeps=$lt_postdeps_FC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_FC + +# ### END LIBTOOL TAG CONFIG: FC +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: GO + +# The linker used to build libraries. +LD=$lt_LD_GO + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_GO +reload_cmds=$lt_reload_cmds_GO + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_GO + +# A language specific compiler. +CC=$lt_compiler_GO + +# Is the compiler the GNU compiler? +with_gcc=$GCC_GO + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GO + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GO + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GO + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GO + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GO + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GO + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GO + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GO + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GO + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_GO + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GO + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GO + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_GO +archive_expsym_cmds=$lt_archive_expsym_cmds_GO + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_GO +module_expsym_cmds=$lt_module_expsym_cmds_GO + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_GO + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GO + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GO + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GO + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GO + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_GO + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_GO + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_GO + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GO + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_GO + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_GO + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GO + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_GO + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GO + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GO + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GO + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_GO + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_GO + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_GO + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GO + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GO + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_GO +postdep_objects=$lt_postdep_objects_GO +predeps=$lt_predeps_GO +postdeps=$lt_postdeps_GO + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GO + +# ### END LIBTOOL TAG CONFIG: GO +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: GCJ + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_GCJ +reload_cmds=$lt_reload_cmds_GCJ + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_GCJ + +# A language specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU compiler? +with_gcc=$GCC_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_GCJ + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_GCJ + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_GCJ + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_GCJ + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_GCJ + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_GCJ + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_GCJ + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_GCJ +postdep_objects=$lt_postdep_objects_GCJ +predeps=$lt_predeps_GCJ +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# ### END LIBTOOL TAG CONFIG: GCJ +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: RC + +# The linker used to build libraries. +LD=$lt_LD_RC + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_RC +reload_cmds=$lt_reload_cmds_RC + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_RC + +# A language specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU compiler? +with_gcc=$GCC_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_RC + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_RC + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_RC + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_RC + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_RC + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_RC + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_RC + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_RC + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_RC +postdep_objects=$lt_postdep_objects_RC +predeps=$lt_predeps_RC +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# ### END LIBTOOL TAG CONFIG: RC +_LT_EOF + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/BUILD/libtool-2.4.7/autom4te.cache/requests b/BUILD/libtool-2.4.7/autom4te.cache/requests new file mode 100644 index 0000000..adad549 --- /dev/null +++ b/BUILD/libtool-2.4.7/autom4te.cache/requests @@ -0,0 +1,346 @@ +# This file was generated by Autom4te Tue Apr 9 10:00:21 UTC 2024. +# It contains the lists of macros which have been traced. +# It can be safely removed. + +@request = ( + bless( [ + '0', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + '-', + '/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4', + '/usr/share/aclocal-1.16/amversion.m4', + '/usr/share/aclocal-1.16/auxdir.m4', + '/usr/share/aclocal-1.16/cond.m4', + '/usr/share/aclocal-1.16/depend.m4', + '/usr/share/aclocal-1.16/depout.m4', + '/usr/share/aclocal-1.16/init.m4', + '/usr/share/aclocal-1.16/install-sh.m4', + '/usr/share/aclocal-1.16/lead-dot.m4', + '/usr/share/aclocal-1.16/make.m4', + '/usr/share/aclocal-1.16/missing.m4', + '/usr/share/aclocal-1.16/options.m4', + '/usr/share/aclocal-1.16/prog-cc-c-o.m4', + '/usr/share/aclocal-1.16/runlog.m4', + '/usr/share/aclocal-1.16/sanity.m4', + '/usr/share/aclocal-1.16/silent.m4', + '/usr/share/aclocal-1.16/strip.m4', + '/usr/share/aclocal-1.16/substnot.m4', + '/usr/share/aclocal-1.16/tar.m4', + 'm4/00gnulib.m4', + 'm4/autobuild.m4', + 'm4/gnulib-common.m4', + 'm4/gnulib-comp.m4', + 'm4/libtool.m4', + 'm4/ltargz.m4', + 'm4/ltdl.m4', + 'm4/ltoptions.m4', + 'm4/ltsugar.m4', + 'm4/ltversion.m4', + 'm4/lt~obsolete.m4', + 'm4/m4.m4', + 'm4/zzgnulib.m4', + 'configure.ac' + ], + { + '_LT_PROG_F77' => 1, + 'AC_LTDL_SHLIBEXT' => 1, + 'LT_AC_PROG_RC' => 1, + 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, + 'LTDL_INIT' => 1, + 'AC_DISABLE_STATIC' => 1, + '_m4_warn' => 1, + 'gl_ASSERT_NO_GNULIB_TESTS' => 1, + '_AM_SET_OPTION' => 1, + '_LT_LINKER_OPTION' => 1, + 'AC_LIBTOOL_CXX' => 1, + 'gl_CXX_ALLOW_WARNINGS' => 1, + 'AM_PROG_LIBTOOL' => 1, + 'AC_LIBLTDL_CONVENIENCE' => 1, + 'AC_PROG_NM' => 1, + '_LT_COMPILER_OPTION' => 1, + 'AC_LIBTOOL_DLOPEN_SELF' => 1, + 'LT_FUNC_DLSYM_USCORE' => 1, + '_LT_AC_FILE_LTDLL_C' => 1, + '_LT_PATH_TOOL_PREFIX' => 1, + 'LT_LIB_DLLOAD' => 1, + 'm4_include' => 1, + 'AC_LIBTOOL_CONFIG' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, + 'GL_EARLY' => 1, + 'AC_LTDL_SYMBOL_USCORE' => 1, + 'GL_LIBOBJ' => 1, + 'AC_DEFUN' => 1, + 'AM_MAKE_INCLUDE' => 1, + 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, + 'AC_CHECK_LIBM' => 1, + 'AM_DISABLE_STATIC' => 1, + 'AM_SILENT_RULES' => 1, + '_LT_LIBOBJ' => 1, + 'm4_pattern_allow' => 1, + 'AC_CONFIG_MACRO_DIR' => 1, + 'LT_FUNC_ARGZ' => 1, + 'gl_PROG_CC_C99' => 1, + '_LT_PROG_CXX' => 1, + 'gl_COMPILER_PREPARE_CHECK_DECL' => 1, + '_GL_MDA_DEFINES' => 1, + 'AC_DEFUN_ONCE' => 1, + 'gl_COMMON' => 1, + 'AC_LIB_LTDL' => 1, + '_LT_WITH_SYSROOT' => 1, + '_LT_PROG_FC' => 1, + 'AC_LIBTOOL_LINKER_OPTION' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'gl_FEATURES_H' => 1, + 'GL_REPLACE_FUNCS' => 1, + 'LTOPTIONS_VERSION' => 1, + 'LT_OUTPUT' => 1, + '_AM_CONFIG_MACRO_DIRS' => 1, + 'AM_PROG_NM' => 1, + 'GL_FILE_LIST' => 1, + 'AM_SET_LEADING_DOT' => 1, + 'AM_PROG_LD' => 1, + '_LT_AC_LANG_F77' => 1, + 'AC_LTDL_PREOPEN' => 1, + 'LTSUGAR_VERSION' => 1, + 'AC_C_RESTRICT' => 1, + 'AC_LIBTOOL_SETUP' => 1, + 'gl_ZZGNULIB' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + '_LT_AC_CHECK_DLFCN' => 1, + '_LT_AC_TAGVAR' => 1, + '_LT_REQUIRED_DARWIN_CHECKS' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, + '_LT_AC_TRY_DLOPEN_SELF' => 1, + 'LTDL_CONVENIENCE' => 1, + 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, + 'AC_LTDL_SHLIBPATH' => 1, + 'gl_CACHE_VAL_SILENT' => 1, + '_LT_AC_LANG_CXX' => 1, + 'AC_PATH_MAGIC' => 1, + 'AC_LIBTOOL_WIN32_DLL' => 1, + 'gl_PROG_AR_RANLIB' => 1, + 'gl_00GNULIB' => 1, + 'AC_LIBTOOL_GCJ' => 1, + '_LT_AC_LANG_F77_CONFIG' => 1, + '_LT_PROG_ECHO_BACKSLASH' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, + 'AM_PROG_CC_C_O' => 1, + 'LT_SYS_DLOPEN_SELF' => 1, + 'include' => 1, + 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, + 'AM_RUN_LOG' => 1, + 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, + 'gl_CONDITIONAL_HEADER' => 1, + 'gl_W' => 1, + 'AM_SUBST_NOTMAKE' => 1, + '_LT_AC_LANG_GCJ' => 1, + '_LT_DLL_DEF_P' => 1, + 'AC_LIBTOOL_OBJDIR' => 1, + 'AC_PROG_LD' => 1, + 'AC_LIBTOOL_DLOPEN' => 1, + 'gl_SILENT' => 1, + 'AM_AUX_DIR_EXPAND' => 1, + 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, + 'AC_PROG_LD_GNU' => 1, + 'gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'GL_LIBSOURCES' => 1, + 'gl_ASSERT_NO_GNULIB_POSIXCHECK' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'AM_PROG_INSTALL_SH' => 1, + '_LT_AC_LANG_GCJ_CONFIG' => 1, + 'gl_CC_ALLOW_WARNINGS' => 1, + 'AC_ENABLE_SHARED' => 1, + 'AU_DEFUN' => 1, + 'gl_CC_GNULIB_WARNINGS' => 1, + 'GL_MDA_DEFINES' => 1, + 'AC_LTDL_OBJDIR' => 1, + 'AC_PROG_GNU_M4' => 1, + 'AC_LIBTOOL_LANG_C_CONFIG' => 1, + '_LT_CC_BASENAME' => 1, + 'LT_PROG_GCJ' => 1, + 'LT_WITH_LTDL' => 1, + '_AM_IF_OPTION' => 1, + 'gl_MODULE_INDICATOR_INIT_VARIABLE' => 1, + 'm4_pattern_forbid' => 1, + '_LT_AC_SYS_COMPILER' => 1, + 'LT_AC_PROG_SED' => 1, + '_AC_PROG_LIBTOOL' => 1, + 'gl_BIGENDIAN' => 1, + 'AC_LTDL_DLLIB' => 1, + 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + 'LTVERSION_VERSION' => 1, + 'AM_ENABLE_STATIC' => 1, + '_LT_AC_PROG_ECHO_BACKSLASH' => 1, + 'gl_MODULE_INDICATOR_FOR_TESTS' => 1, + 'AC_DISABLE_SHARED' => 1, + 'LT_CMD_MAX_LEN' => 1, + '_AM_MANGLE_OPTION' => 1, + 'AC_ENABLE_FAST_INSTALL' => 1, + '_LT_AC_LANG_RC_CONFIG' => 1, + '_AM_SET_OPTIONS' => 1, + 'AC_LIBLTDL_INSTALLABLE' => 1, + 'GLtests_LIBOBJ' => 1, + 'LTOBSOLETE_VERSION' => 1, + '_LTDL_SETUP' => 1, + '_LT_LINKER_BOILERPLATE' => 1, + '_LT_AC_LANG_C_CONFIG' => 1, + 'AM_SANITY_CHECK' => 1, + 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, + 'AM_ENABLE_SHARED' => 1, + 'AC_LIBTOOL_PROG_CC_C_O' => 1, + 'AC_DEPLIBS_CHECK_METHOD' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'LT_PATH_LD' => 1, + '_LT_AC_LOCK' => 1, + 'LT_LIB_M' => 1, + 'AC_LTDL_SYSSEARCHPATH' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'LT_SYS_DLSEARCH_PATH' => 1, + 'AC_PROG_LD_RELOAD_FLAG' => 1, + 'AC_PROG_EGREP' => 1, + '_AM_DEPENDENCIES' => 1, + 'LT_SYS_MODULE_PATH' => 1, + 'AC_LIBTOOL_F77' => 1, + '_AM_AUTOCONF_VERSION' => 1, + 'AC_ENABLE_STATIC' => 1, + 'AC_PATH_TOOL_PREFIX' => 1, + '_LT_PROG_LTMAIN' => 1, + 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'LT_PROG_GO' => 1, + 'GLtests_LIBSOURCES' => 1, + 'AB_INIT' => 1, + 'AM_DISABLE_SHARED' => 1, + 'LT_AC_PROG_GCJ' => 1, + '_AM_PROG_CC_C_O' => 1, + '_LT_AC_SHELL_INIT' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, + 'AM_SET_DEPDIR' => 1, + 'gl_MODULE_INDICATOR' => 1, + 'GL_INIT' => 1, + 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, + 'LT_SYS_MODULE_EXT' => 1, + '_LT_PREPARE_SED_QUOTE_VARS' => 1, + 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, + 'AC_LTDL_ENABLE_INSTALL' => 1, + 'LT_LANG' => 1, + 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'LT_AC_PROG_EGREP' => 1, + 'AC_LIBTOOL_COMPILER_OPTION' => 1, + '_AM_PROG_TAR' => 1, + 'LT_SYS_SYMBOL_USCORE' => 1, + '_LT_COMPILER_BOILERPLATE' => 1, + 'LT_PATH_NM' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_WITH_LTDL' => 1, + 'gl_COMPILER_CLANG' => 1, + 'LT_SYS_DLOPEN_DEPLIBS' => 1, + 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + 'gl_CONDITIONAL' => 1, + 'gl_MODULE_INDICATOR_SET_VARIABLE' => 1, + '_LT_AC_PROG_CXXCPP' => 1, + 'gl_COMMON_BODY' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AC_LIBTOOL_FC' => 1, + 'AC_LIBTOOL_RC' => 1, + 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, + 'AM_MISSING_HAS_RUN' => 1, + 'AC_LTDL_DLSYM_USCORE' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'GLtests_REPLACE_FUNCS' => 1, + 'AM_DEP_TRACK' => 1, + 'LT_INIT' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, + 'LT_PROG_RC' => 1, + 'AM_MISSING_PROG' => 1, + 'LTDL_INSTALLABLE' => 1, + 'AC_LIBTOOL_PICMODE' => 1, + 'gl_MODULE_INDICATOR_SET_VARIABLE_AUX' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '1', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + 'configure.ac' + ], + { + 'AM_MAINTAINER_MODE' => 1, + 'AM_PROG_AR' => 1, + 'AC_FC_PP_DEFINE' => 1, + '_m4_warn' => 1, + 'm4_pattern_forbid' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_SUBST_TRACE' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AM_PATH_GUILE' => 1, + 'AC_FC_SRCEXT' => 1, + 'AM_ENABLE_MULTILIB' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'AM_MAKEFILE_INCLUDE' => 1, + 'AM_PROG_LIBTOOL' => 1, + 'AM_XGETTEXT_OPTION' => 1, + '_AM_COND_ENDIF' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'm4_sinclude' => 1, + 'AM_PROG_CC_C_O' => 1, + 'AC_CONFIG_FILES' => 1, + 'AM_EXTRA_RECURSIVE_TARGETS' => 1, + 'AC_CONFIG_LINKS' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'include' => 1, + 'm4_include' => 1, + 'AC_FC_FREEFORM' => 1, + '_AM_COND_ELSE' => 1, + 'AM_PROG_MKDIR_P' => 1, + 'AC_CONFIG_HEADERS' => 1, + 'AC_SUBST' => 1, + '_AM_COND_IF' => 1, + 'AC_INIT' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AM_SILENT_RULES' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AC_FC_PP_SRCEXT' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CANONICAL_HOST' => 1, + 'm4_pattern_allow' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'AM_PROG_MOC' => 1, + 'sinclude' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'AM_NLS' => 1, + 'LT_INIT' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'AM_PROG_F77_C_O' => 1, + 'AM_GNU_GETTEXT' => 1, + '_AM_MAKEFILE_INCLUDE' => 1, + 'AC_LIBSOURCE' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AH_OUTPUT' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AM_POT_TOOLS' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AC_CANONICAL_BUILD' => 1 + } + ], 'Autom4te::Request' ) + ); + diff --git a/BUILD/libtool-2.4.7/autom4te.cache/traces.0 b/BUILD/libtool-2.4.7/autom4te.cache/traces.0 new file mode 100644 index 0000000..d54b2df --- /dev/null +++ b/BUILD/libtool-2.4.7/autom4te.cache/traces.0 @@ -0,0 +1,4267 @@ +m4trace:/usr/share/aclocal-1.16/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.16.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) +m4trace:/usr/share/aclocal-1.16/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +m4trace:/usr/share/aclocal-1.16/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) +m4trace:/usr/share/aclocal-1.16/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) +m4trace:/usr/share/aclocal-1.16/depend.m4:26: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) +m4trace:/usr/share/aclocal-1.16/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) +m4trace:/usr/share/aclocal-1.16/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) +m4trace:/usr/share/aclocal-1.16/depout.m4:11: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? + done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk +} +]) +m4trace:/usr/share/aclocal-1.16/depout.m4:62: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) +m4trace:/usr/share/aclocal-1.16/init.m4:29: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) +m4trace:/usr/share/aclocal-1.16/init.m4:186: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) +m4trace:/usr/share/aclocal-1.16/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) +m4trace:/usr/share/aclocal-1.16/lead-dot.m4:10: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) +m4trace:/usr/share/aclocal-1.16/make.m4:13: -1- AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +m4trace:/usr/share/aclocal-1.16/make.m4:42: -1- m4_pattern_allow([^am__quote$]) +m4trace:/usr/share/aclocal-1.16/missing.m4:11: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) +m4trace:/usr/share/aclocal-1.16/missing.m4:20: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) +m4trace:/usr/share/aclocal-1.16/options.m4:11: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +m4trace:/usr/share/aclocal-1.16/options.m4:17: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) +m4trace:/usr/share/aclocal-1.16/options.m4:23: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +m4trace:/usr/share/aclocal-1.16/options.m4:29: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +m4trace:/usr/share/aclocal-1.16/prog-cc-c-o.m4:12: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) +m4trace:/usr/share/aclocal-1.16/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) +m4trace:/usr/share/aclocal-1.16/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) +m4trace:/usr/share/aclocal-1.16/sanity.m4:11: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) +m4trace:/usr/share/aclocal-1.16/silent.m4:12: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) +m4trace:/usr/share/aclocal-1.16/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) +m4trace:/usr/share/aclocal-1.16/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) +m4trace:/usr/share/aclocal-1.16/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) +m4trace:/usr/share/aclocal-1.16/tar.m4:23: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) +m4trace:m4/00gnulib.m4:24: -1- AC_DEFUN([gl_COMPILER_CLANG], [ +dnl AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([whether the compiler is clang], + [gl_cv_compiler_clang], + [dnl Use _AC_COMPILE_IFELSE instead of AC_EGREP_CPP, to avoid error + dnl "circular dependency of AC_LANG_COMPILER(C)" if AC_PROG_CC has + dnl not yet been invoked. + _AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #ifdef __clang__ + barfbarf + #endif + ]],[[]]) + ], + [gl_cv_compiler_clang=no], + [gl_cv_compiler_clang=yes]) + ]) +]) +m4trace:m4/00gnulib.m4:43: -1- AC_DEFUN([gl_COMPILER_PREPARE_CHECK_DECL], [ +dnl AC_REQUIRE([AC_PROG_CC]) +dnl AC_REQUIRE([gl_COMPILER_CLANG]) + AC_CACHE_CHECK([for compiler option needed when checking for declarations], + [gl_cv_compiler_check_decl_option], + [if test $gl_cv_compiler_clang = yes; then + dnl Test whether the compiler supports the option + dnl '-Werror=implicit-function-declaration'. + save_ac_compile="$ac_compile" + ac_compile="$ac_compile -Werror=implicit-function-declaration" + dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a + dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". + _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], + [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'], + [gl_cv_compiler_check_decl_option=none]) + ac_compile="$save_ac_compile" + else + gl_cv_compiler_check_decl_option=none + fi + ]) + if test "x$gl_cv_compiler_check_decl_option" != xnone; then + ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" + else + ac_compile_for_check_decl="$ac_compile" + fi +]) +m4trace:m4/00gnulib.m4:85: -1- AC_DEFUN([gl_00GNULIB]) +m4trace:m4/autobuild.m4:11: -1- AC_DEFUN([AB_INIT], [ + AC_REQUIRE([AC_CANONICAL_BUILD]) + AC_REQUIRE([AC_CANONICAL_HOST]) + + if test -z "$AB_PACKAGE"; then + AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} + fi + AC_MSG_NOTICE([autobuild project... $AB_PACKAGE]) + + if test -z "$AB_VERSION"; then + AB_VERSION=${PACKAGE_VERSION:-$VERSION} + fi + AC_MSG_NOTICE([autobuild revision... $AB_VERSION]) + + hostname=`hostname` + if test "$hostname"; then + AC_MSG_NOTICE([autobuild hostname... $hostname]) + fi + + ifelse([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])]) + + date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` + if test "$?" != 0; then + date=`date` + fi + if test "$date"; then + AC_MSG_NOTICE([autobuild timestamp... $date]) + fi +]) +m4trace:m4/gnulib-common.m4:11: -1- AC_DEFUN([gl_COMMON], [ + dnl Use AC_REQUIRE here, so that the code is expanded once only. + AC_REQUIRE([gl_00GNULIB]) + AC_REQUIRE([gl_COMMON_BODY]) + AC_REQUIRE([gl_ZZGNULIB]) +]) +m4trace:m4/gnulib-common.m4:17: -1- AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([_GL_GNUC_PREREQ], +[/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define _GL_GNUC_PREREQ(major, minor) \ + ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) +#else +# define _GL_GNUC_PREREQ(major, minor) 0 +#endif +]) + AH_VERBATIM([_Noreturn], +[/* The _Noreturn keyword of C11. */ +#ifndef _Noreturn +# if (defined __cplusplus \ + && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ + || (defined _MSC_VER && 1900 <= _MSC_VER)) \ + && 0) + /* [[noreturn]] is not practically usable, because with it the syntax + extern _Noreturn void func (...); + would not be valid; such a declaration would only be valid with 'extern' + and '_Noreturn' swapped, or without the 'extern' keyword. However, some + AIX system header files and several gnulib header files use precisely + this syntax with 'extern'. */ +# define _Noreturn [[noreturn]] +# elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || (!defined __STRICT_ANSI__ \ + && (_GL_GNUC_PREREQ (4, 7) \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) + /* _Noreturn works as-is. */ +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif +]) + AH_VERBATIM([isoc99_inline], +[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for Mac OS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif]) + AH_VERBATIM([attribute], +[/* Attributes. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || 3 < __clang_major__ + (5 <= __clang_minor__))) +# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) +#else +# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr +# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) +# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) +# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_diagnose_if 0 +# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) +# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) +# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) +# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) +# ifdef _ICC +# define _GL_ATTR_may_alias 0 +# else +# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) +# endif +# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) +# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) +# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) +# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) +# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) +#endif + +#ifdef __has_c_attribute +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif + +]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's _Alignas instead. +[ +/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function + is the size of the returned memory block. + _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied + by the Nth argument of the function is the size of the returned memory block. + */ +/* Applies to: function, pointer to function, function types. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif + +/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the + function and report an error if it cannot do so. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#endif + +/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show + in stack traces when debugging. The compiler should omit the function from + stack traces. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#endif + +/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ +/* Applies to: functions. */ +/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at + . + Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ +#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif +#else +# define _GL_ATTRIBUTE_COLD +#endif + +/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate + calls to the function with the same arguments. + This attribute is safe for a function that neither depends on nor affects + observable state, and always returns exactly once - e.g., does not loop + forever, and does not call longjmp. + (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST +#endif + +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. + _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#endif +/* If gnulib's or has already defined this macro, continue + to use this earlier definition, since may not have been included + yet. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. + The compiler may warn if the entity is used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: namespace, class, template specialization. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED +#endif + +/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and + the function call is not optimized away. + _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and + the function call is not optimized away. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +#elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +#else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +#endif + +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#endif + +/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if + the control flow falls through to the immediately following 'case' or + 'default' label. The compiler should not warn in this case. */ +/* Applies to: Empty statement (;), inside a 'switch' statement. */ +/* Always expands to something. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#endif + +/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) + declares that the STRING-INDEXth function argument is a format string of + style ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with '__'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#endif + +/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other + compilation unit, it executes code from that unit only by return or by + exception handling. This declaration lets the compiler optimize that unit + more aggressively. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC +#endif + +/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the + same storage as pointers to other types. Thus this declaration disables + strict aliasing optimization. */ +/* Applies to: types. */ +/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#endif + +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: class. */ +/* In C++ and C2x, this is spelled [[__maybe_unused__]]. + GCC's syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience. */ +#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED +/* Earlier spellings of this macro. */ +#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED + +/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not + discard the return value. The compiler may warn if the caller does not use + the return value, unless the caller uses something like ignore_value. */ +/* Applies to: function, enumeration, class. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#endif + +/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... + must not be NULL. + _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be + null. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#endif + +/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is + not meant to be NUL-terminated. */ +/* Applies to: struct/union members and variables that are arrays of element + type '[[un]signed] char'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW +#endif + +/* _GL_ATTRIBUTE_PACKED declares: + For struct members: The member has the smallest possible alignment. + For struct, union, class: All members have the smallest possible alignment, + minimizing the memory required. */ +/* Applies to: struct members, struct, union, + in C++ also: class. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +#else +# define _GL_ATTRIBUTE_PACKED +#endif + +/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate + calls to the function with the same arguments if observable state is not + changed between calls. + This attribute is safe for a function that does not affect + observable state, and always returns exactly once. + (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE +#endif + +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#endif + +/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a + trailing NULL argument. + _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). + _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) +#endif + +/* A helper macro. Don't use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#endif + +]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead. +[ +/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the + immediately preceding label is not used. The compiler should not warn + if the label is not used. */ +/* Applies to: label (both in C and C++). */ +/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' + syntax. But clang does. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif +]) + AH_VERBATIM([async_safe], +[/* The _GL_ASYNC_SAFE marker should be attached to functions that are + signal handlers (for signals other than SIGABRT, SIGPIPE) or can be + invoked from such signal handlers. Such functions have some restrictions: + * All functions that it calls should be marked _GL_ASYNC_SAFE as well, + or should be listed as async-signal-safe in POSIX + + section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in + particular, are NOT async-signal-safe. + * All memory locations (variables and struct fields) that these functions + access must be marked 'volatile'. This holds for both read and write + accesses. Otherwise the compiler might optimize away stores to and + reads from such locations that occur in the program, depending on its + data flow analysis. For example, when the program contains a loop + that is intended to inspect a variable set from within a signal handler + while (!signal_occurred) + ; + the compiler is allowed to transform this into an endless loop if the + variable 'signal_occurred' is not declared 'volatile'. + Additionally, recall that: + * A signal handler should not modify errno (except if it is a handler + for a fatal signal and ends by raising the same signal again, thus + provoking the termination of the process). If it invokes a function + that may clobber errno, it needs to save and restore the value of + errno. */ +#define _GL_ASYNC_SAFE +]) + AH_VERBATIM([micro_optimizations], +[/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where + n1 and n2 are expressions without side effects, that evaluate to real + numbers (excluding NaN). + It returns + 1 if n1 > n2 + 0 if n1 == n2 + -1 if n1 < n2 + The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional + jump with nearly all GCC versions up to GCC 10. + This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many + GCC versions up to GCC 9. + The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 + avoids conditional jumps in all GCC versions >= 3.4. */ +#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) +]) + dnl Hint which direction to take regarding cross-compilation guesses: + dnl When a user installs a program on a platform they are not intimately + dnl familiar with, --enable-cross-guesses=conservative is the appropriate + dnl choice. It implements the "If we don't know, assume the worst" principle. + dnl However, when an operating system developer (on a platform which is not + dnl yet known to gnulib) builds packages for their platform, they want to + dnl expose, not hide, possible platform bugs; in this case, + dnl --enable-cross-guesses=risky is the appropriate choice. + dnl Sets the variables + dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad), + dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad). + AC_ARG_ENABLE([cross-guesses], + [AS_HELP_STRING([--enable-cross-guesses={conservative|risky}], + [specify policy for cross-compilation guesses])], + [if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then + AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses]) + enableval=conservative + fi + gl_cross_guesses="$enableval"], + [gl_cross_guesses=conservative]) + if test $gl_cross_guesses = risky; then + gl_cross_guess_normal="guessing yes" + gl_cross_guess_inverted="guessing no" + else + gl_cross_guess_normal="guessing no" + gl_cross_guess_inverted="guessing yes" + fi + dnl Preparation for running test programs: + dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not + dnl to /dev/tty, so they can be redirected to log files. Such diagnostics + dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. + LIBC_FATAL_STDERR_=1 + export LIBC_FATAL_STDERR_ +]) +m4trace:m4/gnulib-common.m4:516: -1- AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE], [ + GL_MODULE_INDICATOR_PREFIX[]_[$1]=m4_if([$2], , [0], [$2]) + AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1]) +]) +m4trace:m4/gnulib-common.m4:531: -1- AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], [ + gl_MODULE_INDICATOR_SET_VARIABLE_AUX( + [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], + [gl_MODULE_INDICATOR_CONDITION]) +]) +m4trace:m4/gnulib-common.m4:544: -1- AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], [ + m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], + [ + dnl Simplify the expression VALUE || 1 to 1. + $1=1 + ], + [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], + [gl_MODULE_INDICATOR_CONDITION])]) +]) +m4trace:m4/gnulib-common.m4:558: -1- AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], [ + dnl Simplify the expression 1 || CONDITION to 1. + if test "$[]$1" != 1; then + dnl Simplify the expression 0 || CONDITION to CONDITION. + if test "$[]$1" = 0; then + $1=$2 + else + $1="($[]$1 || $2)" + fi + fi +]) +m4trace:m4/gnulib-common.m4:583: -1- AC_DEFUN([gl_MODULE_INDICATOR], [ + AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), + [gl_MODULE_INDICATOR_CONDITION], + [Define to a C preprocessor expression that evaluates to 1 or 0, + depending whether the gnulib module $1 shall be considered present.]) +]) +m4trace:m4/gnulib-common.m4:606: -1- AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], [ + AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], + [Define to 1 when the gnulib module $1 should be tested.]) +]) +m4trace:m4/gnulib-common.m4:618: -1- AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], [ + dnl Override gl_WARN_ON_USE_PREPARE. + dnl But hide this definition from 'aclocal'. + AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) +]) +m4trace:m4/gnulib-common.m4:629: -1- AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS], [ + dnl Override gl_MODULE_INDICATOR_FOR_TESTS. + AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], []) +]) +m4trace:m4/gnulib-common.m4:637: -1- AC_DEFUN([gl_FEATURES_H], [ + AC_CHECK_HEADERS_ONCE([features.h]) + if test $ac_cv_header_features_h = yes; then + HAVE_FEATURES_H=1 + else + HAVE_FEATURES_H=0 + fi + AC_SUBST([HAVE_FEATURES_H]) +]) +m4trace:m4/gnulib-common.m4:651: -1- AC_DEFUN([gl_PROG_CC_C99], [ + dnl Just use AC_PROG_CC_C99. + dnl When AC_PROG_CC_C99 and AC_PROG_CC_STDC are used together, the substituted + dnl value of CC will contain the C99 enabling options twice. But this is only + dnl a cosmetic problem. + dnl With Autoconf >= 2.70, use AC_PROG_CC since it implies AC_PROG_CC_C99; + dnl this avoids a "warning: The macro `AC_PROG_CC_C99' is obsolete." + m4_version_prereq([2.70], + [AC_REQUIRE([AC_PROG_CC])], + [AC_REQUIRE([AC_PROG_CC_C99])]) +]) +m4trace:m4/gnulib-common.m4:668: -1- AC_DEFUN([gl_PROG_AR_RANLIB], [ + dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler + dnl as "cc", and GCC as "gcc". They have different object file formats and + dnl library formats. In particular, the GNU binutils programs ar and ranlib + dnl produce libraries that work only with gcc, not with cc. + AC_REQUIRE([AC_PROG_CC]) + dnl The '' hides this use from 'aclocal'. + AC_BEFORE([$0], [A][M_PROG_AR]) + AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], + [ + AC_EGREP_CPP([Amsterdam], + [ +#ifdef __ACK__ +Amsterdam +#endif + ], + [gl_cv_c_amsterdam_compiler=yes], + [gl_cv_c_amsterdam_compiler=no]) + ]) + + dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not + dnl building with __ACK__. + if test $gl_cv_c_amsterdam_compiler = yes; then + if test -z "$AR"; then + AR='cc -c.a' + fi + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + dnl AM_PROG_AR was added in automake v1.11.2. AM_PROG_AR does not AC_SUBST + dnl ARFLAGS variable (it is filed into Makefile.in directly by automake + dnl script on-demand, if not specified by ./configure of course). + dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above + dnl will be ignored. Also, pay attention to call AM_PROG_AR in else block + dnl because AM_PROG_AR is written so it could re-set AR variable even for + dnl __ACK__. It may seem like its easier to avoid calling the macro here, + dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good + dnl default value and automake should usually know them). + dnl + dnl The '' hides this use from 'aclocal'. + m4_ifdef([A][M_PROG_AR], [A][M_PROG_AR], [:]) + fi + + dnl In case the code above has not helped with setting AR/ARFLAGS, use + dnl Automake-documented default values for AR and ARFLAGS, but prefer + dnl ${host}-ar over ar (useful for cross-compiling). + AC_CHECK_TOOL([AR], [ar], [ar]) + if test -z "$ARFLAGS"; then + ARFLAGS='cr' + fi + + AC_SUBST([AR]) + AC_SUBST([ARFLAGS]) + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + dnl Use the ranlib program if it is available. + AC_PROG_RANLIB + fi + fi + AC_SUBST([RANLIB]) +]) +m4trace:m4/gnulib-common.m4:737: -1- AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], + [ac_cv_c_restrict=no + # Put '__restrict__' first, to avoid problems with glibc and non-GCC; see: + # https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html + # Put 'restrict' last, because C++ lacks it. + for ac_kw in __restrict__ __restrict _Restrict restrict; do + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[typedef int *int_ptr; + int foo (int_ptr $ac_kw ip) { return ip[0]; } + int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ + int bar (int ip[$ac_kw]) { return ip[0]; } + ]], + [[int s[1]; + int *$ac_kw t = s; + t[0] = 0; + return foo (t) + bar (t); + ]])], + [ac_cv_c_restrict=$ac_kw]) + test "$ac_cv_c_restrict" != no && break + done + ]) + AH_VERBATIM([restrict], +[/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported only directly. */ +#undef restrict +/* Work around a bug in older versions of Sun C++, which did not + #define __restrict__ or support _Restrict or __restrict__ + even though the corresponding Sun C compiler ended up with + "#define restrict _Restrict" or "#define restrict __restrict__" + in the previous line. This workaround can be removed once + we assume Oracle Developer Studio 12.5 (2016) or later. */ +#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__ +# define _Restrict +# define __restrict__ +#endif]) + case $ac_cv_c_restrict in + restrict) ;; + no) AC_DEFINE([restrict], []) ;; + *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; + esac +]) +m4trace:m4/gnulib-common.m4:788: -1- AC_DEFUN([gl_BIGENDIAN], [ + AC_C_BIGENDIAN +]) +m4trace:m4/gnulib-common.m4:802: -1- AC_DEFUN([gl_SILENT], [ + exec GL_TMP_FD>&AS_MESSAGE_FD AS_MESSAGE_FD>/dev/null + $1 + exec AS_MESSAGE_FD>&GL_TMP_FD GL_TMP_FD>&- +]) +m4trace:m4/gnulib-common.m4:814: -1- AC_DEFUN([gl_CACHE_VAL_SILENT], [ + gl_SILENT([ + AC_CACHE_VAL([$1], [$2]) + ]) +]) +m4trace:m4/gnulib-common.m4:828: -1- AC_DEFUN([gl_CONDITIONAL], [ + pushdef([AC_CONFIG_COMMANDS_PRE], [:])dnl + AM_CONDITIONAL([$1], [$2]) + popdef([AC_CONFIG_COMMANDS_PRE])dnl + if test -z "${[$1]_TRUE}" && test -z "${[$1]_FALSE}"; then + [$1]_TRUE='#' + [$1]_FALSE='#' + fi +]) +m4trace:m4/gnulib-common.m4:844: -1- AC_DEFUN([gl_CC_ALLOW_WARNINGS], [ + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([for C compiler option to allow warnings], + [gl_cv_cc_wallow], + [rm -f conftest* + echo 'int dummy;' > conftest.c + AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null + AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err]) >/dev/null + dnl Test the number of error output lines, because AIX xlc accepts the + dnl option '-Wno-error', just to produce a warning + dnl "Option -Wno-error was incorrectly specified. The option will be ignored." + dnl afterwards. + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cc_wallow='-Wno-error' + else + gl_cv_cc_wallow=none + fi + rm -f conftest* + ]) + case "$gl_cv_cc_wallow" in + none) GL_CFLAG_ALLOW_WARNINGS='' ;; + *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; + esac + AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) +]) +m4trace:m4/gnulib-common.m4:874: -1- AC_DEFUN([gl_CXX_ALLOW_WARNINGS], [ + dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX. + if test -n "$CXX" && test "$CXX" != no; then + AC_CACHE_CHECK([for C++ compiler option to allow warnings], + [gl_cv_cxx_wallow], + [rm -f conftest* + echo 'int dummy;' > conftest.cc + AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null + AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err]) >/dev/null + dnl Test the number of error output lines, because AIX xlC accepts the + dnl option '-Wno-error', just to produce a warning + dnl "Option -Wno-error was incorrectly specified. The option will be ignored." + dnl afterwards. + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cxx_wallow='-Wno-error' + else + gl_cv_cxx_wallow=none + fi + rm -f conftest* + ]) + case "$gl_cv_cxx_wallow" in + none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; + *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; + esac + else + GL_CXXFLAG_ALLOW_WARNINGS='' + fi + AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) +]) +m4trace:m4/gnulib-common.m4:908: -1- AC_DEFUN([gl_CC_GNULIB_WARNINGS], [ + AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) + dnl Assume that the compiler supports -Wno-* options only if it also supports + dnl -Wno-error. + GL_CFLAG_GNULIB_WARNINGS='' + if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then + dnl Enable these warning options: + dnl + dnl GCC clang + dnl -Wno-cast-qual >= 3 >= 3.9 + dnl -Wno-conversion >= 3 >= 3.9 + dnl -Wno-float-conversion >= 4.9 >= 3.9 + dnl -Wno-float-equal >= 3 >= 3.9 + dnl -Wimplicit-fallthrough >= 7 >= 3.9 + dnl -Wno-pedantic >= 4.8 >= 3.9 + dnl -Wno-sign-compare >= 3 >= 3.9 + dnl -Wno-sign-conversion >= 4.3 >= 3.9 + dnl -Wno-type-limits >= 4.3 >= 3.9 + dnl -Wno-undef >= 3 >= 3.9 + dnl -Wno-unsuffixed-float-constants >= 4.5 + dnl -Wno-unused-function >= 3 >= 3.9 + dnl -Wno-unused-parameter >= 3 >= 3.9 + dnl + cat > conftest.c <<\EOF + #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-cast-qual + -Wno-conversion + -Wno-float-equal + -Wno-sign-compare + -Wno-undef + -Wno-unused-function + -Wno-unused-parameter + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-float-conversion + #endif + #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wimplicit-fallthrough + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-pedantic + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-sign-conversion + -Wno-type-limits + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 + -Wno-unsuffixed-float-constants + #endif +EOF + gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" + if AC_TRY_EVAL([gl_command]); then + gl_options=`grep -v '#' conftest.out` + for word in $gl_options; do + GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" + done + fi + rm -f conftest.c conftest.out + fi + AC_SUBST([GL_CFLAG_GNULIB_WARNINGS]) +]) +m4trace:m4/gnulib-common.m4:978: -1- AC_DEFUN([gl_CONDITIONAL_HEADER], [ + m4_pushdef([gl_header_name], AS_TR_SH(m4_toupper($1))) + m4_pushdef([gl_generate_var], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) + m4_pushdef([gl_generate_cond], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) + case "$gl_generate_var" in + false) gl_header_name='' ;; + true) + dnl It is OK to use a .h file in lib/ from within tests/, but not vice + dnl versa. + if test -z "$gl_header_name"; then + gl_header_name="${gl_source_base_prefix}$1" + fi + ;; + *) echo "*** gl_generate_var is not set correctly" 1>&2; exit 1 ;; + esac + AC_SUBST(gl_header_name) + gl_CONDITIONAL(gl_generate_cond, [$gl_generate_var]) + m4_popdef([gl_generate_cond]) + m4_popdef([gl_generate_var]) + m4_popdef([gl_header_name]) +]) +m4trace:m4/gnulib-common.m4:1010: -1- AC_DEFUN([GL_MDA_DEFINES], [ +AC_REQUIRE([_GL_MDA_DEFINES]) +[$gl_mda_defines] +]) +m4trace:m4/gnulib-common.m4:1014: -1- AC_DEFUN([_GL_MDA_DEFINES], [gl_mda_defines=' +#if defined _WIN32 && !defined __CYGWIN__ +#define access _access +#define chdir _chdir +#define chmod _chmod +#define close _close +#define creat _creat +#define dup _dup +#define dup2 _dup2 +#define ecvt _ecvt +#define execl _execl +#define execle _execle +#define execlp _execlp +#define execv _execv +#define execve _execve +#define execvp _execvp +#define execvpe _execvpe +#define fcloseall _fcloseall +#define fcvt _fcvt +#define fdopen _fdopen +#define fileno _fileno +#define gcvt _gcvt +#define getcwd _getcwd +#define getpid _getpid +#define getw _getw +#define isatty _isatty +#define j0 _j0 +#define j1 _j1 +#define jn _jn +#define lfind _lfind +#define lsearch _lsearch +#define lseek _lseek +#define memccpy _memccpy +#define mkdir _mkdir +#define mktemp _mktemp +#define open _open +#define putenv _putenv +#define putw _putw +#define read _read +#define rmdir _rmdir +#define strdup _strdup +#define swab _swab +#define tempnam _tempnam +#define tzset _tzset +#define umask _umask +#define unlink _unlink +#define utime _utime +#define wcsdup _wcsdup +#define write _write +#define y0 _y0 +#define y1 _y1 +#define yn _yn +#endif +' +]) +m4trace:m4/gnulib-comp.m4:34: -1- AC_DEFUN([GL_EARLY], [ + m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace + m4_pattern_allow([^gl_ES$])dnl a valid locale name + m4_pattern_allow([^gl_LIBOBJS$])dnl a variable + m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable + + # Pre-early section. + AC_REQUIRE([gl_PROG_AR_RANLIB]) + + # Code from module all-shells-tests: + # Code from module announce-gen: + # Code from module bootstrap: + # Code from module do-release-commit-and-tag: + # Code from module extract-trace: + # Code from module funclib.sh: + # Code from module funclib.sh-tests: + # Code from module gendocs: + # Code from module git-version-gen: + # Code from module gitlog-to-changelog: + # Code from module gnu-web-doc-update: + # Code from module gnumakefile: + # Code from module gnupload: + # Code from module inline-source: + # Code from module maintainer-makefile: + # Code from module options-parser: + # Code from module options-parser-tests: + # Code from module readme-release: + # Code from module test-framework-sh: + # Code from module test-framework-sh-tests: + # Code from module update-copyright: + # Code from module update-copyright-tests: + # Code from module useless-if-before-free: + # Code from module vc-list-files: + # Code from module vc-list-files-tests: +]) +m4trace:m4/gnulib-comp.m4:73: -1- AC_DEFUN([GL_INIT], [ + AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) + gl_cond_libtool=true + gl_m4_base='m4' + m4_pushdef([AC_LIBOBJ], m4_defn([GL_LIBOBJ])) + m4_pushdef([AC_REPLACE_FUNCS], m4_defn([GL_REPLACE_FUNCS])) + m4_pushdef([AC_LIBSOURCES], m4_defn([GL_LIBSOURCES])) + m4_pushdef([GL_LIBSOURCES_LIST], []) + m4_pushdef([GL_LIBSOURCES_DIR], []) + m4_pushdef([GL_MACRO_PREFIX], [GL]) + m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_GL]) + gl_COMMON + gl_source_base='lib' + gl_source_base_prefix= + # Autoconf 2.61a.99 and earlier don't support linking a file only + # in VPATH builds. But since GNUmakefile is for maintainer use + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. + GNUmakefile=GNUmakefile + m4_if(m4_version_compare([2.61a.100], + m4_defn([m4_PACKAGE_VERSION])), [1], [], + [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], + [GNUmakefile=$GNUmakefile])]) + AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER], + [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])]) + AC_REQUIRE([AC_PROG_SED]) + AC_REQUIRE([AC_PROG_GREP]) + # End of code from modules + m4_ifval(GL_LIBSOURCES_LIST, [ + m4_syscmd([test ! -d ]m4_defn([GL_LIBSOURCES_DIR])[ || + for gl_file in ]GL_LIBSOURCES_LIST[ ; do + if test ! -r ]m4_defn([GL_LIBSOURCES_DIR])[/$gl_file ; then + echo "missing file ]m4_defn([GL_LIBSOURCES_DIR])[/$gl_file" >&2 + exit 1 + fi + done])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) + m4_popdef([GL_MODULE_INDICATOR_PREFIX]) + m4_popdef([GL_MACRO_PREFIX]) + m4_popdef([GL_LIBSOURCES_DIR]) + m4_popdef([GL_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) + m4_popdef([AC_REPLACE_FUNCS]) + m4_popdef([AC_LIBOBJ]) + AC_CONFIG_COMMANDS_PRE([ + GL_libobjs= + GL_ltlibobjs= + GL_libobjdeps= + if test -n "$GL_LIBOBJS"; then + # Remove the extension. +changequote(,)dnl + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' +changequote([, ])dnl + for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GL_libobjs="$GL_libobjs $i.$ac_objext" + GL_ltlibobjs="$GL_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + AC_SUBST([GL_LIBOBJS], [$GL_libobjs]) + AC_SUBST([GL_LTLIBOBJS], [$GL_ltlibobjs]) + AC_SUBST([GL_LIBOBJDEPS], [$GL_libobjdeps]) + ]) + gltests_libdeps= + gltests_ltlibdeps= + m4_pushdef([AC_LIBOBJ], m4_defn([GLtests_LIBOBJ])) + m4_pushdef([AC_REPLACE_FUNCS], m4_defn([GLtests_REPLACE_FUNCS])) + m4_pushdef([AC_LIBSOURCES], m4_defn([GLtests_LIBSOURCES])) + m4_pushdef([GLtests_LIBSOURCES_LIST], []) + m4_pushdef([GLtests_LIBSOURCES_DIR], []) + m4_pushdef([GL_MACRO_PREFIX], [GLtests]) + m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_GL]) + gl_COMMON + AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) + AC_REQUIRE([gl_CXX_ALLOW_WARNINGS]) + gl_source_base='gnulib-tests' + gl_source_base_prefix= +changequote(,)dnl + GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS +changequote([, ])dnl + AC_SUBST([GLtests_WITNESS]) + gl_module_indicator_condition=$GLtests_WITNESS + m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + AC_SUBST([abs_aux_dir]) + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + AC_SUBST([abs_aux_dir]) + m4_popdef([gl_MODULE_INDICATOR_CONDITION]) + m4_ifval(GLtests_LIBSOURCES_LIST, [ + m4_syscmd([test ! -d ]m4_defn([GLtests_LIBSOURCES_DIR])[ || + for gl_file in ]GLtests_LIBSOURCES_LIST[ ; do + if test ! -r ]m4_defn([GLtests_LIBSOURCES_DIR])[/$gl_file ; then + echo "missing file ]m4_defn([GLtests_LIBSOURCES_DIR])[/$gl_file" >&2 + exit 1 + fi + done])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) + m4_popdef([GL_MODULE_INDICATOR_PREFIX]) + m4_popdef([GL_MACRO_PREFIX]) + m4_popdef([GLtests_LIBSOURCES_DIR]) + m4_popdef([GLtests_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) + m4_popdef([AC_REPLACE_FUNCS]) + m4_popdef([AC_LIBOBJ]) + AC_CONFIG_COMMANDS_PRE([ + GLtests_libobjs= + GLtests_ltlibobjs= + GLtests_libobjdeps= + if test -n "$GLtests_LIBOBJS"; then + # Remove the extension. +changequote(,)dnl + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' +changequote([, ])dnl + for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" + GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + AC_SUBST([GLtests_LIBOBJS], [$GLtests_libobjs]) + AC_SUBST([GLtests_LTLIBOBJS], [$GLtests_ltlibobjs]) + AC_SUBST([GLtests_LIBOBJDEPS], [$GLtests_libobjdeps]) + ]) + AC_REQUIRE([gl_CC_GNULIB_WARNINGS]) +]) +m4trace:m4/gnulib-comp.m4:221: -1- AC_DEFUN([GL_LIBOBJ], [ + AS_LITERAL_IF([$1], [GL_LIBSOURCES([$1.c])])dnl + GL_LIBOBJS="$GL_LIBOBJS $1.$ac_objext" +]) +m4trace:m4/gnulib-comp.m4:228: -1- AC_DEFUN([GL_REPLACE_FUNCS], [ + m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl + AC_CHECK_FUNCS([$1], , [GL_LIBOBJ($ac_func)]) +]) +m4trace:m4/gnulib-comp.m4:237: -1- AC_DEFUN([GL_LIBSOURCES], [ + m4_foreach([_gl_NAME], [$1], [ + m4_if(_gl_NAME, [alloca.c], [], [ + m4_define([GL_LIBSOURCES_DIR], [lib]) + m4_append([GL_LIBSOURCES_LIST], _gl_NAME, [ ]) + ]) + ]) +]) +m4trace:m4/gnulib-comp.m4:248: -1- AC_DEFUN([GLtests_LIBOBJ], [ + AS_LITERAL_IF([$1], [GLtests_LIBSOURCES([$1.c])])dnl + GLtests_LIBOBJS="$GLtests_LIBOBJS $1.$ac_objext" +]) +m4trace:m4/gnulib-comp.m4:255: -1- AC_DEFUN([GLtests_REPLACE_FUNCS], [ + m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl + AC_CHECK_FUNCS([$1], , [GLtests_LIBOBJ($ac_func)]) +]) +m4trace:m4/gnulib-comp.m4:264: -1- AC_DEFUN([GLtests_LIBSOURCES], [ + m4_foreach([_gl_NAME], [$1], [ + m4_if(_gl_NAME, [alloca.c], [], [ + m4_define([GLtests_LIBSOURCES_DIR], [gnulib-tests]) + m4_append([GLtests_LIBSOURCES_LIST], _gl_NAME, [ ]) + ]) + ]) +]) +m4trace:m4/gnulib-comp.m4:275: -1- AC_DEFUN([GL_FILE_LIST], [ + build-aux/announce-gen + build-aux/bootstrap.in + build-aux/do-release-commit-and-tag + build-aux/extract-trace + build-aux/funclib.sh + build-aux/gendocs.sh + build-aux/git-version-gen + build-aux/gitlog-to-changelog + build-aux/gnu-web-doc-update + build-aux/gnupload + build-aux/inline-source + build-aux/options-parser + build-aux/update-copyright + build-aux/useless-if-before-free + build-aux/vc-list-files + doc/gendocs_template + doc/gendocs_template_min + m4/00gnulib.m4 + m4/gnulib-common.m4 + m4/zzgnulib.m4 + tests/init.sh + tests/test-all-shells.sh + tests/test-funclib-quote.sh + tests/test-init.sh + tests/test-option-parser-helper + tests/test-option-parser.sh + tests/test-update-copyright.sh + tests/test-vc-list-files-cvs.sh + tests/test-vc-list-files-git.sh + top/GNUmakefile + top/README-release + top/maint.mk +]) +m4trace:m4/libtool.m4:62: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +]) +m4trace:m4/libtool.m4:100: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:m4/libtool.m4:100: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:m4/libtool.m4:101: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:m4/libtool.m4:101: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:m4/libtool.m4:621: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +]) +m4trace:m4/libtool.m4:814: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) +m4trace:m4/libtool.m4:825: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +]) +m4trace:m4/libtool.m4:917: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +m4trace:m4/libtool.m4:917: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. +You should run autoupdate.])dnl +LT_LANG(C++)]) +m4trace:m4/libtool.m4:918: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +m4trace:m4/libtool.m4:918: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Fortran 77)]) +m4trace:m4/libtool.m4:919: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +m4trace:m4/libtool.m4:919: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Fortran)]) +m4trace:m4/libtool.m4:920: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +m4trace:m4/libtool.m4:920: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Java)]) +m4trace:m4/libtool.m4:921: -1- AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +m4trace:m4/libtool.m4:921: -1- AC_DEFUN([AC_LIBTOOL_RC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_RC' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Windows Resource)]) +m4trace:m4/libtool.m4:1244: -1- AC_DEFUN([_LT_WITH_SYSROOT], [m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) +m4trace:m4/libtool.m4:1589: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +]) +m4trace:m4/libtool.m4:1631: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +m4trace:m4/libtool.m4:1631: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +m4trace:m4/libtool.m4:1640: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +]) +m4trace:m4/libtool.m4:1675: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +m4trace:m4/libtool.m4:1675: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +m4trace:m4/libtool.m4:1682: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +]) +m4trace:m4/libtool.m4:1821: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +m4trace:m4/libtool.m4:1821: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +m4trace:m4/libtool.m4:1932: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +]) +m4trace:m4/libtool.m4:2057: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +m4trace:m4/libtool.m4:2057: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +m4trace:m4/libtool.m4:3178: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +]) +m4trace:m4/libtool.m4:3240: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +m4trace:m4/libtool.m4:3240: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +m4trace:m4/libtool.m4:3263: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +]) +m4trace:m4/libtool.m4:3777: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:m4/libtool.m4:3777: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:m4/libtool.m4:3778: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:m4/libtool.m4:3778: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:m4/libtool.m4:3849: -1- AC_DEFUN([_LT_DLL_DEF_P], [dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +]) +m4trace:m4/libtool.m4:3863: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +]) +m4trace:m4/libtool.m4:3882: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +m4trace:m4/libtool.m4:3882: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +m4trace:m4/libtool.m4:8148: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) +m4trace:m4/libtool.m4:8157: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +m4trace:m4/libtool.m4:8157: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +m4trace:m4/libtool.m4:8164: -1- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) +]) +m4trace:m4/libtool.m4:8171: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) +]) +m4trace:m4/libtool.m4:8176: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +m4trace:m4/libtool.m4:8176: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +m4trace:m4/libtool.m4:8304: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +m4trace:m4/libtool.m4:8304: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +m4trace:m4/ltargz.m4:13: -1- AC_DEFUN([LT_FUNC_ARGZ], [ +dnl Required for use of '$SED' in Cygwin configuration. +AC_REQUIRE([AC_PROG_SED])dnl +AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_TYPES([error_t], + [], + [AC_DEFINE([error_t], [int], + [Define to a type to use for 'error_t' if it is not otherwise available.]) + AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h + does not typedef error_t.])], + [#if defined(HAVE_ARGZ_H) +# include +#endif]) + +LT_ARGZ_H= +AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) + +dnl if have system argz functions, allow forced use of +dnl libltdl-supplied implementation (and default to do so +dnl on "known bad" systems). Could use a runtime check, but +dnl (a) detecting malloc issues is notoriously unreliable +dnl (b) only known system that declares argz functions, +dnl provides them, yet they are broken, is cygwin +dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) +dnl So, it's more straightforward simply to special case +dnl this for known bad systems. +AS_IF([test -z "$LT_ARGZ_H"], + [AC_CACHE_CHECK( + [if argz actually works], + [lt_cv_sys_argz_works], + [[case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac]]) + AS_IF([test yes = "$lt_cv_sys_argz_works"], + [AC_DEFINE([HAVE_WORKING_ARGZ], 1, + [This value is set to 1 to indicate that the system argz facility works])], + [LT_ARGZ_H=lt__argz.h + AC_LIBOBJ([lt__argz])])]) + +AC_SUBST([LT_ARGZ_H]) +]) +m4trace:m4/ltdl.m4:17: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) +_$0($*) +]) +m4trace:m4/ltdl.m4:69: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +]) +m4trace:m4/ltdl.m4:82: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) +m4trace:m4/ltdl.m4:82: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. +You should run autoupdate.])dnl +_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) +m4trace:m4/ltdl.m4:125: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +]) +m4trace:m4/ltdl.m4:138: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) +m4trace:m4/ltdl.m4:138: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. +You should run autoupdate.])dnl +_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) +m4trace:m4/ltdl.m4:214: -1- AC_DEFUN([_LT_LIBOBJ], [ + m4_pattern_allow([^_LT_LIBOBJS$]) + _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" +]) +m4trace:m4/ltdl.m4:227: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +dnl We need to keep our own list of libobjs separate from our parent project, +dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while +dnl we look for our own LIBOBJs. +m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) +m4_pushdef([AC_LIBSOURCES]) + +dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: +m4_if(_LTDL_MODE, [], + [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) + m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], + [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) + +AC_ARG_WITH([included_ltdl], + [AS_HELP_STRING([--with-included-ltdl], + [use the GNU ltdl sources included here])]) + +if test yes != "$with_included_ltdl"; then + # We are not being forced to use the included libltdl sources, so + # decide whether there is a useful installed version we can use. + AC_CHECK_HEADER([ltdl.h], + [AC_CHECK_DECL([lt_dlinterface_register], + [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], + [with_included_ltdl=no], + [with_included_ltdl=yes])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT + #include ])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT] + ) +fi + +dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE +dnl was called yet, then for old times' sake, we assume libltdl is in an +dnl eponymous directory: +AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) + +AC_ARG_WITH([ltdl_include], + [AS_HELP_STRING([--with-ltdl-include=DIR], + [use the ltdl headers installed in DIR])]) + +if test -n "$with_ltdl_include"; then + if test -f "$with_ltdl_include/ltdl.h"; then : + else + AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) + fi +else + with_ltdl_include=no +fi + +AC_ARG_WITH([ltdl_lib], + [AS_HELP_STRING([--with-ltdl-lib=DIR], + [use the libltdl.la installed in DIR])]) + +if test -n "$with_ltdl_lib"; then + if test -f "$with_ltdl_lib/libltdl.la"; then : + else + AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) + fi +else + with_ltdl_lib=no +fi + +case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in + ,yes,no,no,) + m4_case(m4_default(_LTDL_TYPE, [convenience]), + [convenience], [_LTDL_CONVENIENCE], + [installable], [_LTDL_INSTALLABLE], + [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) + ;; + ,no,no,no,) + # If the included ltdl is not to be used, then use the + # preinstalled libltdl we found. + AC_DEFINE([HAVE_LTDL], [1], + [Define this if a modern libltdl is already installed]) + LIBLTDL=-lltdl + LTDLDEPS= + LTDLINCL= + ;; + ,no*,no,*) + AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) + ;; + *) with_included_ltdl=no + LIBLTDL="-L$with_ltdl_lib -lltdl" + LTDLDEPS= + LTDLINCL=-I$with_ltdl_include + ;; +esac +INCLTDL=$LTDLINCL + +# Report our decision... +AC_MSG_CHECKING([where to find libltdl headers]) +AC_MSG_RESULT([$LTDLINCL]) +AC_MSG_CHECKING([where to find libltdl library]) +AC_MSG_RESULT([$LIBLTDL]) + +_LTDL_SETUP + +dnl restore autoconf definition. +m4_popdef([AC_LIBOBJ]) +m4_popdef([AC_LIBSOURCES]) + +AC_CONFIG_COMMANDS_PRE([ + _ltdl_libobjs= + _ltdl_ltlibobjs= + if test -n "$_LT_LIBOBJS"; then + # Remove the extension. + _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do + _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" + _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" + done + fi + AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) + AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) +]) + +# Only expand once: +m4_define([LTDL_INIT]) +]) +m4trace:m4/ltdl.m4:353: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) +m4trace:m4/ltdl.m4:353: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:m4/ltdl.m4:354: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) +m4trace:m4/ltdl.m4:354: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:m4/ltdl.m4:355: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) +m4trace:m4/ltdl.m4:355: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:m4/ltdl.m4:368: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl +AC_REQUIRE([LT_SYS_MODULE_PATH])dnl +AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl +AC_REQUIRE([LT_LIB_DLLOAD])dnl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl +AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl +AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl +AC_REQUIRE([LT_FUNC_ARGZ])dnl + +m4_require([_LT_CHECK_OBJDIR])dnl +m4_require([_LT_HEADER_DLFCN])dnl +m4_require([_LT_CHECK_DLPREOPEN])dnl +m4_require([_LT_DECL_SED])dnl + +dnl Don't require this, or it will be expanded earlier than the code +dnl that sets the variables it relies on: +_LT_ENABLE_INSTALL + +dnl _LTDL_MODE specific code must be called at least once: +_LTDL_MODE_DISPATCH + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). +AC_CONFIG_COMMANDS_PRE([dnl +m4_pattern_allow([^LT_CONFIG_H$])dnl +m4_ifset([AH_HEADER], + [LT_CONFIG_H=AH_HEADER], + [m4_ifset([AC_LIST_HEADERS], + [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], + [])])]) +AC_SUBST([LT_CONFIG_H]) + +AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], + [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) +AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) + +m4_pattern_allow([LT_LIBEXT])dnl +AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) + +name= +eval "lt_libprefix=\"$libname_spec\"" +m4_pattern_allow([LT_LIBPREFIX])dnl +AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" +AC_SUBST([LTDLOPEN]) +]) +m4trace:m4/ltdl.m4:444: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_CACHE_CHECK([whether deplibs are loaded by dlopen], + [lt_cv_sys_dlopen_deplibs], + [# PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[[4-9]]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly* | midnightbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[[12345]]*|irix6.[[01]]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[[1234]]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + ]) +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], + [Define if the OS needs help to load dependent libraries for dlopen().]) +fi +]) +m4trace:m4/ltdl.m4:546: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +m4trace:m4/ltdl.m4:546: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +m4trace:m4/ltdl.m4:553: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what extension is used for runtime loadable modules], + [libltdl_cv_shlibext], +[ +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + ]) +if test -n "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_MODULE_EXT])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], + [Define to the extension used for runtime loadable modules, say, ".so".]) +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_SHARED_EXT])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], + [Define to the shared library suffix, say, ".dylib".]) +fi +if test -n "$shared_archive_member_spec"; then + m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], + [Define to the shared archive member specification, say "(shr.o)".]) +fi +]) +m4trace:m4/ltdl.m4:581: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +m4trace:m4/ltdl.m4:581: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +m4trace:m4/ltdl.m4:588: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what variable specifies run-time module search path], + [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) +if test -n "$lt_cv_module_path_var"; then + m4_pattern_allow([LT_MODULE_PATH_VAR])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], + [Define to the name of the environment variable that determines the run-time module search path.]) +fi +]) +m4trace:m4/ltdl.m4:600: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +m4trace:m4/ltdl.m4:600: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +m4trace:m4/ltdl.m4:607: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([for the default library search path], + [lt_cv_sys_dlsearch_path], + [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + m4_pattern_allow([LT_DLSEARCH_PATH])dnl + AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], + [Define to the system default library search path.]) +fi +]) +m4trace:m4/ltdl.m4:628: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +m4trace:m4/ltdl.m4:628: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +m4trace:m4/ltdl.m4:654: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) +LT_DLLOADERS= +AC_SUBST([LT_DLLOADERS]) + +AC_LANG_PUSH([C]) +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +AC_SEARCH_LIBS([dlopen], [dl], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H +# include +#endif + ]], [[dlopen(0, 0);]])], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_CHECK_LIB([svld], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + AC_CHECK_FUNCS([dlerror]) + LIBS=$lt_save_LIBS +fi +AC_SUBST([LIBADD_DLOPEN]) + +LIBADD_SHL_LOAD= +AC_CHECK_FUNC([shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], + [AC_CHECK_LIB([dld], [shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld])]) +AC_SUBST([LIBADD_SHL_LOAD]) + +case $host_os in +darwin[[1567]].*) +# We only want this for pre-Mac OS X 10.4. + AC_CHECK_FUNC([_dyld_func_lookup], + [AC_DEFINE([HAVE_DYLD], [1], + [Define if you have the _dyld_func_lookup function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +AC_CHECK_LIB([dld], [dld_link], + [AC_DEFINE([HAVE_DLD], [1], + [Define if you have the GNU dld library.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) +AC_SUBST([LIBADD_DLD_LINK]) + +m4_pattern_allow([^LT_DLPREOPEN$]) +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + AC_DEFINE([HAVE_LIBDLLOADER], [1], + [Define if libdlloader will be built on this platform]) +fi +AC_SUBST([LT_DLPREOPEN]) + +dnl This isn't used anymore, but set it for backwards compatibility +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" +AC_SUBST([LIBADD_DL]) + +LIBS=$lt_dlload_save_LIBS +AC_LANG_POP +]) +m4trace:m4/ltdl.m4:749: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +m4trace:m4/ltdl.m4:749: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +m4trace:m4/ltdl.m4:757: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +AC_CACHE_CHECK([for _ prefix in compiled symbols], + [lt_cv_sys_symbol_underscore], + [lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.c >&AS_MESSAGE_LOG_FD + fi + rm -rf conftest* + ]) + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + AC_SUBST([sys_symbol_underscore]) +]) +m4trace:m4/ltdl.m4:794: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +m4trace:m4/ltdl.m4:794: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +m4trace:m4/ltdl.m4:801: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; }] +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in @S|@1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + ]) + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + AC_DEFINE([NEED_USCORE], [1], + [Define if dlsym() requires a leading underscore in symbol names.]) +fi +]) +m4trace:m4/ltdl.m4:908: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +m4trace:m4/ltdl.m4:908: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +m4trace:m4/ltoptions.m4:14: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) +m4trace:m4/ltoptions.m4:113: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:113: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:148: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:148: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. +You should run autoupdate.])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:197: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) +m4trace:m4/ltoptions.m4:201: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) +m4trace:m4/ltoptions.m4:205: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +m4trace:m4/ltoptions.m4:205: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. +You should run autoupdate.])dnl +AC_ENABLE_SHARED($@)]) +m4trace:m4/ltoptions.m4:206: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +m4trace:m4/ltoptions.m4:206: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. +You should run autoupdate.])dnl +AC_DISABLE_SHARED($@)]) +m4trace:m4/ltoptions.m4:251: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) +m4trace:m4/ltoptions.m4:255: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) +]) +m4trace:m4/ltoptions.m4:259: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +m4trace:m4/ltoptions.m4:259: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. +You should run autoupdate.])dnl +AC_ENABLE_STATIC($@)]) +m4trace:m4/ltoptions.m4:260: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +m4trace:m4/ltoptions.m4:260: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. +You should run autoupdate.])dnl +AC_DISABLE_STATIC($@)]) +m4trace:m4/ltoptions.m4:305: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:305: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:312: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:312: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:411: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltoptions.m4:411: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) +m4trace:m4/ltsugar.m4:14: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) +m4trace:m4/ltversion.m4:19: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.7' +macro_revision='2.4.7' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) +m4trace:m4/lt~obsolete.m4:37: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) +m4trace:m4/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) +m4trace:m4/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) +m4trace:m4/lt~obsolete.m4:43: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) +m4trace:m4/lt~obsolete.m4:45: -1- AC_DEFUN([_LT_AC_TAGVAR]) +m4trace:m4/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) +m4trace:m4/lt~obsolete.m4:47: -1- AC_DEFUN([AC_LTDL_PREOPEN]) +m4trace:m4/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) +m4trace:m4/lt~obsolete.m4:49: -1- AC_DEFUN([_LT_AC_LOCK]) +m4trace:m4/lt~obsolete.m4:50: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) +m4trace:m4/lt~obsolete.m4:51: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) +m4trace:m4/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) +m4trace:m4/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) +m4trace:m4/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) +m4trace:m4/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LTDL_OBJDIR]) +m4trace:m4/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) +m4trace:m4/lt~obsolete.m4:57: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) +m4trace:m4/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PATH_MAGIC]) +m4trace:m4/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_GNU]) +m4trace:m4/lt~obsolete.m4:60: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) +m4trace:m4/lt~obsolete.m4:61: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) +m4trace:m4/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) +m4trace:m4/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +m4trace:m4/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) +m4trace:m4/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) +m4trace:m4/lt~obsolete.m4:66: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) +m4trace:m4/lt~obsolete.m4:67: -1- AC_DEFUN([LT_AC_PROG_EGREP]) +m4trace:m4/lt~obsolete.m4:72: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) +m4trace:m4/lt~obsolete.m4:73: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) +m4trace:m4/lt~obsolete.m4:74: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) +m4trace:m4/lt~obsolete.m4:75: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +m4trace:m4/lt~obsolete.m4:76: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) +m4trace:m4/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_CXX]) +m4trace:m4/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_F77]) +m4trace:m4/lt~obsolete.m4:80: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) +m4trace:m4/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) +m4trace:m4/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) +m4trace:m4/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) +m4trace:m4/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) +m4trace:m4/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) +m4trace:m4/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) +m4trace:m4/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) +m4trace:m4/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) +m4trace:m4/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) +m4trace:m4/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) +m4trace:m4/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) +m4trace:m4/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) +m4trace:m4/lt~obsolete.m4:94: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP]) +m4trace:m4/lt~obsolete.m4:97: -1- AC_DEFUN([_LT_PROG_F77]) +m4trace:m4/lt~obsolete.m4:98: -1- AC_DEFUN([_LT_PROG_FC]) +m4trace:m4/lt~obsolete.m4:99: -1- AC_DEFUN([_LT_PROG_CXX]) +m4trace:m4/m4.m4:20: -1- AC_DEFUN([AC_PROG_GNU_M4], [AC_ARG_VAR([M4], [Location of GNU M4 1.4.6 or later. Defaults to the first + program of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs.]) + AC_CACHE_CHECK([for GNU M4 that supports accurate traces], [ac_cv_path_M4], + [rm -f conftest.m4f +ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} +AS_UNSET([POSIXLY_CORRECT]) +AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4 gnum4], + [dnl Creative quoting here to avoid raw dnl and ifdef in configure. + # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. + # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. + # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy + # false positive strstr. + ac_snippet=change'quote(<,>)in''dir(,mac,bug)' + ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(dnl +;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,dnl +:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' + test -z "`$ac_path_M4 -F conftest.m4f &1`" \ + && test -z "`AS_ECHO([$ac_snippet]) | $ac_path_M4 --trace=mac 2>&1`" \ + && test -f conftest.m4f \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: + rm -f conftest.m4f], + [AC_MSG_ERROR([no acceptable m4 could be found in \$PATH. +GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. +GNU M4 1.4.15 uses a buggy replacement strstr on some systems. +Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.])])]) + M4=$ac_cv_path_M4 + AC_CACHE_CHECK([whether $ac_cv_path_M4 accepts --gnu], + [ac_cv_prog_gnu_m4_gnu], + [case `$M4 --help < /dev/null 2>&1` in + *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; + *) ac_cv_prog_gnu_m4_gnu=no ;; + esac]) + if test yes = "$ac_cv_prog_gnu_m4_gnu"; then + M4_GNU=--gnu + else + M4_GNU= + fi + AC_SUBST([M4_GNU]) + if test yes = "$ac_had_posixly_correct"; then + POSIXLY_CORRECT=: + if test no = $ac_cv_prog_gnu_m4_gnu; then + AC_MSG_WARN([the version of M4 that was found does not support -g]) + AC_MSG_WARN([using it with POSIXLY_CORRECT set may cause problems]) + fi + fi + AC_CACHE_CHECK([how m4 supports trace files], [ac_cv_prog_gnu_m4_debugfile], + [case `$M4 --help < /dev/null 2>&1` in + *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; + *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; + esac]) + AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile]) +]) +m4trace:m4/zzgnulib.m4:23: -1- AC_DEFUN([gl_ZZGNULIB]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:34: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^runstatedir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:58: -1- LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive]) +m4trace:configure.ac:58: -1- m4_pattern_allow([^ltdl_dir$]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^aux_dir$]) +m4trace:configure.ac:60: -1- _AM_CONFIG_MACRO_DIRS([m4]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^macro_dir$]) +m4trace:configure.ac:64: -1- m4_pattern_allow([^package_revision$]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^AUTOM4TE$]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^AUTOTEST$]) +m4trace:configure.ac:88: -1- AC_PROG_GNU_M4 +m4trace:configure.ac:88: -1- m4_pattern_allow([^M4$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^M4_GNU$]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^M4_DEBUGFILE$]) +m4trace:configure.ac:98: -1- AM_INIT_AUTOMAKE([1.11.1 gnu subdir-objects dist-xz]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:98: -1- AM_SET_CURRENT_AUTOMAKE_VERSION +m4trace:configure.ac:98: -1- AM_AUTOMAKE_VERSION([1.16.1]) +m4trace:configure.ac:98: -1- _AM_AUTOCONF_VERSION([2.69]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:98: -1- _AM_SET_OPTIONS([1.11.1 gnu subdir-objects dist-xz]) +m4trace:configure.ac:98: -1- _AM_SET_OPTION([1.11.1]) +m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([1.11.1]) +m4trace:configure.ac:98: -1- _AM_SET_OPTION([gnu]) +m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([gnu]) +m4trace:configure.ac:98: -1- _AM_SET_OPTION([subdir-objects]) +m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([subdir-objects]) +m4trace:configure.ac:98: -1- _AM_SET_OPTION([dist-xz]) +m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([dist-xz]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:98: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])]) +m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([no-define]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:98: -1- AM_SANITY_CHECK +m4trace:configure.ac:98: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +m4trace:configure.ac:98: -1- AM_MISSING_HAS_RUN +m4trace:configure.ac:98: -1- AM_AUX_DIR_EXPAND +m4trace:configure.ac:98: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:98: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:98: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:98: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:98: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:98: -1- AM_PROG_INSTALL_SH +m4trace:configure.ac:98: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:98: -1- AM_PROG_INSTALL_STRIP +m4trace:configure.ac:98: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^MKDIR_P$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:98: -1- AM_SET_LEADING_DOT +m4trace:configure.ac:98: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:98: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([tar-ustar]) +m4trace:configure.ac:98: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) +m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([tar-pax]) +m4trace:configure.ac:98: -1- _AM_PROG_TAR([v7]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:98: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([no-dependencies]) +m4trace:configure.ac:98: -1- AM_SILENT_RULES +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:98: -1- AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:98: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:99: -1- AM_SILENT_RULES([yes]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:99: -1- AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:99: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:110: -1- AB_INIT([$autobuild_mode]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:114: -1- m4_pattern_allow([^CONFIG_STATUS_DEPENDENCIES$]) +m4trace:configure.ac:121: -1- m4_pattern_allow([^aclocaldir$]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^pkgdatadir$]) +m4trace:configure.ac:134: -1- m4_pattern_allow([^pkgaux_scripts$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:144: -1- _AM_PROG_CC_C_O +m4trace:configure.ac:144: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) +m4trace:configure.ac:144: -1- gl_COMPILER_CLANG +m4trace:configure.ac:144: -1- gl_COMPILER_PREPARE_CHECK_DECL +m4trace:configure.ac:144: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:144: -1- AM_SET_DEPDIR +m4trace:configure.ac:144: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:144: -1- AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:144: -1- AM_MAKE_INCLUDE +m4trace:configure.ac:144: -1- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:144: -1- AM_DEP_TRACK +m4trace:configure.ac:144: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^am__nodep$]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__nodep]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:144: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:145: -1- GL_EARLY +m4trace:configure.ac:145: -1- m4_pattern_forbid([^gl_[A-Z]]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_ES$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_LIBOBJS$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_LTLIBOBJS$]) +m4trace:configure.ac:145: -1- gl_PROG_AR_RANLIB +m4trace:configure.ac:145: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:145: -1- AC_PROG_EGREP +m4trace:configure.ac:145: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^ARFLAGS$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:146: -1- AM_PROG_CC_C_O +m4trace:configure.ac:147: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:147: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:147: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:152: -1- LT_INIT([dlopen win32-dll]) +m4trace:configure.ac:152: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) +m4trace:configure.ac:152: -1- LTOPTIONS_VERSION +m4trace:configure.ac:152: -1- LTSUGAR_VERSION +m4trace:configure.ac:152: -1- LTVERSION_VERSION +m4trace:configure.ac:152: -1- LTOBSOLETE_VERSION +m4trace:configure.ac:152: -1- _LT_PROG_LTMAIN +m4trace:configure.ac:152: -1- m4_pattern_allow([^AS$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:152: -1- _LT_PREPARE_SED_QUOTE_VARS +m4trace:configure.ac:152: -1- _LT_PROG_ECHO_BACKSLASH +m4trace:configure.ac:152: -1- LT_PATH_LD +m4trace:configure.ac:152: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:152: -1- LT_PATH_NM +m4trace:configure.ac:152: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^NM$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:152: -1- LT_CMD_MAX_LEN +m4trace:configure.ac:152: -1- m4_pattern_allow([^FILECMD$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^ac_ct_AR$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:152: -1- _LT_WITH_SYSROOT +m4trace:configure.ac:152: -1- m4_pattern_allow([LT_OBJDIR]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LT_OBJDIR$]) +m4trace:configure.ac:152: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:152: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:152: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:152: -1- LT_SUPPORTED_TAG([CC]) +m4trace:configure.ac:152: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:152: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:152: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:152: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) +m4trace:configure.ac:152: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^MANIFEST_TOOL$]) +m4trace:configure.ac:152: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:152: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:152: -1- _LT_REQUIRED_DARWIN_CHECKS +m4trace:configure.ac:152: -1- m4_pattern_allow([^DSYMUTIL$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^NMEDIT$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LIPO$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OTOOL$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OTOOL64$]) +m4trace:configure.ac:152: -1- _LT_LINKER_OPTION([if $CC understands -b], [lt_cv_prog_compiler__b], [-b], [_LT_TAGVAR(archive_cmds, )='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, )='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags']) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:152: -1- LT_SYS_DLOPEN_SELF +m4trace:configure.ac:152: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) +m4trace:configure.ac:154: -1- _LTDL_SETUP +m4trace:configure.ac:154: -1- LT_SYS_MODULE_EXT +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_MODULE_EXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_MODULE_EXT$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_SHARED_EXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_SHARED_EXT$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_SHARED_LIB_MEMBER]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_SHARED_LIB_MEMBER$]) +m4trace:configure.ac:154: -1- LT_SYS_MODULE_PATH +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_MODULE_PATH_VAR]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_MODULE_PATH_VAR$]) +m4trace:configure.ac:154: -1- LT_SYS_DLSEARCH_PATH +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_DLSEARCH_PATH]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLSEARCH_PATH$]) +m4trace:configure.ac:154: -1- LT_LIB_DLLOAD +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLLOADERS$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLLOADERS$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DLERROR$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DLOPEN$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_SHL_LOAD$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DYLD$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DECL_CYGWIN_CONV_PATH$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DLD$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DLD_LINK$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLPREOPEN$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDLLOADER$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLPREOPEN$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DL$]) +m4trace:configure.ac:154: -1- LT_SYS_SYMBOL_USCORE +m4trace:configure.ac:154: -1- m4_pattern_allow([^sys_symbol_underscore$]) +m4trace:configure.ac:154: -1- LT_FUNC_DLSYM_USCORE +m4trace:configure.ac:154: -1- m4_pattern_allow([^NEED_USCORE$]) +m4trace:configure.ac:154: -1- LT_SYS_DLOPEN_DEPLIBS +m4trace:configure.ac:154: -1- m4_pattern_allow([^LTDL_DLOPEN_DEPLIBS$]) +m4trace:configure.ac:154: -1- LT_FUNC_ARGZ +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_ARGZ_H$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_ERROR_T$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^error_t$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^__error_t_defined$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_WORKING_ARGZ$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_ARGZ_H$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_PRELOADED_SYMBOLS$]) +m4trace:configure.ac:154: -1- AM_CONDITIONAL([INSTALL_LTDL], [test no != "${enable_ltdl_install-no}"]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^INSTALL_LTDL_TRUE$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^INSTALL_LTDL_FALSE$]) +m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([INSTALL_LTDL_TRUE]) +m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([INSTALL_LTDL_FALSE]) +m4trace:configure.ac:154: -1- AM_CONDITIONAL([CONVENIENCE_LTDL], [test no != "${enable_ltdl_convenience-no}"]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^CONVENIENCE_LTDL_TRUE$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^CONVENIENCE_LTDL_FALSE$]) +m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([CONVENIENCE_LTDL_TRUE]) +m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([CONVENIENCE_LTDL_FALSE]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_CONFIG_H$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_LIBEXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_LIBEXT$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_LIBPREFIX]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_LIBPREFIX$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LTDLOPEN$]) +m4trace:configure.ac:157: -1- LT_LANG([C++]) +m4trace:configure.ac:157: -1- LT_SUPPORTED_TAG([CXX]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:157: -1- _AM_DEPENDENCIES([CXX]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:157: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:157: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:157: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:157: -1- LT_LANG([CXX]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:157: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:157: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:157: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:157: -1- LT_PATH_LD +m4trace:configure.ac:157: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:157: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:157: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:157: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, CXX) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, CXX)], [$_LT_TAGVAR(lt_prog_compiler_pic, CXX)@&t@m4_if([CXX],[],[ -DPIC],[m4_if([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, CXX) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_TAGVAR(lt_prog_compiler_pic, CXX)" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, CXX)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) +m4trace:configure.ac:157: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, CXX)=]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:158: -1- LT_LANG([Fortran 77]) +m4trace:configure.ac:158: -1- LT_SUPPORTED_TAG([F77]) +m4trace:configure.ac:158: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:158: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:158: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:158: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, F77) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, F77)], [$_LT_TAGVAR(lt_prog_compiler_pic, F77)@&t@m4_if([F77],[],[ -DPIC],[m4_if([F77],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, F77) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, F77)=" $_LT_TAGVAR(lt_prog_compiler_pic, F77)" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, F77)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, F77)=no]) +m4trace:configure.ac:158: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_F77], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, F77)=]) +m4trace:configure.ac:158: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^FFLAGS$]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^ac_ct_F77$]) +m4trace:configure.ac:158: -1- LT_LANG([F77]) +m4trace:configure.ac:158: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:159: -1- LT_LANG([Fortran]) +m4trace:configure.ac:159: -1- LT_SUPPORTED_TAG([FC]) +m4trace:configure.ac:159: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:159: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:159: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:159: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, FC) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, FC)], [$_LT_TAGVAR(lt_prog_compiler_pic, FC)@&t@m4_if([FC],[],[ -DPIC],[m4_if([FC],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, FC) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, FC)=" $_LT_TAGVAR(lt_prog_compiler_pic, FC)" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, FC)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, FC)=no]) +m4trace:configure.ac:159: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_FC], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, FC)=]) +m4trace:configure.ac:159: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^FC$]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^FCFLAGS$]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^FC$]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^ac_ct_FC$]) +m4trace:configure.ac:159: -1- LT_LANG([FC]) +m4trace:configure.ac:159: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:160: -1- LT_LANG([Go]) +m4trace:configure.ac:160: -1- LT_SUPPORTED_TAG([GO]) +m4trace:configure.ac:160: -1- LT_PROG_GO +m4trace:configure.ac:160: -1- m4_pattern_allow([^GOC$]) +m4trace:configure.ac:160: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... +m4/libtool.m4:8027: _LT_LANG_GO_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:160: the top level]) +m4trace:configure.ac:160: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:160: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:160: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:160: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, GO)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, GO) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:160: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, GO) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, GO)], [$_LT_TAGVAR(lt_prog_compiler_pic, GO)@&t@m4_if([GO],[],[ -DPIC],[m4_if([GO],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, GO) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, GO)=" $_LT_TAGVAR(lt_prog_compiler_pic, GO)" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, GO)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, GO)=no]) +m4trace:configure.ac:160: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_GO], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, GO)=]) +m4trace:configure.ac:160: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:160: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:160: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... +m4/libtool.m4:8027: _LT_LANG_GO_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:160: the top level]) +m4trace:configure.ac:161: -1- LT_LANG([Java]) +m4trace:configure.ac:161: -1- LT_SUPPORTED_TAG([GCJ]) +m4trace:configure.ac:161: -1- LT_PROG_GCJ +m4trace:configure.ac:161: -1- m4_pattern_allow([^GCJ$]) +m4trace:configure.ac:161: -1- m4_pattern_allow([^GCJFLAGS$]) +m4trace:configure.ac:161: -1- LT_LANG([GCJ]) +m4trace:configure.ac:161: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... +m4/libtool.m4:7956: _LT_LANG_GCJ_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:161: the top level]) +m4trace:configure.ac:161: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:161: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:161: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:161: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, GCJ)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, GCJ) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:161: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, GCJ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, GCJ)], [$_LT_TAGVAR(lt_prog_compiler_pic, GCJ)@&t@m4_if([GCJ],[],[ -DPIC],[m4_if([GCJ],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, GCJ) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, GCJ)=" $_LT_TAGVAR(lt_prog_compiler_pic, GCJ)" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, GCJ)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, GCJ)=no]) +m4trace:configure.ac:161: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_GCJ], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, GCJ)=]) +m4trace:configure.ac:161: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:161: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:161: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... +m4/libtool.m4:7956: _LT_LANG_GCJ_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:161: the top level]) +m4trace:configure.ac:162: -1- LT_LANG([Windows Resource]) +m4trace:configure.ac:162: -1- LT_SUPPORTED_TAG([RC]) +m4trace:configure.ac:162: -1- LT_PROG_RC +m4trace:configure.ac:162: -1- m4_pattern_allow([^RC$]) +m4trace:configure.ac:162: -1- LT_LANG([RC]) +m4trace:configure.ac:162: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... +m4/libtool.m4:8098: _LT_LANG_RC_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:162: the top level]) +m4trace:configure.ac:162: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:162: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:162: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:162: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... +m4/libtool.m4:8098: _LT_LANG_RC_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:162: the top level]) +m4trace:configure.ac:166: -1- m4_pattern_allow([^to_host_file_cmd$]) +m4trace:configure.ac:167: -1- m4_pattern_allow([^to_tool_file_cmd$]) +m4trace:configure.ac:170: -1- m4_pattern_allow([^with_aix_soname$]) +m4trace:configure.ac:175: -1- GL_INIT +m4trace:configure.ac:175: -1- AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_COND_LIBTOOL_TRUE$]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_COND_LIBTOOL_FALSE$]) +m4trace:configure.ac:175: -1- _AM_SUBST_NOTMAKE([GL_COND_LIBTOOL_TRUE]) +m4trace:configure.ac:175: -1- _AM_SUBST_NOTMAKE([GL_COND_LIBTOOL_FALSE]) +m4trace:configure.ac:175: -1- gl_COMMON +m4trace:configure.ac:175: -1- gl_00GNULIB +m4trace:configure.ac:175: -1- gl_COMMON_BODY +m4trace:configure.ac:175: -1- gl_ZZGNULIB +m4trace:configure.ac:175: -1- gl_COMMON +m4trace:configure.ac:175: -1- gl_CC_ALLOW_WARNINGS +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CFLAG_ALLOW_WARNINGS$]) +m4trace:configure.ac:175: -1- gl_CXX_ALLOW_WARNINGS +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CXXFLAG_ALLOW_WARNINGS$]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GLtests_WITNESS$]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^abs_aux_dir$]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^abs_aux_dir$]) +m4trace:configure.ac:175: -1- gl_CC_GNULIB_WARNINGS +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CFLAG_GNULIB_WARNINGS$]) +m4trace:configure.ac:180: -1- AM_MISSING_PROG([HELP2MAN], [help2man]) +m4trace:configure.ac:180: -1- m4_pattern_allow([^HELP2MAN$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:186: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) +m4trace:configure.ac:186: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) +m4trace:configure.ac:186: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^LT_CONFIG_H$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^CONFIG_INCLUDE$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LIBOBJS$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LTLIBOBJS$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LIBOBJDEPS$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LIBOBJS$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LTLIBOBJS$]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LIBOBJDEPS$]) +m4trace:configure.ac:186: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) +m4trace:configure.ac:186: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:186: -1- AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) +m4trace:configure.ac:186: -1- _LT_PROG_LTMAIN diff --git a/BUILD/libtool-2.4.7/autom4te.cache/traces.1 b/BUILD/libtool-2.4.7/autom4te.cache/traces.1 new file mode 100644 index 0000000..4c7a850 --- /dev/null +++ b/BUILD/libtool-2.4.7/autom4te.cache/traces.1 @@ -0,0 +1,1493 @@ +m4trace:aclocal.m4:679: -1- AC_SUBST([am__quote]) +m4trace:aclocal.m4:679: -1- AC_SUBST_TRACE([am__quote]) +m4trace:aclocal.m4:679: -1- m4_pattern_allow([^am__quote$]) +m4trace:aclocal.m4:1136: -1- m4_include([m4/00gnulib.m4]) +m4trace:aclocal.m4:1137: -1- m4_include([m4/autobuild.m4]) +m4trace:aclocal.m4:1138: -1- m4_include([m4/gnulib-common.m4]) +m4trace:aclocal.m4:1139: -1- m4_include([m4/gnulib-comp.m4]) +m4trace:aclocal.m4:1140: -1- m4_include([m4/libtool.m4]) +m4trace:aclocal.m4:1141: -1- m4_include([m4/ltargz.m4]) +m4trace:aclocal.m4:1142: -1- m4_include([m4/ltdl.m4]) +m4trace:aclocal.m4:1143: -1- m4_include([m4/ltoptions.m4]) +m4trace:aclocal.m4:1144: -1- m4_include([m4/ltsugar.m4]) +m4trace:aclocal.m4:1145: -1- m4_include([m4/ltversion.m4]) +m4trace:aclocal.m4:1146: -1- m4_include([m4/lt~obsolete.m4]) +m4trace:aclocal.m4:1147: -1- m4_include([m4/m4.m4]) +m4trace:aclocal.m4:1148: -1- m4_include([m4/zzgnulib.m4]) +m4trace:configure.ac:34: -1- AC_INIT([GNU Libtool], [2.4.7], [bug-libtool@gnu.org]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:34: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:34: -1- AC_SUBST([SHELL]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([SHELL]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:34: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_NAME]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_STRING]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_URL]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:34: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([exec_prefix]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:34: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([prefix]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:34: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([program_transform_name]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:34: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([bindir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:34: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([sbindir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:34: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([libexecdir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:34: -1- AC_SUBST([datarootdir], ['${prefix}/share']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:34: -1- AC_SUBST([datadir], ['${datarootdir}']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([datadir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:34: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([sysconfdir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:34: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([sharedstatedir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:34: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([localstatedir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:34: -1- AC_SUBST([runstatedir], ['${localstatedir}/run']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([runstatedir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^runstatedir$]) +m4trace:configure.ac:34: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([includedir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:34: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([oldincludedir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:34: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], + ['${datarootdir}/doc/${PACKAGE_TARNAME}'], + ['${datarootdir}/doc/${PACKAGE}'])]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([docdir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:34: -1- AC_SUBST([infodir], ['${datarootdir}/info']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([infodir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:34: -1- AC_SUBST([htmldir], ['${docdir}']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([htmldir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:34: -1- AC_SUBST([dvidir], ['${docdir}']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([dvidir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:34: -1- AC_SUBST([pdfdir], ['${docdir}']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([pdfdir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:34: -1- AC_SUBST([psdir], ['${docdir}']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([psdir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:34: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([libdir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:34: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:34: -1- AC_SUBST([mandir], ['${datarootdir}/man']) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([mandir]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +@%:@undef PACKAGE_NAME]) +m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +@%:@undef PACKAGE_TARNAME]) +m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +@%:@undef PACKAGE_VERSION]) +m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +@%:@undef PACKAGE_STRING]) +m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +@%:@undef PACKAGE_BUGREPORT]) +m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ +@%:@undef PACKAGE_URL]) +m4trace:configure.ac:34: -1- AC_SUBST([DEFS]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([DEFS]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:34: -1- AC_SUBST([ECHO_C]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([ECHO_C]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:34: -1- AC_SUBST([ECHO_N]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([ECHO_N]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:34: -1- AC_SUBST([ECHO_T]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([ECHO_T]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:34: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:34: -1- AC_SUBST([build_alias]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([build_alias]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:34: -1- AC_SUBST([host_alias]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([host_alias]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:34: -1- AC_SUBST([target_alias]) +m4trace:configure.ac:34: -1- AC_SUBST_TRACE([target_alias]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:56: -1- AC_CONFIG_HEADERS([config.h:config-h.in]) +m4trace:configure.ac:58: -1- LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive]) +m4trace:configure.ac:58: -1- AC_SUBST([ltdl_dir], [libltdl]) +m4trace:configure.ac:58: -1- AC_SUBST_TRACE([ltdl_dir]) +m4trace:configure.ac:58: -1- m4_pattern_allow([^ltdl_dir$]) +m4trace:configure.ac:59: -1- AC_CONFIG_AUX_DIR([build-aux]) +m4trace:configure.ac:59: -1- AC_SUBST([aux_dir], [build-aux]) +m4trace:configure.ac:59: -1- AC_SUBST_TRACE([aux_dir]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^aux_dir$]) +m4trace:configure.ac:60: -1- AC_SUBST([macro_dir], [m4]) +m4trace:configure.ac:60: -1- AC_SUBST_TRACE([macro_dir]) +m4trace:configure.ac:60: -1- m4_pattern_allow([^macro_dir$]) +m4trace:configure.ac:61: -1- AC_CONFIG_LIBOBJ_DIR([libltdl]) +m4trace:configure.ac:64: -1- AC_SUBST([package_revision]) +m4trace:configure.ac:64: -1- AC_SUBST_TRACE([package_revision]) +m4trace:configure.ac:64: -1- m4_pattern_allow([^package_revision$]) +m4trace:configure.ac:71: -1- AC_SUBST([AUTOM4TE], [${AUTOM4TE=autom4te}]) +m4trace:configure.ac:71: -1- AC_SUBST_TRACE([AUTOM4TE]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^AUTOM4TE$]) +m4trace:configure.ac:72: -1- AC_SUBST([AUTOTEST], ['$(AUTOM4TE) --language=autotest']) +m4trace:configure.ac:72: -1- AC_SUBST_TRACE([AUTOTEST]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^AUTOTEST$]) +m4trace:configure.ac:88: -1- AC_SUBST([M4]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([M4]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^M4$]) +m4trace:configure.ac:88: -1- AC_SUBST([M4_GNU]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([M4_GNU]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^M4_GNU$]) +m4trace:configure.ac:88: -1- AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile]) +m4trace:configure.ac:88: -1- AC_SUBST_TRACE([M4_DEBUGFILE]) +m4trace:configure.ac:88: -1- m4_pattern_allow([^M4_DEBUGFILE$]) +m4trace:configure.ac:98: -1- AM_INIT_AUTOMAKE([1.11.1 gnu subdir-objects dist-xz]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:98: -1- AM_AUTOMAKE_VERSION([1.16.1]) +m4trace:configure.ac:98: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:98: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:98: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:98: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([INSTALL_DATA]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:98: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([am__isrc]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:98: -1- AC_SUBST([CYGPATH_W]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([CYGPATH_W]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:98: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME']) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([PACKAGE]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:98: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION']) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([VERSION]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:98: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:98: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ +@%:@undef PACKAGE]) +m4trace:configure.ac:98: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:98: -1- AH_OUTPUT([VERSION], [/* Version number of package */ +@%:@undef VERSION]) +m4trace:configure.ac:98: -1- AC_REQUIRE_AUX_FILE([missing]) +m4trace:configure.ac:98: -1- AC_SUBST([ACLOCAL]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([ACLOCAL]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:98: -1- AC_SUBST([AUTOCONF]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AUTOCONF]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:98: -1- AC_SUBST([AUTOMAKE]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AUTOMAKE]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:98: -1- AC_SUBST([AUTOHEADER]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AUTOHEADER]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:98: -1- AC_SUBST([MAKEINFO]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([MAKEINFO]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:98: -1- AC_SUBST([install_sh]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([install_sh]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:98: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:98: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:98: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:98: -1- AC_SUBST([MKDIR_P]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([MKDIR_P]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^MKDIR_P$]) +m4trace:configure.ac:98: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([mkdir_p]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:98: -1- AC_SUBST([AWK]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:98: -1- AC_SUBST([SET_MAKE]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([SET_MAKE]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:98: -1- AC_SUBST([am__leading_dot]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([am__leading_dot]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:98: -1- AC_SUBST([AMTAR], ['$${TAR-tar}']) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AMTAR]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:98: -1- AC_SUBST([am__tar]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([am__tar]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:98: -1- AC_SUBST([am__untar]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([am__untar]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:98: -1- AM_SILENT_RULES +m4trace:configure.ac:98: -1- AC_SUBST([AM_V]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AM_V]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:98: -1- AC_SUBST([AM_DEFAULT_V]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:98: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:98: -1- AC_SUBST([AM_BACKSLASH]) +m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AM_BACKSLASH]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:99: -1- AM_SILENT_RULES([yes]) +m4trace:configure.ac:99: -1- AC_SUBST([AM_V]) +m4trace:configure.ac:99: -1- AC_SUBST_TRACE([AM_V]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:99: -1- AC_SUBST([AM_DEFAULT_V]) +m4trace:configure.ac:99: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:99: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:99: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:99: -1- AC_SUBST([AM_BACKSLASH]) +m4trace:configure.ac:99: -1- AC_SUBST_TRACE([AM_BACKSLASH]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:110: -1- AC_CANONICAL_BUILD +m4trace:configure.ac:110: -1- AC_REQUIRE_AUX_FILE([config.sub]) +m4trace:configure.ac:110: -1- AC_REQUIRE_AUX_FILE([config.guess]) +m4trace:configure.ac:110: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.ac:110: -1- AC_SUBST_TRACE([build]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:110: -1- AC_SUBST([build_cpu], [$[1]]) +m4trace:configure.ac:110: -1- AC_SUBST_TRACE([build_cpu]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:110: -1- AC_SUBST([build_vendor], [$[2]]) +m4trace:configure.ac:110: -1- AC_SUBST_TRACE([build_vendor]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:110: -1- AC_SUBST([build_os]) +m4trace:configure.ac:110: -1- AC_SUBST_TRACE([build_os]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:110: -1- AC_CANONICAL_HOST +m4trace:configure.ac:110: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.ac:110: -1- AC_SUBST_TRACE([host]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:110: -1- AC_SUBST([host_cpu], [$[1]]) +m4trace:configure.ac:110: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:110: -1- AC_SUBST([host_vendor], [$[2]]) +m4trace:configure.ac:110: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:110: -1- AC_SUBST([host_os]) +m4trace:configure.ac:110: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.ac:110: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:114: -1- AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/.version']) +m4trace:configure.ac:114: -1- AC_SUBST_TRACE([CONFIG_STATUS_DEPENDENCIES]) +m4trace:configure.ac:114: -1- m4_pattern_allow([^CONFIG_STATUS_DEPENDENCIES$]) +m4trace:configure.ac:121: -1- AC_SUBST([aclocaldir], ["\$(datadir)/aclocal"]) +m4trace:configure.ac:121: -1- AC_SUBST_TRACE([aclocaldir]) +m4trace:configure.ac:121: -1- m4_pattern_allow([^aclocaldir$]) +m4trace:configure.ac:122: -1- AC_SUBST([pkgdatadir], ["\$(datadir)/$PACKAGE"]) +m4trace:configure.ac:122: -1- AC_SUBST_TRACE([pkgdatadir]) +m4trace:configure.ac:122: -1- m4_pattern_allow([^pkgdatadir$]) +m4trace:configure.ac:134: -1- AC_SUBST([pkgaux_scripts]) +m4trace:configure.ac:134: -1- AC_SUBST_TRACE([pkgaux_scripts]) +m4trace:configure.ac:134: -1- m4_pattern_allow([^pkgaux_scripts$]) +m4trace:configure.ac:144: -1- AC_SUBST([CC]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:144: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:144: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:144: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:144: -1- AC_SUBST([CC]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- AC_SUBST([CC]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- AC_SUBST([CC]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- AC_SUBST([CC]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:144: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:144: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([EXEEXT]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:144: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([OBJEXT]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:144: -1- AC_REQUIRE_AUX_FILE([compile]) +m4trace:configure.ac:144: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([DEPDIR]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:144: -1- AC_SUBST([am__include]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([am__include]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:144: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:144: -1- AC_SUBST([AMDEP_TRUE]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([AMDEP_TRUE]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:144: -1- AC_SUBST([AMDEP_FALSE]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([AMDEP_FALSE]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:144: -1- AC_SUBST([AMDEPBACKSLASH]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:144: -1- AC_SUBST([am__nodep]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([am__nodep]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^am__nodep$]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__nodep]) +m4trace:configure.ac:144: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:144: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:144: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:144: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:144: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:144: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:145: -1- m4_pattern_forbid([^gl_[A-Z]]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_ES$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_LIBOBJS$]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_LTLIBOBJS$]) +m4trace:configure.ac:145: -1- AC_SUBST([CPP]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:145: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:145: -1- AC_SUBST([CPP]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:145: -1- AC_SUBST([GREP]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:145: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:145: -1- AC_SUBST([AR]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:145: -1- AC_SUBST([AR]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:145: -1- AC_SUBST([ARFLAGS]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([ARFLAGS]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^ARFLAGS$]) +m4trace:configure.ac:145: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:145: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:145: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:146: -1- AM_PROG_CC_C_O +m4trace:configure.ac:147: -1- AC_SUBST([CPP]) +m4trace:configure.ac:147: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:147: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:147: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:147: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:147: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:147: -1- AC_SUBST([CPP]) +m4trace:configure.ac:147: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:147: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:152: -1- LT_INIT([dlopen win32-dll]) +m4trace:configure.ac:152: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) +m4trace:configure.ac:152: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) +m4trace:configure.ac:152: -1- AC_SUBST([AS]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([AS]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^AS$]) +m4trace:configure.ac:152: -1- AC_SUBST([DLLTOOL]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DLLTOOL]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:152: -1- AC_SUBST([OBJDUMP]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OBJDUMP]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:152: -1- AC_SUBST([LIBTOOL]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LIBTOOL]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:152: -1- AC_SUBST([SED]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:152: -1- AC_SUBST([FGREP]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([FGREP]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:152: -1- AC_SUBST([GREP]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:152: -1- AC_SUBST([LD]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LD]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:152: -1- AC_SUBST([DUMPBIN]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DUMPBIN]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:152: -1- AC_SUBST([ac_ct_DUMPBIN]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) +m4trace:configure.ac:152: -1- AC_SUBST([DUMPBIN]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DUMPBIN]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:152: -1- AC_SUBST([NM]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([NM]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^NM$]) +m4trace:configure.ac:152: -1- AC_SUBST([LN_S], [$as_ln_s]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LN_S]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:152: -1- AC_SUBST([FILECMD]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([FILECMD]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^FILECMD$]) +m4trace:configure.ac:152: -1- AC_SUBST([OBJDUMP]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OBJDUMP]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:152: -1- AC_SUBST([OBJDUMP]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OBJDUMP]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:152: -1- AC_SUBST([DLLTOOL]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DLLTOOL]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:152: -1- AC_SUBST([DLLTOOL]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DLLTOOL]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:152: -1- AC_SUBST([AR]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:152: -1- AC_SUBST([ac_ct_AR]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([ac_ct_AR]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^ac_ct_AR$]) +m4trace:configure.ac:152: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:152: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:152: -1- m4_pattern_allow([LT_OBJDIR]) +m4trace:configure.ac:152: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LT_OBJDIR$]) +m4trace:configure.ac:152: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */ +@%:@undef LT_OBJDIR]) +m4trace:configure.ac:152: -1- LT_SUPPORTED_TAG([CC]) +m4trace:configure.ac:152: -1- AC_SUBST([MANIFEST_TOOL]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([MANIFEST_TOOL]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^MANIFEST_TOOL$]) +m4trace:configure.ac:152: -1- AC_SUBST([DSYMUTIL]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DSYMUTIL]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^DSYMUTIL$]) +m4trace:configure.ac:152: -1- AC_SUBST([NMEDIT]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([NMEDIT]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^NMEDIT$]) +m4trace:configure.ac:152: -1- AC_SUBST([LIPO]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LIPO]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LIPO$]) +m4trace:configure.ac:152: -1- AC_SUBST([OTOOL]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OTOOL]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OTOOL$]) +m4trace:configure.ac:152: -1- AC_SUBST([OTOOL64]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OTOOL64]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^OTOOL64$]) +m4trace:configure.ac:152: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_DLFCN_H]) +m4trace:configure.ac:152: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:152: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +@%:@undef STDC_HEADERS]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_TYPES_H]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_STAT_H]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STDLIB_H]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STRING_H]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_MEMORY_H]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STRINGS_H]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_INTTYPES_H]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STDINT_H]) +m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_UNISTD_H]) +m4trace:configure.ac:152: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H]) +m4trace:configure.ac:152: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_MODULE_EXT]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_MODULE_EXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_MODULE_EXT$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([LT_MODULE_EXT], [/* Define to the extension used for runtime loadable modules, say, ".so". */ +@%:@undef LT_MODULE_EXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_SHARED_EXT]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_SHARED_EXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_SHARED_EXT$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([LT_SHARED_EXT], [/* Define to the shared library suffix, say, ".dylib". */ +@%:@undef LT_SHARED_EXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_SHARED_LIB_MEMBER]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_SHARED_LIB_MEMBER]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_SHARED_LIB_MEMBER$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([LT_SHARED_LIB_MEMBER], [/* Define to the shared archive member specification, say "(shr.o)". */ +@%:@undef LT_SHARED_LIB_MEMBER]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_MODULE_PATH_VAR]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_MODULE_PATH_VAR]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_MODULE_PATH_VAR$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([LT_MODULE_PATH_VAR], [/* Define to the name of the environment variable that determines the run-time + module search path. */ +@%:@undef LT_MODULE_PATH_VAR]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_DLSEARCH_PATH]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_DLSEARCH_PATH]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLSEARCH_PATH$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([LT_DLSEARCH_PATH], [/* Define to the system default library search path. */ +@%:@undef LT_DLSEARCH_PATH]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLLOADERS$]) +m4trace:configure.ac:154: -1- AC_SUBST([LT_DLLOADERS]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LT_DLLOADERS]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLLOADERS$]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ +@%:@undef HAVE_LIBDL]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ +@%:@undef HAVE_LIBDL]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ +@%:@undef HAVE_LIBDL]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DLERROR], [/* Define to 1 if you have the `dlerror\' function. */ +@%:@undef HAVE_DLERROR]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLERROR]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DLERROR$]) +m4trace:configure.ac:154: -1- AC_SUBST([LIBADD_DLOPEN]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIBADD_DLOPEN]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DLOPEN$]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SHL_LOAD]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_SHL_LOAD], [/* Define if you have the shl_load function. */ +@%:@undef HAVE_SHL_LOAD]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SHL_LOAD]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_SHL_LOAD], [/* Define if you have the shl_load function. */ +@%:@undef HAVE_SHL_LOAD]) +m4trace:configure.ac:154: -1- AC_SUBST([LIBADD_SHL_LOAD]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIBADD_SHL_LOAD]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_SHL_LOAD$]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DYLD]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DYLD$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DYLD], [/* Define if you have the _dyld_func_lookup function. */ +@%:@undef HAVE_DYLD]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CYGWIN_CONV_PATH]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DECL_CYGWIN_CONV_PATH$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DECL_CYGWIN_CONV_PATH], [/* Define to 1 if you have the declaration of `cygwin_conv_path\', and to 0 if + you don\'t. */ +@%:@undef HAVE_DECL_CYGWIN_CONV_PATH]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLD]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DLD$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DLD], [/* Define if you have the GNU dld library. */ +@%:@undef HAVE_DLD]) +m4trace:configure.ac:154: -1- AC_SUBST([LIBADD_DLD_LINK]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIBADD_DLD_LINK]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DLD_LINK$]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLPREOPEN$]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDLLOADER]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDLLOADER$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_LIBDLLOADER], [/* Define if libdlloader will be built on this platform */ +@%:@undef HAVE_LIBDLLOADER]) +m4trace:configure.ac:154: -1- AC_SUBST([LT_DLPREOPEN]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LT_DLPREOPEN]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLPREOPEN$]) +m4trace:configure.ac:154: -1- AC_SUBST([LIBADD_DL]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIBADD_DL]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DL$]) +m4trace:configure.ac:154: -1- AC_SUBST([sys_symbol_underscore]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([sys_symbol_underscore]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^sys_symbol_underscore$]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([NEED_USCORE]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^NEED_USCORE$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([NEED_USCORE], [/* Define if dlsym() requires a leading underscore in symbol names. */ +@%:@undef NEED_USCORE]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LTDL_DLOPEN_DEPLIBS]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LTDL_DLOPEN_DEPLIBS$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([LTDL_DLOPEN_DEPLIBS], [/* Define if the OS needs help to load dependent libraries for dlopen(). */ +@%:@undef LTDL_DLOPEN_DEPLIBS]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_ARGZ_H]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ARGZ_H]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_ARGZ_H$]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ERROR_T]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_ERROR_T$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ERROR_T], [/* Define to 1 if the system has the type `error_t\'. */ +@%:@undef HAVE_ERROR_T]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([error_t]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^error_t$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([error_t], [/* Define to a type to use for \'error_t\' if it is not otherwise available. */ +@%:@undef error_t]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([__error_t_defined]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^__error_t_defined$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([__error_t_defined], [/* Define so that glibc/gnulib argp.h does not typedef error_t. */ +@%:@undef __error_t_defined]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_ADD], [/* Define to 1 if you have the `argz_add\' function. */ +@%:@undef HAVE_ARGZ_ADD]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_APPEND], [/* Define to 1 if you have the `argz_append\' function. */ +@%:@undef HAVE_ARGZ_APPEND]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_COUNT], [/* Define to 1 if you have the `argz_count\' function. */ +@%:@undef HAVE_ARGZ_COUNT]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_CREATE_SEP], [/* Define to 1 if you have the `argz_create_sep\' function. */ +@%:@undef HAVE_ARGZ_CREATE_SEP]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_INSERT], [/* Define to 1 if you have the `argz_insert\' function. */ +@%:@undef HAVE_ARGZ_INSERT]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_NEXT], [/* Define to 1 if you have the `argz_next\' function. */ +@%:@undef HAVE_ARGZ_NEXT]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_STRINGIFY], [/* Define to 1 if you have the `argz_stringify\' function. */ +@%:@undef HAVE_ARGZ_STRINGIFY]) +m4trace:configure.ac:154: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lt__argz.$ac_objext"]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:154: -1- AC_LIBSOURCE([lt__argz.c]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_ARGZ]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_WORKING_ARGZ$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_WORKING_ARGZ], [/* This value is set to 1 to indicate that the system argz facility works */ +@%:@undef HAVE_WORKING_ARGZ]) +m4trace:configure.ac:154: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lt__argz.$ac_objext"]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:154: -1- AC_LIBSOURCE([lt__argz.c]) +m4trace:configure.ac:154: -1- AC_SUBST([LT_ARGZ_H]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LT_ARGZ_H]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_ARGZ_H$]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRELOADED_SYMBOLS]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_PRELOADED_SYMBOLS$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_PRELOADED_SYMBOLS], [/* Define if libtool can extract symbol lists from object files. */ +@%:@undef HAVE_PRELOADED_SYMBOLS]) +m4trace:configure.ac:154: -1- AM_CONDITIONAL([INSTALL_LTDL], [test no != "${enable_ltdl_install-no}"]) +m4trace:configure.ac:154: -1- AC_SUBST([INSTALL_LTDL_TRUE]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([INSTALL_LTDL_TRUE]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^INSTALL_LTDL_TRUE$]) +m4trace:configure.ac:154: -1- AC_SUBST([INSTALL_LTDL_FALSE]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([INSTALL_LTDL_FALSE]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^INSTALL_LTDL_FALSE$]) +m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([INSTALL_LTDL_TRUE]) +m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([INSTALL_LTDL_FALSE]) +m4trace:configure.ac:154: -1- AM_CONDITIONAL([CONVENIENCE_LTDL], [test no != "${enable_ltdl_convenience-no}"]) +m4trace:configure.ac:154: -1- AC_SUBST([CONVENIENCE_LTDL_TRUE]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([CONVENIENCE_LTDL_TRUE]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^CONVENIENCE_LTDL_TRUE$]) +m4trace:configure.ac:154: -1- AC_SUBST([CONVENIENCE_LTDL_FALSE]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([CONVENIENCE_LTDL_FALSE]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^CONVENIENCE_LTDL_FALSE$]) +m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([CONVENIENCE_LTDL_TRUE]) +m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([CONVENIENCE_LTDL_FALSE]) +m4trace:configure.ac:154: -1- AC_SUBST([LT_CONFIG_H]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LT_CONFIG_H]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_CONFIG_H$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_UNISTD_H]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DL_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_DL_H]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_SYS_DL_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_DL_H]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DLD_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_DLD_H]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_MACH_O_DYLD_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_MACH_O_DYLD_H]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_DIRENT_H]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_CLOSEDIR], [/* Define to 1 if you have the `closedir\' function. */ +@%:@undef HAVE_CLOSEDIR]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_OPENDIR], [/* Define to 1 if you have the `opendir\' function. */ +@%:@undef HAVE_OPENDIR]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_READDIR], [/* Define to 1 if you have the `readdir\' function. */ +@%:@undef HAVE_READDIR]) +m4trace:configure.ac:154: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lt__dirent.$ac_objext"]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:154: -1- AC_LIBSOURCE([lt__dirent.c]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_STRLCAT], [/* Define to 1 if you have the `strlcat\' function. */ +@%:@undef HAVE_STRLCAT]) +m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_STRLCPY], [/* Define to 1 if you have the `strlcpy\' function. */ +@%:@undef HAVE_STRLCPY]) +m4trace:configure.ac:154: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lt__strl.$ac_objext"]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:154: -1- AC_LIBSOURCE([lt__strl.c]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_LIBEXT]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_LIBEXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_LIBEXT$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([LT_LIBEXT], [/* The archive extension */ +@%:@undef LT_LIBEXT]) +m4trace:configure.ac:154: -1- m4_pattern_allow([LT_LIBPREFIX]) +m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_LIBPREFIX]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_LIBPREFIX$]) +m4trace:configure.ac:154: -1- AH_OUTPUT([LT_LIBPREFIX], [/* The archive prefix */ +@%:@undef LT_LIBPREFIX]) +m4trace:configure.ac:154: -1- AC_SUBST([LTDLOPEN]) +m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LTDLOPEN]) +m4trace:configure.ac:154: -1- m4_pattern_allow([^LTDLOPEN$]) +m4trace:configure.ac:157: -1- LT_SUPPORTED_TAG([CXX]) +m4trace:configure.ac:157: -1- AC_SUBST([CXX]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:157: -1- AC_SUBST([CXXFLAGS]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXXFLAGS]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:157: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:157: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:157: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:157: -1- AC_SUBST([CXX]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:157: -1- AC_SUBST([ac_ct_CXX]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([ac_ct_CXX]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:157: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXXDEPMODE]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:157: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:157: -1- AC_SUBST([am__fastdepCXX_TRUE]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:157: -1- AC_SUBST([am__fastdepCXX_FALSE]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:157: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:157: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:157: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:157: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:157: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:157: -1- AC_SUBST([LD]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([LD]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:157: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:157: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:157: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:158: -1- LT_SUPPORTED_TAG([F77]) +m4trace:configure.ac:158: -1- AC_SUBST([F77]) +m4trace:configure.ac:158: -1- AC_SUBST_TRACE([F77]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:158: -1- AC_SUBST([FFLAGS]) +m4trace:configure.ac:158: -1- AC_SUBST_TRACE([FFLAGS]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^FFLAGS$]) +m4trace:configure.ac:158: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:158: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:158: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:158: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:158: -1- AC_SUBST([F77]) +m4trace:configure.ac:158: -1- AC_SUBST_TRACE([F77]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^F77$]) +m4trace:configure.ac:158: -1- AC_SUBST([ac_ct_F77]) +m4trace:configure.ac:158: -1- AC_SUBST_TRACE([ac_ct_F77]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^ac_ct_F77$]) +m4trace:configure.ac:158: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:158: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:158: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:159: -1- LT_SUPPORTED_TAG([FC]) +m4trace:configure.ac:159: -1- AC_SUBST([FC]) +m4trace:configure.ac:159: -1- AC_SUBST_TRACE([FC]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^FC$]) +m4trace:configure.ac:159: -1- AC_SUBST([FCFLAGS]) +m4trace:configure.ac:159: -1- AC_SUBST_TRACE([FCFLAGS]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^FCFLAGS$]) +m4trace:configure.ac:159: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:159: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:159: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:159: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:159: -1- AC_SUBST([FC]) +m4trace:configure.ac:159: -1- AC_SUBST_TRACE([FC]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^FC$]) +m4trace:configure.ac:159: -1- AC_SUBST([ac_ct_FC]) +m4trace:configure.ac:159: -1- AC_SUBST_TRACE([ac_ct_FC]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^ac_ct_FC$]) +m4trace:configure.ac:159: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:159: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:159: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:160: -1- LT_SUPPORTED_TAG([GO]) +m4trace:configure.ac:160: -1- AC_SUBST([GOC]) +m4trace:configure.ac:160: -1- AC_SUBST_TRACE([GOC]) +m4trace:configure.ac:160: -1- m4_pattern_allow([^GOC$]) +m4trace:configure.ac:160: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... +m4/libtool.m4:8027: _LT_LANG_GO_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:160: the top level]) +m4trace:configure.ac:160: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... +m4/libtool.m4:8027: _LT_LANG_GO_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:160: the top level]) +m4trace:configure.ac:161: -1- LT_SUPPORTED_TAG([GCJ]) +m4trace:configure.ac:161: -1- AC_SUBST([GCJ]) +m4trace:configure.ac:161: -1- AC_SUBST_TRACE([GCJ]) +m4trace:configure.ac:161: -1- m4_pattern_allow([^GCJ$]) +m4trace:configure.ac:161: -1- AC_SUBST([GCJFLAGS]) +m4trace:configure.ac:161: -1- AC_SUBST_TRACE([GCJFLAGS]) +m4trace:configure.ac:161: -1- m4_pattern_allow([^GCJFLAGS$]) +m4trace:configure.ac:161: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... +m4/libtool.m4:7956: _LT_LANG_GCJ_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:161: the top level]) +m4trace:configure.ac:161: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... +m4/libtool.m4:7956: _LT_LANG_GCJ_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:161: the top level]) +m4trace:configure.ac:162: -1- LT_SUPPORTED_TAG([RC]) +m4trace:configure.ac:162: -1- AC_SUBST([RC]) +m4trace:configure.ac:162: -1- AC_SUBST_TRACE([RC]) +m4trace:configure.ac:162: -1- m4_pattern_allow([^RC$]) +m4trace:configure.ac:162: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... +m4/libtool.m4:8098: _LT_LANG_RC_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:162: the top level]) +m4trace:configure.ac:162: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. +You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... +m4/libtool.m4:8098: _LT_LANG_RC_CONFIG is expanded from... +m4/libtool.m4:843: _LT_LANG is expanded from... +m4/libtool.m4:825: LT_LANG is expanded from... +configure.ac:162: the top level]) +m4trace:configure.ac:166: -1- AC_SUBST([to_host_file_cmd]) +m4trace:configure.ac:166: -1- AC_SUBST_TRACE([to_host_file_cmd]) +m4trace:configure.ac:166: -1- m4_pattern_allow([^to_host_file_cmd$]) +m4trace:configure.ac:167: -1- AC_SUBST([to_tool_file_cmd]) +m4trace:configure.ac:167: -1- AC_SUBST_TRACE([to_tool_file_cmd]) +m4trace:configure.ac:167: -1- m4_pattern_allow([^to_tool_file_cmd$]) +m4trace:configure.ac:170: -1- AC_SUBST([with_aix_soname]) +m4trace:configure.ac:170: -1- AC_SUBST_TRACE([with_aix_soname]) +m4trace:configure.ac:170: -1- m4_pattern_allow([^with_aix_soname$]) +m4trace:configure.ac:175: -1- AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) +m4trace:configure.ac:175: -1- AC_SUBST([GL_COND_LIBTOOL_TRUE]) +m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_COND_LIBTOOL_TRUE]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_COND_LIBTOOL_TRUE$]) +m4trace:configure.ac:175: -1- AC_SUBST([GL_COND_LIBTOOL_FALSE]) +m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_COND_LIBTOOL_FALSE]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_COND_LIBTOOL_FALSE$]) +m4trace:configure.ac:175: -1- _AM_SUBST_NOTMAKE([GL_COND_LIBTOOL_TRUE]) +m4trace:configure.ac:175: -1- _AM_SUBST_NOTMAKE([GL_COND_LIBTOOL_FALSE]) +m4trace:configure.ac:175: -1- AH_OUTPUT([_GL_GNUC_PREREQ], [/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define _GL_GNUC_PREREQ(major, minor) \\ + ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) +#else +# define _GL_GNUC_PREREQ(major, minor) 0 +#endif +]) +m4trace:configure.ac:175: -1- AH_OUTPUT([_Noreturn], [/* The _Noreturn keyword of C11. */ +#ifndef _Noreturn +# if (defined __cplusplus \\ + && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \\ + || (defined _MSC_VER && 1900 <= _MSC_VER)) \\ + && 0) + /* [[noreturn]] is not practically usable, because with it the syntax + extern _Noreturn void func (...); + would not be valid; such a declaration would only be valid with \'extern\' + and \'_Noreturn\' swapped, or without the \'extern\' keyword. However, some + AIX system header files and several gnulib header files use precisely + this syntax with \'extern\'. */ +# define _Noreturn [[noreturn]] +# elif ((!defined __cplusplus || defined __clang__) \\ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \\ + || (!defined __STRICT_ANSI__ \\ + && (_GL_GNUC_PREREQ (4, 7) \\ + || (defined __apple_build_version__ \\ + ? 6000000 <= __apple_build_version__ \\ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) + /* _Noreturn works as-is. */ +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif +]) +m4trace:configure.ac:175: -1- AH_OUTPUT([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of \'extern inline\' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for Mac OS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif]) +m4trace:configure.ac:175: -1- AH_OUTPUT([attribute], [/* Attributes. */ +#if (defined __has_attribute \\ + && (!defined __clang_minor__ \\ + || 3 < __clang_major__ + (5 <= __clang_minor__))) +# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) +#else +# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr +# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) +# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) +# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_diagnose_if 0 +# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) +# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) +# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) +# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) +# ifdef _ICC +# define _GL_ATTR_may_alias 0 +# else +# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) +# endif +# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) +# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) +# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) +# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) +# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) +#endif + +#ifdef __has_c_attribute +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif + + +/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function + is the size of the returned memory block. + _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied + by the Nth argument of the function is the size of the returned memory block. + */ +/* Applies to: function, pointer to function, function types. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif + +/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the + function and report an error if it cannot do so. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#endif + +/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show + in stack traces when debugging. The compiler should omit the function from + stack traces. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#endif + +/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ +/* Applies to: functions. */ +/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at + . + Also, Oracle Studio 12.6 requires \'cold\' not \'__cold__\'. */ +#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif +#else +# define _GL_ATTRIBUTE_COLD +#endif + +/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate + calls to the function with the same arguments. + This attribute is safe for a function that neither depends on nor affects + observable state, and always returns exactly once - e.g., does not loop + forever, and does not call longjmp. + (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST +#endif + +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. + _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via \'free\'; it can be used only after declaring \'free\'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#endif +/* If gnulib\'s or has already defined this macro, continue + to use this earlier definition, since may not have been included + yet. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. + The compiler may warn if the entity is used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: namespace, class, template specialization. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED +#endif + +/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and + the function call is not optimized away. + _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and + the function call is not optimized away. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +#elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +#else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +#endif + +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with \'-fwhole-program\'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#endif + +/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if + the control flow falls through to the immediately following \'case\' or + \'default\' label. The compiler should not warn in this case. */ +/* Applies to: Empty statement (;), inside a \'switch\' statement. */ +/* Always expands to something. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#endif + +/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) + declares that the STRING-INDEXth function argument is a format string of + style ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with \'__\'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#endif + +/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other + compilation unit, it executes code from that unit only by return or by + exception handling. This declaration lets the compiler optimize that unit + more aggressively. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC +#endif + +/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the + same storage as pointers to other types. Thus this declaration disables + strict aliasing optimization. */ +/* Applies to: types. */ +/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#endif + +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: class. */ +/* In C++ and C2x, this is spelled [[__maybe_unused__]]. + GCC\'s syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience. */ +#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED +/* Earlier spellings of this macro. */ +#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED + +/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not + discard the return value. The compiler may warn if the caller does not use + the return value, unless the caller uses something like ignore_value. */ +/* Applies to: function, enumeration, class. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#endif + +/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... + must not be NULL. + _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be + null. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#endif + +/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is + not meant to be NUL-terminated. */ +/* Applies to: struct/union members and variables that are arrays of element + type \'[[un]signed] char\'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW +#endif + +/* _GL_ATTRIBUTE_PACKED declares: + For struct members: The member has the smallest possible alignment. + For struct, union, class: All members have the smallest possible alignment, + minimizing the memory required. */ +/* Applies to: struct members, struct, union, + in C++ also: class. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +#else +# define _GL_ATTRIBUTE_PACKED +#endif + +/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate + calls to the function with the same arguments if observable state is not + changed between calls. + This attribute is safe for a function that does not affect + observable state, and always returns exactly once. + (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE +#endif + +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function\'s return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#endif + +/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a + trailing NULL argument. + _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). + _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) +#endif + +/* A helper macro. Don\'t use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#endif + + +/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the + immediately preceding label is not used. The compiler should not warn + if the label is not used. */ +/* Applies to: label (both in C and C++). */ +/* Note that g++ < 4.5 does not support the \'__attribute__ ((__unused__)) ;\' + syntax. But clang does. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif +]) +m4trace:configure.ac:175: -1- AH_OUTPUT([async_safe], [/* The _GL_ASYNC_SAFE marker should be attached to functions that are + signal handlers (for signals other than SIGABRT, SIGPIPE) or can be + invoked from such signal handlers. Such functions have some restrictions: + * All functions that it calls should be marked _GL_ASYNC_SAFE as well, + or should be listed as async-signal-safe in POSIX + + section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in + particular, are NOT async-signal-safe. + * All memory locations (variables and struct fields) that these functions + access must be marked \'volatile\'. This holds for both read and write + accesses. Otherwise the compiler might optimize away stores to and + reads from such locations that occur in the program, depending on its + data flow analysis. For example, when the program contains a loop + that is intended to inspect a variable set from within a signal handler + while (!signal_occurred) + ; + the compiler is allowed to transform this into an endless loop if the + variable \'signal_occurred\' is not declared \'volatile\'. + Additionally, recall that: + * A signal handler should not modify errno (except if it is a handler + for a fatal signal and ends by raising the same signal again, thus + provoking the termination of the process). If it invokes a function + that may clobber errno, it needs to save and restore the value of + errno. */ +#define _GL_ASYNC_SAFE +]) +m4trace:configure.ac:175: -1- AH_OUTPUT([micro_optimizations], [/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where + n1 and n2 are expressions without side effects, that evaluate to real + numbers (excluding NaN). + It returns + 1 if n1 > n2 + 0 if n1 == n2 + -1 if n1 < n2 + The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional + jump with nearly all GCC versions up to GCC 10. + This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many + GCC versions up to GCC 9. + The better code (n1 > n2) - (n1 < n2) from Hacker\'s Delight § 2-9 + avoids conditional jumps in all GCC versions >= 3.4. */ +#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) +]) +m4trace:configure.ac:175: -1- AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], [GNUmakefile=$GNUmakefile]) +m4trace:configure.ac:175: -1- AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) +m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_CFLAG_ALLOW_WARNINGS]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CFLAG_ALLOW_WARNINGS$]) +m4trace:configure.ac:175: -1- AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) +m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_CXXFLAG_ALLOW_WARNINGS]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CXXFLAG_ALLOW_WARNINGS$]) +m4trace:configure.ac:175: -1- AC_SUBST([GLtests_WITNESS]) +m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GLtests_WITNESS]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GLtests_WITNESS$]) +m4trace:configure.ac:175: -1- AC_SUBST([abs_aux_dir]) +m4trace:configure.ac:175: -1- AC_SUBST_TRACE([abs_aux_dir]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^abs_aux_dir$]) +m4trace:configure.ac:175: -1- AC_SUBST([abs_aux_dir]) +m4trace:configure.ac:175: -1- AC_SUBST_TRACE([abs_aux_dir]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^abs_aux_dir$]) +m4trace:configure.ac:175: -1- AC_SUBST([GL_CFLAG_GNULIB_WARNINGS]) +m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_CFLAG_GNULIB_WARNINGS]) +m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CFLAG_GNULIB_WARNINGS$]) +m4trace:configure.ac:180: -1- AC_SUBST([HELP2MAN]) +m4trace:configure.ac:180: -1- AC_SUBST_TRACE([HELP2MAN]) +m4trace:configure.ac:180: -1- m4_pattern_allow([^HELP2MAN$]) +m4trace:configure.ac:185: -1- AC_CONFIG_FILES([Makefile gnulib-tests/Makefile]) +m4trace:configure.ac:186: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:186: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:186: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) +m4trace:configure.ac:186: -1- AC_SUBST([am__EXEEXT_TRUE]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) +m4trace:configure.ac:186: -1- AC_SUBST([am__EXEEXT_FALSE]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) +m4trace:configure.ac:186: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) +m4trace:configure.ac:186: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^LT_CONFIG_H$]) +m4trace:configure.ac:186: -1- AC_SUBST([CONFIG_INCLUDE], [config.h]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([CONFIG_INCLUDE]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^CONFIG_INCLUDE$]) +m4trace:configure.ac:186: -1- AC_SUBST([GL_LIBOBJS], [$GL_libobjs]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GL_LIBOBJS]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LIBOBJS$]) +m4trace:configure.ac:186: -1- AC_SUBST([GL_LTLIBOBJS], [$GL_ltlibobjs]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GL_LTLIBOBJS]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LTLIBOBJS$]) +m4trace:configure.ac:186: -1- AC_SUBST([GL_LIBOBJDEPS], [$GL_libobjdeps]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GL_LIBOBJDEPS]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LIBOBJDEPS$]) +m4trace:configure.ac:186: -1- AC_SUBST([GLtests_LIBOBJS], [$GLtests_libobjs]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GLtests_LIBOBJS]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LIBOBJS$]) +m4trace:configure.ac:186: -1- AC_SUBST([GLtests_LTLIBOBJS], [$GLtests_ltlibobjs]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GLtests_LTLIBOBJS]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LTLIBOBJS$]) +m4trace:configure.ac:186: -1- AC_SUBST([GLtests_LIBOBJDEPS], [$GLtests_libobjdeps]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GLtests_LIBOBJDEPS]) +m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LIBOBJDEPS$]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([top_build_prefix]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.ac:186: -1- AC_SUBST_TRACE([MKDIR_P]) +m4trace:configure.ac:186: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) diff --git a/BUILD/libtool-2.4.7/bootstrap b/BUILD/libtool-2.4.7/bootstrap new file mode 100755 index 0000000..8e0b5e8 --- /dev/null +++ b/BUILD/libtool-2.4.7/bootstrap @@ -0,0 +1,5470 @@ +#! /bin/sh +## DO NOT EDIT - This file generated from build-aux/bootstrap.in +## by inline-source v2019-02-19.15 + +# Bootstrap an Autotooled package from checked-out sources. +# Written by Gary V. Vaughan, 2010 +# Inspired by a script written by Paul Eggert. + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# You should place a copy of this script under version control in the +# top-level directory of your project. The intent is that all +# customization can be done with a `bootstrap.conf` file also maintained +# in your version control. + +# Please report bugs or propose patches to: +# + + +## ------ ## +## Usage. ## +## ------ ## + +# Most GNUish projects do not keep all of the generated Autotool +# files under version control, but running all of the right tools +# with the right arguments, in the correct order to regenerate +# all of those files in readiness for configuration and building +# can be surprisingly involved! Many projects have a 'bootstrap' +# script under version control to invoke Autotools and perform +# other assorted book-keeping with version numbers and the like. +# +# This bootstrap script aims to probe the configure.ac and top +# Makefile.am of your project to automatically determine what +# the correct ordering and arguments are and then run the tools for +# you. In order to use it, you can generate an initial standalone +# script with: +# +# gl/build-aux/inline-source gl/build-aux/bootstrap.in > bootstrap +# +# You should then store than script in version control for other +# developers in you project. It will give you instructions about +# how to keep it up to date if the sources change. +# +# See gl/doc/bootstrap.texi for documentation on how to write +# a bootstrap.conf to customize it for your project's +# idiosyncracies. + + +## ================================================================== ## +## ## +## DO NOT EDIT THIS FILE, CUSTOMIZE IT USING A BOOTSTRAP.CONF ## +## ## +## ================================================================== ## + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase denotes values stored in the environment. These +# variables should generally be overridden by the user - however, we do +# set them to 'true' in some parts of this script to prevent them being +# called at the wrong time by other tools that we call ('autoreconf', +# for example). +# +# We also allow 'LIBTOOLIZE', 'M4', 'SHA1SUM' and some others to be +# overridden, and export the result for child processes, but they are +# handled by the function 'func_find_tool' and not defaulted in this +# section. + +: ${ACLOCAL="aclocal"} +: ${AUTOCONF="autoconf"} +: ${AUTOHEADER="autoheader"} +: ${AUTOM4TE="autom4te"} +: ${AUTOHEADER="autoheader"} +: ${AUTOMAKE="automake"} +: ${AUTOPOINT="autopoint"} +: ${AUTORECONF="autoreconf"} +: ${CMP="cmp"} +: ${CONFIG_SHELL="/bin/sh"} +: ${DIFF="diff"} +: ${GIT="git"} +: ${LN_S="ln -s"} +: ${RM="rm"} + +export ACLOCAL +export AUTOCONF +export AUTOHEADER +export AUTOM4TE +export AUTOHEADER +export AUTOMAKE +export AUTOPOINT +export AUTORECONF +export CONFIG_SHELL + + +## -------------- ## +## Configuration. ## +## -------------- ## + +# A newline delimited list of triples of programs (that respond to +# --version), the minimum version numbers required (or just '-' in the +# version field if any version will be sufficient) and homepage URLs +# to help locate missing packages. +buildreq= + +# Name of a file containing instructions on installing missing packages +# required in 'buildreq'. +buildreq_readme=README-hacking + +# These are extracted from AC_INIT in configure.ac, though you can +# override those values in 'bootstrap.conf' if you prefer. +build_aux= +macro_dir= +package= +package_name= +package_version= +package_bugreport= + +# These are extracted from 'gnulib-cache.m4', or else fall-back +# automatically on the gnulib defaults; unless you set the values +# manually in 'bootstrap.conf'. +doc_base= +gnulib_mk= +gnulib_name= +local_gl_path= +source_base= +tests_base= + +# The list of gnulib modules required at 'gnulib-tool' time. If you +# check 'gnulib-cache.m4' into your repository, then this list will be +# extracted automatically. +gnulib_modules= + +# Extra gnulib files that are not in modules, which override files of +# the same name installed by other bootstrap tools. +gnulib_non_module_files=" + build-aux/compile + build-aux/install-sh + build-aux/mdate-sh + build-aux/texinfo.tex + build-aux/depcomp + build-aux/config.guess + build-aux/config.sub + doc/INSTALL +" + +# Relative path to the local gnulib submodule, and url to the upstream +# git repository. If you have a gnulib entry in your .gitmodules file, +# these values are ignored. +gnulib_path= +gnulib_url= + +# Date from which to clone github, to avoid a full clone. +gnulib_clone_since= + +# Additional gnulib-tool options to use. +gnulib_tool_options=" + --no-changelog +" + +# bootstrap removes any macro-files that are not included by aclocal.m4, +# except for files listed in this variable that are always kept. +gnulib_precious=" + gnulib-tool.m4 +" + +# When truncating long commands for display, always allow at least this +# many characters before truncating. +min_cmd_len=160 + +# The command to download all .po files for a specified domain into +# a specified directory. Fill in the first %s is the domain name, and +# the second with the destination directory. Use rsync's -L and -r +# options because the latest/%s directory and the .po files within are +# all symlinks. +po_download_command_format=\ +"rsync --delete --exclude '*.s1' -Lrtvz \ +'translationproject.org::tp/latest/%s/' '%s'" + +# Other locale categories that need message catalogs. +extra_locale_categories= + +# Additional xgettext options to use. Gnulib might provide you with an +# extensive list of additional options to append to this, but gettext +# 0.16.1 and newer appends them automaticaly, so you can safely ignore +# the complaints from 'gnulib-tool' if your $configure_ac states: +# +# AM_GNU_GETTEXT_VERSION([0.16.1]) +xgettext_options=" + --flag=_:1:pass-c-format + --flag=N_:1:pass-c-format +" + +# Package copyright holder for gettext files. Defaults to FSF if unset. +copyright_holder= + +# File that should exist in the top directory of a checked out hierarchy, +# but not in a distribution tarball. +checkout_only_file= + +# Whether to use copies instead of symlinks by default (if set to true, +# the --copy option has no effect). +copy=false + +# Set this to ".cvsignore .gitignore" in 'bootstrap.conf' if you want +# those files to be generated in directories like 'lib/', 'm4/', and 'po/', +# or set it to "auto" to make this script select what to use based +# on what version control system (if any) is used in the source directory. +# Or set it to "none" to ignore VCS ignore files entirely. Default is +# "auto". +vc_ignore= + + +## ------------------- ## +## External Libraries. ## +## ------------------- ## + +# Source required external libraries: +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac +fi + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" + fi" +done +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ + else + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () +{ + $debug_cmd + + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break + fi + + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS + ;; + *) ;; + esac + break + done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac +} + + +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi + + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; + esac + + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result + ;; + esac +} + + +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# Copyright'. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug in processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# in the main code. A hook is just a list of function names that can be +# run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It's assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook functions." ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi + done +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '_result', escaped +# suitably for 'eval'. +# +# The '_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# args_changed=false +# +# # Note that, for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: +# args_changed=: +# ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# args_changed=: +# ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; +# esac +# done +# +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll also need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + _G_options_quoted=false + + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done + + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propagate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + func_propagate_result func_run_hooks func_options_prep +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + _G_parse_options_requote=false + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" >&2 + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) _G_parse_options_requote=: ; break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; + esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi + done + + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $debug_cmd + + func_error "Missing argument for '$1'." + exit_cmd=exit +} + + +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs=" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk + } + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt + } + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# Extract macro arguments from autotools input with GNU M4. +# Written by Gary V. Vaughan, 2010 +# +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + +# Make sure we've evaluated scripts we depend on. +test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh +test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/options-parser + +# Set a version string. +scriptversion=2019-02-19.15; # UTC + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './extract-trace --help' for help with using this script from the +# command line. +# +# Or source first 'options-parser' and then this file into your own +# scripts in order to make use of the function and variable framework +# they define, and also to avoid the overhead of forking to run this +# script in its own process on every call. + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of +# 'extract-trace'. + + +# func_autoconf_configure MAYBE-CONFIGURE-FILE +# -------------------------------------------- +# Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current +# directory that contains an uncommented call to AC_INIT. +func_autoconf_configure () +{ + $debug_cmd + + _G_sed_no_comment=' + s|#.*$|| + s|^dnl .*$|| + s| dnl .*$||' + _G_ac_init= + + # If we were passed a genuine file, make sure it calls AC_INIT. + test -f "$1" \ + && _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT` + + # Otherwise it is not a genuine Autoconf input file. + test -n "$_G_ac_init" + _G_status=$? + + test 0 -ne "$_G_status" \ + && func_verbose "'$1' not using Autoconf" + + (exit $_G_status) +} + + +# func_tool_version_output CMD [FATAL-ERROR-MSG] +# ---------------------------------------------- +# Attempt to run 'CMD --version', discarding errors. The output can be +# ignored by redirecting stdout, and this function used simply to test +# whether the command exists and exits normally when passed a +# '--version' argument. +# When FATAL-ERROR-MSG is given, then this function will display the +# message and exit if running 'CMD --version' returns a non-zero exit +# status. +func_tool_version_output () +{ + $debug_cmd + + _G_cmd=$1 + _G_fatal_error_msg=$2 + + # Some tools, like 'git2cl' produce thousands of lines of output + # unless stdin is /dev/null - in that case we want to return + # successfully without saving all of that output. Other tools, + # such as 'help2man' exit with a non-zero status when stdin comes + # from /dev/null, so we re-execute without /dev/null if that + # happens. This means that occasionally, the output from both calls + # ends up in the result, but the alternative would be to discard the + # output from one call, and hope the other produces something useful. + { $_G_cmd --version /dev/null + _G_status=$? + + test 0 -ne "$_G_status" && test -n "$_G_fatal_error_msg" \ + && func_fatal_error "$_G_fatal_error_msg" + + (exit $_G_status) +} + + +# func_tool_version_number CMD [FATAL-ERROR-MSG] +# ---------------------------------------------- +# Pass arguments to func_tool_version_output, but set +# $func_tool_version_number_result to the last dot delimited digit string +# on the first line of output. +func_tool_version_number () +{ + $debug_cmd + + _G_verout=`func_tool_version_output "$@"` + _G_status=$? + + # A version number starts with a digit following a space on the first + # line of output from `--version`. + _G_verout=`echo "$_G_verout" |sed 1q` + if test -n "$_G_verout"; then + _G_vernum=`expr "$_G_verout" : '.* \([0-9][^ ]*\)'` + fi + + if test -n "$_G_vernum"; then + printf '%s\n' "$_G_vernum" + else + printf '%s\n' "$_G_verout" + fi + + (exit $_G_status) +} + + +# func_find_tool ENVVAR NAMES... +# ------------------------------ +# Search for a required program. Use the value of ENVVAR, if set, +# otherwise find the first of the NAMES that can be run (i.e., +# supports --version). If found, set ENVVAR to the program name, +# die otherwise. +func_find_tool () +{ + $debug_cmd + + _G_find_tool_envvar=$1 + shift + _G_find_tool_names=$@ + eval "_G_find_tool_res=\$$_G_find_tool_envvar" + if test -n "$_G_find_tool_res"; then + _G_find_tool_error_prefix="\$$find_tool_envvar: " + else + _G_find_tool_res= + _G_bestver= + for _G_prog + do + _G_find_tool_save_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for _G_dir in $PATH; do + IFS=$_G_find_tool_save_IFS + _G_progpath=$_G_dir/$_G_prog + test -r "$_G_progpath" && { + _G_curver=`func_tool_version_number $_G_progpath` + case $_G_bestver,$_G_curver in + ,) + # first non--version responsive prog sticks! + test -n "$_G_progpath" || _G_find_tool_res=$_G_progpath + ;; + ,*) + # first --version responsive prog beats non--version responsive! + _G_find_tool_res=$_G_progpath + _G_bestver=$_G_curver + ;; + *,*) + # another --version responsive prog must be newer to beat previous one! + test "x$_G_curver" = "x$_G_bestver" \ + || func_lt_ver "$_G_curver" "$_G_bestver" \ + || { + _G_find_tool_res=$_G_progpath + _G_bestver=$_G_curver + } + ;; + esac + } + done + IFS=$_G_find_tool_save_IFS + done + fi + if test -n "$_G_find_tool_res"; then + func_tool_version_number >/dev/null $_G_find_tool_res "\ +${_G_find_tool_error_prefix}Cannot run '$_G_find_tool_res --version'" + + # Make sure the result is exported to the environment for children + # to use. + eval "$_G_find_tool_envvar=\$_G_find_tool_res" + eval "export $_G_find_tool_envvar" + else + func_error "\ +One of these is required: + $_G_find_tool_names" + fi +} + + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Where a variable already has a non- +# empty value (as set by the package's 'bootstrap.conf'), that value is +# used in preference to deriving the default. Call them using their +# associated 'require_*' variable to ensure that they are executed, at +# most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_configure_ac +# -------------------- +# Ensure that there is a 'configure.ac' or 'configure.in' file in the +# current directory that contains an uncommented call to AC_INIT, and +# that '$configure_ac' contains its name. +require_configure_ac=func_require_configure_ac +func_require_configure_ac () +{ + $debug_cmd + + test -z "$configure_ac" \ + && func_autoconf_configure configure.ac && configure_ac=configure.ac + test -z "$configure_ac" \ + && func_autoconf_configure configure.in && configure_ac=configure.in + test -z "$configure_ac" \ + || func_verbose "found '$configure_ac'" + + require_configure_ac=: +} + + +# require_gnu_m4 +# -------------- +# Search for GNU M4, and export it in $M4. +require_gnu_m4=func_require_gnu_m4 +func_require_gnu_m4 () +{ + $debug_cmd + + test -n "$M4" || { + # Find the first m4 binary that responds to --version. + func_find_tool M4 gm4 gnum4 m4 + } + + test -n "$M4" || func_fatal_error "\ +Please install GNU M4, or 'export M4=/path/to/gnu/m4'." + + func_verbose "export M4='$M4'" + + # Make sure the search result is visible to subshells + export M4 + + require_gnu_m4=: +} + + +## --------------- ## +## Core functions. ## +## --------------- ## + +# This section contains the high level functions used when calling this +# file as a script. 'func_extract_trace' is probably the only one that you +# won't want to replace if you source this file into your own script. + + +# func_extract_trace MACRO_NAMES [FILENAME]... +# -------------------------------------------- +# set '$func_extract_trace_result' to a colon delimited list of arguments +# to any of the comma separated list of MACRO_NAMES in FILENAME. If no +# FILENAME is given, then '$configure_ac' is assumed. +func_extract_trace () +{ + $debug_cmd + + $require_configure_ac + $require_gnu_m4 + + _G_m4_traces=`$ECHO "--trace=$1" |$SED 's%,% --trace=%g'` + _G_re_macros=`$ECHO "($1)" |$SED 's%,%|%g'` + _G_macros="$1"; shift + test $# -gt 0 || { + set dummy $configure_ac + shift + } + + # Generate an error if the first file is missing + <"$1" + + # Sadly, we can't use 'autom4te' tracing to extract macro arguments, + # because it complains about things we want to ignore at bootstrap + # time - like missing m4_include files; AC_PREREQ being newer than + # the installed autoconf; and returns nothing when tracing + # 'AM_INIT_AUTOMAKE' when aclocal hasn't been generated yet. + # + # The following tries to emulate a less persnickety version of (and + # due to not having to wait for Perl startup on every invocation, + # it's probably faster too): + # + # autom4te --language=Autoconf --trace=$my_macro:\$% "$@" + # + # First we give a minimal set of macro declarations to M4 to prime + # it for reading Autoconf macros, while still providing some of the + # functionality generally used at m4-time to supply dynamic + # arguments to Autocof functions, but without following + # 'm4_s?include' files. + _G_mini=' + dnl Initialisation. + m4_changequote([,]) + m4_define([m4_copy], [m4_define([$2], m4_defn([$1]))]) + m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])]) + + dnl Replace macros which may abort m4 with a no-op variant. + m4_pushdef([m4_assert]) + m4_pushdef([m4_exit]) + m4_pushdef([m4_fatal]) + m4_pushdef([m4_m4exit]) + + dnl Replace macros that might break stderr of m4. + m4_pushdef([m4_errprint]) + m4_pushdef([m4_errprintn]) + m4_pushdef([m4_include]) + m4_pushdef([m4_warn]) + + dnl Avoid side-effects of tracing by extract-trace. + m4_pushdef([m4_maketemp]) + m4_pushdef([m4_mkstemp]) + + dnl TODO: reasons for this + m4_pushdef([m4_dnl]) + m4_pushdef([m4_m4wrap]) + + dnl Copy and rename macros not handled by "m4 --prefix". + m4_define([dnl], [m4_builtin([dnl])]) + m4_copy([m4_define], [m4_defun]) + m4_rename([m4_ifelse], [m4_if]) + m4_rename([m4_patsubst], [m4_bpatsubst]) + m4_rename([m4_regexp], [m4_bregexp]) + + dnl "m4sugar.mini" - useful m4-time macros for dynamic arguments. + dnl If we discover packages that need more m4 macros defined in + dnl order to bootstrap correctly, add them here: + m4_define([m4_bmatch], + [m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2], + [m4_if(m4_bregexp([$1], [$2]), -1, + [$0([$1], m4_shift3($@))], [$3])])]) + m4_define([m4_ifndef], [m4_ifdef([$1], [$3], [$2])]) + m4_define([m4_ifset], + [m4_ifdef([$1], [m4_ifval(m4_defn([$1]), [$2], [$3])], [$3])]) + m4_define([m4_require], [$1]) + m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))]) + + dnl "autoconf.mini" - things from autoconf macros we care about. + m4_copy([m4_defun], [AC_DEFUN]) + + dnl Dummy definitions for the macros we want to trace. + dnl AM_INIT_AUTOMAKE at least produces no trace without this. + ' + + _G_save=$IFS + IFS=, + for _G_macro in $_G_macros; do + IFS=$_G_save + func_append _G_mini "AC_DEFUN([$_G_macro])$nl" + done + IFS=$_G_save + + # We discard M4's stdout, but the M4 trace output from reading our + # "autoconf.mini" followed by any other files passed to this + # function is then scanned by sed to transform it into a colon + # delimited argument list assigned to a shell variable. + _G_transform='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;' + + # Unfortunately, alternation in regexp addresses doesn't work in at + # least BSD (and hence Mac OS X) sed, so we have to append a capture + # and print block for each traced macro to the sed transform script. + _G_save=$IFS + IFS=, + for _G_macro in $_G_macros; do + IFS=$_G_save + func_append _G_transform ' + /^m4trace: -1- '"$_G_macro"'/ { + s|^m4trace: -1- '"$_G_macro"'[([]*|| + s|], [[]|:|g + s|[])]*$|:| + s|\(.\):$|\1| + p + }' + done + IFS=$_G_save + + # Save the command pipeline results for further use by callers of + # this function. + func_extract_trace_result=`$ECHO "$_G_mini" \ + |$M4 -daq --prefix $_G_m4_traces - "$@" 2>&1 1>/dev/null \ + |$SED -n -e "$_G_transform"` +} + + +# func_extract_trace_first MACRO_NAMES [FILENAME]... +# -------------------------------------------------- +# Exactly like func_extract_trace, except that only the first argument +# to the first invocation of one of the comma separated MACRO_NAMES is +# returned in '$func_extract_trace_first_result'. +func_extract_trace_first () +{ + $debug_cmd + + func_extract_trace ${1+"$@"} + func_extract_trace_first_result=`$ECHO "$func_extract_trace_result" \ + |$SED -e 's|:.*$||g' -e 1q` +} + + +# func_main [ARG]... +# ------------------ +func_main () +{ + $debug_cmd + + # Configuration. + usage='$progname MACRO_NAME FILE [...]' + + long_help_message=' +The first argument to this program is the name of an autotools macro +whose arguments you want to extract by examining the files listed in the +remaining arguments using the same tool that Autoconf and Automake use, +GNU M4. + +The arguments are returned separated by colons, with each traced call +on a separate line.' + + # Option processing. + func_options "$@" + eval set dummy "$func_options_result"; shift + + # Validate remaining non-option arguments. + test $# -gt 1 \ + || func_fatal_help "not enough arguments" + + # Pass non-option arguments to extraction function. + func_extract_trace "$@" + + # Display results. + test -n "$func_extract_trace_result" \ + && $ECHO "$func_extract_trace_result" + + # The End. + exit $EXIT_SUCCESS +} + + +## --------------------------- ## +## Actually perform the trace. ## +## --------------------------- ## + +# Only call 'func_main' if this script was called directly. +test extract-trace = "$progname" && func_main "$@" + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "50/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: + +# Set a version string for *this* script. +scriptversion=2019-03-22.11; # UTC + + +## ------------------- ## +## Hookable functions. ## +## ------------------- ## + +# After 'bootstrap.conf' has been sourced, execution proceeds by calling +# 'func_bootstrap'. Wherever a function is decorated with +# 'func_hookable func_name', you will find a matching 'func_run_hooks +# func_name', which executes all functions added with 'func_add_hook +# func_name my_func'. +# +# You might notice that many of these functions begin with a series of +# '$require_foo' lines. See the docu-comments at the start of the +# 'Resource management' section for a description of what these are. + + +# func_bootstrap [ARG]... +# ----------------------- +# All the functions called inside func_bootstrap are hookable. See the +# the individual implementations for details. +func_bootstrap () +{ + $debug_cmd + + # Save the current positional parameters to prevent them being + # corrupted by calls to 'set' in 'func_init'. + func_quote eval ${1+"$@"} + _G_saved_positional_parameters=$func_quote_result + + # Initialisation. + func_init + + # Option processing. + eval func_options "$_G_saved_positional_parameters" + + # Post-option preparation. + func_prep + + # Reconfigure the package. + func_reconfigure + + # Ensure .version is up-to-date. + func_update_dotversion + + # Finalisation. + func_fini +} + + +# func_init +# --------- +# Any early initialisations can be hooked to this function. Consider +# whether you can hook onto 'func_prep' instead, because if you hook +# any slow to execute code in here, it will also add to the time before +# './bootstrap --version' can respond. +func_hookable func_init +func_init () +{ + $debug_cmd + + func_run_hooks func_init +} + + +# func_prep +# --------- +# Function to perform preparation for remaining bootstrap process. If +# your hooked code relies on the outcome of 'func_options' hook it here +# rather than to 'func_init'. +# +# All the functions called inside func_prep are hookable. See the +# individual implementations for details. +func_hookable func_prep +func_prep () +{ + $debug_cmd + + $require_buildtools_uptodate + $require_checkout_only_file + + $require_gnulib_merge_changelog + + # Report the results of SED and GREP searches from funclib.sh. + func_verbose "GREP='$GREP'" + func_verbose "SED='$SED'" + + # fetch update files from the translation project + func_update_translations + + func_run_hooks func_prep +} + + +# func_update_translations +# ------------------------ +# Update package po files and translations. +func_hookable func_update_translations +func_update_translations () +{ + $debug_cmd + + $opt_skip_po || { + test -d po && { + $require_package + + func_update_po_files po $package || exit $? + } + + func_run_hooks func_update_translations + } +} + + +# func_reconfigure +# ---------------- +# Reconfigure the current package by running the appropriate autotools in a +# suitable order. +func_hookable func_reconfigure +func_reconfigure () +{ + $debug_cmd + + $require_automake_options + + # Automake (without 'foreign' option) requires that NEWS & README exist. + case " $automake_options " in + " foreign ") ;; + *) + func_ensure_NEWS + func_ensure_README + ;; + esac + + # Ensure ChangeLog presence. + if test -n "$gnulib_modules"; then + func_ifcontains "$gnulib_modules" gitlog-to-changelog \ + func_ensure_changelog + else + $require_gnulib_cache + if $SED -n '/^gl_MODULES(\[/,/^])$/p' $gnulib_cache 2>/dev/null | + func_grep_q gitlog-to-changelog + then + func_ensure_changelog + fi + fi + + # Released 'autopoint' has the tendency to install macros that have + # been obsoleted in current 'gnulib', so run this before 'gnulib-tool'. + func_autopoint + + # Autoreconf runs 'aclocal' before 'libtoolize', which causes spurious + # warnings if the initial 'aclocal' is confused by the libtoolized + # (or worse: out-of-date) macro directory. + func_libtoolize + + # If you need to do anything after 'gnulib-tool' is done, but before + # 'autoreconf' runs, you don't need to override this whole function, + # because 'func_gnulib_tool' is hookable. + func_gnulib_tool + + func_autoreconf + + func_run_hooks func_reconfigure +} + + +# func_gnulib_tool +# ---------------- +# Run 'gnulib-tool' to fetch gnulib modules into the current package. +# +# It's assumed that since you are using gnulib's 'bootstrap' script, +# you're also using gnulib elsewhere in your package. If not, then +# you can replace this function in 'bootstrap.conf' with: +# +# func_gnulib_tool () { :; } +# +# (although the function returns immediately if $gnulib_tool is set to +# true in any case). +func_hookable func_gnulib_tool +func_gnulib_tool () +{ + $debug_cmd + + $require_gnulib_tool + $require_libtoolize + + test true = "$gnulib_tool" || { + $require_gnulib_git_submodules + + # bootstrap.conf written for gnulib bootstrap expects + # gnulib_tool_option_extras to which --no-changelog is appended, + # but libtool bootstrap expects you to append to gnulib_tool_options + # so that you can override the --no-changelog default: make sure we + # support both styles so users can migrate between them easily. + gnulib_tool_all_options="$gnulib_tool_options $gnulib_tool_option_extras" + + if test -n "$gnulib_modules"; then + $require_gnulib_cache + $require_gnulib_tool_base_options + + gnulib_mode=--import + + # Try not to pick up any stale values from 'gnulib-cache.m4'. + rm -f "$gnulib_cache" + + test -n "$gnulib_tool_base_options" \ + && func_append_uniq gnulib_tool_all_options " $gnulib_tool_base_options" + test -n "$gnulib_mk" \ + && func_append_uniq gnulib_tool_all_options " --makefile-name=$gnulib_mk" + test -n "$tests_base" && { + func_append_uniq gnulib_tool_all_options " --tests-base=$tests_base" + func_append_uniq gnulib_tool_all_options " --with-tests" + } + else + + # 'gnulib_modules' and others are cached in 'gnulib-cache.m4': + # Use 'gnulib --update' to fetch gnulib modules. + gnulib_mode=--update + fi + + # Add a sensible default libtool option to gnulib_tool_options. + # The embedded echo is to squash whitespace before globbing. + case `echo " "$gnulib_tool_all_options" "` in + *" --no-libtool "*|*" --libtool "*) ;; + *) if test true = "$LIBTOOLIZE"; then + func_append_uniq gnulib_tool_all_options " --no-libtool" + else + func_append_uniq gnulib_tool_all_options " --libtool" + fi + ;; + esac + + $opt_copy || func_append_uniq gnulib_tool_all_options " --symlink" + + func_append_uniq gnulib_tool_all_options " $gnulib_mode" + func_append gnulib_tool_all_options " $gnulib_modules" + + # The embedded echo is to squash whitespace before display. + gnulib_cmd=`echo $gnulib_tool $gnulib_tool_all_options` + + func_show_eval "$gnulib_cmd" 'exit $?' + + # Use 'gnulib-tool --copy-file' to install non-module files. + func_install_gnulib_non_module_files + } + + func_run_hooks func_gnulib_tool +} + + +# func_fini +# --------- +# Function to perform all finalisation for the bootstrap process. +func_hookable func_fini +func_fini () +{ + $debug_cmd + + func_gettext_configuration + func_clean_dangling_symlinks + func_clean_unused_macros + func_skip_po_recommendation + + func_run_hooks func_fini + + $require_bootstrap_uptodate + + func_echo "Done. Now you can run './configure'." +} + + +# func_gettext_configuration +# -------------------------- +# Edit configuration values into po/Makevars. +func_hookable func_gettext_configuration +func_gettext_configuration () +{ + $debug_cmd + + $require_autopoint + + test true = "$AUTOPOINT" || { + $require_copyright_holder + $require_extra_locale_categories + $require_package_bugreport + + # Escape xgettext options for sed Makevars generation below. + # We have to delete blank lines in a separate script so that we don't + # append \\\ to the penultimate line, and then delete the last empty + # line, which messes up the variable substitution later in this + # function. Note that adding a literal \\\ requires double escaping + # here, once for the execution subshell, and again for the assignment, + # which is why there are actually 12 (!!) backslashes in the script. + _G_xgettext_options=`echo "$xgettext_options$nl" |$SED '/^$/d' |$SED ' + $b + s|$| \\\\\\\\\\\\|'` + + # Create gettext configuration. + func_echo "Creating po/Makevars from po/Makevars.template ..." + $RM -f po/Makevars + $SED ' + /^EXTRA_LOCALE_CATEGORIES *=/s|=.*|= '"$extra_locale_categories"'| + /^COPYRIGHT_HOLDER *=/s|=.*|= '"$copyright_holder"'| + /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$package_bugreport"'| + /^XGETTEXT_OPTIONS *=/{ + s|$| \\| + a\ + '"$_G_xgettext_options"' \\\ + $${end_of_xgettext_options+} + } + s/ *$// + ' po/Makevars.template >po/Makevars || exit 1 + } + + func_run_hooks func_gettext_configuration +} + + + +## --------------- ## +## Core functions. ## +## --------------- ## + +# This section contains the main functions called from the 'Hookable +# functions' (shown above), and are the ones you're most likely +# to want to replace with your own implementations in 'bootstrap.conf'. + + +# func_autopoint +# -------------- +# If this package uses gettext, then run 'autopoint'. +func_autopoint () +{ + $debug_cmd + + $require_autopoint + + test true = "$AUTOPOINT" \ + || func_show_eval "$AUTOPOINT --force" 'exit $?' +} + + +# func_libtoolize +# --------------- +# If this package uses libtool, then run 'libtoolize'. +func_libtoolize () +{ + $debug_cmd + + $require_libtoolize + + test true = "$LIBTOOLIZE" || { + _G_libtoolize_options= + $opt_copy && func_append _G_libtoolize_options " --copy" + $opt_force && func_append _G_libtoolize_options " --force" + $opt_verbose || func_append _G_libtoolize_options " --quiet" + func_show_eval "$LIBTOOLIZE$_G_libtoolize_options" 'exit $?' + } +} + + +# func_gnulib_tool_copy_file SRC DEST +# ----------------------------------- +# Copy SRC, a path relative to the gnulib sub-tree, to DEST, a path +# relative to the top-level source directory using gnulib-tool so that +# any patches or replacements in $local_gl_path are applied. +func_gnulib_tool_copy_file () +{ + $debug_cmd + + $require_gnulib_tool + $require_patch + + if test true = "$gnulib_tool"; then + # If gnulib-tool is not available (e.g. bootstrapping in a + # distribution tarball), make sure that at least we have some + # version of the required file already in place. + test -f "$2" || func_fatal_error "\ +Can't find, copy or download '$2', a required +gnulib supplied file, please provide the location of a +complete 'gnulib' tree by setting 'gnulib_path' in your +'bootstrap.conf' or with the '--gnulib-srcdir' option - +or else specify the location of your 'git' binary by +setting 'GIT' in the environment so that a fresh +'gnulib' submodule can be cloned." + else + $require_gnulib_copy_cmd + + $gnulib_copy_cmd $1 $2 2>/dev/null || { + $require_gnulib_path + + func_error "'$gnulib_path/$1' does not exist" + return 1 + } + fi +} + + +# func_install_gnulib_non_module_files +# ------------------------------------ +# Get additional non-module files from gnulib, overriding existing files. +func_install_gnulib_non_module_files () +{ + $debug_cmd + + $require_build_aux + $require_gnulib_tool + + test -n "$gnulib_non_module_files" && { + maybe_exit_cmd=: + + for file in $gnulib_non_module_files; do + case $file in + */COPYING*) dest=COPYING;; + */INSTALL) dest=INSTALL;; + build-aux/missing) dest= + func_warning settings "\ +Please remove build-aux/missing from gnulib_module_files in +'bootstrap.conf', as it may clash with Automake's version." + ;; + build-aux/*) dest=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;; + *) dest=$file;; + esac + + # Be sure to show all copying errors before bailing out + test -z "$dest" \ + || func_gnulib_tool_copy_file "$file" "$dest" \ + || maybe_exit_cmd="exit $EXIT_FAILURE" + done + + $maybe_exit_cmd + } +} + + +# func_ensure_changelog +# --------------------- +# Even with 'gitlog-to-changelog' generated ChangeLogs, automake +# will not run to completion with no ChangeLog file. +func_ensure_changelog () +{ + $debug_cmd + + test -f ChangeLog && mv -f ChangeLog ChangeLog~ + + cat >ChangeLog <<'EOT' +## ---------------------- ## +## DO NOT EDIT THIS FILE! ## +## ---------------------- ## + +ChangeLog is generated by gitlog-to-changelog. +EOT + + _G_message="creating dummy 'ChangeLog'" + test -f ChangeLog~ \ + && func_append _G_message ' (backup in ChangeLog~)' + func_verbose "$_G_message" + + return 0 +} + + +# func_ensure_NEWS +# ---------------- +# Without AM_INIT_AUTOMAKE([foreign]), automake will not run to +# completion with no NEWS file, even though NEWS.md or NEWS.txt +# is often preferable. +func_ensure_NEWS () +{ + $debug_cmd + + test -f NEWS || { + _G_NEWS= + for _G_news in NEWS.txt NEWS.md NEWS.rst; do + test -f "$_G_news" && break + done + + test -f "$_G_news" && $LN_S $_G_news NEWS + func_verbose "$LN_S $_G_news NEWS" + } + + return 0 +} + + +# func_ensure_README +# ------------------ +# Without AM_INIT_AUTOMAKE([foreign]), automake will not run to +# completion with no README file, even though README.md or README.txt +# is often preferable. +func_ensure_README () +{ + $debug_cmd + + test -f README || { + _G_README= + for _G_readme in README.txt README.md README.rst; do + test -f "$_G_readme" && break + done + + test -f "$_G_readme" && $LN_S $_G_readme README + func_verbose "$LN_S $_G_readme README" + } + + return 0 +} + + +# func_autoreconf [SUBDIR] +# ------------------------ +# Being careful not to re-run 'autopoint' or 'libtoolize', and not to +# try to run 'autopoint', 'libtoolize' or 'autoheader' on packages that +# don't use them, defer to 'autoreconf' for execution of the remaining +# autotools to bootstrap this package. +# +# Projects with multiple trees to reconfigure can hook another call to +# this function onto func_reconfigure: +# +# my_autoreconf_foo () +# { +# func_autoreconf foo +# } +# func_add_hook func_reconfigure my_autoreconf_foo +func_autoreconf () +{ + $debug_cmd + + $require_autoheader + $require_build_aux # automake and others put files in here + $require_macro_dir # aclocal and others put files in here + + # We ran these manually already, and autoreconf won't exec ':' + save_AUTOPOINT=$AUTOPOINT; AUTOPOINT=true + save_LIBTOOLIZE=$LIBTOOLIZE; LIBTOOLIZE=true + + _G_autoreconf_options= + $opt_copy || func_append _G_autoreconf_options " --symlink" + $opt_force && func_append _G_autoreconf_options " --force" + $opt_verbose && func_append _G_autoreconf_options " --verbose" + func_show_eval "$AUTORECONF$_G_autoreconf_options --install${1+ $1}" 'exit $?' + + AUTOPOINT=$save_AUTOPOINT + LIBTOOLIZE=$save_LIBTOOLIZE +} + + +# func_check_configuration VARNAME [CONFIGURE_MACRO] +# -------------------------------------------------- +# Exit with a suitable diagnostic for an important configuration change +# that needs to be made before bootstrap can run correctly. +func_check_configuration () +{ + $debug_cmd + + $require_configure_ac + + eval 'test -n "$'$1'"' || { + _G_error_msg="please set '$1' in 'bootstrap.conf'" + if test -n "$configure_ac" && test -n "$2"; then + func_append _G_error_msg " +or add the following (or similar) to your '$configure_ac': +$2" + fi + + func_fatal_error "$_G_error_msg" + } +} + + +# func_clean_dangling_symlinks +# ---------------------------- +# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some +# gnulib-populated directories. Such .m4 files would cause aclocal to +# fail. The following requires GNU find 4.2.3 or newer. Considering +# the usual portability constraints of this script, that may seem a very +# demanding requirement, but it should be ok. Ignore any failure, +# which is fine, since this is only a convenience to help developers +# avoid the relatively unusual case where a symlinked-to .m4 file is +# git-removed from gnulib between successive runs of this script. +func_clean_dangling_symlinks () +{ + $debug_cmd + + $require_macro_dir + $require_source_base + + func_verbose "cleaning dangling symlinks" + + find "$macro_dir" "$source_base" \ + -depth \( -name '*.m4' -o -name '*.[ch]' \) \ + -type l -xtype l -delete > /dev/null 2>&1 +} + + +# func_clean_unused_macros +# ------------------------ +# Autopoint can result in over-zealously adding macros into $macro_dir +# even though they are not actually used, for example tests to help +# build the 'intl' directory even though you have specified +# 'AM_GNU_GETTEXT([external])' in your configure.ac. This function +# looks removes any macro files that can be found in gnulib, but +# are not 'm4_include'd by 'aclocal.m4'. +func_clean_unused_macros () +{ + $debug_cmd + + $require_gnulib_path + $require_macro_dir + + test -n "$gnulib_path" && test -f aclocal.m4 && { + aclocal_m4s=`find . -name aclocal.m4 -print` + + # We use 'ls|grep' instead of 'ls *.m4' to avoid exceeding + # command line length limits in some shells. + for file in `cd "$macro_dir" && ls -1 |$GREP '\.m4$'`; do + + # Remove a macro file when aclocal.m4 does not m4_include it... + func_grep_q 'm4_include([[]'$macro_dir/$file'])' $aclocal_m4s \ + || test ! -f "$gnulib_path/m4/$file" || { + + # ...and there is an identical file in gnulib... + if func_cmp_s "$gnulib_path/m4/$file" "$macro_dir/$file"; then + + # ...and it's not in the precious list ('echo' is needed + # here to squash whitespace for the match expression). + case " "`echo $gnulib_precious`" " in + *" $file "*) ;; + *) rm -f "$macro_dir/$file" + func_verbose \ + "removing unused gnulib file '$macro_dir/$file'" + esac + fi + } + done + } +} + + +# func_skip_po_recommendation +# --------------------------- +# If there is a po directory, and '--skip-po' wasn't passed, let the +# user know that they can use '--skip-po' on subsequent invocations. +func_skip_po_recommendation () +{ + $debug_cmd + + test ! -d po \ + || $opt_skip_po \ + || func_warning recommend "\ +If your pofiles are up-to-date, you can rerun bootstrap +as '$progname --skip-po' to avoid redownloading." +} + + +# func_update_dotversion +# ---------------------- +# Even with 'gitlog-to-changelog' generated ChangeLogs, automake +# will not run to completion with no ChangeLog file. +func_update_dotversion () +{ + $debug_cmd + + test -f "$build_aux/git-version-gen" && { + _G_message="updating .version" + test -f .version && { + mv .version .version~ + func_append _G_message " (backup in .version~)" + } + func_verbose "updating .version" + + $build_aux/git-version-gen dummy-arg > .version + } +} + + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Where a variable already has a non- +# empty value (as set by the package's 'bootstrap.conf'), that value is +# used in preference to deriving the default. Call them using their +# associated 'require_*' variable to ensure that they are executed, at +# most, once. + + +# require_gnulib_git_submodules +# ----------------------------- +# Initialize all git modules from $gnulib_git_submodules before we +# run 'gnulib-tool'. +require_gnulib_git_submodules=func_require_gnulib_git_submodules +func_require_gnulib_git_submodules () +{ + test -n "$gnulib_git_submodules" && { + for _G_submodule in $gnulib_git_submodules + do + func_show_eval "git submodule init -- $_G_submodule" \ + && func_show_eval "git submodule update -- $_G_submodule" \ + || func_fatal_error "Unable to init git module '$_G_submodule'." + done + } + + require_gnulib_git_submodules=: +} + + +# require_checkout_only_file +# -------------------------- +# Bail out if this package only bootstraps properly from a repository +# checkout. +require_checkout_only_file=func_require_checkout_only_file +func_require_checkout_only_file () +{ + $debug_cmd + + $opt_force || { + test -n "$checkout_only_file" && test ! -f "$checkout_only_file" \ + && func_fatal_error "\ +Bootstrapping from a non-checked-out distribution is risky. +If you wish to bootstrap anyway, use the '--force' option." + } + + require_checkout_only_file=: +} + + +# require_aclocal_amflags +# ----------------------- +# Ensure '$aclocal_amflags' has a sensible default, extracted from +# 'Makefile.am' if necessary. +require_aclocal_amflags=func_require_aclocal_amflags +func_require_aclocal_amflags () +{ + $debug_cmd + + $require_makefile_am + + _G_sed_extract_aclocal_amflags='s|#.*$|| + /^[ ]*ACLOCAL_AMFLAGS[ ]*=/ { + s|^.*=[ ]*\(.*\)|aclocal_amflags="\1"| + p + }' + + _G_aclocal_flags_cmd=`$SED -n "$_G_sed_extract_aclocal_amflags" \ + "$makefile_am"` + eval "$_G_aclocal_flags_cmd" + + func_verbose "ACLOCAL_AMFLAGS='$aclocal_amflags'" + + require_aclocal_amflags=: +} + + +# require_autoheader +# ------------------ +# Skip autoheader if it's not needed. +require_autoheader=func_require_autoheader +func_require_autoheader () +{ + $debug_cmd + + test true = "$AUTOHEADER" || { + func_extract_trace AC_CONFIG_HEADERS + test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_HEADER + + test -n "$func_extract_trace_result" || { + AUTOHEADER=true + + func_verbose "export AUTOHEADER='$AUTOHEADER'" + + # Make sure the search result is visible to subshells + export AUTOHEADER + } + } + + require_autoheader=: +} + + +# require_automake_options +# ------------------------ +# Extract options from AM_AUTOMAKE_INIT. +require_automake_options=func_require_automake_options +func_require_automake_options () +{ + $debug_cmd + + func_extract_trace AM_INIT_AUTOMAKE + automake_options=$func_extract_trace_result + + require_automake_options=: +} + + +# require_autopoint +# ----------------- +# Skip autopoint if it's not needed. +require_autopoint=func_require_autopoint +func_require_autopoint () +{ + $debug_cmd + + test true = "$AUTOPOINT" || { + func_extract_trace AM_GNU_GETTEXT_VERSION + + test -n "$func_extract_trace_result" || { + AUTOPOINT=true + + func_verbose "export AUTOPOINT='$AUTOPOINT'" + + # Make sure the search result is visible to subshells + export AUTOPOINT + } + } + + require_autopoint=: +} + + +# require_bootstrap_uptodate +# -------------------------- +# Complain if the version of bootstrap in the gnulib directory differs +# from the one we are running. +require_bootstrap_uptodate=func_require_bootstrap_uptodate +func_require_bootstrap_uptodate () +{ + $debug_cmd + + $require_build_aux + + _G_bootstrap_sources=" + $build_aux/bootstrap.in + $build_aux/extract-trace + $build_aux/funclib.sh + $build_aux/options-parser + " + + _G_missing_bootstrap_sources=false + for _G_src in $_G_bootstrap_sources; do + test -f "$_G_src" || _G_missing_bootstrap_sources=: + done + + if $_G_missing_bootstrap_sources; then + func_warning upgrade "\ +Please add bootstrap to your gnulib_modules list in +'bootstrap.conf', so that I can tell you when there are +updates available." + else + rm -f bootstrap.new + $build_aux/inline-source $build_aux/bootstrap.in > bootstrap.new + + if func_cmp_s "$progpath" bootstrap.new; then + rm -f bootstrap.new + func_verbose "bootstrap script up to date" + else + chmod 555 bootstrap.new + func_warning upgrade "\ +An updated bootstrap script has been generated for you in +'bootstrap.new'. After you've verified that you want +the changes, you can update with: + mv -f bootstrap.new $progname + ./$progname + +Or you can disable this check permanently by adding the +following to 'bootstrap.conf': + require_bootstrap_uptodate=:" + fi + fi + + require_bootstrap_uptodate=: +} + + +# require_build_aux +# ----------------- +# Ensure that '$build_aux' is set, and if it doesn't already point to an +# existing directory, create one. +require_build_aux=func_require_build_aux +func_require_build_aux () +{ + $debug_cmd + + test -n "$build_aux" || { + func_extract_trace_first AC_CONFIG_AUX_DIR + build_aux=$func_extract_trace_first_result + func_check_configuration build_aux \ + "AC_CONFIG_AUX_DIR([name of a directory for build scripts])" + + func_verbose "build_aux='$build_aux'" + } + + $require_vc_ignore_files + + # If the build_aux directory doesn't exist, create it now, and mark it + # as ignored for the VCS. + if test ! -d "$build_aux"; then + func_show_eval "mkdir '$build_aux'" + + test -n "$vc_ignore_files" \ + || func_insert_if_absent "$build_aux" $vc_ignore_files + fi + + require_build_aux=: +} + + +# require_buildreq_autobuild +# -------------------------- +# Try to find whether the bootstrap requires autobuild. +require_buildreq_autobuild=func_require_buildreq_autobuild +func_require_buildreq_autobuild () +{ + $debug_cmd + + $require_macro_dir + + test -f "$macro_dir/autobuild.m4" \ + || printf '%s\n' "$buildreq" |func_grep_q '^[ ]*autobuild' \ + || { + func_extract_trace AB_INIT + test -n "$func_extract_trace_result" && { + func_append buildreq 'autobuild - http://josefsson.org/autobuild/ +' + func_verbose "auto-adding 'autobuild' to build requirements" + } + } + + require_buildreq_autobuild=: +} + + +# require_buildreq_autoconf +# require_buildreq_autopoint +# require_buildreq_libtoolize +# --------------------------- +# Try to find the minimum compatible version of autoconf/libtool +# required to bootstrap successfully, and add it to '$buildreq'. +for tool in autoconf libtoolize autopoint; do + b=$tool + v=require_buildreq_${tool} + f=func_$v + case $tool in + autoconf) m=AC_PREREQ ;; + libtoolize) m=LT_PREREQ; b=libtool ;; + autopoint) m=AM_GNU_GETTEXT_VERSION b=gettext ;; + esac + + eval $v'='$f' + '$f' () + { + $debug_cmd + + # The following is ignored if undefined, but might be necessary + # in order for `func_find_tool` to run. + ${require_'$tool'-:} + + printf '\''%s\n'\'' "$buildreq" |func_grep_q '\''^[ ]*'$tool\'' || { + func_extract_trace '$m' + _G_version=$func_extract_trace_result + test -n "$_G_version" && { + func_append buildreq "\ + '$tool' $_G_version http://www.gnu.org/s/'$b' +" + func_verbose \ + "auto-adding '\'$tool'-$_G_version'\'' to build requirements" + } + } + + '$v'=: + } +' +done + + +# require_buildreq_automake +# ------------------------- +# Try to find the minimum compatible version of automake required to +# bootstrap successfully, and add it to '$buildreq'. +require_buildreq_automake=func_require_buildreq_automake +func_require_buildreq_automake () +{ + $debug_cmd + + # if automake is not already listed in $buildreq... + printf '%s\n' "$buildreq" |func_grep_q automake || { + func_extract_trace AM_INIT_AUTOMAKE + + # ...and AM_INIT_AUTOMAKE is declared... + test -n "$func_extract_trace_result" && { + automake_version=`$ECHO "$func_extract_trace_result" \ + |$SED -e 's|[^0-9]*||' -e 's| .*$||'` + test -n "$automake_version" || automake_version=- + + func_append buildreq "\ + automake $automake_version http://www.gnu.org/s/automake +" + func_verbose \ + "auto-adding 'automake-$automake_version' to build requirements" + } + } + + require_buildreq_automake=: +} + + +# require_buildreq_patch +# ---------------------- +# Automatically add a patch build-requirement if there are diff files +# in $local_gl_path. +require_buildreq_patch=func_require_buildreq_patch +func_require_buildreq_patch () +{ + $debug_cmd + + $require_local_gl_path + + # This ensures PATCH is set appropriately by the time + # func_check_versions enforces $buildreq. + $require_patch + + # If patch is not already listed in $buildreq... + printf '%s\n' "$buildreq" |func_grep_q '^[ ]*patch' || { + eval "set dummy $local_gl_path_quoted" ; shift + + for _G_dir + do + # The ugly find invocation is necessary to exit with non-zero + # status for old find binaries that don't support -exec fully. + if test ! -d "$_G_dir" \ + || find "$_G_dir" -name "*.diff" -exec false {} \; ; then : + else + func_append buildreq "patch - http://www.gnu.org/s/patch$nl" + break + fi + done + } + + require_buildreq_patch=: +} + + +# require_buildtools_uptodate +# --------------------------- +# Ensure all the packages listed in BUILDREQS are available on the build +# machine at the minimum versions or better. +require_buildtools_uptodate=func_require_buildtools_uptodate +func_require_buildtools_uptodate () +{ + $debug_cmd + + $require_buildreq_autobuild + $require_buildreq_autoconf + $require_buildreq_automake + $require_buildreq_libtoolize + $require_buildreq_autopoint + $require_buildreq_patch + + test -n "$buildreq" && { + _G_error_hdr= + + func_check_versions $buildreq + $func_check_versions_result || { + test -n "$buildreq_readme" \ + && test -f "$buildreq_readme" \ + && _G_error_hdr="\ +$buildreq_readme explains how to obtain these prerequisite programs: +" + func_strtable 0 11 12 36 \ + "Program" "Min_version" "Homepage" $buildreq + func_fatal_error "$_G_error_hdr$func_strtable_result" + } + } + + require_buildtools_uptodate=: +} + + +# require_copyright_holder +# ------------------------ +# Ensure there is a sensible non-empty default value in '$copyright_holder'. +require_copyright_holder=func_require_copyright_holder +func_require_copyright_holder () +{ + $debug_cmd + + test -n "$copyright_holder" || { + copyright_holder='Free Software Foundation, Inc.' + func_warning settings "\ +Please set copyright_holder explicitly in 'bootstrap.conf'; +defaulting to '$copyright_holder'." + } + + require_copyright_holder=: +} + + +# require_doc_base +# ---------------- +# Ensure doc_base has a sensible value, extracted from 'gnulib-cache.m4' +# if possible, otherwise letting 'gnulib-tool' pick a default. +require_doc_base=func_require_doc_base +func_require_doc_base () +{ + $debug_cmd + + $require_gnulib_cache + + test -f "$gnulib_cache" && test -z "$doc_base" && { + func_extract_trace_first "gl_DOC_BASE" "$gnulib_cache" + doc_base=$func_extract_trace_first_result + + test -n "$doc_base" && func_verbose "doc_base='$doc_base'" + } + + require_doc_base=: +} + + +# require_dotgitmodules +# --------------------- +# Ensure we have a '.gitmodules' file, with appropriate 'gnulib' settings. +require_dotgitmodules=func_require_dotgitmodules +func_require_dotgitmodules () +{ + $debug_cmd + + $require_git + + test true = "$GIT" || { + # A gnulib entry in .gitmodules always takes precedence. + _G_path=`$GIT config --file .gitmodules submodule.gnulib.path 2>/dev/null` + + test -n "$_G_path" || { + $require_vc_ignore_files + + func_verbose "creating '.gitmodules'" + + # If the .gitmodules file doesn't exist, create it now, and mark + # it as ignored for the VCS. + test -n "$gnulib_path" || gnulib_path=gnulib + test -n "$gnulib_url" || gnulib_url=git://git.sv.gnu.org/gnulib + + { + echo '[submodule "gnulib"]' + echo " path = $gnulib_path" + echo " url = $gnulib_url" + } >> .gitmodules + + test -n "$vc_ignore_files" \ + || func_insert_if_absent ".gitmodules" $vc_ignore_files + } + } + + require_dotgitmodules=: +} + + +# require_extra_locale_categories +# ------------------------------- +# Ensure there is a default value in '$extra_locale_categories' +require_extra_locale_categories=func_require_extra_locale_categories +func_require_extra_locale_categories () +{ + $debug_cmd + + # Defaults to empty, so run with whatever value may have been set in + # 'bootstrap.conf'. + require_extra_locale_categories=: +} + + +# require_git +# ----------- +# Ignore git if it's not available, or we're not in a git checkout tree. +require_git=func_require_git +func_require_git () +{ + $debug_cmd + + $opt_skip_git && GIT=true + + test true = "$GIT" || { + if test -d .git/.; then + ($GIT --version) >/dev/null 2>&1 || GIT=true + fi + } + + func_verbose "GIT='$GIT'" + + require_git=: +} + + +# require_gnulib_cache +# -------------------- +# Ensure there is a non-empty default for '$gnulib_cache', and that it +# names an existing file. +require_gnulib_cache=func_require_gnulib_cache +func_require_gnulib_cache () +{ + $debug_cmd + + $require_macro_dir + + test -n "$gnulib_cache" \ + || gnulib_cache=$macro_dir/gnulib-cache.m4 + + func_verbose "found '$gnulib_cache'" + + require_gnulib_cache=: +} + + +# require_gnulib_copy_cmd +# ----------------------- +# Only calculate the options for copying files with gnulib once. +require_gnulib_copy_cmd=func_require_gnulib_copy_cmd +func_require_gnulib_copy_cmd () +{ + $debug_cmd + + $require_gnulib_tool + $require_gnulib_tool_base_options + + gnulib_copy_cmd="$gnulib_tool $gnulib_tool_base_options --copy-file" + $opt_copy || func_append gnulib_copy_cmd " --symlink" + $opt_quiet || func_append gnulib_copy_cmd " --verbose" + + require_gnulib_copy_cmd=: +} + + +# require_gnulib_merge_changelog +# ------------------------------ +# See if we can use gnulib's git-merge-changelog merge driver. +require_gnulib_merge_changelog=func_require_gnulib_merge_changelog +func_require_gnulib_merge_changelog () +{ + $debug_cmd + + test -f ChangeLog && { + $require_git + + func_grep_q '^\(/\|\)ChangeLog$' .gitignore || test true = "$GIT" || { + if $GIT config merge.merge-changelog.driver >/dev/null; then + : + elif (git-merge-changelog --version) >/dev/null 2>&1; then + func_echo "initializing git-merge-changelog driver" + $GIT config merge.merge-changelog.name 'GNU-style ChangeLog merge driver' + $GIT config merge.merge-changelog.driver 'git-merge-changelog %O %A %B' + else + func_warning recommend \ + "Consider installing git-merge-changelog from gnulib." + fi + } + } + + require_gnulib_merge_changelog=: +} + + +# require_gnulib_mk +# ----------------- +# Ensure gnulib_mk has a sensible value, extracted from 'gnulib-cache.m4' +# if possible, otherwise letting 'gnulib-tool' pick a default. +require_gnulib_mk=func_require_gnulib_mk +func_require_gnulib_mk () +{ + $debug_cmd + + $require_gnulib_cache + + test -f "$gnulib_cache" && test -z "$gnulib_mk" && { + func_extract_trace_first "gl_MAKEFILE_NAME" "$gnulib_cache" + gnulib_mk=$func_extract_trace_first_result + + test -n "$gnulib_mk" && func_verbose "gnulib_mk='$gnulib_mk'" + } + + require_gnulib_mk=: +} + + +# require_gnulib_name +# ------------------- +# Ensure gnulib_name has a sensible value, extracted from 'gnulib-cache.m4' +# if possible, otherwise letting 'gnulib-tool' pick a default. +require_gnulib_name=func_require_gnulib_name +func_require_gnulib_name () +{ + $debug_cmd + + $require_gnulib_cache + + test -f "$gnulib_cache" && test -z "$gnulib_name" && { + func_extract_trace_first "gl_LIB" "$gnulib_cache" + gnulib_name=$func_extract_trace_first_result + + test -n "$gnulib_name" && func_verbose "gnulib_name='$gnulib_name'" + } + + require_gnulib_name=: +} + + +# require_gnulib_path +# require_gnulib_url +# ------------------- +# Ensure 'gnulib_path' and 'gnulib_url' are set. +require_gnulib_path=func_require_dotgitmodules_parameters +require_gnulib_url=func_require_dotgitmodules_parameters +func_require_dotgitmodules_parameters () +{ + $debug_cmd + + $require_git + + test true = "$GIT" && { + # If we can't find git (or if the user specified '--skip-git'), + # then use an existing gnulib directory specified with + # '--gnulib-srcdir' if possible. + test -n "$gnulib_path" \ + || test ! -x "$opt_gnulib_srcdir/gnulib-tool" \ + || gnulib_path=$opt_gnulib_srcdir + } + + + $require_dotgitmodules + + test -f .gitmodules && { + # Extract the parameters with sed, since git may be missing + test -n "$gnulib_path" \ + || gnulib_path=`$SED -e '/^.submodule "gnulib".$/,${ + /[ ]*path *= */{ + s|[ ]*||g;s|^[^=]*=||;p + } + } + d' .gitmodules |$SED 1q` + test -n "$gnulib_url" \ + || gnulib_url=`$SED -e '/^.submodule "gnulib".$/,${ + /[ ]*url *= */{ + s|[ ]*||g;s|^[^=]*=||;p + } + } + d' .gitmodules |$SED 1q` + + func_verbose "gnulib_path='$gnulib_path'" + func_verbose "gnulib_url='$gnulib_url'" + } + + require_gnulib_path=: + require_gnulib_url=: +} + + +# require_gnulib_submodule +# ------------------------ +# Ensure that there is a current gnulib submodule at '$gnulib_path'. +require_gnulib_submodule=func_require_gnulib_submodule +func_require_gnulib_submodule () +{ + $debug_cmd + + $require_git + + if test true = "$GIT"; then + func_warning recommend \ + "No 'git' found; imported gnulib modules may be outdated." + else + $require_gnulib_path + $require_gnulib_url + + if test -f .gitmodules && test -f "$gnulib_path/gnulib-tool"; then + : All present and correct. + + elif test -n "$opt_gnulib_srcdir"; then + # Older git can't clone into an empty directory. + rmdir "$gnulib_path" 2>/dev/null + func_show_eval "$GIT clone --reference '$opt_gnulib_srcdir' \ + '$gnulib_url' '$gnulib_path'" \ + || func_fatal_error "Unable to fetch gnulib submodule." + + # Without --gnulib-srcdir, and no existing checked out submodule, we + # create a new shallow clone of the remote gnulib repository. + else + trap func_cleanup_gnulib 1 2 13 15 + + shallow= + test -n "$gnulib_clone_since" && \ + $GIT clone -h 2>&1 |func_grep_q -- --shallow-since \ + && shallow="--shallow-since=$gnulib_clone_since" + + func_show_eval "$GIT clone $shallow '$gnulib_url' '$gnulib_path'" \ + func_cleanup_gnulib + + # FIXME: Solaris /bin/sh will try to execute '-' if any of + # these signals are caught after this. + trap - 1 2 13 15 + fi + + # Make sure we've checked out the correct revision of gnulib. + func_show_eval "$GIT submodule init -- $gnulib_path" \ + && func_show_eval "$GIT submodule update -- $gnulib_path" \ + || func_fatal_error "Unable to update gnulib submodule." + fi + + require_gnulib_submodule=: +} + + +# require_gnulib_tool +# ------------------- +# Ensure that '$gnulib_tool' is set, and points to an executable file, +# or else fall back to using the binary 'true' if the main gnulib +# files appear to have been imported already. +require_gnulib_tool=func_require_gnulib_tool +func_require_gnulib_tool () +{ + $debug_cmd + + test true = "$gnulib_tool" || { + $require_gnulib_submodule + $require_gnulib_path + + test -n "$gnulib_tool" \ + || gnulib_tool=$gnulib_path/gnulib-tool + + test -x "$gnulib_tool" || { + gnulib_tool=true + func_warning recommend \ + "No 'gnulib-tool' found; gnulib modules may be missing." + } + + test true = "$gnulib_tool" \ + || func_verbose "found '$gnulib_tool'" + } + + require_gnulib_tool=: +} + + +# require_gnulib_tool_base_options +# -------------------------------- +# Ensure that '$gnulib_tool_base_options' contains all the base options +# required according to user configuration from bootstrap.conf. +require_gnulib_tool_base_options=func_require_gnulib_tool_base_options +func_require_gnulib_tool_base_options () +{ + $debug_cmd + + $require_gnulib_tool + + gnulib_tool_base_options= + + test true = "$gnulib_tool" || { + # 'gnulib_modules' and others are maintained in 'bootstrap.conf': + # Use 'gnulib --import' to fetch gnulib modules. + $require_build_aux + test -n "$build_aux" \ + && func_append_uniq gnulib_tool_base_options " --aux-dir=$build_aux" + $require_macro_dir + test -n "$macro_dir" \ + && func_append_uniq gnulib_tool_base_options " --m4-base=$macro_dir" + $require_doc_base + test -n "$doc_base" \ + && func_append_uniq gnulib_tool_base_options " --doc-base=$doc_base" + $require_gnulib_name + test -n "$gnulib_name" \ + && func_append_uniq gnulib_tool_base_options " --lib=$gnulib_name" + $require_local_gl_path + test -n "$local_gl_path" && { + eval "set dummy $local_gl_path_quoted" ; shift + for _G_dir + do + func_append_uniq gnulib_tool_base_options " --local-dir=$_G_dir" + done + } + $require_source_base + test -n "$source_base" \ + && func_append_uniq gnulib_tool_base_options " --source-base=$source_base" + } + + require_gnulib_tool_base_options=: +} + + +# require_libtoolize +# ------------------ +# Skip libtoolize if it's not needed. +require_libtoolize=func_require_libtoolize +func_require_libtoolize () +{ + $debug_cmd + + # Unless we're not searching for libtool use by this package, set + # LIBTOOLIZE to true if none of 'LT_INIT', 'AC_PROG_LIBTOOL' and + # 'AM_PROG_LIBTOOL' are used in configure. + test true = "$LIBTOOLIZE" || { + func_extract_trace LT_INIT + test -n "$func_extract_trace_result" || func_extract_trace AC_PROG_LIBTOOL + test -n "$func_extract_trace_result" || func_extract_trace AM_PROG_LIBTOOL + test -n "$func_extract_trace_result" || LIBTOOLIZE=true + } + + test -n "$LIBTOOLIZE" || { + # Find libtoolize, named glibtoolize in Mac Ports, but prefer + # user-installed libtoolize to ancient glibtoolize shipped by + # Apple with Mac OS X when Mac Ports is not installed. + func_find_tool LIBTOOLIZE libtoolize glibtoolize + } + + test -n "$LIBTOOLIZE" || func_fatal_error "\ +Please install GNU Libtool, or 'export LIBTOOLIZE=/path/to/libtoolize'." + + func_verbose "export LIBTOOLIZE='$LIBTOOLIZE'" + + # Make sure the search result is visible to subshells + export LIBTOOLIZE + + require_libtoolize=: +} + + +# require_local_gl_path +# --------------------- +# Ensure local_gl_path has a sensible value, extracted from 'gnulib-cache.m4' if +# possible, otherwise letting 'gnulib-tool' pick a default. +require_local_gl_path=func_require_local_gl_path +func_require_local_gl_path () +{ + $debug_cmd + + $require_gnulib_cache + + # Compat with older bootstrap versions. + test -n "$local_gl_dir" && { + func_warning settings "\ +Please use 'local_gl_path' instead of 'local_gl_dir' in your +'bootstrap.conf' file." + local_gl_path=$local_gl_dir + local_gl_dir= + } + + test -f "$gnulib_cache" && test -z "$local_gl_path" && { + func_extract_trace_first "gl_LOCAL_DIR" "$gnulib_cache" + local_gl_path=$func_extract_trace_first_result + test -n "$local_gl_path" && func_verbose "local_gl_path='$local_gl_path'" + } + + test -z "$local_gl_path_quoted" && test -n "$local_gl_path" && { + save_IFS=$IFS + set dummy + # Don't use PATH_SEPARATOR here, gnulib must be fixed to store only ':' as + # path separator into gnulib-cache.m4 (consistency reasons among systems). + IFS=: + for _G_dir in $local_gl_path + do + set "$@" "$_G_dir" + done + shift + IFS=$save_IFS + func_quote eval "$@" + local_gl_path_quoted=$func_quote_result + } + + require_local_gl_path=: +} + + +# require_macro_dir +# ----------------- +# Ensure that '$macro_dir' is set, and if it doesn't already point to an +# existing directory, create one. +require_macro_dir=func_require_macro_dir +func_require_macro_dir () +{ + $debug_cmd + + # Sometimes this is stored in 'configure.ac'. + test -n "$macro_dir" || { + # AC_CONFIG_MACRO_DIRS takes a space delimited list of directories, + # but we only care about the first one in bootstrap. + func_extract_trace_first AC_CONFIG_MACRO_DIRS + macro_dir=`expr "x$func_extract_trace_first_result" : 'x\([^ ]*\)'` + } + test -n "$macro_dir" || { + func_extract_trace_first AC_CONFIG_MACRO_DIR + macro_dir=$func_extract_trace_first_result + } + + # Otherwise we might find it in 'Makefile.am'. + test -n "$macro_dir" || { + $require_aclocal_amflags + + # Take the argument following the first '-I', if any. + _G_minus_I_seen=false + for _G_arg in $aclocal_amflags; do + case $_G_minus_I_seen,$_G_arg in + :,*) macro_dir=$_G_arg; break ;; + *,-I) _G_minus_I_seen=: ;; + *,-I*) macro_dir=`expr x$_G_arg : 'x-I\(.*\)$'`; break ;; + esac + done + } + + func_verbose "macro_dir='$macro_dir'" + + func_check_configuration macro_dir \ + "AC_CONFIG_MACRO_DIRS([name of a directory for configure m4 files])" + + $require_vc_ignore_files + + # If the macro_dir directory doesn't exist, create it now, and mark it + # as ignored for the VCS. + if test ! -d "$macro_dir"; then + mkdir "$macro_dir" || func_permissions_error "$macro_dir" + + test -n "$vc_ignore_files" \ + || func_insert_if_absent "$macro_dir" $vc_ignore_files + fi + + require_macro_dir=: +} + + +# require_makefile_am +# ------------------- +# Ensure there is a 'Makefile.am' in the current directory. +require_makefile_am=func_require_makefile_am +func_require_makefile_am () +{ + $debug_cmd + + test -n "$makefile_am" \ + || makefile_am=Makefile.am + + <"$makefile_am" + + func_verbose "found '$makefile_am'" + + require_makefile_am=: +} + + +# require_package +# --------------- +# Ensure that '$package' contains a sensible default value. +require_package=func_require_package +func_require_package () +{ + $debug_cmd + + test -n "$package" || { + $require_package_name + + package=`echo "$package_name" \ + |$SED -e 's/GNU //' \ + -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + } + + func_verbose "package='$package'" + + require_package=: +} + + +# require_package_bugreport +# ------------------------- +# Ensure that this has a sensible value, extracted from 'configure.ac' +# if appropriate (and possible!). +require_package_bugreport=func_require_package_bugreport +func_require_package_bugreport () +{ + $debug_cmd + + func_extract_trace AC_INIT + + save_ifs=$IFS + IFS=: + set dummy $func_extract_trace_result + IFS=$save_ifs + shift + + test -n "$package_bugreport" || package_bugreport=$3 + func_check_configuration package_bugreport \ + "AC_INIT([$package_name], [$package_version], [bug-$package@gnu.org])" + func_verbose "package_bugreport='$package_bugreport'" + + require_package_bugreport=: +} + + +# require_package_name +# -------------------- +# Ensure that this has a sensible value, extracted from 'configure.ac' +# if appropriate (and possible!). +require_package_name=func_require_package_name +func_require_package_name () +{ + $debug_cmd + + func_extract_trace AC_INIT + + save_ifs=$IFS + IFS=: + set dummy $func_extract_trace_result + IFS=$save_ifs + shift + + test -n "$package_name" || package_name=$1 + func_check_configuration package_name \ + "AC_INIT([name of your package], [package version number])" + func_verbose "package_name='$package_name'" + + require_package_name=: +} + + +# require_package_version +# ----------------------- +# Ensure that this has a sensible value, extracted from 'configure.ac' +# if appropriate (and possible!). While we might have set all the +# parameters extracted from AC_INIT at once, 'package_version' in +# particular is not necessarily available as early as the others, since +# 'git-version-gen' is often involved, and until then we can't rely on +# getting a correct version number from an AC_INIT extraction. +require_package_version=func_require_package_version +func_require_package_version () +{ + $debug_cmd + + func_extract_trace AC_INIT + + save_ifs=$IFS + IFS=: + set dummy $func_extract_trace_result + IFS=$save_ifs + shift + + test -n "$package_version" || package_version=$2 + test -n "$package_version" || { + # The embedded echo is to squash whitespace before globbing. + case " "`echo $gnulib_modules`" " in + *" git-version-gen "*) + func_fatal_error "\ +cannot \$require_package_version in bootstrap.conf before +func_gnulib_tool has installed the 'git-version-gen' script." + ;; + *) + func_check_configuration package_version \ + "AC_INIT([name of your package], [package version number])" + ;; + esac + } + func_verbose "package_version='$package_version'" + + require_package_version=: +} + + +# require_patch +# ------------- +# Find patch, according to the PATCH environment variable, or else +# searching the user's PATH. +require_patch=func_require_patch +func_require_patch () +{ + $debug_cmd + + test -n "$PATCH" || { + # Find a patch program, preferring gpatch, which is usually better + # than the vendor patch. + func_find_tool PATCH gpatch patch + } + + test -n "$PATCH" || func_fatal_error "\ +Please install GNU Patch, or 'export PATCH=/path/to/gnu/patch'." + + func_verbose "export PATCH='$PATCH'" + + # Make sure the search result is visible to subshells + export PATCH + + require_patch=: +} + + +# require_source_base +# ------------------- +# Ensure that source_base has a sensible value, extracted from +# 'gnulib-cache.m4' if possible. +require_source_base=func_require_source_base +func_require_source_base () +{ + $debug_cmd + + $require_gnulib_cache + + test -f "$gnulib_cache" && test -z "$source_base" && { + func_extract_trace_first "gl_SOURCE_BASE" "$gnulib_cache" + + source_base=$func_extract_trace_first_result + + func_verbose "source_base='$source_base'" + } + + require_source_base=: +} + + +# require_vc_ignore_files +# ----------------------- +# Ensure that '$vc_ignore' has been processed to list VCS ignore files +# in '$vc_ignore_files' +require_vc_ignore_files=func_require_vc_ignore_files +func_require_vc_ignore_files () +{ + $debug_cmd + + test -n "$vc_ignore" || vc_ignore=auto + + if test auto = "$vc_ignore" && test -z "$vc_ignore_files"; then + vc_ignore_files= + test -d .git && vc_ignore_files=.gitignore + test -d CVS && vc_ignore_files="$vc_ignore_files .cvsignore" + else + vc_ignore_files=$vc_ignore + fi + + func_verbose "vc_ignore_files='$vc_ignore_files'" + + require_vc_ignore_files=: +} + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of 'bootstrap'. + +# func_len STRING +# --------------- +# STRING may not start with a hyphen. +if (eval 'x=123; test x${#x} = "x3"') 2>/dev/null +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo 0` + } +fi + + +# func_cmp_s FILE1 FILE2 +# ---------------------- +# Return non-zero exit status unless FILE1 and FILE2 are identical, without +# any output at all, even error messages. +func_cmp_s () +{ + $debug_cmd + + # This function relies on non-zero exit status, which will cause the + # program to exit when running in 'set -e' mode. + $CMP "$@" >/dev/null 2>&1 +} + + +# func_grep_q EXPRESSION [FILENAME..] +# ----------------------------------- +# Check whether EXPRESSION matches any line of any listed FILENAME, +# without any output at all, even error messages. +func_grep_q () +{ + $debug_cmd + + # This function relies on non-zero exit status, which will cause the + # program to exit when running in 'set -e' mode. + $GREP "$@" >/dev/null 2>&1 +} + + +# func_ifcontains LIST MEMBER YES-CMD [NO-CMD] +# -------------------------------------------- +# If whitespace-separated LIST contains MEMBER then execute YES-CMD, +# otherwise if NO-CMD was given, execute that. +func_ifcontains () +{ + $debug_cmd + + _G_wslist=$1 + _G_member=$2 + _G_yes_cmd=$3 + _G_no_cmd=${4-":"} + + _G_found=false + for _G_item in $_G_wslist; do + test "x$_G_item" = "x$_G_member" && { + _G_found=: + break + } + done + if $_G_found; then + eval "$_G_yes_cmd" + _G_status=$? + else + eval "$_G_no_cmd" + _G_status=$? + fi + + test 0 -eq "$_G_status" || exit $_G_status +} + + +# func_strpad STR WIDTH CHAR +# -------------------------- +# Trim STR, or pad with CHAR to force a total length of WIDTH. +func_strpad () +{ + $debug_cmd + + _G_width=`expr "$2" - 1` + func_strpad_result=`$ECHO "$1" |$SED ' + :a + s|^.\{0,'"$_G_width"'\}$|&'"$3"'| + ta + '` +} + + +# func_strrpad STR WIDTH CHAR +# --------------------------- +# Trim STR, or right-justify-pad with CHAR to force a total length of +# WIDTH. +func_strrpad () +{ + $debug_cmd + + _G_width=`expr "$2" - 1` + func_strrpad_result=`$ECHO "$1" |$SED ' + :a + s|^.\{0,'"$_G_width"'\}$|'"$3"'&| + ta + '` +} + + +# func_strrow INDENT FIELD WIDTH [FIELDn WIDTHn]... +# ------------------------------------------------- +# Return a string containing each FIELD left justified to WIDTH, with +# the whole thing indented by INDENT spaces. This function is used to +# render one row of aligned columns for a table by func_strtable(). +func_strrow () +{ + $debug_cmd + + func_strrow_linelen=$1; shift + + _G_row= + while test $# -gt 0; do + func_strrow_linelen=`expr $func_strrow_linelen + $2` + func_strpad "$1" $2 " " + func_append _G_row "$func_strpad_result" + shift; shift + done + + func_strrpad "$_G_row" $func_strrow_linelen " " + func_strrow_result=$func_strrpad_result +} + + +# func_strtable INDENT WIDTH1...WIDTHn HEADER1...HEADERn FIELD1...FIELDn +# ---------------------------------------------------------------------- +# Generate a string of newline-separated rows arranged in lined-up +# columns of the given WIDTHs, with the entire table indented by INDENT +# spaces. The number of columns is determined by the number of integer +# valued WIDTH arguments following INDENT. The next set (i.e. a number +# of arguments equal to the number of WIDTH arguments) of fields are +# treated as the table's column HEADERs, and are separated from the +# remainder of the table by an indented row of '-' characters. Remaining +# arguments are each aligned below the next available header, wrapping +# to a new row as necessary. Finally another row of '-' characters is +# added to mark the end of the table. +# +# For example an unindented 3 column table with 2 rows of data would be +# generated by this call: +# +# func_strtable 3 20 10 25 \ +# Header1 Header2 Header3 \ +# Row1Col1 Row1Col2 Row1Col3 \ +# Row2Col1 Row2Col2 Row2Col3 +# +# returning the following string: +# +# " Header1 Header2 Header3 +# ------------------------------------------------------- +# Row1Col1 Row1Col2 Row1Col3 +# Row2Col1 Row2Col2 Row2Col3 +# -------------------------------------------------------" +func_strtable () +{ + $debug_cmd + + # Save the indent value, we'll need it for each row we render. + _G_indent=$1; shift + + # Collect remaining numeric args into a list for reuse between + # members of each row when we call func_strrow later. + _G_widths=$1; shift + while test 0 -lt `expr "$1" : '[1-9][0-9]*$'`; do + func_append _G_widths " $1"; shift + done + + # Extract the same number of positional parameters as there are + # width elements - we'll do the header rows separately so that + # we can insert a divider line. + _G_header=$_G_indent + for _G_width in $_G_widths; do + func_append _G_header " $1 $_G_width"; shift + done + func_strrow $_G_header + + # Strip off the indent, and make a divider with '-' chars, then + # reindent. + _G_divider=`$ECHO "$func_strrow_result" \ + |$SED 's|[^ ]|-|g + :a + s|- |--|g + ta + '` + + # Append the header and divider to the running result. + func_append func_strtable_result "\ +$func_strrow_result +$_G_divider +" + + # The remaining rows are zipped between the width values we + # unwound earlier just like the header row above. + while test $# -gt 0; do + _G_row=$_G_indent + for _G_width in $_G_widths; do + func_append _G_row " $1 $_G_width"; shift + done + func_strrow $_G_row + func_append func_strtable_result "\ +$func_strrow_result +" + done + + # Mark the end of the table with a final divider line. + func_append func_strtable_result "$_G_divider" +} + + +# func_internal_error ARG... +# -------------------------- +# Echo program name prefixed message to standard error, and exit. +func_internal_error () +{ + func_fatal_error "\ +INTERNAL: " ${1+"$@"} " + Please report this bug to 'bug-gnulib@gnu.org' + in as much detail as possible." +} + + +# func_permissions_error FILE-OR-DIRECTORY +# ---------------------------------------- +# Echo program name prefixed permissions error message to standard +# error, and exit. +func_permissions_error () +{ + $debug_cmd + + func_fatal_error "Failed to create '$1', check permissions." +} + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + $require_term_colors + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + ${opt_silent-'false'} || { + func_quote eval $_G_cmd + eval func_truncate_cmd $func_quote_result + func_echo "running: $tc_bold$func_truncate_cmd_result$tc_reset" + } + + ${opt_dry_run-'false'} || { + eval "$_G_cmd" + _G_status=$? + test 0 -eq "$_G_status" || eval "(exit $_G_status); $_G_fail_exp" + } +} + + +# func_truncate_cmd CMD [ARG]... +# ------------------------------ +# For unreasonably long commands (such as a gnulib-tool invocation with +# the full module list for import), truncate CMD after the second non- +# option ARG. +func_truncate_cmd () +{ + $debug_cmd + + _G_last_arg_opt_p=false + func_truncate_cmd_result= + + set dummy "$@"; shift + + while test $# -gt 0; do + _G_opt=$1; shift + + test -n "$func_truncate_cmd_result" \ + && func_append func_truncate_cmd_result ' ' + func_append func_truncate_cmd_result "$_G_opt" + + func_len "x$func_truncate_cmd_result" + + case $_G_opt in + -*) _G_last_arg_opt_p=: ;; + *) $_G_last_arg_opt_p \ + || test "$min_cmd_len" -gt "$func_len_result" \ + || break + _G_last_arg_opt_p=false + ;; + esac + done + + test $# -gt 0 && func_append func_truncate_cmd_result "..." +} + + +# func_gitignore_entries FILE... +# ------------------------------ +# Strip blank and comment lines to leave significant entries. +func_gitignore_entries () +{ + $debug_cmd + + $SED -e '/^#/d' -e '/^$/d' "$@" +} + + +# func_insert_if_absent STR FILE... +# --------------------------------- +# If $STR is not already on a line by itself in $FILE, insert it, at the +# start. Entries are inserted at the start of the ignore list to ensure +# existing entries starting with ! are not overridden. Such entries +# support whilelisting exceptions after a more generic blacklist pattern. +# sorting the new contents of the file and replacing $FILE with the result. +func_insert_if_absent () +{ + $debug_cmd + + str=$1 + shift + + for file + do + test -f "$file" || touch "$file" + + duplicate_entries=`func_gitignore_entries "$file" |sort |uniq -d` + test -n "$duplicate_entries" \ + && func_error "duplicate entries in $file: " $duplicate_entries + + func_grep_q "^$str\$" "$file" \ + || func_verbose "inserting '$str' into '$file'" + + linesold=`func_gitignore_entries "$file" |wc -l` + linesnew=`{ $ECHO "$str"; cat "$file"; } \ + |func_gitignore_entries |sort -u |wc -l` + test "$linesold" -eq "$linesnew" \ + || { $SED "1i\\$nl$str$nl" "$file" >"$file"T && mv "$file"T "$file"; } \ + || func_permissions_error "$file" + done +} + + +# func_get_version APP +# -------------------- +# echo the version number (if any) of APP, which is looked up along your +# PATH. +func_get_version () +{ + $debug_cmd + + _G_app=$1 + + # Rather than uncomment the sed script in-situ, strip the comments + # programatically before passing the result to $SED for evaluation. + sed_get_version=`$ECHO '# extract version within line + s|.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1| + t done + + # extract version at start of line + s|^\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1| + t done + + d + + :done + # the following essentially does s|5.005|5.5| + s|\.0*\([1-9]\)|.\1|g + p + q' \ + |$SED '/^[ ]*#.*$/d'` + + func_tool_version_output $_G_app >/dev/null + _G_status=$? + + test 0 -ne "$_G_status" \ + || $_G_app --version 2>&1 |$SED -n "$sed_get_version" + + (exit $_G_status) +} + + +# func_check_tool APP +# ------------------- +# Search PATH for an executable at APP. +func_check_tool () +{ + $debug_cmd + + func_check_tool_result= + + case $1 in + *[\\/]*) + test -x "$1" && func_check_tool_result=$1 + ;; + *) + save_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for _G_check_tool_path in $PATH; do + IFS=$save_IFS + if test -x "$_G_check_tool_path/$1"; then + func_check_tool_result=$_G_check_tool_path/$1 + break + fi + done + IFS=$save_IFS + ;; + esac +} + + +# func_check_versions APP1 VER1 URL1 ...[APPN VERN URLN] +# ------------------------------------------------------ +func_check_versions () +{ + $debug_cmd + + func_check_versions_result=: + + while test $# -gt 0; do + _G_app=$1; shift + _G_reqver=$1; shift + _G_url=$1; shift + + # Diagnose bad buildreq formatting. + case $_G_url in + [a-z]*://*) ;; # looks like a url + *) func_fatal_error "\ +'$_G_url' from the buildreq table in +'bootstrap.conf' does not look like the URL for downloading +$_G_app. Please ensure that buildreq is a strict newline +delimited list of triples; 'program min-version url'." + ;; + esac + + # Honor $APP variables ($TAR, $AUTOCONF, etc.) + _G_appvar=`echo $_G_app |tr '[a-z]' '[A-Z]'` + test TAR = "$_G_appvar" && _G_appvar=AMTAR + eval "_G_app=\${$_G_appvar-$_G_app}" + + # Fail if no version specified, but the program can't be found. + if test x- = "x$_G_reqver"; then + func_check_tool $_G_app + if test -z "$func_check_tool_result"; then + func_error "Prerequisite '$_G_app' not not found. Please install it, or +'export $_G_appvar=/path/to/$_G_app'." + func_check_versions_result=false + else + func_verbose "found '$func_check_tool_result' for $_G_appvar." + fi + else + _G_instver=`func_get_version $_G_app` + + # Fail if --version didn't work. + if test -z "$_G_instver"; then + func_error "Prerequisite '$_G_app' not found. Please install it, or +'export $_G_appvar=/path/to/$_G_app'." + func_check_versions_result=false + + # Fail if a newer version than what we have is required. + else + func_verbose "found '$_G_app' version $_G_instver." + + case $_G_reqver in + =*) + # If $buildreq version starts with '=', version must + # match the installed program exactly. + test "x$_G_reqver" = "x=$_G_instver" || { + func_error "\ + '$_G_app' version == $_G_instver is too old + 'exactly $_G_app-$_G_reqver is required" + func_check_versions_result=false + } + ;; + *) + # Otherwise, anything that is not older is a match. + func_lt_ver "$_G_reqver" "$_G_instver" || { + func_error "\ + '$_G_app' version == $_G_instver is too old + '$_G_app' version >= $_G_reqver is required" + func_check_versions_result=false + } + ;; + esac + fi + fi + done +} + + +# func_cleanup_gnulib +# ------------------- +# Recursively delete everything below the path in the global variable +# GNULIB_PATH. +func_cleanup_gnulib () +{ + $debug_cmd + + _G_status=$? + $RM -fr "$gnulib_path" + exit $_G_status +} + + +# func_download_po_files SUBDIR DOMAIN +# ------------------------------------ +func_download_po_files () +{ + $debug_cmd + + func_echo "getting translations into $1 for $2..." + _G_cmd=`printf "$po_download_command_format" "$2" "$1"` + eval "$_G_cmd" +} + + +# func_update_po_files PO_DIR DOMAIN +# ---------------------------------- +# Mirror .po files to $po_dir/.reference and copy only the new +# or modified ones into $po_dir. Also update $po_dir/LINGUAS. +# Note po files that exist locally only are left in $po_dir but will +# not be included in LINGUAS and hence will not be distributed. +func_update_po_files () +{ + $debug_cmd + + # Directory containing primary .po files. + # Overwrite them only when we're sure a .po file is new. + _G_po_dir=$1 + _G_domain=$2 + + # Mirror *.po files into this dir. + # Usually contains *.s1 checksum files. + _G_ref_po_dir=$_G_po_dir/.reference + + test -d "$_G_ref_po_dir" || mkdir $_G_ref_po_dir || return + func_download_po_files $_G_ref_po_dir $_G_domain \ + && ls "$_G_ref_po_dir"/*.po 2>/dev/null \ + |$SED -e 's|.*/||' -e 's|\.po$||' > "$_G_po_dir/LINGUAS" || return + + # Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6+. + func_find_tool SHA1SUM sha1sum gsha1sum shasum sha1 + + test -n "$SHA1SUM" || func_fatal_error "\ +Please install GNU Coreutils, or 'export SHA1SUM=/path/to/sha1sum'." + + _G_langs=`cd $_G_ref_po_dir && echo *.po|$SED 's|\.po||g'` + test '*' = "$_G_langs" && _G_langs=x + for _G_po in $_G_langs; do + case $_G_po in x) continue;; esac + _G_new_po=$_G_ref_po_dir/$_G_po.po + _G_cksum_file=$_G_ref_po_dir/$_G_po.s1 + if ! test -f "$_G_cksum_file" || + ! test -f "$_G_po_dir/$_G_po.po" || + ! $SHA1SUM -c "$_G_cksum_file" \ + < "$_G_new_po" > /dev/null; then + echo "updated $_G_po_dir/$_G_po.po..." + cp "$_G_new_po" "$_G_po_dir/$_G_po.po" \ + && $SHA1SUM < "$_G_new_po" > "$_G_cksum_file" || return + fi + done +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]...' + +# Short help message in response to '-h'. Add to this in 'bootstrap.conf' +# if you accept any additional options. +usage_message="Common Bootstrap Options: + -c, --copy copy files instead of creating symbolic links. + --debug enable verbose shell tracing + -n, --dry-run print commands rather than running them + -f, --force attempt to bootstrap even if the sources seem not + to have been checked out. + --gnulib-srcdir=DIRNAME + specify a local directory where gnulib sources + reside. Use this if you already have the gnulib + sources on your machine, and don't want to waste + your bandwidth downloading them again. Defaults to + \$GNULIB_SRCDIR. + --no-warnings equivalent to '-Wnone' + --skip-git do not fetch files from remote repositories + --skip-po do not download po files. + -v, --verbose verbosely report processing + --version print version information and exit + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=$long_help_message" + 'recommend' show warnings about missing recommended packages + 'settings' show warnings about missing '$progname.conf' settings + 'upgrade' show warnings about out-dated files + +If the file '$progname.conf' exists in the same directory as this +script, its contents are read as shell variables to configure the +bootstrap. + +For build prerequisites, environment variables like \$AUTOCONF and +\$AMTAR are honored. + +Running without arguments will suffice in most cases. +" + +# Warning categories used by 'bootstrap', append others if you use them +# in your 'bootstrap.conf'. +warning_categories='recommend settings upgrade' + + +# bootstrap_options_prep [ARG]... +# ------------------------------- +# Preparation for options parsed by Bootstrap. +bootstrap_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_copy=${copy-'false'} + opt_dry_run=false + opt_force=false + opt_gnulib_srcdir=$GNULIB_SRCDIR + opt_skip_git=false + opt_skip_po=false + + # Pass back the list of options we consumed. + func_quote eval ${1+"$@"} + bootstrap_options_prep_result=$func_quote_result +} +func_add_hook func_options_prep bootstrap_options_prep + + +# bootstrap_parse_options [ARG]... +# -------------------------------- +# Provide handling for Bootstrap specific options. +bootstrap_parse_options () +{ + $debug_cmd + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: ;; + --copy|-c) opt_copy=: ;; + --force|-f) opt_force=: ;; + + --gnulib-srcdir) + test $# = 0 && func_missing_arg $_G_opt && break + opt_gnulib_srcdir=$1 + shift + ;; + + --skip-git|--no-git) + opt_skip_git=: + ;; + + --skip-po|--no-po) + opt_skip_po=: + ;; + + # Separate non-argument short options: + -c*|-f*|-n*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + bootstrap_parse_options_result=$func_quote_result +} +func_add_hook func_parse_options bootstrap_parse_options + + +# bootstrap_validate_options [ARG]... +# ----------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +bootstrap_validate_options () +{ + $debug_cmd + + # Validate options. + test $# -gt 0 \ + && func_fatal_help "too many arguments" + + # Pass back the (empty) list of unconsumed options. + func_quote eval ${1+"$@"} + bootstrap_validate_options_result=$func_quote_result +} +func_add_hook func_validate_options bootstrap_validate_options + + +## -------------------------------------------------- ## +## Source package customisations in 'bootstrap.conf'. ## +## -------------------------------------------------- ## + +# Override the default configuration, if necessary. +# Make sure that bootstrap.conf is sourced from the current directory +# if we were invoked as "sh bootstrap". +case $0 in + */*) test -r "$0.conf" && . "$0.conf" ;; + *) test -r "$0.conf" && . ./"$0.conf" ;; +esac + + +## ------------------------------- ## +## Actually perform the bootstrap. ## +## ------------------------------- ## + +func_bootstrap ${1+"$@"} + +# The End. +exit ${exit_status-$EXIT_SUCCESS} + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "500/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: diff --git a/BUILD/libtool-2.4.7/bootstrap.conf b/BUILD/libtool-2.4.7/bootstrap.conf new file mode 100644 index 0000000..e708632 --- /dev/null +++ b/BUILD/libtool-2.4.7/bootstrap.conf @@ -0,0 +1,408 @@ +# bootstrap.conf (GNU Libtool) version 2014-11-18 +# +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2010 + +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +## -------------------------------- ## +## User overrideable command paths. ## +## -------------------------------- ## + +: "${MAKE=make}" + +export MAKE + + + +## -------------- ## +## Configuration. ## +## -------------- ## + +# File that should exist in the top directory of a checked out hierarchy, +# but not in a distribution tarball. +checkout_only_file=HACKING + +# List of programs (and minimum versions) required to bootstrap, maintain +# and release Libtool. +buildreq=" + help2man 1.29 http://www.gnu.org/s/help2man + make 3.81 http://www.gnu.org/s/make + makeinfo 4.8 http://www.gnu.org/s/texinfo + xz 4.999.8beta http://tukaani.org/xz +" + +# Instructions on how to install packages in $buildreq. +buildreq_readme=HACKING + +# Non-default gnulib directories. +local_gl_path=gl:gl-mod/bootstrap + +# We don't need the whole copy of gnulib. +gnulib_clone_since=2019-02-19 + +# Additional gnulib-tool options to use. +gnulib_tool_options=$gnulib_tool_options" + --avoid=dummy + --libtool + --macro-prefix=GL + --with-tests --tests-base=gnulib-tests +" + +# gnulib modules used by this package. +gnulib_modules=' + announce-gen + bootstrap + do-release-commit-and-tag + extract-trace + gendocs + git-version-gen + gitlog-to-changelog + gnu-web-doc-update + gnupload + inline-source + maintainer-makefile + options-parser + readme-release + update-copyright +' + +gnulib_git_submodules=' + gl-mod/bootstrap +' + +# Extra gnulib files that are not in modules, which override files of +# the same name installed by other bootstrap tools. +gnulib_non_module_files=$gnulib_non_module_files' + doc/COPYINGv2 + doc/fdl.texi +' + +# What ignore files to maintain. +vc_ignore=.gitignore + +# Running the installed 'libtoolize' will trash the local (newer) libtool.m4 +# among others. Don't use ':', since autoreconf can't exec it! +LIBTOOLIZE=true + +# List of file droppings from old releases of Libtool. +libtool_obsolete_files=" + acinclude.m4 + argz.c + libltdl/config.h + lt__dirent.c + lt__strl.c +" + + +## ------------------- ## +## Override functions. ## +## ------------------- ## + +# func_autopoint +# -------------- +# Libtool does not use autopoint. +func_autopoint () +{ + $debug_cmd +} + + +# func_libtoolize +# --------------- +# Libtoolize is part of Libtool! +func_libtoolize () +{ + $debug_cmd +} + + + +## ---------------------------- ## +## Libtool bootstrap functions. ## +## ---------------------------- ## + +# libtool_prep +# ------------ +# Libtool bootstrap initialisation after successful option parse and +# validation. +libtool_prep () +{ + $debug_cmd + + # initial clean-up of checked out tree + find . -depth \( -name autom4te.cache -o -name libtool \) -print \ + | grep -v '{arch}' \ + | xargs rm -rf + + # remove obsolete file droppings from old Libtool versions + for file in $libtool_obsolete_files; do + rm -f $file + done +} +func_add_hook func_prep libtool_prep + + +# libtool_add_libltdl_copying +# --------------------------- +# Use the canonical COPYING.LESSERv2 from gnulib. +libtool_add_libltdl_copying () +{ + $debug_cmd + + func_gnulib_tool_copy_file doc/COPYING.LESSERv2 libltdl/COPYING.LIB +} +func_add_hook func_gnulib_tool libtool_add_libltdl_copying + + +# libtool_build_prerequisites +# --------------------------- +# Libtool generates some files that are required before any autotools +# can be run successfully. +libtool_build_prerequisites () +{ + $debug_cmd + + $require_build_aux + $require_ltdl_dir + $require_macro_dir + $require_package + $require_package_bugreport + $require_package_name + $require_package_url + $require_package_version + + # Whip up a dirty Makefile: + makes='Makefile.am libltdl/ltdl.mk' + rm -f Makefile + { + echo "aux_dir = $build_aux" + echo "ltdl_dir = $ltdl_dir" + echo "macro_dir = $macro_dir" + + # The following allow us to tie bootstrap-deps output verbosity + # into the bootstrap --verbose option: + echo 'AM_V_GEN = $(am__v_GEN_$(V))' + echo 'am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))' + echo 'am__v_GEN_0 = @echo " GEN " $@;' + echo 'AM_V_at = $(am__v_at_$(V))' + echo 'am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))' + echo 'am__v_at_0 = @' + + $SED '/^if /,/^endif$/d;/^else$/,/^endif$/d;/^include /d' $makes + } > Makefile + + # Building distributed files from configure is bad for automake, so we + # generate them here, and have Makefile rules to keep them up to date. + func_show_eval "$MAKE bootstrap-deps \ + AM_DEFAULT_VERBOSITY=0 `$opt_verbose && echo V=1` \ + PACKAGE='$package' PACKAGE_BUGREPORT='$package_bugreport' \ + PACKAGE_NAME='$package_name' PACKAGE_URL='$package_url' \ + SED='$SED' srcdir=. VERSION='$package_version'" + status=$? + + rm -f Makefile + test 0 -eq "$status" ||exit $EXIT_FAILURE +} +func_add_hook func_gnulib_tool libtool_build_prerequisites + + +# libtool_autoreconf_libltdl +# -------------------------- +# Libtldl directory needs to be autoreconfed too. +libtool_autoreconf_libltdl () +{ + $debug_cmd + + # Also bootstrap libltdl ready for installation. + func_autoreconf libltdl +} +func_add_hook func_reconfigure libtool_autoreconf_libltdl + + +# libtool_readme_release_package_substitutions +# -------------------------------------------- +# Show our own package details instead of generic strings. +libtool_readme_release_package_substitutions () +{ + $debug_cmd + + $require_build_aux + $require_package + + my_readme=README-release + + test -f "$my_readme" \ + || func_fatal_error "error: '$my_readme' does not exist" + + # Perform substitutions to a temporary file + $SED -e "\ + s|\@PACKAGE\@|$package|g + " "$my_readme" > "${my_readme}T" \ + && mv "${my_readme}T" "$my_readme" +} +func_add_hook func_fini libtool_readme_release_package_substitutions + + +# libtool_fudge_timestamps +# ------------------------ +# Autoheader valiantly tries to prevent needless reconfigurations by +# not changing the timestamp of config-h.in unless the file contents +# are updated. Unfortunately config-h.in depends on aclocal.m4, which +# *is* updated, so running 'libtoolize --ltdl=. && configure && make' +# causes autoheader to be called... undesireable for users that do not +# have it! Fudge the timestamp to prevent that: +libtool_fudge_timestamps () +{ + $debug_cmd + + sleep 2 && touch libltdl/config-h.in +} +func_add_hook func_fini libtool_fudge_timestamps + + +# libtool_cleanup +# --------------- +libtool_cleanup () +{ + $debug_cmd + + # These files can cause an infinite configure loop if left behind. + rm -f Makefile libltdl/Makefile libtool vcl.tmp +} +func_add_hook func_fini libtool_cleanup + + +# libtool_check_for_bogus_macros +# ------------------------------ +# Try to catch the case where 'aclocal' pulls installed libtool macro +# file contents from another version of libtool into the current package +# 'aclocal.m4'. +libtool_check_for_bogus_macros () +{ + $debug_cmd + $require_build_aux + $build_aux/no-bogus-m4-defines || exit 1 +} +func_add_hook func_fini libtool_check_for_bogus_macros + + +# libtool_cleanup_empty_dirs +# -------------------------- +# Gnulib leaves behind a few files we don't need. +libtool_cleanup_empty_dirs () +{ + $debug_cmd + + my_gnulib_source=${source_base:-'lib'} + + if test -d "$my_gnulib_source"; then + rm -f "$my_gnulib_source/.gitignore" "$my_gnulib_source/Makefile.am" || exit 1 + rmdir "$my_gnulib_source" || exit 1 + fi +} +func_add_hook func_fini libtool_cleanup_empty_dirs + + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# require_ltdl_dir +# ---------------- +# Extract libtool's ltdl directory from configure.ac. +require_ltdl_dir=func_require_ltdl_dir +func_require_ltdl_dir () +{ + $debug_cmd + + $require_configure_ac + + func_extract_trace LT_CONFIG_LTDL_DIR + + save_ifs=$IFS + IFS=: + set dummy $func_extract_trace_result + IFS=$save_ifs + shift + + ltdl_dir=$1 + func_check_configuration ltdl_dir \ + "LT_CONFIG_LTDL_DIR([name of your libltdl directory])" + + func_verbose "ltdl_dir='$ltdl_dir'" + + require_ltdl_dir=: +} + + +# require_package_url +# ------------------- +# Ensure that package_url has a sensible default. +require_package_url=libtool_require_package_url +libtool_require_package_url () +{ + $debug_cmd + + $require_configure_ac + + func_extract_trace AC_INIT + + save_IFS=$IFS + IFS=: + set dummy $func_extract_trace_result + IFS=$save_IFS + shift + + test -n "$package_url " || package_url=$5 + test -n "$package_url" || { + # How to extract the parameters for 'make bootstrap-deps' from + # configure.ac. This is very specific to the way Libtool's + # configure.ac layout. + sed_extract_package_url='s|#.*$||; s|^dnl .*$||; s| dnl .*$||; + /AC_SUBST([[]*PACKAGE_URL/{ + s|.*AC_SUBST([[ ]*PACKAGE_URL[] ]*,[[ ]*|package_url="| + s|[]) ]*$|"| + p + }' + + # Extract package_url setting from configure.ac. + eval `$SED -n "$sed_extract_package_url" < configure.ac` + } + + test -n "$package_url" \ + || func_fatal_error "unable to determine 'package_url' from '$configure_ac'." + + func_verbose "package_url='$package_url'" + + require_package_url=: +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "# bootstrap.conf (GNU Libtool) version " +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "$" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/announce-gen b/BUILD/libtool-2.4.7/build-aux/announce-gen new file mode 100755 index 0000000..6f35cd9 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/announce-gen @@ -0,0 +1,587 @@ +#!/bin/sh +#! -*-perl-*- + +# Generate a release announcement message. + +# Copyright (C) 2002-2022 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Written by Jim Meyering + +# This is a prologue that allows to run a perl script as an executable +# on systems that are compliant to a POSIX version before POSIX:2017. +# On such systems, the usual invocation of an executable through execlp() +# or execvp() fails with ENOEXEC if it is a script that does not start +# with a #! line. The script interpreter mentioned in the #! line has +# to be /bin/sh, because on GuixSD systems that is the only program that +# has a fixed file name. The second line is essential for perl and is +# also useful for editing this file in Emacs. The next two lines below +# are valid code in both sh and perl. When executed by sh, they re-execute +# the script through the perl program found in $PATH. The '-x' option +# is essential as well; without it, perl would re-execute the script +# through /bin/sh. When executed by perl, the next two lines are a no-op. +eval 'exec perl -wSx "$0" "$@"' + if 0; + +my $VERSION = '2022-01-27 18:48'; # UTC +# The definition above must lie within the first 8 lines in order +# for the Emacs time-stamp write hook (at end) to update it. +# If you change this file with Emacs, please let the write hook +# do its job. Otherwise, update this string manually. + +my $copyright_year = '2022'; + +use strict; +use Getopt::Long; +use POSIX qw(strftime); + +(my $ME = $0) =~ s|.*/||; + +my %valid_release_types = map {$_ => 1} qw (alpha beta stable); +my @archive_suffixes = qw (tar.gz tar.bz2 tar.lz tar.lzma tar.xz); +my $srcdir = '.'; + +sub usage ($) +{ + my ($exit_code) = @_; + my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); + if ($exit_code != 0) + { + print $STREAM "Try '$ME --help' for more information.\n"; + } + else + { + my @types = sort keys %valid_release_types; + print $STREAM < = C + +Compute the sizes of the C<@file> and return them as a hash. Return +C if one of the computation failed. + +=cut + +sub sizes (@) +{ + my (@file) = @_; + + my $fail = 0; + my %res; + foreach my $f (@file) + { + my $cmd = "du -h $f"; + my $t = `$cmd`; + # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS + $@ + and (warn "command failed: '$cmd'\n"), $fail = 1; + chomp $t; + $t =~ s/^\s*([\d.]+[MkK]).*/${1}B/; + $res{$f} = $t; + } + return $fail ? undef : %res; +} + +=item C dedicated to the list of <@file>, which +sizes are stored in C<%size>, and which are available from the C<@url>. + +=cut + +sub print_locations ($\@\%@) +{ + my ($title, $url, $size, @file) = @_; + print "Here are the $title:\n"; + foreach my $url (@{$url}) + { + for my $file (@file) + { + print " $url/$file"; + print " (", $$size{$file}, ")" + if exists $$size{$file}; + print "\n"; + } + } + print "\n"; +} + +=item C. + +=cut + +sub print_checksums (@) +{ + my (@file) = @_; + + print "Here are the SHA1 and SHA256 checksums:\n"; + print "\n"; + + use Digest::file qw(digest_file_hex digest_file_base64); + + foreach my $f (@file) + { + print digest_file_hex($f, "SHA-1"), " $f\n"; + print digest_file_base64($f, "SHA-256"), " $f\n"; + } + print "\nThe SHA256 checksum is base64 encoded, instead of the\n"; + print "hexadecimal encoding that most checksum tools default to.\n\n"; +} + +=item C addressing changes +between versions C<$prev_version> and C<$curr_version>. + +=cut + +sub print_news_deltas ($$$) +{ + my ($news_file, $prev_version, $curr_version) = @_; + + my $news_name = $news_file; + $news_name =~ s|^\Q$srcdir\E/||; + + print "\n$news_name\n\n"; + + # Print all lines from $news_file, starting with the first one + # that mentions $curr_version up to but not including + # the first occurrence of $prev_version. + my $in_items; + + my $re_prefix = qr/(?:\* )?(?:Noteworthy c|Major c|C)(?i:hanges)/; + + my $found_news; + open NEWS, '<', $news_file + or die "$ME: $news_file: cannot open for reading: $!\n"; + while (defined (my $line = )) + { + if ( ! $in_items) + { + # Match lines like these: + # * Major changes in release 5.0.1: + # * Noteworthy changes in release 6.6 (2006-11-22) [stable] + $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o + or next; + $in_items = 1; + print $line; + } + else + { + # This regexp must not match version numbers in NEWS items. + # For example, they might well say "introduced in 4.5.5", + # and we don't want that to match. + $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o + and last; + print $line; + $line =~ /\S/ + and $found_news = 1; + } + } + close NEWS; + + $in_items + or die "$ME: $news_file: no matching lines for '$curr_version'\n"; + $found_news + or die "$ME: $news_file: no news item found for '$curr_version'\n"; +} + +sub print_changelog_deltas ($$) +{ + my ($package_name, $prev_version) = @_; + + # Print new ChangeLog entries. + + # First find all CVS-controlled ChangeLog files. + use File::Find; + my @changelog; + find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS' + and push @changelog, $File::Find::name}}, + '.'); + + # If there are no ChangeLog files, we're done. + @changelog + or return; + my %changelog = map {$_ => 1} @changelog; + + # Reorder the list of files so that if there are ChangeLog + # files in the specified directories, they're listed first, + # in this order: + my @dir = qw ( . src lib m4 config doc ); + + # A typical @changelog array might look like this: + # ./ChangeLog + # ./po/ChangeLog + # ./m4/ChangeLog + # ./lib/ChangeLog + # ./doc/ChangeLog + # ./config/ChangeLog + my @reordered; + foreach my $d (@dir) + { + my $dot_slash = $d eq '.' ? $d : "./$d"; + my $target = "$dot_slash/ChangeLog"; + delete $changelog{$target} + and push @reordered, $target; + } + + # Append any remaining ChangeLog files. + push @reordered, sort keys %changelog; + + # Remove leading './'. + @reordered = map { s!^\./!!; $_ } @reordered; + + print "\nChangeLog entries:\n\n"; + # print join ("\n", @reordered), "\n"; + + $prev_version =~ s/\./_/g; + my $prev_cvs_tag = "\U$package_name\E-$prev_version"; + + my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered"; + open DIFF, '-|', $cmd + or die "$ME: cannot run '$cmd': $!\n"; + # Print two types of lines, making minor changes: + # Lines starting with '+++ ', e.g., + # +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247 + # and those starting with '+'. + # Don't print the others. + my $prev_printed_line_empty = 1; + while (defined (my $line = )) + { + if ($line =~ /^\+\+\+ /) + { + my $separator = "*"x70 ."\n"; + $line =~ s///; + $line =~ s/\s.*//; + $prev_printed_line_empty + or print "\n"; + print $separator, $line, $separator; + } + elsif ($line =~ /^\+/) + { + $line =~ s///; + print $line; + $prev_printed_line_empty = ($line =~ /^$/); + } + } + close DIFF; + + # The exit code should be 1. + # Allow in case there are no modified ChangeLog entries. + $? == 256 || $? == 128 + or warn "warning: '$cmd' had unexpected exit code or signal ($?)\n"; +} + +sub get_tool_versions ($$) +{ + my ($tool_list, $gnulib_version) = @_; + @$tool_list + or return (); + + my $fail; + my @tool_version_pair; + foreach my $t (@$tool_list) + { + if ($t eq 'gnulib') + { + push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version; + next; + } + # Assume that the last "word" on the first line of + # 'tool --version' output is the version string. + my ($first_line, undef) = split ("\n", `$t --version`); + if ($first_line =~ /.* (\d[\w.-]+)$/) + { + $t = ucfirst $t; + push @tool_version_pair, "$t $1"; + } + else + { + defined $first_line + and $first_line = ''; + warn "$t: unexpected --version output\n:$first_line"; + $fail = 1; + } + } + + $fail + and exit 1; + + return @tool_version_pair; +} + +{ + # Use the C locale so that, for instance, "du" does not + # print "1,2" instead of "1.2", which would confuse our regexps. + $ENV{LC_ALL} = "C"; + + my $mail_headers; + my $release_type; + my $package_name; + my $prev_version; + my $curr_version; + my $gpg_key_id; + my @url_dir_list; + my @news_file; + my $bootstrap_tools; + my $gnulib_version; + my $print_checksums_p = 1; + + # Reformat the warnings before displaying them. + local $SIG{__WARN__} = sub + { + my ($msg) = @_; + # Warnings from GetOptions. + $msg =~ s/Option (\w)/option --$1/; + warn "$ME: $msg"; + }; + + GetOptions + ( + 'mail-headers=s' => \$mail_headers, + 'release-type=s' => \$release_type, + 'package-name=s' => \$package_name, + 'previous-version=s' => \$prev_version, + 'current-version=s' => \$curr_version, + 'gpg-key-id=s' => \$gpg_key_id, + 'url-directory=s' => \@url_dir_list, + 'news=s' => \@news_file, + 'srcdir=s' => \$srcdir, + 'bootstrap-tools=s' => \$bootstrap_tools, + 'gnulib-version=s' => \$gnulib_version, + 'print-checksums!' => \$print_checksums_p, + 'archive-suffix=s' => \@archive_suffixes, + + help => sub { usage 0 }, + version => + sub + { + print "$ME version $VERSION\n"; + print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n"; + print "License GPLv3+: GNU GPL version 3 or later .\n" + . "This is free software: you are free to change and redistribute it.\n" + . "There is NO WARRANTY, to the extent permitted by law.\n"; + print "\n"; + my $author = "Jim Meyering"; + print "Written by $author.\n"; + exit + }, + ) or usage 1; + + my $fail = 0; + # Ensure that each required option is specified. + $release_type + or (warn "release type not specified\n"), $fail = 1; + $package_name + or (warn "package name not specified\n"), $fail = 1; + $prev_version + or (warn "previous version string not specified\n"), $fail = 1; + $curr_version + or (warn "current version string not specified\n"), $fail = 1; + $gpg_key_id + or (warn "GnuPG key ID not specified\n"), $fail = 1; + @url_dir_list + or (warn "URL directory name(s) not specified\n"), $fail = 1; + + my @tool_list = split ',', $bootstrap_tools + if $bootstrap_tools; + + grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version + and (warn "when specifying gnulib as a tool, you must also specify\n" + . "--gnulib-version=V, where V is the result of running git describe\n" + . "in the gnulib source directory.\n"), $fail = 1; + + !$release_type || exists $valid_release_types{$release_type} + or (warn "'$release_type': invalid release type\n"), $fail = 1; + + @ARGV + and (warn "too many arguments:\n", join ("\n", @ARGV), "\n"), + $fail = 1; + $fail + and usage 1; + + my $my_distdir = "$package_name-$curr_version"; + + my $xd = "$package_name-$prev_version-$curr_version.xdelta"; + + my @candidates = map { "$my_distdir.$_" } @archive_suffixes; + my @tarballs = grep {-f $_} @candidates; + + @tarballs + or die "$ME: none of " . join(', ', @candidates) . " were found\n"; + my @sizable = @tarballs; + -f $xd + and push @sizable, $xd; + my %size = sizes (@sizable); + %size + or exit 1; + + my $headers = ''; + if (defined $mail_headers) + { + ($headers = $mail_headers) =~ s/\s+(\S+:)/\n$1/g; + $headers .= "\n"; + } + + # The markup is escaped as <\# so that when this script is sent by + # mail (or part of a diff), Gnus is not triggered. + print < + +Libtoolers! + +The Libtool Team is pleased to announce the release of $package_name $curr_version. + +GNU Libtool hides the complexity of using shared libraries behind a +consistent, portable interface. GNU Libtool ships with GNU libltdl, which +hides the complexity of loading dynamic runtime libraries (modules) +behind a consistent, portable interface. + +EOF + + if (@url_dir_list == 1 && @tarballs == 1) + { + # When there's only one tarball and one URL, use a more concise form. + my $m = "$url_dir_list[0]/$tarballs[0]"; + print "Here are the compressed sources and a GPG detached signature[*]:\n" + . " $m\n" + . " $m.sig\n\n"; + } + else + { + print_locations ("compressed sources", @url_dir_list, %size, @tarballs); + -f $xd + and print_locations ("xdelta diffs (useful? if so, " + . "please tell bug-gnulib\@gnu.org)", + @url_dir_list, %size, $xd); + my @sig_files = map { "$_.sig" } @tarballs; + print_locations ("GPG detached signatures[*]", @url_dir_list, %size, + @sig_files); + } + + if ($url_dir_list[0] =~ "gnu\.org") + { + print "Use a mirror for higher download bandwidth:\n"; + if (@tarballs == 1 && $url_dir_list[0] =~ m!https://ftp\.gnu\.org/gnu/!) + { + (my $m = "$url_dir_list[0]/$tarballs[0]") + =~ s!https://ftp\.gnu\.org/gnu/!https://ftpmirror\.gnu\.org/!; + print " $m\n" + . " $m.sig\n\n"; + + } + else + { + print " https://www.gnu.org/order/ftp.html\n\n"; + } + } + + $print_checksums_p + and print_checksums (@sizable); + + print <. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN* | MSYS*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/* | msys/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/config.guess b/BUILD/libtool-2.4.7/build-aux/config.guess new file mode 100755 index 0000000..fd3524f --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/config.guess @@ -0,0 +1,1757 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2022 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-01-09' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2022 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# Just in case it came from the environment. +GUESS= + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD=$driver + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case $UNAME_SYSTEM in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)` + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case $UNAME_MACHINE_ARCH in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case $UNAME_MACHINE_ARCH in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case $UNAME_VERSION in + Debian*) + release='-gnu' + ;; + *) + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + GUESS=$machine-${os}${release}${abi-} + ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; + *:MidnightBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; + *:ekkoBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; + *:SolidBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; + *:OS108:*:*) + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; + macppc:MirBSD:*:*) + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; + *:MirBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; + *:Sortix:*:*) + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; + *:Redox:*:*) + GUESS=$UNAME_MACHINE-unknown-redox + ;; + mips:OSF1:*.*) + GUESS=mips-dec-osf1 + ;; + alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case $ALPHA_CPU_TYPE in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; + Amiga*:UNIX_System_V:4.0:*) + GUESS=m68k-unknown-sysv4 + ;; + *:[Aa]miga[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; + *:[Mm]orph[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-morphos + ;; + *:OS/390:*:*) + GUESS=i370-ibm-openedition + ;; + *:z/VM:*:*) + GUESS=s390-ibm-zvmoe + ;; + *:OS400:*:*) + GUESS=powerpc-ibm-os400 + ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + GUESS=arm-unknown-riscos + ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + GUESS=hppa1.1-hitachi-hiuxmpp + ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; + NILE*:*:*:dcosx) + GUESS=pyramid-pyramid-svr4 + ;; + DRS?6000:unix:4.0:6*) + GUESS=sparc-icl-nx6 + ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; + s390x:SunOS:*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; + sun4H:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; + sun4*:SunOS:*:*) + case `/usr/bin/arch -k` in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; + sun3*:SunOS:*:*) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case `/bin/arch` in + sun3) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun4) + GUESS=sparc-sun-sunos$UNAME_RELEASE + ;; + esac + ;; + aushp:SunOS:*:*) + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; + m68k:machten:*:*) + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; + powerpc:machten:*:*) + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; + RISC*:Mach:*:*) + GUESS=mips-dec-mach_bsd4.3 + ;; + RISC*:ULTRIX:*:*) + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; + VAX*:ULTRIX*:*:*) + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; + Motorola:PowerMAX_OS:*:*) + GUESS=powerpc-motorola-powermax + ;; + Motorola:*:4.3:PL8-*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:Power_UNIX:*:*) + GUESS=powerpc-harris-powerunix + ;; + m88k:CX/UX:7*:*) + GUESS=m88k-harris-cxux7 + ;; + m88k:*:4*:R4*) + GUESS=m88k-motorola-sysv4 + ;; + m88k:*:3*:R3*) + GUESS=m88k-motorola-sysv3 + ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + GUESS=m88k-dg-dgux$UNAME_RELEASE + else + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE + fi + else + GUESS=i586-dg-dgux$UNAME_RELEASE + fi + ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + GUESS=m88k-dolphin-sysv3 + ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + GUESS=m88k-motorola-sysv3 + ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + GUESS=m88k-tektronix-sysv3 + ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + GUESS=m68k-tektronix-bsd + ;; + *:IRIX*:*:*) + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + GUESS=i386-ibm-aix + ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then + GUESS=$SYSTEM_NAME + else + GUESS=rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + GUESS=rs6000-ibm-aix3.2.4 + else + GUESS=rs6000-ibm-aix3.2 + fi + ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; + *:AIX:*:*) + GUESS=rs6000-ibm-aix + ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + GUESS=romp-ibm-bsd4.4 + ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + GUESS=rs6000-bull-bosx + ;; + DPX/2?00:B.O.S.:*:*) + GUESS=m68k-bull-sysv3 + ;; + 9000/[34]??:4.3bsd:1.*:*) + GUESS=m68k-hp-bsd + ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + GUESS=m68k-hp-bsd4.4 + ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case $sc_cpu_version in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case $sc_kernel_bits in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=unknown-hitachi-hiuxwe2 + ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + GUESS=hppa1.1-hp-bsd + ;; + 9000/8??:4.3bsd:*:*) + GUESS=hppa1.0-hp-bsd + ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + GUESS=hppa1.0-hp-mpeix + ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + GUESS=hppa1.1-hp-osf + ;; + hp8??:OSF1:*:*) + GUESS=hppa1.0-hp-osf + ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk + else + GUESS=$UNAME_MACHINE-unknown-osf1 + fi + ;; + parisc*:Lites*:*:*) + GUESS=hppa1.1-hp-lites + ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + GUESS=c1-convex-bsd + ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + GUESS=c34-convex-bsd + ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + GUESS=c38-convex-bsd + ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + GUESS=c4-convex-bsd + ;; + CRAY*Y-MP:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; + CRAY*T3E:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; + CRAY*SV1:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; + *:UNICOS/mp:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; + sparc*:BSD/OS:*:*) + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; + *:BSD/OS:*:*) + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi + else + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf + fi + ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case $UNAME_PROCESSOR in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; + i*:CYGWIN*:*) + GUESS=$UNAME_MACHINE-pc-cygwin + ;; + *:MINGW64*:*) + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; + *:MINGW*:*) + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; + *:MSYS*:*) + GUESS=$UNAME_MACHINE-pc-msys + ;; + i*:PW*:*) + GUESS=$UNAME_MACHINE-pc-pw32 + ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; + *:Interix*:*) + case $UNAME_MACHINE in + x86) + GUESS=i586-pc-interix$UNAME_RELEASE + ;; + authenticamd | genuineintel | EM64T) + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; + IA64) + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; + esac ;; + i*:UWIN*:*) + GUESS=$UNAME_MACHINE-pc-uwin + ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + GUESS=x86_64-pc-cygwin + ;; + prep*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; + *:GNU:*:*) + # the GNU system + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; + *:Minix:*:*) + GUESS=$UNAME_MACHINE-unknown-minix + ;; + aarch64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi + else + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf + fi + fi + ;; + avr32*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + cris:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + crisv32:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + e2k:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + frv:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + hexagon:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:Linux:*:*) + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; + ia64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + k1om:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m32r*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m68*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + openrisc*:Linux:*:*) + GUESS=or1k-unknown-linux-$LIBC + ;; + or32:Linux:*:* | or1k*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + padre:Linux:*:*) + GUESS=sparc-unknown-linux-$LIBC + ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + GUESS=hppa64-unknown-linux-$LIBC + ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; + esac + ;; + ppc64:Linux:*:*) + GUESS=powerpc64-unknown-linux-$LIBC + ;; + ppc:Linux:*:*) + GUESS=powerpc-unknown-linux-$LIBC + ;; + ppc64le:Linux:*:*) + GUESS=powerpc64le-unknown-linux-$LIBC + ;; + ppcle:Linux:*:*) + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + s390:Linux:*:* | s390x:Linux:*:*) + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; + sh64*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sh*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sw_64*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + tile*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + vax:Linux:*:*) + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI=${LIBC}x32 + fi + fi + GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + ;; + xtensa*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + GUESS=i386-sequent-sysv4 + ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; + i*86:XTS-300:*:STOP) + GUESS=$UNAME_MACHINE-unknown-stop + ;; + i*86:atheos:*:*) + GUESS=$UNAME_MACHINE-unknown-atheos + ;; + i*86:syllable:*:*) + GUESS=$UNAME_MACHINE-pc-syllable + ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; + i*86:*DOS:*:*) + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL + fi + ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv32 + fi + ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + GUESS=i586-pc-msdosdjgpp + ;; + Intel:Mach:3*:*) + GUESS=i386-pc-mach3 + ;; + paragon:*:*:*) + GUESS=i860-intel-osf1 + ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 + fi + ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + GUESS=m68010-convergent-sysv + ;; + mc68k:UNIX:SYSTEM5:3.51m) + GUESS=m68k-convergent-sysv + ;; + M680?0:D-NIX:5.3:*) + GUESS=m68k-diab-dnix + ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; + mc68030:UNIX_System_V:4.*:*) + GUESS=m68k-atari-sysv4 + ;; + TSUNAMI:LynxOS:2.*:*) + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; + rs6000:LynxOS:2.*:*) + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; + SM[BE]S:UNIX_SV:*:*) + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; + RM*:ReliantUNIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + RM*:SINIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + GUESS=$UNAME_MACHINE-sni-sysv4 + else + GUESS=ns32k-sni-sysv + fi + ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + GUESS=i586-unisys-sysv4 + ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + GUESS=hppa1.1-stratus-sysv4 + ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + GUESS=i860-stratus-sysv4 + ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=$UNAME_MACHINE-stratus-vos + ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=hppa1.1-stratus-vos + ;; + mc68*:A/UX:*:*) + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; + news*:NEWS-OS:6*:*) + GUESS=mips-sony-newsos6 + ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE + else + GUESS=mips-unknown-sysv$UNAME_RELEASE + fi + ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + GUESS=powerpc-be-beos + ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + GUESS=powerpc-apple-beos + ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + GUESS=i586-pc-beos + ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + GUESS=i586-pc-haiku + ;; + x86_64:Haiku:*:*) + GUESS=x86_64-unknown-haiku + ;; + SX-4:SUPER-UX:*:*) + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; + SX-5:SUPER-UX:*:*) + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; + SX-6:SUPER-UX:*:*) + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; + SX-7:SUPER-UX:*:*) + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; + SX-8:SUPER-UX:*:*) + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; + SX-8R:SUPER-UX:*:*) + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; + SX-ACE:SUPER-UX:*:*) + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; + Power*:Rhapsody:*:*) + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; + *:Rhapsody:*:*) + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; + *:QNX:*:4*) + GUESS=i386-pc-qnx + ;; + NEO-*:NONSTOP_KERNEL:*:*) + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; + NSE-*:NONSTOP_KERNEL:*:*) + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; + NSR-*:NONSTOP_KERNEL:*:*) + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; + NSV-*:NONSTOP_KERNEL:*:*) + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; + NSX-*:NONSTOP_KERNEL:*:*) + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; + *:NonStop-UX:*:*) + GUESS=mips-compaq-nonstopux + ;; + BS2000:POSIX*:*:*) + GUESS=bs2000-siemens-sysv + ;; + DS/*:UNIX_System_V:*:*) + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "${cputype-}" = 386; then + UNAME_MACHINE=i386 + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype + fi + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; + *:TOPS-10:*:*) + GUESS=pdp10-unknown-tops10 + ;; + *:TENEX:*:*) + GUESS=pdp10-unknown-tenex + ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + GUESS=pdp10-dec-tops20 + ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + GUESS=pdp10-xkl-tops20 + ;; + *:TOPS-20:*:*) + GUESS=pdp10-unknown-tops20 + ;; + *:ITS:*:*) + GUESS=pdp10-unknown-its + ;; + SEI:*:*:SEIUX) + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; + *:DragonFly:*:*) + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; + esac ;; + *:XENIX:*:SysV) + GUESS=i386-pc-xenix + ;; + i*86:skyos:*:*) + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; + i*86:rdos:*:*) + GUESS=$UNAME_MACHINE-pc-rdos + ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; + x86_64:VMkernel:*:*) + GUESS=$UNAME_MACHINE-unknown-esx + ;; + amd64:Isilon\ OneFS:*:*) + GUESS=x86_64-unknown-onefs + ;; + *:Unleashed:*:*) + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; +esac + +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case $UNAME_MACHINE:$UNAME_SYSTEM in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/config.sub b/BUILD/libtool-2.4.7/build-aux/config.sub new file mode 100755 index 0000000..70bc542 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/config.sub @@ -0,0 +1,1891 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2021 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2021-12-25' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2021 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/depcomp b/BUILD/libtool-2.4.7/build-aux/depcomp new file mode 100755 index 0000000..75323b7 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/depcomp @@ -0,0 +1,790 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1999-2022 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +alpha=${upper}${lower} + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Avoid interferences from the environment. +gccflag= dashmflag= + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The second -e expression handles DOS-style file names with drive + # letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/do-release-commit-and-tag b/BUILD/libtool-2.4.7/build-aux/do-release-commit-and-tag new file mode 100755 index 0000000..82dcd45 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/do-release-commit-and-tag @@ -0,0 +1,180 @@ +#!/bin/sh +# In a git/autoconf/automake-enabled project with a NEWS file and a version- +# controlled .prev-version file, automate the procedure by which we record +# the date, release-type and version string in the NEWS file. That commit +# will serve to identify the release, so apply a signed tag to it as well. +VERSION=2018-03-07.03 # UTC + +# Make sure we've evaluated scripts we depend on. +test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh + +# Note: this is a bash script (could be zsh or dash) + +# Copyright (C) 2009-2022 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Written by Jim Meyering + +ME=$(basename "$0") +warn() { printf '%s: %s\n' "$ME" "$*" >&2; } +die() { warn "$*"; exit 1; } + +help() +{ + cat <. +EOF + exit +} + +version() +{ + year=$(echo "$VERSION" | sed 's/[^0-9].*//') + cat < +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit +} + +## ------ ## +## Main. ## +## ------ ## + +# Constants. +noteworthy='* Noteworthy changes in release' +noteworthy_stub="$noteworthy ?.? (????-??-??) [?]" + +# Variables. +branch=$(git branch | sed -ne '/^\* /{s///;p;q;}') +builddir=. + +while test $# != 0 +do + # Handle --option=value by splitting apart and putting back on argv. + case $1 in + --*=*) + opt=$(echo "$1" | sed -e 's/=.*//') + val=$(echo "$1" | sed -e 's/[^=]*=//') + shift + set dummy "$opt" "$val" "$@"; shift + ;; + esac + + case $1 in + --help|--version) ${1#--};; + --branch) shift; branch=$1; shift ;; + -C|--builddir) shift; builddir=$1; shift ;; + --*) die "unrecognized option: $1";; + *) break;; + esac +done + +test $# = 2 \ + || die "Usage: $ME [OPTION...] VERSION TYPE" + +ver=$1 +type=$2 + + +## ---------------------- ## +## First, sanity checks. ## +## ---------------------- ## + +# Verify that $ver looks like a version number, and... +echo "$ver"|grep -E '^[0-9][0-9.]*[0-9]$' > /dev/null \ + || die "invalid version: $ver" +prev_ver=$(cat .prev-version) \ + || die 'failed to determine previous version number from .prev-version' + +# Verify that $ver is sensible (> .prev-version). +func_lt_ver "$prev_ver" "$ver" \ + || die "invalid version: $ver (<= $prev_ver)" + +case $type in + alpha|beta|stable) ;; + *) die "invalid release type: $type";; +esac + +# No local modifications allowed. +case $(git diff-index --name-only HEAD) in + '') ;; + *) die 'this tree is dirty; commit your changes first';; +esac + +# Ensure the current branch name is correct: +curr_br=$(git rev-parse --symbolic-full-name HEAD) +test "$curr_br" = "refs/heads/$branch" || die not on branch $branch + +# Extract package name from Makefile. +Makefile=$builddir/Makefile +pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' "$Makefile") \ + || die "failed to determine package name from $Makefile" + +# Check that line 3 of NEWS is the stub line about to be replaced. +test "$(sed -n 3p NEWS)" = "$noteworthy_stub" \ + || die "line 3 of NEWS must be exactly '$noteworthy_stub'" + +## --------------- ## +## Then, changes. ## +## --------------- ## + +# Update NEWS to have today's date, plus desired version number and $type. +perl -MPOSIX -ni -e 'my $today = strftime "%F", localtime time;' \ + -e 'my ($type, $ver) = qw('"$type $ver"');' \ + -e 'my $pfx = "'"$noteworthy"'";' \ + -e 'print $.==3 ? "$pfx $ver ($today) [$type]\n" : $_' \ + NEWS || die 'failed to update NEWS' + +printf "version $ver\n\n* NEWS: Record release date.\n" \ + | git commit -F - -a || die 'git commit failed' +git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed' + +# Local variables: +# indent-tabs-mode: nil +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "VERSION=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: " # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/edit-readme-alpha b/BUILD/libtool-2.4.7/build-aux/edit-readme-alpha new file mode 100755 index 0000000..7e5329b --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/edit-readme-alpha @@ -0,0 +1,96 @@ +#! /bin/sh + +# edit-readme-alpha - edit README file for alpha releases +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2010 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# We used to maintain separate (but extremely similiar!) README and +# README.alpha files, and had 'make dist' include the right one in a +# distribution based on the contests of '$(VERSION)'. +# +# Now, we have 'make dist' call this script to tweak the first paragraph +# of README in situ, to be more suitable for an alpha quality release. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program: +progname=`echo "$progpath" |sed 's|^.*/||'` + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + echo "$progname: $*" >&2 + exit $EXIT_FAILURE +} + + +for file in "$@"; do + # Assume that read-only README indicates that we are running inside + # the latter part of a 'make distcheck'. + test -w "$file" || { + echo "$progname: not editing non-writeable '$file' (distcheck?)" >&2 + continue + } + + # Did we already in-place edited this file? + matched=`sed -n -e '/^This is an alpha testing release/,/a consistent, portable interface\.$/p' $file \ + |wc -l |sed 's|^ *||'` + test 3 = "$matched" && { + echo "$progname: $file already edited" >&2 + continue + } + + # Make sure the paragraph we are matching has not been edited since + # this script was written. + matched=`sed -n -e '/^\[GNU Libtool\]\[libtool\] is/,/^consistent, portable interface\.$/p' $file \ + |wc -l |sed 's|^ *||'` + test 3 = "$matched" \ + || func_fatal_error "$file format has changed, please fix '$0'" + + # Don't leave file droppings. + trap 'x=$?; rm $file.T; exit $x' 1 2 13 15 + + # Edit the first paragraph to be suitable for an alpha release. + sed '/^\[GNU Libtool\]\[libtool\] is/,/^consistent, portable interface\.$/c\ +This is an alpha testing release of [GNU Libtool][libtool], a generic\ +library support script. [Libtool][] hides the complexity of using shared\ +libraries behind a consistent, portable interface.' $file > $file.T + + # Diagnose redirection failure. + test -f "$file.T" || func_fatal_error "Unable to write $file.T" + + # Overwrite the original file with our edited version. + mv $file.T $file || func_fatal_error "Unable to edit $file" +done + +exit $EXIT_SUCCESS diff --git a/BUILD/libtool-2.4.7/build-aux/extract-trace b/BUILD/libtool-2.4.7/build-aux/extract-trace new file mode 100755 index 0000000..a5d04c1 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/extract-trace @@ -0,0 +1,486 @@ +#! /bin/sh + +# Extract macro arguments from autotools input with GNU M4. +# Written by Gary V. Vaughan, 2010 +# +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + +# Make sure we've evaluated scripts we depend on. +test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh +test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/options-parser + +# Set a version string. +scriptversion=2019-02-19.15; # UTC + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './extract-trace --help' for help with using this script from the +# command line. +# +# Or source first 'options-parser' and then this file into your own +# scripts in order to make use of the function and variable framework +# they define, and also to avoid the overhead of forking to run this +# script in its own process on every call. + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of +# 'extract-trace'. + + +# func_autoconf_configure MAYBE-CONFIGURE-FILE +# -------------------------------------------- +# Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current +# directory that contains an uncommented call to AC_INIT. +func_autoconf_configure () +{ + $debug_cmd + + _G_sed_no_comment=' + s|#.*$|| + s|^dnl .*$|| + s| dnl .*$||' + _G_ac_init= + + # If we were passed a genuine file, make sure it calls AC_INIT. + test -f "$1" \ + && _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT` + + # Otherwise it is not a genuine Autoconf input file. + test -n "$_G_ac_init" + _G_status=$? + + test 0 -ne "$_G_status" \ + && func_verbose "'$1' not using Autoconf" + + (exit $_G_status) +} + + +# func_tool_version_output CMD [FATAL-ERROR-MSG] +# ---------------------------------------------- +# Attempt to run 'CMD --version', discarding errors. The output can be +# ignored by redirecting stdout, and this function used simply to test +# whether the command exists and exits normally when passed a +# '--version' argument. +# When FATAL-ERROR-MSG is given, then this function will display the +# message and exit if running 'CMD --version' returns a non-zero exit +# status. +func_tool_version_output () +{ + $debug_cmd + + _G_cmd=$1 + _G_fatal_error_msg=$2 + + # Some tools, like 'git2cl' produce thousands of lines of output + # unless stdin is /dev/null - in that case we want to return + # successfully without saving all of that output. Other tools, + # such as 'help2man' exit with a non-zero status when stdin comes + # from /dev/null, so we re-execute without /dev/null if that + # happens. This means that occasionally, the output from both calls + # ends up in the result, but the alternative would be to discard the + # output from one call, and hope the other produces something useful. + { $_G_cmd --version /dev/null + _G_status=$? + + test 0 -ne "$_G_status" && test -n "$_G_fatal_error_msg" \ + && func_fatal_error "$_G_fatal_error_msg" + + (exit $_G_status) +} + + +# func_tool_version_number CMD [FATAL-ERROR-MSG] +# ---------------------------------------------- +# Pass arguments to func_tool_version_output, but set +# $func_tool_version_number_result to the last dot delimited digit string +# on the first line of output. +func_tool_version_number () +{ + $debug_cmd + + _G_verout=`func_tool_version_output "$@"` + _G_status=$? + + # A version number starts with a digit following a space on the first + # line of output from `--version`. + _G_verout=`echo "$_G_verout" |sed 1q` + if test -n "$_G_verout"; then + _G_vernum=`expr "$_G_verout" : '.* \([0-9][^ ]*\)'` + fi + + if test -n "$_G_vernum"; then + printf '%s\n' "$_G_vernum" + else + printf '%s\n' "$_G_verout" + fi + + (exit $_G_status) +} + + +# func_find_tool ENVVAR NAMES... +# ------------------------------ +# Search for a required program. Use the value of ENVVAR, if set, +# otherwise find the first of the NAMES that can be run (i.e., +# supports --version). If found, set ENVVAR to the program name, +# die otherwise. +func_find_tool () +{ + $debug_cmd + + _G_find_tool_envvar=$1 + shift + _G_find_tool_names=$@ + eval "_G_find_tool_res=\$$_G_find_tool_envvar" + if test -n "$_G_find_tool_res"; then + _G_find_tool_error_prefix="\$$find_tool_envvar: " + else + _G_find_tool_res= + _G_bestver= + for _G_prog + do + _G_find_tool_save_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for _G_dir in $PATH; do + IFS=$_G_find_tool_save_IFS + _G_progpath=$_G_dir/$_G_prog + test -r "$_G_progpath" && { + _G_curver=`func_tool_version_number $_G_progpath` + case $_G_bestver,$_G_curver in + ,) + # first non--version responsive prog sticks! + test -n "$_G_progpath" || _G_find_tool_res=$_G_progpath + ;; + ,*) + # first --version responsive prog beats non--version responsive! + _G_find_tool_res=$_G_progpath + _G_bestver=$_G_curver + ;; + *,*) + # another --version responsive prog must be newer to beat previous one! + test "x$_G_curver" = "x$_G_bestver" \ + || func_lt_ver "$_G_curver" "$_G_bestver" \ + || { + _G_find_tool_res=$_G_progpath + _G_bestver=$_G_curver + } + ;; + esac + } + done + IFS=$_G_find_tool_save_IFS + done + fi + if test -n "$_G_find_tool_res"; then + func_tool_version_number >/dev/null $_G_find_tool_res "\ +${_G_find_tool_error_prefix}Cannot run '$_G_find_tool_res --version'" + + # Make sure the result is exported to the environment for children + # to use. + eval "$_G_find_tool_envvar=\$_G_find_tool_res" + eval "export $_G_find_tool_envvar" + else + func_error "\ +One of these is required: + $_G_find_tool_names" + fi +} + + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Where a variable already has a non- +# empty value (as set by the package's 'bootstrap.conf'), that value is +# used in preference to deriving the default. Call them using their +# associated 'require_*' variable to ensure that they are executed, at +# most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_configure_ac +# -------------------- +# Ensure that there is a 'configure.ac' or 'configure.in' file in the +# current directory that contains an uncommented call to AC_INIT, and +# that '$configure_ac' contains its name. +require_configure_ac=func_require_configure_ac +func_require_configure_ac () +{ + $debug_cmd + + test -z "$configure_ac" \ + && func_autoconf_configure configure.ac && configure_ac=configure.ac + test -z "$configure_ac" \ + && func_autoconf_configure configure.in && configure_ac=configure.in + test -z "$configure_ac" \ + || func_verbose "found '$configure_ac'" + + require_configure_ac=: +} + + +# require_gnu_m4 +# -------------- +# Search for GNU M4, and export it in $M4. +require_gnu_m4=func_require_gnu_m4 +func_require_gnu_m4 () +{ + $debug_cmd + + test -n "$M4" || { + # Find the first m4 binary that responds to --version. + func_find_tool M4 gm4 gnum4 m4 + } + + test -n "$M4" || func_fatal_error "\ +Please install GNU M4, or 'export M4=/path/to/gnu/m4'." + + func_verbose "export M4='$M4'" + + # Make sure the search result is visible to subshells + export M4 + + require_gnu_m4=: +} + + +## --------------- ## +## Core functions. ## +## --------------- ## + +# This section contains the high level functions used when calling this +# file as a script. 'func_extract_trace' is probably the only one that you +# won't want to replace if you source this file into your own script. + + +# func_extract_trace MACRO_NAMES [FILENAME]... +# -------------------------------------------- +# set '$func_extract_trace_result' to a colon delimited list of arguments +# to any of the comma separated list of MACRO_NAMES in FILENAME. If no +# FILENAME is given, then '$configure_ac' is assumed. +func_extract_trace () +{ + $debug_cmd + + $require_configure_ac + $require_gnu_m4 + + _G_m4_traces=`$ECHO "--trace=$1" |$SED 's%,% --trace=%g'` + _G_re_macros=`$ECHO "($1)" |$SED 's%,%|%g'` + _G_macros="$1"; shift + test $# -gt 0 || { + set dummy $configure_ac + shift + } + + # Generate an error if the first file is missing + <"$1" + + # Sadly, we can't use 'autom4te' tracing to extract macro arguments, + # because it complains about things we want to ignore at bootstrap + # time - like missing m4_include files; AC_PREREQ being newer than + # the installed autoconf; and returns nothing when tracing + # 'AM_INIT_AUTOMAKE' when aclocal hasn't been generated yet. + # + # The following tries to emulate a less persnickety version of (and + # due to not having to wait for Perl startup on every invocation, + # it's probably faster too): + # + # autom4te --language=Autoconf --trace=$my_macro:\$% "$@" + # + # First we give a minimal set of macro declarations to M4 to prime + # it for reading Autoconf macros, while still providing some of the + # functionality generally used at m4-time to supply dynamic + # arguments to Autocof functions, but without following + # 'm4_s?include' files. + _G_mini=' + dnl Initialisation. + m4_changequote([,]) + m4_define([m4_copy], [m4_define([$2], m4_defn([$1]))]) + m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])]) + + dnl Replace macros which may abort m4 with a no-op variant. + m4_pushdef([m4_assert]) + m4_pushdef([m4_exit]) + m4_pushdef([m4_fatal]) + m4_pushdef([m4_m4exit]) + + dnl Replace macros that might break stderr of m4. + m4_pushdef([m4_errprint]) + m4_pushdef([m4_errprintn]) + m4_pushdef([m4_include]) + m4_pushdef([m4_warn]) + + dnl Avoid side-effects of tracing by extract-trace. + m4_pushdef([m4_maketemp]) + m4_pushdef([m4_mkstemp]) + + dnl TODO: reasons for this + m4_pushdef([m4_dnl]) + m4_pushdef([m4_m4wrap]) + + dnl Copy and rename macros not handled by "m4 --prefix". + m4_define([dnl], [m4_builtin([dnl])]) + m4_copy([m4_define], [m4_defun]) + m4_rename([m4_ifelse], [m4_if]) + m4_rename([m4_patsubst], [m4_bpatsubst]) + m4_rename([m4_regexp], [m4_bregexp]) + + dnl "m4sugar.mini" - useful m4-time macros for dynamic arguments. + dnl If we discover packages that need more m4 macros defined in + dnl order to bootstrap correctly, add them here: + m4_define([m4_bmatch], + [m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2], + [m4_if(m4_bregexp([$1], [$2]), -1, + [$0([$1], m4_shift3($@))], [$3])])]) + m4_define([m4_ifndef], [m4_ifdef([$1], [$3], [$2])]) + m4_define([m4_ifset], + [m4_ifdef([$1], [m4_ifval(m4_defn([$1]), [$2], [$3])], [$3])]) + m4_define([m4_require], [$1]) + m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))]) + + dnl "autoconf.mini" - things from autoconf macros we care about. + m4_copy([m4_defun], [AC_DEFUN]) + + dnl Dummy definitions for the macros we want to trace. + dnl AM_INIT_AUTOMAKE at least produces no trace without this. + ' + + _G_save=$IFS + IFS=, + for _G_macro in $_G_macros; do + IFS=$_G_save + func_append _G_mini "AC_DEFUN([$_G_macro])$nl" + done + IFS=$_G_save + + # We discard M4's stdout, but the M4 trace output from reading our + # "autoconf.mini" followed by any other files passed to this + # function is then scanned by sed to transform it into a colon + # delimited argument list assigned to a shell variable. + _G_transform='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;' + + # Unfortunately, alternation in regexp addresses doesn't work in at + # least BSD (and hence Mac OS X) sed, so we have to append a capture + # and print block for each traced macro to the sed transform script. + _G_save=$IFS + IFS=, + for _G_macro in $_G_macros; do + IFS=$_G_save + func_append _G_transform ' + /^m4trace: -1- '"$_G_macro"'/ { + s|^m4trace: -1- '"$_G_macro"'[([]*|| + s|], [[]|:|g + s|[])]*$|:| + s|\(.\):$|\1| + p + }' + done + IFS=$_G_save + + # Save the command pipeline results for further use by callers of + # this function. + func_extract_trace_result=`$ECHO "$_G_mini" \ + |$M4 -daq --prefix $_G_m4_traces - "$@" 2>&1 1>/dev/null \ + |$SED -n -e "$_G_transform"` +} + + +# func_extract_trace_first MACRO_NAMES [FILENAME]... +# -------------------------------------------------- +# Exactly like func_extract_trace, except that only the first argument +# to the first invocation of one of the comma separated MACRO_NAMES is +# returned in '$func_extract_trace_first_result'. +func_extract_trace_first () +{ + $debug_cmd + + func_extract_trace ${1+"$@"} + func_extract_trace_first_result=`$ECHO "$func_extract_trace_result" \ + |$SED -e 's|:.*$||g' -e 1q` +} + + +# func_main [ARG]... +# ------------------ +func_main () +{ + $debug_cmd + + # Configuration. + usage='$progname MACRO_NAME FILE [...]' + + long_help_message=' +The first argument to this program is the name of an autotools macro +whose arguments you want to extract by examining the files listed in the +remaining arguments using the same tool that Autoconf and Automake use, +GNU M4. + +The arguments are returned separated by colons, with each traced call +on a separate line.' + + # Option processing. + func_options "$@" + eval set dummy "$func_options_result"; shift + + # Validate remaining non-option arguments. + test $# -gt 1 \ + || func_fatal_help "not enough arguments" + + # Pass non-option arguments to extraction function. + func_extract_trace "$@" + + # Display results. + test -n "$func_extract_trace_result" \ + && $ECHO "$func_extract_trace_result" + + # The End. + exit $EXIT_SUCCESS +} + + +## --------------------------- ## +## Actually perform the trace. ## +## --------------------------- ## + +# Only call 'func_main' if this script was called directly. +test extract-trace = "$progname" && func_main "$@" + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "50/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/funclib.sh b/BUILD/libtool-2.4.7/build-aux/funclib.sh new file mode 100644 index 0000000..af3ff57 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/funclib.sh @@ -0,0 +1,1465 @@ +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac +fi + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" + fi" +done +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ + else + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () +{ + $debug_cmd + + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break + fi + + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS + ;; + *) ;; + esac + break + done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac +} + + +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi + + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; + esac + + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result + ;; + esac +} + + +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/gendocs.sh b/BUILD/libtool-2.4.7/build-aux/gendocs.sh new file mode 100755 index 0000000..8dbac30 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/gendocs.sh @@ -0,0 +1,510 @@ +#!/bin/sh -e +# gendocs.sh -- generate a GNU manual in many formats. This script is +# mentioned in maintain.texi. See the help message below for usage details. + +scriptversion=2022-01-01.00 + +# Copyright 2003-2022 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Original author: Mohit Agarwal. +# Send bug reports and any other correspondence to bug-gnulib@gnu.org. +# +# The latest version of this script, and the companion template, is +# available from the Gnulib repository: +# +# https://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/gendocs.sh +# https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/gendocs_template + +# TODO: +# - image importing was only implemented for HTML generated by +# makeinfo. But it should be simple enough to adjust. +# - images are not imported in the source tarball. All the needed +# formats (PDF, PNG, etc.) should be included. + +prog=`basename "$0"` +srcdir=`pwd` + +scripturl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/gendocs.sh" +templateurl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/gendocs_template" + +: ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="} +: ${MAKEINFO="makeinfo"} +: ${TEXI2DVI="texi2dvi"} +: ${DOCBOOK2HTML="docbook2html"} +: ${DOCBOOK2PDF="docbook2pdf"} +: ${DOCBOOK2TXT="docbook2txt"} +: ${GENDOCS_TEMPLATE_DIR="."} +: ${PERL='perl'} +: ${TEXI2HTML="texi2html"} +unset CDPATH +unset use_texi2html + +MANUAL_TITLE= +PACKAGE= +EMAIL=webmasters@gnu.org # please override with --email +commonarg= # passed to all makeinfo/texi2html invcations. +dirargs= # passed to all tools (-I dir). +dirs= # -I directories. +htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" +default_htmlarg=true +infoarg=--no-split +generate_ascii=true +generate_html=true +generate_info=true +generate_tex=true +outdir=manual +source_extra= +split=node +srcfile= +texarg="-t @finalout" + +version="gendocs.sh $scriptversion + +Copyright 2022 Free Software Foundation, Inc. +There is NO warranty. You may redistribute this software +under the terms of the GNU General Public License. +For more information about these matters, see the files named COPYING." + +usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE + +Generate output in various formats from PACKAGE.texinfo (or .texi or +.txi) source. See the GNU Maintainers document for a more extensive +discussion: + https://www.gnu.org/prep/maintain_toc.html + +Options: + --email ADR use ADR as contact in generated web pages; always give this. + + -s SRCFILE read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi} + -o OUTDIR write files into OUTDIR, instead of manual/. + -I DIR append DIR to the Texinfo search path. + --common ARG pass ARG in all invocations. + --html ARG pass ARG to makeinfo or texi2html for HTML targets, + instead of '$htmlarg'. + --info ARG pass ARG to makeinfo for Info, instead of --no-split. + --no-ascii skip generating the plain text output. + --no-html skip generating the html output. + --no-info skip generating the info output. + --no-tex skip generating the dvi and pdf output. + --source ARG include ARG in tar archive of sources. + --split HOW make split HTML by node, section, chapter; default node. + --tex ARG pass ARG to texi2dvi for DVI and PDF, instead of -t @finalout. + + --texi2html use texi2html to make HTML target, with all split versions. + --docbook convert through DocBook too (xml, txt, html, pdf). + + --help display this help and exit successfully. + --version display version information and exit successfully. + +Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\" + +Typical sequence: + cd PACKAGESOURCE/doc + wget \"$scripturl\" + wget \"$templateurl\" + $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\" + +Output will be in a new subdirectory \"manual\" (by default; +use -o OUTDIR to override). Move all the new files into your web CVS +tree, as explained in the Web Pages node of maintain.texi. + +Please use the --email ADDRESS option so your own bug-reporting +address will be used in the generated HTML pages. + +MANUAL-TITLE is included as part of the HTML of the overall +manual/index.html file. It should include the name of the package being +documented. manual/index.html is created by substitution from the file +$GENDOCS_TEMPLATE_DIR/gendocs_template. (Feel free to modify the +generic template for your own purposes.) + +If you have several manuals, you'll need to run this script several +times with different MANUAL values, specifying a different output +directory with -o each time. Then write (by hand) an overall index.html +with links to them all. + +If a manual's Texinfo sources are spread across several directories, +first copy or symlink all Texinfo sources into a single directory. +(Part of the script's work is to make a tar.gz of the sources.) + +As implied above, by default monolithic Info files are generated. +If you want split Info, or other Info options, use --info to override. + +You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, +and PERL to control the programs that get executed, and +GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is +looked for. With --docbook, the environment variables DOCBOOK2HTML, +DOCBOOK2PDF, and DOCBOOK2TXT are also consulted. + +By default, makeinfo and texi2dvi are run in the default (English) +locale, since that's the language of most Texinfo manuals. If you +happen to have a non-English manual and non-English web site, see the +SETLANG setting in the source. + +Email bug reports or enhancement requests to bug-gnulib@gnu.org. +" + +while test $# -gt 0; do + case $1 in + -s) shift; srcfile=$1;; + -o) shift; outdir=$1;; + -I) shift; dirargs="$dirargs -I '$1'"; dirs="$dirs $1";; + --common) shift; commonarg=$1;; + --docbook) docbook=yes;; + --email) shift; EMAIL=$1;; + --html) shift; default_htmlarg=false; htmlarg=$1;; + --info) shift; infoarg=$1;; + --no-ascii) generate_ascii=false;; + --no-html) generate_ascii=false;; + --no-info) generate_info=false;; + --no-tex) generate_tex=false;; + --source) shift; source_extra=$1;; + --split) shift; split=$1;; + --tex) shift; texarg=$1;; + --texi2html) use_texi2html=1;; + + --help) echo "$usage"; exit 0;; + --version) echo "$version"; exit 0;; + -*) + echo "$0: Unknown option \`$1'." >&2 + echo "$0: Try \`--help' for more information." >&2 + exit 1;; + *) + if test -z "$PACKAGE"; then + PACKAGE=$1 + elif test -z "$MANUAL_TITLE"; then + MANUAL_TITLE=$1 + else + echo "$0: extra non-option argument \`$1'." >&2 + exit 1 + fi;; + esac + shift +done + +# makeinfo uses the dirargs, but texi2dvi doesn't. +commonarg=" $dirargs $commonarg" + +# For most of the following, the base name is just $PACKAGE +base=$PACKAGE + +if $default_htmlarg && test -n "$use_texi2html"; then + # The legacy texi2html doesn't support TOP_NODE_UP_URL + htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css" +fi + +if test -n "$srcfile"; then + # but here, we use the basename of $srcfile + base=`basename "$srcfile"` + case $base in + *.txi|*.texi|*.texinfo) base=`echo "$base"|sed 's/\.[texinfo]*$//'`;; + esac + PACKAGE=$base +elif test -s "$srcdir/$PACKAGE.texinfo"; then + srcfile=$srcdir/$PACKAGE.texinfo +elif test -s "$srcdir/$PACKAGE.texi"; then + srcfile=$srcdir/$PACKAGE.texi +elif test -s "$srcdir/$PACKAGE.txi"; then + srcfile=$srcdir/$PACKAGE.txi +else + echo "$0: cannot find .texinfo or .texi or .txi for $PACKAGE in $srcdir." >&2 + exit 1 +fi + +if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then + echo "$0: cannot read $GENDOCS_TEMPLATE_DIR/gendocs_template." >&2 + echo "$0: it is available from $templateurl." >&2 + exit 1 +fi + +# Function to return size of $1 in something resembling kilobytes. +calcsize() +{ + size=`ls -ksl $1 | awk '{print $1}'` + echo $size +} + +# copy_images OUTDIR HTML-FILE... +# ------------------------------- +# Copy all the images needed by the HTML-FILEs into OUTDIR. +# Look for them in . and the -I directories; this is simpler than what +# makeinfo supports with -I, but hopefully it will suffice. +copy_images() +{ + local odir + odir=$1 + shift + $PERL -n -e " +BEGIN { + \$me = '$prog'; + \$odir = '$odir'; + @dirs = qw(. $dirs); +} +" -e ' +/<img src="(.*?)"/g && ++$need{$1}; + +END { + #print "$me: @{[keys %need]}\n"; # for debugging, show images found. + FILE: for my $f (keys %need) { + for my $d (@dirs) { + if (-f "$d/$f") { + use File::Basename; + my $dest = dirname ("$odir/$f"); + # + use File::Path; + -d $dest || mkpath ($dest) + || die "$me: cannot mkdir $dest: $!\n"; + # + use File::Copy; + copy ("$d/$f", $dest) + || die "$me: cannot copy $d/$f to $dest: $!\n"; + next FILE; + } + } + die "$me: $ARGV: cannot find image $f\n"; + } +} +' -- "$@" || exit 1 +} + +case $outdir in + /*) abs_outdir=$outdir;; + *) abs_outdir=$srcdir/$outdir;; +esac + +echo "Making output for $srcfile" +echo " in `pwd`" +mkdir -p "$outdir/" + +# +if $generate_info; then + cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\"" + echo "Generating info... ($cmd)" + rm -f $PACKAGE.info* # get rid of any strays + eval "$cmd" + tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info* + ls -l "$outdir/$PACKAGE.info.tar.gz" + info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"` + # do not mv the info files, there's no point in having them available + # separately on the web. +fi # end info + +# +if $generate_tex; then + cmd="$SETLANG $TEXI2DVI $dirargs $texarg \"$srcfile\"" + printf "\nGenerating dvi... ($cmd)\n" + eval "$cmd" + # compress/finish dvi: + gzip -f -9 $PACKAGE.dvi + dvi_gz_size=`calcsize $PACKAGE.dvi.gz` + mv $PACKAGE.dvi.gz "$outdir/" + ls -l "$outdir/$PACKAGE.dvi.gz" + + cmd="$SETLANG $TEXI2DVI --pdf $dirargs $texarg \"$srcfile\"" + printf "\nGenerating pdf... ($cmd)\n" + eval "$cmd" + pdf_size=`calcsize $PACKAGE.pdf` + mv $PACKAGE.pdf "$outdir/" + ls -l "$outdir/$PACKAGE.pdf" +fi # end tex (dvi + pdf) + +# +if $generate_ascii; then + opt="-o $PACKAGE.txt --no-split --no-headers $commonarg" + cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" + printf "\nGenerating ascii... ($cmd)\n" + eval "$cmd" + ascii_size=`calcsize $PACKAGE.txt` + gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz" + ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"` + mv $PACKAGE.txt "$outdir/" + ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz" +fi + +# + +if $generate_html; then +# Split HTML at level $1. Used for texi2html. +html_split() +{ + opt="--split=$1 --node-files $commonarg $htmlarg" + cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\"" + printf "\nGenerating html by $1... ($cmd)\n" + eval "$cmd" + split_html_dir=$PACKAGE.html + ( + cd ${split_html_dir} || exit 1 + ln -sf ${PACKAGE}.html index.html + tar -czf "$abs_outdir/${PACKAGE}.html_$1.tar.gz" -- *.html + ) + eval html_$1_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$1.tar.gz"` + rm -f "$outdir"/html_$1/*.html + mkdir -p "$outdir/html_$1/" + mv ${split_html_dir}/*.html "$outdir/html_$1/" + rmdir ${split_html_dir} +} + +if test -z "$use_texi2html"; then + opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg" + cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" + printf "\nGenerating monolithic html... ($cmd)\n" + rm -rf $PACKAGE.html # in case a directory is left over + eval "$cmd" + html_mono_size=`calcsize $PACKAGE.html` + gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz" + html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` + copy_images "$outdir/" $PACKAGE.html + mv $PACKAGE.html "$outdir/" + ls -l "$outdir/$PACKAGE.html" "$outdir/$PACKAGE.html.gz" + + # Before Texinfo 5.0, makeinfo did not accept a --split=HOW option, + # it just always split by node. So if we're splitting by node anyway, + # leave it out. + if test "x$split" = xnode; then + split_arg= + else + split_arg=--split=$split + fi + # + opt="--html -o $PACKAGE.html $split_arg $commonarg $htmlarg" + cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" + printf "\nGenerating html by $split... ($cmd)\n" + eval "$cmd" + split_html_dir=$PACKAGE.html + copy_images $split_html_dir/ $split_html_dir/*.html + ( + cd $split_html_dir || exit 1 + tar -czf "$abs_outdir/$PACKAGE.html_$split.tar.gz" -- * + ) + eval \ + html_${split}_tgz_size=`calcsize "$outdir/$PACKAGE.html_$split.tar.gz"` + rm -rf "$outdir/html_$split/" + mv $split_html_dir "$outdir/html_$split/" + du -s "$outdir/html_$split/" + ls -l "$outdir/$PACKAGE.html_$split.tar.gz" + +else # use texi2html: + opt="--output $PACKAGE.html $commonarg $htmlarg" + cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\"" + printf "\nGenerating monolithic html with texi2html... ($cmd)\n" + rm -rf $PACKAGE.html # in case a directory is left over + eval "$cmd" + html_mono_size=`calcsize $PACKAGE.html` + gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz" + html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` + mv $PACKAGE.html "$outdir/" + + html_split node + html_split chapter + html_split section +fi +fi # end html + +# +printf "\nMaking .tar.gz for sources...\n" +d=`dirname $srcfile` +( + cd "$d" + srcfiles=`ls -d *.texinfo *.texi *.txi *.eps $source_extra 2>/dev/null` || true + tar czfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles + ls -l "$abs_outdir/$PACKAGE.texi.tar.gz" +) +texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"` + +# +# Do everything again through docbook. +if test -n "$docbook"; then + opt="-o - --docbook $commonarg" + cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml" + printf "\nGenerating docbook XML... ($cmd)\n" + eval "$cmd" + docbook_xml_size=`calcsize $PACKAGE-db.xml` + gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz" + docbook_xml_gz_size=`calcsize "$outdir/$PACKAGE-db.xml.gz"` + mv $PACKAGE-db.xml "$outdir/" + + split_html_db_dir=html_node_db + opt="$commonarg -o $split_html_db_dir" + cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\"" + printf "\nGenerating docbook HTML... ($cmd)\n" + eval "$cmd" + ( + cd ${split_html_db_dir} || exit 1 + tar -czf "$abs_outdir/${PACKAGE}.html_node_db.tar.gz" -- *.html + ) + html_node_db_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node_db.tar.gz"` + rm -f "$outdir"/html_node_db/*.html + mkdir -p "$outdir/html_node_db" + mv ${split_html_db_dir}/*.html "$outdir/html_node_db/" + rmdir ${split_html_db_dir} + + cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\"" + printf "\nGenerating docbook ASCII... ($cmd)\n" + eval "$cmd" + docbook_ascii_size=`calcsize $PACKAGE-db.txt` + mv $PACKAGE-db.txt "$outdir/" + + cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\"" + printf "\nGenerating docbook PDF... ($cmd)\n" + eval "$cmd" + docbook_pdf_size=`calcsize $PACKAGE-db.pdf` + mv $PACKAGE-db.pdf "$outdir/" +fi + +# +printf "\nMaking index.html for $PACKAGE...\n" +if test -z "$use_texi2html"; then + CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\ + /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d" +else + # should take account of --split here. + CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d" +fi + +curdate=`$SETLANG date '+%B %d, %Y'` +sed \ + -e "s!%%TITLE%%!$MANUAL_TITLE!g" \ + -e "s!%%EMAIL%%!$EMAIL!g" \ + -e "s!%%PACKAGE%%!$PACKAGE!g" \ + -e "s!%%DATE%%!$curdate!g" \ + -e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \ + -e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \ + -e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \ + -e "s!%%HTML_SECTION_TGZ_SIZE%%!$html_section_tgz_size!g" \ + -e "s!%%HTML_CHAPTER_TGZ_SIZE%%!$html_chapter_tgz_size!g" \ + -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \ + -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \ + -e "s!%%PDF_SIZE%%!$pdf_size!g" \ + -e "s!%%ASCII_SIZE%%!$ascii_size!g" \ + -e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \ + -e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \ + -e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \ + -e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \ + -e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \ + -e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \ + -e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \ + -e "s,%%SCRIPTURL%%,$scripturl,g" \ + -e "s!%%SCRIPTNAME%%!$prog!g" \ + -e "$CONDS" \ +$GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html" + +echo "Done, see $outdir/ subdirectory for new files." + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/git-version-gen b/BUILD/libtool-2.4.7/build-aux/git-version-gen new file mode 100755 index 0000000..a44f5d5 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/git-version-gen @@ -0,0 +1,227 @@ +#!/bin/sh +# Print a version string. +scriptversion=2022-01-27.18; # UTC + +# Copyright (C) 2007-2022 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# This script is derived from GIT-VERSION-GEN from GIT: https://git-scm.com/. +# It may be run two ways: +# - from a git repository in which the "git describe" command below +# produces useful output (thus requiring at least one signed tag) +# - from a non-git-repo directory containing a .tarball-version file, which +# presumes this script is invoked like "./git-version-gen .tarball-version". + +# In order to use intra-version strings in your project, you will need two +# separate generated version string files: +# +# .tarball-version - present only in a distribution tarball, and not in +# a checked-out repository. Created with contents that were learned at +# the last time autoconf was run, and used by git-version-gen. Must not +# be present in either $(srcdir) or $(builddir) for git-version-gen to +# give accurate answers during normal development with a checked out tree, +# but must be present in a tarball when there is no version control system. +# Therefore, it cannot be used in any dependencies. GNUmakefile has +# hooks to force a reconfigure at distribution time to get the value +# correct, without penalizing normal development with extra reconfigures. +# +# .version - present in a checked-out repository and in a distribution +# tarball. Usable in dependencies, particularly for files that don't +# want to depend on config.h but do want to track version changes. +# Delete this file prior to any autoconf run where you want to rebuild +# files to pick up a version string change; and leave it stale to +# minimize rebuild time after unrelated changes to configure sources. +# +# As with any generated file in a VC'd directory, you should add +# /.version to .gitignore, so that you don't accidentally commit it. +# .tarball-version is never generated in a VC'd directory, so needn't +# be listed there. +# +# Use the following line in your configure.ac, so that $(VERSION) will +# automatically be up-to-date each time configure is run (and note that +# since configure.ac no longer includes a version string, Makefile rules +# should not depend on configure.ac for version updates). +# +# AC_INIT([GNU project], +# m4_esyscmd([build-aux/git-version-gen .tarball-version]), +# [bug-project@example]) +# +# Then use the following lines in your Makefile.am, so that .version +# will be present for dependencies, and so that .version and +# .tarball-version will exist in distribution tarballs. +# +# EXTRA_DIST = $(top_srcdir)/.version +# BUILT_SOURCES = $(top_srcdir)/.version +# $(top_srcdir)/.version: +# echo '$(VERSION)' > $@-t +# mv $@-t $@ +# dist-hook: +# echo '$(VERSION)' > $(distdir)/.tarball-version + + +me=$0 + +year=`expr "$scriptversion" : '\([^-]*\)'` +version="git-version-gen $scriptversion + +Copyright (C) ${year} Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law." + +usage="\ +Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT] +Print a version string. + +Options: + + --prefix PREFIX prefix of git tags (default 'v') + --fallback VERSION + fallback version to use if \"git --version\" fails + + --help display this help and exit + --version output version information and exit + +Running without arguments will suffice in most cases." + +prefix=v +fallback= + +while test $# -gt 0; do + case $1 in + --help) echo "$usage"; exit 0;; + --version) echo "$version"; exit 0;; + --prefix) shift; prefix=${1?};; + --fallback) shift; fallback=${1?};; + -*) + echo "$0: Unknown option '$1'." >&2 + echo "$0: Try '--help' for more information." >&2 + exit 1;; + *) + if test "x$tarball_version_file" = x; then + tarball_version_file="$1" + elif test "x$tag_sed_script" = x; then + tag_sed_script="$1" + else + echo "$0: extra non-option argument '$1'." >&2 + exit 1 + fi;; + esac + shift +done + +if test "x$tarball_version_file" = x; then + echo "$usage" + exit 1 +fi + +tag_sed_script="${tag_sed_script:-s/x/x/}" + +nl=' +' + +# Avoid meddling by environment variable of the same name. +v= +v_from_git= + +# First see if there is a tarball-only version file. +# then try "git describe", then default. +if test -f $tarball_version_file +then + v=`cat $tarball_version_file` || v= + case $v in + *$nl*) v= ;; # reject multi-line output + esac + test "x$v" = x \ + && echo "$0: WARNING: $tarball_version_file is damaged" 1>&2 +fi + +if test "x$v" != x +then + : # use $v +# Otherwise, if there is at least one git commit involving the working +# directory, and "git describe" output looks sensible, use that to +# derive a version string. +elif test "`git log -1 --pretty=format:x . 2>&1`" = x \ + && v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \ + || git describe --abbrev=4 HEAD 2>/dev/null` \ + && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \ + && case $v in + $prefix[0-9]*) ;; + *) (exit 1) ;; + esac +then + # Is this a new git that lists number of commits since the last + # tag or the previous older version that did not? + # Newer: v6.10-77-g0f8faeb + # Older: v6.10-g0f8faeb + vprefix=`expr "X$v" : 'X\(.*\)-g[^-]*$'` || vprefix=$v + case $vprefix in + *-*) : git describe is probably okay three part flavor ;; + *) + : git describe is older two part flavor + # Recreate the number of commits and rewrite such that the + # result is the same as if we were using the newer version + # of git describe. + vtag=`echo "$v" | sed 's/-.*//'` + commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \ + || { commit_list=failed; + echo "$0: WARNING: git rev-list failed" 1>&2; } + numcommits=`echo "$commit_list" | wc -l` + v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; + test "$commit_list" = failed && v=UNKNOWN + ;; + esac + + # Change the penultimate "-" to ".", for version-comparing tools. + # Remove the "g" to save a byte. + v=`echo "$v" | sed 's/-\([^-]*\)-g\([^-]*\)$/.\1-\2/'`; + v_from_git=1 +elif test "x$fallback" = x || git --version >/dev/null 2>&1; then + v=UNKNOWN +else + v=$fallback +fi + +v=`echo "$v" |sed "s/^$prefix//"` + +# Test whether to append the "-dirty" suffix only if the version +# string we're using came from git. I.e., skip the test if it's "UNKNOWN" +# or if it came from .tarball-version. +if test "x$v_from_git" != x; then + # Don't declare a version "dirty" merely because a timestamp has changed. + git update-index --refresh > /dev/null 2>&1 + + dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty= + case "$dirty" in + '') ;; + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; + *) v="$v-dirty" ;; + esac ;; + esac +fi + +# Omit the trailing newline, so that m4_esyscmd can use the result directly. +printf %s "$v" + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/gnu-web-doc-update b/BUILD/libtool-2.4.7/build-aux/gnu-web-doc-update new file mode 100755 index 0000000..c041364 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/gnu-web-doc-update @@ -0,0 +1,213 @@ +#!/bin/sh +# Run this after each non-alpha release, to update the web documentation at +# https://www.gnu.org/software/$pkg/manual/ + +VERSION=2022-01-27.18; # UTC + +# Copyright (C) 2009-2022 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +ME=$(basename "$0") +warn() { printf '%s: %s\n' "$ME" "$*" >&2; } +die() { warn "$*"; exit 1; } + +help() +{ + cat <<EOF +Usage: $ME + +Run this script from top_srcdir (no arguments) after each non-alpha +release, to update the web documentation at +https://www.gnu.org/software/\$pkg/manual/ + +This script assumes you're using git for revision control, and +requires a .prev-version file as well as a Makefile, from which it +extracts the version number and package name, respectively. Also, it +assumes all documentation is in the doc/ sub-directory. + +Options: + -C, --builddir=DIR location of (configured) Makefile (default: .) + -n, --dry-run don't actually commit anything + -m, --mirror remove out of date files from document server + -u, --user the name of the CVS user on Savannah + --help print this help, then exit + --version print version number, then exit + +Report bugs and patches to <bug-gnulib@gnu.org>. +EOF + exit +} + +version() +{ + year=$(echo "$VERSION" | sed 's/[^0-9].*//') + cat <<EOF +$ME $VERSION +Copyright (C) $year Free Software Foundation, Inc, +License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit +} + +# find_tool ENVVAR NAMES... +# ------------------------- +# Search for a required program. Use the value of ENVVAR, if set, +# otherwise find the first of the NAMES that can be run (i.e., +# supports --version). If found, set ENVVAR to the program name, +# die otherwise. +# +# FIXME: code duplication, see also bootstrap. +find_tool () +{ + find_tool_envvar=$1 + shift + find_tool_names=$@ + eval "find_tool_res=\$$find_tool_envvar" + if test x"$find_tool_res" = x; then + for i + do + if ($i --version </dev/null) >/dev/null 2>&1; then + find_tool_res=$i + break + fi + done + else + find_tool_error_prefix="\$$find_tool_envvar: " + fi + test x"$find_tool_res" != x \ + || die "one of these is required: $find_tool_names" + ($find_tool_res --version </dev/null) >/dev/null 2>&1 \ + || die "${find_tool_error_prefix}cannot run $find_tool_res --version" + eval "$find_tool_envvar=\$find_tool_res" + eval "export $find_tool_envvar" +} + +## ------ ## +## Main. ## +## ------ ## + +# Requirements: everything required to bootstrap your package, plus +# these. +find_tool CVS cvs +find_tool GIT git +find_tool RSYNC rsync +find_tool XARGS gxargs xargs + +builddir=. +dryrun= +rm_stale='echo' +cvs_user="$USER" +while test $# != 0 +do + # Handle --option=value by splitting apart and putting back on argv. + case $1 in + --*=*) + opt=$(echo "$1" | sed -e 's/=.*//') + val=$(echo "$1" | sed -e 's/[^=]*=//') + shift + set dummy "$opt" "$val" "$@"; shift + ;; + esac + + case $1 in + --help|--version) ${1#--};; + -C|--builddir) shift; builddir=$1; shift ;; + -n|--dry-run) dryrun=echo; shift;; + -m|--mirror) rm_stale=''; shift;; + -u|--user) shift; cvs_user=$1; shift ;; + --*) die "unrecognized option: $1";; + *) break;; + esac +done + +test $# = 0 \ + || die "too many arguments" + +prev=.prev-version +version=$(cat $prev) || die "no $prev file?" +pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' $builddir/Makefile) \ + || die "no Makefile?" +tmp_branch=web-doc-$version-$$ +current_branch=$($GIT branch | sed -ne '/^\* /{s///;p;q;}') + +cleanup() +{ + __st=$? + $dryrun rm -rf "$tmp" + $GIT checkout "$current_branch" + $GIT submodule update --recursive + $GIT branch -d $tmp_branch + exit $__st +} +trap cleanup 0 +trap 'exit $?' 1 2 13 15 + +# We must build using sources for which --version reports the +# just-released version number, not some string like 7.6.18-20761. +# That version string propagates into all documentation. +set -e +$GIT checkout -b $tmp_branch v$version +$GIT submodule update --recursive +./bootstrap +srcdir=$(pwd) +cd "$builddir" +builddir=$(pwd) + ./config.status --recheck + ./config.status + make + make web-manual +cd "$srcdir" +set +e + +tmp=$(mktemp -d web-doc-update.XXXXXX) || exit 1 +( cd $tmp \ + && $CVS -d $cvs_user@cvs.sv.gnu.org:/webcvs/$pkg co $pkg ) +$RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual + +( + cd $tmp/$pkg/manual + + # Add all the files. This is simpler than trying to add only the + # new ones because of new directories + # First add non empty dirs individually + find . -name CVS -prune -o -type d \! -empty -print \ + | $XARGS -n1 --no-run-if-empty -- $dryrun $CVS add -ko + # Now add all files + find . -name CVS -prune -o -type f -print \ + | $XARGS --no-run-if-empty -- $dryrun $CVS add -ko + + # Report/Remove stale files + # excluding doc server specific files like CVS/* and .symlinks + if test -n "$rm_stale"; then + echo 'Consider the --mirror option if all of the manual is generated,' >&2 + echo 'which will run `cvs remove` to remove stale files.' >&2 + fi + { find . \( -name CVS -o -type f -name '.*' \) -prune -o -type f -print + (cd "$builddir"/doc/manual/ && find . -type f -print | sed p) + } | sort | uniq -u \ + | $XARGS --no-run-if-empty -- ${rm_stale:-$dryrun} $CVS remove -f + + $dryrun $CVS ci -m $version +) + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "VERSION=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/gnupload b/BUILD/libtool-2.4.7/build-aux/gnupload new file mode 100755 index 0000000..b97e566 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/gnupload @@ -0,0 +1,480 @@ +#!/bin/sh +# Sign files and upload them. + +scriptversion=2022-01-27.18; # UTC + +# Copyright (C) 2004-2022 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# Originally written by Alexandre Duret-Lutz <adl@gnu.org>. +# The master copy of this file is maintained in the gnulib Git repository. +# Please send bug reports and feature requests to bug-gnulib@gnu.org. + +set -e + +GPG=gpg +# Choose the proper version of gpg, so as to avoid a +# "gpg-agent is not available in this session" error +# when gpg-agent is version 2 but gpg is still version 1. +# FIXME-2020: remove, once all major distros ship gpg version 2 as /usr/bin/gpg +gpg_agent_version=`(gpg-agent --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'` +case "$gpg_agent_version" in + 2.*) + gpg_version=`(gpg --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'` + case "$gpg_version" in + 1.*) + if (type gpg2) >/dev/null 2>/dev/null; then + # gpg2 is present. + GPG=gpg2 + else + # gpg2 is missing. Ubuntu users should install the package 'gnupg2'. + echo "WARNING: Using 'gpg', which is too old. You should install 'gpg2'." 1>&2 + fi + ;; + esac + ;; +esac + +GPG="${GPG} --batch --no-tty" +conffile=.gnuploadrc +to= +dry_run=false +replace= +symlink_files= +delete_files= +delete_symlinks= +collect_var= +dbg= +nl=' +' + +usage="Usage: $0 [OPTION]... [CMD] FILE... [[CMD] FILE...] + +Sign all FILES, and process them at the destinations specified with --to. +If CMD is not given, it defaults to uploading. See examples below. + +Commands: + --delete delete FILES from destination + --symlink create symbolic links + --rmsymlink remove symbolic links + -- treat the remaining arguments as files to upload + +Options: + --to DEST specify a destination DEST for FILES + (multiple --to options are allowed) + --user NAME sign with key NAME + --replace allow replacements of existing files + --symlink-regex[=EXPR] use sed script EXPR to compute symbolic link names + -n, --dry-run do nothing, show what would have been done + (including the constructed directive file) + --version output version information and exit + -h, --help print this help text and exit + +If --symlink-regex is given without EXPR, then the link target name +is created by replacing the version information with '-latest', e.g.: + foo-1.3.4.tar.gz -> foo-latest.tar.gz + +Recognized destinations are: + alpha.gnu.org:DIRECTORY + savannah.gnu.org:DIRECTORY + savannah.nongnu.org:DIRECTORY + ftp.gnu.org:DIRECTORY + build directive files and upload files by FTP + download.gnu.org.ua:{alpha|ftp}/DIRECTORY + build directive files and upload files by SFTP + [user@]host:DIRECTORY upload files with scp + +Options and commands are applied in order. If the file $conffile exists +in the current working directory, its contents are prepended to the +actual command line options. Use this to keep your defaults. Comments +(#) and empty lines in $conffile are allowed. + +<https://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html> +gives some further background. + +Examples: +1. Upload foobar-1.0.tar.gz to ftp.gnu.org: + gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz + +2. Upload foobar-1.0.tar.gz and foobar-1.0.tar.xz to ftp.gnu.org: + gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz foobar-1.0.tar.xz + +3. Same as above, and also create symbolic links to foobar-latest.tar.*: + gnupload --to ftp.gnu.org:foobar \\ + --symlink-regex \\ + foobar-1.0.tar.gz foobar-1.0.tar.xz + +4. Create a symbolic link foobar-latest.tar.gz -> foobar-1.0.tar.gz + and likewise for the corresponding .sig file: + gnupload --to ftp.gnu.org:foobar \\ + --symlink foobar-1.0.tar.gz foobar-latest.tar.gz \\ + foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig + or (equivalent): + gnupload --to ftp.gnu.org:foobar \\ + --symlink foobar-1.0.tar.gz foobar-latest.tar.gz \\ + --symlink foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig + +5. Upload foobar-0.9.90.tar.gz to two sites: + gnupload --to alpha.gnu.org:foobar \\ + --to sources.redhat.com:~ftp/pub/foobar \\ + foobar-0.9.90.tar.gz + +6. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz + (the -- terminates the list of files to delete): + gnupload --to alpha.gnu.org:foobar \\ + --to sources.redhat.com:~ftp/pub/foobar \\ + --delete oopsbar-0.9.91.tar.gz \\ + -- foobar-0.9.91.tar.gz + +gnupload executes a program ncftpput to do the transfers; if you don't +happen to have an ncftp package installed, the ncftpput-ftp script in +the build-aux/ directory of the gnulib package +(https://savannah.gnu.org/projects/gnulib) may serve as a replacement. + +Send patches and bug reports to <bug-gnulib@gnu.org>." + +copyright_year=`echo "$scriptversion" | sed -e 's/[^0-9].*//'` +copyright="Copyright (C) ${copyright_year} Free Software Foundation, Inc. +License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl.html>. +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law." + +# Read local configuration file +if test -r "$conffile"; then + echo "$0: Reading configuration file $conffile" + conf=`sed 's/#.*$//;/^$/d' "$conffile" | tr "\015$nl" ' '` + eval set x "$conf \"\$@\"" + shift +fi + +while test -n "$1"; do + case $1 in + -*) + collect_var= + case $1 in + -h | --help) + echo "$usage" + exit $? + ;; + --to) + if test -z "$2"; then + echo "$0: Missing argument for --to" 1>&2 + exit 1 + elif echo "$2" | grep 'ftp-upload\.gnu\.org' >/dev/null; then + echo "$0: Use ftp.gnu.org:PKGNAME or alpha.gnu.org:PKGNAME" >&2 + echo "$0: for the destination, not ftp-upload.gnu.org (which" >&2 + echo "$0: is used for direct ftp uploads, not with gnupload)." >&2 + echo "$0: See --help and its examples if need be." >&2 + exit 1 + else + to="$to $2" + shift + fi + ;; + --user) + if test -z "$2"; then + echo "$0: Missing argument for --user" 1>&2 + exit 1 + else + GPG="$GPG --local-user $2" + shift + fi + ;; + --delete) + collect_var=delete_files + ;; + --replace) + replace="replace: true" + ;; + --rmsymlink) + collect_var=delete_symlinks + ;; + --symlink-regex=*) + symlink_expr=`expr "$1" : '[^=]*=\(.*\)'` + ;; + --symlink-regex) + symlink_expr='s|-[0-9][0-9\.]*\(-[0-9][0-9]*\)\{0,1\}\.|-latest.|' + ;; + --symlink) + collect_var=symlink_files + ;; + -n | --dry-run) + dry_run=: + ;; + --version) + echo "gnupload $scriptversion" + echo "$copyright" + exit 0 + ;; + --) + shift + break + ;; + -*) + echo "$0: Unknown option '$1', try '$0 --help'" 1>&2 + exit 1 + ;; + esac + ;; + *) + if test -z "$collect_var"; then + break + else + eval "$collect_var=\"\$$collect_var $1\"" + fi + ;; + esac + shift +done + +dprint() +{ + echo "Running $* ..." +} + +if $dry_run; then + dbg=dprint +fi + +if test -z "$to"; then + echo "$0: Missing destination sites" >&2 + exit 1 +fi + +if test -n "$symlink_files"; then + x=`echo "$symlink_files" | sed 's/[^ ]//g;s/ //g'` + if test -n "$x"; then + echo "$0: Odd number of symlink arguments" >&2 + exit 1 + fi +fi + +if test $# = 0; then + if test -z "${symlink_files}${delete_files}${delete_symlinks}"; then + echo "$0: No file to upload" 1>&2 + exit 1 + fi +else + # Make sure all files exist. We don't want to ask + # for the passphrase if the script will fail. + for file + do + if test ! -f $file; then + echo "$0: Cannot find '$file'" 1>&2 + exit 1 + elif test -n "$symlink_expr"; then + linkname=`echo $file | sed "$symlink_expr"` + if test -z "$linkname"; then + echo "$0: symlink expression produces empty results" >&2 + exit 1 + elif test "$linkname" = $file; then + echo "$0: symlink expression does not alter file name" >&2 + exit 1 + fi + fi + done +fi + +# Make sure passphrase is not exported in the environment. +unset passphrase +unset passphrase_fd_0 +GNUPGHOME=${GNUPGHOME:-$HOME/.gnupg} + +# Reset PATH to be sure that echo is a built-in. We will later use +# 'echo $passphrase' to output the passphrase, so it is important that +# it is a built-in (third-party programs tend to appear in 'ps' +# listings with their arguments...). +# Remember this script runs with 'set -e', so if echo is not built-in +# it will exit now. +if $dry_run || grep -q "^use-agent" $GNUPGHOME/gpg.conf; then :; else + PATH=/empty echo -n "Enter GPG passphrase: " + stty -echo + read -r passphrase + stty echo + echo + passphrase_fd_0="--passphrase-fd 0" +fi + +if test $# -ne 0; then + for file + do + echo "Signing $file ..." + rm -f $file.sig + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 -ba -o $file.sig $file + done +fi + + +# mkdirective DESTDIR BASE FILE STMT +# Arguments: See upload, below +mkdirective () +{ + stmt="$4" + if test -n "$3"; then + stmt=" +filename: $3$stmt" + fi + + cat >${2}.directive<<EOF +version: 1.2 +directory: $1 +comment: gnupload v. $scriptversion$stmt +EOF + if $dry_run; then + echo "File ${2}.directive:" + cat ${2}.directive + echo "File ${2}.directive:" | sed 's/./-/g' + fi +} + +mksymlink () +{ + while test $# -ne 0 + do + echo "symlink: $1 $2" + shift + shift + done +} + +# upload DEST DESTDIR BASE FILE STMT FILES +# Arguments: +# DEST Destination site; +# DESTDIR Destination directory; +# BASE Base name for the directive file; +# FILE Name of the file to distribute (may be empty); +# STMT Additional statements for the directive file; +# FILES List of files to upload. +upload () +{ + dest=$1 + destdir=$2 + base=$3 + file=$4 + stmt=$5 + files=$6 + + rm -f $base.directive $base.directive.asc + case $dest in + alpha.gnu.org:*) + mkdirective "$destdir" "$base" "$file" "$stmt" + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive + $dbg ncftpput ftp-upload.gnu.org /incoming/alpha $files $base.directive.asc + ;; + ftp.gnu.org:*) + mkdirective "$destdir" "$base" "$file" "$stmt" + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive + $dbg ncftpput ftp-upload.gnu.org /incoming/ftp $files $base.directive.asc + ;; + savannah.gnu.org:*) + if test -z "$files"; then + echo "$0: warning: standalone directives not applicable for $dest" >&2 + fi + $dbg ncftpput savannah.gnu.org /incoming/savannah/$destdir $files + ;; + savannah.nongnu.org:*) + if test -z "$files"; then + echo "$0: warning: standalone directives not applicable for $dest" >&2 + fi + $dbg ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files + ;; + download.gnu.org.ua:alpha/*|download.gnu.org.ua:ftp/*) + destdir_p1=`echo "$destdir" | sed 's,^[^/]*/,,'` + destdir_topdir=`echo "$destdir" | sed 's,/.*,,'` + mkdirective "$destdir_p1" "$base" "$file" "$stmt" + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive + for f in $files $base.directive.asc + do + echo put $f + done | $dbg sftp -b - puszcza.gnu.org.ua:/incoming/$destdir_topdir + ;; + /*) + dest_host=`echo "$dest" | sed 's,:.*,,'` + mkdirective "$destdir" "$base" "$file" "$stmt" + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive + $dbg cp $files $base.directive.asc $dest_host + ;; + *) + if test -z "$files"; then + echo "$0: warning: standalone directives not applicable for $dest" >&2 + fi + $dbg scp $files $dest + ;; + esac + rm -f $base.directive $base.directive.asc +} + +##### +# Process any standalone directives +stmt= +if test -n "$symlink_files"; then + stmt="$stmt +`mksymlink $symlink_files`" +fi + +for file in $delete_files +do + stmt="$stmt +archive: $file" +done + +for file in $delete_symlinks +do + stmt="$stmt +rmsymlink: $file" +done + +if test -n "$stmt"; then + for dest in $to + do + destdir=`echo $dest | sed 's/[^:]*://'` + upload "$dest" "$destdir" "`hostname`-$$" "" "$stmt" + done +fi + +# Process actual uploads +for dest in $to +do + for file + do + echo "Uploading $file to $dest ..." + stmt= + # + # allowing file replacement is all or nothing. + if test -n "$replace"; then stmt="$stmt +$replace" + fi + # + files="$file $file.sig" + destdir=`echo $dest | sed 's/[^:]*://'` + if test -n "$symlink_expr"; then + linkname=`echo $file | sed "$symlink_expr"` + stmt="$stmt +symlink: $file $linkname +symlink: $file.sig $linkname.sig" + fi + upload "$dest" "$destdir" "$file" "$file" "$stmt" "$files" + done +done + +exit 0 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/inline-source b/BUILD/libtool-2.4.7/build-aux/inline-source new file mode 100755 index 0000000..9ce50c6 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/inline-source @@ -0,0 +1,159 @@ +#! /bin/sh + +# Output the contents of a shell script with sourced files inlined. +# Written by Gary V. Vaughan, 2012 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2012-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues> + +# Source required external libraries: +. `echo "$0" |${SED-sed} 's|[^/]*$||'`"funclib.sh" +. `echo "$0" |${SED-sed} 's|[^/]*$||'`"options-parser" + +# Set a version string for *this* script. +scriptversion=2019-02-19.15; # UTC + + +## ------ ## +## Usage. ## +## ------ ## + +# Run 'build-aux/inline-source --help' for help with using this script +# from the command line. + +# Recursively scan through a FILE passed on the command line, replacing +# either of the following: +# . "relative/file" +# . `echo "$0" |edit`"relative/file" +# with the contents of the referenced files. + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +usage='$progpath [OPTION]... FILE' + +# Short help message in response to '-h'. +usage_message='Options: + --debug enable verbose shell tracing + --version print version information and exit + -h, --help print help message and exit +' + +long_help_message="\ +Report bugs to <bug-libtool@gnu.org> +General help using GNU software: <http://www.gnu.org/gethelp/>." + +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# require_AWK +# ----------- +# Search for a "not hopeless" awk. +require_AWK=func_require_AWK +func_require_AWK () +{ + $debug_cmd + + test -n "$AWK" || { + # Find the first executable in the list. + for _G_prog in gawk mawk nawk awk + do + require_AWK_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for _G_dir in $PATH + do + IFS=$require_AWK_IFS + if test -f "$_G_dir/$_G_prog" && test -x "$_G_dir/$_G_prog" + then + AWK=$_G_dir/$_G_prog + break 2 + fi + done + IFS=$require_AWK_IFS + done + } + + test -n "$AWK" || func_fatal_error "\ +Please install GNU Awk, or 'export AWK=/path/to/gnu/awk'." + + func_verbose "found '$AWK'." + + require_AWK=: +} + + +## --------------- ## +## Core functions. ## +## --------------- ## + +# func_include LINE +# ----------------- +# Output the contents of file included by LINE. +func_include () +{ + $require_AWK + + test -f "$1" \ + || func_fatal_error "file '$1' not found" + + _G_scriptdir=`echo "$1" |$SED 's|[^/]*$||'` + test -n "$_G_scriptdir" || _G_scriptdir="./" + + $AWK ' + BEGIN { magic = '${_RECURSE_MAGIC-0}'; } + + /^#!/ && magic == 0 { + print $0; + print "## DO NOT EDIT - This file generated from '$1'"; + print "## by '$progname' v'$scriptversion'"; + magic++; + next; + } + + /^\. ['\''"].*['\''"]$/ { + file = substr ($2, 2, length ($2) -2); + system (sprintf ("env _RECURSE_MAGIC=%d '$progpath' %s", magic, file)); + next; + } + + /^\. `echo [^`]*`['\''"][^'\''"]*['\''"]$/ { + tail = substr ($0, match ($0, /`['\''"]/)); + file = substr (tail, 3, length (tail) -3); + system (sprintf ("env _RECURSE_MAGIC=%d '$progpath' '"$_G_scriptdir"'%s", magic, file)); + next; + } + + { print; } + ' < "$1" +} + +func_include "$1" + +exit 0 + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/install-sh b/BUILD/libtool-2.4.7/build-aux/install-sh new file mode 100755 index 0000000..ec298b5 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/install-sh @@ -0,0 +1,541 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2020-11-14.01; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +tab=' ' +nl=' +' +IFS=" $tab$nl" + +# Set DOITPROG to "echo" to test this script. + +doit=${DOITPROG-} +doit_exec=${doit:-exec} + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix= +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +is_target_a_directory=possibly + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -p pass -p to $cpprog. + -s $stripprog installed files. + -S SUFFIX attempt to back up existing files, with suffix SUFFIX. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -p) cpprog="$cpprog -p";; + + -s) stripcmd=$stripprog;; + + -S) backupsuffix="$2" + shift;; + + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) is_target_a_directory=never;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call 'install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + # Don't chown directories that already exist. + if test $dstdir_status = 0; then + chowncmd="" + fi + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # If destination is a directory, append the input filename. + if test -d "$dst"; then + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac + dstdir_status=0 + else + dstdir=`dirname "$dst"` + test -d "$dstdir" + dstdir_status=$? + fi + fi + + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + # The $RANDOM variable is not portable (e.g., dash). Use it + # here however when possible just to lower collision chance. + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + + trap ' + ret=$? + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null + exit $ret + ' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p'. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + oIFS=$IFS + IFS=/ + set -f + set fnord $dstdir + shift + set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && + { test -z "$stripcmd" || { + # Create $dsttmp read-write so that cp doesn't create it read-only, + # which would cause strip to fail. + if test -z "$doit"; then + : >"$dsttmp" # No need to fork-exec 'touch'. + else + $doit touch "$dsttmp" + fi + } + } && + $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + set +f && + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # If $backupsuffix is set, and the file being installed + # already exists, attempt a backup. Don't worry if it fails, + # e.g., if mv doesn't support -f. + if test -n "$backupsuffix" && test -f "$dst"; then + $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null + fi + + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/ltmain.in b/BUILD/libtool-2.4.7/build-aux/ltmain.in new file mode 100644 index 0000000..a5f21a1 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/ltmain.in @@ -0,0 +1,9286 @@ +#! /usr/bin/env sh + +# libtool (GNU @PACKAGE@) @VERSION@ +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 + +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +PROGRAM=libtool +PACKAGE=@PACKAGE@ +VERSION=@VERSION@ +package_revision=@package_revision@ + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +. `echo "$0" |${SED-sed} 's|[^/]*$||'`"funclib.sh" +. `echo "$0" |${SED-sed} 's|[^/]*$||'`"options-parser" + +# Set a version string. +scriptversion='(GNU @PACKAGE@) @VERSION@' + + +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + $debug_cmd + + $warning_func ${1+"$@"} +} + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname (GNU @PACKAGE@) @VERSION@ + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to <@PACKAGE_BUGREPORT@>. +GNU @PACKAGE@ home page: <@PACKAGE_URL@>. +General help using GNU software: <http://www.gnu.org/gethelp/>." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi + + +# func_fatal_configuration ARG... +# ------------------------------- +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func_fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." +} + + +# func_config +# ----------- +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + + +# func_features +# ------------- +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test yes = "$build_libtool_libs"; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test yes = "$build_old_libs"; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + + +# func_enable_tag TAGNAME +# ----------------------- +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname=$1 + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + + +# func_check_version_match +# ------------------------ +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + + nonopt= + preserve_args= + + _G_rc_lt_options_prep=: + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + *) + _G_rc_lt_options_prep=false + ;; + esac + + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi +} +func_add_hook func_options_prep libtool_options_prep + + +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd + + _G_rc_lt_parse_options=false + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_match_lt_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; + esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: + done + + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi +} +func_add_hook func_parse_options libtool_parse_options + + + +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } + + # Pass back the unparsed argument list + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result +} +func_add_hook func_validate_options libtool_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + + +## ----------- ## +## Main. ## +## ----------- ## + +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if 'file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case $lalib_p_line in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test yes = "$lalib_p" +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $debug_cmd + + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# 'FILE.' does not work on cygwin managed mounts. +func_source () +{ + $debug_cmd + + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case $lt_sysroot:$1 in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result='='$func_stripname_result + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $debug_cmd + + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with '--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' + else + write_lobj=none + fi + + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T <<EOF +# $write_libobj - a libtool object file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object=$write_lobj + +# Name of the non-PIC object +non_pic_object=$write_oldobj + +EOF + $MV "${write_libobj}T" "$write_libobj" + } +} + + +################################################## +# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS # +################################################## + +# func_convert_core_file_wine_to_w32 ARG +# Helper function used by file name conversion functions when $build is *nix, +# and $host is mingw, cygwin, or some other w32 environment. Relies on a +# correctly configured wine environment available, with the winepath program +# in $build's $PATH. +# +# ARG is the $build file name to be converted to w32 format. +# Result is available in $func_convert_core_file_wine_to_w32_result, and will +# be empty on error (or when ARG is empty) +func_convert_core_file_wine_to_w32 () +{ + $debug_cmd + + func_convert_core_file_wine_to_w32_result=$1 + if test -n "$1"; then + # Unfortunately, winepath does not exit with a non-zero error code, so we + # are forced to check the contents of stdout. On the other hand, if the + # command is not found, the shell will set an exit code of 127 and print + # *an error message* to stdout. So we must check for both error code of + # zero AND non-empty stdout, which explains the odd construction: + func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null` + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $debug_cmd + + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result= + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result"; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $debug_cmd + + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $debug_cmd + + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $debug_cmd + + if test -z "$2" && test -n "$1"; then + func_error "Could not determine host file name corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result=$1 + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $debug_cmd + + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " '$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result=$3 + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $debug_cmd + + case $4 in + $1 ) func_to_host_path_result=$3$func_to_host_path_result + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via '$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $debug_cmd + + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $debug_cmd + + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result=$1 +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result=$func_convert_core_msys_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via '$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $debug_cmd + + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd=func_convert_path_$func_stripname_result + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $debug_cmd + + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result=$1 +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_msys_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + +# func_mode_compile arg... +func_mode_compile () +{ + $debug_cmd + + # Get the compilation command and the source file. + base_compile= + srcfile=$nonopt # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg=$arg + arg_mode=normal + ;; + + target ) + libobj=$arg + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify '-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs=$IFS; IFS=, + for arg in $args; do + IFS=$save_ifs + func_append_quoted lastarg "$arg" + done + IFS=$save_ifs + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg=$srcfile + srcfile=$arg + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with '-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj=$func_basename_result + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from '$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name '$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test yes = "$build_old_libs"; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test yes = "$need_locks"; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test warn = "$need_locks"; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result + + # Only build a PIC object if we are building libtool libraries. + if test yes = "$build_libtool_libs"; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test no != "$pic_mode"; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test yes = "$suppress_opt"; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test yes = "$compiler_c_o"; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test no != "$need_locks"; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a 'standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to '-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the '--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the 'install' or 'cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with '-') are ignored. + +Every other argument is treated as a filename. Files ending in '.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. + +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode '$opt_mode'" + ;; + esac + + echo + $ECHO "Try '$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test : = "$opt_help"; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + $SED '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $debug_cmd + + # The first argument is the command name. + cmd=$nonopt + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "'$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "'$file' was not linked with '-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir=$func_dirname_result + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir=$func_dirname_result + ;; + + *) + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir=$absdir + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic=$magic + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file=$progdir/$program + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file=$progdir/$program + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd=\$cmd$args + fi +} + +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $debug_cmd + + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "'$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument '$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and '=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_quiet && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the '$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the '$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the '$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $debug_cmd + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac + then + # Aesthetically quote it. + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=false + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=: ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" + if test -n "$arg2"; then + func_quote_arg pretty "$arg2" + fi + func_append install_shared_prog " $func_quote_arg_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the '$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir=$func_dirname_result + destname=$func_basename_result + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "'$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "'$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir=$func_dirname_result + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking '$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname=$1 + shift + + srcname=$realname + test -n "$relink_command" && srcname=${realname}T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme=$stripme + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try 'ln -sf' first, because the 'ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib=$destdir/$realname + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name=$func_basename_result + instname=$dir/${name}i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest=$destfile + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to '$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test yes = "$build_old_libs"; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext= + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=.exe + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script '$wrapper'" + + finalize=: + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test no = "$fast_install" && test -n "$relink_command"; then + $opt_dry_run || { + if $finalize; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file=$func_basename_result + outputname=$tmpdir/$file + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_quiet || { + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink '$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file=$outputname + else + func_warning "cannot relink '$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name=$func_basename_result + + # Set up the ranlib parameters. + oldlib=$destdir/$name + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run '$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test install = "$opt_mode" && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms=${my_outputname}S.c + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist=$output_objdir/$my_outputname.nm + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* External symbol declarations for the compiler. */\ +" + + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols=$output_objdir/$outputname.exp + $opt_dry_run || { + $RM $export_symbols + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from '$dlprefile'" + func_basename "$dlprefile" + name=$func_basename_result + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename= + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname"; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename=$func_basename_result + else + # no lafile. user explicitly requested -dlpreopen <import library>. + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename"; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 </dev/null >/dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + $my_pic_p && pic_flag_for_symtable=" $pic_flag" + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' + + # Transform the symbol file into the correct name. + symfileobj=$output_objdir/${my_outputname}S.$objext + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for '$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $debug_cmd + + win32_libid_type=unknown + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s|.*|import| + p + q + } + }'` + ;; + esac + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $debug_cmd + + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $debug_cmd + + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1"; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result= + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test yes = "$lock_old_archive_extraction"; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $debug_cmd + + my_gentop=$1; shift + my_oldlibs=${1+"$@"} + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib=$func_basename_result + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" + cd "$darwin_curdir" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result=$my_oldobjs +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory where it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=$qECHO + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test yes = "$fast_install"; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + \$ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat <<EOF + +/* $cwrappersource - temporary wrapper executable for $objdir/$outputname + Generated by $PROGRAM (GNU $PACKAGE) $VERSION + + The $output program cannot be directly executed until all the libtool + libraries that it depends on are installed. + + This wrapper executable should never be moved out of the build directory. + If it is, it will not operate correctly. +*/ +EOF + cat <<"EOF" +#ifdef _MSC_VER +# define _CRT_SECURE_NO_DEPRECATE 1 +#endif +#include <stdio.h> +#include <stdlib.h> +#ifdef _MSC_VER +# include <direct.h> +# include <process.h> +# include <io.h> +#else +# include <unistd.h> +# include <stdint.h> +# ifdef __CYGWIN__ +# include <io.h> +# endif +#endif +#include <malloc.h> +#include <stdarg.h> +#include <assert.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <sys/stat.h> + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* declarations of non-ANSI functions */ +#if defined __MINGW32__ +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined __CYGWIN__ +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined other_platform || defined ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined _MSC_VER +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +#elif defined __MINGW32__ +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined __CYGWIN__ +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined other platforms ... */ +#endif + +#if defined PATH_MAX +# define LT_PATHMAX PATH_MAX +#elif defined MAXPATHLEN +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free (stale); stale = 0; } \ +} while (0) + +#if defined LT_DEBUGWRAPPER +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <<EOF +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +# define externally_visible volatile +#else +# define externally_visible __attribute__((externally_visible)) volatile +#endif +externally_visible const char * MAGIC_EXE = "$magic_exe"; +const char * LIB_PATH_VARNAME = "$shlibpath_var"; +EOF + + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + func_to_host_path "$temp_rpath" + cat <<EOF +const char * LIB_PATH_VALUE = "$func_to_host_path_result"; +EOF + else + cat <<"EOF" +const char * LIB_PATH_VALUE = ""; +EOF + fi + + if test -n "$dllsearchpath"; then + func_to_host_path "$dllsearchpath:" + cat <<EOF +const char * EXE_PATH_VARNAME = "PATH"; +const char * EXE_PATH_VALUE = "$func_to_host_path_result"; +EOF + else + cat <<"EOF" +const char * EXE_PATH_VARNAME = ""; +const char * EXE_PATH_VALUE = ""; +EOF + fi + + if test yes = "$fast_install"; then + cat <<EOF +const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ +EOF + else + cat <<EOF +const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ +EOF + fi + + + cat <<"EOF" + +#define LTWRAPPER_OPTION_PREFIX "--lt-" + +static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; +static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; +static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug"; + +int +main (int argc, char *argv[]) +{ + char **newargz; + int newargc; + char *tmp_pathspec; + char *actual_cwrapper_path; + char *actual_cwrapper_name; + char *target_name; + char *lt_argv_zero; + int rval = 127; + + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + newargz = XMALLOC (char *, (size_t) argc + 1); + + /* very simple arg parsing; don't want to rely on getopt + * also, copy all non cwrapper options to newargz, except + * argz[0], which is handled differently + */ + newargc=0; + for (i = 1; i < argc; i++) + { + if (STREQ (argv[i], dumpscript_opt)) + { +EOF + case $host in + *mingw* | *cygwin* ) + # make stdout use "unix" line endings + echo " setmode(1,_O_BINARY);" + ;; + esac + + cat <<"EOF" + lt_dump_script (stdout); + return 0; + } + if (STREQ (argv[i], debug_opt)) + { + lt_debug = 1; + continue; + } + if (STREQ (argv[i], ltwrapper_option_prefix)) + { + /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX + namespace, but it is not one of the ones we know about and + have already dealt with, above (inluding dump-script), then + report an error. Otherwise, targets might begin to believe + they are allowed to use options in the LTWRAPPER_OPTION_PREFIX + namespace. The first time any user complains about this, we'll + need to make LTWRAPPER_OPTION_PREFIX a configure-time option + or a configure.ac-settable value. + */ + lt_fatal (__FILE__, __LINE__, + "unrecognized %s option: '%s'", + ltwrapper_option_prefix, argv[i]); + } + /* otherwise ... */ + newargz[++newargc] = xstrdup (argv[i]); + } + newargz[++newargc] = NULL; + +EOF + cat <<EOF + /* The GNU banner must be the first non-error debug message */ + lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n"); +EOF + cat <<"EOF" + lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]); + lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name); + + tmp_pathspec = find_executable (argv[0]); + if (tmp_pathspec == NULL) + lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]); + lt_debugprintf (__FILE__, __LINE__, + "(main) found exe (before symlink chase) at: %s\n", + tmp_pathspec); + + actual_cwrapper_path = chase_symlinks (tmp_pathspec); + lt_debugprintf (__FILE__, __LINE__, + "(main) found exe (after symlink chase) at: %s\n", + actual_cwrapper_path); + XFREE (tmp_pathspec); + + actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path)); + strendzap (actual_cwrapper_path, actual_cwrapper_name); + + /* wrapper name transforms */ + strendzap (actual_cwrapper_name, ".exe"); + tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); + XFREE (actual_cwrapper_name); + actual_cwrapper_name = tmp_pathspec; + tmp_pathspec = 0; + + /* target_name transforms -- use actual target program name; might have lt- prefix */ + target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); + strendzap (target_name, ".exe"); + tmp_pathspec = lt_extend_str (target_name, ".exe", 1); + XFREE (target_name); + target_name = tmp_pathspec; + tmp_pathspec = 0; + + lt_debugprintf (__FILE__, __LINE__, + "(main) libtool target name: %s\n", + target_name); +EOF + + cat <<EOF + newargz[0] = + XMALLOC (char, (strlen (actual_cwrapper_path) + + strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); + strcpy (newargz[0], actual_cwrapper_path); + strcat (newargz[0], "$objdir"); + strcat (newargz[0], "/"); +EOF + + cat <<"EOF" + /* stop here, and copy so we don't have to do this twice */ + tmp_pathspec = xstrdup (newargz[0]); + + /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ + strcat (newargz[0], actual_cwrapper_name); + + /* DO want the lt- prefix here if it exists, so use target_name */ + lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); + XFREE (tmp_pathspec); + tmp_pathspec = NULL; +EOF + + case $host_os in + mingw*) + cat <<"EOF" + { + char* p; + while ((p = strchr (newargz[0], '\\')) != NULL) + { + *p = '/'; + } + while ((p = strchr (lt_argv_zero, '\\')) != NULL) + { + *p = '/'; + } + } +EOF + ;; + esac + + cat <<"EOF" + XFREE (target_name); + XFREE (actual_cwrapper_path); + XFREE (actual_cwrapper_name); + + lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ + lt_setenv ("DUALCASE", "1"); /* for MSK sh */ + /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must + be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath) + because on Windows, both *_VARNAMEs are PATH but uninstalled + libraries must come first. */ + lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); + lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); + + lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n", + nonnull (lt_argv_zero)); + for (i = 0; i < newargc; i++) + { + lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", + i, nonnull (newargz[i])); + } + +EOF + + case $host_os in + mingw*) + cat <<"EOF" + /* execv doesn't actually work on mingw as expected on unix */ + newargz = prepare_spawn (newargz); + rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); + if (rval == -1) + { + /* failed to start process */ + lt_debugprintf (__FILE__, __LINE__, + "(main) failed to launch target \"%s\": %s\n", + lt_argv_zero, nonnull (strerror (errno))); + return 127; + } + return rval; +EOF + ;; + *) + cat <<"EOF" + execv (lt_argv_zero, newargz); + return rval; /* =127, but avoids unused variable warning */ +EOF + ;; + esac + + cat <<"EOF" +} + +void * +xmalloc (size_t num) +{ + void *p = (void *) malloc (num); + if (!p) + lt_fatal (__FILE__, __LINE__, "memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), + string) : NULL; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined HAVE_DOS_BASED_FILE_SYSTEM + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char) name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable (const char *path) +{ + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + size_t tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined HAVE_DOS_BASED_FILE_SYSTEM + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined HAVE_DOS_BASED_FILE_SYSTEM + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = (size_t) (q - p); + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (STREQ (str, pat)) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + size_t len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + size_t orig_value_len = strlen (orig_value); + size_t add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[--len] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $debug_cmd + + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $debug_cmd + + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # what system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll that has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + os2dllname= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=false + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module=$wl-single_module + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg=$1 + shift + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir=$arg + prev= + continue + ;; + dlfiles|dlprefiles) + $preload || { + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=: + } + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test no = "$dlself"; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test dlprefiles = "$prev"; then + dlself=yes + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test dlfiles = "$prev"; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols=$arg + test -f "$arg" \ + || func_fatal_error "symbol file '$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex=$arg + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + if test none != "$pic_object"; then + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + fi + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file '$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; + precious_regex) + precious_files_regex=$arg + prev= + continue + ;; + release) + release=-$arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test rpath = "$prev"; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds=$arg + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg=$arg + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "'-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test X-export-symbols = "X$arg"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between '-L' and '$1'" + else + func_fatal_error "need path for '-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test X-lc = "X$arg" || test X-lm = "X$arg"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test X-lc = "X$arg" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + # Do not include libc due to us having libc/libc_r. + test X-lc = "X$arg" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test X-lc = "X$arg" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test X-lc = "X$arg" && continue + ;; + esac + elif test X-lc_r = "X$arg"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -mllvm) + prev=mllvm + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module=$wl-multi_module + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -os2dllname) + prev=os2dllname + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xassembler) + prev=xassembler + continue + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files + # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -Wa,* Pass flags directly to the assembler + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + fi + ;; + + # Some other compiler flag. + -* | +*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + test none = "$pic_object" || { + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + } + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test dlfiles = "$prev"; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test dlprefiles = "$prev"; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the '$prevarg' option requires an argument" + + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname=$func_basename_result + libobjs_save=$libobjs + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + + func_dirname "$output" "/" "" + output_objdir=$func_dirname_result$objdir + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test lib = "$linkmode"; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=false + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test lib,link = "$linkmode,$pass"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs=$tmp_deplibs + fi + + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs + deplibs= + fi + if test prog = "$linkmode"; then + case $pass in + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test lib,dlpreopen = "$linkmode,$pass"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs=$dlprefiles + fi + if test dlopen = "$pass"; then + # Collect dlpreopened libraries + save_deplibs=$deplibs + deplibs= + fi + + for deplib in $libs; do + lib= + found=false + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test lib = "$linkmode"; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib=$searchdir/lib$name$search_ext + if test -f "$lib"; then + if test .la = "$search_ext"; then + found=: + else + found=false + fi + break 2 + fi + done + done + if $found; then + # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll=$l + done + if test "X$ll" = "X$old_library"; then # only static version available + found=false + func_dirname "$lib" "" "." + ladir=$func_dirname_result + lib=$ladir/$old_library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + *.ltframework) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test conv = "$pass" && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + if test scan = "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "'-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test link = "$pass"; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=false + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=: + fi + ;; + pass_all) + valid_a_lib=: + ;; + esac + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + fi + ;; + esac + continue + ;; + prog) + if test link != "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=: + continue + ;; + esac # case $deplib + + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "'$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir=$func_dirname_result + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test conv = "$pass"; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" + fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib=$l + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + + # This library was specified with -dlopen. + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" + if test -z "$dlname" || + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of '$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir=$ladir + fi + ;; + esac + func_basename "$lib" + laname=$func_basename_result + + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir + else + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir + fi + test yes = "$hardcode_automatic" && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir=$ladir + absdir=$abs_ladir + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" + fi + case $host in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test lib = "$linkmode"; then + deplibs="$dir/$old_library $deplibs" + elif test prog,link = "$linkmode,$pass"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test prog = "$linkmode" && test link != "$pass"; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if $linkalldeplibs; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test prog,link = "$linkmode,$pass"; then + if test -n "$library_names" && + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then + # Make sure the rpath contains only unique directories. + case $temp_rpath: in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test built = "$use_static_libs" && test yes = "$installed"; then + use_static_libs=no + fi + if test -n "$library_names" && + { test no = "$use_static_libs" || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc* | *os2*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test no = "$installed"; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule= + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule=$dlpremoduletest + break + fi + done + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then + echo + if test prog = "$linkmode"; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname=$1 + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname=$dlname + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc* | *os2*) + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + esac + eval soname=\"$soname_spec\" + else + soname=$realname + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot=$soname + func_basename "$soroot" + soname=$func_basename_result + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from '$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for '$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test prog = "$linkmode" || test relink != "$opt_mode"; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test no = "$hardcode_direct"; then + add=$dir/$linklib + case $host in + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir=-L$dir ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we cannot + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library"; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add=$dir/$old_library + fi + elif test -n "$old_library"; then + add=$dir/$old_library + fi + fi + esac + elif test no = "$hardcode_minus_L"; then + case $host in + *-*-sunos*) add_shlibpath=$dir ;; + esac + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + relink) + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test yes != "$lib_linked"; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test prog = "$linkmode"; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test prog = "$linkmode" || test relink = "$opt_mode"; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add=-l$name + elif test yes = "$hardcode_automatic"; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib + else + add=$libdir/$linklib + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir=-L$libdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + fi + + if test prog = "$linkmode"; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test prog = "$linkmode"; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test yes = "$build_libtool_libs"; then + # Not a shared library + if test pass_all != "$deplibs_check_method"; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system cannot link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test yes = "$module"; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test lib = "$linkmode"; then + if test -n "$dependency_libs" && + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs=$temp_deplibs + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test no != "$link_all_deplibs"; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path=$deplib ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" + path= + fi + fi + ;; + *) + path=-L$absdir/$objdir + ;; + esac + else + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test link = "$pass"; then + if test prog = "$linkmode"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test dlopen != "$pass"; then + test conv = "$pass" || { + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + } + + if test prog,link = "$linkmode,$pass"; then + vars="compile_deplibs finalize_deplibs" + else + vars=deplibs + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i= + ;; + esac + if test -n "$i"; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test prog = "$linkmode"; then + dlfiles=$newdlfiles + fi + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "'-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "'-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs=$output + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form 'libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" + + if test no != "$need_lib_prefix"; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" + + install_libdir=$1 + + oldlibs= + if test -z "$rpath"; then + if test yes = "$build_libtool_libs"; then + # Building a libtool convenience library. + # Some compilers have problems with a '.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "'-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs=$IFS; IFS=: + set dummy $vinfo 0 0 0 + shift + IFS=$save_ifs + + test -n "$7" && \ + func_fatal_help "too many parameters to '-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major=$1 + number_minor=$2 + number_revision=$3 + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # that has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_revision + ;; + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_minor + lt_irix_increment=no + ;; + esac + ;; + no) + current=$1 + revision=$2 + age=$3 + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac + ;; + + freebsd-aout) + major=.$current + versuffix=.$current.$revision + ;; + + freebsd-elf | midnightbsd-elf) + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + irix | nonstopux) + if test no = "$lt_irix_increment"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring=$verstring_prefix$major.$revision + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test 0 -ne "$loop"; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring_prefix$major.$iface:$verstring + done + + # Before this point, $major must not contain '.'. + major=.$major + versuffix=$major.$revision + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision + + # Add in all the interfaces that we are compatible with. + loop=$age + while test 0 -ne "$loop"; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring:$iface.0 + done + + # Make executables depend on our current version. + func_append verstring ":$current.0" + ;; + + qnx) + major=.$current + versuffix=.$current + ;; + + sco) + major=.$current + versuffix=.$current + ;; + + sunos) + major=.$current + versuffix=.$current.$revision + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 file systems. + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + + *) + func_fatal_configuration "unknown library version type '$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring=0.0 + ;; + esac + if test no = "$need_version"; then + versuffix= + else + versuffix=.0.0 + fi + fi + + # Remove version info from name if versioning should be avoided + if test yes,no = "$avoid_version,$need_version"; then + major= + versuffix= + verstring= + fi + + # Check to see if the archive will have undefined symbols. + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi + fi + else + # Don't allow undefined symbols. + allow_undefined_flag=$no_undefined_flag + fi + + fi + + func_generate_dlsyms "$libname" "$libname" : + func_append libobjs " $symfileobj" + test " " = "$libobjs" && libobjs= + + if test relink != "$opt_mode"; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles=$dlfiles + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles=$dlprefiles + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test yes = "$build_libtool_libs"; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test yes = "$build_libtool_need_lc"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release= + versuffix= + major= + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c <<EOF + int main() { return 0; } +EOF + $opt_dry_run || $RM conftest + if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then + ldd_output=`ldd conftest` + for i in $deplibs; do + case $i in + -l*) + func_stripname -l '' "$i" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $i "*) + func_append newdeplibs " $i" + i= + ;; + esac + fi + if test -n "$i"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` + set dummy $deplib_matches; shift + deplib_match=$1 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then + func_append newdeplibs " $i" + else + droppeddeps=yes + echo + $ECHO "*** Warning: dynamic linker does not accept needed library $i." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which I believe you do not have" + echo "*** because a test_compile did reveal that the linker did not use it for" + echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + fi + ;; + *) + func_append newdeplibs " $i" + ;; + esac + done + else + # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do + case $i in + -l*) + func_stripname -l '' "$i" + name=$func_stripname_result + $opt_dry_run || $RM conftest + if $LTCC $LTCFLAGS -o conftest conftest.c $i; then + ldd_output=`ldd conftest` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $i "*) + func_append newdeplibs " $i" + i= + ;; + esac + fi + if test -n "$i"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` + set dummy $deplib_matches; shift + deplib_match=$1 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then + func_append newdeplibs " $i" + else + droppeddeps=yes + echo + $ECHO "*** Warning: dynamic linker does not accept needed library $i." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because a test_compile did reveal that the linker did not use this one" + echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi + fi + else + droppeddeps=yes + echo + $ECHO "*** Warning! Library $i is needed by this library but I was not able to" + echo "*** make it link in! You will probably need to install it or some" + echo "*** library that it depends on before this library will be fully" + echo "*** functional. Installing it before continuing would be even better." + fi + ;; + *) + func_append newdeplibs " $i" + ;; + esac + done + fi + ;; + file_magic*) + set dummy $deplibs_check_method; shift + file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + if test -n "$file_magic_glob"; then + libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` + else + libnameglob=$libname + fi + test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + if test yes = "$want_nocaseglob"; then + shopt -s nocaseglob + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib=$potent_lib + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib=$potent_lib # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs= + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test none = "$deplibs_check_method"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test yes = "$droppeddeps"; then + if test yes = "$module"; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test no = "$allow_undefined"; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs=$new_libs + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test yes = "$hardcode_into_libs"; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname=$1 + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname=$realname + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib=$output_objdir/$realname + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + func_dll_def_p "$export_symbols" || { + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols=$export_symbols + export_symbols= + always_export_symbols=yes + } + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs=$IFS; IFS='~' + for cmd1 in $cmds; do + IFS=$save_ifs + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test yes = "$try_normal_branch" \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=$output_objdir/$output_la.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs=$tmp_deplibs + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test yes = "$compiler_needs_object" && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test : != "$skipped_export" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test yes = "$compiler_needs_object"; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-$k.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test -z "$objlist" || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test 1 -eq "$k"; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-$k.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-$k.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + } + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs=$IFS; IFS='~' + for cmd in $concat_cmds; do + IFS=$save_ifs + $opt_quiet || { + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + ${skipped_export-false} && { + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + } + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs=$IFS; IFS='~' + for cmd in $cmds; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + $opt_quiet || { + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test yes = "$module" || test yes = "$export_dynamic"; then + # On all known operating systems, these are identical. + dlname=$soname + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "'-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object '$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj=$output + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags + else + gentop=$output_objdir/${obj}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects + + # Create the old-style object. + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs + + output=$obj + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + test yes = "$build_libtool_libs" || { + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + } + + if test -n "$pic_flag" || test default != "$pic_mode"; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output=$libobj + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "'-release' is ignored for programs" + + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test CXX = "$tagname"; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs=$new_libs + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath=$rpath + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath=$rpath + + if test -n "$libobjs" && test yes = "$build_old_libs"; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" false + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=: + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=false + ;; + *cygwin* | *mingw* ) + test yes = "$build_libtool_libs" || wrappers_required=false + ;; + *) + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false + fi + ;; + esac + $wrappers_required || { + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command=$compile_command$compile_rpath + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' + fi + + exit $exit_status + } + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test yes = "$no_install"; then + # We don't need to create a wrapper script. + link_command=$compile_var$compile_command$compile_rpath + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" + fi + done + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host"; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience + build_libtool_libs=no + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) + oldobjs="$old_deplibs $non_pic_objects" + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac + + if test -n "$addlibs"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase=$func_basename_result + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj"; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test -z "$oldobjs"; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test yes = "$build_old_libs" && old_library=$libname.$libext + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result + if test yes = "$hardcode_automatic"; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test yes = "$installed"; then + if test -z "$install_libdir"; then + break + fi + output=$output_objdir/${outputname}i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name=$func_basename_result + func_resolve_sysroot "$deplib" + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs=$newdependency_libs + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles=$newdlprefiles + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles=$newdlprefiles + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test -n "$bindir"; then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result/$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test no,yes = "$installed,$need_relink"; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $debug_cmd + + RM=$nonopt + files= + rmforce=false + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=: ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir + else + odir=$dir/$objdir + fi + func_basename "$file" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir + + # Remember odir for removal later, being careful to avoid duplicates + if test clean = "$opt_mode"; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif $rmforce; then + continue + fi + + rmfiles=$file + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case $opt_mode in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && test none != "$pic_object"; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && test none != "$non_pic_object"; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test clean = "$opt_mode"; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the $objdir's in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi + +test -z "$opt_mode" && { + help=$generic_help + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode '$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# where we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/ltmain.sh b/BUILD/libtool-2.4.7/build-aux/ltmain.sh new file mode 100644 index 0000000..2a50d7f --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/ltmain.sh @@ -0,0 +1,11436 @@ +#! /usr/bin/env sh +## DO NOT EDIT - This file generated from ./build-aux/ltmain.in +## by inline-source v2019-02-19.15 + +# libtool (GNU libtool) 2.4.7 +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 + +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +PROGRAM=libtool +PACKAGE=libtool +VERSION=2.4.7 +package_revision=2.4.7 + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues> + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac +fi + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" + fi" +done +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ + else + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () +{ + $debug_cmd + + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break + fi + + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS + ;; + *) ;; + esac + break + done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac +} + + +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi + + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; + esac + + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result + ;; + esac +} + + +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues> + +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# Copyright'. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug in processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# in the main code. A hook is just a list of function names that can be +# run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It's assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook functions." ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi + done +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '<hooked_function_name>_result', escaped +# suitably for 'eval'. +# +# The '<hooked_function_name>_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# args_changed=false +# +# # Note that, for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: +# args_changed=: +# ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# args_changed=: +# ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; +# esac +# done +# +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll also need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + _G_options_quoted=false + + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done + + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propagate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + func_propagate_result func_run_hooks func_options_prep +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + _G_parse_options_requote=false + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" >&2 + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) _G_parse_options_requote=: ; break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; + esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi + done + + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $debug_cmd + + func_error "Missing argument for '$1'." + exit_cmd=exit +} + + +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs=" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk + } + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt + } + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: + +# Set a version string. +scriptversion='(GNU libtool) 2.4.7' + + +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + $debug_cmd + + $warning_func ${1+"$@"} +} + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname (GNU libtool) 2.4.7 + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to <bug-libtool@gnu.org>. +GNU libtool home page: <http://www.gnu.org/software/libtool/>. +General help using GNU software: <http://www.gnu.org/gethelp/>." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi + + +# func_fatal_configuration ARG... +# ------------------------------- +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func_fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." +} + + +# func_config +# ----------- +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + + +# func_features +# ------------- +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test yes = "$build_libtool_libs"; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test yes = "$build_old_libs"; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + + +# func_enable_tag TAGNAME +# ----------------------- +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname=$1 + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + + +# func_check_version_match +# ------------------------ +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + + nonopt= + preserve_args= + + _G_rc_lt_options_prep=: + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + *) + _G_rc_lt_options_prep=false + ;; + esac + + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi +} +func_add_hook func_options_prep libtool_options_prep + + +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd + + _G_rc_lt_parse_options=false + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_match_lt_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; + esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: + done + + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi +} +func_add_hook func_parse_options libtool_parse_options + + + +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } + + # Pass back the unparsed argument list + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result +} +func_add_hook func_validate_options libtool_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + + +## ----------- ## +## Main. ## +## ----------- ## + +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if 'file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case $lalib_p_line in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test yes = "$lalib_p" +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $debug_cmd + + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# 'FILE.' does not work on cygwin managed mounts. +func_source () +{ + $debug_cmd + + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case $lt_sysroot:$1 in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result='='$func_stripname_result + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $debug_cmd + + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with '--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' + else + write_lobj=none + fi + + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T <<EOF +# $write_libobj - a libtool object file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object=$write_lobj + +# Name of the non-PIC object +non_pic_object=$write_oldobj + +EOF + $MV "${write_libobj}T" "$write_libobj" + } +} + + +################################################## +# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS # +################################################## + +# func_convert_core_file_wine_to_w32 ARG +# Helper function used by file name conversion functions when $build is *nix, +# and $host is mingw, cygwin, or some other w32 environment. Relies on a +# correctly configured wine environment available, with the winepath program +# in $build's $PATH. +# +# ARG is the $build file name to be converted to w32 format. +# Result is available in $func_convert_core_file_wine_to_w32_result, and will +# be empty on error (or when ARG is empty) +func_convert_core_file_wine_to_w32 () +{ + $debug_cmd + + func_convert_core_file_wine_to_w32_result=$1 + if test -n "$1"; then + # Unfortunately, winepath does not exit with a non-zero error code, so we + # are forced to check the contents of stdout. On the other hand, if the + # command is not found, the shell will set an exit code of 127 and print + # *an error message* to stdout. So we must check for both error code of + # zero AND non-empty stdout, which explains the odd construction: + func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null` + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $debug_cmd + + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result= + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result"; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $debug_cmd + + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $debug_cmd + + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $debug_cmd + + if test -z "$2" && test -n "$1"; then + func_error "Could not determine host file name corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result=$1 + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $debug_cmd + + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " '$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result=$3 + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $debug_cmd + + case $4 in + $1 ) func_to_host_path_result=$3$func_to_host_path_result + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via '$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $debug_cmd + + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $debug_cmd + + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result=$1 +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result=$func_convert_core_msys_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via '$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $debug_cmd + + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd=func_convert_path_$func_stripname_result + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $debug_cmd + + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result=$1 +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_msys_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + +# func_mode_compile arg... +func_mode_compile () +{ + $debug_cmd + + # Get the compilation command and the source file. + base_compile= + srcfile=$nonopt # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg=$arg + arg_mode=normal + ;; + + target ) + libobj=$arg + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify '-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs=$IFS; IFS=, + for arg in $args; do + IFS=$save_ifs + func_append_quoted lastarg "$arg" + done + IFS=$save_ifs + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg=$srcfile + srcfile=$arg + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with '-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj=$func_basename_result + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from '$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name '$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test yes = "$build_old_libs"; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test yes = "$need_locks"; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test warn = "$need_locks"; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result + + # Only build a PIC object if we are building libtool libraries. + if test yes = "$build_libtool_libs"; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test no != "$pic_mode"; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test yes = "$suppress_opt"; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test yes = "$compiler_c_o"; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test no != "$need_locks"; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a 'standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to '-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the '--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the 'install' or 'cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with '-') are ignored. + +Every other argument is treated as a filename. Files ending in '.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. + +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode '$opt_mode'" + ;; + esac + + echo + $ECHO "Try '$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test : = "$opt_help"; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + $SED '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $debug_cmd + + # The first argument is the command name. + cmd=$nonopt + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "'$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "'$file' was not linked with '-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir=$func_dirname_result + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir=$func_dirname_result + ;; + + *) + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir=$absdir + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic=$magic + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file=$progdir/$program + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file=$progdir/$program + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd=\$cmd$args + fi +} + +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $debug_cmd + + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "'$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument '$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and '=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_quiet && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the '$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the '$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the '$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $debug_cmd + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac + then + # Aesthetically quote it. + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=false + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=: ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" + if test -n "$arg2"; then + func_quote_arg pretty "$arg2" + fi + func_append install_shared_prog " $func_quote_arg_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the '$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir=$func_dirname_result + destname=$func_basename_result + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "'$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "'$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir=$func_dirname_result + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking '$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname=$1 + shift + + srcname=$realname + test -n "$relink_command" && srcname=${realname}T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme=$stripme + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try 'ln -sf' first, because the 'ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib=$destdir/$realname + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name=$func_basename_result + instname=$dir/${name}i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest=$destfile + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to '$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test yes = "$build_old_libs"; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext= + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=.exe + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script '$wrapper'" + + finalize=: + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test no = "$fast_install" && test -n "$relink_command"; then + $opt_dry_run || { + if $finalize; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file=$func_basename_result + outputname=$tmpdir/$file + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_quiet || { + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink '$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file=$outputname + else + func_warning "cannot relink '$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name=$func_basename_result + + # Set up the ranlib parameters. + oldlib=$destdir/$name + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run '$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test install = "$opt_mode" && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms=${my_outputname}S.c + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist=$output_objdir/$my_outputname.nm + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* External symbol declarations for the compiler. */\ +" + + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols=$output_objdir/$outputname.exp + $opt_dry_run || { + $RM $export_symbols + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from '$dlprefile'" + func_basename "$dlprefile" + name=$func_basename_result + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename= + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname"; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename=$func_basename_result + else + # no lafile. user explicitly requested -dlpreopen <import library>. + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename"; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 </dev/null >/dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + $my_pic_p && pic_flag_for_symtable=" $pic_flag" + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' + + # Transform the symbol file into the correct name. + symfileobj=$output_objdir/${my_outputname}S.$objext + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for '$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $debug_cmd + + win32_libid_type=unknown + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s|.*|import| + p + q + } + }'` + ;; + esac + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $debug_cmd + + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $debug_cmd + + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1"; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result= + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test yes = "$lock_old_archive_extraction"; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $debug_cmd + + my_gentop=$1; shift + my_oldlibs=${1+"$@"} + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib=$func_basename_result + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" + cd "$darwin_curdir" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result=$my_oldobjs +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory where it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=$qECHO + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test yes = "$fast_install"; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + \$ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat <<EOF + +/* $cwrappersource - temporary wrapper executable for $objdir/$outputname + Generated by $PROGRAM (GNU $PACKAGE) $VERSION + + The $output program cannot be directly executed until all the libtool + libraries that it depends on are installed. + + This wrapper executable should never be moved out of the build directory. + If it is, it will not operate correctly. +*/ +EOF + cat <<"EOF" +#ifdef _MSC_VER +# define _CRT_SECURE_NO_DEPRECATE 1 +#endif +#include <stdio.h> +#include <stdlib.h> +#ifdef _MSC_VER +# include <direct.h> +# include <process.h> +# include <io.h> +#else +# include <unistd.h> +# include <stdint.h> +# ifdef __CYGWIN__ +# include <io.h> +# endif +#endif +#include <malloc.h> +#include <stdarg.h> +#include <assert.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <sys/stat.h> + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* declarations of non-ANSI functions */ +#if defined __MINGW32__ +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined __CYGWIN__ +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined other_platform || defined ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined _MSC_VER +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +#elif defined __MINGW32__ +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined __CYGWIN__ +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined other platforms ... */ +#endif + +#if defined PATH_MAX +# define LT_PATHMAX PATH_MAX +#elif defined MAXPATHLEN +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free (stale); stale = 0; } \ +} while (0) + +#if defined LT_DEBUGWRAPPER +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <<EOF +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +# define externally_visible volatile +#else +# define externally_visible __attribute__((externally_visible)) volatile +#endif +externally_visible const char * MAGIC_EXE = "$magic_exe"; +const char * LIB_PATH_VARNAME = "$shlibpath_var"; +EOF + + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + func_to_host_path "$temp_rpath" + cat <<EOF +const char * LIB_PATH_VALUE = "$func_to_host_path_result"; +EOF + else + cat <<"EOF" +const char * LIB_PATH_VALUE = ""; +EOF + fi + + if test -n "$dllsearchpath"; then + func_to_host_path "$dllsearchpath:" + cat <<EOF +const char * EXE_PATH_VARNAME = "PATH"; +const char * EXE_PATH_VALUE = "$func_to_host_path_result"; +EOF + else + cat <<"EOF" +const char * EXE_PATH_VARNAME = ""; +const char * EXE_PATH_VALUE = ""; +EOF + fi + + if test yes = "$fast_install"; then + cat <<EOF +const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ +EOF + else + cat <<EOF +const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ +EOF + fi + + + cat <<"EOF" + +#define LTWRAPPER_OPTION_PREFIX "--lt-" + +static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; +static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; +static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug"; + +int +main (int argc, char *argv[]) +{ + char **newargz; + int newargc; + char *tmp_pathspec; + char *actual_cwrapper_path; + char *actual_cwrapper_name; + char *target_name; + char *lt_argv_zero; + int rval = 127; + + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + newargz = XMALLOC (char *, (size_t) argc + 1); + + /* very simple arg parsing; don't want to rely on getopt + * also, copy all non cwrapper options to newargz, except + * argz[0], which is handled differently + */ + newargc=0; + for (i = 1; i < argc; i++) + { + if (STREQ (argv[i], dumpscript_opt)) + { +EOF + case $host in + *mingw* | *cygwin* ) + # make stdout use "unix" line endings + echo " setmode(1,_O_BINARY);" + ;; + esac + + cat <<"EOF" + lt_dump_script (stdout); + return 0; + } + if (STREQ (argv[i], debug_opt)) + { + lt_debug = 1; + continue; + } + if (STREQ (argv[i], ltwrapper_option_prefix)) + { + /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX + namespace, but it is not one of the ones we know about and + have already dealt with, above (inluding dump-script), then + report an error. Otherwise, targets might begin to believe + they are allowed to use options in the LTWRAPPER_OPTION_PREFIX + namespace. The first time any user complains about this, we'll + need to make LTWRAPPER_OPTION_PREFIX a configure-time option + or a configure.ac-settable value. + */ + lt_fatal (__FILE__, __LINE__, + "unrecognized %s option: '%s'", + ltwrapper_option_prefix, argv[i]); + } + /* otherwise ... */ + newargz[++newargc] = xstrdup (argv[i]); + } + newargz[++newargc] = NULL; + +EOF + cat <<EOF + /* The GNU banner must be the first non-error debug message */ + lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n"); +EOF + cat <<"EOF" + lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]); + lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name); + + tmp_pathspec = find_executable (argv[0]); + if (tmp_pathspec == NULL) + lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]); + lt_debugprintf (__FILE__, __LINE__, + "(main) found exe (before symlink chase) at: %s\n", + tmp_pathspec); + + actual_cwrapper_path = chase_symlinks (tmp_pathspec); + lt_debugprintf (__FILE__, __LINE__, + "(main) found exe (after symlink chase) at: %s\n", + actual_cwrapper_path); + XFREE (tmp_pathspec); + + actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path)); + strendzap (actual_cwrapper_path, actual_cwrapper_name); + + /* wrapper name transforms */ + strendzap (actual_cwrapper_name, ".exe"); + tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); + XFREE (actual_cwrapper_name); + actual_cwrapper_name = tmp_pathspec; + tmp_pathspec = 0; + + /* target_name transforms -- use actual target program name; might have lt- prefix */ + target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); + strendzap (target_name, ".exe"); + tmp_pathspec = lt_extend_str (target_name, ".exe", 1); + XFREE (target_name); + target_name = tmp_pathspec; + tmp_pathspec = 0; + + lt_debugprintf (__FILE__, __LINE__, + "(main) libtool target name: %s\n", + target_name); +EOF + + cat <<EOF + newargz[0] = + XMALLOC (char, (strlen (actual_cwrapper_path) + + strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); + strcpy (newargz[0], actual_cwrapper_path); + strcat (newargz[0], "$objdir"); + strcat (newargz[0], "/"); +EOF + + cat <<"EOF" + /* stop here, and copy so we don't have to do this twice */ + tmp_pathspec = xstrdup (newargz[0]); + + /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ + strcat (newargz[0], actual_cwrapper_name); + + /* DO want the lt- prefix here if it exists, so use target_name */ + lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); + XFREE (tmp_pathspec); + tmp_pathspec = NULL; +EOF + + case $host_os in + mingw*) + cat <<"EOF" + { + char* p; + while ((p = strchr (newargz[0], '\\')) != NULL) + { + *p = '/'; + } + while ((p = strchr (lt_argv_zero, '\\')) != NULL) + { + *p = '/'; + } + } +EOF + ;; + esac + + cat <<"EOF" + XFREE (target_name); + XFREE (actual_cwrapper_path); + XFREE (actual_cwrapper_name); + + lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ + lt_setenv ("DUALCASE", "1"); /* for MSK sh */ + /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must + be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath) + because on Windows, both *_VARNAMEs are PATH but uninstalled + libraries must come first. */ + lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); + lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); + + lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n", + nonnull (lt_argv_zero)); + for (i = 0; i < newargc; i++) + { + lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", + i, nonnull (newargz[i])); + } + +EOF + + case $host_os in + mingw*) + cat <<"EOF" + /* execv doesn't actually work on mingw as expected on unix */ + newargz = prepare_spawn (newargz); + rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); + if (rval == -1) + { + /* failed to start process */ + lt_debugprintf (__FILE__, __LINE__, + "(main) failed to launch target \"%s\": %s\n", + lt_argv_zero, nonnull (strerror (errno))); + return 127; + } + return rval; +EOF + ;; + *) + cat <<"EOF" + execv (lt_argv_zero, newargz); + return rval; /* =127, but avoids unused variable warning */ +EOF + ;; + esac + + cat <<"EOF" +} + +void * +xmalloc (size_t num) +{ + void *p = (void *) malloc (num); + if (!p) + lt_fatal (__FILE__, __LINE__, "memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), + string) : NULL; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined HAVE_DOS_BASED_FILE_SYSTEM + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char) name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable (const char *path) +{ + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + size_t tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined HAVE_DOS_BASED_FILE_SYSTEM + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined HAVE_DOS_BASED_FILE_SYSTEM + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = (size_t) (q - p); + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (STREQ (str, pat)) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + size_t len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + size_t orig_value_len = strlen (orig_value); + size_t add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[--len] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $debug_cmd + + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $debug_cmd + + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # what system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll that has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + os2dllname= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=false + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module=$wl-single_module + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg=$1 + shift + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir=$arg + prev= + continue + ;; + dlfiles|dlprefiles) + $preload || { + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=: + } + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test no = "$dlself"; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test dlprefiles = "$prev"; then + dlself=yes + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test dlfiles = "$prev"; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols=$arg + test -f "$arg" \ + || func_fatal_error "symbol file '$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex=$arg + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + if test none != "$pic_object"; then + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + fi + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file '$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; + precious_regex) + precious_files_regex=$arg + prev= + continue + ;; + release) + release=-$arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test rpath = "$prev"; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds=$arg + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg=$arg + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "'-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test X-export-symbols = "X$arg"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between '-L' and '$1'" + else + func_fatal_error "need path for '-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test X-lc = "X$arg" || test X-lm = "X$arg"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test X-lc = "X$arg" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + # Do not include libc due to us having libc/libc_r. + test X-lc = "X$arg" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test X-lc = "X$arg" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test X-lc = "X$arg" && continue + ;; + esac + elif test X-lc_r = "X$arg"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -mllvm) + prev=mllvm + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module=$wl-multi_module + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -os2dllname) + prev=os2dllname + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xassembler) + prev=xassembler + continue + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files + # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -Wa,* Pass flags directly to the assembler + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + fi + ;; + + # Some other compiler flag. + -* | +*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + test none = "$pic_object" || { + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + } + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test dlfiles = "$prev"; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test dlprefiles = "$prev"; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the '$prevarg' option requires an argument" + + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname=$func_basename_result + libobjs_save=$libobjs + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + + func_dirname "$output" "/" "" + output_objdir=$func_dirname_result$objdir + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test lib = "$linkmode"; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=false + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test lib,link = "$linkmode,$pass"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs=$tmp_deplibs + fi + + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs + deplibs= + fi + if test prog = "$linkmode"; then + case $pass in + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test lib,dlpreopen = "$linkmode,$pass"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs=$dlprefiles + fi + if test dlopen = "$pass"; then + # Collect dlpreopened libraries + save_deplibs=$deplibs + deplibs= + fi + + for deplib in $libs; do + lib= + found=false + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test lib = "$linkmode"; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib=$searchdir/lib$name$search_ext + if test -f "$lib"; then + if test .la = "$search_ext"; then + found=: + else + found=false + fi + break 2 + fi + done + done + if $found; then + # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll=$l + done + if test "X$ll" = "X$old_library"; then # only static version available + found=false + func_dirname "$lib" "" "." + ladir=$func_dirname_result + lib=$ladir/$old_library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + *.ltframework) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test conv = "$pass" && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + if test scan = "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "'-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test link = "$pass"; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=false + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=: + fi + ;; + pass_all) + valid_a_lib=: + ;; + esac + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + fi + ;; + esac + continue + ;; + prog) + if test link != "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=: + continue + ;; + esac # case $deplib + + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "'$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir=$func_dirname_result + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test conv = "$pass"; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" + fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib=$l + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + + # This library was specified with -dlopen. + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" + if test -z "$dlname" || + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of '$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir=$ladir + fi + ;; + esac + func_basename "$lib" + laname=$func_basename_result + + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir + else + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir + fi + test yes = "$hardcode_automatic" && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir=$ladir + absdir=$abs_ladir + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" + fi + case $host in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test lib = "$linkmode"; then + deplibs="$dir/$old_library $deplibs" + elif test prog,link = "$linkmode,$pass"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test prog = "$linkmode" && test link != "$pass"; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if $linkalldeplibs; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test prog,link = "$linkmode,$pass"; then + if test -n "$library_names" && + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then + # Make sure the rpath contains only unique directories. + case $temp_rpath: in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test built = "$use_static_libs" && test yes = "$installed"; then + use_static_libs=no + fi + if test -n "$library_names" && + { test no = "$use_static_libs" || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc* | *os2*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test no = "$installed"; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule= + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule=$dlpremoduletest + break + fi + done + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then + echo + if test prog = "$linkmode"; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname=$1 + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname=$dlname + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc* | *os2*) + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + esac + eval soname=\"$soname_spec\" + else + soname=$realname + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot=$soname + func_basename "$soroot" + soname=$func_basename_result + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from '$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for '$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test prog = "$linkmode" || test relink != "$opt_mode"; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test no = "$hardcode_direct"; then + add=$dir/$linklib + case $host in + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir=-L$dir ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we cannot + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library"; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add=$dir/$old_library + fi + elif test -n "$old_library"; then + add=$dir/$old_library + fi + fi + esac + elif test no = "$hardcode_minus_L"; then + case $host in + *-*-sunos*) add_shlibpath=$dir ;; + esac + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + relink) + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test yes != "$lib_linked"; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test prog = "$linkmode"; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test prog = "$linkmode" || test relink = "$opt_mode"; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add=-l$name + elif test yes = "$hardcode_automatic"; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib + else + add=$libdir/$linklib + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir=-L$libdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + fi + + if test prog = "$linkmode"; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test prog = "$linkmode"; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test yes = "$build_libtool_libs"; then + # Not a shared library + if test pass_all != "$deplibs_check_method"; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system cannot link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test yes = "$module"; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test lib = "$linkmode"; then + if test -n "$dependency_libs" && + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs=$temp_deplibs + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test no != "$link_all_deplibs"; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path=$deplib ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" + path= + fi + fi + ;; + *) + path=-L$absdir/$objdir + ;; + esac + else + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test link = "$pass"; then + if test prog = "$linkmode"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test dlopen != "$pass"; then + test conv = "$pass" || { + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + } + + if test prog,link = "$linkmode,$pass"; then + vars="compile_deplibs finalize_deplibs" + else + vars=deplibs + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i= + ;; + esac + if test -n "$i"; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test prog = "$linkmode"; then + dlfiles=$newdlfiles + fi + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "'-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "'-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs=$output + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form 'libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" + + if test no != "$need_lib_prefix"; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" + + install_libdir=$1 + + oldlibs= + if test -z "$rpath"; then + if test yes = "$build_libtool_libs"; then + # Building a libtool convenience library. + # Some compilers have problems with a '.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "'-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs=$IFS; IFS=: + set dummy $vinfo 0 0 0 + shift + IFS=$save_ifs + + test -n "$7" && \ + func_fatal_help "too many parameters to '-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major=$1 + number_minor=$2 + number_revision=$3 + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # that has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_revision + ;; + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_minor + lt_irix_increment=no + ;; + esac + ;; + no) + current=$1 + revision=$2 + age=$3 + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac + ;; + + freebsd-aout) + major=.$current + versuffix=.$current.$revision + ;; + + freebsd-elf | midnightbsd-elf) + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + irix | nonstopux) + if test no = "$lt_irix_increment"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring=$verstring_prefix$major.$revision + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test 0 -ne "$loop"; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring_prefix$major.$iface:$verstring + done + + # Before this point, $major must not contain '.'. + major=.$major + versuffix=$major.$revision + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision + + # Add in all the interfaces that we are compatible with. + loop=$age + while test 0 -ne "$loop"; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring:$iface.0 + done + + # Make executables depend on our current version. + func_append verstring ":$current.0" + ;; + + qnx) + major=.$current + versuffix=.$current + ;; + + sco) + major=.$current + versuffix=.$current + ;; + + sunos) + major=.$current + versuffix=.$current.$revision + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 file systems. + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + + *) + func_fatal_configuration "unknown library version type '$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring=0.0 + ;; + esac + if test no = "$need_version"; then + versuffix= + else + versuffix=.0.0 + fi + fi + + # Remove version info from name if versioning should be avoided + if test yes,no = "$avoid_version,$need_version"; then + major= + versuffix= + verstring= + fi + + # Check to see if the archive will have undefined symbols. + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi + fi + else + # Don't allow undefined symbols. + allow_undefined_flag=$no_undefined_flag + fi + + fi + + func_generate_dlsyms "$libname" "$libname" : + func_append libobjs " $symfileobj" + test " " = "$libobjs" && libobjs= + + if test relink != "$opt_mode"; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles=$dlfiles + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles=$dlprefiles + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test yes = "$build_libtool_libs"; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test yes = "$build_libtool_need_lc"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release= + versuffix= + major= + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c <<EOF + int main() { return 0; } +EOF + $opt_dry_run || $RM conftest + if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then + ldd_output=`ldd conftest` + for i in $deplibs; do + case $i in + -l*) + func_stripname -l '' "$i" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $i "*) + func_append newdeplibs " $i" + i= + ;; + esac + fi + if test -n "$i"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` + set dummy $deplib_matches; shift + deplib_match=$1 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then + func_append newdeplibs " $i" + else + droppeddeps=yes + echo + $ECHO "*** Warning: dynamic linker does not accept needed library $i." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which I believe you do not have" + echo "*** because a test_compile did reveal that the linker did not use it for" + echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + fi + ;; + *) + func_append newdeplibs " $i" + ;; + esac + done + else + # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do + case $i in + -l*) + func_stripname -l '' "$i" + name=$func_stripname_result + $opt_dry_run || $RM conftest + if $LTCC $LTCFLAGS -o conftest conftest.c $i; then + ldd_output=`ldd conftest` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $i "*) + func_append newdeplibs " $i" + i= + ;; + esac + fi + if test -n "$i"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` + set dummy $deplib_matches; shift + deplib_match=$1 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then + func_append newdeplibs " $i" + else + droppeddeps=yes + echo + $ECHO "*** Warning: dynamic linker does not accept needed library $i." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because a test_compile did reveal that the linker did not use this one" + echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi + fi + else + droppeddeps=yes + echo + $ECHO "*** Warning! Library $i is needed by this library but I was not able to" + echo "*** make it link in! You will probably need to install it or some" + echo "*** library that it depends on before this library will be fully" + echo "*** functional. Installing it before continuing would be even better." + fi + ;; + *) + func_append newdeplibs " $i" + ;; + esac + done + fi + ;; + file_magic*) + set dummy $deplibs_check_method; shift + file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + if test -n "$file_magic_glob"; then + libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` + else + libnameglob=$libname + fi + test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + if test yes = "$want_nocaseglob"; then + shopt -s nocaseglob + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib=$potent_lib + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib=$potent_lib # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs= + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test none = "$deplibs_check_method"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test yes = "$droppeddeps"; then + if test yes = "$module"; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test no = "$allow_undefined"; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs=$new_libs + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test yes = "$hardcode_into_libs"; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname=$1 + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname=$realname + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib=$output_objdir/$realname + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + func_dll_def_p "$export_symbols" || { + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols=$export_symbols + export_symbols= + always_export_symbols=yes + } + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs=$IFS; IFS='~' + for cmd1 in $cmds; do + IFS=$save_ifs + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test yes = "$try_normal_branch" \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=$output_objdir/$output_la.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs=$tmp_deplibs + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test yes = "$compiler_needs_object" && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test : != "$skipped_export" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test yes = "$compiler_needs_object"; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-$k.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test -z "$objlist" || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test 1 -eq "$k"; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-$k.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-$k.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + } + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs=$IFS; IFS='~' + for cmd in $concat_cmds; do + IFS=$save_ifs + $opt_quiet || { + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + ${skipped_export-false} && { + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + } + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs=$IFS; IFS='~' + for cmd in $cmds; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + $opt_quiet || { + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test yes = "$module" || test yes = "$export_dynamic"; then + # On all known operating systems, these are identical. + dlname=$soname + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "'-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object '$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj=$output + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags + else + gentop=$output_objdir/${obj}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects + + # Create the old-style object. + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs + + output=$obj + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + test yes = "$build_libtool_libs" || { + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + } + + if test -n "$pic_flag" || test default != "$pic_mode"; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output=$libobj + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "'-release' is ignored for programs" + + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test CXX = "$tagname"; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs=$new_libs + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath=$rpath + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath=$rpath + + if test -n "$libobjs" && test yes = "$build_old_libs"; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" false + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=: + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=false + ;; + *cygwin* | *mingw* ) + test yes = "$build_libtool_libs" || wrappers_required=false + ;; + *) + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false + fi + ;; + esac + $wrappers_required || { + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command=$compile_command$compile_rpath + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' + fi + + exit $exit_status + } + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test yes = "$no_install"; then + # We don't need to create a wrapper script. + link_command=$compile_var$compile_command$compile_rpath + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" + fi + done + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host"; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience + build_libtool_libs=no + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) + oldobjs="$old_deplibs $non_pic_objects" + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac + + if test -n "$addlibs"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase=$func_basename_result + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj"; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test -z "$oldobjs"; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test yes = "$build_old_libs" && old_library=$libname.$libext + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result + if test yes = "$hardcode_automatic"; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test yes = "$installed"; then + if test -z "$install_libdir"; then + break + fi + output=$output_objdir/${outputname}i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name=$func_basename_result + func_resolve_sysroot "$deplib" + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs=$newdependency_libs + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles=$newdlprefiles + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles=$newdlprefiles + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test -n "$bindir"; then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result/$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test no,yes = "$installed,$need_relink"; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $debug_cmd + + RM=$nonopt + files= + rmforce=false + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=: ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir + else + odir=$dir/$objdir + fi + func_basename "$file" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir + + # Remember odir for removal later, being careful to avoid duplicates + if test clean = "$opt_mode"; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif $rmforce; then + continue + fi + + rmfiles=$file + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case $opt_mode in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && test none != "$pic_object"; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && test none != "$non_pic_object"; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test clean = "$opt_mode"; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the $objdir's in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi + +test -z "$opt_mode" && { + help=$generic_help + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode '$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# where we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/mdate-sh b/BUILD/libtool-2.4.7/build-aux/mdate-sh new file mode 100755 index 0000000..8d8bb37 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/mdate-sh @@ -0,0 +1,228 @@ +#!/bin/sh +# Get modification time of a file or directory and pretty-print it. + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1995-2022 Free Software Foundation, Inc. +# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +fi + +case $1 in + '') + echo "$0: No file. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: mdate-sh [--help] [--version] FILE + +Pretty-print the modification day of FILE, in the format: +1 January 1970 + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v | --v*) + echo "mdate-sh $scriptversion" + exit $? + ;; +esac + +error () +{ + echo "$0: $1" >&2 + exit 1 +} + + +# Prevent date giving response in another language. +LANG=C +export LANG +LC_ALL=C +export LC_ALL +LC_TIME=C +export LC_TIME + +# Use UTC to get reproducible result. +TZ=UTC0 +export TZ + +# GNU ls changes its time format in response to the TIME_STYLE +# variable. Since we cannot assume 'unset' works, revert this +# variable to its documented default. +if test "${TIME_STYLE+set}" = set; then + TIME_STYLE=posix-long-iso + export TIME_STYLE +fi + +save_arg1=$1 + +# Find out how to get the extended ls output of a file or directory. +if ls -L /dev/null 1>/dev/null 2>&1; then + ls_command='ls -L -l -d' +else + ls_command='ls -l -d' +fi +# Avoid user/group names that might have spaces, when possible. +if ls -n /dev/null 1>/dev/null 2>&1; then + ls_command="$ls_command -n" +fi + +# A 'ls -l' line looks as follows on OS/2. +# drwxrwx--- 0 Aug 11 2001 foo +# This differs from Unix, which adds ownership information. +# drwxrwx--- 2 root root 4096 Aug 11 2001 foo +# +# To find the date, we split the line on spaces and iterate on words +# until we find a month. This cannot work with files whose owner is a +# user named "Jan", or "Feb", etc. However, it's unlikely that '/' +# will be owned by a user whose name is a month. So we first look at +# the extended ls output of the root directory to decide how many +# words should be skipped to get the date. + +# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. +set x`$ls_command /` + +# Find which argument is the month. +month= +command= +until test $month +do + test $# -gt 0 || error "failed parsing '$ls_command /' output" + shift + # Add another shift to the command. + command="$command shift;" + case $1 in + Jan) month=January; nummonth=1;; + Feb) month=February; nummonth=2;; + Mar) month=March; nummonth=3;; + Apr) month=April; nummonth=4;; + May) month=May; nummonth=5;; + Jun) month=June; nummonth=6;; + Jul) month=July; nummonth=7;; + Aug) month=August; nummonth=8;; + Sep) month=September; nummonth=9;; + Oct) month=October; nummonth=10;; + Nov) month=November; nummonth=11;; + Dec) month=December; nummonth=12;; + esac +done + +test -n "$month" || error "failed parsing '$ls_command /' output" + +# Get the extended ls output of the file or directory. +set dummy x`eval "$ls_command \"\\\$save_arg1\""` + +# Remove all preceding arguments +eval $command + +# Because of the dummy argument above, month is in $2. +# +# On a POSIX system, we should have +# +# $# = 5 +# $1 = file size +# $2 = month +# $3 = day +# $4 = year or time +# $5 = filename +# +# On Darwin 7.7.0 and 7.6.0, we have +# +# $# = 4 +# $1 = day +# $2 = month +# $3 = year or time +# $4 = filename + +# Get the month. +case $2 in + Jan) month=January; nummonth=1;; + Feb) month=February; nummonth=2;; + Mar) month=March; nummonth=3;; + Apr) month=April; nummonth=4;; + May) month=May; nummonth=5;; + Jun) month=June; nummonth=6;; + Jul) month=July; nummonth=7;; + Aug) month=August; nummonth=8;; + Sep) month=September; nummonth=9;; + Oct) month=October; nummonth=10;; + Nov) month=November; nummonth=11;; + Dec) month=December; nummonth=12;; +esac + +case $3 in + ???*) day=$1;; + *) day=$3; shift;; +esac + +# Here we have to deal with the problem that the ls output gives either +# the time of day or the year. +case $3 in + *:*) set `date`; eval year=\$$# + case $2 in + Jan) nummonthtod=1;; + Feb) nummonthtod=2;; + Mar) nummonthtod=3;; + Apr) nummonthtod=4;; + May) nummonthtod=5;; + Jun) nummonthtod=6;; + Jul) nummonthtod=7;; + Aug) nummonthtod=8;; + Sep) nummonthtod=9;; + Oct) nummonthtod=10;; + Nov) nummonthtod=11;; + Dec) nummonthtod=12;; + esac + # For the first six month of the year the time notation can also + # be used for files modified in the last year. + if (expr $nummonth \> $nummonthtod) > /dev/null; + then + year=`expr $year - 1` + fi;; + *) year=$3;; +esac + +# The result. +echo $day $month $year + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/missing b/BUILD/libtool-2.4.7/build-aux/missing new file mode 100755 index 0000000..8d0eaad --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/missing @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +case $1 in + + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; + + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to <bug-automake@gnu.org>." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi + +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/no-bogus-m4-defines b/BUILD/libtool-2.4.7/build-aux/no-bogus-m4-defines new file mode 100755 index 0000000..873be29 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/no-bogus-m4-defines @@ -0,0 +1,61 @@ +#! /bin/sh + +# no-bogus-m4-defines - detect wrong m4 definitions +# ------------------------------------------------- +# Try to catch the case where 'aclocal' pulls installed libtool +# macro file contents from another version of libtool into the +# current package 'aclocal.m4'. Currently used by 'make dist' +# and by ./bootstrap (bootstrap.conf). +# +# Copyright (C) 2015-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Please report bugs or propose patches to bug-libtool@gnu.org. + +. `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh +# source this for "GNU m4" detection methods +. `echo "$0" |${SED-sed} 's|[^/]*$||'`/extract-trace + +$require_gnu_m4 + +bogus_macros='LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL' + +bogus_macros_grep='' +for macro in $bogus_macros; do + func_append bogus_macros_grep "/$macro/p;" +done + +clean_false_alarms="pushdef(\`AC_BEFORE', \`')" + +bogus_macros_check_output=`$ECHO "$clean_false_alarms" \ + |$M4 - aclocal.m4 libltdl/aclocal.m4 \ + |$SED -n "$bogus_macros_grep"` + +exit_val=0 +for macro in $bogus_macros; do + case $bogus_macros_check_output in + *$macro*) + func_error "Bogus $macro macro definition in an aclocal.m4 file" + exit_val=1 + ;; + esac +done + +exit $exit_val diff --git a/BUILD/libtool-2.4.7/build-aux/options-parser b/BUILD/libtool-2.4.7/build-aux/options-parser new file mode 100644 index 0000000..e3cfb0f --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/options-parser @@ -0,0 +1,685 @@ +#! /bin/sh + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues> + +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# Copyright'. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug in processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# in the main code. A hook is just a list of function names that can be +# run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It's assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook functions." ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi + done +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '<hooked_function_name>_result', escaped +# suitably for 'eval'. +# +# The '<hooked_function_name>_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# args_changed=false +# +# # Note that, for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: +# args_changed=: +# ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# args_changed=: +# ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; +# esac +# done +# +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll also need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + _G_options_quoted=false + + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done + + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propagate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + func_propagate_result func_run_hooks func_options_prep +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + _G_parse_options_requote=false + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" >&2 + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) _G_parse_options_requote=: ; break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; + esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi + done + + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $debug_cmd + + func_error "Missing argument for '$1'." + exit_cmd=exit +} + + +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs=" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk + } + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt + } + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/test-driver b/BUILD/libtool-2.4.7/build-aux/test-driver new file mode 100755 index 0000000..9759384 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/test-driver @@ -0,0 +1,150 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <<END +Usage: + test-driver --test-name NAME --log-file PATH --trs-file PATH + [--expect-failure {yes|no}] [--color-tests {yes|no}] + [--enable-hard-errors {yes|no}] [--] + TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] + +The '--test-name', '--log-file' and '--trs-file' options are mandatory. +See the GNU Automake documentation for information. +END +} + +test_name= # Used for reporting. +log_file= # Where to save the output of the test script. +trs_file= # Where to save the metadata of the test run. +expect_failure=no +color_tests=no +enable_hard_errors=yes +while test $# -gt 0; do + case $1 in + --help) print_usage; exit $?;; + --version) echo "test-driver $scriptversion"; exit $?;; + --test-name) test_name=$2; shift;; + --log-file) log_file=$2; shift;; + --trs-file) trs_file=$2; shift;; + --color-tests) color_tests=$2; shift;; + --expect-failure) expect_failure=$2; shift;; + --enable-hard-errors) enable_hard_errors=$2; shift;; + --) shift; break;; + -*) usage_error "invalid option: '$1'";; + *) break;; + esac + shift +done + +missing_opts= +test x"$test_name" = x && missing_opts="$missing_opts --test-name" +test x"$log_file" = x && missing_opts="$missing_opts --log-file" +test x"$trs_file" = x && missing_opts="$missing_opts --trs-file" +if test x"$missing_opts" != x; then + usage_error "the following mandatory options are missing:$missing_opts" +fi + +if test $# -eq 0; then + usage_error "missing argument" +fi + +if test $color_tests = yes; then + # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. + red='' # Red. + grn='' # Green. + lgn='' # Light green. + blu='' # Blue. + mgn='' # Magenta. + std='' # No color. +else + red= grn= lgn= blu= mgn= std= +fi + +do_exit='rm -f $log_file $trs_file; (exit $st); exit $st' +trap "st=129; $do_exit" 1 +trap "st=130; $do_exit" 2 +trap "st=141; $do_exit" 13 +trap "st=143; $do_exit" 15 + +# Test script is run here. +"$@" >$log_file 2>&1 +estatus=$? + +if test $enable_hard_errors = no && test $estatus -eq 99; then + tweaked_estatus=1 +else + tweaked_estatus=$estatus +fi + +case $tweaked_estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report the test outcome and exit status in the logs, so that one can +# know whether the test passed or failed simply by looking at the '.log' +# file, without the need of also peaking into the corresponding '.trs' +# file (automake bug#11814). +echo "$res $test_name (exit status: $estatus)" >>$log_file + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/texinfo.tex b/BUILD/libtool-2.4.7/build-aux/texinfo.tex new file mode 100644 index 0000000..58b6abe --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/texinfo.tex @@ -0,0 +1,11592 @@ +% texinfo.tex -- TeX macros to handle Texinfo files. +% +% Load plain if necessary, i.e., if running under initex. +\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi +% +\def\texinfoversion{2022-01-02.12} +% +% Copyright 1985, 1986, 1988, 1990-2021 Free Software Foundation, Inc. +% +% This texinfo.tex file is free software: you can redistribute it and/or +% modify it under the terms of the GNU General Public License as +% published by the Free Software Foundation, either version 3 of the +% License, or (at your option) any later version. +% +% This texinfo.tex file is distributed in the hope that it will be +% useful, but WITHOUT ANY WARRANTY; without even the implied warranty +% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +% General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <https://www.gnu.org/licenses/>. +% +% As a special exception, when this file is read by TeX when processing +% a Texinfo source document, you may use the result without +% restriction. This Exception is an additional permission under section 7 +% of the GNU General Public License, version 3 ("GPLv3"). +% +% Please try the latest version of texinfo.tex before submitting bug +% reports; you can get the latest version from: +% https://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or +% https://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or +% https://www.gnu.org/software/texinfo/ (the Texinfo home page) +% The texinfo.tex in any given distribution could well be out +% of date, so if that's what you're using, please check. +% +% Send bug reports to bug-texinfo@gnu.org. Please include a +% complete document in each bug report with which we can reproduce the +% problem. Patches are, of course, greatly appreciated. +% +% To process a Texinfo manual with TeX, it's most reliable to use the +% texi2dvi shell script that comes with the distribution. For a simple +% manual foo.texi, however, you can get away with this: +% tex foo.texi +% texindex foo.?? +% tex foo.texi +% tex foo.texi +% dvips foo.dvi -o # or whatever; this makes foo.ps. +% The extra TeX runs get the cross-reference information correct. +% Sometimes one run after texindex suffices, and sometimes you need more +% than two; texi2dvi does it as many times as necessary. +% +% It is possible to adapt texinfo.tex for other languages, to some +% extent. You can get the existing language-specific files from the +% full Texinfo distribution. +% +% The GNU Texinfo home page is https://www.gnu.org/software/texinfo. + + +\message{Loading texinfo [version \texinfoversion]:} + +% If in a .fmt file, print the version number +% and turn on active characters that we couldn't do earlier because +% they might have appeared in the input file name. +\everyjob{\message{[Texinfo version \texinfoversion]}% + \catcode`+=\active \catcode`\_=\active} + +% LaTeX's \typeout. This ensures that the messages it is used for +% are identical in format to the corresponding ones from latex/pdflatex. +\def\typeout{\immediate\write17}% + +\chardef\other=12 + +% We never want plain's \outer definition of \+ in Texinfo. +% For @tex, we can use \tabalign. +\let\+ = \relax + +% Save some plain tex macros whose names we will redefine. +\let\ptexb=\b +\let\ptexbullet=\bullet +\let\ptexc=\c +\let\ptexcomma=\, +\let\ptexdot=\. +\let\ptexdots=\dots +\let\ptexend=\end +\let\ptexequiv=\equiv +\let\ptexexclam=\! +\let\ptexfootnote=\footnote +\let\ptexgtr=> +\let\ptexhat=^ +\let\ptexi=\i +\let\ptexindent=\indent +\let\ptexinsert=\insert +\let\ptexlbrace=\{ +\let\ptexless=< +\let\ptexnewwrite\newwrite +\let\ptexnoindent=\noindent +\let\ptexplus=+ +\let\ptexraggedright=\raggedright +\let\ptexrbrace=\} +\let\ptexslash=\/ +\let\ptexsp=\sp +\let\ptexstar=\* +\let\ptexsup=\sup +\let\ptext=\t +\let\ptextop=\top +{\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode + +% If this character appears in an error message or help string, it +% starts a new line in the output. +\newlinechar = `^^J + +% Use TeX 3.0's \inputlineno to get the line number, for better error +% messages, but if we're using an old version of TeX, don't do anything. +% +\ifx\inputlineno\thisisundefined + \let\linenumber = \empty % Pre-3.0. +\else + \def\linenumber{l.\the\inputlineno:\space} +\fi + +% Set up fixed words for English if not already set. +\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi +\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi +\ifx\putworderror\undefined \gdef\putworderror{error}\fi +\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi +\ifx\putwordin\undefined \gdef\putwordin{in}\fi +\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi +\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi +\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi +\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi +\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi +\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi +\ifx\putwordof\undefined \gdef\putwordof{of}\fi +\ifx\putwordon\undefined \gdef\putwordon{on}\fi +\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi +\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi +\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi +\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi +\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi +\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi +\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi +% +\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi +\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi +\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi +\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi +\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi +\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi +\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi +\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi +\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi +\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi +\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi +\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi +% +\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi +\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi +\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi +\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi +\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi + +% Give the space character the catcode for a space. +\def\spaceisspace{\catcode`\ =10\relax} + +% Likewise for ^^M, the end of line character. +\def\endlineisspace{\catcode13=10\relax} + +\chardef\dashChar = `\- +\chardef\slashChar = `\/ +\chardef\underChar = `\_ + +% Ignore a token. +% +\def\gobble#1{} + +% The following is used inside several \edef's. +\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} + +% Hyphenation fixes. +\hyphenation{ + Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script + ap-pen-dix bit-map bit-maps + data-base data-bases eshell fall-ing half-way long-est man-u-script + man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm + par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces + spell-ing spell-ings + stand-alone strong-est time-stamp time-stamps which-ever white-space + wide-spread wrap-around +} + +% Sometimes it is convenient to have everything in the transcript file +% and nothing on the terminal. We don't just call \tracingall here, +% since that produces some useless output on the terminal. We also make +% some effort to order the tracing commands to reduce output in the log +% file; cf. trace.sty in LaTeX. +% +\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% +\def\loggingall{% + \tracingstats2 + \tracingpages1 + \tracinglostchars2 % 2 gives us more in etex + \tracingparagraphs1 + \tracingoutput1 + \tracingmacros2 + \tracingrestores1 + \showboxbreadth\maxdimen \showboxdepth\maxdimen + \ifx\eTeXversion\thisisundefined\else % etex gives us more logging + \tracingscantokens1 + \tracingifs1 + \tracinggroups1 + \tracingnesting2 + \tracingassigns1 + \fi + \tracingcommands3 % 3 gives us more in etex + \errorcontextlines16 +}% + +% @errormsg{MSG}. Do the index-like expansions on MSG, but if things +% aren't perfect, it's not the end of the world, being an error message, +% after all. +% +\def\errormsg{\begingroup \indexnofonts \doerrormsg} +\def\doerrormsg#1{\errmessage{#1}} + +% add check for \lastpenalty to plain's definitions. If the last thing +% we did was a \nobreak, we don't want to insert more space. +% +\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount + \removelastskip\penalty-50\smallskip\fi\fi} +\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount + \removelastskip\penalty-100\medskip\fi\fi} +\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount + \removelastskip\penalty-200\bigskip\fi\fi} + +% Output routine +% + +% For a final copy, take out the rectangles +% that mark overfull boxes (in case you have decided +% that the text looks ok even though it passes the margin). +% +\def\finalout{\overfullrule=0pt } + +\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines +\newdimen\topandbottommargin \topandbottommargin=.75in + +% Output a mark which sets \thischapter, \thissection and \thiscolor. +% We dump everything together because we only have one kind of mark. +% This works because we only use \botmark / \topmark, not \firstmark. +% +% A mark contains a subexpression of the \ifcase ... \fi construct. +% \get*marks macros below extract the needed part using \ifcase. +% +% Another complication is to let the user choose whether \thischapter +% (\thissection) refers to the chapter (section) in effect at the top +% of a page, or that at the bottom of a page. + +% \domark is called twice inside \chapmacro, to add one +% mark before the section break, and one after. +% In the second call \prevchapterdefs is the same as \currentchapterdefs, +% and \prevsectiondefs is the same as \currentsectiondefs. +% Then if the page is not broken at the mark, some of the previous +% section appears on the page, and we can get the name of this section +% from \firstmark for @everyheadingmarks top. +% @everyheadingmarks bottom uses \botmark. +% +% See page 260 of The TeXbook. +\def\domark{% + \toks0=\expandafter{\currentchapterdefs}% + \toks2=\expandafter{\currentsectiondefs}% + \toks4=\expandafter{\prevchapterdefs}% + \toks6=\expandafter{\prevsectiondefs}% + \toks8=\expandafter{\currentcolordefs}% + \mark{% + \the\toks0 \the\toks2 % 0: marks for @everyheadingmarks top + \noexpand\or \the\toks4 \the\toks6 % 1: for @everyheadingmarks bottom + \noexpand\else \the\toks8 % 2: color marks + }% +} + +% \gettopheadingmarks, \getbottomheadingmarks, +% \getcolormarks - extract needed part of mark. +% +% \topmark doesn't work for the very first chapter (after the title +% page or the contents), so we use \firstmark there -- this gets us +% the mark with the chapter defs, unless the user sneaks in, e.g., +% @setcolor (or @url, or @link, etc.) between @contents and the very +% first @chapter. +\def\gettopheadingmarks{% + \ifcase0\the\savedtopmark\fi + \ifx\thischapter\empty \ifcase0\firstmark\fi \fi +} +\def\getbottomheadingmarks{\ifcase1\botmark\fi} +\def\getcolormarks{\ifcase2\the\savedtopmark\fi} + +% Avoid "undefined control sequence" errors. +\def\currentchapterdefs{} +\def\currentsectiondefs{} +\def\currentsection{} +\def\prevchapterdefs{} +\def\prevsectiondefs{} +\def\currentcolordefs{} + +% Margin to add to right of even pages, to left of odd pages. +\newdimen\bindingoffset +\newdimen\normaloffset +\newdimen\txipagewidth \newdimen\txipageheight + +% Main output routine. +% +\chardef\PAGE = 255 +\newtoks\defaultoutput +\defaultoutput = {\savetopmark\onepageout{\pagecontents\PAGE}} +\output=\expandafter{\the\defaultoutput} + +\newbox\headlinebox +\newbox\footlinebox + +% When outputting the double column layout for indices, an output routine +% is run several times, which hides the original value of \topmark. This +% can lead to a page heading being output and duplicating the chapter heading +% of the index. Hence, save the contents of \topmark at the beginning of +% the output routine. The saved contents are valid until we actually +% \shipout a page. +% +% (We used to run a short output routine to actually set \topmark and +% \firstmark to the right values, but if this was called with an empty page +% containing whatsits for writing index entries, the whatsits would be thrown +% away and the index auxiliary file would remain empty.) +% +\newtoks\savedtopmark +\newif\iftopmarksaved +\topmarksavedtrue +\def\savetopmark{% + \iftopmarksaved\else + \global\savedtopmark=\expandafter{\topmark}% + \global\topmarksavedtrue + \fi +} + +% \onepageout takes a vbox as an argument. +% \shipout a vbox for a single page, adding an optional header, footer +% and footnote. This also causes index entries for this page to be written +% to the auxiliary files. +% +\def\onepageout#1{% + \hoffset=\normaloffset + % + \ifodd\pageno \advance\hoffset by \bindingoffset + \else \advance\hoffset by -\bindingoffset\fi + % + \checkchapterpage + % + % Retrieve the information for the headings from the marks in the page, + % and call Plain TeX's \makeheadline and \makefootline, which use the + % values in \headline and \footline. + % + % Common context changes for both heading and footing. + % Do this outside of the \shipout so @code etc. will be expanded in + % the headline as they should be, not taken literally (outputting ''code). + \def\commonheadfootline{\let\hsize=\txipagewidth \texinfochars} + % + \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi + \global\setbox\headlinebox = \vbox{\commonheadfootline \makeheadline}% + \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi + \global\setbox\footlinebox = \vbox{\commonheadfootline \makefootline}% + % + {% + % Set context for writing to auxiliary files like index files. + % Have to do this stuff outside the \shipout because we want it to + % take effect in \write's, yet the group defined by the \vbox ends + % before the \shipout runs. + % + \atdummies % don't expand commands in the output. + \turnoffactive + \shipout\vbox{% + % Do this early so pdf references go to the beginning of the page. + \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi + % + \unvbox\headlinebox + \pagebody{#1}% + \ifdim\ht\footlinebox > 0pt + % Only leave this space if the footline is nonempty. + % (We lessened \vsize for it in \oddfootingyyy.) + % The \baselineskip=24pt in plain's \makefootline has no effect. + \vskip 24pt + \unvbox\footlinebox + \fi + % + }% + }% + \global\topmarksavedfalse + \advancepageno + \ifnum\outputpenalty>-20000 \else\dosupereject\fi +} + +\newinsert\margin \dimen\margin=\maxdimen + +% Main part of page, including any footnotes +\def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}} +{\catcode`\@ =11 +\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi +% marginal hacks, juha@viisa.uucp (Juha Takala) +\ifvoid\margin\else % marginal info is present + \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi +\dimen@=\dp#1\relax \unvbox#1\relax +\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi +\ifr@ggedbottom \kern-\dimen@ \vfil \fi} +} + +% Check if we are on the first page of a chapter. Used for printing headings. +\newif\ifchapterpage +\def\checkchapterpage{% + % Get the chapter that was current at the end of the last page + \ifcase1\the\savedtopmark\fi + \let\prevchaptername\thischaptername + % + \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi + \let\curchaptername\thischaptername + % + \ifx\curchaptername\prevchaptername + \chapterpagefalse + \else + \chapterpagetrue + \fi +} + +% Argument parsing + +% Parse an argument, then pass it to #1. The argument is the rest of +% the input line (except we remove a trailing comment). #1 should be a +% macro which expects an ordinary undelimited TeX argument. +% For example, \def\foo{\parsearg\fooxxx}. +% +\def\parsearg{\parseargusing{}} +\def\parseargusing#1#2{% + \def\argtorun{#2}% + \begingroup + \obeylines + \spaceisspace + #1% + \parseargline\empty% Insert the \empty token, see \finishparsearg below. +} + +{\obeylines % + \gdef\parseargline#1^^M{% + \endgroup % End of the group started in \parsearg. + \argremovecomment #1\comment\ArgTerm% + }% +} + +% First remove any @comment, then any @c comment. Pass the result on to +% \argcheckspaces. +\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} +\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} + +% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space. +% +% \argremovec might leave us with trailing space, e.g., +% @end itemize @c foo +% This space token undergoes the same procedure and is eventually removed +% by \finishparsearg. +% +\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} +\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} +\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% + \def\temp{#3}% + \ifx\temp\empty + % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: + \let\temp\finishparsearg + \else + \let\temp\argcheckspaces + \fi + % Put the space token in: + \temp#1 #3\ArgTerm +} + +% If a _delimited_ argument is enclosed in braces, they get stripped; so +% to get _exactly_ the rest of the line, we had to prevent such situation. +% We prepended an \empty token at the very beginning and we expand it now, +% just before passing the control to \argtorun. +% (Similarly, we have to think about #3 of \argcheckspacesY above: it is +% either the null string, or it ends with \^^M---thus there is no danger +% that a pair of braces would be stripped. +% +% But first, we have to remove the trailing space token. +% +\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} + + +% \parseargdef - define a command taking an argument on the line +% +% \parseargdef\foo{...} +% is roughly equivalent to +% \def\foo{\parsearg\Xfoo} +% \def\Xfoo#1{...} +\def\parseargdef#1{% + \expandafter \doparseargdef \csname\string#1\endcsname #1% +} +\def\doparseargdef#1#2{% + \def#2{\parsearg#1}% + \def#1##1% +} + +% Several utility definitions with active space: +{ + \obeyspaces + \gdef\obeyedspace{ } + + % Make each space character in the input produce a normal interword + % space in the output. Don't allow a line break at this space, as this + % is used only in environments like @example, where each line of input + % should produce a line of output anyway. + % + \gdef\sepspaces{\obeyspaces\let =\tie} + + % If an index command is used in an @example environment, any spaces + % therein should become regular spaces in the raw index file, not the + % expansion of \tie (\leavevmode \penalty \@M \ ). + \gdef\unsepspaces{\let =\space} +} + + +\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} + +% Define the framework for environments in texinfo.tex. It's used like this: +% +% \envdef\foo{...} +% \def\Efoo{...} +% +% It's the responsibility of \envdef to insert \begingroup before the +% actual body; @end closes the group after calling \Efoo. \envdef also +% defines \thisenv, so the current environment is known; @end checks +% whether the environment name matches. The \checkenv macro can also be +% used to check whether the current environment is the one expected. +% +% Non-false conditionals (@iftex, @ifset) don't fit into this, so they +% are not treated as environments; they don't open a group. (The +% implementation of @end takes care not to call \endgroup in this +% special case.) + + +% At run-time, environments start with this: +\def\startenvironment#1{\begingroup\def\thisenv{#1}} +% initialize +\let\thisenv\empty + +% ... but they get defined via ``\envdef\foo{...}'': +\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} +\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} + +% Check whether we're in the right environment: +\def\checkenv#1{% + \def\temp{#1}% + \ifx\thisenv\temp + \else + \badenverr + \fi +} + +% Environment mismatch, #1 expected: +\def\badenverr{% + \errhelp = \EMsimple + \errmessage{This command can appear only \inenvironment\temp, + not \inenvironment\thisenv}% +} +\def\inenvironment#1{% + \ifx#1\empty + outside of any environment% + \else + in environment \expandafter\string#1% + \fi +} + + +% @end foo calls \checkenv and executes the definition of \Efoo. +\parseargdef\end{% + \if 1\csname iscond.#1\endcsname + \else + % The general wording of \badenverr may not be ideal. + \expandafter\checkenv\csname#1\endcsname + \csname E#1\endcsname + \endgroup + \fi +} + +\newhelp\EMsimple{Press RETURN to continue.} + + +% Be sure we're in horizontal mode when doing a tie, since we make space +% equivalent to this in @example-like environments. Otherwise, a space +% at the beginning of a line will start with \penalty -- and +% since \penalty is valid in vertical mode, we'd end up putting the +% penalty on the vertical list instead of in the new paragraph. +{\catcode`@ = 11 + % Avoid using \@M directly, because that causes trouble + % if the definition is written into an index file. + \global\let\tiepenalty = \@M + \gdef\tie{\leavevmode\penalty\tiepenalty\ } +} + +% @: forces normal size whitespace following. +\def\:{\spacefactor=1000 } + +% @* forces a line break. +\def\*{\unskip\hfil\break\hbox{}\ignorespaces} + +% @/ allows a line break. +\let\/=\allowbreak + +% @. is an end-of-sentence period. +\def\.{.\spacefactor=\endofsentencespacefactor\space} + +% @! is an end-of-sentence bang. +\def\!{!\spacefactor=\endofsentencespacefactor\space} + +% @? is an end-of-sentence query. +\def\?{?\spacefactor=\endofsentencespacefactor\space} + +% @frenchspacing on|off says whether to put extra space after punctuation. +% +\def\onword{on} +\def\offword{off} +% +\parseargdef\frenchspacing{% + \def\temp{#1}% + \ifx\temp\onword \plainfrenchspacing + \else\ifx\temp\offword \plainnonfrenchspacing + \else + \errhelp = \EMsimple + \errmessage{Unknown @frenchspacing option `\temp', must be on|off}% + \fi\fi +} + +% @w prevents a word break. Without the \leavevmode, @w at the +% beginning of a paragraph, when TeX is still in vertical mode, would +% produce a whole line of output instead of starting the paragraph. +\def\w#1{\leavevmode\hbox{#1}} + +% @group ... @end group forces ... to be all on one page, by enclosing +% it in a TeX vbox. We use \vtop instead of \vbox to construct the box +% to keep its height that of a normal line. According to the rules for +% \topskip (p.114 of the TeXbook), the glue inserted is +% max (\topskip - \ht (first item), 0). If that height is large, +% therefore, no glue is inserted, and the space between the headline and +% the text is small, which looks bad. +% +% Another complication is that the group might be very large. This can +% cause the glue on the previous page to be unduly stretched, because it +% does not have much material. In this case, it's better to add an +% explicit \vfill so that the extra space is at the bottom. The +% threshold for doing this is if the group is more than \vfilllimit +% percent of a page (\vfilllimit can be changed inside of @tex). +% +\newbox\groupbox +\def\vfilllimit{0.7} +% +\envdef\group{% + \ifnum\catcode`\^^M=\active \else + \errhelp = \groupinvalidhelp + \errmessage{@group invalid in context where filling is enabled}% + \fi + \startsavinginserts + % + \setbox\groupbox = \vtop\bgroup + % Do @comment since we are called inside an environment such as + % @example, where each end-of-line in the input causes an + % end-of-line in the output. We don't want the end-of-line after + % the `@group' to put extra space in the output. Since @group + % should appear on a line by itself (according to the Texinfo + % manual), we don't worry about eating any user text. + \comment +} +% +% The \vtop produces a box with normal height and large depth; thus, TeX puts +% \baselineskip glue before it, and (when the next line of text is done) +% \lineskip glue after it. Thus, space below is not quite equal to space +% above. But it's pretty close. +\def\Egroup{% + % To get correct interline space between the last line of the group + % and the first line afterwards, we have to propagate \prevdepth. + \endgraf % Not \par, as it may have been set to \lisppar. + \global\dimen1 = \prevdepth + \egroup % End the \vtop. + \addgroupbox + \prevdepth = \dimen1 + \checkinserts +} + +\def\addgroupbox{ + % \dimen0 is the vertical size of the group's box. + \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox + % \dimen2 is how much space is left on the page (more or less). + \dimen2 = \txipageheight \advance\dimen2 by -\pagetotal + % if the group doesn't fit on the current page, and it's a big big + % group, force a page break. + \ifdim \dimen0 > \dimen2 + \ifdim \pagetotal < \vfilllimit\txipageheight + \page + \fi + \fi + \box\groupbox +} + +% +% TeX puts in an \escapechar (i.e., `@') at the beginning of the help +% message, so this ends up printing `@group can only ...'. +% +\newhelp\groupinvalidhelp{% +group can only be used in environments such as @example,^^J% +where each line of input produces a line of output.} + +% @need space-in-mils +% forces a page break if there is not space-in-mils remaining. + +\newdimen\mil \mil=0.001in + +\parseargdef\need{% + % Ensure vertical mode, so we don't make a big box in the middle of a + % paragraph. + \par + % + % If the @need value is less than one line space, it's useless. + \dimen0 = #1\mil + \dimen2 = \ht\strutbox + \advance\dimen2 by \dp\strutbox + \ifdim\dimen0 > \dimen2 + % + % Do a \strut just to make the height of this box be normal, so the + % normal leading is inserted relative to the preceding line. + % And a page break here is fine. + \vtop to #1\mil{\strut\vfil}% + % + % TeX does not even consider page breaks if a penalty added to the + % main vertical list is 10000 or more. But in order to see if the + % empty box we just added fits on the page, we must make it consider + % page breaks. On the other hand, we don't want to actually break the + % page after the empty box. So we use a penalty of 9999. + % + % There is an extremely small chance that TeX will actually break the + % page at this \penalty, if there are no other feasible breakpoints in + % sight. (If the user is using lots of big @group commands, which + % almost-but-not-quite fill up a page, TeX will have a hard time doing + % good page breaking, for example.) However, I could not construct an + % example where a page broke at this \penalty; if it happens in a real + % document, then we can reconsider our strategy. + \penalty9999 + % + % Back up by the size of the box, whether we did a page break or not. + \kern -#1\mil + % + % Do not allow a page break right after this kern. + \nobreak + \fi +} + +% @br forces paragraph break (and is undocumented). + +\let\br = \par + +% @page forces the start of a new page. +% +\def\page{\par\vfill\supereject} + +% @exdent text.... +% outputs text on separate line in roman font, starting at standard page margin + +% This records the amount of indent in the innermost environment. +% That's how much \exdent should take out. +\newskip\exdentamount + +% This defn is used inside fill environments such as @defun. +\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} + +% This defn is used inside nofill environments such as @example. +\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount + \leftline{\hskip\leftskip{\rm#1}}}} + +% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current +% paragraph. For more general purposes, use the \margin insertion +% class. WHICH is `l' or `r'. Not documented, written for gawk manual. +% +\newskip\inmarginspacing \inmarginspacing=1cm +\def\strutdepth{\dp\strutbox} +% +\def\doinmargin#1#2{\strut\vadjust{% + \nobreak + \kern-\strutdepth + \vtop to \strutdepth{% + \baselineskip=\strutdepth + \vss + % if you have multiple lines of stuff to put here, you'll need to + % make the vbox yourself of the appropriate size. + \ifx#1l% + \llap{\ignorespaces #2\hskip\inmarginspacing}% + \else + \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% + \fi + \null + }% +}} +\def\inleftmargin{\doinmargin l} +\def\inrightmargin{\doinmargin r} +% +% @inmargin{TEXT [, RIGHT-TEXT]} +% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; +% else use TEXT for both). +% +\def\inmargin#1{\parseinmargin #1,,\finish} +\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt + \def\lefttext{#1}% have both texts + \def\righttext{#2}% + \else + \def\lefttext{#1}% have only one text + \def\righttext{#1}% + \fi + % + \ifodd\pageno + \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin + \else + \def\temp{\inleftmargin\lefttext}% + \fi + \temp +} + +% @include FILE -- \input text of FILE. +% +\def\include{\parseargusing\filenamecatcodes\includezzz} +\def\includezzz#1{% + \pushthisfilestack + \def\thisfile{#1}% + {% + \makevalueexpandable % we want to expand any @value in FILE. + \turnoffactive % and allow special characters in the expansion + \indexnofonts % Allow `@@' and other weird things in file names. + \wlog{texinfo.tex: doing @include of #1^^J}% + \edef\temp{\noexpand\input #1 }% + % + % This trickery is to read FILE outside of a group, in case it makes + % definitions, etc. + \expandafter + }\temp + \popthisfilestack +} +\def\filenamecatcodes{% + \catcode`\\=\other + \catcode`~=\other + \catcode`^=\other + \catcode`_=\other + \catcode`|=\other + \catcode`<=\other + \catcode`>=\other + \catcode`+=\other + \catcode`-=\other + \catcode`\`=\other + \catcode`\'=\other +} + +\def\pushthisfilestack{% + \expandafter\pushthisfilestackX\popthisfilestack\StackTerm +} +\def\pushthisfilestackX{% + \expandafter\pushthisfilestackY\thisfile\StackTerm +} +\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% + \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% +} + +\def\popthisfilestack{\errthisfilestackempty} +\def\errthisfilestackempty{\errmessage{Internal error: + the stack of filenames is empty.}} +% +\def\thisfile{} + +% @center line +% outputs that line, centered. +% +\parseargdef\center{% + \ifhmode + \let\centersub\centerH + \else + \let\centersub\centerV + \fi + \centersub{\hfil \ignorespaces#1\unskip \hfil}% + \let\centersub\relax % don't let the definition persist, just in case +} +\def\centerH#1{{% + \hfil\break + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \line{#1}% + \break +}} +% +\newcount\centerpenalty +\def\centerV#1{% + % The idea here is the same as in \startdefun, \cartouche, etc.: if + % @center is the first thing after a section heading, we need to wipe + % out the negative parskip inserted by \sectionheading, but still + % prevent a page break here. + \centerpenalty = \lastpenalty + \ifnum\centerpenalty>10000 \vskip\parskip \fi + \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi + \line{\kern\leftskip #1\kern\rightskip}% +} + +% @sp n outputs n lines of vertical space +% +\parseargdef\sp{\vskip #1\baselineskip} + +% @comment ...line which is ignored... +% @c is the same as @comment +% @ignore ... @end ignore is another way to write a comment + + +\def\c{\begingroup \catcode`\^^M=\active% +\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% +\cxxx} +{\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}} +% +\let\comment\c + +% @paragraphindent NCHARS +% We'll use ems for NCHARS, close enough. +% NCHARS can also be the word `asis' or `none'. +% We cannot feasibly implement @paragraphindent asis, though. +% +\def\asisword{asis} % no translation, these are keywords +\def\noneword{none} +% +\parseargdef\paragraphindent{% + \def\temp{#1}% + \ifx\temp\asisword + \else + \ifx\temp\noneword + \defaultparindent = 0pt + \else + \defaultparindent = #1em + \fi + \fi + \parindent = \defaultparindent +} + +% @exampleindent NCHARS +% We'll use ems for NCHARS like @paragraphindent. +% It seems @exampleindent asis isn't necessary, but +% I preserve it to make it similar to @paragraphindent. +\parseargdef\exampleindent{% + \def\temp{#1}% + \ifx\temp\asisword + \else + \ifx\temp\noneword + \lispnarrowing = 0pt + \else + \lispnarrowing = #1em + \fi + \fi +} + +% @firstparagraphindent WORD +% If WORD is `none', then suppress indentation of the first paragraph +% after a section heading. If WORD is `insert', then do indent at such +% paragraphs. +% +% The paragraph indentation is suppressed or not by calling +% \suppressfirstparagraphindent, which the sectioning commands do. +% We switch the definition of this back and forth according to WORD. +% By default, we suppress indentation. +% +\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} +\def\insertword{insert} +% +\parseargdef\firstparagraphindent{% + \def\temp{#1}% + \ifx\temp\noneword + \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent + \else\ifx\temp\insertword + \let\suppressfirstparagraphindent = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @firstparagraphindent option `\temp'}% + \fi\fi +} + +% Here is how we actually suppress indentation. Redefine \everypar to +% \kern backwards by \parindent, and then reset itself to empty. +% +% We also make \indent itself not actually do anything until the next +% paragraph. +% +\gdef\dosuppressfirstparagraphindent{% + \gdef\indent {\restorefirstparagraphindent \indent}% + \gdef\noindent{\restorefirstparagraphindent \noindent}% + \global\everypar = {\kern -\parindent \restorefirstparagraphindent}% +} +% +\gdef\restorefirstparagraphindent{% + \global\let\indent = \ptexindent + \global\let\noindent = \ptexnoindent + \global\everypar = {}% +} + +% leave vertical mode without cancelling any first paragraph indent +\gdef\imageindent{% + \toks0=\everypar + \everypar={}% + \ptexnoindent + \global\everypar=\toks0 +} + + +% @refill is a no-op. +\let\refill=\relax + +% @setfilename INFO-FILENAME - ignored +\let\setfilename=\comment + +% @bye. +\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend} + + +\message{pdf,} +% adobe `portable' document format +\newcount\tempnum +\newcount\lnkcount +\newtoks\filename +\newcount\filenamelength +\newcount\pgn +\newtoks\toksA +\newtoks\toksB +\newtoks\toksC +\newtoks\toksD +\newbox\boxA +\newbox\boxB +\newcount\countA +\newif\ifpdf +\newif\ifpdfmakepagedest + +% +% For LuaTeX +% + +\newif\iftxiuseunicodedestname +\txiuseunicodedestnamefalse % For pdfTeX etc. + +\ifx\luatexversion\thisisundefined +\else + % Use Unicode destination names + \txiuseunicodedestnametrue + % Escape PDF strings with converting UTF-16 from UTF-8 + \begingroup + \catcode`\%=12 + \directlua{ + function UTF16oct(str) + tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377') + for c in string.utfvalues(str) do + if c < 0x10000 then + tex.sprint( + string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. + string.char(0x5c) .. string.char(0x25) .. '03o', + math.floor(c / 256), math.floor(c % 256))) + else + c = c - 0x10000 + local c_hi = c / 1024 + 0xd800 + local c_lo = c % 1024 + 0xdc00 + tex.sprint( + string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. + string.char(0x5c) .. string.char(0x25) .. '03o' .. + string.char(0x5c) .. string.char(0x25) .. '03o' .. + string.char(0x5c) .. string.char(0x25) .. '03o', + math.floor(c_hi / 256), math.floor(c_hi % 256), + math.floor(c_lo / 256), math.floor(c_lo % 256))) + end + end + end + } + \endgroup + \def\pdfescapestrutfsixteen#1{\directlua{UTF16oct('\luaescapestring{#1}')}} + % Escape PDF strings without converting + \begingroup + \directlua{ + function PDFescstr(str) + for c in string.bytes(str) do + if c <= 0x20 or c >= 0x80 or c == 0x28 or c == 0x29 or c == 0x5c then + tex.sprint(-2, + string.format(string.char(0x5c) .. string.char(0x25) .. '03o', + c)) + else + tex.sprint(-2, string.char(c)) + end + end + end + } + % The -2 in the arguments here gives all the input to TeX catcode 12 + % (other) or 10 (space), preventing undefined control sequence errors. See + % https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html + % + \endgroup + \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}} + \ifnum\luatexversion>84 + % For LuaTeX >= 0.85 + \def\pdfdest{\pdfextension dest} + \let\pdfoutput\outputmode + \def\pdfliteral{\pdfextension literal} + \def\pdfcatalog{\pdfextension catalog} + \def\pdftexversion{\numexpr\pdffeedback version\relax} + \let\pdfximage\saveimageresource + \let\pdfrefximage\useimageresource + \let\pdflastximage\lastsavedimageresourceindex + \def\pdfendlink{\pdfextension endlink\relax} + \def\pdfoutline{\pdfextension outline} + \def\pdfstartlink{\pdfextension startlink} + \def\pdffontattr{\pdfextension fontattr} + \def\pdfobj{\pdfextension obj} + \def\pdflastobj{\numexpr\pdffeedback lastobj\relax} + \let\pdfpagewidth\pagewidth + \let\pdfpageheight\pageheight + \edef\pdfhorigin{\pdfvariable horigin} + \edef\pdfvorigin{\pdfvariable vorigin} + \fi +\fi + +% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 +% can be set). So we test for \relax and 0 as well as being undefined. +\ifx\pdfoutput\thisisundefined +\else + \ifx\pdfoutput\relax + \else + \ifcase\pdfoutput + \else + \pdftrue + \fi + \fi +\fi + +\newif\ifpdforxetex +\pdforxetexfalse +\ifpdf + \pdforxetextrue +\fi +\ifx\XeTeXrevision\thisisundefined\else + \pdforxetextrue +\fi + + +% Output page labels information. +% See PDF reference v.1.7 p.594, section 8.3.1. +\ifpdf +\def\pagelabels{% + \def\title{0 << /P (T-) /S /D >>}% + \edef\roman{\the\romancount << /S /r >>}% + \edef\arabic{\the\arabiccount << /S /D >>}% + % + % Page label ranges must be increasing. Remove any duplicates. + % (There is a slight chance of this being wrong if e.g. there is + % a @contents but no @titlepage, etc.) + % + \ifnum\romancount=0 \def\roman{}\fi + \ifnum\arabiccount=0 \def\title{}% + \else + \ifnum\romancount=\arabiccount \def\roman{}\fi + \fi + % + \ifnum\romancount<\arabiccount + \pdfcatalog{/PageLabels << /Nums [\title \roman \arabic ] >> }\relax + \else + \pdfcatalog{/PageLabels << /Nums [\title \arabic \roman ] >> }\relax + \fi +} +\else + \let\pagelabels\relax +\fi + +\newcount\pagecount \pagecount=0 +\newcount\romancount \romancount=0 +\newcount\arabiccount \arabiccount=0 +\ifpdf + \let\ptxadvancepageno\advancepageno + \def\advancepageno{% + \ptxadvancepageno\global\advance\pagecount by 1 + } +\fi + + +% PDF uses PostScript string constants for the names of xref targets, +% for display in the outlines, and in other places. Thus, we have to +% double any backslashes. Otherwise, a name like "\node" will be +% interpreted as a newline (\n), followed by o, d, e. Not good. +% +% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and +% related messages. The final outcome is that it is up to the TeX user +% to double the backslashes and otherwise make the string valid, so +% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to +% do this reliably, so we use it. + +% #1 is a control sequence in which to do the replacements, +% which we \xdef. +\def\txiescapepdf#1{% + \ifx\pdfescapestring\thisisundefined + % No primitive available; should we give a warning or log? + % Many times it won't matter. + \xdef#1{#1}% + \else + % The expandable \pdfescapestring primitive escapes parentheses, + % backslashes, and other special chars. + \xdef#1{\pdfescapestring{#1}}% + \fi +} +\def\txiescapepdfutfsixteen#1{% + \ifx\pdfescapestrutfsixteen\thisisundefined + % No UTF-16 converting macro available. + \txiescapepdf{#1}% + \else + \xdef#1{\pdfescapestrutfsixteen{#1}}% + \fi +} + +\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images +with PDF output, and none of those formats could be found. (.eps cannot +be supported due to the design of the PDF format; use regular TeX (DVI +output) for that.)} + +\ifpdf + % + % Color manipulation macros using ideas from pdfcolor.tex, + % except using rgb instead of cmyk; the latter is said to render as a + % very dark gray on-screen and a very dark halftone in print, instead + % of actual black. The dark red here is dark enough to print on paper as + % nearly black, but still distinguishable for online viewing. We use + % black by default, though. + \def\rgbDarkRed{0.50 0.09 0.12} + \def\rgbBlack{0 0 0} + % + % rg sets the color for filling (usual text, etc.); + % RG sets the color for stroking (thin rules, e.g., normal _'s). + \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} + % + % Set color, and create a mark which defines \thiscolor accordingly, + % so that \makeheadline knows which color to restore. + \def\setcolor#1{% + \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% + \domark + \pdfsetcolor{#1}% + } + % + \def\maincolor{\rgbBlack} + \pdfsetcolor{\maincolor} + \edef\thiscolor{\maincolor} + \def\currentcolordefs{} + % + \def\makefootline{% + \baselineskip24pt + \line{\pdfsetcolor{\maincolor}\the\footline}% + } + % + \def\makeheadline{% + \vbox to 0pt{% + \vskip-22.5pt + \line{% + \vbox to8.5pt{}% + % Extract \thiscolor definition from the marks. + \getcolormarks + % Typeset the headline with \maincolor, then restore the color. + \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% + }% + \vss + }% + \nointerlineskip + } + % + % + \pdfcatalog{/PageMode /UseOutlines} + % + % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). + \def\dopdfimage#1#2#3{% + \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% + \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% + % + % pdftex (and the PDF format) support .pdf, .png, .jpg (among + % others). Let's try in that order, PDF first since if + % someone has a scalable image, presumably better to use that than a + % bitmap. + \let\pdfimgext=\empty + \begingroup + \openin 1 #1.pdf \ifeof 1 + \openin 1 #1.PDF \ifeof 1 + \openin 1 #1.png \ifeof 1 + \openin 1 #1.jpg \ifeof 1 + \openin 1 #1.jpeg \ifeof 1 + \openin 1 #1.JPG \ifeof 1 + \errhelp = \nopdfimagehelp + \errmessage{Could not find image file #1 for pdf}% + \else \gdef\pdfimgext{JPG}% + \fi + \else \gdef\pdfimgext{jpeg}% + \fi + \else \gdef\pdfimgext{jpg}% + \fi + \else \gdef\pdfimgext{png}% + \fi + \else \gdef\pdfimgext{PDF}% + \fi + \else \gdef\pdfimgext{pdf}% + \fi + \closein 1 + \endgroup + % + % without \immediate, ancient pdftex seg faults when the same image is + % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) + \ifnum\pdftexversion < 14 + \immediate\pdfimage + \else + \immediate\pdfximage + \fi + \ifdim \wd0 >0pt width \pdfimagewidth \fi + \ifdim \wd2 >0pt height \pdfimageheight \fi + \ifnum\pdftexversion<13 + #1.\pdfimgext + \else + {#1.\pdfimgext}% + \fi + \ifnum\pdftexversion < 14 \else + \pdfrefximage \pdflastximage + \fi} + % + \def\setpdfdestname#1{{% + % We have to set dummies so commands such as @code, and characters + % such as \, aren't expanded when present in a section title. + \indexnofonts + \makevalueexpandable + \turnoffactive + \iftxiuseunicodedestname + \ifx \declaredencoding \latone + % Pass through Latin-1 characters. + % LuaTeX with byte wise I/O converts Latin-1 characters to Unicode. + \else + \ifx \declaredencoding \utfeight + % Pass through Unicode characters. + \else + % Use ASCII approximations in destination names. + \passthroughcharsfalse + \fi + \fi + \else + % Use ASCII approximations in destination names. + \passthroughcharsfalse + \fi + \def\pdfdestname{#1}% + \txiescapepdf\pdfdestname + }} + % + \def\setpdfoutlinetext#1{{% + \indexnofonts + \makevalueexpandable + \turnoffactive + \ifx \declaredencoding \latone + % The PDF format can use an extended form of Latin-1 in bookmark + % strings. See Appendix D of the PDF Reference, Sixth Edition, for + % the "PDFDocEncoding". + \passthroughcharstrue + % Pass through Latin-1 characters. + % LuaTeX: Convert to Unicode + % pdfTeX: Use Latin-1 as PDFDocEncoding + \def\pdfoutlinetext{#1}% + \else + \ifx \declaredencoding \utfeight + \ifx\luatexversion\thisisundefined + % For pdfTeX with UTF-8. + % TODO: the PDF format can use UTF-16 in bookmark strings, + % but the code for this isn't done yet. + % Use ASCII approximations. + \passthroughcharsfalse + \def\pdfoutlinetext{#1}% + \else + % For LuaTeX with UTF-8. + % Pass through Unicode characters for title texts. + \passthroughcharstrue + \def\pdfoutlinetext{#1}% + \fi + \else + % For non-Latin-1 or non-UTF-8 encodings. + % Use ASCII approximations. + \passthroughcharsfalse + \def\pdfoutlinetext{#1}% + \fi + \fi + % LuaTeX: Convert to UTF-16 + % pdfTeX: Use Latin-1 as PDFDocEncoding + \txiescapepdfutfsixteen\pdfoutlinetext + }} + % + \def\pdfmkdest#1{% + \setpdfdestname{#1}% + \safewhatsit{\pdfdest name{\pdfdestname} xyz}% + } + % + % used to mark target names; must be expandable. + \def\pdfmkpgn#1{#1} + % + % by default, use black for everything. + \def\urlcolor{\rgbBlack} + \def\linkcolor{\rgbBlack} + \def\endlink{\setcolor{\maincolor}\pdfendlink} + % + % Adding outlines to PDF; macros for calculating structure of outlines + % come from Petr Olsak + \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% + \else \csname#1\endcsname \fi} + \def\advancenumber#1{\tempnum=\expnumber{#1}\relax + \advance\tempnum by 1 + \expandafter\xdef\csname#1\endcsname{\the\tempnum}} + % + % #1 is the section text, which is what will be displayed in the + % outline by the pdf viewer. #2 is the pdf expression for the number + % of subentries (or empty, for subsubsections). #3 is the node text, + % which might be empty if this toc entry had no corresponding node. + % #4 is the page number + % + \def\dopdfoutline#1#2#3#4{% + % Generate a link to the node text if that exists; else, use the + % page number. We could generate a destination for the section + % text in the case where a section has no node, but it doesn't + % seem worth the trouble, since most documents are normally structured. + \setpdfoutlinetext{#1} + \setpdfdestname{#3} + \ifx\pdfdestname\empty + \def\pdfdestname{#4}% + \fi + % + \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}% + } + % + \def\pdfmakeoutlines{% + \begingroup + % Read toc silently, to get counts of subentries for \pdfoutline. + \def\partentry##1##2##3##4{}% ignore parts in the outlines + \def\numchapentry##1##2##3##4{% + \def\thischapnum{##2}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + }% + \def\numsecentry##1##2##3##4{% + \advancenumber{chap\thischapnum}% + \def\thissecnum{##2}% + \def\thissubsecnum{0}% + }% + \def\numsubsecentry##1##2##3##4{% + \advancenumber{sec\thissecnum}% + \def\thissubsecnum{##2}% + }% + \def\numsubsubsecentry##1##2##3##4{% + \advancenumber{subsec\thissubsecnum}% + }% + \def\thischapnum{0}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + % + % use \def rather than \let here because we redefine \chapentry et + % al. a second time, below. + \def\appentry{\numchapentry}% + \def\appsecentry{\numsecentry}% + \def\appsubsecentry{\numsubsecentry}% + \def\appsubsubsecentry{\numsubsubsecentry}% + \def\unnchapentry{\numchapentry}% + \def\unnsecentry{\numsecentry}% + \def\unnsubsecentry{\numsubsecentry}% + \def\unnsubsubsecentry{\numsubsubsecentry}% + \readdatafile{toc}% + % + % Read toc second time, this time actually producing the outlines. + % The `-' means take the \expnumber as the absolute number of + % subentries, which we calculated on our first read of the .toc above. + % + % We use the node names as the destinations. + % + % Currently we prefix the section name with the section number + % for chapter and appendix headings only in order to avoid too much + % horizontal space being required in the PDF viewer. + \def\numchapentry##1##2##3##4{% + \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}% + \def\unnchapentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% + \def\numsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% + \def\numsubsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% + \def\numsubsubsecentry##1##2##3##4{% count is always zero + \dopdfoutline{##1}{}{##3}{##4}}% + % + % PDF outlines are displayed using system fonts, instead of + % document fonts. Therefore we cannot use special characters, + % since the encoding is unknown. For example, the eogonek from + % Latin 2 (0xea) gets translated to a | character. Info from + % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. + % + % TODO this right, we have to translate 8-bit characters to + % their "best" equivalent, based on the @documentencoding. Too + % much work for too little return. Just use the ASCII equivalents + % we use for the index sort strings. + % + \indexnofonts + \setupdatafile + % We can have normal brace characters in the PDF outlines, unlike + % Texinfo index files. So set that up. + \def\{{\lbracecharliteral}% + \def\}{\rbracecharliteral}% + \catcode`\\=\active \otherbackslash + \input \tocreadfilename + \endgroup + } + {\catcode`[=1 \catcode`]=2 + \catcode`{=\other \catcode`}=\other + \gdef\lbracecharliteral[{]% + \gdef\rbracecharliteral[}]% + ] + % + \def\skipspaces#1{\def\PP{#1}\def\D{|}% + \ifx\PP\D\let\nextsp\relax + \else\let\nextsp\skipspaces + \addtokens{\filename}{\PP}% + \advance\filenamelength by 1 + \fi + \nextsp} + \def\getfilename#1{% + \filenamelength=0 + % If we don't expand the argument now, \skipspaces will get + % snagged on things like "@value{foo}". + \edef\temp{#1}% + \expandafter\skipspaces\temp|\relax + } + \ifnum\pdftexversion < 14 + \let \startlink \pdfannotlink + \else + \let \startlink \pdfstartlink + \fi + % make a live url in pdf output. + \def\pdfurl#1{% + \begingroup + % it seems we really need yet another set of dummies; have not + % tried to figure out what each command should do in the context + % of @url. for now, just make @/ a no-op, that's the only one + % people have actually reported a problem with. + % + \normalturnoffactive + \def\@{@}% + \let\/=\empty + \makevalueexpandable + % do we want to go so far as to use \indexnofonts instead of just + % special-casing \var here? + \def\var##1{##1}% + % + \leavevmode\setcolor{\urlcolor}% + \startlink attr{/Border [0 0 0]}% + user{/Subtype /Link /A << /S /URI /URI (#1) >>}% + \endgroup} + % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may + % be a simple number, or a list of numbers in the case of an index + % entry. + \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} + \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} + \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} + \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} + \def\maketoks{% + \expandafter\poptoks\the\toksA|ENDTOKS|\relax + \ifx\first0\adn0 + \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 + \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 + \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 + \else + \ifnum0=\countA\else\makelink\fi + \ifx\first.\let\next=\done\else + \let\next=\maketoks + \addtokens{\toksB}{\the\toksD} + \ifx\first,\addtokens{\toksB}{\space}\fi + \fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \next} + \def\makelink{\addtokens{\toksB}% + {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} + \def\pdflink#1{% + \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} + \setcolor{\linkcolor}#1\endlink} + \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} +\else + % non-pdf mode + \let\pdfmkdest = \gobble + \let\pdfurl = \gobble + \let\endlink = \relax + \let\setcolor = \gobble + \let\pdfsetcolor = \gobble + \let\pdfmakeoutlines = \relax +\fi % \ifx\pdfoutput + +% +% For XeTeX +% +\ifx\XeTeXrevision\thisisundefined +\else + % + % XeTeX version check + % + \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99996}>-1 + % TeX Live 2016 contains XeTeX 0.99996 and xdvipdfmx 20160307. + % It can use the `dvipdfmx:config' special (from TeX Live SVN r40941). + % For avoiding PDF destination name replacement, we use this special + % instead of xdvipdfmx's command line option `-C 0x0010'. + \special{dvipdfmx:config C 0x0010} + % XeTeX 0.99995+ comes with xdvipdfmx 20160307+. + % It can handle Unicode destination names for PDF. + \txiuseunicodedestnametrue + \else + % XeTeX < 0.99996 (TeX Live < 2016) cannot use the + % `dvipdfmx:config' special. + % So for avoiding PDF destination name replacement, + % xdvipdfmx's command line option `-C 0x0010' is necessary. + % + % XeTeX < 0.99995 can not handle Unicode destination names for PDF + % because xdvipdfmx 20150315 has a UTF-16 conversion issue. + % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). + \txiuseunicodedestnamefalse + \fi + % + % Color support + % + \def\rgbDarkRed{0.50 0.09 0.12} + \def\rgbBlack{0 0 0} + % + \def\pdfsetcolor#1{\special{pdf:scolor [#1]}} + % + % Set color, and create a mark which defines \thiscolor accordingly, + % so that \makeheadline knows which color to restore. + \def\setcolor#1{% + \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% + \domark + \pdfsetcolor{#1}% + } + % + \def\maincolor{\rgbBlack} + \pdfsetcolor{\maincolor} + \edef\thiscolor{\maincolor} + \def\currentcolordefs{} + % + \def\makefootline{% + \baselineskip24pt + \line{\pdfsetcolor{\maincolor}\the\footline}% + } + % + \def\makeheadline{% + \vbox to 0pt{% + \vskip-22.5pt + \line{% + \vbox to8.5pt{}% + % Extract \thiscolor definition from the marks. + \getcolormarks + % Typeset the headline with \maincolor, then restore the color. + \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% + }% + \vss + }% + \nointerlineskip + } + % + % PDF outline support + % + % Emulate pdfTeX primitive + \def\pdfdest name#1 xyz{% + \special{pdf:dest (#1) [@thispage /XYZ @xpos @ypos null]}% + } + % + \def\setpdfdestname#1{{% + % We have to set dummies so commands such as @code, and characters + % such as \, aren't expanded when present in a section title. + \indexnofonts + \makevalueexpandable + \turnoffactive + \iftxiuseunicodedestname + % Pass through Unicode characters. + \else + % Use ASCII approximations in destination names. + \passthroughcharsfalse + \fi + \def\pdfdestname{#1}% + \txiescapepdf\pdfdestname + }} + % + \def\setpdfoutlinetext#1{{% + \turnoffactive + % Always use Unicode characters in title texts. + \def\pdfoutlinetext{#1}% + % For XeTeX, xdvipdfmx converts to UTF-16. + % So we do not convert. + \txiescapepdf\pdfoutlinetext + }} + % + \def\pdfmkdest#1{% + \setpdfdestname{#1}% + \safewhatsit{\pdfdest name{\pdfdestname} xyz}% + } + % + % by default, use black for everything. + \def\urlcolor{\rgbBlack} + \def\linkcolor{\rgbBlack} + \def\endlink{\setcolor{\maincolor}\pdfendlink} + % + \def\dopdfoutline#1#2#3#4{% + \setpdfoutlinetext{#1} + \setpdfdestname{#3} + \ifx\pdfdestname\empty + \def\pdfdestname{#4}% + \fi + % + \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A + << /S /GoTo /D (\pdfdestname) >> >> }% + } + % + \def\pdfmakeoutlines{% + \begingroup + % + % For XeTeX, counts of subentries are not necessary. + % Therefore, we read toc only once. + % + % We use node names as destinations. + % + % Currently we prefix the section name with the section number + % for chapter and appendix headings only in order to avoid too much + % horizontal space being required in the PDF viewer. + \def\partentry##1##2##3##4{}% ignore parts in the outlines + \def\numchapentry##1##2##3##4{% + \dopdfoutline{##2 ##1}{1}{##3}{##4}}% + \def\numsecentry##1##2##3##4{% + \dopdfoutline{##1}{2}{##3}{##4}}% + \def\numsubsecentry##1##2##3##4{% + \dopdfoutline{##1}{3}{##3}{##4}}% + \def\numsubsubsecentry##1##2##3##4{% + \dopdfoutline{##1}{4}{##3}{##4}}% + % + \let\appentry\numchapentry% + \let\appsecentry\numsecentry% + \let\appsubsecentry\numsubsecentry% + \let\appsubsubsecentry\numsubsubsecentry% + \def\unnchapentry##1##2##3##4{% + \dopdfoutline{##1}{1}{##3}{##4}}% + \let\unnsecentry\numsecentry% + \let\unnsubsecentry\numsubsecentry% + \let\unnsubsubsecentry\numsubsubsecentry% + % + % For XeTeX, xdvipdfmx converts strings to UTF-16. + % Therefore, the encoding and the language may not be considered. + % + \indexnofonts + \setupdatafile + % We can have normal brace characters in the PDF outlines, unlike + % Texinfo index files. So set that up. + \def\{{\lbracecharliteral}% + \def\}{\rbracecharliteral}% + \catcode`\\=\active \otherbackslash + \input \tocreadfilename + \endgroup + } + {\catcode`[=1 \catcode`]=2 + \catcode`{=\other \catcode`}=\other + \gdef\lbracecharliteral[{]% + \gdef\rbracecharliteral[}]% + ] + + \special{pdf:docview << /PageMode /UseOutlines >> } + % ``\special{pdf:tounicode ...}'' is not necessary + % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it. + % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315, + % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings. + % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). +% + \def\skipspaces#1{\def\PP{#1}\def\D{|}% + \ifx\PP\D\let\nextsp\relax + \else\let\nextsp\skipspaces + \addtokens{\filename}{\PP}% + \advance\filenamelength by 1 + \fi + \nextsp} + \def\getfilename#1{% + \filenamelength=0 + % If we don't expand the argument now, \skipspaces will get + % snagged on things like "@value{foo}". + \edef\temp{#1}% + \expandafter\skipspaces\temp|\relax + } + % make a live url in pdf output. + \def\pdfurl#1{% + \begingroup + % it seems we really need yet another set of dummies; have not + % tried to figure out what each command should do in the context + % of @url. for now, just make @/ a no-op, that's the only one + % people have actually reported a problem with. + % + \normalturnoffactive + \def\@{@}% + \let\/=\empty + \makevalueexpandable + % do we want to go so far as to use \indexnofonts instead of just + % special-casing \var here? + \def\var##1{##1}% + % + \leavevmode\setcolor{\urlcolor}% + \special{pdf:bann << /Border [0 0 0] + /Subtype /Link /A << /S /URI /URI (#1) >> >>}% + \endgroup} + \def\endlink{\setcolor{\maincolor}\special{pdf:eann}} + \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} + \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} + \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} + \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} + \def\maketoks{% + \expandafter\poptoks\the\toksA|ENDTOKS|\relax + \ifx\first0\adn0 + \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 + \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 + \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 + \else + \ifnum0=\countA\else\makelink\fi + \ifx\first.\let\next=\done\else + \let\next=\maketoks + \addtokens{\toksB}{\the\toksD} + \ifx\first,\addtokens{\toksB}{\space}\fi + \fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \next} + \def\makelink{\addtokens{\toksB}% + {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} + \def\pdflink#1{% + \special{pdf:bann << /Border [0 0 0] + /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}% + \setcolor{\linkcolor}#1\endlink} + \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} +% + % + % @image support + % + % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). + \def\doxeteximage#1#2#3{% + \def\xeteximagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% + \def\xeteximageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% + % + % XeTeX (and the PDF format) supports .pdf, .png, .jpg (among + % others). Let's try in that order, PDF first since if + % someone has a scalable image, presumably better to use that than a + % bitmap. + \let\xeteximgext=\empty + \begingroup + \openin 1 #1.pdf \ifeof 1 + \openin 1 #1.PDF \ifeof 1 + \openin 1 #1.png \ifeof 1 + \openin 1 #1.jpg \ifeof 1 + \openin 1 #1.jpeg \ifeof 1 + \openin 1 #1.JPG \ifeof 1 + \errmessage{Could not find image file #1 for XeTeX}% + \else \gdef\xeteximgext{JPG}% + \fi + \else \gdef\xeteximgext{jpeg}% + \fi + \else \gdef\xeteximgext{jpg}% + \fi + \else \gdef\xeteximgext{png}% + \fi + \else \gdef\xeteximgext{PDF}% + \fi + \else \gdef\xeteximgext{pdf}% + \fi + \closein 1 + \endgroup + % + % Putting an \hbox around the image can prevent an over-long line + % after the image. + \hbox\bgroup + \def\xetexpdfext{pdf}% + \ifx\xeteximgext\xetexpdfext + \XeTeXpdffile "#1".\xeteximgext "" + \else + \def\xetexpdfext{PDF}% + \ifx\xeteximgext\xetexpdfext + \XeTeXpdffile "#1".\xeteximgext "" + \else + \XeTeXpicfile "#1".\xeteximgext "" + \fi + \fi + \ifdim \wd0 >0pt width \xeteximagewidth \fi + \ifdim \wd2 >0pt height \xeteximageheight \fi \relax + \egroup + } +\fi + + +% +\message{fonts,} + +% Set the baselineskip to #1, and the lineskip and strut size +% correspondingly. There is no deep meaning behind these magic numbers +% used as factors; they just match (closely enough) what Knuth defined. +% +\def\lineskipfactor{.08333} +\def\strutheightpercent{.70833} +\def\strutdepthpercent {.29167} +% +% can get a sort of poor man's double spacing by redefining this. +\def\baselinefactor{1} +% +\newdimen\textleading +\def\setleading#1{% + \dimen0 = #1\relax + \normalbaselineskip = \baselinefactor\dimen0 + \normallineskip = \lineskipfactor\normalbaselineskip + \normalbaselines + \setbox\strutbox =\hbox{% + \vrule width0pt height\strutheightpercent\baselineskip + depth \strutdepthpercent \baselineskip + }% +} + +% PDF CMaps. See also LaTeX's t1.cmap. +% +% do nothing with this by default. +\expandafter\let\csname cmapOT1\endcsname\gobble +\expandafter\let\csname cmapOT1IT\endcsname\gobble +\expandafter\let\csname cmapOT1TT\endcsname\gobble + +% if we are producing pdf, and we have \pdffontattr, then define cmaps. +% (\pdffontattr was introduced many years ago, but people still run +% older pdftex's; it's easy to conditionalize, so we do.) +\ifpdf \ifx\pdffontattr\thisisundefined \else + \begingroup + \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. + \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-OT1-0) +%%Title: (TeX-OT1-0 TeX OT1 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (OT1) +/Supplement 0 +>> def +/CMapName /TeX-OT1-0 def +/CMapType 2 def +1 begincodespacerange +<00> <7F> +endcodespacerange +8 beginbfrange +<00> <01> <0393> +<09> <0A> <03A8> +<23> <26> <0023> +<28> <3B> <0028> +<3F> <5B> <003F> +<5D> <5E> <005D> +<61> <7A> <0061> +<7B> <7C> <2013> +endbfrange +40 beginbfchar +<02> <0398> +<03> <039B> +<04> <039E> +<05> <03A0> +<06> <03A3> +<07> <03D2> +<08> <03A6> +<0B> <00660066> +<0C> <00660069> +<0D> <0066006C> +<0E> <006600660069> +<0F> <00660066006C> +<10> <0131> +<11> <0237> +<12> <0060> +<13> <00B4> +<14> <02C7> +<15> <02D8> +<16> <00AF> +<17> <02DA> +<18> <00B8> +<19> <00DF> +<1A> <00E6> +<1B> <0153> +<1C> <00F8> +<1D> <00C6> +<1E> <0152> +<1F> <00D8> +<21> <0021> +<22> <201D> +<27> <2019> +<3C> <00A1> +<3D> <003D> +<3E> <00BF> +<5C> <201C> +<5F> <02D9> +<60> <2018> +<7D> <02DD> +<7E> <007E> +<7F> <00A8> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + }\endgroup + \expandafter\edef\csname cmapOT1\endcsname#1{% + \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% + }% +% +% \cmapOT1IT + \begingroup + \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. + \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-OT1IT-0) +%%Title: (TeX-OT1IT-0 TeX OT1IT 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (OT1IT) +/Supplement 0 +>> def +/CMapName /TeX-OT1IT-0 def +/CMapType 2 def +1 begincodespacerange +<00> <7F> +endcodespacerange +8 beginbfrange +<00> <01> <0393> +<09> <0A> <03A8> +<25> <26> <0025> +<28> <3B> <0028> +<3F> <5B> <003F> +<5D> <5E> <005D> +<61> <7A> <0061> +<7B> <7C> <2013> +endbfrange +42 beginbfchar +<02> <0398> +<03> <039B> +<04> <039E> +<05> <03A0> +<06> <03A3> +<07> <03D2> +<08> <03A6> +<0B> <00660066> +<0C> <00660069> +<0D> <0066006C> +<0E> <006600660069> +<0F> <00660066006C> +<10> <0131> +<11> <0237> +<12> <0060> +<13> <00B4> +<14> <02C7> +<15> <02D8> +<16> <00AF> +<17> <02DA> +<18> <00B8> +<19> <00DF> +<1A> <00E6> +<1B> <0153> +<1C> <00F8> +<1D> <00C6> +<1E> <0152> +<1F> <00D8> +<21> <0021> +<22> <201D> +<23> <0023> +<24> <00A3> +<27> <2019> +<3C> <00A1> +<3D> <003D> +<3E> <00BF> +<5C> <201C> +<5F> <02D9> +<60> <2018> +<7D> <02DD> +<7E> <007E> +<7F> <00A8> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + }\endgroup + \expandafter\edef\csname cmapOT1IT\endcsname#1{% + \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% + }% +% +% \cmapOT1TT + \begingroup + \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. + \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-OT1TT-0) +%%Title: (TeX-OT1TT-0 TeX OT1TT 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (OT1TT) +/Supplement 0 +>> def +/CMapName /TeX-OT1TT-0 def +/CMapType 2 def +1 begincodespacerange +<00> <7F> +endcodespacerange +5 beginbfrange +<00> <01> <0393> +<09> <0A> <03A8> +<21> <26> <0021> +<28> <5F> <0028> +<61> <7E> <0061> +endbfrange +32 beginbfchar +<02> <0398> +<03> <039B> +<04> <039E> +<05> <03A0> +<06> <03A3> +<07> <03D2> +<08> <03A6> +<0B> <2191> +<0C> <2193> +<0D> <0027> +<0E> <00A1> +<0F> <00BF> +<10> <0131> +<11> <0237> +<12> <0060> +<13> <00B4> +<14> <02C7> +<15> <02D8> +<16> <00AF> +<17> <02DA> +<18> <00B8> +<19> <00DF> +<1A> <00E6> +<1B> <0153> +<1C> <00F8> +<1D> <00C6> +<1E> <0152> +<1F> <00D8> +<20> <2423> +<27> <2019> +<60> <2018> +<7F> <00A8> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + }\endgroup + \expandafter\edef\csname cmapOT1TT\endcsname#1{% + \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% + }% +\fi\fi + + +% Set the font macro #1 to the font named \fontprefix#2. +% #3 is the font's design size, #4 is a scale factor, #5 is the CMap +% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit). +% Example: +% #1 = \textrm +% #2 = \rmshape +% #3 = 10 +% #4 = \mainmagstep +% #5 = OT1 +% +\def\setfont#1#2#3#4#5{% + \font#1=\fontprefix#2#3 scaled #4 + \csname cmap#5\endcsname#1% +} +% This is what gets called when #5 of \setfont is empty. +\let\cmap\gobble +% +% (end of cmaps) + +% Use cm as the default font prefix. +% To specify the font prefix, you must define \fontprefix +% before you read in texinfo.tex. +\ifx\fontprefix\thisisundefined +\def\fontprefix{cm} +\fi +% Support font families that don't use the same naming scheme as CM. +\def\rmshape{r} +\def\rmbshape{bx} % where the normal face is bold +\def\bfshape{b} +\def\bxshape{bx} +\def\ttshape{tt} +\def\ttbshape{tt} +\def\ttslshape{sltt} +\def\itshape{ti} +\def\itbshape{bxti} +\def\slshape{sl} +\def\slbshape{bxsl} +\def\sfshape{ss} +\def\sfbshape{ss} +\def\scshape{csc} +\def\scbshape{csc} + +% Definitions for a main text size of 11pt. (The default in Texinfo.) +% +\def\definetextfontsizexi{% +% Text fonts (11.2pt, magstep1). +\def\textnominalsize{11pt} +\edef\mainmagstep{\magstephalf} +\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} +\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} +\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} +\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} +\setfont\textsl\slshape{10}{\mainmagstep}{OT1} +\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} +\setfont\textsc\scshape{10}{\mainmagstep}{OT1} +\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} +\font\texti=cmmi10 scaled \mainmagstep +\font\textsy=cmsy10 scaled \mainmagstep +\def\textecsize{1095} + +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstep1}{OT1} +\setfont\deftt\ttshape{10}{\magstep1}{OT1TT} +\setfont\defsl\slshape{10}{\magstep1}{OT1} +\setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} +\def\df{\let\ttfont=\deftt \let\bffont = \defbf +\let\ttslfont=\defttsl \let\slfont=\defsl \bf} + +% Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} +\setfont\smallrm\rmshape{9}{1000}{OT1} +\setfont\smalltt\ttshape{9}{1000}{OT1TT} +\setfont\smallbf\bfshape{10}{900}{OT1} +\setfont\smallit\itshape{9}{1000}{OT1IT} +\setfont\smallsl\slshape{9}{1000}{OT1} +\setfont\smallsf\sfshape{9}{1000}{OT1} +\setfont\smallsc\scshape{10}{900}{OT1} +\setfont\smallttsl\ttslshape{10}{900}{OT1TT} +\font\smalli=cmmi9 +\font\smallsy=cmsy9 +\def\smallecsize{0900} + +% Fonts for small examples (8pt). +\def\smallernominalsize{8pt} +\setfont\smallerrm\rmshape{8}{1000}{OT1} +\setfont\smallertt\ttshape{8}{1000}{OT1TT} +\setfont\smallerbf\bfshape{10}{800}{OT1} +\setfont\smallerit\itshape{8}{1000}{OT1IT} +\setfont\smallersl\slshape{8}{1000}{OT1} +\setfont\smallersf\sfshape{8}{1000}{OT1} +\setfont\smallersc\scshape{10}{800}{OT1} +\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} +\font\smalleri=cmmi8 +\font\smallersy=cmsy8 +\def\smallerecsize{0800} + +% Fonts for math mode superscripts (7pt). +\def\sevennominalsize{7pt} +\setfont\sevenrm\rmshape{7}{1000}{OT1} +\setfont\seventt\ttshape{10}{700}{OT1TT} +\setfont\sevenbf\bfshape{10}{700}{OT1} +\setfont\sevenit\itshape{7}{1000}{OT1IT} +\setfont\sevensl\slshape{10}{700}{OT1} +\setfont\sevensf\sfshape{10}{700}{OT1} +\setfont\sevensc\scshape{10}{700}{OT1} +\setfont\seventtsl\ttslshape{10}{700}{OT1TT} +\font\seveni=cmmi7 +\font\sevensy=cmsy7 +\def\sevenecsize{0700} + +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} +\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} +\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} +\setfont\titlesl\slbshape{10}{\magstep4}{OT1} +\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} +\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} +\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} +\let\titlebf=\titlerm +\setfont\titlesc\scbshape{10}{\magstep4}{OT1} +\font\titlei=cmmi12 scaled \magstep3 +\font\titlesy=cmsy10 scaled \magstep4 +\def\titleecsize{2074} + +% Chapter (and unnumbered) fonts (17.28pt). +\def\chapnominalsize{17pt} +\setfont\chaprm\rmbshape{12}{\magstep2}{OT1} +\setfont\chapit\itbshape{10}{\magstep3}{OT1IT} +\setfont\chapsl\slbshape{10}{\magstep3}{OT1} +\setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} +\setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} +\setfont\chapsf\sfbshape{17}{1000}{OT1} +\let\chapbf=\chaprm +\setfont\chapsc\scbshape{10}{\magstep3}{OT1} +\font\chapi=cmmi12 scaled \magstep2 +\font\chapsy=cmsy10 scaled \magstep3 +\def\chapecsize{1728} + +% Section fonts (14.4pt). +\def\secnominalsize{14pt} +\setfont\secrm\rmbshape{12}{\magstep1}{OT1} +\setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1} +\setfont\secit\itbshape{10}{\magstep2}{OT1IT} +\setfont\secsl\slbshape{10}{\magstep2}{OT1} +\setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} +\setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} +\setfont\secsf\sfbshape{12}{\magstep1}{OT1} +\let\secbf\secrm +\setfont\secsc\scbshape{10}{\magstep2}{OT1} +\font\seci=cmmi12 scaled \magstep1 +\font\secsy=cmsy10 scaled \magstep2 +\def\sececsize{1440} + +% Subsection fonts (13.15pt). +\def\ssecnominalsize{13pt} +\setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} +\setfont\ssecit\itbshape{10}{1315}{OT1IT} +\setfont\ssecsl\slbshape{10}{1315}{OT1} +\setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} +\setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} +\setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} +\let\ssecbf\ssecrm +\setfont\ssecsc\scbshape{10}{1315}{OT1} +\font\sseci=cmmi12 scaled \magstephalf +\font\ssecsy=cmsy10 scaled 1315 +\def\ssececsize{1200} + +% Reduced fonts for @acronym in text (10pt). +\def\reducednominalsize{10pt} +\setfont\reducedrm\rmshape{10}{1000}{OT1} +\setfont\reducedtt\ttshape{10}{1000}{OT1TT} +\setfont\reducedbf\bfshape{10}{1000}{OT1} +\setfont\reducedit\itshape{10}{1000}{OT1IT} +\setfont\reducedsl\slshape{10}{1000}{OT1} +\setfont\reducedsf\sfshape{10}{1000}{OT1} +\setfont\reducedsc\scshape{10}{1000}{OT1} +\setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} +\font\reducedi=cmmi10 +\font\reducedsy=cmsy10 +\def\reducedecsize{1000} + +\textleading = 13.2pt % line spacing for 11pt CM +\textfonts % reset the current fonts +\rm +} % end of 11pt text font size definitions, \definetextfontsizexi + + +% Definitions to make the main text be 10pt Computer Modern, with +% section, chapter, etc., sizes following suit. This is for the GNU +% Press printing of the Emacs 22 manual. Maybe other manuals in the +% future. Used with @smallbook, which sets the leading to 12pt. +% +\def\definetextfontsizex{% +% Text fonts (10pt). +\def\textnominalsize{10pt} +\edef\mainmagstep{1000} +\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} +\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} +\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} +\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} +\setfont\textsl\slshape{10}{\mainmagstep}{OT1} +\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} +\setfont\textsc\scshape{10}{\mainmagstep}{OT1} +\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} +\font\texti=cmmi10 scaled \mainmagstep +\font\textsy=cmsy10 scaled \mainmagstep +\def\textecsize{1000} + +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstephalf}{OT1} +\setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} +\setfont\defsl\slshape{10}{\magstephalf}{OT1} +\setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} +\def\df{\let\ttfont=\deftt \let\bffont = \defbf +\let\slfont=\defsl \let\ttslfont=\defttsl \bf} + +% Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} +\setfont\smallrm\rmshape{9}{1000}{OT1} +\setfont\smalltt\ttshape{9}{1000}{OT1TT} +\setfont\smallbf\bfshape{10}{900}{OT1} +\setfont\smallit\itshape{9}{1000}{OT1IT} +\setfont\smallsl\slshape{9}{1000}{OT1} +\setfont\smallsf\sfshape{9}{1000}{OT1} +\setfont\smallsc\scshape{10}{900}{OT1} +\setfont\smallttsl\ttslshape{10}{900}{OT1TT} +\font\smalli=cmmi9 +\font\smallsy=cmsy9 +\def\smallecsize{0900} + +% Fonts for small examples (8pt). +\def\smallernominalsize{8pt} +\setfont\smallerrm\rmshape{8}{1000}{OT1} +\setfont\smallertt\ttshape{8}{1000}{OT1TT} +\setfont\smallerbf\bfshape{10}{800}{OT1} +\setfont\smallerit\itshape{8}{1000}{OT1IT} +\setfont\smallersl\slshape{8}{1000}{OT1} +\setfont\smallersf\sfshape{8}{1000}{OT1} +\setfont\smallersc\scshape{10}{800}{OT1} +\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} +\font\smalleri=cmmi8 +\font\smallersy=cmsy8 +\def\smallerecsize{0800} + +% Fonts for math mode superscripts (7pt). +\def\sevennominalsize{7pt} +\setfont\sevenrm\rmshape{7}{1000}{OT1} +\setfont\seventt\ttshape{10}{700}{OT1TT} +\setfont\sevenbf\bfshape{10}{700}{OT1} +\setfont\sevenit\itshape{7}{1000}{OT1IT} +\setfont\sevensl\slshape{10}{700}{OT1} +\setfont\sevensf\sfshape{10}{700}{OT1} +\setfont\sevensc\scshape{10}{700}{OT1} +\setfont\seventtsl\ttslshape{10}{700}{OT1TT} +\font\seveni=cmmi7 +\font\sevensy=cmsy7 +\def\sevenecsize{0700} + +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} +\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} +\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} +\setfont\titlesl\slbshape{10}{\magstep4}{OT1} +\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} +\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} +\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} +\let\titlebf=\titlerm +\setfont\titlesc\scbshape{10}{\magstep4}{OT1} +\font\titlei=cmmi12 scaled \magstep3 +\font\titlesy=cmsy10 scaled \magstep4 +\def\titleecsize{2074} + +% Chapter fonts (14.4pt). +\def\chapnominalsize{14pt} +\setfont\chaprm\rmbshape{12}{\magstep1}{OT1} +\setfont\chapit\itbshape{10}{\magstep2}{OT1IT} +\setfont\chapsl\slbshape{10}{\magstep2}{OT1} +\setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} +\setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} +\setfont\chapsf\sfbshape{12}{\magstep1}{OT1} +\let\chapbf\chaprm +\setfont\chapsc\scbshape{10}{\magstep2}{OT1} +\font\chapi=cmmi12 scaled \magstep1 +\font\chapsy=cmsy10 scaled \magstep2 +\def\chapecsize{1440} + +% Section fonts (12pt). +\def\secnominalsize{12pt} +\setfont\secrm\rmbshape{12}{1000}{OT1} +\setfont\secit\itbshape{10}{\magstep1}{OT1IT} +\setfont\secsl\slbshape{10}{\magstep1}{OT1} +\setfont\sectt\ttbshape{12}{1000}{OT1TT} +\setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} +\setfont\secsf\sfbshape{12}{1000}{OT1} +\let\secbf\secrm +\setfont\secsc\scbshape{10}{\magstep1}{OT1} +\font\seci=cmmi12 +\font\secsy=cmsy10 scaled \magstep1 +\def\sececsize{1200} + +% Subsection fonts (10pt). +\def\ssecnominalsize{10pt} +\setfont\ssecrm\rmbshape{10}{1000}{OT1} +\setfont\ssecit\itbshape{10}{1000}{OT1IT} +\setfont\ssecsl\slbshape{10}{1000}{OT1} +\setfont\ssectt\ttbshape{10}{1000}{OT1TT} +\setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} +\setfont\ssecsf\sfbshape{10}{1000}{OT1} +\let\ssecbf\ssecrm +\setfont\ssecsc\scbshape{10}{1000}{OT1} +\font\sseci=cmmi10 +\font\ssecsy=cmsy10 +\def\ssececsize{1000} + +% Reduced fonts for @acronym in text (9pt). +\def\reducednominalsize{9pt} +\setfont\reducedrm\rmshape{9}{1000}{OT1} +\setfont\reducedtt\ttshape{9}{1000}{OT1TT} +\setfont\reducedbf\bfshape{10}{900}{OT1} +\setfont\reducedit\itshape{9}{1000}{OT1IT} +\setfont\reducedsl\slshape{9}{1000}{OT1} +\setfont\reducedsf\sfshape{9}{1000}{OT1} +\setfont\reducedsc\scshape{10}{900}{OT1} +\setfont\reducedttsl\ttslshape{10}{900}{OT1TT} +\font\reducedi=cmmi9 +\font\reducedsy=cmsy9 +\def\reducedecsize{0900} + +\divide\parskip by 2 % reduce space between paragraphs +\textleading = 12pt % line spacing for 10pt CM +\textfonts % reset the current fonts +\rm +} % end of 10pt text font size definitions, \definetextfontsizex + +% Fonts for short table of contents. +\setfont\shortcontrm\rmshape{12}{1000}{OT1} +\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 +\setfont\shortcontsl\slshape{12}{1000}{OT1} +\setfont\shortconttt\ttshape{12}{1000}{OT1TT} + + +% We provide the user-level command +% @fonttextsize 10 +% (or 11) to redefine the text font size. pt is assumed. +% +\def\xiword{11} +\def\xword{10} +\def\xwordpt{10pt} +% +\parseargdef\fonttextsize{% + \def\textsizearg{#1}% + %\wlog{doing @fonttextsize \textsizearg}% + % + % Set \globaldefs so that documents can use this inside @tex, since + % makeinfo 4.8 does not support it, but we need it nonetheless. + % + \begingroup \globaldefs=1 + \ifx\textsizearg\xword \definetextfontsizex + \else \ifx\textsizearg\xiword \definetextfontsizexi + \else + \errhelp=\EMsimple + \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} + \fi\fi + \endgroup +} + +% +% Change the current font style to #1, remembering it in \curfontstyle. +% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in +% italics, not bold italics. +% +\def\setfontstyle#1{% + \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. + \csname #1font\endcsname % change the current font +} + +\def\rm{\fam=0 \setfontstyle{rm}} +\def\it{\fam=\itfam \setfontstyle{it}} +\def\sl{\fam=\slfam \setfontstyle{sl}} +\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} +\def\tt{\fam=\ttfam \setfontstyle{tt}}\def\ttstylename{tt} + +% Texinfo sort of supports the sans serif font style, which plain TeX does not. +% So we set up a \sf. +\newfam\sffam +\def\sf{\fam=\sffam \setfontstyle{sf}} + +% We don't need math for this font style. +\def\ttsl{\setfontstyle{ttsl}} + + +% In order for the font changes to affect most math symbols and letters, +% we have to define the \textfont of the standard families. +% We don't bother to reset \scriptscriptfont; awaiting user need. +% +\def\resetmathfonts{% + \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont + \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont + \textfont\ttfam=\ttfont \textfont\sffam=\sffont + % + % Fonts for superscript. Note that the 7pt fonts are used regardless + % of the current font size. + \scriptfont0=\sevenrm \scriptfont1=\seveni \scriptfont2=\sevensy + \scriptfont\itfam=\sevenit \scriptfont\slfam=\sevensl + \scriptfont\bffam=\sevenbf \scriptfont\ttfam=\seventt + \scriptfont\sffam=\sevensf +} + +% + +% The font-changing commands (all called \...fonts) redefine the meanings +% of \STYLEfont, instead of just \STYLE. We do this because \STYLE needs +% to also set the current \fam for math mode. Our \STYLE (e.g., \rm) +% commands hardwire \STYLEfont to set the current font. +% +% The fonts used for \ifont are for "math italics" (\itfont is for italics +% in regular text). \syfont is also used in math mode only. +% +% Each font-changing command also sets the names \lsize (one size lower) +% and \lllsize (three sizes lower). These relative commands are used +% in, e.g., the LaTeX logo and acronyms. +% +% This all needs generalizing, badly. +% + +\def\assignfonts#1{% + \expandafter\let\expandafter\rmfont\csname #1rm\endcsname + \expandafter\let\expandafter\itfont\csname #1it\endcsname + \expandafter\let\expandafter\slfont\csname #1sl\endcsname + \expandafter\let\expandafter\bffont\csname #1bf\endcsname + \expandafter\let\expandafter\ttfont\csname #1tt\endcsname + \expandafter\let\expandafter\smallcaps\csname #1sc\endcsname + \expandafter\let\expandafter\sffont \csname #1sf\endcsname + \expandafter\let\expandafter\ifont \csname #1i\endcsname + \expandafter\let\expandafter\syfont \csname #1sy\endcsname + \expandafter\let\expandafter\ttslfont\csname #1ttsl\endcsname +} + +\newif\ifrmisbold + +% Select smaller font size with the current style. Used to change font size +% in, e.g., the LaTeX logo and acronyms. If we are using bold fonts for +% normal roman text, also use bold fonts for roman text in the smaller size. +\def\switchtolllsize{% + \expandafter\assignfonts\expandafter{\lllsize}% + \ifrmisbold + \let\rmfont\bffont + \fi + \csname\curfontstyle\endcsname +}% + +\def\switchtolsize{% + \expandafter\assignfonts\expandafter{\lsize}% + \ifrmisbold + \let\rmfont\bffont + \fi + \csname\curfontstyle\endcsname +}% + +\def\definefontsetatsize#1#2#3#4#5{% +\expandafter\def\csname #1fonts\endcsname{% + \def\curfontsize{#1}% + \def\lsize{#2}\def\lllsize{#3}% + \csname rmisbold#5\endcsname + \assignfonts{#1}% + \resetmathfonts + \setleading{#4}% +}} + +\definefontsetatsize{text} {reduced}{smaller}{\textleading}{false} +\definefontsetatsize{title} {chap} {subsec} {27pt} {true} +\definefontsetatsize{chap} {sec} {text} {19pt} {true} +\definefontsetatsize{sec} {subsec} {reduced}{17pt} {true} +\definefontsetatsize{ssec} {text} {small} {15pt} {true} +\definefontsetatsize{reduced}{small} {smaller}{10.5pt}{false} +\definefontsetatsize{small} {smaller}{smaller}{10.5pt}{false} +\definefontsetatsize{smaller}{smaller}{smaller}{9.5pt} {false} + +\def\titlefont#1{{\titlefonts\rm #1}} +\let\subsecfonts = \ssecfonts +\let\subsubsecfonts = \ssecfonts + +% Define these just so they can be easily changed for other fonts. +\def\angleleft{$\langle$} +\def\angleright{$\rangle$} + +% Set the fonts to use with the @small... environments. +\let\smallexamplefonts = \smallfonts + +% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample +% can fit this many characters: +% 8.5x11=86 smallbook=72 a4=90 a5=69 +% If we use \scriptfonts (8pt), then we can fit this many characters: +% 8.5x11=90+ smallbook=80 a4=90+ a5=77 +% For me, subjectively, the few extra characters that fit aren't worth +% the additional smallness of 8pt. So I'm making the default 9pt. +% +% By the way, for comparison, here's what fits with @example (10pt): +% 8.5x11=71 smallbook=60 a4=75 a5=58 +% --karl, 24jan03. + +% Set up the default fonts, so we can use them for creating boxes. +% +\definetextfontsizexi + + +% Check if we are currently using a typewriter font. Since all the +% Computer Modern typewriter fonts have zero interword stretch (and +% shrink), and it is reasonable to expect all typewriter fonts to have +% this property, we can check that font parameter. +% +\def\ifmonospace{\ifdim\fontdimen3\font=0pt } + +{ +\catcode`\'=\active +\catcode`\`=\active + +\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright} +\gdef\setregularquotes{\let`\lq \let'\rq} +} + +% Allow an option to not use regular directed right quote/apostrophe +% (char 0x27), but instead the undirected quote from cmtt (char 0x0d). +% The undirected quote is ugly, so don't make it the default, but it +% works for pasting with more pdf viewers (at least evince), the +% lilypond developers report. xpdf does work with the regular 0x27. +% +\def\codequoteright{% + \ifmonospace + \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax + \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax + '% + \else \char'15 \fi + \else \char'15 \fi + \else + '% + \fi +} +% +% and a similar option for the left quote char vs. a grave accent. +% Modern fonts display ASCII 0x60 as a grave accent, so some people like +% the code environments to do likewise. +% +\def\codequoteleft{% + \ifmonospace + \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax + \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax + % [Knuth] pp. 380,381,391 + % \relax disables Spanish ligatures ?` and !` of \tt font. + \relax`% + \else \char'22 \fi + \else \char'22 \fi + \else + \relax`% + \fi +} + +% Commands to set the quote options. +% +\parseargdef\codequoteundirected{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETtxicodequoteundirected\endcsname + = t% + \else\ifx\temp\offword + \expandafter\let\csname SETtxicodequoteundirected\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}% + \fi\fi +} +% +\parseargdef\codequotebacktick{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETtxicodequotebacktick\endcsname + = t% + \else\ifx\temp\offword + \expandafter\let\csname SETtxicodequotebacktick\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}% + \fi\fi +} + +% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. +\def\noligaturesquoteleft{\relax\lq} + +% Count depth in font-changes, for error checks +\newcount\fontdepth \fontdepth=0 + +% Font commands. + +% #1 is the font command (\sl or \it), #2 is the text to slant. +% If we are in a monospaced environment, however, 1) always use \ttsl, +% and 2) do not add an italic correction. +\def\dosmartslant#1#2{% + \ifusingtt + {{\ttsl #2}\let\next=\relax}% + {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% + \next +} +\def\smartslanted{\dosmartslant\sl} +\def\smartitalic{\dosmartslant\it} + +% Output an italic correction unless \next (presumed to be the following +% character) is such as not to need one. +\def\smartitaliccorrection{% + \ifx\next,% + \else\ifx\next-% + \else\ifx\next.% + \else\ifx\next\.% + \else\ifx\next\comma% + \else\ptexslash + \fi\fi\fi\fi\fi + \aftersmartic +} + +% Unconditional use \ttsl, and no ic. @var is set to this for defuns. +\def\ttslanted#1{{\ttsl #1}} + +% @cite is like \smartslanted except unconditionally use \sl. We never want +% ttsl for book titles, do we? +\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} + +\def\aftersmartic{} +\def\var#1{% + \let\saveaftersmartic = \aftersmartic + \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% + \smartslanted{#1}% +} + +\let\i=\smartitalic +\let\slanted=\smartslanted +\let\dfn=\smartslanted +\let\emph=\smartitalic + +% Explicit font changes: @r, @sc, undocumented @ii. +\def\r#1{{\rm #1}} % roman font +\def\sc#1{{\smallcaps#1}} % smallcaps font +\def\ii#1{{\it #1}} % italic font + +% @b, explicit bold. Also @strong. +\def\b#1{{\bf #1}} +\let\strong=\b + +% @sansserif, explicit sans. +\def\sansserif#1{{\sf #1}} + +% We can't just use \exhyphenpenalty, because that only has effect at +% the end of a paragraph. Restore normal hyphenation at the end of the +% group within which \nohyphenation is presumably called. +% +\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} +\def\restorehyphenation{\hyphenchar\font = `- } + +% Set sfcode to normal for the chars that usually have another value. +% Can't use plain's \frenchspacing because it uses the `\x notation, and +% sometimes \x has an active definition that messes things up. +% +\catcode`@=11 + \def\plainfrenchspacing{% + \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m + \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m + \def\endofsentencespacefactor{1000}% for @. and friends + } + \def\plainnonfrenchspacing{% + \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 + \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 + \def\endofsentencespacefactor{3000}% for @. and friends + } +\catcode`@=\other +\def\endofsentencespacefactor{3000}% default + +% @t, explicit typewriter. +\def\t#1{% + {\tt \plainfrenchspacing #1}% + \null +} + +% @samp. +\def\samp#1{{\setcodequotes\lq\tclose{#1}\rq\null}} + +% @indicateurl is \samp, that is, with quotes. +\let\indicateurl=\samp + +% @code (and similar) prints in typewriter, but with spaces the same +% size as normal in the surrounding text, without hyphenation, etc. +% This is a subroutine for that. +\def\tclose#1{% + {% + % Change normal interword space to be same as for the current font. + \spaceskip = \fontdimen2\font + % + % Switch to typewriter. + \tt + % + % But `\ ' produces the large typewriter interword space. + \def\ {{\spaceskip = 0pt{} }}% + % + % Turn off hyphenation. + \nohyphenation + % + \plainfrenchspacing + #1% + }% + \null % reset spacefactor to 1000 +} + +% We *must* turn on hyphenation at `-' and `_' in @code. +% (But see \codedashfinish below.) +% Otherwise, it is too hard to avoid overfull hboxes +% in the Emacs manual, the Library manual, etc. +% +% Unfortunately, TeX uses one parameter (\hyphenchar) to control +% both hyphenation at - and hyphenation within words. +% We must therefore turn them both off (\tclose does that) +% and arrange explicitly to hyphenate at a dash. -- rms. +{ + \catcode`\-=\active \catcode`\_=\active + \catcode`\'=\active \catcode`\`=\active + \global\let'=\rq \global\let`=\lq % default definitions + % + \global\def\code{\begingroup + \setcodequotes + \catcode\dashChar=\active \catcode\underChar=\active + \ifallowcodebreaks + \let-\codedash + \let_\codeunder + \else + \let-\normaldash + \let_\realunder + \fi + % Given -foo (with a single dash), we do not want to allow a break + % after the hyphen. + \global\let\codedashprev=\codedash + % + \codex + } + % + \gdef\codedash{\futurelet\next\codedashfinish} + \gdef\codedashfinish{% + \normaldash % always output the dash character itself. + % + % Now, output a discretionary to allow a line break, unless + % (a) the next character is a -, or + % (b) the preceding character is a -. + % E.g., given --posix, we do not want to allow a break after either -. + % Given --foo-bar, we do want to allow a break between the - and the b. + \ifx\next\codedash \else + \ifx\codedashprev\codedash + \else \discretionary{}{}{}\fi + \fi + % we need the space after the = for the case when \next itself is a + % space token; it would get swallowed otherwise. As in @code{- a}. + \global\let\codedashprev= \next + } +} +\def\normaldash{-} +% +\def\codex #1{\tclose{#1}\endgroup} + +\def\codeunder{% + % this is all so @math{@code{var_name}+1} can work. In math mode, _ + % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) + % will therefore expand the active definition of _, which is us + % (inside @code that is), therefore an endless loop. + \ifusingtt{\ifmmode + \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. + \else\normalunderscore \fi + \discretionary{}{}{}}% + {\_}% +} + +% An additional complication: the above will allow breaks after, e.g., +% each of the four underscores in __typeof__. This is bad. +% @allowcodebreaks provides a document-level way to turn breaking at - +% and _ on and off. +% +\newif\ifallowcodebreaks \allowcodebreakstrue + +\def\keywordtrue{true} +\def\keywordfalse{false} + +\parseargdef\allowcodebreaks{% + \def\txiarg{#1}% + \ifx\txiarg\keywordtrue + \allowcodebreakstrue + \else\ifx\txiarg\keywordfalse + \allowcodebreaksfalse + \else + \errhelp = \EMsimple + \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}% + \fi\fi +} + +% For @command, @env, @file, @option quotes seem unnecessary, +% so use \code rather than \samp. +\let\command=\code +\let\env=\code +\let\file=\code +\let\option=\code + +% @uref (abbreviation for `urlref') aka @url takes an optional +% (comma-separated) second argument specifying the text to display and +% an optional third arg as text to display instead of (rather than in +% addition to) the url itself. First (mandatory) arg is the url. + +% TeX-only option to allow changing PDF output to show only the second +% arg (if given), and not the url (which is then just the link target). +\newif\ifurefurlonlylink + +% The default \pretolerance setting stops the penalty inserted in +% \urefallowbreak being a discouragement to line breaking. Set it to +% a negative value for this paragraph only. Hopefully this does not +% conflict with redefinitions of \par done elsewhere. +\def\nopretolerance{% +\pretolerance=-1 +\def\par{\endgraf\pretolerance=100 \let\par\endgraf}% +} + +% The main macro is \urefbreak, which allows breaking at expected +% places within the url. +\def\urefbreak{\nopretolerance \begingroup \urefcatcodes \dourefbreak} +\let\uref=\urefbreak +% +\def\dourefbreak#1{\urefbreakfinish #1,,,\finish} +\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example + \unsepspaces + \pdfurl{#1}% + \setbox0 = \hbox{\ignorespaces #3}% + \ifdim\wd0 > 0pt + \unhbox0 % third arg given, show only that + \else + \setbox0 = \hbox{\ignorespaces #2}% look for second arg + \ifdim\wd0 > 0pt + \ifpdf + % For pdfTeX and LuaTeX + \ifurefurlonlylink + % PDF plus option to not display url, show just arg + \unhbox0 + \else + % PDF, normally display both arg and url for consistency, + % visibility, if the pdf is eventually used to print, etc. + \unhbox0\ (\urefcode{#1})% + \fi + \else + \ifx\XeTeXrevision\thisisundefined + \unhbox0\ (\urefcode{#1})% DVI, always show arg and url + \else + % For XeTeX + \ifurefurlonlylink + % PDF plus option to not display url, show just arg + \unhbox0 + \else + % PDF, normally display both arg and url for consistency, + % visibility, if the pdf is eventually used to print, etc. + \unhbox0\ (\urefcode{#1})% + \fi + \fi + \fi + \else + \urefcode{#1}% only url given, so show it + \fi + \fi + \endlink +\endgroup} + +% Allow line breaks around only a few characters (only). +\def\urefcatcodes{% + \catcode`\&=\active \catcode`\.=\active + \catcode`\#=\active \catcode`\?=\active + \catcode`\/=\active +} +{ + \urefcatcodes + % + \global\def\urefcode{\begingroup + \setcodequotes + \urefcatcodes + \let&\urefcodeamp + \let.\urefcodedot + \let#\urefcodehash + \let?\urefcodequest + \let/\urefcodeslash + \codex + } + % + % By default, they are just regular characters. + \global\def&{\normalamp} + \global\def.{\normaldot} + \global\def#{\normalhash} + \global\def?{\normalquest} + \global\def/{\normalslash} +} + +\def\urefcodeamp{\urefprebreak \&\urefpostbreak} +\def\urefcodedot{\urefprebreak .\urefpostbreak} +\def\urefcodehash{\urefprebreak \#\urefpostbreak} +\def\urefcodequest{\urefprebreak ?\urefpostbreak} +\def\urefcodeslash{\futurelet\next\urefcodeslashfinish} +{ + \catcode`\/=\active + \global\def\urefcodeslashfinish{% + \urefprebreak \slashChar + % Allow line break only after the final / in a sequence of + % slashes, to avoid line break between the slashes in http://. + \ifx\next/\else \urefpostbreak \fi + } +} + +% By default we'll break after the special characters, but some people like to +% break before the special chars, so allow that. Also allow no breaking at +% all, for manual control. +% +\parseargdef\urefbreakstyle{% + \def\txiarg{#1}% + \ifx\txiarg\wordnone + \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak} + \else\ifx\txiarg\wordbefore + \def\urefprebreak{\urefallowbreak}\def\urefpostbreak{\nobreak} + \else\ifx\txiarg\wordafter + \def\urefprebreak{\nobreak}\def\urefpostbreak{\urefallowbreak} + \else + \errhelp = \EMsimple + \errmessage{Unknown @urefbreakstyle setting `\txiarg'}% + \fi\fi\fi +} +\def\wordafter{after} +\def\wordbefore{before} +\def\wordnone{none} + +% Allow a ragged right output to aid breaking long URL's. There can +% be a break at the \allowbreak with no extra glue (if the existing stretch in +% the line is sufficient), a break at the \penalty with extra glue added +% at the end of the line, or no break at all here. +% Changing the value of the penalty and/or the amount of stretch affects how +% preferable one choice is over the other. +\def\urefallowbreak{% + \penalty0\relax + \hskip 0pt plus 2 em\relax + \penalty1000\relax + \hskip 0pt plus -2 em\relax +} + +\urefbreakstyle after + +% @url synonym for @uref, since that's how everyone uses it. +% +\let\url=\uref + +% rms does not like angle brackets --karl, 17may97. +% So now @email is just like @uref, unless we are pdf. +% +%\def\email#1{\angleleft{\tt #1}\angleright} +\ifpdforxetex + \def\email#1{\doemail#1,,\finish} + \def\doemail#1,#2,#3\finish{\begingroup + \unsepspaces + \pdfurl{mailto:#1}% + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi + \endlink + \endgroup} +\else + \let\email=\uref +\fi + +% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), +% `example' (@kbd uses ttsl only inside of @example and friends), +% or `code' (@kbd uses normal tty font always). +\parseargdef\kbdinputstyle{% + \def\txiarg{#1}% + \ifx\txiarg\worddistinct + \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% + \else\ifx\txiarg\wordexample + \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% + \else\ifx\txiarg\wordcode + \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% + \else + \errhelp = \EMsimple + \errmessage{Unknown @kbdinputstyle setting `\txiarg'}% + \fi\fi\fi +} +\def\worddistinct{distinct} +\def\wordexample{example} +\def\wordcode{code} + +% Default is `distinct'. +\kbdinputstyle distinct + +% @kbd is like @code, except that if the argument is just one @key command, +% then @kbd has no effect. +\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} + +\def\xkey{\key} +\def\kbdsub#1#2#3\par{% + \def\one{#1}\def\three{#3}\def\threex{??}% + \ifx\one\xkey\ifx\threex\three \key{#2}% + \else{\tclose{\kbdfont\setcodequotes\look}}\fi + \else{\tclose{\kbdfont\setcodequotes\look}}\fi +} + +% definition of @key that produces a lozenge. Doesn't adjust to text size. +%\setfont\keyrm\rmshape{8}{1000}{OT1} +%\font\keysy=cmsy9 +%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% +% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% +% \vbox{\hrule\kern-0.4pt +% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% +% \kern-0.4pt\hrule}% +% \kern-.06em\raise0.4pt\hbox{\angleright}}}} + +% definition of @key with no lozenge. +% +\def\key#1{{\setregularquotes \nohyphenation \tt #1}\null} + +% @clicksequence{File @click{} Open ...} +\def\clicksequence#1{\begingroup #1\endgroup} + +% @clickstyle @arrow (by default) +\parseargdef\clickstyle{\def\click{#1}} +\def\click{\arrow} + +% Typeset a dimension, e.g., `in' or `pt'. The only reason for the +% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. +% +\def\dmn#1{\thinspace #1} + +% @acronym for "FBI", "NATO", and the like. +% We print this one point size smaller, since it's intended for +% all-uppercase. +% +\def\acronym#1{\doacronym #1,,\finish} +\def\doacronym#1,#2,#3\finish{% + {\switchtolsize #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi + \null % reset \spacefactor=1000 +} + +% @abbr for "Comput. J." and the like. +% No font change, but don't do end-of-sentence spacing. +% +\def\abbr#1{\doabbr #1,,\finish} +\def\doabbr#1,#2,#3\finish{% + {\plainfrenchspacing #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi + \null % reset \spacefactor=1000 +} + +% @asis just yields its argument. Used with @table, for example. +% +\def\asis#1{#1} + +% @math outputs its argument in math mode. +% +% One complication: _ usually means subscripts, but it could also mean +% an actual _ character, as in @math{@var{some_variable} + 1}. So make +% _ active, and distinguish by seeing if the current family is \slfam, +% which is what @var uses. +{ + \catcode`\_ = \active + \gdef\mathunderscore{% + \catcode`\_=\active + \def_{\ifnum\fam=\slfam \_\else\sb\fi}% + } +} +% Another complication: we want \\ (and @\) to output a math (or tt) \. +% FYI, plain.tex uses \\ as a temporary control sequence (for no +% particular reason), but this is not advertised and we don't care. +% +% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. +\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} +% +\def\math{% + \ifmmode\else % only go into math if not in math mode already + \tex + \mathunderscore + \let\\ = \mathbackslash + \mathactive + % make the texinfo accent commands work in math mode + \let\"=\ddot + \let\'=\acute + \let\==\bar + \let\^=\hat + \let\`=\grave + \let\u=\breve + \let\v=\check + \let\~=\tilde + \let\dotaccent=\dot + % have to provide another name for sup operator + \let\mathopsup=\sup + $\expandafter\finishmath\fi +} +\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. + +% Some active characters (such as <) are spaced differently in math. +% We have to reset their definitions in case the @math was an argument +% to a command which sets the catcodes (such as @item or @section). +% +{ + \catcode`^ = \active + \catcode`< = \active + \catcode`> = \active + \catcode`+ = \active + \catcode`' = \active + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + \let' = \ptexquoteright + } +} + +% for @sub and @sup, if in math mode, just do a normal sub/superscript. +% If in text, use math to place as sub/superscript, but switch +% into text mode, with smaller fonts. This is a different font than the +% one used for real math sub/superscripts (8pt vs. 7pt), but let's not +% fix it (significant additions to font machinery) until someone notices. +% +\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi} +\def\finishsub#1{$\sb{\hbox{\switchtolllsize #1}}$}% +% +\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi} +\def\finishsup#1{$\ptexsp{\hbox{\switchtolllsize #1}}$}% + +% provide this command from LaTeX as it is very common +\def\frac#1#2{{{#1}\over{#2}}} + +% @displaymath. +% \globaldefs is needed to recognize the end lines in \tex and +% \end tex. Set \thisenv as @end displaymath is seen before @end tex. +{\obeylines +\globaldefs=1 +\envdef\displaymath{% +\tex% +\def\thisenv{\displaymath}% +\begingroup\let\end\displaymathend% +$$% +} + +\def\displaymathend{$$\endgroup\end}% + +\def\Edisplaymath{% +\def\thisenv{\tex}% +\end tex +}} + + +% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. +% Ignore unless FMTNAME == tex; then it is like @iftex and @tex, +% except specified as a normal braced arg, so no newlines to worry about. +% +\def\outfmtnametex{tex} +% +\long\def\inlinefmt#1{\doinlinefmt #1,\finish} +\long\def\doinlinefmt#1,#2,\finish{% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi +} +% +% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if +% FMTNAME is tex, else ELSE-TEXT. +\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} +\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi +} +% +% For raw, must switch into @tex before parsing the argument, to avoid +% setting catcodes prematurely. Doing it this way means that, for +% example, @inlineraw{html, foo{bar} gets a parse error instead of being +% ignored. But this isn't important because if people want a literal +% *right* brace they would have to use a command anyway, so they may as +% well use a command to get a left brace too. We could re-use the +% delimiter character idea from \verb, but it seems like overkill. +% +\long\def\inlineraw{\tex \doinlineraw} +\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} +\def\doinlinerawtwo#1,#2,\finish{% + \def\inlinerawname{#1}% + \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi + \endgroup % close group opened by \tex. +} + +% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set. +% +\long\def\inlineifset#1{\doinlineifset #1,\finish} +\long\def\doinlineifset#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax + \else\ignorespaces#2\fi +} + +% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set. +% +\long\def\inlineifclear#1{\doinlineifclear #1,\finish} +\long\def\doinlineifclear#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi +} + + +\message{glyphs,} +% and logos. + +% @@ prints an @, as does @atchar{}. +\def\@{\char64 } +\let\atchar=\@ + +% @{ @} @lbracechar{} @rbracechar{} all generate brace characters. +\def\lbracechar{{\ifmonospace\char123\else\ensuremath\lbrace\fi}} +\def\rbracechar{{\ifmonospace\char125\else\ensuremath\rbrace\fi}} +\let\{=\lbracechar +\let\}=\rbracechar + +% @comma{} to avoid , parsing problems. +\let\comma = , + +% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent +% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. +\let\, = \ptexc +\let\dotaccent = \ptexdot +\def\ringaccent#1{{\accent23 #1}} +\let\tieaccent = \ptext +\let\ubaraccent = \ptexb +\let\udotaccent = \d + +% Other special characters: @questiondown @exclamdown @ordf @ordm +% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. +\def\questiondown{?`} +\def\exclamdown{!`} +\def\ordf{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{a}}} +\def\ordm{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{o}}} + +% Dotless i and dotless j, used for accents. +\def\imacro{i} +\def\jmacro{j} +\def\dotless#1{% + \def\temp{#1}% + \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi + \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi + \else \errmessage{@dotless can be used only with i or j}% + \fi\fi +} + +% The \TeX{} logo, as in plain, but resetting the spacing so that a +% period following counts as ending a sentence. (Idea found in latex.) +% +\edef\TeX{\TeX \spacefactor=1000 } + +% @LaTeX{} logo. Not quite the same results as the definition in +% latex.ltx, since we use a different font for the raised A; it's most +% convenient for us to use an explicitly smaller font, rather than using +% the \scriptstyle font (since we don't reset \scriptstyle and +% \scriptscriptstyle). +% +\def\LaTeX{% + L\kern-.36em + {\setbox0=\hbox{T}% + \vbox to \ht0{\hbox{% + \ifx\textnominalsize\xwordpt + % for 10pt running text, lllsize (8pt) is too small for the A in LaTeX. + % Revert to plain's \scriptsize, which is 7pt. + \count255=\the\fam $\fam\count255 \scriptstyle A$% + \else + % For 11pt, we can use our lllsize. + \switchtolllsize A% + \fi + }% + \vss + }}% + \kern-.15em + \TeX +} + +% Some math mode symbols. Define \ensuremath to switch into math mode +% unless we are already there. Expansion tricks may not be needed here, +% but safer, and can't hurt. +\def\ensuremath{\ifmmode \expandafter\asis \else\expandafter\ensuredmath \fi} +\def\ensuredmath#1{$\relax#1$} +% +\def\bullet{\ensuremath\ptexbullet} +\def\geq{\ensuremath\ge} +\def\leq{\ensuremath\le} +\def\minus{\ensuremath-} + +% @dots{} outputs an ellipsis using the current font. +% We do .5em per period so that it has the same spacing in the cm +% typewriter fonts as three actual period characters; on the other hand, +% in other typewriter fonts three periods are wider than 1.5em. So do +% whichever is larger. +% +\def\dots{% + \leavevmode + \setbox0=\hbox{...}% get width of three periods + \ifdim\wd0 > 1.5em + \dimen0 = \wd0 + \else + \dimen0 = 1.5em + \fi + \hbox to \dimen0{% + \hskip 0pt plus.25fil + .\hskip 0pt plus1fil + .\hskip 0pt plus1fil + .\hskip 0pt plus.5fil + }% +} + +% @enddots{} is an end-of-sentence ellipsis. +% +\def\enddots{% + \dots + \spacefactor=\endofsentencespacefactor +} + +% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. +% +% Since these characters are used in examples, they should be an even number of +% \tt widths. Each \tt character is 1en, so two makes it 1em. +% +\def\point{$\star$} +\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} +\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} +\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} +\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} +\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} + +% The @error{} command. +% Adapted from the TeXbook's \boxit. +% +\newbox\errorbox +% +{\ttfont \global\dimen0 = 3em}% Width of the box. +\dimen2 = .55pt % Thickness of rules +% The text. (`r' is open on the right, `e' somewhat less so on the left.) +\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt} +% +\setbox\errorbox=\hbox to \dimen0{\hfil + \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. + \advance\hsize by -2\dimen2 % Rules. + \vbox{% + \hrule height\dimen2 + \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. + \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. + \kern3pt\vrule width\dimen2}% Space to right. + \hrule height\dimen2} + \hfil} +% +\def\error{\leavevmode\lower.7ex\copy\errorbox} + +% @pounds{} is a sterling sign, which Knuth put in the CM italic font. +% +\def\pounds{\ifmonospace{\ecfont\char"BF}\else{\it\$}\fi} + +% @euro{} comes from a separate font, depending on the current style. +% We use the free feym* fonts from the eurosym package by Henrik +% Theiling, which support regular, slanted, bold and bold slanted (and +% "outlined" (blackboard board, sort of) versions, which we don't need). +% It is available from http://www.ctan.org/tex-archive/fonts/eurosym. +% +% Although only regular is the truly official Euro symbol, we ignore +% that. The Euro is designed to be slightly taller than the regular +% font height. +% +% feymr - regular +% feymo - slanted +% feybr - bold +% feybo - bold slanted +% +% There is no good (free) typewriter version, to my knowledge. +% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. +% Hmm. +% +% Also doesn't work in math. Do we need to do math with euro symbols? +% Hope not. +% +% +\def\euro{{\eurofont e}} +\def\eurofont{% + % We set the font at each command, rather than predefining it in + % \textfonts and the other font-switching commands, so that + % installations which never need the symbol don't have to have the + % font installed. + % + % There is only one designed size (nominal 10pt), so we always scale + % that to the current nominal size. + % + % By the way, simply using "at 1em" works for cmr10 and the like, but + % does not work for cmbx10 and other extended/shrunken fonts. + % + \def\eurosize{\csname\curfontsize nominalsize\endcsname}% + % + \ifx\curfontstyle\bfstylename + % bold: + \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize + \else + % regular: + \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize + \fi + \thiseurofont +} + +% Glyphs from the EC fonts. We don't use \let for the aliases, because +% sometimes we redefine the original macro, and the alias should reflect +% the redefinition. +% +% Use LaTeX names for the Icelandic letters. +\def\DH{{\ecfont \char"D0}} % Eth +\def\dh{{\ecfont \char"F0}} % eth +\def\TH{{\ecfont \char"DE}} % Thorn +\def\th{{\ecfont \char"FE}} % thorn +% +\def\guillemetleft{{\ecfont \char"13}} +\def\guillemotleft{\guillemetleft} +\def\guillemetright{{\ecfont \char"14}} +\def\guillemotright{\guillemetright} +\def\guilsinglleft{{\ecfont \char"0E}} +\def\guilsinglright{{\ecfont \char"0F}} +\def\quotedblbase{{\ecfont \char"12}} +\def\quotesinglbase{{\ecfont \char"0D}} +% +\def\L{{\ecfont \char"8A}} % L with stroke +\def\l{{\ecfont \char"AA}} % l with stroke +% +% This positioning is not perfect (see the ogonek LaTeX package), but +% we have the precomposed glyphs for the most common cases. We put the +% tests to use those glyphs in the single \ogonek macro so we have fewer +% dummy definitions to worry about for index entries, etc. +% +% ogonek is also used with other letters in Lithuanian (IOU), but using +% the precomposed glyphs for those is not so easy since they aren't in +% the same EC font. +\def\ogonek#1{{% + \def\temp{#1}% + \ifx\temp\macrocharA\Aogonek + \else\ifx\temp\macrochara\aogonek + \else\ifx\temp\macrocharE\Eogonek + \else\ifx\temp\macrochare\eogonek + \else + \ecfont \setbox0=\hbox{#1}% + \ifdim\ht0=1ex\accent"0C #1% + \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% + \fi + \fi\fi\fi\fi + }% +} +\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} +\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} +\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} +\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} +% +% Use the European Computer Modern fonts (cm-super in outline format) +% for non-CM glyphs. That is ec* for regular text and tc* for the text +% companion symbols (LaTeX TS1 encoding). Both are part of the ec +% package and follow the same conventions. +% +\def\ecfont{\etcfont{e}} +\def\tcfont{\etcfont{t}} +% +\def\etcfont#1{% + % We can't distinguish serif/sans and italic/slanted, but this + % is used for crude hacks anyway (like adding French and German + % quotes to documents typeset with CM, where we lose kerning), so + % hopefully nobody will notice/care. + \edef\ecsize{\csname\curfontsize ecsize\endcsname}% + \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% + \ifmonospace + % typewriter: + \font\thisecfont = #1ctt\ecsize \space at \nominalsize + \else + \ifx\curfontstyle\bfstylename + % bold: + \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize + \else + % regular: + \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \fi + \fi + \thisecfont +} + +% @registeredsymbol - R in a circle. The font for the R should really +% be smaller yet, but lllsize is the best we can do for now. +% Adapted from the plain.tex definition of \copyright. +% +\def\registeredsymbol{% + $^{{\ooalign{\hfil\raise.07ex\hbox{\switchtolllsize R}% + \hfil\crcr\Orb}}% + }$% +} + +% @textdegree - the normal degrees sign. +% +\def\textdegree{$^\circ$} + +% Laurent Siebenmann reports \Orb undefined with: +% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 +% so we'll define it if necessary. +% +\ifx\Orb\thisisundefined +\def\Orb{\mathhexbox20D} +\fi + +% Quotes. +\chardef\quoteleft=`\` +\chardef\quoteright=`\' + +% only change font for tt for correct kerning and to avoid using +% \ecfont unless necessary. +\def\quotedblleft{% + \ifmonospace{\ecfont\char"10}\else{\char"5C}\fi +} + +\def\quotedblright{% + \ifmonospace{\ecfont\char"11}\else{\char`\"}\fi +} + + +\message{page headings,} + +\newskip\titlepagetopglue \titlepagetopglue = 1.5in +\newskip\titlepagebottomglue \titlepagebottomglue = 2pc + +% First the title page. Must do @settitle before @titlepage. +\newif\ifseenauthor +\newif\iffinishedtitlepage + +% @setcontentsaftertitlepage used to do an implicit @contents or +% @shortcontents after @end titlepage, but it is now obsolete. +\def\setcontentsaftertitlepage{% + \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo + command; move your @contents command if you want the contents + after the title page.}}% +\def\setshortcontentsaftertitlepage{% + \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo + command; move your @shortcontents and @contents commands if you + want the contents after the title page.}}% + +\parseargdef\shorttitlepage{% + \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% + \endgroup\page\hbox{}\page} + +\envdef\titlepage{% + % Open one extra group, as we want to close it in the middle of \Etitlepage. + \begingroup + \parindent=0pt \textfonts + % Leave some space at the very top of the page. + \vglue\titlepagetopglue + % No rule at page bottom unless we print one at the top with @title. + \finishedtitlepagetrue + % + % Most title ``pages'' are actually two pages long, with space + % at the top of the second. We don't want the ragged left on the second. + \let\oldpage = \page + \def\page{% + \iffinishedtitlepage\else + \finishtitlepage + \fi + \let\page = \oldpage + \page + \null + }% +} + +\def\Etitlepage{% + \iffinishedtitlepage\else + \finishtitlepage + \fi + % It is important to do the page break before ending the group, + % because the headline and footline are only empty inside the group. + % If we use the new definition of \page, we always get a blank page + % after the title page, which we certainly don't want. + \oldpage + \endgroup + % + % Need this before the \...aftertitlepage checks so that if they are + % in effect the toc pages will come out with page numbers. + \HEADINGSon +} + +\def\finishtitlepage{% + \vskip4pt \hrule height 2pt width \hsize + \vskip\titlepagebottomglue + \finishedtitlepagetrue +} + +% Settings used for typesetting titles: no hyphenation, no indentation, +% don't worry much about spacing, ragged right. This should be used +% inside a \vbox, and fonts need to be set appropriately first. \par should +% be specified before the end of the \vbox, since a vbox is a group. +% +\def\raggedtitlesettings{% + \rm + \hyphenpenalty=10000 + \parindent=0pt + \tolerance=5000 + \ptexraggedright +} + +% Macros to be used within @titlepage: + +\let\subtitlerm=\rmfont +\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} + +\parseargdef\title{% + \checkenv\titlepage + \vbox{\titlefonts \raggedtitlesettings #1\par}% + % print a rule at the page bottom also. + \finishedtitlepagefalse + \vskip4pt \hrule height 4pt width \hsize \vskip4pt +} + +\parseargdef\subtitle{% + \checkenv\titlepage + {\subtitlefont \rightline{#1}}% +} + +% @author should come last, but may come many times. +% It can also be used inside @quotation. +% +\parseargdef\author{% + \def\temp{\quotation}% + \ifx\thisenv\temp + \def\quotationauthor{#1}% printed in \Equotation. + \else + \checkenv\titlepage + \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi + {\secfonts\rm \leftline{#1}}% + \fi +} + + +% Set up page headings and footings. + +\let\thispage=\folio + +\newtoks\evenheadline % headline on even pages +\newtoks\oddheadline % headline on odd pages +\newtoks\evenchapheadline% headline on even pages with a new chapter +\newtoks\oddchapheadline % headline on odd pages with a new chapter +\newtoks\evenfootline % footline on even pages +\newtoks\oddfootline % footline on odd pages + +% Now make \makeheadline and \makefootline in Plain TeX use those variables +\headline={{\textfonts\rm + \ifchapterpage + \ifodd\pageno\the\oddchapheadline\else\the\evenchapheadline\fi + \else + \ifodd\pageno\the\oddheadline\else\the\evenheadline\fi + \fi}} + +\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline + \else \the\evenfootline \fi}\HEADINGShook} +\let\HEADINGShook=\relax + +% Commands to set those variables. +% For example, this is what @headings on does +% @evenheading @thistitle|@thispage|@thischapter +% @oddheading @thischapter|@thispage|@thistitle +% @evenfooting @thisfile|| +% @oddfooting ||@thisfile + + +\def\evenheading{\parsearg\evenheadingxxx} +\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} +\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% + \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}} + \global\evenchapheadline=\evenheadline} + +\def\oddheading{\parsearg\oddheadingxxx} +\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} +\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% + \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}% + \global\oddchapheadline=\oddheadline} + +\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% + +\def\evenfooting{\parsearg\evenfootingxxx} +\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} +\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% +\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + +\def\oddfooting{\parsearg\oddfootingxxx} +\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} +\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% + \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% + % + % Leave some space for the footline. Hopefully ok to assume + % @evenfooting will not be used by itself. + \global\advance\txipageheight by -12pt + \global\advance\vsize by -12pt +} + +\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} + +% @evenheadingmarks top \thischapter <- chapter at the top of a page +% @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page +% +% The same set of arguments for: +% +% @oddheadingmarks +% @evenfootingmarks +% @oddfootingmarks +% @everyheadingmarks +% @everyfootingmarks + +% These define \getoddheadingmarks, \getevenheadingmarks, +% \getoddfootingmarks, and \getevenfootingmarks, each to one of +% \gettopheadingmarks, \getbottomheadingmarks. +% +\def\evenheadingmarks{\headingmarks{even}{heading}} +\def\oddheadingmarks{\headingmarks{odd}{heading}} +\def\evenfootingmarks{\headingmarks{even}{footing}} +\def\oddfootingmarks{\headingmarks{odd}{footing}} +\parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1} + \headingmarks{odd}{heading}{#1} } +\parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1} + \headingmarks{odd}{footing}{#1} } +% #1 = even/odd, #2 = heading/footing, #3 = top/bottom. +\def\headingmarks#1#2#3 {% + \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname + \global\expandafter\let\csname get#1#2marks\endcsname \temp +} + +\everyheadingmarks bottom +\everyfootingmarks bottom + +% @headings double turns headings on for double-sided printing. +% @headings single turns headings on for single-sided printing. +% @headings off turns them off. +% @headings on same as @headings double, retained for compatibility. +% @headings after turns on double-sided headings after this page. +% @headings doubleafter turns on double-sided headings after this page. +% @headings singleafter turns on single-sided headings after this page. +% By default, they are off at the start of a document, +% and turned `on' after @end titlepage. + +\parseargdef\headings{\csname HEADINGS#1\endcsname} + +\def\headingsoff{% non-global headings elimination + \evenheadline={\hfil}\evenfootline={\hfil}\evenchapheadline={\hfil}% + \oddheadline={\hfil}\oddfootline={\hfil}\oddchapheadline={\hfil}% +} + +\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting +\HEADINGSoff % it's the default + +% When we turn headings on, set the page number to 1. +\def\pageone{ + \global\pageno=1 + \global\arabiccount = \pagecount +} + +% For double-sided printing, put current file name in lower left corner, +% chapter name on inside top of right hand pages, document +% title on inside top of left hand pages, and page numbers on outside top +% edge of all pages. +\def\HEADINGSdouble{% +\pageone +\HEADINGSdoublex +} +\let\contentsalignmacro = \chappager + +% For single-sided printing, chapter title goes across top left of page, +% page number on top right. +\def\HEADINGSsingle{% +\pageone +\HEADINGSsinglex +} +\def\HEADINGSon{\HEADINGSdouble} + +\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} +\let\HEADINGSdoubleafter=\HEADINGSafter +\def\HEADINGSdoublex{% +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\folio\hfil\thistitle}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\evenchapheadline={\line{\folio\hfil}} +\global\oddchapheadline={\line{\hfil\folio}} +\global\let\contentsalignmacro = \chapoddpage +} + +\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} +\def\HEADINGSsinglex{% +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\evenchapheadline={\line{\hfil\folio}} +\global\oddchapheadline={\line{\hfil\folio}} +\global\let\contentsalignmacro = \chappager +} + +% for @setchapternewpage off +\def\HEADINGSsinglechapoff{% +\pageone +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\evenchapheadline=\evenheadline +\global\oddchapheadline=\oddheadline +\global\let\contentsalignmacro = \chappager +} + +% Subroutines used in generating headings +% This produces Day Month Year style of output. +% Only define if not already defined, in case a txi-??.tex file has set +% up a different format (e.g., txi-cs.tex does this). +\ifx\today\thisisundefined +\def\today{% + \number\day\space + \ifcase\month + \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr + \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug + \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec + \fi + \space\number\year} +\fi + +% @settitle line... specifies the title of the document, for headings. +% It generates no output of its own. +\def\thistitle{\putwordNoTitle} +\def\settitle{\parsearg{\gdef\thistitle}} + + +\message{tables,} +% Tables -- @table, @ftable, @vtable, @item(x). + +% default indentation of table text +\newdimen\tableindent \tableindent=.8in +% default indentation of @itemize and @enumerate text +\newdimen\itemindent \itemindent=.3in +% margin between end of table item and start of table text. +\newdimen\itemmargin \itemmargin=.1in + +% used internally for \itemindent minus \itemmargin +\newdimen\itemmax + +% Note @table, @ftable, and @vtable define @item, @itemx, etc., with +% these defs. +% They also define \itemindex +% to index the item name in whatever manner is desired (perhaps none). + +\newif\ifitemxneedsnegativevskip + +\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} + +\def\internalBitem{\smallbreak \parsearg\itemzzz} +\def\internalBitemx{\itemxpar \parsearg\itemzzz} + +\def\itemzzz #1{\begingroup % + \advance\hsize by -\rightskip + \advance\hsize by -\tableindent + \setbox0=\hbox{\itemindicate{#1}}% + \itemindex{#1}% + \nobreak % This prevents a break before @itemx. + % + % If the item text does not fit in the space we have, put it on a line + % by itself, and do not allow a page break either before or after that + % line. We do not start a paragraph here because then if the next + % command is, e.g., @kindex, the whatsit would get put into the + % horizontal list on a line by itself, resulting in extra blank space. + \ifdim \wd0>\itemmax + % + % Make this a paragraph so we get the \parskip glue and wrapping, + % but leave it ragged-right. + \begingroup + \advance\leftskip by-\tableindent + \advance\hsize by\tableindent + \advance\rightskip by0pt plus1fil\relax + \leavevmode\unhbox0\par + \endgroup + % + % We're going to be starting a paragraph, but we don't want the + % \parskip glue -- logically it's part of the @item we just started. + \nobreak \vskip-\parskip + % + % Stop a page break at the \parskip glue coming up. However, if + % what follows is an environment such as @example, there will be no + % \parskip glue; then the negative vskip we just inserted would + % cause the example and the item to crash together. So we use this + % bizarre value of 10001 as a signal to \aboveenvbreak to insert + % \parskip glue after all. Section titles are handled this way also. + % + \penalty 10001 + \endgroup + \itemxneedsnegativevskipfalse + \else + % The item text fits into the space. Start a paragraph, so that the + % following text (if any) will end up on the same line. + \noindent + % Do this with kerns and \unhbox so that if there is a footnote in + % the item text, it can migrate to the main vertical list and + % eventually be printed. + \nobreak\kern-\tableindent + \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 + \unhbox0 + \nobreak\kern\dimen0 + \endgroup + \itemxneedsnegativevskiptrue + \fi +} + +\def\item{\errmessage{@item while not in a list environment}} +\def\itemx{\errmessage{@itemx while not in a list environment}} + +% @table, @ftable, @vtable. +\envdef\table{% + \let\itemindex\gobble + \tablecheck{table}% +} +\envdef\ftable{% + \def\itemindex ##1{\doind {fn}{\code{##1}}}% + \tablecheck{ftable}% +} +\envdef\vtable{% + \def\itemindex ##1{\doind {vr}{\code{##1}}}% + \tablecheck{vtable}% +} +\def\tablecheck#1{% + \ifnum \the\catcode`\^^M=\active + \endgroup + \errmessage{This command won't work in this context; perhaps the problem is + that we are \inenvironment\thisenv}% + \def\next{\doignore{#1}}% + \else + \let\next\tablex + \fi + \next +} +\def\tablex#1{% + \def\itemindicate{#1}% + \parsearg\tabley +} +\def\tabley#1{% + {% + \makevalueexpandable + \edef\temp{\noexpand\tablez #1\space\space\space}% + \expandafter + }\temp \endtablez +} +\def\tablez #1 #2 #3 #4\endtablez{% + \aboveenvbreak + \ifnum 0#1>0 \advance \leftskip by #1\mil \fi + \ifnum 0#2>0 \tableindent=#2\mil \fi + \ifnum 0#3>0 \advance \rightskip by #3\mil \fi + \itemmax=\tableindent + \advance \itemmax by -\itemmargin + \advance \leftskip by \tableindent + \exdentamount=\tableindent + \parindent = 0pt + \parskip = \smallskipamount + \ifdim \parskip=0pt \parskip=2pt \fi + \let\item = \internalBitem + \let\itemx = \internalBitemx +} +\def\Etable{\endgraf\afterenvbreak} +\let\Eftable\Etable +\let\Evtable\Etable +\let\Eitemize\Etable +\let\Eenumerate\Etable + +% This is the counter used by @enumerate, which is really @itemize + +\newcount \itemno + +\envdef\itemize{\parsearg\doitemize} + +\def\doitemize#1{% + \aboveenvbreak + \itemmax=\itemindent + \advance\itemmax by -\itemmargin + \advance\leftskip by \itemindent + \exdentamount=\itemindent + \parindent=0pt + \parskip=\smallskipamount + \ifdim\parskip=0pt \parskip=2pt \fi + % + % Try typesetting the item mark so that if the document erroneously says + % something like @itemize @samp (intending @table), there's an error + % right away at the @itemize. It's not the best error message in the + % world, but it's better than leaving it to the @item. This means if + % the user wants an empty mark, they have to say @w{} not just @w. + \def\itemcontents{#1}% + \setbox0 = \hbox{\itemcontents}% + % + % @itemize with no arg is equivalent to @itemize @bullet. + \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi + % + \let\item=\itemizeitem +} + +% Definition of @item while inside @itemize and @enumerate. +% +\def\itemizeitem{% + \advance\itemno by 1 % for enumerations + {\let\par=\endgraf \smallbreak}% reasonable place to break + {% + % If the document has an @itemize directly after a section title, a + % \nobreak will be last on the list, and \sectionheading will have + % done a \vskip-\parskip. In that case, we don't want to zero + % parskip, or the item text will crash with the heading. On the + % other hand, when there is normal text preceding the item (as there + % usually is), we do want to zero parskip, or there would be too much + % space. In that case, we won't have a \nobreak before. At least + % that's the theory. + \ifnum\lastpenalty<10000 \parskip=0in \fi + \noindent + \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% + % + \ifinner\else + \vadjust{\penalty 1200}% not good to break after first line of item. + \fi + % We can be in inner vertical mode in a footnote, although an + % @itemize looks awful there. + }% + \flushcr +} + +% \splitoff TOKENS\endmark defines \first to be the first token in +% TOKENS, and \rest to be the remainder. +% +\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% + +% Allow an optional argument of an uppercase letter, lowercase letter, +% or number, to specify the first label in the enumerated list. No +% argument is the same as `1'. +% +\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} +\def\enumeratey #1 #2\endenumeratey{% + % If we were given no argument, pretend we were given `1'. + \def\thearg{#1}% + \ifx\thearg\empty \def\thearg{1}\fi + % + % Detect if the argument is a single token. If so, it might be a + % letter. Otherwise, the only valid thing it can be is a number. + % (We will always have one token, because of the test we just made. + % This is a good thing, since \splitoff doesn't work given nothing at + % all -- the first parameter is undelimited.) + \expandafter\splitoff\thearg\endmark + \ifx\rest\empty + % Only one token in the argument. It could still be anything. + % A ``lowercase letter'' is one whose \lccode is nonzero. + % An ``uppercase letter'' is one whose \lccode is both nonzero, and + % not equal to itself. + % Otherwise, we assume it's a number. + % + % We need the \relax at the end of the \ifnum lines to stop TeX from + % continuing to look for a <number>. + % + \ifnum\lccode\expandafter`\thearg=0\relax + \numericenumerate % a number (we hope) + \else + % It's a letter. + \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax + \lowercaseenumerate % lowercase letter + \else + \uppercaseenumerate % uppercase letter + \fi + \fi + \else + % Multiple tokens in the argument. We hope it's a number. + \numericenumerate + \fi +} + +% An @enumerate whose labels are integers. The starting integer is +% given in \thearg. +% +\def\numericenumerate{% + \itemno = \thearg + \startenumeration{\the\itemno}% +} + +% The starting (lowercase) letter is in \thearg. +\def\lowercaseenumerate{% + \itemno = \expandafter`\thearg + \startenumeration{% + % Be sure we're not beyond the end of the alphabet. + \ifnum\itemno=0 + \errmessage{No more lowercase letters in @enumerate; get a bigger + alphabet}% + \fi + \char\lccode\itemno + }% +} + +% The starting (uppercase) letter is in \thearg. +\def\uppercaseenumerate{% + \itemno = \expandafter`\thearg + \startenumeration{% + % Be sure we're not beyond the end of the alphabet. + \ifnum\itemno=0 + \errmessage{No more uppercase letters in @enumerate; get a bigger + alphabet} + \fi + \char\uccode\itemno + }% +} + +% Call \doitemize, adding a period to the first argument and supplying the +% common last two arguments. Also subtract one from the initial value in +% \itemno, since @item increments \itemno. +% +\def\startenumeration#1{% + \advance\itemno by -1 + \doitemize{#1.}\flushcr +} + + +% @multitable macros + +% Macros used to set up halign preamble: +% +\let\endsetuptable\relax +\def\xendsetuptable{\endsetuptable} +\let\columnfractions\relax +\def\xcolumnfractions{\columnfractions} +\newif\ifsetpercent + +% #1 is the @columnfraction, usually a decimal number like .5, but might +% be just 1. We just use it, whatever it is. +% +\def\pickupwholefraction#1 {% + \global\advance\colcount by 1 + \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% + \setuptable +} + +\newcount\colcount +\def\setuptable#1{% + \def\firstarg{#1}% + \ifx\firstarg\xendsetuptable + \let\go = \relax + \else + \ifx\firstarg\xcolumnfractions + \global\setpercenttrue + \else + \ifsetpercent + \let\go\pickupwholefraction + \else + \global\advance\colcount by 1 + \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a + % separator; typically that is always in the input, anyway. + \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% + \fi + \fi + \ifx\go\pickupwholefraction + % Put the argument back for the \pickupwholefraction call, so + % we'll always have a period there to be parsed. + \def\go{\pickupwholefraction#1}% + \else + \let\go = \setuptable + \fi% + \fi + \go +} + +% @headitem starts a heading row, which we typeset in bold. Assignments +% have to be global since we are inside the implicit group of an +% alignment entry. \everycr below resets \everytab so we don't have to +% undo it ourselves. +\def\headitemfont{\b}% for people to use in the template row; not changeable +\def\headitem{% + \checkenv\multitable + \crcr + \gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings + \global\everytab={\bf}% can't use \headitemfont since the parsing differs + \the\everytab % for the first item +}% +% +% default for tables with no headings. +\let\headitemcrhook=\relax +% +\def\tab{\checkenv\multitable &\the\everytab}% + +\newtoks\everytab % insert after every tab. +% +\envdef\multitable{% + \vskip\parskip + \startsavinginserts + % + % @item within a multitable starts a normal row. + % We use \def instead of \let so that if one of the multitable entries + % contains an @itemize, we don't choke on the \item (seen as \crcr aka + % \endtemplate) expanding \doitemize. + \def\item{\crcr}% + % + \tolerance=9500 + \hbadness=9500 + \parskip=0pt + \parindent=6pt + \overfullrule=0pt + \global\colcount=0 + % + \everycr = {% + \noalign{% + \global\everytab={}% Reset from possible headitem. + \global\colcount=0 % Reset the column counter. + % + % Check for saved footnotes, etc.: + \checkinserts + % + % Perhaps a \nobreak, then reset: + \headitemcrhook + \global\let\headitemcrhook=\relax + }% + }% + % + \parsearg\domultitable +} +\def\domultitable#1{% + % To parse everything between @multitable and @item: + \setuptable#1 \endsetuptable + % + % This preamble sets up a generic column definition, which will + % be used as many times as user calls for columns. + % \vtop will set a single line and will also let text wrap and + % continue for many paragraphs if desired. + \halign\bgroup &% + \global\advance\colcount by 1 + \strut + \vtop{% + \advance\hsize by -1\leftskip + % Find the correct column width + \hsize=\expandafter\csname col\the\colcount\endcsname + % + \rightskip=0pt + \ifnum\colcount=1 + \advance\hsize by\leftskip % Add indent of surrounding text + \else + % In order to keep entries from bumping into each other. + \leftskip=12pt + \ifsetpercent \else + % If a template has been used + \advance\hsize by \leftskip + \fi + \fi + \noindent\ignorespaces##\unskip\strut + }\cr +} +\def\Emultitable{% + \crcr + \egroup % end the \halign + \global\setpercentfalse +} + + +\message{conditionals,} + +% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, +% @ifnotxml always succeed. They currently do nothing; we don't +% attempt to check whether the conditionals are properly nested. But we +% have to remember that they are conditionals, so that @end doesn't +% attempt to close an environment group. +% +\def\makecond#1{% + \expandafter\let\csname #1\endcsname = \relax + \expandafter\let\csname iscond.#1\endcsname = 1 +} +\makecond{iftex} +\makecond{ifnotdocbook} +\makecond{ifnothtml} +\makecond{ifnotinfo} +\makecond{ifnotplaintext} +\makecond{ifnotxml} + +% Ignore @ignore, @ifhtml, @ifinfo, and the like. +% +\def\direntry{\doignore{direntry}} +\def\documentdescription{\doignore{documentdescription}} +\def\docbook{\doignore{docbook}} +\def\html{\doignore{html}} +\def\ifdocbook{\doignore{ifdocbook}} +\def\ifhtml{\doignore{ifhtml}} +\def\ifinfo{\doignore{ifinfo}} +\def\ifnottex{\doignore{ifnottex}} +\def\ifplaintext{\doignore{ifplaintext}} +\def\ifxml{\doignore{ifxml}} +\def\ignore{\doignore{ignore}} +\def\menu{\doignore{menu}} +\def\xml{\doignore{xml}} + +% Ignore text until a line `@end #1', keeping track of nested conditionals. +% +% A count to remember the depth of nesting. +\newcount\doignorecount + +\def\doignore#1{\begingroup + % Scan in ``verbatim'' mode: + \obeylines + \catcode`\@ = \other + \catcode`\{ = \other + \catcode`\} = \other + % + % Make sure that spaces turn into tokens that match what \doignoretext wants. + \spaceisspace + % + % Count number of #1's that we've seen. + \doignorecount = 0 + % + % Swallow text until we reach the matching `@end #1'. + \dodoignore{#1}% +} + +{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. + \obeylines % + % + \gdef\dodoignore#1{% + % #1 contains the command name as a string, e.g., `ifinfo'. + % + % Define a command to find the next `@end #1'. + \long\def\doignoretext##1^^M@end #1{% + \doignoretextyyy##1^^M@#1\_STOP_}% + % + % And this command to find another #1 command, at the beginning of a + % line. (Otherwise, we would consider a line `@c @ifset', for + % example, to count as an @ifset for nesting.) + \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% + % + % And now expand that command. + \doignoretext ^^M% + }% +} + +\def\doignoreyyy#1{% + \def\temp{#1}% + \ifx\temp\empty % Nothing found. + \let\next\doignoretextzzz + \else % Found a nested condition, ... + \advance\doignorecount by 1 + \let\next\doignoretextyyy % ..., look for another. + % If we're here, #1 ends with ^^M\ifinfo (for example). + \fi + \next #1% the token \_STOP_ is present just after this macro. +} + +% We have to swallow the remaining "\_STOP_". +% +\def\doignoretextzzz#1{% + \ifnum\doignorecount = 0 % We have just found the outermost @end. + \let\next\enddoignore + \else % Still inside a nested condition. + \advance\doignorecount by -1 + \let\next\doignoretext % Look for the next @end. + \fi + \next +} + +% Finish off ignored text. +{ \obeylines% + % Ignore anything after the last `@end #1'; this matters in verbatim + % environments, where otherwise the newline after an ignored conditional + % would result in a blank line in the output. + \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% +} + + +% @set VAR sets the variable VAR to an empty value. +% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. +% +% Since we want to separate VAR from REST-OF-LINE (which might be +% empty), we can't just use \parsearg; we have to insert a space of our +% own to delimit the rest of the line, and then take it out again if we +% didn't need it. +% We rely on the fact that \parsearg sets \catcode`\ =10. +% +\parseargdef\set{\setyyy#1 \endsetyyy} +\def\setyyy#1 #2\endsetyyy{% + {% + \makevalueexpandable + \def\temp{#2}% + \edef\next{\gdef\makecsname{SET#1}}% + \ifx\temp\empty + \next{}% + \else + \setzzz#2\endsetzzz + \fi + }% +} +% Remove the trailing space \setxxx inserted. +\def\setzzz#1 \endsetzzz{\next{#1}} + +% @clear VAR clears (i.e., unsets) the variable VAR. +% +\parseargdef\clear{% + {% + \makevalueexpandable + \global\expandafter\let\csname SET#1\endcsname=\relax + }% +} + +% @value{foo} gets the text saved in variable foo. +\def\value{\begingroup\makevalueexpandable\valuexxx} +\def\valuexxx#1{\expandablevalue{#1}\endgroup} +{ + \catcode`\-=\active \catcode`\_=\active + % + \gdef\makevalueexpandable{% + \let\value = \expandablevalue + % We don't want these characters active, ... + \catcode`\-=\other \catcode`\_=\other + % ..., but we might end up with active ones in the argument if + % we're called from @code, as @code{@value{foo-bar_}}, though. + % So \let them to their normal equivalents. + \let-\normaldash \let_\normalunderscore + } +} + +\def\expandablevalue#1{% + \expandafter\ifx\csname SET#1\endcsname\relax + {[No value for ``#1'']}% + \message{Variable `#1', used in @value, is not set.}% + \else + \csname SET#1\endcsname + \fi +} + +% Like \expandablevalue, but completely expandable (the \message in the +% definition above operates at the execution level of TeX). Used when +% writing to auxiliary files, due to the expansion that \write does. +% If flag is undefined, pass through an unexpanded @value command: maybe it +% will be set by the time it is read back in. +% +% NB flag names containing - or _ may not work here. +\def\dummyvalue#1{% + \expandafter\ifx\csname SET#1\endcsname\relax + \string\value{#1}% + \else + \csname SET#1\endcsname + \fi +} + +% Used for @value's in index entries to form the sort key: expand the @value +% if possible, otherwise sort late. +\def\indexnofontsvalue#1{% + \expandafter\ifx\csname SET#1\endcsname\relax + ZZZZZZZ% + \else + \csname SET#1\endcsname + \fi +} + +% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined +% with @set. +% +% To get the special treatment we need for `@end ifset,' we call +% \makecond and then redefine. +% +\makecond{ifset} +\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} +\def\doifset#1#2{% + {% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname SET#2\endcsname\relax + #1% If not set, redefine \next. + \fi + \expandafter + }\next +} +\def\ifsetfail{\doignore{ifset}} + +% @ifclear VAR ... @end executes the `...' iff VAR has never been +% defined with @set, or has been undefined with @clear. +% +% The `\else' inside the `\doifset' parameter is a trick to reuse the +% above code: if the variable is not set, do nothing, if it is set, +% then redefine \next to \ifclearfail. +% +\makecond{ifclear} +\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} +\def\ifclearfail{\doignore{ifclear}} + +% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written +% without the @) is in fact defined. We can only feasibly check at the +% TeX level, so something like `mathcode' is going to considered +% defined even though it is not a Texinfo command. +% +\makecond{ifcommanddefined} +\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} +% +\def\doifcmddefined#1#2{{% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname #2\endcsname\relax + #1% If not defined, \let\next as above. + \fi + \expandafter + }\next +} +\def\ifcmddefinedfail{\doignore{ifcommanddefined}} + +% @ifcommandnotdefined CMD ... handled similar to @ifclear above. +\makecond{ifcommandnotdefined} +\def\ifcommandnotdefined{% + \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} +\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}} + +% Set the `txicommandconditionals' variable, so documents have a way to +% test if the @ifcommand...defined conditionals are available. +\set txicommandconditionals + +% @dircategory CATEGORY -- specify a category of the dir file +% which this file should belong to. Ignore this in TeX. +\let\dircategory=\comment + +% @defininfoenclose. +\let\definfoenclose=\comment + + +\message{indexing,} +% Index generation facilities + +% Define \newwrite to be identical to plain tex's \newwrite +% except not \outer, so it can be used within macros and \if's. +\edef\newwrite{\makecsname{ptexnewwrite}} + +% \newindex {foo} defines an index named IX. +% It automatically defines \IXindex such that +% \IXindex ...rest of line... puts an entry in the index IX. +% It also defines \IXindfile to be the number of the output channel for +% the file that accumulates this index. The file's extension is IX. +% The name of an index should be no more than 2 characters long +% for the sake of vms. +% +\def\newindex#1{% + \expandafter\chardef\csname#1indfile\endcsname=0 + \expandafter\xdef\csname#1index\endcsname{% % Define @#1index + \noexpand\doindex{#1}} +} + +% @defindex foo == \newindex{foo} +% +\def\defindex{\parsearg\newindex} + +% Define @defcodeindex, like @defindex except put all entries in @code. +% +\def\defcodeindex{\parsearg\newcodeindex} +% +\def\newcodeindex#1{% + \expandafter\chardef\csname#1indfile\endcsname=0 + \expandafter\xdef\csname#1index\endcsname{% + \noexpand\docodeindex{#1}}% +} + +% The default indices: +\newindex{cp}% concepts, +\newcodeindex{fn}% functions, +\newcodeindex{vr}% variables, +\newcodeindex{tp}% types, +\newcodeindex{ky}% keys +\newcodeindex{pg}% and programs. + + +% @synindex foo bar makes index foo feed into index bar. +% Do this instead of @defindex foo if you don't want it as a separate index. +% +% @syncodeindex foo bar similar, but put all entries made for index foo +% inside @code. +% +\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} +\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} + +% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), +% #3 the target index (bar). +\def\dosynindex#1#2#3{% + \requireopenindexfile{#3}% + % redefine \fooindfile: + \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname + \expandafter\let\csname#2indfile\endcsname=\temp + % redefine \fooindex: + \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% +} + +% Define \doindex, the driver for all index macros. +% Argument #1 is generated by the calling \fooindex macro, +% and it is the two-letter name of the index. + +\def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx} +\def\doindexxxx #1{\doind{\indexname}{#1}} + +% like the previous two, but they put @code around the argument. +\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} +\def\docodeindexxxx #1{\docind{\indexname}{#1}} + + +% Used for the aux, toc and index files to prevent expansion of Texinfo +% commands. +% +\def\atdummies{% + \definedummyletter\@% + \definedummyletter\ % + \definedummyletter\{% + \definedummyletter\}% + \definedummyletter\&% + % + % Do the redefinitions. + \definedummies + \otherbackslash +} + +% \definedummyword defines \#1 as \string\#1\space, thus effectively +% preventing its expansion. This is used only for control words, +% not control letters, because the \space would be incorrect for +% control characters, but is needed to separate the control word +% from whatever follows. +% +% These can be used both for control words that take an argument and +% those that do not. If it is followed by {arg} in the input, then +% that will dutifully get written to the index (or wherever). +% +% For control letters, we have \definedummyletter, which omits the +% space. +% +\def\definedummyword #1{\def#1{\string#1\space}}% +\def\definedummyletter#1{\def#1{\string#1}}% +\let\definedummyaccent\definedummyletter + +% Called from \atdummies to prevent the expansion of commands. +% +\def\definedummies{% + % + \let\commondummyword\definedummyword + \let\commondummyletter\definedummyletter + \let\commondummyaccent\definedummyaccent + \commondummiesnofonts + % + \definedummyletter\_% + \definedummyletter\-% + % + % Non-English letters. + \definedummyword\AA + \definedummyword\AE + \definedummyword\DH + \definedummyword\L + \definedummyword\O + \definedummyword\OE + \definedummyword\TH + \definedummyword\aa + \definedummyword\ae + \definedummyword\dh + \definedummyword\exclamdown + \definedummyword\l + \definedummyword\o + \definedummyword\oe + \definedummyword\ordf + \definedummyword\ordm + \definedummyword\questiondown + \definedummyword\ss + \definedummyword\th + % + % Although these internal commands shouldn't show up, sometimes they do. + \definedummyword\bf + \definedummyword\gtr + \definedummyword\hat + \definedummyword\less + \definedummyword\sf + \definedummyword\sl + \definedummyword\tclose + \definedummyword\tt + % + \definedummyword\LaTeX + \definedummyword\TeX + % + % Assorted special characters. + \definedummyword\ampchar + \definedummyword\atchar + \definedummyword\arrow + \definedummyword\backslashchar + \definedummyword\bullet + \definedummyword\comma + \definedummyword\copyright + \definedummyword\registeredsymbol + \definedummyword\dots + \definedummyword\enddots + \definedummyword\entrybreak + \definedummyword\equiv + \definedummyword\error + \definedummyword\euro + \definedummyword\expansion + \definedummyword\geq + \definedummyword\guillemetleft + \definedummyword\guillemetright + \definedummyword\guilsinglleft + \definedummyword\guilsinglright + \definedummyword\lbracechar + \definedummyword\leq + \definedummyword\mathopsup + \definedummyword\minus + \definedummyword\ogonek + \definedummyword\pounds + \definedummyword\point + \definedummyword\print + \definedummyword\quotedblbase + \definedummyword\quotedblleft + \definedummyword\quotedblright + \definedummyword\quoteleft + \definedummyword\quoteright + \definedummyword\quotesinglbase + \definedummyword\rbracechar + \definedummyword\result + \definedummyword\sub + \definedummyword\sup + \definedummyword\textdegree + % + \definedummyword\subentry + % + % We want to disable all macros so that they are not expanded by \write. + \macrolist + \let\value\dummyvalue + % + \normalturnoffactive +} + +% \commondummiesnofonts: common to \definedummies and \indexnofonts. +% Define \commondummyletter, \commondummyaccent and \commondummyword before +% using. Used for accents, font commands, and various control letters. +% +\def\commondummiesnofonts{% + % Control letters and accents. + \commondummyletter\!% + \commondummyaccent\"% + \commondummyaccent\'% + \commondummyletter\*% + \commondummyaccent\,% + \commondummyletter\.% + \commondummyletter\/% + \commondummyletter\:% + \commondummyaccent\=% + \commondummyletter\?% + \commondummyaccent\^% + \commondummyaccent\`% + \commondummyaccent\~% + \commondummyword\u + \commondummyword\v + \commondummyword\H + \commondummyword\dotaccent + \commondummyword\ogonek + \commondummyword\ringaccent + \commondummyword\tieaccent + \commondummyword\ubaraccent + \commondummyword\udotaccent + \commondummyword\dotless + % + % Texinfo font commands. + \commondummyword\b + \commondummyword\i + \commondummyword\r + \commondummyword\sansserif + \commondummyword\sc + \commondummyword\slanted + \commondummyword\t + % + % Commands that take arguments. + \commondummyword\abbr + \commondummyword\acronym + \commondummyword\anchor + \commondummyword\cite + \commondummyword\code + \commondummyword\command + \commondummyword\dfn + \commondummyword\dmn + \commondummyword\email + \commondummyword\emph + \commondummyword\env + \commondummyword\file + \commondummyword\image + \commondummyword\indicateurl + \commondummyword\inforef + \commondummyword\kbd + \commondummyword\key + \commondummyword\math + \commondummyword\option + \commondummyword\pxref + \commondummyword\ref + \commondummyword\samp + \commondummyword\strong + \commondummyword\tie + \commondummyword\U + \commondummyword\uref + \commondummyword\url + \commondummyword\var + \commondummyword\verb + \commondummyword\w + \commondummyword\xref +} + +\let\indexlbrace\relax +\let\indexrbrace\relax +\let\indexatchar\relax +\let\indexbackslash\relax + +{\catcode`\@=0 +\catcode`\\=13 + @gdef@backslashdisappear{@def\{}} +} + +{ +\catcode`\<=13 +\catcode`\-=13 +\catcode`\`=13 + \gdef\indexnonalnumdisappear{% + \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else + % @set txiindexlquoteignore makes us ignore left quotes in the sort term. + % (Introduced for FSFS 2nd ed.) + \let`=\empty + \fi + % + \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else + \backslashdisappear + \fi + % + \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else + \def-{}% + \fi + \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else + \def<{}% + \fi + \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else + \def\@{}% + \fi + } + + \gdef\indexnonalnumreappear{% + \let-\normaldash + \let<\normalless + } +} + + +% \indexnofonts is used when outputting the strings to sort the index +% by, and when constructing control sequence names. It eliminates all +% control sequences and just writes whatever the best ASCII sort string +% would be for a given command (usually its argument). +% +\def\indexnofonts{% + % Accent commands should become @asis. + \def\commondummyaccent##1{\let##1\asis}% + % We can just ignore other control letters. + \def\commondummyletter##1{\let##1\empty}% + % All control words become @asis by default; overrides below. + \let\commondummyword\commondummyaccent + \commondummiesnofonts + % + % Don't no-op \tt, since it isn't a user-level command + % and is used in the definitions of the active chars like <, >, |, etc. + % Likewise with the other plain tex font commands. + %\let\tt=\asis + % + \def\ { }% + \def\@{@}% + \def\_{\normalunderscore}% + \def\-{}% @- shouldn't affect sorting + % + \uccode`\1=`\{ \uppercase{\def\{{1}}% + \uccode`\1=`\} \uppercase{\def\}{1}}% + \let\lbracechar\{% + \let\rbracechar\}% + % + % Non-English letters. + \def\AA{AA}% + \def\AE{AE}% + \def\DH{DZZ}% + \def\L{L}% + \def\OE{OE}% + \def\O{O}% + \def\TH{TH}% + \def\aa{aa}% + \def\ae{ae}% + \def\dh{dzz}% + \def\exclamdown{!}% + \def\l{l}% + \def\oe{oe}% + \def\ordf{a}% + \def\ordm{o}% + \def\o{o}% + \def\questiondown{?}% + \def\ss{ss}% + \def\th{th}% + % + \let\do\indexnofontsdef + % + \do\LaTeX{LaTeX}% + \do\TeX{TeX}% + % + % Assorted special characters. + \do\atchar{@}% + \do\arrow{->}% + \do\bullet{bullet}% + \do\comma{,}% + \do\copyright{copyright}% + \do\dots{...}% + \do\enddots{...}% + \do\equiv{==}% + \do\error{error}% + \do\euro{euro}% + \do\expansion{==>}% + \do\geq{>=}% + \do\guillemetleft{<<}% + \do\guillemetright{>>}% + \do\guilsinglleft{<}% + \do\guilsinglright{>}% + \do\leq{<=}% + \do\lbracechar{\{}% + \do\minus{-}% + \do\point{.}% + \do\pounds{pounds}% + \do\print{-|}% + \do\quotedblbase{"}% + \do\quotedblleft{"}% + \do\quotedblright{"}% + \do\quoteleft{`}% + \do\quoteright{'}% + \do\quotesinglbase{,}% + \do\rbracechar{\}}% + \do\registeredsymbol{R}% + \do\result{=>}% + \do\textdegree{o}% + % + % We need to get rid of all macros, leaving only the arguments (if present). + % Of course this is not nearly correct, but it is the best we can do for now. + % makeinfo does not expand macros in the argument to @deffn, which ends up + % writing an index entry, and texindex isn't prepared for an index sort entry + % that starts with \. + % + % Since macro invocations are followed by braces, we can just redefine them + % to take a single TeX argument. The case of a macro invocation that + % goes to end-of-line is not handled. + % + \macrolist + \let\value\indexnofontsvalue +} + +% Give the control sequence a definition that removes the {} that follows +% its use, e.g. @AA{} -> AA +\def\indexnofontsdef#1#2{\def#1##1{#2}}% + + + + +% #1 is the index name, #2 is the entry text. +\def\doind#1#2{% + \iflinks + {% + % + \requireopenindexfile{#1}% + \edef\writeto{\csname#1indfile\endcsname}% + % + \def\indextext{#2}% + \safewhatsit\doindwrite + }% + \fi +} + +% Same as \doind, but for code indices +\def\docind#1#2{% + \iflinks + {% + % + \requireopenindexfile{#1}% + \edef\writeto{\csname#1indfile\endcsname}% + % + \def\indextext{#2}% + \safewhatsit\docindwrite + }% + \fi +} + +% Check if an index file has been opened, and if not, open it. +\def\requireopenindexfile#1{% +\ifnum\csname #1indfile\endcsname=0 + \expandafter\newwrite \csname#1indfile\endcsname + \edef\suffix{#1}% + % A .fls suffix would conflict with the file extension for the output + % of -recorder, so use .f1s instead. + \ifx\suffix\indexisfl\def\suffix{f1}\fi + % Open the file + \immediate\openout\csname#1indfile\endcsname \jobname.\suffix + % Using \immediate above here prevents an object entering into the current + % box, which could confound checks such as those in \safewhatsit for + % preceding skips. + \typeout{Writing index file \jobname.\suffix}% +\fi} +\def\indexisfl{fl} + +% Definition for writing index entry sort key. +{ +\catcode`\-=13 +\gdef\indexwritesortas{% + \begingroup + \indexnonalnumreappear + \indexwritesortasxxx} +\gdef\indexwritesortasxxx#1{% + \xdef\indexsortkey{#1}\endgroup} +} + +\def\indexwriteseealso#1{ + \gdef\pagenumbertext{\string\seealso{#1}}% +} +\def\indexwriteseeentry#1{ + \gdef\pagenumbertext{\string\seeentry{#1}}% +} + +% The default definitions +\def\sortas#1{}% +\def\seealso#1{\i{\putwordSeeAlso}\ #1}% for sorted index file only +\def\putwordSeeAlso{See also} +\def\seeentry#1{\i{\putwordSee}\ #1}% for sorted index file only + + +% Given index entry text like "aaa @subentry bbb @sortas{ZZZ}": +% * Set \bracedtext to "{aaa}{bbb}" +% * Set \fullindexsortkey to "aaa @subentry ZZZ" +% * If @seealso occurs, set \pagenumbertext +% +\def\splitindexentry#1{% + \gdef\fullindexsortkey{}% + \xdef\bracedtext{}% + \def\sep{}% + \def\seealso##1{}% + \def\seeentry##1{}% + \expandafter\doindexsegment#1\subentry\finish\subentry +} + +% append the results from the next segment +\def\doindexsegment#1\subentry{% + \def\segment{#1}% + \ifx\segment\isfinish + \else + % + % Fully expand the segment, throwing away any @sortas directives, and + % trim spaces. + \edef\trimmed{\segment}% + \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% + \ifincodeindex + \edef\trimmed{\noexpand\code{\trimmed}}% + \fi + % + \xdef\bracedtext{\bracedtext{\trimmed}}% + % + % Get the string to sort by. Process the segment with all + % font commands turned off. + \bgroup + \let\sortas\indexwritesortas + \let\seealso\indexwriteseealso + \let\seeentry\indexwriteseeentry + \indexnofonts + % The braces around the commands are recognized by texindex. + \def\lbracechar{{\string\indexlbrace}}% + \def\rbracechar{{\string\indexrbrace}}% + \let\{=\lbracechar + \let\}=\rbracechar + \def\@{{\string\indexatchar}}% + \def\atchar##1{\@}% + \def\backslashchar{{\string\indexbackslash}}% + \uccode`\~=`\\ \uppercase{\let~\backslashchar}% + % + \let\indexsortkey\empty + \global\let\pagenumbertext\empty + % Execute the segment and throw away the typeset output. This executes + % any @sortas or @seealso commands in this segment. + \setbox\dummybox = \hbox{\segment}% + \ifx\indexsortkey\empty{% + \indexnonalnumdisappear + \xdef\trimmed{\segment}% + \xdef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% + \xdef\indexsortkey{\trimmed}% + \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi + }\fi + % + % Append to \fullindexsortkey. + \edef\tmp{\gdef\noexpand\fullindexsortkey{% + \fullindexsortkey\sep\indexsortkey}}% + \tmp + \egroup + \def\sep{\subentry}% + % + \expandafter\doindexsegment + \fi +} +\def\isfinish{\finish}% +\newbox\dummybox % used above + +\let\subentry\relax + +% Use \ instead of @ in index files. To support old texi2dvi and texindex. +% This works without changing the escape character used in the toc or aux +% files because the index entries are fully expanded here, and \string uses +% the current value of \escapechar. +\def\escapeisbackslash{\escapechar=`\\} + +% Use \ in index files by default. texi2dvi didn't support @ as the escape +% character (as it checked for "\entry" in the files, and not "@entry"). When +% the new version of texi2dvi has had a chance to become more prevalent, then +% the escape character can change back to @ again. This should be an easy +% change to make now because both @ and \ are only used as escape characters in +% index files, never standing for themselves. +% +\set txiindexescapeisbackslash + +% Write the entry in \indextext to the index file. +% + +\newif\ifincodeindex +\def\doindwrite{\incodeindexfalse\doindwritex} +\def\docindwrite{\incodeindextrue\doindwritex} + +\def\doindwritex{% + \maybemarginindex + % + \atdummies + % + \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax\else + \escapeisbackslash + \fi + % + % For texindex which always views { and } as separators. + \def\{{\lbracechar{}}% + \def\}{\rbracechar{}}% + \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}% + % + % Split the entry into primary entry and any subentries, and get the index + % sort key. + \splitindexentry\indextext + % + % Set up the complete index entry, with both the sort key and + % the original text, including any font commands. We write + % three arguments to \entry to the .?? file (four in the + % subentry case), texindex reduces to two when writing the .??s + % sorted result. + % + \edef\temp{% + \write\writeto{% + \string\entry{\fullindexsortkey}% + {\ifx\pagenumbertext\empty\noexpand\folio\else\pagenumbertext\fi}% + \bracedtext}% + }% + \temp +} + +% Put the index entry in the margin if desired (undocumented). +\def\maybemarginindex{% + \ifx\SETmarginindex\relax\else + \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \relax\indextext}}% + \fi +} +\let\SETmarginindex=\relax + + +% Take care of unwanted page breaks/skips around a whatsit: +% +% If a skip is the last thing on the list now, preserve it +% by backing up by \lastskip, doing the \write, then inserting +% the skip again. Otherwise, the whatsit generated by the +% \write or \pdfdest will make \lastskip zero. The result is that +% sequences like this: +% @end defun +% @tindex whatever +% @defun ... +% will have extra space inserted, because the \medbreak in the +% start of the @defun won't see the skip inserted by the @end of +% the previous defun. +% +% But don't do any of this if we're not in vertical mode. We +% don't want to do a \vskip and prematurely end a paragraph. +% +% Avoid page breaks due to these extra skips, too. +% +% But wait, there is a catch there: +% We'll have to check whether \lastskip is zero skip. \ifdim is not +% sufficient for this purpose, as it ignores stretch and shrink parts +% of the skip. The only way seems to be to check the textual +% representation of the skip. +% +% The following is almost like \def\zeroskipmacro{0.0pt} except that +% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). +% +\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} +% +\newskip\whatsitskip +\newcount\whatsitpenalty +% +% ..., ready, GO: +% +\def\safewhatsit#1{\ifhmode + #1% + \else + % \lastskip and \lastpenalty cannot both be nonzero simultaneously. + \whatsitskip = \lastskip + \edef\lastskipmacro{\the\lastskip}% + \whatsitpenalty = \lastpenalty + % + % If \lastskip is nonzero, that means the last item was a + % skip. And since a skip is discardable, that means this + % -\whatsitskip glue we're inserting is preceded by a + % non-discardable item, therefore it is not a potential + % breakpoint, therefore no \nobreak needed. + \ifx\lastskipmacro\zeroskipmacro + \else + \vskip-\whatsitskip + \fi + % + #1% + % + \ifx\lastskipmacro\zeroskipmacro + % If \lastskip was zero, perhaps the last item was a penalty, and + % perhaps it was >=10000, e.g., a \nobreak. In that case, we want + % to re-insert the same penalty (values >10000 are used for various + % signals); since we just inserted a non-discardable item, any + % following glue (such as a \parskip) would be a breakpoint. For example: + % @deffn deffn-whatever + % @vindex index-whatever + % Description. + % would allow a break between the index-whatever whatsit + % and the "Description." paragraph. + \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi + \else + % On the other hand, if we had a nonzero \lastskip, + % this make-up glue would be preceded by a non-discardable item + % (the whatsit from the \write), so we must insert a \nobreak. + \nobreak\vskip\whatsitskip + \fi +\fi} + +% The index entry written in the file actually looks like +% \entry {sortstring}{page}{topic} +% or +% \entry {sortstring}{page}{topic}{subtopic} +% The texindex program reads in these files and writes files +% containing these kinds of lines: +% \initial {c} +% before the first topic whose initial is c +% \entry {topic}{pagelist} +% for a topic that is used without subtopics +% \primary {topic} +% \entry {topic}{} +% for the beginning of a topic that is used with subtopics +% \secondary {subtopic}{pagelist} +% for each subtopic. +% \secondary {subtopic}{} +% for a subtopic with sub-subtopics +% \tertiary {subtopic}{subsubtopic}{pagelist} +% for each sub-subtopic. + +% Define the user-accessible indexing commands +% @findex, @vindex, @kindex, @cindex. + +\def\findex {\fnindex} +\def\kindex {\kyindex} +\def\cindex {\cpindex} +\def\vindex {\vrindex} +\def\tindex {\tpindex} +\def\pindex {\pgindex} + +% Define the macros used in formatting output of the sorted index material. + +% @printindex causes a particular index (the ??s file) to get printed. +% It does not print any chapter heading (usually an @unnumbered). +% +\parseargdef\printindex{\begingroup + \dobreak \chapheadingskip{10000}% + % + \smallfonts \rm + \tolerance = 9500 + \plainfrenchspacing + \everypar = {}% don't want the \kern\-parindent from indentation suppression. + % + % See comment in \requireopenindexfile. + \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi + % + % See if the index file exists and is nonempty. + \openin 1 \jobname.\indexname s + \ifeof 1 + % \enddoublecolumns gets confused if there is no text in the index, + % and it loses the chapter title and the aux file entries for the + % index. The easiest way to prevent this problem is to make sure + % there is some text. + \putwordIndexNonexistent + \typeout{No file \jobname.\indexname s.}% + \else + % If the index file exists but is empty, then \openin leaves \ifeof + % false. We have to make TeX try to read something from the file, so + % it can discover if there is anything in it. + \read 1 to \thisline + \ifeof 1 + \putwordIndexIsEmpty + \else + \expandafter\printindexzz\thisline\relax\relax\finish% + \fi + \fi + \closein 1 +\endgroup} + +% If the index file starts with a backslash, forgo reading the index +% file altogether. If somebody upgrades texinfo.tex they may still have +% old index files using \ as the escape character. Reading this would +% at best lead to typesetting garbage, at worst a TeX syntax error. +\def\printindexzz#1#2\finish{% + \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax + \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1 + \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax +\errmessage{% +ERROR: A sorted index file in an obsolete format was skipped. +To fix this problem, please upgrade your version of 'texi2dvi' +or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>. +If you are using an old version of 'texindex' (part of the Texinfo +distribution), you may also need to upgrade to a newer version (at least 6.0). +You may be able to typeset the index if you run +'texindex \jobname.\indexname' yourself. +You could also try setting the 'txiindexescapeisbackslash' flag by +running a command like +'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do +this, Texinfo will try to use index files in the old format. +If you continue to have problems, deleting the index files and starting again +might help (with 'rm \jobname.?? \jobname.??s')% +}% + \else + (Skipped sorted index file in obsolete format) + \fi + \else + \begindoublecolumns + \input \jobname.\indexname s + \enddoublecolumns + \fi + \else + \begindoublecolumns + \catcode`\\=0\relax + % + % Make @ an escape character to give macros a chance to work. This + % should work because we (hopefully) don't otherwise use @ in index files. + %\catcode`\@=12\relax + \catcode`\@=0\relax + \input \jobname.\indexname s + \enddoublecolumns + \fi +} + +% These macros are used by the sorted index file itself. +% Change them to control the appearance of the index. + +{\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13 +\catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13 +\catcode`\$=3 +\gdef\initialglyphs{% + % special control sequences used in the index sort key + \let\indexlbrace\{% + \let\indexrbrace\}% + \let\indexatchar\@% + \def\indexbackslash{\math{\backslash}}% + % + % Some changes for non-alphabetic characters. Using the glyphs from the + % math fonts looks more consistent than the typewriter font used elsewhere + % for these characters. + \uccode`\~=`\\ \uppercase{\def~{\math{\backslash}}} + % + % In case @\ is used for backslash + \uppercase{\let\\=~} + % Can't get bold backslash so don't use bold forward slash + \catcode`\/=13 + \def/{{\secrmnotbold \normalslash}}% + \def-{{\normaldash\normaldash}}% en dash `--' + \def^{{\chapbf \normalcaret}}% + \def~{{\chapbf \normaltilde}}% + \def\_{% + \leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }% + \def|{$\vert$}% + \def<{$\less$}% + \def>{$\gtr$}% + \def+{$\normalplus$}% +}} + +\def\initial{% + \bgroup + \initialglyphs + \initialx +} + +\def\initialx#1{% + % Remove any glue we may have, we'll be inserting our own. + \removelastskip + % + % We like breaks before the index initials, so insert a bonus. + % The glue before the bonus allows a little bit of space at the + % bottom of a column to reduce an increase in inter-line spacing. + \nobreak + \vskip 0pt plus 5\baselineskip + \penalty -300 + \vskip 0pt plus -5\baselineskip + % + % Typeset the initial. Making this add up to a whole number of + % baselineskips increases the chance of the dots lining up from column + % to column. It still won't often be perfect, because of the stretch + % we need before each entry, but it's better. + % + % No shrink because it confuses \balancecolumns. + \vskip 1.67\baselineskip plus 1\baselineskip + \leftline{\secfonts \kern-0.05em \secbf #1}% + % \secfonts is inside the argument of \leftline so that the change of + % \baselineskip will not affect any glue inserted before the vbox that + % \leftline creates. + % Do our best not to break after the initial. + \nobreak + \vskip .33\baselineskip plus .1\baselineskip + \egroup % \initialglyphs +} + +\newdimen\entryrightmargin +\entryrightmargin=0pt + +% \entry typesets a paragraph consisting of the text (#1), dot leaders, and +% then page number (#2) flushed to the right margin. It is used for index +% and table of contents entries. The paragraph is indented by \leftskip. +% +\def\entry{% + \begingroup + % + % Start a new paragraph if necessary, so our assignments below can't + % affect previous text. + \par + % + % No extra space above this paragraph. + \parskip = 0in + % + % When reading the text of entry, convert explicit line breaks + % from @* into spaces. The user might give these in long section + % titles, for instance. + \def\*{\unskip\space\ignorespaces}% + \def\entrybreak{\hfil\break}% An undocumented command + % + % Swallow the left brace of the text (first parameter): + \afterassignment\doentry + \let\temp = +} +\def\entrybreak{\unskip\space\ignorespaces}% +\def\doentry{% + % Save the text of the entry + \global\setbox\boxA=\hbox\bgroup + \bgroup % Instead of the swallowed brace. + \noindent + \aftergroup\finishentry + % And now comes the text of the entry. + % Not absorbing as a macro argument reduces the chance of problems + % with catcodes occurring. +} +{\catcode`\@=11 +\gdef\finishentry#1{% + \egroup % end box A + \dimen@ = \wd\boxA % Length of text of entry + \global\setbox\boxA=\hbox\bgroup + \unhbox\boxA + % #1 is the page number. + % + % Get the width of the page numbers, and only use + % leaders if they are present. + \global\setbox\boxB = \hbox{#1}% + \ifdim\wd\boxB = 0pt + \null\nobreak\hfill\ % + \else + % + \null\nobreak\indexdotfill % Have leaders before the page number. + % + \ifpdforxetex + \pdfgettoks#1.% + \hskip\skip\thinshrinkable\the\toksA + \else + \hskip\skip\thinshrinkable #1% + \fi + \fi + \egroup % end \boxA + \ifdim\wd\boxB = 0pt + \noindent\unhbox\boxA\par + \nobreak + \else\bgroup + % We want the text of the entries to be aligned to the left, and the + % page numbers to be aligned to the right. + % + \parindent = 0pt + \advance\leftskip by 0pt plus 1fil + \advance\leftskip by 0pt plus -1fill + \rightskip = 0pt plus -1fil + \advance\rightskip by 0pt plus 1fill + % Cause last line, which could consist of page numbers on their own + % if the list of page numbers is long, to be aligned to the right. + \parfillskip=0pt plus -1fill + % + \advance\rightskip by \entryrightmargin + % Determine how far we can stretch into the margin. + % This allows, e.g., "Appendix H GNU Free Documentation License" to + % fit on one line in @letterpaper format. + \ifdim\entryrightmargin>2.1em + \dimen@i=2.1em + \else + \dimen@i=0em + \fi + \advance \parfillskip by 0pt minus 1\dimen@i + % + \dimen@ii = \hsize + \advance\dimen@ii by -1\leftskip + \advance\dimen@ii by -1\entryrightmargin + \advance\dimen@ii by 1\dimen@i + \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line + \ifdim\dimen@ > 0.8\dimen@ii % due to long index text + % Try to split the text roughly evenly. \dimen@ will be the length of + % the first line. + \dimen@ = 0.7\dimen@ + \dimen@ii = \hsize + \ifnum\dimen@>\dimen@ii + % If the entry is too long (for example, if it needs more than + % two lines), use all the space in the first line. + \dimen@ = \dimen@ii + \fi + \advance\leftskip by 0pt plus 1fill % ragged right + \advance \dimen@ by 1\rightskip + \parshape = 2 0pt \dimen@ 0em \dimen@ii + % Ideally we'd add a finite glue at the end of the first line only, + % instead of using \parshape with explicit line lengths, but TeX + % doesn't seem to provide a way to do such a thing. + % + % Indent all lines but the first one. + \advance\leftskip by 1em + \advance\parindent by -1em + \fi\fi + \indent % start paragraph + \unhbox\boxA + % + % Do not prefer a separate line ending with a hyphen to fewer lines. + \finalhyphendemerits = 0 + % + % Word spacing - no stretch + \spaceskip=\fontdimen2\font minus \fontdimen4\font + % + \linepenalty=1000 % Discourage line breaks. + \hyphenpenalty=5000 % Discourage hyphenation. + % + \par % format the paragraph + \egroup % The \vbox + \fi + \endgroup +}} + +\newskip\thinshrinkable +\skip\thinshrinkable=.15em minus .15em + +% Like plain.tex's \dotfill, except uses up at least 1 em. +% The filll stretch here overpowers both the fil and fill stretch to push +% the page number to the right. +\def\indexdotfill{\cleaders + \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1filll} + + +\def\primary #1{\line{#1\hfil}} + +\def\secondary{\indententry{0.5cm}} +\def\tertiary{\indententry{1cm}} + +\def\indententry#1#2#3{% + \bgroup + \leftskip=#1 + \entry{#2}{#3}% + \egroup +} + +% Define two-column mode, which we use to typeset indexes. +% Adapted from the TeXbook, page 416, which is to say, +% the manmac.tex format used to print the TeXbook itself. +\catcode`\@=11 % private names + +\newbox\partialpage +\newdimen\doublecolumnhsize + +\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns + % If not much space left on page, start a new page. + \ifdim\pagetotal>0.8\vsize\vfill\eject\fi + % + % Grab any single-column material above us. + \output = {% + \savetopmark + % + \global\setbox\partialpage = \vbox{% + % Unvbox the main output page. + \unvbox\PAGE + \kern-\topskip \kern\baselineskip + }% + }% + \eject % run that output routine to set \partialpage + % + % Use the double-column output routine for subsequent pages. + \output = {\doublecolumnout}% + % + % Change the page size parameters. We could do this once outside this + % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 + % format, but then we repeat the same computation. Repeating a couple + % of assignments once per index is clearly meaningless for the + % execution time, so we may as well do it in one place. + % + % First we halve the line length, less a little for the gutter between + % the columns. We compute the gutter based on the line length, so it + % changes automatically with the paper format. The magic constant + % below is chosen so that the gutter has the same value (well, +-<1pt) + % as it did when we hard-coded it. + % + % We put the result in a separate register, \doublecolumhsize, so we + % can restore it in \pagesofar, after \hsize itself has (potentially) + % been clobbered. + % + \doublecolumnhsize = \hsize + \advance\doublecolumnhsize by -.04154\hsize + \divide\doublecolumnhsize by 2 + \hsize = \doublecolumnhsize + % + % Get the available space for the double columns -- the normal + % (undoubled) page height minus any material left over from the + % previous page. + \advance\vsize by -\ht\partialpage + \vsize = 2\vsize + % + % For the benefit of balancing columns + \advance\baselineskip by 0pt plus 0.5pt +} + +% The double-column output routine for all double-column pages except +% the last, which is done by \balancecolumns. +% +\def\doublecolumnout{% + % + \savetopmark + \splittopskip=\topskip \splitmaxdepth=\maxdepth + \dimen@ = \vsize + \divide\dimen@ by 2 + % + % box0 will be the left-hand column, box2 the right. + \setbox0=\vsplit\PAGE to\dimen@ \setbox2=\vsplit\PAGE to\dimen@ + \global\advance\vsize by 2\ht\partialpage + \onepageout\pagesofar % empty except for the first time we are called + \unvbox\PAGE + \penalty\outputpenalty +} +% +% Re-output the contents of the output page -- any previous material, +% followed by the two boxes we just split, in box0 and box2. +\def\pagesofar{% + \unvbox\partialpage + % + \hsize = \doublecolumnhsize + \wd0=\hsize \wd2=\hsize + \hbox to\txipagewidth{\box0\hfil\box2}% +} + + +% Finished with double columns. +\def\enddoublecolumns{% + % The following penalty ensures that the page builder is exercised + % _before_ we change the output routine. This is necessary in the + % following situation: + % + % The last section of the index consists only of a single entry. + % Before this section, \pagetotal is less than \pagegoal, so no + % break occurs before the last section starts. However, the last + % section, consisting of \initial and the single \entry, does not + % fit on the page and has to be broken off. Without the following + % penalty the page builder will not be exercised until \eject + % below, and by that time we'll already have changed the output + % routine to the \balancecolumns version, so the next-to-last + % double-column page will be processed with \balancecolumns, which + % is wrong: The two columns will go to the main vertical list, with + % the broken-off section in the recent contributions. As soon as + % the output routine finishes, TeX starts reconsidering the page + % break. The two columns and the broken-off section both fit on the + % page, because the two columns now take up only half of the page + % goal. When TeX sees \eject from below which follows the final + % section, it invokes the new output routine that we've set after + % \balancecolumns below; \onepageout will try to fit the two columns + % and the final section into the vbox of \txipageheight (see + % \pagebody), causing an overfull box. + % + % Note that glue won't work here, because glue does not exercise the + % page builder, unlike penalties (see The TeXbook, pp. 280-281). + \penalty0 + % + \output = {% + % Split the last of the double-column material. + \savetopmark + \balancecolumns + }% + \eject % call the \output just set + \ifdim\pagetotal=0pt + % Having called \balancecolumns once, we do not + % want to call it again. Therefore, reset \output to its normal + % definition right away. + \global\output=\expandafter{\the\defaultoutput} + % + \endgroup % started in \begindoublecolumns + % Leave the double-column material on the current page, no automatic + % page break. + \box\balancedcolumns + % + % \pagegoal was set to the doubled \vsize above, since we restarted + % the current page. We're now back to normal single-column + % typesetting, so reset \pagegoal to the normal \vsize. + \global\vsize = \txipageheight % + \pagegoal = \txipageheight % + \else + % We had some left-over material. This might happen when \doublecolumnout + % is called in \balancecolumns. Try again. + \expandafter\enddoublecolumns + \fi +} +\newbox\balancedcolumns +\setbox\balancedcolumns=\vbox{shouldnt see this}% +% +% Only called for the last of the double column material. \doublecolumnout +% does the others. +\def\balancecolumns{% + \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120. + \dimen@ = \ht0 + \ifdim\dimen@<7\baselineskip + % Don't split a short final column in two. + \setbox2=\vbox{}% + \global\setbox\balancedcolumns=\vbox{\pagesofar}% + \else + % double the leading vertical space + \advance\dimen@ by \topskip + \advance\dimen@ by-\baselineskip + \divide\dimen@ by 2 % target to split to + \dimen@ii = \dimen@ + \splittopskip = \topskip + % Loop until left column is at least as high as the right column. + {% + \vbadness = 10000 + \loop + \global\setbox3 = \copy0 + \global\setbox1 = \vsplit3 to \dimen@ + \ifdim\ht1<\ht3 + \global\advance\dimen@ by 1pt + \repeat + }% + % Now the left column is in box 1, and the right column in box 3. + % + % Check whether the left column has come out higher than the page itself. + % (Note that we have doubled \vsize for the double columns, so + % the actual height of the page is 0.5\vsize). + \ifdim2\ht1>\vsize + % It appears that we have been called upon to balance too much material. + % Output some of it with \doublecolumnout, leaving the rest on the page. + \setbox\PAGE=\box0 + \doublecolumnout + \else + % Compare the heights of the two columns. + \ifdim4\ht1>5\ht3 + % Column heights are too different, so don't make their bottoms + % flush with each other. + \setbox2=\vbox to \ht1 {\unvbox3\vfill}% + \setbox0=\vbox to \ht1 {\unvbox1\vfill}% + \else + % Make column bottoms flush with each other. + \setbox2=\vbox to\ht1{\unvbox3\unskip}% + \setbox0=\vbox to\ht1{\unvbox1\unskip}% + \fi + \global\setbox\balancedcolumns=\vbox{\pagesofar}% + \fi + \fi + % +} +\catcode`\@ = \other + + +\message{sectioning,} +% Chapters, sections, etc. + +% Let's start with @part. +\outer\parseargdef\part{\partzzz{#1}} +\def\partzzz#1{% + \chapoddpage + \null + \vskip.3\vsize % move it down on the page a bit + \begingroup + \noindent \titlefonts\rm #1\par % the text + \let\lastnode=\empty % no node to associate with + \writetocentry{part}{#1}{}% but put it in the toc + \headingsoff % no headline or footline on the part page + % This outputs a mark at the end of the page that clears \thischapter + % and \thissection, as is done in \startcontents. + \let\pchapsepmacro\relax + \chapmacro{}{Yomitfromtoc}{}% + \chapoddpage + \endgroup +} + +% \unnumberedno is an oxymoron. But we count the unnumbered +% sections so that we can refer to them unambiguously in the pdf +% outlines by their "section number". We avoid collisions with chapter +% numbers by starting them at 10000. (If a document ever has 10000 +% chapters, we're in trouble anyway, I'm sure.) +\newcount\unnumberedno \unnumberedno = 10000 +\newcount\chapno +\newcount\secno \secno=0 +\newcount\subsecno \subsecno=0 +\newcount\subsubsecno \subsubsecno=0 + +% This counter is funny since it counts through charcodes of letters A, B, ... +\newcount\appendixno \appendixno = `\@ +% +% \def\appendixletter{\char\the\appendixno} +% We do the following ugly conditional instead of the above simple +% construct for the sake of pdftex, which needs the actual +% letter in the expansion, not just typeset. +% +\def\appendixletter{% + \ifnum\appendixno=`A A% + \else\ifnum\appendixno=`B B% + \else\ifnum\appendixno=`C C% + \else\ifnum\appendixno=`D D% + \else\ifnum\appendixno=`E E% + \else\ifnum\appendixno=`F F% + \else\ifnum\appendixno=`G G% + \else\ifnum\appendixno=`H H% + \else\ifnum\appendixno=`I I% + \else\ifnum\appendixno=`J J% + \else\ifnum\appendixno=`K K% + \else\ifnum\appendixno=`L L% + \else\ifnum\appendixno=`M M% + \else\ifnum\appendixno=`N N% + \else\ifnum\appendixno=`O O% + \else\ifnum\appendixno=`P P% + \else\ifnum\appendixno=`Q Q% + \else\ifnum\appendixno=`R R% + \else\ifnum\appendixno=`S S% + \else\ifnum\appendixno=`T T% + \else\ifnum\appendixno=`U U% + \else\ifnum\appendixno=`V V% + \else\ifnum\appendixno=`W W% + \else\ifnum\appendixno=`X X% + \else\ifnum\appendixno=`Y Y% + \else\ifnum\appendixno=`Z Z% + % The \the is necessary, despite appearances, because \appendixletter is + % expanded while writing the .toc file. \char\appendixno is not + % expandable, thus it is written literally, thus all appendixes come out + % with the same letter (or @) in the toc without it. + \else\char\the\appendixno + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} + +% Each @chapter defines these (using marks) as the number+name, number +% and name of the chapter. Page headings and footings can use +% these. @section does likewise. +\def\thischapter{} +\def\thischapternum{} +\def\thischaptername{} +\def\thissection{} +\def\thissectionnum{} +\def\thissectionname{} + +\newcount\absseclevel % used to calculate proper heading level +\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count + +% @raisesections: treat @section as chapter, @subsection as section, etc. +\def\raisesections{\global\advance\secbase by -1} + +% @lowersections: treat @chapter as section, @section as subsection, etc. +\def\lowersections{\global\advance\secbase by 1} + +% we only have subsub. +\chardef\maxseclevel = 3 +% +% A numbered section within an unnumbered changes to unnumbered too. +% To achieve this, remember the "biggest" unnum. sec. we are currently in: +\chardef\unnlevel = \maxseclevel +% +% Trace whether the current chapter is an appendix or not: +% \chapheadtype is "N" or "A", unnumbered chapters are ignored. +\def\chapheadtype{N} + +% Choose a heading macro +% #1 is heading type +% #2 is heading level +% #3 is text for heading +\def\genhead#1#2#3{% + % Compute the abs. sec. level: + \absseclevel=#2 + \advance\absseclevel by \secbase + % Make sure \absseclevel doesn't fall outside the range: + \ifnum \absseclevel < 0 + \absseclevel = 0 + \else + \ifnum \absseclevel > 3 + \absseclevel = 3 + \fi + \fi + % The heading type: + \def\headtype{#1}% + \if \headtype U% + \ifnum \absseclevel < \unnlevel + \chardef\unnlevel = \absseclevel + \fi + \else + % Check for appendix sections: + \ifnum \absseclevel = 0 + \edef\chapheadtype{\headtype}% + \else + \if \headtype A\if \chapheadtype N% + \errmessage{@appendix... within a non-appendix chapter}% + \fi\fi + \fi + % Check for numbered within unnumbered: + \ifnum \absseclevel > \unnlevel + \def\headtype{U}% + \else + \chardef\unnlevel = 3 + \fi + \fi + % Now print the heading: + \if \headtype U% + \ifcase\absseclevel + \unnumberedzzz{#3}% + \or \unnumberedseczzz{#3}% + \or \unnumberedsubseczzz{#3}% + \or \unnumberedsubsubseczzz{#3}% + \fi + \else + \if \headtype A% + \ifcase\absseclevel + \appendixzzz{#3}% + \or \appendixsectionzzz{#3}% + \or \appendixsubseczzz{#3}% + \or \appendixsubsubseczzz{#3}% + \fi + \else + \ifcase\absseclevel + \chapterzzz{#3}% + \or \seczzz{#3}% + \or \numberedsubseczzz{#3}% + \or \numberedsubsubseczzz{#3}% + \fi + \fi + \fi + \suppressfirstparagraphindent +} + +% an interface: +\def\numhead{\genhead N} +\def\apphead{\genhead A} +\def\unnmhead{\genhead U} + +% @chapter, @appendix, @unnumbered. Increment top-level counter, reset +% all lower-level sectioning counters to zero. +% +% Also set \chaplevelprefix, which we prepend to @float sequence numbers +% (e.g., figures), q.v. By default (before any chapter), that is empty. +\let\chaplevelprefix = \empty +% +\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz +\def\chapterzzz#1{% + % section resetting is \global in case the chapter is in a group, such + % as an @include file. + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\chapno by 1 + % + % Used for \float. + \gdef\chaplevelprefix{\the\chapno.}% + \resetallfloatnos + % + % \putwordChapter can contain complex things in translations. + \toks0=\expandafter{\putwordChapter}% + \message{\the\toks0 \space \the\chapno}% + % + % Write the actual heading. + \chapmacro{#1}{Ynumbered}{\the\chapno}% + % + % So @section and the like are numbered underneath this chapter. + \global\let\section = \numberedsec + \global\let\subsection = \numberedsubsec + \global\let\subsubsection = \numberedsubsubsec +} + +\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz +% +\def\appendixzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\appendixno by 1 + \gdef\chaplevelprefix{\appendixletter.}% + \resetallfloatnos + % + % \putwordAppendix can contain complex things in translations. + \toks0=\expandafter{\putwordAppendix}% + \message{\the\toks0 \space \appendixletter}% + % + \chapmacro{#1}{Yappendix}{\appendixletter}% + % + \global\let\section = \appendixsec + \global\let\subsection = \appendixsubsec + \global\let\subsubsection = \appendixsubsubsec +} + +% normally unnmhead0 calls unnumberedzzz: +\outer\parseargdef\unnumbered{\unnmhead0{#1}} +\def\unnumberedzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\unnumberedno by 1 + % + % Since an unnumbered has no number, no prefix for figures. + \global\let\chaplevelprefix = \empty + \resetallfloatnos + % + % This used to be simply \message{#1}, but TeX fully expands the + % argument to \message. Therefore, if #1 contained @-commands, TeX + % expanded them. For example, in `@unnumbered The @cite{Book}', TeX + % expanded @cite (which turns out to cause errors because \cite is meant + % to be executed, not expanded). + % + % Anyway, we don't want the fully-expanded definition of @cite to appear + % as a result of the \message, we just want `@cite' itself. We use + % \the<toks register> to achieve this: TeX expands \the<toks> only once, + % simply yielding the contents of <toks register>. (We also do this for + % the toc entries.) + \toks0 = {#1}% + \message{(\the\toks0)}% + % + \chapmacro{#1}{Ynothing}{\the\unnumberedno}% + % + \global\let\section = \unnumberedsec + \global\let\subsection = \unnumberedsubsec + \global\let\subsubsection = \unnumberedsubsubsec +} + +% @centerchap is like @unnumbered, but the heading is centered. +\outer\parseargdef\centerchap{% + \let\centerparametersmaybe = \centerparameters + \unnmhead0{#1}% + \let\centerparametersmaybe = \relax +} + +% @top is like @unnumbered. +\let\top\unnumbered + +% Sections. +% +\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz +\def\seczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% +} + +% normally calls appendixsectionzzz: +\outer\parseargdef\appendixsection{\apphead1{#1}} +\def\appendixsectionzzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% +} +\let\appendixsec\appendixsection + +% normally calls unnumberedseczzz: +\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} +\def\unnumberedseczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% +} + +% Subsections. +% +% normally calls numberedsubseczzz: +\outer\parseargdef\numberedsubsec{\numhead2{#1}} +\def\numberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% +} + +% normally calls appendixsubseczzz: +\outer\parseargdef\appendixsubsec{\apphead2{#1}} +\def\appendixsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Yappendix}% + {\appendixletter.\the\secno.\the\subsecno}% +} + +% normally calls unnumberedsubseczzz: +\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} +\def\unnumberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno}% +} + +% Subsubsections. +% +% normally numberedsubsubseczzz: +\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} +\def\numberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynumbered}% + {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +% normally appendixsubsubseczzz: +\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} +\def\appendixsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Yappendix}% + {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +% normally unnumberedsubsubseczzz: +\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} +\def\unnumberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +% These macros control what the section commands do, according +% to what kind of chapter we are in (ordinary, appendix, or unnumbered). +% Define them by default for a numbered chapter. +\let\section = \numberedsec +\let\subsection = \numberedsubsec +\let\subsubsection = \numberedsubsubsec + +% Define @majorheading, @heading and @subheading + +\def\majorheading{% + {\advance\chapheadingskip by 10pt \chapbreak }% + \parsearg\chapheadingzzz +} + +\def\chapheading{\chapbreak \parsearg\chapheadingzzz} +\def\chapheadingzzz#1{% + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip \nobreak + \suppressfirstparagraphindent +} + +% @heading, @subheading, @subsubheading. +\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} + +% These macros generate a chapter, section, etc. heading only +% (including whitespace, linebreaking, etc. around it), +% given all the information in convenient, parsed form. + +% Args are the skip and penalty (usually negative) +\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} + +% Parameter controlling skip before chapter headings (if needed) +\newskip\chapheadingskip + +% Define plain chapter starts, and page on/off switching for it. +\def\chapbreak{\dobreak \chapheadingskip {-4000}} + +% Start a new page +\def\chappager{\par\vfill\supereject} + +% \chapoddpage - start on an odd page for a new chapter +% Because \domark is called before \chapoddpage, the filler page will +% get the headings for the next chapter, which is wrong. But we don't +% care -- we just disable all headings on the filler page. +\def\chapoddpage{% + \chappager + \ifodd\pageno \else + \begingroup + \headingsoff + \null + \chappager + \endgroup + \fi +} + +\parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname} + +\def\CHAPPAGoff{% +\global\let\contentsalignmacro = \chappager +\global\let\pchapsepmacro=\chapbreak +\global\def\HEADINGSon{\HEADINGSsinglechapoff}} + +\def\CHAPPAGon{% +\global\let\contentsalignmacro = \chappager +\global\let\pchapsepmacro=\chappager +\global\def\HEADINGSon{\HEADINGSsingle}} + +\def\CHAPPAGodd{% +\global\let\contentsalignmacro = \chapoddpage +\global\let\pchapsepmacro=\chapoddpage +\global\def\HEADINGSon{\HEADINGSdouble}} + +\CHAPPAGon + +% \chapmacro - Chapter opening. +% +% #1 is the text, #2 is the section type (Ynumbered, Ynothing, +% Yappendix, Yomitfromtoc), #3 the chapter number. +% Not used for @heading series. +% +% To test against our argument. +\def\Ynothingkeyword{Ynothing} +\def\Yappendixkeyword{Yappendix} +\def\Yomitfromtockeyword{Yomitfromtoc} +% +\def\chapmacro#1#2#3{% + \expandafter\ifx\thisenv\titlepage\else + \checkenv{}% chapters, etc., should not start inside an environment. + \fi + % Insert the first mark before the heading break (see notes for \domark). + \let\prevchapterdefs=\currentchapterdefs + \let\prevsectiondefs=\currentsectiondefs + \gdef\currentsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% + \gdef\thissection{}}% + % + \def\temptype{#2}% + \ifx\temptype\Ynothingkeyword + \gdef\currentchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% + \gdef\thischapter{\thischaptername}}% + \else\ifx\temptype\Yomitfromtockeyword + \gdef\currentchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% + \gdef\thischapter{}}% + \else\ifx\temptype\Yappendixkeyword + \toks0={#1}% + \xdef\currentchapterdefs{% + \gdef\noexpand\thischaptername{\the\toks0}% + \gdef\noexpand\thischapternum{\appendixletter}% + % \noexpand\putwordAppendix avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} + \noexpand\thischapternum: + \noexpand\thischaptername}% + }% + \else + \toks0={#1}% + \xdef\currentchapterdefs{% + \gdef\noexpand\thischaptername{\the\toks0}% + \gdef\noexpand\thischapternum{\the\chapno}% + % \noexpand\putwordChapter avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thischapter{\noexpand\putwordChapter{} + \noexpand\thischapternum: + \noexpand\thischaptername}% + }% + \fi\fi\fi + % + % Output the mark. Pass it through \safewhatsit, to take care of + % the preceding space. + \safewhatsit\domark + % + % Insert the chapter heading break. + \pchapsepmacro + % + % Now the second mark, after the heading break. No break points + % between here and the heading. + \let\prevchapterdefs=\currentchapterdefs + \let\prevsectiondefs=\currentsectiondefs + \domark + % + {% + \chapfonts \rm + \let\footnote=\errfootnoteheading % give better error message + % + % Have to define \currentsection before calling \donoderef, because the + % xref code eventually uses it. On the other hand, it has to be called + % after \pchapsepmacro, or the headline will change too soon. + \gdef\currentsection{#1}% + % + % Only insert the separating space if we have a chapter/appendix + % number, and don't print the unnumbered ``number''. + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unnchap}% + \else\ifx\temptype\Yomitfromtockeyword + \setbox0 = \hbox{}% contents like unnumbered, but no toc entry + \def\toctype{omit}% + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% + \def\toctype{app}% + \else + \setbox0 = \hbox{#3\enspace}% + \def\toctype{numchap}% + \fi\fi\fi + % + % Write the toc entry for this chapter. Must come before the + % \donoderef, because we include the current node name in the toc + % entry, and \donoderef resets it to empty. + \writetocentry{\toctype}{#1}{#3}% + % + % For pdftex, we have to write out the node definition (aka, make + % the pdfdest) after any page break, but before the actual text has + % been typeset. If the destination for the pdf outline is after the + % text, then jumping from the outline may wind up with the text not + % being visible, for instance under high magnification. + \donoderef{#2}% + % + % Typeset the actual heading. + \nobreak % Avoid page breaks at the interline glue. + \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe + \unhbox0 #1\par}% + }% + \nobreak\bigskip % no page break after a chapter title + \nobreak +} + +% @centerchap -- centered and unnumbered. +\let\centerparametersmaybe = \relax +\def\centerparameters{% + \advance\rightskip by 3\rightskip + \leftskip = \rightskip + \parfillskip = 0pt +} + + +% Section titles. These macros combine the section number parts and +% call the generic \sectionheading to do the printing. +% +\newskip\secheadingskip +\def\secheadingbreak{\dobreak \secheadingskip{-1000}} + +% Subsection titles. +\newskip\subsecheadingskip +\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} + +% Subsubsection titles. +\def\subsubsecheadingskip{\subsecheadingskip} +\def\subsubsecheadingbreak{\subsecheadingbreak} + + +% Print any size, any type, section title. +% +% #1 is the text of the title, +% #2 is the section level (sec/subsec/subsubsec), +% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc), +% #4 is the section number. +% +\def\seckeyword{sec} +% +\def\sectionheading#1#2#3#4{% + {% + \def\sectionlevel{#2}% + \def\temptype{#3}% + % + % It is ok for the @heading series commands to appear inside an + % environment (it's been historically allowed, though the logic is + % dubious), but not the others. + \ifx\temptype\Yomitfromtockeyword\else + \checkenv{}% non-@*heading should not be in an environment. + \fi + \let\footnote=\errfootnoteheading + % + % Switch to the right set of fonts. + \csname #2fonts\endcsname \rm + % + % Insert first mark before the heading break (see notes for \domark). + \let\prevsectiondefs=\currentsectiondefs + \ifx\temptype\Ynothingkeyword + \ifx\sectionlevel\seckeyword + \gdef\currentsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% + \gdef\thissection{\thissectionname}}% + \fi + \else\ifx\temptype\Yomitfromtockeyword + % Don't redefine \thissection. + \else\ifx\temptype\Yappendixkeyword + \ifx\sectionlevel\seckeyword + \toks0={#1}% + \xdef\currentsectiondefs{% + \gdef\noexpand\thissectionname{\the\toks0}% + \gdef\noexpand\thissectionnum{#4}% + % \noexpand\putwordSection avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thissection{\noexpand\putwordSection{} + \noexpand\thissectionnum: + \noexpand\thissectionname}% + }% + \fi + \else + \ifx\sectionlevel\seckeyword + \toks0={#1}% + \xdef\currentsectiondefs{% + \gdef\noexpand\thissectionname{\the\toks0}% + \gdef\noexpand\thissectionnum{#4}% + % \noexpand\putwordSection avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thissection{\noexpand\putwordSection{} + \noexpand\thissectionnum: + \noexpand\thissectionname}% + }% + \fi + \fi\fi\fi + % + % Go into vertical mode. Usually we'll already be there, but we + % don't want the following whatsit to end up in a preceding paragraph + % if the document didn't happen to have a blank line. + \par + % + % Output the mark. Pass it through \safewhatsit, to take care of + % the preceding space. + \safewhatsit\domark + % + % Insert space above the heading. + \csname #2headingbreak\endcsname + % + % Now the second mark, after the heading break. No break points + % between here and the heading. + \global\let\prevsectiondefs=\currentsectiondefs + \domark + % + % Only insert the space after the number if we have a section number. + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unn}% + \gdef\currentsection{#1}% + \else\ifx\temptype\Yomitfromtockeyword + % for @headings -- no section number, don't include in toc, + % and don't redefine \currentsection. + \setbox0 = \hbox{}% + \def\toctype{omit}% + \let\sectionlevel=\empty + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{#4\enspace}% + \def\toctype{app}% + \gdef\currentsection{#1}% + \else + \setbox0 = \hbox{#4\enspace}% + \def\toctype{num}% + \gdef\currentsection{#1}% + \fi\fi\fi + % + % Write the toc entry (before \donoderef). See comments in \chapmacro. + \writetocentry{\toctype\sectionlevel}{#1}{#4}% + % + % Write the node reference (= pdf destination for pdftex). + % Again, see comments in \chapmacro. + \donoderef{#3}% + % + % Interline glue will be inserted when the vbox is completed. + % That glue will be a valid breakpoint for the page, since it'll be + % preceded by a whatsit (usually from the \donoderef, or from the + % \writetocentry if there was no node). We don't want to allow that + % break, since then the whatsits could end up on page n while the + % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. + \nobreak + % + % Output the actual section heading. + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright + \hangindent=\wd0 % zero if no section number + \unhbox0 #1}% + }% + % Add extra space after the heading -- half of whatever came above it. + % Don't allow stretch, though. + \kern .5 \csname #2headingskip\endcsname + % + % Do not let the kern be a potential breakpoint, as it would be if it + % was followed by glue. + \nobreak + % + % We'll almost certainly start a paragraph next, so don't let that + % glue accumulate. (Not a breakpoint because it's preceded by a + % discardable item.) However, when a paragraph is not started next + % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out + % or the negative glue will cause weirdly wrong output, typically + % obscuring the section heading with something else. + \vskip-\parskip + % + % This is so the last item on the main vertical list is a known + % \penalty > 10000, so \startdefun, etc., can recognize the situation + % and do the needful. + \penalty 10001 +} + + +\message{toc,} +% Table of contents. +\newwrite\tocfile + +% Write an entry to the toc file, opening it if necessary. +% Called from @chapter, etc. +% +% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} +% We append the current node name (if any) and page number as additional +% arguments for the \{chap,sec,...}entry macros which will eventually +% read this. The node name is used in the pdf outlines as the +% destination to jump to. +% +% We open the .toc file for writing here instead of at @setfilename (or +% any other fixed time) so that @contents can be anywhere in the document. +% But if #1 is `omit', then we don't do anything. This is used for the +% table of contents chapter openings themselves. +% +\newif\iftocfileopened +\def\omitkeyword{omit}% +% +\def\writetocentry#1#2#3{% + \edef\writetoctype{#1}% + \ifx\writetoctype\omitkeyword \else + \iftocfileopened\else + \immediate\openout\tocfile = \jobname.toc + \global\tocfileopenedtrue + \fi + % + \iflinks + {\atdummies + \edef\temp{% + \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% + \temp + }% + \fi + \fi + % + % Tell \shipout to create a pdf destination on each page, if we're + % writing pdf. These are used in the table of contents. We can't + % just write one on every page because the title pages are numbered + % 1 and 2 (the page numbers aren't printed), and so are the first + % two pages of the document. Thus, we'd have two destinations named + % `1', and two named `2'. + \ifpdforxetex + \global\pdfmakepagedesttrue + \fi +} + + +% These characters do not print properly in the Computer Modern roman +% fonts, so we must take special care. This is more or less redundant +% with the Texinfo input format setup at the end of this file. +% +\def\activecatcodes{% + \catcode`\"=\active + \catcode`\$=\active + \catcode`\<=\active + \catcode`\>=\active + \catcode`\\=\active + \catcode`\^=\active + \catcode`\_=\active + \catcode`\|=\active + \catcode`\~=\active +} + + +% Read the toc file, which is essentially Texinfo input. +\def\readtocfile{% + \setupdatafile + \activecatcodes + \input \tocreadfilename +} + +\newskip\contentsrightmargin \contentsrightmargin=1in +\newcount\savepageno +\newcount\lastnegativepageno \lastnegativepageno = -1 + +% Prepare to read what we've written to \tocfile. +% +\def\startcontents#1{% + % If @setchapternewpage on, and @headings double, the contents should + % start on an odd page, unlike chapters. + \contentsalignmacro + \immediate\closeout\tocfile + % + % Don't need to put `Contents' or `Short Contents' in the headline. + % It is abundantly clear what they are. + \chapmacro{#1}{Yomitfromtoc}{}% + % + \savepageno = \pageno + \begingroup % Set up to handle contents files properly. + \raggedbottom % Worry more about breakpoints than the bottom. + \entryrightmargin=\contentsrightmargin % Don't use the full line length. + % + % Roman numerals for page numbers. + \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi + \def\thistitle{}% no title in double-sided headings + % Record where the Roman numerals started. + \ifnum\romancount=0 \global\romancount=\pagecount \fi +} + +% redefined for the two-volume lispref. We always output on +% \jobname.toc even if this is redefined. +% +\def\tocreadfilename{\jobname.toc} + +% Normal (long) toc. +% +\def\contents{% + \startcontents{\putwordTOC}% + \openin 1 \tocreadfilename\space + \ifeof 1 \else + \readtocfile + \fi + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \ifeof 1 \else + \pdfmakeoutlines + \fi + \closein 1 + \endgroup + \contentsendroman +} + +% And just the chapters. +\def\summarycontents{% + \startcontents{\putwordShortTOC}% + % + \let\partentry = \shortpartentry + \let\numchapentry = \shortchapentry + \let\appentry = \shortchapentry + \let\unnchapentry = \shortunnchapentry + % We want a true roman here for the page numbers. + \secfonts + \let\rm=\shortcontrm \let\bf=\shortcontbf + \let\sl=\shortcontsl \let\tt=\shortconttt + \rm + \hyphenpenalty = 10000 + \advance\baselineskip by 1pt % Open it up a little. + \def\numsecentry##1##2##3##4{} + \let\appsecentry = \numsecentry + \let\unnsecentry = \numsecentry + \let\numsubsecentry = \numsecentry + \let\appsubsecentry = \numsecentry + \let\unnsubsecentry = \numsecentry + \let\numsubsubsecentry = \numsecentry + \let\appsubsubsecentry = \numsecentry + \let\unnsubsubsecentry = \numsecentry + \openin 1 \tocreadfilename\space + \ifeof 1 \else + \readtocfile + \fi + \closein 1 + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \endgroup + \contentsendroman +} +\let\shortcontents = \summarycontents + +% Get ready to use Arabic numerals again +\def\contentsendroman{% + \lastnegativepageno = \pageno + \global\pageno = \savepageno + % + % If \romancount > \arabiccount, the contents are at the end of the + % document. Otherwise, advance where the Arabic numerals start for + % the page numbers. + \ifnum\romancount>\arabiccount\else\global\arabiccount=\pagecount\fi +} + +% Typeset the label for a chapter or appendix for the short contents. +% The arg is, e.g., `A' for an appendix, or `3' for a chapter. +% +\def\shortchaplabel#1{% + % This space should be enough, since a single number is .5em, and the + % widest letter (M) is 1em, at least in the Computer Modern fonts. + % But use \hss just in case. + % (This space doesn't include the extra space that gets added after + % the label; that gets put in by \shortchapentry above.) + % + % We'd like to right-justify chapter numbers, but that looks strange + % with appendix letters. And right-justifying numbers and + % left-justifying letters looks strange when there is less than 10 + % chapters. Have to read the whole toc once to know how many chapters + % there are before deciding ... + \hbox to 1em{#1\hss}% +} + +% These macros generate individual entries in the table of contents. +% The first argument is the chapter or section name. +% The last argument is the page number. +% The arguments in between are the chapter number, section number, ... + +% Parts, in the main contents. Replace the part number, which doesn't +% exist, with an empty box. Let's hope all the numbers have the same width. +% Also ignore the page number, which is conventionally not printed. +\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} +\def\partentry#1#2#3#4{% + % Add stretch and a bonus for breaking the page before the part heading. + % This reduces the chance of the page being broken immediately after the + % part heading, before a following chapter heading. + \vskip 0pt plus 5\baselineskip + \penalty-300 + \vskip 0pt plus -5\baselineskip + \dochapentry{\numeralbox\labelspace#1}{}% +} +% +% Parts, in the short toc. +\def\shortpartentry#1#2#3#4{% + \penalty-300 + \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip + \shortchapentry{{\bf #1}}{\numeralbox}{}{}% +} + +% Chapters, in the main contents. +\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} + +% Chapters, in the short toc. +% See comments in \dochapentry re vbox and related settings. +\def\shortchapentry#1#2#3#4{% + \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% +} + +% Appendices, in the main contents. +% Need the word Appendix, and a fixed-size box. +% +\def\appendixbox#1{% + % We use M since it's probably the widest letter. + \setbox0 = \hbox{\putwordAppendix{} M}% + \hbox to \wd0{\putwordAppendix{} #1\hss}} +% +\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\hskip.7em#1}{#4}} + +% Unnumbered chapters. +\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} +\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} + +% Sections. +\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} +\let\appsecentry=\numsecentry +\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} + +% Subsections. +\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} +\let\appsubsecentry=\numsubsecentry +\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} + +% And subsubsections. +\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} +\let\appsubsubsecentry=\numsubsubsecentry +\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} + +% This parameter controls the indentation of the various levels. +% Same as \defaultparindent. +\newdimen\tocindent \tocindent = 15pt + +% Now for the actual typesetting. In all these, #1 is the text and #2 is the +% page number. +% +% If the toc has to be broken over pages, we want it to be at chapters +% if at all possible; hence the \penalty. +\def\dochapentry#1#2{% + \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip + \begingroup + % Move the page numbers slightly to the right + \advance\entryrightmargin by -0.05em + \chapentryfonts + \tocentry{#1}{\dopageno\bgroup#2\egroup}% + \endgroup + \nobreak\vskip .25\baselineskip plus.1\baselineskip +} + +\def\dosecentry#1#2{\begingroup + \secentryfonts \leftskip=\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +\def\dosubsecentry#1#2{\begingroup + \subsecentryfonts \leftskip=2\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +\def\dosubsubsecentry#1#2{\begingroup + \subsubsecentryfonts \leftskip=3\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +% We use the same \entry macro as for the index entries. +\let\tocentry = \entry + +% Space between chapter (or whatever) number and the title. +\def\labelspace{\hskip1em \relax} + +\def\dopageno#1{{\rm #1}} +\def\doshortpageno#1{{\rm #1}} + +\def\chapentryfonts{\secfonts \rm} +\def\secentryfonts{\textfonts} +\def\subsecentryfonts{\textfonts} +\def\subsubsecentryfonts{\textfonts} + + +\message{environments,} +% @foo ... @end foo. + +% @tex ... @end tex escapes into raw TeX temporarily. +% One exception: @ is still an escape character, so that @end tex works. +% But \@ or @@ will get a plain @ character. + +\envdef\tex{% + \setregularquotes + \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 + \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 + \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie + \catcode `\%=14 + \catcode `\+=\other + \catcode `\"=\other + \catcode `\|=\other + \catcode `\<=\other + \catcode `\>=\other + \catcode `\`=\other + \catcode `\'=\other + % + % ' is active in math mode (mathcode"8000). So reset it, and all our + % other math active characters (just in case), to plain's definitions. + \mathactive + % + % Inverse of the list at the beginning of the file. + \let\b=\ptexb + \let\bullet=\ptexbullet + \let\c=\ptexc + \let\,=\ptexcomma + \let\.=\ptexdot + \let\dots=\ptexdots + \let\equiv=\ptexequiv + \let\!=\ptexexclam + \let\i=\ptexi + \let\indent=\ptexindent + \let\noindent=\ptexnoindent + \let\{=\ptexlbrace + \let\+=\tabalign + \let\}=\ptexrbrace + \let\/=\ptexslash + \let\sp=\ptexsp + \let\*=\ptexstar + %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode + \let\t=\ptext + \expandafter \let\csname top\endcsname=\ptextop % we've made it outer + \let\frenchspacing=\plainfrenchspacing + % + \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% + \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% + \def\@{@}% +} +% There is no need to define \Etex. + +% Define @lisp ... @end lisp. +% @lisp environment forms a group so it can rebind things, +% including the definition of @end lisp (which normally is erroneous). + +% Amount to narrow the margins by for @lisp. +\newskip\lispnarrowing \lispnarrowing=0.4in + +% This is the definition that ^^M gets inside @lisp, @example, and other +% such environments. \null is better than a space, since it doesn't +% have any width. +\def\lisppar{\null\endgraf} + +% This space is always present above and below environments. +\newskip\envskipamount \envskipamount = 0pt + +% Make spacing and below environment symmetrical. We use \parskip here +% to help in doing that, since in @example-like environments \parskip +% is reset to zero; thus the \afterenvbreak inserts no space -- but the +% start of the next paragraph will insert \parskip. +% +\def\aboveenvbreak{{% + % =10000 instead of <10000 because of a special case in \itemzzz and + % \sectionheading, q.v. + \ifnum \lastpenalty=10000 \else + \advance\envskipamount by \parskip + \endgraf + \ifdim\lastskip<\envskipamount + \removelastskip + \ifnum\lastpenalty<10000 + % Penalize breaking before the environment, because preceding text + % often leads into it. + \penalty100 + \fi + \vskip\envskipamount + \fi + \fi +}} + +\def\afterenvbreak{{% + % =10000 instead of <10000 because of a special case in \itemzzz and + % \sectionheading, q.v. + \ifnum \lastpenalty=10000 \else + \advance\envskipamount by \parskip + \endgraf + \ifdim\lastskip<\envskipamount + \removelastskip + % it's not a good place to break if the last penalty was \nobreak + % or better ... + \ifnum\lastpenalty<10000 \penalty-50 \fi + \vskip\envskipamount + \fi + \fi +}} + +% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will +% also clear it, so that its embedded environments do the narrowing again. +\let\nonarrowing=\relax + +% @cartouche ... @end cartouche: draw rectangle w/rounded corners around +% environment contents. + +% +\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth +\def\ctr{{\hskip 6pt\circle\char'010}} +\def\cbl{{\circle\char'012\hskip -6pt}} +\def\cbr{{\hskip 6pt\circle\char'011}} +\def\carttop{\hbox to \cartouter{\hskip\lskip + \ctl\leaders\hrule height\circthick\hfil\ctr + \hskip\rskip}} +\def\cartbot{\hbox to \cartouter{\hskip\lskip + \cbl\leaders\hrule height\circthick\hfil\cbr + \hskip\rskip}} +% +\newskip\lskip\newskip\rskip + +% only require the font if @cartouche is actually used +\def\cartouchefontdefs{% + \font\circle=lcircle10\relax + \circthick=\fontdimen8\circle +} +\newdimen\circthick +\newdimen\cartouter\newdimen\cartinner +\newskip\normbskip\newskip\normpskip\newskip\normlskip + + +\envdef\cartouche{% + \cartouchefontdefs + \ifhmode\par\fi % can't be in the midst of a paragraph. + \startsavinginserts + \lskip=\leftskip \rskip=\rightskip + \leftskip=0pt\rightskip=0pt % we want these *outside*. + \cartinner=\hsize \advance\cartinner by-\lskip + \advance\cartinner by-\rskip + \cartouter=\hsize + \advance\cartouter by 18.4pt % allow for 3pt kerns on either + % side, and for 6pt waste from + % each corner char, and rule thickness + \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip + % + % If this cartouche directly follows a sectioning command, we need the + % \parskip glue (backspaced over by default) or the cartouche can + % collide with the section heading. + \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi + % + \setbox\groupbox=\vbox\bgroup + \baselineskip=0pt\parskip=0pt\lineskip=0pt + \carttop + \hbox\bgroup + \hskip\lskip + \vrule\kern3pt + \vbox\bgroup + \kern3pt + \hsize=\cartinner + \baselineskip=\normbskip + \lineskip=\normlskip + \parskip=\normpskip + \vskip -\parskip + \comment % For explanation, see the end of def\group. +} +\def\Ecartouche{% + \ifhmode\par\fi + \kern3pt + \egroup + \kern3pt\vrule + \hskip\rskip + \egroup + \cartbot + \egroup + \addgroupbox + \checkinserts +} + + +% This macro is called at the beginning of all the @example variants, +% inside a group. +\newdimen\nonfillparindent +\def\nonfillstart{% + \aboveenvbreak + \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy + \sepspaces % Make spaces be word-separators rather than space tokens. + \let\par = \lisppar % don't ignore blank lines + \obeylines % each line of input is a line of output + \parskip = 0pt + % Turn off paragraph indentation but redefine \indent to emulate + % the normal \indent. + \nonfillparindent=\parindent + \parindent = 0pt + \let\indent\nonfillindent + % + \emergencystretch = 0pt % don't try to avoid overfull boxes + \ifx\nonarrowing\relax + \advance \leftskip by \lispnarrowing + \exdentamount=\lispnarrowing + \else + \let\nonarrowing = \relax + \fi + \let\exdent=\nofillexdent +} + +\begingroup +\obeyspaces +% We want to swallow spaces (but not other tokens) after the fake +% @indent in our nonfill-environments, where spaces are normally +% active and set to @tie, resulting in them not being ignored after +% @indent. +\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% +\gdef\nonfillindentcheck{% +\ifx\temp % +\expandafter\nonfillindentgobble% +\else% +\leavevmode\nonfillindentbox% +\fi% +}% +\endgroup +\def\nonfillindentgobble#1{\nonfillindent} +\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} + +% If you want all examples etc. small: @set dispenvsize small. +% If you want even small examples the full size: @set dispenvsize nosmall. +% This affects the following displayed environments: +% @example, @display, @format, @lisp, @verbatim +% +\def\smallword{small} +\def\nosmallword{nosmall} +\let\SETdispenvsize\relax +\def\setnormaldispenv{% + \ifx\SETdispenvsize\smallword + % end paragraph for sake of leading, in case document has no blank + % line. This is redundant with what happens in \aboveenvbreak, but + % we need to do it before changing the fonts, and it's inconvenient + % to change the fonts afterward. + \ifnum \lastpenalty=10000 \else \endgraf \fi + \smallexamplefonts \rm + \fi +} +\def\setsmalldispenv{% + \ifx\SETdispenvsize\nosmallword + \else + \ifnum \lastpenalty=10000 \else \endgraf \fi + \smallexamplefonts \rm + \fi +} + +% We often define two environments, @foo and @smallfoo. +% Let's do it in one command. #1 is the env name, #2 the definition. +\def\makedispenvdef#1#2{% + \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}% + \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}% + \expandafter\let\csname E#1\endcsname \afterenvbreak + \expandafter\let\csname Esmall#1\endcsname \afterenvbreak +} + +% Define two environment synonyms (#1 and #2) for an environment. +\def\maketwodispenvdef#1#2#3{% + \makedispenvdef{#1}{#3}% + \makedispenvdef{#2}{#3}% +} +% +% @lisp: indented, narrowed, typewriter font; +% @example: same as @lisp. +% +% @smallexample and @smalllisp: use smaller fonts. +% Originally contributed by Pavel@xerox. +% +\maketwodispenvdef{lisp}{example}{% + \nonfillstart + \tt\setcodequotes + \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. + \parsearg\gobble +} +% @display/@smalldisplay: same as @lisp except keep current font. +% +\makedispenvdef{display}{% + \nonfillstart + \gobble +} + +% @format/@smallformat: same as @display except don't narrow margins. +% +\makedispenvdef{format}{% + \let\nonarrowing = t% + \nonfillstart + \gobble +} + +% @flushleft: same as @format, but doesn't obey \SETdispenvsize. +\envdef\flushleft{% + \let\nonarrowing = t% + \nonfillstart + \gobble +} +\let\Eflushleft = \afterenvbreak + +% @flushright. +% +\envdef\flushright{% + \let\nonarrowing = t% + \nonfillstart + \advance\leftskip by 0pt plus 1fill\relax + \gobble +} +\let\Eflushright = \afterenvbreak + + +% @raggedright does more-or-less normal line breaking but no right +% justification. From plain.tex. +\envdef\raggedright{% + \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax +} +\let\Eraggedright\par + +\envdef\raggedleft{% + \parindent=0pt \leftskip0pt plus2em + \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt + \hbadness=10000 % Last line will usually be underfull, so turn off + % badness reporting. +} +\let\Eraggedleft\par + +\envdef\raggedcenter{% + \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em + \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt + \hbadness=10000 % Last line will usually be underfull, so turn off + % badness reporting. +} +\let\Eraggedcenter\par + + +% @quotation does normal linebreaking (hence we can't use \nonfillstart) +% and narrows the margins. We keep \parskip nonzero in general, since +% we're doing normal filling. So, when using \aboveenvbreak and +% \afterenvbreak, temporarily make \parskip 0. +% +\makedispenvdef{quotation}{\quotationstart} +% +\def\quotationstart{% + \indentedblockstart % same as \indentedblock, but increase right margin too. + \ifx\nonarrowing\relax + \advance\rightskip by \lispnarrowing + \fi + \parsearg\quotationlabel +} + +% We have retained a nonzero parskip for the environment, since we're +% doing normal filling. +% +\def\Equotation{% + \par + \ifx\quotationauthor\thisisundefined\else + % indent a bit. + \leftline{\kern 2\leftskip \sl ---\quotationauthor}% + \fi + {\parskip=0pt \afterenvbreak}% +} +\def\Esmallquotation{\Equotation} + +% If we're given an argument, typeset it in bold with a colon after. +\def\quotationlabel#1{% + \def\temp{#1}% + \ifx\temp\empty \else + {\bf #1: }% + \fi +} + +% @indentedblock is like @quotation, but indents only on the left and +% has no optional argument. +% +\makedispenvdef{indentedblock}{\indentedblockstart} +% +\def\indentedblockstart{% + {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip + \parindent=0pt + % + % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \ifx\nonarrowing\relax + \advance\leftskip by \lispnarrowing + \exdentamount = \lispnarrowing + \else + \let\nonarrowing = \relax + \fi +} + +% Keep a nonzero parskip for the environment, since we're doing normal filling. +% +\def\Eindentedblock{% + \par + {\parskip=0pt \afterenvbreak}% +} +\def\Esmallindentedblock{\Eindentedblock} + + +% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>} +% If we want to allow any <char> as delimiter, +% we need the curly braces so that makeinfo sees the @verb command, eg: +% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org +% +% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. +% +% [Knuth] p.344; only we need to do the other characters Texinfo sets +% active too. Otherwise, they get lost as the first character on a +% verbatim line. +\def\dospecials{% + \do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% + \do\<\do\>\do\|\do\@\do+\do\"% + % Don't do the quotes -- if we do, @set txicodequoteundirected and + % @set txicodequotebacktick will not have effect on @verb and + % @verbatim, and ?` and !` ligatures won't get disabled. + %\do\`\do\'% +} +% +% [Knuth] p. 380 +\def\uncatcodespecials{% + \def\do##1{\catcode`##1=\other}\dospecials} +% +% Setup for the @verb command. +% +% Eight spaces for a tab +\begingroup + \catcode`\^^I=\active + \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} +\endgroup +% +\def\setupverb{% + \tt % easiest (and conventionally used) font for verbatim + \def\par{\leavevmode\endgraf}% + \setcodequotes + \tabeightspaces + % Respect line breaks, + % print special symbols as themselves, and + % make each space count + % must do in this order: + \obeylines \uncatcodespecials \sepspaces +} + +% Setup for the @verbatim environment +% +% Real tab expansion. +\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount +% +% We typeset each line of the verbatim in an \hbox, so we can handle +% tabs. +\newbox\verbbox +\def\starttabbox{\setbox\verbbox=\hbox\bgroup} +% +\begingroup + \catcode`\^^I=\active + \gdef\tabexpand{% + \catcode`\^^I=\active + \def^^I{\leavevmode\egroup + \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab + \divide\dimen\verbbox by\tabw + \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw + \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw + \wd\verbbox=\dimen\verbbox + \leavevmode\box\verbbox \starttabbox + }% + } +\endgroup + +% start the verbatim environment. +\def\setupverbatim{% + \let\nonarrowing = t% + \nonfillstart + \tt % easiest (and conventionally used) font for verbatim + \def\par{\egroup\leavevmode\box\verbbox\endgraf\starttabbox}% + \tabexpand + \setcodequotes + % Respect line breaks, + % print special symbols as themselves, and + % make each space count. + % Must do in this order: + \obeylines \uncatcodespecials \sepspaces +} + +% Do the @verb magic: verbatim text is quoted by unique +% delimiter characters. Before first delimiter expect a +% right brace, after last delimiter expect closing brace: +% +% \def\doverb'{'<char>#1<char>'}'{#1} +% +% [Knuth] p. 382; only eat outer {} +\begingroup + \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other + \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] +\endgroup +% +\def\verb{\begingroup\setupverb\doverb} +% +% +% Do the @verbatim magic: define the macro \doverbatim so that +% the (first) argument ends when '@end verbatim' is reached, ie: +% +% \def\doverbatim#1@end verbatim{#1} +% +% For Texinfo it's a lot easier than for LaTeX, +% because texinfo's \verbatim doesn't stop at '\end{verbatim}': +% we need not redefine '\', '{' and '}'. +% +% Inspired by LaTeX's verbatim command set [latex.ltx] +% +\begingroup + \catcode`\ =\active + \obeylines % + % ignore everything up to the first ^^M, that's the newline at the end + % of the @verbatim input line itself. Otherwise we get an extra blank + % line in the output. + \xdef\doverbatim#1^^M#2@end verbatim{% + \starttabbox#2\egroup\noexpand\end\gobble verbatim}% + % We really want {...\end verbatim} in the body of the macro, but + % without the active space; thus we have to use \xdef and \gobble. + % The \egroup ends the \verbbox started at the end of the last line in + % the block. +\endgroup +% +\envdef\verbatim{% + \setnormaldispenv\setupverbatim\doverbatim +} +\let\Everbatim = \afterenvbreak + + +% @verbatiminclude FILE - insert text of file in verbatim environment. +% +\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} +% +\def\doverbatiminclude#1{% + {% + \makevalueexpandable + \setupverbatim + {% + \indexnofonts % Allow `@@' and other weird things in file names. + \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% + \edef\tmp{\noexpand\input #1 } + \expandafter + }\expandafter\starttabbox\tmp\egroup + \afterenvbreak + }% +} + +% @copying ... @end copying. +% Save the text away for @insertcopying later. +% +% We save the uninterpreted tokens, rather than creating a box. +% Saving the text in a box would be much easier, but then all the +% typesetting commands (@smallbook, font changes, etc.) have to be done +% beforehand -- and a) we want @copying to be done first in the source +% file; b) letting users define the frontmatter in as flexible order as +% possible is desirable. +% +\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} +\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} +% +\def\insertcopying{% + \begingroup + \parindent = 0pt % paragraph indentation looks wrong on title page + \scanexp\copyingtext + \endgroup +} + + +\message{defuns,} +% @defun etc. + +\newskip\defbodyindent \defbodyindent=.4in +\newskip\defargsindent \defargsindent=50pt +\newskip\deflastargmargin \deflastargmargin=18pt +\newcount\defunpenalty + +% Start the processing of @deffn: +\def\startdefun{% + \ifnum\lastpenalty<10000 + \medbreak + \defunpenalty=10003 % Will keep this @deffn together with the + % following @def command, see below. + \else + % If there are two @def commands in a row, we'll have a \nobreak, + % which is there to keep the function description together with its + % header. But if there's nothing but headers, we need to allow a + % break somewhere. Check specifically for penalty 10002, inserted + % by \printdefunline, instead of 10000, since the sectioning + % commands also insert a nobreak penalty, and we don't want to allow + % a break between a section heading and a defun. + % + % As a further refinement, we avoid "club" headers by signalling + % with penalty of 10003 after the very first @deffn in the + % sequence (see above), and penalty of 10002 after any following + % @def command. + \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi + % + % Similarly, after a section heading, do not allow a break. + % But do insert the glue. + \medskip % preceded by discardable penalty, so not a breakpoint + \fi + % + \parindent=0in + \advance\leftskip by \defbodyindent + \exdentamount=\defbodyindent +} + +\def\dodefunx#1{% + % First, check whether we are in the right environment: + \checkenv#1% + % + % As above, allow line break if we have multiple x headers in a row. + % It's not a great place, though. + \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi + % + % And now, it's time to reuse the body of the original defun: + \expandafter\gobbledefun#1% +} +\def\gobbledefun#1\startdefun{} + +% \printdefunline \deffnheader{text} +% +\def\printdefunline#1#2{% + \begingroup + \plainfrenchspacing + % call \deffnheader: + #1#2 \endheader + % common ending: + \interlinepenalty = 10000 + \advance\rightskip by 0pt plus 1fil\relax + \endgraf + \nobreak\vskip -\parskip + \penalty\defunpenalty % signal to \startdefun and \dodefunx + % Some of the @defun-type tags do not enable magic parentheses, + % rendering the following check redundant. But we don't optimize. + \checkparencounts + \endgroup +} + +\def\Edefun{\endgraf\medbreak} + +% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; +% the only thing remaining is to define \deffnheader. +% +\def\makedefun#1{% + \expandafter\let\csname E#1\endcsname = \Edefun + \edef\temp{\noexpand\domakedefun + \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% + \temp +} + +% \domakedefun \deffn \deffnx \deffnheader { (defn. of \deffnheader) } +% +% Define \deffn and \deffnx, without parameters. +% \deffnheader has to be defined explicitly. +% +\def\domakedefun#1#2#3{% + \envdef#1{% + \startdefun + \doingtypefnfalse % distinguish typed functions from all else + \parseargusing\activeparens{\printdefunline#3}% + }% + \def#2{\dodefunx#1}% + \def#3% +} + +\newif\ifdoingtypefn % doing typed function? +\newif\ifrettypeownline % typeset return type on its own line? + +% @deftypefnnewline on|off says whether the return type of typed functions +% are printed on their own line. This affects @deftypefn, @deftypefun, +% @deftypeop, and @deftypemethod. +% +\parseargdef\deftypefnnewline{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETtxideftypefnnl\endcsname + = \empty + \else\ifx\temp\offword + \expandafter\let\csname SETtxideftypefnnl\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @txideftypefnnl value `\temp', + must be on|off}% + \fi\fi +} + +% \dosubind {index}{topic}{subtopic} +% +% If SUBTOPIC is present, precede it with a space, and call \doind. +% (At some time during the 20th century, this made a two-level entry in an +% index such as the operation index. Nobody seemed to notice the change in +% behaviour though.) +\def\dosubind#1#2#3{% + \def\thirdarg{#3}% + \ifx\thirdarg\empty + \doind{#1}{#2}% + \else + \doind{#1}{#2\space#3}% + \fi +} + +% Untyped functions: + +% @deffn category name args +\makedefun{deffn}{\deffngeneral{}} + +% @deffn category class name args +\makedefun{defop}#1 {\defopon{#1\ \putwordon}} + +% \defopon {category on}class name args +\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } + +% \deffngeneral {subind}category name args +% +\def\deffngeneral#1#2 #3 #4\endheader{% + \dosubind{fn}{\code{#3}}{#1}% + \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% +} + +% Typed functions: + +% @deftypefn category type name args +\makedefun{deftypefn}{\deftypefngeneral{}} + +% @deftypeop category class type name args +\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} + +% \deftypeopon {category on}class type name args +\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } + +% \deftypefngeneral {subind}category type name args +% +\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% + \dosubind{fn}{\code{#4}}{#1}% + \doingtypefntrue + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +} + +% Typed variables: + +% @deftypevr category type var args +\makedefun{deftypevr}{\deftypecvgeneral{}} + +% @deftypecv category class type var args +\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} + +% \deftypecvof {category of}class type var args +\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } + +% \deftypecvgeneral {subind}category type var args +% +\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% + \dosubind{vr}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +} + +% Untyped variables: + +% @defvr category var args +\makedefun{defvr}#1 {\deftypevrheader{#1} {} } + +% @defcv category class var args +\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} + +% \defcvof {category of}class var args +\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } + +% Types: + +% @deftp category name args +\makedefun{deftp}#1 #2 #3\endheader{% + \doind{tp}{\code{#2}}% + \defname{#1}{}{#2}\defunargs{#3\unskip}% +} + +% Remaining @defun-like shortcuts: +\makedefun{defun}{\deffnheader{\putwordDeffunc} } +\makedefun{defmac}{\deffnheader{\putwordDefmac} } +\makedefun{defspec}{\deffnheader{\putwordDefspec} } +\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } +\makedefun{defvar}{\defvrheader{\putwordDefvar} } +\makedefun{defopt}{\defvrheader{\putwordDefopt} } +\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } +\makedefun{defmethod}{\defopon\putwordMethodon} +\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} +\makedefun{defivar}{\defcvof\putwordInstanceVariableof} +\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} + +% \defname, which formats the name of the @def (not the args). +% #1 is the category, such as "Function". +% #2 is the return type, if any. +% #3 is the function name. +% +% We are followed by (but not passed) the arguments, if any. +% +\def\defname#1#2#3{% + \par + % Get the values of \leftskip and \rightskip as they were outside the @def... + \advance\leftskip by -\defbodyindent + % + % Determine if we are typesetting the return type of a typed function + % on a line by itself. + \rettypeownlinefalse + \ifdoingtypefn % doing a typed function specifically? + % then check user option for putting return type on its own line: + \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else + \rettypeownlinetrue + \fi + \fi + % + % How we'll format the category name. Putting it in brackets helps + % distinguish it from the body text that may end up on the next line + % just below it. + \def\temp{#1}% + \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} + % + % Figure out line sizes for the paragraph shape. We'll always have at + % least two. + \tempnum = 2 + % + % The first line needs space for \box0; but if \rightskip is nonzero, + % we need only space for the part of \box0 which exceeds it: + \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip + % + % If doing a return type on its own line, we'll have another line. + \ifrettypeownline + \advance\tempnum by 1 + \def\maybeshapeline{0in \hsize}% + \else + \def\maybeshapeline{}% + \fi + % + % The continuations: + \dimen2=\hsize \advance\dimen2 by -\defargsindent + % + % The final paragraph shape: + \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2 + % + % Put the category name at the right margin. + \noindent + \hbox to 0pt{% + \hfil\box0 \kern-\hsize + % \hsize has to be shortened this way: + \kern\leftskip + % Intentionally do not respect \rightskip, since we need the space. + }% + % + % Allow all lines to be underfull without complaint: + \tolerance=10000 \hbadness=10000 + \exdentamount=\defbodyindent + {% + % defun fonts. We use typewriter by default (used to be bold) because: + % . we're printing identifiers, they should be in tt in principle. + % . in languages with many accents, such as Czech or French, it's + % common to leave accents off identifiers. The result looks ok in + % tt, but exceedingly strange in rm. + % . we don't want -- and --- to be treated as ligatures. + % . this still does not fix the ?` and !` ligatures, but so far no + % one has made identifiers using them :). + \df \tt + \def\temp{#2}% text of the return type + \ifx\temp\empty\else + \tclose{\temp}% typeset the return type + \ifrettypeownline + % put return type on its own line; prohibit line break following: + \hfil\vadjust{\nobreak}\break + \else + \space % type on same line, so just followed by a space + \fi + \fi % no return type + #3% output function name + }% + {\rm\enskip}% hskip 0.5 em of \rmfont + % + \boldbrax + % arguments will be output next, if any. +} + +% Print arguments in slanted roman (not ttsl), inconsistently with using +% tt for the name. This is because literal text is sometimes needed in +% the argument list (groff manual), and ttsl and tt are not very +% distinguishable. Prevent hyphenation at `-' chars. +% +\def\defunargs#1{% + % use sl by default (not ttsl), + % tt for the names. + \df \sl \hyphenchar\font=0 + % + % On the other hand, if an argument has two dashes (for instance), we + % want a way to get ttsl. We used to recommend @var for that, so + % leave the code in, but it's strange for @var to lead to typewriter. + % Nowadays we recommend @code, since the difference between a ttsl hyphen + % and a tt hyphen is pretty tiny. @code also disables ?` !`. + \def\var##1{{\setregularquotes\ttslanted{##1}}}% + #1% + \sl\hyphenchar\font=45 +} + +% We want ()&[] to print specially on the defun line. +% +\def\activeparens{% + \catcode`\(=\active \catcode`\)=\active + \catcode`\[=\active \catcode`\]=\active + \catcode`\&=\active +} + +% Make control sequences which act like normal parenthesis chars. +\let\lparen = ( \let\rparen = ) + +% Be sure that we always have a definition for `(', etc. For example, +% if the fn name has parens in it, \boldbrax will not be in effect yet, +% so TeX would otherwise complain about undefined control sequence. +{ + \activeparens + \global\let(=\lparen \global\let)=\rparen + \global\let[=\lbrack \global\let]=\rbrack + \global\let& = \& + + \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} + \gdef\magicamp{\let&=\amprm} +} +\let\ampchar\& + +\newcount\parencount + +% If we encounter &foo, then turn on ()-hacking afterwards +\newif\ifampseen +\def\amprm#1 {\ampseentrue{\bf\ }} + +\def\parenfont{% + \ifampseen + % At the first level, print parens in roman, + % otherwise use the default font. + \ifnum \parencount=1 \rm \fi + \else + % The \sf parens (in \boldbrax) actually are a little bolder than + % the contained text. This is especially needed for [ and ] . + \sf + \fi +} +\def\infirstlevel#1{% + \ifampseen + \ifnum\parencount=1 + #1% + \fi + \fi +} +\def\bfafterword#1 {#1 \bf} + +\def\opnr{% + \global\advance\parencount by 1 + {\parenfont(}% + \infirstlevel \bfafterword +} +\def\clnr{% + {\parenfont)}% + \infirstlevel \sl + \global\advance\parencount by -1 +} + +\newcount\brackcount +\def\lbrb{% + \global\advance\brackcount by 1 + {\bf[}% +} +\def\rbrb{% + {\bf]}% + \global\advance\brackcount by -1 +} + +\def\checkparencounts{% + \ifnum\parencount=0 \else \badparencount \fi + \ifnum\brackcount=0 \else \badbrackcount \fi +} +% these should not use \errmessage; the glibc manual, at least, actually +% has such constructs (when documenting function pointers). +\def\badparencount{% + \message{Warning: unbalanced parentheses in @def...}% + \global\parencount=0 +} +\def\badbrackcount{% + \message{Warning: unbalanced square brackets in @def...}% + \global\brackcount=0 +} + + +\message{macros,} +% @macro. + +% To do this right we need a feature of e-TeX, \scantokens, +% which we arrange to emulate with a temporary file in ordinary TeX. +\ifx\eTeXversion\thisisundefined + \newwrite\macscribble + \def\scantokens#1{% + \toks0={#1}% + \immediate\openout\macscribble=\jobname.tmp + \immediate\write\macscribble{\the\toks0}% + \immediate\closeout\macscribble + \input \jobname.tmp + } +\fi + +\let\E=\expandafter + +% Used at the time of macro expansion. +% Argument is macro body with arguments substituted +\def\scanmacro#1{% + \newlinechar`\^^M + % expand the expansion of \eatleadingcr twice to maybe remove a leading + % newline (and \else and \fi tokens), then call \eatspaces on the result. + \def\xeatspaces##1{% + \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1% + }}% + \def\xempty##1{}% + % + % Process the macro body under the current catcode regime. + \scantokens{#1@comment}% + % + % The \comment is to remove the \newlinechar added by \scantokens, and + % can be noticed by \parsearg. Note \c isn't used because this means cedilla + % in math mode. +} + +% Used for copying and captions +\def\scanexp#1{% + \expandafter\scanmacro\expandafter{#1}% +} + +\newcount\paramno % Count of parameters +\newtoks\macname % Macro name +\newif\ifrecursive % Is it recursive? + +% List of all defined macros in the form +% \commondummyword\macro1\commondummyword\macro2... +% Currently is also contains all @aliases; the list can be split +% if there is a need. +\def\macrolist{} + +% Add the macro to \macrolist +\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} +\def\addtomacrolistxxx#1{% + \toks0 = \expandafter{\macrolist\commondummyword#1}% + \xdef\macrolist{\the\toks0}% +} + +% Utility routines. +% This does \let #1 = #2, with \csnames; that is, +% \let \csname#1\endcsname = \csname#2\endcsname +% (except of course we have to play expansion games). +% +\def\cslet#1#2{% + \expandafter\let + \csname#1\expandafter\endcsname + \csname#2\endcsname +} + +% Trim leading and trailing spaces off a string. +% Concepts from aro-bend problem 15 (see CTAN). +{\catcode`\@=11 +\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} +\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} +\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} +\def\unbrace#1{#1} +\unbrace{\gdef\trim@@@ #1 } #2@{#1} +} + +{\catcode`\^^M=\other% +\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}% +% Warning: this won't work for a delimited argument +% or for an empty argument + +% Trim a single trailing ^^M off a string. +{\catcode`\^^M=\other \catcode`\Q=3% +\gdef\eatcr #1{\eatcra #1Q^^MQ}% +\gdef\eatcra#1^^MQ{\eatcrb#1Q}% +\gdef\eatcrb#1Q#2Q{#1}% +} + +% Macro bodies are absorbed as an argument in a context where +% all characters are catcode 10, 11 or 12, except \ which is active +% (as in normal texinfo). It is necessary to change the definition of \ +% to recognize macro arguments; this is the job of \mbodybackslash. +% +% Non-ASCII encodings make 8-bit characters active, so un-activate +% them to avoid their expansion. Must do this non-globally, to +% confine the change to the current group. +% +% It's necessary to have hard CRs when the macro is executed. This is +% done by making ^^M (\endlinechar) catcode 12 when reading the macro +% body, and then making it the \newlinechar in \scanmacro. +% +\def\scanctxt{% used as subroutine + \catcode`\"=\other + \catcode`\+=\other + \catcode`\<=\other + \catcode`\>=\other + \catcode`\^=\other + \catcode`\_=\other + \catcode`\|=\other + \catcode`\~=\other + \passthroughcharstrue +} + +\def\scanargctxt{% used for copying and captions, not macros. + \scanctxt + \catcode`\@=\other + \catcode`\\=\other + \catcode`\^^M=\other +} + +\def\macrobodyctxt{% used for @macro definitions + \scanctxt + \catcode`\ =\other + \catcode`\@=\other + \catcode`\{=\other + \catcode`\}=\other + \catcode`\^^M=\other + \usembodybackslash +} + +% Used when scanning braced macro arguments. Note, however, that catcode +% changes here are ineffectual if the macro invocation was nested inside +% an argument to another Texinfo command. +\def\macroargctxt{% + \scanctxt + \catcode`\ =\active + \catcode`\@=\other + \catcode`\^^M=\other + \catcode`\\=\active +} + +\def\macrolineargctxt{% used for whole-line arguments without braces + \scanctxt + \catcode`\@=\other + \catcode`\{=\other + \catcode`\}=\other +} + +% \mbodybackslash is the definition of \ in @macro bodies. +% It maps \foo\ => \csname macarg.foo\endcsname => #N +% where N is the macro parameter number. +% We define \csname macarg.\endcsname to be \realbackslash, so +% \\ in macro replacement text gets you a backslash. +% +{\catcode`@=0 @catcode`@\=@active + @gdef@usembodybackslash{@let\=@mbodybackslash} + @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} +} +\expandafter\def\csname macarg.\endcsname{\realbackslash} + +\def\margbackslash#1{\char`\#1 } + +\def\macro{\recursivefalse\parsearg\macroxxx} +\def\rmacro{\recursivetrue\parsearg\macroxxx} + +\def\macroxxx#1{% + \getargs{#1}% now \macname is the macname and \argl the arglist + \ifx\argl\empty % no arguments + \paramno=0\relax + \else + \expandafter\parsemargdef \argl;% + \if\paramno>256\relax + \ifx\eTeXversion\thisisundefined + \errhelp = \EMsimple + \errmessage{You need eTeX to compile a file with macros with more than 256 arguments} + \fi + \fi + \fi + \if1\csname ismacro.\the\macname\endcsname + \message{Warning: redefining \the\macname}% + \else + \expandafter\ifx\csname \the\macname\endcsname \relax + \else \errmessage{Macro name \the\macname\space already defined}\fi + \global\cslet{macsave.\the\macname}{\the\macname}% + \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% + \addtomacrolist{\the\macname}% + \fi + \begingroup \macrobodyctxt + \ifrecursive \expandafter\parsermacbody + \else \expandafter\parsemacbody + \fi} + +\parseargdef\unmacro{% + \if1\csname ismacro.#1\endcsname + \global\cslet{#1}{macsave.#1}% + \global\expandafter\let \csname ismacro.#1\endcsname=0% + % Remove the macro name from \macrolist: + \begingroup + \expandafter\let\csname#1\endcsname \relax + \let\commondummyword\unmacrodo + \xdef\macrolist{\macrolist}% + \endgroup + \else + \errmessage{Macro #1 not defined}% + \fi +} + +% Called by \do from \dounmacro on each macro. The idea is to omit any +% macro definitions that have been changed to \relax. +% +\def\unmacrodo#1{% + \ifx #1\relax + % remove this + \else + \noexpand\commondummyword \noexpand#1% + \fi +} + +% \getargs -- Parse the arguments to a @macro line. Set \macname to +% the name of the macro, and \argl to the braced argument list. +\def\getargs#1{\getargsxxx#1{}} +\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} +\def\getmacname#1 #2\relax{\macname={#1}} +\def\getmacargs#1{\def\argl{#1}} +% This made use of the feature that if the last token of a +% <parameter list> is #, then the preceding argument is delimited by +% an opening brace, and that opening brace is not consumed. + +% Parse the optional {params} list to @macro or @rmacro. +% Set \paramno to the number of arguments, +% and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a +% three-param macro.) Define \macarg.BLAH for each BLAH in the params +% list to some hook where the argument is to be expanded. If there are +% less than 10 arguments that hook is to be replaced by ##N where N +% is the position in that list, that is to say the macro arguments are to be +% defined `a la TeX in the macro body. +% +% That gets used by \mbodybackslash (above). +% +% If there are 10 or more arguments, a different technique is used: see +% \parsemmanyargdef. +% +\def\parsemargdef#1;{% + \paramno=0\def\paramlist{}% + \let\hash\relax + % \hash is redefined to `#' later to get it into definitions + \let\xeatspaces\relax + \let\xempty\relax + \parsemargdefxxx#1,;,% + \ifnum\paramno<10\relax\else + \paramno0\relax + \parsemmanyargdef@@#1,;,% 10 or more arguments + \fi +} +\def\parsemargdefxxx#1,{% + \if#1;\let\next=\relax + \else \let\next=\parsemargdefxxx + \advance\paramno by 1 + \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname + {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}% + \edef\paramlist{\paramlist\hash\the\paramno,}% + \fi\next} +% the \xempty{} is to give \eatleadingcr an argument in the case of an +% empty macro argument. + +% \parsemacbody, \parsermacbody +% +% Read recursive and nonrecursive macro bodies. (They're different since +% rec and nonrec macros end differently.) +% +% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro +% body to be transformed. +% Set \macrobody to the body of the macro, and call \defmacro. +% +{\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{% +\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}% +{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{% +\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}% + +% Make @ a letter, so that we can make private-to-Texinfo macro names. +\edef\texiatcatcode{\the\catcode`\@} +\catcode `@=11\relax + +%%%%%%%%%%%%%% Code for > 10 arguments only %%%%%%%%%%%%%%%%%% + +% If there are 10 or more arguments, a different technique is used, where the +% hook remains in the body, and when macro is to be expanded the body is +% processed again to replace the arguments. +% +% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the +% argument N value and then \edef the body (nothing else will expand because of +% the catcode regime under which the body was input). +% +% If you compile with TeX (not eTeX), and you have macros with 10 or more +% arguments, no macro can have more than 256 arguments (else error). +% +% In case that there are 10 or more arguments we parse again the arguments +% list to set new definitions for the \macarg.BLAH macros corresponding to +% each BLAH argument. It was anyhow needed to parse already once this list +% in order to count the arguments, and as macros with at most 9 arguments +% are by far more frequent than macro with 10 or more arguments, defining +% twice the \macarg.BLAH macros does not cost too much processing power. +\def\parsemmanyargdef@@#1,{% + \if#1;\let\next=\relax + \else + \let\next=\parsemmanyargdef@@ + \edef\tempb{\eatspaces{#1}}% + \expandafter\def\expandafter\tempa + \expandafter{\csname macarg.\tempb\endcsname}% + % Note that we need some extra \noexpand\noexpand, this is because we + % don't want \the to be expanded in the \parsermacbody as it uses an + % \xdef . + \expandafter\edef\tempa + {\noexpand\noexpand\noexpand\the\toks\the\paramno}% + \advance\paramno by 1\relax + \fi\next} + + +\let\endargs@\relax +\let\nil@\relax +\def\nilm@{\nil@}% +\long\def\nillm@{\nil@}% + +% This macro is expanded during the Texinfo macro expansion, not during its +% definition. It gets all the arguments' values and assigns them to macros +% macarg.ARGNAME +% +% #1 is the macro name +% #2 is the list of argument names +% #3 is the list of argument values +\def\getargvals@#1#2#3{% + \def\macargdeflist@{}% + \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion. + \def\paramlist{#2,\nil@}% + \def\macroname{#1}% + \begingroup + \macroargctxt + \def\argvaluelist{#3,\nil@}% + \def\@tempa{#3}% + \ifx\@tempa\empty + \setemptyargvalues@ + \else + \getargvals@@ + \fi +} +\def\getargvals@@{% + \ifx\paramlist\nilm@ + % Some sanity check needed here that \argvaluelist is also empty. + \ifx\argvaluelist\nillm@ + \else + \errhelp = \EMsimple + \errmessage{Too many arguments in macro `\macroname'!}% + \fi + \let\next\macargexpandinbody@ + \else + \ifx\argvaluelist\nillm@ + % No more arguments values passed to macro. Set remaining named-arg + % macros to empty. + \let\next\setemptyargvalues@ + \else + % pop current arg name into \@tempb + \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}% + \expandafter\@tempa\expandafter{\paramlist}% + % pop current argument value into \@tempc + \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}% + \expandafter\@tempa\expandafter{\argvaluelist}% + % Here \@tempb is the current arg name and \@tempc is the current arg value. + % First place the new argument macro definition into \@tempd + \expandafter\macname\expandafter{\@tempc}% + \expandafter\let\csname macarg.\@tempb\endcsname\relax + \expandafter\def\expandafter\@tempe\expandafter{% + \csname macarg.\@tempb\endcsname}% + \edef\@tempd{\long\def\@tempe{\the\macname}}% + \push@\@tempd\macargdeflist@ + \let\next\getargvals@@ + \fi + \fi + \next +} + +\def\push@#1#2{% + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter#2% + \expandafter\expandafter\expandafter{% + \expandafter#1#2}% +} + +% Replace arguments by their values in the macro body, and place the result +% in macro \@tempa. +% +\def\macvalstoargs@{% + % To do this we use the property that token registers that are \the'ed + % within an \edef expand only once. So we are going to place all argument + % values into respective token registers. + % + % First we save the token context, and initialize argument numbering. + \begingroup + \paramno0\relax + % Then, for each argument number #N, we place the corresponding argument + % value into a new token list register \toks#N + \expandafter\putargsintokens@\saveparamlist@,;,% + % Then, we expand the body so that argument are replaced by their + % values. The trick for values not to be expanded themselves is that they + % are within tokens and that tokens expand only once in an \edef . + \edef\@tempc{\csname mac.\macroname .body\endcsname}% + % Now we restore the token stack pointer to free the token list registers + % which we have used, but we make sure that expanded body is saved after + % group. + \expandafter + \endgroup + \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% + } + +% Define the named-macro outside of this group and then close this group. +% +\def\macargexpandinbody@{% + \expandafter + \endgroup + \macargdeflist@ + % First the replace in body the macro arguments by their values, the result + % is in \@tempa . + \macvalstoargs@ + % Then we point at the \norecurse or \gobble (for recursive) macro value + % with \@tempb . + \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname + % Depending on whether it is recursive or not, we need some tailing + % \egroup . + \ifx\@tempb\gobble + \let\@tempc\relax + \else + \let\@tempc\egroup + \fi + % And now we do the real job: + \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}% + \@tempd +} + +\def\putargsintokens@#1,{% + \if#1;\let\next\relax + \else + \let\next\putargsintokens@ + % First we allocate the new token list register, and give it a temporary + % alias \@tempb . + \toksdef\@tempb\the\paramno + % Then we place the argument value into that token list register. + \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname + \expandafter\@tempb\expandafter{\@tempa}% + \advance\paramno by 1\relax + \fi + \next +} + +% Trailing missing arguments are set to empty. +% +\def\setemptyargvalues@{% + \ifx\paramlist\nilm@ + \let\next\macargexpandinbody@ + \else + \expandafter\setemptyargvaluesparser@\paramlist\endargs@ + \let\next\setemptyargvalues@ + \fi + \next +} + +\def\setemptyargvaluesparser@#1,#2\endargs@{% + \expandafter\def\expandafter\@tempa\expandafter{% + \expandafter\def\csname macarg.#1\endcsname{}}% + \push@\@tempa\macargdeflist@ + \def\paramlist{#2}% +} + +% #1 is the element target macro +% #2 is the list macro +% #3,#4\endargs@ is the list value +\def\pop@#1#2#3,#4\endargs@{% + \def#1{#3}% + \def#2{#4}% +} +\long\def\longpop@#1#2#3,#4\endargs@{% + \long\def#1{#3}% + \long\def#2{#4}% +} + + +%%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%% + + +% This defines a Texinfo @macro or @rmacro, called by \parsemacbody. +% \macrobody has the body of the macro in it, with placeholders for +% its parameters, looking like "\xeatspaces{\hash 1}". +% \paramno is the number of parameters +% \paramlist is a TeX parameter text, e.g. "#1,#2,#3," +% There are four cases: macros of zero, one, up to nine, and many arguments. +% \xdef is used so that macro definitions will survive the file +% they're defined in: @include reads the file inside a group. +% +\def\defmacro{% + \let\hash=##% convert placeholders to macro parameter chars + \ifnum\paramno=1 + \def\xeatspaces##1{##1}% + % This removes the pair of braces around the argument. We don't + % use \eatspaces, because this can cause ends of lines to be lost + % when the argument to \eatspaces is read, leading to line-based + % commands like "@itemize" not being read correctly. + \else + \let\xeatspaces\relax % suppress expansion + \fi + \ifcase\paramno + % 0 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup + \noexpand\spaceisspace + \noexpand\endlineisspace + \noexpand\expandafter % skip any whitespace after the macro name. + \expandafter\noexpand\csname\the\macname @@@\endcsname}% + \expandafter\xdef\csname\the\macname @@@\endcsname{% + \egroup + \noexpand\scanmacro{\macrobody}}% + \or % 1 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup + \noexpand\braceorline + \expandafter\noexpand\csname\the\macname @@@\endcsname}% + \expandafter\xdef\csname\the\macname @@@\endcsname##1{% + \egroup + \noexpand\scanmacro{\macrobody}% + }% + \else % at most 9 + \ifnum\paramno<10\relax + % @MACNAME sets the context for reading the macro argument + % @MACNAME@@ gets the argument, processes backslashes and appends a + % comma. + % @MACNAME@@@ removes braces surrounding the argument list. + % @MACNAME@@@@ scans the macro body with arguments substituted. + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup + \noexpand\expandafter % This \expandafter skip any spaces after the + \noexpand\macroargctxt % macro before we change the catcode of space. + \noexpand\expandafter + \expandafter\noexpand\csname\the\macname @@\endcsname}% + \expandafter\xdef\csname\the\macname @@\endcsname##1{% + \noexpand\passargtomacro + \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}% + \expandafter\xdef\csname\the\macname @@@\endcsname##1{% + \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname @@@@\endcsname\paramlist{% + \egroup\noexpand\scanmacro{\macrobody}}% + \else % 10 or more: + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\getargvals@{\the\macname}{\argl}% + }% + \global\expandafter\let\csname mac.\the\macname .body\endcsname\macrobody + \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble + \fi + \fi} + +\catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes + +\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +{\catcode`\@=0 \catcode`\\=13 % We need to manipulate \ so use @ as escape +@catcode`@_=11 % private names +@catcode`@!=11 % used as argument separator + +% \passargtomacro#1#2 - +% Call #1 with a list of tokens #2, with any doubled backslashes in #2 +% compressed to one. +% +% This implementation works by expansion, and not execution (so we cannot use +% \def or similar). This reduces the risk of this failing in contexts where +% complete expansion is done with no execution (for example, in writing out to +% an auxiliary file for an index entry). +% +% State is kept in the input stream: the argument passed to +% @look_ahead, @gobble_and_check_finish and @add_segment is +% +% THE_MACRO ARG_RESULT ! {PENDING_BS} NEXT_TOKEN (... rest of input) +% +% where: +% THE_MACRO - name of the macro we want to call +% ARG_RESULT - argument list we build to pass to that macro +% PENDING_BS - either a backslash or nothing +% NEXT_TOKEN - used to look ahead in the input stream to see what's coming next + +@gdef@passargtomacro#1#2{% + @add_segment #1!{}@relax#2\@_finish\% +} +@gdef@_finish{@_finishx} @global@let@_finishx@relax + +% #1 - THE_MACRO ARG_RESULT +% #2 - PENDING_BS +% #3 - NEXT_TOKEN +% #4 used to look ahead +% +% If the next token is not a backslash, process the rest of the argument; +% otherwise, remove the next token. +@gdef@look_ahead#1!#2#3#4{% + @ifx#4\% + @expandafter@gobble_and_check_finish + @else + @expandafter@add_segment + @fi#1!{#2}#4#4% +} + +% #1 - THE_MACRO ARG_RESULT +% #2 - PENDING_BS +% #3 - NEXT_TOKEN +% #4 should be a backslash, which is gobbled. +% #5 looks ahead +% +% Double backslash found. Add a single backslash, and look ahead. +@gdef@gobble_and_check_finish#1!#2#3#4#5{% + @add_segment#1\!{}#5#5% +} + +@gdef@is_fi{@fi} + +% #1 - THE_MACRO ARG_RESULT +% #2 - PENDING_BS +% #3 - NEXT_TOKEN +% #4 is input stream until next backslash +% +% Input stream is either at the start of the argument, or just after a +% backslash sequence, either a lone backslash, or a doubled backslash. +% NEXT_TOKEN contains the first token in the input stream: if it is \finish, +% finish; otherwise, append to ARG_RESULT the segment of the argument up until +% the next backslash. PENDING_BACKSLASH contains a backslash to represent +% a backslash just before the start of the input stream that has not been +% added to ARG_RESULT. +@gdef@add_segment#1!#2#3#4\{% +@ifx#3@_finish + @call_the_macro#1!% +@else + % append the pending backslash to the result, followed by the next segment + @expandafter@is_fi@look_ahead#1#2#4!{\}@fi + % this @fi is discarded by @look_ahead. + % we can't get rid of it with \expandafter because we don't know how + % long #4 is. +} + +% #1 - THE_MACRO +% #2 - ARG_RESULT +% #3 discards the res of the conditional in @add_segment, and @is_fi ends the +% conditional. +@gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} + +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% \braceorline MAC is used for a one-argument macro MAC. It checks +% whether the next non-whitespace character is a {. It sets the context +% for reading the argument (slightly different in the two cases). Then, +% to read the argument, in the whole-line case, it then calls the regular +% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. +% +\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} +\def\braceorlinexxx{% + \ifx\nchar\bgroup + \macroargctxt + \expandafter\passargtomacro + \else + \macrolineargctxt\expandafter\parsearg + \fi \macnamexxx} + + +% @alias. +% We need some trickery to remove the optional spaces around the equal +% sign. Make them active and then expand them all to nothing. +% +\def\alias{\parseargusing\obeyspaces\aliasxxx} +\def\aliasxxx #1{\aliasyyy#1\relax} +\def\aliasyyy #1=#2\relax{% + {% + \expandafter\let\obeyedspace=\empty + \addtomacrolist{#1}% + \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% + }% + \next +} + + +\message{cross references,} + +\newwrite\auxfile +\newif\ifhavexrefs % True if xref values are known. +\newif\ifwarnedxrefs % True if we warned once that they aren't known. + +% @inforef is relatively simple. +\def\inforef #1{\inforefzzz #1,,,,**} +\def\inforefzzz #1,#2,#3,#4**{% + \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, + node \samp{\ignorespaces#1{}}} + +% @node's only job in TeX is to define \lastnode, which is used in +% cross-references. The @node line might or might not have commas, and +% might or might not have spaces before the first comma, like: +% @node foo , bar , ... +% We don't want such trailing spaces in the node name. +% +\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} +% +% also remove a trailing comma, in case of something like this: +% @node Help-Cross, , , Cross-refs +\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} +\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}\omittopnode} + +% Used so that the @top node doesn't have to be wrapped in an @ifnottex +% conditional. +% \doignore goes to more effort to skip nested conditionals but we don't need +% that here. +\def\omittopnode{% + \ifx\lastnode\wordTop + \expandafter\ignorenode\fi +} +\def\wordTop{Top} + +% Until the next @node or @bye command, divert output to a box that is not +% output. +\def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}% +\ignorenodebye +} + +{\let\bye\relax +\gdef\ignorenodebye{\let\bye\ignorenodebyedef} +\gdef\ignorenodebyedef{\egroup(`Top' node ignored)\bye}} +% The redefinition of \bye here is because it is declared \outer + +\let\lastnode=\empty + +% Write a cross-reference definition for the current node. #1 is the +% type (Ynumbered, Yappendix, Ynothing). +% +\def\donoderef#1{% + \ifx\lastnode\empty\else + \setref{\lastnode}{#1}% + \global\let\lastnode=\empty + \fi +} + +% @anchor{NAME} -- define xref target at arbitrary point. +% +\newcount\savesfregister +% +\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} +\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} +\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} + +% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an +% anchor), which consists of three parts: +% 1) NAME-title - the current sectioning name taken from \currentsection, +% or the anchor name. +% 2) NAME-snt - section number and type, passed as the SNT arg, or +% empty for anchors. +% 3) NAME-pg - the page number. +% +% This is called from \donoderef, \anchor, and \dofloat. In the case of +% floats, there is an additional part, which is not written here: +% 4) NAME-lof - the text as it should appear in a @listoffloats. +% +\def\setref#1#2{% + \pdfmkdest{#1}% + \iflinks + {% + \requireauxfile + \atdummies % preserve commands, but don't expand them + % match definition in \xrdef, \refx, \xrefX. + \def\value##1{##1}% + \edef\writexrdef##1##2{% + \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef + ##1}{##2}}% these are parameters of \writexrdef + }% + \toks0 = \expandafter{\currentsection}% + \immediate \writexrdef{title}{\the\toks0 }% + \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. + \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout + }% + \fi +} + +% @xrefautosectiontitle on|off says whether @section(ing) names are used +% automatically in xrefs, if the third arg is not explicitly specified. +% This was provided as a "secret" @set xref-automatic-section-title +% variable, now it's official. +% +\parseargdef\xrefautomaticsectiontitle{% + \def\temp{#1}% + \ifx\temp\onword + \expandafter\let\csname SETxref-automatic-section-title\endcsname + = \empty + \else\ifx\temp\offword + \expandafter\let\csname SETxref-automatic-section-title\endcsname + = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @xrefautomaticsectiontitle value `\temp', + must be on|off}% + \fi\fi +} + +% +% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is +% the node name, #2 the name of the Info cross-reference, #3 the printed +% node name, #4 the name of the Info file, #5 the name of the printed +% manual. All but the node name can be omitted. +% +\def\pxref{\putwordsee{} \xrefXX} +\def\xref{\putwordSee{} \xrefXX} +\def\ref{\xrefXX} + +\def\xrefXX#1{\def\xrefXXarg{#1}\futurelet\tokenafterxref\xrefXXX} +\def\xrefXXX{\expandafter\xrefX\expandafter[\xrefXXarg,,,,,,,]} +% +\newbox\toprefbox +\newbox\printedrefnamebox +\newbox\infofilenamebox +\newbox\printedmanualbox +% +\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup + \unsepspaces + % + % Get args without leading/trailing spaces. + \def\printedrefname{\ignorespaces #3}% + \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% + % + \def\infofilename{\ignorespaces #4}% + \setbox\infofilenamebox = \hbox{\infofilename\unskip}% + % + \def\printedmanual{\ignorespaces #5}% + \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% + % + % If the printed reference name (arg #3) was not explicitly given in + % the @xref, figure out what we want to use. + \ifdim \wd\printedrefnamebox = 0pt + % No printed node name was explicitly given. + \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax + % Not auto section-title: use node name inside the square brackets. + \def\printedrefname{\ignorespaces #1}% + \else + % Auto section-title: use chapter/section title inside + % the square brackets if we have it. + \ifdim \wd\printedmanualbox > 0pt + % It is in another manual, so we don't have it; use node name. + \def\printedrefname{\ignorespaces #1}% + \else + \ifhavexrefs + % We (should) know the real title if we have the xref values. + \def\printedrefname{\refx{#1-title}}% + \else + % Otherwise just copy the Info node name. + \def\printedrefname{\ignorespaces #1}% + \fi% + \fi + \fi + \fi + % + % Make link in pdf output. + \ifpdf + % For pdfTeX and LuaTeX + {\indexnofonts + \makevalueexpandable + \turnoffactive + % This expands tokens, so do it after making catcode changes, so _ + % etc. don't get their TeX definitions. This ignores all spaces in + % #4, including (wrongly) those in the middle of the filename. + \getfilename{#4}% + % + % This (wrongly) does not take account of leading or trailing + % spaces in #1, which should be ignored. + \setpdfdestname{#1}% + % + \ifx\pdfdestname\empty + \def\pdfdestname{Top}% no empty targets + \fi + % + \leavevmode + \startlink attr{/Border [0 0 0]}% + \ifnum\filenamelength>0 + goto file{\the\filename.pdf} name{\pdfdestname}% + \else + goto name{\pdfmkpgn{\pdfdestname}}% + \fi + }% + \setcolor{\linkcolor}% + \else + \ifx\XeTeXrevision\thisisundefined + \else + % For XeTeX + {\indexnofonts + \makevalueexpandable + \turnoffactive + % This expands tokens, so do it after making catcode changes, so _ + % etc. don't get their TeX definitions. This ignores all spaces in + % #4, including (wrongly) those in the middle of the filename. + \getfilename{#4}% + % + % This (wrongly) does not take account of leading or trailing + % spaces in #1, which should be ignored. + \setpdfdestname{#1}% + % + \ifx\pdfdestname\empty + \def\pdfdestname{Top}% no empty targets + \fi + % + \leavevmode + \ifnum\filenamelength>0 + % With default settings, + % XeTeX (xdvipdfmx) replaces link destination names with integers. + % In this case, the replaced destination names of + % remote PDFs are no longer known. In order to avoid a replacement, + % you can use xdvipdfmx's command line option `-C 0x0010'. + % If you use XeTeX 0.99996+ (TeX Live 2016+), + % this command line option is no longer necessary + % because we can use the `dvipdfmx:config' special. + \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A + << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}% + \else + \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A + << /S /GoTo /D (\pdfdestname) >> >>}% + \fi + }% + \setcolor{\linkcolor}% + \fi + \fi + {% + % Have to otherify everything special to allow the \csname to + % include an _ in the xref name, etc. + \indexnofonts + \turnoffactive + \def\value##1{##1}% + \expandafter\global\expandafter\let\expandafter\Xthisreftitle + \csname XR#1-title\endcsname + }% + % + % Float references are printed completely differently: "Figure 1.2" + % instead of "[somenode], p.3". \iffloat distinguishes them by + % \Xthisreftitle being set to a magic string. + \iffloat\Xthisreftitle + % If the user specified the print name (third arg) to the ref, + % print it instead of our usual "Figure 1.2". + \ifdim\wd\printedrefnamebox = 0pt + \refx{#1-snt}% + \else + \printedrefname + \fi + % + % If the user also gave the printed manual name (fifth arg), append + % "in MANUALNAME". + \ifdim \wd\printedmanualbox > 0pt + \space \putwordin{} \cite{\printedmanual}% + \fi + \else + % node/anchor (non-float) references. + % + % If we use \unhbox to print the node names, TeX does not insert + % empty discretionaries after hyphens, which means that it will not + % find a line break at a hyphen in a node names. Since some manuals + % are best written with fairly long node names, containing hyphens, + % this is a loss. Therefore, we give the text of the node name + % again, so it is as if TeX is seeing it for the first time. + % + \ifdim \wd\printedmanualbox > 0pt + % Cross-manual reference with a printed manual name. + % + \crossmanualxref{\cite{\printedmanual\unskip}}% + % + \else\ifdim \wd\infofilenamebox > 0pt + % Cross-manual reference with only an info filename (arg 4), no + % printed manual name (arg 5). This is essentially the same as + % the case above; we output the filename, since we have nothing else. + % + \crossmanualxref{\code{\infofilename\unskip}}% + % + \else + % Reference within this manual. + % + % Only output a following space if the -snt ref is nonempty, as the ref + % will be empty for @unnumbered and @anchor. + \setbox2 = \hbox{\ignorespaces \refx{#1-snt}}% + \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi + % + % output the `[mynode]' via the macro below so it can be overridden. + \xrefprintnodename\printedrefname + % + \expandafter\ifx\csname SETtxiomitxrefpg\endcsname\relax + % But we always want a comma and a space: + ,\space + % + % output the `page 3'. + \turnoffactive \putwordpage\tie\refx{#1-pg}% + % Add a , if xref followed by a space + \if\space\noexpand\tokenafterxref ,% + \else\ifx\ \tokenafterxref ,% @TAB + \else\ifx\*\tokenafterxref ,% @* + \else\ifx\ \tokenafterxref ,% @SPACE + \else\ifx\ + \tokenafterxref ,% @NL + \else\ifx\tie\tokenafterxref ,% @tie + \fi\fi\fi\fi\fi\fi + \fi + \fi\fi + \fi + \endlink +\endgroup} + +% Output a cross-manual xref to #1. Used just above (twice). +% +% Only include the text "Section ``foo'' in" if the foo is neither +% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply +% "see The Foo Manual", the idea being to refer to the whole manual. +% +% But, this being TeX, we can't easily compare our node name against the +% string "Top" while ignoring the possible spaces before and after in +% the input. By adding the arbitrary 7sp below, we make it much less +% likely that a real node name would have the same width as "Top" (e.g., +% in a monospaced font). Hopefully it will never happen in practice. +% +% For the same basic reason, we retypeset the "Top" at every +% reference, since the current font is indeterminate. +% +\def\crossmanualxref#1{% + \setbox\toprefbox = \hbox{Top\kern7sp}% + \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% + \ifdim \wd2 > 7sp % nonempty? + \ifdim \wd2 = \wd\toprefbox \else % same as Top? + \putwordSection{} ``\printedrefname'' \putwordin{}\space + \fi + \fi + #1% +} + +% This macro is called from \xrefX for the `[nodename]' part of xref +% output. It's a separate macro only so it can be changed more easily, +% since square brackets don't work well in some documents. Particularly +% one that Bob is working on :). +% +\def\xrefprintnodename#1{[#1]} + +% Things referred to by \setref. +% +\def\Ynothing{} +\def\Yomitfromtoc{} +\def\Ynumbered{% + \ifnum\secno=0 + \putwordChapter@tie \the\chapno + \else \ifnum\subsecno=0 + \putwordSection@tie \the\chapno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection@tie \the\chapno.\the\secno.\the\subsecno + \else + \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} +\def\Yappendix{% + \ifnum\secno=0 + \putwordAppendix@tie @char\the\appendixno{}% + \else \ifnum\subsecno=0 + \putwordSection@tie @char\the\appendixno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno + \else + \putwordSection@tie + @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} + +% \refx{NAME} - reference a cross-reference string named NAME. +\def\refx#1{% + \requireauxfile + {% + \indexnofonts + \turnoffactive + \def\value##1{##1}% + \expandafter\global\expandafter\let\expandafter\thisrefX + \csname XR#1\endcsname + }% + \ifx\thisrefX\relax + % If not defined, say something at least. + \angleleft un\-de\-fined\angleright + \iflinks + \ifhavexrefs + {\toks0 = {#1}% avoid expansion of possibly-complex value + \message{\linenumber Undefined cross reference `\the\toks0'.}}% + \else + \ifwarnedxrefs\else + \global\warnedxrefstrue + \message{Cross reference values unknown; you must run TeX again.}% + \fi + \fi + \fi + \else + % It's defined, so just use it. + \thisrefX + \fi +} + +% This is the macro invoked by entries in the aux file. Define a control +% sequence for a cross-reference target (we prepend XR to the control sequence +% name to avoid collisions). The value is the page number. If this is a float +% type, we have more work to do. +% +\def\xrdef#1#2{% + {% Expand the node or anchor name to remove control sequences. + % \turnoffactive stops 8-bit characters being changed to commands + % like @'e. \refx does the same to retrieve the value in the definition. + \indexnofonts + \turnoffactive + \def\value##1{##1}% + \xdef\safexrefname{#1}% + }% + % + \bgroup + \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% + \egroup + % We put the \gdef inside a group to avoid the definitions building up on + % TeX's save stack, which can cause it to run out of space for aux files with + % thousands of lines. \gdef doesn't use the save stack, but \csname does + % when it defines an unknown control sequence as \relax. + % + % Was that xref control sequence that we just defined for a float? + \expandafter\iffloat\csname XR\safexrefname\endcsname + % it was a float, and we have the (safe) float type in \iffloattype. + \expandafter\let\expandafter\floatlist + \csname floatlist\iffloattype\endcsname + % + % Is this the first time we've seen this float type? + \expandafter\ifx\floatlist\relax + \toks0 = {\do}% yes, so just \do + \else + % had it before, so preserve previous elements in list. + \toks0 = \expandafter{\floatlist\do}% + \fi + % + % Remember this xref in the control sequence \floatlistFLOATTYPE, + % for later use in \listoffloats. + \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 + {\safexrefname}}% + \fi +} + +% If working on a large document in chapters, it is convenient to +% be able to disable indexing, cross-referencing, and contents, for test runs. +% This is done with @novalidate at the beginning of the file. +% +\newif\iflinks \linkstrue % by default we want the aux files. +\let\novalidate = \linksfalse + +% Used when writing to the aux file, or when using data from it. +\def\requireauxfile{% + \iflinks + \tryauxfile + % Open the new aux file. TeX will close it automatically at exit. + \immediate\openout\auxfile=\jobname.aux + \fi + \global\let\requireauxfile=\relax % Only do this once. +} + +% Read the last existing aux file, if any. No error if none exists. +% +\def\tryauxfile{% + \openin 1 \jobname.aux + \ifeof 1 \else + \readdatafile{aux}% + \global\havexrefstrue + \fi + \closein 1 +} + +\def\setupdatafile{% + \catcode`\^^@=\other + \catcode`\^^A=\other + \catcode`\^^B=\other + \catcode`\^^C=\other + \catcode`\^^D=\other + \catcode`\^^E=\other + \catcode`\^^F=\other + \catcode`\^^G=\other + \catcode`\^^H=\other + \catcode`\^^K=\other + \catcode`\^^L=\other + \catcode`\^^N=\other + \catcode`\^^P=\other + \catcode`\^^Q=\other + \catcode`\^^R=\other + \catcode`\^^S=\other + \catcode`\^^T=\other + \catcode`\^^U=\other + \catcode`\^^V=\other + \catcode`\^^W=\other + \catcode`\^^X=\other + \catcode`\^^Z=\other + \catcode`\^^[=\other + \catcode`\^^\=\other + \catcode`\^^]=\other + \catcode`\^^^=\other + \catcode`\^^_=\other + \catcode`\^=\other + % + % Special characters. Should be turned off anyway, but... + \catcode`\~=\other + \catcode`\[=\other + \catcode`\]=\other + \catcode`\"=\other + \catcode`\_=\active + \catcode`\|=\active + \catcode`\<=\active + \catcode`\>=\active + \catcode`\$=\other + \catcode`\#=\other + \catcode`\&=\other + \catcode`\%=\other + \catcode`+=\other % avoid \+ for paranoia even though we've turned it off + % + \catcode`\\=\active + % + % @ is our escape character in .aux files, and we need braces. + \catcode`\{=1 + \catcode`\}=2 + \catcode`\@=0 +} + +\def\readdatafile#1{% +\begingroup + \setupdatafile + \input\jobname.#1 +\endgroup} + + +\message{insertions,} +% including footnotes. + +\newcount \footnoteno + +% The trailing space in the following definition for supereject is +% vital for proper filling; pages come out unaligned when you do a +% pagealignmacro call if that space before the closing brace is +% removed. (Generally, numeric constants should always be followed by a +% space to prevent strange expansion errors.) +\def\supereject{\par\penalty -20000\footnoteno =0 } + +% @footnotestyle is meaningful for Info output only. +\let\footnotestyle=\comment + +{\catcode `\@=11 +% +% Auto-number footnotes. Otherwise like plain. +\gdef\footnote{% + \global\advance\footnoteno by \@ne + \edef\thisfootno{$^{\the\footnoteno}$}% + % + % In case the footnote comes at the end of a sentence, preserve the + % extra spacing after we do the footnote number. + \let\@sf\empty + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi + % + % Remove inadvertent blank space before typesetting the footnote number. + \unskip + \thisfootno\@sf + \dofootnote +}% + +% Don't bother with the trickery in plain.tex to not require the +% footnote text as a parameter. Our footnotes don't need to be so general. +% +% Oh yes, they do; otherwise, @ifset (and anything else that uses +% \parseargline) fails inside footnotes because the tokens are fixed when +% the footnote is read. --karl, 16nov96. +% +\gdef\dofootnote{% + \insert\footins\bgroup + % + % Nested footnotes are not supported in TeX, that would take a lot + % more work. (\startsavinginserts does not suffice.) + \let\footnote=\errfootnotenest + % + % We want to typeset this text as a normal paragraph, even if the + % footnote reference occurs in (for example) a display environment. + % So reset some parameters. + \hsize=\txipagewidth + \interlinepenalty\interfootnotelinepenalty + \splittopskip\ht\strutbox % top baseline for broken footnotes + \splitmaxdepth\dp\strutbox + \floatingpenalty\@MM + \leftskip\z@skip + \rightskip\z@skip + \spaceskip\z@skip + \xspaceskip\z@skip + \parindent\defaultparindent + % + \smallfonts \rm + % + % Because we use hanging indentation in footnotes, a @noindent appears + % to exdent this text, so make it be a no-op. makeinfo does not use + % hanging indentation so @noindent can still be needed within footnote + % text after an @example or the like (not that this is good style). + \let\noindent = \relax + % + % Hang the footnote text off the number. Use \everypar in case the + % footnote extends for more than one paragraph. + \everypar = {\hang}% + \textindent{\thisfootno}% + % + % Don't crash into the line above the footnote text. Since this + % expands into a box, it must come within the paragraph, lest it + % provide a place where TeX can split the footnote. + \footstrut + % + % Invoke rest of plain TeX footnote routine. + \futurelet\next\fo@t +} +}%end \catcode `\@=11 + +\def\errfootnotenest{% + \errhelp=\EMsimple + \errmessage{Nested footnotes not supported in texinfo.tex, + even though they work in makeinfo; sorry} +} + +\def\errfootnoteheading{% + \errhelp=\EMsimple + \errmessage{Footnotes in chapters, sections, etc., are not supported} +} + +% In case a @footnote appears in a vbox, save the footnote text and create +% the real \insert just after the vbox finished. Otherwise, the insertion +% would be lost. +% Similarly, if a @footnote appears inside an alignment, save the footnote +% text to a box and make the \insert when a row of the table is finished. +% And the same can be done for other insert classes. --kasal, 16nov03. +% +% Replace the \insert primitive by a cheating macro. +% Deeper inside, just make sure that the saved insertions are not spilled +% out prematurely. +% +\def\startsavinginserts{% + \ifx \insert\ptexinsert + \let\insert\saveinsert + \else + \let\checkinserts\relax + \fi +} + +% This \insert replacement works for both \insert\footins{foo} and +% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. +% +\def\saveinsert#1{% + \edef\next{\noexpand\savetobox \makeSAVEname#1}% + \afterassignment\next + % swallow the left brace + \let\temp = +} +\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} +\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} + +\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} + +\def\placesaveins#1{% + \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname + {\box#1}% +} + +% eat @SAVE -- beware, all of them have catcode \other: +{ + \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) + \gdef\gobblesave @SAVE{} +} + +% initialization: +\def\newsaveins #1{% + \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% + \next +} +\def\newsaveinsX #1{% + \csname newbox\endcsname #1% + \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts + \checksaveins #1}% +} + +% initialize: +\let\checkinserts\empty +\newsaveins\footins +\newsaveins\margin + + +% @image. We use the macros from epsf.tex to support this. +% If epsf.tex is not installed and @image is used, we complain. +% +% Check for and read epsf.tex up front. If we read it only at @image +% time, we might be inside a group, and then its definitions would get +% undone and the next image would fail. +\openin 1 = epsf.tex +\ifeof 1 \else + % Do not bother showing banner with epsf.tex v2.7k (available in + % doc/epsf.tex and on ctan). + \def\epsfannounce{\toks0 = }% + \input epsf.tex +\fi +\closein 1 +% +% We will only complain once about lack of epsf.tex. +\newif\ifwarnednoepsf +\newhelp\noepsfhelp{epsf.tex must be installed for images to + work. It is also included in the Texinfo distribution, or you can get + it from https://ctan.org/texarchive/macros/texinfo/texinfo/doc/epsf.tex.} +% +\def\image#1{% + \ifx\epsfbox\thisisundefined + \ifwarnednoepsf \else + \errhelp = \noepsfhelp + \errmessage{epsf.tex not found, images will be ignored}% + \global\warnednoepsftrue + \fi + \else + \imagexxx #1,,,,,\finish + \fi +} +% +% Arguments to @image: +% #1 is (mandatory) image filename; we tack on .eps extension. +% #2 is (optional) width, #3 is (optional) height. +% #4 is (ignored optional) html alt text. +% #5 is (ignored optional) extension. +% #6 is just the usual extra ignored arg for parsing stuff. +\newif\ifimagevmode +\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup + \catcode`\^^M = 5 % in case we're inside an example + \normalturnoffactive % allow _ et al. in names + \makevalueexpandable + % If the image is by itself, center it. + \ifvmode + \imagevmodetrue + \else \ifx\centersub\centerV + % for @center @image, we need a vbox so we can have our vertical space + \imagevmodetrue + \vbox\bgroup % vbox has better behavior than vtop herev + \fi\fi + % + \ifimagevmode + \medskip + % Usually we'll have text after the image which will insert + % \parskip glue, so insert it here too to equalize the space + % above and below. + \nobreak\vskip\parskip + \nobreak + \fi + % + % Leave vertical mode so that indentation from an enclosing + % environment such as @quotation is respected. + % However, if we're at the top level, we don't want the + % normal paragraph indentation. + % On the other hand, if we are in the case of @center @image, we don't + % want to start a paragraph, which will create a hsize-width box and + % eradicate the centering. + \ifx\centersub\centerV \else \imageindent \fi + % + % Output the image. + \ifpdf + % For pdfTeX and LuaTeX <= 0.80 + \dopdfimage{#1}{#2}{#3}% + \else + \ifx\XeTeXrevision\thisisundefined + % For epsf.tex + % \epsfbox itself resets \epsf?size at each figure. + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi + \setbox0 = \hbox{\ignorespaces #3}% + \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi + \epsfbox{#1.eps}% + \else + % For XeTeX + \doxeteximage{#1}{#2}{#3}% + \fi + \fi + % + \ifimagevmode + \medskip % space after a standalone image + \fi + \ifx\centersub\centerV \egroup \fi +\endgroup} + + +% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, +% etc. We don't actually implement floating yet, we always include the +% float "here". But it seemed the best name for the future. +% +\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} + +% There may be a space before second and/or third parameter; delete it. +\def\eatcommaspace#1, {#1,} + +% #1 is the optional FLOATTYPE, the text label for this float, typically +% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, +% this float will not be numbered and cannot be referred to. +% +% #2 is the optional xref label. Also must be present for the float to +% be referable. +% +% #3 is the optional positioning argument; for now, it is ignored. It +% will somehow specify the positions allowed to float to (here, top, bottom). +% +% We keep a separate counter for each FLOATTYPE, which we reset at each +% chapter-level command. +\let\resetallfloatnos=\empty +% +\def\dofloat#1,#2,#3,#4\finish{% + \let\thiscaption=\empty + \let\thisshortcaption=\empty + % + % don't lose footnotes inside @float. + % + % BEWARE: when the floats start float, we have to issue warning whenever an + % insert appears inside a float which could possibly float. --kasal, 26may04 + % + \startsavinginserts + % + % We can't be used inside a paragraph. + \par + % + \vtop\bgroup + \def\floattype{#1}% + \def\floatlabel{#2}% + \def\floatloc{#3}% we do nothing with this yet. + % + \ifx\floattype\empty + \let\safefloattype=\empty + \else + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + \fi + % + % If label is given but no type, we handle that as the empty type. + \ifx\floatlabel\empty \else + % We want each FLOATTYPE to be numbered separately (Figure 1, + % Table 1, Figure 2, ...). (And if no label, no number.) + % + \expandafter\getfloatno\csname\safefloattype floatno\endcsname + \global\advance\floatno by 1 + % + {% + % This magic value for \currentsection is output by \setref as the + % XREFLABEL-title value. \xrefX uses it to distinguish float + % labels (which have a completely different output format) from + % node and anchor labels. And \xrdef uses it to construct the + % lists of floats. + % + \edef\currentsection{\floatmagic=\safefloattype}% + \setref{\floatlabel}{Yfloat}% + }% + \fi + % + % start with \parskip glue, I guess. + \vskip\parskip + % + % Don't suppress indentation if a float happens to start a section. + \restorefirstparagraphindent +} + +% we have these possibilities: +% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap +% @float Foo,lbl & no caption: Foo 1.1 +% @float Foo & @caption{Cap}: Foo: Cap +% @float Foo & no caption: Foo +% @float ,lbl & Caption{Cap}: 1.1: Cap +% @float ,lbl & no caption: 1.1 +% @float & @caption{Cap}: Cap +% @float & no caption: +% +\def\Efloat{% + \let\floatident = \empty + % + % In all cases, if we have a float type, it comes first. + \ifx\floattype\empty \else \def\floatident{\floattype}\fi + % + % If we have an xref label, the number comes next. + \ifx\floatlabel\empty \else + \ifx\floattype\empty \else % if also had float type, need tie first. + \appendtomacro\floatident{\tie}% + \fi + % the number. + \appendtomacro\floatident{\chaplevelprefix\the\floatno}% + \fi + % + % Start the printed caption with what we've constructed in + % \floatident, but keep it separate; we need \floatident again. + \let\captionline = \floatident + % + \ifx\thiscaption\empty \else + \ifx\floatident\empty \else + \appendtomacro\captionline{: }% had ident, so need a colon between + \fi + % + % caption text. + \appendtomacro\captionline{\scanexp\thiscaption}% + \fi + % + % If we have anything to print, print it, with space before. + % Eventually this needs to become an \insert. + \ifx\captionline\empty \else + \vskip.5\parskip + \captionline + % + % Space below caption. + \vskip\parskip + \fi + % + % If have an xref label, write the list of floats info. Do this + % after the caption, to avoid chance of it being a breakpoint. + \ifx\floatlabel\empty \else + % Write the text that goes in the lof to the aux file as + % \floatlabel-lof. Besides \floatident, we include the short + % caption if specified, else the full caption if specified, else nothing. + {% + \requireauxfile + \atdummies + % + \ifx\thisshortcaption\empty + \def\gtemp{\thiscaption}% + \else + \def\gtemp{\thisshortcaption}% + \fi + \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident + \ifx\gtemp\empty \else : \gtemp \fi}}% + }% + \fi + \egroup % end of \vtop + % + \checkinserts +} + +% Append the tokens #2 to the definition of macro #1, not expanding either. +% +\def\appendtomacro#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}% +} + +% @caption, @shortcaption +% +\def\caption{\docaption\thiscaption} +\def\shortcaption{\docaption\thisshortcaption} +\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} +\def\defcaption#1#2{\egroup \def#1{#2}} + +% The parameter is the control sequence identifying the counter we are +% going to use. Create it if it doesn't exist and assign it to \floatno. +\def\getfloatno#1{% + \ifx#1\relax + % Haven't seen this figure type before. + \csname newcount\endcsname #1% + % + % Remember to reset this floatno at the next chap. + \expandafter\gdef\expandafter\resetallfloatnos + \expandafter{\resetallfloatnos #1=0 }% + \fi + \let\floatno#1% +} + +% \setref calls this to get the XREFLABEL-snt value. We want an @xref +% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we +% first read the @float command. +% +\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% + +% Magic string used for the XREFLABEL-title value, so \xrefX can +% distinguish floats from other xref types. +\def\floatmagic{!!float!!} + +% #1 is the control sequence we are passed; we expand into a conditional +% which is true if #1 represents a float ref. That is, the magic +% \currentsection value which we \setref above. +% +\def\iffloat#1{\expandafter\doiffloat#1==\finish} +% +% #1 is (maybe) the \floatmagic string. If so, #2 will be the +% (safe) float type for this float. We set \iffloattype to #2. +% +\def\doiffloat#1=#2=#3\finish{% + \def\temp{#1}% + \def\iffloattype{#2}% + \ifx\temp\floatmagic +} + +% @listoffloats FLOATTYPE - print a list of floats like a table of contents. +% +\parseargdef\listoffloats{% + \def\floattype{#1}% floattype + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + % + % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. + \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax + \ifhavexrefs + % if the user said @listoffloats foo but never @float foo. + \message{\linenumber No `\safefloattype' floats to list.}% + \fi + \else + \begingroup + \leftskip=\tocindent % indent these entries like a toc + \let\do=\listoffloatsdo + \csname floatlist\safefloattype\endcsname + \endgroup + \fi +} + +% This is called on each entry in a list of floats. We're passed the +% xref label, in the form LABEL-title, which is how we save it in the +% aux file. We strip off the -title and look up \XRLABEL-lof, which +% has the text we're supposed to typeset here. +% +% Figures without xref labels will not be included in the list (since +% they won't appear in the aux file). +% +\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} +\def\listoffloatsdoentry#1-title\finish{{% + % Can't fully expand XR#1-lof because it can contain anything. Just + % pass the control sequence. On the other hand, XR#1-pg is just the + % page number, and we want to fully expand that so we can get a link + % in pdf output. + \toksA = \expandafter{\csname XR#1-lof\endcsname}% + % + % use the same \entry macro we use to generate the TOC and index. + \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% + \writeentry +}} + + +\message{localization,} + +% For single-language documents, @documentlanguage is usually given very +% early, just after @documentencoding. Single argument is the language +% (de) or locale (de_DE) abbreviation. +% +{ + \catcode`\_ = \active + \globaldefs=1 +\parseargdef\documentlanguage{% + \tex % read txi-??.tex file in plain TeX. + % Read the file by the name they passed if it exists. + \let_ = \normalunderscore % normal _ character for filename test + \openin 1 txi-#1.tex + \ifeof 1 + \documentlanguagetrywithoutunderscore #1_\finish + \else + \globaldefs = 1 % everything in the txi-LL files needs to persist + \input txi-#1.tex + \fi + \closein 1 + \endgroup % end raw TeX +} +% +% If they passed de_DE, and txi-de_DE.tex doesn't exist, +% try txi-de.tex. +% +\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% + \openin 1 txi-#1.tex + \ifeof 1 + \errhelp = \nolanghelp + \errmessage{Cannot read language file txi-#1.tex}% + \else + \globaldefs = 1 % everything in the txi-LL files needs to persist + \input txi-#1.tex + \fi + \closein 1 +} +}% end of special _ catcode +% +\newhelp\nolanghelp{The given language definition file cannot be found or +is empty. Maybe you need to install it? Putting it in the current +directory should work if nowhere else does.} + +% This macro is called from txi-??.tex files; the first argument is the +% \language name to set (without the "\lang@" prefix), the second and +% third args are \{left,right}hyphenmin. +% +% The language names to pass are determined when the format is built. +% See the etex.log file created at that time, e.g., +% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. +% +% With TeX Live 2008, etex now includes hyphenation patterns for all +% available languages. This means we can support hyphenation in +% Texinfo, at least to some extent. (This still doesn't solve the +% accented characters problem.) +% +\catcode`@=11 +\def\txisetlanguage#1#2#3{% + % do not set the language if the name is undefined in the current TeX. + \expandafter\ifx\csname lang@#1\endcsname \relax + \message{no patterns for #1}% + \else + \global\language = \csname lang@#1\endcsname + \fi + % but there is no harm in adjusting the hyphenmin values regardless. + \global\lefthyphenmin = #2\relax + \global\righthyphenmin = #3\relax +} + +% XeTeX and LuaTeX can handle Unicode natively. +% Their default I/O uses UTF-8 sequences instead of a byte-wise operation. +% Other TeX engines' I/O (pdfTeX, etc.) is byte-wise. +% +\newif\iftxinativeunicodecapable +\newif\iftxiusebytewiseio + +\ifx\XeTeXrevision\thisisundefined + \ifx\luatexversion\thisisundefined + \txinativeunicodecapablefalse + \txiusebytewiseiotrue + \else + \txinativeunicodecapabletrue + \txiusebytewiseiofalse + \fi +\else + \txinativeunicodecapabletrue + \txiusebytewiseiofalse +\fi + +% Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex +% for non-UTF-8 (byte-wise) encodings. +% +\def\setbytewiseio{% + \ifx\XeTeXrevision\thisisundefined + \else + \XeTeXdefaultencoding "bytes" % For subsequent files to be read + \XeTeXinputencoding "bytes" % For document root file + % Unfortunately, there seems to be no corresponding XeTeX command for + % output encoding. This is a problem for auxiliary index and TOC files. + % The only solution would be perhaps to write out @U{...} sequences in + % place of non-ASCII characters. + \fi + + \ifx\luatexversion\thisisundefined + \else + \directlua{ + local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub + local function convert_char (char) + return utf8_char(byte(char)) + end + + local function convert_line (line) + return gsub(line, ".", convert_char) + end + + callback.register("process_input_buffer", convert_line) + + local function convert_line_out (line) + local line_out = "" + for c in string.utfvalues(line) do + line_out = line_out .. string.char(c) + end + return line_out + end + + callback.register("process_output_buffer", convert_line_out) + } + \fi + + \txiusebytewiseiotrue +} + + +% Helpers for encodings. +% Set the catcode of characters 128 through 255 to the specified number. +% +\def\setnonasciicharscatcode#1{% + \count255=128 + \loop\ifnum\count255<256 + \global\catcode\count255=#1\relax + \advance\count255 by 1 + \repeat +} + +\def\setnonasciicharscatcodenonglobal#1{% + \count255=128 + \loop\ifnum\count255<256 + \catcode\count255=#1\relax + \advance\count255 by 1 + \repeat +} + +% @documentencoding sets the definition of non-ASCII characters +% according to the specified encoding. +% +\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz} +\def\documentencodingzzz#1{% + % + % Encoding being declared for the document. + \def\declaredencoding{\csname #1.enc\endcsname}% + % + % Supported encodings: names converted to tokens in order to be able + % to compare them with \ifx. + \def\ascii{\csname US-ASCII.enc\endcsname}% + \def\latnine{\csname ISO-8859-15.enc\endcsname}% + \def\latone{\csname ISO-8859-1.enc\endcsname}% + \def\lattwo{\csname ISO-8859-2.enc\endcsname}% + \def\utfeight{\csname UTF-8.enc\endcsname}% + % + \ifx \declaredencoding \ascii + \asciichardefs + % + \else \ifx \declaredencoding \lattwo + \iftxinativeunicodecapable + \setbytewiseio + \fi + \setnonasciicharscatcode\active + \lattwochardefs + % + \else \ifx \declaredencoding \latone + \iftxinativeunicodecapable + \setbytewiseio + \fi + \setnonasciicharscatcode\active + \latonechardefs + % + \else \ifx \declaredencoding \latnine + \iftxinativeunicodecapable + \setbytewiseio + \fi + \setnonasciicharscatcode\active + \latninechardefs + % + \else \ifx \declaredencoding \utfeight + \iftxinativeunicodecapable + % For native Unicode handling (XeTeX and LuaTeX) + \nativeunicodechardefs + \else + % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX) + \setnonasciicharscatcode\active + % since we already invoked \utfeightchardefs at the top level + % (below), do not re-invoke it, otherwise our check for duplicated + % definitions gets triggered. Making non-ascii chars active is + % sufficient. + \fi + % + \else + \message{Ignoring unknown document encoding: #1.}% + % + \fi % utfeight + \fi % latnine + \fi % latone + \fi % lattwo + \fi % ascii + % + \ifx\XeTeXrevision\thisisundefined + \else + \ifx \declaredencoding \utfeight + \else + \ifx \declaredencoding \ascii + \else + \message{Warning: XeTeX with non-UTF-8 encodings cannot handle % + non-ASCII characters in auxiliary files.}% + \fi + \fi + \fi +} + +% emacs-page +% A message to be logged when using a character that isn't available +% the default font encoding (OT1). +% +\def\missingcharmsg#1{\message{Character missing, sorry: #1.}} + +% Take account of \c (plain) vs. \, (Texinfo) difference. +\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} + +% First, make active non-ASCII characters in order for them to be +% correctly categorized when TeX reads the replacement text of +% macros containing the character definitions. +\setnonasciicharscatcode\active +% + +\def\gdefchar#1#2{% +\gdef#1{% + \ifpassthroughchars + \string#1% + \else + #2% + \fi +}} + +% Latin1 (ISO-8859-1) character definitions. +\def\latonechardefs{% + \gdefchar^^a0{\tie} + \gdefchar^^a1{\exclamdown} + \gdefchar^^a2{{\tcfont \char162}} % cent + \gdefchar^^a3{\pounds{}} + \gdefchar^^a4{{\tcfont \char164}} % currency + \gdefchar^^a5{{\tcfont \char165}} % yen + \gdefchar^^a6{{\tcfont \char166}} % broken bar + \gdefchar^^a7{\S} + \gdefchar^^a8{\"{}} + \gdefchar^^a9{\copyright{}} + \gdefchar^^aa{\ordf} + \gdefchar^^ab{\guillemetleft{}} + \gdefchar^^ac{\ensuremath\lnot} + \gdefchar^^ad{\-} + \gdefchar^^ae{\registeredsymbol{}} + \gdefchar^^af{\={}} + % + \gdefchar^^b0{\textdegree} + \gdefchar^^b1{$\pm$} + \gdefchar^^b2{$^2$} + \gdefchar^^b3{$^3$} + \gdefchar^^b4{\'{}} + \gdefchar^^b5{$\mu$} + \gdefchar^^b6{\P} + \gdefchar^^b7{\ensuremath\cdot} + \gdefchar^^b8{\cedilla\ } + \gdefchar^^b9{$^1$} + \gdefchar^^ba{\ordm} + \gdefchar^^bb{\guillemetright{}} + \gdefchar^^bc{$1\over4$} + \gdefchar^^bd{$1\over2$} + \gdefchar^^be{$3\over4$} + \gdefchar^^bf{\questiondown} + % + \gdefchar^^c0{\`A} + \gdefchar^^c1{\'A} + \gdefchar^^c2{\^A} + \gdefchar^^c3{\~A} + \gdefchar^^c4{\"A} + \gdefchar^^c5{\ringaccent A} + \gdefchar^^c6{\AE} + \gdefchar^^c7{\cedilla C} + \gdefchar^^c8{\`E} + \gdefchar^^c9{\'E} + \gdefchar^^ca{\^E} + \gdefchar^^cb{\"E} + \gdefchar^^cc{\`I} + \gdefchar^^cd{\'I} + \gdefchar^^ce{\^I} + \gdefchar^^cf{\"I} + % + \gdefchar^^d0{\DH} + \gdefchar^^d1{\~N} + \gdefchar^^d2{\`O} + \gdefchar^^d3{\'O} + \gdefchar^^d4{\^O} + \gdefchar^^d5{\~O} + \gdefchar^^d6{\"O} + \gdefchar^^d7{$\times$} + \gdefchar^^d8{\O} + \gdefchar^^d9{\`U} + \gdefchar^^da{\'U} + \gdefchar^^db{\^U} + \gdefchar^^dc{\"U} + \gdefchar^^dd{\'Y} + \gdefchar^^de{\TH} + \gdefchar^^df{\ss} + % + \gdefchar^^e0{\`a} + \gdefchar^^e1{\'a} + \gdefchar^^e2{\^a} + \gdefchar^^e3{\~a} + \gdefchar^^e4{\"a} + \gdefchar^^e5{\ringaccent a} + \gdefchar^^e6{\ae} + \gdefchar^^e7{\cedilla c} + \gdefchar^^e8{\`e} + \gdefchar^^e9{\'e} + \gdefchar^^ea{\^e} + \gdefchar^^eb{\"e} + \gdefchar^^ec{\`{\dotless i}} + \gdefchar^^ed{\'{\dotless i}} + \gdefchar^^ee{\^{\dotless i}} + \gdefchar^^ef{\"{\dotless i}} + % + \gdefchar^^f0{\dh} + \gdefchar^^f1{\~n} + \gdefchar^^f2{\`o} + \gdefchar^^f3{\'o} + \gdefchar^^f4{\^o} + \gdefchar^^f5{\~o} + \gdefchar^^f6{\"o} + \gdefchar^^f7{$\div$} + \gdefchar^^f8{\o} + \gdefchar^^f9{\`u} + \gdefchar^^fa{\'u} + \gdefchar^^fb{\^u} + \gdefchar^^fc{\"u} + \gdefchar^^fd{\'y} + \gdefchar^^fe{\th} + \gdefchar^^ff{\"y} +} + +% Latin9 (ISO-8859-15) encoding character definitions. +\def\latninechardefs{% + % Encoding is almost identical to Latin1. + \latonechardefs + % + \gdefchar^^a4{\euro{}} + \gdefchar^^a6{\v S} + \gdefchar^^a8{\v s} + \gdefchar^^b4{\v Z} + \gdefchar^^b8{\v z} + \gdefchar^^bc{\OE} + \gdefchar^^bd{\oe} + \gdefchar^^be{\"Y} +} + +% Latin2 (ISO-8859-2) character definitions. +\def\lattwochardefs{% + \gdefchar^^a0{\tie} + \gdefchar^^a1{\ogonek{A}} + \gdefchar^^a2{\u{}} + \gdefchar^^a3{\L} + \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}} + \gdefchar^^a5{\v L} + \gdefchar^^a6{\'S} + \gdefchar^^a7{\S} + \gdefchar^^a8{\"{}} + \gdefchar^^a9{\v S} + \gdefchar^^aa{\cedilla S} + \gdefchar^^ab{\v T} + \gdefchar^^ac{\'Z} + \gdefchar^^ad{\-} + \gdefchar^^ae{\v Z} + \gdefchar^^af{\dotaccent Z} + % + \gdefchar^^b0{\textdegree{}} + \gdefchar^^b1{\ogonek{a}} + \gdefchar^^b2{\ogonek{ }} + \gdefchar^^b3{\l} + \gdefchar^^b4{\'{}} + \gdefchar^^b5{\v l} + \gdefchar^^b6{\'s} + \gdefchar^^b7{\v{}} + \gdefchar^^b8{\cedilla\ } + \gdefchar^^b9{\v s} + \gdefchar^^ba{\cedilla s} + \gdefchar^^bb{\v t} + \gdefchar^^bc{\'z} + \gdefchar^^bd{\H{}} + \gdefchar^^be{\v z} + \gdefchar^^bf{\dotaccent z} + % + \gdefchar^^c0{\'R} + \gdefchar^^c1{\'A} + \gdefchar^^c2{\^A} + \gdefchar^^c3{\u A} + \gdefchar^^c4{\"A} + \gdefchar^^c5{\'L} + \gdefchar^^c6{\'C} + \gdefchar^^c7{\cedilla C} + \gdefchar^^c8{\v C} + \gdefchar^^c9{\'E} + \gdefchar^^ca{\ogonek{E}} + \gdefchar^^cb{\"E} + \gdefchar^^cc{\v E} + \gdefchar^^cd{\'I} + \gdefchar^^ce{\^I} + \gdefchar^^cf{\v D} + % + \gdefchar^^d0{\DH} + \gdefchar^^d1{\'N} + \gdefchar^^d2{\v N} + \gdefchar^^d3{\'O} + \gdefchar^^d4{\^O} + \gdefchar^^d5{\H O} + \gdefchar^^d6{\"O} + \gdefchar^^d7{$\times$} + \gdefchar^^d8{\v R} + \gdefchar^^d9{\ringaccent U} + \gdefchar^^da{\'U} + \gdefchar^^db{\H U} + \gdefchar^^dc{\"U} + \gdefchar^^dd{\'Y} + \gdefchar^^de{\cedilla T} + \gdefchar^^df{\ss} + % + \gdefchar^^e0{\'r} + \gdefchar^^e1{\'a} + \gdefchar^^e2{\^a} + \gdefchar^^e3{\u a} + \gdefchar^^e4{\"a} + \gdefchar^^e5{\'l} + \gdefchar^^e6{\'c} + \gdefchar^^e7{\cedilla c} + \gdefchar^^e8{\v c} + \gdefchar^^e9{\'e} + \gdefchar^^ea{\ogonek{e}} + \gdefchar^^eb{\"e} + \gdefchar^^ec{\v e} + \gdefchar^^ed{\'{\dotless{i}}} + \gdefchar^^ee{\^{\dotless{i}}} + \gdefchar^^ef{\v d} + % + \gdefchar^^f0{\dh} + \gdefchar^^f1{\'n} + \gdefchar^^f2{\v n} + \gdefchar^^f3{\'o} + \gdefchar^^f4{\^o} + \gdefchar^^f5{\H o} + \gdefchar^^f6{\"o} + \gdefchar^^f7{$\div$} + \gdefchar^^f8{\v r} + \gdefchar^^f9{\ringaccent u} + \gdefchar^^fa{\'u} + \gdefchar^^fb{\H u} + \gdefchar^^fc{\"u} + \gdefchar^^fd{\'y} + \gdefchar^^fe{\cedilla t} + \gdefchar^^ff{\dotaccent{}} +} + +% UTF-8 character definitions. +% +% This code to support UTF-8 is based on LaTeX's utf8.def, with some +% changes for Texinfo conventions. It is included here under the GPL by +% permission from Frank Mittelbach and the LaTeX team. +% +\newcount\countUTFx +\newcount\countUTFy +\newcount\countUTFz + +\gdef\UTFviiiTwoOctets#1#2{\expandafter + \UTFviiiDefined\csname u8:#1\string #2\endcsname} +% +\gdef\UTFviiiThreeOctets#1#2#3{\expandafter + \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} +% +\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter + \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} + +\gdef\UTFviiiDefined#1{% + \ifx #1\relax + \message{\linenumber Unicode char \string #1 not defined for Texinfo}% + \else + \expandafter #1% + \fi +} + +% Give non-ASCII bytes the active definitions for processing UTF-8 sequences +\begingroup + \catcode`\~13 + \catcode`\$12 + \catcode`\"12 + + % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp + % substituting ~ and $ with a character token of that value. + \def\UTFviiiLoop{% + \global\catcode\countUTFx\active + \uccode`\~\countUTFx + \uccode`\$\countUTFx + \uppercase\expandafter{\UTFviiiTmp}% + \advance\countUTFx by 1 + \ifnum\countUTFx < \countUTFy + \expandafter\UTFviiiLoop + \fi} + + % For bytes other than the first in a UTF-8 sequence. Not expected to + % be expanded except when writing to auxiliary files. + \countUTFx = "80 + \countUTFy = "C2 + \def\UTFviiiTmp{% + \gdef~{% + \ifpassthroughchars $\fi}}% + \UTFviiiLoop + + \countUTFx = "C2 + \countUTFy = "E0 + \def\UTFviiiTmp{% + \gdef~{% + \ifpassthroughchars $% + \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}% + \UTFviiiLoop + + \countUTFx = "E0 + \countUTFy = "F0 + \def\UTFviiiTmp{% + \gdef~{% + \ifpassthroughchars $% + \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}% + \UTFviiiLoop + + \countUTFx = "F0 + \countUTFy = "F4 + \def\UTFviiiTmp{% + \gdef~{% + \ifpassthroughchars $% + \else\expandafter\UTFviiiFourOctets\expandafter$\fi + }}% + \UTFviiiLoop +\endgroup + +\def\globallet{\global\let} % save some \expandafter's below + +% @U{xxxx} to produce U+xxxx, if we support it. +\def\U#1{% + \expandafter\ifx\csname uni:#1\endcsname \relax + \iftxinativeunicodecapable + % All Unicode characters can be used if native Unicode handling is + % active. However, if the font does not have the glyph, + % letters are missing. + \begingroup + \uccode`\.="#1\relax + \uppercase{.} + \endgroup + \else + \errhelp = \EMsimple + \errmessage{Unicode character U+#1 not supported, sorry}% + \fi + \else + \csname uni:#1\endcsname + \fi +} + +% These macros are used here to construct the name of a control +% sequence to be defined. +\def\UTFviiiTwoOctetsName#1#2{% + \csname u8:#1\string #2\endcsname}% +\def\UTFviiiThreeOctetsName#1#2#3{% + \csname u8:#1\string #2\string #3\endcsname}% +\def\UTFviiiFourOctetsName#1#2#3#4{% + \csname u8:#1\string #2\string #3\string #4\endcsname}% + +% For UTF-8 byte sequences (TeX, e-TeX and pdfTeX), +% provide a definition macro to replace a Unicode character; +% this gets used by the @U command +% +\begingroup + \catcode`\"=12 + \catcode`\<=12 + \catcode`\.=12 + \catcode`\,=12 + \catcode`\;=12 + \catcode`\!=12 + \catcode`\~=13 + \gdef\DeclareUnicodeCharacterUTFviii#1#2{% + \countUTFz = "#1\relax + \begingroup + \parseXMLCharref + + % Give \u8:... its definition. The sequence of seven \expandafter's + % expands after the \gdef three times, e.g. + % + % 1. \UTFviiTwoOctetsName B1 B2 + % 2. \csname u8:B1 \string B2 \endcsname + % 3. \u8: B1 B2 (a single control sequence token) + % + \expandafter\expandafter + \expandafter\expandafter + \expandafter\expandafter + \expandafter\gdef \UTFviiiTmp{#2}% + % + \expandafter\ifx\csname uni:#1\endcsname \relax \else + \message{Internal error, already defined: #1}% + \fi + % + % define an additional control sequence for this code point. + \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp + \endgroup} + % + % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp + % to the corresponding UTF-8 sequence. + \gdef\parseXMLCharref{% + \ifnum\countUTFz < "A0\relax + \errhelp = \EMsimple + \errmessage{Cannot define Unicode char value < 00A0}% + \else\ifnum\countUTFz < "800\relax + \parseUTFviiiA,% + \parseUTFviiiB C\UTFviiiTwoOctetsName.,% + \else\ifnum\countUTFz < "10000\relax + \parseUTFviiiA;% + \parseUTFviiiA,% + \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}% + \else + \parseUTFviiiA;% + \parseUTFviiiA,% + \parseUTFviiiA!% + \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}% + \fi\fi\fi + } + + % Extract a byte from the end of the UTF-8 representation of \countUTFx. + % It must be a non-initial byte in the sequence. + % Change \uccode of #1 for it to be used in \parseUTFviiiB as one + % of the bytes. + \gdef\parseUTFviiiA#1{% + \countUTFx = \countUTFz + \divide\countUTFz by 64 + \countUTFy = \countUTFz % Save to be the future value of \countUTFz. + \multiply\countUTFz by 64 + + % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract + % in order to get the last five bits. + \advance\countUTFx by -\countUTFz + + % Convert this to the byte in the UTF-8 sequence. + \advance\countUTFx by 128 + \uccode `#1\countUTFx + \countUTFz = \countUTFy} + + % Used to put a UTF-8 byte sequence into \UTFviiiTmp + % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8 + % sequence. + % #2 is one of the \UTFviii*OctetsName macros. + % #3 is always a full stop (.) + % #4 is a template for the other bytes in the sequence. The values for these + % bytes is substituted in here with \uppercase using the \uccode's. + \gdef\parseUTFviiiB#1#2#3#4{% + \advance\countUTFz by "#10\relax + \uccode `#3\countUTFz + \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} +\endgroup + +% For native Unicode handling (XeTeX and LuaTeX), +% provide a definition macro that sets a catcode to `other' non-globally +% +\def\DeclareUnicodeCharacterNativeOther#1#2{% + \catcode"#1=\other +} + +% https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M +% U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block) +% U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) +% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A +% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B +% +% Many of our renditions are less than wonderful, and all the missing +% characters are available somewhere. Loading the necessary fonts +% awaits user request. We can't truly support Unicode without +% reimplementing everything that's been done in LaTeX for many years, +% plus probably using luatex or xetex, and who knows what else. +% We won't be doing that here in this simple file. But we can try to at +% least make most of the characters not bomb out. +% +\def\unicodechardefs{% + \DeclareUnicodeCharacter{00A0}{\tie}% + \DeclareUnicodeCharacter{00A1}{\exclamdown}% + \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent + \DeclareUnicodeCharacter{00A3}{\pounds{}}% + \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency + \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen + \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar + \DeclareUnicodeCharacter{00A7}{\S}% + \DeclareUnicodeCharacter{00A8}{\"{ }}% + \DeclareUnicodeCharacter{00A9}{\copyright{}}% + \DeclareUnicodeCharacter{00AA}{\ordf}% + \DeclareUnicodeCharacter{00AB}{\guillemetleft{}}% + \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}% + \DeclareUnicodeCharacter{00AD}{\-}% + \DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}% + \DeclareUnicodeCharacter{00AF}{\={ }}% + % + \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}% + \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}% + \DeclareUnicodeCharacter{00B2}{$^2$}% + \DeclareUnicodeCharacter{00B3}{$^3$}% + \DeclareUnicodeCharacter{00B4}{\'{ }}% + \DeclareUnicodeCharacter{00B5}{$\mu$}% + \DeclareUnicodeCharacter{00B6}{\P}% + \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}% + \DeclareUnicodeCharacter{00B8}{\cedilla{ }}% + \DeclareUnicodeCharacter{00B9}{$^1$}% + \DeclareUnicodeCharacter{00BA}{\ordm}% + \DeclareUnicodeCharacter{00BB}{\guillemetright{}}% + \DeclareUnicodeCharacter{00BC}{$1\over4$}% + \DeclareUnicodeCharacter{00BD}{$1\over2$}% + \DeclareUnicodeCharacter{00BE}{$3\over4$}% + \DeclareUnicodeCharacter{00BF}{\questiondown}% + % + \DeclareUnicodeCharacter{00C0}{\`A}% + \DeclareUnicodeCharacter{00C1}{\'A}% + \DeclareUnicodeCharacter{00C2}{\^A}% + \DeclareUnicodeCharacter{00C3}{\~A}% + \DeclareUnicodeCharacter{00C4}{\"A}% + \DeclareUnicodeCharacter{00C5}{\AA}% + \DeclareUnicodeCharacter{00C6}{\AE}% + \DeclareUnicodeCharacter{00C7}{\cedilla{C}}% + \DeclareUnicodeCharacter{00C8}{\`E}% + \DeclareUnicodeCharacter{00C9}{\'E}% + \DeclareUnicodeCharacter{00CA}{\^E}% + \DeclareUnicodeCharacter{00CB}{\"E}% + \DeclareUnicodeCharacter{00CC}{\`I}% + \DeclareUnicodeCharacter{00CD}{\'I}% + \DeclareUnicodeCharacter{00CE}{\^I}% + \DeclareUnicodeCharacter{00CF}{\"I}% + % + \DeclareUnicodeCharacter{00D0}{\DH}% + \DeclareUnicodeCharacter{00D1}{\~N}% + \DeclareUnicodeCharacter{00D2}{\`O}% + \DeclareUnicodeCharacter{00D3}{\'O}% + \DeclareUnicodeCharacter{00D4}{\^O}% + \DeclareUnicodeCharacter{00D5}{\~O}% + \DeclareUnicodeCharacter{00D6}{\"O}% + \DeclareUnicodeCharacter{00D7}{\ensuremath\times}% + \DeclareUnicodeCharacter{00D8}{\O}% + \DeclareUnicodeCharacter{00D9}{\`U}% + \DeclareUnicodeCharacter{00DA}{\'U}% + \DeclareUnicodeCharacter{00DB}{\^U}% + \DeclareUnicodeCharacter{00DC}{\"U}% + \DeclareUnicodeCharacter{00DD}{\'Y}% + \DeclareUnicodeCharacter{00DE}{\TH}% + \DeclareUnicodeCharacter{00DF}{\ss}% + % + \DeclareUnicodeCharacter{00E0}{\`a}% + \DeclareUnicodeCharacter{00E1}{\'a}% + \DeclareUnicodeCharacter{00E2}{\^a}% + \DeclareUnicodeCharacter{00E3}{\~a}% + \DeclareUnicodeCharacter{00E4}{\"a}% + \DeclareUnicodeCharacter{00E5}{\aa}% + \DeclareUnicodeCharacter{00E6}{\ae}% + \DeclareUnicodeCharacter{00E7}{\cedilla{c}}% + \DeclareUnicodeCharacter{00E8}{\`e}% + \DeclareUnicodeCharacter{00E9}{\'e}% + \DeclareUnicodeCharacter{00EA}{\^e}% + \DeclareUnicodeCharacter{00EB}{\"e}% + \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}% + \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}% + \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}% + \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}% + % + \DeclareUnicodeCharacter{00F0}{\dh}% + \DeclareUnicodeCharacter{00F1}{\~n}% + \DeclareUnicodeCharacter{00F2}{\`o}% + \DeclareUnicodeCharacter{00F3}{\'o}% + \DeclareUnicodeCharacter{00F4}{\^o}% + \DeclareUnicodeCharacter{00F5}{\~o}% + \DeclareUnicodeCharacter{00F6}{\"o}% + \DeclareUnicodeCharacter{00F7}{\ensuremath\div}% + \DeclareUnicodeCharacter{00F8}{\o}% + \DeclareUnicodeCharacter{00F9}{\`u}% + \DeclareUnicodeCharacter{00FA}{\'u}% + \DeclareUnicodeCharacter{00FB}{\^u}% + \DeclareUnicodeCharacter{00FC}{\"u}% + \DeclareUnicodeCharacter{00FD}{\'y}% + \DeclareUnicodeCharacter{00FE}{\th}% + \DeclareUnicodeCharacter{00FF}{\"y}% + % + \DeclareUnicodeCharacter{0100}{\=A}% + \DeclareUnicodeCharacter{0101}{\=a}% + \DeclareUnicodeCharacter{0102}{\u{A}}% + \DeclareUnicodeCharacter{0103}{\u{a}}% + \DeclareUnicodeCharacter{0104}{\ogonek{A}}% + \DeclareUnicodeCharacter{0105}{\ogonek{a}}% + \DeclareUnicodeCharacter{0106}{\'C}% + \DeclareUnicodeCharacter{0107}{\'c}% + \DeclareUnicodeCharacter{0108}{\^C}% + \DeclareUnicodeCharacter{0109}{\^c}% + \DeclareUnicodeCharacter{010A}{\dotaccent{C}}% + \DeclareUnicodeCharacter{010B}{\dotaccent{c}}% + \DeclareUnicodeCharacter{010C}{\v{C}}% + \DeclareUnicodeCharacter{010D}{\v{c}}% + \DeclareUnicodeCharacter{010E}{\v{D}}% + \DeclareUnicodeCharacter{010F}{d'}% + % + \DeclareUnicodeCharacter{0110}{\DH}% + \DeclareUnicodeCharacter{0111}{\dh}% + \DeclareUnicodeCharacter{0112}{\=E}% + \DeclareUnicodeCharacter{0113}{\=e}% + \DeclareUnicodeCharacter{0114}{\u{E}}% + \DeclareUnicodeCharacter{0115}{\u{e}}% + \DeclareUnicodeCharacter{0116}{\dotaccent{E}}% + \DeclareUnicodeCharacter{0117}{\dotaccent{e}}% + \DeclareUnicodeCharacter{0118}{\ogonek{E}}% + \DeclareUnicodeCharacter{0119}{\ogonek{e}}% + \DeclareUnicodeCharacter{011A}{\v{E}}% + \DeclareUnicodeCharacter{011B}{\v{e}}% + \DeclareUnicodeCharacter{011C}{\^G}% + \DeclareUnicodeCharacter{011D}{\^g}% + \DeclareUnicodeCharacter{011E}{\u{G}}% + \DeclareUnicodeCharacter{011F}{\u{g}}% + % + \DeclareUnicodeCharacter{0120}{\dotaccent{G}}% + \DeclareUnicodeCharacter{0121}{\dotaccent{g}}% + \DeclareUnicodeCharacter{0122}{\cedilla{G}}% + \DeclareUnicodeCharacter{0123}{\cedilla{g}}% + \DeclareUnicodeCharacter{0124}{\^H}% + \DeclareUnicodeCharacter{0125}{\^h}% + \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}% + \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}% + \DeclareUnicodeCharacter{0128}{\~I}% + \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}% + \DeclareUnicodeCharacter{012A}{\=I}% + \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}% + \DeclareUnicodeCharacter{012C}{\u{I}}% + \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}% + \DeclareUnicodeCharacter{012E}{\ogonek{I}}% + \DeclareUnicodeCharacter{012F}{\ogonek{i}}% + % + \DeclareUnicodeCharacter{0130}{\dotaccent{I}}% + \DeclareUnicodeCharacter{0131}{\dotless{i}}% + \DeclareUnicodeCharacter{0132}{IJ}% + \DeclareUnicodeCharacter{0133}{ij}% + \DeclareUnicodeCharacter{0134}{\^J}% + \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}% + \DeclareUnicodeCharacter{0136}{\cedilla{K}}% + \DeclareUnicodeCharacter{0137}{\cedilla{k}}% + \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}% + \DeclareUnicodeCharacter{0139}{\'L}% + \DeclareUnicodeCharacter{013A}{\'l}% + \DeclareUnicodeCharacter{013B}{\cedilla{L}}% + \DeclareUnicodeCharacter{013C}{\cedilla{l}}% + \DeclareUnicodeCharacter{013D}{L'}% should kern + \DeclareUnicodeCharacter{013E}{l'}% should kern + \DeclareUnicodeCharacter{013F}{L\U{00B7}}% + % + \DeclareUnicodeCharacter{0140}{l\U{00B7}}% + \DeclareUnicodeCharacter{0141}{\L}% + \DeclareUnicodeCharacter{0142}{\l}% + \DeclareUnicodeCharacter{0143}{\'N}% + \DeclareUnicodeCharacter{0144}{\'n}% + \DeclareUnicodeCharacter{0145}{\cedilla{N}}% + \DeclareUnicodeCharacter{0146}{\cedilla{n}}% + \DeclareUnicodeCharacter{0147}{\v{N}}% + \DeclareUnicodeCharacter{0148}{\v{n}}% + \DeclareUnicodeCharacter{0149}{'n}% + \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}% + \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}% + \DeclareUnicodeCharacter{014C}{\=O}% + \DeclareUnicodeCharacter{014D}{\=o}% + \DeclareUnicodeCharacter{014E}{\u{O}}% + \DeclareUnicodeCharacter{014F}{\u{o}}% + % + \DeclareUnicodeCharacter{0150}{\H{O}}% + \DeclareUnicodeCharacter{0151}{\H{o}}% + \DeclareUnicodeCharacter{0152}{\OE}% + \DeclareUnicodeCharacter{0153}{\oe}% + \DeclareUnicodeCharacter{0154}{\'R}% + \DeclareUnicodeCharacter{0155}{\'r}% + \DeclareUnicodeCharacter{0156}{\cedilla{R}}% + \DeclareUnicodeCharacter{0157}{\cedilla{r}}% + \DeclareUnicodeCharacter{0158}{\v{R}}% + \DeclareUnicodeCharacter{0159}{\v{r}}% + \DeclareUnicodeCharacter{015A}{\'S}% + \DeclareUnicodeCharacter{015B}{\'s}% + \DeclareUnicodeCharacter{015C}{\^S}% + \DeclareUnicodeCharacter{015D}{\^s}% + \DeclareUnicodeCharacter{015E}{\cedilla{S}}% + \DeclareUnicodeCharacter{015F}{\cedilla{s}}% + % + \DeclareUnicodeCharacter{0160}{\v{S}}% + \DeclareUnicodeCharacter{0161}{\v{s}}% + \DeclareUnicodeCharacter{0162}{\cedilla{T}}% + \DeclareUnicodeCharacter{0163}{\cedilla{t}}% + \DeclareUnicodeCharacter{0164}{\v{T}}% + \DeclareUnicodeCharacter{0165}{\v{t}}% + \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}% + \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}% + \DeclareUnicodeCharacter{0168}{\~U}% + \DeclareUnicodeCharacter{0169}{\~u}% + \DeclareUnicodeCharacter{016A}{\=U}% + \DeclareUnicodeCharacter{016B}{\=u}% + \DeclareUnicodeCharacter{016C}{\u{U}}% + \DeclareUnicodeCharacter{016D}{\u{u}}% + \DeclareUnicodeCharacter{016E}{\ringaccent{U}}% + \DeclareUnicodeCharacter{016F}{\ringaccent{u}}% + % + \DeclareUnicodeCharacter{0170}{\H{U}}% + \DeclareUnicodeCharacter{0171}{\H{u}}% + \DeclareUnicodeCharacter{0172}{\ogonek{U}}% + \DeclareUnicodeCharacter{0173}{\ogonek{u}}% + \DeclareUnicodeCharacter{0174}{\^W}% + \DeclareUnicodeCharacter{0175}{\^w}% + \DeclareUnicodeCharacter{0176}{\^Y}% + \DeclareUnicodeCharacter{0177}{\^y}% + \DeclareUnicodeCharacter{0178}{\"Y}% + \DeclareUnicodeCharacter{0179}{\'Z}% + \DeclareUnicodeCharacter{017A}{\'z}% + \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}% + \DeclareUnicodeCharacter{017C}{\dotaccent{z}}% + \DeclareUnicodeCharacter{017D}{\v{Z}}% + \DeclareUnicodeCharacter{017E}{\v{z}}% + \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}% + % + \DeclareUnicodeCharacter{01C4}{D\v{Z}}% + \DeclareUnicodeCharacter{01C5}{D\v{z}}% + \DeclareUnicodeCharacter{01C6}{d\v{z}}% + \DeclareUnicodeCharacter{01C7}{LJ}% + \DeclareUnicodeCharacter{01C8}{Lj}% + \DeclareUnicodeCharacter{01C9}{lj}% + \DeclareUnicodeCharacter{01CA}{NJ}% + \DeclareUnicodeCharacter{01CB}{Nj}% + \DeclareUnicodeCharacter{01CC}{nj}% + \DeclareUnicodeCharacter{01CD}{\v{A}}% + \DeclareUnicodeCharacter{01CE}{\v{a}}% + \DeclareUnicodeCharacter{01CF}{\v{I}}% + % + \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}% + \DeclareUnicodeCharacter{01D1}{\v{O}}% + \DeclareUnicodeCharacter{01D2}{\v{o}}% + \DeclareUnicodeCharacter{01D3}{\v{U}}% + \DeclareUnicodeCharacter{01D4}{\v{u}}% + % + \DeclareUnicodeCharacter{01E2}{\={\AE}}% + \DeclareUnicodeCharacter{01E3}{\={\ae}}% + \DeclareUnicodeCharacter{01E6}{\v{G}}% + \DeclareUnicodeCharacter{01E7}{\v{g}}% + \DeclareUnicodeCharacter{01E8}{\v{K}}% + \DeclareUnicodeCharacter{01E9}{\v{k}}% + % + \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}% + \DeclareUnicodeCharacter{01F1}{DZ}% + \DeclareUnicodeCharacter{01F2}{Dz}% + \DeclareUnicodeCharacter{01F3}{dz}% + \DeclareUnicodeCharacter{01F4}{\'G}% + \DeclareUnicodeCharacter{01F5}{\'g}% + \DeclareUnicodeCharacter{01F8}{\`N}% + \DeclareUnicodeCharacter{01F9}{\`n}% + \DeclareUnicodeCharacter{01FC}{\'{\AE}}% + \DeclareUnicodeCharacter{01FD}{\'{\ae}}% + \DeclareUnicodeCharacter{01FE}{\'{\O}}% + \DeclareUnicodeCharacter{01FF}{\'{\o}}% + % + \DeclareUnicodeCharacter{021E}{\v{H}}% + \DeclareUnicodeCharacter{021F}{\v{h}}% + % + \DeclareUnicodeCharacter{0226}{\dotaccent{A}}% + \DeclareUnicodeCharacter{0227}{\dotaccent{a}}% + \DeclareUnicodeCharacter{0228}{\cedilla{E}}% + \DeclareUnicodeCharacter{0229}{\cedilla{e}}% + \DeclareUnicodeCharacter{022E}{\dotaccent{O}}% + \DeclareUnicodeCharacter{022F}{\dotaccent{o}}% + % + \DeclareUnicodeCharacter{0232}{\=Y}% + \DeclareUnicodeCharacter{0233}{\=y}% + \DeclareUnicodeCharacter{0237}{\dotless{j}}% + % + \DeclareUnicodeCharacter{02BC}{'}% + % + \DeclareUnicodeCharacter{02DB}{\ogonek{ }}% + % + % Greek letters upper case + \DeclareUnicodeCharacter{0391}{{\it A}}% + \DeclareUnicodeCharacter{0392}{{\it B}}% + \DeclareUnicodeCharacter{0393}{\ensuremath{\mit\Gamma}}% + \DeclareUnicodeCharacter{0394}{\ensuremath{\mit\Delta}}% + \DeclareUnicodeCharacter{0395}{{\it E}}% + \DeclareUnicodeCharacter{0396}{{\it Z}}% + \DeclareUnicodeCharacter{0397}{{\it H}}% + \DeclareUnicodeCharacter{0398}{\ensuremath{\mit\Theta}}% + \DeclareUnicodeCharacter{0399}{{\it I}}% + \DeclareUnicodeCharacter{039A}{{\it K}}% + \DeclareUnicodeCharacter{039B}{\ensuremath{\mit\Lambda}}% + \DeclareUnicodeCharacter{039C}{{\it M}}% + \DeclareUnicodeCharacter{039D}{{\it N}}% + \DeclareUnicodeCharacter{039E}{\ensuremath{\mit\Xi}}% + \DeclareUnicodeCharacter{039F}{{\it O}}% + \DeclareUnicodeCharacter{03A0}{\ensuremath{\mit\Pi}}% + \DeclareUnicodeCharacter{03A1}{{\it P}}% + %\DeclareUnicodeCharacter{03A2}{} % none - corresponds to final sigma + \DeclareUnicodeCharacter{03A3}{\ensuremath{\mit\Sigma}}% + \DeclareUnicodeCharacter{03A4}{{\it T}}% + \DeclareUnicodeCharacter{03A5}{\ensuremath{\mit\Upsilon}}% + \DeclareUnicodeCharacter{03A6}{\ensuremath{\mit\Phi}}% + \DeclareUnicodeCharacter{03A7}{{\it X}}% + \DeclareUnicodeCharacter{03A8}{\ensuremath{\mit\Psi}}% + \DeclareUnicodeCharacter{03A9}{\ensuremath{\mit\Omega}}% + % + % Vowels with accents + \DeclareUnicodeCharacter{0390}{\ensuremath{\ddot{\acute\iota}}}% + \DeclareUnicodeCharacter{03AC}{\ensuremath{\acute\alpha}}% + \DeclareUnicodeCharacter{03AD}{\ensuremath{\acute\epsilon}}% + \DeclareUnicodeCharacter{03AE}{\ensuremath{\acute\eta}}% + \DeclareUnicodeCharacter{03AF}{\ensuremath{\acute\iota}}% + \DeclareUnicodeCharacter{03B0}{\ensuremath{\acute{\ddot\upsilon}}}% + % + % Standalone accent + \DeclareUnicodeCharacter{0384}{\ensuremath{\acute{\ }}}% + % + % Greek letters lower case + \DeclareUnicodeCharacter{03B1}{\ensuremath\alpha}% + \DeclareUnicodeCharacter{03B2}{\ensuremath\beta}% + \DeclareUnicodeCharacter{03B3}{\ensuremath\gamma}% + \DeclareUnicodeCharacter{03B4}{\ensuremath\delta}% + \DeclareUnicodeCharacter{03B5}{\ensuremath\epsilon}% + \DeclareUnicodeCharacter{03B6}{\ensuremath\zeta}% + \DeclareUnicodeCharacter{03B7}{\ensuremath\eta}% + \DeclareUnicodeCharacter{03B8}{\ensuremath\theta}% + \DeclareUnicodeCharacter{03B9}{\ensuremath\iota}% + \DeclareUnicodeCharacter{03BA}{\ensuremath\kappa}% + \DeclareUnicodeCharacter{03BB}{\ensuremath\lambda}% + \DeclareUnicodeCharacter{03BC}{\ensuremath\mu}% + \DeclareUnicodeCharacter{03BD}{\ensuremath\nu}% + \DeclareUnicodeCharacter{03BE}{\ensuremath\xi}% + \DeclareUnicodeCharacter{03BF}{{\it o}}% omicron + \DeclareUnicodeCharacter{03C0}{\ensuremath\pi}% + \DeclareUnicodeCharacter{03C1}{\ensuremath\rho}% + \DeclareUnicodeCharacter{03C2}{\ensuremath\varsigma}% + \DeclareUnicodeCharacter{03C3}{\ensuremath\sigma}% + \DeclareUnicodeCharacter{03C4}{\ensuremath\tau}% + \DeclareUnicodeCharacter{03C5}{\ensuremath\upsilon}% + \DeclareUnicodeCharacter{03C6}{\ensuremath\phi}% + \DeclareUnicodeCharacter{03C7}{\ensuremath\chi}% + \DeclareUnicodeCharacter{03C8}{\ensuremath\psi}% + \DeclareUnicodeCharacter{03C9}{\ensuremath\omega}% + % + % More Greek vowels with accents + \DeclareUnicodeCharacter{03CA}{\ensuremath{\ddot\iota}}% + \DeclareUnicodeCharacter{03CB}{\ensuremath{\ddot\upsilon}}% + \DeclareUnicodeCharacter{03CC}{\ensuremath{\acute o}}% + \DeclareUnicodeCharacter{03CD}{\ensuremath{\acute\upsilon}}% + \DeclareUnicodeCharacter{03CE}{\ensuremath{\acute\omega}}% + % + % Variant Greek letters + \DeclareUnicodeCharacter{03D1}{\ensuremath\vartheta}% + \DeclareUnicodeCharacter{03D6}{\ensuremath\varpi}% + \DeclareUnicodeCharacter{03F1}{\ensuremath\varrho}% + % + \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}% + \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}% + \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}% + \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}% + \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}% + \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}% + \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}% + \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}% + \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}% + \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}% + \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}% + \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}% + % + \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}% + \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}% + % + \DeclareUnicodeCharacter{1E20}{\=G}% + \DeclareUnicodeCharacter{1E21}{\=g}% + \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}% + \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}% + \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}% + \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}% + \DeclareUnicodeCharacter{1E26}{\"H}% + \DeclareUnicodeCharacter{1E27}{\"h}% + % + \DeclareUnicodeCharacter{1E30}{\'K}% + \DeclareUnicodeCharacter{1E31}{\'k}% + \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}% + \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}% + \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}% + \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}% + \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}% + \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}% + \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}% + \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}% + \DeclareUnicodeCharacter{1E3E}{\'M}% + \DeclareUnicodeCharacter{1E3F}{\'m}% + % + \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}% + \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}% + \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}% + \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}% + \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}% + \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}% + \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}% + \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}% + \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}% + \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}% + % + \DeclareUnicodeCharacter{1E54}{\'P}% + \DeclareUnicodeCharacter{1E55}{\'p}% + \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}% + \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}% + \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}% + \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}% + \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}% + \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}% + \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}% + \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}% + % + \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}% + \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}% + \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}% + \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}% + \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}% + \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}% + \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}% + \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}% + \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}% + \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}% + % + \DeclareUnicodeCharacter{1E7C}{\~V}% + \DeclareUnicodeCharacter{1E7D}{\~v}% + \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}% + \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}% + % + \DeclareUnicodeCharacter{1E80}{\`W}% + \DeclareUnicodeCharacter{1E81}{\`w}% + \DeclareUnicodeCharacter{1E82}{\'W}% + \DeclareUnicodeCharacter{1E83}{\'w}% + \DeclareUnicodeCharacter{1E84}{\"W}% + \DeclareUnicodeCharacter{1E85}{\"w}% + \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}% + \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}% + \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}% + \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}% + \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}% + \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}% + \DeclareUnicodeCharacter{1E8C}{\"X}% + \DeclareUnicodeCharacter{1E8D}{\"x}% + \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}% + \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}% + % + \DeclareUnicodeCharacter{1E90}{\^Z}% + \DeclareUnicodeCharacter{1E91}{\^z}% + \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}% + \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}% + \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}% + \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}% + \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}% + \DeclareUnicodeCharacter{1E97}{\"t}% + \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}% + \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}% + % + \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}% + \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}% + % + \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}% + \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}% + \DeclareUnicodeCharacter{1EBC}{\~E}% + \DeclareUnicodeCharacter{1EBD}{\~e}% + % + \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}% + \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}% + \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}% + \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}% + % + \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}% + \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}% + % + \DeclareUnicodeCharacter{1EF2}{\`Y}% + \DeclareUnicodeCharacter{1EF3}{\`y}% + \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}% + % + \DeclareUnicodeCharacter{1EF8}{\~Y}% + \DeclareUnicodeCharacter{1EF9}{\~y}% + % + % Punctuation + \DeclareUnicodeCharacter{2013}{--}% + \DeclareUnicodeCharacter{2014}{---}% + \DeclareUnicodeCharacter{2018}{\quoteleft{}}% + \DeclareUnicodeCharacter{2019}{\quoteright{}}% + \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}% + \DeclareUnicodeCharacter{201C}{\quotedblleft{}}% + \DeclareUnicodeCharacter{201D}{\quotedblright{}}% + \DeclareUnicodeCharacter{201E}{\quotedblbase{}}% + \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}% + \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}% + \DeclareUnicodeCharacter{2022}{\bullet{}}% + \DeclareUnicodeCharacter{202F}{\thinspace}% + \DeclareUnicodeCharacter{2026}{\dots{}}% + \DeclareUnicodeCharacter{2039}{\guilsinglleft{}}% + \DeclareUnicodeCharacter{203A}{\guilsinglright{}}% + % + \DeclareUnicodeCharacter{20AC}{\euro{}}% + % + \DeclareUnicodeCharacter{2192}{\expansion{}}% + \DeclareUnicodeCharacter{21D2}{\result{}}% + % + % Mathematical symbols + \DeclareUnicodeCharacter{2200}{\ensuremath\forall}% + \DeclareUnicodeCharacter{2203}{\ensuremath\exists}% + \DeclareUnicodeCharacter{2208}{\ensuremath\in}% + \DeclareUnicodeCharacter{2212}{\minus{}}% + \DeclareUnicodeCharacter{2217}{\ast}% + \DeclareUnicodeCharacter{221E}{\ensuremath\infty}% + \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}% + \DeclareUnicodeCharacter{2227}{\ensuremath\wedge}% + \DeclareUnicodeCharacter{2229}{\ensuremath\cap}% + \DeclareUnicodeCharacter{2261}{\equiv{}}% + \DeclareUnicodeCharacter{2264}{\ensuremath\leq}% + \DeclareUnicodeCharacter{2265}{\ensuremath\geq}% + \DeclareUnicodeCharacter{2282}{\ensuremath\subset}% + \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}% + % + \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}% + \DeclareUnicodeCharacter{2032}{\ensuremath\prime}% + \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}% + \DeclareUnicodeCharacter{2111}{\ensuremath\Im}% + \DeclareUnicodeCharacter{2113}{\ensuremath\ell}% + \DeclareUnicodeCharacter{2118}{\ensuremath\wp}% + \DeclareUnicodeCharacter{211C}{\ensuremath\Re}% + \DeclareUnicodeCharacter{2135}{\ensuremath\aleph}% + \DeclareUnicodeCharacter{2190}{\ensuremath\leftarrow}% + \DeclareUnicodeCharacter{2191}{\ensuremath\uparrow}% + \DeclareUnicodeCharacter{2193}{\ensuremath\downarrow}% + \DeclareUnicodeCharacter{2194}{\ensuremath\leftrightarrow}% + \DeclareUnicodeCharacter{2195}{\ensuremath\updownarrow}% + \DeclareUnicodeCharacter{2196}{\ensuremath\nwarrow}% + \DeclareUnicodeCharacter{2197}{\ensuremath\nearrow}% + \DeclareUnicodeCharacter{2198}{\ensuremath\searrow}% + \DeclareUnicodeCharacter{2199}{\ensuremath\swarrow}% + \DeclareUnicodeCharacter{21A6}{\ensuremath\mapsto}% + \DeclareUnicodeCharacter{21A9}{\ensuremath\hookleftarrow}% + \DeclareUnicodeCharacter{21AA}{\ensuremath\hookrightarrow}% + \DeclareUnicodeCharacter{21BC}{\ensuremath\leftharpoonup}% + \DeclareUnicodeCharacter{21BD}{\ensuremath\leftharpoondown}% + \DeclareUnicodeCharacter{21C0}{\ensuremath\rightharpoonup}% + \DeclareUnicodeCharacter{21C1}{\ensuremath\rightharpoondown}% + \DeclareUnicodeCharacter{21CC}{\ensuremath\rightleftharpoons}% + \DeclareUnicodeCharacter{21D0}{\ensuremath\Leftarrow}% + \DeclareUnicodeCharacter{21D1}{\ensuremath\Uparrow}% + \DeclareUnicodeCharacter{21D3}{\ensuremath\Downarrow}% + \DeclareUnicodeCharacter{21D4}{\ensuremath\Leftrightarrow}% + \DeclareUnicodeCharacter{21D5}{\ensuremath\Updownarrow}% + \DeclareUnicodeCharacter{2202}{\ensuremath\partial}% + \DeclareUnicodeCharacter{2205}{\ensuremath\emptyset}% + \DeclareUnicodeCharacter{2207}{\ensuremath\nabla}% + \DeclareUnicodeCharacter{2209}{\ensuremath\notin}% + \DeclareUnicodeCharacter{220B}{\ensuremath\owns}% + \DeclareUnicodeCharacter{220F}{\ensuremath\prod}% + \DeclareUnicodeCharacter{2210}{\ensuremath\coprod}% + \DeclareUnicodeCharacter{2211}{\ensuremath\sum}% + \DeclareUnicodeCharacter{2213}{\ensuremath\mp}% + \DeclareUnicodeCharacter{2218}{\ensuremath\circ}% + \DeclareUnicodeCharacter{221A}{\ensuremath\surd}% + \DeclareUnicodeCharacter{221D}{\ensuremath\propto}% + \DeclareUnicodeCharacter{2220}{\ensuremath\angle}% + \DeclareUnicodeCharacter{2223}{\ensuremath\mid}% + \DeclareUnicodeCharacter{2228}{\ensuremath\vee}% + \DeclareUnicodeCharacter{222A}{\ensuremath\cup}% + \DeclareUnicodeCharacter{222B}{\ensuremath\smallint}% + \DeclareUnicodeCharacter{222E}{\ensuremath\oint}% + \DeclareUnicodeCharacter{223C}{\ensuremath\sim}% + \DeclareUnicodeCharacter{2240}{\ensuremath\wr}% + \DeclareUnicodeCharacter{2243}{\ensuremath\simeq}% + \DeclareUnicodeCharacter{2245}{\ensuremath\cong}% + \DeclareUnicodeCharacter{2248}{\ensuremath\approx}% + \DeclareUnicodeCharacter{224D}{\ensuremath\asymp}% + \DeclareUnicodeCharacter{2250}{\ensuremath\doteq}% + \DeclareUnicodeCharacter{2260}{\ensuremath\neq}% + \DeclareUnicodeCharacter{226A}{\ensuremath\ll}% + \DeclareUnicodeCharacter{226B}{\ensuremath\gg}% + \DeclareUnicodeCharacter{227A}{\ensuremath\prec}% + \DeclareUnicodeCharacter{227B}{\ensuremath\succ}% + \DeclareUnicodeCharacter{2283}{\ensuremath\supset}% + \DeclareUnicodeCharacter{2286}{\ensuremath\subseteq}% + \DeclareUnicodeCharacter{228E}{\ensuremath\uplus}% + \DeclareUnicodeCharacter{2291}{\ensuremath\sqsubseteq}% + \DeclareUnicodeCharacter{2292}{\ensuremath\sqsupseteq}% + \DeclareUnicodeCharacter{2293}{\ensuremath\sqcap}% + \DeclareUnicodeCharacter{2294}{\ensuremath\sqcup}% + \DeclareUnicodeCharacter{2295}{\ensuremath\oplus}% + \DeclareUnicodeCharacter{2296}{\ensuremath\ominus}% + \DeclareUnicodeCharacter{2297}{\ensuremath\otimes}% + \DeclareUnicodeCharacter{2298}{\ensuremath\oslash}% + \DeclareUnicodeCharacter{2299}{\ensuremath\odot}% + \DeclareUnicodeCharacter{22A2}{\ensuremath\vdash}% + \DeclareUnicodeCharacter{22A3}{\ensuremath\dashv}% + \DeclareUnicodeCharacter{22A4}{\ensuremath\ptextop}% + \DeclareUnicodeCharacter{22A5}{\ensuremath\bot}% + \DeclareUnicodeCharacter{22A8}{\ensuremath\models}% + \DeclareUnicodeCharacter{22C0}{\ensuremath\bigwedge}% + \DeclareUnicodeCharacter{22C1}{\ensuremath\bigvee}% + \DeclareUnicodeCharacter{22C2}{\ensuremath\bigcap}% + \DeclareUnicodeCharacter{22C3}{\ensuremath\bigcup}% + \DeclareUnicodeCharacter{22C4}{\ensuremath\diamond}% + \DeclareUnicodeCharacter{22C5}{\ensuremath\cdot}% + \DeclareUnicodeCharacter{22C6}{\ensuremath\star}% + \DeclareUnicodeCharacter{22C8}{\ensuremath\bowtie}% + \DeclareUnicodeCharacter{2308}{\ensuremath\lceil}% + \DeclareUnicodeCharacter{2309}{\ensuremath\rceil}% + \DeclareUnicodeCharacter{230A}{\ensuremath\lfloor}% + \DeclareUnicodeCharacter{230B}{\ensuremath\rfloor}% + \DeclareUnicodeCharacter{2322}{\ensuremath\frown}% + \DeclareUnicodeCharacter{2323}{\ensuremath\smile}% + % + \DeclareUnicodeCharacter{25B3}{\ensuremath\triangle}% + \DeclareUnicodeCharacter{25B7}{\ensuremath\triangleright}% + \DeclareUnicodeCharacter{25BD}{\ensuremath\bigtriangledown}% + \DeclareUnicodeCharacter{25C1}{\ensuremath\triangleleft}% + \DeclareUnicodeCharacter{25C7}{\ensuremath\diamond}% + \DeclareUnicodeCharacter{2660}{\ensuremath\spadesuit}% + \DeclareUnicodeCharacter{2661}{\ensuremath\heartsuit}% + \DeclareUnicodeCharacter{2662}{\ensuremath\diamondsuit}% + \DeclareUnicodeCharacter{2663}{\ensuremath\clubsuit}% + \DeclareUnicodeCharacter{266D}{\ensuremath\flat}% + \DeclareUnicodeCharacter{266E}{\ensuremath\natural}% + \DeclareUnicodeCharacter{266F}{\ensuremath\sharp}% + \DeclareUnicodeCharacter{26AA}{\ensuremath\bigcirc}% + \DeclareUnicodeCharacter{27B9}{\ensuremath\rangle}% + \DeclareUnicodeCharacter{27C2}{\ensuremath\perp}% + \DeclareUnicodeCharacter{27E8}{\ensuremath\langle}% + \DeclareUnicodeCharacter{27F5}{\ensuremath\longleftarrow}% + \DeclareUnicodeCharacter{27F6}{\ensuremath\longrightarrow}% + \DeclareUnicodeCharacter{27F7}{\ensuremath\longleftrightarrow}% + \DeclareUnicodeCharacter{27FC}{\ensuremath\longmapsto}% + \DeclareUnicodeCharacter{29F5}{\ensuremath\setminus}% + \DeclareUnicodeCharacter{2A00}{\ensuremath\bigodot}% + \DeclareUnicodeCharacter{2A01}{\ensuremath\bigoplus}% + \DeclareUnicodeCharacter{2A02}{\ensuremath\bigotimes}% + \DeclareUnicodeCharacter{2A04}{\ensuremath\biguplus}% + \DeclareUnicodeCharacter{2A06}{\ensuremath\bigsqcup}% + \DeclareUnicodeCharacter{2A3F}{\ensuremath\amalg}% + \DeclareUnicodeCharacter{2AAF}{\ensuremath\preceq}% + \DeclareUnicodeCharacter{2AB0}{\ensuremath\succeq}% + % + \global\mathchardef\checkmark="1370% actually the square root sign + \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}% +}% end of \unicodechardefs + +% UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command) +% It makes the setting that replace UTF-8 byte sequence. +\def\utfeightchardefs{% + \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterUTFviii + \unicodechardefs +} + +% Whether the active definitions of non-ASCII characters expand to +% non-active tokens with the same character code. This is used to +% write characters literally, instead of using active definitions for +% printing the correct glyphs. +\newif\ifpassthroughchars +\passthroughcharsfalse + +% For native Unicode handling (XeTeX and LuaTeX), +% provide a definition macro to replace/pass-through a Unicode character +% +\def\DeclareUnicodeCharacterNative#1#2{% + \catcode"#1=\active + \def\dodeclareunicodecharacternative##1##2##3{% + \begingroup + \uccode`\~="##2\relax + \uppercase{\gdef~}{% + \ifpassthroughchars + ##1% + \else + ##3% + \fi + } + \endgroup + } + \begingroup + \uccode`\.="#1\relax + \uppercase{\def\UTFNativeTmp{.}}% + \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}% + \endgroup +} + +% Native Unicode handling (XeTeX and LuaTeX) character replacing definition. +% It activates the setting that replaces Unicode characters. +\def\nativeunicodechardefs{% + \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNative + \unicodechardefs +} + +% For native Unicode handling (XeTeX and LuaTeX), +% make the character token expand +% to the sequences given in \unicodechardefs for printing. +\def\DeclareUnicodeCharacterNativeAtU#1#2{% + \def\UTFAtUTmp{#2} + \expandafter\globallet\csname uni:#1\endcsname \UTFAtUTmp +} + +% @U command definitions for native Unicode handling (XeTeX and LuaTeX). +\def\nativeunicodechardefsatu{% + \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeAtU + \unicodechardefs +} + +% US-ASCII character definitions. +\def\asciichardefs{% nothing need be done + \relax +} + +% Define all Unicode characters we know about. This makes UTF-8 the default +% input encoding and allows @U to work. +\iftxinativeunicodecapable + \nativeunicodechardefsatu +\else + \utfeightchardefs +\fi + +\message{formatting,} + +\newdimen\defaultparindent \defaultparindent = 15pt + +\chapheadingskip = 15pt plus 4pt minus 2pt +\secheadingskip = 12pt plus 3pt minus 2pt +\subsecheadingskip = 9pt plus 2pt minus 2pt + +% Prevent underfull vbox error messages. +\vbadness = 10000 + +% Don't be very finicky about underfull hboxes, either. +\hbadness = 6666 + +% Following George Bush, get rid of widows and orphans. +\widowpenalty=10000 +\clubpenalty=10000 + +% Use TeX 3.0's \emergencystretch to help line breaking, but if we're +% using an old version of TeX, don't do anything. We want the amount of +% stretch added to depend on the line length, hence the dependence on +% \hsize. We call this whenever the paper size is set. +% +\def\setemergencystretch{% + \ifx\emergencystretch\thisisundefined + % Allow us to assign to \emergencystretch anyway. + \def\emergencystretch{\dimen0}% + \else + \emergencystretch = .15\hsize + \fi +} + +% Parameters in order: 1) textheight; 2) textwidth; +% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; +% 7) physical page height; 8) physical page width. +% +% We also call \setleading{\textleading}, so the caller should define +% \textleading. The caller should also set \parskip. +% +\def\internalpagesizes#1#2#3#4#5#6#7#8{% + \voffset = #3\relax + \topskip = #6\relax + \splittopskip = \topskip + % + \vsize = #1\relax + \advance\vsize by \topskip + \outervsize = \vsize + \advance\outervsize by 2\topandbottommargin + \txipageheight = \vsize + % + \hsize = #2\relax + \outerhsize = \hsize + \advance\outerhsize by 0.5in + \txipagewidth = \hsize + % + \normaloffset = #4\relax + \bindingoffset = #5\relax + % + \ifpdf + \pdfpageheight #7\relax + \pdfpagewidth #8\relax + % if we don't reset these, they will remain at "1 true in" of + % whatever layout pdftex was dumped with. + \pdfhorigin = 1 true in + \pdfvorigin = 1 true in + \else + \ifx\XeTeXrevision\thisisundefined + \special{papersize=#8,#7}% + \else + \pdfpageheight #7\relax + \pdfpagewidth #8\relax + % XeTeX does not have \pdfhorigin and \pdfvorigin. + \fi + \fi + % + \setleading{\textleading} + % + \parindent = \defaultparindent + \setemergencystretch +} + +% @letterpaper (the default). +\def\letterpaper{{\globaldefs = 1 + \parskip = 3pt plus 2pt minus 1pt + \textleading = 13.2pt + % + % If page is nothing but text, make it come out even. + \internalpagesizes{607.2pt}{6in}% that's 46 lines + {\voffset}{.25in}% + {\bindingoffset}{36pt}% + {11in}{8.5in}% +}} + +% Use @smallbook to reset parameters for 7x9.25 trim size. +\def\smallbook{{\globaldefs = 1 + \parskip = 2pt plus 1pt + \textleading = 12pt + % + \internalpagesizes{7.5in}{5in}% + {-.2in}{0in}% + {\bindingoffset}{16pt}% + {9.25in}{7in}% + % + \lispnarrowing = 0.3in + \tolerance = 700 + \contentsrightmargin = 0pt + \defbodyindent = .5cm +}} + +% Use @afourpaper to print on European A4 paper. +\def\afourpaper{{\globaldefs = 1 + \parskip = 3pt plus 2pt minus 1pt + \textleading = 13.2pt + % + % Double-side printing via postscript on Laserjet 4050 + % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. + % To change the settings for a different printer or situation, adjust + % \normaloffset until the front-side and back-side texts align. Then + % do the same for \bindingoffset. You can set these for testing in + % your texinfo source file like this: + % @tex + % \global\normaloffset = -6mm + % \global\bindingoffset = 10mm + % @end tex + \internalpagesizes{673.2pt}{160mm}% that's 51 lines + {\voffset}{\hoffset}% + {\bindingoffset}{44pt}% + {297mm}{210mm}% + % + \tolerance = 700 + \contentsrightmargin = 0pt + \defbodyindent = 5mm +}} + +% Use @afivepaper to print on European A5 paper. +% From romildo@urano.iceb.ufop.br, 2 July 2000. +% He also recommends making @example and @lisp be small. +\def\afivepaper{{\globaldefs = 1 + \parskip = 2pt plus 1pt minus 0.1pt + \textleading = 12.5pt + % + \internalpagesizes{160mm}{120mm}% + {\voffset}{\hoffset}% + {\bindingoffset}{8pt}% + {210mm}{148mm}% + % + \lispnarrowing = 0.2in + \tolerance = 800 + \contentsrightmargin = 0pt + \defbodyindent = 2mm + \tableindent = 12mm +}} + +% A specific text layout, 24x15cm overall, intended for A4 paper. +\def\afourlatex{{\globaldefs = 1 + \afourpaper + \internalpagesizes{237mm}{150mm}% + {\voffset}{4.6mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + % + % Must explicitly reset to 0 because we call \afourpaper. + \globaldefs = 0 +}} + +% Use @afourwide to print on A4 paper in landscape format. +\def\afourwide{{\globaldefs = 1 + \afourpaper + \internalpagesizes{241mm}{165mm}% + {\voffset}{-2.95mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + \globaldefs = 0 +}} + +\def\bsixpaper{{\globaldefs = 1 + \afourpaper + \internalpagesizes{140mm}{100mm}% + {-6.35mm}{-12.7mm}% + {\bindingoffset}{14pt}% + {176mm}{125mm}% + \let\SETdispenvsize=\smallword + \lispnarrowing = 0.2in + \globaldefs = 0 +}} + + +% @pagesizes TEXTHEIGHT[,TEXTWIDTH] +% Perhaps we should allow setting the margins, \topskip, \parskip, +% and/or leading, also. Or perhaps we should compute them somehow. +% +\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} +\def\pagesizesyyy#1,#2,#3\finish{{% + \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi + \globaldefs = 1 + % + \parskip = 3pt plus 2pt minus 1pt + \setleading{\textleading}% + % + \dimen0 = #1\relax + \advance\dimen0 by 2.5in % default 1in margin above heading line + % and 1.5in to include heading, footing and + % bottom margin + % + \dimen2 = \hsize + \advance\dimen2 by 2in % default to 1 inch margin on each side + % + \internalpagesizes{#1}{\hsize}% + {\voffset}{\normaloffset}% + {\bindingoffset}{44pt}% + {\dimen0}{\dimen2}% +}} + +% Set default to letter. +% +\letterpaper + +% Default value of \hfuzz, for suppressing warnings about overfull hboxes. +\hfuzz = 1pt + + +\message{and turning on texinfo input format.} + +\def^^L{\par} % remove \outer, so ^L can appear in an @comment + +% DEL is a comment character, in case @c does not suffice. +\catcode`\^^? = 14 + +% Define macros to output various characters with catcode for normal text. +\catcode`\"=\other \def\normaldoublequote{"} +\catcode`\$=\other \def\normaldollar{$}%$ font-lock fix +\catcode`\+=\other \def\normalplus{+} +\catcode`\<=\other \def\normalless{<} +\catcode`\>=\other \def\normalgreater{>} +\catcode`\^=\other \def\normalcaret{^} +\catcode`\_=\other \def\normalunderscore{_} +\catcode`\|=\other \def\normalverticalbar{|} +\catcode`\~=\other \def\normaltilde{~} + +% This macro is used to make a character print one way in \tt +% (where it can probably be output as-is), and another way in other fonts, +% where something hairier probably needs to be done. +% +% #1 is what to print if we are indeed using \tt; #2 is what to print +% otherwise. Since all the Computer Modern typewriter fonts have zero +% interword stretch (and shrink), and it is reasonable to expect all +% typewriter fonts to have this, we can check that font parameter. +% +\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} + +% Same as above, but check for italic font. Actually this also catches +% non-italic slanted fonts since it is impossible to distinguish them from +% italic fonts. But since this is only used by $ and it uses \sl anyway +% this is not a problem. +\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} + +% Set catcodes for Texinfo file + +% Active characters for printing the wanted glyph. +% Most of these we simply print from the \tt font, but for some, we can +% use math or other variants that look better in normal text. +% +\catcode`\"=\active +\def\activedoublequote{{\tt\char34}} +\let"=\activedoublequote +\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde +\chardef\hatchar=`\^ +\catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat + +\catcode`\_=\active +\def_{\ifusingtt\normalunderscore\_} +\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } +\let\realunder=_ + +\catcode`\|=\active \def|{{\tt\char124}} + +\chardef \less=`\< +\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless +\chardef \gtr=`\> +\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr +\catcode`\+=\active \def+{{\tt \char 43}} +\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix +\catcode`\-=\active \let-=\normaldash + + +% used for headline/footline in the output routine, in case the page +% breaks in the middle of an @tex block. +\def\texinfochars{% + \let< = \activeless + \let> = \activegtr + \let~ = \activetilde + \let^ = \activehat + \setregularquotes + \let\b = \strong + \let\i = \smartitalic + % in principle, all other definitions in \tex have to be undone too. +} + +% Used sometimes to turn off (effectively) the active characters even after +% parsing them. +\def\turnoffactive{% + \normalturnoffactive + \otherbackslash +} + +\catcode`\@=0 + +% \backslashcurfont outputs one backslash character in current font, +% as in \char`\\. +\global\chardef\backslashcurfont=`\\ + +% \realbackslash is an actual character `\' with catcode other. +{\catcode`\\=\other @gdef@realbackslash{\}} + +% In Texinfo, backslash is an active character; it prints the backslash +% in fixed width font. +\catcode`\\=\active % @ for escape char from now on. + +% Print a typewriter backslash. For math mode, we can't simply use +% \backslashcurfont: the story here is that in math mode, the \char +% of \backslashcurfont ends up printing the roman \ from the math symbol +% font (because \char in math mode uses the \mathcode, and plain.tex +% sets \mathcode`\\="026E). Hence we use an explicit \mathchar, +% which is the decimal equivalent of "715c (class 7, e.g., use \fam; +% ignored family value; char position "5C). We can't use " for the +% usual hex value because it has already been made active. + +@def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} +@let@backslashchar = @ttbackslash % @backslashchar{} is for user documents. + +% \otherbackslash defines an active \ to be a literal `\' character with +% catcode other. +@gdef@otherbackslash{@let\=@realbackslash} + +% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of +% the literal character `\'. +% +{@catcode`- = @active + @gdef@normalturnoffactive{% + @passthroughcharstrue + @let-=@normaldash + @let"=@normaldoublequote + @let$=@normaldollar %$ font-lock fix + @let+=@normalplus + @let<=@normalless + @let>=@normalgreater + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let~=@normaltilde + @let\=@ttbackslash + @setregularquotes + @unsepspaces + } +} + +% If a .fmt file is being used, characters that might appear in a file +% name cannot be active until we have parsed the command line. +% So turn them off again, and have @fixbackslash turn them back on. +@catcode`+=@other @catcode`@_=@other + +% \enablebackslashhack - allow file to begin `\input texinfo' +% +% If a .fmt file is being used, we don't want the `\input texinfo' to show up. +% That is what \eatinput is for; after that, the `\' should revert to printing +% a backslash. +% If the file did not have a `\input texinfo', then it is turned off after +% the first line; otherwise the first `\' in the file would cause an error. +% This is used on the very last line of this file, texinfo.tex. +% We also use @c to call @fixbackslash, in case ends of lines are hidden. +{ +@catcode`@^=7 +@catcode`@^^M=13@gdef@enablebackslashhack{% + @global@let\ = @eatinput% + @catcode`@^^M=13% + @def@c{@fixbackslash@c}% + % Definition for the newline at the end of this file. + @def ^^M{@let^^M@secondlinenl}% + % Definition for a newline in the main Texinfo file. + @gdef @secondlinenl{@fixbackslash}% + % In case the first line has a whole-line command on it + @let@originalparsearg@parsearg + @def@parsearg{@fixbackslash@originalparsearg} +}} + +{@catcode`@^=7 @catcode`@^^M=13% +@gdef@eatinput input texinfo#1^^M{@fixbackslash}} + +% Emergency active definition of newline, in case an active newline token +% appears by mistake. +{@catcode`@^=7 @catcode13=13% +@gdef@enableemergencynewline{% + @gdef^^M{% + @par% + %<warning: active newline>@par% +}}} + + +@gdef@fixbackslash{% + @ifx\@eatinput @let\ = @ttbackslash @fi + @catcode13=5 % regular end of line + @enableemergencynewline + @let@c=@comment + @let@parsearg@originalparsearg + % Also turn back on active characters that might appear in the input + % file name, in case not using a pre-dumped format. + @catcode`+=@active + @catcode`@_=@active + % + % If texinfo.cnf is present on the system, read it. + % Useful for site-wide @afourpaper, etc. This macro, @fixbackslash, gets + % called at the beginning of every Texinfo file. Not opening texinfo.cnf + % directly in this file, texinfo.tex, makes it possible to make a format + % file for Texinfo. + % + @openin 1 texinfo.cnf + @ifeof 1 @else @input texinfo.cnf @fi + @closein 1 +} + + +% Say @foo, not \foo, in error messages. +@escapechar = `@@ + +% These (along with & and #) are made active for url-breaking, so need +% active definitions as the normal characters. +@def@normaldot{.} +@def@normalquest{?} +@def@normalslash{/} + +% These look ok in all fonts, so just make them not special. +% @hashchar{} gets its own user-level command, because of #line. +@catcode`@& = @other @def@normalamp{&} +@catcode`@# = @other @def@normalhash{#} +@catcode`@% = @other @def@normalpercent{%} + +@let @hashchar = @normalhash + +@c Finally, make ` and ' active, so that txicodequoteundirected and +@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we +@c don't make ` and ' active, @code will not get them as active chars. +@c Do this last of all since we use ` in the previous @catcode assignments. +@catcode`@'=@active +@catcode`@`=@active +@setregularquotes + +@c Local variables: +@c eval: (add-hook 'before-save-hook 'time-stamp nil t) +@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}" +@c page-delimiter: "^\\\\message\\|emacs-page" +@c End: + +@c vim:sw=2: + +@enablebackslashhack + diff --git a/BUILD/libtool-2.4.7/build-aux/update-copyright b/BUILD/libtool-2.4.7/build-aux/update-copyright new file mode 100755 index 0000000..81b691e --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/update-copyright @@ -0,0 +1,302 @@ +#!/bin/sh +#! -*-perl-*- + +# Update an FSF copyright year list to include the current year. + +# Copyright (C) 2009-2022 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +# Written by Jim Meyering and Joel E. Denny + +# This script updates an FSF copyright year list to include the current year. +# Usage: update-copyright [FILE...] +# +# The arguments to this script should be names of files that contain +# copyright statements to be updated. The copyright holder's name +# defaults to "Free Software Foundation, Inc." but may be changed to +# any other name by using the "UPDATE_COPYRIGHT_HOLDER" environment +# variable. +# +# For example, you might wish to use the update-copyright target rule +# in maint.mk from gnulib's maintainer-makefile module. +# +# Iff a copyright statement is recognized in a file and the final +# year is not the current year, then the statement is updated for the +# new year and it is reformatted to: +# +# 1. Fit within 72 columns. +# 2. Convert 2-digit years to 4-digit years by prepending "19". +# 3. Expand copyright year intervals. (See "Environment variables" +# below.) +# +# A warning is printed for every file for which no copyright +# statement is recognized. +# +# Each file's copyright statement must be formatted correctly in +# order to be recognized. For example, each of these is fine: +# +# Copyright @copyright{} 1990-2005, 2007-2009 Free Software +# Foundation, Inc. +# +# # Copyright (C) 1990-2005, 2007-2009 Free Software +# # Foundation, Inc. +# +# /* +# * Copyright © 90,2005,2007-2009 +# * Free Software Foundation, Inc. +# */ +# +# However, the following format is not recognized because the line +# prefix changes after the first line: +# +# ## Copyright (C) 1990-2005, 2007-2009 Free Software +# # Foundation, Inc. +# +# However, any correctly formatted copyright statement following +# a non-matching copyright statements would be recognized. +# +# The exact conditions that a file's copyright statement must meet +# to be recognized are: +# +# 1. It is the first copyright statement that meets all of the +# following conditions. Subsequent copyright statements are +# ignored. +# 2. Its format is "Copyright (C)", then a list of copyright years, +# and then the name of the copyright holder. +# 3. The "(C)" takes one of the following forms or is omitted +# entirely: +# +# A. (C) +# B. (c) +# C. @copyright{} +# D. © +# E. © +# +# 4. The "Copyright" appears at the beginning of a line, except that it +# may be prefixed by any sequence (e.g., a comment) of no more than +# 5 characters -- including white space. +# 5. Iff such a prefix is present, the same prefix appears at the +# beginning of each remaining line within the FSF copyright +# statement. There is one exception in order to support C-style +# comments: if the first line's prefix contains nothing but +# whitespace surrounding a "/*", then the prefix for all subsequent +# lines is the same as the first line's prefix except with each of +# "/" and possibly "*" replaced by a " ". The replacement of "*" +# by " " is consistent throughout all subsequent lines. +# 6. Blank lines, even if preceded by the prefix, do not appear +# within the FSF copyright statement. +# 7. Each copyright year is 2 or 4 digits, and years are separated by +# commas, "-", or "--". Whitespace may appear after commas. +# +# Environment variables: +# +# 1. If UPDATE_COPYRIGHT_FORCE=1, a recognized FSF copyright statement +# is reformatted even if it does not need updating for the new +# year. If unset or set to 0, only updated FSF copyright +# statements are reformatted. +# 2. If UPDATE_COPYRIGHT_USE_INTERVALS=1, every series of consecutive +# copyright years (such as 90, 1991, 1992-2007, 2008) in a +# reformatted FSF copyright statement is collapsed to a single +# interval (such as 1990-2008). If unset or set to 0, all existing +# copyright year intervals in a reformatted FSF copyright statement +# are expanded instead. +# If UPDATE_COPYRIGHT_USE_INTERVALS=2, convert a sequence with gaps +# to the minimal containing range. For example, convert +# 2000, 2004-2007, 2009 to 2000-2009. +# 3. For testing purposes, you can set the assumed current year in +# UPDATE_COPYRIGHT_YEAR. +# 4. The default maximum line length for a copyright line is 72. +# Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH to use a different length. +# 5. Set UPDATE_COPYRIGHT_HOLDER if the copyright holder is other +# than "Free Software Foundation, Inc.". + +# This is a prologue that allows to run a perl script as an executable +# on systems that are compliant to a POSIX version before POSIX:2017. +# On such systems, the usual invocation of an executable through execlp() +# or execvp() fails with ENOEXEC if it is a script that does not start +# with a #! line. The script interpreter mentioned in the #! line has +# to be /bin/sh, because on GuixSD systems that is the only program that +# has a fixed file name. The second line is essential for perl and is +# also useful for editing this file in Emacs. The next two lines below +# are valid code in both sh and perl. When executed by sh, they re-execute +# the script through the perl program found in $PATH. The '-x' option +# is essential as well; without it, perl would re-execute the script +# through /bin/sh. When executed by perl, the next two lines are a no-op. +eval 'exec perl -wSx -0777 -pi "$0" "$@"' + if 0; + +my $VERSION = '2020-04-04.15:07'; # UTC +# The definition above must lie within the first 8 lines in order +# for the Emacs time-stamp write hook (at end) to update it. +# If you change this file with Emacs, please let the write hook +# do its job. Otherwise, update this string manually. + +use strict; +use warnings; + +my $copyright_re = 'Copyright'; +my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©|©)'; +my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; +$holder ||= 'Free Software Foundation, Inc.'; +my $prefix_max = 5; +my $margin = $ENV{UPDATE_COPYRIGHT_MAX_LINE_LENGTH}; +!$margin || $margin !~ m/^\d+$/ + and $margin = 72; + +my $tab_width = 8; + +my $this_year = $ENV{UPDATE_COPYRIGHT_YEAR}; +if (!$this_year || $this_year !~ m/^\d{4}$/) + { + my ($sec, $min, $hour, $mday, $month, $year) = localtime (time ()); + $this_year = $year + 1900; + } + +# Unless the file consistently uses "\r\n" as the EOL, use "\n" instead. +my $eol = /(?:^|[^\r])\n/ ? "\n" : "\r\n"; + +my $leading; +my $prefix; +my $ws_re; +my $stmt_re; +while (/(^|\n)(.{0,$prefix_max})$copyright_re/g) + { + $leading = "$1$2"; + $prefix = $2; + if ($prefix =~ /^(\s*\/)\*(\s*)$/) + { + $prefix =~ s,/, ,; + my $prefix_ws = $prefix; + $prefix_ws =~ s/\*/ /; # Only whitespace. + if (/\G(?:[^*\n]|\*[^\/\n])*\*?\n$prefix_ws/) + { + $prefix = $prefix_ws; + } + } + $ws_re = '[ \t\r\f]'; # \s without \n + $ws_re = + "(?:$ws_re*(?:$ws_re|\\n" . quotemeta($prefix) . ")$ws_re*)"; + my $holder_re = $holder; + $holder_re =~ s/\s/$ws_re/g; + my $stmt_remainder_re = + "(?:$ws_re$circle_c_re)?" + . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|--?))*" + . "((?:\\d\\d)?\\d\\d)$ws_re$holder_re"; + if (/\G$stmt_remainder_re/) + { + $stmt_re = + quotemeta($leading) . "($copyright_re$stmt_remainder_re)"; + last; + } + } +if (defined $stmt_re) + { + /$stmt_re/ or die; # Should never die. + my $stmt = $1; + my $final_year_orig = $2; + + # Handle two-digit year numbers like "98" and "99". + my $final_year = $final_year_orig; + $final_year <= 99 + and $final_year += 1900; + + if ($final_year != $this_year) + { + # Update the year. + $stmt =~ s/\b$final_year_orig\b/$final_year, $this_year/; + } + if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'}) + { + # Normalize all whitespace including newline-prefix sequences. + $stmt =~ s/$ws_re/ /g; + + # Put spaces after commas. + $stmt =~ s/, ?/, /g; + + # Convert 2-digit to 4-digit years. + $stmt =~ s/(\b\d\d\b)/19$1/g; + + # Make the use of intervals consistent. + if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS}) + { + $stmt =~ s/(\d{4})--?(\d{4})/join(', ', $1..$2)/eg; + } + else + { + my $ndash = $ARGV =~ /\.tex(i(nfo)?)?$/ ? "--" : "-"; + + $stmt =~ + s/ + (\d{4}) + (?: + (,\ |--?) + ((??{ + if ($2 ne ', ') { '\d{4}'; } + elsif (!$3) { $1 + 1; } + else { $3 + 1; } + })) + )+ + /$1$ndash$3/gx; + + # When it's 2, emit a single range encompassing all year numbers. + $ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2 + and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1$ndash$2/; + } + + # Format within margin. + my $stmt_wrapped; + my $text_margin = $margin - length($prefix); + if ($prefix =~ /^(\t+)/) + { + $text_margin -= length($1) * ($tab_width - 1); + } + while (length $stmt) + { + if (($stmt =~ s/^(.{1,$text_margin})(?: |$)//) + || ($stmt =~ s/^([\S]+)(?: |$)//)) + { + my $line = $1; + $stmt_wrapped .= $stmt_wrapped ? "$eol$prefix" : $leading; + $stmt_wrapped .= $line; + } + else + { + # Should be unreachable, but we don't want an infinite + # loop if it can be reached. + die; + } + } + + # Replace the old copyright statement. + s/$stmt_re/$stmt_wrapped/; + } + } +else + { + print STDERR "$ARGV: warning: copyright statement not found\n"; + } + +# Hey Emacs! +# Local variables: +# coding: utf-8 +# mode: perl +# indent-tabs-mode: nil +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-line-limit: 200 +# time-stamp-start: "my $VERSION = '" +# time-stamp-format: "%:y-%02m-%02d.%02H:%02M" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "'; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/build-aux/useless-if-before-free b/BUILD/libtool-2.4.7/build-aux/useless-if-before-free new file mode 100755 index 0000000..1a027a5 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/useless-if-before-free @@ -0,0 +1,240 @@ +#!/bin/sh +#! -*-perl-*- + +# Detect instances of "if (p) free (p);". +# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces. + +# Copyright (C) 2008-2022 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +# Written by Jim Meyering + +# This is a prologue that allows to run a perl script as an executable +# on systems that are compliant to a POSIX version before POSIX:2017. +# On such systems, the usual invocation of an executable through execlp() +# or execvp() fails with ENOEXEC if it is a script that does not start +# with a #! line. The script interpreter mentioned in the #! line has +# to be /bin/sh, because on GuixSD systems that is the only program that +# has a fixed file name. The second line is essential for perl and is +# also useful for editing this file in Emacs. The next two lines below +# are valid code in both sh and perl. When executed by sh, they re-execute +# the script through the perl program found in $PATH. The '-x' option +# is essential as well; without it, perl would re-execute the script +# through /bin/sh. When executed by perl, the next two lines are a no-op. +eval 'exec perl -wSx "$0" "$@"' + if 0; + +my $VERSION = '2022-01-27 18:51'; # UTC +# The definition above must lie within the first 8 lines in order +# for the Emacs time-stamp write hook (at end) to update it. +# If you change this file with Emacs, please let the write hook +# do its job. Otherwise, update this string manually. + +my $copyright_year = '2022'; + +use strict; +use warnings; +use Getopt::Long; + +(my $ME = $0) =~ s|.*/||; + +# use File::Coda; # https://meyering.net/code/Coda/ +END { + defined fileno STDOUT or return; + close STDOUT and return; + warn "$ME: failed to close standard output: $!\n"; + $? ||= 1; +} + +sub usage ($) +{ + my ($exit_code) = @_; + my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); + if ($exit_code != 0) + { + print $STREAM "Try '$ME --help' for more information.\n"; + } + else + { + print $STREAM <<EOF; +Usage: $ME [OPTIONS] FILE... + +Detect any instance in FILE of a useless "if" test before a free call, e.g., +"if (p) free (p);". Any such test may be safely removed without affecting +the semantics of the C code in FILE. Use --name=FOO --name=BAR to also +detect free-like functions named FOO and BAR. + +OPTIONS: + + --list print only the name of each matching FILE (\\0-terminated) + --name=N add name N to the list of \'free\'-like functions to detect; + may be repeated + + --help display this help and exit + --version output version information and exit + +Exit status: + + 0 one or more matches + 1 no match + 2 an error + +EXAMPLE: + +For example, this command prints all removable "if" tests before "free" +and "kfree" calls in the linux kernel sources: + + git ls-files -z |xargs -0 $ME --name=kfree + +EOF + } + exit $exit_code; +} + +sub is_NULL ($) +{ + my ($expr) = @_; + return ($expr eq 'NULL' || $expr eq '0'); +} + +{ + sub EXIT_MATCH {0} + sub EXIT_NO_MATCH {1} + sub EXIT_ERROR {2} + my $err = EXIT_NO_MATCH; + + my $list; + my @name = qw(free); + GetOptions + ( + help => sub { usage 0 }, + version => + sub + { + print "$ME version $VERSION\n"; + print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n"; + print "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\n" + . "This is free software: you are free to change and redistribute it.\n" + . "There is NO WARRANTY, to the extent permitted by law.\n"; + print "\n"; + my $author = "Jim Meyering"; + print "Written by $author.\n"; + exit + }, + list => \$list, + 'name=s@' => \@name, + ) or usage 1; + + # Make sure we have the right number of non-option arguments. + # Always tell the user why we fail. + @ARGV < 1 + and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR; + + my $or = join '|', @name; + my $regexp = qr/(?:$or)/; + + # Set the input record separator. + # Note: this makes it impractical to print line numbers. + $/ = '"'; + + my $found_match = 0; + FILE: + foreach my $file (@ARGV) + { + open FH, '<', $file + or (warn "$ME: can't open '$file' for reading: $!\n"), + $err = EXIT_ERROR, next; + while (defined (my $line = <FH>)) + { + # Skip non-matching lines early to save time + $line =~ /\bif\b/ + or next; + while ($line =~ + /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\) + # 1 2 3 + (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;| + \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg) + { + my $all = $1; + my ($lhs, $rhs) = ($2, $3); + my ($free_opnd, $braced_free_opnd) = ($4, $5); + my $non_NULL; + if (!defined $rhs) { $non_NULL = $lhs } + elsif (is_NULL $rhs) { $non_NULL = $lhs } + elsif (is_NULL $lhs) { $non_NULL = $rhs } + else { next } + + # Compare the non-NULL part of the "if" expression and the + # free'd expression, without regard to white space. + $non_NULL =~ tr/ \t//d; + my $e2 = defined $free_opnd ? $free_opnd : $braced_free_opnd; + $e2 =~ tr/ \t//d; + if ($non_NULL eq $e2) + { + $found_match = 1; + $list + and (print "$file\0"), next FILE; + print "$file: $all\n"; + } + } + } + } + continue + { + close FH; + } + + $found_match && $err == EXIT_NO_MATCH + and $err = EXIT_MATCH; + + exit $err; +} + +my $foo = <<'EOF'; +# The above is to *find* them. +# This adjusts them, removing the unnecessary "if (p)" part. + +# FIXME: do something like this as an option (doesn't do braces): +free=xfree +git grep -l -z "$free *(" \ + | xargs -0 useless-if-before-free -l --name="$free" \ + | xargs -0 perl -0x3b -pi -e \ + 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\)\s*;)/$2/s' + +# Use the following to remove redundant uses of kfree inside braces. +# Note that -0777 puts perl in slurp-whole-file mode; +# but we have plenty of memory, these days... +free=kfree +git grep -l -z "$free *(" \ + | xargs -0 useless-if-before-free -l --name="$free" \ + | xargs -0 perl -0777 -pi -e \ + 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s*\{\s*('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\);)\s*\}[^\n]*$/$2/gms' + +Be careful that the result of the above transformation is valid. +If the matched string is followed by "else", then obviously, it won't be. + +When modifying files, refuse to process anything other than a regular file. +EOF + +## Local Variables: +## mode: perl +## indent-tabs-mode: nil +## eval: (add-hook 'before-save-hook 'time-stamp) +## time-stamp-line-limit: 50 +## time-stamp-start: "my $VERSION = '" +## time-stamp-format: "%:y-%02m-%02d %02H:%02M" +## time-stamp-time-zone: "UTC0" +## time-stamp-end: "'; # UTC" +## End: diff --git a/BUILD/libtool-2.4.7/build-aux/vc-list-files b/BUILD/libtool-2.4.7/build-aux/vc-list-files new file mode 100755 index 0000000..77750b9 --- /dev/null +++ b/BUILD/libtool-2.4.7/build-aux/vc-list-files @@ -0,0 +1,113 @@ +#!/bin/sh +# List version-controlled file names. + +# Print a version string. +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 2006-2022 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + + +# List the specified version-controlled files. +# With no argument, list them all. With a single DIRECTORY argument, +# list the version-controlled files in that directory. + +# If there's an argument, it must be a single, "."-relative directory name. +# cvsu is part of the cvsutils package: https://www.red-bean.com/cvsutils/ + +postprocess= +case $1 in + --help) cat <<EOF +Usage: $0 [-C SRCDIR] [DIR...] + +Output a list of version-controlled files in DIR (default .), relative to +SRCDIR (default .). SRCDIR must be the top directory of a checkout. + +Options: + --help print this help, then exit + --version print version number, then exit + -C SRCDIR change directory to SRCDIR before generating list + +Report bugs and patches to <bug-gnulib@gnu.org>. +EOF + exit ;; + + --version) + year=`echo "$scriptversion" | sed 's/[^0-9].*//'` + cat <<EOF +vc-list-files $scriptversion +Copyright (C) $year Free Software Foundation, Inc, +License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit ;; + + -C) + test "$2" = . || postprocess="| sed 's|^|$2/|'" + cd "$2" || exit 1 + shift; shift ;; +esac + +test $# = 0 && set . + +for dir +do + if test -d .git || test -f .git; then + test "x$dir" = x. \ + && dir= sed_esc= \ + || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } + # Ignore git symlinks - either they point into the tree, in which case + # we don't need to visit the target twice, or they point somewhere + # else (often into a submodule), in which case the content does not + # belong to this package. + eval exec git ls-tree -r 'HEAD:"$dir"' \ + \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess + elif test -d .hg; then + eval exec hg locate '"$dir/*"' $postprocess + elif test -d .bzr; then + test "$postprocess" = '' && postprocess="| sed 's|^\./||'" + eval exec bzr ls -R --versioned '"$dir"' $postprocess + elif test -d CVS; then + test "$postprocess" = '' && postprocess="| sed 's|^\./||'" + if test -x build-aux/cvsu; then + eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess + elif (cvsu --help) >/dev/null 2>&1; then + eval cvsu --find --types=AFGM '"$dir"' $postprocess + else + eval awk -F/ \''{ \ + if (!$1 && $3 !~ /^-/) { \ + f=FILENAME; \ + if (f ~ /CVS\/Entries$/) \ + f = substr(f, 1, length(f)-11); \ + print f $2; \ + }}'\'' \ + `find "$dir" -name Entries -print` /dev/null' $postprocess + fi + elif test -d .svn; then + eval exec svn list -R '"$dir"' $postprocess + else + echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 + exit 1 + fi +done + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/BUILD/libtool-2.4.7/cfg.mk b/BUILD/libtool-2.4.7/cfg.mk new file mode 100644 index 0000000..a4153e6 --- /dev/null +++ b/BUILD/libtool-2.4.7/cfg.mk @@ -0,0 +1,274 @@ +# cfg.mk -- Configuration for maintainer-makefile +# +# Copyright (c) 2011-2019, 2021-2022 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2011 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downlodad from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Boston, # MA 02111-1301, USA. + +update-copyright-env := UPDATE_COPYRIGHT_FORCE=1 UPDATE_COPYRIGHT_USE_INTERVALS=1 + +# Set format of NEWS +old_NEWS_hash := 694e28388e83b832b0d7614e305b107e + +manual_title = Portable Dynamic Shared Object Management + +# Set the release announcement email addresses, maint.mk will email the +# translation-project instead of autotools-announce otherwise. +ifeq ($(RELEASE_TYPE),stable) +announcement_Cc_ = autotools-announce@gnu.org +else +announcement_Cc_ = autotools-announce@gnu.org, $(PACKAGE_BUGREPORT) +endif + +# Don't syntax check the mail subdirectory. +VC_LIST_ALWAYS_EXCLUDE_REGEX = ^mail/ + +local-checks-to-fix = \ + sc_require_config_h \ + sc_require_config_h_first + +local-checks-to-skip = \ + $(local-checks-to-fix) \ + sc_GPL_version \ + sc_cast_of_x_alloc_return_value \ + sc_prohibit_always-defined_macros \ + sc_prohibit_always_true_header_tests \ + sc_prohibit_strncpy \ + sc_trailing_blank \ + sc_unmarked_diagnostics + +# GPL_version: checks for GPLv3, which we don't use +# cast_of_x_alloc_return_value: +# We support C++ compilation, which does require casting here. +# prohibit_always-defined_macros: +# we have our own argz and dirent, which use the same macros but +# are not always-defined in our case. +# prohibit_always_true_header_tests: +# we have our own argz and dirent, which are not *always* true, +# so the guards cannot be removed in our case. +# prohibit_strncpy: +# what's so bad about strncpy anyway? +# trailing_blank: flags valid rfc3676 separators +# unmarked_diagnostics: libtool isn't internationalized + + +# Check for correct usage of $cc_basename in libtool.m4. +sc_libtool_m4_cc_basename: + @$(SED) -n "/case \\\$$cc_basename in/,/esac/ { \ + /^[ ]*[a-zA-Z][a-zA-Z0-9+]*[^*][ ]*)/p; \ + }" '$(srcdir)/$(macro_dir)/libtool.m4' | grep . && { \ + msg="\$$cc_basename matches should include a trailing '*'." \ + $(_sc_say_and_exit) } || : + +# Check for old-style `quoting'. +exclude_file_name_regexp--sc_old_style_quoting = (^bootstrap|^cfg.mk|\.texi)$$ +sc_old_style_quoting: + @prohibit="^[^\`]*[^=]\`[^'\`]*[a-zA-Z0-9][^'\`]*'[^\`]*[^\\\`]$$" \ + halt="quote 'like this' not \`like this' in comments and output" \ + $(_sc_search_regexp) + +# Check for uses of Xsed without corresponding echo "X +exclude_file_name_regexp--sc_prohibit_Xsed_without_X = ^cfg.mk$$ +sc_prohibit_Xsed_without_X: + @files=$$($(VC_LIST_EXCEPT)); \ + if test -n "$$files"; then \ + grep -nE '\$$Xsed' $$files | grep -vE '(func_echo_all|\$$ECHO) \\*"X' && { \ + msg="occurrences of '\$$Xsed' without '\$$ECHO "\""X' on the same line" \ + $(_sc_say_and_exit) } || :; \ + else :; \ + fi || : + +# Use a consistent dirname and basename idiom. +sc_prohibit_bare_basename: + @prohibit='\|[ ]*\$$(base|dir)name' \ + halt='use '\''|$$SED "$$basename"'\'' instead of '\''|$$basename'\' \ + $(_sc_search_regexp) + +sc_prohibit_basename_with_dollar_sed: + @prohibit='(base|dir)name="?(\$$SED|sed)[ "]' \ + halt='use '\''basename='\''s|^.*/||'\'' instead of '\''basename="$$SED...' \ + $(_sc_search_regexp) + +# Check for using '[' instead of 'test'. +exclude_file_name_regexp--sc_prohibit_bracket_as_test = ^cfg.mk$$ +sc_prohibit_bracket_as_test: + @prohibit='if[ ]+\[' \ + halt="use 'if test' instead of 'if ['" \ + $(_sc_search_regexp) + +# : ${foo=`bar`} is not perfectly portable (see Shellology in autoconf's manual) +exclude_file_name_regexp--sc_prohibit_command_in_subst = ^cfg.mk$$ +sc_prohibit_command_in_subst: + @prohibit='\$$\{[^`}]*`[^`]*`[^}]*}' \ + halt='do not use `command` in $${ } substitution`' \ + $(_sc_search_regexp) + +# Check for quotes within backquotes within quotes "`"bar"`" +exclude_file_name_regexp--sc_prohibit_nested_quotes = ^cfg.mk$$ +sc_prohibit_nested_quotes: + @prohibit='"[^`"]*`[^"`]*"[^"`]*".*`[^`"]*"' \ + halt='found nested double quotes' \ + $(_sc_search_regexp_or_exclude) + +# Commas in filenames are quite common, so using them routinely for sed is +# asking for trouble! +sc_prohibit_sed_s_comma: + @explicit='($$SED|sed)[ ]+(-e[ ]+)?['\''"]?s,' \ + implicit='['\''";][ ]*s,[^,]*,[^,]*,g?['\''";]' \ + literal='^[ ]*s,[^,]*,[^,]*,g?['\''";]?$$' \ + prohibit='('$$implicit'|'$$explicit'|'$$literal')' \ + halt='found use of comma separator in sed substitution' \ + $(_sc_search_regexp) + +# Check for using shift after set dummy (same or following line). +exclude_file_name_regexp--sc_prohibit_set_dummy_without_shift = ^cfg.mk$$ +sc_prohibit_set_dummy_without_shift: + @files=$$($(VC_LIST_EXCEPT)); \ + if test -n "$$files"; then \ + grep -nE '(set dummy|shift)' $$files | \ + $(SED) -n "/set[ ][ ]*dummy/{ \ + /set.*dummy.*;.*shift/d; \ + N; \ + /\n.*shift/D; \ + p; \ + }" | grep -n . && { \ + msg="use 'shift' after 'set dummy'" \ + $(_sc_say_and_exit) } || :; \ + else :; \ + fi || : + +# Check for using set -- instead of set dummy +exclude_file_name_regexp--sc_prohibit_set_minus_minus = ^cfg.mk$$ +sc_prohibit_set_minus_minus: + @prohibit='set[ ]+--[ ]+' \ + halt="use 'set dummy ...' instead of 'set -- ...'" \ + $(_sc_search_regexp) + +# Make sure there is no spurious whitespace before trailing semi-colons +sc_prohibit_space_semicolon: + @prohibit='[^ ][ ]+;[ ]*((do|done|elif|else|then)[ ]*)?$$' \ + halt='found spurious whitespace before trailing semi-colon' \ + $(_sc_search_regexp) + +# Check for using test X"... instead of test "X... +exclude_file_name_regexp--sc_prohibit_test_X = ^cfg.mk$$ +sc_prohibit_test_X: + @prohibit='test[ ]+(![ ])?(-.[ ]+)?[Xx]["'\'']' \ + halt='use '\''test "X..."'\'' instead of '\''test X"'\' \ + $(_sc_search_regexp) + +# Check for bad binary operators. +sc_prohibit_test_binary_operators: + @prohibit='if[ ]+["'\'']?\$$[^ ]+[ ]+(=|-[lg][te]|-eq|-ne)' \ + halt="Use 'if test \$$something =' instead of 'if \$$something ='" \ + $(_sc_search_regexp) + +# Check for using test $... instead of test "$... +exclude_file_name_regexp--sc_prohibit_test_dollar = ^cfg.mk$$ +sc_prohibit_test_dollar: + @prohibit='test[ ]+(![ ])?(-.[ ]+)?X?\$$[^?#]' \ + exclude='test \$${[A-Za-z_][A-Za-z0-9_]+\+y}' \ + halt='use '\''test "$$..."'\'' instead of '\''test $$'\' \ + $(_sc_search_regexp) + +# Never use test -e. +exclude_file_name_regexp--sc_prohibit_test_minus_e = ^cfg.mk$$ +sc_prohibit_test_minus_e: + @prohibit='test[ ]+(![ ])?-e' \ + halt="use 'test -f' instead of 'test -e'" \ + $(_sc_search_regexp) + +# Check for bad unary operators. +sc_prohibit_test_unary_operators: + @prohibit='if[ ]+-[a-z]' \ + halt="use 'if test -X' instead of 'if -X'" \ + $(_sc_search_regexp) + +# Don't add noisy characters on the front of the left operand of a test +# to prevent arguments being passed inadvertently (e.g. LHS is '-z'), +# when the other operand is a constant -- just swap them, and remove the +# spurious leading 'x'. +sc_prohibit_test_const_follows_var: + @var='[ ]+"[^$$"]*\$$[0-9A-Za-z_][^"]*"' \ + op='[ ]+(!?=|-[lgn][et]|-eq)' \ + const='[ ]+[^-$$][^$$; ]*' \ + prohibit='test'$$var$$op$$const'[ ]*(&&|\|\||;|\\?$$)' \ + halt='use '\''test a = "$$b"'\'' instead of '\''test "x$$b" = xa'\' \ + $(_sc_search_regexp) + +# Check for opening brace on next line in shell function definition. +exclude_file_name_regexp--sc_require_function_nl_brace = (^HACKING|\.[ch]|\.texi)$$ +sc_require_function_nl_brace: + @for file in $$($(VC_LIST_EXCEPT)); do \ + $(SED) -n "/^func_[^ ]*[ ]*(/{ \ + N; \ + /^func_[^ ]* ()\n{$$/d; \ + p; \ + }" $$file | grep -E . && { \ + msg="found malformed function_definition in $$file" \ + $(_sc_say_and_exit) } || :; \ + done + +sc_trailing_blank-non-rfc3676: + @prohibit='([^-][^-][ ][ ]*|^[ ][ ]*)$$' \ + halt='found trailing blank(s)' \ + $(_sc_search_regexp) + +# Avoid useless quotes around assignments with no shell metacharacters. +# Backtick and dollar expansions are not resplit on the RHS of an +# assignment, so those metachars are not listed in the prohibit regex, +# although @ is listed, since it most likely indicates that something +# will be spliced in before the shell executes, and it may need to be +# quoted if it contains any metacharacters after splicing. +define _sc_search_regexp_or_exclude + files=$$($(VC_LIST_EXCEPT)); \ + if test -n "$$files"; then \ + grep -nE "$$prohibit" $$files | grep -v '## exclude from $@' \ + && { msg="$$halt" $(_sc_say_and_exit) } || :; \ + else :; \ + fi || :; +endef + +exclude_file_name_regexp--sc_useless_braces_in_variable_derefs = \ + test-funclib-quote.sh$$ +sc_useless_braces_in_variable_derefs: + @prohibit='\$${[0-9A-Za-z_]+}[^0-9A-Za-z_]' \ + halt='found spurious braces around variable dereference' \ + $(_sc_search_regexp) + +sc_useless_quotes_in_assignment: + @prohibit='^[ ]*[A-Za-z_][A-Za-z0-9_]*="[^ !#&()*;<>?@~^{|}]*"$$' \ + halt='found spurious quotes around assignment value' \ + $(_sc_search_regexp_or_exclude) + +# Avoid useless quotes around case arguments such as: +# case "$foo" in ... +exclude_file_name_regexp--sc_useless_quotes_in_case = ^cfg.mk$$ +sc_useless_quotes_in_case: + @prohibit='case "[^ "]*"[ ][ ]*in' \ + halt='found spurious quotes around case argument' \ + $(_sc_search_regexp) + +# List syntax-check exempted files. +exclude_file_name_regexp--sc_prohibit_strcmp = \ + ^doc/libtool.texi$$ +exclude_file_name_regexp--sc_prohibit_test_minus_ao = \ + ^m4/libtool.m4$$ +exclude_file_name_regexp--sc_space_tab = (\.diff|test-funclib-quote.sh)$$ +exclude_file_name_regexp--sc_trailing_blank-non-rfc3676 = \.diff$$ diff --git a/BUILD/libtool-2.4.7/config-h.in b/BUILD/libtool-2.4.7/config-h.in new file mode 100644 index 0000000..558dcae --- /dev/null +++ b/BUILD/libtool-2.4.7/config-h.in @@ -0,0 +1,637 @@ +/* config-h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `argz_add' function. */ +#undef HAVE_ARGZ_ADD + +/* Define to 1 if you have the `argz_append' function. */ +#undef HAVE_ARGZ_APPEND + +/* Define to 1 if you have the `argz_count' function. */ +#undef HAVE_ARGZ_COUNT + +/* Define to 1 if you have the `argz_create_sep' function. */ +#undef HAVE_ARGZ_CREATE_SEP + +/* Define to 1 if you have the <argz.h> header file. */ +#undef HAVE_ARGZ_H + +/* Define to 1 if you have the `argz_insert' function. */ +#undef HAVE_ARGZ_INSERT + +/* Define to 1 if you have the `argz_next' function. */ +#undef HAVE_ARGZ_NEXT + +/* Define to 1 if you have the `argz_stringify' function. */ +#undef HAVE_ARGZ_STRINGIFY + +/* Define to 1 if you have the `closedir' function. */ +#undef HAVE_CLOSEDIR + +/* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if + you don't. */ +#undef HAVE_DECL_CYGWIN_CONV_PATH + +/* Define to 1 if you have the <dirent.h> header file. */ +#undef HAVE_DIRENT_H + +/* Define if you have the GNU dld library. */ +#undef HAVE_DLD + +/* Define to 1 if you have the <dld.h> header file. */ +#undef HAVE_DLD_H + +/* Define to 1 if you have the `dlerror' function. */ +#undef HAVE_DLERROR + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the <dl.h> header file. */ +#undef HAVE_DL_H + +/* Define if you have the _dyld_func_lookup function. */ +#undef HAVE_DYLD + +/* Define to 1 if the system has the type `error_t'. */ +#undef HAVE_ERROR_T + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define if you have the libdl library or equivalent. */ +#undef HAVE_LIBDL + +/* Define if libdlloader will be built on this platform */ +#undef HAVE_LIBDLLOADER + +/* Define to 1 if you have the <mach-o/dyld.h> header file. */ +#undef HAVE_MACH_O_DYLD_H + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `opendir' function. */ +#undef HAVE_OPENDIR + +/* Define if libtool can extract symbol lists from object files. */ +#undef HAVE_PRELOADED_SYMBOLS + +/* Define to 1 if you have the `readdir' function. */ +#undef HAVE_READDIR + +/* Define if you have the shl_load function. */ +#undef HAVE_SHL_LOAD + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strlcat' function. */ +#undef HAVE_STRLCAT + +/* Define to 1 if you have the `strlcpy' function. */ +#undef HAVE_STRLCPY + +/* Define to 1 if you have the <sys/dl.h> header file. */ +#undef HAVE_SYS_DL_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* This value is set to 1 to indicate that the system argz facility works */ +#undef HAVE_WORKING_ARGZ + +/* Define if the OS needs help to load dependent libraries for dlopen(). */ +#undef LTDL_DLOPEN_DEPLIBS + +/* Define to the system default library search path. */ +#undef LT_DLSEARCH_PATH + +/* The archive extension */ +#undef LT_LIBEXT + +/* The archive prefix */ +#undef LT_LIBPREFIX + +/* Define to the extension used for runtime loadable modules, say, ".so". */ +#undef LT_MODULE_EXT + +/* Define to the name of the environment variable that determines the run-time + module search path. */ +#undef LT_MODULE_PATH_VAR + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* Define to the shared library suffix, say, ".dylib". */ +#undef LT_SHARED_EXT + +/* Define to the shared archive member specification, say "(shr.o)". */ +#undef LT_SHARED_LIB_MEMBER + +/* Define if dlsym() requires a leading underscore in symbol names. */ +#undef NEED_USCORE + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define _GL_GNUC_PREREQ(major, minor) \ + ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) +#else +# define _GL_GNUC_PREREQ(major, minor) 0 +#endif + + +/* The _Noreturn keyword of C11. */ +#ifndef _Noreturn +# if (defined __cplusplus \ + && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ + || (defined _MSC_VER && 1900 <= _MSC_VER)) \ + && 0) + /* [[noreturn]] is not practically usable, because with it the syntax + extern _Noreturn void func (...); + would not be valid; such a declaration would only be valid with 'extern' + and '_Noreturn' swapped, or without the 'extern' keyword. However, some + AIX system header files and several gnulib header files use precisely + this syntax with 'extern'. */ +# define _Noreturn [[noreturn]] +# elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || (!defined __STRICT_ANSI__ \ + && (_GL_GNUC_PREREQ (4, 7) \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) + /* _Noreturn works as-is. */ +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + + +/* Define so that glibc/gnulib argp.h does not typedef error_t. */ +#undef __error_t_defined + +/* The _GL_ASYNC_SAFE marker should be attached to functions that are + signal handlers (for signals other than SIGABRT, SIGPIPE) or can be + invoked from such signal handlers. Such functions have some restrictions: + * All functions that it calls should be marked _GL_ASYNC_SAFE as well, + or should be listed as async-signal-safe in POSIX + <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04> + section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in + particular, are NOT async-signal-safe. + * All memory locations (variables and struct fields) that these functions + access must be marked 'volatile'. This holds for both read and write + accesses. Otherwise the compiler might optimize away stores to and + reads from such locations that occur in the program, depending on its + data flow analysis. For example, when the program contains a loop + that is intended to inspect a variable set from within a signal handler + while (!signal_occurred) + ; + the compiler is allowed to transform this into an endless loop if the + variable 'signal_occurred' is not declared 'volatile'. + Additionally, recall that: + * A signal handler should not modify errno (except if it is a handler + for a fatal signal and ends by raising the same signal again, thus + provoking the termination of the process). If it invokes a function + that may clobber errno, it needs to save and restore the value of + errno. */ +#define _GL_ASYNC_SAFE + + +/* Attributes. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || 3 < __clang_major__ + (5 <= __clang_minor__))) +# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) +#else +# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr +# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) +# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) +# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_diagnose_if 0 +# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) +# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) +# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) +# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) +# ifdef _ICC +# define _GL_ATTR_may_alias 0 +# else +# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) +# endif +# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) +# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) +# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) +# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) +# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) +#endif + +#ifdef __has_c_attribute +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif + + +/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function + is the size of the returned memory block. + _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied + by the Nth argument of the function is the size of the returned memory block. + */ +/* Applies to: function, pointer to function, function types. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif + +/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the + function and report an error if it cannot do so. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#endif + +/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show + in stack traces when debugging. The compiler should omit the function from + stack traces. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#endif + +/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ +/* Applies to: functions. */ +/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at + <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>. + Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ +#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif +#else +# define _GL_ATTRIBUTE_COLD +#endif + +/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate + calls to the function with the same arguments. + This attribute is safe for a function that neither depends on nor affects + observable state, and always returns exactly once - e.g., does not loop + forever, and does not call longjmp. + (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST +#endif + +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. + _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#endif +/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue + to use this earlier definition, since <stdlib.h> may not have been included + yet. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. + The compiler may warn if the entity is used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: namespace, class, template specialization. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED +#endif + +/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and + the function call is not optimized away. + _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and + the function call is not optimized away. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +#elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +#else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +#endif + +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#endif + +/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if + the control flow falls through to the immediately following 'case' or + 'default' label. The compiler should not warn in this case. */ +/* Applies to: Empty statement (;), inside a 'switch' statement. */ +/* Always expands to something. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#endif + +/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) + declares that the STRING-INDEXth function argument is a format string of + style ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with '__'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#endif + +/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other + compilation unit, it executes code from that unit only by return or by + exception handling. This declaration lets the compiler optimize that unit + more aggressively. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC +#endif + +/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the + same storage as pointers to other types. Thus this declaration disables + strict aliasing optimization. */ +/* Applies to: types. */ +/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#endif + +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: class. */ +/* In C++ and C2x, this is spelled [[__maybe_unused__]]. + GCC's syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience. */ +#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED +/* Earlier spellings of this macro. */ +#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED + +/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not + discard the return value. The compiler may warn if the caller does not use + the return value, unless the caller uses something like ignore_value. */ +/* Applies to: function, enumeration, class. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#endif + +/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... + must not be NULL. + _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be + null. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#endif + +/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is + not meant to be NUL-terminated. */ +/* Applies to: struct/union members and variables that are arrays of element + type '[[un]signed] char'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW +#endif + +/* _GL_ATTRIBUTE_PACKED declares: + For struct members: The member has the smallest possible alignment. + For struct, union, class: All members have the smallest possible alignment, + minimizing the memory required. */ +/* Applies to: struct members, struct, union, + in C++ also: class. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +#else +# define _GL_ATTRIBUTE_PACKED +#endif + +/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate + calls to the function with the same arguments if observable state is not + changed between calls. + This attribute is safe for a function that does not affect + observable state, and always returns exactly once. + (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE +#endif + +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#endif + +/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a + trailing NULL argument. + _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). + _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) +#endif + +/* A helper macro. Don't use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#endif + + +/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the + immediately preceding label is not used. The compiler should not warn + if the label is not used. */ +/* Applies to: label (both in C and C++). */ +/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' + syntax. But clang does. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif + + +/* Define to a type to use for 'error_t' if it is not otherwise available. */ +#undef error_t + +/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for Mac OS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif + +/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where + n1 and n2 are expressions without side effects, that evaluate to real + numbers (excluding NaN). + It returns + 1 if n1 > n2 + 0 if n1 == n2 + -1 if n1 < n2 + The naĂŻve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional + jump with nearly all GCC versions up to GCC 10. + This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many + GCC versions up to GCC 9. + The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 + avoids conditional jumps in all GCC versions >= 3.4. */ +#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) + diff --git a/BUILD/libtool-2.4.7/configure b/BUILD/libtool-2.4.7/configure new file mode 100755 index 0000000..b3a7337 --- /dev/null +++ b/BUILD/libtool-2.4.7/configure @@ -0,0 +1,33382 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for GNU Libtool 2.4.7. +# +# Report bugs to <bug-libtool@gnu.org>. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: bug-libtool@gnu.org about your system, including any +$0: error possibly output before this message. Then install +$0: a modern shell, or manually run the script under such a +$0: shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +lt_ltdl_dir='libltdl' + +SHELL=${CONFIG_SHELL-/bin/sh} + +lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/ + + +test -n "$DJDIR" || exec 7<&0 </dev/null +exec 6>&1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='GNU Libtool' +PACKAGE_TARNAME='libtool' +PACKAGE_VERSION='2.4.7' +PACKAGE_STRING='GNU Libtool 2.4.7' +PACKAGE_BUGREPORT='bug-libtool@gnu.org' +PACKAGE_URL='http://www.gnu.org/software/libtool/' + +ac_unique_file="libtoolize.in" +ac_config_libobj_dir=libltdl +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#ifdef STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# ifdef HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='GLtests_LIBOBJDEPS +GLtests_LTLIBOBJS +GLtests_LIBOBJS +GL_LIBOBJDEPS +GL_LTLIBOBJS +GL_LIBOBJS +CONFIG_INCLUDE +am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +HELP2MAN +GL_CFLAG_GNULIB_WARNINGS +abs_aux_dir +GLtests_WITNESS +GL_CXXFLAG_ALLOW_WARNINGS +GL_CFLAG_ALLOW_WARNINGS +GL_COND_LIBTOOL_FALSE +GL_COND_LIBTOOL_TRUE +with_aix_soname +to_tool_file_cmd +to_host_file_cmd +RC +GCJFLAGS +GCJ +GOC +ac_ct_FC +FCFLAGS +FC +ac_ct_F77 +FFLAGS +F77 +CXXCPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +ac_ct_CXX +CXXFLAGS +CXX +LTDLOPEN +LT_CONFIG_H +CONVENIENCE_LTDL_FALSE +CONVENIENCE_LTDL_TRUE +INSTALL_LTDL_FALSE +INSTALL_LTDL_TRUE +LT_ARGZ_H +LIBOBJS +sys_symbol_underscore +LIBADD_DL +LT_DLPREOPEN +LIBADD_DLD_LINK +LIBADD_SHL_LOAD +LIBADD_DLOPEN +LT_DLLOADERS +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +ac_ct_AR +FILECMD +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +SED +LIBTOOL +OBJDUMP +DLLTOOL +AS +RANLIB +ARFLAGS +AR +EGREP +GREP +CPP +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +pkgaux_scripts +pkgdatadir +aclocaldir +CONFIG_STATUS_DEPENDENCIES +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +M4_DEBUGFILE +M4_GNU +M4 +AUTOTEST +AUTOM4TE +package_revision +macro_dir +aux_dir +ltdl_dir +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_ltdl_install +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_cross_guesses +' + ac_precious_vars='build_alias +host_alias +target_alias +M4 +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +LT_SYS_LIBRARY_PATH +CXX +CXXFLAGS +CCC +CXXCPP +F77 +FFLAGS +FC +FCFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GNU Libtool 2.4.7 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/libtool] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GNU Libtool 2.4.7:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --disable-ltdl-install do not install libltdl + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-ltdl-install install libltdl + --enable-cross-guesses={conservative|risky} + specify policy for cross-compilation guesses + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot[=DIR] Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + +Some influential environment variables: + M4 Location of GNU M4 1.4.6 or later. Defaults to the first program + of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs. + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a + nonstandard directory <lib dir> + LIBS libraries to pass to the linker, e.g. -l<library> + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if + you have headers in a nonstandard directory <include dir> + CPP C preprocessor + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + FC Fortran compiler command + FCFLAGS Fortran compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to <bug-libtool@gnu.org>. +GNU Libtool home page: <http://www.gnu.org/software/libtool/>. +General help using GNU software: <http://www.gnu.org/gethelp/>. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GNU Libtool configure 2.4.7 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case <limits.h> declares $2. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + ac_save_ac_compile="$ac_compile" + if test -n "$ac_compile_for_check_decl"; then + ac_compile="$ac_compile_for_check_decl" + fi + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + ac_compile="$ac_save_ac_compile" + +} # ac_fn_c_check_decl + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_f77_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_f77_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_f77_try_compile + +# ac_fn_f77_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_f77_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_f77_try_link + +# ac_fn_fc_try_compile LINENO +# --------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_fc_try_compile + +# ac_fn_fc_try_link LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_fc_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_fc_try_link +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GNU Libtool $as_me 2.4.7, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + +# Remove this when a released Autoconf is capable of bootstrapping +# Libtool without it (probably after autoconf-2.70). + + +# Since we already declare these directories in this file, save those +# choices, and push the results into Makefile.am to avoid declaring +# them in two places making renames error prone, and where copies +# might get out of sync. + + + + +ac_config_headers="$ac_config_headers config.h:config-h.in" + + + + + + + + +ltdl_dir=libltdl + +ac_aux_dir= +for ac_dir in build-aux "$srcdir"/build-aux; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + +aux_dir=build-aux + +macro_dir=m4 + + + +package_revision=`$SHELL $ac_aux_dir/git-version-gen .tarball-version` + + +## ------------------------ ## +## Autotest initialisation. ## +## ------------------------ ## + +ac_config_commands="$ac_config_commands tests/atconfig" + +AUTOM4TE=${AUTOM4TE=autom4te} + +AUTOTEST='$(AUTOM4TE) --language=autotest' + + + +## ---------------------------------------- ## +## Display a configure time version banner. ## +## ---------------------------------------- ## + +# This is a sanity check so we can see what version is used in bug reports. +$as_echo "## ------------------------- ## +## Configuring libtool 2.4.7 ## +## ------------------------- ##" +echo + + +## ------------ ## +## Shell tools. ## +## ------------ ## + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU M4 that supports accurate traces" >&5 +$as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; } +if ${ac_cv_path_M4+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest.m4f +ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} +{ POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} +if test -z "$M4"; then + ac_path_M4_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in m4 gm4 gnum4; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_M4" || continue + # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. + # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. + # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy + # false positive strstr. + ac_snippet=change'quote(<,>)in''dir(<if''def>,mac,bug)' + ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' + test -z "`$ac_path_M4 -F conftest.m4f </dev/null 2>&1`" \ + && test -z "`$as_echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \ + && test -f conftest.m4f \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: + rm -f conftest.m4f + $ac_path_M4_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_M4"; then + as_fn_error $? "no acceptable m4 could be found in \$PATH. +GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. +GNU M4 1.4.15 uses a buggy replacement strstr on some systems. +Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug." "$LINENO" 5 + fi +else + ac_cv_path_M4=$M4 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 +$as_echo "$ac_cv_path_M4" >&6; } + M4=$ac_cv_path_M4 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_cv_path_M4 accepts --gnu" >&5 +$as_echo_n "checking whether $ac_cv_path_M4 accepts --gnu... " >&6; } +if ${ac_cv_prog_gnu_m4_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + case `$M4 --help < /dev/null 2>&1` in + *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; + *) ac_cv_prog_gnu_m4_gnu=no ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_gnu" >&5 +$as_echo "$ac_cv_prog_gnu_m4_gnu" >&6; } + if test yes = "$ac_cv_prog_gnu_m4_gnu"; then + M4_GNU=--gnu + else + M4_GNU= + fi + + if test yes = "$ac_had_posixly_correct"; then + POSIXLY_CORRECT=: + if test no = $ac_cv_prog_gnu_m4_gnu; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the version of M4 that was found does not support -g" >&5 +$as_echo "$as_me: WARNING: the version of M4 that was found does not support -g" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&5 +$as_echo "$as_me: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&2;} + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how m4 supports trace files" >&5 +$as_echo_n "checking how m4 supports trace files... " >&6; } +if ${ac_cv_prog_gnu_m4_debugfile+:} false; then : + $as_echo_n "(cached) " >&6 +else + case `$M4 --help < /dev/null 2>&1` in + *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; + *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_debugfile" >&5 +$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; } + M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile + + + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## + +am__api_version='1.16' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='libtool' + VERSION='2.4.7' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <https://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + + + +## ------------------------- ## +## Autobuild initialisation. ## +## ------------------------- ## + +# You can set autobuild_mode at configure time to specify a "unique" +# string for this build. +: ${autobuild_mode=default} +AB_VERSION='2.4.7' +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + + + + if test -z "$AB_PACKAGE"; then + AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5 +$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} + + if test -z "$AB_VERSION"; then + AB_VERSION=${PACKAGE_VERSION:-$VERSION} + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5 +$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} + + hostname=`hostname` + if test "$hostname"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5 +$as_echo "$as_me: autobuild hostname... $hostname" >&6;} + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild mode... $autobuild_mode" >&5 +$as_echo "$as_me: autobuild mode... $autobuild_mode" >&6;} + + date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` + if test "$?" != 0; then + date=`date` + fi + if test "$date"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5 +$as_echo "$as_me: autobuild timestamp... $date" >&6;} + fi + + + +CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/.version' + + + +## ------------------------------- ## +## Libtool specific configuration. ## +## ------------------------------- ## + +aclocaldir="\$(datadir)/aclocal" + +pkgdatadir="\$(datadir)/$PACKAGE" + + +# Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then : + enableval=$enable_ltdl_install; +fi + +if test set != "${enable_ltdl_install+set}"; then + enable_ltdl_install=yes +fi + +# The list of scripts required to build libltdl, and which need to be +# installed by libtoolize --ltdl, and consequently need to be placed in +# $pkgdatadir by our make install rule. +pkgaux_scripts="compile config.guess config.sub depcomp install-sh missing" + + + +## ---------------- ## +## compiler checks. ## +## ---------------- ## + +# Need to be sure that we have a working C compiler, otherwise even with +# a good C compiler: if the following C++ tests fail, the whole libtool +# build fails! +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdio.h> +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5 +$as_echo_n "checking whether the compiler is clang... " >&6; } +if ${gl_cv_compiler_clang+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifdef __clang__ + barfbarf + #endif + +int +main () +{ + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_compiler_clang=no +else + gl_cv_compiler_clang=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5 +$as_echo "$gl_cv_compiler_clang" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5 +$as_echo_n "checking for compiler option needed when checking for declarations... " >&6; } +if ${gl_cv_compiler_check_decl_option+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $gl_cv_compiler_clang = yes; then + save_ac_compile="$ac_compile" + ac_compile="$ac_compile -Werror=implicit-function-declaration" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration' +else + gl_cv_compiler_check_decl_option=none +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_compile="$save_ac_compile" + else + gl_cv_compiler_check_decl_option=none + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5 +$as_echo "$gl_cv_compiler_check_decl_option" >&6; } + if test "x$gl_cv_compiler_check_decl_option" != xnone; then + ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" + else + ac_compile_for_check_decl="$ac_compile" + fi + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 +$as_echo_n "checking for Minix Amsterdam compiler... " >&6; } +if ${gl_cv_c_amsterdam_compiler+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __ACK__ +Amsterdam +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Amsterdam" >/dev/null 2>&1; then : + gl_cv_c_amsterdam_compiler=yes +else + gl_cv_c_amsterdam_compiler=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 +$as_echo "$gl_cv_c_amsterdam_compiler" >&6; } + + if test $gl_cv_c_amsterdam_compiler = yes; then + if test -z "$AR"; then + AR='cc -c.a' + fi + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + : + fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="ar" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + + if test -z "$ARFLAGS"; then + ARFLAGS='cr' + fi + + + + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + fi + fi + + + + + # Pre-early section. + + + # Code from module all-shells-tests: + # Code from module announce-gen: + # Code from module bootstrap: + # Code from module do-release-commit-and-tag: + # Code from module extract-trace: + # Code from module funclib.sh: + # Code from module funclib.sh-tests: + # Code from module gendocs: + # Code from module git-version-gen: + # Code from module gitlog-to-changelog: + # Code from module gnu-web-doc-update: + # Code from module gnumakefile: + # Code from module gnupload: + # Code from module inline-source: + # Code from module maintainer-makefile: + # Code from module options-parser: + # Code from module options-parser-tests: + # Code from module readme-release: + # Code from module test-framework-sh: + # Code from module test-framework-sh-tests: + # Code from module update-copyright: + # Code from module update-copyright-tests: + # Code from module useless-if-before-free: + # Code from module vc-list-files: + # Code from module vc-list-files-tests: + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.7' +macro_revision='2.4.7' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test no != "$with_gnu_ld" && break + ;; + *) + test yes != "$with_gnu_ld" && break + ;; + esac + fi + done + IFS=$lt_save_ifs +else + lt_cv_path_LD=$LD # Let the user override the test with a path. +fi +fi + +LD=$lt_cv_path_LD +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_FILECMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +$as_echo "$FILECMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_FILECMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +$as_echo "$ac_ct_FILECMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + 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]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + 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]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + + +# Set options +enable_dlopen=yes +enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AS+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AS="${ac_tool_prefix}as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +$as_echo "$AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AS+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AS="as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 +$as_echo "$ac_ct_AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + + ;; +esac + +test -z "$AS" && AS=as + + + + + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + pic_mode=default +fi + + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$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)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$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' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$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' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$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' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$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)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="$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" + module_expsym_cmds="$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" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$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' + else + archive_cmds='$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' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$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' + fi + else + archive_cmds='$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' + archive_expsym_cmds='$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' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$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' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$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' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$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' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$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' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen=shl_load +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen=dlopen +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac + fi +fi + + + + + + + + + + + + + # Report what library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 +$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } +if ${libltdl_cv_shlibext+:} false; then : + $as_echo_n "(cached) " >&6 +else + +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_shlibext" >&5 +$as_echo "$libltdl_cv_shlibext" >&6; } +if test -n "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +#define LT_MODULE_EXT "$libltdl_cv_shlibext" +_ACEOF + +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +#define LT_SHARED_EXT "$libltdl_cv_shrext" +_ACEOF + +fi +if test -n "$shared_archive_member_spec"; then + +cat >>confdefs.h <<_ACEOF +#define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 +$as_echo_n "checking what variable specifies run-time module search path... " >&6; } +if ${lt_cv_module_path_var+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_module_path_var=$shlibpath_var +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 +$as_echo "$lt_cv_module_path_var" >&6; } +if test -n "$lt_cv_module_path_var"; then + +cat >>confdefs.h <<_ACEOF +#define LT_MODULE_PATH_VAR "$lt_cv_module_path_var" +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the default library search path" >&5 +$as_echo_n "checking for the default library search path... " >&6; } +if ${lt_cv_sys_dlsearch_path+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 +$as_echo "$lt_cv_sys_dlsearch_path" >&6; } +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + +cat >>confdefs.h <<_ACEOF +#define LT_DLSEARCH_PATH "$sys_dlsearch_path" +_ACEOF + +fi + + +LT_DLLOADERS= + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 +$as_echo_n "checking for library containing dlopen... " >&6; } +if ${ac_cv_search_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_dlopen=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_dlopen+:} false; then : + break +fi +done +if ${ac_cv_search_dlopen+:} false; then : + +else + ac_cv_search_dlopen=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 +$as_echo "$ac_cv_search_dlopen" >&6; } +ac_res=$ac_cv_search_dlopen +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +$as_echo "#define HAVE_LIBDL 1" >>confdefs.h + + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_DLFCN_H +# include <dlfcn.h> +#endif + +int +main () +{ +dlopen(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define HAVE_LIBDL 1" >>confdefs.h + + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + +$as_echo "#define HAVE_LIBDL 1" >>confdefs.h + + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +fi + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + for ac_func in dlerror +do : + ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" +if test "x$ac_cv_func_dlerror" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLERROR 1 +_ACEOF + +fi +done + + LIBS=$lt_save_LIBS +fi + + +LIBADD_SHL_LOAD= +ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + +$as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + +$as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld +fi + +fi + + + +case $host_os in +darwin[1567].*) +# We only want this for pre-Mac OS X 10.4. + ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" +if test "x$ac_cv_func__dyld_func_lookup" = xyes; then : + +$as_echo "#define HAVE_DYLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" +fi + + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include <sys/cygwin.h> +" +if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl +_ACEOF + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + +$as_echo "#define HAVE_DLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" +fi + + + + +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + +$as_echo "#define HAVE_LIBDLLOADER 1" >>confdefs.h + +fi + + +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" + + +LIBS=$lt_dlload_save_LIBS +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5 +$as_echo_n "checking for _ prefix in compiled symbols... " >&6; } +if ${lt_cv_sys_symbol_underscore+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&5 + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "configure: failed program was:" >&5 + cat conftest.c >&5 + fi + rm -rf conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5 +$as_echo "$lt_cv_sys_symbol_underscore" >&6; } + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + + +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 +$as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } +if ${libltdl_cv_need_uscore+:} false; then : + $as_echo_n "(cached) " >&6 +else + libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; } +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif +#include <stdio.h> +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 +$as_echo "$libltdl_cv_need_uscore" >&6; } + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + +$as_echo "#define NEED_USCORE 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether deplibs are loaded by dlopen" >&5 +$as_echo_n "checking whether deplibs are loaded by dlopen... " >&6; } +if ${lt_cv_sys_dlopen_deplibs+:} false; then : + $as_echo_n "(cached) " >&6 +else + # PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[4-9]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly* | midnightbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[12345]*|irix6.[01]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[1234]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 +$as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + +$as_echo "#define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h + +fi + + +for ac_header in argz.h +do : + ac_fn_c_check_header_compile "$LINENO" "argz.h" "ac_cv_header_argz_h" "$ac_includes_default +" +if test "x$ac_cv_header_argz_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ARGZ_H 1 +_ACEOF + +fi + +done + + +ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if defined(HAVE_ARGZ_H) +# include <argz.h> +#endif +" +if test "x$ac_cv_type_error_t" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_ERROR_T 1 +_ACEOF + + +else + +$as_echo "#define error_t int" >>confdefs.h + + +$as_echo "#define __error_t_defined 1" >>confdefs.h + +fi + + +LT_ARGZ_H= +for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + LT_ARGZ_H=lt__argz.h; case " $LIBOBJS " in + *" lt__argz.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext" + ;; +esac + +fi +done + + +if test -z "$LT_ARGZ_H"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 +$as_echo_n "checking if argz actually works... " >&6; } +if ${lt_cv_sys_argz_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 +$as_echo "$lt_cv_sys_argz_works" >&6; } + if test yes = "$lt_cv_sys_argz_works"; then : + +$as_echo "#define HAVE_WORKING_ARGZ 1" >>confdefs.h + +else + LT_ARGZ_H=lt__argz.h + case " $LIBOBJS " in + *" lt__argz.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext" + ;; +esac + +fi +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libtool supports -dlopen/-dlpreopen" >&5 +$as_echo_n "checking whether libtool supports -dlopen/-dlpreopen... " >&6; } +if ${libltdl_cv_preloaded_symbols+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 +$as_echo "$libltdl_cv_preloaded_symbols" >&6; } +if test yes = "$libltdl_cv_preloaded_symbols"; then + +$as_echo "#define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h + +fi + + + +# Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then : + enableval=$enable_ltdl_install; +fi + + +case ,$enable_ltdl_install,$enable_ltdl_convenience in + *yes*) ;; + *) enable_ltdl_convenience=yes ;; +esac + + if test no != "${enable_ltdl_install-no}"; then + INSTALL_LTDL_TRUE= + INSTALL_LTDL_FALSE='#' +else + INSTALL_LTDL_TRUE='#' + INSTALL_LTDL_FALSE= +fi + + if test no != "${enable_ltdl_convenience-no}"; then + CONVENIENCE_LTDL_TRUE= + CONVENIENCE_LTDL_FALSE='#' +else + CONVENIENCE_LTDL_TRUE='#' + CONVENIENCE_LTDL_FALSE= +fi + + + + + + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). + + + +for ac_header in unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_func in closedir opendir readdir +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIBOBJS " in + *" lt__dirent.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lt__dirent.$ac_objext" + ;; +esac + +fi +done + +for ac_func in strlcat strlcpy +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIBOBJS " in + *" lt__strl.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lt__strl.$ac_objext" + ;; +esac + +fi +done + + + +cat >>confdefs.h <<_ACEOF +#define LT_LIBEXT "$libext" +_ACEOF + + +name= +eval "lt_libprefix=\"$libname_spec\"" + +cat >>confdefs.h <<_ACEOF +#define LT_LIBPREFIX "$lt_libprefix" +_ACEOF + + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" + + + +# Enable all the language support we can +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CXX_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + + +func_stripname_cnf () +{ + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; + esac +} # func_stripname_cnf + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test no != "$with_gnu_ld" && break + ;; + *) + test yes != "$with_gnu_ld" && break + ;; + esac + fi + done + IFS=$lt_save_ifs +else + lt_cv_path_LD=$LD # Let the user override the test with a path. +fi +fi + +LD=$lt_cv_path_LD +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_CXX='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$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' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $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' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="$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" + module_expsym_cmds_CXX="$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" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$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" + archive_expsym_cmds_CXX="$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" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='$wl-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes = "$GXX"; then + archive_cmds_CXX='$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' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='$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' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$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' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$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' + else + archive_cmds_CXX='$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' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='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' + archive_expsym_cmds_CXX='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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $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' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$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' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$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' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='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' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$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' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$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' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $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~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + archive_cmds_CXX='$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' + ;; + *) + archive_cmds_CXX='$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' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='$wl-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX=$prev$p + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX=$prev$p + else + postdeps_CXX="${postdeps_CXX} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX=$p + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX=$p + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$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' + else + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + ;; + pw32*) + export_symbols_cmds_CXX=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test yes = "$hardcode_automatic_CXX"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_CXX" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 +$as_echo "$F77" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_F77="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 +$as_echo "$ac_ct_F77" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 +$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } +if ${ac_cv_f77_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 +$as_echo "$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 +$as_echo_n "checking whether $F77 accepts -g... " >&6; } +if ${ac_cv_prog_f77_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + FFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_compile "$LINENO"; then : + ac_cv_prog_f77_g=yes +else + ac_cv_prog_f77_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 +$as_echo "$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + G77=yes +else + G77= +fi +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_direct_absolute_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +inherit_rpath_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +reload_flag_F77=$reload_flag +reload_cmds_F77=$reload_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + compiler_F77=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + GCC=$G77 + if test -n "$compiler"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + GCC_F77=$G77 + LD_F77=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + lt_prog_compiler_pic_F77='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_F77='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_F77='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_F77= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_F77='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_F77='-Xlinker ' + if test -n "$lt_prog_compiler_pic_F77"; then + lt_prog_compiler_pic_F77="-Xcompiler $lt_prog_compiler_pic_F77" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_F77='-Wl,-Wl,,' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_F77='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='--shared' + lt_prog_compiler_static_F77='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_F77='-Wl,-Wl,,' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-qpic' + lt_prog_compiler_static_F77='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fPIC' + lt_prog_compiler_static_F77='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_F77='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_F77=$lt_prog_compiler_pic_F77 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_F77" >&5 +$as_echo "$lt_cv_prog_compiler_pic_F77" >&6; } +lt_prog_compiler_pic_F77=$lt_cv_prog_compiler_pic_F77 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_F77=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_F77"; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_F77=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_F77=yes + fi + else + lt_cv_prog_compiler_static_works_F77=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_F77"; then + : +else + lt_prog_compiler_static_F77= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_F77" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_F77= + always_export_symbols_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + compiler_needs_object_F77=no + enable_shared_with_static_runtimes_F77=no + export_dynamic_flag_spec_F77= + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_F77=no + hardcode_direct_F77=no + hardcode_direct_absolute_F77=no + hardcode_libdir_flag_spec_F77= + hardcode_libdir_separator_F77= + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + inherit_rpath_F77=no + link_all_deplibs_F77=unknown + module_cmds_F77= + module_expsym_cmds_F77= + old_archive_from_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + thread_safe_flag_spec_F77= + whole_archive_flag_spec_F77= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_F77='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='' + ;; + m68k) + archive_cmds_F77='$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)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + export_dynamic_flag_spec_F77='$wl--export-all-symbols' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_F77='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + haiku*) + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_F77=yes + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + shrext_cmds=.dll + archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_F77=yes + file_list_spec_F77='@' + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + export_dynamic_flag_spec_F77='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_F77= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_F77='$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' + compiler_needs_object_F77=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='$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' + compiler_needs_object_F77=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_F77='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_F77='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_F77=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test no = "$ld_shlibs_F77"; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_F77='$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' + else + export_symbols_cmds_F77='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + file_list_spec_F77='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_F77=no + hardcode_direct_absolute_F77=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_F77='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__F77 +fi + + hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_F77='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__F77"; then + lt_cv_aix_libpath__F77=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__F77 +fi + + hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' $wl-bernotok' + allow_undefined_flag_F77=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_F77='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + fi + archive_cmds_need_lc_F77=yes + archive_expsym_cmds_F77='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='' + ;; + m68k) + archive_cmds_F77='$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)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + file_list_spec_F77='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, F77)='true' + enable_shared_with_static_runtimes_F77=yes + exclude_expsyms_F77='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_F77='chmod 644 $oldlib' + postlink_cmds_F77='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_F77=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_F77='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + compiler_needs_object_F77=yes + else + whole_archive_flag_spec_F77='' + fi + link_all_deplibs_F77=yes + allow_undefined_flag_F77=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_F77="$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" + module_expsym_cmds_F77="$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" + + else + ld_shlibs_F77=no + fi + + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_F77='$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' + else + archive_cmds_F77='$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' + fi + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + hardcode_direct_absolute_F77=yes + export_dynamic_flag_spec_F77='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_F77='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat > conftest.$ac_ext <<_ACEOF + + subroutine foo + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_F77='$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' + fi + else + archive_cmds_F77='$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' + archive_expsym_cmds_F77='$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' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + inherit_rpath_F77=yes + link_all_deplibs_F77=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_F77=yes + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + hardcode_direct_absolute_F77=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + export_dynamic_flag_spec_F77='$wl-E' + else + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + shrext_cmds=.dll + archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_F77=yes + file_list_spec_F77='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' + archive_cmds_F77='$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' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$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' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' + archive_cmds_F77='$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' + hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$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' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + archive_cmds_need_lc_F77='no' + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_F77='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_F77='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_F77='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_F77='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='$wl-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='$wl-z,text' + allow_undefined_flag_F77='$wl-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='$wl-R,$libdir' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_F77='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5 +$as_echo "$ld_shlibs_F77" >&6; } +test no = "$ld_shlibs_F77" && can_build_shared=no + +with_gnu_ld_F77=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_F77+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_F77=no + else + lt_cv_archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_F77" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_F77" >&6; } + archive_cmds_need_lc_F77=$lt_cv_archive_cmds_need_lc_F77 + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_F77='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_F77\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_F77\"" + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_f77_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || + test -n "$runpath_var_F77" || + test yes = "$hardcode_automatic_F77"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_F77" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, F77)" && + test no != "$hardcode_minus_L_F77"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5 +$as_echo "$hardcode_action_F77" >&6; } + +if test relink = "$hardcode_action_F77" || + test yes = "$inherit_rpath_F77"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$FC"; then + ac_cv_prog_FC="$FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FC=$ac_cv_prog_FC +if test -n "$FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 +$as_echo "$FC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$FC" && break + done +fi +if test -z "$FC"; then + ac_ct_FC=$FC + for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_FC"; then + ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FC=$ac_cv_prog_ac_ct_FC +if test -n "$ac_ct_FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 +$as_echo "$ac_ct_FC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_FC" && break +done + + if test "x$ac_ct_FC" = x; then + FC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FC=$ac_ct_FC + fi +fi + + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 +$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } +if ${ac_cv_fc_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_fc_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +$as_echo "$ac_cv_fc_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FCFLAGS=${FCFLAGS+set} +ac_save_FCFLAGS=$FCFLAGS +FCFLAGS= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +$as_echo_n "checking whether $FC accepts -g... " >&6; } +if ${ac_cv_prog_fc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + FCFLAGS=-g +cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_compile "$LINENO"; then : + ac_cv_prog_fc_g=yes +else + ac_cv_prog_fc_g=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +$as_echo "$ac_cv_prog_fc_g" >&6; } +if test "$ac_test_FCFLAGS" = set; then + FCFLAGS=$ac_save_FCFLAGS +elif test $ac_cv_prog_fc_g = yes; then + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-g -O2" + else + FCFLAGS="-g" + fi +else + if test "x$ac_cv_fc_compiler_gnu" = xyes; then + FCFLAGS="-O2" + else + FCFLAGS= + fi +fi + +if test $ac_compiler_gnu = yes; then + GFC=yes +else + GFC= +fi +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + + ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +archive_cmds_need_lc_FC=no +allow_undefined_flag_FC= +always_export_symbols_FC=no +archive_expsym_cmds_FC= +export_dynamic_flag_spec_FC= +hardcode_direct_FC=no +hardcode_direct_absolute_FC=no +hardcode_libdir_flag_spec_FC= +hardcode_libdir_separator_FC= +hardcode_minus_L_FC=no +hardcode_automatic_FC=no +inherit_rpath_FC=no +module_cmds_FC= +module_expsym_cmds_FC= +link_all_deplibs_FC=unknown +old_archive_cmds_FC=$old_archive_cmds +reload_flag_FC=$reload_flag +reload_cmds_FC=$reload_cmds +no_undefined_flag_FC= +whole_archive_flag_spec_FC= +enable_shared_with_static_runtimes_FC=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +objext_FC=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + compiler_FC=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + GCC_FC=$ac_cv_fc_compiler_gnu + LD_FC=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_FC= +postdep_objects_FC= +predeps_FC= +postdeps_FC= +compiler_lib_search_path_FC= + +cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_FC"; then + compiler_lib_search_path_FC=$prev$p + else + compiler_lib_search_path_FC="${compiler_lib_search_path_FC} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_FC"; then + postdeps_FC=$prev$p + else + postdeps_FC="${postdeps_FC} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_FC"; then + predep_objects_FC=$p + else + predep_objects_FC="$predep_objects_FC $p" + fi + else + if test -z "$postdep_objects_FC"; then + postdep_objects_FC=$p + else + postdep_objects_FC="$postdep_objects_FC $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling FC test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken + + +case " $postdeps_FC " in +*" -lc "*) archive_cmds_need_lc_FC=no ;; +esac + compiler_lib_search_dirs_FC= +if test -n "${compiler_lib_search_path_FC}"; then + compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + lt_prog_compiler_wl_FC= +lt_prog_compiler_pic_FC= +lt_prog_compiler_static_FC= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_static_FC='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_FC='-Bstatic' + fi + lt_prog_compiler_pic_FC='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_FC='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_FC='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_FC='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_FC='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_FC= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_FC='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_FC=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_FC='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_FC=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_FC='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_FC='-Xlinker ' + if test -n "$lt_prog_compiler_pic_FC"; then + lt_prog_compiler_pic_FC="-Xcompiler $lt_prog_compiler_pic_FC" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_FC='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_FC='-Bstatic' + else + lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_FC='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_FC='-Wl,-Wl,,' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_FC='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_FC='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_FC='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_FC='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_FC='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_FC='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_FC='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='--shared' + lt_prog_compiler_static_FC='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_FC='-Wl,-Wl,,' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fpic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_FC='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_FC='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-qpic' + lt_prog_compiler_static_FC='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + lt_prog_compiler_wl_FC='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fPIC' + lt_prog_compiler_static_FC='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-fpic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_FC='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_FC='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_FC='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_FC='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_FC='-Qoption ld ';; + *) + lt_prog_compiler_wl_FC='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_FC='-Qoption ld ' + lt_prog_compiler_pic_FC='-PIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_FC='-Kconform_pic' + lt_prog_compiler_static_FC='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_pic_FC='-KPIC' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_FC='-Wl,' + lt_prog_compiler_can_build_shared_FC=no + ;; + + uts4*) + lt_prog_compiler_pic_FC='-pic' + lt_prog_compiler_static_FC='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_FC=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_FC= + ;; + *) + lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 +$as_echo "$lt_cv_prog_compiler_pic_FC" >&6; } +lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_FC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_FC=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_FC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_FC=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_FC" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then + case $lt_prog_compiler_pic_FC in + "" | " "*) ;; + *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;; + esac +else + lt_prog_compiler_pic_FC= + lt_prog_compiler_can_build_shared_FC=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_FC=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_FC=yes + fi + else + lt_cv_prog_compiler_static_works_FC=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_FC" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_FC"; then + : +else + lt_prog_compiler_static_FC= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_FC=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_FC=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_FC=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_FC=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_FC= + always_export_symbols_FC=no + archive_cmds_FC= + archive_expsym_cmds_FC= + compiler_needs_object_FC=no + enable_shared_with_static_runtimes_FC=no + export_dynamic_flag_spec_FC= + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_FC=no + hardcode_direct_FC=no + hardcode_direct_absolute_FC=no + hardcode_libdir_flag_spec_FC= + hardcode_libdir_separator_FC= + hardcode_minus_L_FC=no + hardcode_shlibpath_var_FC=unsupported + inherit_rpath_FC=no + link_all_deplibs_FC=unknown + module_cmds_FC= + module_expsym_cmds_FC= + old_archive_from_new_cmds_FC= + old_archive_from_expsyms_cmds_FC= + thread_safe_flag_spec_FC= + whole_archive_flag_spec_FC= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_FC= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_FC=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_FC='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_FC=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_FC= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='' + ;; + m68k) + archive_cmds_FC='$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)' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_FC=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_FC=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_FC='-L$libdir' + export_dynamic_flag_spec_FC='$wl--export-all-symbols' + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=no + enable_shared_with_static_runtimes_FC=yes + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_FC='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_FC=no + fi + ;; + + haiku*) + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_FC=yes + ;; + + os2*) + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + allow_undefined_flag_FC=unsupported + shrext_cmds=.dll + archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_FC=yes + file_list_spec_FC='@' + ;; + + interix[3-9]*) + hardcode_direct_FC=no + hardcode_shlibpath_var_FC=no + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + export_dynamic_flag_spec_FC='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_FC='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_FC='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_FC='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_FC= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_FC='$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' + compiler_needs_object_FC=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_FC='$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' + compiler_needs_object_FC=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_FC='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + archive_cmds_FC='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_FC=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_FC=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_FC=no + fi + ;; + esac + + if test no = "$ld_shlibs_FC"; then + runpath_var= + hardcode_libdir_flag_spec_FC= + export_dynamic_flag_spec_FC= + whole_archive_flag_spec_FC= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=yes + archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_FC=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_FC=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_FC='$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' + else + export_symbols_cmds_FC='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_FC='' + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + hardcode_libdir_separator_FC=':' + link_all_deplibs_FC=yes + file_list_spec_FC='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_FC=no + hardcode_direct_absolute_FC=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_FC=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_FC=yes + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_libdir_separator_FC= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_FC='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_FC=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_FC='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__FC +fi + + hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_FC='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_FC='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_FC="-z nodefs" + archive_expsym_cmds_FC="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__FC"; then + lt_cv_aix_libpath__FC=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__FC +fi + + hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_FC=' $wl-bernotok' + allow_undefined_flag_FC=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_FC='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_FC='$convenience' + fi + archive_cmds_need_lc_FC=yes + archive_expsym_cmds_FC='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_FC='' + ;; + m68k) + archive_cmds_FC='$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)' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_FC=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_FC=' ' + allow_undefined_flag_FC=unsupported + always_export_symbols_FC=yes + file_list_spec_FC='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_FC='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, FC)='true' + enable_shared_with_static_runtimes_FC=yes + exclude_expsyms_FC='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_FC='chmod 644 $oldlib' + postlink_cmds_FC='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_FC=' ' + allow_undefined_flag_FC=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_FC='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_FC=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_FC=no + hardcode_direct_FC=no + hardcode_automatic_FC=yes + hardcode_shlibpath_var_FC=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_FC='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + compiler_needs_object_FC=yes + else + whole_archive_flag_spec_FC='' + fi + link_all_deplibs_FC=yes + allow_undefined_flag_FC=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_FC="$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" + module_expsym_cmds_FC="$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" + + else + ld_shlibs_FC=no + fi + + ;; + + dgux*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_shlibpath_var_FC=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes + hardcode_minus_L_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_FC='$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' + else + archive_cmds_FC='$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' + fi + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_direct_FC=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_FC='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_FC='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' + hardcode_libdir_separator_FC=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_FC=no + hardcode_shlibpath_var_FC=no + ;; + *) + hardcode_direct_FC=yes + hardcode_direct_absolute_FC=yes + export_dynamic_flag_spec_FC='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_FC=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_FC='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat > conftest.$ac_ext <<_ACEOF + + subroutine foo + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_FC='$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' + fi + else + archive_cmds_FC='$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' + archive_expsym_cmds_FC='$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' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + inherit_rpath_FC=yes + link_all_deplibs_FC=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_FC=yes + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + newsos6) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + hardcode_shlibpath_var_FC=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_FC=yes + hardcode_shlibpath_var_FC=no + hardcode_direct_absolute_FC=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + export_dynamic_flag_spec_FC='$wl-E' + else + archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' + fi + else + ld_shlibs_FC=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_minus_L_FC=yes + allow_undefined_flag_FC=unsupported + shrext_cmds=.dll + archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_FC=yes + file_list_spec_FC='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' + archive_cmds_FC='$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' + else + allow_undefined_flag_FC=' -expect_unresolved \*' + archive_cmds_FC='$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' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + hardcode_libdir_separator_FC=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' + archive_cmds_FC='$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' + hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' + else + allow_undefined_flag_FC=' -expect_unresolved \*' + archive_cmds_FC='$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' + archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_FC='-rpath $libdir' + fi + archive_cmds_need_lc_FC='no' + hardcode_libdir_separator_FC=: + ;; + + solaris*) + no_undefined_flag_FC=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_FC='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_FC='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_FC='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_FC='-R$libdir' + hardcode_shlibpath_var_FC=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_FC='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_FC=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_FC='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_direct_FC=yes + hardcode_minus_L_FC=yes + hardcode_shlibpath_var_FC=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_FC='$CC -r -o $output$reload_objs' + hardcode_direct_FC=no + ;; + motorola) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_FC=no + ;; + + sysv4.3*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_FC=no + export_dynamic_flag_spec_FC='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_FC=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_FC=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_FC='$wl-z,text' + archive_cmds_need_lc_FC=no + hardcode_shlibpath_var_FC=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_FC='$wl-z,text' + allow_undefined_flag_FC='$wl-z,nodefs' + archive_cmds_need_lc_FC=no + hardcode_shlibpath_var_FC=no + hardcode_libdir_flag_spec_FC='$wl-R,$libdir' + hardcode_libdir_separator_FC=':' + link_all_deplibs_FC=yes + export_dynamic_flag_spec_FC='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_FC='-L$libdir' + hardcode_shlibpath_var_FC=no + ;; + + *) + ld_shlibs_FC=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_FC='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 +$as_echo "$ld_shlibs_FC" >&6; } +test no = "$ld_shlibs_FC" && can_build_shared=no + +with_gnu_ld_FC=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_FC" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_FC=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_FC in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_FC+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_FC + pic_flag=$lt_prog_compiler_pic_FC + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_FC + allow_undefined_flag_FC= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_FC=no + else + lt_cv_archive_cmds_need_lc_FC=yes + fi + allow_undefined_flag_FC=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_FC" >&6; } + archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_FC='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\"" + cat > conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +if ac_fn_fc_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_FC= +if test -n "$hardcode_libdir_flag_spec_FC" || + test -n "$runpath_var_FC" || + test yes = "$hardcode_automatic_FC"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_FC" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" && + test no != "$hardcode_minus_L_FC"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_FC=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_FC=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_FC=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 +$as_echo "$hardcode_action_FC" >&6; } + +if test relink = "$hardcode_action_FC" || + test yes = "$inherit_rpath_FC"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gccgo", so it can be a program name with args. +set dummy ${ac_tool_prefix}gccgo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GOC"; then + ac_cv_prog_GOC="$GOC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GOC="${ac_tool_prefix}gccgo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GOC=$ac_cv_prog_GOC +if test -n "$GOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC" >&5 +$as_echo "$GOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GOC"; then + ac_ct_GOC=$GOC + # Extract the first word of "gccgo", so it can be a program name with args. +set dummy gccgo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_GOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_GOC"; then + ac_cv_prog_ac_ct_GOC="$ac_ct_GOC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_GOC="gccgo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_GOC=$ac_cv_prog_ac_ct_GOC +if test -n "$ac_ct_GOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GOC" >&5 +$as_echo "$ac_ct_GOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_GOC" = x; then + GOC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GOC=$ac_ct_GOC + fi +else + GOC="$ac_cv_prog_GOC" +fi + + + + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +objext_GO=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +compiler_GO=$CC +LD_GO=$LD +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Go did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GO=no + +old_archive_cmds_GO=$old_archive_cmds +reload_flag_GO=$reload_flag +reload_cmds_GO=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag_GO= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag_GO=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag_GO=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag_GO="$lt_prog_compiler_no_builtin_flag_GO -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + lt_prog_compiler_wl_GO= +lt_prog_compiler_pic_GO= +lt_prog_compiler_static_GO= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_static_GO='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GO='-Bstatic' + fi + lt_prog_compiler_pic_GO='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_GO='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_GO='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GO='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_GO='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GO='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_GO= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GO='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GO=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GO='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GO=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_GO='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_GO='-Xlinker ' + if test -n "$lt_prog_compiler_pic_GO"; then + lt_prog_compiler_pic_GO="-Xcompiler $lt_prog_compiler_pic_GO" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GO='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GO='-Bstatic' + else + lt_prog_compiler_static_GO='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GO='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GO='-Wl,-Wl,,' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GO='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_GO='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GO='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GO='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GO='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GO='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GO='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='--shared' + lt_prog_compiler_static_GO='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GO='-Wl,-Wl,,' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fpic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GO='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GO='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-qpic' + lt_prog_compiler_static_GO='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + lt_prog_compiler_wl_GO='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fPIC' + lt_prog_compiler_static_GO='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-fpic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GO='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GO='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GO='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GO='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_GO='-Qoption ld ';; + *) + lt_prog_compiler_wl_GO='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GO='-Qoption ld ' + lt_prog_compiler_pic_GO='-PIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GO='-Kconform_pic' + lt_prog_compiler_static_GO='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_pic_GO='-KPIC' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GO='-Wl,' + lt_prog_compiler_can_build_shared_GO=no + ;; + + uts4*) + lt_prog_compiler_pic_GO='-pic' + lt_prog_compiler_static_GO='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GO=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GO= + ;; + *) + lt_prog_compiler_pic_GO="$lt_prog_compiler_pic_GO" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_GO=$lt_prog_compiler_pic_GO +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GO" >&5 +$as_echo "$lt_cv_prog_compiler_pic_GO" >&6; } +lt_prog_compiler_pic_GO=$lt_cv_prog_compiler_pic_GO + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GO works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GO works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_GO=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GO" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_GO=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GO" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_GO" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_GO"; then + case $lt_prog_compiler_pic_GO in + "" | " "*) ;; + *) lt_prog_compiler_pic_GO=" $lt_prog_compiler_pic_GO" ;; + esac +else + lt_prog_compiler_pic_GO= + lt_prog_compiler_can_build_shared_GO=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GO eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GO\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_GO=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_GO=yes + fi + else + lt_cv_prog_compiler_static_works_GO=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GO" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_GO" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_GO"; then + : +else + lt_prog_compiler_static_GO= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GO=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GO=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GO=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GO=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_GO" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_GO= + always_export_symbols_GO=no + archive_cmds_GO= + archive_expsym_cmds_GO= + compiler_needs_object_GO=no + enable_shared_with_static_runtimes_GO=no + export_dynamic_flag_spec_GO= + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_GO=no + hardcode_direct_GO=no + hardcode_direct_absolute_GO=no + hardcode_libdir_flag_spec_GO= + hardcode_libdir_separator_GO= + hardcode_minus_L_GO=no + hardcode_shlibpath_var_GO=unsupported + inherit_rpath_GO=no + link_all_deplibs_GO=unknown + module_cmds_GO= + module_expsym_cmds_GO= + old_archive_from_new_cmds_GO= + old_archive_from_expsyms_cmds_GO= + thread_safe_flag_spec_GO= + whole_archive_flag_spec_GO= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GO= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_GO='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GO=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_GO='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GO=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_GO= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='' + ;; + m68k) + archive_cmds_GO='$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)' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GO=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GO='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_GO=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, GO) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GO='-L$libdir' + export_dynamic_flag_spec_GO='$wl--export-all-symbols' + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=no + enable_shared_with_static_runtimes_GO=yes + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_GO='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GO=no + fi + ;; + + haiku*) + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_GO=yes + ;; + + os2*) + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + allow_undefined_flag_GO=unsupported + shrext_cmds=.dll + archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GO=yes + file_list_spec_GO='@' + ;; + + interix[3-9]*) + hardcode_direct_GO=no + hardcode_shlibpath_var_GO=no + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + export_dynamic_flag_spec_GO='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GO='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GO='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GO='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_GO= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_GO='$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' + compiler_needs_object_GO=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GO='$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' + compiler_needs_object_GO=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_GO='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_GO='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_GO='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + archive_cmds_GO='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_GO=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GO='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GO=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GO='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GO=no + fi + ;; + esac + + if test no = "$ld_shlibs_GO"; then + runpath_var= + hardcode_libdir_flag_spec_GO= + export_dynamic_flag_spec_GO= + whole_archive_flag_spec_GO= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=yes + archive_expsym_cmds_GO='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GO=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GO=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_GO='$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' + else + export_symbols_cmds_GO='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GO='' + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + hardcode_libdir_separator_GO=':' + link_all_deplibs_GO=yes + file_list_spec_GO='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_GO=no + hardcode_direct_absolute_GO=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GO=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GO=yes + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_libdir_separator_GO= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_GO='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GO=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GO='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GO +fi + + hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GO='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_GO='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GO="-z nodefs" + archive_expsym_cmds_GO="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GO"; then + lt_cv_aix_libpath__GO=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GO +fi + + hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GO=' $wl-bernotok' + allow_undefined_flag_GO=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_GO='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GO='$convenience' + fi + archive_cmds_need_lc_GO=yes + archive_expsym_cmds_GO='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GO='' + ;; + m68k) + archive_cmds_GO='$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)' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GO=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_GO=' ' + allow_undefined_flag_GO=unsupported + always_export_symbols_GO=yes + file_list_spec_GO='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GO='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, GO)='true' + enable_shared_with_static_runtimes_GO=yes + exclude_expsyms_GO='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_GO='chmod 644 $oldlib' + postlink_cmds_GO='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_GO=' ' + allow_undefined_flag_GO=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GO='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_GO='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GO='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_GO=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_GO=no + hardcode_direct_GO=no + hardcode_automatic_GO=yes + hardcode_shlibpath_var_GO=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_GO='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_GO='' + fi + link_all_deplibs_GO=yes + allow_undefined_flag_GO=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_GO="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_GO="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_GO="$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" + module_expsym_cmds_GO="$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" + + else + ld_shlibs_GO=no + fi + + ;; + + dgux*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_shlibpath_var_GO=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes + hardcode_minus_L_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_GO='$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' + else + archive_cmds_GO='$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' + fi + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_direct_GO=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_GO='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GO='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' + hardcode_libdir_separator_GO=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_GO=no + hardcode_shlibpath_var_GO=no + ;; + *) + hardcode_direct_GO=yes + hardcode_direct_absolute_GO=yes + export_dynamic_flag_spec_GO='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GO=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_GO='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_GO='$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' + fi + else + archive_cmds_GO='$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' + archive_expsym_cmds_GO='$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' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + inherit_rpath_GO=yes + link_all_deplibs_GO=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_GO=yes + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GO='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + newsos6) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + hardcode_shlibpath_var_GO=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GO=yes + hardcode_shlibpath_var_GO=no + hardcode_direct_absolute_GO=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + export_dynamic_flag_spec_GO='$wl-E' + else + archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' + fi + else + ld_shlibs_GO=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_minus_L_GO=yes + allow_undefined_flag_GO=unsupported + shrext_cmds=.dll + archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GO=yes + file_list_spec_GO='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' + archive_cmds_GO='$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' + else + allow_undefined_flag_GO=' -expect_unresolved \*' + archive_cmds_GO='$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' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GO=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' + archive_cmds_GO='$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' + hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' + else + allow_undefined_flag_GO=' -expect_unresolved \*' + archive_cmds_GO='$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' + archive_expsym_cmds_GO='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GO='-rpath $libdir' + fi + archive_cmds_need_lc_GO='no' + hardcode_libdir_separator_GO=: + ;; + + solaris*) + no_undefined_flag_GO=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_GO='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_GO='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_GO='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_GO='-R$libdir' + hardcode_shlibpath_var_GO=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_GO='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_GO='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GO=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GO='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_direct_GO=yes + hardcode_minus_L_GO=yes + hardcode_shlibpath_var_GO=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GO='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GO='$CC -r -o $output$reload_objs' + hardcode_direct_GO=no + ;; + motorola) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GO=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GO=no + ;; + + sysv4.3*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GO=no + export_dynamic_flag_spec_GO='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GO=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GO=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GO='$wl-z,text' + archive_cmds_need_lc_GO=no + hardcode_shlibpath_var_GO=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GO='$wl-z,text' + allow_undefined_flag_GO='$wl-z,nodefs' + archive_cmds_need_lc_GO=no + hardcode_shlibpath_var_GO=no + hardcode_libdir_flag_spec_GO='$wl-R,$libdir' + hardcode_libdir_separator_GO=':' + link_all_deplibs_GO=yes + export_dynamic_flag_spec_GO='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GO='-L$libdir' + hardcode_shlibpath_var_GO=no + ;; + + *) + ld_shlibs_GO=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_GO='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GO" >&5 +$as_echo "$ld_shlibs_GO" >&6; } +test no = "$ld_shlibs_GO" && can_build_shared=no + +with_gnu_ld_GO=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GO" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GO=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_GO in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_GO+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GO + pic_flag=$lt_prog_compiler_pic_GO + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GO + allow_undefined_flag_GO= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_GO=no + else + lt_cv_archive_cmds_need_lc_GO=yes + fi + allow_undefined_flag_GO=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GO" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_GO" >&6; } + archive_cmds_need_lc_GO=$lt_cv_archive_cmds_need_lc_GO + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_GO= +if test -n "$hardcode_libdir_flag_spec_GO" || + test -n "$runpath_var_GO" || + test yes = "$hardcode_automatic_GO"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_GO" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GO)" && + test no != "$hardcode_minus_L_GO"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GO=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GO=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GO=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GO" >&5 +$as_echo "$hardcode_action_GO" >&6; } + +if test relink = "$hardcode_action_GO" || + test yes = "$inherit_rpath_GO"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcj", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcj; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GCJ"; then + ac_cv_prog_GCJ="$GCJ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GCJ="${ac_tool_prefix}gcj" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GCJ=$ac_cv_prog_GCJ +if test -n "$GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ" >&5 +$as_echo "$GCJ" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_GCJ"; then + ac_ct_GCJ=$GCJ + # Extract the first word of "gcj", so it can be a program name with args. +set dummy gcj; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_GCJ"; then + ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_GCJ="gcj" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ +if test -n "$ac_ct_GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5 +$as_echo "$ac_ct_GCJ" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_GCJ" = x; then + GCJ="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GCJ=$ac_ct_GCJ + fi +else + GCJ="$ac_cv_prog_GCJ" +fi + + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +compiler_GCJ=$CC +LD_GCJ=$LD +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds +reload_flag_GCJ=$reload_flag +reload_cmds_GCJ=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag_GCJ=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + + case $host_os in + os2*) + lt_prog_compiler_static_GCJ='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_GCJ= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GCJ='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl_GCJ='-Xlinker ' + if test -n "$lt_prog_compiler_pic_GCJ"; then + lt_prog_compiler_pic_GCJ="-Xcompiler $lt_prog_compiler_pic_GCJ" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + + case $host_os in + os2*) + lt_prog_compiler_static_GCJ='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='--shared' + lt_prog_compiler_static_GCJ='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-qpic' + lt_prog_compiler_static_GCJ='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_GCJ='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_GCJ=$lt_prog_compiler_pic_GCJ +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_pic_GCJ" >&6; } +lt_prog_compiler_pic_GCJ=$lt_cv_prog_compiler_pic_GCJ + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_GCJ=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_GCJ"; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_GCJ=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_GCJ=yes + fi + else + lt_cv_prog_compiler_static_works_GCJ=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_GCJ"; then + : +else + lt_prog_compiler_static_GCJ= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_GCJ" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + always_export_symbols_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + compiler_needs_object_GCJ=no + enable_shared_with_static_runtimes_GCJ=no + export_dynamic_flag_spec_GCJ= + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic_GCJ=no + hardcode_direct_GCJ=no + hardcode_direct_absolute_GCJ=no + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + inherit_rpath_GCJ=no + link_all_deplibs_GCJ=unknown + module_cmds_GCJ= + module_expsym_cmds_GCJ= + old_archive_from_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + thread_safe_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_GCJ='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='' + ;; + m68k) + archive_cmds_GCJ='$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)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + export_dynamic_flag_spec_GCJ='$wl--export-all-symbols' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_GCJ='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + haiku*) + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_GCJ=yes + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + shrext_cmds=.dll + archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GCJ=yes + file_list_spec_GCJ='@' + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + export_dynamic_flag_spec_GCJ='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec_GCJ= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec_GCJ='$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' + compiler_needs_object_GCJ=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='$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' + compiler_needs_object_GCJ=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec_GCJ='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec_GCJ='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test no = "$ld_shlibs_GCJ"; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$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' + else + export_symbols_cmds_GCJ='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + file_list_spec_GCJ='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_GCJ=no + hardcode_direct_absolute_GCJ=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_GCJ='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GCJ +fi + + hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_GCJ='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__GCJ"; then + lt_cv_aix_libpath__GCJ=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__GCJ +fi + + hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' $wl-bernotok' + allow_undefined_flag_GCJ=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_GCJ='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + fi + archive_cmds_need_lc_GCJ=yes + archive_expsym_cmds_GCJ='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='' + ;; + m68k) + archive_cmds_GCJ='$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)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + file_list_spec_GCJ='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, GCJ)='true' + enable_shared_with_static_runtimes_GCJ=yes + exclude_expsyms_GCJ='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds_GCJ='chmod 644 $oldlib' + postlink_cmds_GCJ='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes_GCJ=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_GCJ='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_GCJ='' + fi + link_all_deplibs_GCJ=yes + allow_undefined_flag_GCJ=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_GCJ="$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" + module_expsym_cmds_GCJ="$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" + + else + ld_shlibs_GCJ=no + fi + + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds_GCJ='$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' + else + archive_cmds_GCJ='$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' + fi + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + hardcode_direct_absolute_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds_GCJ='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds_GCJ='$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' + fi + else + archive_cmds_GCJ='$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' + archive_expsym_cmds_GCJ='$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' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + inherit_rpath_GCJ=yes + link_all_deplibs_GCJ=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs_GCJ=yes + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + hardcode_direct_absolute_GCJ=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + export_dynamic_flag_spec_GCJ='$wl-E' + else + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + shrext_cmds=.dll + archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_GCJ=yes + file_list_spec_GCJ='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' + archive_cmds_GCJ='$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' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$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' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' + archive_cmds_GCJ='$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' + hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$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' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + archive_cmds_need_lc_GCJ='no' + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds_GCJ='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds_GCJ='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds_GCJ='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec_GCJ='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='$wl-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='$wl-z,text' + allow_undefined_flag_GCJ='$wl-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='$wl-R,$libdir' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec_GCJ='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GCJ" >&5 +$as_echo "$ld_shlibs_GCJ" >&6; } +test no = "$ld_shlibs_GCJ" && can_build_shared=no + +with_gnu_ld_GCJ=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_GCJ+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_GCJ=no + else + lt_cv_archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GCJ" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_GCJ" >&6; } + archive_cmds_need_lc_GCJ=$lt_cv_archive_cmds_need_lc_GCJ + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || + test -n "$runpath_var_GCJ" || + test yes = "$hardcode_automatic_GCJ"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_GCJ" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GCJ)" && + test no != "$hardcode_minus_L_GCJ"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GCJ" >&5 +$as_echo "$hardcode_action_GCJ" >&6; } + +if test relink = "$hardcode_action_GCJ" || + test yes = "$inherit_rpath_GCJ"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. +set dummy ${ac_tool_prefix}windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RC"; then + ac_cv_prog_RC="$RC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RC="${ac_tool_prefix}windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RC=$ac_cv_prog_RC +if test -n "$RC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 +$as_echo "$RC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RC"; then + ac_ct_RC=$RC + # Extract the first word of "windres", so it can be a program name with args. +set dummy windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RC"; then + ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RC="windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RC=$ac_cv_prog_ac_ct_RC +if test -n "$ac_ct_RC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 +$as_echo "$ac_ct_RC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RC" = x; then + RC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RC=$ac_ct_RC + fi +else + RC="$ac_cv_prog_RC" +fi + + + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +compiler_RC=$CC +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + +lt_cv_prog_compiler_c_o_RC=yes + +if test -n "$compiler"; then + : + + + +fi + +GCC=$lt_save_GCC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS + + +# Ensure the correct file name (and path) conversion function +# is available to the test suite. + +# Propagate --with-aix-soname option to the testsuite. + +## ---------------------- ## +## Gnulib initialisation. ## +## ---------------------- ## + + + + + + + + + # Check whether --enable-cross-guesses was given. +if test "${enable_cross_guesses+set}" = set; then : + enableval=$enable_cross_guesses; if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-cross-guesses" >&5 +$as_echo "$as_me: WARNING: invalid argument supplied to --enable-cross-guesses" >&2;} + enableval=conservative + fi + gl_cross_guesses="$enableval" +else + gl_cross_guesses=conservative +fi + + if test $gl_cross_guesses = risky; then + gl_cross_guess_normal="guessing yes" + gl_cross_guess_inverted="guessing no" + else + gl_cross_guess_normal="guessing no" + gl_cross_guess_inverted="guessing yes" + fi + LIBC_FATAL_STDERR_=1 + export LIBC_FATAL_STDERR_ + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5 +$as_echo_n "checking for C compiler option to allow warnings... " >&6; } +if ${gl_cv_cc_wallow+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest* + echo 'int dummy;' > conftest.c + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cc_wallow='-Wno-error' + else + gl_cv_cc_wallow=none + fi + rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5 +$as_echo "$gl_cv_cc_wallow" >&6; } + case "$gl_cv_cc_wallow" in + none) GL_CFLAG_ALLOW_WARNINGS='' ;; + *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; + esac + + + + if test -n "$CXX" && test "$CXX" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler option to allow warnings" >&5 +$as_echo_n "checking for C++ compiler option to allow warnings... " >&6; } +if ${gl_cv_cxx_wallow+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest* + echo 'int dummy;' > conftest.cc + { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cxx_wallow='-Wno-error' + else + gl_cv_cxx_wallow=none + fi + rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5 +$as_echo "$gl_cv_cxx_wallow" >&6; } + case "$gl_cv_cxx_wallow" in + none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; + *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; + esac + else + GL_CXXFLAG_ALLOW_WARNINGS='' + fi + + + + + GL_CFLAG_GNULIB_WARNINGS='' + if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then + cat > conftest.c <<\EOF + #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-cast-qual + -Wno-conversion + -Wno-float-equal + -Wno-sign-compare + -Wno-undef + -Wno-unused-function + -Wno-unused-parameter + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-float-conversion + #endif + #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wimplicit-fallthrough + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-pedantic + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-sign-conversion + -Wno-type-limits + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 + -Wno-unsuffixed-float-constants + #endif +EOF + gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5 + (eval $gl_command) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + gl_options=`grep -v '#' conftest.out` + for word in $gl_options; do + GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" + done + fi + rm -f conftest.c conftest.out + fi + + + + if true; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' +else + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= +fi + + gl_cond_libtool=true + gl_m4_base='m4' + + + + + + + + + + + + + gl_source_base='lib' + gl_source_base_prefix= + # Autoconf 2.61a.99 and earlier don't support linking a file only + # in VPATH builds. But since GNUmakefile is for maintainer use + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. + GNUmakefile=GNUmakefile + ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" + + + + + # End of code from modules + + + + + + + + + + gltests_libdeps= + gltests_ltlibdeps= + + + + + + + + + + + + + + + gl_source_base='gnulib-tests' + gl_source_base_prefix= + GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS + + gl_module_indicator_condition=$GLtests_WITNESS + + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + + + + + + + + + + + + + + +## ------------- ## +## Documentation ## +## ------------- ## + +HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} + + +## -------- ## +## Outputs. ## +## -------- ## +ac_config_files="$ac_config_files Makefile gnulib-tests/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then + as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then + as_fn_error $? "conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +LT_CONFIG_H=config.h +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then + as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +CONFIG_INCLUDE=config.h + + + GL_libobjs= + GL_ltlibobjs= + GL_libobjdeps= + if test -n "$GL_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' + for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GL_libobjs="$GL_libobjs $i.$ac_objext" + GL_ltlibobjs="$GL_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + GL_LIBOBJS=$GL_libobjs + + GL_LTLIBOBJS=$GL_ltlibobjs + + GL_LIBOBJDEPS=$GL_libobjdeps + + + + GLtests_libobjs= + GLtests_ltlibobjs= + GLtests_libobjdeps= + if test -n "$GLtests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' + for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" + GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + GLtests_LIBOBJS=$GLtests_libobjs + + GLtests_LTLIBOBJS=$GLtests_ltlibobjs + + GLtests_LIBOBJDEPS=$GLtests_libobjdeps + + + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GNU Libtool $as_me 2.4.7, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_links="$ac_config_links" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration links: +$config_links + +Configuration commands: +$config_commands + +Report bugs to <bug-libtool@gnu.org>. +GNU Libtool home page: <http://www.gnu.org/software/libtool/>. +General help using GNU software: <http://www.gnu.org/gethelp/>." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +GNU Libtool config.status 2.4.7 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# + +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +LD_F77='`$ECHO "$LD_F77" | $SED "$delay_single_quote_subst"`' +LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`' +LD_GO='`$ECHO "$LD_GO" | $SED "$delay_single_quote_subst"`' +LD_GCJ='`$ECHO "$LD_GCJ" | $SED "$delay_single_quote_subst"`' +LD_RC='`$ECHO "$LD_RC" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_F77='`$ECHO "$reload_flag_F77" | $SED "$delay_single_quote_subst"`' +reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`' +reload_flag_GO='`$ECHO "$reload_flag_GO" | $SED "$delay_single_quote_subst"`' +reload_flag_GCJ='`$ECHO "$reload_flag_GCJ" | $SED "$delay_single_quote_subst"`' +reload_flag_RC='`$ECHO "$reload_flag_RC" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_F77='`$ECHO "$reload_cmds_F77" | $SED "$delay_single_quote_subst"`' +reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`' +reload_cmds_GO='`$ECHO "$reload_cmds_GO" | $SED "$delay_single_quote_subst"`' +reload_cmds_GCJ='`$ECHO "$reload_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +reload_cmds_RC='`$ECHO "$reload_cmds_RC" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_F77='`$ECHO "$old_archive_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_GO='`$ECHO "$old_archive_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_GCJ='`$ECHO "$old_archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_RC='`$ECHO "$old_archive_cmds_RC" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +compiler_F77='`$ECHO "$compiler_F77" | $SED "$delay_single_quote_subst"`' +compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`' +compiler_GO='`$ECHO "$compiler_GO" | $SED "$delay_single_quote_subst"`' +compiler_GCJ='`$ECHO "$compiler_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_RC='`$ECHO "$compiler_RC" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +GCC_F77='`$ECHO "$GCC_F77" | $SED "$delay_single_quote_subst"`' +GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`' +GCC_GO='`$ECHO "$GCC_GO" | $SED "$delay_single_quote_subst"`' +GCC_GCJ='`$ECHO "$GCC_GCJ" | $SED "$delay_single_quote_subst"`' +GCC_RC='`$ECHO "$GCC_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_F77='`$ECHO "$lt_prog_compiler_no_builtin_flag_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_GO='`$ECHO "$lt_prog_compiler_no_builtin_flag_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "$lt_prog_compiler_no_builtin_flag_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_RC='`$ECHO "$lt_prog_compiler_no_builtin_flag_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_F77='`$ECHO "$lt_prog_compiler_pic_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_GO='`$ECHO "$lt_prog_compiler_pic_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_GCJ='`$ECHO "$lt_prog_compiler_pic_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_RC='`$ECHO "$lt_prog_compiler_pic_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_F77='`$ECHO "$lt_prog_compiler_wl_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_GO='`$ECHO "$lt_prog_compiler_wl_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_GCJ='`$ECHO "$lt_prog_compiler_wl_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_RC='`$ECHO "$lt_prog_compiler_wl_RC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_F77='`$ECHO "$lt_prog_compiler_static_F77" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_GO='`$ECHO "$lt_prog_compiler_static_GO" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_GCJ='`$ECHO "$lt_prog_compiler_static_GCJ" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_RC='`$ECHO "$lt_prog_compiler_static_RC" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_F77='`$ECHO "$lt_cv_prog_compiler_c_o_F77" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_GO='`$ECHO "$lt_cv_prog_compiler_c_o_GO" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_GCJ='`$ECHO "$lt_cv_prog_compiler_c_o_GCJ" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_RC='`$ECHO "$lt_cv_prog_compiler_c_o_RC" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_F77='`$ECHO "$archive_cmds_need_lc_F77" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_GO='`$ECHO "$archive_cmds_need_lc_GO" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_GCJ='`$ECHO "$archive_cmds_need_lc_GCJ" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_RC='`$ECHO "$archive_cmds_need_lc_RC" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_F77='`$ECHO "$enable_shared_with_static_runtimes_F77" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_GO='`$ECHO "$enable_shared_with_static_runtimes_GO" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_GCJ='`$ECHO "$enable_shared_with_static_runtimes_GCJ" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_RC='`$ECHO "$enable_shared_with_static_runtimes_RC" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_F77='`$ECHO "$export_dynamic_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_GO='`$ECHO "$export_dynamic_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_GCJ='`$ECHO "$export_dynamic_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_RC='`$ECHO "$export_dynamic_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_F77='`$ECHO "$whole_archive_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_GO='`$ECHO "$whole_archive_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_GCJ='`$ECHO "$whole_archive_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_RC='`$ECHO "$whole_archive_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_F77='`$ECHO "$compiler_needs_object_F77" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_GO='`$ECHO "$compiler_needs_object_GO" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_GCJ='`$ECHO "$compiler_needs_object_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_RC='`$ECHO "$compiler_needs_object_RC" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_F77='`$ECHO "$old_archive_from_new_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_GO='`$ECHO "$old_archive_from_new_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_GCJ='`$ECHO "$old_archive_from_new_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_RC='`$ECHO "$old_archive_from_new_cmds_RC" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_F77='`$ECHO "$old_archive_from_expsyms_cmds_F77" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_GO='`$ECHO "$old_archive_from_expsyms_cmds_GO" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_GCJ='`$ECHO "$old_archive_from_expsyms_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_RC='`$ECHO "$old_archive_from_expsyms_cmds_RC" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_F77='`$ECHO "$archive_cmds_F77" | $SED "$delay_single_quote_subst"`' +archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`' +archive_cmds_GO='`$ECHO "$archive_cmds_GO" | $SED "$delay_single_quote_subst"`' +archive_cmds_GCJ='`$ECHO "$archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +archive_cmds_RC='`$ECHO "$archive_cmds_RC" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_F77='`$ECHO "$archive_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_GO='`$ECHO "$archive_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_GCJ='`$ECHO "$archive_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_RC='`$ECHO "$archive_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_F77='`$ECHO "$module_cmds_F77" | $SED "$delay_single_quote_subst"`' +module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`' +module_cmds_GO='`$ECHO "$module_cmds_GO" | $SED "$delay_single_quote_subst"`' +module_cmds_GCJ='`$ECHO "$module_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +module_cmds_RC='`$ECHO "$module_cmds_RC" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_F77='`$ECHO "$module_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_GO='`$ECHO "$module_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_GCJ='`$ECHO "$module_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_RC='`$ECHO "$module_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_F77='`$ECHO "$with_gnu_ld_F77" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_GO='`$ECHO "$with_gnu_ld_GO" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_GCJ='`$ECHO "$with_gnu_ld_GCJ" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_RC='`$ECHO "$with_gnu_ld_RC" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_F77='`$ECHO "$allow_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_GO='`$ECHO "$allow_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_GCJ='`$ECHO "$allow_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_RC='`$ECHO "$allow_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_F77='`$ECHO "$no_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_GO='`$ECHO "$no_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_GCJ='`$ECHO "$no_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_RC='`$ECHO "$no_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_F77='`$ECHO "$hardcode_libdir_flag_spec_F77" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_GO='`$ECHO "$hardcode_libdir_flag_spec_GO" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_GCJ='`$ECHO "$hardcode_libdir_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_RC='`$ECHO "$hardcode_libdir_flag_spec_RC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_F77='`$ECHO "$hardcode_libdir_separator_F77" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_GO='`$ECHO "$hardcode_libdir_separator_GO" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_GCJ='`$ECHO "$hardcode_libdir_separator_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_RC='`$ECHO "$hardcode_libdir_separator_RC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_F77='`$ECHO "$hardcode_direct_F77" | $SED "$delay_single_quote_subst"`' +hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_GO='`$ECHO "$hardcode_direct_GO" | $SED "$delay_single_quote_subst"`' +hardcode_direct_GCJ='`$ECHO "$hardcode_direct_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_direct_RC='`$ECHO "$hardcode_direct_RC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_F77='`$ECHO "$hardcode_direct_absolute_F77" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_GO='`$ECHO "$hardcode_direct_absolute_GO" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_GCJ='`$ECHO "$hardcode_direct_absolute_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_RC='`$ECHO "$hardcode_direct_absolute_RC" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_F77='`$ECHO "$hardcode_minus_L_F77" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_GO='`$ECHO "$hardcode_minus_L_GO" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_GCJ='`$ECHO "$hardcode_minus_L_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_RC='`$ECHO "$hardcode_minus_L_RC" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_F77='`$ECHO "$hardcode_shlibpath_var_F77" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_GO='`$ECHO "$hardcode_shlibpath_var_GO" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_GCJ='`$ECHO "$hardcode_shlibpath_var_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_RC='`$ECHO "$hardcode_shlibpath_var_RC" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_F77='`$ECHO "$hardcode_automatic_F77" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_GO='`$ECHO "$hardcode_automatic_GO" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_GCJ='`$ECHO "$hardcode_automatic_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_RC='`$ECHO "$hardcode_automatic_RC" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_F77='`$ECHO "$inherit_rpath_F77" | $SED "$delay_single_quote_subst"`' +inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`' +inherit_rpath_GO='`$ECHO "$inherit_rpath_GO" | $SED "$delay_single_quote_subst"`' +inherit_rpath_GCJ='`$ECHO "$inherit_rpath_GCJ" | $SED "$delay_single_quote_subst"`' +inherit_rpath_RC='`$ECHO "$inherit_rpath_RC" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_F77='`$ECHO "$link_all_deplibs_F77" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_GO='`$ECHO "$link_all_deplibs_GO" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_GCJ='`$ECHO "$link_all_deplibs_GCJ" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_RC='`$ECHO "$link_all_deplibs_RC" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_F77='`$ECHO "$always_export_symbols_F77" | $SED "$delay_single_quote_subst"`' +always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`' +always_export_symbols_GO='`$ECHO "$always_export_symbols_GO" | $SED "$delay_single_quote_subst"`' +always_export_symbols_GCJ='`$ECHO "$always_export_symbols_GCJ" | $SED "$delay_single_quote_subst"`' +always_export_symbols_RC='`$ECHO "$always_export_symbols_RC" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_F77='`$ECHO "$export_symbols_cmds_F77" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_GO='`$ECHO "$export_symbols_cmds_GO" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_GCJ='`$ECHO "$export_symbols_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_RC='`$ECHO "$export_symbols_cmds_RC" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_F77='`$ECHO "$exclude_expsyms_F77" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_GO='`$ECHO "$exclude_expsyms_GO" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_GCJ='`$ECHO "$exclude_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_RC='`$ECHO "$exclude_expsyms_RC" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_F77='`$ECHO "$include_expsyms_F77" | $SED "$delay_single_quote_subst"`' +include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`' +include_expsyms_GO='`$ECHO "$include_expsyms_GO" | $SED "$delay_single_quote_subst"`' +include_expsyms_GCJ='`$ECHO "$include_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' +include_expsyms_RC='`$ECHO "$include_expsyms_RC" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_F77='`$ECHO "$prelink_cmds_F77" | $SED "$delay_single_quote_subst"`' +prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`' +prelink_cmds_GO='`$ECHO "$prelink_cmds_GO" | $SED "$delay_single_quote_subst"`' +prelink_cmds_GCJ='`$ECHO "$prelink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +prelink_cmds_RC='`$ECHO "$prelink_cmds_RC" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_F77='`$ECHO "$postlink_cmds_F77" | $SED "$delay_single_quote_subst"`' +postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`' +postlink_cmds_GO='`$ECHO "$postlink_cmds_GO" | $SED "$delay_single_quote_subst"`' +postlink_cmds_GCJ='`$ECHO "$postlink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' +postlink_cmds_RC='`$ECHO "$postlink_cmds_RC" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_F77='`$ECHO "$file_list_spec_F77" | $SED "$delay_single_quote_subst"`' +file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`' +file_list_spec_GO='`$ECHO "$file_list_spec_GO" | $SED "$delay_single_quote_subst"`' +file_list_spec_GCJ='`$ECHO "$file_list_spec_GCJ" | $SED "$delay_single_quote_subst"`' +file_list_spec_RC='`$ECHO "$file_list_spec_RC" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_F77='`$ECHO "$hardcode_action_F77" | $SED "$delay_single_quote_subst"`' +hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`' +hardcode_action_GO='`$ECHO "$hardcode_action_GO" | $SED "$delay_single_quote_subst"`' +hardcode_action_GCJ='`$ECHO "$hardcode_action_GCJ" | $SED "$delay_single_quote_subst"`' +hardcode_action_RC='`$ECHO "$hardcode_action_RC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_F77='`$ECHO "$compiler_lib_search_dirs_F77" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_GO='`$ECHO "$compiler_lib_search_dirs_GO" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_GCJ='`$ECHO "$compiler_lib_search_dirs_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_RC='`$ECHO "$compiler_lib_search_dirs_RC" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_F77='`$ECHO "$predep_objects_F77" | $SED "$delay_single_quote_subst"`' +predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`' +predep_objects_GO='`$ECHO "$predep_objects_GO" | $SED "$delay_single_quote_subst"`' +predep_objects_GCJ='`$ECHO "$predep_objects_GCJ" | $SED "$delay_single_quote_subst"`' +predep_objects_RC='`$ECHO "$predep_objects_RC" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_F77='`$ECHO "$postdep_objects_F77" | $SED "$delay_single_quote_subst"`' +postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`' +postdep_objects_GO='`$ECHO "$postdep_objects_GO" | $SED "$delay_single_quote_subst"`' +postdep_objects_GCJ='`$ECHO "$postdep_objects_GCJ" | $SED "$delay_single_quote_subst"`' +postdep_objects_RC='`$ECHO "$postdep_objects_RC" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +predeps_F77='`$ECHO "$predeps_F77" | $SED "$delay_single_quote_subst"`' +predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`' +predeps_GO='`$ECHO "$predeps_GO" | $SED "$delay_single_quote_subst"`' +predeps_GCJ='`$ECHO "$predeps_GCJ" | $SED "$delay_single_quote_subst"`' +predeps_RC='`$ECHO "$predeps_RC" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_F77='`$ECHO "$postdeps_F77" | $SED "$delay_single_quote_subst"`' +postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`' +postdeps_GO='`$ECHO "$postdeps_GO" | $SED "$delay_single_quote_subst"`' +postdeps_GCJ='`$ECHO "$postdeps_GCJ" | $SED "$delay_single_quote_subst"`' +postdeps_RC='`$ECHO "$postdeps_RC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_F77='`$ECHO "$compiler_lib_search_path_F77" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_GO='`$ECHO "$compiler_lib_search_path_GO" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_GCJ='`$ECHO "$compiler_lib_search_path_GCJ" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_RC='`$ECHO "$compiler_lib_search_path_RC" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in AS \ +DLLTOOL \ +OBJDUMP \ +SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +FILECMD \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +sharedlib_from_linklib_cmd \ +AR \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +LD_F77 \ +LD_FC \ +LD_GO \ +LD_GCJ \ +LD_RC \ +reload_flag_CXX \ +reload_flag_F77 \ +reload_flag_FC \ +reload_flag_GO \ +reload_flag_GCJ \ +reload_flag_RC \ +compiler_CXX \ +compiler_F77 \ +compiler_FC \ +compiler_GO \ +compiler_GCJ \ +compiler_RC \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_no_builtin_flag_F77 \ +lt_prog_compiler_no_builtin_flag_FC \ +lt_prog_compiler_no_builtin_flag_GO \ +lt_prog_compiler_no_builtin_flag_GCJ \ +lt_prog_compiler_no_builtin_flag_RC \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_pic_F77 \ +lt_prog_compiler_pic_FC \ +lt_prog_compiler_pic_GO \ +lt_prog_compiler_pic_GCJ \ +lt_prog_compiler_pic_RC \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_wl_F77 \ +lt_prog_compiler_wl_FC \ +lt_prog_compiler_wl_GO \ +lt_prog_compiler_wl_GCJ \ +lt_prog_compiler_wl_RC \ +lt_prog_compiler_static_CXX \ +lt_prog_compiler_static_F77 \ +lt_prog_compiler_static_FC \ +lt_prog_compiler_static_GO \ +lt_prog_compiler_static_GCJ \ +lt_prog_compiler_static_RC \ +lt_cv_prog_compiler_c_o_CXX \ +lt_cv_prog_compiler_c_o_F77 \ +lt_cv_prog_compiler_c_o_FC \ +lt_cv_prog_compiler_c_o_GO \ +lt_cv_prog_compiler_c_o_GCJ \ +lt_cv_prog_compiler_c_o_RC \ +export_dynamic_flag_spec_CXX \ +export_dynamic_flag_spec_F77 \ +export_dynamic_flag_spec_FC \ +export_dynamic_flag_spec_GO \ +export_dynamic_flag_spec_GCJ \ +export_dynamic_flag_spec_RC \ +whole_archive_flag_spec_CXX \ +whole_archive_flag_spec_F77 \ +whole_archive_flag_spec_FC \ +whole_archive_flag_spec_GO \ +whole_archive_flag_spec_GCJ \ +whole_archive_flag_spec_RC \ +compiler_needs_object_CXX \ +compiler_needs_object_F77 \ +compiler_needs_object_FC \ +compiler_needs_object_GO \ +compiler_needs_object_GCJ \ +compiler_needs_object_RC \ +with_gnu_ld_CXX \ +with_gnu_ld_F77 \ +with_gnu_ld_FC \ +with_gnu_ld_GO \ +with_gnu_ld_GCJ \ +with_gnu_ld_RC \ +allow_undefined_flag_CXX \ +allow_undefined_flag_F77 \ +allow_undefined_flag_FC \ +allow_undefined_flag_GO \ +allow_undefined_flag_GCJ \ +allow_undefined_flag_RC \ +no_undefined_flag_CXX \ +no_undefined_flag_F77 \ +no_undefined_flag_FC \ +no_undefined_flag_GO \ +no_undefined_flag_GCJ \ +no_undefined_flag_RC \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_flag_spec_F77 \ +hardcode_libdir_flag_spec_FC \ +hardcode_libdir_flag_spec_GO \ +hardcode_libdir_flag_spec_GCJ \ +hardcode_libdir_flag_spec_RC \ +hardcode_libdir_separator_CXX \ +hardcode_libdir_separator_F77 \ +hardcode_libdir_separator_FC \ +hardcode_libdir_separator_GO \ +hardcode_libdir_separator_GCJ \ +hardcode_libdir_separator_RC \ +exclude_expsyms_CXX \ +exclude_expsyms_F77 \ +exclude_expsyms_FC \ +exclude_expsyms_GO \ +exclude_expsyms_GCJ \ +exclude_expsyms_RC \ +include_expsyms_CXX \ +include_expsyms_F77 \ +include_expsyms_FC \ +include_expsyms_GO \ +include_expsyms_GCJ \ +include_expsyms_RC \ +file_list_spec_CXX \ +file_list_spec_F77 \ +file_list_spec_FC \ +file_list_spec_GO \ +file_list_spec_GCJ \ +file_list_spec_RC \ +compiler_lib_search_dirs_CXX \ +compiler_lib_search_dirs_F77 \ +compiler_lib_search_dirs_FC \ +compiler_lib_search_dirs_GO \ +compiler_lib_search_dirs_GCJ \ +compiler_lib_search_dirs_RC \ +predep_objects_CXX \ +predep_objects_F77 \ +predep_objects_FC \ +predep_objects_GO \ +predep_objects_GCJ \ +predep_objects_RC \ +postdep_objects_CXX \ +postdep_objects_F77 \ +postdep_objects_FC \ +postdep_objects_GO \ +postdep_objects_GCJ \ +postdep_objects_RC \ +predeps_CXX \ +predeps_F77 \ +predeps_FC \ +predeps_GO \ +predeps_GCJ \ +predeps_RC \ +postdeps_CXX \ +postdeps_F77 \ +postdeps_FC \ +postdeps_GO \ +postdeps_GCJ \ +postdeps_RC \ +compiler_lib_search_path_CXX \ +compiler_lib_search_path_F77 \ +compiler_lib_search_path_FC \ +compiler_lib_search_path_GO \ +compiler_lib_search_path_GCJ \ +compiler_lib_search_path_RC; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +reload_cmds_F77 \ +reload_cmds_FC \ +reload_cmds_GO \ +reload_cmds_GCJ \ +reload_cmds_RC \ +old_archive_cmds_CXX \ +old_archive_cmds_F77 \ +old_archive_cmds_FC \ +old_archive_cmds_GO \ +old_archive_cmds_GCJ \ +old_archive_cmds_RC \ +old_archive_from_new_cmds_CXX \ +old_archive_from_new_cmds_F77 \ +old_archive_from_new_cmds_FC \ +old_archive_from_new_cmds_GO \ +old_archive_from_new_cmds_GCJ \ +old_archive_from_new_cmds_RC \ +old_archive_from_expsyms_cmds_CXX \ +old_archive_from_expsyms_cmds_F77 \ +old_archive_from_expsyms_cmds_FC \ +old_archive_from_expsyms_cmds_GO \ +old_archive_from_expsyms_cmds_GCJ \ +old_archive_from_expsyms_cmds_RC \ +archive_cmds_CXX \ +archive_cmds_F77 \ +archive_cmds_FC \ +archive_cmds_GO \ +archive_cmds_GCJ \ +archive_cmds_RC \ +archive_expsym_cmds_CXX \ +archive_expsym_cmds_F77 \ +archive_expsym_cmds_FC \ +archive_expsym_cmds_GO \ +archive_expsym_cmds_GCJ \ +archive_expsym_cmds_RC \ +module_cmds_CXX \ +module_cmds_F77 \ +module_cmds_FC \ +module_cmds_GO \ +module_cmds_GCJ \ +module_cmds_RC \ +module_expsym_cmds_CXX \ +module_expsym_cmds_F77 \ +module_expsym_cmds_FC \ +module_expsym_cmds_GO \ +module_expsym_cmds_GCJ \ +module_expsym_cmds_RC \ +export_symbols_cmds_CXX \ +export_symbols_cmds_F77 \ +export_symbols_cmds_FC \ +export_symbols_cmds_GO \ +export_symbols_cmds_GCJ \ +export_symbols_cmds_RC \ +prelink_cmds_CXX \ +prelink_cmds_F77 \ +prelink_cmds_FC \ +prelink_cmds_GO \ +prelink_cmds_GCJ \ +prelink_cmds_RC \ +postlink_cmds_CXX \ +postlink_cmds_F77 \ +postlink_cmds_FC \ +postlink_cmds_GO \ +postlink_cmds_GCJ \ +postlink_cmds_RC; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + + + + + + + + + + + + +GNUmakefile=$GNUmakefile + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; + "tests/atconfig") CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' <confdefs.h | sed ' +s/'"$ac_delim"'/"\\\ +"/g' >>$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + :L) + # + # CONFIG_LINK + # + + if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then + : + else + # Prefer the file from the source tree if names are identical. + if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then + ac_source=$srcdir/$ac_source + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 +$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} + + if test ! -r "$ac_source"; then + as_fn_error $? "$ac_source: file not found" "$LINENO" 5 + fi + rm -f "$ac_file" + + # Try a relative symlink, then a hard link, then a copy. + case $ac_source in + [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; + *) ac_rel_source=$ac_top_build_prefix$ac_source ;; + esac + ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || + ln "$ac_source" "$ac_file" 2>/dev/null || + cp -p "$ac_source" "$ac_file" || + as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 + fi + ;; + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "tests/atconfig":C) cat >tests/atconfig <<ATEOF +# Configurable variable values for building test suites. +# Generated by $0. +# Copyright (C) 2012 Free Software Foundation, Inc. + +# The test suite will define top_srcdir=$at_top_srcdir/../.. etc. +at_testdir='tests' +abs_builddir='$ac_abs_builddir' +at_srcdir='$ac_srcdir' +abs_srcdir='$ac_abs_srcdir' +at_top_srcdir='$ac_top_srcdir' +abs_top_srcdir='$ac_abs_top_srcdir' +at_top_build_prefix='$ac_top_build_prefix' +abs_top_builddir='$ac_abs_top_builddir' + +# Backward compatibility with Autotest <= 2.59b: +at_top_builddir=\$at_top_build_prefix + +AUTOTEST_PATH='tests' + +SHELL=\${CONFIG_SHELL-'$SHELL'} +ATEOF + ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +# The names of the tagged configurations supported by this script. +available_tags='CXX F77 FC GO GCJ RC ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Assembler program. +AS=$lt_AS + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Object dumper program. +OBJDUMP=$lt_OBJDUMP + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: F77 + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_F77 +reload_cmds=$lt_reload_cmds_F77 + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_F77 + +# A language specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU compiler? +with_gcc=$GCC_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_F77 + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_F77 + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_F77 + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_F77 + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_F77 + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_F77 + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_F77 + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77 + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_F77 +postdep_objects=$lt_postdep_objects_F77 +predeps=$lt_predeps_F77 +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# ### END LIBTOOL TAG CONFIG: F77 +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: FC + +# The linker used to build libraries. +LD=$lt_LD_FC + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_FC +reload_cmds=$lt_reload_cmds_FC + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_FC + +# A language specific compiler. +CC=$lt_compiler_FC + +# Is the compiler the GNU compiler? +with_gcc=$GCC_FC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_FC + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_FC + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_FC + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_FC + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_FC + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_FC +archive_expsym_cmds=$lt_archive_expsym_cmds_FC + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_FC +module_expsym_cmds=$lt_module_expsym_cmds_FC + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_FC + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_FC + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_FC + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_FC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_FC + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_FC + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_FC + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_FC + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_FC + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_FC + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_FC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_FC + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_FC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_FC + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_FC + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_FC + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_FC + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_FC + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_FC +postdep_objects=$lt_postdep_objects_FC +predeps=$lt_predeps_FC +postdeps=$lt_postdeps_FC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_FC + +# ### END LIBTOOL TAG CONFIG: FC +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: GO + +# The linker used to build libraries. +LD=$lt_LD_GO + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_GO +reload_cmds=$lt_reload_cmds_GO + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_GO + +# A language specific compiler. +CC=$lt_compiler_GO + +# Is the compiler the GNU compiler? +with_gcc=$GCC_GO + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GO + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GO + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GO + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GO + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GO + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GO + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GO + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GO + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GO + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_GO + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GO + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GO + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_GO +archive_expsym_cmds=$lt_archive_expsym_cmds_GO + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_GO +module_expsym_cmds=$lt_module_expsym_cmds_GO + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_GO + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GO + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GO + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GO + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GO + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_GO + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_GO + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_GO + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GO + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_GO + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_GO + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GO + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_GO + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GO + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GO + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GO + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_GO + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_GO + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_GO + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GO + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GO + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_GO +postdep_objects=$lt_postdep_objects_GO +predeps=$lt_predeps_GO +postdeps=$lt_postdeps_GO + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GO + +# ### END LIBTOOL TAG CONFIG: GO +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: GCJ + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_GCJ +reload_cmds=$lt_reload_cmds_GCJ + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_GCJ + +# A language specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU compiler? +with_gcc=$GCC_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_GCJ + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_GCJ + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_GCJ + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_GCJ + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_GCJ + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_GCJ + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_GCJ + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_GCJ +postdep_objects=$lt_postdep_objects_GCJ +predeps=$lt_predeps_GCJ +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# ### END LIBTOOL TAG CONFIG: GCJ +_LT_EOF + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: RC + +# The linker used to build libraries. +LD=$lt_LD_RC + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_RC +reload_cmds=$lt_reload_cmds_RC + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_RC + +# A language specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU compiler? +with_gcc=$GCC_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_RC + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_RC + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_RC + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_RC + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_RC + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_RC + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_RC + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_RC + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_RC +postdep_objects=$lt_postdep_objects_RC +predeps=$lt_predeps_RC +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# ### END LIBTOOL TAG CONFIG: RC +_LT_EOF + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/BUILD/libtool-2.4.7/configure.ac b/BUILD/libtool-2.4.7/configure.ac new file mode 100644 index 0000000..64c7642 --- /dev/null +++ b/BUILD/libtool-2.4.7/configure.ac @@ -0,0 +1,186 @@ +# Process this file with autoconf to create configure. -*- autoconf -*- + +# Copyright (C) 2001, 2004-2005, 2008, 2010-2019, 2021-2022 Free +# Software Foundation, Inc. +# Written by Gary V. Vaughan, 2001 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AC_PREREQ(2.64) +dnl Oldest automake required for bootstrap is below in AM_INIT_AUTOMAKE. + + +## ------------------------ ## +## Autoconf initialisation. ## +## ------------------------ ## +AC_INIT([GNU Libtool], + m4_esyscmd([build-aux/git-version-gen .tarball-version]), + [bug-libtool@gnu.org]) +m4_ifndef([AC_PACKAGE_URL], + [AC_SUBST([PACKAGE_URL], [http://www.gnu.org/s/libtool/])]) + +# Remove this when a released Autoconf is capable of bootstrapping +# Libtool without it (probably after autoconf-2.70). +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) + +# Since we already declare these directories in this file, save those +# choices, and push the results into Makefile.am to avoid declaring +# them in two places making renames error prone, and where copies +# might get out of sync. +m4_define([AC_CONFIG_AUX_DIR], + m4_defn([AC_CONFIG_AUX_DIR])[AC_SUBST([aux_dir], [$1])]) +m4_define([LT_CONFIG_LTDL_DIR], + m4_defn([LT_CONFIG_LTDL_DIR])[AC_SUBST([ltdl_dir], [$1])]) +m4_define([AC_CONFIG_MACRO_DIRS], + m4_defn([AC_CONFIG_MACRO_DIRS])[AC_SUBST([macro_dir], [$1])]) + +AC_CONFIG_HEADERS([config.h:config-h.in]) +AC_CONFIG_SRCDIR([libtoolize.in]) +LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AC_CONFIG_LIBOBJ_DIR([libltdl]) + +package_revision=`$SHELL $ac_aux_dir/git-version-gen .tarball-version` +AC_SUBST([package_revision]) + +## ------------------------ ## +## Autotest initialisation. ## +## ------------------------ ## + +AC_CONFIG_TESTDIR([tests]) +AC_SUBST([AUTOM4TE], [${AUTOM4TE=autom4te}]) +AC_SUBST([AUTOTEST], ['$(AUTOM4TE) --language=autotest']) + + +## ---------------------------------------- ## +## Display a configure time version banner. ## +## ---------------------------------------- ## + +# This is a sanity check so we can see what version is used in bug reports. +AS_BOX([Configuring AC_PACKAGE_TARNAME AC_PACKAGE_VERSION]) +echo + + +## ------------ ## +## Shell tools. ## +## ------------ ## + +AC_PROG_GNU_M4 + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## + +dnl These are bootstrap requirements! Once built, libtool may work with +dnl much older releases of autoconf and automake. See release notes. +dnl 1.11 is needed for color-tests, 1.11.1 fixes a security issue. +AM_INIT_AUTOMAKE([1.11.1 gnu subdir-objects dist-xz]) +AM_SILENT_RULES([yes]) + + +## ------------------------- ## +## Autobuild initialisation. ## +## ------------------------- ## + +# You can set autobuild_mode at configure time to specify a "unique" +# string for this build. +: ${autobuild_mode=default} +AB_VERSION='AC_PACKAGE_VERSION' +AB_INIT([$autobuild_mode]) + + +dnl Make sure config.status is regenerated when the version timestamp changes +AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/.version']) + + +## ------------------------------- ## +## Libtool specific configuration. ## +## ------------------------------- ## + +AC_SUBST([aclocaldir], ["\$(datadir)/aclocal"]) +AC_SUBST([pkgdatadir], ["\$(datadir)/$PACKAGE"]) + +AC_ARG_ENABLE(ltdl-install, + [AS_HELP_STRING([--disable-ltdl-install], [do not install libltdl])]) +if test set != "${enable_ltdl_install+set}"; then + enable_ltdl_install=yes +fi + +# The list of scripts required to build libltdl, and which need to be +# installed by libtoolize --ltdl, and consequently need to be placed in +# $pkgdatadir by our make install rule. +pkgaux_scripts="compile config.guess config.sub depcomp install-sh missing" +AC_SUBST([pkgaux_scripts]) + + +## ---------------- ## +## compiler checks. ## +## ---------------- ## + +# Need to be sure that we have a working C compiler, otherwise even with +# a good C compiler: if the following C++ tests fail, the whole libtool +# build fails! +AC_PROG_CC +GL_EARLY +AM_PROG_CC_C_O +AC_PROG_CPP + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## +LT_INIT([dlopen win32-dll]) +_LT_SET_OPTION([LTDL_INIT], [nonrecursive]) +_LTDL_SETUP + +# Enable all the language support we can +LT_LANG(C++) +LT_LANG(Fortran 77) +LT_LANG(Fortran) +LT_LANG(Go) +LT_LANG(Java) +LT_LANG(Windows Resource) + +# Ensure the correct file name (and path) conversion function +# is available to the test suite. +AC_SUBST([to_host_file_cmd])dnl +AC_SUBST([to_tool_file_cmd])dnl + +# Propagate --with-aix-soname option to the testsuite. +AC_SUBST([with_aix_soname])dnl + +## ---------------------- ## +## Gnulib initialisation. ## +## ---------------------- ## +GL_INIT + +## ------------- ## +## Documentation ## +## ------------- ## +AM_MISSING_PROG([HELP2MAN], [help2man]) + +## -------- ## +## Outputs. ## +## -------- ## +AC_CONFIG_FILES([Makefile gnulib-tests/Makefile]) +AC_OUTPUT diff --git a/BUILD/libtool-2.4.7/doc/PLATFORMS b/BUILD/libtool-2.4.7/doc/PLATFORMS new file mode 100644 index 0000000..eb8ee73 --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/PLATFORMS @@ -0,0 +1,162 @@ +------------------------------------------------------- +canonical host name compiler libtool results + (tools versions) release +------------------------------------------------------- +alpha-dec-osf5.1 cc 1.3e ok (1.910) +alpha-dec-osf4.0f gcc 1.3e ok (1.910) +alpha-dec-osf4.0f cc 1.3e ok (1.910) +alpha-dec-osf3.2 gcc 0.8 ok +alpha-dec-osf3.2 cc 0.8 ok +alpha-dec-osf2.1 gcc 1.2f NS +alpha*-unknown-linux-gnu gcc 1.3b ok + (egcs-1.1.2, GNU ld 2.9.1.0.23) +hppa2.0w-hp-hpux11.00 cc 1.2f ok +hppa2.0-hp-hpux10.20 cc 1.3.2 ok +hppa1.1-hp-hpux10.20 gcc 1.2f ok +hppa1.1-hp-hpux10.20 cc 1.3c ok (1.821) +hppa1.1-hp-hpux10.10 gcc 1.2f ok +hppa1.1-hp-hpux10.10 cc 1.2f ok +hppa1.1-hp-hpux9.07 gcc 1.2f ok +hppa1.1-hp-hpux9.07 cc 1.2f ok +hppa1.1-hp-hpux9.05 gcc 1.2f ok +hppa1.1-hp-hpux9.05 cc 1.2f ok +hppa1.1-hp-hpux9.01 gcc 1.2f ok +hppa1.1-hp-hpux9.01 cc 1.2f ok +i*86-*-beos gcc 1.2f ok +i*86-*-bsdi4.0.1 gcc 1.3c ok + (gcc-2.7.2.1) +i*86-*-bsdi4.0 gcc 1.2f ok +i*86-*-bsdi3.1 gcc 1.2e NS +i*86-*-bsdi3.0 gcc 1.2e NS +i*86-*-bsdi2.1 gcc 1.2e NS +i*86-pc-cygwin gcc 1.3b NS + (egcs-1.1 stock b20.1 compiler) +i*86-*-dguxR4.20MU01 gcc 1.2 ok +i*86-*-freebsd4.3 gcc 1.3e ok (1.912) +i*86-*-freebsdelf4.0 gcc 1.3c ok + (egcs-1.1.2) +i*86-*-freebsdelf3.2 gcc 1.3c ok + (gcc-2.7.2.1) +i*86-*-freebsdelf3.1 gcc 1.3c ok + (gcc-2.7.2.1) +i*86-*-freebsdelf3.0 gcc 1.3c ok +i*86-*-freebsd3.0 gcc 1.2e ok +i*86-*-freebsd2.2.8 gcc 1.3c ok + (gcc-2.7.2.1) +i*86-*-freebsd2.2.6 gcc 1.3b ok + (egcs-1.1 & gcc-2.7.2.1, native ld) +i*86-*-freebsd2.1.5 gcc 0.5 ok +i*86-*-netbsd1.5 gcc 1.3e ok (1.901) + (egcs-1.1.2) +i*86-*-netbsd1.4 gcc 1.3c ok + (egcs-1.1.1) +i*86-*-netbsd1.4.3A gcc 1.3e ok (1.901) +i*86-*-netbsd1.3.3 gcc 1.3c ok + (gcc-2.7.2.2+myc2) +i*86-*-netbsd1.3.2 gcc 1.2e ok +i*86-*-netbsd1.3I gcc 1.2e ok + (egcs 1.1?) +i*86-*-netbsd1.2 gcc 0.9g ok +i*86-*-linux-gnu gcc 1.3e ok (1.901) + (Red Hat 7.0, gcc "2.96") +i*86-*-linux-gnu gcc 1.3e ok (1.911) + (SuSE 7.0, gcc 2.95.2) +i*86-*-linux-gnulibc1 gcc 1.2f ok +i*86-*-openbsd2.5 gcc 1.3c ok + (gcc-2.8.1) +i*86-*-openbsd2.4 gcc 1.3c ok + (gcc-2.8.1) +i*86-*-solaris2.7 gcc 1.3b ok + (egcs-1.1.2, native ld) +i*86-*-solaris2.6 gcc 1.2f ok +i*86-*-solaris2.5.1 gcc 1.2f ok +i*86-ncr-sysv4.3.03 gcc 1.2f ok +i*86-ncr-sysv4.3.03 cc 1.2e ok + (cc -Hnocopyr) +i*86-pc-sco3.2v5.0.5 cc 1.3c ok +i*86-pc-sco3.2v5.0.5 gcc 1.3c ok + (gcc 95q4c) +i*86-pc-sco3.2v5.0.5 gcc 1.3c ok + (egcs-1.1.2) +i*86-sco-sysv5uw7.1.1 gcc 1.3e ok (1.901) + (gcc-2.95.2, SCO linker) +i*86-UnixWare7.1.0-sysv5 cc 1.3c ok +i*86-UnixWare7.1.0-sysv5 gcc 1.3c ok + (egcs-1.1.1) +m68k-next-nextstep3 gcc 1.2f NS +m68k-sun-sunos4.1.1 gcc 1.2f NS + (gcc-2.5.7) +m88k-dg-dguxR4.12TMU01 gcc 1.2 ok +m88k-motorola-sysv4 gcc 1.3 ok + (egcs-1.1.2) +mips-sgi-irix6.5 gcc 1.2f ok + (gcc-2.8.1) +mips-sgi-irix6.4 gcc 1.2f ok +mips-sgi-irix6.3 gcc 1.3b ok + (egcs-1.1.2, native ld) +mips-sgi-irix6.3 cc 1.3b ok + (cc 7.0) +mips-sgi-irix6.2 gcc 1.2f ok +mips-sgi-irix6.2 cc 0.9 ok +mips-sgi-irix5.3 gcc 1.2f ok + (egcs-1.1.1) +mips-sgi-irix5.3 gcc 1.2f NS + (gcc-2.6.3) +mips-sgi-irix5.3 cc 0.8 ok +mips-sgi-irix5.2 gcc 1.3b ok + (egcs-1.1.2, native ld) +mips-sgi-irix5.2 cc 1.3b ok + (cc 3.18) +mips-sni-sysv4 cc 1.3.5 ok + (Siemens C-compiler) +mips-sni-sysv4 gcc 1.3.5 ok + (gcc-2.7.2.3, GNU assembler 2.8.1, native ld) +mipsel-unknown-openbsd2.1 gcc 1.0 ok +powerpc-apple-darwin6.4 gcc 1.5 ok +(apple dev tools released 12/2002) +powerpc-ibm-aix4.3.1.0 gcc 1.2f ok + (egcs-1.1.1) +powerpc-ibm-aix4.2.1.0 gcc 1.2f ok + (egcs-1.1.1) +powerpc-ibm-aix4.1.5.0 gcc 1.2f ok + (egcs-1.1.1) +powerpc-ibm-aix4.1.5.0 gcc 1.2f NS + (gcc-2.8.1) +powerpc-ibm-aix4.1.4.0 gcc 1.0 ok +powerpc-ibm-aix4.1.4.0 xlc 1.0i ok +rs6000-ibm-aix4.1.5.0 gcc 1.2f ok + (gcc-2.7.2) +rs6000-ibm-aix4.1.4.0 gcc 1.2f ok + (gcc-2.7.2) +rs6000-ibm-aix3.2.5 gcc 1.0i ok +rs6000-ibm-aix3.2.5 xlc 1.0i ok +sparc-sun-solaris2.8 gcc 1.3e ok (1.913) + (gcc-2.95.3 & native ld) +sparc-sun-solaris2.7 gcc 1.3e ok (1.913) + (gcc-2.95.3 & native ld) +sparc-sun-solaris2.6 gcc 1.3e ok (1.913) + (gcc-2.95.3 & native ld) +sparc-sun-solaris2.5.1 gcc 1.3e ok (1.911) +sparc-sun-solaris2.5 gcc 1.3b ok + (egcs-1.1.2, GNU ld 2.9.1 & native ld) +sparc-sun-solaris2.5 cc 1.3b ok + (SC 3.0.1) +sparc-sun-solaris2.4 gcc 1.0a ok +sparc-sun-solaris2.4 cc 1.0a ok +sparc-sun-solaris2.3 gcc 1.2f ok +sparc-sun-sunos4.1.4 gcc 1.2f ok +sparc-sun-sunos4.1.4 cc 1.0f ok +sparc-sun-sunos4.1.3_U1 gcc 1.2f ok +sparc-sun-sunos4.1.3C gcc 1.2f ok +sparc-sun-sunos4.1.3 gcc 1.3b ok + (egcs-1.1.2, GNU ld 2.9.1 & native ld) +sparc-sun-sunos4.1.3 cc 1.3b ok +sparc-unknown-bsdi4.0 gcc 1.2c ok +sparc-unknown-linux-gnulibc1 gcc 1.2f ok +sparc-unknown-linux-gnu gcc 1.3b ok + (egcs-1.1.2, GNU ld 2.9.1.0.23) +sparc64-unknown-linux-gnu gcc 1.2f ok + +Notes: +- "ok" means "all tests passed". +- "NS" means "Not Shared", but OK for static libraries diff --git a/BUILD/libtool-2.4.7/doc/fdl.texi b/BUILD/libtool-2.4.7/doc/fdl.texi new file mode 100644 index 0000000..eaf3da0 --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/fdl.texi @@ -0,0 +1,505 @@ +@c The GNU Free Documentation License. +@center Version 1.3, 3 November 2008 + +@c This file is intended to be included within another document, +@c hence no sectioning command or @node. + +@display +Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +@uref{https://fsf.org/} + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +@end display + +@enumerate 0 +@item +PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document @dfn{free} in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of ``copyleft'', which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + +@item +APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The ``Document'', below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as ``you''. You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A ``Modified Version'' of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A ``Secondary Section'' is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The ``Invariant Sections'' are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The ``Cover Texts'' are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A ``Transparent'' copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not ``Transparent'' is called ``Opaque''. + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, La@TeX{} input +format, SGML or XML using a publicly available +DTD, and standard-conforming simple HTML, +PostScript or PDF designed for human modification. Examples +of transparent image formats include PNG, XCF and +JPG@. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, SGML or +XML for which the DTD and/or processing tools are +not generally available, and the machine-generated HTML, +PostScript or PDF produced by some word processors for +output purposes only. + +The ``Title Page'' means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, ``Title Page'' means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +The ``publisher'' means any person or entity that distributes copies +of the Document to the public. + +A section ``Entitled XYZ'' means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as ``Acknowledgements'', +``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' +of such a section when you modify the Document means that it remains a +section ``Entitled XYZ'' according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +@item +VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + +@item +COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + +@item +MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +@enumerate A +@item +Use in the Title Page (and on the covers, if any) a title distinct +from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section +of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. + +@item +List on the Title Page, as authors, one or more persons or entities +responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the +Document (all of its principal authors, if it has fewer than five), +unless they release you from this requirement. + +@item +State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +@item +Preserve all the copyright notices of the Document. + +@item +Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +@item +Include, immediately after the copyright notices, a license notice +giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. + +@item +Preserve in that license notice the full lists of Invariant Sections +and required Cover Texts given in the Document's license notice. + +@item +Include an unaltered copy of this License. + +@item +Preserve the section Entitled ``History'', Preserve its Title, and add +to it an item stating at least the title, year, new authors, and +publisher of the Modified Version as given on the Title Page. If +there is no section Entitled ``History'' in the Document, create one +stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified +Version as stated in the previous sentence. + +@item +Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise +the network locations given in the Document for previous versions +it was based on. These may be placed in the ``History'' section. +You may omit a network location for a work that was published at +least four years before the Document itself, or if the original +publisher of the version it refers to gives permission. + +@item +For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve +the Title of the section, and preserve in the section all the +substance and tone of each of the contributor acknowledgements and/or +dedications given therein. + +@item +Preserve all the Invariant Sections of the Document, +unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. + +@item +Delete any section Entitled ``Endorsements''. Such a section +may not be included in the Modified Version. + +@item +Do not retitle any existing section to be Entitled ``Endorsements'' or +to conflict in title with any Invariant Section. + +@item +Preserve any Warranty Disclaimers. +@end enumerate + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled ``Endorsements'', provided it contains +nothing but endorsements of your Modified Version by various +parties---for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + +@item +COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled ``History'' +in the various original documents, forming one section Entitled +``History''; likewise combine any sections Entitled ``Acknowledgements'', +and any sections Entitled ``Dedications''. You must delete all +sections Entitled ``Endorsements.'' + +@item +COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + +@item +AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an ``aggregate'' if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + +@item +TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled ``Acknowledgements'', +``Dedications'', or ``History'', the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + +@item +TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + +@item +FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +@uref{https://www.gnu.org/licenses/}. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License ``or any later version'' applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +@item +RELICENSING + +``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the +site means any set of copyrightable works thus published on the MMC +site. + +``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +``Incorporate'' means to publish or republish a Document, in whole or +in part, as part of another Document. + +An MMC is ``eligible for relicensing'' if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole +or in part into the MMC, (1) had no cover texts or invariant sections, +and (2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. + +@end enumerate + +@page +@heading ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + +@smallexample +@group + Copyright (C) @var{year} @var{your name}. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. +@end group +@end smallexample + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the ``with@dots{}Texts.''@: line with this: + +@smallexample +@group + with the Invariant Sections being @var{list their titles}, with + the Front-Cover Texts being @var{list}, and with the Back-Cover Texts + being @var{list}. +@end group +@end smallexample + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + +@c Local Variables: +@c ispell-local-pdict: "ispell-dict" +@c End: diff --git a/BUILD/libtool-2.4.7/doc/gendocs_template b/BUILD/libtool-2.4.7/doc/gendocs_template new file mode 100644 index 0000000..0415d94 --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/gendocs_template @@ -0,0 +1,101 @@ +<!--#include virtual="/server/header.html" --> +<!-- Parent-Version: 1.78 --> + +<!-- +Copyright (C) 2006-2022 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without any warranty. +--> + +<title>%%TITLE%% - GNU Project - Free Software Foundation + +

%%TITLE%%

+ +
Free Software Foundation
+
last updated %%DATE%%
+ +

This manual (%%PACKAGE%%) is available in the following formats:

+ + + +

You can buy printed copies of +some manuals (among other items) from the Free Software Foundation; +this helps support FSF activities.

+ +

(This page generated by the %%SCRIPTNAME%% +script.)

+ + + + + + + + diff --git a/BUILD/libtool-2.4.7/doc/libtool.1 b/BUILD/libtool-2.4.7/doc/libtool.1 new file mode 100644 index 0000000..46b4642 --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/libtool.1 @@ -0,0 +1,123 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1. +.TH LIBTOOL "1" "March 2022" "GNU libtool 2.4.7" "User Commands" +.SH NAME +libtool \- manual page for libtool 2.4.7 +.SH SYNOPSIS +.B libtool +[\fI\,OPTION\/\fR]... [\fI\,MODE-ARG\/\fR]... +.SH DESCRIPTION +Provide generalized library\-building support services. +.SH OPTIONS +.TP +\fB\-\-config\fR +show all configuration variables +.TP +\fB\-\-debug\fR +enable verbose shell tracing +.TP +\fB\-n\fR, \fB\-\-dry\-run\fR +display commands without modifying any files +.TP +\fB\-\-features\fR +display basic configuration information and exit +.TP +\fB\-\-mode\fR=\fI\,MODE\/\fR +use operation mode MODE +.TP +\fB\-\-no\-warnings\fR +equivalent to '\-Wnone' +.TP +\fB\-\-preserve\-dup\-deps\fR +don't remove duplicate dependency libraries +.TP +\fB\-\-quiet\fR, \fB\-\-silent\fR +don't print informational messages +.TP +\fB\-\-tag\fR=\fI\,TAG\/\fR +use configuration variables from tag TAG +.TP +\fB\-v\fR, \fB\-\-verbose\fR +print more informational messages than default +.TP +\fB\-\-version\fR +print version information +.TP +\fB\-W\fR, \fB\-\-warnings\fR=\fI\,CATEGORY\/\fR +report the warnings falling in CATEGORY [all] +.TP +\fB\-h\fR, \fB\-\-help\fR, \fB\-\-help\-all\fR +print short, long, or detailed help message +.SS "Warning categories include:" +.TP +\&'all' +show all warnings +.TP +\&'none' +turn off all the warnings +.TP +\&'error' +warnings are treated as fatal errors +.PP +MODE must be one of the following: +.TP +clean +remove files from the build directory +.TP +compile +compile a source file into a libtool object +.TP +execute +automatically set library path, then run a program +.TP +finish +complete the installation of libtool libraries +.TP +install +install libraries or executables +.TP +link +create a library or an executable +.TP +uninstall +remove libraries from an installed directory +.PP +MODE\-ARGS vary depending on the MODE. When passed as first option, +\&'\-\-mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +.PP +GNU libtool home page: . +.PP +When reporting a bug, please describe a test case to reproduce it and +include the following information: +.TP +host\-triplet: +x86_64\-pc\-linux\-gnu +.TP +shell: +\fI\,/bin/bash\/\fP +.TP +compiler: +gcc +.IP +compiler flags: \fB\-g\fR \fB\-O2\fR +linker: \fI\,/usr/bin/ld\/\fP \fB\-m\fR elf_x86_64 (gnu? yes) +version: libtool (GNU libtool) 2.4.7 +automake: automake (GNU automake) 1.16.3 +autoconf: autoconf (GNU Autoconf) 2.69 +.SH AUTHOR +Written by Gordon Matzigkeit, 1996 +.SH "REPORTING BUGS" +Report bugs to . +.SH COPYRIGHT +Copyright \(co 2014 Free Software Foundation, Inc. +.SH "SEE ALSO" +The full documentation for +.B libtool +is maintained as a Texinfo manual. If the +.B info +and +.B libtool +programs are properly installed at your site, the command +.IP +.B info libtool +.PP +should give you access to the complete manual. diff --git a/BUILD/libtool-2.4.7/doc/libtool.info b/BUILD/libtool-2.4.7/doc/libtool.info new file mode 100644 index 0000000..09769bb --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/libtool.info @@ -0,0 +1,143 @@ +This is libtool.info, produced by makeinfo version 6.7 from +libtool.texi. + +This manual is for GNU Libtool (version 2.4.7, 17 March 2022). + + Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +Texts. A copy of the license is included in the section entitled "GNU +Free Documentation License". +INFO-DIR-SECTION Software development +START-INFO-DIR-ENTRY +* Libtool: (libtool). Generic shared library support script. +END-INFO-DIR-ENTRY + +INFO-DIR-SECTION Individual utilities +START-INFO-DIR-ENTRY +* libtool-invocation: (libtool)Invoking libtool. Running the 'libtool' script. +* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. +END-INFO-DIR-ENTRY + + +Indirect: +libtool.info-1: 972 +libtool.info-2: 314554 + +Tag Table: +(Indirect) +Node: Top972 +Node: Introduction8165 +Node: Motivation9971 +Node: Issues11291 +Node: Other implementations12769 +Node: Postmortem13312 +Node: Libtool paradigm14932 +Node: Using libtool15877 +Node: Creating object files17980 +Node: Linking libraries21716 +Ref: Linking libraries-Footnote-125525 +Node: Linking executables25666 +Ref: Linking executables-Footnote-130917 +Ref: Linking executables-Footnote-231210 +Node: Wrapper executables31291 +Node: Debugging executables33519 +Node: Installing libraries36333 +Ref: Installing libraries-Footnote-139495 +Node: Installing executables39566 +Node: Static libraries40418 +Node: Invoking libtool43696 +Node: Compile mode49352 +Node: Link mode52313 +Node: Execute mode62050 +Node: Install mode62830 +Node: Finish mode65201 +Node: Uninstall mode66063 +Node: Clean mode66504 +Node: Integrating libtool66963 +Node: Autoconf macros69793 +Node: Makefile rules73636 +Node: Using Automake74739 +Ref: Using Automake-Footnote-177610 +Node: Configuring78010 +Node: LT_INIT79244 +Ref: LT_INIT-Footnote-196612 +Node: Configure notes96865 +Node: Distributing100126 +Node: Invoking libtoolize101043 +Node: Autoconf and LTLIBOBJS107225 +Node: Static-only libraries107969 +Ref: Static-only libraries-Footnote-1109282 +Node: Other languages109391 +Node: C++ libraries110090 +Node: Tags111513 +Node: Versioning112926 +Node: Interfaces114294 +Node: Libtool versioning114927 +Node: Updating version info117140 +Node: Release numbers120171 +Node: Library tips122008 +Node: C header files124813 +Ref: C header files-Footnote-1128468 +Node: Inter-library dependencies128677 +Node: Dlopened modules131378 +Node: Building modules133265 +Node: Dlpreopening134466 +Node: Linking with dlopened modules140105 +Node: Finding the dlname145035 +Ref: Finding the dlname-Footnote-1146351 +Node: Dlopen issues146404 +Node: Using libltdl147445 +Node: Libltdl interface149277 +Ref: Libltdl interface-Footnote-1162878 +Node: Modules for libltdl163172 +Node: Thread Safety in libltdl165698 +Node: User defined module data166711 +Node: Module loaders for libltdl174197 +Ref: Module loaders for libltdl-Footnote-1183463 +Node: Distributing libltdl183569 +Ref: Distributing libltdl-Footnote-1197338 +Ref: Distributing libltdl-Footnote-2197634 +Node: Trace interface197784 +Node: FAQ198619 +Node: Stripped link flags198957 +Node: Troubleshooting200402 +Node: Libtool test suite200925 +Node: Test descriptions201694 +Node: When tests fail214075 +Node: Reporting bugs215078 +Node: Maintaining216696 +Node: New ports217439 +Node: Information sources218132 +Node: Porting inter-library dependencies220589 +Node: Tested platforms223305 +Node: Platform quirks231735 +Node: References232916 +Node: Compilers233766 +Ref: Compilers-Footnote-1235344 +Node: Reloadable objects235660 +Node: Multiple dependencies236019 +Node: Archivers236913 +Node: Cross compiling237502 +Node: File name conversion243486 +Node: File Name Conversion Failure246440 +Node: Native MinGW File Name Conversion247689 +Node: Cygwin/Windows File Name Conversion249250 +Node: Unix/Windows File Name Conversion250621 +Node: LT_CYGPATH251387 +Node: Cygwin to MinGW Cross254630 +Node: Windows DLLs258927 +Node: libtool script contents266202 +Node: Cheap tricks286562 +Node: GNU Free Documentation License288425 +Node: Combined Index314554 + +End Tag Table + + +Local Variables: +coding: utf-8 +End: diff --git a/BUILD/libtool-2.4.7/doc/libtool.info-1 b/BUILD/libtool-2.4.7/doc/libtool.info-1 new file mode 100644 index 0000000..0109c0f --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/libtool.info-1 @@ -0,0 +1,7228 @@ +This is libtool.info, produced by makeinfo version 6.7 from +libtool.texi. + +This manual is for GNU Libtool (version 2.4.7, 17 March 2022). + + Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +Texts. A copy of the license is included in the section entitled "GNU +Free Documentation License". +INFO-DIR-SECTION Software development +START-INFO-DIR-ENTRY +* Libtool: (libtool). Generic shared library support script. +END-INFO-DIR-ENTRY + +INFO-DIR-SECTION Individual utilities +START-INFO-DIR-ENTRY +* libtool-invocation: (libtool)Invoking libtool. Running the 'libtool' script. +* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. +END-INFO-DIR-ENTRY + + +File: libtool.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) + +Shared library support for GNU +****************************** + +This file documents GNU Libtool, a script that allows package developers +to provide generic shared library support. This edition documents +version 2.4.7. + + *Note Reporting bugs::, for information on how to report problems +with GNU Libtool. + +* Menu: + +* Introduction:: What the heck is libtool? +* Libtool paradigm:: How libtool's view of libraries is different. +* Using libtool:: Example of using libtool to build libraries. +* Invoking libtool:: Running the 'libtool' script. +* Integrating libtool:: Using libtool in your own packages. +* Other languages:: Using libtool without a C compiler. +* Versioning:: Using library interface versions. +* Library tips:: Tips for library interface design. +* Inter-library dependencies:: Libraries that depend on other libraries. +* Dlopened modules:: 'dlopen'ing libtool-created libraries. +* Using libltdl:: Libtool's portable 'dlopen' wrapper library. +* Trace interface:: Libtool's trace interface. +* FAQ:: Frequently Asked Questions +* Troubleshooting:: When libtool doesn't work as advertised. +* Maintaining:: Information used by the libtool maintainer. +* GNU Free Documentation License:: License for this manual. +* Combined Index:: Full index. + + -- The Detailed Node Listing -- + +Introduction + +* Motivation:: Why does GNU need a libtool? +* Issues:: The problems that need to be addressed. +* Other implementations:: How other people have solved these issues. +* Postmortem:: Learning from past difficulties. + +Using libtool + +* Creating object files:: Compiling object files for libraries. +* Linking libraries:: Creating libraries from object files. +* Linking executables:: Linking object files against libtool libraries. +* Debugging executables:: Running GDB on libtool-generated programs. +* Installing libraries:: Making libraries available to users. +* Installing executables:: Making programs available to users. +* Static libraries:: When shared libraries are not wanted. + +Linking executables + +* Wrapper executables:: Wrapper executables for some platforms. + +Invoking 'libtool' + +* Compile mode:: Creating library object files. +* Link mode:: Generating executables and libraries. +* Execute mode:: Debugging libtool-generated programs. +* Install mode:: Making libraries and executables public. +* Finish mode:: Completing a library installation. +* Uninstall mode:: Removing installed executables and libraries. +* Clean mode:: Removing uninstalled executables and libraries. + +Integrating libtool with your package + +* Autoconf macros:: Autoconf macros exported by libtool. +* Makefile rules:: Writing 'Makefile' rules for libtool. +* Using Automake:: Automatically supporting libtool. +* Configuring:: Configuring libtool for a host system. +* Distributing:: What files to distribute with your package. +* Static-only libraries:: Sometimes shared libraries are just a pain. + +Configuring libtool + +* LT_INIT:: Configuring 'libtool' in 'configure.ac'. +* Configure notes:: Platform-specific notes for configuration. + +Including libtool in your package + +* Invoking libtoolize:: 'libtoolize' command line options. +* Autoconf and LTLIBOBJS:: Autoconf automates LTLIBOBJS generation. + +Using libtool with other languages + +* C++ libraries:: Writing libraries for C++ +* Tags:: Tags + +Library interface versions + +* Interfaces:: What are library interfaces? +* Libtool versioning:: Libtool's versioning system. +* Updating version info:: Changing version information before releases. +* Release numbers:: Breaking binary compatibility for aesthetics. + +Tips for interface design + +* C header files:: How to write portable include files. + +Dlopened modules + +* Building modules:: Creating dlopenable objects and libraries. +* Dlpreopening:: Dlopening that works on static platforms. +* Linking with dlopened modules:: Using dlopenable modules in libraries. +* Finding the dlname:: Choosing the right file to 'dlopen'. +* Dlopen issues:: Unresolved problems that need your attention. + +Using libltdl + +* Libltdl interface:: How to use libltdl in your programs. +* Modules for libltdl:: Creating modules that can be 'dlopen'ed. +* Thread Safety in libltdl:: Registering callbacks for multi-thread safety. +* User defined module data:: Associating data with loaded modules. +* Module loaders for libltdl:: Creating user defined module loaders. +* Distributing libltdl:: How to distribute libltdl with your package. + +Frequently Asked Questions about libtool + +* Stripped link flags:: Dropped flags when creating a library + +Troubleshooting + +* Libtool test suite:: Libtool's self-tests. +* Reporting bugs:: How to report problems with libtool. + +The libtool test suite + +* Test descriptions:: The contents of the old test suite. +* When tests fail:: What to do when a test fails. + +Maintenance notes for libtool + +* New ports:: How to port libtool to new systems. +* Tested platforms:: When libtool was last tested. +* Platform quirks:: Information about different library systems. +* libtool script contents:: Configuration information that libtool uses. +* Cheap tricks:: Making libtool maintainership easier. + +Porting libtool to new systems + +* Information sources:: Where to find relevant documentation +* Porting inter-library dependencies:: Implementation details explained + +Platform quirks + +* References:: Finding more information. +* Compilers:: Creating object files from source files. +* Reloadable objects:: Binding object files together. +* Multiple dependencies:: Removing duplicate dependent libraries. +* Archivers:: Programs that create static archives. +* Cross compiling:: Issues that arise when cross compiling. +* File name conversion:: Converting file names between platforms. +* Windows DLLs:: Windows header defines. + +File name conversion + +* File Name Conversion Failure:: What happens when file name conversion fails +* Native MinGW File Name Conversion:: MSYS file name conversion idiosyncrasies +* Cygwin/Windows File Name Conversion:: Using 'cygpath' to convert Cygwin file names +* Unix/Windows File Name Conversion:: Using Wine to convert Unix paths +* LT_CYGPATH:: Invoking 'cygpath' from other environments +* Cygwin to MinGW Cross:: Other notes concerning MinGW cross + + + +File: libtool.info, Node: Introduction, Next: Libtool paradigm, Up: Top + +1 Introduction +************** + +In the past, if you were a source code package developer and wanted to +take advantage of the power of shared libraries, you needed to write +custom support code for each platform on which your package ran. You +also had to design a configuration interface so that the package +installer could choose what sort of libraries were built. + + GNU Libtool simplifies your job by encapsulating both the +platform-specific dependencies, and the user interface, in a single +script. GNU Libtool is designed so that the complete functionality of +each host type is available via a generic interface, but nasty quirks +are hidden from the programmer. + + GNU Libtool's consistent interface is reassuring... users don't need +to read obscure documentation to have their favorite source package +build shared libraries. They just run your package 'configure' script +(or equivalent), and libtool does all the dirty work. + + There are several examples throughout this document. All assume the +same environment: we want to build a library, 'libhello', in a generic +way. + + 'libhello' could be a shared library, a static library, or both... +whatever is available on the host system, as long as libtool has been +ported to it. + + This chapter explains the original design philosophy of libtool. +Feel free to skip to the next chapter, unless you are interested in +history, or want to write code to extend libtool in a consistent way. + +* Menu: + +* Motivation:: Why does GNU need a libtool? +* Issues:: The problems that need to be addressed. +* Other implementations:: How other people have solved these issues. +* Postmortem:: Learning from past difficulties. + + +File: libtool.info, Node: Motivation, Next: Issues, Up: Introduction + +1.1 Motivation for writing libtool +================================== + +Since early 1995, several different GNU developers have recognized the +importance of having shared library support for their packages. The +primary motivation for such a change is to encourage modularity and +reuse of code (both conceptually and physically) in GNU programs. + + Such a demand means that the way libraries are built in GNU packages +needs to be general, to allow for any library type the package installer +might want. The problem is compounded by the absence of a standard +procedure for creating shared libraries on different platforms. + + The following sections outline the major issues facing shared library +support in GNU, and how shared library support could be standardized +with libtool. + + The following specifications were used in developing and evaluating +this system: + + 1. The system must be as elegant as possible. + + 2. The system must be fully integrated with the GNU Autoconf and + Automake utilities, so that it will be easy for GNU maintainers to + use. However, the system must not require these tools, so that it + can be used by non-GNU packages. + + 3. Portability to other (non-GNU) architectures and tools is + desirable. + + +File: libtool.info, Node: Issues, Next: Other implementations, Prev: Motivation, Up: Introduction + +1.2 Implementation issues +========================= + +The following issues need to be addressed in any reusable shared library +system, specifically libtool: + + 1. The package installer should be able to control what sort of + libraries are built. + + 2. It can be tricky to run dynamically linked programs whose libraries + have not yet been installed. 'LD_LIBRARY_PATH' must be set + properly (if it is supported), or programs fail to run. + + 3. The system must operate consistently even on hosts that don't + support shared libraries. + + 4. The commands required to build shared libraries may differ wildly + from host to host. These need to be determined at configure time + in a consistent way. + + 5. It is not always obvious with what prefix or suffix a shared + library should be installed. This makes it difficult for + 'Makefile' rules, since they generally assume that file names are + the same from host to host. + + 6. The system needs a simple library version number abstraction, so + that shared libraries can be upgraded in place. The programmer + should be informed how to design the interfaces to the library to + maximize binary compatibility. + + 7. The install 'Makefile' target should warn the package installer to + set the proper environment variables ('LD_LIBRARY_PATH' or + equivalent), or run 'ldconfig'. + + +File: libtool.info, Node: Other implementations, Next: Postmortem, Prev: Issues, Up: Introduction + +1.3 Other implementations +========================= + +Even before libtool was developed, many free software packages built and +installed their own shared libraries. At first, these packages were +examined to avoid reinventing existing features. + + Now it is clear that none of these packages have documented the +details of shared library systems that libtool requires. So, other +packages have been more or less abandoned as influences. + + +File: libtool.info, Node: Postmortem, Prev: Other implementations, Up: Introduction + +1.4 A postmortem analysis of other implementations +================================================== + +In all fairness, each of the implementations that were examined do the +job that they were intended to do, for a number of different host +systems. However, none of these solutions seem to function well as a +generalized, reusable component. + + Most were too complex to use (much less modify) without understanding +exactly what the implementation does, and they were generally not +documented. + + The main difficulty is that different vendors have different views of +what libraries are, and none of the packages that were examined seemed +to be confident enough to settle on a single paradigm that just _works_. + + Ideally, libtool would be a standard that would be implemented as +series of extensions and modifications to existing library systems to +make them work consistently. However, it is not an easy task to +convince operating system developers to mend their evil ways, and people +want to build shared libraries right now, even on buggy, broken, +confused operating systems. + + For this reason, libtool was designed as an independent shell script. +It isolates the problems and inconsistencies in library building that +plague 'Makefile' writers by wrapping the compiler suite on different +platforms with a consistent, powerful interface. + + With luck, libtool will be useful to and used by the GNU community, +and that the lessons that were learned in writing it will be taken up by +designers of future library systems. + + +File: libtool.info, Node: Libtool paradigm, Next: Using libtool, Prev: Introduction, Up: Top + +2 The libtool paradigm +********************** + +At first, libtool was designed to support an arbitrary number of library +object types. After libtool was ported to more platforms, a new +paradigm gradually developed for describing the relationship between +libraries and programs. + + In summary, "libraries are programs with multiple entry points, and +more formally defined interfaces." + + Version 0.7 of libtool was a complete redesign and rewrite of libtool +to reflect this new paradigm. So far, it has proved to be successful: +libtool is simpler and more useful than before. + + The best way to introduce the libtool paradigm is to contrast it with +the paradigm of existing library systems, with examples from each. It +is a new way of thinking, so it may take a little time to absorb, but +when you understand it, the world becomes simpler. + + +File: libtool.info, Node: Using libtool, Next: Invoking libtool, Prev: Libtool paradigm, Up: Top + +3 Using libtool +*************** + +It makes little sense to talk about using libtool in your own packages +until you have seen how it makes your life simpler. The examples in +this chapter introduce the main features of libtool by comparing the +standard library building procedure to libtool's operation on two +different platforms: + +'a23' + An Ultrix 4.2 platform with only static libraries. + +'burger' + A NetBSD/i386 1.2 platform with shared libraries. + + You can follow these examples on your own platform, using the +preconfigured libtool script that was installed with libtool (*note +Configuring::). + + Source files for the following examples are taken from the 'demo' +subdirectory of the libtool distribution. Assume that we are building a +library, 'libhello', out of the files 'foo.c' and 'hello.c'. + + Note that the 'foo.c' source file uses the 'cos' math library +function, which is usually found in the standalone math library, and not +the C library (*note Trigonometric Functions: (libc)Trig Functions.). +So, we need to add '-lm' to the end of the link line whenever we link +'foo.lo' into an executable or a library (*note Inter-library +dependencies::). + + The same rule applies whenever you use functions that don't appear in +the standard C library... you need to add the appropriate '-lNAME' flag +to the end of the link line when you link against those objects. + + After we have built that library, we want to create a program by +linking 'main.o' against 'libhello'. + +* Menu: + +* Creating object files:: Compiling object files for libraries. +* Linking libraries:: Creating libraries from object files. +* Linking executables:: Linking object files against libtool libraries. +* Debugging executables:: Running GDB on libtool-generated programs. +* Installing libraries:: Making libraries available to users. +* Installing executables:: Making programs available to users. +* Static libraries:: When shared libraries are not wanted. + + +File: libtool.info, Node: Creating object files, Next: Linking libraries, Up: Using libtool + +3.1 Creating object files +========================= + +To create an object file from a source file, the compiler is invoked +with the '-c' flag (and any other desired flags): + + burger$ gcc -g -O -c main.c + burger$ + + The above compiler command produces an object file, usually named +'main.o', from the source file 'main.c'. + + For most library systems, creating object files that become part of a +static library is as simple as creating object files that are linked to +form an executable: + + burger$ gcc -g -O -c foo.c + burger$ gcc -g -O -c hello.c + burger$ + + Shared libraries, however, may only be built from +"position-independent code" (PIC). So, special flags must be passed to +the compiler to tell it to generate PIC rather than the standard +position-dependent code. + + Since this is a library implementation detail, libtool hides the +complexity of PIC compiler flags and uses separate library object files +(the PIC one lives in the '.libs' subdirectory and the static one lives +in the current directory). On systems without shared libraries, the PIC +library object files are not created, whereas on systems where all code +is PIC, such as AIX, the static ones are not created. + + To create library object files for 'foo.c' and 'hello.c', simply +invoke libtool with the standard compilation command as arguments (*note +Compile mode::): + + a23$ libtool --mode=compile gcc -g -O -c foo.c + gcc -g -O -c foo.c -o foo.o + a23$ libtool --mode=compile gcc -g -O -c hello.c + gcc -g -O -c hello.c -o hello.o + a23$ + + Note that libtool silently creates an additional control file on each +'compile' invocation. The '.lo' file is the libtool object, which +Libtool uses to determine what object file may be built into a shared +library. On 'a23', only static libraries are supported so the library +objects look like this: + + # foo.lo - a libtool object file + # Generated by ltmain.sh (GNU libtool) 2.4.7 + # + # Please DO NOT delete this file! + # It is necessary for linking the library. + + # Name of the PIC object. + pic_object=none + + # Name of the non-PIC object. + non_pic_object='foo.o' + + On shared library systems, libtool automatically generates an +additional PIC object by inserting the appropriate PIC generation flags +into the compilation command: + + burger$ libtool --mode=compile gcc -g -O -c foo.c + mkdir .libs + gcc -g -O -c foo.c -fPIC -DPIC -o .libs/foo.o + gcc -g -O -c foo.c -o foo.o >/dev/null 2>&1 + burger$ + + Note that Libtool automatically created '.libs' directory upon its +first execution, where PIC library object files will be stored. + + Since 'burger' supports shared libraries, and requires PIC objects to +build them, Libtool has compiled a PIC object this time, and made a note +of it in the libtool object: + + # foo.lo - a libtool object file + # Generated by ltmain.sh (GNU libtool) 2.4.7 + # + # Please DO NOT delete this file! + # It is necessary for linking the library. + + # Name of the PIC object. + pic_object='.libs/foo.o' + + # Name of the non-PIC object. + non_pic_object='foo.o' + + Notice that the second run of GCC has its output discarded. This is +done so that compiler warnings aren't annoyingly duplicated. If you +need to see both sets of warnings (you might have conditional code +inside '#ifdef PIC' for example), you can turn off suppression with the +'-no-suppress' option to libtool's compile mode: + + burger$ libtool --mode=compile gcc -no-suppress -g -O -c hello.c + gcc -g -O -c hello.c -fPIC -DPIC -o .libs/hello.o + gcc -g -O -c hello.c -o hello.o + burger$ + + +File: libtool.info, Node: Linking libraries, Next: Linking executables, Prev: Creating object files, Up: Using libtool + +3.2 Linking libraries +===================== + +Without libtool, the programmer would invoke the 'ar' command to create +a static library: + + burger$ ar cr libhello.a hello.o foo.o + burger$ + + But of course, that would be too simple, so many systems require that +you run the 'ranlib' command on the resulting library (to give it better +karma, or something): + + burger$ ranlib libhello.a + burger$ + + It seems more natural to use the C compiler for this task, given +libtool's "libraries are programs" approach. So, on platforms without +shared libraries, libtool simply acts as a wrapper for the system 'ar' +(and possibly 'ranlib') commands. + + Again, the libtool control file name ('.la' suffix) differs from the +standard library name ('.a' suffix). The arguments to libtool are the +same ones you would use to produce an executable named 'libhello.la' +with your compiler (*note Link mode::): + + a23$ libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o + *** Warning: Linking the shared library libhello.la against the + *** non-libtool objects foo.o hello.o is not portable! + ar cr .libs/libhello.a + ranlib .libs/libhello.a + creating libhello.la + (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) + a23$ + + Aha! Libtool caught a common error... trying to build a library from +standard objects instead of special '.lo' object files. This doesn't +matter so much for static libraries, but on shared library systems, it +is of great importance. (Note that you may replace 'libhello.la' with +'libhello.a' in which case libtool won't issue the warning any more. +But although this method works, this is not intended to be used because +it makes you lose the benefits of using Libtool.) + + So, let's try again, this time with the library object files. +Remember also that we need to add '-lm' to the link command line because +'foo.c' uses the 'cos' math library function (*note Using libtool::). + + Another complication in building shared libraries is that we need to +specify the path to the directory wher they will (eventually) be +installed (in this case, '/usr/local/lib')(1): + + a23$ libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ + -rpath /usr/local/lib -lm + ar cr .libs/libhello.a foo.o hello.o + ranlib .libs/libhello.a + creating libhello.la + (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) + a23$ + + Now, let's try the same trick on the shared library platform: + + burger$ libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ + -rpath /usr/local/lib -lm + rm -fr .libs/libhello.a .libs/libhello.la + ld -Bshareable -o .libs/libhello.so.0.0 .libs/foo.o .libs/hello.o -lm + ar cr .libs/libhello.a foo.o hello.o + ranlib .libs/libhello.a + creating libhello.la + (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) + burger$ + + Now that's significantly cooler... Libtool just ran an obscure 'ld' +command to create a shared library, as well as the static library. + + Note how libtool creates extra files in the '.libs' subdirectory, +rather than the current directory. This feature is to make it easier to +clean up the build directory, and to help ensure that other programs +fail horribly if you accidentally forget to use libtool when you should. + + Again, you may want to have a look at the '.la' file to see what +Libtool stores in it. In particular, you will see that Libtool uses +this file to remember the destination directory for the library (the +argument to '-rpath') as well as the dependency on the math library +('-lm'). + + ---------- Footnotes ---------- + + (1) If you don't specify an 'rpath', then libtool builds a libtool +convenience archive, not a shared library (*note Static libraries::). + + +File: libtool.info, Node: Linking executables, Next: Debugging executables, Prev: Linking libraries, Up: Using libtool + +3.3 Linking executables +======================= + +If you choose at this point to "install" the library (put it in a +permanent location) before linking executables against it, then you +don't need to use libtool to do the linking. Simply use the appropriate +'-L' and '-l' flags to specify the library's location. + + Some system linkers insist on encoding the full directory name of +each shared library in the resulting executable. Libtool has to work +around this misfeature by special magic to ensure that only permanent +directory names are put into installed executables. + + The importance of this bug must not be overlooked: it won't cause +programs to crash in obvious ways. It creates a security hole, and +possibly even worse, if you are modifying the library source code after +you have installed the package, you will change the behaviour of the +installed programs! + + So, if you want to link programs against the library before you +install it, you must use libtool to do the linking. + + Here's the old way of linking against an uninstalled library: + + burger$ gcc -g -O -o hell.old main.o libhello.a -lm + burger$ + + Libtool's way is almost the same(1) (*note Link mode::): + + a23$ libtool --mode=link gcc -g -O -o hell main.o libhello.la + gcc -g -O -o hell main.o ./.libs/libhello.a -lm + a23$ + + That looks too simple to be true. All libtool did was transform +'libhello.la' to './.libs/libhello.a', but remember that 'a23' has no +shared libraries. Notice that Libtool also remembered that +'libhello.la' depends on '-lm', so even though we didn't specify '-lm' +on the libtool command line(2) Libtool has added it to the 'gcc' link +line for us. + + On 'burger' Libtool links against the uninstalled shared library: + + burger$ libtool --mode=link gcc -g -O -o hell main.o libhello.la + gcc -g -O -o .libs/hell main.o -L./.libs -R/usr/local/lib -lhello -lm + creating hell + burger$ + + Now assume 'libhello.la' had already been installed, and you want to +link a new program with it. You could figure out where it lives by +yourself, then run: + + burger$ gcc -g -O -o test test.o -L/usr/local/lib -lhello -lm + + However, unless '/usr/local/lib' is in the standard library search +path, you won't be able to run 'test'. However, if you use libtool to +link the already-installed libtool library, it will do The Right Thing +(TM) for you: + + burger$ libtool --mode=link gcc -g -O -o test test.o \ + /usr/local/lib/libhello.la + gcc -g -O -o .libs/test test.o -Wl,--rpath \ + -Wl,/usr/local/lib /usr/local/lib/libhello.a -lm + creating test + burger$ + + Note that libtool added the necessary run-time path flag, as well as +'-lm', the library libhello.la depended upon. Nice, huh? + + Notice that the executable, 'hell', was actually created in the +'.libs' subdirectory. Then, a wrapper script (or, on certain platforms, +a wrapper executable *note Wrapper executables::) was created in the +current directory. + + Since libtool created a wrapper script, you should use libtool to +install it and debug it too. However, since the program does not depend +on any uninstalled libtool library, it is probably usable even without +the wrapper script. + + On NetBSD 1.2, libtool encodes the installation directory of +'libhello', by using the '-R/usr/local/lib' compiler flag. Then, the +wrapper script guarantees that the executable finds the correct shared +library (the one in './.libs') until it is properly installed. + + Let's compare the two different programs: + + burger$ time ./hell.old + Welcome to GNU Hell! + ** This is not GNU Hello. There is no built-in mail reader. ** + 0.21 real 0.02 user 0.08 sys + burger$ time ./hell + Welcome to GNU Hell! + ** This is not GNU Hello. There is no built-in mail reader. ** + 0.63 real 0.09 user 0.59 sys + burger$ + + The wrapper script takes significantly longer to execute, but at +least the results are correct, even though the shared library hasn't +been installed yet. + + So, what about all the space savings that shared libraries are +supposed to yield? + + burger$ ls -l hell.old libhello.a + -rwxr-xr-x 1 gord gord 15481 Nov 14 12:11 hell.old + -rw-r--r-- 1 gord gord 4274 Nov 13 18:02 libhello.a + burger$ ls -l .libs/hell .libs/libhello.* + -rwxr-xr-x 1 gord gord 11647 Nov 14 12:10 .libs/hell + -rw-r--r-- 1 gord gord 4274 Nov 13 18:44 .libs/libhello.a + -rwxr-xr-x 1 gord gord 12205 Nov 13 18:44 .libs/libhello.so.0.0 + burger$ + + Well, that sucks. Maybe I should just scrap this project and take up +basket weaving. + + Actually, it just proves an important point: shared libraries incur +overhead because of their (relative) complexity. In this situation, the +price of being dynamic is eight kilobytes, and the payoff is about four +kilobytes. So, having a shared 'libhello' won't be an advantage until +we link it against at least a few more programs. + +* Menu: + +* Wrapper executables:: Wrapper executables for some platforms. + + ---------- Footnotes ---------- + + (1) However, you should avoid using '-L' or '-l' flags to link +against an uninstalled libtool library. Just specify the relative path +to the '.la' file, such as '../intl/libintl.la'. This is a design +decision to eliminate any ambiguity when linking against uninstalled +shared libraries. + + (2) And why should we? 'main.o' doesn't directly depend on '-lm' +after all. + + +File: libtool.info, Node: Wrapper executables, Up: Linking executables + +3.3.1 Wrapper executables for uninstalled programs +-------------------------------------------------- + +Some platforms, notably those hosted on Windows such as Cygwin and +MinGW, use a wrapper executable rather than a wrapper script to ensure +proper operation of uninstalled programs linked by libtool against +uninstalled shared libraries. The wrapper executable thus performs the +same function as the wrapper script used on other platforms, but allows +to satisfy the 'make' rules for the program, whose name ends in +'$(EXEEXT)'. The actual program executable is created below .libs, and +its name will end in '$(EXEEXT)' and may or may not contain an 'lt-' +prefix. This wrapper executable sets various environment values so that +the program executable may locate its (uninstalled) shared libraries, +and then launches the program executable. + + The wrapper executable provides a debug mode, enabled by passing the +command-line option '--lt-debug' (see below). When executing in debug +mode, diagnostic information will be printed to 'stderr' before the +program executable is launched. + + Finally, the wrapper executable supports a number of command line +options that may be useful when debugging the operation of the wrapper +system. All of these options begin with '--lt-', and if present they +and their arguments will be removed from the argument list passed on to +the program executable. Therefore, the program executable may not +employ command line options that begin with '--lt-'. (In fact, the +wrapper executable will detect any command line options that begin with +'--lt-' and abort with an error message if the option is not +recognized). If this presents a problem, please contact the Libtool +team at the Libtool bug reporting address . + + These command line options include: + +'--lt-dump-script' + Causes the wrapper to print a copy of the wrapper _script_ to + 'stdout', and exit. + +'--lt-debug' + Causes the wrapper to print diagnostic information to 'stdout', + before launching the program executable. + + For consistency, both the wrapper _script_ and the wrapper +_executable_ support these options. + + +File: libtool.info, Node: Debugging executables, Next: Installing libraries, Prev: Linking executables, Up: Using libtool + +3.4 Debugging executables +========================= + +If 'hell' was a complicated program, you would certainly want to test +and debug it before installing it on your system. In the above section, +you saw how the libtool wrapper script makes it possible to run the +program directly, but unfortunately, this mechanism interferes with the +debugger: + + burger$ gdb hell + GDB is free software and you are welcome to distribute copies of it + under certain conditions; type "show copying" to see the conditions. + There is no warranty for GDB; type "show warranty" for details. + GDB 4.16 (i386-unknown-netbsd), (C) 1996 Free Software Foundation, Inc. + + "hell": not in executable format: File format not recognized + + (gdb) quit + burger$ + + Sad. It doesn't work because GDB doesn't know where the executable +lives. So, let's try again, by invoking GDB directly on the executable: + + burger$ gdb .libs/hell + GNU gdb 5.3 (i386-unknown-netbsd) + Copyright 2002 Free Software Foundation, Inc. + GDB is free software, covered by the GNU General Public License, + and you are welcome to change it and/or distribute copies of it + under certain conditions. Type "show copying" to see the conditions. + There is no warranty for GDB. Type "show warranty" for details. + (gdb) break main + Breakpoint 1 at 0x8048547: file main.c, line 29. + (gdb) run + Starting program: /home/src/libtool/demo/.libs/hell + /home/src/libtool/demo/.libs/hell: can't load library 'libhello.so.0' + + Program exited with code 020. + (gdb) quit + burger$ + + Argh. Now GDB complains because it cannot find the shared library +that 'hell' is linked against. So, we must use libtool to properly set +the library path and run the debugger. Fortunately, we can forget all +about the '.libs' directory, and just run it on the executable wrapper +(*note Execute mode::): + + burger$ libtool --mode=execute gdb hell + GNU gdb 5.3 (i386-unknown-netbsd) + Copyright 2002 Free Software Foundation, Inc. + GDB is free software, covered by the GNU General Public License, + and you are welcome to change it and/or distribute copies of it + under certain conditions. Type "show copying" to see the conditions. + There is no warranty for GDB. Type "show warranty" for details. + (gdb) break main + Breakpoint 1 at 0x8048547: file main.c, line 29. + (gdb) run + Starting program: /home/src/libtool/demo/.libs/hell + + Breakpoint 1, main (argc=1, argv=0xbffffc40) at main.c:29 + 29 printf ("Welcome to GNU Hell!\n"); + (gdb) quit + The program is running. Quit anyway (and kill it)? (y or n) y + burger$ + + +File: libtool.info, Node: Installing libraries, Next: Installing executables, Prev: Debugging executables, Up: Using libtool + +3.5 Installing libraries +======================== + +Installing libraries on a non-libtool system is quite straightforward... +just copy them into place:(1) + + burger$ su + Password: ******** + burger# cp libhello.a /usr/local/lib/libhello.a + burger# + + Oops, don't forget the 'ranlib' command: + + burger# ranlib /usr/local/lib/libhello.a + burger# + + Libtool installation is quite simple, as well. Just use the +'install' or 'cp' command that you normally would (*note Install +mode::): + + a23# libtool --mode=install cp libhello.la /usr/local/lib/libhello.la + cp libhello.la /usr/local/lib/libhello.la + cp .libs/libhello.a /usr/local/lib/libhello.a + ranlib /usr/local/lib/libhello.a + a23# + + Note that the libtool library 'libhello.la' is also installed, to +help libtool with uninstallation (*note Uninstall mode::) and linking +(*note Linking executables::) and to help programs with dlopening (*note +Dlopened modules::). + + Here is the shared library example: + + burger# libtool --mode=install install -c libhello.la \ + /usr/local/lib/libhello.la + install -c .libs/libhello.so.0.0 /usr/local/lib/libhello.so.0.0 + install -c libhello.la /usr/local/lib/libhello.la + install -c .libs/libhello.a /usr/local/lib/libhello.a + ranlib /usr/local/lib/libhello.a + burger# + + It is safe to specify the '-s' (strip symbols) flag if you use a +BSD-compatible install program when installing libraries. Libtool will +either ignore the '-s' flag, or will run a program that will strip only +debugging and compiler symbols from the library. + + Once the libraries have been put in place, there may be some +additional configuration that you need to do before using them. First, +you must make sure that where the library is installed actually agrees +with the '-rpath' flag you used to build it. + + Then, running 'libtool -n finish LIBDIR' can give you further hints +on what to do (*note Finish mode::): + + burger# libtool -n finish /usr/local/lib + PATH="$PATH:/sbin" ldconfig -m /usr/local/lib + ----------------------------------------------------------------- + Libraries have been installed in: + /usr/local/lib + + To link against installed libraries in a given directory, LIBDIR, + you must use the '-LLIBDIR' flag during linking. + + You will also need to do one of the following: + - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable + during execution + - add LIBDIR to the 'LD_RUN_PATH' environment variable + during linking + - use the '-RLIBDIR' linker flag + + See any operating system documentation about shared libraries for + more information, such as the ld and ld.so manual pages. + ----------------------------------------------------------------- + burger# + + After you have completed these steps, you can go on to begin using +the installed libraries. You may also install any executables that +depend on libraries you created. + + ---------- Footnotes ---------- + + (1) Don't strip static libraries though, or they will be unusable. + + +File: libtool.info, Node: Installing executables, Next: Static libraries, Prev: Installing libraries, Up: Using libtool + +3.6 Installing executables +========================== + +If you used libtool to link any executables against uninstalled libtool +libraries (*note Linking executables::), you need to use libtool to +install the executables after the libraries have been installed (*note +Installing libraries::). + + So, for our Ultrix example, we would run: + + a23# libtool --mode=install install -c hell /usr/local/bin/hell + install -c hell /usr/local/bin/hell + a23# + + On shared library systems that require wrapper scripts, libtool just +ignores the wrapper script and installs the correct binary: + + burger# libtool --mode=install install -c hell /usr/local/bin/hell + install -c .libs/hell /usr/local/bin/hell + burger# + + +File: libtool.info, Node: Static libraries, Prev: Installing executables, Up: Using libtool + +3.7 Linking static libraries +============================ + +Why return to 'ar' and 'ranlib' silliness when you've had a taste of +libtool? Well, sometimes it is desirable to create a static archive +that can never be shared. The most frequent case is when you have a set +of object files that you use to build several different libraries. You +can create a "convenience library" out of those objects, and link +against that with the other libraries, instead of listing all the object +files every time. + + If you just want to link this convenience library into programs, then +you could just ignore libtool entirely, and use the old 'ar' and +'ranlib' commands (or the corresponding GNU Automake '_LIBRARIES' +rules). You can even install a convenience library using GNU Libtool, +though you probably don't want to and hence GNU Automake doesn't allow +you to do so. + + burger$ libtool --mode=install ./install-sh -c libhello.a \ + /local/lib/libhello.a + ./install-sh -c libhello.a /local/lib/libhello.a + ranlib /local/lib/libhello.a + burger$ + + Using libtool for static library installation protects your library +from being accidentally stripped (if the installer used the '-s' flag), +as well as automatically running the correct 'ranlib' command. + + But libtool libraries are more than just collections of object files: +they can also carry library dependency information, which old archives +do not. If you want to create a libtool static convenience library, you +can omit the '-rpath' flag and use '-static' to indicate that you're +only interested in a static library. When you link a program with such +a library, libtool will actually link all object files and dependency +libraries into the program. + + If you omit both '-rpath' and '-static', libtool will create a +convenience library that can be used to create other libtool libraries, +even shared ones. Just like in the static case, the library behaves as +an alias to a set of object files and dependency libraries, but in this +case the object files are suitable for inclusion in shared libraries. +But be careful not to link a single convenience library, directly or +indirectly, into a single program or library, otherwise you may get +errors about symbol redefinitions. + + The key is remembering that a convenience library contains PIC +objects, and can be linked where a list of PIC objects makes sense; i.e. +into a shared library. A static convenience library contains non-PIC +objects, so can be linked into an old static library, or a program. + + When GNU Automake is used, you should use 'noinst_LTLIBRARIES' +instead of 'lib_LTLIBRARIES' for convenience libraries, so that the +'-rpath' option is not passed when they are linked. + + As a rule of thumb, link a libtool convenience library into at most +one libtool library, and never into a program, and link libtool static +convenience libraries only into programs, and only if you need to carry +library dependency information to the user of the static convenience +library. + + Another common situation where static linking is desirable is in +creating a standalone binary. Use libtool to do the linking and add the +'-all-static' flag. + + +File: libtool.info, Node: Invoking libtool, Next: Integrating libtool, Prev: Using libtool, Up: Top + +4 Invoking 'libtool' +******************** + +The 'libtool' program has the following synopsis: + + libtool [OPTION]... [MODE-ARG]... + +and accepts the following options: + +'--config' + Display libtool configuration variables and exit. + +'--debug' + Dump a trace of shell script execution to standard output. This + produces a lot of output, so you may wish to pipe it to 'less' (or + 'more') or redirect to a file. + +'-n' +'--dry-run' + Don't create, modify, or delete any files, just show what commands + would be executed by libtool. + +'--features' + Display basic configuration options. This provides a way for + packages to determine whether shared or static libraries will be + built. + +'--finish' + Same as '--mode=finish'. + +'-h' + Display short help message. + +'--help' + Display a help message and exit. If '--mode=MODE' is specified, + then detailed help for MODE is displayed. + +'--help-all' + Display help for the general options as well as detailed help for + each operation mode, and exit. + +'--mode=MODE' + Use MODE as the operation mode. When using libtool from the + command line, you can give just MODE (or a unique abbreviation of + it) as the first argument as a shorthand for the full + '--mode=MODE'. For example, the following are equivalent: + + $ libtool --mode=execute --dry-run gdb prog.exe + $ libtool execute --dry-run gdb prog.exe + $ libtool exe --dry-run gdb prog.exe + $ libtool e --dry-run gdb prog.exe + + MODE must be set to one of the following: + + 'compile' + Compile a source file into a libtool object. + + 'execute' + Automatically set the library path so that another program can + use uninstalled libtool-generated programs or libraries. + + 'link' + Create a library or an executable. + + 'install' + Install libraries or executables. + + 'finish' + Complete the installation of libtool libraries on the system. + + 'uninstall' + Delete installed libraries or executables. + + 'clean' + Delete uninstalled libraries or executables. + +'--tag=TAG' + Use configuration variables from tag TAG (*note Tags::). + +'--preserve-dup-deps' + Do not remove duplicate dependencies in libraries. When building + packages with static libraries, the libraries may depend circularly + on each other (shared libs can too, but for those it doesn't + matter), so there are situations, where -la -lb -la is required, + and the second -la may not be stripped or the link will fail. In + cases where these duplications are required, this option will + preserve them, only stripping the libraries that libtool knows it + can safely. + +'--quiet' +'--silent' + Do not print out any progress or informational messages. + +'-v' +'--verbose' + Print out progress and informational messages (enabled by default), + as well as additional messages not ordinary seen by default. + +'--no-quiet' +'--no-silent' + Print out the progress and informational messages that are seen by + default. This option has no effect on whether the additional + messages seen in '--verbose' mode are shown. + +'--no-verbose' + Do not print out any additional informational messages beyond those + ordinarily seen by default. This option has no effect on whether + the ordinary progress and informational messages enabled by + '--no-quiet' are shown. + + Thus, there are now three different message levels (not counting + '--debug'), depending on whether the normal messages and/or the + additional verbose messages are displayed. Note that there is no + mechanism to display verbose messages, without also displaying + normal messages. + + *default* + Normal messages are displayed, verbose messages are not + displayed. In addition to being the default mode, it can be + forcibly achieved by using both option '--no-verbose' and + either option '--no-silent' or option '--no-quiet'. + + *silent* + Neither normal messages nor verbose messages are displayed. + This mode can be achieved using either option '--silent' or + option '--quiet'. + + *verbose* + Both normal messages and verbose messages are displayed. This + mode can be achieved using either option '-v' or option + '--verbose'. + +'--version' + Print libtool version information and exit. + + The current 'libtool' implementation is done with a shell script that +needs to be invoked by the shell that 'configure' chose for configuring +'libtool' (*note The Autoconf Manual: (autoconf)config.status +Invocation.). This shell is set in the she-bang ('#!') line of the +'libtool' script. Using a different shell may cause undefined behavior. + + The MODE-ARGS are a variable number of arguments, depending on the +selected operation mode. In general, each MODE-ARG is interpreted by +programs libtool invokes, rather than libtool itself. + +* Menu: + +* Compile mode:: Creating library object files. +* Link mode:: Generating executables and libraries. +* Execute mode:: Debugging libtool-generated programs. +* Install mode:: Making libraries and executables public. +* Finish mode:: Completing a library installation. +* Uninstall mode:: Removing installed executables and libraries. +* Clean mode:: Removing uninstalled executables and libraries. + + +File: libtool.info, Node: Compile mode, Next: Link mode, Up: Invoking libtool + +4.1 Compile mode +================ + +For "compile" mode, MODE-ARGS is a compiler command to be used in +creating a "standard" object file. These arguments should begin with +the name of the C compiler, and contain the '-c' compiler flag so that +only an object file is created. + + Libtool determines the name of the output file by removing the +directory component from the source file name, then substituting the +source code suffix (e.g. '.c' for C source code) with the library object +suffix, '.lo'. + + If shared libraries are being built, any necessary PIC generation +flags are substituted into the compilation command. + + The following components of MODE-ARGS are treated specially: + +'-o' + Note that the '-o' option is now fully supported. It is emulated + on the platforms that don't support it (by locking and moving the + objects), so it is really easy to use libtool, just with minor + modifications to your Makefiles. Typing for example + libtool --mode=compile gcc -c foo/x.c -o foo/x.lo + will do what you expect. + + Note, however, that, if the compiler does not support '-c' and + '-o', it is impossible to compile 'foo/x.c' without overwriting an + existing './x.o'. Therefore, if you do have a source file './x.c', + make sure you introduce dependencies in your 'Makefile' to make + sure './x.o' (or './x.lo') is re-created after any sub-directory's + 'x.lo': + + x.o x.lo: foo/x.lo bar/x.lo + + This will also ensure that make won't try to use a temporarily + corrupted 'x.o' to create a program or library. It may cause + needless recompilation on platforms that support '-c' and '-o' + together, but it's the only way to make it safe for those that + don't. + +'-no-suppress' + If both PIC and non-PIC objects are being built, libtool will + normally suppress the compiler output for the PIC object + compilation to save showing very similar, if not identical + duplicate output for each object. If the '-no-suppress' option is + given in compile mode, libtool will show the compiler output for + both objects. + +'-prefer-pic' + Libtool will try to build only PIC objects. + +'-prefer-non-pic' + Libtool will try to build only non-PIC objects. + +'-shared' + Even if Libtool was configured with '--enable-static', the object + file Libtool builds will not be suitable for static linking. + Libtool will signal an error if it was configured with + '--disable-shared', or if the host does not support shared + libraries. + +'-static' + Even if libtool was configured with '--disable-static', the object + file Libtool builds *will* be suitable for static linking. + +'-Wc,FLAG' +'-Xcompiler FLAG' + Pass a flag directly to the compiler. With '-Wc,', multiple flags + may be separated by commas, whereas '-Xcompiler ' passes through + commas unchanged. + + +File: libtool.info, Node: Link mode, Next: Execute mode, Prev: Compile mode, Up: Invoking libtool + +4.2 Link mode +============= + +"Link" mode links together object files (including library objects) to +form another library or to create an executable program. + + MODE-ARGS consist of a command using the C compiler to create an +output file (with the '-o' flag) from several object files. + + The following components of MODE-ARGS are treated specially: + +'-all-static' + If OUTPUT-FILE is a program, then do not link it against any shared + libraries at all. If OUTPUT-FILE is a library, then only create a + static library. In general, this flag cannot be used together with + 'disable-static' (*note LT_INIT::). + +'-avoid-version' + Tries to avoid versioning (*note Versioning::) for libraries and + modules, i.e. no version information is stored and no symbolic + links are created. If the platform requires versioning, this + option has no effect. + +'-bindir' + Pass the absolute name of the directory for installing executable + programs (*note Directory Variables: (standards)Directory + Variables.). 'libtool' may use this value to install shared + libraries there on systems that do not provide for any library + hardcoding and use the directory of a program and the 'PATH' + variable as library search path. This is typically used for DLLs + on Windows or other systems using the PE (Portable Executable) + format. On other systems, '-bindir' is ignored. The default value + used is 'LIBDIR/../bin' for libraries installed to 'LIBDIR'. You + should not use '-bindir' for modules. + +'-dlopen FILE' + Same as '-dlpreopen FILE', if native dlopening is not supported on + the host platform (*note Dlopened modules::) or if the program is + linked with '-static', '-static-libtool-libs', or '-all-static'. + Otherwise, no effect. If FILE is 'self' Libtool will make sure + that the program can 'dlopen' itself, either by enabling + '-export-dynamic' or by falling back to '-dlpreopen self'. + +'-dlpreopen FILE' + Link FILE into the output program, and add its symbols to the list + of preloaded symbols (*note Dlpreopening::). If FILE is 'self', + the symbols of the program itself will be added to preloaded symbol + lists. If FILE is 'force' Libtool will make sure that a preloaded + symbol list is always _defined_, regardless of whether it's empty + or not. + +'-export-dynamic' + Allow symbols from OUTPUT-FILE to be resolved with 'dlsym' (*note + Dlopened modules::). + +'-export-symbols SYMFILE' + Tells the linker to export only the symbols listed in SYMFILE. The + symbol file should end in '.sym' and must contain the name of one + symbol per line. This option has no effect on some platforms. By + default all symbols are exported. + +'-export-symbols-regex REGEX' + Same as '-export-symbols', except that only symbols matching the + regular expression REGEX are exported. By default all symbols are + exported. + +'-LLIBDIR' + Search LIBDIR for required libraries that have already been + installed. + +'-lNAME' + OUTPUT-FILE requires the installed library 'libNAME'. This option + is required even when OUTPUT-FILE is not an executable. + +'-module' + Creates a library that can be dlopened (*note Dlopened modules::). + This option doesn't work for programs. Module names don't need to + be prefixed with 'lib'. In order to prevent name clashes, however, + 'libNAME' and 'NAME' must not be used at the same time in your + package. + +'-no-fast-install' + Disable fast-install mode for the executable OUTPUT-FILE. Useful + if the program won't be necessarily installed. + +'-no-install' + Link an executable OUTPUT-FILE that can't be installed and + therefore doesn't need a wrapper script on systems that allow + hardcoding of library paths. Useful if the program is only used in + the build tree, e.g., for testing or generating other files. + +'-no-undefined' + Declare that OUTPUT-FILE does not depend on any libraries other + than the ones listed on the command line, i.e., after linking, it + will not have unresolved symbols. Some platforms require all + symbols in shared libraries to be resolved at library creation + (*note Inter-library dependencies::), and using this parameter + allows 'libtool' to assume that this will not happen. + +'-o OUTPUT-FILE' + Create OUTPUT-FILE from the specified objects and libraries. + +'-objectlist FILE' + Use a list of object files found in FILE to specify objects. + +'-os2dllname NAME' + Use this to change the DLL base name on OS/2 to NAME, to keep + within the 8 character base name limit on this system. + +'-precious-files-regex REGEX' + Prevents removal of files from the temporary output directory whose + names match this regular expression. You might specify '\.bbg?$' + to keep those files created with 'gcc -ftest-coverage' for example. + +'-release RELEASE' + Specify that the library was generated by release RELEASE of your + package, so that users can easily tell what versions are newer than + others. Be warned that no two releases of your package will be + binary compatible if you use this flag. If you want binary + compatibility, use the '-version-info' flag instead (*note + Versioning::). + +'-rpath LIBDIR' + If OUTPUT-FILE is a library, it will eventually be installed in + LIBDIR. If OUTPUT-FILE is a program, add LIBDIR to the run-time + path of the program. On platforms that don't support hardcoding + library paths into executables and only search PATH for shared + libraries, such as when OUTPUT-FILE is a Windows (or other PE + platform) DLL, the '.la' control file will be installed in LIBDIR, + but see '-bindir' above for the eventual destination of the '.dll' + or other library file itself. + +'-R LIBDIR' + If OUTPUT-FILE is a program, add LIBDIR to its run-time path. If + OUTPUT-FILE is a library, add '-RLIBDIR' to its DEPENDENCY_LIBS, so + that, whenever the library is linked into a program, LIBDIR will be + added to its run-time path. + +'-shared' + If OUTPUT-FILE is a program, then link it against any uninstalled + shared libtool libraries (this is the default behavior). If + OUTPUT-FILE is a library, then only create a shared library. In + the later case, libtool will signal an error if it was configured + with '--disable-shared', or if the host does not support shared + libraries. + +'-shrext SUFFIX' + If OUTPUT-FILE is a libtool library, replace the system's standard + file name extension for shared libraries with SUFFIX (most systems + use '.so' here). This option is helpful in certain cases where an + application requires that shared libraries (typically modules) have + an extension other than the default one. Please note you must + supply the full file name extension including any leading dot. + +'-static' + If OUTPUT-FILE is a program, then do not link it against any + uninstalled shared libtool libraries. If OUTPUT-FILE is a library, + then only create a static library. + +'-static-libtool-libs' + If OUTPUT-FILE is a program, then do not link it against any shared + libtool libraries. If OUTPUT-FILE is a library, then only create a + static library. + +'-version-info CURRENT[:REVISION[:AGE]]' + If OUTPUT-FILE is a libtool library, use interface version + information CURRENT, REVISION, and AGE to build it (*note + Versioning::). Do *not* use this flag to specify package release + information, rather see the '-release' flag. + +'-version-number MAJOR[:MINOR[:REVISION]]' + If OUTPUT-FILE is a libtool library, compute interface version + information so that the resulting library uses the specified major, + minor and revision numbers. This is designed to permit libtool to + be used with existing projects where identical version numbers are + already used across operating systems. New projects should use the + '-version-info' flag instead. + +'-weak LIBNAME' + if OUTPUT-FILE is a libtool library, declare that it provides a + weak LIBNAME interface. This is a hint to libtool that there is no + need to append LIBNAME to the list of dependency libraries of + OUTPUT-FILE, because linking against OUTPUT-FILE already supplies + the same interface (*note Linking with dlopened modules::). + +'-Wc,FLAG' +'-Xcompiler FLAG' + Pass a linker-specific flag directly to the compiler. With '-Wc,', + multiple flags may be separated by commas, whereas '-Xcompiler ' + passes through commas unchanged. + +'-Wa,FLAG' +'-Xassembler FLAG' + Pass a linker-specific flag directly to the assembler. With + '-Wa,', multiple flags may be separated by commas, whereas + '-Xassembler ' passes through commas unchanged. + +'-Wl,FLAG' +'-Xlinker FLAG' + Pass a linker-specific flag directly to the linker. + +'-XCClinker FLAG' + Pass a link-specific flag to the compiler driver ('CC') during + linking. + + If the OUTPUT-FILE ends in '.la', then a libtool library is created, +which must be built only from library objects ('.lo' files). The +'-rpath' option is required. In the current implementation, libtool +libraries may not depend on other uninstalled libtool libraries (*note +Inter-library dependencies::). + + If the OUTPUT-FILE ends in '.a', then a standard library is created +using 'ar' and possibly 'ranlib'. + + If OUTPUT-FILE ends in '.o' or '.lo', then a reloadable object file +is created from the input files (generally using 'ld -r'). This method +is often called "partial linking". + + Otherwise, an executable program is created. + + +File: libtool.info, Node: Execute mode, Next: Install mode, Prev: Link mode, Up: Invoking libtool + +4.3 Execute mode +================ + +For "execute" mode, the library path is automatically set, then a +program is executed. + + The first of the MODE-ARGS is treated as a program name, with the +rest as arguments to that program. + + The following components of MODE-ARGS are treated specially: + +'-dlopen FILE' + Add the directory containing FILE to the library path. + + This mode sets the library path environment variable according to any +'-dlopen' flags. + + If any of the ARGS are libtool executable wrappers, then they are +translated into the name of their corresponding uninstalled binary, and +any of their required library directories are added to the library path. + + +File: libtool.info, Node: Install mode, Next: Finish mode, Prev: Execute mode, Up: Invoking libtool + +4.4 Install mode +================ + +In "install" mode, libtool interprets most of the elements of MODE-ARGS +as an installation command beginning with 'cp', or a BSD-compatible +'install' program. + + The following components of MODE-ARGS are treated specially: + +'-inst-prefix-dir INST-PREFIX-DIR' + When installing into a temporary staging area, rather than the + final 'prefix', this argument is used to reflect the temporary + path, in much the same way 'automake' uses 'DESTDIR'. For + instance, if 'prefix' is '/usr/local', but INST-PREFIX-DIR is + '/tmp', then the object will be installed under '/tmp/usr/local/'. + If the installed object is a libtool library, then the internal + fields of that library will reflect only 'prefix', not + INST-PREFIX-DIR: + + # Directory that this library needs to be installed in: + libdir='/usr/local/lib' + + not + + # Directory that this library needs to be installed in: + libdir='/tmp/usr/local/lib' + + 'inst-prefix' is also used to ensure that if the installed object + must be relinked upon installation, that it is relinked against the + libraries in INST-PREFIX-DIR/'prefix', not 'prefix'. + + In truth, this option is not really intended for use when calling + libtool directly; it is automatically used when 'libtool + --mode=install' calls 'libtool --mode=relink'. Libtool does this + by analyzing the destination path given in the original 'libtool + --mode=install' command and comparing it to the expected + installation path established during 'libtool --mode=link'. + + Thus, end-users need change nothing, and 'automake'-style 'make + install DESTDIR=/tmp' will Just Work(tm) most of the time. For + systems where fast installation cannot be turned on, relinking may + be needed. In this case, a 'DESTDIR' install will fail. + + Currently it is not generally possible to install into a temporary + staging area that contains needed third-party libraries that are + not yet visible at their final location. + + The rest of the MODE-ARGS are interpreted as arguments to the 'cp' or +'install' command. + + The command is run, and any necessary unprivileged post-installation +commands are also completed. + + +File: libtool.info, Node: Finish mode, Next: Uninstall mode, Prev: Install mode, Up: Invoking libtool + +4.5 Finish mode +=============== + +"Finish" mode has two functions. One is to help system administrators +install libtool libraries so that they can be located and linked into +user programs. To invoke this functionality, pass the name of a library +directory as MODE-ARG. Running this command may require superuser +privileges, and the '--dry-run' option may be useful. + + The second is to facilitate transferring libtool libraries to a +native compilation environment after they were built in a +cross-compilation environment. Cross-compilation environments may rely +on recent libtool features, and running libtool in finish mode will make +it easier to work with older versions of libtool. This task is +performed whenever the MODE-ARG is a '.la' file. + + +File: libtool.info, Node: Uninstall mode, Next: Clean mode, Prev: Finish mode, Up: Invoking libtool + +4.6 Uninstall mode +================== + +"Uninstall" mode deletes installed libraries, executables and objects. + + The first MODE-ARG is the name of the program to use to delete files +(typically '/bin/rm'). + + The remaining MODE-ARGS are either flags for the deletion program +(beginning with a '-'), or the names of files to delete. + + +File: libtool.info, Node: Clean mode, Prev: Uninstall mode, Up: Invoking libtool + +4.7 Clean mode +============== + +"Clean" mode deletes uninstalled libraries, executables, objects and +libtool's temporary files associated with them. + + The first MODE-ARG is the name of the program to use to delete files +(typically '/bin/rm'). + + The remaining MODE-ARGS are either flags for the deletion program +(beginning with a '-'), or the names of files to delete. + + +File: libtool.info, Node: Integrating libtool, Next: Other languages, Prev: Invoking libtool, Up: Top + +5 Integrating libtool with your package +*************************************** + +This chapter describes how to integrate libtool with your packages so +that your users can install hassle-free shared libraries. + + There are several ways that Libtool may be integrated in your +package, described in the following sections. Typically, the Libtool +macro files as well as 'ltmain.sh' are copied into your package using +'libtoolize' and 'aclocal' after setting up the 'configure.ac' and +toplevel 'Makefile.am', then 'autoconf' adds the needed tests to the +'configure' script. These individual steps are often automated with +'autoreconf'. + + Here is a diagram showing how such a typical Libtool configuration +works when preparing a package for distribution, assuming that 'm4' has +been chosen as location for additional Autoconf macros, and 'build-aux' +as location for auxiliary build tools (*note The Autoconf Manual: +(autoconf)Input.): + + libtool.m4 -----. .--> aclocal.m4 -----. + ltoptions.m4 ---+ .-> aclocal* -+ +--> autoconf* + ltversion.m4 ---+--+ `--> [copy in m4/] --+ | + ltsugar.m4 -----+ | ^ | \/ + lt~obsolete.m4 -+ +-> libtoolize* -----' | configure + [ltdl.m4] ------+ | | + `----------------------------------' + + ltmain.sh -----------> libtoolize* -> [copy in build-aux/] + + During configuration, the 'libtool' script is generated either +through 'config.status' or 'config.lt': + + .--> config.status* --. + configure* --+ +--> libtool + `--> [config.lt*] ----' ^ + | + ltmain.sh --------------------------------' + + At 'make' run time, 'libtool' is then invoked as needed as a wrapper +around compilers, linkers, install and cleanup programs. + + There are alternatives choices to several parts of the setup; for +example, the Libtool macro files can either be copied or symlinked into +the package, or copied into 'aclocal.m4'. As another example, an +external, pre-configured 'libtool' script may be used, by-passing most +of the tests and package-specific setup for Libtool. + +* Menu: + +* Autoconf macros:: Autoconf macros exported by libtool. +* Makefile rules:: Writing 'Makefile' rules for libtool. +* Using Automake:: Automatically supporting libtool. +* Configuring:: Configuring libtool for a host system. +* Distributing:: What files to distribute with your package. +* Static-only libraries:: Sometimes shared libraries are just a pain. + + +File: libtool.info, Node: Autoconf macros, Next: Makefile rules, Up: Integrating libtool + +5.1 Autoconf macros exported by libtool +======================================= + +Libtool uses a number of macros to interrogate the host system when it +is being built, and you can use some of them yourself too. Although +there are a great many other macros in the libtool installed m4 files, +these do not form part of the published interface, and are subject to +change between releases. + +Macros in the 'LT_CMD_' namespace check for various shell commands: + + -- Macro: LT_CMD_MAX_LEN + Finds the longest command line that can be safely passed to + '$SHELL' without being truncated, and store in the shell variable + '$max_cmd_len'. It is only an approximate value, but command lines + of this length or shorter are guaranteed not to be truncated. + +Macros in the 'LT_FUNC_' namespace check characteristics of library +functions: + + -- Macro: LT_FUNC_DLSYM_USCORE + 'AC_DEFINE' the preprocessor symbol 'DLSYM_USCORE' if we have to + add an underscore to symbol-names passed in to 'dlsym'. + +Macros in the 'LT_LIB_' namespace check characteristics of system +libraries: + + -- Macro: LT_LIB_M + Set 'LIBM' to the math library or libraries required on this + machine, if any. + + -- Macro: LT_LIB_DLLOAD + This is the macro used by 'libltdl' to determine what dlloaders to + use on this machine, if any. Several shell variables are set (and + 'AC_SUBST'ed) depending on the dlload interfaces are available on + this machine. 'LT_DLLOADERS' contains a list of libtool libraries + that can be used, and if necessary also sets 'LIBADD_DLOPEN' if + additional system libraries are required by the 'dlopen' loader, + and 'LIBADD_SHL_LOAD' if additional system libraries are required + by the 'shl_load' loader, respectively. Finally some symbols are + set in 'config.h' depending on the loaders that are found to work: + 'HAVE_LIBDL', 'HAVE_SHL_LOAD', 'HAVE_DYLD', 'HAVE_DLD'. + +Macros in the 'LT_PATH_' namespace search the system for the full path +to particular system commands: + + -- Macro: LT_PATH_LD + Add a '--with-gnu-ld' option to 'configure'. Try to find the path + to the linker used by '$CC', and whether it is the GNU linker. The + result is stored in the shell variable '$LD', which is + 'AC_SUBST'ed. + + -- Macro: LT_PATH_NM + Try to find a BSD-compatible 'nm' or a MS-compatible 'dumpbin' + command on this machine. The result is stored in the shell + variable '$NM', which is 'AC_SUBST'ed. + +Macros in the 'LT_SYS_' namespace probe for system characteristics: + + -- Macro: LT_SYS_DLOPEN_SELF + Tests whether a program can dlopen itself, and then also whether + the same program can still dlopen itself when statically linked. + Results are stored in the shell variables '$enable_dlopen_self' and + 'enable_dlopen_self_static' respectively. + + -- Macro: LT_SYS_DLOPEN_DEPLIBS + Define the preprocessor symbol 'LTDL_DLOPEN_DEPLIBS' if the OS + needs help to load dependent libraries for 'dlopen' (or + equivalent). + + -- Macro: LT_SYS_DLSEARCH_PATH + Define the preprocessor symbol 'LT_DLSEARCH_PATH' to the system + default library search path. + + -- Macro: LT_SYS_MODULE_EXT + Define the preprocessor symbol 'LT_MODULE_EXT' to the extension + used for runtime loadable modules. If you use libltdl to open + modules, then you can simply use the libtool library extension, + '.la'. + + -- Macro: LT_SYS_MODULE_PATH + Define the preprocessor symbol 'LT_MODULE_PATH_VAR' to the name of + the shell environment variable that determines the run-time module + search path. + + -- Macro: LT_SYS_SYMBOL_USCORE + Set the shell variable 'sys_symbol_underscore' to 'no' unless the + compiler prefixes global symbols with an underscore. + + +File: libtool.info, Node: Makefile rules, Next: Using Automake, Prev: Autoconf macros, Up: Integrating libtool + +5.2 Writing 'Makefile' rules for libtool +======================================== + +Libtool is fully integrated with Automake (*note Introduction: +(automake)Top.), starting with Automake version 1.2. + + If you want to use libtool in a regular 'Makefile' (or +'Makefile.in'), you are on your own. If you're not using Automake, and +you don't know how to incorporate libtool into your package you need to +do one of the following: + + 1. Download the latest Automake distribution from your nearest GNU + mirror, install it, and start using it. + + 2. Learn how to write 'Makefile' rules by hand. They're sometimes + complex, but if you're clever enough to write rules for compiling + your old libraries, then you should be able to figure out new rules + for libtool libraries (hint: examine the 'Makefile.in' in the + 'tests/demo' subdirectory of the libtool distribution... note + especially that it was automatically generated from the + 'Makefile.am' by Automake). + + +File: libtool.info, Node: Using Automake, Next: Configuring, Prev: Makefile rules, Up: Integrating libtool + +5.3 Using Automake with libtool +=============================== + +Libtool library support is implemented under the 'LTLIBRARIES' primary. + + Here are some samples from the Automake 'Makefile.am' in the libtool +distribution's 'demo' subdirectory. + + First, to link a program against a libtool library, just use the +'program_LDADD'(1) variable: + + bin_PROGRAMS = hell hell_static + + # Build hell from main.c and libhello.la + hell_SOURCES = main.c + hell_LDADD = libhello.la + + # Create a statically linked version of hell. + hell_static_SOURCES = main.c + hell_static_LDADD = libhello.la + hell_static_LDFLAGS = -static + + You may use the 'program_LDFLAGS' variable to stuff in any flags you +want to pass to libtool while linking 'program' (such as '-static' to +avoid linking uninstalled shared libtool libraries). + + Building a libtool library is almost as trivial... note the use of +'libhello_la_LDFLAGS' to pass the '-version-info' (*note Versioning::) +option to libtool: + + # Build a libtool library, libhello.la for installation in libdir. + lib_LTLIBRARIES = libhello.la + libhello_la_SOURCES = hello.c foo.c + libhello_la_LDFLAGS = -version-info 3:12:1 + + The '-rpath' option is passed automatically by Automake (except for +libraries listed as 'noinst_LTLIBRARIES'), so you should not specify it. + + *Note Building a Shared Library: (automake)A Shared Library, for more +information. + + When building libtool archives which depend on built sources (for +example a generated header file), you may find it necessary to manually +record these dependencies. Because libtool archives generate object +file names manually recording these dependencies is not as +straightforward as the examples in Automake's manual describe in their +examples. This effects header files in particular, because simply +listing them as 'nodist_libfoo_la_SOURCES' will not cause Automake to +establish a dependent relationship for the object files of 'libfoo.la'. +A useful trick (although somewhat imprecise) is to manually record built +sources used by a libtool archive as dependencies of all the objects for +that library as shown below (as opposed to a particular object file): + + # Build a libtool library, libhello.la which depends on a generated header. + hello.h: + echo '#define HELLO_MESSAGE "Hello, World!"' > $@ + BUILT_SOURCES = hello.h + CLEANFILES = hello.h + nodist_libhello_la_SOURCES = hello.h + libhello_la_SOURCES = hello.c foo.h foo.c bar.h bar.c + # Manually record hello.h as a prerequisite for all objects in libhello.la + $(libhello_la_OBJECTS): hello.h + + *Note Recording Dependencies manually: (automake)Built Sources +Example, for more information. + + ---------- Footnotes ---------- + + (1) Since GNU Automake 1.5, the flags '-dlopen' or '-dlpreopen' +(*note Link mode::) can be employed with the 'program_LDADD' variable. +Unfortunately, older releases didn't accept these flags, so if you are +stuck with an ancient Automake, we recommend quoting the flag itself, +and setting 'program_DEPENDENCIES' too: + + program_LDADD = "-dlopen" libfoo.la + program_DEPENDENCIES = libfoo.la + + +File: libtool.info, Node: Configuring, Next: Distributing, Prev: Using Automake, Up: Integrating libtool + +5.4 Configuring libtool +======================= + +Libtool requires intimate knowledge of your compiler suite and operating +system to be able to create shared libraries and link against them +properly. When you install the libtool distribution, a system-specific +libtool script is installed into your binary directory. + + However, when you distribute libtool with your own packages (*note +Distributing::), you do not always know the compiler suite and operating +system that are used to compile your package. + + For this reason, libtool must be "configured" before it can be used. +This idea should be familiar to anybody who has used a GNU 'configure' +script. 'configure' runs a number of tests for system features, then +generates the 'Makefile's (and possibly a 'config.h' header file), after +which you can run 'make' and build the package. + + Libtool adds its own tests to your 'configure' script to generate a +libtool script for the installer's host machine. + +* Menu: + +* LT_INIT:: Configuring 'libtool' in 'configure.ac'. +* Configure notes:: Platform-specific notes for configuration. + + +File: libtool.info, Node: LT_INIT, Next: Configure notes, Up: Configuring + +5.4.1 The 'LT_INIT' macro +------------------------- + +If you are using GNU Autoconf (or Automake), you should add a call to +'LT_INIT' to your 'configure.ac' file. This macro adds many new tests +to the 'configure' script so that the generated libtool script will +understand the characteristics of the host. It's the most important of +a number of macros defined by Libtool: + + -- Macro: LT_PREREQ (VERSION) + Ensure that a recent enough version of Libtool is being used. If + the version of Libtool used for 'LT_INIT' is earlier than VERSION, + print an error message to the standard error output and exit with + failure (exit status is 63). For example: + + LT_PREREQ([2.4.7]) + + -- Macro: LT_INIT (OPTIONS) + -- Macro: AC_PROG_LIBTOOL + -- Macro: AM_PROG_LIBTOOL + Add support for the '--enable-shared', '--disable-shared', + '--enable-static', '--disable-static', '--with-pic', and + '--without-pic' 'configure' flags.(1) 'AC_PROG_LIBTOOL' and + 'AM_PROG_LIBTOOL' are deprecated names for older versions of this + macro; 'autoupdate' will upgrade your 'configure.ac' files. + + By default, this macro turns on shared libraries if they are + available, and also enables static libraries if they don't conflict + with the shared libraries. You can modify these defaults by + passing either 'disable-shared' or 'disable-static' in the option + list to 'LT_INIT', or using 'AC_DISABLE_SHARED' or + 'AC_DISABLE_STATIC'. + + # Turn off shared libraries during beta-testing, since they + # make the build process take too long. + LT_INIT([disable-shared]) + + The user may specify modified forms of the configure flags + '--enable-shared' and '--enable-static' to choose whether shared or + static libraries are built based on the name of the package. For + example, to have shared 'bfd' and 'gdb' libraries built, but not + shared 'libg++', you can run all three 'configure' scripts as + follows: + + trick$ ./configure --enable-shared=bfd,gdb + + In general, specifying '--enable-shared=PKGS' is the same as + configuring with '--enable-shared' every package named in the + comma-separated PKGS list, and every other package with + '--disable-shared'. The '--enable-static=PKGS' flag behaves + similarly, but it uses '--enable-static' and '--disable-static'. + The same applies to the '--enable-fast-install=PKGS' flag, which + uses '--enable-fast-install' and '--disable-fast-install'. + + The package name 'default' matches any packages that have not set + their name in the 'PACKAGE' environment variable. + + The '--with-pic' and '--without-pic' configure flags can be used to + specify whether or not 'libtool' uses PIC objects. By default, + 'libtool' uses PIC objects for shared libraries and non-PIC objects + for static libraries. The '--with-pic' option also accepts a + comma-separated list of package names. Specifying + '--with-pic=PKGS' is the same as configuring every package in PKGS + with '--with-pic' and every other package with the default + configuration. The package name 'default' is treated the same as + for '--enable-shared' and '--enable-static'. + + This macro also sets the shell variable 'LIBTOOL_DEPS', that you + can use to automatically update the libtool script if it becomes + out-of-date. In order to do that, add to your 'configure.ac': + + LT_INIT + AC_SUBST([LIBTOOL_DEPS]) + + and, to 'Makefile.in' or 'Makefile.am': + + LIBTOOL_DEPS = @LIBTOOL_DEPS@ + libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status libtool + + If you are using GNU Automake, you can omit the assignment, as + Automake will take care of it. You'll obviously have to create + some dependency on 'libtool'. + + Aside from 'disable-static' and 'disable-shared', there are other + options that you can pass to 'LT_INIT' to modify its behaviour. + Here is a full list: + + 'dlopen' + Enable checking for dlopen support. This option should be + used if the package makes use of the '-dlopen' and + '-dlpreopen' libtool flags, otherwise libtool will assume that + the system does not support dlopening. + + 'win32-dll' + This option should be used if the package has been ported to + build clean dlls on win32 platforms. Usually this means that + any library data items are exported with + '__declspec(dllexport)' and imported with + '__declspec(dllimport)'. If this option is not used, libtool + will assume that the package libraries are not dll clean and + will build only static libraries on win32 hosts. + + Provision must be made to pass '-no-undefined' to 'libtool' in + link mode from the package 'Makefile'. Naturally, if you pass + '-no-undefined', you must ensure that all the library symbols + *really are* defined at link time! + + 'aix-soname=aix' + 'aix-soname=svr4' + 'aix-soname=both' + Enable the '--with-aix-soname' to 'configure', which the user + can pass to override the given default. + + By default (and *always* in releases prior to 2.4.4), Libtool + always behaves as if 'aix-soname=aix' is given, with no + 'configure' option for the user to override. Specifically, + when the '-brtl' linker flag is seen in 'LDFLAGS' at + build-time, static archives are built from static objects + only, otherwise, traditional AIX shared library archives of + shared objects using in-archive versioning are built (with the + '.a' file extension!). Similarly, with '-brtl' in 'LDFLAGS', + libtool shared archives are built from shared objects, without + any filename-based versioning; and without '-brtl' no shared + archives are built at all. + + When 'aix-soname=svr4' option is given, or the + '--with-aix-soname=svr4' 'configure' option is passed, static + archives are always created from static objects, even without + '-brtl' in 'LDFLAGS'. Shared archives are made from shared + objects, and filename based versioning is enabled. + + When 'aix-soname=both' option is given, or the + '--with-aix-soname=svr4' 'configure' option is passed, static + archives are built traditionally (as 'aix-soname=aix'), and + both kinds of shared archives are built. The '.la' + pseudo-archive specifies one or the other depending on whether + '-brtl' is specified in 'LDFLAGS' when the library is built. + + 'disable-fast-install' + Change the default behaviour for 'LT_INIT' to disable + optimization for fast installation. The user may still + override this default, depending on platform support, by + specifying '--enable-fast-install' to 'configure'. + + 'shared' + Change the default behaviour for 'LT_INIT' to enable shared + libraries. This is the default on all systems where Libtool + knows how to create shared libraries. The user may still + override this default by specifying '--disable-shared' to + 'configure'. + + 'disable-shared' + Change the default behaviour for 'LT_INIT' to disable shared + libraries. The user may still override this default by + specifying '--enable-shared' to 'configure'. + + 'static' + Change the default behaviour for 'LT_INIT' to enable static + libraries. This is the default on all systems where shared + libraries have been disabled for some reason, and on most + systems where shared libraries have been enabled. If shared + libraries are enabled, the user may still override this + default by specifying '--disable-static' to 'configure'. + + 'disable-static' + Change the default behaviour for 'LT_INIT' to disable static + libraries. The user may still override this default by + specifying '--enable-static' to 'configure'. + + 'pic-only' + Change the default behaviour for 'libtool' to try to use only + PIC objects. The user may still override this default by + specifying '--without-pic' to 'configure'. + + 'no-pic' + Change the default behaviour of 'libtool' to try to use only + non-PIC objects. The user may still override this default by + specifying '--with-pic' to 'configure'. + + -- Macro: LT_LANG (LANGUAGE) + Enable 'libtool' support for the language given if it has not yet + already been enabled. Languages accepted are "C++", "Fortran 77", + "Java", "Go", and "Windows Resource". + + If Autoconf language support macros such as 'AC_PROG_CXX' are used + in your 'configure.ac', Libtool language support will automatically + be enabled. + + Conversely using 'LT_LANG' to enable language support for Libtool + will automatically enable Autoconf language support as well. + + Both of the following examples are therefore valid ways of adding + C++ language support to Libtool. + + LT_INIT + LT_LANG([C++]) + + LT_INIT + AC_PROG_CXX + + -- Macro: AC_LIBTOOL_DLOPEN + This macro is deprecated, the 'dlopen' option to 'LT_INIT' should + be used instead. + + -- Macro: AC_LIBTOOL_WIN32_DLL + This macro is deprecated, the 'win32-dll' option to 'LT_INIT' + should be used instead. + + -- Macro: AC_DISABLE_FAST_INSTALL + This macro is deprecated, the 'disable-fast-install' option to + 'LT_INIT' should be used instead. + + -- Macro: AC_DISABLE_SHARED + -- Macro: AM_DISABLE_SHARED + Change the default behaviour for 'LT_INIT' to disable shared + libraries. The user may still override this default by specifying + '--enable-shared'. The option 'disable-shared' to 'LT_INIT' is a + shorthand for this. 'AM_DISABLE_SHARED' is a deprecated alias for + 'AC_DISABLE_SHARED'. + + -- Macro: AC_ENABLE_SHARED + -- Macro: AM_ENABLE_SHARED + Change the default behaviour for 'LT_INIT' to enable shared + libraries. This is the default on all systems where Libtool knows + how to create shared libraries. The user may still override this + default by specifying '--disable-shared'. The option 'shared' to + 'LT_INIT' is a shorthand for this. 'AM_ENABLE_SHARED' is a + deprecated alias for 'AC_ENABLE_SHARED'. + + -- Macro: AC_DISABLE_STATIC + -- Macro: AM_DISABLE_STATIC + Change the default behaviour for 'LT_INIT' to disable static + libraries. The user may still override this default by specifying + '--enable-static'. The option 'disable-static' to 'LT_INIT' is a + shorthand for this. 'AM_DISABLE_STATIC' is a deprecated alias for + 'AC_DISABLE_STATIC'. + + -- Macro: AC_ENABLE_STATIC + -- Macro: AM_ENABLE_STATIC + Change the default behaviour for 'LT_INIT' to enable static + libraries. This is the default on all systems where shared + libraries have been disabled for some reason, and on most systems + where shared libraries have been enabled. If shared libraries are + enabled, the user may still override this default by specifying + '--disable-static'. The option 'static' to 'LT_INIT' is a + shorthand for this. 'AM_ENABLE_STATIC' is a deprecated alias for + 'AC_ENABLE_STATIC'. + + The tests in 'LT_INIT' also recognize the following environment +variables: + + -- Variable: CC + The C compiler that will be used by the generated 'libtool'. If + this is not set, 'LT_INIT' will look for 'gcc' or 'cc'. + + -- Variable: CFLAGS + Compiler flags used to generate standard object files. If this is + not set, 'LT_INIT' will not use any such flags. It affects only + the way 'LT_INIT' runs tests, not the produced 'libtool'. + + -- Variable: CPPFLAGS + C preprocessor flags. If this is not set, 'LT_INIT' will not use + any such flags. It affects only the way 'LT_INIT' runs tests, not + the produced 'libtool'. + + -- Variable: LD + The system linker to use (if the generated 'libtool' requires one). + If this is not set, 'LT_INIT' will try to find out what is the + linker used by 'CC'. + + -- Variable: LDFLAGS + The flags to be used by 'libtool' when it links a program. If this + is not set, 'LT_INIT' will not use any such flags. It affects only + the way 'LT_INIT' runs tests, not the produced 'libtool'. + + -- Variable: LIBS + The libraries to be used by 'LT_INIT' when it links a program. If + this is not set, 'LT_INIT' will not use any such flags. It affects + only the way 'LT_INIT' runs tests, not the produced 'libtool'. + + -- Variable: NM + Program to use rather than checking for 'nm'. + + -- Variable: RANLIB + Program to use rather than checking for 'ranlib'. + + -- Variable: LN_S + A command that creates a link of a program, a soft-link if + possible, a hard-link otherwise. 'LT_INIT' will check for a + suitable program if this variable is not set. + + -- Variable: DLLTOOL + Program to use rather than checking for 'dlltool'. Only meaningful + for Cygwin/MS-Windows. + + -- Variable: OBJDUMP + Program to use rather than checking for 'objdump'. Only meaningful + for Cygwin/MS-Windows. + + -- Variable: AS + Program to use rather than checking for 'as'. Only used on + Cygwin/MS-Windows at the moment. + + -- Variable: MANIFEST_TOOL + Program to use rather than checking for 'mt', the Manifest Tool. + Only used on Cygwin/MS-Windows at the moment. + + -- Variable: LT_SYS_LIBRARY_PATH + Libtool has heuristics for the system search path for + runtime-loaded libraries. If the guessed default does not match + the setup of the host system, this variable can be used to modify + that path list, as follows ('LT_SYS_LIBRARY_PATH' is a + colon-delimited list like 'PATH'): + * 'path:' The heuristically determined paths will be appened + after the trailing colon; + * ':path' The heuristically determined paths will be prepended + before the leading colon; + * 'path::path' The heuristically determined paths will be + inserted between the double colons; + * 'path' With no dangling colons, the heuristically determined + paths will be ignored entirely. + + With 1.3 era libtool, if you wanted to know any details of what +libtool had discovered about your architecture and environment, you had +to run the script with '--config' and grep through the results. This +idiom was supported up to and including 1.5.x era libtool, where it was +possible to call the generated libtool script from 'configure.ac' as +soon as 'LT_INIT' had completed. However, one of the features of +libtool 1.4 was that the libtool configuration was migrated out of a +separate 'ltconfig' file, and added to the 'LT_INIT' macro (nee +'AC_PROG_LIBTOOL'), so the results of the configuration tests were +available directly to code in 'configure.ac', rendering the call out to +the generated libtool script obsolete. + + Starting with libtool 2.0, the multipass generation of the libtool +script has been consolidated into a single 'config.status' pass, which +happens after all the code in 'configure.ac' has completed. The +implication of this is that the libtool script does not exist during +execution of code from 'configure.ac', and so obviously it cannot be +called for '--config' details anymore. If you are upgrading projects +that used this idiom to libtool 2.0 or newer, you should replace those +calls with direct references to the equivalent Autoconf shell variables +that are set by the configure time tests before being passed to +'config.status' for inclusion in the generated libtool script. + + -- Macro: LT_OUTPUT + By default, the configured 'libtool' script is generated by the + call to 'AC_OUTPUT' command, and there is rarely any need to use + 'libtool' from 'configure'. However, sometimes it is necessary to + run configure time compile and link tests using 'libtool'. You can + add 'LT_OUTPUT' to your 'configure.ac' any time after 'LT_INIT' and + any 'LT_LANG' calls; that done, 'libtool' will be created by a + specially generated 'config.lt' file, and available for use in + later tests. + + Also, when 'LT_OUTPUT' is used, for backwards compatibility with + Automake regeneration rules, 'config.status' will call 'config.lt' + to regenerate 'libtool', rather than generating the file itself. + + When you invoke the 'libtoolize' program (*note Invoking +libtoolize::), it will tell you where to find a definition of 'LT_INIT'. +If you use Automake, the 'aclocal' program will automatically add +'LT_INIT' support to your 'configure' script when it sees the invocation +of 'LT_INIT' in 'configure.ac'. + + Because of these changes, and the runtime version compatibility +checks Libtool now executes, we now advise *against* including a copy of +'libtool.m4' (and brethren) in 'acinclude.m4'. Instead, you should set +your project macro directory with 'AC_CONFIG_MACRO_DIRS'. When you +'libtoolize' your project, a copy of the relevant macro definitions will +be placed in your 'AC_CONFIG_MACRO_DIRS', where 'aclocal' can reference +them directly from 'aclocal.m4'. + + ---------- Footnotes ---------- + + (1) 'LT_INIT' requires that you define the 'Makefile' variable +'top_builddir' in your 'Makefile.in'. Automake does this automatically, +but Autoconf users should set it to the relative path to the top of your +build directory ('../..', for example). + + +File: libtool.info, Node: Configure notes, Prev: LT_INIT, Up: Configuring + +5.4.2 Platform-specific configuration notes +------------------------------------------- + +While Libtool tries to hide as many platform-specific features as +possible, some have to be taken into account when configuring either the +Libtool package or a libtoolized package. + + * You currently need GNU make to build the Libtool package itself. + + * On AIX there are two different styles of shared linking, one where + symbols are bound at link-time and one where symbols are bound at + runtime only, similar to ELF. In case of doubt use + 'LDFLAGS=-Wl,-brtl' for the latter style. + + * On AIX, native tools are to be preferred over binutils; especially + for C++ code, if using the AIX Toolbox GCC 4.0 and binutils, + configure with 'AR=/usr/bin/ar LD=/usr/bin/ld NM='/usr/bin/nm -B''. + + * On AIX, the '/bin/sh' is very slow due to its inefficient handling + of here-documents. A modern shell is preferable: + CONFIG_SHELL=/bin/bash; export $CONFIG_SHELL + $CONFIG_SHELL ./configure [...] + + * For C++ code with templates, it may be necessary to specify the way + the compiler will generate the instantiations. For Portland pgCC + version5, use 'CXX='pgCC --one_instantiation_per_object'' and avoid + parallel 'make'. + + * On Darwin, for C++ code with templates you need two level shared + libraries. Libtool builds these by default if + 'MACOSX_DEPLOYMENT_TARGET' is set to 10.3 or later at 'configure' + time. See for more information on this + issue. + + * The default shell on UNICOS 9, a ksh 88e variant, is too buggy to + correctly execute the libtool script. Users are advised to install + a modern shell such as GNU bash. + + * Some HP-UX 'sed' programs are horribly broken, and cannot handle + libtool's requirements, so users may report unusual problems. + There is no workaround except to install a working 'sed' (such as + GNU sed) on these systems. + + * The vendor-distributed NCR MP-RAS 'cc' programs emits copyright on + standard error that confuse tests on size of 'conftest.err'. The + workaround is to specify 'CC' when run configure with 'CC='cc + -Hnocopyr''. + + * Any earlier DG/UX system with ELF executables, such as R3.10 or + R4.10, is also likely to work, but hasn't been explicitly tested. + + * On Reliant Unix libtool has only been tested with the Siemens + C-compiler and an old version of 'gcc' provided by Marco Walther. + + * 'libtool.m4', 'ltdl.m4' and the 'configure.ac' files are marked to + use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf + itself, and all recent releases of XEmacs. + + * When building on some GNU/Linux systems for multilib targets + 'libtool' sometimes guesses the wrong paths that the linker and + dynamic linker search by default. If this occurs for the dynamic + library path, you may use the 'LT_SYS_LIBRARY_PATH' environment + variable to adjust. Otherwise, at 'configure' time you may + override libtool's guesses by setting the 'autoconf' cache + variables 'lt_cv_sys_lib_search_path_spec' and + 'lt_cv_sys_lib_dlsearch_path_spec' respectively. + + +File: libtool.info, Node: Distributing, Next: Static-only libraries, Prev: Configuring, Up: Integrating libtool + +5.5 Including libtool in your package +===================================== + +In order to use libtool, you need to include the following files with +your package: + +'config.guess' + Attempt to guess a canonical system name. + +'config.sub' + Canonical system name validation subroutine script. + +'install-sh' + BSD-compatible 'install' replacement script. + +'ltmain.sh' + A generic script implementing basic libtool functionality. + + Note that the libtool script itself should _not_ be included with +your package. *Note Configuring::. + + You should use the 'libtoolize' program, rather than manually copying +these files into your package. + +* Menu: + +* Invoking libtoolize:: 'libtoolize' command line options. +* Autoconf and LTLIBOBJS:: Autoconf automates LTLIBOBJS generation. + + +File: libtool.info, Node: Invoking libtoolize, Next: Autoconf and LTLIBOBJS, Up: Distributing + +5.5.1 Invoking 'libtoolize' +--------------------------- + +The 'libtoolize' program provides a standard way to add libtool support +to your package. In the future, it may implement better usage checking, +or other features to make libtool even easier to use. + + The 'libtoolize' program has the following synopsis: + + libtoolize [OPTION]... + +and accepts the following options: + +'--copy' +'-c' + Copy files from the libtool data directory rather than creating + symlinks. + +'--debug' + Dump a trace of shell script execution to standard output. This + produces a lot of output, so you may wish to pipe it to 'less' (or + 'more') or redirect to a file. + +'--dry-run' +'-n' + Don't run any commands that modify the file system, just print them + out. + +'--force' +'-f' + Replace existing libtool files. By default, 'libtoolize' won't + overwrite existing files. + +'--help' + Display a help message and exit. + +'--ltdl [TARGET-DIRECTORY-NAME]' + Install libltdl in the TARGET-DIRECTORY-NAME subdirectory of your + package. Normally, the directory is extracted from the argument to + 'LT_CONFIG_LTDL_DIR' in 'configure.ac', though you can also specify + a subdirectory name here if you are not using Autoconf for example. + If 'libtoolize' can't determine the target directory, 'libltdl' is + used as the default. + +'--no-warn' + Normally, Libtoolize tries to diagnose use of deprecated libtool + macros and other stylistic issues. If you are deliberately using + outdated calling conventions, this option prevents Libtoolize from + explaining how to update your project's Libtool conventions. + +'--nonrecursive' + If passed in conjunction with '--ltdl', this option will cause the + 'libltdl' installed by 'libtoolize' to be set up for use with a + non-recursive 'automake' build. To make use of it, you will need + to add the following to the 'Makefile.am' of the parent project: + + ## libltdl/ltdl.mk appends to the following variables + ## so we set them here before including it: + BUILT_SOURCES = + + AM_CPPFLAGS = + AM_LDFLAGS = + + include_HEADERS = + noinst_LTLIBRARIES = + lib_LTLIBRARIES = + EXTRA_LTLIBRARIES = + + EXTRA_DIST = + + CLEANFILES = + MOSTLYCLEANFILES = + + include libltdl/ltdl.mk + + +'--quiet' +'-q' + Work silently. 'libtoolize --quiet' is used by GNU Automake to add + libtool files to your package if necessary. + +'--recursive' + If passed in conjunction with '--ltdl', this option will cause the + 'libtoolize' installed 'libltdl' to be set up for use with a + recursive 'automake' build. To make use of it, you will need to + adjust the parent project's 'configure.ac': + + AC_CONFIG_FILES([libltdl/Makefile]) + + and 'Makefile.am': + + SUBDIRS += libltdl + +'--subproject' + If passed in conjunction with '--ltdl', this option will cause the + 'libtoolize' installed 'libltdl' to be set up for independent + configuration and compilation as a self-contained subproject. To + make use of it, you should arrange for your build to call + 'libltdl/configure', and then run 'make' in the 'libltdl' directory + (or the subdirectory you put libltdl into). If your project uses + Autoconf, you can use the supplied 'LT_WITH_LTDL' macro, or else + call 'AC_CONFIG_SUBDIRS' directly. + + Previous releases of 'libltdl' built exclusively in this mode, but + now it is the default mode both for backwards compatibility and + because, for example, it is suitable for use in projects that wish + to use 'libltdl', but not use the Autotools for their own build + process. + +'--verbose' +'-v' + Work noisily! Give a blow by blow account of what 'libtoolize' is + doing. + +'--version' + Print 'libtoolize' version information and exit. + + Sometimes it can be useful to pass options to 'libtoolize' even +though it is called by another program, such as 'autoreconf'. A limited +number of options are parsed from the environment variable +'LIBTOOLIZE_OPTIONS': currently '--debug', '--no-warn', '--quiet' and +'--verbose'. Multiple options passed in 'LIBTOOLIZE_OPTIONS' must be +separated with a space, comma or a colon. + + By default, a warning is issued for unknown options found in +'LIBTOOLIZE_OPTIONS' unless the first such option is '--no-warn'. Where +'libtoolize' has always quit on receipt of an unknown option at the +command line, this and all previous releases of 'libtoolize' will +continue unabated whatever the content of 'LIBTOOLIZE_OPTIONS' (modulo +some possible warning messages). + + trick$ LIBTOOLIZE_OPTIONS=--no-warn,--quiet autoreconf --install + + If 'libtoolize' detects an explicit call to 'AC_CONFIG_MACRO_DIRS' +(*note The Autoconf Manual: (autoconf)Input.) in your 'configure.ac', it +will put the Libtool macros in the specified directory. + + In the future other Autotools will automatically check the contents +of 'AC_CONFIG_MACRO_DIRS', but at the moment it is more portable to add +the macro directory to 'ACLOCAL_AMFLAGS' in 'Makefile.am', which is +where the tools currently look. If 'libtoolize' doesn't see +'AC_CONFIG_MACRO_DIRS', it too will honour the first '-I' argument in +'ACLOCAL_AMFLAGS' when choosing a directory to store libtool +configuration macros in. It is perfectly sensible to use both +'AC_CONFIG_MACRO_DIRS' and 'ACLOCAL_AMFLAGS', as long as they are kept +in synchronisation. + + ACLOCAL_AMFLAGS = -I m4 + + When you bootstrap your project with 'aclocal', then you will need to +explicitly pass the same macro directory with 'aclocal''s '-I' flag: + + trick$ aclocal -I m4 + + If 'libtoolize' detects an explicit call to 'AC_CONFIG_AUX_DIR' +(*note The Autoconf Manual: (autoconf)Input.) in your 'configure.ac', it +will put the other support files in the specified directory. Otherwise +they too end up in the project root directory. + + Unless '--no-warn' is passed, 'libtoolize' displays hints for adding +libtool support to your package, as well. + + +File: libtool.info, Node: Autoconf and LTLIBOBJS, Prev: Invoking libtoolize, Up: Distributing + +5.5.2 Autoconf and 'LTLIBOBJS' +------------------------------ + +People used to add code like the following to their 'configure.ac': + + LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` + AC_SUBST([LTLIBOBJS]) + +This is no longer required (since Autoconf 2.54), and doesn't take +Automake's deansification support into account either, so doesn't work +correctly even with ancient Autoconfs! + + Provided you are using a recent (2.54 or better) incarnation of +Autoconf, the call to 'AC_OUTPUT' takes care of setting 'LTLIBOBJS' up +correctly, so you can simply delete such snippets from your +'configure.ac' if you had them. + + +File: libtool.info, Node: Static-only libraries, Prev: Distributing, Up: Integrating libtool + +5.6 Static-only libraries +========================= + +When you are developing a package, it is often worthwhile to configure +your package with the '--disable-shared' flag, or to override the +defaults for 'LT_INIT' by using the 'disable-shared' option (*note The +'LT_INIT' macro: LT_INIT.). This prevents libtool from building shared +libraries, which has several advantages: + + * compilation is twice as fast, which can speed up your development + cycle, + + * debugging is easier because you don't need to deal with any + complexities added by shared libraries, and + + * you can see how libtool behaves on static-only platforms. + + You may want to put a small note in your package 'README' to let +other developers know that '--disable-shared' can save them time. The +following example note is taken from the GIMP(1) distribution 'README': + + The GIMP uses GNU Libtool to build shared libraries on a + variety of systems. While this is very nice for making usable + binaries, it can be a pain when trying to debug a program. For that + reason, compilation of shared libraries can be turned off by + specifying the --disable-shared option to configure. + + ---------- Footnotes ---------- + + (1) GNU Image Manipulation Program, for those who haven't taken the +plunge. See . + + +File: libtool.info, Node: Other languages, Next: Versioning, Prev: Integrating libtool, Up: Top + +6 Using libtool with other languages +************************************ + +Libtool was first implemented to add support for writing shared +libraries in the C language. However, over time, libtool is being +integrated with other languages, so that programmers are free to reap +the benefits of shared libraries in their favorite programming language. + + This chapter describes how libtool interacts with other languages, +and what special considerations you need to make if you do not use C. + +* Menu: + +* C++ libraries:: Writing libraries for C++ +* Tags:: Tags + + +File: libtool.info, Node: C++ libraries, Next: Tags, Up: Other languages + +6.1 Writing libraries for C++ +============================= + +Creating libraries of C++ code should be a fairly straightforward +process, because its object files differ from C ones in only three ways: + + 1. Because of name mangling, C++ libraries are only usable by the C++ + compiler that created them. This decision was made by the + designers of C++ to protect users from conflicting implementations + of features such as constructors, exception handling, and RTTI. + + 2. On some systems, the C++ compiler must take special actions for the + dynamic linker to run dynamic (i.e., run-time) initializers. This + means that we should not call 'ld' directly to link such libraries, + and we should use the C++ compiler instead. + + 3. C++ compilers will link some Standard C++ library in by default, + but libtool does not know what these libraries are, so it cannot + even run the inter-library dependence analyzer to check how to link + it in. Therefore, running 'ld' to link a C++ program or library is + deemed to fail. + + Because of these three issues, Libtool has been designed to always +use the C++ compiler to compile and link C++ programs and libraries. In +some instances the 'main()' function of a program must also be compiled +with the C++ compiler for static C++ objects to be properly initialized. + + +File: libtool.info, Node: Tags, Prev: C++ libraries, Up: Other languages + +6.2 Tags +======== + +Libtool supports multiple languages through the use of tags. +Technically a tag corresponds to a set of configuration variables +associated with a language. These variables tell 'libtool' how it +should create objects and libraries for each language. + + Tags are defined at 'configure'-time for each language activated in +the package (see 'LT_LANG' in *note LT_INIT::). Here is the +correspondence between language names and tags names. + +Language name Tag name +C CC +C++ CXX +Java GCJ +Fortran 77 F77 +Fortran FC +Go GO +Windows Resource RC + + 'libtool' tries to automatically infer what tag to use from the +compiler command being used to compile or link. If it can't infer a +tag, then it defaults to the configuration for the 'C' language. + + The tag can also be specified using 'libtool''s '--tag=TAG' option +(*note Invoking libtool::). It is a good idea to do so in 'Makefile' +rules, because that will allow users to substitute the compiler without +relying on 'libtool' inference heuristics. When no tag is specified, +'libtool' will default to 'CC'; this tag always exists. + + Finally, the set of tags available in a particular project can be +retrieved by tracing for the 'LT_SUPPORTED_TAG' macro (*note Trace +interface::). + + +File: libtool.info, Node: Versioning, Next: Library tips, Prev: Other languages, Up: Top + +7 Library interface versions +**************************** + +The most difficult issue introduced by shared libraries is that of +creating and resolving runtime dependencies. Dependencies on programs +and libraries are often described in terms of a single name, such as +'sed'. So, one may say "libtool depends on sed," and that is good +enough for most purposes. + + However, when an interface changes regularly, we need to be more +specific: "Gnus 5.1 requires Emacs 19.28 or above." Here, the +description of an interface consists of a name, and a "version number." + + Even that sort of description is not accurate enough for some +purposes. What if Emacs 20 changes enough to break Gnus 5.1? + + The same problem exists in shared libraries: we require a formal +version system to describe the sorts of dependencies that programs have +on shared libraries, so that the dynamic linker can guarantee that +programs are linked only against libraries that provide the interface +they require. + +* Menu: + +* Interfaces:: What are library interfaces? +* Libtool versioning:: Libtool's versioning system. +* Updating version info:: Changing version information before releases. +* Release numbers:: Breaking binary compatibility for aesthetics. + + +File: libtool.info, Node: Interfaces, Next: Libtool versioning, Up: Versioning + +7.1 What are library interfaces? +================================ + +Interfaces for libraries may be any of the following (and more): + + * global variables: both names and types + + * global functions: argument types and number, return types, and + function names + + * standard input, standard output, standard error, and file formats + + * sockets, pipes, and other inter-process communication protocol + formats + + Note that static functions do not count as interfaces, because they +are not directly available to the user of the library. + + +File: libtool.info, Node: Libtool versioning, Next: Updating version info, Prev: Interfaces, Up: Versioning + +7.2 Libtool's versioning system +=============================== + +Libtool has its own formal versioning system. It is not as flexible as +some, but it is definitely the simplest of the more powerful versioning +systems. + + Think of a library as exporting several sets of interfaces, +arbitrarily represented by integers. When a program is linked against a +library, it may use any subset of those interfaces. + + Libtool's description of the interfaces that a program uses is +simple: it encodes the least and the greatest interface numbers in the +resulting binary (FIRST-INTERFACE, LAST-INTERFACE). + + The dynamic linker is guaranteed that if a library supports _every_ +interface number between FIRST-INTERFACE and LAST-INTERFACE, then the +program can be relinked against that library. + + Note that this can cause problems because libtool's compatibility +requirements are actually stricter than is necessary. + + Say 'libhello' supports interfaces 5, 16, 17, 18, and 19, and that +libtool is used to link 'test' against 'libhello'. + + Libtool encodes the numbers 5 and 19 in 'test', and the dynamic +linker will only link 'test' against libraries that support _every_ +interface between 5 and 19. So, the dynamic linker refuses to link +'test' against 'libhello'! + + In order to eliminate this problem, libtool only allows libraries to +declare consecutive interface numbers. So, 'libhello' can declare at +most that it supports interfaces 16 through 19. Then, the dynamic +linker will link 'test' against 'libhello'. + + So, libtool library versions are described by three integers: + +CURRENT + The most recent interface number that this library implements. + +REVISION + The implementation number of the CURRENT interface. + +AGE + The difference between the newest and oldest interfaces that this + library implements. In other words, the library implements all the + interface numbers in the range from number 'CURRENT - AGE' to + 'CURRENT'. + + If two libraries have identical CURRENT and AGE numbers, then the +dynamic linker chooses the library with the greater REVISION number. + + +File: libtool.info, Node: Updating version info, Next: Release numbers, Prev: Libtool versioning, Up: Versioning + +7.3 Updating library version information +======================================== + +If you want to use libtool's versioning system, then you must specify +the version information to libtool using the '-version-info' flag during +link mode (*note Link mode::). + + This flag accepts an argument of the form 'CURRENT[:REVISION[:AGE]]'. +So, passing '-version-info 3:12:1' sets CURRENT to 3, REVISION to 12, +and AGE to 1. + + If either REVISION or AGE are omitted, they default to 0. Also note +that AGE must be less than or equal to the CURRENT interface number. + + Here are a set of rules to help you update your library version +information: + + 1. Start with version information of '0:0:0' for each libtool library. + + 2. Update the version information only immediately before a public + release of your software. More frequent updates are unnecessary, + and only guarantee that the current interface number gets larger + faster. + + 3. If the library source code has changed at all since the last + update, then increment REVISION ('C:R:A' becomes 'C:r+1:A'). + + 4. If any interfaces have been added, removed, or changed since the + last update, increment CURRENT, and set REVISION to 0. + + 5. If any interfaces have been added since the last public release, + then increment AGE. + + 6. If any interfaces have been removed or changed since the last + public release, then set AGE to 0. + + *_Never_* try to set the interface numbers so that they correspond to +the release number of your package. This is an abuse that only fosters +misunderstanding of the purpose of library versions. Instead, use the +'-release' flag (*note Release numbers::), but be warned that every +release of your package will not be binary compatible with any other +release. + + The following explanation may help to understand the above rules a +bit better: consider that there are three possible kinds of reactions +from users of your library to changes in a shared library: + + 1. Programs using the previous version may use the new version as + drop-in replacement, and programs using the new version can also + work with the previous one. In other words, no recompiling nor + relinking is needed. In this case, bump REVISION only, don't touch + CURRENT nor AGE. + + 2. Programs using the previous version may use the new version as + drop-in replacement, but programs using the new version may use + APIs not present in the previous one. In other words, a program + linking against the new version may fail with "unresolved symbols" + if linking against the old version at runtime: set REVISION to 0, + bump CURRENT and AGE. + + 3. Programs may need to be changed, recompiled, and relinked in order + to use the new version. Bump CURRENT, set REVISION and AGE to 0. + +In the above description, _programs_ using the library in question may +also be replaced by other libraries using it. + + +File: libtool.info, Node: Release numbers, Prev: Updating version info, Up: Versioning + +7.4 Managing release information +================================ + +Often, people want to encode the name of the package release into the +shared library so that it is obvious to the user what package their +programs are linked against. This convention is used especially on +GNU/Linux: + + trick$ ls /usr/lib/libbfd* + /usr/lib/libbfd.a /usr/lib/libbfd.so.2.7.0.2 + /usr/lib/libbfd.so + trick$ + + On 'trick', '/usr/lib/libbfd.so' is a symbolic link to +'libbfd.so.2.7.0.2', which was distributed as a part of +'binutils-2.7.0.2'. + + Unfortunately, this convention conflicts directly with libtool's idea +of library interface versions, because the library interface rarely +changes at the same time that the release number does, and the library +suffix is never the same across all platforms. + + So, to accommodate both views, you can use the '-release' flag to set +release information for libraries for which you do not want to use +'-version-info'. For the 'libbfd' example, the next release that uses +libtool should be built with '-release 2.9.0', which will produce the +following files on GNU/Linux: + + trick$ ls /usr/lib/libbfd* + /usr/lib/libbfd-2.9.0.so /usr/lib/libbfd.a + /usr/lib/libbfd.so + trick$ + + In this case, '/usr/lib/libbfd.so' is a symbolic link to +'libbfd-2.9.0.so'. This makes it obvious that the user is dealing with +'binutils-2.9.0', without compromising libtool's idea of interface +versions. + + Note that this option causes a modification of the library name, so +do not use it unless you want to break binary compatibility with any +past library releases. In general, you should only use '-release' for +package-internal libraries or for ones whose interfaces change very +frequently. + + +File: libtool.info, Node: Library tips, Next: Inter-library dependencies, Prev: Versioning, Up: Top + +8 Tips for interface design +*************************** + +Writing a good library interface takes a lot of practice and thorough +understanding of the problem that the library is intended to solve. + + If you design a good interface, it won't have to change often, you +won't have to keep updating documentation, and users won't have to keep +relearning how to use the library. + + Here is a brief list of tips for library interface design that may +help you in your exploits: + +Plan ahead + Try to make every interface truly minimal, so that you won't need + to delete entry points very often. + +Avoid interface changes + Some people love redesigning and changing entry points just for the + heck of it (note: _renaming_ a function is considered changing an + entry point). Don't be one of those people. If you must redesign + an interface, then try to leave compatibility functions behind so + that users don't need to rewrite their existing code. + +Use opaque data types + The fewer data type definitions a library user has access to, the + better. If possible, design your functions to accept a generic + pointer (that you can cast to an internal data type), and provide + access functions rather than allowing the library user to directly + manipulate the data. That way, you have the freedom to change the + data structures without changing the interface. + + This is essentially the same thing as using abstract data types and + inheritance in an object-oriented system. + +Use header files + If you are careful to document each of your library's global + functions and variables in header files, and include them in your + library source files, then the compiler will let you know if you + make any interface changes by accident (*note C header files::). + +Use the 'static' keyword (or equivalent) whenever possible + The fewer global functions your library has, the more flexibility + you'll have in changing them. Static functions and variables may + change forms as often as you like... your users cannot access them, + so they aren't interface changes. + +Be careful with array dimensions + The number of elements in a global array is part of an interface, + even if the header just declares 'extern int foo[];'. This is + because on i386 and some other SVR4/ELF systems, when an + application references data in a shared library the size of that + data (whatever its type) is included in the application executable. + If you might want to change the size of an array or string then + provide a pointer not the actual array. + +* Menu: + +* C header files:: How to write portable include files. + + +File: libtool.info, Node: C header files, Up: Library tips + +8.1 Writing C header files +========================== + +Writing portable C header files can be difficult, since they may be read +by different types of compilers: + +C++ compilers + C++ compilers require that functions be declared with full + prototypes, since C++ is more strongly typed than C. C functions + and variables also need to be declared with the 'extern "C"' + directive, so that the names aren't mangled. *Note C++ + libraries::, for other issues relevant to using C++ with libtool. + +ANSI C compilers + ANSI C compilers are not as strict as C++ compilers, but functions + should be prototyped to avoid unnecessary warnings when the header + file is '#include'd. + +non-ANSI C compilers + Non-ANSI compilers will report errors if functions are prototyped. + + These complications mean that your library interface headers must use +some C preprocessor magic to be usable by each of the above compilers. + + 'foo.h' in the 'tests/demo' subdirectory of the libtool distribution +serves as an example for how to write a header file that can be safely +installed in a system directory. + + Here are the relevant portions of that file: + + /* BEGIN_C_DECLS should be used at the beginning of your declarations, + so that C++ compilers don't mangle their names. Use END_C_DECLS at + the end of C declarations. */ + #undef BEGIN_C_DECLS + #undef END_C_DECLS + #ifdef __cplusplus + # define BEGIN_C_DECLS extern "C" { + # define END_C_DECLS } + #else + # define BEGIN_C_DECLS /* empty */ + # define END_C_DECLS /* empty */ + #endif + + /* PARAMS is a macro used to wrap function prototypes, so that + compilers that don't understand ANSI C prototypes still work, + and ANSI C compilers can issue warnings about type mismatches. */ + #undef PARAMS + #if defined __STDC__ || defined _AIX \ + || (defined __mips && defined _SYSTYPE_SVR4) \ + || defined WIN32 || defined __cplusplus + # define PARAMS(protos) protos + #else + # define PARAMS(protos) () + #endif + + These macros are used in 'foo.h' as follows: + + #ifndef FOO_H + #define FOO_H 1 + + /* The above macro definitions. */ + #include "..." + + BEGIN_C_DECLS + + int foo PARAMS((void)); + int hello PARAMS((void)); + + END_C_DECLS + + #endif /* !FOO_H */ + + Note that the '#ifndef FOO_H' prevents the body of 'foo.h' from being +read more than once in a given compilation. + + Also the only thing that must go outside the +'BEGIN_C_DECLS'/'END_C_DECLS' pair are '#include' lines. Strictly +speaking it is only C symbol names that need to be protected, but your +header files will be more maintainable if you have a single pair of +these macros around the majority of the header contents. + + You should use these definitions of 'PARAMS', 'BEGIN_C_DECLS', and +'END_C_DECLS' into your own headers. Then, you may use them to create +header files that are valid for C++, ANSI, and non-ANSI compilers(1). + + Do not be naive about writing portable code. Following the tips +given above will help you miss the most obvious problems, but there are +definitely other subtle portability issues. You may need to cope with +some of the following issues: + + * Pre-ANSI compilers do not always support the 'void *' generic + pointer type, and so need to use 'char *' in its place. + + * The 'const', 'inline' and 'signed' keywords are not supported by + some compilers, especially pre-ANSI compilers. + + * The 'long double' type is not supported by many compilers. + + ---------- Footnotes ---------- + + (1) We used to recommend '__P', '__BEGIN_DECLS' and '__END_DECLS'. +This was bad advice since symbols (even preprocessor macro names) that +begin with an underscore are reserved for the use of the compiler. + + +File: libtool.info, Node: Inter-library dependencies, Next: Dlopened modules, Prev: Library tips, Up: Top + +9 Inter-library dependencies +**************************** + +By definition, every shared library system provides a way for +executables to depend on libraries, so that symbol resolution is +deferred until runtime. + + An "inter-library dependency" is where a library depends on other +libraries. For example, if the libtool library 'libhello' uses the +'cos' function, then it has an inter-library dependency on 'libm', the +math library that implements 'cos'. + + Some shared library systems provide this feature in an +internally-consistent way: these systems allow chains of dependencies of +potentially infinite length. + + However, most shared library systems are restricted in that they only +allow a single level of dependencies. In these systems, programs may +depend on shared libraries, but shared libraries may not depend on other +shared libraries. + + In any event, libtool provides a simple mechanism for you to declare +inter-library dependencies: for every library 'libNAME' that your own +library depends on, simply add a corresponding '-lNAME' option to the +link line when you create your library. To make an example of our +'libhello' that depends on 'libm': + + burger$ libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ + -rpath /usr/local/lib -lm + burger$ + + When you link a program against 'libhello', you don't need to specify +the same '-l' options again: libtool will do that for you, to guarantee +that all the required libraries are found. This restriction is only +necessary to preserve compatibility with static library systems and +simple dynamic library systems. + + Some platforms, such as Windows, do not even allow you this +flexibility. In order to build a shared library, it must be entirely +self-contained or it must have dependencies known at link time (that is, +have references only to symbols that are found in the '.lo' files or the +specified '-l' libraries), and you need to specify the '-no-undefined' +flag. By default, libtool builds only static libraries on these kinds +of platforms. + + The simple-minded inter-library dependency tracking code of libtool +releases prior to 1.2 was disabled because it was not clear when it was +possible to link one library with another, and complex failures would +occur. A more complex implementation of this concept was re-introduced +before release 1.3, but it has not been ported to all platforms that +libtool supports. The default, conservative behavior is to avoid +linking one library with another, introducing their inter-dependencies +only when a program is linked with them. + + +File: libtool.info, Node: Dlopened modules, Next: Using libltdl, Prev: Inter-library dependencies, Up: Top + +10 Dlopened modules +******************* + +It can sometimes be confusing to discuss "dynamic linking", because the +term is used to refer to two different concepts: + + 1. Compiling and linking a program against a shared library, which is + resolved automatically at run time by the dynamic linker. In this + process, dynamic linking is transparent to the application. + + 2. The application calling functions such as 'dlopen' that load + arbitrary, user-specified modules at runtime. This type of dynamic + linking is explicitly controlled by the application. + + To mitigate confusion, this manual refers to the second type of +dynamic linking as "dlopening" a module. + + The main benefit to dlopening object modules is the ability to access +compiled object code to extend your program, rather than using an +interpreted language. In fact, dlopen calls are frequently used in +language interpreters to provide an efficient way to extend the +language. + + Libtool provides support for dlopened modules. However, you should +indicate that your package is willing to use such support, by using the +'LT_INIT' option 'dlopen' in 'configure.ac'. If this option is not +given, libtool will assume no dlopening mechanism is available, and will +try to simulate it. + + This chapter discusses how you as a dlopen application developer +might use libtool to generate dlopen-accessible modules. + +* Menu: + +* Building modules:: Creating dlopenable objects and libraries. +* Dlpreopening:: Dlopening that works on static platforms. +* Linking with dlopened modules:: Using dlopenable modules in libraries. +* Finding the dlname:: Choosing the right file to 'dlopen'. +* Dlopen issues:: Unresolved problems that need your attention. + + +File: libtool.info, Node: Building modules, Next: Dlpreopening, Up: Dlopened modules + +10.1 Building modules to dlopen +=============================== + +On some operating systems, a program symbol must be specially declared +in order to be dynamically resolved with the 'dlsym' (or equivalent) +function. Libtool provides the '-export-dynamic' and '-module' link +flags (*note Link mode::), for you to make that declaration. You need +to use these flags if you are linking an application program that +dlopens other modules or a libtool library that will also be dlopened. + + For example, if we wanted to build a shared library, 'hello', that +would later be dlopened by an application, we would add '-module' to the +other link flags: + + burger$ libtool --mode=link gcc -module -o hello.la foo.lo \ + hello.lo -rpath /usr/local/lib -lm + burger$ + + If symbols from your _executable_ are needed to satisfy unresolved +references in a library you want to dlopen you will have to use the flag +'-export-dynamic'. You should use '-export-dynamic' while linking the +executable that calls dlopen: + + burger$ libtool --mode=link gcc -export-dynamic -o helldl main.o + burger$ + + +File: libtool.info, Node: Dlpreopening, Next: Linking with dlopened modules, Prev: Building modules, Up: Dlopened modules + +10.2 Dlpreopening +================= + +Libtool provides special support for dlopening libtool object and +libtool library files, so that their symbols can be resolved _even on +platforms without any 'dlopen' and 'dlsym' functions_. + + Consider the following alternative ways of loading code into your +program, in order of increasing "laziness": + + 1. Linking against object files that become part of the program + executable, whether or not they are referenced. If an object file + cannot be found, then the compile time linker refuses to create the + executable. + + 2. Declaring a static library to the linker, so that it is searched at + link time to satisfy any undefined references in the above object + files. If the static library cannot be found, then the compile + time linker refuses to create the executable. + + 3. Declaring a shared library to the runtime linker, so that it is + searched at runtime to satisfy any undefined references in the + above files. If the shared library cannot be found, then the + dynamic linker aborts the program before it runs. + + 4. Dlopening a module, so that the application can resolve its own, + dynamically-computed references. If there is an error opening the + module, or the module is not found, then the application can + recover without crashing. + + Libtool emulates '-dlopen' on static platforms by linking objects +into the program at compile time, and creating data structures that +represent the program's symbol table. In order to use this feature, you +must declare the objects you want your application to dlopen by using +the '-dlopen' or '-dlpreopen' flags when you link your program (*note +Link mode::). + + -- Data Type: lt_dlsymlist typedef struct { const char *NAME; + void *ADDRESS; } lt_dlsymlist + The NAME attribute is a null-terminated character string of the + symbol name, such as '"fprintf"'. The ADDRESS attribute is a + generic pointer to the appropriate object, such as '&fprintf'. + + -- Variable: const lt_dlsymlist lt_preloaded_symbols[] + An array of 'lt_dlsymlist' structures, representing all the + preloaded symbols linked into the program proper. For each module + '-dlpreopen'ed by the Libtool linked program there is an element + with the NAME of the module and an ADDRESS of '0', followed by all + symbols exported from this file. For the executable itself the + special name '@PROGRAM@' is used. The last element of all has a + NAME and ADDRESS of '0'. + + To facilitate inclusion of symbol lists into libraries, + 'lt_preloaded_symbols' is '#define'd to a suitably unique name in + 'ltdl.h'. + + This variable may not be declared 'const' on some systems due to + relocation issues. + + Some compilers may allow identifiers that are not valid in ANSI C, +such as dollar signs. Libtool only recognizes valid ANSI C symbols (an +initial ASCII letter or underscore, followed by zero or more ASCII +letters, digits, and underscores), so non-ANSI symbols will not appear +in 'lt_preloaded_symbols'. + + -- Function: int lt_dlpreload (const lt_dlsymlist *PRELOADED) + Register the list of preloaded modules PRELOADED. If PRELOADED is + 'NULL', then all previously registered symbol lists, except the + list set by 'lt_dlpreload_default', are deleted. Return 0 on + success. + + -- Function: int lt_dlpreload_default (const lt_dlsymlist *PRELOADED) + Set the default list of preloaded modules to PRELOADED, which won't + be deleted by 'lt_dlpreload'. Note that this function does _not_ + require libltdl to be initialized using 'lt_dlinit' and can be used + in the program to register the default preloaded modules. Instead + of calling this function directly, most programs will use the macro + 'LTDL_SET_PRELOADED_SYMBOLS'. + + Return 0 on success. + + -- Macro: LTDL_SET_PRELOADED_SYMBOLS + Set the default list of preloaded symbols. Should be used in your + program to initialize libltdl's list of preloaded modules. + + #include + + int main() { + /* ... */ + LTDL_SET_PRELOADED_SYMBOLS(); + /* ... */ + } + + -- Function Type: int lt_dlpreload_callback_func (lt_dlhandle HANDLE) + Functions of this type can be passed to 'lt_dlpreload_open', which + in turn will call back into a function thus passed for each + preloaded module that it opens. + + -- Function: int lt_dlpreload_open (const char *ORIGINATOR, + lt_dlpreload_callback_func *FUNC) + Load all of the preloaded modules for ORIGINATOR. For every module + opened in this way, call FUNC. + + To open all of the modules preloaded into 'libhell.la' (presumably + from within the 'libhell.a' initialisation code): + + #define preloaded_symbols lt_libhell_LTX_preloaded_symbols + + static int hell_preload_callback (lt_dlhandle handle); + + int + hell_init (void) + { + ... + if (lt_dlpreload (&preloaded_symbols) == 0) + { + lt_dlpreload_open ("libhell", preload_callback); + } + ... + } + + Note that to prevent clashes between multiple preloaded modules, + the preloaded symbols are accessed via a mangled symbol name: to + get the symbols preloaded into 'libhell', you must prefix + 'preloaded_symbols' with 'lt_'; the originator name, 'libhell' in + this case; and '_LTX_'. That is, + 'lt_libhell_LTX_preloaded_symbols' here. + + +File: libtool.info, Node: Linking with dlopened modules, Next: Finding the dlname, Prev: Dlpreopening, Up: Dlopened modules + +10.3 Linking with dlopened modules +================================== + +When, say, an interpreter application uses dlopened modules to extend +the list of methods it provides, an obvious abstraction for the +maintainers of the interpreter is to have all methods (including the +built in ones supplied with the interpreter) accessed through dlopen. +For one thing, the dlopening functionality will be tested even during +routine invocations. For another, only one subsystem has to be written +for getting methods into the interpreter. + + The downside of this abstraction is, of course, that environments +that provide only static linkage can't even load the intrinsic +interpreter methods. Not so! We can statically link those methods by +*dlpreopening* them. + + Unfortunately, since platforms such as AIX and cygwin require that +all library symbols must be resolved at compile time, the interpreter +maintainers will need to provide a library to both its own dlpreopened +modules, and third-party modules loaded by dlopen. In itself, that is +not so bad, except that the interpreter too must provide those same +symbols otherwise it will be impossible to resolve all the symbols +required by the modules as they are loaded. Things are even worse if +the code that loads the modules for the interpreter is itself in a +library - and that is usually the case for any non-trivial application. +Modern platforms take care of this by automatically loading all of a +module's dependency libraries as the module is loaded (libltdl can do +this even on platforms that can't do it by themselves). In the end, +this leads to problems with duplicated symbols and prevents modules from +loading, and prevents the application from compiling when modules are +preloaded. + + ,-------------. ,------------------. ,-----------------. + | Interpreter |----> Module------------> Third-party | + `-------------' | Loader | |Dlopened Modules | + | | | `-----------------' + |,-------v--------.| | + || Dlpreopened || | + || Modules || | + |`----------------'| | + | | | | + |,-------v--------.| ,--------v--------. + ||Module Interface|| |Module Interface | + || Library || | Library | + |`----------------'| `-----------------' + `------------------' + + Libtool has the concept of "weak library interfaces" to circumvent +this problem. Recall that the code that dlopens method-provider modules +for the interpreter application resides in a library: All of the modules +and the dlopener library itself should be linked against the common +library that resolves the module symbols at compile time. To guard +against duplicate symbol definitions, and for dlpreopened modules to +work at all in this scenario, the dlopener library must declare that it +provides a weak library interface to the common symbols in the library +it shares with the modules. That way, when 'libtool' links the *Module +Loader* library with some *Dlpreopened Modules* that were in turn linked +against the *Module Interface Library*, it knows that the *Module +Loader* provides an already loaded *Module Interface Library* to resolve +symbols for the *Dlpreopened Modules*, and doesn't ask the compiler +driver to link an identical *Module Interface Library* dependency +library too. + + In conjunction with Automake, the 'Makefile.am' for the *Module +Loader* might look like this: + + lib_LTLIBRARIES = libinterface.la libloader.la + + libinterface_la_SOURCES = interface.c interface.h + libinterface_la_LDFLAGS = -version-info 3:2:1 + + libloader_la_SOURCES = loader.c + libloader_la_LDFLAGS = -weak libinterface.la \ + -version-info 3:2:1 \ + -dlpreopen ../modules/intrinsics.la + libloader_la_LIBADD = $(libinterface_la_OBJECTS) + + And the 'Makefile.am' for the 'intrinsics.la' module in a sibling +'modules' directory might look like this: + + AM_CPPFLAGS = -I$(srcdir)/../libloader + AM_LDFLAGS = -no-undefined -module -avoid-version \ + -export-dynamic + + noinst_LTLIBRARIES = intrinsics.la + + intrinsics_la_LIBADD = ../libloader/libinterface.la + + ../libloader/libinterface.la: + cd ../libloader && $(MAKE) $(AM_MAKEFLAGS) libinterface.la + + For a more complex example, see the sources of 'libltdl' in the +Libtool distribution, which is built with the help of the '-weak' +option. + + +File: libtool.info, Node: Finding the dlname, Next: Dlopen issues, Prev: Linking with dlopened modules, Up: Dlopened modules + +10.4 Finding the correct name to dlopen +======================================= + +After a library has been linked with '-module', it can be dlopened. +Unfortunately, because of the variation in library names, your package +needs to determine the correct file to dlopen. + + The most straightforward and flexible implementation is to determine +the name at runtime, by finding the installed '.la' file, and searching +it for the following lines: + + # The name that we can dlopen. + dlname='DLNAME' + + If DLNAME is empty, then the library cannot be dlopened. Otherwise, +it gives the dlname of the library. So, if the library was installed as +'/usr/local/lib/libhello.la', and the DLNAME was 'libhello.so.3', then +'/usr/local/lib/libhello.so.3' should be dlopened. + + If your program uses this approach, then it should search the +directories listed in the 'LD_LIBRARY_PATH'(1) environment variable, as +well as the directory where libraries will eventually be installed. +Searching this variable (or equivalent) will guarantee that your program +can find its dlopened modules, even before installation, provided you +have linked them using libtool. + + ---------- Footnotes ---------- + + (1) 'LIBPATH' on AIX, and 'SHLIB_PATH' on HP-UX. + + +File: libtool.info, Node: Dlopen issues, Prev: Finding the dlname, Up: Dlopened modules + +10.5 Unresolved dlopen issues +============================= + +The following problems are not solved by using libtool's dlopen support: + + * Dlopen functions are generally only available on shared library + platforms. If you want your package to be portable to static + platforms, you have to use either libltdl (*note Using libltdl::) + or develop your own alternatives to dlopening dynamic code. Most + reasonable solutions involve writing wrapper functions for the + 'dlopen' family, which do package-specific tricks when dlopening is + unsupported or not available on a given platform. + + * There are major differences in implementations of the 'dlopen' + family of functions. Some platforms do not even use the same + function names (notably HP-UX, with its 'shl_load' family). + + * The application developer must write a custom search function to + discover the correct module filename to supply to 'dlopen'. + + +File: libtool.info, Node: Using libltdl, Next: Trace interface, Prev: Dlopened modules, Up: Top + +11 Using libltdl +**************** + +Libtool provides a small library, called 'libltdl', that aims at hiding +the various difficulties of dlopening libraries from programmers. It +consists of a few headers and small C source files that can be +distributed with applications that need dlopening functionality. On +some platforms, whose dynamic linkers are too limited for a simple +implementation of 'libltdl' services, it requires GNU DLD, or it will +only emulate dynamic linking with libtool's dlpreopening mechanism. + +libltdl supports currently the following dynamic linking mechanisms: + + * 'dlopen' (POSIX compliant systems, GNU/Linux, etc.) + * 'shl_load' (HP-UX) + * 'LoadLibrary' (Win16 and Win32) + * 'load_add_on' (BeOS) + * 'NSAddImage' or 'NSLinkModule' (Darwin and Mac OS X) + * GNU DLD (emulates dynamic linking for static libraries) + * libtool's dlpreopen (*note Dlpreopening::) + +libltdl is licensed under the terms of the GNU Lesser General Public +License, with the following exception: + + As a special exception to the GNU Lesser General Public License, if + you distribute this file as part of a program or library that is + built using GNU Libtool, you may include it under the same + distribution terms that you use for the rest of that program. + +* Menu: + +* Libltdl interface:: How to use libltdl in your programs. +* Modules for libltdl:: Creating modules that can be 'dlopen'ed. +* Thread Safety in libltdl:: Registering callbacks for multi-thread safety. +* User defined module data:: Associating data with loaded modules. +* Module loaders for libltdl:: Creating user defined module loaders. +* Distributing libltdl:: How to distribute libltdl with your package. + + +File: libtool.info, Node: Libltdl interface, Next: Modules for libltdl, Up: Using libltdl + +11.1 How to use libltdl in your programs +======================================== + +The libltdl API is similar to the POSIX dlopen interface, which is very +simple but powerful. + +To use libltdl in your program you have to include the header file +'ltdl.h': + + #include + +The early releases of libltdl used some symbols that violated the POSIX +namespace conventions. These symbols are now deprecated, and have been +replaced by those described here. If you have code that relies on the +old deprecated symbol names, defining 'LT_NON_POSIX_NAMESPACE' before +you include 'ltdl.h' provides conversion macros. Whichever set of +symbols you use, the new API is not binary compatible with the last, so +you will need to recompile your application to use this version of +libltdl. + +Note that libltdl is not well tested in a multithreaded environment, +though the intention is that it should work (*note Using libltdl in a +multi threaded environment: Thread Safety in libltdl.). It was reported +that GNU/Linux's glibc 2.0's 'dlopen' with 'RTLD_LAZY' (that libltdl +uses by default) is not thread-safe, but this problem is supposed to be +fixed in glibc 2.1. On the other hand, 'RTLD_NOW' was reported to +introduce problems in multi-threaded applications on FreeBSD. Working +around these problems is left as an exercise for the reader; +contributions are certainly welcome. + +The following macros are defined by including 'ltdl.h': + + -- Macro: LT_PATHSEP_CHAR + 'LT_PATHSEP_CHAR' is the system-dependent path separator, that is, + ';' on Windows and ':' everywhere else. + + -- Macro: LT_DIRSEP_CHAR + If 'LT_DIRSEP_CHAR' is defined, it can be used as directory + separator in addition to '/'. On Windows, this contains '\'. + +The following types are defined in 'ltdl.h': + + -- Type: lt_dlhandle + 'lt_dlhandle' is a module "handle". Every lt_dlopened module has a + handle associated with it. + + -- Type: lt_dladvise + 'lt_dladvise' is used to control optional module loading modes. If + it is not used, the default mode of the underlying system module + loader is used. + + -- Type: lt_dlsymlist + 'lt_dlsymlist' is a symbol list for dlpreopened modules (*note + Dlpreopening::). + +libltdl provides the following functions: + + -- Function: int lt_dlinit (void) + Initialize libltdl. This function must be called before using + libltdl and may be called several times. Return 0 on success, + otherwise the number of errors. + + -- Function: int lt_dlexit (void) + Shut down libltdl and close all modules. This function will only + then shut down libltdl when it was called as many times as + 'lt_dlinit' has been successfully called. Return 0 on success, + otherwise the number of errors. + + -- Function: lt_dlhandle lt_dlopen (const char *FILENAME) + Open the module with the file name FILENAME and return a handle for + it. 'lt_dlopen' is able to open libtool dynamic modules, preloaded + static modules, the program itself and native dynamic modules(1). + + Unresolved symbols in the module are resolved using its dependency + libraries and previously dlopened modules. If the executable using + this module was linked with the '-export-dynamic' flag, then the + global symbols in the executable will also be used to resolve + references in the module. + + If FILENAME is 'NULL' and the program was linked with + '-export-dynamic' or '-dlopen self', 'lt_dlopen' will return a + handle for the program itself, which can be used to access its + symbols. + + If libltdl cannot find the library and the file name FILENAME does + not have a directory component it will additionally look in the + following search paths for the module (in the following order): + + 1. user-defined search path: This search path can be changed by + the program using the functions 'lt_dlsetsearchpath', + 'lt_dladdsearchdir' and 'lt_dlinsertsearchdir'. + + 2. libltdl's search path: This search path is the value of the + environment variable 'LTDL_LIBRARY_PATH'. + + 3. system library search path: The system dependent library + search path (e.g. on GNU/Linux it is 'LD_LIBRARY_PATH'). + + Each search path must be a list of absolute directories separated + by 'LT_PATHSEP_CHAR', for example, '"/usr/lib/mypkg:/lib/foo"'. + The directory names may not contain the path separator. + + If the same module is loaded several times, the same handle is + returned. If 'lt_dlopen' fails for any reason, it returns 'NULL'. + + -- Function: lt_dlhandle lt_dlopenext (const char *FILENAME) + The same as 'lt_dlopen', except that it tries to append different + file name extensions to the file name. If the file with the file + name FILENAME cannot be found libltdl tries to append the following + extensions: + + 1. the libtool archive extension '.la' + 2. the extension used for native dynamically loadable modules on + the host platform, e.g., '.so', '.sl', etc. + + This lookup strategy was designed to allow programs that don't have + knowledge about native dynamic libraries naming conventions to be + able to 'dlopen' such libraries as well as libtool modules + transparently. + + -- Function: lt_dlhandle lt_dlopenadvise (const char *FILENAME, + lt_dladvise ADVISE) + The same as 'lt_dlopen', except that it also requires an additional + argument that may contain additional hints to the underlying system + module loader. The ADVISE parameter is opaque and can only be + accessed with the functions documented below. + + Note that this function does not change the content of ADVISE, so + unlike the other calls in this API takes a direct 'lt_dladvise' + type, and not a pointer to the same. + + -- Function: int lt_dladvise_init (lt_dladvise *ADVISE) + The ADVISE parameter can be used to pass hints to the module loader + when using 'lt_dlopenadvise' to perform the loading. The ADVISE + parameter needs to be initialised by this function before it can be + used. Any memory used by ADVISE needs to be recycled with + 'lt_dladvise_destroy' when it is no longer needed. + + On failure, 'lt_dladvise_init' returns non-zero and sets an error + message that can be retrieved with 'lt_dlerror'. + + -- Function: int lt_dladvise_destroy (lt_dladvise *ADVISE) + Recycle the memory used by ADVISE. For an example, see the + documentation for 'lt_dladvise_ext'. + + On failure, 'lt_dladvise_destroy' returns non-zero and sets an + error message that can be retrieved with 'lt_dlerror'. + + -- Function: int lt_dladvise_ext (lt_dladvise *ADVISE) + Set the 'ext' hint on ADVISE. Passing an ADVISE parameter to + 'lt_dlopenadvise' with this hint set causes it to try to append + different file name extensions like 'lt_dlopenext'. + + The following example is equivalent to calling 'lt_dlopenext + (filename)': + + lt_dlhandle + my_dlopenext (const char *filename) + { + lt_dlhandle handle = 0; + lt_dladvise advise; + + if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)) + handle = lt_dlopenadvise (filename, advise); + + lt_dladvise_destroy (&advise); + + return handle; + } + + On failure, 'lt_dladvise_ext' returns non-zero and sets an error + message that can be retrieved with 'lt_dlerror'. + + -- Function: int lt_dladvise_global (lt_dladvise *ADVISE) + Set the 'symglobal' hint on ADVISE. Passing an ADVISE parameter to + 'lt_dlopenadvise' with this hint set causes it to try to make the + loaded module's symbols globally available for resolving unresolved + symbols in subsequently loaded modules. + + If neither the 'symglobal' nor the 'symlocal' hints are set, or if + a module is loaded without using the 'lt_dlopenadvise' call in any + case, then the visibility of the module's symbols will be as per + the default for the underlying module loader and OS. Even if a + suitable hint is passed, not all loaders are able to act upon it in + which case 'lt_dlgetinfo' will reveal whether the hint was actually + followed. + + On failure, 'lt_dladvise_global' returns non-zero and sets an error + message that can be retrieved with 'lt_dlerror'. + + -- Function: int lt_dladvise_local (lt_dladvise *ADVISE) + Set the 'symlocal' hint on ADVISE. Passing an ADVISE parameter to + 'lt_dlopenadvise' with this hint set causes it to try to keep the + loaded module's symbols hidden so that they are not visible to + subsequently loaded modules. + + If neither the 'symglobal' nor the 'symlocal' hints are set, or if + a module is loaded without using the 'lt_dlopenadvise' call in any + case, then the visibility of the module's symbols will be as per + the default for the underlying module loader and OS. Even if a + suitable hint is passed, not all loaders are able to act upon it in + which case 'lt_dlgetinfo' will reveal whether the hint was actually + followed. + + On failure, 'lt_dladvise_local' returns non-zero and sets an error + message that can be retrieved with 'lt_dlerror'. + + -- Function: int lt_dladvise_resident (lt_dladvise *ADVISE) + Set the 'resident' hint on ADVISE. Passing an ADVISE parameter to + 'lt_dlopenadvise' with this hint set causes it to try to make the + loaded module resident in memory, so that it cannot be unloaded + with a later call to 'lt_dlclose'. + + On failure, 'lt_dladvise_resident' returns non-zero and sets an + error message that can be retrieved with 'lt_dlerror'. + + -- Function: int lt_dladvise_preload (lt_dladvise *ADVISE) + Set the 'preload' hint on ADVISE. Passing an ADVISE parameter to + 'lt_dlopenadvise' with this hint set causes it to load only + preloaded modules, so that if a suitable preloaded module is not + found, 'lt_dlopenadvise' will return 'NULL'. + + -- Function: int lt_dlclose (lt_dlhandle HANDLE) + Decrement the reference count on the module HANDLE. If it drops to + zero and no other module depends on this module, then the module is + unloaded. Return 0 on success. + + -- Function: void * lt_dlsym (lt_dlhandle HANDLE, const char *NAME) + Return the address in the module HANDLE, where the symbol given by + the null-terminated string NAME is loaded. If the symbol cannot be + found, 'NULL' is returned. + + -- Function: const char * lt_dlerror (void) + Return a human readable string describing the most recent error + that occurred from any of libltdl's functions. Return 'NULL' if no + errors have occurred since initialization or since it was last + called. + + -- Function: int lt_dladdsearchdir (const char *SEARCH_DIR) + Append the search directory SEARCH_DIR to the current user-defined + library search path. Return 0 on success. + + -- Function: int lt_dlinsertsearchdir (const char *BEFORE, + const char *SEARCH_DIR) + Insert the search directory SEARCH_DIR into the user-defined + library search path, immediately before the element starting at + address BEFORE. If BEFORE is 'NULL', then SEARCH_DIR is appending + as if 'lt_dladdsearchdir' had been called. Return 0 on success. + + -- Function: int lt_dlsetsearchpath (const char *SEARCH_PATH) + Replace the current user-defined library search path with + SEARCH_PATH, which must be a list of absolute directories separated + by 'LT_PATHSEP_CHAR'. Return 0 on success. + + -- Function: const char * lt_dlgetsearchpath (void) + Return the current user-defined library search path. + + -- Function: int lt_dlforeachfile (const char *SEARCH_PATH, + int (*FUNC) (const char *FILENAME, void * DATA), void * DATA) + In some applications you may not want to load individual modules + with known names, but rather find all of the modules in a set of + directories and load them all during initialisation. With this + function you can have libltdl scan the 'LT_PATHSEP_CHAR'-delimited + directory list in SEARCH_PATH for candidates, and pass them, along + with DATA to your own callback function, FUNC. If SEARCH_PATH is + 'NULL', then search all of the standard locations that 'lt_dlopen' + would examine. This function will continue to make calls to FUNC + for each file that it discovers in SEARCH_PATH until one of these + calls returns non-zero, or until the files are exhausted. + 'lt_dlforeachfile' returns the value returned by the last call made + to FUNC. + + For example you could define FUNC to build an ordered "argv"-like + vector of files using DATA to hold the address of the start of the + vector. + + -- Function: int lt_dlmakeresident (lt_dlhandle HANDLE) + Mark a module so that it cannot be 'lt_dlclose'd. This can be + useful if a module implements some core functionality in your + project that would cause your code to crash if removed. Return 0 + on success. + + If you use 'lt_dlopen (NULL)' to get a HANDLE for the running + binary, that handle will always be marked as resident, and + consequently cannot be successfully 'lt_dlclose'd. + + -- Function: int lt_dlisresident (lt_dlhandle HANDLE) + Check whether a particular module has been marked as resident, + returning 1 if it has or 0 otherwise. If there is an error while + executing this function, return -1 and set an error message for + retrieval with 'lt_dlerror'. + + ---------- Footnotes ---------- + + (1) Some platforms, notably Mac OS X, differentiate between a runtime +library that cannot be opened by 'lt_dlopen' and a dynamic module that +can. For maximum portability you should try to ensure that you only +pass 'lt_dlopen' objects that have been compiled with libtool's +'-module' flag. + + +File: libtool.info, Node: Modules for libltdl, Next: Thread Safety in libltdl, Prev: Libltdl interface, Up: Using libltdl + +11.2 Creating modules that can be 'dlopen'ed +============================================ + +Libtool modules are created like normal libtool libraries with a few +exceptions: + + You have to link the module with libtool's '-module' switch, and you +should link any program that is intended to dlopen the module with +'-dlopen MODULENAME.LA' where possible, so that libtool can dlpreopen +the module on platforms that do not support dlopening. If the module +depends on any other libraries, make sure you specify them either when +you link the module or when you link programs that dlopen it. If you +want to disable versioning (*note Versioning::) for a specific module +you should link it with the '-avoid-version' switch. Note that libtool +modules don't need to have a "lib" prefix. However, Automake 1.4 or +higher is required to build such modules. + + Usually a set of modules provide the same interface, i.e. exports the +same symbols, so that a program can dlopen them without having to know +more about their internals: In order to avoid symbol conflicts all +exported symbols must be prefixed with "modulename_LTX_" (MODULENAME is +the name of the module). Internal symbols must be named in such a way +that they won't conflict with other modules, for example, by prefixing +them with "_modulename_". Although some platforms support having the +same symbols defined more than once it is generally not portable and it +makes it impossible to dlpreopen such modules. + + libltdl will automatically cut the prefix off to get the real name of +the symbol. Additionally, it supports modules that do not use a prefix +so that you can also dlopen non-libtool modules. + + 'foo1.c' gives an example of a portable libtool module. Exported +symbols are prefixed with "foo1_LTX_", internal symbols with "_foo1_". +Aliases are defined at the beginning so that the code is more readable. + + /* aliases for the exported symbols */ + #define foo foo1_LTX_foo + #define bar foo1_LTX_bar + + /* a global variable definition */ + int bar = 1; + + /* a private function */ + int _foo1_helper() { + return bar; + } + + /* an exported function */ + int foo() { + return _foo1_helper(); + } + +The 'Makefile.am' contains the necessary rules to build the module +'foo1.la': + + ... + lib_LTLIBRARIES = foo1.la + + foo1_la_SOURCES = foo1.c + foo1_la_LDFLAGS = -module + ... + + +File: libtool.info, Node: Thread Safety in libltdl, Next: User defined module data, Prev: Modules for libltdl, Up: Using libltdl + +11.3 Using libltdl in a multi threaded environment +================================================== + +Libltdl provides a wrapper around whatever dynamic run-time object +loading mechanisms are provided by the host system, many of which are +themselves not thread safe. Consequently libltdl cannot itself be +consistently thread safe. + + If you wish to use libltdl in a multithreaded environment, then you +must mutex lock around libltdl calls, since they may in turn be calling +non-thread-safe system calls on some target hosts. + + Some old releases of libtool provided a mutex locking API that was +unusable with POSIX threads, so callers were forced to lock around all +libltdl API calls anyway. That mutex locking API was next to useless, +and is not present in current releases. + + Some future release of libtool may provide a new POSIX thread +compliant mutex locking API. + + +File: libtool.info, Node: User defined module data, Next: Module loaders for libltdl, Prev: Thread Safety in libltdl, Up: Using libltdl + +11.4 Data associated with loaded modules +======================================== + +Some of the internal information about each loaded module that is +maintained by libltdl is available to the user, in the form of this +structure: + + -- Type: struct lt_dlinfo { char *FILENAME; char *NAME; int REF_COUNT; + int IS_RESIDENT; int IS_SYMGLOBAL; int IS_SYMLOCAL;} + 'lt_dlinfo' is used to store information about a module. The + FILENAME attribute is a null-terminated character string of the + real module file name. If the module is a libtool module then NAME + is its module name (e.g. '"libfoo"' for '"dir/libfoo.la"'), + otherwise it is set to 'NULL'. The REF_COUNT attribute is a + reference counter that describes how often the same module is + currently loaded. The remaining fields can be compared to any + hints that were passed to 'lt_dlopenadvise' to determine whether + the underlying loader was able to follow them. + + The following function will return a pointer to libltdl's internal +copy of this structure for the given HANDLE: + + -- Function: const lt_dlinfo * lt_dlgetinfo (lt_dlhandle HANDLE) + Return a pointer to a struct that contains some information about + the module HANDLE. The contents of the struct must not be + modified. Return 'NULL' on failure. + + Furthermore, to save you from having to keep a list of the handles of +all the modules you have loaded, these functions allow you to iterate +over libltdl's list of loaded modules: + + -- Type: lt_dlinterface_id + The opaque type used to hold the module interface details for each + registered libltdl client. + + -- Type: int lt_dlhandle_interface (lt_dlhandle HANDLE, + const char *ID_STRING) + Functions of this type are called to check that a handle conforms + to a library's expected module interface when iterating over the + global handle list. You should be careful to write a callback + function of this type that can correctly identify modules that + belong to this client, both to prevent other clients from + accidentally finding your loaded modules with the iterator + functions below, and vice versa. The best way to do this is to + check that module HANDLE conforms to the interface specification of + your loader using 'lt_dlsym'. + + The callback may be given *every* module loaded by all the libltdl + module clients in the current address space, including any modules + loaded by other libraries such as libltdl itself, and should return + non-zero if that module does not fulfill the interface requirements + of your loader. + + int + my_interface_cb (lt_dlhandle handle, const char *id_string) + { + char *(*module_id) (void) = NULL; + + /* A valid my_module must provide all of these symbols. */ + if (!((module_id = (char*(*)(void)) lt_dlsym ("module_version")) + && lt_dlsym ("my_module_entrypoint"))) + return 1; + + if (strcmp (id_string, module_id()) != 0) + return 1; + + return 0; + } + + -- Function: lt_dlinterface_id lt_dlinterface_register + (const char *ID_STRING, lt_dlhandle_interface *IFACE) + Use this function to register your interface validator with + libltdl, and in return obtain a unique key to store and retrieve + per-module data. You supply an ID_STRING and IFACE so that the + resulting 'lt_dlinterface_id' can be used to filter the module + handles returned by the iteration functions below. If IFACE is + 'NULL', all modules will be matched. + + -- Function: void lt_dlinterface_free (lt_dlinterface_id IFACE) + Release the data associated with IFACE. + + -- Function: int lt_dlhandle_map (lt_dlinterface_id IFACE, + int (*FUNC) (lt_dlhandle HANDLE, void * DATA), void * DATA) + For each module that matches IFACE, call the function FUNC. When + writing the FUNC callback function, the argument HANDLE is the + handle of a loaded module, and DATA is the last argument passed to + 'lt_dlhandle_map'. As soon as FUNC returns a non-zero value for + one of the handles, 'lt_dlhandle_map' will stop calling FUNC and + immediately return that non-zero value. Otherwise 0 is eventually + returned when FUNC has been successfully called for all matching + modules. + + -- Function: lt_dlhandle lt_dlhandle_iterate + (lt_dlinterface_id IFACE, lt_dlhandle PLACE) + Iterate over the module handles loaded by IFACE, returning the + first matching handle in the list if PLACE is 'NULL', and the next + one on subsequent calls. If PLACE is the last element in the list + of eligible modules, this function returns 'NULL'. + + lt_dlhandle handle = 0; + lt_dlinterface_id iface = my_interface_id; + + while ((handle = lt_dlhandle_iterate (iface, handle))) + { + ... + } + + -- Function: lt_dlhandle lt_dlhandle_fetch (lt_dlinterface_id IFACE, + const char *MODULE_NAME) + Search through the module handles loaded by IFACE for a module + named MODULE_NAME, returning its handle if found or else 'NULL' if + no such named module has been loaded by IFACE. + + However, you might still need to maintain your own list of loaded +module handles (in parallel with the list maintained inside libltdl) if +there were any other data that your application wanted to associate with +each open module. Instead, you can use the following API calls to do +that for you. You must first obtain a unique interface id from libltdl +as described above, and subsequently always use it to retrieve the data +you stored earlier. This allows different libraries to each store their +own data against loaded modules, without interfering with one another. + + -- Function: void * lt_dlcaller_set_data (lt_dlinterface_id KEY, + lt_dlhandle HANDLE, void * DATA) + Set DATA as the set of data uniquely associated with KEY and HANDLE + for later retrieval. This function returns the DATA previously + associated with KEY and HANDLE if any. A result of 0, may indicate + that a diagnostic for the last error (if any) is available from + 'lt_dlerror()'. + + For example, to correctly remove some associated data: + + void *stale = lt_dlcaller_set_data (key, handle, 0); + if (stale != NULL) + { + free (stale); + } + else + { + char *error_msg = lt_dlerror (); + + if (error_msg != NULL) + { + my_error_handler (error_msg); + return STATUS_FAILED; + } + } + + -- Function: void * lt_dlcaller_get_data (lt_dlinterface_id KEY, + lt_dlhandle HANDLE) + Return the address of the data associated with KEY and HANDLE, or + else 'NULL' if there is none. + + Old versions of libltdl also provided a simpler, but similar, API +based around 'lt_dlcaller_id'. Unfortunately, it had no provision for +detecting whether a module belonged to a particular interface as libltdl +didn't support multiple loaders in the same address space at that time. +Those APIs are no longer supported as there would be no way to stop +clients of the old APIs from seeing (and accidentally altering) modules +loaded by other libraries. + + +File: libtool.info, Node: Module loaders for libltdl, Next: Distributing libltdl, Prev: User defined module data, Up: Using libltdl + +11.5 How to create and register new module loaders +================================================== + +Sometimes libltdl's many ways of gaining access to modules are not +sufficient for the purposes of a project. You can write your own +loader, and register it with libltdl so that 'lt_dlopen' will be able to +use it. + + Writing a loader involves writing at least three functions that can +be called by 'lt_dlopen', 'lt_dlsym' and 'lt_dlclose'. Optionally, you +can provide a finalisation function to perform any cleanup operations +when 'lt_dlexit' executes, and a symbol prefix string that will be +prepended to any symbols passed to 'lt_dlsym'. These functions must +match the function pointer types below, after which they can be +allocated to an instance of 'lt_user_dlloader' and registered. + + Registering the loader requires that you choose a name for it, so +that it can be recognised by 'lt_dlloader_find' and removed with +'lt_dlloader_remove'. The name you choose must be unique, and not +already in use by libltdl's builtin loaders: + +"dlopen" + The system dynamic library loader, if one exists. +"dld" + The GNU dld loader, if 'libdld' was installed when libltdl was + built. +"dlpreload" + The loader for 'lt_dlopen'ing of preloaded static modules. + + The prefix "dl" is reserved for loaders supplied with future versions +of libltdl, so you should not use that for your own loader names. + +The following types are defined in 'ltdl.h': + + -- Type: lt_module + 'lt_module' is a dlloader dependent module. The dynamic module + loader extensions communicate using these low level types. + + -- Type: lt_dlloader + 'lt_dlloader' is a handle for module loader types. + + -- Type: lt_user_data + 'lt_user_data' is used for specifying loader instance data. + + -- Type: struct lt_user_dlloader {const char *SYM_PREFIX; + lt_module_open *MODULE_OPEN; lt_module_close *MODULE_CLOSE; + lt_find_sym *FIND_SYM; lt_dlloader_exit *DLLOADER_EXIT; } + If you want to define a new way to open dynamic modules, and have + the 'lt_dlopen' API use it, you need to instantiate one of these + structures and pass it to 'lt_dlloader_add'. You can pass whatever + you like in the DLLOADER_DATA field, and it will be passed back as + the value of the first parameter to each of the functions specified + in the function pointer fields. + + -- Type: lt_module lt_module_open (const char *FILENAME) + The type of the loader function for an 'lt_dlloader' module loader. + The value set in the dlloader_data field of the 'struct + lt_user_dlloader' structure will be passed into this function in + the LOADER_DATA parameter. Implementation of such a function + should attempt to load the named module, and return an 'lt_module' + suitable for passing in to the associated 'lt_module_close' and + 'lt_sym_find' function pointers. If the function fails it should + return 'NULL', and set the error message with 'lt_dlseterror'. + + -- Type: int lt_module_close (lt_user_data LOADER_DATA, + lt_module MODULE) + The type of the unloader function for a user defined module loader. + Implementation of such a function should attempt to release any + resources tied up by the MODULE module, and then unload it from + memory. If the function fails for some reason, set the error + message with 'lt_dlseterror' and return non-zero. + + -- Type: void * lt_find_sym (lt_module MODULE, const char *SYMBOL) + The type of the symbol lookup function for a user defined module + loader. Implementation of such a function should return the + address of the named SYMBOL in the module MODULE, or else set the + error message with 'lt_dlseterror' and return 'NULL' if lookup + fails. + + -- Type: int lt_dlloader_exit (lt_user_data LOADER_DATA) + The type of the finalisation function for a user defined module + loader. Implementation of such a function should free any + resources associated with the loader, including any user specified + data in the 'dlloader_data' field of the 'lt_user_dlloader'. If + non-'NULL', the function will be called by 'lt_dlexit', and + 'lt_dlloader_remove'. + + For example: + + int + register_myloader (void) + { + lt_user_dlloader dlloader; + + /* User modules are responsible for their own initialisation. */ + if (myloader_init () != 0) + return MYLOADER_INIT_ERROR; + + dlloader.sym_prefix = NULL; + dlloader.module_open = myloader_open; + dlloader.module_close = myloader_close; + dlloader.find_sym = myloader_find_sym; + dlloader.dlloader_exit = myloader_exit; + dlloader.dlloader_data = (lt_user_data)myloader_function; + + /* Add my loader as the default module loader. */ + if (lt_dlloader_add (lt_dlloader_next (NULL), &dlloader, + "myloader") != 0) + return ERROR; + + return OK; + } + + Note that if there is any initialisation required for the loader, it +must be performed manually before the loader is registered - libltdl +doesn't handle user loader initialisation. + + Finalisation _is_ handled by libltdl however, and it is important to +ensure the 'dlloader_exit' callback releases any resources claimed +during the initialisation phase. + +libltdl provides the following functions for writing your own module +loaders: + + -- Function: int lt_dlloader_add (lt_dlloader *PLACE, + lt_user_dlloader *DLLOADER, const char *LOADER_NAME) + Add a new module loader to the list of all loaders, either as the + last loader (if PLACE is 'NULL'), else immediately before the + loader passed as PLACE. LOADER_NAME will be returned by + 'lt_dlloader_name' if it is subsequently passed a newly registered + loader. These LOADER_NAMEs must be unique, or 'lt_dlloader_remove' + and 'lt_dlloader_find' cannot work. Returns 0 for success. + + /* Make myloader be the last one. */ + if (lt_dlloader_add (NULL, myloader) != 0) + perror (lt_dlerror ()); + + -- Function: int lt_dlloader_remove (const char *LOADER_NAME) + Remove the loader identified by the unique name, LOADER_NAME. + Before this can succeed, all modules opened by the named loader + must have been closed. Returns 0 for success, otherwise an error + message can be obtained from 'lt_dlerror'. + + /* Remove myloader. */ + if (lt_dlloader_remove ("myloader") != 0) + perror (lt_dlerror ()); + + -- Function: lt_dlloader * lt_dlloader_next (lt_dlloader *PLACE) + Iterate over the module loaders, returning the first loader if + PLACE is 'NULL', and the next one on subsequent calls. The handle + is for use with 'lt_dlloader_add'. + + /* Make myloader be the first one. */ + if (lt_dlloader_add (lt_dlloader_next (NULL), myloader) != 0) + return ERROR; + + -- Function: lt_dlloader * lt_dlloader_find (const char *LOADER_NAME) + Return the first loader with a matching LOADER_NAME identifier, or + else 'NULL', if the identifier is not found. + + The identifiers that may be used by libltdl itself, if the host + architecture supports them are "dlopen"(1), "dld" and "dlpreload". + + /* Add a user loader as the next module loader to be tried if + the standard dlopen loader were to fail when lt_dlopening. */ + if (lt_dlloader_add (lt_dlloader_find ("dlopen"), myloader) != 0) + return ERROR; + + -- Function: const char * lt_dlloader_name (lt_dlloader *PLACE) + Return the identifying name of PLACE, as obtained from + 'lt_dlloader_next' or 'lt_dlloader_find'. If this function fails, + it will return 'NULL' and set an error for retrieval with + 'lt_dlerror'. + + -- Function: lt_user_data * lt_dlloader_data (lt_dlloader *PLACE) + Return the address of the 'dlloader_data' of PLACE, as obtained + from 'lt_dlloader_next' or 'lt_dlloader_find'. If this function + fails, it will return 'NULL' and set an error for retrieval with + 'lt_dlerror'. + +11.5.1 Error handling within user module loaders +------------------------------------------------ + + -- Function: int lt_dladderror (const char *DIAGNOSTIC) + This function allows you to integrate your own error messages into + 'lt_dlerror'. Pass in a suitable diagnostic message for return by + 'lt_dlerror', and an error identifier for use with 'lt_dlseterror' + is returned. + + If the allocation of an identifier fails, this function returns -1. + + int myerror = lt_dladderror ("doh!"); + if (myerror < 0) + perror (lt_dlerror ()); + + -- Function: int lt_dlseterror (int ERRORCODE) + When writing your own module loaders, you should use this function + to raise errors so that they are propagated through the + 'lt_dlerror' interface. All of the standard errors used by libltdl + are declared in 'ltdl.h', or you can add more of your own with + 'lt_dladderror'. This function returns 0 on success. + + if (lt_dlseterror (LTDL_ERROR_NO_MEMORY) != 0) + perror (lt_dlerror ()); + + ---------- Footnotes ---------- + + (1) This is used for the host dependent module loading API - +'shl_load' and 'LoadLibrary' for example + + +File: libtool.info, Node: Distributing libltdl, Prev: Module loaders for libltdl, Up: Using libltdl + +11.6 How to distribute libltdl with your package +================================================ + +Even though libltdl is installed together with libtool, you may wish to +include libltdl in the distribution of your package, for the convenience +of users of your package that don't have libtool or libltdl installed, +or if you are using features of a very new version of libltdl that you +don't expect your users to have yet. In such cases, you must decide +what flavor of libltdl you want to use: a convenience library or an +installable libtool library. + + The most simplistic way to add 'libltdl' to your package is to copy +all the 'libltdl' source files to a subdirectory within your package and +to build and link them along with the rest of your sources. To help you +do this, the m4 macros for Autoconf are available in 'ltdl.m4'. You +must ensure that they are available in 'aclocal.m4' before you run +Autoconf(1). Having made the macros available, you must add a call to +the 'LTDL_INIT' macro (after the call to 'LT_INIT') to your package's +'configure.ac' to perform the configure time checks required to build +the library correctly. Unfortunately, this method has problems if you +then try to link the package binaries with an installed libltdl, or a +library that depends on libltdl, because of the duplicate symbol +definitions. For example, ultimately linking against two different +versions of libltdl, or against both a local convenience library and an +installed libltdl is bad. Ensuring that only one copy of the libltdl +sources are linked into any program is left as an exercise for the +reader. + + -- Macro: LT_CONFIG_LTDL_DIR (DIRECTORY) + Declare DIRECTORY to be the location of the 'libltdl' source files, + for 'libtoolize --ltdl' to place them. *Note Invoking + libtoolize::, for more details. Provided that you add an + appropriate 'LT_CONFIG_LTDL_DIR' call in your 'configure.ac' before + calling 'libtoolize', the appropriate 'libltdl' files will be + installed automatically. + + -- Macro: LTDL_INIT (OPTIONS) + -- Macro: LT_WITH_LTDL + -- Macro: AC_WITH_LTDL + 'AC_WITH_LTDL' and 'LT_WITH_LTDL' are deprecated names for older + versions of this macro; 'autoupdate' will update your + 'configure.ac' file. + + This macro adds the following options to the 'configure' script: + + '--with-ltdl-include INSTALLED-LTDL-HEADER-DIR' + The 'LTDL_INIT' macro will look in the standard header file + locations to find the installed 'libltdl' headers. If + 'LTDL_INIT' can't find them by itself, the person who builds + your package can use this option to tell 'configure' where the + installed 'libltdl' headers are. + + '--with-ltdl-lib INSTALLED-LTDL-LIBRARY-DIR' + Similarly, the person building your package can use this + option to help 'configure' find the installed 'libltdl.la'. + + '--with-included-ltdl' + If there is no installed 'libltdl', or in any case if the + person building your package would rather use the 'libltdl' + sources shipped with the package in the subdirectory named by + 'LT_CONFIG_LTDL_DIR', they should pass this option to + 'configure'. + + If the '--with-included-ltdl' is not passed at configure time, and + an installed 'libltdl' is not found(2), then 'configure' will exit + immediately with an error that asks the user to either specify the + location of an installed 'libltdl' using the '--with-ltdl-include' + and '--with-ltdl-lib' options, or to build with the 'libltdl' + sources shipped with the package by passing '--with-included-ltdl'. + + If an installed 'libltdl' is found, then 'LIBLTDL' is set to the + link flags needed to use it, and 'LTDLINCL' to the preprocessor + flags needed to find the installed headers, and 'LTDLDEPS' will be + empty. Note, however, that no version checking is performed. You + should manually check for the 'libltdl' features you need in + 'configure.ac': + + LT_INIT([dlopen]) + LTDL_INIT + + # The lt_dladvise_init symbol was added with libtool-2.2 + if test yes != "$with_included_ltdl"; then + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS $LTDLINCL" + LDFLAGS="$LDFLAGS $LIBLTDL" + AC_CHECK_LIB([ltdl], [lt_dladvise_init], + [], + [AC_MSG_ERROR([installed libltdl is too old])]) + LDFLAGS=$save_LDFLAGS + CFLAGS=$save_CFLAGS + fi + + OPTIONS may include no more than one of the following build modes + depending on how you want your project to build 'libltdl': + 'nonrecursive', 'recursive', or 'subproject'. In order for + 'libtoolize' to detect this option correctly, if you supply one of + these arguments, they must be given literally (i.e., macros or + shell variables that expand to the correct ltdl mode will not + work). + + 'nonrecursive' + This is how the Libtool project distribution builds the + 'libltdl' we ship and install. If you wish to use Automake to + build 'libltdl' without invoking a recursive make to descend + into the 'libltdl' subdirectory, then use this option. You + will need to set your configuration up carefully to make this + work properly, and you will need releases of Autoconf and + Automake that support 'subdir-objects' and 'LIBOBJDIR' + properly. In your 'configure.ac', add: + + AM_INIT_AUTOMAKE([subdir-objects]) + AC_CONFIG_HEADERS([config.h]) + LT_CONFIG_LTDL_DIR([libltdl]) + LT_INIT([dlopen]) + LTDL_INIT([nonrecursive]) + + You _have to_ use a config header, but it may have a name + different than 'config.h'. + + Also, add the following near the top of your 'Makefile.am': + + AM_CPPFLAGS = + AM_LDFLAGS = + + BUILT_SOURCES = + EXTRA_DIST = + CLEANFILES = + MOSTLYCLEANFILES = + + include_HEADERS = + noinst_LTLIBRARIES = + lib_LTLIBRARIES = + EXTRA_LTLIBRARIES = + + include libltdl/ltdl.mk + + Unless you build no other libraries from this 'Makefile.am', + you will also need to change 'lib_LTLIBRARIES' to assign with + '+=' so that the 'libltdl' targets declared in 'ltdl.mk' are + not overwritten. + + 'recursive' + This build mode still requires that you use Automake, but (in + contrast with 'nonrecursive') uses the more usual device of + starting another 'make' process in the 'libltdl' subdirectory. + To use this mode, you should add to your 'configure.ac': + + AM_INIT_AUTOMAKE + AC_CONFIG_HEADERS([config.h]) + LT_CONFIG_LTDL_DIR([libltdl]) + LT_INIT([dlopen]) + LTDL_INIT([recursive]) + AC_CONFIG_FILES([libltdl/Makefile]) + + Again, you _have to_ use a config header, but it may have a + name different than 'config.h' if you like. + + Also, add this to your 'Makefile.am': + + SUBDIRS = libltdl + + 'subproject' + This mode is the default unless you explicitly add 'recursive' + or 'nonrecursive' to your 'LTDL_INIT' options; 'subproject' is + the only mode supported by previous releases of libltdl. Even + if you do not use Autoconf in the parent project, then, in + 'subproject' mode, still 'libltdl' contains all the necessary + files to configure and build itself - you just need to arrange + for your build system to call 'libltdl/configure' with + appropriate options, and then run 'make' in the 'libltdl' + subdirectory. + + If you _are_ using Autoconf and Automake, then you will need + to add the following to your 'configure.ac': + + LT_CONFIG_LTDL_DIR([libltdl]) + LTDL_INIT + + and to 'Makefile.am': + + SUBDIRS = libltdl + + Aside from setting the libltdl build mode, there are other keywords + that you can pass to 'LTDL_INIT' to modify its behavior when + '--with-included-ltdl' has been given: + + 'convenience' + This is the default unless you explicitly add 'installable' to + your 'LTDL_INIT' options. + + This keyword will cause options to be passed to the + 'configure' script in the subdirectory named by + 'LT_CONFIG_LTDL_DIR' to cause it to be built as a convenience + library. If you're not using automake, you will need to + define 'top_build_prefix', 'top_builddir', and 'top_srcdir' in + your makefile so that 'LIBLTDL', 'LTDLDEPS', and 'LTDLINCL' + expand correctly. + + One advantage of the convenience library is that it is not + installed, so the fact that you use 'libltdl' will not be + apparent to the user, and it won't overwrite a pre-installed + version of 'libltdl' the system might already have in the + installation directory. On the other hand, if you want to + upgrade 'libltdl' for any reason (e.g. a bugfix) you'll have + to recompile your package instead of just replacing the shared + installed version of 'libltdl'. However, if your programs or + libraries are linked with other libraries that use such a + pre-installed version of 'libltdl', you may get linker errors + or run-time crashes. Another problem is that you cannot link + the convenience library into more than one libtool library, + then link a single program with those libraries, because you + may get duplicate symbols. In general you can safely use the + convenience library in programs that don't depend on other + libraries that might use 'libltdl' too. + + 'installable' + This keyword will pass options to the 'configure' script in + the subdirectory named by 'LT_CONFIG_LTDL_DIR' to cause it to + be built as an installable library. If you're not using + automake, you will need to define 'top_build_prefix', + 'top_builddir' and 'top_srcdir' in your makefile so that + 'LIBLTDL', 'LTDLDEPS', and 'LTDLINCL' are expanded properly. + + Be aware that you could overwrite another 'libltdl' already + installed to the same directory if you use this option. + + Whatever method you use, 'LTDL_INIT' will define the shell variable +'LIBLTDL' to the link flag that you should use to link with 'libltdl', +the shell variable 'LTDLDEPS' to the files that can be used as a +dependency in 'Makefile' rules, and the shell variable 'LTDLINCL' to the +preprocessor flag that you should use to compile programs that include +'ltdl.h'. So, when you want to link a program with libltdl, be it a +convenience, installed or installable library, just use '$(LTDLINCL)' +for preprocessing and compilation, and '$(LIBLTDL)' for linking. + + * If your package is built using an installed version of 'libltdl', + 'LIBLTDL' will be set to the compiler flags needed to link against + the installed library, 'LTDLDEPS' will be empty, and 'LTDLINCL' + will be set to the compiler flags needed to find the 'libltdl' + header files. + + * If your package is built using the convenience libltdl, 'LIBLTDL' + and 'LTDLDEPS' will be the pathname for the convenience version of + libltdl (starting with '${top_builddir}/' or '${top_build_prefix}') + and 'LTDLINCL' will be '-I' followed by the directory that contains + 'ltdl.h' (starting with '${top_srcdir}/'). + + * If an installable version of the included 'libltdl' is being built, + its pathname starting with '${top_builddir}/' or + '${top_build_prefix}', will be stored in 'LIBLTDL' and 'LTDLDEPS', + and 'LTDLINCL' will be set just like in the case of convenience + library. + + You should probably also use the 'dlopen' option to 'LT_INIT' in your +'configure.ac', otherwise libtool will assume no dlopening mechanism is +supported, and revert to dlpreopening, which is probably not what you +want. Avoid using the '-static', '-static-libtool-libs', or +'-all-static' switches when linking programs with libltdl. This will +not work on all platforms, because the dlopening functions may not be +available for static linking. + + The following example shows you how to embed an installable libltdl +in your package. In order to use the convenience variant, just replace +the 'LTDL_INIT' option 'installable' with 'convenience'. We assume that +libltdl was embedded using 'libtoolize --ltdl'. + + configure.ac: + ... + # Name the subdirectory that contains libltdl sources + LT_CONFIG_LTDL_DIR([libltdl]) + + # Configure libtool with dlopen support if possible + LT_INIT([dlopen]) + + # Enable building of the installable libltdl library + LTDL_INIT([installable]) + ... + + Makefile.am: + ... + SUBDIRS = libltdl + + AM_CPPFLAGS = $(LTDLINCL) + + myprog_LDFLAGS = -export-dynamic + myprog_LDADD = $(LIBLTDL) -dlopen self -dlopen foo1.la + myprog_DEPENDENCIES = $(LTDLDEPS) foo1.la + ... + + -- Macro: LTDL_INSTALLABLE + -- Macro: AC_LIBLTDL_INSTALLABLE + These macros are deprecated, the 'installable' option to + 'LTDL_INIT' should be used instead. + + -- Macro: LTDL_CONVENIENCE + -- Macro: AC_LIBLTDL_CONVENIENCE + These macros are deprecated, the 'convenience' option to + 'LTDL_INIT' should be used instead. + + ---------- Footnotes ---------- + + (1) We used to recommend adding the contents of 'ltdl.m4' to +'acinclude.m4', but with 'aclocal' from a modern Automake (1.8 or newer) +and this release of libltdl that is not only unnecessary but makes it +easy to forget to upgrade 'acinclude.m4' if you move to a different +release of libltdl. + + (2) Even if libltdl is installed, 'LTDL_INIT' may fail to detect it +if libltdl depends on symbols provided by libraries other than the C +library. + + +File: libtool.info, Node: Trace interface, Next: FAQ, Prev: Using libltdl, Up: Top + +12 Libtool's trace interface +**************************** + +This section describes macros whose sole purpose is to be traced using +Autoconf's '--trace' option (*note The Autoconf Manual: +(autoconf)autoconf Invocation.) to query the Libtool configuration of a +project. These macros are called by Libtool internals and should never +be called by user code; they should only be traced. + + -- Macro: LT_SUPPORTED_TAG (TAG) + This macro is called once for each language enabled in the package. + Its only argument, TAG, is the tag-name corresponding to the + language (*note Tags::). + + You can therefore retrieve the list of all tags enabled in a + project using the following command: + autoconf --trace 'LT_SUPPORTED_TAG:$1' + + +File: libtool.info, Node: FAQ, Next: Troubleshooting, Prev: Trace interface, Up: Top + +13 Frequently Asked Questions about libtool +******************************************* + +This chapter covers some questions that often come up on the mailing +lists. + +* Menu: + +* Stripped link flags:: Dropped flags when creating a library + + +File: libtool.info, Node: Stripped link flags, Up: FAQ + +13.1 Why does libtool strip link flags when creating a library? +=============================================================== + +When creating a shared library, but not when compiling or creating a +program, 'libtool' drops some flags from the command line provided by +the user. This is done because flags unknown to 'libtool' may interfere +with library creation or require additional support from 'libtool', and +because omitting flags is usually the conservative choice for a +successful build. + + If you encounter flags that you think are useful to pass, as a +work-around you can prepend flags with '-Wc,' or '-Xcompiler ' to allow +them to be passed through to the compiler driver (*note Link mode::). +Another possibility is to add flags already to the compiler command at +'configure' run time: + + ./configure CC='gcc -m64' + + If you think 'libtool' should let some flag through by default, +here's how you can test such an inclusion: grab the Libtool development +tree, edit the 'ltmain.in' file in the 'libltdl/config' subdirectory to +pass through the flag (search for 'Flags to be passed through'), +re-bootstrap and build with the flags in question added to 'LDFLAGS', +'CFLAGS', 'CXXFLAGS', etc. on the 'configure' command line as +appropriate. Run the testsuite as described in the 'README' file and +report results to the Libtool bug reporting address +. + + +File: libtool.info, Node: Troubleshooting, Next: Maintaining, Prev: FAQ, Up: Top + +14 Troubleshooting +****************** + +Libtool is under constant development, changing to remain up-to-date +with modern operating systems. If libtool doesn't work the way you +think it should on your platform, you should read this chapter to help +determine what the problem is, and how to resolve it. + +* Menu: + +* Libtool test suite:: Libtool's self-tests. +* Reporting bugs:: How to report problems with libtool. + + +File: libtool.info, Node: Libtool test suite, Next: Reporting bugs, Up: Troubleshooting + +14.1 The libtool test suite +=========================== + +Libtool comes with two integrated sets of tests to check that your build +is sane, that test its capabilities, and report obvious bugs in the +libtool program. These tests, too, are constantly evolving, based on +past problems with libtool, and known deficiencies in other operating +systems. + + As described in the 'README' file, you may run 'make -k check' after +you have built libtool (possibly before you install it) to make sure +that it meets basic functional requirements. + +* Menu: + +* Test descriptions:: The contents of the old test suite. +* When tests fail:: What to do when a test fails. + + +File: libtool.info, Node: Test descriptions, Next: When tests fail, Up: Libtool test suite + +14.1.1 Description of test suite +-------------------------------- + +Here is a list of the current programs in the old test suite, and what +they test for: + +'cdemo-conf.test' +'cdemo-make.test' +'cdemo-exec.test' +'cdemo-static.test' +'cdemo-static-make.test' +'cdemo-static-exec.test' +'cdemo-shared.test' +'cdemo-shared-make.test' +'cdemo-shared-exec.test' +'cdemo-undef.test' +'cdemo-undef-make.test' +'cdemo-undef-exec.test' + These programs check to see that the 'tests/cdemo' subdirectory of + the libtool distribution can be configured and built correctly. + + The 'tests/cdemo' subdirectory contains a demonstration of libtool + convenience libraries, a mechanism that allows build-time static + libraries to be created, in a way that their components can be + later linked into programs or other libraries, even shared ones. + + The tests matching 'cdemo-*make.test' and 'cdemo-*exec.test' are + executed three times, under three different libtool configurations: + 'cdemo-conf.test' configures 'cdemo/libtool' to build both static + and shared libraries (the default for platforms that support both), + 'cdemo-static.test' builds only static libraries + ('--disable-shared'), and 'cdemo-shared.test' builds only shared + libraries ('--disable-static'). + + The test 'cdemo-undef.test' tests the generation of shared + libraries with undefined symbols on systems that allow this. + +'demo-conf.test' +'demo-make.test' +'demo-exec.test' +'demo-inst.test' +'demo-unst.test' +'demo-static.test' +'demo-static-make.test' +'demo-static-exec.test' +'demo-static-inst.test' +'demo-static-unst.test' +'demo-shared.test' +'demo-shared-make.test' +'demo-shared-exec.test' +'demo-shared-inst.test' +'demo-shared-unst.test' +'demo-nofast.test' +'demo-nofast-make.test' +'demo-nofast-exec.test' +'demo-nofast-inst.test' +'demo-nofast-unst.test' +'demo-pic.test' +'demo-pic-make.test' +'demo-pic-exec.test' +'demo-nopic.test' +'demo-nopic-make.test' +'demo-nopic-exec.test' + These programs check to see that the 'tests/demo' subdirectory of + the libtool distribution can be configured, built, installed, and + uninstalled correctly. + + The 'tests/demo' subdirectory contains a demonstration of a trivial + package that uses libtool. The tests matching 'demo-*make.test', + 'demo-*exec.test', 'demo-*inst.test' and 'demo-*unst.test' are + executed four times, under four different libtool configurations: + 'demo-conf.test' configures 'demo/libtool' to build both static and + shared libraries, 'demo-static.test' builds only static libraries + ('--disable-shared'), and 'demo-shared.test' builds only shared + libraries ('--disable-static'). 'demo-nofast.test' configures + 'demo/libtool' to disable the fast-install mode + ('--enable-fast-install=no'). 'demo-pic.test' configures + 'demo/libtool' to prefer building PIC code ('--with-pic'), + 'demo-nopic.test' to prefer non-PIC code ('--without-pic'). + +'demo-deplibs.test' + Many systems cannot link static libraries into shared libraries. + libtool uses a 'deplibs_check_method' to prevent such cases. This + tests checks whether libtool's 'deplibs_check_method' works + properly. + +'demo-hardcode.test' + On all systems with shared libraries, the location of the library + can be encoded in executables that are linked against it *note + Linking executables::. This test checks under what conditions your + system linker hardcodes the library location, and guarantees that + they correspond to libtool's own notion of how your linker behaves. + +'demo-relink.test' +'depdemo-relink.test' + These tests check whether variable 'shlibpath_overrides_runpath' is + properly set. If the test fails, it will indicate what the + variable should have been set to. + +'demo-noinst-link.test' + Checks whether libtool will not try to link with a previously + installed version of a library when it should be linking with a + just-built one. + +'depdemo-conf.test' +'depdemo-make.test' +'depdemo-exec.test' +'depdemo-inst.test' +'depdemo-unst.test' +'depdemo-static.test' +'depdemo-static-make.test' +'depdemo-static-exec.test' +'depdemo-static-inst.test' +'depdemo-static-unst.test' +'depdemo-shared.test' +'depdemo-shared-make.test' +'depdemo-shared-exec.test' +'depdemo-shared-inst.test' +'depdemo-shared-unst.test' +'depdemo-nofast.test' +'depdemo-nofast-make.test' +'depdemo-nofast-exec.test' +'depdemo-nofast-inst.test' +'depdemo-nofast-unst.test' + These programs check to see that the 'tests/depdemo' subdirectory + of the libtool distribution can be configured, built, installed, + and uninstalled correctly. + + The 'tests/depdemo' subdirectory contains a demonstration of + inter-library dependencies with libtool. The test programs link + some interdependent libraries. + + The tests matching 'depdemo-*make.test', 'depdemo-*exec.test', + 'depdemo-*inst.test' and 'depdemo-*unst.test' are executed four + times, under four different libtool configurations: + 'depdemo-conf.test' configures 'depdemo/libtool' to build both + static and shared libraries, 'depdemo-static.test' builds only + static libraries ('--disable-shared'), and 'depdemo-shared.test' + builds only shared libraries ('--disable-static'). + 'depdemo-nofast.test' configures 'depdemo/libtool' to disable the + fast-install mode ('--enable-fast-install=no'). + +'mdemo-conf.test' +'mdemo-make.test' +'mdemo-exec.test' +'mdemo-inst.test' +'mdemo-unst.test' +'mdemo-static.test' +'mdemo-static-make.test' +'mdemo-static-exec.test' +'mdemo-static-inst.test' +'mdemo-static-unst.test' +'mdemo-shared.test' +'mdemo-shared-make.test' +'mdemo-shared-exec.test' +'mdemo-shared-inst.test' +'mdemo-shared-unst.test' + These programs check to see that the 'tests/mdemo' subdirectory of + the libtool distribution can be configured, built, installed, and + uninstalled correctly. + + The 'tests/mdemo' subdirectory contains a demonstration of a + package that uses libtool and the system independent dlopen wrapper + 'libltdl' to load modules. The library 'libltdl' provides a dlopen + wrapper for various platforms (POSIX) including support for + dlpreopened modules (*note Dlpreopening::). + + The tests matching 'mdemo-*make.test', 'mdemo-*exec.test', + 'mdemo-*inst.test' and 'mdemo-*unst.test' are executed three times, + under three different libtool configurations: 'mdemo-conf.test' + configures 'mdemo/libtool' to build both static and shared + libraries, 'mdemo-static.test' builds only static libraries + ('--disable-shared'), and 'mdemo-shared.test' builds only shared + libraries ('--disable-static'). + +'mdemo-dryrun.test' + This test checks whether libtool's '--dry-run' mode works properly. + +'mdemo2-conf.test' +'mdemo2-exec.test' +'mdemo2-make.test' + These programs check to see that the 'tests/mdemo2' subdirectory of + the libtool distribution can be configured, built, and executed + correctly. + + The 'tests/mdemo2' directory contains a demonstration of a package + that attempts to link with a library (from the 'tests/mdemo' + directory) that itself does dlopening of libtool modules. + +'link.test' + This test guarantees that linking directly against a non-libtool + static library works properly. + +'link-2.test' + This test makes sure that files ending in '.lo' are never linked + directly into a program file. + +'nomode.test' + Check whether we can actually get help for libtool. + +'objectlist.test' + Check that a nonexistent objectlist file is properly detected. + +'pdemo-conf.test' +'pdemo-make.test' +'pdemo-exec.test' +'pdemo-inst.test' + These programs check to see that the 'tests/pdemo' subdirectory of + the libtool distribution can be configured, built, and executed + correctly. + + The 'pdemo-conf.test' lowers the 'max_cmd_len' variable in the + generated libtool script to test the measures to evade command line + length limitations. + +'quote.test' + This program checks libtool's metacharacter quoting. + +'sh.test' + Checks for some nonportable or dubious or undesired shell + constructs in shell scripts. + +'suffix.test' + When other programming languages are used with libtool (*note Other + languages::), the source files may end in suffixes other than '.c'. + This test validates that libtool can handle suffixes for all the + file types that it supports, and that it fails when the suffix is + invalid. + +'tagdemo-conf.test' +'tagdemo-make.test' +'tagdemo-exec.test' +'tagdemo-static.test' +'tagdemo-static-make.test' +'tagdemo-static-exec.test' +'tagdemo-shared.test' +'tagdemo-shared-make.test' +'tagdemo-shared-exec.test' +'tagdemo-undef.test' +'tagdemo-undef-make.test' +'tagdemo-undef-exec.test' + These programs check to see that the 'tests/tagdemo' subdirectory + of the libtool distribution can be configured, built, and executed + correctly. + + The 'tests/tagdemo' directory contains a demonstration of a package + that uses libtool's multi-language support through configuration + tags. It generates a library from C++ sources, which is then + linked to a C++ program. + +'f77demo-conf.test' +'f77demo-make.test' +'f77demo-exec.test' +'f77demo-static.test' +'f77demo-static-make.test' +'f77demo-static-exec.test' +'f77demo-shared.test' +'f77demo-shared-make.test' +'f77demo-shared-exec.test' + These programs check to see that the 'tests/f77demo' subdirectory + of the libtool distribution can be configured, built, and executed + correctly. + + The 'tests/f77demo' tests test Fortran 77 support in libtool by + creating libraries from Fortran 77 sources, and mixed Fortran and C + sources, and a Fortran 77 program to use the former library, and a + C program to use the latter library. + +'fcdemo-conf.test' +'fcdemo-make.test' +'fcdemo-exec.test' +'fcdemo-static.test' +'fcdemo-static-make.test' +'fcdemo-static-exec.test' +'fcdemo-shared.test' +'fcdemo-shared-make.test' +'fcdemo-shared-exec.test' + These programs check to see that the 'tests/fcdemo' subdirectory of + the libtool distribution can be configured, built, and executed + correctly. + + The 'tests/fcdemo' is similar to the 'tests/f77demo' directory, + except that Fortran 90 is used in combination with the 'FC' + interface provided by Autoconf and Automake. + + The new, Autotest-based test suite uses keywords to classify certain +test groups: + +'CXX' +'F77' +'FC' +'GCJ' + The test group exercises one of these 'libtool' language tags. + +'autoconf' +'automake' + These keywords denote that the respective external program is + needed by the test group. The tests are typically skipped if the + program is not installed. The 'automake' keyword may also denote + use of the 'aclocal' program. + +'interactive' + This test group may require user interaction on some systems. + Typically, this means closing a popup window about a DLL load error + on Windows. + +'libltdl' + Denote that the 'libltdl' library is exercised by the test group. + +'libtool' +'libtoolize' + Denote that the 'libtool' or 'libtoolize' scripts are exercised by + the test group, respectively. + +'recursive' + Denote that this test group may recursively re-invoke the test + suite itself, with changed settings and maybe a changed 'libtool' + script. You may use the 'INNER_TESTSUITEFLAGS' variable to pass + additional settings to this recursive invocation. Typically, + recursive invocations delimit the set of tests with another + keyword, for example by passing '-k libtool' right before the + expansion of the 'INNER_TESTSUITEFLAGS' variable (without an + intervening space, so you get the chance for further delimitation). + + Test groups with the keyword 'recursive' should not be denoted with + keywords, in order to avoid infinite recursion. As a consequence, + recursive test groups themselves should never require user + interaction, while the test groups they invoke may do so. + + There is a convenience target 'check-noninteractive' that runs all +tests from both test suites that do not cause user interaction on +Windows. Conversely, the target 'check-interactive' runs the complement +of tests and might require closing popup windows about DLL load errors +on Windows. + + +File: libtool.info, Node: When tests fail, Prev: Test descriptions, Up: Libtool test suite + +14.1.2 When tests fail +---------------------- + +When the tests in the old test suite are run via 'make check', output is +caught in per-test 'tests/TEST-NAME.log' files and summarized in the +'test-suite.log' file. The exit status of each program tells the +'Makefile' whether or not the test succeeded. + + If a test fails, it means that there is either a programming error in +libtool, or in the test program itself. + + To investigate a particular test, you may run it directly, as you +would a normal program. When the test is invoked in this way, it +produces output that may be useful in determining what the problem is. + + The new, Autotest-based test suite produces as output a file +'tests/testsuite.log' that contains information about failed tests. + + You can pass options to the test suite through the 'make' variable +'TESTSUITEFLAGS' (*note The Autoconf Manual: (autoconf)testsuite +Invocation.). + + +File: libtool.info, Node: Reporting bugs, Prev: Libtool test suite, Up: Troubleshooting + +14.2 Reporting bugs +=================== + +If you think you have discovered a bug in libtool, you should think +twice: the libtool maintainer is notorious for passing the buck (or +maybe that should be "passing the bug"). Libtool was invented to fix +known deficiencies in shared library implementations, so, in a way, most +of the bugs in libtool are actually bugs in other operating systems. +However, the libtool maintainer would definitely be happy to add support +for somebody else's buggy operating system. [I wish there was a good +way to do winking smiley-faces in Texinfo.] + + Genuine bugs in libtool include problems with shell script +portability, documentation errors, and failures in the test suite (*note +Libtool test suite::). + + First, check the documentation and help screens to make sure that the +behaviour you think is a problem is not already mentioned as a feature. + + Then, you should read the Emacs guide to reporting bugs (*note +Reporting Bugs: (emacs)Bugs.). Some of the details listed there are +specific to Emacs, but the principle behind them is a general one. + + Finally, send a bug report to the Libtool bug reporting address + with any appropriate _facts_, such as test suite +output (*note When tests fail::), all the details needed to reproduce +the bug, and a brief description of why you think the behaviour is a +bug. Be sure to include the word "libtool" in the subject line, as well +as the version number you are using (which can be found by typing +'libtool --version'). + + +File: libtool.info, Node: Maintaining, Next: GNU Free Documentation License, Prev: Troubleshooting, Up: Top + +15 Maintenance notes for libtool +******************************** + +This chapter contains information that the libtool maintainer finds +important. It will be of no use to you unless you are considering +porting libtool to new systems, or writing your own libtool. + +* Menu: + +* New ports:: How to port libtool to new systems. +* Tested platforms:: When libtool was last tested. +* Platform quirks:: Information about different library systems. +* libtool script contents:: Configuration information that libtool uses. +* Cheap tricks:: Making libtool maintainership easier. + + +File: libtool.info, Node: New ports, Next: Tested platforms, Up: Maintaining + +15.1 Porting libtool to new systems +=================================== + +Before you embark on porting libtool to an unsupported system, it is +worthwhile to send e-mail to the Libtool mailing list , +to make sure that you are not duplicating existing work. + + If you find that any porting documentation is missing, please +complain! Complaints with patches and improvements to the +documentation, or to libtool itself, are more than welcome. + +* Menu: + +* Information sources:: Where to find relevant documentation +* Porting inter-library dependencies:: Implementation details explained + + +File: libtool.info, Node: Information sources, Next: Porting inter-library dependencies, Up: New ports + +15.1.1 Information sources +-------------------------- + +Once it is clear that a new port is necessary, you'll generally need the +following information: + +canonical system name + You need the output of 'config.guess' for this system, so that you + can make changes to the libtool configuration process without + affecting other systems. + +man pages for 'ld' and 'cc' + These generally describe what flags are used to generate PIC, to + create shared libraries, and to link against only static libraries. + You may need to follow some cross references to find the + information that is required. + +man pages for 'ld.so', 'rtld', or equivalent + These are a valuable resource for understanding how shared + libraries are loaded on the system. + +man page for 'ldconfig', or equivalent + This page usually describes how to install shared libraries. + +output from 'ls -l /lib /usr/lib' + This shows the naming convention for shared libraries on the + system, including what names should be symbolic links. + +any additional documentation + Some systems have special documentation on how to build and install + shared libraries. + + If you know how to program the Bourne shell, then you can complete +the port yourself; otherwise, you'll have to find somebody with the +relevant skills who will do the work. People on the libtool mailing +list are usually willing to volunteer to help you with new ports, so you +can send the information to them. + + To do the port yourself, you'll definitely need to modify the +'libtool.m4' macros to make platform-specific changes to the +configuration process. You should search that file for the 'PORTME' +keyword, which will give you some hints on what you'll need to change. +In general, all that is involved is modifying the appropriate +configuration variables (*note libtool script contents::). + + Your best bet is to find an already-supported system that is similar +to yours, and make your changes based on that. In some cases, however, +your system will differ significantly from every other supported system, +and it may be necessary to add new configuration variables, and modify +the 'ltmain.in' script accordingly. Be sure to write to the mailing +list before you make changes to 'ltmain.in', since they may have advice +on the most effective way of accomplishing what you want. + + +File: libtool.info, Node: Porting inter-library dependencies, Prev: Information sources, Up: New ports + +15.1.2 Porting inter-library dependencies support +------------------------------------------------- + +Since version 1.2c, libtool has re-introduced the ability to do +inter-library dependency on some platforms, thanks to a patch by Toshio +Kuratomi . Here's a shortened version of the +message that contained his patch: + + The basic architecture is this: in 'libtool.m4', the person who +writes libtool makes sure '$deplibs' is included in '$archive_cmds' +somewhere and also sets the variable '$deplibs_check_method', and maybe +'$file_magic_cmd' when 'deplibs_check_method' is file_magic. + + 'deplibs_check_method' can be one of five things: +'file_magic [REGEX]' + looks in the library link path for libraries that have the right + libname. Then it runs '$file_magic_cmd' on the library and checks + for a match against the extended regular expression REGEX. When + 'file_magic_test_file' is set by 'libtool.m4', it is used as an + argument to '$file_magic_cmd' to verify whether the regular + expression matches its output, and warn the user otherwise. + +'test_compile' + just checks whether it is possible to link a program out of a list + of libraries, and checks which of those are listed in the output of + 'ldd'. It is currently unused, and will probably be dropped in the + future. + +'pass_all' + will pass everything without any checking. This may work on + platforms where code is position-independent by default and + inter-library dependencies are properly supported by the dynamic + linker, for example, on DEC OSF/1 3 and 4. + +'none' + It causes deplibs to be reassigned 'deplibs=""'. That way + 'archive_cmds' can contain deplibs on all platforms, but not have + deplibs used unless needed. + +'unknown' + is the default for all systems unless overridden in 'libtool.m4'. + It is the same as 'none', but it documents that we really don't + know what the correct value should be, and we welcome patches that + improve it. + + Then in 'ltmain.in' we have the real workhorse: a little +initialization and postprocessing (to setup/release variables for use +with eval echo libname_spec etc.) and a case statement that decides the +method that is being used. This is the real code... I wish I could +condense it a little more, but I don't think I can without function +calls. I've mostly optimized it (moved things out of loops, etc.) but +there is probably some fat left. I thought I should stop while I was +ahead, work on whatever bugs you discover, etc. before thinking about +more than obvious optimizations. + + +File: libtool.info, Node: Tested platforms, Next: Platform quirks, Prev: New ports, Up: Maintaining + +15.2 Tested platforms +===================== + +This table describes when libtool was last known to be tested on +platforms where it claims to support shared libraries: + + ------------------------------------------------------- + canonical host name compiler libtool results + (tools versions) release + ------------------------------------------------------- + alpha-dec-osf5.1 cc 1.3e ok (1.910) + alpha-dec-osf4.0f gcc 1.3e ok (1.910) + alpha-dec-osf4.0f cc 1.3e ok (1.910) + alpha-dec-osf3.2 gcc 0.8 ok + alpha-dec-osf3.2 cc 0.8 ok + alpha-dec-osf2.1 gcc 1.2f NS + alpha*-unknown-linux-gnu gcc 1.3b ok + (egcs-1.1.2, GNU ld 2.9.1.0.23) + hppa2.0w-hp-hpux11.00 cc 1.2f ok + hppa2.0-hp-hpux10.20 cc 1.3.2 ok + hppa1.1-hp-hpux10.20 gcc 1.2f ok + hppa1.1-hp-hpux10.20 cc 1.3c ok (1.821) + hppa1.1-hp-hpux10.10 gcc 1.2f ok + hppa1.1-hp-hpux10.10 cc 1.2f ok + hppa1.1-hp-hpux9.07 gcc 1.2f ok + hppa1.1-hp-hpux9.07 cc 1.2f ok + hppa1.1-hp-hpux9.05 gcc 1.2f ok + hppa1.1-hp-hpux9.05 cc 1.2f ok + hppa1.1-hp-hpux9.01 gcc 1.2f ok + hppa1.1-hp-hpux9.01 cc 1.2f ok + i*86-*-beos gcc 1.2f ok + i*86-*-bsdi4.0.1 gcc 1.3c ok + (gcc-2.7.2.1) + i*86-*-bsdi4.0 gcc 1.2f ok + i*86-*-bsdi3.1 gcc 1.2e NS + i*86-*-bsdi3.0 gcc 1.2e NS + i*86-*-bsdi2.1 gcc 1.2e NS + i*86-pc-cygwin gcc 1.3b NS + (egcs-1.1 stock b20.1 compiler) + i*86-*-dguxR4.20MU01 gcc 1.2 ok + i*86-*-freebsd4.3 gcc 1.3e ok (1.912) + i*86-*-freebsdelf4.0 gcc 1.3c ok + (egcs-1.1.2) + i*86-*-freebsdelf3.2 gcc 1.3c ok + (gcc-2.7.2.1) + i*86-*-freebsdelf3.1 gcc 1.3c ok + (gcc-2.7.2.1) + i*86-*-freebsdelf3.0 gcc 1.3c ok + i*86-*-freebsd3.0 gcc 1.2e ok + i*86-*-freebsd2.2.8 gcc 1.3c ok + (gcc-2.7.2.1) + i*86-*-freebsd2.2.6 gcc 1.3b ok + (egcs-1.1 & gcc-2.7.2.1, native ld) + i*86-*-freebsd2.1.5 gcc 0.5 ok + i*86-*-netbsd1.5 gcc 1.3e ok (1.901) + (egcs-1.1.2) + i*86-*-netbsd1.4 gcc 1.3c ok + (egcs-1.1.1) + i*86-*-netbsd1.4.3A gcc 1.3e ok (1.901) + i*86-*-netbsd1.3.3 gcc 1.3c ok + (gcc-2.7.2.2+myc2) + i*86-*-netbsd1.3.2 gcc 1.2e ok + i*86-*-netbsd1.3I gcc 1.2e ok + (egcs 1.1?) + i*86-*-netbsd1.2 gcc 0.9g ok + i*86-*-linux-gnu gcc 1.3e ok (1.901) + (Red Hat 7.0, gcc "2.96") + i*86-*-linux-gnu gcc 1.3e ok (1.911) + (SuSE 7.0, gcc 2.95.2) + i*86-*-linux-gnulibc1 gcc 1.2f ok + i*86-*-openbsd2.5 gcc 1.3c ok + (gcc-2.8.1) + i*86-*-openbsd2.4 gcc 1.3c ok + (gcc-2.8.1) + i*86-*-solaris2.7 gcc 1.3b ok + (egcs-1.1.2, native ld) + i*86-*-solaris2.6 gcc 1.2f ok + i*86-*-solaris2.5.1 gcc 1.2f ok + i*86-ncr-sysv4.3.03 gcc 1.2f ok + i*86-ncr-sysv4.3.03 cc 1.2e ok + (cc -Hnocopyr) + i*86-pc-sco3.2v5.0.5 cc 1.3c ok + i*86-pc-sco3.2v5.0.5 gcc 1.3c ok + (gcc 95q4c) + i*86-pc-sco3.2v5.0.5 gcc 1.3c ok + (egcs-1.1.2) + i*86-sco-sysv5uw7.1.1 gcc 1.3e ok (1.901) + (gcc-2.95.2, SCO linker) + i*86-UnixWare7.1.0-sysv5 cc 1.3c ok + i*86-UnixWare7.1.0-sysv5 gcc 1.3c ok + (egcs-1.1.1) + m68k-next-nextstep3 gcc 1.2f NS + m68k-sun-sunos4.1.1 gcc 1.2f NS + (gcc-2.5.7) + m88k-dg-dguxR4.12TMU01 gcc 1.2 ok + m88k-motorola-sysv4 gcc 1.3 ok + (egcs-1.1.2) + mips-sgi-irix6.5 gcc 1.2f ok + (gcc-2.8.1) + mips-sgi-irix6.4 gcc 1.2f ok + mips-sgi-irix6.3 gcc 1.3b ok + (egcs-1.1.2, native ld) + mips-sgi-irix6.3 cc 1.3b ok + (cc 7.0) + mips-sgi-irix6.2 gcc 1.2f ok + mips-sgi-irix6.2 cc 0.9 ok + mips-sgi-irix5.3 gcc 1.2f ok + (egcs-1.1.1) + mips-sgi-irix5.3 gcc 1.2f NS + (gcc-2.6.3) + mips-sgi-irix5.3 cc 0.8 ok + mips-sgi-irix5.2 gcc 1.3b ok + (egcs-1.1.2, native ld) + mips-sgi-irix5.2 cc 1.3b ok + (cc 3.18) + mips-sni-sysv4 cc 1.3.5 ok + (Siemens C-compiler) + mips-sni-sysv4 gcc 1.3.5 ok + (gcc-2.7.2.3, GNU assembler 2.8.1, native ld) + mipsel-unknown-openbsd2.1 gcc 1.0 ok + powerpc-apple-darwin6.4 gcc 1.5 ok + (apple dev tools released 12/2002) + powerpc-ibm-aix4.3.1.0 gcc 1.2f ok + (egcs-1.1.1) + powerpc-ibm-aix4.2.1.0 gcc 1.2f ok + (egcs-1.1.1) + powerpc-ibm-aix4.1.5.0 gcc 1.2f ok + (egcs-1.1.1) + powerpc-ibm-aix4.1.5.0 gcc 1.2f NS + (gcc-2.8.1) + powerpc-ibm-aix4.1.4.0 gcc 1.0 ok + powerpc-ibm-aix4.1.4.0 xlc 1.0i ok + rs6000-ibm-aix4.1.5.0 gcc 1.2f ok + (gcc-2.7.2) + rs6000-ibm-aix4.1.4.0 gcc 1.2f ok + (gcc-2.7.2) + rs6000-ibm-aix3.2.5 gcc 1.0i ok + rs6000-ibm-aix3.2.5 xlc 1.0i ok + sparc-sun-solaris2.8 gcc 1.3e ok (1.913) + (gcc-2.95.3 & native ld) + sparc-sun-solaris2.7 gcc 1.3e ok (1.913) + (gcc-2.95.3 & native ld) + sparc-sun-solaris2.6 gcc 1.3e ok (1.913) + (gcc-2.95.3 & native ld) + sparc-sun-solaris2.5.1 gcc 1.3e ok (1.911) + sparc-sun-solaris2.5 gcc 1.3b ok + (egcs-1.1.2, GNU ld 2.9.1 & native ld) + sparc-sun-solaris2.5 cc 1.3b ok + (SC 3.0.1) + sparc-sun-solaris2.4 gcc 1.0a ok + sparc-sun-solaris2.4 cc 1.0a ok + sparc-sun-solaris2.3 gcc 1.2f ok + sparc-sun-sunos4.1.4 gcc 1.2f ok + sparc-sun-sunos4.1.4 cc 1.0f ok + sparc-sun-sunos4.1.3_U1 gcc 1.2f ok + sparc-sun-sunos4.1.3C gcc 1.2f ok + sparc-sun-sunos4.1.3 gcc 1.3b ok + (egcs-1.1.2, GNU ld 2.9.1 & native ld) + sparc-sun-sunos4.1.3 cc 1.3b ok + sparc-unknown-bsdi4.0 gcc 1.2c ok + sparc-unknown-linux-gnulibc1 gcc 1.2f ok + sparc-unknown-linux-gnu gcc 1.3b ok + (egcs-1.1.2, GNU ld 2.9.1.0.23) + sparc64-unknown-linux-gnu gcc 1.2f ok + + Notes: + - "ok" means "all tests passed". + - "NS" means "Not Shared", but OK for static libraries + + Note: The vendor-distributed HP-UX 'sed'(1) programs are horribly +broken, and cannot handle libtool's requirements, so users may report +unusual problems. There is no workaround except to install a working +'sed' (such as GNU 'sed') on these systems. + + Note: The vendor-distributed NCR MP-RAS 'cc' programs emits copyright +on standard error that confuse tests on size of 'conftest.err'. The +workaround is to specify 'CC' when run 'configure' with 'CC='cc +-Hnocopyr''. + + +File: libtool.info, Node: Platform quirks, Next: libtool script contents, Prev: Tested platforms, Up: Maintaining + +15.3 Platform quirks +==================== + +This section is dedicated to the sanity of the libtool maintainers. It +describes the programs that libtool uses, how they vary from system to +system, and how to test for them. + + Because libtool is a shell script, it can be difficult to understand +just by reading it from top to bottom. This section helps show why +libtool does things a certain way. Combined with the scripts +themselves, you should have a better sense of how to improve libtool, or +write your own. + +* Menu: + +* References:: Finding more information. +* Compilers:: Creating object files from source files. +* Reloadable objects:: Binding object files together. +* Multiple dependencies:: Removing duplicate dependent libraries. +* Archivers:: Programs that create static archives. +* Cross compiling:: Issues that arise when cross compiling. +* File name conversion:: Converting file names between platforms. +* Windows DLLs:: Windows header defines. + + +File: libtool.info, Node: References, Next: Compilers, Up: Platform quirks + +15.3.1 References +----------------- + +The following is a list of valuable documentation references: + + * SGI's IRIX Manual Pages can be found at + . + + * Sun's free service area + () and documentation + server (). + + * Compaq's Tru64 UNIX online documentation is at + () + with C++ documentation at + (). + + * Hewlett-Packard has online documentation at + (). + + * IBM has online documentation at + (). + + +File: libtool.info, Node: Compilers, Next: Reloadable objects, Prev: References, Up: Platform quirks + +15.3.2 Compilers +---------------- + +The only compiler characteristics that affect libtool are the flags +needed (if any) to generate PIC objects. In general, if a C compiler +supports certain PIC flags, then any derivative compilers support the +same flags. Until there are some noteworthy exceptions to this rule, +this section will document only C compilers. + + The following C compilers have standard command line options, +regardless of the platform: + +'gcc' + + This is the GNU C compiler, which is also the system compiler for + many free operating systems (FreeBSD, GNU/Hurd, GNU/Linux, Lites, + NetBSD, and OpenBSD, to name a few). + + The '-fpic' or '-fPIC' flags can be used to generate + position-independent code. '-fPIC' is guaranteed to generate + working code, but the code is slower on m68k, m88k, and SPARC + chips. However, using '-fpic' on those chips imposes arbitrary + size limits on the shared libraries. + + The rest of this subsection lists compilers by the operating system +that they are bundled with: + +'aix3*' +'aix4*' + Most AIX compilers have no PIC flags, since AIX (with the exception + of AIX for IA-64) runs on PowerPC and RS/6000 chips. (1) + +'hpux10*' + Use '+Z' to generate PIC. + +'osf3*' + Digital/UNIX 3.x does not have PIC flags, at least not on the + PowerPC platform. + +'solaris2*' + Use '-KPIC' to generate PIC. + +'sunos4*' + Use '-PIC' to generate PIC. + + ---------- Footnotes ---------- + + (1) All code compiled for the PowerPC and RS/6000 chips +('powerpc-*-*', 'powerpcle-*-*', and 'rs6000-*-*') is +position-independent, regardless of the operating system or compiler +suite. So, "regular objects" can be used to build shared libraries on +these systems and no special PIC compiler flags are required. + + +File: libtool.info, Node: Reloadable objects, Next: Multiple dependencies, Prev: Compilers, Up: Platform quirks + +15.3.3 Reloadable objects +------------------------- + +On all known systems, a reloadable object can be created by running 'ld +-r -o OUTPUT.o INPUT1.o INPUT2.o'. This reloadable object may be +treated as exactly equivalent to other objects. + + +File: libtool.info, Node: Multiple dependencies, Next: Archivers, Prev: Reloadable objects, Up: Platform quirks + +15.3.4 Multiple dependencies +---------------------------- + +On most modern platforms the order where dependent libraries are listed +has no effect on object generation. In theory, there are platforms that +require libraries that provide missing symbols to other libraries to be +listed after those libraries whose symbols they provide. + + Particularly, if a pair of static archives each resolve some of the +other's symbols, it might be necessary to list one of those archives +both before and after the other one. Libtool does not currently cope +with this situation well, since duplicate libraries are removed from the +link line by default. Libtool provides the command line option +'--preserve-dup-deps' to preserve all duplicate dependencies in cases +where it is necessary. + + +File: libtool.info, Node: Archivers, Next: Cross compiling, Prev: Multiple dependencies, Up: Platform quirks + +15.3.5 Archivers +---------------- + +On all known systems, building a static library can be accomplished by +running 'ar cr libNAME.a OBJ1.o OBJ2.o ...', where the '.a' file is the +output library, and each '.o' file is an object file. + + On all known systems, if there is a program named 'ranlib', then it +must be used to "bless" the created library before linking against it, +with the 'ranlib libNAME.a' command. Some systems, like Irix, use the +'ar ts' command, instead. + + +File: libtool.info, Node: Cross compiling, Next: File name conversion, Prev: Archivers, Up: Platform quirks + +15.3.6 Cross compiling +---------------------- + +Most build systems support the ability to compile libraries and +applications on one platform for use on a different platform, provided a +compiler capable of generating the appropriate output is available. In +such cross compiling scenarios, the platform where the libraries or +applications are compiled is called the "build platform", while the +platform where the libraries or applications are intended to be used or +executed is called the "host platform". *note The GNU Build System: +(automake)GNU Build System, of which libtool is a part, supports cross +compiling via arguments passed to the configure script: '--build=...' +and '--host=...'. However, when the build platform and host platform +are very different, libtool is required to make certain accommodations +to support these scenarios. + + In most cases, because the build platform and host platform differ, +the cross-compiled libraries and executables can't be executed or tested +on the build platform where they were compiled. The testsuites of most +build systems will often skip any tests that involve executing such +foreign executables when cross-compiling. However, if the build +platform and host platform are sufficiently similar, it is often +possible to run cross-compiled applications. Libtool's own testsuite +often attempts to execute cross-compiled tests, but will mark any +failures as _skipped_ since the failure might simply be due to the +differences between the two platforms. + + In addition to cases where the host platform and build platform are +extremely similar (e.g. 'i586-pc-linux-gnu' and 'i686-pc-linux-gnu'), +there is another case where cross-compiled host applications may be +executed on the build platform. This is possible when the build +platform supports an emulation or API-enhanced environment for the host +platform. One example of this situation would be if the build platform +were MinGW, and the host platform were Cygwin (or vice versa). Both of +these platforms can actually operate within a single Windows instance, +so Cygwin applications can be launched from a MinGW context, and vice +versa--provided certain care is taken. Another example would be if the +build platform were GNU/Linux on an x86 32bit processor, and the host +platform were MinGW. In this situation, the Wine +(http://www.winehq.org/) environment can be used to launch Windows +applications from the GNU/Linux operating system; again, provided +certain care is taken. + + One particular issue occurs when a Windows platform such as MinGW, +Cygwin, or MSYS is the host or build platform, while the other platform +is a Unix-style system. In these cases, there are often conflicts +between the format of the file names and paths expected within host +platform libraries and executables, and those employed on the build +platform. + + This situation is best described using a concrete example: suppose +the build platform is GNU/Linux with canonical triplet +'i686-pc-linux-gnu'. Suppose further that the host platform is MinGW +with canonical triplet 'i586-pc-mingw32'. On the GNU/Linux platform +there is a cross compiler following the usual naming conventions of such +compilers, where the compiler name is prefixed by the host canonical +triplet (or suitable alias). (For more information concerning canonical +triplets and platform aliases, see *note Specifying Target Triplets: +(autoconf)Specifying Target Triplets. and *note Canonicalizing: +(autoconf)Canonicalizing.) In this case, the C compiler is named +'i586-pc-mingw32-gcc'. + + As described in *note Wrapper executables::, for the MinGW host +platform libtool uses a wrapper executable to set various environment +variables before launching the actual program executable. Like the +program executable, the wrapper executable is cross-compiled for the +host platform (that is, for MinGW). As described above, ordinarily a +host platform executable cannot be executed on the build platform, but +in this case the Wine environment could be used to launch the MinGW +application from GNU/Linux. However, the wrapper executable, as a host +platform (MinGW) application, must set the 'PATH' variable so that the +true application's dependent libraries can be located--but the contents +of the 'PATH' variable must be structured for MinGW. Libtool must use +the Wine file name mapping facilities to determine the correct value so +that the wrapper executable can set the 'PATH' variable to point to the +correct location. + + For example, suppose we are compiling an application in '/var/tmp' on +GNU/Linux, using separate source code and build directories: + + /var/tmp/foo-1.2.3/app/ (application source code) + /var/tmp/foo-1.2.3/lib/ (library source code) + /var/tmp/BUILD/app/ (application build objects here) + /var/tmp/BUILD/lib/ (library build objects here) + + Since the library will be built in '/var/tmp/BUILD/lib', the wrapper +executable (which will be in '/var/tmp/BUILD/app') must add that +directory to 'PATH' (actually, it must add the directory named OBJDIR +under '/var/tmp/BUILD/lib', but we'll ignore that detail for now). +However, Windows does not have a concept of Unix-style file or directory +names such as '/var/tmp/BUILD/lib'. Therefore, Wine provides a mapping +from Windows file names such as 'C:\Program Files' to specific +Unix-style file names. Wine also provides a utility that can be used to +map Unix-style file names to Windows file names. + + In this case, the wrapper executable should actually add the value + + Z:\var\tmp\BUILD\lib + +to the 'PATH'. libtool contains support for path conversions of this +type, for a certain limited set of build and host platform combinations. +In this case, libtool will invoke Wine's 'winepath' utility to ensure +that the correct 'PATH' value is used. *Note File name conversion::. + + +File: libtool.info, Node: File name conversion, Next: Windows DLLs, Prev: Cross compiling, Up: Platform quirks + +15.3.7 File name conversion +--------------------------- + +In certain situations, libtool must convert file names and paths between +formats appropriate to different platforms. Usually this occurs when +cross-compiling, and affects only the ability to launch host platform +executables on the build platform using an emulation or API-enhancement +environment such as Wine. Failure to convert paths (*note File Name +Conversion Failure::) will cause a warning to be issued, but rarely +causes the build to fail--and should have no affect on the compiled +products, once installed properly on the host platform. For more +information, *note Cross compiling::. + + However, file name conversion may also occur in another scenario: +when using a Unix emulation system on Windows (such as Cygwin or MSYS), +combined with a native Windows compiler such as MinGW or MSVC. Only a +limited set of such scenarios are currently supported; in other cases +file name conversion is skipped. The lack of file name conversion +usually means that uninstalled executables can't be launched, but only +rarely causes the build to fail (*note File Name Conversion Failure::). + + libtool supports file name conversion in the following scenarios: + +build platform host platform Notes +--------------------------------------------------------------------------- +MinGW (MSYS) MinGW (Windows) *note Native MinGW File Name Conversion:: + +Cygwin MinGW (Windows) *note Cygwin/Windows File Name Conversion:: + +Unix + Wine MinGW (Windows) Requires Wine. + *Note Unix/Windows File Name Conversion::. + +MinGW (MSYS) Cygwin Requires 'LT_CYGPATH'. + *Note LT_CYGPATH::. Provided for + testing purposes only. + +Unix + Wine Cygwin Requires both Wine and + 'LT_CYGPATH', but does not yet + work with Cygwin 1.7.7 and + Wine-1.2. + *Note Unix/Windows File Name Conversion::, + and *note LT_CYGPATH::. + +* Menu: + +* File Name Conversion Failure:: What happens when file name conversion fails +* Native MinGW File Name Conversion:: MSYS file name conversion idiosyncrasies +* Cygwin/Windows File Name Conversion:: Using 'cygpath' to convert Cygwin file names +* Unix/Windows File Name Conversion:: Using Wine to convert Unix paths +* LT_CYGPATH:: Invoking 'cygpath' from other environments +* Cygwin to MinGW Cross:: Other notes concerning MinGW cross + + +File: libtool.info, Node: File Name Conversion Failure, Next: Native MinGW File Name Conversion, Up: File name conversion + +15.3.7.1 File Name Conversion Failure +..................................... + +In most cases, file name conversion is not needed or attempted. +However, when libtool detects that a specific combination of build and +host platform does require file name conversion, it is possible that the +conversion may fail. In these cases, you may see a warning such as the +following: + + Could not determine the host file name corresponding to + `... a file name ...' + Continuing, but uninstalled executables may not work. + +or + + Could not determine the host path corresponding to + `... a path ...' + Continuing, but uninstalled executables may not work. + +This should not cause the build to fail. At worst, it means that the +wrapper executable will specify file names or paths appropriate for the +build platform. Since those are not appropriate for the host platform, +the uninstalled executables would not operate correctly, even when the +wrapper executable is launched via the appropriate emulation or +API-enhancement (e.g. Wine). Simply install the executables on the +host platform, and execute them there. + + +File: libtool.info, Node: Native MinGW File Name Conversion, Next: Cygwin/Windows File Name Conversion, Prev: File Name Conversion Failure, Up: File name conversion + +15.3.7.2 Native MinGW File Name Conversion +.......................................... + +MSYS is a Unix emulation environment for Windows, and is specifically +designed such that in normal usage it _pretends_ to be MinGW or native +Windows, but understands Unix-style file names and paths, and supports +standard Unix tools and shells. Thus, "native" MinGW builds are +actually an odd sort of cross-compile, from an MSYS Unix emulation +environment "pretending" to be MinGW, to actual native Windows. + + When an MSYS shell launches a native Windows executable (as opposed +to other _MSYS_ executables), it uses a system of heuristics to detect +any command-line arguments that contain file names or paths. It +automatically converts these file names from the MSYS (Unix-like) +format, to the corresponding Windows file name, before launching the +executable. However, this auto-conversion facility is only available +when using the MSYS runtime library. The wrapper executable itself is a +MinGW application (that is, it does not use the MSYS runtime library). +The wrapper executable must set 'PATH' to, and call '_spawnv' with, +values that have already been converted from MSYS format to Windows. +Thus, when libtool writes the source code for the wrapper executable, it +must manually convert MSYS paths to Windows format, so that the Windows +values can be hard-coded into the wrapper executable. + + +File: libtool.info, Node: Cygwin/Windows File Name Conversion, Next: Unix/Windows File Name Conversion, Prev: Native MinGW File Name Conversion, Up: File name conversion + +15.3.7.3 Cygwin/Windows File Name Conversion +............................................ + +Cygwin provides a Unix emulation environment for Windows. As part of +that emulation, it provides a file system mapping that presents the +Windows file system in a Unix-compatible manner. Cygwin also provides a +utility 'cygpath' that can be used to convert file names and paths +between the two representations. In a correctly configured Cygwin +installation, 'cygpath' is always present, and is in the 'PATH'. + + Libtool uses 'cygpath' to convert from Cygwin (Unix-style) file names +and paths to Windows format when the build platform is Cygwin and the +host platform is MinGW. + + When the host platform is Cygwin, but the build platform is MSYS or +some Unix system, libtool also uses 'cygpath' to convert from Windows to +Cygwin format (after first converting from the build platform format to +Windows format; *Note Native MinGW File Name Conversion::, and *note +Unix/Windows File Name Conversion::.) Because the build platform is not +Cygwin, 'cygpath' is not (and should not be) in the 'PATH'. Therefore, +in this configuration the environment variable 'LT_CYGPATH' is required. +*Note LT_CYGPATH::. + + +File: libtool.info, Node: Unix/Windows File Name Conversion, Next: LT_CYGPATH, Prev: Cygwin/Windows File Name Conversion, Up: File name conversion + +15.3.7.4 Unix/Windows File Name Conversion +.......................................... + +Wine (http://www.winehq.org/) provides an interpretation environment for +some Unix platforms where Windows applications can be executed. It +provides a mapping between the Unix file system and a virtual Windows +file system used by the Windows programs. For the file name conversion +to work, Wine must be installed and properly configured on the build +platform, and the 'winepath' application must be in the build platform's +'PATH'. In addition, on 32bit GNU/Linux it is usually helpful if the +binfmt extension is enabled. + + +File: libtool.info, Node: LT_CYGPATH, Next: Cygwin to MinGW Cross, Prev: Unix/Windows File Name Conversion, Up: File name conversion + +15.3.7.5 LT_CYGPATH +................... + +For some cross-compile configurations (where the host platform is +Cygwin), the 'cygpath' program is used to convert file names from the +build platform notation to the Cygwin form (technically, this conversion +is from Windows notation to Cygwin notation; the conversion from the +build platform format to Windows notation is performed via other means). +However, because the 'cygpath' program is not (and should not be) in the +'PATH' on the build platform, 'LT_CYGPATH' must specify the full build +platform file name (that is, the full Unix or MSYS file name) of the +'cygpath' program. + + The reason 'cygpath' should not be in the build platform 'PATH' is +twofold: first, 'cygpath' is usually installed in the same directory as +many other Cygwin executables, such as 'sed', 'cp', etc. If the build +platform environment had this directory in its 'PATH', then these Cygwin +versions of common Unix utilities might be used in preference to the +ones provided by the build platform itself, with deleterious effects. +Second, especially when Cygwin-1.7 or later is used, multiple Cygwin +installations can coexist within the same Windows instance. Each +installation will have separate "mount tables" specified in +'CYGROOT-N/etc/fstab'. These "mount tables" control how that instance +of Cygwin will map Windows file names and paths to Cygwin form. Each +installation's 'cygpath' utility automatically deduces the appropriate +'/etc/fstab' file. Since each 'CYGROOT-N/etc/fstab' mount table may +specify different mappings, it matters what 'cygpath' is used. + + Note that 'cygpath' is a Cygwin application; to execute this tool +from Unix requires a working and properly configured Wine installation, +as well as enabling the GNU/Linux 'binfmt' extension. Furthermore, the +Cygwin 'setup.exe' tool should have been used, via Wine, to properly +install Cygwin into the Wine file system (and registry). + + Unfortunately, Wine support for Cygwin is intermittent. Recent +releases of Cygwin (1.7 and above) appear to require more Windows API +support than Wine provides (as of Wine version 1.2); most Cygwin +applications fail to execute. This includes 'cygpath' itself. Hence, +it is best _not_ to use the LT_CYGPATH machinery in libtool when +performing Unix to Cygwin cross-compiles. Similarly, it is best _not_ +to enable the GNU/Linux binfmt support in this configuration, because +while Wine will fail to execute the compiled Cygwin applications, it +will still exit with status zero. This tends to confuse build systems +and test suites (including libtool's own testsuite, resulting in +spurious reported failures). Wine support for the older Cygwin-1.5 +series appears satisfactory, but the Cygwin team no longer supports +Cygwin-1.5. It is hoped that Wine will eventually be improved such that +Cygwin-1.7 will again operate correctly under Wine. Until then, libtool +will report warnings as described in *note File Name Conversion +Failure:: in these scenarios. + + However, 'LT_CYGPATH' is also used for the MSYS to Cygwin cross +compile scenario, and operates as expected. + + +File: libtool.info, Node: Cygwin to MinGW Cross, Prev: LT_CYGPATH, Up: File name conversion + +15.3.7.6 Cygwin to MinGW Cross +.............................. + +There are actually three different scenarios that could all legitimately +be called a "Cygwin to MinGW" cross compile. The current (and standard) +definition is when there is a compiler that produces native Windows +libraries and applications, but which itself is a Cygwin application, +just as would be expected in any other cross compile setup. + + However, historically there were two other definitions, which we will +refer to as the _fake_ one, and the _lying_ one. + + In the _fake_ Cygwin to MinGW cross compile case, you actually use a +native MinGW compiler, but you do so from within a Cygwin environment: + + export PATH="/c/MinGW/bin:${PATH}" + configure --build=i686-pc-cygwin \ + --host=mingw32 \ + NM=/c/MinGW/bin/nm.exe + + In this way, the build system "knows" that you are cross compiling, +and the file name conversion logic will be used. However, because the +tools ('mingw32-gcc', 'nm', 'ar') used are actually native Windows +applications, they will not understand any Cygwin (that is, Unix-like) +absolute file names passed as command line arguments (and, unlike MSYS, +Cygwin does not automatically convert such arguments). However, so long +as only relative file names are used in the build system, and +non-Windows-supported Unix idioms such as symlinks and mount points are +avoided, this scenario should work. + + If you must use absolute file names, you will have to force Libtool +to convert file names for the toolchain in this case, by doing the +following before you run configure: + + export lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32 + + In the _lying_ Cygwin to MinGW cross compile case, you lie to the +build system: + + export PATH="/c/MinGW/bin:${PATH}" + configure --build=i686-pc-mingw32 \ + --host=i686-pc-mingw32 \ + --disable-dependency-tracking + +and claim that the build platform is MinGW, even though you are actually +running under _Cygwin_ and not MinGW. In this case, libtool does _not_ +know that you are performing a cross compile, and thinks instead that +you are performing a native MinGW build. However, as described in +(*note Native MinGW File Name Conversion::), that scenario triggers an +"MSYS to Windows" file name conversion. This, of course, is the wrong +conversion since we are actually running under Cygwin. Also, the +toolchain is expecting Windows file names (not Cygwin) but unless told +so Libtool will feed Cygwin file names to the toolchain in this case. +To force the correct file name conversions in this situation, you should +do the following _before_ running configure: + + export lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + export lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32 + + Note that this relies on internal implementation details of libtool, +and is subject to change. Also, '--disable-dependency-tracking' is +required, because otherwise the MinGW GCC will generate dependency files +that contain Windows file names. This, in turn, will confuse the Cygwin +'make' program, which does not accept Windows file names: + + Makefile:1: *** target pattern contains no `%'. Stop. + + There have also always been a number of other details required for +the _lying_ case to operate correctly, such as the use of so-called +"identity mounts": + + # CYGWIN-ROOT/etc/fstab + D:/foo /foo some_fs binary 0 0 + D:/bar /bar some_fs binary 0 0 + E:/grill /grill some_fs binary 0 0 + + In this way, top-level directories of each drive are available using +identical names within Cygwin. + + Note that you also need to ensure that the standard Unix directories +(like '/bin', '/lib', '/usr', '/etc') appear in the root of a drive. +This means that you must install Cygwin itself into the 'C:/' root +directory (or 'D:/', or 'E:/', etc)--instead of the recommended +installation into 'C:/cygwin/'. In addition, all file names used in the +build system must be relative, symlinks should not be used within the +source or build directory trees, and all '-M*' options to 'gcc' except +'-MMD' must be avoided. + + This is quite a fragile setup, but it has been in historical use, and +so is documented here. + + +File: libtool.info, Node: Windows DLLs, Prev: File name conversion, Up: Platform quirks + +15.3.8 Windows DLLs +------------------- + +This topic describes a couple of ways to portably create Windows Dynamic +Link Libraries (DLLs). Libtool knows how to create DLLs using GNU tools +and using Microsoft tools. + + A typical library has a "hidden" implementation with an interface +described in a header file. On just about every system, the interface +could be something like this: + + Example 'foo.h': + + #ifndef FOO_H + #define FOO_H + + int one (void); + int two (void); + extern int three; + + #endif /* FOO_H */ + +And the implementation could be something like this: + + Example 'foo.c': + + #include "foo.h" + + int one (void) + { + return 1; + } + + int two (void) + { + return three - one (); + } + + int three = 3; + + When using contemporary GNU tools to create the Windows DLL, the +above code will work there too, thanks to its auto-import/auto-export +features. But that is not the case when using older GNU tools or +perhaps more interestingly when using proprietary tools. In those cases +the code will need additional decorations on the interface symbols with +'__declspec(dllimport)' and '__declspec(dllexport)' depending on whether +the library is built or it's consumed and how it's built and consumed. +However, it should be noted that it would have worked also with +Microsoft tools, if only the variable 'three' hadn't been there, due to +the fact the Microsoft tools will automatically import functions (but +sadly not variables) and Libtool will automatically export non-static +symbols as described next. + + With Microsoft tools, Libtool digs through the object files that make +up the library, looking for non-static symbols to automatically export. +I.e., Libtool with Microsoft tools tries to mimic the auto-export +feature of contemporary GNU tools. It should be noted that the GNU +auto-export feature is turned off when an explicit +'__declspec(dllexport)' is seen. The GNU tools do this to not make more +symbols visible for projects that have already taken the trouble to +decorate symbols. There is no similar way to limit what symbols are +visible in the code when Libtool is using Microsoft tools. In order to +limit symbol visibility in that case you need to use one of the options +'-export-symbols' or '-export-symbols-regex'. + + No matching help with auto-import is provided by Libtool, which is +why variables must be decorated to import them from a DLL for everything +but contemporary GNU tools. As stated above, functions are +automatically imported by both contemporary GNU tools and Microsoft +tools, but for other proprietary tools the auto-import status of +functions is unknown. + + When the objects that form the library are built, there are generally +two copies built for each object. One copy is used when linking the DLL +and one copy is used for the static library. On Windows systems, a pair +of defines are commonly used to discriminate how the interface symbols +should be decorated. The first define is '-DDLL_EXPORT', which is +automatically provided by Libtool when 'libtool' builds the copy of the +object that is destined for the DLL. The second define is +'-DLIBFOO_BUILD' (or similar), which is often added by the package +providing the library and is used when building the library, but not +when consuming the library. + + However, the matching double compile is not performed when consuming +libraries. It is therefore not possible to reliably distinguish if the +consumer is importing from a DLL or if it is going to use a static +library. + + With contemporary GNU tools, auto-import often saves the day, but see +the GNU ld documentation and its '--enable-auto-import' option for some +corner cases when it does not (*note '--enable-auto-import': +(ld)Options.). + + With Microsoft tools you typically get away with always compiling the +code such that variables are expected to be imported from a DLL and +functions are expected to be found in a static library. The tools will +then automatically import the function from a DLL if that is where they +are found. If the variables are not imported from a DLL as expected, +but are found in a static library that is otherwise pulled in by some +function, the linker will issue a warning (LNK4217) that a locally +defined symbol is imported, but it still works. In other words, this +scheme will not work to only consume variables from a library. There is +also a price connected to this liberal use of imports in that an extra +indirection is introduced when you are consuming the static version of +the library. That extra indirection is unavoidable when the DLL is +consumed, but it is not needed when consuming the static library. + + For older GNU tools and other proprietary tools there is no generic +way to make it possible to consume either of the DLL or the static +library without user intervention, the tools need to be told what is +intended. One common assumption is that if a DLL is being built +('DLL_EXPORT' is defined) then that DLL is going to consume any +dependent libraries as DLLs. If that assumption is made everywhere, it +is possible to select how an end-user application is consuming libraries +by adding a single flag '-DDLL_EXPORT' when a DLL build is required. +This is of course an all or nothing deal, either everything as DLLs or +everything as static libraries. + + To sum up the above, the header file of the foo library needs to be +changed into something like this: + + Modified 'foo.h': + + #ifndef FOO_H + #define FOO_H + + #if defined _WIN32 && !defined __GNUC__ + # ifdef LIBFOO_BUILD + # ifdef DLL_EXPORT + # define LIBFOO_SCOPE __declspec (dllexport) + # define LIBFOO_SCOPE_VAR extern __declspec (dllexport) + # endif + # elif defined _MSC_VER + # define LIBFOO_SCOPE + # define LIBFOO_SCOPE_VAR extern __declspec (dllimport) + # elif defined DLL_EXPORT + # define LIBFOO_SCOPE __declspec (dllimport) + # define LIBFOO_SCOPE_VAR extern __declspec (dllimport) + # endif + #endif + #ifndef LIBFOO_SCOPE + # define LIBFOO_SCOPE + # define LIBFOO_SCOPE_VAR extern + #endif + + LIBFOO_SCOPE int one (void); + LIBFOO_SCOPE int two (void); + LIBFOO_SCOPE_VAR int three; + + #endif /* FOO_H */ + + When the targets are limited to contemporary GNU tools and Microsoft +tools, the above can be simplified to the following: + + Simplified 'foo.h': + + #ifndef FOO_H + #define FOO_H + + #if defined _WIN32 && !defined __GNUC__ && !defined LIBFOO_BUILD + # define LIBFOO_SCOPE_VAR extern __declspec (dllimport) + #else + # define LIBFOO_SCOPE_VAR extern + #endif + + int one (void); + int two (void); + LIBFOO_SCOPE_VAR int three; + + #endif /* FOO_H */ + + This last simplified version can of course only work when Libtool is +used to build the DLL, as no symbols would be exported otherwise (i.e., +when using Microsoft tools). + + It should be noted that there are various projects that attempt to +relax these requirements by various low level tricks, but they are not +discussed here. Examples are FlexDLL +(http://alain.frisch.fr/flexdll.html) and edll +(http://edll.sourceforge.net/). + + +File: libtool.info, Node: libtool script contents, Next: Cheap tricks, Prev: Platform quirks, Up: Maintaining + +15.4 'libtool' script contents +============================== + +Since version 1.4, the 'libtool' script is generated by 'configure' +(*note Configuring::). In earlier versions, 'configure' achieved this +by calling a helper script called 'ltconfig'. From libtool version 0.7 +to 1.0, this script simply set shell variables, then sourced the libtool +backend, 'ltmain.sh'. 'ltconfig' from libtool version 1.1 through 1.3 +inlined the contents of 'ltmain.sh' into the generated 'libtool', which +improved performance on many systems. The tests that 'ltconfig' used to +perform are now kept in 'libtool.m4' where they can be written using +Autoconf. This has the runtime performance benefits of inlined +'ltmain.sh', _and_ improves the build time a little while considerably +easing the amount of raw shell code that used to need maintaining. + + The convention used for naming variables that hold shell commands for +delayed evaluation, is to use the suffix '_cmd' where a single line of +valid shell script is needed, and the suffix '_cmds' where multiple +lines of shell script *may* be delayed for later evaluation. By +convention, '_cmds' variables delimit the evaluation units with the '~' +character where necessary. + + Here is a listing of each of the configuration variables, and how +they are used within 'ltmain.sh' (*note Configuring::): + + -- Variable: AR + The name of the system library archiver. + + -- Variable: CC + The name of the compiler used to configure libtool. This will + always contain the compiler for the current language (*note + Tags::). + + -- Variable: ECHO + An 'echo' program that does not interpret backslashes as an escape + character. It may be given only one argument, so due quoting is + necessary. + + -- Variable: LD + The name of the linker that libtool should use internally for + reloadable linking and possibly shared libraries. + + -- Variable: LTCC + -- Variable: LTCFLAGS + The name of the C compiler and C compiler flags used to configure + libtool. + + -- Variable: NM + The name of a BSD- or MS-compatible program that produces listings + of global symbols. For BSD 'nm', the symbols should be in one the + following formats: + + ADDRESS C GLOBAL-VARIABLE-NAME + ADDRESS D GLOBAL-VARIABLE-NAME + ADDRESS T GLOBAL-FUNCTION-NAME + + For MS 'dumpbin', the symbols should be in one of the following + formats: + + COUNTER SIZE UNDEF notype External | GLOBAL-VAR + COUNTER ADDRESS SECTION notype External | GLOBAL-VAR + COUNTER ADDRESS SECTION notype () External | GLOBAL-FUNC + + The SIZE of the global variables are not zero and the SECTION of + the global functions are not "UNDEF". Symbols in "pick any" + sections ("pick any" appears in the section header) are not global + either. + + -- Variable: RANLIB + Set to the name of the 'ranlib' program, if any. + + -- Variable: allow_undefined_flag + The flag that is used by 'archive_cmds' to declare that there will + be unresolved symbols in the resulting shared library. Empty, if + no such flag is required. Set to 'unsupported' if there is no way + to generate a shared library with references to symbols that aren't + defined in that library. + + -- Variable: always_export_symbols + Whether libtool should automatically generate a list of exported + symbols using 'export_symbols_cmds' before linking an archive. Set + to 'yes' or 'no'. Default is 'no'. + + -- Variable: archive_cmds + -- Variable: archive_expsym_cmds + -- Variable: old_archive_cmds + Commands used to create shared libraries, shared libraries with + '-export-symbols' and static libraries, respectively. + + -- Variable: archiver_list_spec + Specify filename containing input files for 'AR'. + + -- Variable: old_archive_from_new_cmds + If the shared library depends on a static library, + 'old_archive_from_new_cmds' contains the commands used to create + that static library. If this variable is not empty, + 'old_archive_cmds' is not used. + + -- Variable: old_archive_from_expsyms_cmds + If a static library must be created from the export symbol list to + correctly link with a shared library, + 'old_archive_from_expsyms_cmds' contains the commands needed to + create that static library. When these commands are executed, the + variable 'soname' contains the name of the shared library in + question, and the '$objdir/$newlib' contains the path of the static + library these commands should build. After executing these + commands, libtool will proceed to link against '$objdir/$newlib' + instead of 'soname'. + + -- Variable: lock_old_archive_extraction + Set to 'yes' if the extraction of a static library requires locking + the library file. This is required on Darwin. + + -- Variable: build + -- Variable: build_alias + -- Variable: build_os + Set to the specified and canonical names of the system that libtool + was built on. + + -- Variable: build_libtool_libs + Whether libtool should build shared libraries on this system. Set + to 'yes' or 'no'. + + -- Variable: build_old_libs + Whether libtool should build static libraries on this system. Set + to 'yes' or 'no'. + + -- Variable: compiler_c_o + Whether the compiler supports the '-c' and '-o' options + simultaneously. Set to 'yes' or 'no'. + + -- Variable: compiler_needs_object + Whether the compiler has to see an object listed on the command + line in order to successfully invoke the linker. If 'no', then a + set of convenience archives or a set of object file names can be + passed via linker-specific options or linker scripts. + + -- Variable: dlopen_support + Whether 'dlopen' is supported on the platform. Set to 'yes' or + 'no'. + + -- Variable: dlopen_self + Whether it is possible to 'dlopen' the executable itself. Set to + 'yes' or 'no'. + + -- Variable: dlopen_self_static + Whether it is possible to 'dlopen' the executable itself, when it + is linked statically ('-all-static'). Set to 'yes' or 'no'. + + -- Variable: exclude_expsyms + List of symbols that should not be listed in the preloaded symbols. + + -- Variable: export_dynamic_flag_spec + Compiler link flag that allows a dlopened shared library to + reference symbols that are defined in the program. + + -- Variable: export_symbols_cmds + Commands to extract exported symbols from 'libobjs' to the file + 'export_symbols'. + + -- Variable: extract_expsyms_cmds + Commands to extract the exported symbols list from a shared + library. These commands are executed if there is no file + '$objdir/$soname-def', and should write the names of the exported + symbols to that file, for the use of + 'old_archive_from_expsyms_cmds'. + + -- Variable: fast_install + Determines whether libtool will privilege the installer or the + developer. The assumption is that installers will seldom run + programs in the build tree, and the developer will seldom install. + This is only meaningful on platforms where + 'shlibpath_overrides_runpath' is not 'yes', so 'fast_install' will + be set to 'needless' in this case. If 'fast_install' set to 'yes', + libtool will create programs that search for installed libraries, + and, if a program is run in the build tree, a new copy will be + linked on-demand to use the yet-to-be-installed libraries. If set + to 'no', libtool will create programs that use the + yet-to-be-installed libraries, and will link a new copy of the + program at install time. The default value is 'yes' or 'needless', + depending on platform and configuration flags, and it can be turned + from 'yes' to 'no' with the configure flag + '--disable-fast-install'. + + On some systems, the linker always hardcodes paths to dependent + libraries into the output. In this case, 'fast_install' is never + set to 'yes', and relinking at install time is triggered. This + also means that 'DESTDIR' installation does not work as expected. + + -- Variable: file_magic_glob + How to find potential files when 'deplibs_check_method' is + 'file_magic'. 'file_magic_glob' is a 'sed' expression, and the + 'sed' instance is fed potential file names that are transformed by + the 'file_magic_glob' expression. Useful when the shell does not + support the shell option 'nocaseglob', making 'want_nocaseglob' + inappropriate. Normally disabled (i.e. 'file_magic_glob' is + empty). + + -- Variable: finish_cmds + Commands to tell the dynamic linker how to find shared libraries in + a specific directory. + + -- Variable: finish_eval + Same as 'finish_cmds', except the commands are not displayed. + + -- Variable: global_symbol_pipe + A pipeline that takes the output of 'NM', and produces a listing of + raw symbols followed by their C names. For example: + + $ eval "$NM progname | $global_symbol_pipe" + D SYMBOL1 C-SYMBOL1 + T SYMBOL2 C-SYMBOL2 + C SYMBOL3 C-SYMBOL3 + ... + $ + + The first column contains the symbol type (used to tell data from + code) but its meaning is system dependent. + + -- Variable: global_symbol_to_cdecl + A pipeline that translates the output of 'global_symbol_pipe' into + proper C declarations. Since some platforms, such as HP/UX, have + linkers that differentiate code from data, data symbols are + declared as data, and code symbols are declared as functions. + + -- Variable: hardcode_action + Either 'immediate' or 'relink', depending on whether shared library + paths can be hardcoded into executables before they are installed, + or if they need to be relinked. + + -- Variable: hardcode_direct + Set to 'yes' or 'no', depending on whether the linker hardcodes + directories if a library is directly specified on the command line + (such as 'DIR/libNAME.a') when 'hardcode_libdir_flag_spec' is + specified. + + -- Variable: hardcode_direct_absolute + Some architectures hardcode "absolute" library directories that + cannot be overridden by 'shlibpath_var' when 'hardcode_direct' is + 'yes'. In that case set 'hardcode_direct_absolute' to 'yes', or + otherwise 'no'. + + -- Variable: hardcode_into_libs + Whether the platform supports hardcoding of run-paths into + libraries. If enabled, linking of programs will be much simpler + but libraries will need to be relinked during installation. Set to + 'yes' or 'no'. + + -- Variable: hardcode_libdir_flag_spec + Flag to hardcode a 'libdir' variable into a binary, so that the + dynamic linker searches 'libdir' for shared libraries at runtime. + If it is empty, libtool will try to use some other hardcoding + mechanism. + + -- Variable: hardcode_libdir_separator + If the compiler only accepts a single 'hardcode_libdir_flag', then + this variable contains the string that should separate multiple + arguments to that flag. + + -- Variable: hardcode_minus_L + Set to 'yes' or 'no', depending on whether the linker hardcodes + directories specified by '-L' flags into the resulting executable + when 'hardcode_libdir_flag_spec' is specified. + + -- Variable: hardcode_shlibpath_var + Set to 'yes' or 'no', depending on whether the linker hardcodes + directories by writing the contents of '$shlibpath_var' into the + resulting executable when 'hardcode_libdir_flag_spec' is specified. + Set to 'unsupported' if directories specified by '$shlibpath_var' + are searched at run time, but not at link time. + + -- Variable: host + -- Variable: host_alias + -- Variable: host_os + Set to the specified and canonical names of the system that libtool + was configured for. + + -- Variable: include_expsyms + List of symbols that must always be exported when using + 'export_symbols'. + + -- Variable: inherit_rpath + Whether the linker adds runtime paths of dependency libraries to + the runtime path list, requiring libtool to relink the output when + installing. Set to 'yes' or 'no'. Default is 'no'. + + -- Variable: install_override_mode + Permission mode override for installation of shared libraries. If + the runtime linker fails to load libraries with wrong permissions, + then it may fail to execute programs that are needed during + installation, because these need the library that has just been + installed. In this case, it is necessary to pass the mode to + 'install' with '-m INSTALL_OVERRIDE_MODE'. + + -- Variable: libext + The standard old archive suffix (normally 'a'). + + -- Variable: libname_spec + The format of a library name prefix. On all Unix systems, static + libraries are called 'libNAME.a', but on some systems (such as OS/2 + or MS-DOS), the library is just called 'NAME.a'. + + -- Variable: library_names_spec + A list of shared library names. The first is the name of the file, + the rest are symbolic links to the file. The name in the list is + the file name that the linker finds when given '-lNAME'. + + -- Variable: link_all_deplibs + Whether libtool must link a program against all its dependency + libraries. Set to 'yes' or 'no'. Default is 'unknown', which is a + synonym for 'yes'. + + -- Variable: link_static_flag + Linker flag (passed through the C compiler) used to prevent dynamic + linking. + + -- Variable: macro_version + -- Variable: macro_revision + The release and revision from which the libtool.m4 macros were + taken. This is used to ensure that macros and 'ltmain.sh' + correspond to the same Libtool version. + + -- Variable: max_cmd_len + The approximate longest command line that can be passed to '$SHELL' + without being truncated, as computed by 'LT_CMD_MAX_LEN'. + + -- Variable: need_lib_prefix + Whether we can 'dlopen' modules without a 'lib' prefix. Set to + 'yes' or 'no'. By default, it is 'unknown', which means the same + as 'yes', but documents that we are not really sure about it. 'no' + means that it is possible to 'dlopen' a module without the 'lib' + prefix. + + -- Variable: need_version + Whether versioning is required for libraries, i.e. whether the + dynamic linker requires a version suffix for all libraries. Set to + 'yes' or 'no'. By default, it is 'unknown', which means the same + as 'yes', but documents that we are not really sure about it. + + -- Variable: need_locks + Whether files must be locked to prevent conflicts when compiling + simultaneously. Set to 'yes' or 'no'. + + -- Variable: nm_file_list_spec + Specify filename containing input files for 'NM'. + + -- Variable: no_builtin_flag + Compiler flag to disable builtin functions that conflict with + declaring external global symbols as 'char'. + + -- Variable: no_undefined_flag + The flag that is used by 'archive_cmds' to declare that there will + be no unresolved symbols in the resulting shared library. Empty, + if no such flag is required. + + -- Variable: objdir + The name of the directory that contains temporary libtool files. + + -- Variable: objext + The standard object file suffix (normally 'o'). + + -- Variable: pic_flag + Any additional compiler flags for building library object files. + + -- Variable: postinstall_cmds + -- Variable: old_postinstall_cmds + Commands run after installing a shared or static library, + respectively. + + -- Variable: postuninstall_cmds + -- Variable: old_postuninstall_cmds + Commands run after uninstalling a shared or static library, + respectively. + + -- Variable: postlink_cmds + Commands necessary for finishing linking programs. 'postlink_cmds' + are executed immediately after the program is linked. Any + occurrence of the string '@OUTPUT@' in 'postlink_cmds' is replaced + by the name of the created executable (i.e. not the wrapper, if a + wrapper is generated) prior to execution. Similarly, + '@TOOL_OUTPUT@' is replaced by the toolchain format of '@OUTPUT@'. + Normally disabled (i.e. 'postlink_cmds' empty). + + -- Variable: reload_cmds + -- Variable: reload_flag + Commands to create a reloadable object. Set 'reload_cmds' to + 'false' on systems that cannot create reloadable objects. + + -- Variable: runpath_var + The environment variable that tells the linker what directories to + hardcode in the resulting executable. + + -- Variable: shlibpath_overrides_runpath + Indicates whether it is possible to override the hard-coded library + search path of a program with an environment variable. If this is + set to no, libtool may have to create two copies of a program in + the build tree, one to be installed and one to be run in the build + tree only. When each of these copies is created depends on the + value of 'fast_install'. The default value is 'unknown', which is + equivalent to 'no'. + + -- Variable: shlibpath_var + The environment variable that tells the dynamic linker where to + find shared libraries. + + -- Variable: soname_spec + The name coded into shared libraries, if different from the real + name of the file. + + -- Variable: striplib + -- Variable: old_striplib + Command to strip a shared ('striplib') or static ('old_striplib') + library, respectively. If these variables are empty, the strip + flag in the install mode will be ignored for libraries (*note + Install mode::). + + -- Variable: sys_lib_dlsearch_path_spec + Expression to get the run-time system library search path. + Directories that appear in this list are never hard-coded into + executables. + + -- Variable: sys_lib_search_path_spec + Expression to get the compile-time system library search path. + This variable is used by libtool when it has to test whether a + certain library is shared or static. The directories listed in + 'shlibpath_var' are automatically appended to this list, every time + libtool runs (i.e., not at configuration time), because some + linkers use this variable to extend the library search path. + Linker switches such as '-L' also augment the search path. + + -- Variable: thread_safe_flag_spec + Linker flag (passed through the C compiler) used to generate + thread-safe libraries. + + -- Variable: to_host_file_cmd + If the toolchain is not native to the build platform (e.g. if you + are using MSYS to drive the scripting, but are using the MinGW + native Windows compiler) this variable describes how to convert + file names from the format used by the build platform to the format + used by host platform. Normally set to 'func_convert_file_noop', + libtool will autodetect most cases where other values should be + used. On rare occasions, it may be necessary to override the + autodetected value (*note Cygwin to MinGW Cross::). + + -- Variable: to_tool_file_cmd + If the toolchain is not native to the build platform (e.g. if you + are using some Unix to drive the scripting together with a Windows + toolchain running in Wine) this variable describes how to convert + file names from the format used by the build platform to the format + used by the toolchain. Normally set to 'func_convert_file_noop'. + + -- Variable: version_type + The library version numbering type. One of 'libtool', + 'freebsd-aout', 'freebsd-elf', 'irix', 'linux', 'osf', 'sunos', + 'windows', or 'none'. + + -- Variable: want_nocaseglob + Find potential files using the shell option 'nocaseglob', when + 'deplibs_check_method' is 'file_magic'. Normally set to 'no'. Set + to 'yes' to enable the 'nocaseglob' shell option when looking for + potential file names in a case-insensitive manner. + + -- Variable: whole_archive_flag_spec + Compiler flag to generate shared objects from convenience archives. + + -- Variable: wl + The C compiler flag that allows libtool to pass a flag directly to + the linker. Used as: '${wl}SOME-FLAG'. + + Variables ending in '_cmds' or '_eval' contain a '~'-separated list +of commands that are 'eval'ed one after another. If any of the commands +return a nonzero exit status, libtool generally exits with an error +message. + + Variables ending in '_spec' are 'eval'ed before being used by +libtool. + + +File: libtool.info, Node: Cheap tricks, Prev: libtool script contents, Up: Maintaining + +15.5 Cheap tricks +================= + +Here are a few tricks that you can use to make maintainership easier: + + * When people report bugs, ask them to use the '--config', '--debug', + or '--features' flags, if you think they will help you. These + flags are there to help you get information directly, rather than + having to trust second-hand observation. + + * Rather than reconfiguring libtool every time I make a change to + 'ltmain.in', I keep a permanent 'libtool' script in my 'PATH', + which sources 'ltmain.in' directly. + + The following steps describe how to create such a script, where + '/home/src/libtool' is the directory containing the libtool source + tree, '/home/src/libtool/libtool' is a libtool script that has been + configured for your platform, and '~/bin' is a directory in your + 'PATH': + + trick$ cd ~/bin + trick$ sed 's%^\(macro_version=\).*$%\1@VERSION@%; + s%^\(macro_revision=\).*$%\1@package_revision@%; + /^# ltmain\.sh/q' /home/src/libtool/libtool > libtool + trick$ echo '. /home/src/libtool/ltmain.in' >> libtool + trick$ chmod +x libtool + trick$ libtool --version + ltmain.sh (GNU @PACKAGE@@TIMESTAMP@) @VERSION@ + + Copyright (C) 2014 Free Software Foundation, Inc. + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + trick$ + + The output of the final 'libtool --version' command shows that the +'ltmain.in' script is being used directly. Now, modify '~/bin/libtool' +or '/home/src/libtool/ltmain.in' directly in order to test new changes +without having to rerun 'configure'. + + +File: libtool.info, Node: GNU Free Documentation License, Next: Combined Index, Prev: Maintaining, Up: Top + +Appendix A GNU Free Documentation License +***************************************** + + Version 1.3, 3 November 2008 + + Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + functional and useful document "free" in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the + author and publisher a way to get credit for their work, while not + being considered responsible for modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. We + recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work, in any medium, + that contains a notice placed by the copyright holder saying it can + be distributed under the terms of this License. Such a notice + grants a world-wide, royalty-free license, unlimited in duration, + to use that work under the conditions stated herein. The + "Document", below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as "you". You accept + the license if you copy, modify or distribute the work in a way + requiring permission under copyright law. + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter section + of the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall + subject (or to related matters) and contains nothing that could + fall directly within that overall subject. (Thus, if the Document + is in part a textbook of mathematics, a Secondary Section may not + explain any mathematics.) The relationship could be a matter of + historical connection with the subject or with related matters, or + of legal, commercial, philosophical, ethical or political position + regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in the + notice that says that the Document is released under this License. + If a section does not fit the above definition of Secondary then it + is not allowed to be designated as Invariant. The Document may + contain zero Invariant Sections. If the Document does not identify + any Invariant Sections then there are none. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. A + Front-Cover Text may be at most 5 words, and a Back-Cover Text may + be at most 25 words. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images composed + of pixels) generic paint programs or (for drawings) some widely + available drawing editor, and that is suitable for input to text + formatters or for automatic translation to a variety of formats + suitable for input to text formatters. A copy made in an otherwise + Transparent file format whose markup, or absence of markup, has + been arranged to thwart or discourage subsequent modification by + readers is not Transparent. An image format is not Transparent if + used for any substantial amount of text. A copy that is not + "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and standard-conforming + simple HTML, PostScript or PDF designed for human modification. + Examples of transparent image formats include PNG, XCF and JPG. + Opaque formats include proprietary formats that can be read and + edited only by proprietary word processors, SGML or XML for which + the DTD and/or processing tools are not generally available, and + the machine-generated HTML, PostScript or PDF produced by some word + processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + The "publisher" means any person or entity that distributes copies + of the Document to the public. + + A section "Entitled XYZ" means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ + stands for a specific section name mentioned below, such as + "Acknowledgements", "Dedications", "Endorsements", or "History".) + To "Preserve the Title" of such a section when you modify the + Document means that it remains a section "Entitled XYZ" according + to this definition. + + The Document may include Warranty Disclaimers next to the notice + which states that this License applies to the Document. These + Warranty Disclaimers are considered to be included by reference in + this License, but only as regards disclaiming warranties: any other + implication that these Warranty Disclaimers may have is void and + has no effect on the meaning of this License. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow the + conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies (or copies in media that commonly + have printed covers) of the Document, numbering more than 100, and + the Document's license notice requires Cover Texts, you must + enclose the copies in covers that carry, clearly and legibly, all + these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the title + equally prominent and visible. You may add other material on the + covers in addition. Copying with changes limited to the covers, as + long as they preserve the title of the Document and satisfy these + conditions, can be treated as verbatim copying in other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a machine-readable + Transparent copy along with each Opaque copy, or state in or with + each Opaque copy a computer-network location from which the general + network-using public has access to download using public-standard + network protocols a complete Transparent copy of the Document, free + of added material. If you use the latter option, you must take + reasonably prudent steps, when you begin distribution of Opaque + copies in quantity, to ensure that this Transparent copy will + remain thus accessible at the stated location until at least one + year after the last time you distribute an Opaque copy (directly or + through your agents or retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of copies, + to give them a chance to provide you with an updated version of the + Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with the + Modified Version filling the role of the Document, thus licensing + distribution and modification of the Modified Version to whoever + possesses a copy of it. In addition, you must do these things in + the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of previous + versions (which should, if there were any, be listed in the + History section of the Document). You may use the same title + as a previous version if the original publisher of that + version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has fewer than five), unless they release you + from this requirement. + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section Entitled "History", Preserve its Title, + and add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on the + Title Page. If there is no section Entitled "History" in the + Document, create one stating the title, year, authors, and + publisher of the Document as given on its Title Page, then add + an item describing the Modified Version as stated in the + previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in the + "History" section. You may omit a network location for a work + that was published at least four years before the Document + itself, or if the original publisher of the version it refers + to gives permission. + + K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section + all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, unaltered + in their text and in their titles. Section numbers or the + equivalent are not considered part of the section titles. + + M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant + Section. + + O. Preserve any Warranty Disclaimers. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option designate + some or all of these sections as invariant. To do this, add their + titles to the list of Invariant Sections in the Modified Version's + license notice. These titles must be distinct from any other + section titles. + + You may add a section Entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end of + the list of Cover Texts in the Modified Version. Only one passage + of Front-Cover Text and one of Back-Cover Text may be added by (or + through arrangements made by) any one entity. If the Document + already includes a cover text for the same cover, previously added + by you or by arrangement made by the same entity you are acting on + behalf of, you may not add another; but you may replace the old + one, on explicit permission from the previous publisher that added + the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination all + of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice, and that you preserve all + their Warranty Disclaimers. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections Entitled + "History" in the various original documents, forming one section + Entitled "History"; likewise combine any sections Entitled + "Acknowledgements", and any sections Entitled "Dedications". You + must delete all sections Entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the documents + in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow this + License in all other respects regarding verbatim copying of that + document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of a + storage or distribution medium, is called an "aggregate" if the + copyright resulting from the compilation is not used to limit the + legal rights of the compilation's users beyond what the individual + works permit. When the Document is included in an aggregate, this + License does not apply to the other works in the aggregate which + are not themselves derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one half + of the entire aggregate, the Document's Cover Texts may be placed + on covers that bracket the Document within the aggregate, or the + electronic equivalent of covers if the Document is in electronic + form. Otherwise they must appear on printed covers that bracket + the whole aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License, and all the license notices in the + Document, and any Warranty Disclaimers, provided that you also + include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of + this License or a notice or disclaimer, the original version will + prevail. + + If a section in the Document is Entitled "Acknowledgements", + "Dedications", or "History", the requirement (section 4) to + Preserve its Title (section 1) will typically require changing the + actual title. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense, or distribute it is void, + and will automatically terminate your rights under this License. + + However, if you cease all violation of this License, then your + license from a particular copyright holder is reinstated (a) + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the + copyright holder fails to notify you of the violation by some + reasonable means prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is + reinstated permanently if the copyright holder notifies you of the + violation by some reasonable means, this is the first time you have + received notice of violation of this License (for any work) from + that copyright holder, and you cure the violation prior to 30 days + after your receipt of the notice. + + Termination of your rights under this section does not terminate + the licenses of parties who have received copies or rights from you + under this License. If your rights have been terminated and not + permanently reinstated, receipt of a copy of some or all of the + same material does not give you any rights to use it. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + . + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If the + Document does not specify a version number of this License, you may + choose any version ever published (not as a draft) by the Free + Software Foundation. If the Document specifies that a proxy can + decide which future versions of this License can be used, that + proxy's public statement of acceptance of a version permanently + authorizes you to choose that version for the Document. + + 11. RELICENSING + + "Massive Multiauthor Collaboration Site" (or "MMC Site") means any + World Wide Web server that publishes copyrightable works and also + provides prominent facilities for anybody to edit those works. A + public wiki that anybody can edit is an example of such a server. + A "Massive Multiauthor Collaboration" (or "MMC") contained in the + site means any set of copyrightable works thus published on the MMC + site. + + "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 + license published by Creative Commons Corporation, a not-for-profit + corporation with a principal place of business in San Francisco, + California, as well as future copyleft versions of that license + published by that same organization. + + "Incorporate" means to publish or republish a Document, in whole or + in part, as part of another Document. + + An MMC is "eligible for relicensing" if it is licensed under this + License, and if all works that were first published under this + License somewhere other than this MMC, and subsequently + incorporated in whole or in part into the MMC, (1) had no cover + texts or invariant sections, and (2) were thus incorporated prior + to November 1, 2008. + + The operator of an MMC Site may republish an MMC contained in the + site under CC-BY-SA on the same site at any time before August 1, + 2009, provided the MMC is eligible for relicensing. + +ADDENDUM: How to use this License for your documents +==================================================== + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + + If you have Invariant Sections, Front-Cover Texts and Back-Cover +Texts, replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with + the Front-Cover Texts being LIST, and with the Back-Cover Texts + being LIST. + + If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + + If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of free +software license, such as the GNU General Public License, to permit +their use in free software. + diff --git a/BUILD/libtool-2.4.7/doc/libtool.info-2 b/BUILD/libtool-2.4.7/doc/libtool.info-2 new file mode 100644 index 0000000000000000000000000000000000000000..d77cb66e49964850335b7dcd9f2068a535accfcb GIT binary patch literal 51742 zcmc&-ZFAc=lHQM7{u77VFFP-`Hsc@tk8fh> ze+lrf;w4D4Fp0(K@tIhp$?`ybCJ(-b#|H;fgj)LX+K&)%k)-0&^@Er&viL!LzJGjj ze0C^$XX46FXV0SluHXL=J}-nACabqJe0t8s55pft@8ieQqyD?z$3uLk2QT}5ahV2z zxK9@OtDgqqGFiuSKL=WeVjRyHW$n;ok6;L}N* z9}N@Gu9ya2b9f7+D&GFppMBwX59r-vA&u&?i}Bsj{b)EH-&~h1H4k2bC|Qwe@2BT?)1%_q(e?E1_k*8Q zPx(dsAbZx2z_$4JDTsqKoQdoi8h(x)Hucjtk*!y&B+W%OOT$%ud@#DcXd-X28preS zC7feVUFTsG=3$T>7+6UzM`8Su%&4&|1fgY;FJb&tj305gj$`}-w(OtfXa8KV`$;_* z{$F5$fp?|o=ks|5UP-GL^WP3G!w6vIx5}|Bu9G?ZahNP0!x$6?vIk!eg}6$NrB<<~8uY6yIk= zorE#9DGk3lbXw?nbL6_-A)yl_bR79C<}XGv_=X|`>VrNHeHA;0l&mj-!p97H$KyOq zL3c^|rbV;?ot-hGqzfaLZPovPMEqFW#0*)2g9Rsu`RP5a@j94R5Y5 z$Dh3OhrfAXoAi*)kxWC7b=-STswsi4&WCq52z9T)vH=ZFC8LY+{rRtxk#~81j{<<{ znM|5k7SZ}W>d(MP0p0(0emA;kLa?H&KutzKWjY>i4>VB99$k}UHbTP2h&wchrhqJj ztUxC{sqD%4*U9u^g5BV+qwDeLdN|sU??O2R(%MG(Jlc)z>3{s#;33-^)wEY0WGO(g zppWUz&BVKy+}w_?Hz-i2v9-{V%_l`m&&LWR`l_iv zkEg$R*w`i%VC1f;1$Q|=ijr3k{l^8)xZWc2pEP{bWXPTi%!%Np#`&&hyfbPfKYI1w zGB5awK9ZNcEgzF8+vMVw$_H+ptM4~fY=@DM zS%FU2pkICeP#_?GwF1YUyw#%!J#R68i~S|I&)^TCbHjb$qUqe=*q4rlpqZf+Nc>0d zKYtMqS=DYL3jC`BrJLQ3AFKV}=Akg7bHfB)gAs+R>1K3E9|e}LAuPN+SkS@fS_Lz$ zjBZC4ySBKJ1}ffcIoFKuLN{)yeBdr4sesV|gJWdmmBRWqGh9>jD9gx-bN!26pf@ zn5}dF5tmX5s7Dh7e!(HGVIbBZk~ql3%wK1)@`4}~e+k+yLf3)qMmas|!jJ1Pnrnop z>&C5(=~bwBeiZsTtrmowj;3CZMiXfTY#l`k@u!}VTPhGMghd@wNus%#2CBv}m9npR ziCz~)`#7f3BTsrLo&z7FmJ~XHFfNR49BGZ7Tz^b1ooi!y`18;3=`de_D{B!99z(gx zm;{Qu3A9G%puwS348FR7Xjuwz()elZKXG`Y33Ld7&|I`ZbpSG~ZR>=rzS?_o`i4Vx zeHtHZ{_3;~iUC>9**sV#M>szn=Rua6R6T|F#5`b+2&2f=Fj55wP4rHHaO+?vKs;F< znTd53O#+#TZ3ko#t}_tN^g9rZfp#Do0qsCES^--c4fZR#bw~y>OST=5MY0Y+!^_F} zr+d>7D@MP?rR=|_fY9tYfUOzw6@A#$d1+c{31!jIU_f&r1H}n!JAmJ5#OeSP1%6C1 zd8>HC;;~B9wPy7pybt?;a~Wwb}JesAy&eIO}Q>cv4Y&ph5W+2rJy3Pno9vsY#Yx4HxlOWs3C>ZlELyqnH+V6ElWF*L{IrIBs|`8IE>n#q z7ErRo^kgd$5G-pfF!iA11`sVlnbA6xffn4Y*C7sxI6YS2)O|7ldI{n%h+(P98roQX zqJX>vEuSE?+E^Ig-gYsDHdA=Y-6u^lSncuP(+R~2A66a%EwFfXMsH8AxOtt3t1$lb z8MYJwcoT4_du%t+era#!0j^kOQ?Y-%Nki$_ zJS0y6teYLME1DvThjU_OKGXfq`n z&_^2U#3+oj+zf)OY(N!87Jo;|))6R97Jin0t0PunB!MgvZpX+X;dVf4v(C2yvb9@h zAXLv0hN=u`7N8zS8>t_~$qFKXw*GAa617%CAd9ZMc1U7m5Q=+bM@DUebsi#Zf^7q2 z6|6H*8dzGMlw{McA)IGus~Nv7AjlJYbzQh=oDMp-_rcOKE<@b5g{O(ods6ifhBJ+TA`0Are7( z{du@j=>|n;j$?eVgN2M%&ta5g$?933>MX7j2&z*CRE1ST;dCUSElT4)7h@hlvU6tG z08ko+7-4I+mIP|sm~7A1nnQ>?O5xjFM)Gy0VE;d4jP$VIEW^b-6}-)U`%DAYjwh}5KvNen2+ljvmj2HR9l&`I_TI2 zRO-HijwO(^H;@wJFEx|$B^<;;Yl276<`F&vgS%NXma)cj;jJ;;XPNQL%c}{LAt_I;~6jtHTj9M&I(0pvCJm?Fq!S#ilKE*>E zi8Ax&GdRh~E0`w!(_iH8LifRaFuMfnw@ynhO~*sXhxWmT5~wOIcMWU0mq6xK>B#Ma z)I%J8#q6%4@$e7(Yq|yWT5st;h5B=T%G&NNLd&N=EAR+>!l;h+CHR!>o4On!7b zZS&d4ih|J7@bGtyn)a@s7|H;(EzQ6l6^|85v-;W$4w(axY4K5X0;igWDovP@EU5%9 z_QD;Gsn9YJ%1(-#_p*CV5S(dmbWDagl;my)zm!qN<+6-ej_8#V5 zigv*yk!$0?hiTdatR%pg67UR(aLu%^ zy)ExKOHCECFznH*NwVEYC?GgS4QITMOyw)uD_=|uxoGi_^a1TAC?>PW*UpQuy< zs3AyFE^7gBbv~&YkCLR!g8&|Lm&7=DM{5J9xO%TsLfJs{%4T}c$n;9GZCK5M7~~=~ zo13JDe7$O^jwWz-AeBDVM35pD*2&yp1#P&9mu)Bfr;7E95p zKx;@lr@6BZWdq`pw~7(f$gg2EM~)6_H!H^XvPYB9Fk4Z2wtlE`v!moLi~84ejD+CY z15EALa#DKPBOwUL=Am(G4hb0sMxP5nVxvQ}E%M}1C9PbJ;}rugt3y>hYo1Isi4p0L*T-LFCNykRKCd407VB9u>QNvQ457S`h1$(@Ba6%4OB zi-UGep{e5@GG z#R80dF?a&6=^5R6L%8C>2sU9OU7kp;tmN3#fokTFKZoMV)?=|(bV-zm5-h{aci`=G z0_c6<5TRs~1?Vck#=l-Ni&%ZWszi$Q653B6TY$s~2PT*i0)cl3A+e+xe<#~y0g~rE zD~w>T&lr)l0dYP;6^OHYv`Vr8ozbjc1;WUs76um>G|}t&P>=5$sRCIpx3U4ri0HU4Q^%z*YPXYYm=e~y0Lk4BO<+V7t)PM`s z1U|Z(sk8T<7t0kc*}senmlvWYZ$I2`Q?Oibqfjlz2S%6;Xh5qKVuTe^HO<5BL)$>*^p6-NH#`n?1>R{8oXrGLdtF55fwE97dEWMZF!qe@5z57p`O7%)TSC2 zinajBgkTx5_2^R z^cURX@)mHJu&%WnYv)5bPZh(+3$=5&^OmZ(CMB0Nc!C?Pf(^IQv0lz9ddV#Q2=yCV zW6O9Nc0YE-b&aeBscWBIrYca^V>TWvButE4v+2pr(NZ@iXASk^oXuG|TT0znd=uAf zL}g$~HjrdsYAV-kdKKFz+2B^Tq2oAbb4KL>s=YWiug{#bsjTs&Zc?}d$8d>;b2gR5 zG{)iVrpsoy_*6G3*|>3}?3T^77H2BN#k*qu+_uEGFzWS7n~aRiO^&o|Kzz=IM6;|} zrEs=T?P+N;B#?(I&quiF-orCVwEi8O|meJG>I;%8WtGtU#&{ zEh&&?M{+$_#XtpynT=-+Iyq-^+F)ZghoENXY~B+aX!4tf>FvYR-cpuMIN(?}Jb_yi zZMzCKv%#@A3FNh8X4^Vpjgfb4@6R?MzSIy5nViAk-g2;JcwPA4|FNMkt7(;6<+vGp zH~R05&vqU0LS-U&_Yb$XH+NIm)t#Q3Y>4gV-4f{cdwJ=-cQLvJL!#MRwdsgG4`{Xf z66k(3xzx&N1tMR%0J7OQHP%o^63DobX9Fq>J_7M}{KtCg=8Qbi!FcotFBT2|D72c$~f)%A@ zgGH%EJtk7vRa0sHwNw!G#IbMpQswt`01EY~jgpf3J`2$K_4smhKlSW2qQNYoA6nVu zhi_of2Jff`Fa58WGvP&sWXruY7jGdgyVPN{C;f8Zhk@qlTe^-d$;h@eWIi;&KyAh5 zY~{veD2jnF+t2){NyUkK{fx$aX298-aV7fmS&7WBd`l@kgF5S7*y zhw4mjF5MV#QT~=VlG2UEFYoi5aeZYNOA3O2I#sXWb7Jw5Q>!u9Z$1s|SiL6{9E%gQ zffo0GwPKk7WxYix2w|CJ3LWpQ^aZD8#fkU04kIvqwxe0DHO<32@z!uv7|f$!aTbwp zr~>J<{|z`T70$yO6Sa$$a(!ZrlM~^D%f-Xht;y~xHn!o-dxMoT{xA*m-7hfVHGy58 z_2)eQIuU42EK<;cmv08R|Tj9h(wH_69>^J*9vZH#qzTZcBCl0hJI`nzf($AgFy zbgM@aA;@ByDV+`?!BN~Ql|`B?RXMOm^;@S@xRmGGp) ztYJa@#VM5mZ;mJ`g?q0jrMxX$tl;f=+sr`jD*rf3EqcgUH`jnme0_ z&csq&MVgltRop!+x|OWG(2%cLEP*1YwY5{y0IJk+sA4sNHtRqnaLZIG>P0(XE`YiA zHG{J-3hWlT=MrwN43?EBZjF&VoDP!Fd4Bc5qMhUm%lcBDQeXL5hNsj`2oh+2P7!(c zc$UC^Cj#-hbbT?xE%Io)69HyQs&T!)()ydUninFJ>bY)Q>)_&6giSup3lWIVeiz`I zq##IAzYqag;UD+ca-A+>w}u7#d|IH>MeN;ya5DU6AFRr#Elz2RcuLW3$3yW0%+OT! z>eKK)x6|_}Ik>AZUx1a)w*f#NWr?bg#3%uiS}r>I7&_jKE9)f!v6PHPX%T{?x8;&?Uv z;x97zD?^o1)jO)u!);yi(EEc-$#J)%onrKp(Z#Uw05)!^oE21B{AARNV=C;OqzQEV zrAPxD1p0mtRPN|)>?e=wqPTH=FftH$fRB+6<=3A?mMnwEWd0_CC<`zwj)P#D(si-f za{>`_RgJ>{1aI?)(~( z$J&9+c^G{zOu#^`F<+-$TAqF2bMY<1-1X?S>Ew0J8+i+$~DK1vE&e;d7cA`C~2Cn8Psva6kbBe$6 z9fr`H%J~FYYco}Ovxh3po_Vq_RwZ)W@2Dn2NkwvK!a`}LYhbQx@Dkun) zFWNWf6;R8h(!Mz_{fJ^H7?`zt6j_2h;g&r_7SCyepYUD z9Ijm|JV2=}RNS^UyJjk8bv`$RcNr`8- zw~X>p=CDM;idr5y5;(YOf;w(vmPt~v5^?Odo^bW*+<$7hy@Fc0{R#^J>XH;~YbWk_ z3JCoaOS5+eYKiT22Wm+{-Wte6Y+E3smbL(5FV&>;t$}tRnmxU?J0r>sF=w=H3uKba zx|FZ?Y+__=v@SqUd{1O+D2Y@vUCJh_pA&h8CNCa`sl4Xa;ybvJ2lrA37BBAea}W!9 zmL6p%c>@S8P+hL{*X}Atd)trelgZDYAr}NTi2VhW0fNLJgFENe)84Rs$>PMAsxrJ~AsiK&HbCs5gw1c!F^-bBYycUTJszI7R_h!CM zXd`bOLy;K>j6(#&rl<~j$}m!;jmlJ&=HB?o%x7Q&lMY?pUH$$--D=`0A8$@v@*NKo zZL|=K<<^REU65Bl&b>I9`B{J^XiaP!Q=xUm>vIwX#mxf78P6>ht{nOqHoz0e4uUEk z=D@KK)yLSafQGBt!PmANpMA76=e=ommna%jm?0Rbasvru)@?TJGVH6^$So>jQhs}7 KEZMiJ4*nmw*!j!= literal 0 HcmV?d00001 diff --git a/BUILD/libtool-2.4.7/doc/libtool.texi b/BUILD/libtool-2.4.7/doc/libtool.texi new file mode 100644 index 0000000..9158927 --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/libtool.texi @@ -0,0 +1,7282 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename libtool.info +@settitle Libtool +@c For double-sided printing, uncomment: +@c @setchapternewpage odd +@c Put everything in one index (arbitrarily chosen to be the concept index). + +@syncodeindex vr cp +@syncodeindex fn cp +@syncodeindex tp cp +@synindex pg cp +@c %**end of header + +@include version.texi +@set BUGADDR the Libtool bug reporting address @email{bug-libtool@@gnu.org} +@set MAILLIST the Libtool mailing list @email{libtool@@gnu.org} +@set objdir .libs + +@copying +This manual is for GNU Libtool (version @value{VERSION}, @value{UPDATED}). + +Copyright @copyright{} 1996-2019, 2021-2022 Free Software Foundation, +Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 +or any later version published by the Free Software Foundation; +with no Invariant Sections, with no Front-Cover Texts, +and with no Back-Cover Texts. A copy of the license is included in +the section entitled ``GNU Free Documentation License''. +@end copying + +@dircategory Software development +@direntry +* Libtool: (libtool). Generic shared library support script. +@end direntry + +@dircategory Individual utilities +@direntry +* libtool-invocation: (libtool)Invoking libtool. Running the @code{libtool} script. +* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. +@end direntry + +@titlepage +@title GNU Libtool +@subtitle For version @value{VERSION}, @value{UPDATED} +@author Gordon Matzigkeit +@author Alexandre Oliva +@author Thomas Tanner +@author Gary V. Vaughan + +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@contents + +@ifnottex +@node Top, Introduction, (dir), (dir) +@comment node-name, next, previous, up +@top Shared library support for GNU + +This file documents GNU Libtool, a script that allows package developers +to provide generic shared library support. This edition documents +version @value{VERSION}. + +@xref{Reporting bugs}, for information on how to report problems with +GNU Libtool. + +@menu +* Introduction:: What the heck is libtool? +* Libtool paradigm:: How libtool's view of libraries is different. +* Using libtool:: Example of using libtool to build libraries. +* Invoking libtool:: Running the @code{libtool} script. +* Integrating libtool:: Using libtool in your own packages. +* Other languages:: Using libtool without a C compiler. +* Versioning:: Using library interface versions. +* Library tips:: Tips for library interface design. +* Inter-library dependencies:: Libraries that depend on other libraries. +* Dlopened modules:: @code{dlopen}ing libtool-created libraries. +* Using libltdl:: Libtool's portable @code{dlopen} wrapper library. +* Trace interface:: Libtool's trace interface. +* FAQ:: Frequently Asked Questions +* Troubleshooting:: When libtool doesn't work as advertised. +* Maintaining:: Information used by the libtool maintainer. +* GNU Free Documentation License:: License for this manual. +* Combined Index:: Full index. + +@detailmenu + --- The Detailed Node Listing --- + +Introduction + +* Motivation:: Why does GNU need a libtool? +* Issues:: The problems that need to be addressed. +* Other implementations:: How other people have solved these issues. +* Postmortem:: Learning from past difficulties. + +Using libtool + +* Creating object files:: Compiling object files for libraries. +* Linking libraries:: Creating libraries from object files. +* Linking executables:: Linking object files against libtool libraries. +* Debugging executables:: Running GDB on libtool-generated programs. +* Installing libraries:: Making libraries available to users. +* Installing executables:: Making programs available to users. +* Static libraries:: When shared libraries are not wanted. + +Linking executables + +* Wrapper executables:: Wrapper executables for some platforms. + +Invoking @command{libtool} + +* Compile mode:: Creating library object files. +* Link mode:: Generating executables and libraries. +* Execute mode:: Debugging libtool-generated programs. +* Install mode:: Making libraries and executables public. +* Finish mode:: Completing a library installation. +* Uninstall mode:: Removing installed executables and libraries. +* Clean mode:: Removing uninstalled executables and libraries. + +Integrating libtool with your package + +* Autoconf macros:: Autoconf macros exported by libtool. +* Makefile rules:: Writing @file{Makefile} rules for libtool. +* Using Automake:: Automatically supporting libtool. +* Configuring:: Configuring libtool for a host system. +* Distributing:: What files to distribute with your package. +* Static-only libraries:: Sometimes shared libraries are just a pain. + +Configuring libtool + +* LT_INIT:: Configuring @code{libtool} in @file{configure.ac}. +* Configure notes:: Platform-specific notes for configuration. + +Including libtool in your package + +* Invoking libtoolize:: @code{libtoolize} command line options. +* Autoconf and LTLIBOBJS:: Autoconf automates LTLIBOBJS generation. + +Using libtool with other languages + +* C++ libraries:: Writing libraries for C++ +* Tags:: Tags + +Library interface versions + +* Interfaces:: What are library interfaces? +* Libtool versioning:: Libtool's versioning system. +* Updating version info:: Changing version information before releases. +* Release numbers:: Breaking binary compatibility for aesthetics. + +Tips for interface design + +* C header files:: How to write portable include files. + +Dlopened modules + +* Building modules:: Creating dlopenable objects and libraries. +* Dlpreopening:: Dlopening that works on static platforms. +* Linking with dlopened modules:: Using dlopenable modules in libraries. +* Finding the dlname:: Choosing the right file to @code{dlopen}. +* Dlopen issues:: Unresolved problems that need your attention. + +Using libltdl + +* Libltdl interface:: How to use libltdl in your programs. +* Modules for libltdl:: Creating modules that can be @code{dlopen}ed. +* Thread Safety in libltdl:: Registering callbacks for multi-thread safety. +* User defined module data:: Associating data with loaded modules. +* Module loaders for libltdl:: Creating user defined module loaders. +* Distributing libltdl:: How to distribute libltdl with your package. + +Frequently Asked Questions about libtool + +* Stripped link flags:: Dropped flags when creating a library + +Troubleshooting + +* Libtool test suite:: Libtool's self-tests. +* Reporting bugs:: How to report problems with libtool. + +The libtool test suite + +* Test descriptions:: The contents of the old test suite. +* When tests fail:: What to do when a test fails. + +Maintenance notes for libtool + +* New ports:: How to port libtool to new systems. +* Tested platforms:: When libtool was last tested. +* Platform quirks:: Information about different library systems. +* libtool script contents:: Configuration information that libtool uses. +* Cheap tricks:: Making libtool maintainership easier. + +Porting libtool to new systems + +* Information sources:: Where to find relevant documentation +* Porting inter-library dependencies:: Implementation details explained + +Platform quirks + +* References:: Finding more information. +* Compilers:: Creating object files from source files. +* Reloadable objects:: Binding object files together. +* Multiple dependencies:: Removing duplicate dependent libraries. +* Archivers:: Programs that create static archives. +* Cross compiling:: Issues that arise when cross compiling. +* File name conversion:: Converting file names between platforms. +* Windows DLLs:: Windows header defines. + +File name conversion + +* File Name Conversion Failure:: What happens when file name conversion fails +* Native MinGW File Name Conversion:: MSYS file name conversion idiosyncrasies +* Cygwin/Windows File Name Conversion:: Using @command{cygpath} to convert Cygwin file names +* Unix/Windows File Name Conversion:: Using Wine to convert Unix paths +* LT_CYGPATH:: Invoking @command{cygpath} from other environments +* Cygwin to MinGW Cross:: Other notes concerning MinGW cross + +@end detailmenu +@end menu + +@end ifnottex + +@node Introduction +@chapter Introduction + +In the past, if you were a source code package developer and wanted to +take advantage of the power of shared libraries, you needed to write +custom support code for each platform on which your package ran. You +also had to design a configuration interface so that the package +installer could choose what sort of libraries were built. + +GNU Libtool simplifies your job by encapsulating both the +platform-specific dependencies, and the user interface, in a single +script. GNU Libtool is designed so that the complete functionality of +each host type is available via a generic interface, but nasty quirks +are hidden from the programmer. + +GNU Libtool's consistent interface is reassuring@dots{} users don't need +to read obscure documentation to have their favorite source +package build shared libraries. They just run your package +@code{configure} script (or equivalent), and libtool does all the dirty +work. + +There are several examples throughout this document. All assume the +same environment: we want to build a library, @file{libhello}, in a +generic way. + +@file{libhello} could be a shared library, a static library, or +both@dots{} whatever is available on the host system, as long as libtool +has been ported to it. + +This chapter explains the original design philosophy of libtool. Feel +free to skip to the next chapter, unless you are interested in history, +or want to write code to extend libtool in a consistent way. + +@menu +* Motivation:: Why does GNU need a libtool? +* Issues:: The problems that need to be addressed. +* Other implementations:: How other people have solved these issues. +* Postmortem:: Learning from past difficulties. +@end menu + +@node Motivation +@section Motivation for writing libtool + +@cindex motivation for writing libtool +@cindex design philosophy +Since early 1995, several different GNU developers have recognized the +importance of having shared library support for their packages. The +primary motivation for such a change is to encourage modularity and +reuse of code (both conceptually and physically) in GNU programs. + +Such a demand means that the way libraries are built in GNU packages +needs to be general, to allow for any library type the package installer +might want. The problem is compounded by the absence of a standard +procedure for creating shared libraries on different platforms. + +The following sections outline the major issues facing shared library +support in GNU, and how shared library support could be standardized +with libtool. + +@cindex specifications for libtool +@cindex libtool specifications +The following specifications were used in developing and evaluating this +system: + +@enumerate +@item +The system must be as elegant as possible. + +@item +The system must be fully integrated with the GNU Autoconf and Automake +utilities, so that it will be easy for GNU maintainers to use. However, +the system must not require these tools, so that it can be used by +non-GNU packages. + +@item +Portability to other (non-GNU) architectures and tools is desirable. +@end enumerate + +@node Issues +@section Implementation issues + +@cindex tricky design issues +@cindex design issues +The following issues need to be addressed in any reusable shared library +system, specifically libtool: + +@enumerate +@item +The package installer should be able to control what sort of libraries +are built. + +@item +It can be tricky to run dynamically linked programs whose libraries have +not yet been installed. @code{LD_LIBRARY_PATH} must be set properly (if +it is supported), or programs fail to run. + +@item +The system must operate consistently even on hosts that don't support +shared libraries. + +@item +The commands required to build shared libraries may differ wildly from +host to host. These need to be determined at configure time in +a consistent way. + +@item +It is not always obvious with what prefix or suffix a shared library +should be installed. This makes it difficult for @file{Makefile} rules, +since they generally assume that file names are the same from host to +host. + +@item +The system needs a simple library version number abstraction, so that +shared libraries can be upgraded in place. The programmer should be +informed how to design the interfaces to the library to maximize binary +compatibility. + +@item +The install @file{Makefile} target should warn the package installer to set +the proper environment variables (@code{LD_LIBRARY_PATH} or equivalent), +or run @command{ldconfig}. +@end enumerate + +@node Other implementations +@section Other implementations + +Even before libtool was developed, many free software packages built and +installed their own shared libraries. At first, these packages were +examined to avoid reinventing existing features. + +Now it is clear that none of these packages have documented the details +of shared library systems that libtool requires. So, other packages +have been more or less abandoned as influences. + +@node Postmortem +@section A postmortem analysis of other implementations + +@cindex other implementations, flaws in +@cindex reusability of library systems +In all fairness, each of the implementations that were examined do the +job that they were intended to do, for a number of different host +systems. However, none of these solutions seem to function well as a +generalized, reusable component. + +@cindex complexity of library systems +Most were too complex to use (much less modify) without understanding +exactly what the implementation does, and they were generally not +documented. + +The main difficulty is that different vendors have different views of +what libraries are, and none of the packages that were examined seemed +to be confident enough to settle on a single paradigm that just +@emph{works}. + +Ideally, libtool would be a standard that would be implemented as series +of extensions and modifications to existing library systems to make them +work consistently. However, it is not an easy task to convince +operating system developers to mend their evil ways, and people want to +build shared libraries right now, even on buggy, broken, confused +operating systems. + +For this reason, libtool was designed as an independent shell script. +It isolates the problems and inconsistencies in library building that +plague @file{Makefile} writers by wrapping the compiler suite on +different platforms with a consistent, powerful interface. + +With luck, libtool will be useful to and used by the GNU community, and +that the lessons that were learned in writing it will be taken up by +designers of future library systems. + +@node Libtool paradigm +@chapter The libtool paradigm + +At first, libtool was designed to support an arbitrary number of library +object types. After libtool was ported to more platforms, a new +paradigm gradually developed for describing the relationship between +libraries and programs. + +@cindex definition of libraries +@cindex libraries, definition of +In summary, ``libraries are programs with multiple entry points, and +more formally defined interfaces.'' + +Version 0.7 of libtool was a complete redesign and rewrite of libtool to +reflect this new paradigm. So far, it has proved to be successful: +libtool is simpler and more useful than before. + +The best way to introduce the libtool paradigm is to contrast it with +the paradigm of existing library systems, with examples from each. It +is a new way of thinking, so it may take a little time to absorb, but +when you understand it, the world becomes simpler. + +@node Using libtool +@chapter Using libtool + +@cindex examples of using libtool +@cindex libtool examples +It makes little sense to talk about using libtool in your own packages +until you have seen how it makes your life simpler. The examples in +this chapter introduce the main features of libtool by comparing the +standard library building procedure to libtool's operation on two +different platforms: + +@table @samp +@item a23 +An Ultrix 4.2 platform with only static libraries. + +@item burger +A NetBSD/i386 1.2 platform with shared libraries. +@end table + +You can follow these examples on your own platform, using the +preconfigured libtool script that was installed with libtool +(@pxref{Configuring}). + +Source files for the following examples are taken from the @file{demo} +subdirectory of the libtool distribution. Assume that we are building a +library, @file{libhello}, out of the files @file{foo.c} and +@file{hello.c}. + +Note that the @file{foo.c} source file uses the @code{cos} math library +function, which is usually found in the standalone math library, and not +the C library (@pxref{Trig Functions, , Trigonometric Functions, libc, +The GNU C Library Reference Manual}). So, we need to add @option{-lm} to +the end of the link line whenever we link @file{foo.lo} into an +executable or a library (@pxref{Inter-library dependencies}). + +The same rule applies whenever you use functions that don't appear in +the standard C library@dots{} you need to add the appropriate +@option{-l@var{name}} flag to the end of the link line when you link +against those objects. + +After we have built that library, we want to create a program by linking +@file{main.o} against @file{libhello}. + +@menu +* Creating object files:: Compiling object files for libraries. +* Linking libraries:: Creating libraries from object files. +* Linking executables:: Linking object files against libtool libraries. +* Debugging executables:: Running GDB on libtool-generated programs. +* Installing libraries:: Making libraries available to users. +* Installing executables:: Making programs available to users. +* Static libraries:: When shared libraries are not wanted. +@end menu + +@node Creating object files +@section Creating object files + +@cindex compiling object files +@cindex object files, compiling +To create an object file from a source file, the compiler is invoked +with the @option{-c} flag (and any other desired flags): + +@example +burger$ @kbd{gcc -g -O -c main.c} +burger$ +@end example + +The above compiler command produces an object file, usually named +@file{main.o}, from the source file @file{main.c}. + +For most library systems, creating object files that become part of a +static library is as simple as creating object files that are linked to +form an executable: + +@example +burger$ @kbd{gcc -g -O -c foo.c} +burger$ @kbd{gcc -g -O -c hello.c} +burger$ +@end example + +@cindex position-independent code +@cindex PIC (position-independent code) +Shared libraries, however, may only be built from +@dfn{position-independent code} (PIC). So, special flags must be passed +to the compiler to tell it to generate PIC rather than the standard +position-dependent code. + +@cindex library object file +@cindex @file{.lo} files +@cindex object files, library +Since this is a library implementation detail, libtool hides the +complexity of PIC compiler flags and uses separate library object files +(the PIC one lives in the @file{@value{objdir}} subdirectory and the +static one lives in the current directory). On systems without shared +libraries, the PIC library object files are not created, whereas on +systems where all code is PIC, such as AIX, the static ones are not +created. + +To create library object files for @file{foo.c} and @file{hello.c}, +simply invoke libtool with the standard compilation command as +arguments (@pxref{Compile mode}): + +@example +a23$ @kbd{libtool --mode=compile gcc -g -O -c foo.c} +gcc -g -O -c foo.c -o foo.o +a23$ @kbd{libtool --mode=compile gcc -g -O -c hello.c} +gcc -g -O -c hello.c -o hello.o +a23$ +@end example + +Note that libtool silently creates an additional control file on each +@samp{compile} invocation. The @file{.lo} file is the libtool object, +which Libtool uses to determine what object file may be built into a +shared library. On @samp{a23}, only static libraries are supported so +the library objects look like this: + +@example +# foo.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) @value{VERSION} +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object=none + +# Name of the non-PIC object. +non_pic_object='foo.o' +@end example + +On shared library systems, libtool automatically generates an +additional PIC object by inserting the appropriate PIC generation +flags into the compilation command: + +@example +burger$ @kbd{libtool --mode=compile gcc -g -O -c foo.c} +mkdir @value{objdir} +gcc -g -O -c foo.c -fPIC -DPIC -o @value{objdir}/foo.o +gcc -g -O -c foo.c -o foo.o >/dev/null 2>&1 +burger$ +@end example + +Note that Libtool automatically created @file{@value{objdir}} directory +upon its first execution, where PIC library object files will be stored. + +Since @samp{burger} supports shared libraries, and requires PIC +objects to build them, Libtool has compiled a PIC object this time, +and made a note of it in the libtool object: + +@example +# foo.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) @value{VERSION} +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='@value{objdir}/foo.o' + +# Name of the non-PIC object. +non_pic_object='foo.o' +@end example + +@cindex @option{-no-suppress}, libtool compile mode option +Notice that the second run of GCC has its output discarded. This is +done so that compiler warnings aren't annoyingly duplicated. If you +need to see both sets of warnings (you might have conditional code +inside @samp{#ifdef PIC} for example), you can turn off suppression with +the @option{-no-suppress} option to libtool's compile mode: + +@example +burger$ @kbd{libtool --mode=compile gcc -no-suppress -g -O -c hello.c} +gcc -g -O -c hello.c -fPIC -DPIC -o @value{objdir}/hello.o +gcc -g -O -c hello.c -o hello.o +burger$ +@end example + + +@node Linking libraries +@section Linking libraries + +@pindex ar +Without libtool, the programmer would invoke the @command{ar} command to +create a static library: + +@example +burger$ @kbd{ar cr libhello.a hello.o foo.o} +burger$ +@end example + +@pindex ranlib +But of course, that would be too simple, so many systems require that +you run the @code{ranlib} command on the resulting library (to give it +better karma, or something): + +@example +burger$ @kbd{ranlib libhello.a} +burger$ +@end example + +It seems more natural to use the C compiler for this task, given +libtool's ``libraries are programs'' approach. So, on platforms without +shared libraries, libtool simply acts as a wrapper for the system +@command{ar} (and possibly @code{ranlib}) commands. + +@cindex libtool libraries +@cindex @file{.la} files +Again, the libtool control file name (@file{.la} suffix) differs from +the standard library name (@file{.a} suffix). The arguments to +libtool are the same ones you would use to produce an executable named +@file{libhello.la} with your compiler (@pxref{Link mode}): + +@example +a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o} +*** Warning: Linking the shared library libhello.la against the +*** non-libtool objects foo.o hello.o is not portable! +ar cr .libs/libhello.a +ranlib .libs/libhello.a +creating libhello.la +(cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) +a23$ +@end example + +Aha! Libtool caught a common error@dots{} trying to build a library +from standard objects instead of special @file{.lo} object files. This +doesn't matter so much for static libraries, but on shared library +systems, it is of great importance. (Note that you may replace +@file{libhello.la} with @file{libhello.a} in which case libtool won't +issue the warning any more. But although this method works, this is +not intended to be used because it makes you lose the benefits of +using Libtool.) + +So, let's try again, this time with the library object files. Remember +also that we need to add @option{-lm} to the link command line because +@file{foo.c} uses the @code{cos} math library function (@pxref{Using +libtool}). + +Another complication in building shared libraries is that we need to +specify the path to the directory wher they will (eventually) be +installed (in this case, @file{/usr/local/lib})@footnote{If you don't +specify an @code{rpath}, then libtool builds a libtool convenience +archive, not a shared library (@pxref{Static libraries}).}: + +@example +a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ + -rpath /usr/local/lib -lm} +ar cr @value{objdir}/libhello.a foo.o hello.o +ranlib @value{objdir}/libhello.a +creating libhello.la +(cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la) +a23$ +@end example + +Now, let's try the same trick on the shared library platform: + +@example +burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ + -rpath /usr/local/lib -lm} +rm -fr @value{objdir}/libhello.a @value{objdir}/libhello.la +ld -Bshareable -o @value{objdir}/libhello.so.0.0 @value{objdir}/foo.o @value{objdir}/hello.o -lm +ar cr @value{objdir}/libhello.a foo.o hello.o +ranlib @value{objdir}/libhello.a +creating libhello.la +(cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la) +burger$ +@end example + +Now that's significantly cooler@dots{} Libtool just ran an obscure +@command{ld} command to create a shared library, as well as the static +library. + +@cindex @file{@value{objdir}} subdirectory +Note how libtool creates extra files in the @file{@value{objdir}} +subdirectory, rather than the current directory. This feature is to +make it easier to clean up the build directory, and to help ensure that +other programs fail horribly if you accidentally forget to use libtool +when you should. + +Again, you may want to have a look at the @file{.la} file +to see what Libtool stores in it. In particular, you will see that +Libtool uses this file to remember the destination directory for the +library (the argument to @option{-rpath}) as well as the dependency +on the math library (@samp{-lm}). + +@node Linking executables +@section Linking executables + +@cindex linking against installed libraries +If you choose at this point to @dfn{install} the library (put it in a +permanent location) before linking executables against it, then you +don't need to use libtool to do the linking. Simply use the appropriate +@option{-L} and @option{-l} flags to specify the library's location. + +@cindex buggy system linkers +Some system linkers insist on encoding the full directory name of each +shared library in the resulting executable. Libtool has to work around +this misfeature by special magic to ensure that only permanent directory +names are put into installed executables. + +@cindex security problems with buggy linkers +@cindex bugs, subtle ones caused by buggy linkers +The importance of this bug must not be overlooked: it won't cause +programs to crash in obvious ways. It creates a security hole, +and possibly even worse, if you are modifying the library source code +after you have installed the package, you will change the behaviour of +the installed programs! + +So, if you want to link programs against the library before you install +it, you must use libtool to do the linking. + +@cindex linking against uninstalled libraries +Here's the old way of linking against an uninstalled library: + +@example +burger$ @kbd{gcc -g -O -o hell.old main.o libhello.a -lm} +burger$ +@end example + +Libtool's way is almost the same@footnote{However, you should avoid using +@option{-L} or @option{-l} flags to link against an uninstalled libtool +library. Just specify the relative path to the @file{.la} file, such as +@file{../intl/libintl.la}. This is a design decision to eliminate any +ambiguity when linking against uninstalled shared libraries.} +(@pxref{Link mode}): + +@example +a23$ @kbd{libtool --mode=link gcc -g -O -o hell main.o libhello.la} +gcc -g -O -o hell main.o ./@value{objdir}/libhello.a -lm +a23$ +@end example + +That looks too simple to be true. All libtool did was transform +@file{libhello.la} to @file{./@value{objdir}/libhello.a}, but remember +that @samp{a23} has no shared libraries. Notice that Libtool also +remembered that @file{libhello.la} depends on @option{-lm}, so even +though we didn't specify @option{-lm} on the libtool command +line@footnote{ +@c +And why should we? @file{main.o} doesn't directly depend on @option{-lm} +after all. +@c +} Libtool has added it to the @command{gcc} link line for us. + +On @samp{burger} Libtool links against the uninstalled shared library: + +@example +burger$ @kbd{libtool --mode=link gcc -g -O -o hell main.o libhello.la} +gcc -g -O -o @value{objdir}/hell main.o -L./@value{objdir} -R/usr/local/lib -lhello -lm +creating hell +burger$ +@end example + +@cindex linking with installed libtool libraries +Now assume @file{libhello.la} had already been installed, and you want +to link a new program with it. You could figure out where it lives by +yourself, then run: + +@example +burger$ @kbd{gcc -g -O -o test test.o -L/usr/local/lib -lhello -lm} +@end example + +However, unless @file{/usr/local/lib} is in the standard library search +path, you won't be able to run @code{test}. However, if you use libtool +to link the already-installed libtool library, it will do The Right +Thing (TM) for you: + +@example +burger$ @kbd{libtool --mode=link gcc -g -O -o test test.o \ + /usr/local/lib/libhello.la} +gcc -g -O -o @value{objdir}/test test.o -Wl,--rpath \ + -Wl,/usr/local/lib /usr/local/lib/libhello.a -lm +creating test +burger$ +@end example + +Note that libtool added the necessary run-time path flag, as well as +@option{-lm}, the library libhello.la depended upon. Nice, huh? + +@cindex wrapper scripts for programs +@cindex program wrapper scripts +Notice that the executable, @code{hell}, was actually created in the +@file{@value{objdir}} subdirectory. Then, a wrapper script (or, on +certain platforms, a wrapper executable @pxref{Wrapper executables}) was +created in the current directory. + +Since libtool created a wrapper script, you should use libtool to +install it and debug it too. However, since the program does not depend +on any uninstalled libtool library, it is probably usable even without +the wrapper script. + +On NetBSD 1.2, libtool encodes the installation directory of +@file{libhello}, by using the @samp{-R/usr/local/lib} compiler flag. +Then, the wrapper script guarantees that the executable finds the +correct shared library (the one in @file{./@value{objdir}}) until it is +properly installed. + +Let's compare the two different programs: + +@example +burger$ @kbd{time ./hell.old} +Welcome to GNU Hell! +** This is not GNU Hello. There is no built-in mail reader. ** + 0.21 real 0.02 user 0.08 sys +burger$ @kbd{time ./hell} +Welcome to GNU Hell! +** This is not GNU Hello. There is no built-in mail reader. ** + 0.63 real 0.09 user 0.59 sys +burger$ +@end example + +The wrapper script takes significantly longer to execute, but at least +the results are correct, even though the shared library hasn't been +installed yet. + +So, what about all the space savings that shared libraries are supposed +to yield? + +@example +burger$ @kbd{ls -l hell.old libhello.a} +-rwxr-xr-x 1 gord gord 15481 Nov 14 12:11 hell.old +-rw-r--r-- 1 gord gord 4274 Nov 13 18:02 libhello.a +burger$ @kbd{ls -l @value{objdir}/hell @value{objdir}/libhello.*} +-rwxr-xr-x 1 gord gord 11647 Nov 14 12:10 @value{objdir}/hell +-rw-r--r-- 1 gord gord 4274 Nov 13 18:44 @value{objdir}/libhello.a +-rwxr-xr-x 1 gord gord 12205 Nov 13 18:44 @value{objdir}/libhello.so.0.0 +burger$ +@end example + +Well, that sucks. Maybe I should just scrap this project and take up +basket weaving. + +Actually, it just proves an important point: shared libraries incur +overhead because of their (relative) complexity. In this situation, the +price of being dynamic is eight kilobytes, and the payoff is about four +kilobytes. So, having a shared @file{libhello} won't be an advantage +until we link it against at least a few more programs. + +@menu +* Wrapper executables:: Wrapper executables for some platforms. +@end menu + +@node Wrapper executables +@subsection Wrapper executables for uninstalled programs +@cindex wrapper executables for uninstalled programs +@cindex program wrapper executables + +Some platforms, notably those hosted on Windows such as Cygwin +and MinGW, use a wrapper executable rather than a wrapper script +to ensure proper operation of uninstalled programs linked by libtool +against uninstalled shared libraries. The wrapper executable thus +performs the same function as the wrapper script used on other +platforms, but allows to satisfy the @command{make} rules for the +program, whose name ends in @code{$(EXEEXT)}. The actual program +executable is created below @value{objdir}, and its name will end +in @code{$(EXEEXT)} and may or may not contain an @code{lt-} prefix. +This wrapper executable sets various environment values so that the +program executable may locate its (uninstalled) shared libraries, +and then launches the program executable. + +The wrapper executable provides a debug mode, enabled by passing the +command-line option @code{--lt-debug} (see below). When executing in +debug mode, diagnostic information will be printed to @code{stderr} +before the program executable is launched. + +Finally, the wrapper executable supports a number of command line +options that may be useful when debugging the operation of the wrapper +system. All of these options begin with @code{--lt-}, and if present +they and their arguments will be removed from the argument list passed +on to the program executable. Therefore, the program executable may not +employ command line options that begin with @code{--lt-}. (In fact, the +wrapper executable will detect any command line options that begin with +@code{--lt-} and abort with an error message if the option is not +recognized). If this presents a problem, please contact the Libtool +team at @value{BUGADDR}. + +These command line options include: + +@table @option +@item --lt-dump-script +Causes the wrapper to print a copy of the wrapper @emph{script} +to @code{stdout}, and exit. + +@item --lt-debug +Causes the wrapper to print diagnostic information to @code{stdout}, +before launching the program executable. + +@end table + +For consistency, both the wrapper @emph{script} and the wrapper +@emph{executable} support these options. + +@node Debugging executables +@section Debugging executables + +If @file{hell} was a complicated program, you would certainly want to +test and debug it before installing it on your system. In the above +section, you saw how the libtool wrapper script makes it possible to run +the program directly, but unfortunately, this mechanism interferes with +the debugger: + +@example +burger$ @kbd{gdb hell} +GDB is free software and you are welcome to distribute copies of it + under certain conditions; type "show copying" to see the conditions. +There is no warranty for GDB; type "show warranty" for details. +GDB 4.16 (i386-unknown-netbsd), (C) 1996 Free Software Foundation, Inc. + +"hell": not in executable format: File format not recognized + +(gdb) @kbd{quit} +burger$ +@end example + +Sad. It doesn't work because GDB doesn't know where the executable +lives. So, let's try again, by invoking GDB directly on the executable: + +@example +burger$ @kbd{gdb @value{objdir}/hell} +GNU gdb 5.3 (i386-unknown-netbsd) +Copyright 2002 Free Software Foundation, Inc. +GDB is free software, covered by the GNU General Public License, +and you are welcome to change it and/or distribute copies of it +under certain conditions. Type "show copying" to see the conditions. +There is no warranty for GDB. Type "show warranty" for details. +(gdb) @kbd{break main} +Breakpoint 1 at 0x8048547: file main.c, line 29. +(gdb) @kbd{run} +Starting program: /home/src/libtool/demo/.libs/hell +/home/src/libtool/demo/.libs/hell: can't load library 'libhello.so.0' + +Program exited with code 020. +(gdb) @kbd{quit} +burger$ +@end example + +Argh. Now GDB complains because it cannot find the shared library that +@file{hell} is linked against. So, we must use libtool to +properly set the library path and run the debugger. Fortunately, we can +forget all about the @file{@value{objdir}} directory, and just run it on +the executable wrapper (@pxref{Execute mode}): + +@example +burger$ @kbd{libtool --mode=execute gdb hell} +GNU gdb 5.3 (i386-unknown-netbsd) +Copyright 2002 Free Software Foundation, Inc. +GDB is free software, covered by the GNU General Public License, +and you are welcome to change it and/or distribute copies of it +under certain conditions. Type "show copying" to see the conditions. +There is no warranty for GDB. Type "show warranty" for details. +(gdb) @kbd{break main} +Breakpoint 1 at 0x8048547: file main.c, line 29. +(gdb) @kbd{run} +Starting program: /home/src/libtool/demo/.libs/hell + +Breakpoint 1, main (argc=1, argv=0xbffffc40) at main.c:29 +29 printf ("Welcome to GNU Hell!\n"); +(gdb) @kbd{quit} +The program is running. Quit anyway (and kill it)? (y or n) @kbd{y} +burger$ +@end example + +@node Installing libraries +@section Installing libraries + +@pindex strip +Installing libraries on a non-libtool system is quite +straightforward@dots{} just copy them into place:@footnote{Don't +strip static libraries though, or they will be unusable.} + +@pindex su +@example +burger$ @kbd{su} +Password: @kbd{********} +burger# @kbd{cp libhello.a /usr/local/lib/libhello.a} +burger# +@end example + +Oops, don't forget the @command{ranlib} command: + +@example +burger# @kbd{ranlib /usr/local/lib/libhello.a} +burger# +@end example + +@pindex install +Libtool installation is quite simple, as well. Just use the +@command{install} or @command{cp} command that you normally would +(@pxref{Install mode}): + +@example +a23# @kbd{libtool --mode=install cp libhello.la /usr/local/lib/libhello.la} +cp libhello.la /usr/local/lib/libhello.la +cp @value{objdir}/libhello.a /usr/local/lib/libhello.a +ranlib /usr/local/lib/libhello.a +a23# +@end example + +Note that the libtool library @file{libhello.la} is also installed, to +help libtool with uninstallation (@pxref{Uninstall mode}) and linking +(@pxref{Linking executables}) and to help programs with dlopening +(@pxref{Dlopened modules}). + +Here is the shared library example: + +@example +burger# @kbd{libtool --mode=install install -c libhello.la \ + /usr/local/lib/libhello.la} +install -c @value{objdir}/libhello.so.0.0 /usr/local/lib/libhello.so.0.0 +install -c libhello.la /usr/local/lib/libhello.la +install -c @value{objdir}/libhello.a /usr/local/lib/libhello.a +ranlib /usr/local/lib/libhello.a +burger# +@end example + +@cindex stripping libraries +@cindex libraries, stripping +It is safe to specify the @option{-s} (strip symbols) flag if you use a +BSD-compatible install program when installing libraries. +Libtool will either ignore the @option{-s} flag, or will run a program +that will strip only debugging and compiler symbols from the library. + +Once the libraries have been put in place, there may be some additional +configuration that you need to do before using them. First, you must +make sure that where the library is installed actually agrees with the +@option{-rpath} flag you used to build it. + +@cindex postinstallation +@cindex installation, finishing +@cindex libraries, finishing installation +Then, running @samp{libtool -n finish @var{libdir}} can give you +further hints on what to do (@pxref{Finish mode}): + +@example +burger# @kbd{libtool -n finish /usr/local/lib} +PATH="$PATH:/sbin" ldconfig -m /usr/local/lib +----------------------------------------------------------------- +Libraries have been installed in: + /usr/local/lib + +To link against installed libraries in a given directory, LIBDIR, +you must use the '-LLIBDIR' flag during linking. + + You will also need to do one of the following: + - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable + during execution + - add LIBDIR to the 'LD_RUN_PATH' environment variable + during linking + - use the '-RLIBDIR' linker flag + +See any operating system documentation about shared libraries for +more information, such as the ld and ld.so manual pages. +----------------------------------------------------------------- +burger# +@end example + +After you have completed these steps, you can go on to begin using the +installed libraries. You may also install any executables that depend +on libraries you created. + +@node Installing executables +@section Installing executables + +If you used libtool to link any executables against uninstalled libtool +libraries (@pxref{Linking executables}), you need to use libtool to +install the executables after the libraries have been installed +(@pxref{Installing libraries}). + +So, for our Ultrix example, we would run: + +@example +a23# libtool --mode=install install -c hell /usr/local/bin/hell +install -c hell /usr/local/bin/hell +a23# +@end example + +On shared library systems that require wrapper scripts, libtool just +ignores the wrapper script and installs the correct binary: + +@example +burger# libtool --mode=install install -c hell /usr/local/bin/hell +install -c @value{objdir}/hell /usr/local/bin/hell +burger# +@end example + + +@node Static libraries +@section Linking static libraries + +@cindex static linking +@cindex convenience libraries +Why return to @command{ar} and @command{ranlib} silliness when you've had a +taste of libtool? Well, sometimes it is desirable to create a static +archive that can never be shared. The most frequent case is when you +have a set of object files that you use to build several different +libraries. You can create a ``convenience library'' out of those +objects, and link against that with the other libraries, instead of +listing all the object files every time. + +If you just want to link this convenience library into programs, then +you could just ignore libtool entirely, and use the old @command{ar} and +@command{ranlib} commands (or the corresponding GNU Automake +@samp{_LIBRARIES} rules). You can even install a convenience library +using GNU Libtool, though you probably don't want to and hence GNU +Automake doesn't allow you to do so. + +@example +burger$ @kbd{libtool --mode=install ./install-sh -c libhello.a \ + /local/lib/libhello.a} +./install-sh -c libhello.a /local/lib/libhello.a +ranlib /local/lib/libhello.a +burger$ +@end example + +Using libtool for static library installation protects your library from +being accidentally stripped (if the installer used the @option{-s} flag), +as well as automatically running the correct @command{ranlib} command. + +But libtool libraries are more than just collections of object files: +they can also carry library dependency information, which old archives +do not. If you want to create a libtool static convenience library, you +can omit the @option{-rpath} flag and use @option{-static} to indicate that +you're only interested in a static library. When you link a program +with such a library, libtool will actually link all object files and +dependency libraries into the program. + +If you omit both @option{-rpath} and @option{-static}, libtool will create a +convenience library that can be used to create other libtool +libraries, even shared ones. Just like in the static case, the library +behaves as an alias to a set of object files and dependency libraries, +but in this case the object files are suitable for inclusion in shared +libraries. But be careful not to link a single convenience library, +directly or indirectly, into a single program or library, otherwise you +may get errors about symbol redefinitions. + +The key is remembering that a convenience library contains PIC +objects, and can be linked where a list of PIC objects makes sense; +i.e.@: into a shared library. A static convenience library contains +non-PIC objects, so can be linked into an old static library, or +a program. + +When GNU Automake is used, you should use @code{noinst_LTLIBRARIES} +instead of @code{lib_LTLIBRARIES} for convenience libraries, so that +the @option{-rpath} option is not passed when they are linked. + +As a rule of thumb, link a libtool convenience library into at most one +libtool library, and never into a program, and link libtool static +convenience libraries only into programs, and only if you need to carry +library dependency information to the user of the static convenience +library. + +@cindex standalone binaries +Another common situation where static linking is desirable is in +creating a standalone binary. Use libtool to do the linking and add the +@option{-all-static} flag. + +@node Invoking libtool +@chapter Invoking @command{libtool} +@pindex libtool +@cindex libtool command options +@cindex options, libtool command +@cindex command options, libtool + +The @command{libtool} program has the following synopsis: + +@example +libtool [@var{option}]@dots{} [@var{mode-arg}]@dots{} +@end example + +@noindent +and accepts the following options: + +@table @option +@item --config +Display libtool configuration variables and exit. + +@item --debug +Dump a trace of shell script execution to standard output. This +produces a lot of output, so you may wish to pipe it to @command{less} (or +@command{more}) or redirect to a file. + +@item -n +@itemx --dry-run +Don't create, modify, or delete any files, just show what commands would +be executed by libtool. + +@item --features +Display basic configuration options. This provides a way for packages +to determine whether shared or static libraries will be built. + +@item --finish +Same as @option{--mode=finish}. + +@item -h +Display short help message. + +@item --help +Display a help message and exit. If @option{--mode=@var{mode}} is +specified, then detailed help for @var{mode} is displayed. + +@item --help-all +Display help for the general options as well as detailed help for each +operation mode, and exit. + +@item --mode=@var{mode} +Use @var{mode} as the operation mode. When using libtool from the +command line, you can give just @var{mode} (or a unique abbreviation +of it) as the first argument as a shorthand for the full +@option{--mode=@var{mode}}. For example, the following are equivalent: + +@example +$ @kbd{libtool --mode=execute --dry-run gdb prog.exe} +$ @kbd{libtool execute --dry-run gdb prog.exe} +$ @kbd{libtool exe --dry-run gdb prog.exe} +$ @kbd{libtool e --dry-run gdb prog.exe} +@end example + +@noindent +@var{mode} must be set to one of the following: + +@table @option +@item compile +Compile a source file into a libtool object. + +@item execute +Automatically set the library path so that another program can use +uninstalled libtool-generated programs or libraries. + +@item link +Create a library or an executable. + +@item install +Install libraries or executables. + +@item finish +Complete the installation of libtool libraries on the system. + +@item uninstall +Delete installed libraries or executables. + +@item clean +Delete uninstalled libraries or executables. +@end table + +@item --tag=@var{tag} +Use configuration variables from tag @var{tag} (@pxref{Tags}). + +@item --preserve-dup-deps +Do not remove duplicate dependencies in libraries. When building packages +with static libraries, the libraries may depend circularly on each other +(shared libs can too, but for those it doesn't matter), so there are +situations, where -la -lb -la is required, and the second -la may not be +stripped or the link will fail. In cases where these duplications are +required, this option will preserve them, only stripping the libraries +that libtool knows it can safely. + +@item --quiet +@itemx --silent +Do not print out any progress or informational messages. + +@item -v +@itemx --verbose +Print out progress and informational messages (enabled by default), +as well as additional messages not ordinary seen by default. + +@item --no-quiet +@itemx --no-silent +Print out the progress and informational messages that are seen +by default. This option has no effect on whether the additional +messages seen in @option{--verbose} mode are shown. + +@item --no-verbose +Do not print out any additional informational messages beyond +those ordinarily seen by default. This option has no effect +on whether the ordinary progress and informational messages +enabled by @option{--no-quiet} are shown. + +Thus, there are now three different message levels (not counting +@option{--debug}), depending on whether the normal messages and/or +the additional verbose messages are displayed. Note that there is +no mechanism to display verbose messages, without also displaying +normal messages. + +@table @strong +@item default +Normal messages are displayed, verbose messages are not displayed. +In addition to being the default mode, it can be forcibly achieved +by using both option @option{--no-verbose} and either option +@option{--no-silent} or option @option{--no-quiet}. + +@item silent +Neither normal messages nor verbose messages are displayed. This +mode can be achieved using either option @option{--silent} or +option @option{--quiet}. + +@item verbose +Both normal messages and verbose messages are displayed. This mode +can be achieved using either option @option{-v} or option +@option{--verbose}. +@end table + +@item --version +Print libtool version information and exit. +@end table + +The current @command{libtool} implementation is done with a shell script +that needs to be invoked by the shell that @command{configure} chose for +configuring @command{libtool} (@pxref{config.status Invocation, , The +Autoconf Manual, autoconf, The Autoconf Manual}). This shell is set in +the she-bang (@samp{#!}) line of the @command{libtool} script. Using a +different shell may cause undefined behavior. + +The @var{mode-args} are a variable number of arguments, depending on the +selected operation mode. In general, each @var{mode-arg} is interpreted +by programs libtool invokes, rather than libtool itself. + +@menu +* Compile mode:: Creating library object files. +* Link mode:: Generating executables and libraries. +* Execute mode:: Debugging libtool-generated programs. +* Install mode:: Making libraries and executables public. +* Finish mode:: Completing a library installation. +* Uninstall mode:: Removing installed executables and libraries. +* Clean mode:: Removing uninstalled executables and libraries. +@end menu + +@node Compile mode +@section Compile mode +@cindex mode, compile +@cindex compile mode + +For @dfn{compile} mode, @var{mode-args} is a compiler command to be used +in creating a ``standard'' object file. These arguments should begin with +the name of the C compiler, and contain the @option{-c} compiler flag so +that only an object file is created. + +Libtool determines the name of the output file by removing the directory +component from the source file name, then substituting the source code +suffix (e.g.@: @samp{.c} for C source code) with the library object suffix, +@samp{.lo}. + +If shared libraries are being built, any necessary PIC generation flags +are substituted into the compilation command. + +The following components of @var{mode-args} are treated specially: + +@table @option +@item -o +Note that the @option{-o} option is now fully supported. It is emulated +on the platforms that don't support it (by locking and moving the +objects), so it is really easy to use libtool, just with minor +modifications to your Makefiles. Typing for example +@example +libtool --mode=compile gcc -c foo/x.c -o foo/x.lo +@end example +will do what you expect. + +Note, however, that, if the compiler does not support @option{-c} and +@option{-o}, it is impossible to compile @file{foo/x.c} without +overwriting an existing @file{./x.o}. Therefore, if you do have a +source file @file{./x.c}, make sure you introduce dependencies in your +@file{Makefile} to make sure @file{./x.o} (or @file{./x.lo}) is +re-created after any sub-directory's @file{x.lo}: + +@example +x.o x.lo: foo/x.lo bar/x.lo +@end example + +@noindent +This will also ensure that make won't try to use a temporarily corrupted +@file{x.o} to create a program or library. It may cause needless +recompilation on platforms that support @option{-c} and @option{-o} +together, but it's the only way to make it safe for those that don't. + +@item -no-suppress +If both PIC and non-PIC objects are being built, libtool will normally +suppress the compiler output for the PIC object compilation to save +showing very similar, if not identical duplicate output for each +object. If the @option{-no-suppress} option is given in compile mode, +libtool will show the compiler output for both objects. + +@item -prefer-pic +Libtool will try to build only PIC objects. + +@item -prefer-non-pic +Libtool will try to build only non-PIC objects. + +@item -shared +Even if Libtool was configured with @option{--enable-static}, the object +file Libtool builds will not be suitable for static linking. Libtool +will signal an error if it was configured with @option{--disable-shared}, +or if the host does not support shared libraries. + +@item -static +Even if libtool was configured with @option{--disable-static}, the +object file Libtool builds @strong{will} be suitable for static +linking. + +@item -Wc,@var{flag} +@itemx -Xcompiler @var{flag} +Pass a flag directly to the compiler. With @code{-Wc,}, multiple flags +may be separated by commas, whereas @code{-Xcompiler } passes through +commas unchanged. +@end table + +@node Link mode +@section Link mode +@cindex link mode +@cindex mode, link + +@dfn{Link} mode links together object files (including library +objects) to form another library or to create an executable program. + +@var{mode-args} consist of a command using the C compiler to create an +output file (with the @option{-o} flag) from several object files. + +The following components of @var{mode-args} are treated specially: + +@table @option +@cindex undefined symbols, allowing +@cindex unresolved symbols, allowing +@item -all-static +If @var{output-file} is a program, then do not link it against any +shared libraries at all. If @var{output-file} is a library, then only +create a static library. In general, this flag cannot be used together +with @samp{disable-static} (@pxref{LT_INIT}). + +@item -avoid-version +Tries to avoid versioning (@pxref{Versioning}) for libraries and modules, +i.e.@: no version information is stored and no symbolic links are created. +If the platform requires versioning, this option has no effect. + +@item -bindir +Pass the absolute name of the directory for installing executable +programs (@pxref{Directory Variables, , Directory Variables, standards, +The GNU Coding Standards}). @command{libtool} may use this value to +install shared libraries there on systems that do not provide for any +library hardcoding and use the directory of a program and the @env{PATH} +variable as library search path. This is typically used for DLLs on +Windows or other systems using the PE (Portable Executable) format. +On other systems, @option{-bindir} is ignored. The default value used +is @file{@var{libdir}/../bin} for libraries installed to +@file{@var{libdir}}. You should not use @option{-bindir} for modules. + +@item -dlopen @var{file} +Same as @option{-dlpreopen @var{file}}, if native dlopening is not +supported on the host platform (@pxref{Dlopened modules}) or if +the program is linked with @option{-static}, +@option{-static-libtool-libs}, or @option{-all-static}. Otherwise, no +effect. If @var{file} is @code{self} Libtool will make sure that the +program can @code{dlopen} itself, either by enabling +@option{-export-dynamic} or by falling back to @option{-dlpreopen self}. + +@item -dlpreopen @var{file} +Link @var{file} into the output program, and add its symbols to the +list of preloaded symbols (@pxref{Dlpreopening}). If @var{file} is +@code{self}, the symbols of the program itself will be added to +preloaded symbol lists. If @var{file} is @code{force} Libtool will +make sure that a preloaded symbol list is always @emph{defined}, +regardless of whether it's empty or not. + +@item -export-dynamic +Allow symbols from @var{output-file} to be resolved with @code{dlsym} +(@pxref{Dlopened modules}). + +@item -export-symbols @var{symfile} +Tells the linker to export only the symbols listed in @var{symfile}. +The symbol file should end in @file{.sym} and must contain the name of one +symbol per line. This option has no effect on some platforms. +By default all symbols are exported. + +@item -export-symbols-regex @var{regex} +Same as @option{-export-symbols}, except that only symbols matching +the regular expression @var{regex} are exported. +By default all symbols are exported. + +@item -L@var{libdir} +Search @var{libdir} for required libraries that have already been +installed. + +@item -l@var{name} +@var{output-file} requires the installed library @file{lib@var{name}}. +This option is required even when @var{output-file} is not an +executable. + +@item -module +Creates a library that can be dlopened (@pxref{Dlopened modules}). +This option doesn't work for programs. +Module names don't need to be prefixed with @samp{lib}. +In order to prevent name clashes, however, @file{lib@var{name}} and @file{@var{name}} +must not be used at the same time in your package. + +@item -no-fast-install +Disable fast-install mode for the executable @var{output-file}. Useful +if the program won't be necessarily installed. + +@item -no-install +Link an executable @var{output-file} that can't be installed and +therefore doesn't need a wrapper script on systems that allow hardcoding +of library paths. Useful if the program is only used in the build tree, +e.g., for testing or generating other files. + +@item -no-undefined +Declare that @var{output-file} does not depend on any libraries other +than the ones listed on the command line, i.e., after linking, it will +not have unresolved symbols. Some platforms require all symbols in +shared libraries to be resolved at library creation (@pxref{Inter-library +dependencies}), and using this parameter allows @command{libtool} to +assume that this will not happen. + +@item -o @var{output-file} +Create @var{output-file} from the specified objects and libraries. + +@item -objectlist @var{file} +Use a list of object files found in @var{file} to specify objects. + +@item -os2dllname @var{name} +Use this to change the DLL base name on OS/2 to @var{name}, to keep +within the 8 character base name limit on this system. + +@item -precious-files-regex @var{regex} +Prevents removal of files from the temporary output directory whose +names match this regular expression. You might specify @samp{\.bbg?$} +to keep those files created with @code{gcc -ftest-coverage} for example. + +@item -release @var{release} +Specify that the library was generated by release @var{release} of your +package, so that users can easily tell what versions are newer than +others. Be warned that no two releases of your package will be binary +compatible if you use this flag. If you want binary compatibility, use +the @option{-version-info} flag instead (@pxref{Versioning}). + +@item -rpath @var{libdir} +If @var{output-file} is a library, it will eventually be installed in +@var{libdir}. If @var{output-file} is a program, add @var{libdir} to +the run-time path of the program. On platforms that don't support +hardcoding library paths into executables and only search PATH for +shared libraries, such as when @var{output-file} is a Windows (or +other PE platform) DLL, the @file{.la} control file will be installed in +@var{libdir}, but see @option{-bindir} above for the eventual destination +of the @file{.dll} or other library file itself. + +@item -R @var{libdir} +If @var{output-file} is a program, add @var{libdir} to its run-time +path. If @var{output-file} is a library, add @option{-R@var{libdir}} to its +@var{dependency_libs}, so that, whenever the library is linked into a +program, @var{libdir} will be added to its run-time path. + +@item -shared +If @var{output-file} is a program, then link it against any +uninstalled shared libtool libraries (this is the default behavior). +If @var{output-file} is a library, then only create a shared library. +In the later case, libtool will signal an error if it was configured +with @option{--disable-shared}, or if the host does not support shared +libraries. + +@item -shrext @var{suffix} +If @var{output-file} is a libtool library, replace the system's standard +file name extension for shared libraries with @var{suffix} (most systems +use @file{.so} here). This option is helpful in certain cases where an +application requires that shared libraries (typically modules) have an +extension other than the default one. Please note you must supply the +full file name extension including any leading dot. + +@item -static +If @var{output-file} is a program, then do not link it against any +uninstalled shared libtool libraries. If @var{output-file} is a +library, then only create a static library. + +@item -static-libtool-libs +If @var{output-file} is a program, then do not link it against any +shared libtool libraries. If @var{output-file} is a library, then only +create a static library. + +@item -version-info @var{current}[:@var{revision}[:@var{age}]] +If @var{output-file} is a libtool library, use interface version +information @var{current}, @var{revision}, and @var{age} to build it +(@pxref{Versioning}). Do @strong{not} use this flag to specify package +release information, rather see the @option{-release} flag. + +@item -version-number @var{major}[:@var{minor}[:@var{revision}]] +If @var{output-file} is a libtool library, compute interface version +information so that the resulting library uses the specified major, minor and +revision numbers. This is designed to permit libtool to be used with +existing projects where identical version numbers are already used across +operating systems. New projects should use the @option{-version-info} flag +instead. + +@item -weak @var{libname} +if @var{output-file} is a libtool library, declare that it provides a +weak @var{libname} interface. This is a hint to libtool that there is +no need to append @var{libname} to the list of dependency libraries of +@var{output-file}, because linking against @var{output-file} already +supplies the same interface (@pxref{Linking with dlopened modules}). + +@item -Wc,@var{flag} +@itemx -Xcompiler @var{flag} +Pass a linker-specific flag directly to the compiler. With @code{-Wc,}, +multiple flags may be separated by commas, whereas @code{-Xcompiler } +passes through commas unchanged. + +@item -Wa,@var{flag} +@itemx -Xassembler @var{flag} +Pass a linker-specific flag directly to the assembler. With @code{-Wa,}, +multiple flags may be separated by commas, whereas @code{-Xassembler } +passes through commas unchanged. + +@item -Wl,@var{flag} +@itemx -Xlinker @var{flag} +Pass a linker-specific flag directly to the linker. + +@item -XCClinker @var{flag} +Pass a link-specific flag to the compiler driver (@code{CC}) during linking. +@end table + +If the @var{output-file} ends in @file{.la}, then a libtool library is +created, which must be built only from library objects (@file{.lo} files). +The @option{-rpath} option is required. In the current implementation, +libtool libraries may not depend on other uninstalled libtool libraries +(@pxref{Inter-library dependencies}). + +If the @var{output-file} ends in @file{.a}, then a standard library is +created using @code{ar} and possibly @code{ranlib}. + +@cindex partial linking +@cindex linking, partial +If @var{output-file} ends in @file{.o} or @file{.lo}, then a reloadable object +file is created from the input files (generally using @samp{ld -r}). +This method is often called @dfn{partial linking}. + +Otherwise, an executable program is created. + +@node Execute mode +@section Execute mode +@cindex execute mode +@cindex mode, execute + +For @dfn{execute} mode, the library path is automatically set, then a +program is executed. + +The first of the @var{mode-args} is treated as a program name, with the +rest as arguments to that program. + +The following components of @var{mode-args} are treated specially: + +@table @option +@item -dlopen @var{file} +Add the directory containing @var{file} to the library path. +@end table + +This mode sets the library path environment variable according to any +@option{-dlopen} flags. + +If any of the @var{args} are libtool executable wrappers, then they are +translated into the name of their corresponding uninstalled binary, and +any of their required library directories are added to the library path. + +@node Install mode +@section Install mode +@cindex install mode +@cindex mode, install + +In @dfn{install} mode, libtool interprets most of the elements of +@var{mode-args} as an installation command beginning with +@command{cp}, or a BSD-compatible @command{install} program. + +The following components of @var{mode-args} are treated specially: + +@table @option +@item -inst-prefix-dir @var{inst-prefix-dir} +When installing into a temporary staging area, rather than the +final @code{prefix}, this argument is used to reflect the +temporary path, in much the same way @command{automake} uses +@env{DESTDIR}. For instance, if @code{prefix} is @file{/usr/local}, +but @var{inst-prefix-dir} is @file{/tmp}, then the object will be +installed under @file{/tmp/usr/local/}. If the installed object +is a libtool library, then the internal fields of that library +will reflect only @code{prefix}, not @var{inst-prefix-dir}: + +@example +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' +@end example + +not + +@example +# Directory that this library needs to be installed in: +libdir='/tmp/usr/local/lib' +@end example + +@code{inst-prefix} is also used to ensure that if the installed +object must be relinked upon installation, that it is relinked +against the libraries in @var{inst-prefix-dir}/@code{prefix}, +not @code{prefix}. + +In truth, this option is not really intended for use when calling +libtool directly; it is automatically used when @code{libtool --mode=install} +calls @code{libtool --mode=relink}. Libtool does this by +analyzing the destination path given in the original +@code{libtool --mode=install} command and comparing it to the +expected installation path established during @code{libtool --mode=link}. + +Thus, end-users need change nothing, and @command{automake}-style +@code{make install DESTDIR=/tmp} will Just Work(tm) most of the time. +For systems where fast installation cannot be turned on, relinking +may be needed. In this case, a @samp{DESTDIR} install will fail. + +Currently it is not generally possible to install into a temporary +staging area that contains needed third-party libraries that are +not yet visible at their final location. +@end table + +The rest of the @var{mode-args} are interpreted as arguments to the +@command{cp} or @command{install} command. + +The command is run, and any necessary unprivileged post-installation +commands are also completed. + +@node Finish mode +@section Finish mode +@cindex finish mode +@cindex mode, finish + +@dfn{Finish} mode has two functions. One is to help system administrators +install libtool libraries so that they can be located and linked into +user programs. To invoke this functionality, pass the name of a library +directory as @var{mode-arg}. Running this command may require superuser +privileges, and the @option{--dry-run} option may be useful. + +The second is to facilitate transferring libtool libraries to a native +compilation environment after they were built in a cross-compilation +environment. Cross-compilation environments may rely on recent libtool +features, and running libtool in finish mode will make it easier to +work with older versions of libtool. This task is performed whenever +the @var{mode-arg} is a @file{.la} file. + +@node Uninstall mode +@section Uninstall mode +@cindex uninstall mode +@cindex mode, uninstall + +@dfn{Uninstall} mode deletes installed libraries, executables and objects. + +The first @var{mode-arg} is the name of the program to use to delete +files (typically @command{/bin/rm}). + +The remaining @var{mode-args} are either flags for the deletion program +(beginning with a @samp{-}), or the names of files to delete. + +@node Clean mode +@section Clean mode +@cindex clean mode +@cindex mode, clean + +@dfn{Clean} mode deletes uninstalled libraries, executables, objects +and libtool's temporary files associated with them. + +The first @var{mode-arg} is the name of the program to use to delete +files (typically @command{/bin/rm}). + +The remaining @var{mode-args} are either flags for the deletion program +(beginning with a @samp{-}), or the names of files to delete. + +@node Integrating libtool +@chapter Integrating libtool with your package + +This chapter describes how to integrate libtool with your packages so +that your users can install hassle-free shared libraries. + +There are several ways that Libtool may be integrated in your +package, described in the following sections. Typically, the Libtool +macro files as well as @file{ltmain.sh} are copied into your package +using @command{libtoolize} and @command{aclocal} after setting up the +@file{configure.ac} and toplevel @file{Makefile.am}, then +@command{autoconf} adds the needed tests to the @file{configure} script. +These individual steps are often automated with @command{autoreconf}. + +Here is a diagram showing how such a typical Libtool configuration works +when preparing a package for distribution, assuming that @file{m4} has +been chosen as location for additional Autoconf macros, and +@file{build-aux} as location for auxiliary build tools (@pxref{Input,, +The Autoconf Manual, autoconf, The Autoconf Manual}): + +@example +@group +libtool.m4 -----. .--> aclocal.m4 -----. +ltoptions.m4 ---+ .-> aclocal* -+ +--> autoconf* +ltversion.m4 ---+--+ `--> [copy in m4/] --+ | +ltsugar.m4 -----+ | ^ | \/ +lt~obsolete.m4 -+ +-> libtoolize* -----' | configure +[ltdl.m4] ------+ | | + `----------------------------------' + +ltmain.sh -----------> libtoolize* -> [copy in build-aux/] +@end group +@end example + +During configuration, the @file{libtool} script is generated either +through @command{config.status} or @command{config.lt}: + +@example +@group + .--> config.status* --. +configure* --+ +--> libtool + `--> [config.lt*] ----' ^ + | +ltmain.sh --------------------------------' +@end group +@end example + +At @command{make} run time, @command{libtool} is then invoked as needed +as a wrapper around compilers, linkers, install and cleanup programs. + +There are alternatives choices to several parts of the setup; for +example, the Libtool macro files can either be copied or symlinked into +the package, or copied into @file{aclocal.m4}. As another example, an +external, pre-configured @command{libtool} script may be used, +by-passing most of the tests and package-specific setup for Libtool. + +@menu +* Autoconf macros:: Autoconf macros exported by libtool. +* Makefile rules:: Writing @file{Makefile} rules for libtool. +* Using Automake:: Automatically supporting libtool. +* Configuring:: Configuring libtool for a host system. +* Distributing:: What files to distribute with your package. +* Static-only libraries:: Sometimes shared libraries are just a pain. +@end menu + +@node Autoconf macros +@section Autoconf macros exported by libtool + +Libtool uses a number of macros to interrogate the host system when it +is being built, and you can use some of them yourself too. Although +there are a great many other macros in the libtool installed m4 files, +these do not form part of the published interface, and are subject to +change between releases. + +@noindent +Macros in the @samp{LT_CMD_} namespace check for various shell +commands: + +@defmac LT_CMD_MAX_LEN +Finds the longest command line that can be safely passed to +@samp{$SHELL} without being truncated, and store in the shell variable +@samp{$max_cmd_len}. It is only an approximate value, but command +lines of this length or shorter are guaranteed not to be truncated. +@end defmac + +@noindent +Macros in the @samp{LT_FUNC_} namespace check characteristics of +library functions: + +@defmac LT_FUNC_DLSYM_USCORE +@samp{AC_DEFINE} the preprocessor symbol @samp{DLSYM_USCORE} if we +have to add an underscore to symbol-names passed in to @samp{dlsym}. +@end defmac + +@noindent +Macros in the @samp{LT_LIB_} namespace check characteristics of system +libraries: + +@defmac LT_LIB_M +Set @samp{LIBM} to the math library or libraries required on this +machine, if any. +@end defmac + +@defmac LT_LIB_DLLOAD +This is the macro used by @samp{libltdl} to determine what dlloaders +to use on this machine, if any. Several shell variables are set (and +@samp{AC_SUBST}ed) depending on the dlload interfaces are available on +this machine. @samp{LT_DLLOADERS} contains a list of libtool +libraries that can be used, and if necessary also sets +@samp{LIBADD_DLOPEN} if additional system libraries are required by +the @samp{dlopen} loader, and @samp{LIBADD_SHL_LOAD} if additional +system libraries are required by the @samp{shl_load} loader, +respectively. Finally some symbols are set in @file{config.h} +depending on the loaders that are found to work: @samp{HAVE_LIBDL}, +@samp{HAVE_SHL_LOAD}, @samp{HAVE_DYLD}, @samp{HAVE_DLD}. +@end defmac + +@noindent +Macros in the @samp{LT_PATH_} namespace search the system for the full +path to particular system commands: + +@defmac LT_PATH_LD +Add a @option{--with-gnu-ld} option to @file{configure}. Try to find +the path to the linker used by @samp{$CC}, and whether it is the +GNU linker. The result is stored in the shell variable +@samp{$LD}, which is @code{AC_SUBST}ed. +@end defmac + +@defmac LT_PATH_NM +Try to find a BSD-compatible @command{nm} or a MS-compatible +@command{dumpbin} command on this machine. The result is stored in the +shell variable @samp{$NM}, which is @code{AC_SUBST}ed. +@end defmac + +@noindent +Macros in the @samp{LT_SYS_} namespace probe for system +characteristics: + +@defmac LT_SYS_DLOPEN_SELF +Tests whether a program can dlopen itself, and then also whether the +same program can still dlopen itself when statically linked. Results +are stored in the shell variables @samp{$enable_dlopen_self} and +@samp{enable_dlopen_self_static} respectively. +@end defmac + +@defmac LT_SYS_DLOPEN_DEPLIBS +Define the preprocessor symbol @samp{LTDL_DLOPEN_DEPLIBS} if the +OS needs help to load dependent libraries for @samp{dlopen} (or +equivalent). +@end defmac + +@defmac LT_SYS_DLSEARCH_PATH +Define the preprocessor symbol @samp{LT_DLSEARCH_PATH} to the system +default library search path. +@end defmac + +@defmac LT_SYS_MODULE_EXT +Define the preprocessor symbol @samp{LT_MODULE_EXT} to the extension +used for runtime loadable modules. If you use libltdl to open +modules, then you can simply use the libtool library extension, +@file{.la}. +@end defmac + +@defmac LT_SYS_MODULE_PATH +Define the preprocessor symbol @samp{LT_MODULE_PATH_VAR} to the name +of the shell environment variable that determines the run-time module +search path. +@end defmac + +@defmac LT_SYS_SYMBOL_USCORE +Set the shell variable @samp{sys_symbol_underscore} to @samp{no} +unless the compiler prefixes global symbols with an underscore. +@end defmac + + +@node Makefile rules +@section Writing @file{Makefile} rules for libtool +@cindex Makefile +@cindex Makefile.am +@cindex Makefile.in + +Libtool is fully integrated with Automake (@pxref{Top,, Introduction, +automake, The Automake Manual}), starting with Automake version 1.2. + +If you want to use libtool in a regular @file{Makefile} (or +@file{Makefile.in}), you are on your own. If you're not using +Automake, and you don't know how to incorporate libtool into your +package you need to do one of the following: + +@enumerate 1 +@item +Download the latest Automake distribution from your nearest GNU +mirror, install it, and start using it. + +@item +Learn how to write @file{Makefile} rules by hand. They're sometimes complex, +but if you're clever enough to write rules for compiling your old +libraries, then you should be able to figure out new rules for libtool +libraries (hint: examine the @file{Makefile.in} in the @file{tests/demo} +subdirectory of the libtool distribution@dots{} note especially that it +was automatically generated from the @file{Makefile.am} by Automake). +@end enumerate + +@node Using Automake +@section Using Automake with libtool + +@vindex LTLIBRARIES +Libtool library support is implemented under the @samp{LTLIBRARIES} +primary. + +Here are some samples from the Automake @file{Makefile.am} in the +libtool distribution's @file{demo} subdirectory. + +First, to link a program against a libtool library, just use the +@samp{program_LDADD}@footnote{@c +@c +Since GNU Automake 1.5, the flags @option{-dlopen} +or @option{-dlpreopen} (@pxref{Link mode}) can be employed with the +@samp{program_LDADD} variable. Unfortunately, older releases didn't +accept these flags, so if you are stuck with an ancient Automake, we +recommend quoting the flag itself, and setting +@samp{program_DEPENDENCIES} too: + +@example +program_LDADD = "-dlopen" libfoo.la +program_DEPENDENCIES = libfoo.la +@end example +@c +} variable: + +@example +bin_PROGRAMS = hell hell_static + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = -static +@end example + +You may use the @samp{program_LDFLAGS} variable to stuff in any flags +you want to pass to libtool while linking @file{program} (such as +@option{-static} to avoid linking uninstalled shared libtool libraries). + +Building a libtool library is almost as trivial@dots{} note the use of +@samp{libhello_la_LDFLAGS} to pass the @option{-version-info} +(@pxref{Versioning}) option to libtool: + +@example +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LDFLAGS = -version-info 3:12:1 +@end example + +The @option{-rpath} option is passed automatically by Automake (except for +libraries listed as @code{noinst_LTLIBRARIES}), so you +should not specify it. + +@xref{A Shared Library, Building a Shared Library, The Automake Manual, +automake, The Automake Manual}, for more information. + +When building libtool archives which depend on built sources (for example a +generated header file), you may find it necessary to manually record +these dependencies. +Because libtool archives generate object file names manually recording these +dependencies is not as straightforward as the examples in Automake's manual +describe in their examples. +This effects header files in particular, because simply listing them as +@samp{nodist_libfoo_la_SOURCES} will not cause Automake to establish a +dependent relationship for the object files of @file{libfoo.la}. +A useful trick (although somewhat imprecise) is to manually record built +sources used by a libtool archive as dependencies of all the objects for that +library as shown below (as opposed to a particular object file): + +@example +# Build a libtool library, libhello.la which depends on a generated header. +hello.h: + echo '#define HELLO_MESSAGE "Hello, World!"' > $@@ +BUILT_SOURCES = hello.h +CLEANFILES = hello.h +nodist_libhello_la_SOURCES = hello.h +libhello_la_SOURCES = hello.c foo.h foo.c bar.h bar.c +# Manually record hello.h as a prerequisite for all objects in libhello.la +$(libhello_la_OBJECTS): hello.h +@end example + +@xref{Built Sources Example, Recording Dependencies manually, The Automake Manual, +automake, The Automake Manual}, for more information. + +@node Configuring +@section Configuring libtool +@cindex configuring libtool + +Libtool requires intimate knowledge of your compiler suite and operating +system to be able to create shared libraries and link against +them properly. When you install the libtool distribution, a +system-specific libtool script is installed into your binary directory. + +However, when you distribute libtool with your own packages +(@pxref{Distributing}), you do not always know the compiler suite and +operating system that are used to compile your package. + +For this reason, libtool must be @dfn{configured} before it can be +used. This idea should be familiar to anybody who has used a GNU +@code{configure} script. @code{configure} runs a number of tests for +system features, then generates the @file{Makefile}s (and possibly a +@file{config.h} header file), after which you can run @code{make} and +build the package. + +Libtool adds its own tests to your @code{configure} script to +generate a libtool script for the installer's host machine. + +@menu +* LT_INIT:: Configuring @code{libtool} in @file{configure.ac}. +* Configure notes:: Platform-specific notes for configuration. +@end menu + +@node LT_INIT +@subsection The @code{LT_INIT} macro + +If you are using GNU Autoconf (or Automake), you should add a call to +@code{LT_INIT} to your @file{configure.ac} file. This macro +adds many new tests to the @code{configure} script so that the generated +libtool script will understand the characteristics of the host. It's the +most important of a number of macros defined by Libtool: + +@defmac LT_PREREQ (@var{version}) +Ensure that a recent enough version of Libtool is being used. If the +version of Libtool used for @code{LT_INIT} is earlier than +@var{version}, print an error message to the standard +error output and exit with failure (exit status is 63). For example: + +@example +LT_PREREQ([@value{VERSION}]) +@end example +@end defmac + +@defmac LT_INIT (@var{options}) +@defmacx AC_PROG_LIBTOOL +@defmacx AM_PROG_LIBTOOL +Add support for the @option{--enable-shared}, @option{--disable-shared}, +@option{--enable-static}, @option{--disable-static}, @option{--with-pic}, and +@option{--without-pic} @code{configure} flags.@footnote{@code{LT_INIT} requires +that you define the @file{Makefile} variable @code{top_builddir} in your +@file{Makefile.in}. Automake does this automatically, but Autoconf +users should set it to the relative path to the top of your build +directory (@file{../..}, for example).} @code{AC_PROG_LIBTOOL} and +@code{AM_PROG_LIBTOOL} are deprecated names for older versions of this macro; +@code{autoupdate} will upgrade your @file{configure.ac} files. + +By default, this macro turns on shared libraries if they are available, +and also enables static libraries if they don't conflict with the shared +libraries. You can modify these defaults by passing either +@code{disable-shared} or @code{disable-static} in the option list to +@code{LT_INIT}, or using @code{AC_DISABLE_SHARED} or @code{AC_DISABLE_STATIC}. + +@example +# Turn off shared libraries during beta-testing, since they +# make the build process take too long. +LT_INIT([disable-shared]) +@end example + +The user may specify modified forms of the configure flags +@option{--enable-shared} and @option{--enable-static} to choose whether +shared or static libraries are built based on the name of the package. +For example, to have shared @samp{bfd} and @samp{gdb} libraries built, +but not shared @samp{libg++}, you can run all three @code{configure} +scripts as follows: + +@example +trick$ ./configure --enable-shared=bfd,gdb +@end example + +In general, specifying @option{--enable-shared=@var{pkgs}} is the same as +configuring with @option{--enable-shared} every package named in the +comma-separated @var{pkgs} list, and every other package with +@option{--disable-shared}. The @option{--enable-static=@var{pkgs}} flag +behaves similarly, but it uses @option{--enable-static} and +@option{--disable-static}. The same applies to the +@option{--enable-fast-install=@var{pkgs}} flag, which uses +@option{--enable-fast-install} and @option{--disable-fast-install}. + +The package name @samp{default} matches any packages that have not set +their name in the @code{PACKAGE} environment variable. + +The @option{--with-pic} and @option{--without-pic} configure flags can be used +to specify whether or not @command{libtool} uses PIC objects. By default, +@command{libtool} uses PIC objects for shared libraries and non-PIC objects for +static libraries. The @option{--with-pic} option also accepts a comma-separated +list of package names. Specifying @option{--with-pic=@var{pkgs}} is the same +as configuring every package in @var{pkgs} with @option{--with-pic} and every +other package with the default configuration. The package name @samp{default} +is treated the same as for @option{--enable-shared} and +@option{--enable-static}. + +This macro also sets the shell variable @code{LIBTOOL_DEPS}, that you +can use to automatically update the libtool script if it becomes +out-of-date. In order to do that, add to your @file{configure.ac}: + +@example +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +@end example + +and, to @file{Makefile.in} or @file{Makefile.am}: + +@example +LIBTOOL_DEPS = @@LIBTOOL_DEPS@@ +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status libtool +@end example + +If you are using GNU Automake, you can omit the assignment, as Automake +will take care of it. You'll obviously have to create some dependency +on @file{libtool}. + +Aside from @code{disable-static} and @code{disable-shared}, there are +other options that you can pass to @code{LT_INIT} to modify its +behaviour. Here is a full list: + +@table @samp +@item dlopen +Enable checking for dlopen support. This option should be used if +the package makes use of the @option{-dlopen} and @option{-dlpreopen} +libtool flags, otherwise libtool will assume that the system does not +support dlopening. + +@item win32-dll +This option should be used if the package has been ported to build clean +dlls on win32 platforms. Usually this means that any library data items +are exported with @code{__declspec(dllexport)} and imported with +@code{__declspec(dllimport)}. If this option is not used, libtool will +assume that the package libraries are not dll clean and will build only +static libraries on win32 hosts. + +Provision must be made to pass @option{-no-undefined} to @code{libtool} +in link mode from the package @code{Makefile}. Naturally, if you pass +@option{-no-undefined}, you must ensure that all the library symbols +@strong{really are} defined at link time! + +@item aix-soname=aix +@itemx aix-soname=svr4 +@itemx aix-soname=both +Enable the @option{--with-aix-soname} to @command{configure}, which the +user can pass to override the given default. + +By default (and @strong{always} in releases prior to 2.4.4), Libtool always +behaves as if @code{aix-soname=aix} is given, with no @command{configure} +option for the user to override. Specifically, when the @option{-brtl} linker +flag is seen in @code{LDFLAGS} at build-time, static archives are built from +static objects only, otherwise, traditional AIX shared library archives of +shared objects using in-archive versioning are built (with the @code{.a} file +extension!). Similarly, with @option{-brtl} in @code{LDFLAGS}, libtool +shared archives are built from shared objects, without any filename-based +versioning; and without @option{-brtl} no shared archives are built at all. + +When @code{aix-soname=svr4} option is given, or the +@option{--with-aix-soname=svr4} @command{configure} option is passed, static +archives are always created from static objects, even without @option{-brtl} +in @code{LDFLAGS}. Shared archives are made from shared objects, and filename +based versioning is enabled. + +When @code{aix-soname=both} option is given, or the +@option{--with-aix-soname=svr4} @command{configure} option is passed, static +archives are built traditionally (as @option{aix-soname=aix}), and both +kinds of shared archives are built. The @code{.la} pseudo-archive specifies +one or the other depending on whether @option{-brtl} is specified in +@code{LDFLAGS} when the library is built. + +@item disable-fast-install +Change the default behaviour for @code{LT_INIT} to disable +optimization for fast installation. The user may still override this +default, depending on platform support, by specifying +@option{--enable-fast-install} to @command{configure}. + +@item shared +Change the default behaviour for @code{LT_INIT} to enable +shared libraries. This is the default on all systems where +Libtool knows how to create shared libraries. +The user may still override this default by specifying +@option{--disable-shared} to @command{configure}. + +@item disable-shared +Change the default behaviour for @code{LT_INIT} to disable +shared libraries. The user may still override this default by +specifying @option{--enable-shared} to @command{configure}. + +@item static +Change the default behaviour for @code{LT_INIT} to enable +static libraries. This is the default on all systems where +shared libraries have been disabled for some reason, and on +most systems where shared libraries have been enabled. +If shared libraries are enabled, the user may still override +this default by specifying @option{--disable-static} to +@command{configure}. + +@item disable-static +Change the default behaviour for @code{LT_INIT} to disable +static libraries. The user may still override this default by +specifying @option{--enable-static} to @command{configure}. + +@item pic-only +Change the default behaviour for @command{libtool} to try to use only +PIC objects. The user may still override this default by specifying +@option{--without-pic} to @command{configure}. + +@item no-pic +Change the default behaviour of @command{libtool} to try to use only +non-PIC objects. The user may still override this default by +specifying @option{--with-pic} to @command{configure}. + +@end table + +@end defmac + +@defmac LT_LANG (@var{language}) +Enable @command{libtool} support for the language given if it +has not yet already been enabled. Languages accepted are ``C++'', +``Fortran 77'', ``Java'', ``Go'', and ``Windows Resource''. + +If Autoconf language support macros such as @code{AC_PROG_CXX} are +used in your @file{configure.ac}, Libtool language support will automatically +be enabled. + +Conversely using @code{LT_LANG} to enable language support for Libtool +will automatically enable Autoconf language support as well. + +Both of the following examples are therefore valid ways of adding C++ +language support to Libtool. + +@example +LT_INIT +LT_LANG([C++]) +@end example + +@example +LT_INIT +AC_PROG_CXX +@end example + +@end defmac + +@defmac AC_LIBTOOL_DLOPEN +This macro is deprecated, the @samp{dlopen} option to @code{LT_INIT} should be +used instead. +@end defmac + +@defmac AC_LIBTOOL_WIN32_DLL +This macro is deprecated, the @samp{win32-dll} option to @code{LT_INIT} should +be used instead. +@end defmac + +@defmac AC_DISABLE_FAST_INSTALL +This macro is deprecated, the @samp{disable-fast-install} option to @code{LT_INIT} +should be used instead. +@end defmac + +@defmac AC_DISABLE_SHARED +@defmacx AM_DISABLE_SHARED +Change the default behaviour for @code{LT_INIT} to disable shared libraries. +The user may still override this default by specifying @samp{--enable-shared}. +The option @samp{disable-shared} to @code{LT_INIT} is a shorthand for this. +@code{AM_DISABLE_SHARED} is a deprecated alias for @code{AC_DISABLE_SHARED}. +@end defmac + +@defmac AC_ENABLE_SHARED +@defmacx AM_ENABLE_SHARED +Change the default behaviour for @code{LT_INIT} to enable shared libraries. +This is the default on all systems where Libtool knows how to create +shared libraries. The user may still override this default by specifying +@samp{--disable-shared}. The option @samp{shared} to @code{LT_INIT} is a +shorthand for this. +@code{AM_ENABLE_SHARED} is a deprecated alias for @code{AC_ENABLE_SHARED}. +@end defmac + +@defmac AC_DISABLE_STATIC +@defmacx AM_DISABLE_STATIC +Change the default behaviour for @code{LT_INIT} to disable static libraries. +The user may still override this default by specifying @samp{--enable-static}. +The option @samp{disable-static} to @code{LT_INIT} is a shorthand for this. +@code{AM_DISABLE_STATIC} is a deprecated alias for @code{AC_DISABLE_STATIC}. +@end defmac + +@defmac AC_ENABLE_STATIC +@defmacx AM_ENABLE_STATIC +Change the default behaviour for @code{LT_INIT} to enable static libraries. +This is the default on all systems where shared libraries have been disabled +for some reason, and on most systems where shared libraries have been enabled. +If shared libraries are enabled, the user may still override this default by +specifying @samp{--disable-static}. The option @samp{static} to @code{LT_INIT} +is a shorthand for this. +@code{AM_ENABLE_STATIC} is a deprecated alias for @code{AC_ENABLE_STATIC}. +@end defmac + +The tests in @code{LT_INIT} also recognize the following +environment variables: + +@defvar CC +The C compiler that will be used by the generated @code{libtool}. If +this is not set, @code{LT_INIT} will look for @command{gcc} or +@command{cc}. +@end defvar + +@defvar CFLAGS +Compiler flags used to generate standard object files. If this is not +set, @code{LT_INIT} will not use any such flags. It affects +only the way @code{LT_INIT} runs tests, not the produced +@code{libtool}. +@end defvar + +@defvar CPPFLAGS +C preprocessor flags. If this is not set, @code{LT_INIT} will +not use any such flags. It affects only the way @code{LT_INIT} +runs tests, not the produced @code{libtool}. +@end defvar + +@defvar LD +The system linker to use (if the generated @code{libtool} requires one). +If this is not set, @code{LT_INIT} will try to find out what is +the linker used by @code{CC}. +@end defvar + +@defvar LDFLAGS +The flags to be used by @code{libtool} when it links a program. If +this is not set, @code{LT_INIT} will not use any such flags. It +affects only the way @code{LT_INIT} runs tests, not the produced +@code{libtool}. +@end defvar + +@defvar LIBS +The libraries to be used by @code{LT_INIT} when it links a +program. If this is not set, @code{LT_INIT} will not use any +such flags. It affects only the way @code{LT_INIT} runs tests, +not the produced @code{libtool}. +@end defvar + +@defvar NM +Program to use rather than checking for @command{nm}. +@end defvar + +@defvar RANLIB +Program to use rather than checking for @command{ranlib}. +@end defvar + +@defvar LN_S +A command that creates a link of a program, a soft-link if possible, a +hard-link otherwise. @code{LT_INIT} will check for a suitable +program if this variable is not set. +@end defvar + +@defvar DLLTOOL +Program to use rather than checking for @command{dlltool}. Only meaningful +for Cygwin/MS-Windows. +@end defvar + +@defvar OBJDUMP +Program to use rather than checking for @command{objdump}. Only meaningful +for Cygwin/MS-Windows. +@end defvar + +@defvar AS +Program to use rather than checking for @command{as}. Only used on +Cygwin/MS-Windows at the moment. +@end defvar + +@defvar MANIFEST_TOOL +Program to use rather than checking for @command{mt}, the Manifest Tool. +Only used on Cygwin/MS-Windows at the moment. +@end defvar + +@defvar LT_SYS_LIBRARY_PATH +Libtool has heuristics for the system search path for runtime-loaded +libraries. If the guessed default does not match the setup of the host +system, this variable can be used to modify that path list, as follows +(@code{LT_SYS_LIBRARY_PATH} is a colon-delimited list like @code{PATH}): +@itemize @bullet +@item @code{path:} +The heuristically determined paths will be appened after the trailing +colon; +@item @code{:path} +The heuristically determined paths will be prepended before the leading +colon; +@item @code{path::path} +The heuristically determined paths will be inserted between the double +colons; +@item @code{path} +With no dangling colons, the heuristically determined paths will be +ignored entirely. +@end itemize +@end defvar + +With 1.3 era libtool, if you wanted to know any details of what +libtool had discovered about your architecture and environment, you +had to run the script with @option{--config} and grep through the +results. This idiom was supported up to and including 1.5.x era +libtool, where it was possible to call the generated libtool script +from @file{configure.ac} as soon as @code{LT_INIT} had +completed. However, one of the features of libtool 1.4 was that the +libtool configuration was migrated out of a separate @file{ltconfig} +file, and added to the @code{LT_INIT} macro (nee @code{AC_PROG_LIBTOOL}), +so the results of the configuration tests were available directly to code in +@file{configure.ac}, rendering the call out to the generated libtool +script obsolete. + +Starting with libtool 2.0, the multipass generation of the libtool +script has been consolidated into a single @file{config.status} pass, +which happens after all the code in @file{configure.ac} has +completed. The implication of this is that the libtool script does +not exist during execution of code from @file{configure.ac}, and so +obviously it cannot be called for @option{--config} details anymore. If +you are upgrading projects that used this idiom to libtool 2.0 or +newer, you should replace those calls with direct references to the +equivalent Autoconf shell variables that are set by the configure time +tests before being passed to @file{config.status} for inclusion in the +generated libtool script. + +@defmac LT_OUTPUT +By default, the configured @file{libtool} script is generated by the +call to @code{AC_OUTPUT} command, and there is rarely any need to use +@file{libtool} from @file{configure}. However, sometimes it is +necessary to run configure time compile and link tests using +@file{libtool}. You can add @code{LT_OUTPUT} to your +@file{configure.ac} any time after @code{LT_INIT} and any +@code{LT_LANG} calls; that done, @file{libtool} will be created by a +specially generated @file{config.lt} file, and available for use in +later tests. + +Also, when @code{LT_OUTPUT} is used, for backwards compatibility with +Automake regeneration rules, @file{config.status} will call +@file{config.lt} to regenerate @file{libtool}, rather than generating +the file itself. +@end defmac + +@pindex aclocal +When you invoke the @command{libtoolize} program (@pxref{Invoking +libtoolize}), it will tell you where to find a definition of +@code{LT_INIT}. If you use Automake, the @command{aclocal} program +will automatically add @code{LT_INIT} support to your +@file{configure} script when it sees the invocation of @code{LT_INIT} +in @file{configure.ac}. + +Because of these changes, and the runtime version compatibility checks +Libtool now executes, we now advise @strong{against} including a copy of +@file{libtool.m4} (and brethren) in @file{acinclude.m4}. Instead, +you should set your project macro directory with +@code{AC_CONFIG_MACRO_DIRS}. When you @command{libtoolize} your +project, a copy of the relevant macro definitions will be placed in +your @code{AC_CONFIG_MACRO_DIRS}, where @command{aclocal} can reference +them directly from @file{aclocal.m4}. + + +@node Configure notes +@subsection Platform-specific configuration notes + +While Libtool tries to hide as many platform-specific features as possible, +some have to be taken into account when configuring either the Libtool package +or a libtoolized package. + +@include notes.texi + + +@node Distributing +@section Including libtool in your package + +In order to use libtool, you need to include the following files with +your package: + +@table @file +@item config.guess +@pindex config.guess +Attempt to guess a canonical system name. + +@item config.sub +@pindex config.sub +Canonical system name validation subroutine script. + +@item install-sh +@pindex install-sh +BSD-compatible @command{install} replacement script. + +@item ltmain.sh +@pindex ltmain.sh +A generic script implementing basic libtool functionality. +@end table + +Note that the libtool script itself should @emph{not} be included with +your package. @xref{Configuring}. + +You should use the @command{libtoolize} program, rather than manually +copying these files into your package. + +@menu +* Invoking libtoolize:: @code{libtoolize} command line options. +* Autoconf and LTLIBOBJS:: Autoconf automates LTLIBOBJS generation. +@end menu + +@node Invoking libtoolize +@subsection Invoking @command{libtoolize} +@pindex libtoolize +@cindex libtoolize command options +@cindex command options, libtoolize +@cindex options, libtoolize command + +The @command{libtoolize} program provides a standard way to add libtool +support to your package. In the future, it may implement better usage +checking, or other features to make libtool even easier to use. + +The @command{libtoolize} program has the following synopsis: + +@example +libtoolize [@var{option}]@dots{} +@end example + +@noindent +and accepts the following options: + +@table @option + +@item --copy +@itemx -c +Copy files from the libtool data directory rather than creating +symlinks. + +@item --debug +Dump a trace of shell script execution to standard output. This +produces a lot of output, so you may wish to pipe it to @command{less} (or +@command{more}) or redirect to a file. + +@item --dry-run +@itemx -n +Don't run any commands that modify the file system, just print them +out. + +@item --force +@itemx -f +Replace existing libtool files. By default, @command{libtoolize} won't +overwrite existing files. + +@item --help +Display a help message and exit. + +@item --ltdl [@var{target-directory-name}] +Install libltdl in the @var{target-directory-name} subdirectory of +your package. Normally, the directory is extracted from the argument +to @code{LT_CONFIG_LTDL_DIR} in @file{configure.ac}, though you can +also specify a subdirectory name here if you are not using Autoconf +for example. If @command{libtoolize} can't determine the target +directory, @samp{libltdl} is used as the default. + +@item --no-warn +Normally, Libtoolize tries to diagnose use of deprecated libtool macros +and other stylistic issues. If you are deliberately using outdated +calling conventions, this option prevents Libtoolize from explaining +how to update your project's Libtool conventions. + +@item --nonrecursive +If passed in conjunction with @option{--ltdl}, this option will cause +the @command{libltdl} installed by @samp{libtoolize} to be set up for +use with a non-recursive @command{automake} build. To make use of it, +you will need to add the following to the @file{Makefile.am} of the +parent project: + +@example +## libltdl/ltdl.mk @r{appends to the following variables} +## @r{so we set them here before including it:} +BUILT_SOURCES = + +AM_CPPFLAGS = +AM_LDFLAGS = + +include_HEADERS = +noinst_LTLIBRARIES = +lib_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +EXTRA_DIST = + +CLEANFILES = +MOSTLYCLEANFILES = + +include libltdl/ltdl.mk +@end example + +@noindent + +@item --quiet +@itemx -q +Work silently. @samp{libtoolize --quiet} is used by GNU Automake +to add libtool files to your package if necessary. + +@item --recursive +If passed in conjunction with @option{--ltdl}, this option will cause +the @command{libtoolize} installed @samp{libltdl} to be set up for use +with a recursive @command{automake} build. To make use of it, you +will need to adjust the parent project's @file{configure.ac}: + +@example +AC_CONFIG_FILES([libltdl/Makefile]) +@end example + +@noindent +and @file{Makefile.am}: + +@example +SUBDIRS += libltdl +@end example + +@item --subproject +If passed in conjunction with @option{--ltdl}, this option will cause +the @command{libtoolize} installed @samp{libltdl} to be set up for +independent configuration and compilation as a self-contained +subproject. To make use of it, you should arrange for your build to +call @command{libltdl/configure}, and then run @command{make} in the +@file{libltdl} directory (or the subdirectory you put libltdl into). +If your project uses Autoconf, you can use the supplied +@samp{LT_WITH_LTDL} macro, or else call @samp{AC_CONFIG_SUBDIRS} +directly. + +Previous releases of @samp{libltdl} built exclusively in this mode, +but now it is the default mode both for backwards compatibility and +because, for example, it is suitable for use in projects that wish to +use @samp{libltdl}, but not use the Autotools for their own build +process. + +@item --verbose +@itemx -v +Work noisily! Give a blow by blow account of what +@command{libtoolize} is doing. + +@item --version +Print @command{libtoolize} version information and exit. +@end table + +@cindex LIBTOOLIZE_OPTIONS +Sometimes it can be useful to pass options to @command{libtoolize} even +though it is called by another program, such as @command{autoreconf}. A +limited number of options are parsed from the environment variable +@code{LIBTOOLIZE_OPTIONS}: currently @option{--debug}, @option{--no-warn}, +@option{--quiet} and @option{--verbose}. Multiple options passed in +@code{LIBTOOLIZE_OPTIONS} must be separated with a space, comma or a +colon. + +By default, a warning is issued for unknown options found in +@code{LIBTOOLIZE_OPTIONS} unless the first such option is +@option{--no-warn}. Where @command{libtoolize} has always quit +on receipt of an unknown option at the command line, this and all +previous releases of @command{libtoolize} will continue unabated whatever +the content of @code{LIBTOOLIZE_OPTIONS} (modulo some possible warning +messages). + +@example +trick$ @kbd{LIBTOOLIZE_OPTIONS=--no-warn,--quiet autoreconf --install} +@end example + +@findex AC_CONFIG_MACRO_DIRS +If @command{libtoolize} detects an explicit call to +@code{AC_CONFIG_MACRO_DIRS} (@pxref{Input, , The Autoconf Manual, +autoconf, The Autoconf Manual}) in your @file{configure.ac}, it will +put the Libtool macros in the specified directory. + +In the future other Autotools will automatically check the contents of +@code{AC_CONFIG_MACRO_DIRS}, but at the moment it is more portable to +add the macro directory to @code{ACLOCAL_AMFLAGS} in +@file{Makefile.am}, which is where the tools currently look. If +@command{libtoolize} doesn't see @code{AC_CONFIG_MACRO_DIRS}, it too +will honour the first @samp{-I} argument in @code{ACLOCAL_AMFLAGS} +when choosing a directory to store libtool configuration macros in. +It is perfectly sensible to use both @code{AC_CONFIG_MACRO_DIRS} and +@code{ACLOCAL_AMFLAGS}, as long as they are kept in synchronisation. + +@example +ACLOCAL_AMFLAGS = -I m4 +@end example + +When you bootstrap your project with @command{aclocal}, then you will +need to explicitly pass the same macro directory with +@command{aclocal}'s @samp{-I} flag: + +@example +trick$ @kbd{aclocal -I m4} +@end example + +@findex AC_CONFIG_AUX_DIR +If @command{libtoolize} detects an explicit call to +@code{AC_CONFIG_AUX_DIR} (@pxref{Input, , The Autoconf Manual, +autoconf, The Autoconf Manual}) in your @file{configure.ac}, it +will put the other support files in the specified directory. +Otherwise they too end up in the project root directory. + +Unless @option{--no-warn} is passed, @command{libtoolize} displays +hints for adding libtool support to your package, as well. + +@node Autoconf and LTLIBOBJS +@subsection Autoconf and @code{LTLIBOBJS} + +People used to add code like the following to their +@file{configure.ac}: + +@cindex LTLIBOBJS +@example +LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` +AC_SUBST([LTLIBOBJS]) +@end example + +@noindent +This is no longer required (since Autoconf 2.54), and doesn't take +Automake's deansification support into account either, so doesn't work +correctly even with ancient Autoconfs! + +Provided you are using a recent (2.54 or better) incarnation of +Autoconf, the call to @code{AC_OUTPUT} takes care of setting +@code{LTLIBOBJS} up correctly, so you can simply delete such snippets +from your @file{configure.ac} if you had them. + + +@node Static-only libraries +@section Static-only libraries +@cindex debugging libraries +@cindex developing libraries +@cindex double-compilation, avoiding +@cindex avoiding shared libraries +@cindex eliding shared libraries +@cindex using shared libraries, not +@cindex shared libraries, not using +@cindex time, saving +@cindex saving time + +When you are developing a package, it is often worthwhile to configure +your package with the @option{--disable-shared} flag, or to override the +defaults for @code{LT_INIT} by using the @code{disable-shared} option +(@pxref{LT_INIT, , The @code{LT_INIT} macro}). This prevents libtool +from building shared libraries, which has several advantages: + +@itemize @bullet +@item +compilation is twice as fast, which can speed up your development cycle, + +@item +debugging is easier because you don't need to deal with any complexities +added by shared libraries, and + +@item +you can see how libtool behaves on static-only platforms. +@end itemize + +You may want to put a small note in your package @file{README} to let +other developers know that @option{--disable-shared} can save them time. +The following example note is taken from the GIMP@footnote{GNU Image +Manipulation Program, for those who haven't taken the plunge. See +@url{http://www.gimp.org/}.} distribution @file{README}: + +@example +The GIMP uses GNU Libtool to build shared libraries on a +variety of systems. While this is very nice for making usable +binaries, it can be a pain when trying to debug a program. For that +reason, compilation of shared libraries can be turned off by +specifying the @option{--disable-shared} option to @file{configure}. +@end example + + +@node Other languages +@chapter Using libtool with other languages +@cindex C, not using +@cindex languages, non-C +@cindex C++, using + +Libtool was first implemented to add support for writing shared +libraries in the C language. However, over time, libtool is being +integrated with other languages, so that programmers are free to reap +the benefits of shared libraries in their favorite programming language. + +This chapter describes how libtool interacts with other languages, +and what special considerations you need to make if you do not use C. + +@menu +* C++ libraries:: Writing libraries for C++ +* Tags:: Tags +@end menu + +@node C++ libraries +@section Writing libraries for C++ +@c FIXME: in the TOC, the ++ is too large (seems to be math mode) +@cindex trouble with C++ +@cindex pitfalls using C++ +@cindex C++, pitfalls + +Creating libraries of C++ code should be a fairly straightforward +process, because its object files differ from C ones in only three ways: + +@enumerate 1 +@item +Because of name mangling, C++ libraries are only usable by the C++ +compiler that created them. This decision was made by the designers of +C++ to protect users from conflicting implementations of +features such as constructors, exception handling, and RTTI. + +@item +On some systems, the C++ compiler must take special actions for the +dynamic linker to run dynamic (i.e., run-time) initializers. This means +that we should not call @command{ld} directly to link such libraries, and +we should use the C++ compiler instead. + +@item +C++ compilers will link some Standard C++ library in by default, but +libtool does not know what these libraries are, so it cannot even run +the inter-library dependence analyzer to check how to link it in. +Therefore, running @command{ld} to link a C++ program or library is deemed +to fail. +@end enumerate + +Because of these three issues, Libtool has been designed to always use +the C++ compiler to compile and link C++ programs and libraries. In +some instances the @code{main()} function of a program must also be +compiled with the C++ compiler for static C++ objects to be properly +initialized. + +@node Tags +@section Tags +@cindex tag names +@cindex language names +@cindex inferring tags + +Libtool supports multiple languages through the use of tags. Technically +a tag corresponds to a set of configuration variables associated with a +language. These variables tell @command{libtool} how it should create +objects and libraries for each language. + +Tags are defined at @command{configure}-time for each language activated +in the package (see @code{LT_LANG} in @ref{LT_INIT}). Here is the +correspondence between language names and tags names. + +@multitable {Windows Resource} {Tag name} +@item Language name @tab Tag name +@item C @tab CC +@item C++ @tab CXX +@item Java @tab GCJ +@item Fortran 77 @tab F77 +@item Fortran @tab FC +@item Go @tab GO +@item Windows Resource @tab RC +@end multitable + +@command{libtool} tries to automatically infer what tag to use from +the compiler command being used to compile or link. If it can't infer +a tag, then it defaults to the configuration for the @code{C} language. + +The tag can also be specified using @command{libtool}'s +@option{--tag=@var{tag}} option (@pxref{Invoking libtool}). It is a good +idea to do so in @file{Makefile} rules, because that will allow users to +substitute the compiler without relying on @command{libtool} inference +heuristics. When no tag is specified, @command{libtool} will default +to @code{CC}; this tag always exists. + +Finally, the set of tags available in a particular project can be +retrieved by tracing for the @code{LT_SUPPORTED_TAG} macro (@pxref{Trace +interface}). + +@node Versioning +@chapter Library interface versions +@cindex dynamic dependencies +@cindex dependency versioning +@cindex shared library versions + +The most difficult issue introduced by shared libraries is that of +creating and resolving runtime dependencies. Dependencies on programs +and libraries are often described in terms of a single name, such as +@command{sed}. So, one may say ``libtool depends on sed,'' and that is +good enough for most purposes. + +However, when an interface changes regularly, we need to be more +specific: ``Gnus 5.1 requires Emacs 19.28 or above.'' Here, the +description of an interface consists of a name, and a ``version +number.'' + +Even that sort of description is not accurate enough for some purposes. +What if Emacs 20 changes enough to break Gnus 5.1? + +The same problem exists in shared libraries: we require a formal version +system to describe the sorts of dependencies that programs have on +shared libraries, so that the dynamic linker can guarantee that programs +are linked only against libraries that provide the interface they +require. + +@menu +* Interfaces:: What are library interfaces? +* Libtool versioning:: Libtool's versioning system. +* Updating version info:: Changing version information before releases. +* Release numbers:: Breaking binary compatibility for aesthetics. +@end menu + +@node Interfaces +@section What are library interfaces? +@cindex library interfaces + +Interfaces for libraries may be any of the following (and more): + +@itemize @bullet +@item +global variables: both names and types + +@item +global functions: argument types and number, return types, and function names + +@item +standard input, standard output, standard error, and file formats + +@item +sockets, pipes, and other inter-process communication protocol formats +@end itemize + +Note that static functions do not count as interfaces, because they are +not directly available to the user of the library. + +@node Libtool versioning +@section Libtool's versioning system +@cindex libtool library versions +@cindex formal versioning +@cindex versioning, formal + +Libtool has its own formal versioning system. It is not as flexible as +some, but it is definitely the simplest of the more powerful versioning +systems. + +Think of a library as exporting several sets of interfaces, arbitrarily +represented by integers. When a program is linked against a library, it +may use any subset of those interfaces. + +Libtool's description of the interfaces that a program uses is simple: +it encodes the least and the greatest interface numbers in the resulting +binary (@var{first-interface}, @var{last-interface}). + +The dynamic linker is guaranteed that if a library supports @emph{every} +interface number between @var{first-interface} and @var{last-interface}, +then the program can be relinked against that library. + +Note that this can cause problems because libtool's compatibility +requirements are actually stricter than is necessary. + +Say @file{libhello} supports interfaces 5, 16, 17, 18, and 19, and that +libtool is used to link @file{test} against @file{libhello}. + +Libtool encodes the numbers 5 and 19 in @file{test}, and the dynamic +linker will only link @file{test} against libraries that support +@emph{every} interface between 5 and 19. So, the dynamic linker refuses +to link @file{test} against @file{libhello}! + +In order to eliminate this problem, libtool only allows libraries to +declare consecutive interface numbers. So, @file{libhello} can declare at +most that it supports interfaces 16 through 19. Then, the dynamic +linker will link @file{test} against @file{libhello}. + +So, libtool library versions are described by three integers: + +@table @var +@item current +The most recent interface number that this library implements. + +@item revision +The implementation number of the @var{current} interface. + +@item age +The difference between the newest and oldest interfaces that this +library implements. In other words, the library implements all the +interface numbers in the range from number @code{@var{current} - +@var{age}} to @code{@var{current}}. +@end table + +If two libraries have identical @var{current} and @var{age} numbers, +then the dynamic linker chooses the library with the greater +@var{revision} number. + +@node Updating version info +@section Updating library version information + +If you want to use libtool's versioning system, then you must specify +the version information to libtool using the @option{-version-info} flag +during link mode (@pxref{Link mode}). + +This flag accepts an argument of the form +@samp{@var{current}[:@var{revision}[:@var{age}]]}. So, passing +@option{-version-info 3:12:1} sets @var{current} to 3, @var{revision} to +12, and @var{age} to 1. + +If either @var{revision} or @var{age} are omitted, they default to 0. +Also note that @var{age} must be less than or equal to the @var{current} +interface number. + +Here are a set of rules to help you update your library version +information: + +@enumerate 1 +@item +Start with version information of @samp{0:0:0} for each libtool library. + +@item +Update the version information only immediately before a public release +of your software. More frequent updates are unnecessary, and only +guarantee that the current interface number gets larger faster. + +@item +If the library source code has changed at all since the last update, +then increment @var{revision} (@samp{@var{c}:@var{r}:@var{a}} becomes +@samp{@var{c}:@math{r+1}:@var{a}}). + +@item +If any interfaces have been added, removed, or changed since the last +update, increment @var{current}, and set @var{revision} to 0. + +@item +If any interfaces have been added since the last public release, then +increment @var{age}. + +@item +If any interfaces have been removed or changed since the last public +release, then set @var{age} to 0. +@end enumerate + +@strong{@emph{Never}} try to set the interface numbers so that they +correspond to the release number of your package. This is an abuse that +only fosters misunderstanding of the purpose of library versions. +Instead, use the @option{-release} flag (@pxref{Release numbers}), but be +warned that every release of your package will not be binary compatible +with any other release. + +The following explanation may help to understand the above rules a bit +better: consider that there are three possible kinds of reactions from +users of your library to changes in a shared library: + +@enumerate 1 +@item +Programs using the previous version may use the new version as +drop-in replacement, and programs using the new version can also work +with the previous one. In other words, no recompiling nor relinking +is needed. In this case, bump @var{revision} only, don't touch +@var{current} nor @var{age}. + +@item +Programs using the previous version may use the new version as +drop-in replacement, but programs using the new version may use APIs not +present in the previous one. In other words, a program linking against +the new version may fail with ``unresolved symbols'' if linking against +the old version at runtime: set @var{revision} to 0, bump @var{current} +and @var{age}. + +@item +Programs may need to be changed, recompiled, and relinked in order to use +the new version. Bump @var{current}, set @var{revision} and @var{age} +to 0. +@end enumerate + +@noindent +In the above description, @emph{programs} using the library in question +may also be replaced by other libraries using it. + + +@node Release numbers +@section Managing release information + +Often, people want to encode the name of the package release into the +shared library so that it is obvious to the user what package their +programs are linked against. This convention is used especially on +GNU/Linux: + +@example +trick$ @kbd{ls /usr/lib/libbfd*} +/usr/lib/libbfd.a /usr/lib/libbfd.so.2.7.0.2 +/usr/lib/libbfd.so +trick$ +@end example + +On @samp{trick}, @file{/usr/lib/libbfd.so} is a symbolic link to +@file{libbfd.so.2.7.0.2}, which was distributed as a part of +@samp{binutils-2.7.0.2}. + +Unfortunately, this convention conflicts directly with libtool's idea of +library interface versions, because the library interface rarely changes +at the same time that the release number does, and the library suffix is +never the same across all platforms. + +So, to accommodate both views, you can use the @option{-release} +flag to set release information for libraries for which you do not +want to use @option{-version-info}. For the @file{libbfd} example, the +next release that uses libtool should be built with @samp{-release +2.9.0}, which will produce the following files on GNU/Linux: + +@example +trick$ @kbd{ls /usr/lib/libbfd*} +/usr/lib/libbfd-2.9.0.so /usr/lib/libbfd.a +/usr/lib/libbfd.so +trick$ +@end example + +In this case, @file{/usr/lib/libbfd.so} is a symbolic link to +@file{libbfd-2.9.0.so}. This makes it obvious that the user is dealing +with @samp{binutils-2.9.0}, without compromising libtool's idea of +interface versions. + +Note that this option causes a modification of the library name, so do +not use it unless you want to break binary compatibility with any past +library releases. In general, you should only use @option{-release} for +package-internal libraries or for ones whose interfaces change very +frequently. + +@node Library tips +@chapter Tips for interface design +@cindex library interfaces, design +@cindex design of library interfaces + +Writing a good library interface takes a lot of practice and thorough +understanding of the problem that the library is intended to solve. + +If you design a good interface, it won't have to change often, you won't +have to keep updating documentation, and users won't have to keep +relearning how to use the library. + +Here is a brief list of tips for library interface design that may +help you in your exploits: + +@table @asis +@item Plan ahead +Try to make every interface truly minimal, so that you won't need to +delete entry points very often. + +@item Avoid interface changes +@cindex renaming interface functions +Some people love redesigning and changing entry points just for the heck +of it (note: @emph{renaming} a function is considered changing an entry +point). Don't be one of those people. If you must redesign an +interface, then try to leave compatibility functions behind so that +users don't need to rewrite their existing code. + +@item Use opaque data types +@cindex opaque data types +The fewer data type definitions a library user has access to, the +better. If possible, design your functions to accept a generic pointer +(that you can cast to an internal data type), and provide access +functions rather than allowing the library user to directly manipulate +the data. +That way, you have the freedom to change the data structures without +changing the interface. + +This is essentially the same thing as using abstract data types and +inheritance in an object-oriented system. + +@item Use header files +@cindex header files +If you are careful to document each of your library's global functions +and variables in header files, and include them in your library source +files, then the compiler will let you know if you make any interface +changes by accident (@pxref{C header files}). + +@item Use the @code{static} keyword (or equivalent) whenever possible +@cindex global functions +The fewer global functions your library has, the more flexibility you'll +have in changing them. Static functions and variables may change forms +as often as you like@dots{} your users cannot access them, so they +aren't interface changes. + +@item Be careful with array dimensions +The number of elements in a global array is part of an interface, even +if the header just declares @code{extern int foo[];}. This is because +on i386 and some other SVR4/ELF systems, when an application +references data in a shared library the size of that data (whatever +its type) is included in the application executable. If you might +want to change the size of an array or string then provide a pointer +not the actual array. +@end table + +@menu +* C header files:: How to write portable include files. +@end menu + +@node C header files +@section Writing C header files +@cindex portable C headers +@cindex C header files, portable +@cindex include files, portable + +Writing portable C header files can be difficult, since they may be read +by different types of compilers: + +@table @asis +@item C++ compilers +C++ compilers require that functions be declared with full prototypes, +since C++ is more strongly typed than C@. C functions and variables also +need to be declared with the @code{extern "C"} directive, so that the +names aren't mangled. @xref{C++ libraries}, for other issues relevant +to using C++ with libtool. + +@item ANSI C compilers +ANSI C compilers are not as strict as C++ compilers, but functions +should be prototyped to avoid unnecessary warnings when the header file +is @code{#include}d. + +@item non-ANSI C compilers +Non-ANSI compilers will report errors if functions are prototyped. +@end table + +These complications mean that your library interface headers must use +some C preprocessor magic to be usable by each of the above compilers. + +@file{foo.h} in the @file{tests/demo} subdirectory of the libtool +distribution serves as an example for how to write a header file that +can be safely installed in a system directory. + +Here are the relevant portions of that file: + +@example +/* BEGIN_C_DECLS should be used at the beginning of your declarations, + so that C++ compilers don't mangle their names. Use END_C_DECLS at + the end of C declarations. */ +#undef BEGIN_C_DECLS +#undef END_C_DECLS +#ifdef __cplusplus +# define BEGIN_C_DECLS extern "C" @{ +# define END_C_DECLS @} +#else +# define BEGIN_C_DECLS /* empty */ +# define END_C_DECLS /* empty */ +#endif + +/* PARAMS is a macro used to wrap function prototypes, so that + compilers that don't understand ANSI C prototypes still work, + and ANSI C compilers can issue warnings about type mismatches. */ +#undef PARAMS +#if defined __STDC__ || defined _AIX \ + || (defined __mips && defined _SYSTYPE_SVR4) \ + || defined WIN32 || defined __cplusplus +# define PARAMS(protos) protos +#else +# define PARAMS(protos) () +#endif +@end example + +These macros are used in @file{foo.h} as follows: + +@example +#ifndef FOO_H +#define FOO_H 1 + +/* The above macro definitions. */ +#include "@dots{}" + +BEGIN_C_DECLS + +int foo PARAMS((void)); +int hello PARAMS((void)); + +END_C_DECLS + +#endif /* !FOO_H */ +@end example + +Note that the @file{#ifndef FOO_H} prevents the body of @file{foo.h} +from being read more than once in a given compilation. + +Also the only thing that must go outside the +@code{BEGIN_C_DECLS}/@code{END_C_DECLS} pair are @code{#include} lines. +Strictly speaking it is only C symbol names that need to be protected, +but your header files will be more maintainable if you have a single +pair of these macros around the majority of the header contents. + +You should use these definitions of @code{PARAMS}, @code{BEGIN_C_DECLS}, +and @code{END_C_DECLS} into your own headers. Then, you may use them to +create header files that are valid for C++, ANSI, and non-ANSI +compilers@footnote{We used to recommend @code{__P}, +@code{__BEGIN_DECLS} and @code{__END_DECLS}. This was bad advice since +symbols (even preprocessor macro names) that begin with an underscore +are reserved for the use of the compiler.}. + +Do not be naive about writing portable code. Following the tips given +above will help you miss the most obvious problems, but there are +definitely other subtle portability issues. You may need to cope with +some of the following issues: + +@itemize @bullet +@item +Pre-ANSI compilers do not always support the @code{void *} generic +pointer type, and so need to use @code{char *} in its place. + +@item +The @code{const}, @code{inline} and @code{signed} keywords are not +supported by some compilers, especially pre-ANSI compilers. + +@item +The @code{long double} type is not supported by many compilers. +@end itemize + + +@node Inter-library dependencies +@chapter Inter-library dependencies +@cindex dependencies between libraries +@cindex inter-library dependencies + +By definition, every shared library system provides a way for +executables to depend on libraries, so that symbol resolution is +deferred until runtime. + +An @dfn{inter-library dependency} is where a library depends on +other libraries. For example, if the libtool library @file{libhello} +uses the @code{cos} function, then it has an inter-library dependency +on @file{libm}, the math library that implements @code{cos}. + +Some shared library systems provide this feature in an +internally-consistent way: these systems allow chains of dependencies of +potentially infinite length. + +However, most shared library systems are restricted in that they only +allow a single level of dependencies. In these systems, programs may +depend on shared libraries, but shared libraries may not depend on other +shared libraries. + +In any event, libtool provides a simple mechanism for you to declare +inter-library dependencies: for every library @file{lib@var{name}} that +your own library depends on, simply add a corresponding +@code{-l@var{name}} option to the link line when you create your +library. To make an example of our @file{libhello} that depends on +@file{libm}: + +@example +burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ + -rpath /usr/local/lib -lm} +burger$ +@end example + +When you link a program against @file{libhello}, you don't need to +specify the same @samp{-l} options again: libtool will do that for you, +to guarantee that all the required libraries are found. This +restriction is only necessary to preserve compatibility with static +library systems and simple dynamic library systems. + +Some platforms, such as Windows, do not even allow you this +flexibility. In order to build a shared library, it must be entirely +self-contained or it must have dependencies known at link time (that is, +have references only to symbols that are found in the @file{.lo} files +or the specified @samp{-l} libraries), and you need to specify the +@option{-no-undefined} flag. By default, libtool builds only static +libraries on these kinds of platforms. + +The simple-minded inter-library dependency tracking code of libtool +releases prior to 1.2 was disabled because it was not clear when it was +possible to link one library with another, and complex failures would +occur. A more complex implementation of this concept was re-introduced +before release 1.3, but it has not been ported to all platforms that +libtool supports. The default, conservative behavior is to avoid +linking one library with another, introducing their inter-dependencies +only when a program is linked with them. + +@node Dlopened modules +@chapter Dlopened modules +@findex dlopen +@findex dlsym +@findex dlclose +@findex shl_load +@cindex dynamic linking, applications +@cindex dlopening modules +@cindex modules, dynamic +@cindex application-level dynamic linking + +It can sometimes be confusing to discuss @dfn{dynamic linking}, because +the term is used to refer to two different concepts: + +@enumerate 1 +@item +Compiling and linking a program against a shared library, which is +resolved automatically at run time by the dynamic linker. In this +process, dynamic linking is transparent to the application. + +@item +The application calling functions such as @code{dlopen} that load +arbitrary, user-specified modules at runtime. This type of dynamic +linking is explicitly controlled by the application. +@end enumerate + +To mitigate confusion, this manual refers to the second type of dynamic +linking as @dfn{dlopening} a module. + +The main benefit to dlopening object modules is the ability to access +compiled object code to extend your program, rather than using an +interpreted language. In fact, dlopen calls are frequently used in +language interpreters to provide an efficient way to extend the +language. + +Libtool provides support for dlopened modules. However, you should +indicate that your package is willing to use such support, by using the +@code{LT_INIT} option @samp{dlopen} in @file{configure.ac}. If this +option is not given, libtool will assume no dlopening mechanism is +available, and will try to simulate it. + +This chapter discusses how you as a dlopen application developer might +use libtool to generate dlopen-accessible modules. + +@menu +* Building modules:: Creating dlopenable objects and libraries. +* Dlpreopening:: Dlopening that works on static platforms. +* Linking with dlopened modules:: Using dlopenable modules in libraries. +* Finding the dlname:: Choosing the right file to @code{dlopen}. +* Dlopen issues:: Unresolved problems that need your attention. +@end menu + +@node Building modules +@section Building modules to dlopen + +On some operating systems, a program symbol must be specially declared +in order to be dynamically resolved with the @code{dlsym} (or +equivalent) function. Libtool provides the @option{-export-dynamic} and +@option{-module} link flags (@pxref{Link mode}), for you to make that +declaration. You need to use these flags if you are linking an +application program that dlopens other modules or a libtool library +that will also be dlopened. + +For example, if we wanted to build a shared library, @file{hello}, +that would later be dlopened by an application, we would add +@option{-module} to the other link flags: + +@example +burger$ @kbd{libtool --mode=link gcc -module -o hello.la foo.lo \ + hello.lo -rpath /usr/local/lib -lm} +burger$ +@end example + +If symbols from your @emph{executable} are needed to satisfy unresolved +references in a library you want to dlopen you will have to use the flag +@option{-export-dynamic}. You should use @option{-export-dynamic} while +linking the executable that calls dlopen: + +@example +burger$ @kbd{libtool --mode=link gcc -export-dynamic -o helldl main.o} +burger$ +@end example + +@node Dlpreopening +@section Dlpreopening + +Libtool provides special support for dlopening libtool object and +libtool library files, so that their symbols can be resolved +@emph{even on platforms without any @code{dlopen} and @code{dlsym} +functions}. + +Consider the following alternative ways of loading code into your +program, in order of increasing ``laziness'': + +@enumerate 1 +@item +Linking against object files that become part of the program executable, +whether or not they are referenced. If an object file cannot be found, +then the compile time linker refuses to create the executable. + +@item +Declaring a static library to the linker, so that it is searched at link +time to satisfy any undefined references in the above object +files. If the static library cannot be found, then the compile time +linker refuses to create the executable. + +@item +Declaring a shared library to the runtime linker, so that it is searched +at runtime to satisfy any undefined references in the above +files. If the shared library cannot be found, then the dynamic linker +aborts the program before it runs. + +@item +Dlopening a module, so that the application can resolve its own, +dynamically-computed references. If there is an error opening the +module, or the module is not found, then the application can recover +without crashing. +@end enumerate + +Libtool emulates @option{-dlopen} on static platforms by linking objects +into the program at compile time, and creating data structures that +represent the program's symbol table. In order to use this feature, +you must declare the objects you want your application to dlopen by +using the @option{-dlopen} or @option{-dlpreopen} flags when you link your +program (@pxref{Link mode}). + +@deftp {Data Type} {lt_dlsymlist} typedef struct @ + @{ @w{const char *@var{name};} @w{void *@var{address};} @} lt_dlsymlist +The @var{name} attribute is a null-terminated character string of the +symbol name, such as @code{"fprintf"}. The @var{address} attribute is a +generic pointer to the appropriate object, such as @code{&fprintf}. +@end deftp + +@deftypevar {const lt_dlsymlist } lt_preloaded_symbols[] +An array of @code{lt_dlsymlist} structures, representing all the preloaded +symbols linked into the program proper. For each module +@option{-dlpreopen}ed by the Libtool linked program +there is an element with the @var{name} of the module and an @var{address} +of @code{0}, followed by all symbols exported from this file. +For the executable itself the special name @samp{@@PROGRAM@@} is used. +The last element of all has a @var{name} and @var{address} of +@code{0}. + +To facilitate inclusion of symbol lists into libraries, +@code{lt_preloaded_symbols} is @samp{#define}d to a suitably unique name +in @file{ltdl.h}. + +This variable may not be declared @code{const} on some systems due to +relocation issues. +@end deftypevar + +Some compilers may allow identifiers that are not valid in ANSI C, such +as dollar signs. Libtool only recognizes valid ANSI C symbols (an +initial ASCII letter or underscore, followed by zero or more ASCII +letters, digits, and underscores), so non-ANSI symbols will not appear +in @code{lt_preloaded_symbols}. + +@deftypefun int lt_dlpreload (const lt_dlsymlist *@var{preloaded}) +Register the list of preloaded modules @var{preloaded}. +If @var{preloaded} is @code{NULL}, then all previously registered +symbol lists, except the list set by @code{lt_dlpreload_default}, +are deleted. Return 0 on success. +@end deftypefun + +@deftypefun int lt_dlpreload_default (const lt_dlsymlist *@var{preloaded}) +Set the default list of preloaded modules to @var{preloaded}, which +won't be deleted by @code{lt_dlpreload}. Note that this function does +@emph{not} require libltdl to be initialized using @code{lt_dlinit} and +can be used in the program to register the default preloaded modules. +Instead of calling this function directly, most programs will use the +macro @code{LTDL_SET_PRELOADED_SYMBOLS}. + +Return 0 on success. +@end deftypefun + +@defmac LTDL_SET_PRELOADED_SYMBOLS +Set the default list of preloaded symbols. +Should be used in your program to initialize libltdl's +list of preloaded modules. + +@example +#include + +int main() @{ + /* ... */ + LTDL_SET_PRELOADED_SYMBOLS(); + /* ... */ +@} +@end example +@end defmac + +@deftypefn {Function Type} {int} lt_dlpreload_callback_func (lt_dlhandle @var{handle}) +Functions of this type can be passed to @code{lt_dlpreload_open}, +which in turn will call back into a function thus passed for each +preloaded module that it opens. +@end deftypefn + +@deftypefun int lt_dlpreload_open (@w{const char *@var{originator},} @w{lt_dlpreload_callback_func *@var{func})} +Load all of the preloaded modules for @var{originator}. For every +module opened in this way, call @var{func}. + +@noindent +To open all of the modules preloaded into @file{libhell.la} +(presumably from within the @file{libhell.a} initialisation code): + +@example +#define preloaded_symbols lt_libhell_LTX_preloaded_symbols + +static int hell_preload_callback (lt_dlhandle handle); + +int +hell_init (void) +@{ + @dots{} + if (lt_dlpreload (&preloaded_symbols) == 0) + @{ + lt_dlpreload_open ("libhell", preload_callback); + @} + @dots{} +@} +@end example + +@noindent +Note that to prevent clashes between multiple preloaded modules, the +preloaded symbols are accessed via a mangled symbol name: to get the +symbols preloaded into @samp{libhell}, you must prefix +@samp{preloaded_symbols} with @samp{lt_}; the originator name, +@samp{libhell} in this case; and @samp{_LTX_}. That is, +@samp{lt_libhell_LTX_preloaded_symbols} here. +@end deftypefun + + +@node Linking with dlopened modules +@section Linking with dlopened modules +@cindex linking, dlopen +@cindex linking, dlpreopen + +When, say, an interpreter application uses dlopened modules to extend +the list of methods it provides, an obvious abstraction for the +maintainers of the interpreter is to have all methods (including the +built in ones supplied with the interpreter) accessed through +dlopen. For one thing, the dlopening functionality will be tested +even during routine invocations. For another, only one subsystem has +to be written for getting methods into the interpreter. + +The downside of this abstraction is, of course, that environments that +provide only static linkage can't even load the intrinsic interpreter +methods. Not so! We can statically link those methods by +@strong{dlpreopening} them. + +Unfortunately, since platforms such as AIX and cygwin require +that all library symbols must be resolved at compile time, the +interpreter maintainers will need to provide a library to both its own +dlpreopened modules, and third-party modules loaded by dlopen. In +itself, that is not so bad, except that the interpreter too must +provide those same symbols otherwise it will be impossible to resolve +all the symbols required by the modules as they are loaded. Things +are even worse if the code that loads the modules for the interpreter +is itself in a library -- and that is usually the case for any +non-trivial application. Modern platforms take care of this by +automatically loading all of a module's dependency libraries as the +module is loaded (libltdl can do this even on platforms that can't do +it by themselves). In the end, this leads to problems with duplicated +symbols and prevents modules from loading, and prevents the +application from compiling when modules are preloaded. + +@example +,-------------. ,------------------. ,-----------------. +| Interpreter |----> Module------------> Third-party | +`-------------' | Loader | |Dlopened Modules | + | | | `-----------------' + |,-------v--------.| | + || Dlpreopened || | + || Modules || | + |`----------------'| | + | | | | + |,-------v--------.| ,--------v--------. + ||Module Interface|| |Module Interface | + || Library || | Library | + |`----------------'| `-----------------' + `------------------' +@end example + +Libtool has the concept of @dfn{weak library interfaces} to circumvent +this problem. Recall that the code that dlopens method-provider +modules for the interpreter application resides in a library: All of +the modules and the dlopener library itself should be linked against +the common library that resolves the module symbols at compile time. +To guard against duplicate symbol definitions, and for dlpreopened +modules to work at all in this scenario, the dlopener library must +declare that it provides a weak library interface to the common +symbols in the library it shares with the modules. That way, when +@command{libtool} links the @strong{Module Loader} library with some +@strong{Dlpreopened Modules} that were in turn linked against the +@strong{Module Interface Library}, it knows that the @strong{Module +Loader} provides an already loaded @strong{Module Interface Library} +to resolve symbols for the @strong{Dlpreopened Modules}, and doesn't +ask the compiler driver to link an identical @strong{Module Interface +Library} dependency library too. + +In conjunction with Automake, the @file{Makefile.am} for the +@strong{Module Loader} might look like this: + +@example +lib_LTLIBRARIES = libinterface.la libloader.la + +libinterface_la_SOURCES = interface.c interface.h +libinterface_la_LDFLAGS = -version-info 3:2:1 + +libloader_la_SOURCES = loader.c +libloader_la_LDFLAGS = -weak libinterface.la \ + -version-info 3:2:1 \ + -dlpreopen ../modules/intrinsics.la +libloader_la_LIBADD = $(libinterface_la_OBJECTS) +@end example + +And the @file{Makefile.am} for the @file{intrinsics.la} module in a +sibling @file{modules} directory might look like this: + +@example +AM_CPPFLAGS = -I$(srcdir)/../libloader +AM_LDFLAGS = -no-undefined -module -avoid-version \ + -export-dynamic + +noinst_LTLIBRARIES = intrinsics.la + +intrinsics_la_LIBADD = ../libloader/libinterface.la + +../libloader/libinterface.la: + cd ../libloader && $(MAKE) $(AM_MAKEFLAGS) libinterface.la +@end example + +@cindex @option{-weak} option +For a more complex example, see the sources of @file{libltdl} in the +Libtool distribution, which is built with the help of the @option{-weak} +option. + + +@node Finding the dlname +@section Finding the correct name to dlopen +@cindex names of dynamic modules +@cindex dynamic modules, names + +After a library has been linked with @option{-module}, it can be dlopened. +Unfortunately, because of the variation in library names, +your package needs to determine the correct file to dlopen. + +The most straightforward and flexible implementation is to determine the +name at runtime, by finding the installed @file{.la} file, and searching +it for the following lines: + +@example +# The name that we can @code{dlopen}. +dlname='@var{dlname}' +@end example + +If @var{dlname} is empty, then the library cannot be dlopened. +Otherwise, it gives the dlname of the library. So, if the library was +installed as @file{/usr/local/lib/libhello.la}, and the @var{dlname} was +@file{libhello.so.3}, then @file{/usr/local/lib/libhello.so.3} should be +dlopened. + +If your program uses this approach, then it should search the +directories listed in the @code{LD_LIBRARY_PATH}@footnote{@code{LIBPATH} +on AIX, and @code{SHLIB_PATH} on HP-UX.} environment variable, as well as +the directory where libraries will eventually be installed. Searching +this variable (or equivalent) will guarantee that your program can find +its dlopened modules, even before installation, provided you have linked +them using libtool. + +@node Dlopen issues +@section Unresolved dlopen issues +@cindex pitfalls with dlopen +@cindex dlopening, pitfalls +@cindex trouble with dlopen + +The following problems are not solved by using libtool's dlopen support: + +@itemize @bullet +@item +Dlopen functions are generally only available on shared library +platforms. If you want your package to be portable to static platforms, +you have to use either libltdl (@pxref{Using libltdl}) or develop your +own alternatives to dlopening dynamic code. +Most reasonable solutions involve writing wrapper functions for the +@code{dlopen} family, which do package-specific tricks when dlopening +is unsupported or not available on a given platform. + +@item +There are major differences in implementations of the @code{dlopen} +family of functions. Some platforms do not even use the same function +names (notably HP-UX, with its @code{shl_load} family). + +@item +The application developer must write a custom search function +to discover the correct module filename to supply to @code{dlopen}. +@end itemize + +@node Using libltdl +@chapter Using libltdl +@findex libltdl +@findex dlopen +@findex dlsym +@findex dlclose +@findex dlerror +@findex shl_load +@cindex dynamic linking, applications +@cindex dlopening modules +@cindex modules, dynamic +@cindex application-level dynamic linking + +Libtool provides a small library, called @file{libltdl}, that aims at +hiding the various difficulties of dlopening libraries from programmers. +It consists of a few headers and small C source files that can be +distributed with applications that need dlopening functionality. On +some platforms, whose dynamic linkers are too limited for a simple +implementation of @file{libltdl} services, it requires GNU DLD, or it +will only emulate dynamic linking with libtool's dlpreopening mechanism. + +@noindent +libltdl supports currently the following dynamic linking mechanisms: + +@itemize @bullet +@item +@code{dlopen} (POSIX compliant systems, GNU/Linux, etc.) +@item +@code{shl_load} (HP-UX) +@item +@code{LoadLibrary} (Win16 and Win32) +@item +@code{load_add_on} (BeOS) +@item +@code{NSAddImage} or @code{NSLinkModule} (Darwin and Mac OS X) +@item +GNU DLD (emulates dynamic linking for static libraries) +@item +libtool's dlpreopen (@pxref{Dlpreopening}) +@end itemize + +@noindent +libltdl is licensed under the terms of the GNU Lesser General +Public License, with the following exception: + +@quotation +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include it under the same +distribution terms that you use for the rest of that program. +@end quotation + +@menu +* Libltdl interface:: How to use libltdl in your programs. +* Modules for libltdl:: Creating modules that can be @code{dlopen}ed. +* Thread Safety in libltdl:: Registering callbacks for multi-thread safety. +* User defined module data:: Associating data with loaded modules. +* Module loaders for libltdl:: Creating user defined module loaders. +* Distributing libltdl:: How to distribute libltdl with your package. +@end menu + +@node Libltdl interface +@section How to use libltdl in your programs + +@noindent +The libltdl API is similar to the POSIX dlopen interface, +which is very simple but powerful. + +@noindent +To use libltdl in your program you have to include the header file @file{ltdl.h}: + +@example +#include +@end example + +@noindent +The early releases of libltdl used some symbols that violated the +POSIX namespace conventions. These symbols are now deprecated, +and have been replaced by those described here. If you have code that +relies on the old deprecated symbol names, defining +@samp{LT_NON_POSIX_NAMESPACE} before you include @file{ltdl.h} provides +conversion macros. Whichever set of symbols you use, the new API is +not binary compatible with the last, so you will need to recompile +your application to use this version of libltdl. + +@noindent +Note that libltdl is not well tested in a multithreaded environment, +though the intention is that it should work (@pxref{Thread Safety +in libltdl, , Using libltdl in a multi threaded environment}). It was +reported that GNU/Linux's glibc 2.0's @code{dlopen} with +@samp{RTLD_LAZY} (that libltdl uses by default) is not thread-safe, +but this problem is supposed to be fixed in glibc 2.1. On the other +hand, @samp{RTLD_NOW} was reported to introduce problems in +multi-threaded applications on FreeBSD@. Working around these problems +is left as an exercise for the reader; contributions are certainly +welcome. + +@noindent +The following macros are defined by including @file{ltdl.h}: + +@defmac LT_PATHSEP_CHAR +@code{LT_PATHSEP_CHAR} is the system-dependent path separator, +that is, @samp{;} on Windows and @samp{:} everywhere else. +@end defmac + +@defmac LT_DIRSEP_CHAR +If @code{LT_DIRSEP_CHAR} is defined, it can be used as directory +separator in addition to @samp{/}. On Windows, this contains +@samp{\}. +@end defmac + + +@noindent +The following types are defined in @file{ltdl.h}: + +@deftp {Type} lt_dlhandle +@code{lt_dlhandle} is a module ``handle''. +Every lt_dlopened module has a handle associated with it. +@end deftp + +@deftp {Type} lt_dladvise +@code{lt_dladvise} is used to control optional module loading modes. +If it is not used, the default mode of the underlying system module +loader is used. +@end deftp + +@deftp {Type} lt_dlsymlist +@code{lt_dlsymlist} is a symbol list for dlpreopened modules +(@pxref{Dlpreopening}). +@end deftp + +@page +@noindent +libltdl provides the following functions: + +@deftypefun int lt_dlinit (void) +Initialize libltdl. +This function must be called before using libltdl +and may be called several times. +Return 0 on success, otherwise the number of errors. +@end deftypefun + +@deftypefun int lt_dlexit (void) +Shut down libltdl and close all modules. +This function will only then shut down libltdl when it was called as +many times as @code{lt_dlinit} has been successfully called. +Return 0 on success, otherwise the number of errors. +@end deftypefun + +@deftypefun lt_dlhandle lt_dlopen (const char *@var{filename}) +Open the module with the file name @var{filename} and return a +handle for it. @code{lt_dlopen} is able to open libtool dynamic +modules, preloaded static modules, the program itself and +native dynamic modules@footnote{Some platforms, notably Mac OS X, +differentiate between a runtime library that cannot be opened by +@code{lt_dlopen} and a dynamic module that can. For maximum +portability you should try to ensure that you only pass +@code{lt_dlopen} objects that have been compiled with libtool's +@option{-module} flag.}. + +Unresolved symbols in the module are resolved using its dependency +libraries and previously dlopened modules. If the executable using +this module was linked with the @option{-export-dynamic} flag, then the +global symbols in the executable will also be used to resolve +references in the module. + +If @var{filename} is @code{NULL} and the program was linked with +@option{-export-dynamic} or @option{-dlopen self}, @code{lt_dlopen} will +return a handle for the program itself, which can be used to access its +symbols. + +If libltdl cannot find the library and the file name @var{filename} does +not have a directory component it will additionally look in the +following search paths for the module (in the following order): + +@enumerate 1 +@item user-defined search path: +This search path can be changed by the program using the +functions @code{lt_dlsetsearchpath}, @code{lt_dladdsearchdir} and +@code{lt_dlinsertsearchdir}. + +@item libltdl's search path: +This search path is the value of the environment variable +@env{LTDL_LIBRARY_PATH}. + +@item system library search path: +The system dependent library search path +(e.g.@: on GNU/Linux it is @env{LD_LIBRARY_PATH}). +@end enumerate + +Each search path must be a list of absolute directories separated by +@code{LT_PATHSEP_CHAR}, for example, @code{"/usr/lib/mypkg:/lib/foo"}. +The directory names may not contain the path separator. + +If the same module is loaded several times, the same handle is returned. +If @code{lt_dlopen} fails for any reason, it returns @code{NULL}. +@end deftypefun + +@deftypefun lt_dlhandle lt_dlopenext (const char *@var{filename}) +The same as @code{lt_dlopen}, except that it tries to append +different file name extensions to the file name. +If the file with the file name @var{filename} cannot be found +libltdl tries to append the following extensions: + +@enumerate 1 +@item the libtool archive extension @file{.la} +@item the extension used for native dynamically loadable modules on the host platform, e.g., @file{.so}, @file{.sl}, etc. +@end enumerate + +This lookup strategy was designed to allow programs that don't +have knowledge about native dynamic libraries naming conventions +to be able to @code{dlopen} such libraries as well as libtool modules +transparently. +@end deftypefun + +@deftypefun lt_dlhandle lt_dlopenadvise (const char *@var{filename}, @w{lt_dladvise @var{advise}}) +The same as @code{lt_dlopen}, except that it also requires an additional +argument that may contain additional hints to the underlying system +module loader. The @var{advise} parameter is opaque and can only be +accessed with the functions documented below. + +Note that this function does not change the content of @var{advise}, so +unlike the other calls in this API takes a direct @code{lt_dladvise} +type, and not a pointer to the same. +@end deftypefun + +@deftypefun int lt_dladvise_init (lt_dladvise *@var{advise}) +The @var{advise} parameter can be used to pass hints to the module +loader when using @code{lt_dlopenadvise} to perform the loading. +The @var{advise} parameter needs to be initialised by this function +before it can be used. Any memory used by @var{advise} needs to be +recycled with @code{lt_dladvise_destroy} when it is no longer needed. + +On failure, @code{lt_dladvise_init} returns non-zero and sets an error +message that can be retrieved with @code{lt_dlerror}. +@end deftypefun + +@deftypefun int lt_dladvise_destroy (lt_dladvise *@var{advise}) +Recycle the memory used by @var{advise}. For an example, see the +documentation for @code{lt_dladvise_ext}. + +On failure, @code{lt_dladvise_destroy} returns non-zero and sets an error +message that can be retrieved with @code{lt_dlerror}. +@end deftypefun + +@deftypefun int lt_dladvise_ext (lt_dladvise *@var{advise}) +Set the @code{ext} hint on @var{advise}. Passing an @var{advise} +parameter to @code{lt_dlopenadvise} with this hint set causes it to +try to append different file name extensions like @code{lt_dlopenext}. + +The following example is equivalent to calling +@code{lt_dlopenext (filename)}: + +@example +lt_dlhandle +my_dlopenext (const char *filename) +@{ + lt_dlhandle handle = 0; + lt_dladvise advise; + + if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)) + handle = lt_dlopenadvise (filename, advise); + + lt_dladvise_destroy (&advise); + + return handle; +@} +@end example + +On failure, @code{lt_dladvise_ext} returns non-zero and sets an error +message that can be retrieved with @code{lt_dlerror}. +@end deftypefun + +@deftypefun int lt_dladvise_global (lt_dladvise *@var{advise}) +Set the @code{symglobal} hint on @var{advise}. Passing an @var{advise} +parameter to @code{lt_dlopenadvise} with this hint set causes it to try +to make the loaded module's symbols globally available for resolving +unresolved symbols in subsequently loaded modules. + +If neither the @code{symglobal} nor the @code{symlocal} hints are set, +or if a module is loaded without using the @code{lt_dlopenadvise} call +in any case, then the visibility of the module's symbols will be as per +the default for the underlying module loader and OS. Even if a +suitable hint is passed, not all loaders are able to act upon it in +which case @code{lt_dlgetinfo} will reveal whether the hint was actually +followed. + +On failure, @code{lt_dladvise_global} returns non-zero and sets an error +message that can be retrieved with @code{lt_dlerror}. +@end deftypefun + +@deftypefun int lt_dladvise_local (lt_dladvise *@var{advise}) +Set the @code{symlocal} hint on @var{advise}. Passing an @var{advise} +parameter to @code{lt_dlopenadvise} with this hint set causes it to try +to keep the loaded module's symbols hidden so that they are not +visible to subsequently loaded modules. + +If neither the @code{symglobal} nor the @code{symlocal} hints are set, +or if a module is loaded without using the @code{lt_dlopenadvise} call +in any case, then the visibility of the module's symbols will be as per +the default for the underlying module loader and OS. Even if a +suitable hint is passed, not all loaders are able to act upon it in +which case @code{lt_dlgetinfo} will reveal whether the hint was actually +followed. + +On failure, @code{lt_dladvise_local} returns non-zero and sets an error +message that can be retrieved with @code{lt_dlerror}. +@end deftypefun + +@deftypefun int lt_dladvise_resident (lt_dladvise *@var{advise}) +Set the @code{resident} hint on @var{advise}. Passing an @var{advise} +parameter to @code{lt_dlopenadvise} with this hint set causes it to try +to make the loaded module resident in memory, so that it cannot be +unloaded with a later call to @code{lt_dlclose}. + +On failure, @code{lt_dladvise_resident} returns non-zero and sets an error +message that can be retrieved with @code{lt_dlerror}. +@end deftypefun + +@deftypefun int lt_dladvise_preload (lt_dladvise *@var{advise}) +Set the @code{preload} hint on @var{advise}. Passing an @var{advise} +parameter to @code{lt_dlopenadvise} with this hint set causes it to +load only preloaded modules, so that if a suitable preloaded module is +not found, @code{lt_dlopenadvise} will return @code{NULL}. +@end deftypefun + +@deftypefun int lt_dlclose (lt_dlhandle @var{handle}) +Decrement the reference count on the module @var{handle}. +If it drops to zero and no other module depends on this module, +then the module is unloaded. +Return 0 on success. +@end deftypefun + +@deftypefun {void *} lt_dlsym (lt_dlhandle @var{handle}, const char *@var{name}) +Return the address in the module @var{handle}, where the symbol given +by the null-terminated string @var{name} is loaded. +If the symbol cannot be found, @code{NULL} is returned. +@end deftypefun + +@deftypefun {const char *} lt_dlerror (void) +Return a human readable string describing the most +recent error that occurred from any of libltdl's functions. +Return @code{NULL} if no errors have occurred since initialization +or since it was last called. +@end deftypefun + +@deftypefun int lt_dladdsearchdir (const char *@var{search_dir}) +Append the search directory @var{search_dir} to the current user-defined +library search path. Return 0 on success. +@end deftypefun + +@deftypefun int lt_dlinsertsearchdir (@w{const char *@var{before}}, @w{const char *@var{search_dir}}) +Insert the search directory @var{search_dir} into the user-defined library +search path, immediately before the element starting at address +@var{before}. If @var{before} is @samp{NULL}, then @var{search_dir} is +appending as if @code{lt_dladdsearchdir} had been called. Return 0 on success. +@end deftypefun + +@deftypefun int lt_dlsetsearchpath (const char *@var{search_path}) +Replace the current user-defined library search path with +@var{search_path}, which must be a list of absolute directories separated +by @code{LT_PATHSEP_CHAR}. Return 0 on success. +@end deftypefun + +@deftypefun {const char *} lt_dlgetsearchpath (void) +Return the current user-defined library search path. +@end deftypefun + +@deftypefun int lt_dlforeachfile (@w{const char *@var{search_path}}, @w{int (*@var{func}) (const char *@var{filename}, void * @var{data})}, @w{void * @var{data}}) +In some applications you may not want to load individual modules with +known names, but rather find all of the modules in a set of +directories and load them all during initialisation. With this function +you can have libltdl scan the @code{LT_PATHSEP_CHAR}-delimited directory list +in @var{search_path} for candidates, and pass them, along with +@var{data} to your own callback function, @var{func}. If @var{search_path} is +@samp{NULL}, then search all of the standard locations that +@code{lt_dlopen} would examine. This function will continue to make +calls to @var{func} for each file that it discovers in @var{search_path} +until one of these calls returns non-zero, or until the files are +exhausted. @samp{lt_dlforeachfile} returns the value returned by the last +call made to @var{func}. + +For example you could define @var{func} to build an ordered +@dfn{argv}-like vector of files using @var{data} to hold the address of +the start of the vector. +@end deftypefun + +@deftypefun int lt_dlmakeresident (lt_dlhandle @var{handle}) +Mark a module so that it cannot be @samp{lt_dlclose}d. This can be +useful if a module implements some core functionality in your project +that would cause your code to crash if removed. Return 0 on success. + +If you use @samp{lt_dlopen (NULL)} to get a @var{handle} for the running +binary, that handle will always be marked as resident, and consequently +cannot be successfully @samp{lt_dlclose}d. +@end deftypefun + +@deftypefun int lt_dlisresident (lt_dlhandle @var{handle}) +Check whether a particular module has been marked as resident, returning 1 +if it has or 0 otherwise. If there is an error while executing this +function, return -1 and set an error message for retrieval with +@code{lt_dlerror}. +@end deftypefun + +@node Modules for libltdl +@section Creating modules that can be @code{dlopen}ed + +Libtool modules are created like normal libtool libraries with a few +exceptions: + +You have to link the module with libtool's @option{-module} switch, +and you should link any program that is intended to dlopen the module with +@option{-dlopen @var{modulename.la}} where possible, so that libtool can +dlpreopen the module on platforms that do not support dlopening. If +the module depends on any other libraries, make sure you specify them +either when you link the module or when you link programs that dlopen it. +If you want to disable versioning (@pxref{Versioning}) for a specific module +you should link it with the @option{-avoid-version} switch. +Note that libtool modules don't need to have a "lib" prefix. +However, Automake 1.4 or higher is required to build such modules. + +Usually a set of modules provide the same interface, i.e.@: exports the same +symbols, so that a program can dlopen them without having to know more +about their internals: In order to avoid symbol conflicts all exported +symbols must be prefixed with "modulename_LTX_" (@var{modulename} is +the name of the module). Internal symbols must be named in such a way +that they won't conflict with other modules, for example, by prefixing +them with "_modulename_". Although some platforms support having the +same symbols defined more than once it is generally not portable and +it makes it impossible to dlpreopen such modules. + +libltdl will automatically cut the prefix off to get the real name of +the symbol. Additionally, it supports modules that do not use a +prefix so that you can also dlopen non-libtool modules. + +@file{foo1.c} gives an example of a portable libtool module. +Exported symbols are prefixed with "foo1_LTX_", internal symbols +with "_foo1_". Aliases are defined at the beginning so that the code +is more readable. + +@example +/* aliases for the exported symbols */ +#define foo foo1_LTX_foo +#define bar foo1_LTX_bar + +/* a global variable definition */ +int bar = 1; + +/* a private function */ +int _foo1_helper() @{ + return bar; +@} + +/* an exported function */ +int foo() @{ + return _foo1_helper(); +@} +@end example + +@noindent +The @file{Makefile.am} contains the necessary rules to build the +module @file{foo1.la}: + +@example +... +lib_LTLIBRARIES = foo1.la + +foo1_la_SOURCES = foo1.c +foo1_la_LDFLAGS = -module +... +@end example + + +@node Thread Safety in libltdl +@section Using libltdl in a multi threaded environment + +Libltdl provides a wrapper around whatever dynamic run-time object +loading mechanisms are provided by the host system, many of which are +themselves not thread safe. Consequently libltdl cannot itself be +consistently thread safe. + +If you wish to use libltdl in a multithreaded environment, then you +must mutex lock around libltdl calls, since they may in turn be calling +non-thread-safe system calls on some target hosts. + +Some old releases of libtool provided a mutex locking API that +was unusable with POSIX threads, so callers were forced to lock around +all libltdl API calls anyway. That mutex locking API was +next to useless, and is not present in current releases. + +Some future release of libtool may provide a new POSIX thread +compliant mutex locking API. + +@node User defined module data +@section Data associated with loaded modules + +Some of the internal information about each loaded module that is +maintained by libltdl is available to the user, in the form of this +structure: + +@deftypefn {Type} {struct} lt_dlinfo @{ @w{char *@var{filename};} @ + @w{char *@var{name};} @w{int @var{ref_count};} @ + @w{int @var{is_resident};} @w{int @var{is_symglobal};} @ + @w{int @var{is_symlocal};}@} +@code{lt_dlinfo} is used to store information about a module. +The @var{filename} attribute is a null-terminated character string of +the real module file name. If the module is a libtool module then +@var{name} is its module name (e.g.@: @code{"libfoo"} for +@code{"dir/libfoo.la"}), otherwise it is set to @code{NULL}. The +@var{ref_count} attribute is a reference counter that describes how +often the same module is currently loaded. The remaining fields can +be compared to any hints that were passed to @code{lt_dlopenadvise} +to determine whether the underlying loader was able to follow them. +@end deftypefn + +The following function will return a pointer to libltdl's internal copy +of this structure for the given @var{handle}: + +@deftypefun {const lt_dlinfo *} lt_dlgetinfo (@w{lt_dlhandle @var{handle}}) +Return a pointer to a struct that contains some information about +the module @var{handle}. The contents of the struct must not be modified. +Return @code{NULL} on failure. +@end deftypefun + +Furthermore, to save you from having to keep a list of the +handles of all the modules you have loaded, these functions allow you to +iterate over libltdl's list of loaded modules: + +@deftp {Type} lt_dlinterface_id +The opaque type used to hold the module interface details for each +registered libltdl client. +@end deftp + +@deftypefn {Type} int lt_dlhandle_interface (@w{lt_dlhandle @var{handle},} @ + @w{const char *@var{id_string}}) +Functions of this type are called to check that a handle conforms to a +library's expected module interface when iterating over the global +handle list. You should be careful to write a callback function of +this type that can correctly identify modules that belong to this +client, both to prevent other clients from accidentally finding your +loaded modules with the iterator functions below, and vice versa. The +best way to do this is to check that module @var{handle} conforms +to the interface specification of your loader using @code{lt_dlsym}. + +The callback may be given @strong{every} module loaded by all the +libltdl module clients in the current address space, including any +modules loaded by other libraries such as libltdl itself, and should +return non-zero if that module does not fulfill the interface +requirements of your loader. + +@example +int +my_interface_cb (lt_dlhandle handle, const char *id_string) +@{ + char *(*module_id) (void) = NULL; + + /* @r{A valid my_module must provide all of these symbols.} */ + if (!((module_id = (char*(*)(void)) lt_dlsym ("module_version")) + && lt_dlsym ("my_module_entrypoint"))) + return 1; + + if (strcmp (id_string, module_id()) != 0) + return 1; + + return 0; +@} +@end example +@end deftypefn + +@deftypefun lt_dlinterface_id lt_dlinterface_register @ + (@w{const char *@var{id_string}}, @w{lt_dlhandle_interface *@var{iface}}) +Use this function to register your interface validator with libltdl, +and in return obtain a unique key to store and retrieve per-module data. +You supply an @var{id_string} and @var{iface} so that the resulting +@code{lt_dlinterface_id} can be used to filter the module handles +returned by the iteration functions below. If @var{iface} is @code{NULL}, +all modules will be matched. +@end deftypefun + +@deftypefun void lt_dlinterface_free (@w{lt_dlinterface_id @var{iface}}) +Release the data associated with @var{iface}. +@end deftypefun + +@deftypefun int lt_dlhandle_map (@w{lt_dlinterface_id @var{iface}}, @ + @w{int (*@var{func}) (lt_dlhandle @var{handle}, void * @var{data})}, @ + @w{void * @var{data}}) +For each module that matches @var{iface}, call the function +@var{func}. When writing the @var{func} callback function, the +argument @var{handle} is the handle of a loaded module, and +@var{data} is the last argument passed to @code{lt_dlhandle_map}. As +soon as @var{func} returns a non-zero value for one of the handles, +@code{lt_dlhandle_map} will stop calling @var{func} and immediately +return that non-zero value. Otherwise 0 is eventually returned when +@var{func} has been successfully called for all matching modules. +@end deftypefun + +@deftypefun lt_dlhandle lt_dlhandle_iterate (@w{lt_dlinterface_id @ + @var{iface}}, @w{lt_dlhandle @var{place}}) +Iterate over the module handles loaded by @var{iface}, returning the +first matching handle in the list if @var{place} is @code{NULL}, and +the next one on subsequent calls. If @var{place} is the last element +in the list of eligible modules, this function returns @code{NULL}. + +@example +lt_dlhandle handle = 0; +lt_dlinterface_id iface = my_interface_id; + +while ((handle = lt_dlhandle_iterate (iface, handle))) + @{ + @dots{} + @} +@end example +@end deftypefun + +@deftypefun lt_dlhandle lt_dlhandle_fetch (@w{lt_dlinterface_id @var{iface}}, @w{const char *@var{module_name}}) +Search through the module handles loaded by @var{iface} for a module named +@var{module_name}, returning its handle if found or else @code{NULL} +if no such named module has been loaded by @var{iface}. +@end deftypefun + +However, you might still need to maintain your own list of loaded +module handles (in parallel with the list maintained inside libltdl) +if there were any other data that your application wanted to associate +with each open module. Instead, you can use the following API +calls to do that for you. You must first obtain a unique interface id +from libltdl as described above, and subsequently always use it to +retrieve the data you stored earlier. This allows different libraries +to each store their own data against loaded modules, without +interfering with one another. + +@deftypefun {void *} lt_dlcaller_set_data (@w{lt_dlinterface_id @var{key}}, @w{lt_dlhandle @var{handle}}, @w{void * @var{data}}) +Set @var{data} as the set of data uniquely associated with @var{key} and +@var{handle} for later retrieval. This function returns the @var{data} +previously associated with @var{key} and @var{handle} if any. A result of +0, may indicate that a diagnostic for the last error (if any) is available +from @code{lt_dlerror()}. + +For example, to correctly remove some associated data: + +@example +void *stale = lt_dlcaller_set_data (key, handle, 0); +if (stale != NULL) + @{ + free (stale); + @} +else + @{ + char *error_msg = lt_dlerror (); + + if (error_msg != NULL) + @{ + my_error_handler (error_msg); + return STATUS_FAILED; + @} + @} +@end example +@end deftypefun + +@deftypefun {void *} lt_dlcaller_get_data (@w{lt_dlinterface_id @var{key}}, @w{lt_dlhandle @var{handle}}) +Return the address of the data associated with @var{key} and +@var{handle}, or else @code{NULL} if there is none. +@end deftypefun + +Old versions of libltdl also provided a simpler, but similar, API +based around @code{lt_dlcaller_id}. Unfortunately, it had no +provision for detecting whether a module belonged to a particular +interface as libltdl didn't support multiple loaders in the same +address space at that time. Those APIs are no longer supported +as there would be no way to stop clients of the old APIs from +seeing (and accidentally altering) modules loaded by other libraries. + + +@node Module loaders for libltdl +@section How to create and register new module loaders + +Sometimes libltdl's many ways of gaining access to modules are not +sufficient for the purposes of a project. You can write your own +loader, and register it with libltdl so that @code{lt_dlopen} will be +able to use it. + +Writing a loader involves writing at least three functions that can be +called by @code{lt_dlopen}, @code{lt_dlsym} and @code{lt_dlclose}. +Optionally, you can provide a finalisation function to perform any +cleanup operations when @code{lt_dlexit} executes, and a symbol prefix +string that will be prepended to any symbols passed to @code{lt_dlsym}. +These functions must match the function pointer types below, after +which they can be allocated to an instance of @code{lt_user_dlloader} +and registered. + +Registering the loader requires that you choose a name for it, so that it +can be recognised by @code{lt_dlloader_find} and removed with +@code{lt_dlloader_remove}. The name you choose must be unique, and not +already in use by libltdl's builtin loaders: + +@table @asis +@item "dlopen" +The system dynamic library loader, if one exists. +@item "dld" +The GNU dld loader, if @file{libdld} was installed when libltdl was +built. +@item "dlpreload" +The loader for @code{lt_dlopen}ing of preloaded static modules. +@end table + +The prefix "dl" is reserved for loaders supplied with future versions of +libltdl, so you should not use that for your own loader names. + +@noindent +The following types are defined in @file{ltdl.h}: + +@deftp {Type} lt_module +@code{lt_module} is a dlloader dependent module. +The dynamic module loader extensions communicate using these low +level types. +@end deftp + +@deftp {Type} lt_dlloader +@code{lt_dlloader} is a handle for module loader types. +@end deftp + +@deftp {Type} lt_user_data +@code{lt_user_data} is used for specifying loader instance data. +@end deftp + +@deftypefn {Type} {struct} lt_user_dlloader @{@w{const char *@var{sym_prefix};} @w{lt_module_open *@var{module_open};} @w{lt_module_close *@var{module_close};} @w{lt_find_sym *@var{find_sym};} @w{lt_dlloader_exit *@var{dlloader_exit};} @} +If you want to define a new way to open dynamic modules, and have the +@code{lt_dlopen} API use it, you need to instantiate one of these +structures and pass it to @code{lt_dlloader_add}. You can pass whatever +you like in the @var{dlloader_data} field, and it will be passed back as +the value of the first parameter to each of the functions specified in +the function pointer fields. +@end deftypefn + +@deftypefn {Type} lt_module lt_module_open (@w{const char *@var{filename}}) +The type of the loader function for an @code{lt_dlloader} module +loader. The value set in the dlloader_data field of the @code{struct +lt_user_dlloader} structure will be passed into this function in the +@var{loader_data} parameter. Implementation of such a function should +attempt to load the named module, and return an @code{lt_module} +suitable for passing in to the associated @code{lt_module_close} and +@code{lt_sym_find} function pointers. If the function fails it should +return @code{NULL}, and set the error message with @code{lt_dlseterror}. +@end deftypefn + +@deftypefn {Type} int lt_module_close (@w{lt_user_data @var{loader_data},} @w{lt_module @var{module}}) +The type of the unloader function for a user defined module loader. +Implementation of such a function should attempt to release +any resources tied up by the @var{module} module, and then unload it +from memory. If the function fails for some reason, set the error +message with @code{lt_dlseterror} and return non-zero. +@end deftypefn + +@deftypefn {Type} {void *} lt_find_sym (@w{lt_module @var{module},} @w{const char *@var{symbol}}) +The type of the symbol lookup function for a user defined module loader. +Implementation of such a function should return the address of the named +@var{symbol} in the module @var{module}, or else set the error message +with @code{lt_dlseterror} and return @code{NULL} if lookup fails. +@end deftypefn + +@deftypefn {Type} int lt_dlloader_exit (@w{lt_user_data @var{loader_data}}) +The type of the finalisation function for a user defined module loader. +Implementation of such a function should free any resources associated +with the loader, including any user specified data in the +@code{dlloader_data} field of the @code{lt_user_dlloader}. If non-@code{NULL}, +the function will be called by @code{lt_dlexit}, and +@code{lt_dlloader_remove}. +@end deftypefn + +For example: + +@example +int +register_myloader (void) +@{ + lt_user_dlloader dlloader; + + /* User modules are responsible for their own initialisation. */ + if (myloader_init () != 0) + return MYLOADER_INIT_ERROR; + + dlloader.sym_prefix = NULL; + dlloader.module_open = myloader_open; + dlloader.module_close = myloader_close; + dlloader.find_sym = myloader_find_sym; + dlloader.dlloader_exit = myloader_exit; + dlloader.dlloader_data = (lt_user_data)myloader_function; + + /* Add my loader as the default module loader. */ + if (lt_dlloader_add (lt_dlloader_next (NULL), &dlloader, + "myloader") != 0) + return ERROR; + + return OK; +@} +@end example + +Note that if there is any initialisation required for the loader, +it must be performed manually before the loader is registered -- +libltdl doesn't handle user loader initialisation. + +Finalisation @emph{is} handled by libltdl however, and it is important +to ensure the @code{dlloader_exit} callback releases any resources claimed +during the initialisation phase. + +@page +@noindent +libltdl provides the following functions for writing your own module +loaders: + +@deftypefun int lt_dlloader_add (@w{lt_dlloader *@var{place},} @ + @w{lt_user_dlloader *@var{dlloader},} @w{const char *@var{loader_name}}) +Add a new module loader to the list of all loaders, either as the +last loader (if @var{place} is @code{NULL}), else immediately before the +loader passed as @var{place}. @var{loader_name} will be returned by +@code{lt_dlloader_name} if it is subsequently passed a newly +registered loader. These @var{loader_name}s must be unique, or +@code{lt_dlloader_remove} and @code{lt_dlloader_find} cannot +work. Returns 0 for success. + +@example +/* Make myloader be the last one. */ +if (lt_dlloader_add (NULL, myloader) != 0) + perror (lt_dlerror ()); +@end example +@end deftypefun + +@deftypefun int lt_dlloader_remove (@w{const char *@var{loader_name}}) +Remove the loader identified by the unique name, @var{loader_name}. +Before this can succeed, all modules opened by the named loader must +have been closed. Returns 0 for success, otherwise an error message can +be obtained from @code{lt_dlerror}. + +@example +/* Remove myloader. */ +if (lt_dlloader_remove ("myloader") != 0) + perror (lt_dlerror ()); +@end example +@end deftypefun + +@deftypefun {lt_dlloader *} lt_dlloader_next (@w{lt_dlloader *@var{place}}) +Iterate over the module loaders, returning the first loader if @var{place} is +@code{NULL}, and the next one on subsequent calls. The handle is for use with +@code{lt_dlloader_add}. + +@example +/* Make myloader be the first one. */ +if (lt_dlloader_add (lt_dlloader_next (NULL), myloader) != 0) + return ERROR; +@end example +@end deftypefun + +@deftypefun {lt_dlloader *} lt_dlloader_find (@w{const char *@var{loader_name}}) +Return the first loader with a matching @var{loader_name} identifier, or else +@code{NULL}, if the identifier is not found. + +The identifiers that may be used by libltdl itself, if the host +architecture supports them are @dfn{dlopen}@footnote{This is used for +the host dependent module loading API -- @code{shl_load} and +@code{LoadLibrary} for example}, @dfn{dld} and @dfn{dlpreload}. + +@example +/* Add a user loader as the next module loader to be tried if + the standard dlopen loader were to fail when lt_dlopening. */ +if (lt_dlloader_add (lt_dlloader_find ("dlopen"), myloader) != 0) + return ERROR; +@end example +@end deftypefun + +@deftypefun {const char *} lt_dlloader_name (@w{lt_dlloader *@var{place}}) +Return the identifying name of @var{place}, as obtained from +@code{lt_dlloader_next} or @code{lt_dlloader_find}. If this function fails, +it will return @code{NULL} and set an error for retrieval with +@code{lt_dlerror}. +@end deftypefun + +@deftypefun {lt_user_data *} lt_dlloader_data (@w{lt_dlloader *@var{place}}) +Return the address of the @code{dlloader_data} of @var{place}, as +obtained from @code{lt_dlloader_next} or @code{lt_dlloader_find}. If +this function fails, it will return @code{NULL} and set an error for +retrieval with @code{lt_dlerror}. +@end deftypefun + +@subsection Error handling within user module loaders + +@deftypefun int lt_dladderror (@w{const char *@var{diagnostic}}) +This function allows you to integrate your own error messages into +@code{lt_dlerror}. Pass in a suitable diagnostic message for return by +@code{lt_dlerror}, and an error identifier for use with +@code{lt_dlseterror} is returned. + +If the allocation of an identifier fails, this function returns -1. + +@example +int myerror = lt_dladderror ("doh!"); +if (myerror < 0) + perror (lt_dlerror ()); +@end example +@end deftypefun + +@deftypefun int lt_dlseterror (@w{int @var{errorcode}}) +When writing your own module loaders, you should use this function to +raise errors so that they are propagated through the @code{lt_dlerror} +interface. All of the standard errors used by libltdl are declared in +@file{ltdl.h}, or you can add more of your own with +@code{lt_dladderror}. This function returns 0 on success. + +@example +if (lt_dlseterror (LTDL_ERROR_NO_MEMORY) != 0) + perror (lt_dlerror ()); +@end example +@end deftypefun + +@node Distributing libltdl +@section How to distribute libltdl with your package + +Even though libltdl is installed together with libtool, you may wish +to include libltdl in the distribution of your package, for the +convenience of users of your package that don't have libtool or +libltdl installed, or if you are using features of a very new version +of libltdl that you don't expect your users to have yet. In such +cases, you must decide what flavor of libltdl you want to use: a +convenience library or an installable libtool library. + +The most simplistic way to add @code{libltdl} to your package is to +copy all the @file{libltdl} source files to a subdirectory within +your package and to build and link them along with the rest of your +sources. To help you do this, the m4 macros for Autoconf are +available in @file{ltdl.m4}. You must ensure that they are available +in @file{aclocal.m4} before you run Autoconf@footnote{@c +@c +We used to recommend adding the contents of @file{ltdl.m4} to +@file{acinclude.m4}, but with @command{aclocal} from a modern +Automake (1.8 or newer) and this release of libltdl that is not only +unnecessary but makes it easy to forget to upgrade @file{acinclude.m4} +if you move to a different release of libltdl. +@c +}. Having made the macros available, you must add a call to the +@samp{LTDL_INIT} macro (after the call to @samp{LT_INIT}) +to your package's @file{configure.ac} to +perform the configure time checks required to build the library +correctly. Unfortunately, this method has problems if you then try to +link the package binaries with an installed libltdl, or a library that +depends on libltdl, because of the duplicate symbol definitions. For +example, ultimately linking against two different versions of libltdl, +or against both a local convenience library and an installed libltdl +is bad. Ensuring that only one copy of the libltdl sources are linked +into any program is left as an exercise for the reader. + +@defmac LT_CONFIG_LTDL_DIR (@var{directory}) +Declare @var{directory} to be the location of the @code{libltdl} +source files, for @command{libtoolize --ltdl} to place +them. @xref{Invoking libtoolize}, for more details. Provided that you +add an appropriate @code{LT_CONFIG_LTDL_DIR} call in your +@file{configure.ac} before calling @command{libtoolize}, the +appropriate @code{libltdl} files will be installed automatically. +@end defmac + +@defmac LTDL_INIT (@var{options}) +@defmacx LT_WITH_LTDL +@defmacx AC_WITH_LTDL +@code{AC_WITH_LTDL} and @code{LT_WITH_LTDL} are deprecated names for +older versions of this macro; @command{autoupdate} will update your +@file{configure.ac} file. + +This macro adds the following options to the @command{configure} +script: + +@table @option +@item --with-ltdl-include @var{installed-ltdl-header-dir} +The @code{LTDL_INIT} macro will look in the standard header file +locations to find the installed @code{libltdl} headers. If +@code{LTDL_INIT} can't find them by itself, the person who builds +your package can use this option to tell @command{configure} where +the installed @code{libltdl} headers are. + +@item --with-ltdl-lib @var{installed-ltdl-library-dir} +Similarly, the person building your package can use this option to +help @command{configure} find the installed @file{libltdl.la}. + +@item --with-included-ltdl +If there is no installed @code{libltdl}, or in any case if the +person building your package would rather use the @code{libltdl} +sources shipped with the package in the subdirectory named by +@code{LT_CONFIG_LTDL_DIR}, they should pass this option to +@command{configure}. +@end table + +If the @option{--with-included-ltdl} is not passed at +configure time, and an installed @code{libltdl} is not +found@footnote{@c +@c +Even if libltdl is installed, @samp{LTDL_INIT} may fail +to detect it if libltdl depends on symbols provided by libraries +other than the C library. +@c +}, then @command{configure} will exit immediately with an error that +asks the user to either specify the location of an installed +@code{libltdl} using the @option{--with-ltdl-include} and +@option{--with-ltdl-lib} options, or to build with the +@code{libltdl} sources shipped with the package by passing +@option{--with-included-ltdl}. + +If an installed @code{libltdl} is found, then @code{LIBLTDL} is set to +the link flags needed to use it, and @code{LTDLINCL} to the preprocessor +flags needed to find the installed headers, and @code{LTDLDEPS} will +be empty. Note, however, that no version checking is performed. You +should manually check for the @code{libltdl} features you need in +@file{configure.ac}: + +@example +LT_INIT([dlopen]) +LTDL_INIT + +# The lt_dladvise_init symbol was added with libtool-2.2 +if test yes != "$with_included_ltdl"; then + save_CFLAGS=$CFLAGS + save_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS $LTDLINCL" + LDFLAGS="$LDFLAGS $LIBLTDL" + AC_CHECK_LIB([ltdl], [lt_dladvise_init], + [], + [AC_MSG_ERROR([installed libltdl is too old])]) + LDFLAGS=$save_LDFLAGS + CFLAGS=$save_CFLAGS +fi +@end example + +@var{options} may include no more than one of the following build +modes depending on how you want your project to build @code{libltdl}: +@samp{nonrecursive}, @samp{recursive}, or @samp{subproject}. In order +for @command{libtoolize} to detect this option correctly, if you +supply one of these arguments, they must be given literally (i.e., +macros or shell variables that expand to the correct ltdl mode will not +work). + +@table @samp +@item nonrecursive +This is how the Libtool project distribution builds the @code{libltdl} +we ship and install. If you wish to use Automake to build +@code{libltdl} without invoking a recursive make to descend into the +@code{libltdl} subdirectory, then use this option. You will need to set +your configuration up carefully to make this work properly, and you will +need releases of Autoconf and Automake that support +@code{subdir-objects} and @code{LIBOBJDIR} properly. In your +@file{configure.ac}, add: + +@example +AM_INIT_AUTOMAKE([subdir-objects]) +AC_CONFIG_HEADERS([config.h]) +LT_CONFIG_LTDL_DIR([libltdl]) +LT_INIT([dlopen]) +LTDL_INIT([nonrecursive]) +@end example + +@noindent +You @emph{have to} use a config header, but it may have a name different +than @file{config.h}. + +Also, add the following near the top of your @file{Makefile.am}: + +@example +AM_CPPFLAGS = +AM_LDFLAGS = + +BUILT_SOURCES = +EXTRA_DIST = +CLEANFILES = +MOSTLYCLEANFILES = + +include_HEADERS = +noinst_LTLIBRARIES = +lib_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +include libltdl/ltdl.mk +@end example + +@noindent +Unless you build no other libraries from this @file{Makefile.am}, +you will also need to change @code{lib_LTLIBRARIES} to assign with +@samp{+=} so that the @code{libltdl} targets declared in +@file{ltdl.mk} are not overwritten. + +@item recursive +This build mode still requires that you use Automake, but (in contrast +with @samp{nonrecursive}) uses the more usual device of starting another +@code{make} process in the @file{libltdl} subdirectory. To use this +mode, you should add to your @file{configure.ac}: + +@example +AM_INIT_AUTOMAKE +AC_CONFIG_HEADERS([config.h]) +LT_CONFIG_LTDL_DIR([libltdl]) +LT_INIT([dlopen]) +LTDL_INIT([recursive]) +AC_CONFIG_FILES([libltdl/Makefile]) +@end example + +@noindent +Again, you @emph{have to} use a config header, but it may have a name +different than @file{config.h} if you like. + +Also, add this to your @file{Makefile.am}: + +@example +SUBDIRS = libltdl +@end example + +@item subproject +This mode is the default unless you explicitly add @code{recursive} or +@code{nonrecursive} to your @code{LTDL_INIT} options; @code{subproject} +is the only mode supported by previous releases of libltdl. Even if you +do not use Autoconf in the parent project, then, in @samp{subproject} +mode, still @code{libltdl} contains all the necessary files to configure +and build itself -- you just need to arrange for your build system to +call @file{libltdl/configure} with appropriate options, and then run +@code{make} in the @code{libltdl} subdirectory. + +If you @emph{are} using Autoconf and Automake, then you will need to add +the following to your @file{configure.ac}: + +@example +LT_CONFIG_LTDL_DIR([libltdl]) +LTDL_INIT +@end example + +@noindent +and to @file{Makefile.am}: + +@example +SUBDIRS = libltdl +@end example +@end table + +Aside from setting the libltdl build mode, there are other keywords +that you can pass to @code{LTDL_INIT} to modify its behavior when +@option{--with-included-ltdl} has been given: + +@table @samp +@item convenience +This is the default unless you explicitly add @code{installable} to +your @code{LTDL_INIT} options. + +This keyword will cause options to be passed to the @command{configure} +script in the subdirectory named by @code{LT_CONFIG_LTDL_DIR} +to cause it to be built as a convenience library. If you're not +using automake, you will need to define @code{top_build_prefix}, +@code{top_builddir}, and @code{top_srcdir} in your makefile so that +@code{LIBLTDL}, @code{LTDLDEPS}, and @code{LTDLINCL} expand correctly. + +One advantage of the convenience library is that it is not installed, +so the fact that you use @code{libltdl} will not be apparent to the +user, and it won't overwrite a pre-installed version of +@code{libltdl} the system might already have in the installation +directory. On the other hand, if you want to upgrade @code{libltdl} +for any reason (e.g.@: a bugfix) you'll have to recompile your package +instead of just replacing the shared installed version of +@code{libltdl}. However, if your programs or libraries are linked +with other libraries that use such a pre-installed version of +@code{libltdl}, you may get linker errors or run-time crashes. +Another problem is that you cannot link the convenience library into +more than one libtool library, then link a single program with those +libraries, because you may get duplicate symbols. In general you can +safely use the convenience library in programs that don't depend on +other libraries that might use @code{libltdl} too. + +@item installable +This keyword will pass options to the @command{configure} +script in the subdirectory named by @code{LT_CONFIG_LTDL_DIR} +to cause it to be built as an installable library. If you're not +using automake, you will need to define @code{top_build_prefix}, +@code{top_builddir} and @code{top_srcdir} in your makefile so that +@code{LIBLTDL}, @code{LTDLDEPS}, and @code{LTDLINCL} are expanded +properly. + +Be aware that you could overwrite another @code{libltdl} already +installed to the same directory if you use this option. +@end table +@end defmac + +Whatever method you use, @samp{LTDL_INIT} will define the shell variable +@code{LIBLTDL} to the link flag that you should use to link with +@code{libltdl}, the shell variable @code{LTDLDEPS} to the files that +can be used as a dependency in @file{Makefile} rules, and the shell +variable @code{LTDLINCL} to the preprocessor flag that you should use to +compile programs that include @file{ltdl.h}. So, when you want to link a +program with libltdl, be it a convenience, installed or installable +library, just use @samp{$(LTDLINCL)} for preprocessing and compilation, +and @samp{$(LIBLTDL)} for linking. + +@itemize @bullet +@item +If your package is built using an installed version of @code{libltdl}, +@code{LIBLTDL} will be set to the compiler flags needed to link against +the installed library, @code{LTDLDEPS} will be empty, and @code{LTDLINCL} +will be set to the compiler flags needed to find the @code{libltdl} +header files. + +@item +If your package is built using the convenience libltdl, @code{LIBLTDL} +and @code{LTDLDEPS} will be the pathname for the convenience version of +libltdl (starting with @samp{$@{top_builddir@}/} or +@samp{$@{top_build_prefix@}}) and @code{LTDLINCL} will be @option{-I} +followed by the directory that contains @file{ltdl.h} (starting with +@samp{$@{top_srcdir@}/}). + +@item +If an installable version of the included @code{libltdl} is being +built, its pathname starting with @samp{$@{top_builddir@}/} or +@samp{$@{top_build_prefix@}}, will be stored in @code{LIBLTDL} and +@code{LTDLDEPS}, and @code{LTDLINCL} will be set just like in the case of +convenience library. +@end itemize + +You should probably also use the @samp{dlopen} option to @code{LT_INIT} +in your @file{configure.ac}, otherwise libtool will assume no dlopening +mechanism is supported, and revert to dlpreopening, which is probably not +what you want. Avoid using the @option{-static}, +@option{-static-libtool-libs}, or @option{-all-static} +switches when linking programs with libltdl. This will not work on +all platforms, because the dlopening functions may not be available +for static linking. + +The following example shows you how to embed an installable libltdl in +your package. In order to use the convenience variant, just replace the +@code{LTDL_INIT} option @samp{installable} with @samp{convenience}. We +assume that libltdl was embedded using @samp{libtoolize --ltdl}. + +configure.ac: +@example +... +# Name the subdirectory that contains libltdl sources +LT_CONFIG_LTDL_DIR([libltdl]) + +# Configure libtool with dlopen support if possible +LT_INIT([dlopen]) + +# Enable building of the installable libltdl library +LTDL_INIT([installable]) +... +@end example + +Makefile.am: +@example +... +SUBDIRS = libltdl + +AM_CPPFLAGS = $(LTDLINCL) + +myprog_LDFLAGS = -export-dynamic +myprog_LDADD = $(LIBLTDL) -dlopen self -dlopen foo1.la +myprog_DEPENDENCIES = $(LTDLDEPS) foo1.la +... +@end example + +@defmac LTDL_INSTALLABLE +@defmacx AC_LIBLTDL_INSTALLABLE +These macros are deprecated, the @samp{installable} option to +@code{LTDL_INIT} should be used instead. +@end defmac + +@defmac LTDL_CONVENIENCE +@defmacx AC_LIBLTDL_CONVENIENCE +These macros are deprecated, the @samp{convenience} option to +@code{LTDL_INIT} should be used instead. +@end defmac + + +@node Trace interface +@chapter Libtool's trace interface +@cindex trace interface +@cindex autoconf traces + +This section describes macros whose sole purpose is to be traced using +Autoconf's @option{--trace} option (@pxref{autoconf Invocation, , The +Autoconf Manual, autoconf, The Autoconf Manual}) to query the Libtool +configuration of a project. These macros are called by Libtool +internals and should never be called by user code; they should only be +traced. + +@defmac LT_SUPPORTED_TAG (@var{tag}) +This macro is called once for each language enabled in the package. Its +only argument, @var{tag}, is the tag-name corresponding to the language +(@pxref{Tags}). + +You can therefore retrieve the list of all tags enabled in a project +using the following command: +@example +autoconf --trace 'LT_SUPPORTED_TAG:$1' +@end example +@end defmac + + +@node FAQ +@chapter Frequently Asked Questions about libtool + +This chapter covers some questions that often come up on the mailing +lists. + +@menu +* Stripped link flags:: Dropped flags when creating a library +@end menu + +@node Stripped link flags +@section Why does libtool strip link flags when creating a library? + +When creating a shared library, but not when compiling or creating +a program, @command{libtool} drops some flags from the command line +provided by the user. This is done because flags unknown to +@command{libtool} may interfere with library creation or require +additional support from @command{libtool}, and because omitting +flags is usually the conservative choice for a successful build. + +If you encounter flags that you think are useful to pass, as a +work-around you can prepend flags with @code{-Wc,} or @code{-Xcompiler } +to allow them to be passed through to the compiler driver +(@pxref{Link mode}). Another possibility is to add flags already +to the compiler command at @command{configure} run time: + +@example +./configure CC='gcc -m64' +@end example + +If you think @command{libtool} should let some flag through by default, +here's how you can test such an inclusion: grab the Libtool development +tree, edit the @file{ltmain.in} file in the @file{libltdl/config} +subdirectory to pass through the flag (search for @samp{Flags to be +passed through}), re-bootstrap and build with the flags in question +added to @code{LDFLAGS}, @code{CFLAGS}, @code{CXXFLAGS}, etc. on the +@command{configure} command line as appropriate. Run the testsuite +as described in the @file{README} file and report results to +@value{BUGADDR}. + +@node Troubleshooting +@chapter Troubleshooting +@cindex troubleshooting +@cindex problems, solving +@cindex solving problems +@cindex problems, blaming somebody else for + +Libtool is under constant development, changing to remain up-to-date +with modern operating systems. If libtool doesn't work the way you +think it should on your platform, you should read this chapter to help +determine what the problem is, and how to resolve it. + +@menu +* Libtool test suite:: Libtool's self-tests. +* Reporting bugs:: How to report problems with libtool. +@end menu + +@node Libtool test suite +@section The libtool test suite +@cindex test suite + +Libtool comes with two integrated sets of tests to check that your build +is sane, that test its capabilities, and report obvious bugs in the +libtool program. These tests, too, are constantly evolving, based on +past problems with libtool, and known deficiencies in other operating +systems. + +As described in the @file{README} file, you may run @kbd{make -k check} +after you have built libtool (possibly before you install it) +to make sure that it meets basic functional requirements. + +@menu +* Test descriptions:: The contents of the old test suite. +* When tests fail:: What to do when a test fails. +@end menu + +@node Test descriptions +@subsection Description of test suite + +Here is a list of the current programs in the old test suite, and what +they test for: + +@table @file + +@item cdemo-conf.test +@itemx cdemo-make.test +@itemx cdemo-exec.test +@itemx cdemo-static.test +@itemx cdemo-static-make.test +@itemx cdemo-static-exec.test +@itemx cdemo-shared.test +@itemx cdemo-shared-make.test +@itemx cdemo-shared-exec.test +@itemx cdemo-undef.test +@itemx cdemo-undef-make.test +@itemx cdemo-undef-exec.test +@pindex cdemo-conf.test +@pindex cdemo-make.test +@pindex cdemo-exec.test +@pindex cdemo-static.test +@pindex cdemo-static-make.test +@pindex cdemo-static-exec.test +@pindex cdemo-shared.test +@pindex cdemo-shared-make.test +@pindex cdemo-shared-exec.test +@pindex cdemo-undef.test +@pindex cdemo-undef-make.test +@pindex cdemo-undef-exec.test +These programs check to see that the @file{tests/cdemo} subdirectory of +the libtool distribution can be configured and built correctly. + +The @file{tests/cdemo} subdirectory contains a demonstration of libtool +convenience libraries, a mechanism that allows build-time static +libraries to be created, in a way that their components can be later +linked into programs or other libraries, even shared ones. + +The tests matching @file{cdemo-*make.test} and @file{cdemo-*exec.test} +are executed three times, under three different libtool configurations: +@file{cdemo-conf.test} configures @file{cdemo/libtool} to build both +static and shared libraries (the default for platforms that support +both), @file{cdemo-static.test} builds only static libraries +(@samp{--disable-shared}), and @file{cdemo-shared.test} builds only +shared libraries (@samp{--disable-static}). + +The test @file{cdemo-undef.test} tests the generation of shared +libraries with undefined symbols on systems that allow this. + +@item demo-conf.test +@itemx demo-make.test +@itemx demo-exec.test +@itemx demo-inst.test +@itemx demo-unst.test +@itemx demo-static.test +@itemx demo-static-make.test +@itemx demo-static-exec.test +@itemx demo-static-inst.test +@itemx demo-static-unst.test +@itemx demo-shared.test +@itemx demo-shared-make.test +@itemx demo-shared-exec.test +@itemx demo-shared-inst.test +@itemx demo-shared-unst.test +@itemx demo-nofast.test +@itemx demo-nofast-make.test +@itemx demo-nofast-exec.test +@itemx demo-nofast-inst.test +@itemx demo-nofast-unst.test +@itemx demo-pic.test +@itemx demo-pic-make.test +@itemx demo-pic-exec.test +@itemx demo-nopic.test +@itemx demo-nopic-make.test +@itemx demo-nopic-exec.test +@pindex demo-conf.test +@pindex demo-make.test +@pindex demo-exec.test +@pindex demo-inst.test +@pindex demo-unst.test +@pindex demo-static.test +@pindex demo-static-make.test +@pindex demo-static-exec.test +@pindex demo-static-inst.test +@pindex demo-static-unst.test +@pindex demo-shared.test +@pindex demo-shared-make.test +@pindex demo-shared-exec.test +@pindex demo-shared-inst.test +@pindex demo-shared-unst.test +@pindex demo-nofast.test +@pindex demo-nofast-make.test +@pindex demo-nofast-exec.test +@pindex demo-nofast-inst.test +@pindex demo-nofast-unst.test +@pindex demo-pic.test +@pindex demo-pic-make.test +@pindex demo-pic-exec.test +@pindex demo-nopic.test +@pindex demo-nopic-make.test +@pindex demo-nopic-exec.test +These programs check to see that the @file{tests/demo} subdirectory of +the libtool distribution can be configured, built, installed, and +uninstalled correctly. + +The @file{tests/demo} subdirectory contains a demonstration of a trivial +package that uses libtool. The tests matching @file{demo-*make.test}, +@file{demo-*exec.test}, @file{demo-*inst.test} and +@file{demo-*unst.test} are executed four times, under four different +libtool configurations: @file{demo-conf.test} configures +@file{demo/libtool} to build both static and shared libraries, +@file{demo-static.test} builds only static libraries +(@option{--disable-shared}), and @file{demo-shared.test} builds only +shared libraries (@option{--disable-static}). +@file{demo-nofast.test} configures @file{demo/libtool} to +disable the fast-install mode (@option{--enable-fast-install=no}). +@file{demo-pic.test} configures @file{demo/libtool} to +prefer building PIC code (@option{--with-pic}), @file{demo-nopic.test} +to prefer non-PIC code (@option{--without-pic}). + +@item demo-deplibs.test +@pindex demo-deplibs.test +Many systems cannot link static libraries into shared libraries. +libtool uses a @code{deplibs_check_method} to prevent such cases. +This tests checks whether libtool's @code{deplibs_check_method} +works properly. + +@item demo-hardcode.test +@pindex demo-hardcode.test +On all systems with shared libraries, the location of the library can be +encoded in executables that are linked against it @pxref{Linking +executables}. This test checks under what conditions your system +linker hardcodes the library location, and guarantees that they +correspond to libtool's own notion of how your linker behaves. + +@item demo-relink.test +@itemx depdemo-relink.test +@pindex demo-relink.test +@pindex depdemo-relink.test +These tests check whether variable @code{shlibpath_overrides_runpath} is +properly set. If the test fails, it will indicate what the variable should +have been set to. + +@item demo-noinst-link.test +@pindex demo-noinst-link.test +Checks whether libtool will not try to link with a previously installed +version of a library when it should be linking with a just-built one. + +@item depdemo-conf.test +@itemx depdemo-make.test +@itemx depdemo-exec.test +@itemx depdemo-inst.test +@itemx depdemo-unst.test +@itemx depdemo-static.test +@itemx depdemo-static-make.test +@itemx depdemo-static-exec.test +@itemx depdemo-static-inst.test +@itemx depdemo-static-unst.test +@itemx depdemo-shared.test +@itemx depdemo-shared-make.test +@itemx depdemo-shared-exec.test +@itemx depdemo-shared-inst.test +@itemx depdemo-shared-unst.test +@itemx depdemo-nofast.test +@itemx depdemo-nofast-make.test +@itemx depdemo-nofast-exec.test +@itemx depdemo-nofast-inst.test +@itemx depdemo-nofast-unst.test +@pindex depdemo-conf.test +@pindex depdemo-make.test +@pindex depdemo-exec.test +@pindex depdemo-inst.test +@pindex depdemo-unst.test +@pindex depdemo-static.test +@pindex depdemo-static-make.test +@pindex depdemo-static-exec.test +@pindex depdemo-static-inst.test +@pindex depdemo-static-unst.test +@pindex depdemo-shared.test +@pindex depdemo-shared-make.test +@pindex depdemo-shared-exec.test +@pindex depdemo-shared-inst.test +@pindex depdemo-shared-unst.test +@pindex depdemo-nofast.test +@pindex depdemo-nofast-make.test +@pindex depdemo-nofast-exec.test +@pindex depdemo-nofast-inst.test +@pindex depdemo-nofast-unst.test +These programs check to see that the @file{tests/depdemo} subdirectory +of the libtool distribution can be configured, built, installed, and +uninstalled correctly. + +The @file{tests/depdemo} subdirectory contains a demonstration of +inter-library dependencies with libtool. The test programs link some +interdependent libraries. + +The tests matching @file{depdemo-*make.test}, @file{depdemo-*exec.test}, +@file{depdemo-*inst.test} and @file{depdemo-*unst.test} are executed +four times, under four different libtool configurations: +@file{depdemo-conf.test} configures @file{depdemo/libtool} to build both +static and shared libraries, @file{depdemo-static.test} builds only static +libraries (@option{--disable-shared}), and @file{depdemo-shared.test} builds +only shared libraries (@option{--disable-static}). +@file{depdemo-nofast.test} configures @file{depdemo/libtool} to +disable the fast-install mode (@option{--enable-fast-install=no}). + +@item mdemo-conf.test +@itemx mdemo-make.test +@itemx mdemo-exec.test +@itemx mdemo-inst.test +@itemx mdemo-unst.test +@itemx mdemo-static.test +@itemx mdemo-static-make.test +@itemx mdemo-static-exec.test +@itemx mdemo-static-inst.test +@itemx mdemo-static-unst.test +@itemx mdemo-shared.test +@itemx mdemo-shared-make.test +@itemx mdemo-shared-exec.test +@itemx mdemo-shared-inst.test +@itemx mdemo-shared-unst.test +@pindex mdemo-conf.test +@pindex mdemo-make.test +@pindex mdemo-exec.test +@pindex mdemo-inst.test +@pindex mdemo-unst.test +@pindex mdemo-static.test +@pindex mdemo-static-make.test +@pindex mdemo-static-exec.test +@pindex mdemo-static-inst.test +@pindex mdemo-static-unst.test +@pindex mdemo-shared.test +@pindex mdemo-shared-make.test +@pindex mdemo-shared-exec.test +@pindex mdemo-shared-inst.test +@pindex mdemo-shared-unst.test +These programs check to see that the @file{tests/mdemo} subdirectory of +the libtool distribution can be configured, built, installed, and +uninstalled correctly. + +The @file{tests/mdemo} subdirectory contains a demonstration of a +package that uses libtool and the system independent dlopen wrapper +@file{libltdl} to load modules. The library @file{libltdl} provides a +dlopen wrapper for various platforms (POSIX) +including support for dlpreopened modules (@pxref{Dlpreopening}). + +The tests matching @file{mdemo-*make.test}, @file{mdemo-*exec.test}, +@file{mdemo-*inst.test} and @file{mdemo-*unst.test} are executed +three times, under three different libtool configurations: +@file{mdemo-conf.test} configures @file{mdemo/libtool} to build both +static and shared libraries, @file{mdemo-static.test} builds only static +libraries (@option{--disable-shared}), and @file{mdemo-shared.test} builds +only shared libraries (@option{--disable-static}). + +@item mdemo-dryrun.test +@pindex mdemo-dryrun.test +This test checks whether libtool's @option{--dry-run} mode works properly. + +@item mdemo2-conf.test +@itemx mdemo2-exec.test +@itemx mdemo2-make.test +@pindex mdemo2-conf.test +@pindex mdemo2-exec.test +@pindex mdemo2-make.test +These programs check to see that the @file{tests/mdemo2} subdirectory of +the libtool distribution can be configured, built, and executed +correctly. + +The @file{tests/mdemo2} directory contains a demonstration of a package +that attempts to link with a library (from the @file{tests/mdemo} +directory) that itself does dlopening of libtool modules. + +@item link.test +@pindex link.test +This test guarantees that linking directly against a non-libtool static +library works properly. + +@item link-2.test +@pindex link-2.test +This test makes sure that files ending in @file{.lo} are never linked +directly into a program file. + +@item nomode.test +@pindex nomode.test +Check whether we can actually get help for libtool. + +@item objectlist.test +@pindex objectlist.test +Check that a nonexistent objectlist file is properly detected. + +@item pdemo-conf.test +@itemx pdemo-make.test +@itemx pdemo-exec.test +@itemx pdemo-inst.test +@pindex pdemo-conf.test +@pindex pdemo-make.test +@pindex pdemo-exec.test +@pindex pdemo-inst.test +These programs check to see that the @file{tests/pdemo} subdirectory of +the libtool distribution can be configured, built, and executed +correctly. + +The @file{pdemo-conf.test} lowers the @code{max_cmd_len} variable in the +generated libtool script to test the measures to evade command line +length limitations. + +@item quote.test +@pindex quote.test +This program checks libtool's metacharacter quoting. + +@item sh.test +@pindex sh.test +Checks for some nonportable or dubious or undesired shell constructs in +shell scripts. + +@item suffix.test +@pindex suffix.test +When other programming languages are used with libtool (@pxref{Other +languages}), the source files may end in suffixes other than @file{.c}. +This test validates that libtool can handle suffixes for all the file +types that it supports, and that it fails when the suffix is invalid. + +@item tagdemo-conf.test +@itemx tagdemo-make.test +@itemx tagdemo-exec.test +@itemx tagdemo-static.test +@itemx tagdemo-static-make.test +@itemx tagdemo-static-exec.test +@itemx tagdemo-shared.test +@itemx tagdemo-shared-make.test +@itemx tagdemo-shared-exec.test +@itemx tagdemo-undef.test +@itemx tagdemo-undef-make.test +@itemx tagdemo-undef-exec.test +@pindex tagdemo-conf.test +@pindex tagdemo-make.test +@pindex tagdemo-exec.test +@pindex tagdemo-static.test +@pindex tagdemo-static-make.test +@pindex tagdemo-static-exec.test +@pindex tagdemo-shared.test +@pindex tagdemo-shared-make.test +@pindex tagdemo-shared-exec.test +@pindex tagdemo-undef.test +@pindex tagdemo-undef-make.test +@pindex tagdemo-undef-exec.test +These programs check to see that the @file{tests/tagdemo} subdirectory +of the libtool distribution can be configured, built, and executed +correctly. + +The @file{tests/tagdemo} directory contains a demonstration of a package +that uses libtool's multi-language support through configuration tags. +It generates a library from C++ sources, which is then linked to a C++ +program. + +@item f77demo-conf.test +@itemx f77demo-make.test +@itemx f77demo-exec.test +@itemx f77demo-static.test +@itemx f77demo-static-make.test +@itemx f77demo-static-exec.test +@itemx f77demo-shared.test +@itemx f77demo-shared-make.test +@itemx f77demo-shared-exec.test +@pindex f77demo-conf.test +@pindex f77demo-make.test +@pindex f77demo-exec.test +@pindex f77demo-static.test +@pindex f77demo-static-make.test +@pindex f77demo-static-exec.test +@pindex f77demo-shared.test +@pindex f77demo-shared-make.test +@pindex f77demo-shared-exec.test +These programs check to see that the @file{tests/f77demo} subdirectory +of the libtool distribution can be configured, built, and executed +correctly. + +The @file{tests/f77demo} tests test Fortran 77 support in libtool by +creating libraries from Fortran 77 sources, and mixed Fortran and C +sources, and a Fortran 77 program to use the former library, and a C +program to use the latter library. + +@item fcdemo-conf.test +@itemx fcdemo-make.test +@itemx fcdemo-exec.test +@itemx fcdemo-static.test +@itemx fcdemo-static-make.test +@itemx fcdemo-static-exec.test +@itemx fcdemo-shared.test +@itemx fcdemo-shared-make.test +@itemx fcdemo-shared-exec.test +@pindex fcdemo-conf.test +@pindex fcdemo-make.test +@pindex fcdemo-exec.test +@pindex fcdemo-static.test +@pindex fcdemo-static-make.test +@pindex fcdemo-static-exec.test +@pindex fcdemo-shared.test +@pindex fcdemo-shared-make.test +@pindex fcdemo-shared-exec.test +These programs check to see that the @file{tests/fcdemo} subdirectory +of the libtool distribution can be configured, built, and executed +correctly. + +The @file{tests/fcdemo} is similar to the @file{tests/f77demo} +directory, except that Fortran 90 is used in combination with the +@samp{FC} interface provided by Autoconf and Automake. + +@end table + +The new, Autotest-based test suite uses keywords to classify certain +test groups: + +@table @samp +@item CXX +@itemx F77 +@itemx FC +@itemx GCJ +The test group exercises one of these @command{libtool} language tags. + +@item autoconf +@itemx automake +These keywords denote that the respective external program is needed +by the test group. The tests are typically skipped if the program is +not installed. The @samp{automake} keyword may also denote use of the +@command{aclocal} program. + +@item interactive +This test group may require user interaction on some systems. Typically, +this means closing a popup window about a DLL load error on Windows. + +@item libltdl +Denote that the @file{libltdl} library is exercised by the test group. + +@item libtool +@itemx libtoolize +Denote that the @command{libtool} or @command{libtoolize} scripts are +exercised by the test group, respectively. + +@item recursive +Denote that this test group may recursively re-invoke the test suite +itself, with changed settings and maybe a changed @command{libtool} +script. You may use the @env{INNER_TESTSUITEFLAGS} variable to pass +additional settings to this recursive invocation. Typically, recursive +invocations delimit the set of tests with another keyword, for example +by passing @code{-k libtool} right before the expansion of the +@env{INNER_TESTSUITEFLAGS} variable (without an intervening space, so +you get the chance for further delimitation). + +Test groups with the keyword @samp{recursive} should not be denoted with +keywords, in order to avoid infinite recursion. As a consequence, +recursive test groups themselves should never require user interaction, +while the test groups they invoke may do so. +@end table + +@cindex @samp{check-interactive} +@cindex @samp{check-noninteractive} +There is a convenience target @samp{check-noninteractive} that runs +all tests from both test suites that do not cause user interaction on +Windows. Conversely, the target @samp{check-interactive} runs the +complement of tests and might require closing popup windows about DLL +load errors on Windows. + + +@node When tests fail +@subsection When tests fail +@cindex failed tests +@cindex tests, failed + +When the tests in the old test suite are run via @command{make check}, +output is caught in per-test @file{tests/@var{test-name}.log} files +and summarized in the @file{test-suite.log} file. The exit status of each +program tells the @file{Makefile} whether or not the test succeeded. + +If a test fails, it means that there is either a programming error in +libtool, or in the test program itself. + +To investigate a particular test, you may run it directly, as you would +a normal program. When the test is invoked in this way, it produces +output that may be useful in determining what the problem is. + +The new, Autotest-based test suite produces as output a file +@file{tests/testsuite.log} that contains information about failed +tests. + +You can pass options to the test suite through the @command{make} +variable @env{TESTSUITEFLAGS} (@pxref{testsuite Invocation, , +The Autoconf Manual, autoconf, The Autoconf Manual}). + + +@node Reporting bugs +@section Reporting bugs +@cindex bug reports +@cindex reporting bugs +@cindex problem reports + +If you think you have discovered a bug in libtool, you should think +twice: the libtool maintainer is notorious for passing the buck (or +maybe that should be ``passing the bug''). Libtool was invented to fix +known deficiencies in shared library implementations, so, in a way, most +of the bugs in libtool are actually bugs in other operating systems. +However, the libtool maintainer would definitely be happy to add support +for somebody else's buggy operating system. [I wish there was a good +way to do winking smiley-faces in Texinfo.] + +Genuine bugs in libtool include problems with shell script portability, +documentation errors, and failures in the test suite (@pxref{Libtool +test suite}). + +First, check the documentation and help screens to make sure that the +behaviour you think is a problem is not already mentioned as a feature. + +Then, you should read the Emacs guide to reporting bugs (@pxref{Bugs, , +Reporting Bugs, emacs, The Emacs Manual}). Some of the details +listed there are specific to Emacs, but the principle behind them is a +general one. + +Finally, send a bug report to @value{BUGADDR} with any appropriate +@emph{facts}, such as test suite output (@pxref{When tests fail}), all +the details needed to reproduce the bug, and a brief description of why +you think the behaviour is a bug. Be sure to include the word +``libtool'' in the subject line, as well as the version number you are +using (which can be found by typing @kbd{libtool --version}). + +@node Maintaining +@chapter Maintenance notes for libtool + +This chapter contains information that the libtool maintainer finds +important. It will be of no use to you unless you are considering +porting libtool to new systems, or writing your own libtool. + +@menu +* New ports:: How to port libtool to new systems. +* Tested platforms:: When libtool was last tested. +* Platform quirks:: Information about different library systems. +* libtool script contents:: Configuration information that libtool uses. +* Cheap tricks:: Making libtool maintainership easier. +@end menu + +@node New ports +@section Porting libtool to new systems + +Before you embark on porting libtool to an unsupported system, it is +worthwhile to send e-mail to @value{MAILLIST}, to make sure that you are +not duplicating existing work. + +If you find that any porting documentation is missing, please complain! +Complaints with patches and improvements to the documentation, or to +libtool itself, are more than welcome. + +@menu +* Information sources:: Where to find relevant documentation +* Porting inter-library dependencies:: Implementation details explained +@end menu + +@node Information sources +@subsection Information sources + +Once it is clear that a new port is necessary, you'll generally need the +following information: + +@table @asis +@item canonical system name +You need the output of @code{config.guess} for this system, so that you +can make changes to the libtool configuration process without affecting +other systems. + +@item man pages for @command{ld} and @command{cc} +These generally describe what flags are used to generate PIC, to create +shared libraries, and to link against only static libraries. You may +need to follow some cross references to find the information that is +required. + +@item man pages for @command{ld.so}, @command{rtld}, or equivalent +These are a valuable resource for understanding how shared libraries are +loaded on the system. + +@item man page for @command{ldconfig}, or equivalent +This page usually describes how to install shared libraries. + +@item output from @kbd{ls -l /lib /usr/lib} +This shows the naming convention for shared libraries on the system, +including what names should be symbolic links. + +@item any additional documentation +Some systems have special documentation on how to build and install +shared libraries. +@end table + +If you know how to program the Bourne shell, then you can complete the +port yourself; otherwise, you'll have to find somebody with the relevant +skills who will do the work. People on the libtool mailing list are +usually willing to volunteer to help you with new ports, so you can send +the information to them. + +To do the port yourself, you'll definitely need to modify the +@code{libtool.m4} macros to make platform-specific changes to +the configuration process. You should search that file for the +@code{PORTME} keyword, which will give you some hints on what you'll +need to change. In general, all that is involved is modifying the +appropriate configuration variables (@pxref{libtool script contents}). + +Your best bet is to find an already-supported system that is similar to +yours, and make your changes based on that. In some cases, however, +your system will differ significantly from every other supported system, +and it may be necessary to add new configuration variables, and modify +the @code{ltmain.in} script accordingly. Be sure to write to the +mailing list before you make changes to @code{ltmain.in}, since they may +have advice on the most effective way of accomplishing what you want. + +@node Porting inter-library dependencies +@subsection Porting inter-library dependencies support +@cindex inter-library dependency +@vindex deplibs_check_method + +Since version 1.2c, libtool has re-introduced the ability to do +inter-library dependency on some platforms, thanks to a patch by Toshio +Kuratomi @email{badger@@prtr-13.ucsc.edu}. Here's a shortened version +of the message that contained his patch: + +The basic architecture is this: in @file{libtool.m4}, the person who +writes libtool makes sure @samp{$deplibs} is included in +@samp{$archive_cmds} somewhere and also sets the variable +@samp{$deplibs_check_method}, and maybe @samp{$file_magic_cmd} when +@samp{deplibs_check_method} is file_magic. + +@samp{deplibs_check_method} can be one of five things: +@table @samp +@item file_magic [@var{regex}] +@vindex file_magic +@vindex file_magic_cmd +@vindex file_magic_test_file +looks in the library link path for libraries that have the right +libname. Then it runs @samp{$file_magic_cmd} on the library and checks +for a match against the extended regular expression @var{regex}. When +@code{file_magic_test_file} is set by @file{libtool.m4}, it is used as an +argument to @samp{$file_magic_cmd} to verify whether the +regular expression matches its output, and warn the user otherwise. + +@item test_compile +@vindex test_compile +just checks whether it is possible to link a program out of a list of +libraries, and checks which of those are listed in the output of +@code{ldd}. It is currently unused, and will probably be dropped in the +future. + +@item pass_all +@vindex pass_all +will pass everything without any checking. This may work on platforms +where code is position-independent by default and inter-library +dependencies are properly supported by the dynamic linker, for example, +on DEC OSF/1 3 and 4. + +@item none +@vindex none +It causes deplibs to be reassigned @samp{deplibs=""}. That way +@samp{archive_cmds} can contain deplibs on all platforms, but not have +deplibs used unless needed. + +@item unknown +@vindex unknown +is the default for all systems unless overridden in @file{libtool.m4}. +It is the same as @samp{none}, but it documents that we really don't +know what the correct value should be, and we welcome patches that +improve it. +@end table + +Then in @file{ltmain.in} we have the real workhorse: a little +initialization and postprocessing (to setup/release variables for use +with eval echo libname_spec etc.) and a case statement that decides +the method that is being used. This is the real code@dots{} I wish I could +condense it a little more, but I don't think I can without function +calls. I've mostly optimized it (moved things out of loops, etc.) but +there is probably some fat left. I thought I should stop while I was +ahead, work on whatever bugs you discover, etc.@: before thinking about +more than obvious optimizations. + +@node Tested platforms +@section Tested platforms + +This table describes when libtool was last known to be tested on +platforms where it claims to support shared libraries: + +@example +@include PLATFORMS +@end example + +Note: The vendor-distributed HP-UX @command{sed}(1) programs are horribly +broken, and cannot handle libtool's requirements, so users may report +unusual problems. There is no workaround except to install a working +@command{sed} (such as GNU @command{sed}) on these systems. + +Note: The vendor-distributed NCR MP-RAS @command{cc} programs emits +copyright on standard error that confuse tests on size of +@file{conftest.err}. The workaround is to specify @code{CC} +when run @code{configure} with @kbd{CC='cc -Hnocopyr'}. + +@node Platform quirks +@section Platform quirks + +This section is dedicated to the sanity of the libtool maintainers. It +describes the programs that libtool uses, how they vary from system to +system, and how to test for them. + +Because libtool is a shell script, it can be difficult to understand +just by reading it from top to bottom. This section helps show why +libtool does things a certain way. Combined with the scripts +themselves, you should have a better sense of how to improve libtool, or +write your own. + +@menu +* References:: Finding more information. +* Compilers:: Creating object files from source files. +* Reloadable objects:: Binding object files together. +* Multiple dependencies:: Removing duplicate dependent libraries. +* Archivers:: Programs that create static archives. +* Cross compiling:: Issues that arise when cross compiling. +* File name conversion:: Converting file names between platforms. +* Windows DLLs:: Windows header defines. +@end menu + +@node References +@subsection References + +The following is a list of valuable documentation references: + +@itemize @bullet +@item +SGI's IRIX Manual Pages can be found at@* +@url{http://techpubs.sgi.com/cgi-bin/infosrch.cgi?cmd=browse&db=man}. + +@item +Sun's free service area +(@url{http://www.sun.com/service/online/free.html}) and documentation +server (@url{http://docs.sun.com/}). + +@item +Compaq's Tru64 UNIX online documentation is at@* +(@url{http://tru64unix.compaq.com/faqs/publications/pub_page/doc_list.html}) +with C++ documentation at@* +(@url{http://tru64unix.compaq.com/cplus/docs/index.htm}). + +@item +Hewlett-Packard has online documentation at +(@url{http://docs.hp.com/index.html}). + +@item +IBM has online documentation at +(@url{http://www.rs6000.ibm.com/resource/aix_resource/Pubs/}). +@end itemize + +@node Compilers +@subsection Compilers + +The only compiler characteristics that affect libtool are the flags +needed (if any) to generate PIC objects. In general, if a C compiler +supports certain PIC flags, then any derivative compilers support the +same flags. Until there are some noteworthy exceptions to this rule, +this section will document only C compilers. + +The following C compilers have standard command line options, regardless +of the platform: + +@table @code +@item gcc + +This is the GNU C compiler, which is also the system compiler for many +free operating systems (FreeBSD, GNU/Hurd, GNU/Linux, Lites, NetBSD, and +OpenBSD, to name a few). + +The @option{-fpic} or @option{-fPIC} flags can be used to generate +position-independent code. @option{-fPIC} is guaranteed to generate +working code, but the code is slower on m68k, m88k, and SPARC chips. +However, using @option{-fpic} on those chips imposes arbitrary size limits +on the shared libraries. +@end table + +The rest of this subsection lists compilers by the operating system that +they are bundled with: + +@c FIXME these should all be better-documented + +@table @code +@item aix3* +@itemx aix4* +Most AIX compilers have no PIC flags, since AIX (with the exception of +AIX for IA-64) runs on PowerPC and RS/6000 chips. @footnote{All code compiled +for the PowerPC and RS/6000 chips (@code{powerpc-*-*}, @code{powerpcle-*-*}, +and @code{rs6000-*-*}) is position-independent, regardless of the operating +system or compiler suite. So, ``regular objects'' can be used to build +shared libraries on these systems and no special PIC compiler flags are +required.} + +@item hpux10* +Use @samp{+Z} to generate PIC. + +@item osf3* +Digital/UNIX 3.x does not have PIC flags, at least not on the PowerPC +platform. + +@item solaris2* +Use @option{-KPIC} to generate PIC. + +@item sunos4* +Use @option{-PIC} to generate PIC. +@end table + +@node Reloadable objects +@subsection Reloadable objects + +On all known systems, a reloadable object can be created by running +@kbd{ld -r -o @var{output}.o @var{input1}.o @var{input2}.o}. This +reloadable object may be treated as exactly equivalent to other +objects. + +@node Multiple dependencies +@subsection Multiple dependencies + +On most modern platforms the order where dependent libraries are listed +has no effect on object generation. In theory, there are platforms +that require libraries that provide missing symbols to other libraries +to be listed after those libraries whose symbols they provide. + +Particularly, if a pair of static archives each resolve some of the +other's symbols, it might be necessary to list one of those archives +both before and after the other one. Libtool does not currently cope +with this situation well, since duplicate libraries are removed from +the link line by default. Libtool provides the command line option +@option{--preserve-dup-deps} to preserve all duplicate dependencies +in cases where it is necessary. + +@node Archivers +@subsection Archivers + +On all known systems, building a static library can be accomplished by +running @kbd{ar cr lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}}, +where the @file{.a} file is the output library, and each @file{.o} file is an +object file. + +On all known systems, if there is a program named @command{ranlib}, then it +must be used to ``bless'' the created library before linking against it, +with the @kbd{ranlib lib@var{name}.a} command. Some systems, like Irix, +use the @code{ar ts} command, instead. + +@node Cross compiling +@subsection Cross compiling +@cindex cross compile + +Most build systems support the ability to compile libraries and applications +on one platform for use on a different platform, provided a compiler capable +of generating the appropriate output is available. In such cross compiling +scenarios, the platform where the libraries or applications are compiled +is called the @dfn{build platform}, while the platform where the libraries +or applications are intended to be used or executed is called the +@dfn{host platform}. +@ref{GNU Build System,, The GNU Build System, automake, The Automake Manual}, +of which libtool is a part, supports cross compiling via arguments passed to +the configure script: @option{--build=...} and @option{--host=...}. However, +when the build platform and host platform are very different, libtool is +required to make certain accommodations to support these scenarios. + +In most cases, because the build platform and host platform differ, the +cross-compiled libraries and executables can't be executed or tested on the +build platform where they were compiled. The testsuites of most build systems +will often skip any tests that involve executing such foreign executables when +cross-compiling. However, if the build platform and host platform are +sufficiently similar, it is often possible to run cross-compiled applications. +Libtool's own testsuite often attempts to execute cross-compiled tests, but +will mark any failures as @emph{skipped} since the failure might simply be due +to the differences between the two platforms. + +In addition to cases where the host platform and build platform are extremely +similar (e.g. @samp{i586-pc-linux-gnu} and @samp{i686-pc-linux-gnu}), there is +another case where cross-compiled host applications may be executed on the +build platform. This is possible when the build platform supports an emulation +or API-enhanced environment for the host platform. One example of this +situation would be if the build platform were MinGW, and the host platform were +Cygwin (or vice versa). Both of these platforms can actually operate within a +single Windows instance, so Cygwin applications can be launched from a MinGW +context, and vice versa---provided certain care is taken. Another example +would be if the build platform were GNU/Linux on an x86 32bit processor, and +the host platform were MinGW. In this situation, the +@uref{http://www.winehq.org/, Wine} environment can be used to launch Windows +applications from the GNU/Linux operating system; again, provided certain care +is taken. + +One particular issue occurs when a Windows platform such as MinGW, Cygwin, or +MSYS is the host or build platform, while the other platform is a Unix-style +system. In these cases, there are often conflicts between the format of the +file names and paths expected within host platform libraries and executables, +and those employed on the build platform. + +This situation is best described using a concrete example: suppose the build +platform is GNU/Linux with canonical triplet @samp{i686-pc-linux-gnu}. Suppose +further that the host platform is MinGW with canonical triplet +@samp{i586-pc-mingw32}. On the GNU/Linux platform there is a cross compiler +following the usual naming conventions of such compilers, where the compiler +name is prefixed by the host canonical triplet (or suitable alias). (For more +information concerning canonical triplets and platform aliases, see +@ref{Specifying Target Triplets,, Specifying Target Triplets, autoconf, +The Autoconf Manual} and @ref{Canonicalizing,, Canonicalizing, autoconf, +The Autoconf Manual}) In this case, the C compiler is named +@samp{i586-pc-mingw32-gcc}. + +As described in @ref{Wrapper executables}, for the MinGW host platform libtool +uses a wrapper executable to set various environment variables before launching +the actual program executable. Like the program executable, the wrapper +executable is cross-compiled for the host platform (that is, for MinGW). As +described above, ordinarily a host platform executable cannot be executed on +the build platform, but in this case the Wine environment could be used to +launch the MinGW application from GNU/Linux. However, the wrapper executable, +as a host platform (MinGW) application, must set the @env{PATH} variable so +that the true application's dependent libraries can be located---but the +contents of the @env{PATH} variable must be structured for MinGW. Libtool +must use the Wine file name mapping facilities to determine the correct value +so that the wrapper executable can set the @env{PATH} variable to point to the +correct location. + +For example, suppose we are compiling an application in @file{/var/tmp} on +GNU/Linux, using separate source code and build directories: + +@example +@multitable @columnfractions 0.5 0.5 +@item @file{/var/tmp/foo-1.2.3/app/} @tab (application source code) +@item @file{/var/tmp/foo-1.2.3/lib/} @tab (library source code) +@item @file{/var/tmp/BUILD/app/} @tab (application build objects here) +@item @file{/var/tmp/BUILD/lib/} @tab (library build objects here) +@end multitable +@end example + +Since the library will be built in @file{/var/tmp/BUILD/lib}, the wrapper +executable (which will be in @file{/var/tmp/BUILD/app}) must add that +directory to @env{PATH} (actually, it must add the directory named +@var{objdir} under @file{/var/tmp/BUILD/lib}, but we'll ignore that detail +for now). However, Windows does not have a concept of Unix-style file or +directory names such as @file{/var/tmp/BUILD/lib}. Therefore, Wine provides +a mapping from Windows file names such as @file{C:\Program Files} to specific +Unix-style file names. Wine also provides a utility that can be used to map +Unix-style file names to Windows file names. + +In this case, the wrapper executable should actually add the value + +@example +Z:\var\tmp\BUILD\lib +@end example + +@noindent +to the @env{PATH}. libtool contains support for path conversions of this +type, for a certain limited set of build and host platform combinations. In +this case, libtool will invoke Wine's @command{winepath} utility to ensure that +the correct @env{PATH} value is used. @xref{File name conversion}. + +@node File name conversion +@subsection File name conversion +@cindex file name conversion +@cindex path conversion + +In certain situations, libtool must convert file names and paths between +formats appropriate to different platforms. Usually this occurs when +cross-compiling, and affects only the ability to launch host platform +executables on the build platform using an emulation or API-enhancement +environment such as Wine. Failure to convert paths +(@pxref{File Name Conversion Failure}) will cause a warning to be issued, but +rarely causes the build to fail---and should have no affect on the compiled +products, once installed properly on the host platform. For more information, +@pxref{Cross compiling}. + +However, file name conversion may also occur in another scenario: when using a +Unix emulation system on Windows (such as Cygwin or MSYS), combined with a +native Windows compiler such as MinGW or MSVC. Only a limited set of such +scenarios are currently supported; in other cases file name conversion is +skipped. The lack of file name conversion usually means that uninstalled +executables can't be launched, but only rarely causes the build to fail +(@pxref{File Name Conversion Failure}). + +libtool supports file name conversion in the following scenarios: + +@multitable @columnfractions .25 .25 .5 +@headitem build platform @tab host platform @tab Notes +@item MinGW (MSYS) @tab MinGW (Windows) +@tab @pxref{Native MinGW File Name Conversion} + +@item Cygwin @tab MinGW (Windows) +@tab @pxref{Cygwin/Windows File Name Conversion} + +@item Unix + Wine @tab MinGW (Windows) +@tab Requires Wine. @xref{Unix/Windows File Name Conversion}. + +@item MinGW (MSYS) @tab Cygwin +@tab Requires @env{LT_CYGPATH}. @xref{LT_CYGPATH}. Provided for testing +purposes only. + +@item Unix + Wine @tab Cygwin +@tab Requires both Wine and @env{LT_CYGPATH}, but does not yet work with +Cygwin 1.7.7 and Wine-1.2. +@xref{Unix/Windows File Name Conversion}, and @ref{LT_CYGPATH}. +@end multitable + +@menu +* File Name Conversion Failure:: What happens when file name conversion fails +* Native MinGW File Name Conversion:: MSYS file name conversion idiosyncrasies +* Cygwin/Windows File Name Conversion:: Using @command{cygpath} to convert Cygwin file names +* Unix/Windows File Name Conversion:: Using Wine to convert Unix paths +* LT_CYGPATH:: Invoking @command{cygpath} from other environments +* Cygwin to MinGW Cross:: Other notes concerning MinGW cross +@end menu + +@node File Name Conversion Failure +@subsubsection File Name Conversion Failure +@cindex File Name Conversion - Failure +@cindex Path Conversion - Failure + +In most cases, file name conversion is not needed or attempted. However, when +libtool detects that a specific combination of build and host platform does +require file name conversion, it is possible that the conversion may fail. +In these cases, you may see a warning such as the following: + +@example +Could not determine the host file name corresponding to + `... a file name ...' +Continuing, but uninstalled executables may not work. +@end example + +@noindent +or + +@example +Could not determine the host path corresponding to + `... a path ...' +Continuing, but uninstalled executables may not work. +@end example + +@noindent +This should not cause the build to fail. At worst, it means that the wrapper +executable will specify file names or paths appropriate for the build platform. +Since those are not appropriate for the host platform, the uninstalled +executables would not operate correctly, even when the wrapper executable is +launched via the appropriate emulation or API-enhancement (e.g. Wine). Simply +install the executables on the host platform, and execute them there. + +@node Native MinGW File Name Conversion +@subsubsection Native MinGW File Name Conversion +@cindex File Name Conversion - MinGW +@cindex Path Conversion - MinGW +@cindex MSYS + +MSYS is a Unix emulation environment for Windows, and is specifically designed +such that in normal usage it @emph{pretends} to be MinGW or native Windows, +but understands Unix-style file names and paths, and supports standard Unix +tools and shells. Thus, ``native'' MinGW builds are actually an odd sort of +cross-compile, from an MSYS Unix emulation environment ``pretending'' to be +MinGW, to actual native Windows. + +When an MSYS shell launches a native Windows executable (as opposed to other +@emph{MSYS} executables), it uses a system of heuristics to detect any +command-line arguments that contain file names or paths. It automatically +converts these file names from the MSYS (Unix-like) format, to the +corresponding Windows file name, before launching the executable. However, +this auto-conversion facility is only available when using the MSYS runtime +library. The wrapper executable itself is a MinGW application (that is, it +does not use the MSYS runtime library). The wrapper executable must set +@env{PATH} to, and call @code{_spawnv} with, values that have already been +converted from MSYS format to Windows. Thus, when libtool writes the source +code for the wrapper executable, it must manually convert MSYS paths to +Windows format, so that the Windows values can be hard-coded into the wrapper +executable. + +@node Cygwin/Windows File Name Conversion +@subsubsection Cygwin/Windows File Name Conversion +@cindex File Name Conversion - Cygwin to Windows +@cindex Path Conversion - Cygwin to Windows + +Cygwin provides a Unix emulation environment for Windows. As part of that +emulation, it provides a file system mapping that presents the Windows file +system in a Unix-compatible manner. Cygwin also provides a utility +@command{cygpath} that can be used to convert file names and paths between +the two representations. In a correctly configured Cygwin installation, +@command{cygpath} is always present, and is in the @env{PATH}. + +Libtool uses @command{cygpath} to convert from Cygwin (Unix-style) file names +and paths to Windows format when the build platform is Cygwin and the host +platform is MinGW. + +When the host platform is Cygwin, but the build platform is MSYS or some Unix +system, libtool also uses @command{cygpath} to convert from Windows to Cygwin +format (after first converting from the build platform format to Windows format; +@xref{Native MinGW File Name Conversion}, and +@ref{Unix/Windows File Name Conversion}.) Because the build platform is not +Cygwin, @command{cygpath} is not (and should not be) in the @env{PATH}. +Therefore, in this configuration the environment variable @env{LT_CYGPATH} is +required. @xref{LT_CYGPATH}. + +@node Unix/Windows File Name Conversion +@subsubsection Unix/Windows File Name Conversion +@cindex File Name Conversion - Unix to Windows +@cindex Path Conversion - Unix to Windows + + +@uref{http://www.winehq.org/, Wine} provides an interpretation environment for +some Unix platforms where Windows applications can be executed. It provides +a mapping between the Unix file system and a virtual Windows file system used +by the Windows programs. For the file name conversion to work, Wine must be +installed and properly configured on the build platform, and the +@command{winepath} application must be in the build platform's @env{PATH}. In +addition, on 32bit GNU/Linux it is usually helpful if the binfmt extension is +enabled. + +@node LT_CYGPATH +@subsubsection LT_CYGPATH +@cindex LT_CYGPATH + +For some cross-compile configurations (where the host platform is Cygwin), the +@command{cygpath} program is used to convert file names from the build platform +notation to the Cygwin form (technically, this conversion is from Windows +notation to Cygwin notation; the conversion from the build platform format +to Windows notation is performed via other means). However, because the +@command{cygpath} program is not (and should not be) in the @env{PATH} on +the build platform, @env{LT_CYGPATH} must specify the full build platform +file name (that is, the full Unix or MSYS file name) of the @command{cygpath} +program. + +The reason @command{cygpath} should not be in the build platform @env{PATH} is +twofold: first, @command{cygpath} is usually installed in the same directory as +many other Cygwin executables, such as @command{sed}, @command{cp}, etc. If +the build platform environment had this directory in its @env{PATH}, then these +Cygwin versions of common Unix utilities might be used in preference to the +ones provided by the build platform itself, with deleterious effects. Second, +especially when Cygwin-1.7 or later is used, multiple Cygwin installations can +coexist within the same Windows instance. Each installation will have separate +``mount tables'' specified in @file{@var{CYGROOT-N}/etc/fstab}. These +@dfn{mount tables} control how that instance of Cygwin will map Windows file +names and paths to Cygwin form. Each installation's @command{cygpath} utility +automatically deduces the appropriate @file{/etc/fstab} file. Since each +@file{@var{CYGROOT-N}/etc/fstab} mount table may specify different mappings, it +matters what @command{cygpath} is used. + +Note that @command{cygpath} is a Cygwin application; to execute this tool from +Unix requires a working and properly configured Wine installation, as well +as enabling the GNU/Linux @code{binfmt} extension. Furthermore, the Cygwin +@command{setup.exe} tool should have been used, via Wine, to properly install +Cygwin into the Wine file system (and registry). + +Unfortunately, Wine support for Cygwin is intermittent. Recent releases of +Cygwin (1.7 and above) appear to require more Windows API support than Wine +provides (as of Wine version 1.2); most Cygwin applications fail to execute. +This includes @command{cygpath} itself. Hence, it is best @emph{not} to use +the LT_CYGPATH machinery in libtool when performing Unix to Cygwin +cross-compiles. Similarly, it is best @emph{not} to enable the GNU/Linux binfmt +support in this configuration, because while Wine will fail to execute the +compiled Cygwin applications, it will still exit with status zero. This tends +to confuse build systems and test suites (including libtool's own testsuite, +resulting in spurious reported failures). Wine support for the older +Cygwin-1.5 series appears satisfactory, but the Cygwin team no longer supports +Cygwin-1.5. It is hoped that Wine will eventually be improved such that +Cygwin-1.7 will again operate correctly under Wine. Until then, libtool will +report warnings as described in @pxref{File Name Conversion Failure} in these +scenarios. + +However, @env{LT_CYGPATH} is also used for the MSYS to Cygwin cross compile +scenario, and operates as expected. + +@node Cygwin to MinGW Cross +@subsubsection Cygwin to MinGW Cross +@cindex Cygwin to MinGW Cross + +There are actually three different scenarios that could all legitimately be +called a ``Cygwin to MinGW'' cross compile. The current (and standard) +definition is when there is a compiler that produces native Windows libraries +and applications, but which itself is a Cygwin application, just as would be +expected in any other cross compile setup. + +However, historically there were two other definitions, which we will refer +to as the @emph{fake} one, and the @emph{lying} one. + +In the @emph{fake} Cygwin to MinGW cross compile case, you actually use a +native MinGW compiler, but you do so from within a Cygwin environment: + +@example +@kbd{export PATH="/c/MinGW/bin:$@{PATH@}"} +@kbd{configure --build=i686-pc-cygwin \ + --host=mingw32 \ + NM=/c/MinGW/bin/nm.exe} +@end example + +In this way, the build system ``knows'' that you are cross compiling, and the +file name conversion logic will be used. However, because the tools +(@command{mingw32-gcc}, @command{nm}, @command{ar}) used are actually native +Windows applications, they will not understand any Cygwin (that is, Unix-like) +absolute file names passed as command line arguments (and, unlike MSYS, Cygwin +does not automatically convert such arguments). However, so long as only +relative file names are used in the build system, and non-Windows-supported +Unix idioms such as symlinks and mount points are avoided, this scenario should +work. + +If you must use absolute file names, you will have to force Libtool to convert +file names for the toolchain in this case, by doing the following before you +run configure: + +@example +@kbd{export lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32} +@end example +@cindex lt_cv_to_tool_file_cmd +@cindex func_convert_file_cygwin_to_w32 + +In the @emph{lying} Cygwin to MinGW cross compile case, you lie to the +build system: + +@example +@kbd{export PATH="/c/MinGW/bin:$@{PATH@}"} +@kbd{configure --build=i686-pc-mingw32 \ + --host=i686-pc-mingw32 \ + --disable-dependency-tracking} +@end example + +@noindent +and claim that the build platform is MinGW, even though you are actually +running under @emph{Cygwin} and not MinGW. In this case, libtool does +@emph{not} know that you are performing a cross compile, and thinks instead +that you are performing a native MinGW build. However, as described in +(@pxref{Native MinGW File Name Conversion}), that scenario triggers an ``MSYS +to Windows'' file name conversion. This, of course, is the wrong conversion +since we are actually running under Cygwin. Also, the toolchain is expecting +Windows file names (not Cygwin) but unless told so Libtool will feed Cygwin +file names to the toolchain in this case. To force the correct file name +conversions in this situation, you should do the following @emph{before} +running configure: + +@example +@kbd{export lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32} +@kbd{export lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32} +@end example +@cindex lt_cv_to_host_file_cmd +@cindex lt_cv_to_tool_file_cmd +@cindex func_convert_file_cygwin_to_w32 + +Note that this relies on internal implementation details of libtool, and +is subject to change. Also, @code{--disable-dependency-tracking} is required, +because otherwise the MinGW GCC will generate dependency files that contain +Windows file names. This, in turn, will confuse the Cygwin @command{make} +program, which does not accept Windows file names: + +@example +Makefile:1: *** target pattern contains no `%'. Stop. +@end example + +There have also always been a number of other details required for the +@emph{lying} case to operate correctly, such as the use of so-called +@dfn{identity mounts}: + +@example +# @var{cygwin-root}/etc/fstab +D:/foo /foo some_fs binary 0 0 +D:/bar /bar some_fs binary 0 0 +E:/grill /grill some_fs binary 0 0 +@end example + +In this way, top-level directories of each drive are available using +identical names within Cygwin. + +Note that you also need to ensure that the standard Unix directories +(like @file{/bin}, @file{/lib}, @file{/usr}, @file{/etc}) appear in the root +of a drive. This means that you must install Cygwin itself into the @file{C:/} +root directory (or @file{D:/}, or @file{E:/}, etc)---instead of the +recommended installation into @file{C:/cygwin/}. In addition, all file names +used in the build system must be relative, symlinks should not be used within +the source or build directory trees, and all @option{-M*} options to +@command{gcc} except @option{-MMD} must be avoided. + +This is quite a fragile setup, but it has been in historical use, and so is +documented here. + +@node Windows DLLs +@subsection Windows DLLs +@cindex Windows DLLs + +This topic describes a couple of ways to portably create Windows Dynamic +Link Libraries (DLLs). Libtool knows how to create DLLs using GNU tools +and using Microsoft tools. + +A typical library has a ``hidden'' implementation with an interface +described in a header file. On just about every system, the interface +could be something like this: + +Example @file{foo.h}: + +@example +#ifndef FOO_H +#define FOO_H + +int one (void); +int two (void); +extern int three; + +#endif /* FOO_H */ +@end example + +@noindent +And the implementation could be something like this: + +Example @file{foo.c}: + +@example +#include "foo.h" + +int one (void) +@{ + return 1; +@} + +int two (void) +@{ + return three - one (); +@} + +int three = 3; +@end example + +When using contemporary GNU tools to create the Windows DLL, the above +code will work there too, thanks to its auto-import/auto-export +features. But that is not the case when using older GNU tools or perhaps +more interestingly when using proprietary tools. In those cases the code +will need additional decorations on the interface symbols with +@code{__declspec(dllimport)} and @code{__declspec(dllexport)} depending +on whether the library is built or it's consumed and how it's built and +consumed. However, it should be noted that it would have worked also +with Microsoft tools, if only the variable @code{three} hadn't been +there, due to the fact the Microsoft tools will automatically import +functions (but sadly not variables) and Libtool will automatically export +non-static symbols as described next. + +With Microsoft tools, Libtool digs through the object files that make up +the library, looking for non-static symbols to automatically export. +I.e., Libtool with Microsoft tools tries to mimic the auto-export feature +of contemporary GNU tools. It should be noted that the GNU auto-export +feature is turned off when an explicit @code{__declspec(dllexport)} is +seen. The GNU tools do this to not make more symbols visible for projects +that have already taken the trouble to decorate symbols. There is no +similar way to limit what symbols are visible in the code when Libtool +is using Microsoft tools. In order to limit symbol visibility in that +case you need to use one of the options @option{-export-symbols} or +@option{-export-symbols-regex}. + +No matching help with auto-import is provided by Libtool, which is why +variables must be decorated to import them from a DLL for everything but +contemporary GNU tools. As stated above, functions are automatically +imported by both contemporary GNU tools and Microsoft tools, but for +other proprietary tools the auto-import status of functions is unknown. + +When the objects that form the library are built, there are generally +two copies built for each object. One copy is used when linking the DLL +and one copy is used for the static library. On Windows systems, a pair +of defines are commonly used to discriminate how the interface symbols +should be decorated. The first define is @samp{-DDLL_EXPORT}, which is +automatically provided by Libtool when @command{libtool} builds the copy +of the object that is destined for the DLL. The second define is +@samp{-DLIBFOO_BUILD} (or similar), which is often added by the package +providing the library and is used when building the library, but not +when consuming the library. + +However, the matching double compile is not performed when consuming +libraries. It is therefore not possible to reliably distinguish if the +consumer is importing from a DLL or if it is going to use a static +library. + +With contemporary GNU tools, auto-import often saves the day, but see +the GNU ld documentation and its @option{--enable-auto-import} option +for some corner cases when it does not +(@pxref{Options, @option{--enable-auto-import}, Options specific to +i386 PE targets, ld, Using ld@comma{} the GNU linker}). + +With Microsoft tools you typically get away with always compiling the +code such that variables are expected to be imported from a DLL and +functions are expected to be found in a static library. The tools will +then automatically import the function from a DLL if that is where they +are found. If the variables are not imported from a DLL as expected, but +are found in a static library that is otherwise pulled in by some +function, the linker will issue a warning (LNK4217) that a locally +defined symbol is imported, but it still works. In other words, this +scheme will not work to only consume variables from a library. There is +also a price connected to this liberal use of imports in that an extra +indirection is introduced when you are consuming the static version of +the library. That extra indirection is unavoidable when the DLL is +consumed, but it is not needed when consuming the static library. + +For older GNU tools and other proprietary tools there is no generic way +to make it possible to consume either of the DLL or the static library +without user intervention, the tools need to be told what is intended. +One common assumption is that if a DLL is being built (@samp{DLL_EXPORT} +is defined) then that DLL is going to consume any dependent libraries as +DLLs. If that assumption is made everywhere, it is possible to select +how an end-user application is consuming libraries by adding a single +flag @samp{-DDLL_EXPORT} when a DLL build is required. This is of course +an all or nothing deal, either everything as DLLs or everything as static +libraries. + +To sum up the above, the header file of the foo library needs to be +changed into something like this: + +Modified @file{foo.h}: + +@example +#ifndef FOO_H +#define FOO_H + +#if defined _WIN32 && !defined __GNUC__ +# ifdef LIBFOO_BUILD +# ifdef DLL_EXPORT +# define LIBFOO_SCOPE __declspec (dllexport) +# define LIBFOO_SCOPE_VAR extern __declspec (dllexport) +# endif +# elif defined _MSC_VER +# define LIBFOO_SCOPE +# define LIBFOO_SCOPE_VAR extern __declspec (dllimport) +# elif defined DLL_EXPORT +# define LIBFOO_SCOPE __declspec (dllimport) +# define LIBFOO_SCOPE_VAR extern __declspec (dllimport) +# endif +#endif +#ifndef LIBFOO_SCOPE +# define LIBFOO_SCOPE +# define LIBFOO_SCOPE_VAR extern +#endif + +LIBFOO_SCOPE int one (void); +LIBFOO_SCOPE int two (void); +LIBFOO_SCOPE_VAR int three; + +#endif /* FOO_H */ +@end example + +When the targets are limited to contemporary GNU tools and Microsoft +tools, the above can be simplified to the following: + +Simplified @file{foo.h}: + +@example +#ifndef FOO_H +#define FOO_H + +#if defined _WIN32 && !defined __GNUC__ && !defined LIBFOO_BUILD +# define LIBFOO_SCOPE_VAR extern __declspec (dllimport) +#else +# define LIBFOO_SCOPE_VAR extern +#endif + +int one (void); +int two (void); +LIBFOO_SCOPE_VAR int three; + +#endif /* FOO_H */ +@end example + +This last simplified version can of course only work when Libtool is +used to build the DLL, as no symbols would be exported otherwise (i.e., +when using Microsoft tools). + +It should be noted that there are various projects that attempt to relax +these requirements by various low level tricks, but they are not +discussed here. +Examples are +@uref{http://alain.frisch.fr/@/flexdll.html, FlexDLL} and +@uref{http://edll.sourceforge.net/, edll}. + + +@node libtool script contents +@section @code{libtool} script contents +@cindex implementation of libtool +@cindex libtool implementation + +Since version 1.4, the @code{libtool} script is generated by +@code{configure} (@pxref{Configuring}). In earlier versions, +@code{configure} achieved this by calling a helper script called +@file{ltconfig}. From libtool version 0.7 to 1.0, this script +simply set shell variables, then sourced the libtool backend, +@code{ltmain.sh}. @code{ltconfig} from libtool version 1.1 through 1.3 +inlined the contents of @code{ltmain.sh} into the generated +@code{libtool}, which improved performance on many systems. The tests +that @file{ltconfig} used to perform are now kept in @file{libtool.m4} +where they can be written using Autoconf. This has the runtime +performance benefits of inlined @code{ltmain.sh}, @emph{and} improves +the build time a little while considerably easing the amount of raw +shell code that used to need maintaining. + +The convention used for naming variables that hold shell commands for +delayed evaluation, is to use the suffix @code{_cmd} where a single +line of valid shell script is needed, and the suffix @code{_cmds} where +multiple lines of shell script @strong{may} be delayed for later +evaluation. By convention, @code{_cmds} variables delimit the +evaluation units with the @code{~} character where necessary. + +Here is a listing of each of the configuration variables, and how they +are used within @code{ltmain.sh} (@pxref{Configuring}): + +@defvar AR +The name of the system library archiver. +@end defvar + +@defvar CC +The name of the compiler used to configure libtool. This will always +contain the compiler for the current language (@pxref{Tags}). +@end defvar + +@defvar ECHO +An @command{echo} program that does not interpret backslashes as an +escape character. It may be given only one argument, so due quoting +is necessary. +@end defvar + +@defvar LD +The name of the linker that libtool should use internally for reloadable +linking and possibly shared libraries. +@end defvar + +@defvar LTCC +@defvarx LTCFLAGS +The name of the C compiler and C compiler flags used to configure +libtool. +@end defvar + +@defvar NM +The name of a BSD- or MS-compatible program that produces listings of +global symbols. +For BSD @command{nm}, the symbols should be in one the following formats: + +@example +@var{address} C @var{global-variable-name} +@var{address} D @var{global-variable-name} +@var{address} T @var{global-function-name} +@end example + +For MS @command{dumpbin}, the symbols should be in one of the following +formats: + +@example +@var{counter} @var{size} UNDEF notype External | @var{global-var} +@var{counter} @var{address} @var{section} notype External | @var{global-var} +@var{counter} @var{address} @var{section} notype () External | @var{global-func} +@end example + +The @var{size} of the global variables are not zero and the @var{section} +of the global functions are not "UNDEF". Symbols in "pick any" sections +("pick any" appears in the section header) are not global either. +@end defvar + +@defvar RANLIB +Set to the name of the @command{ranlib} program, if any. +@end defvar + +@defvar allow_undefined_flag +The flag that is used by @samp{archive_cmds} to declare that +there will be unresolved symbols in the resulting shared library. +Empty, if no such flag is required. Set to @samp{unsupported} if there +is no way to generate a shared library with references to symbols that +aren't defined in that library. +@end defvar + +@defvar always_export_symbols +Whether libtool should automatically generate a list of exported symbols +using @code{export_symbols_cmds} before linking an archive. +Set to @samp{yes} or @samp{no}. Default is @samp{no}. +@end defvar + +@defvar archive_cmds +@defvarx archive_expsym_cmds +@defvarx old_archive_cmds +Commands used to create shared libraries, shared libraries with +@option{-export-symbols} and static libraries, respectively. +@end defvar + +@defvar archiver_list_spec +Specify filename containing input files for @code{AR}. +@end defvar + +@defvar old_archive_from_new_cmds +If the shared library depends on a static library, +@samp{old_archive_from_new_cmds} contains the commands used to create that +static library. If this variable is not empty, @samp{old_archive_cmds} is +not used. +@end defvar + +@defvar old_archive_from_expsyms_cmds +If a static library must be created from the export symbol list to +correctly link with a shared library, @samp{old_archive_from_expsyms_cmds} +contains the commands needed to create that static library. When these +commands are executed, the variable @code{soname} contains the name of the +shared library in question, and the @samp{$objdir/$newlib} contains the +path of the static library these commands should build. After executing +these commands, libtool will proceed to link against @samp{$objdir/$newlib} +instead of @code{soname}. +@end defvar + +@defvar lock_old_archive_extraction +Set to @samp{yes} if the extraction of a static library requires locking +the library file. This is required on Darwin. +@end defvar + +@defvar build +@defvarx build_alias +@defvarx build_os +Set to the specified and canonical names of the system that libtool was +built on. +@end defvar + +@defvar build_libtool_libs +Whether libtool should build shared libraries on this system. Set to +@samp{yes} or @samp{no}. +@end defvar + +@defvar build_old_libs +Whether libtool should build static libraries on this system. Set to +@samp{yes} or @samp{no}. +@end defvar + +@defvar compiler_c_o +Whether the compiler supports the @option{-c} and @option{-o} options +simultaneously. Set to @samp{yes} or @samp{no}. +@end defvar + +@defvar compiler_needs_object +Whether the compiler has to see an object listed on the command line in +order to successfully invoke the linker. If @samp{no}, then a set of +convenience archives or a set of object file names can be passed via +linker-specific options or linker scripts. +@end defvar + +@defvar dlopen_support +Whether @code{dlopen} is supported on the platform. +Set to @samp{yes} or @samp{no}. +@end defvar + +@defvar dlopen_self +Whether it is possible to @code{dlopen} the executable itself. +Set to @samp{yes} or @samp{no}. +@end defvar + +@defvar dlopen_self_static +Whether it is possible to @code{dlopen} the executable itself, when it +is linked statically (@option{-all-static}). Set to @samp{yes} or +@samp{no}. +@end defvar + +@defvar exclude_expsyms +List of symbols that should not be listed in the preloaded symbols. +@end defvar + +@defvar export_dynamic_flag_spec +Compiler link flag that allows a dlopened shared library to reference +symbols that are defined in the program. +@end defvar + +@defvar export_symbols_cmds +Commands to extract exported symbols from @code{libobjs} to the +file @code{export_symbols}. +@end defvar + +@defvar extract_expsyms_cmds +Commands to extract the exported symbols list from a shared library. +These commands are executed if there is no file @samp{$objdir/$soname-def}, +and should write the names of the exported symbols to that file, for +the use of @samp{old_archive_from_expsyms_cmds}. +@end defvar + +@defvar fast_install +Determines whether libtool will privilege the installer or the +developer. The assumption is that installers will seldom run programs +in the build tree, and the developer will seldom install. This is only +meaningful on platforms where @code{shlibpath_overrides_runpath} is +not @samp{yes}, so @code{fast_install} will be set to @samp{needless} in +this case. If @code{fast_install} set to @samp{yes}, libtool will create +programs that search for installed libraries, and, if a program is run +in the build tree, a new copy will be linked on-demand to use the +yet-to-be-installed libraries. If set to @samp{no}, libtool will create +programs that use the yet-to-be-installed libraries, and will link +a new copy of the program at install time. The default value is +@samp{yes} or @samp{needless}, depending on platform and configuration +flags, and it can be turned from @samp{yes} to @samp{no} with the +configure flag @option{--disable-fast-install}. + +On some systems, the linker always hardcodes paths to dependent libraries +into the output. In this case, @code{fast_install} is never set to @samp{yes}, +and relinking at install time is triggered. This also means that @env{DESTDIR} +installation does not work as expected. +@end defvar + +@defvar file_magic_glob +How to find potential files when @code{deplibs_check_method} is +@samp{file_magic}. @code{file_magic_glob} is a @code{sed} expression, +and the @code{sed} instance is fed potential file names that are +transformed by the @code{file_magic_glob} expression. Useful when the +shell does not support the shell option @code{nocaseglob}, making +@code{want_nocaseglob} inappropriate. Normally disabled (i.e. +@code{file_magic_glob} is empty). +@end defvar + +@defvar finish_cmds +Commands to tell the dynamic linker how to find shared libraries in a +specific directory. +@end defvar + +@defvar finish_eval +Same as @code{finish_cmds}, except the commands are not displayed. +@end defvar + +@defvar global_symbol_pipe +A pipeline that takes the output of @code{NM}, and produces a listing of +raw symbols followed by their C names. For example: + +@example +$ @kbd{eval "$NM progname | $global_symbol_pipe"} +D @var{symbol1} @var{C-symbol1} +T @var{symbol2} @var{C-symbol2} +C @var{symbol3} @var{C-symbol3} +@dots{} +$ +@end example + +The first column contains the symbol type (used to tell data from code) +but its meaning is system dependent. +@end defvar + +@defvar global_symbol_to_cdecl +A pipeline that translates the output of @code{global_symbol_pipe} into +proper C declarations. Since some platforms, such as HP/UX, have +linkers that differentiate code from data, data symbols are declared +as data, and code symbols are declared as functions. +@end defvar + +@defvar hardcode_action +Either @samp{immediate} or @samp{relink}, depending on whether shared +library paths can be hardcoded into executables before they are installed, +or if they need to be relinked. +@end defvar + +@defvar hardcode_direct +Set to @samp{yes} or @samp{no}, depending on whether the linker +hardcodes directories if a library is directly specified on the command +line (such as @samp{@var{dir}/lib@var{name}.a}) when +@code{hardcode_libdir_flag_spec} is specified. +@end defvar + +@defvar hardcode_direct_absolute +Some architectures hardcode "absolute" library directories that cannot +be overridden by @code{shlibpath_var} when @code{hardcode_direct} is +@samp{yes}. In that case set @code{hardcode_direct_absolute} to +@samp{yes}, or otherwise @samp{no}. +@end defvar + +@defvar hardcode_into_libs +Whether the platform supports hardcoding of run-paths into libraries. +If enabled, linking of programs will be much simpler but libraries will +need to be relinked during installation. Set to @samp{yes} or @samp{no}. +@end defvar + +@defvar hardcode_libdir_flag_spec +Flag to hardcode a @code{libdir} variable into a binary, so that the +dynamic linker searches @code{libdir} for shared libraries at runtime. +If it is empty, libtool will try to use some other hardcoding mechanism. +@end defvar + +@defvar hardcode_libdir_separator +If the compiler only accepts a single @code{hardcode_libdir_flag}, then +this variable contains the string that should separate multiple +arguments to that flag. +@end defvar + +@defvar hardcode_minus_L +Set to @samp{yes} or @samp{no}, depending on whether the linker +hardcodes directories specified by @option{-L} flags into the resulting +executable when @code{hardcode_libdir_flag_spec} is specified. +@end defvar + +@defvar hardcode_shlibpath_var +Set to @samp{yes} or @samp{no}, depending on whether the linker +hardcodes directories by writing the contents of @samp{$shlibpath_var} +into the resulting executable when @code{hardcode_libdir_flag_spec} is +specified. Set to @samp{unsupported} if directories specified by +@samp{$shlibpath_var} are searched at run time, but not at link time. +@end defvar + +@defvar host +@defvarx host_alias +@defvarx host_os +Set to the specified and canonical names of the system that libtool was +configured for. +@end defvar + +@defvar include_expsyms +List of symbols that must always be exported when using @code{export_symbols}. +@end defvar + +@defvar inherit_rpath +Whether the linker adds runtime paths of dependency libraries to the +runtime path list, requiring libtool to relink the output when installing. +Set to @samp{yes} or @samp{no}. Default is @samp{no}. +@end defvar + +@defvar install_override_mode +Permission mode override for installation of shared libraries. If the +runtime linker fails to load libraries with wrong permissions, then it +may fail to execute programs that are needed during installation, +because these need the library that has just been installed. In this +case, it is necessary to pass the mode to @command{install} with +@option{-m @var{install_override_mode}}. +@end defvar + +@defvar libext +The standard old archive suffix (normally @samp{a}). +@end defvar + +@defvar libname_spec +The format of a library name prefix. On all Unix systems, static +libraries are called @samp{lib@var{name}.a}, but on some systems (such +as OS/2 or MS-DOS), the library is just called @samp{@var{name}.a}. +@end defvar + +@defvar library_names_spec +A list of shared library names. The first is the name of the file, +the rest are symbolic links to the file. The name in the list is +the file name that the linker finds when given @option{-l@var{name}}. +@end defvar + +@defvar link_all_deplibs +Whether libtool must link a program against all its dependency libraries. +Set to @samp{yes} or @samp{no}. Default is @samp{unknown}, which is +a synonym for @samp{yes}. +@end defvar + +@defvar link_static_flag +Linker flag (passed through the C compiler) used to prevent dynamic +linking. +@end defvar + +@defvar macro_version +@defvarx macro_revision +The release and revision from which the libtool.m4 macros were +taken. This is used to ensure that macros and @code{ltmain.sh} +correspond to the same Libtool version. +@end defvar + +@defvar max_cmd_len +The approximate longest command line that can be passed to @samp{$SHELL} +without being truncated, as computed by @samp{LT_CMD_MAX_LEN}. +@end defvar + +@defvar need_lib_prefix +Whether we can @code{dlopen} modules without a @samp{lib} prefix. +Set to @samp{yes} or @samp{no}. By default, it is @samp{unknown}, which +means the same as @samp{yes}, but documents that we are not really sure +about it. @samp{no} means that it is possible to @code{dlopen} a +module without the @samp{lib} prefix. +@end defvar + +@defvar need_version +Whether versioning is required for libraries, i.e.@: whether the +dynamic linker requires a version suffix for all libraries. +Set to @samp{yes} or @samp{no}. By default, it is @samp{unknown}, which +means the same as @samp{yes}, but documents that we are not really sure +about it. +@end defvar + +@defvar need_locks +Whether files must be locked to prevent conflicts when compiling +simultaneously. Set to @samp{yes} or @samp{no}. +@end defvar + +@defvar nm_file_list_spec +Specify filename containing input files for @code{NM}. +@end defvar + +@defvar no_builtin_flag +Compiler flag to disable builtin functions that conflict with declaring +external global symbols as @code{char}. +@end defvar + +@defvar no_undefined_flag +The flag that is used by @samp{archive_cmds} to declare that +there will be no unresolved symbols in the resulting shared library. +Empty, if no such flag is required. +@end defvar + +@defvar objdir +The name of the directory that contains temporary libtool files. +@end defvar + +@defvar objext +The standard object file suffix (normally @samp{o}). +@end defvar + +@defvar pic_flag +Any additional compiler flags for building library object files. +@end defvar + +@defvar postinstall_cmds +@defvarx old_postinstall_cmds +Commands run after installing a shared or static library, respectively. +@end defvar + +@defvar postuninstall_cmds +@defvarx old_postuninstall_cmds +Commands run after uninstalling a shared or static library, respectively. +@end defvar + +@defvar postlink_cmds +Commands necessary for finishing linking programs. @code{postlink_cmds} +are executed immediately after the program is linked. Any occurrence of +the string @code{@@OUTPUT@@} in @code{postlink_cmds} is replaced by the +name of the created executable (i.e.@: not the wrapper, if a wrapper is +generated) prior to execution. Similarly, @code{@@TOOL_OUTPUT@@} is +replaced by the toolchain format of @code{@@OUTPUT@@}. Normally disabled +(i.e.@: @code{postlink_cmds} empty). +@end defvar + +@defvar reload_cmds +@defvarx reload_flag +Commands to create a reloadable object. Set @code{reload_cmds} to +@samp{false} on systems that cannot create reloadable objects. +@end defvar + +@defvar runpath_var +The environment variable that tells the linker what directories to +hardcode in the resulting executable. +@end defvar + +@defvar shlibpath_overrides_runpath +Indicates whether it is possible to override the hard-coded library +search path of a program with an environment variable. If this is set +to no, libtool may have to create two copies of a program in the build +tree, one to be installed and one to be run in the build tree only. +When each of these copies is created depends on the value of +@code{fast_install}. The default value is @samp{unknown}, which is +equivalent to @samp{no}. +@end defvar + +@defvar shlibpath_var +The environment variable that tells the dynamic linker where to find +shared libraries. +@end defvar + +@defvar soname_spec +The name coded into shared libraries, if different from the real name of +the file. +@end defvar + +@defvar striplib +@defvarx old_striplib +Command to strip a shared (@code{striplib}) or static (@code{old_striplib}) +library, respectively. If these variables are empty, the strip flag +in the install mode will be ignored for libraries (@pxref{Install mode}). +@end defvar + +@defvar sys_lib_dlsearch_path_spec +Expression to get the run-time system library search path. Directories +that appear in this list are never hard-coded into executables. +@end defvar + +@defvar sys_lib_search_path_spec +Expression to get the compile-time system library search path. This +variable is used by libtool when it has to test whether a certain +library is shared or static. The directories listed in +@code{shlibpath_var} are automatically appended to this list, every time +libtool runs (i.e., not at configuration time), because some linkers use +this variable to extend the library search path. Linker switches such +as @option{-L} also augment the search path. +@end defvar + +@defvar thread_safe_flag_spec +Linker flag (passed through the C compiler) used to generate thread-safe +libraries. +@end defvar + +@defvar to_host_file_cmd +If the toolchain is not native to the build platform (e.g.@: if you are using +MSYS to drive the scripting, but are using the MinGW native Windows compiler) +this variable describes how to convert file names from the format used by the +build platform to the format used by host platform. Normally set to +@samp{func_convert_file_noop}, libtool will autodetect most cases where +other values should be used. On rare occasions, it may be necessary to override +the autodetected value (@pxref{Cygwin to MinGW Cross}). +@end defvar + +@defvar to_tool_file_cmd +If the toolchain is not native to the build platform (e.g.@: if you are using +some Unix to drive the scripting together with a Windows toolchain running +in Wine) this variable describes how to convert file names from the format +used by the build platform to the format used by the toolchain. Normally set +to @samp{func_convert_file_noop}. +@end defvar + +@defvar version_type +The library version numbering type. One of @samp{libtool}, +@samp{freebsd-aout}, @samp{freebsd-elf}, @samp{irix}, @samp{linux}, +@samp{osf}, @samp{sunos}, @samp{windows}, or @samp{none}. +@end defvar + +@defvar want_nocaseglob +Find potential files using the shell option @code{nocaseglob}, when +@code{deplibs_check_method} is @samp{file_magic}. Normally set to +@samp{no}. Set to @samp{yes} to enable the @code{nocaseglob} shell +option when looking for potential file names in a case-insensitive +manner. +@end defvar + +@defvar whole_archive_flag_spec +Compiler flag to generate shared objects from convenience archives. +@end defvar + +@defvar wl +The C compiler flag that allows libtool to pass a flag directly to the +linker. Used as: @code{$@{wl@}@var{some-flag}}. +@end defvar + +Variables ending in @samp{_cmds} or @samp{_eval} contain a +@samp{~}-separated list of commands that are @code{eval}ed one after +another. If any of the commands return a nonzero exit status, libtool +generally exits with an error message. + +Variables ending in @samp{_spec} are @code{eval}ed before being used by +libtool. + +@node Cheap tricks +@section Cheap tricks + +Here are a few tricks that you can use to make maintainership +easier: + +@itemize @bullet +@item +When people report bugs, ask them to use the @option{--config}, +@option{--debug}, or @option{--features} flags, if you think they will help +you. These flags are there to help you get information directly, rather +than having to trust second-hand observation. + +@item +Rather than reconfiguring libtool every time I make a change to +@code{ltmain.in}, I keep a permanent @code{libtool} script in my +@env{PATH}, which sources @code{ltmain.in} directly. + +The following steps describe how to create such a script, where +@code{/home/src/libtool} is the directory containing the libtool source +tree, @code{/home/src/libtool/libtool} is a libtool script that has been +configured for your platform, and @code{~/bin} is a directory in your +@env{PATH}: + +@smallexample +trick$ cd ~/bin +trick$ sed 's%^\(macro_version=\).*$%\1@@VERSION@@%; + s%^\(macro_revision=\).*$%\1@@package_revision@@%; + /^# ltmain\.sh/q' /home/src/libtool/libtool > libtool +trick$ echo '. /home/src/libtool/ltmain.in' >> libtool +trick$ chmod +x libtool +trick$ libtool --version +ltmain.sh (GNU @@PACKAGE@@@@TIMESTAMP@@) @@VERSION@@ + +Copyright (C) 2014 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +trick$ +@end smallexample +@end itemize + +The output of the final @samp{libtool --version} command shows that the +@code{ltmain.in} script is being used directly. Now, modify +@code{~/bin/libtool} or @code{/home/src/libtool/ltmain.in} directly in +order to test new changes without having to rerun @code{configure}. + +@node GNU Free Documentation License +@appendix GNU Free Documentation License + +@cindex FDL, GNU Free Documentation License + +@include fdl.texi + +@page +@node Combined Index +@unnumbered Combined Index + +@printindex cp + +@bye diff --git a/BUILD/libtool-2.4.7/doc/libtoolize.1 b/BUILD/libtool-2.4.7/doc/libtoolize.1 new file mode 100644 index 0000000..5fb60ad --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/libtoolize.1 @@ -0,0 +1,127 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1. +.TH LIBTOOLIZE "1" "March 2022" "GNU libtool 2.4.7" "User Commands" +.SH NAME +libtoolize \- manual page for libtoolize 2.4.7 +.SH SYNOPSIS +.B libtoolize +[\fI\,OPTION\/\fR]... +.SH DESCRIPTION +Prepare a package to use libtool. +.SH OPTIONS +.TP +\fB\-c\fR, \fB\-\-copy\fR +copy files rather than symlinking them +.TP +\fB\-\-debug\fR +enable verbose shell tracing +.TP +\fB\-n\fR, \fB\-\-dry\-run\fR +print commands rather than running them +.TP +\fB\-f\fR, \fB\-\-force\fR +replace existing files +.TP +\fB\-i\fR, \fB\-\-install\fR +copy missing auxiliary files +.TP +\fB\-\-ltdl\fR[=\fI\,DIR\/\fR] +install libltdl sources [default: libltdl] +.TP +\fB\-\-no\-warnings\fR +equivalent to '\-Wnone' +.TP +\fB\-\-nonrecursive\fR +prepare ltdl for non\-recursive make +.TP +\fB\-q\fR, \fB\-\-quiet\fR +work silently +.TP +\fB\-\-recursive\fR +prepare ltdl for recursive make +.TP +\fB\-\-subproject\fR +prepare ltdl to configure and build independently +.TP +\fB\-v\fR, \fB\-\-verbose\fR +verbosely report processing +.TP +\fB\-\-version\fR +print version information and exit +.TP +\fB\-W\fR, \fB\-\-warnings\fR=\fI\,CATEGORY\/\fR +report the warnings falling in CATEGORY [all] +.TP +\fB\-h\fR, \fB\-\-help\fR +print short or long help message +.SS "Warning categories include:" +.TP +\&'all' +show all warnings +.TP +\&'none' +turn off all the warnings +.TP +\&'error' +warnings are treated as fatal errors +.TP +\&'environment' +show warnings about LIBTOOLIZE_OPTIONS content +.TP +\&'file' +show warnings about file copying and linking +.PP +The following space or comma delimited options can be passed to libtoolize +via the environment variable LIBTOOLIZE_OPTIONS, unknown environment +options are ignored: +.TP +\fB\-\-debug\fR +enable verbose shell tracing +.TP +\fB\-\-no\-warnings\fR +don't display warning messages +.TP +\fB\-\-quiet\fR +work silently +.TP +\fB\-\-verbose\fR +verbosely report processing +.PP +You must 'cd' to the top directory of your package before you run +\&'libtoolize'. +.PP +When reporting a bug, please describe a test case to reproduce it and +include the following information: +.TP +host\-triplet: +x86_64\-pc\-linux\-gnu +.TP +version: +libtoolize (GNU libtool) 2.4.7 +.TP +automake: +automake (GNU automake) 1.16.3 +.TP +autoconf: +autoconf (GNU Autoconf) 2.69 +.SH AUTHOR +Written by Gary V. Vaughan , 2003 +.SH "REPORTING BUGS" +Report bugs to . +.br +GNU libtool home page: . +.br +General help using GNU software: . +.SH COPYRIGHT +Copyright \(co 2022 Free Software Foundation, Inc. +.SH "SEE ALSO" +The full documentation for +.B libtoolize +is maintained as a Texinfo manual. If the +.B info +and +.B libtoolize +programs are properly installed at your site, the command +.IP +.B info libtoolize +.PP +should give you access to the complete manual. diff --git a/BUILD/libtool-2.4.7/doc/notes.texi b/BUILD/libtool-2.4.7/doc/notes.texi new file mode 100644 index 0000000..1fa8a0b --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/notes.texi @@ -0,0 +1,79 @@ +@itemize + +@item +You currently need GNU make to build the Libtool package itself. + +@item +On AIX there are two different styles of shared linking, one where symbols +are bound at link-time and one where symbols are bound at runtime only, +similar to ELF@. In case of doubt use @code{LDFLAGS=-Wl,-brtl} for the latter style. + +@item +On AIX, native tools are to be preferred over binutils; especially for C++ code, +if using the AIX Toolbox GCC 4.0 and binutils, configure with +@code{AR=/usr/bin/ar LD=/usr/bin/ld NM='/usr/bin/nm -B'}. + +@item +On AIX, the @command{/bin/sh} is very slow due to its inefficient handling +of here-documents. A modern shell is preferable: +@example +CONFIG_SHELL=/bin/bash; export $CONFIG_SHELL +$CONFIG_SHELL ./configure [...] +@end example + +@item +For C++ code with templates, it may be necessary to specify the way the compiler +will generate the instantiations. For Portland pgCC version5, use +@code{CXX='pgCC --one_instantiation_per_object'} and avoid parallel @command{make}. + +@item +On Darwin, for C++ code with templates you need two level shared libraries. +Libtool builds these by default if @env{MACOSX_DEPLOYMENT_TARGET} is set to +10.3 or later at @command{configure} time. See @url{rdar://problem/4135857} +for more information on this issue. + +@c @item +@c FreeBSD @command{make} does not conform to @sc{posix} in its handling +@c of file modification times, which causes it to loop while building libtool. +@c Consider using a different @command{such} as GNU make instead. + +@item +The default shell on UNICOS 9, a ksh 88e variant, is too buggy to +correctly execute the libtool script. Users are advised to install a +modern shell such as GNU bash. + +@item +Some HP-UX @command{sed} programs are horribly broken, and cannot handle +libtool's requirements, so users may report unusual problems. There +is no workaround except to install a working @command{sed} (such as GNU sed) +on these systems. + +@item +The vendor-distributed NCR MP-RAS @command{cc} programs emits copyright +on standard error that confuse tests on size of @file{conftest.err}. The +workaround is to specify @env{CC} when run configure with +@code{CC='cc -Hnocopyr'}. + +@item +Any earlier DG/UX system with ELF executables, such as R3.10 or +R4.10, is also likely to work, but hasn't been explicitly tested. + +@item +On Reliant Unix libtool has only been tested with the Siemens C-compiler +and an old version of @command{gcc} provided by Marco Walther. + +@item +@file{libtool.m4}, @file{ltdl.m4} and the @file{configure.ac} files are marked +to use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf itself, +and all recent releases of XEmacs. + +@item +When building on some GNU/Linux systems for multilib targets @command{libtool} +sometimes guesses the wrong paths that the linker and dynamic linker search by +default. If this occurs for the dynamic library path, you may use the +@code{LT_SYS_LIBRARY_PATH} environment variable to adjust. Otherwise, at +@command{configure} time you may override libtool's guesses by setting the +@command{autoconf} cache variables @code{lt_cv_sys_lib_search_path_spec} and +@code{lt_cv_sys_lib_dlsearch_path_spec} respectively. + +@end itemize diff --git a/BUILD/libtool-2.4.7/doc/notes.txt b/BUILD/libtool-2.4.7/doc/notes.txt new file mode 100644 index 0000000..97fafcd --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/notes.txt @@ -0,0 +1,60 @@ + * You currently need GNU make to build the Libtool package itself. + + * On AIX there are two different styles of shared linking, one where + symbols are bound at link-time and one where symbols are bound at + runtime only, similar to ELF. In case of doubt use + 'LDFLAGS=-Wl,-brtl' for the latter style. + + * On AIX, native tools are to be preferred over binutils; especially + for C++ code, if using the AIX Toolbox GCC 4.0 and binutils, + configure with 'AR=/usr/bin/ar LD=/usr/bin/ld NM='/usr/bin/nm -B''. + + * On AIX, the '/bin/sh' is very slow due to its inefficient handling + of here-documents. A modern shell is preferable: + CONFIG_SHELL=/bin/bash; export $CONFIG_SHELL + $CONFIG_SHELL ./configure [...] + + * For C++ code with templates, it may be necessary to specify the way + the compiler will generate the instantiations. For Portland pgCC + version5, use 'CXX='pgCC --one_instantiation_per_object'' and avoid + parallel 'make'. + + * On Darwin, for C++ code with templates you need two level shared + libraries. Libtool builds these by default if + 'MACOSX_DEPLOYMENT_TARGET' is set to 10.3 or later at 'configure' + time. See for more information on this + issue. + + * The default shell on UNICOS 9, a ksh 88e variant, is too buggy to + correctly execute the libtool script. Users are advised to install + a modern shell such as GNU bash. + + * Some HP-UX 'sed' programs are horribly broken, and cannot handle + libtool's requirements, so users may report unusual problems. + There is no workaround except to install a working 'sed' (such as + GNU sed) on these systems. + + * The vendor-distributed NCR MP-RAS 'cc' programs emits copyright on + standard error that confuse tests on size of 'conftest.err'. The + workaround is to specify 'CC' when run configure with 'CC='cc + -Hnocopyr''. + + * Any earlier DG/UX system with ELF executables, such as R3.10 or + R4.10, is also likely to work, but hasn't been explicitly tested. + + * On Reliant Unix libtool has only been tested with the Siemens + C-compiler and an old version of 'gcc' provided by Marco Walther. + + * 'libtool.m4', 'ltdl.m4' and the 'configure.ac' files are marked to + use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf + itself, and all recent releases of XEmacs. + + * When building on some GNU/Linux systems for multilib targets + 'libtool' sometimes guesses the wrong paths that the linker and + dynamic linker search by default. If this occurs for the dynamic + library path, you may use the 'LT_SYS_LIBRARY_PATH' environment + variable to adjust. Otherwise, at 'configure' time you may + override libtool's guesses by setting the 'autoconf' cache + variables 'lt_cv_sys_lib_search_path_spec' and + 'lt_cv_sys_lib_dlsearch_path_spec' respectively. + diff --git a/BUILD/libtool-2.4.7/doc/stamp-vti b/BUILD/libtool-2.4.7/doc/stamp-vti new file mode 100644 index 0000000..795b659 --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/stamp-vti @@ -0,0 +1,4 @@ +@set UPDATED 17 March 2022 +@set UPDATED-MONTH March 2022 +@set EDITION 2.4.7 +@set VERSION 2.4.7 diff --git a/BUILD/libtool-2.4.7/doc/version.texi b/BUILD/libtool-2.4.7/doc/version.texi new file mode 100644 index 0000000..795b659 --- /dev/null +++ b/BUILD/libtool-2.4.7/doc/version.texi @@ -0,0 +1,4 @@ +@set UPDATED 17 March 2022 +@set UPDATED-MONTH March 2022 +@set EDITION 2.4.7 +@set VERSION 2.4.7 diff --git a/BUILD/libtool-2.4.7/gnulib-tests/Makefile.am b/BUILD/libtool-2.4.7/gnulib-tests/Makefile.am new file mode 100644 index 0000000..c7339a3 --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/Makefile.am @@ -0,0 +1,132 @@ +## DO NOT EDIT! GENERATED AUTOMATICALLY! +## Process this file with automake to produce Makefile.in. +# Copyright (C) 2002-2022 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. + +AUTOMAKE_OPTIONS = 1.11 foreign + +SUBDIRS = . +TESTS = +XFAIL_TESTS = +TESTS_ENVIRONMENT = +noinst_PROGRAMS = +check_PROGRAMS = +EXTRA_PROGRAMS = +noinst_HEADERS = +noinst_LIBRARIES = +EXTRA_DIST = +BUILT_SOURCES = +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +CFLAGS = @GL_CFLAG_ALLOW_WARNINGS@ $(GL_CFLAG_GNULIB_WARNINGS) @CFLAGS@ +CXXFLAGS = @GL_CXXFLAG_ALLOW_WARNINGS@ @CXXFLAGS@ + +AM_CPPFLAGS = \ + -D@GLtests_WITNESS@=1 \ + -I. -I$(srcdir) \ + -I.. -I$(srcdir)/.. \ + -I../lib -I$(srcdir)/../lib + +LDADD = ../lib/libgnu.la + +TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)' + +## begin gnulib module all-shells-tests + +TESTS_ENVIRONMENT += \ + abs_aux_dir='$(abs_aux_dir)' \ + abs_srcdir='$(abs_srcdir)' +EXTRA_DIST += test-all-shells.sh + +## end gnulib module all-shells-tests + +## begin gnulib module funclib.sh-tests + +TESTS += \ + test-funclib-quote.sh +EXTRA_DIST += test-funclib-quote.sh + +## end gnulib module funclib.sh-tests + +## begin gnulib module options-parser-tests + +TESTS += \ + test-option-parser.sh +EXTRA_DIST += test-option-parser.sh test-option-parser-helper + +## end gnulib module options-parser-tests + +## begin gnulib module test-framework-sh-tests + +TESTS += test-init.sh +EXTRA_DIST += init.sh +EXTRA_DIST += test-init.sh + +## end gnulib module test-framework-sh-tests + +## begin gnulib module update-copyright-tests + +TESTS += test-update-copyright.sh +TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)' +EXTRA_DIST += test-update-copyright.sh + +## end gnulib module update-copyright-tests + +## begin gnulib module vc-list-files-tests + +TESTS += test-vc-list-files-git.sh +TESTS += test-vc-list-files-cvs.sh +TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)' +EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh + +## end gnulib module vc-list-files-tests + +all: all-notice +all-notice: + @echo '## ---------------------------------------------------- ##' + @echo '## ------------------- Gnulib tests ------------------- ##' + @echo '## You can ignore compiler warnings in this directory. ##' + @echo '## ---------------------------------------------------- ##' + +check-am: check-notice +check-notice: + @echo '## ---------------------------------------------------------------------- ##' + @echo '## ---------------------------- Gnulib tests ---------------------------- ##' + @echo '## Please report test failures in this directory to . ##' + @echo '## ---------------------------------------------------------------------- ##' + +# Clean up after Solaris cc. +clean-local: + rm -rf SunWS_cache + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : diff --git a/BUILD/libtool-2.4.7/gnulib-tests/Makefile.in b/BUILD/libtool-2.4.7/gnulib-tests/Makefile.in new file mode 100644 index 0000000..8f72a84 --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/Makefile.in @@ -0,0 +1,1208 @@ +# Makefile.in generated by automake 1.16.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Copyright (C) 2002-2022 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. + + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +XFAIL_TESTS = +noinst_PROGRAMS = +check_PROGRAMS = +EXTRA_PROGRAMS = +subdir = gnulib-tests +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ + $(top_srcdir)/m4/autobuild.m4 \ + $(top_srcdir)/m4/gnulib-common.m4 \ + $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/zzgnulib.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +LIBRARIES = $(noinst_LIBRARIES) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(noinst_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + check recheck distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + fi; \ +} +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +RECHECK_LOGS = $(TEST_LOGS) +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/test-driver +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +pkgdatadir = @pkgdatadir@ +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOM4TE = @AUTOM4TE@ +AUTOMAKE = @AUTOMAKE@ +AUTOTEST = @AUTOTEST@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @GL_CFLAG_ALLOW_WARNINGS@ $(GL_CFLAG_GNULIB_WARNINGS) @CFLAGS@ +CONFIG_INCLUDE = @CONFIG_INCLUDE@ +CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @GL_CXXFLAG_ALLOW_WARNINGS@ @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FC = @FC@ +FCFLAGS = @FCFLAGS@ +FFLAGS = @FFLAGS@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GCJ = @GCJ@ +GCJFLAGS = @GCJFLAGS@ +GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@ +GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@ +GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@ +GL_LIBOBJDEPS = @GL_LIBOBJDEPS@ +GL_LIBOBJS = @GL_LIBOBJS@ +GL_LTLIBOBJS = @GL_LTLIBOBJS@ +GLtests_LIBOBJDEPS = @GLtests_LIBOBJDEPS@ +GLtests_LIBOBJS = @GLtests_LIBOBJS@ +GLtests_LTLIBOBJS = @GLtests_LTLIBOBJS@ +GLtests_WITNESS = @GLtests_WITNESS@ +GOC = @GOC@ +GREP = @GREP@ +HELP2MAN = @HELP2MAN@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBADD_DL = @LIBADD_DL@ +LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ +LIBADD_DLOPEN = @LIBADD_DLOPEN@ +LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTDLOPEN = @LTDLOPEN@ +LTLIBOBJS = @LTLIBOBJS@ +LT_ARGZ_H = @LT_ARGZ_H@ +LT_CONFIG_H = @LT_CONFIG_H@ +LT_DLLOADERS = @LT_DLLOADERS@ +LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +M4_GNU = @M4_GNU@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_aux_dir = @abs_aux_dir@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_FC = @ac_ct_FC@ +aclocaldir = @aclocaldir@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +aux_dir = @aux_dir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +ltdl_dir = @ltdl_dir@ +macro_dir = @macro_dir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +package_revision = @package_revision@ +pdfdir = @pdfdir@ +pkgaux_scripts = @pkgaux_scripts@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sys_symbol_underscore = @sys_symbol_underscore@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +to_host_file_cmd = @to_host_file_cmd@ +to_tool_file_cmd = @to_tool_file_cmd@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +with_aix_soname = @with_aix_soname@ +AUTOMAKE_OPTIONS = 1.11 foreign +SUBDIRS = . +TESTS = test-funclib-quote.sh test-option-parser.sh test-init.sh \ + test-update-copyright.sh test-vc-list-files-git.sh \ + test-vc-list-files-cvs.sh +TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \ + abs_aux_dir='$(abs_aux_dir)' abs_srcdir='$(abs_srcdir)' \ + abs_aux_dir='$(abs_aux_dir)' abs_aux_dir='$(abs_aux_dir)' +noinst_HEADERS = +noinst_LIBRARIES = +EXTRA_DIST = test-all-shells.sh test-funclib-quote.sh \ + test-option-parser.sh test-option-parser-helper init.sh \ + test-init.sh test-update-copyright.sh \ + test-vc-list-files-git.sh test-vc-list-files-cvs.sh +BUILT_SOURCES = +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = +AM_CPPFLAGS = \ + -D@GLtests_WITNESS@=1 \ + -I. -I$(srcdir) \ + -I.. -I$(srcdir)/.. \ + -I../lib -I$(srcdir)/../lib + +LDADD = ../lib/libgnu.la +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .log .test .test$(EXEEXT) .trs +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gnulib-tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign gnulib-tests/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + elif test -n "$$redo_logs"; then \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: $(check_PROGRAMS) + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all $(check_PROGRAMS) + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +test-funclib-quote.sh.log: test-funclib-quote.sh + @p='test-funclib-quote.sh'; \ + b='test-funclib-quote.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-option-parser.sh.log: test-option-parser.sh + @p='test-option-parser.sh'; \ + b='test-option-parser.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-init.sh.log: test-init.sh + @p='test-init.sh'; \ + b='test-init.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-update-copyright.sh.log: test-update-copyright.sh + @p='test-update-copyright.sh'; \ + b='test-update-copyright.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-vc-list-files-git.sh.log: test-vc-list-files-git.sh + @p='test-vc-list-files-git.sh'; \ + b='test-vc-list-files-git.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-vc-list-files-cvs.sh.log: test-vc-list-files-cvs.sh + @p='test-vc-list-files-cvs.sh'; \ + b='test-vc-list-files-cvs.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(PROGRAMS) $(LIBRARIES) $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-recursive + +clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ + clean-noinstLIBRARIES clean-noinstPROGRAMS mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool \ + mostlyclean-local + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) all check check-am install install-am \ + install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ + clean-libtool clean-local clean-noinstLIBRARIES \ + clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +all: all-notice +all-notice: + @echo '## ---------------------------------------------------- ##' + @echo '## ------------------- Gnulib tests ------------------- ##' + @echo '## You can ignore compiler warnings in this directory. ##' + @echo '## ---------------------------------------------------- ##' + +check-am: check-notice +check-notice: + @echo '## ---------------------------------------------------------------------- ##' + @echo '## ---------------------------- Gnulib tests ---------------------------- ##' + @echo '## Please report test failures in this directory to . ##' + @echo '## ---------------------------------------------------------------------- ##' + +# Clean up after Solaris cc. +clean-local: + rm -rf SunWS_cache + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/BUILD/libtool-2.4.7/gnulib-tests/init.sh b/BUILD/libtool-2.4.7/gnulib-tests/init.sh new file mode 100644 index 0000000..933fdd4 --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/init.sh @@ -0,0 +1,700 @@ +# source this file; set up for tests + +# Copyright (C) 2009-2022 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Using this file in a test +# ========================= +# +# The typical skeleton of a test looks like this: +# +# #!/bin/sh +# . "${srcdir=.}/init.sh"; path_prepend_ . +# Execute some commands. +# Note that these commands are executed in a subdirectory, therefore you +# need to prepend "../" to relative filenames in the build directory. +# Note that the "path_prepend_ ." is useful only if the body of your +# test invokes programs residing in the initial directory. +# For example, if the programs you want to test are in src/, and this test +# script is named tests/test-1, then you would use "path_prepend_ ../src", +# or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" +# to all tests via automake's TESTS_ENVIRONMENT. +# Set the exit code 0 for success, 77 for skipped, or 1 or other for failure. +# Use the skip_ and fail_ functions to print a diagnostic and then exit +# with the corresponding exit code. +# Exit $? + +# Executing a test that uses this file +# ==================================== +# +# Running a single test: +# $ make check TESTS=test-foo.sh +# +# Running a single test, with verbose output: +# $ make check TESTS=test-foo.sh VERBOSE=yes +# +# Running a single test, keeping the temporary directory: +# $ make check TESTS=test-foo.sh KEEP=yes +# +# Running a single test, with single-stepping: +# 1. Go into a sub-shell: +# $ bash +# 2. Set relevant environment variables from TESTS_ENVIRONMENT in the +# Makefile: +# $ export srcdir=../../tests # this is an example +# 3. Execute the commands from the test, copy&pasting them one by one: +# $ . "$srcdir/init.sh"; path_prepend_ . +# ... +# 4. Finally +# $ exit + +# ============================================================================= +# Elementary diagnostics + +ME_=`expr "./$0" : '.*/\(.*\)$'` + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# We use a trap below for cleanup. This requires us to go through +# hoops to get the right exit status transported through the handler. +# So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests. +# Turn off errexit here so that we don't trip the bug with OSF1/Tru64 +# sh inside this function. +Exit () { set +e; (exit $1); exit $1; } + +# Print warnings (e.g., about skipped and failed tests) to this file number. +# Override by defining to say, 9, in init.cfg, and putting say, +# export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2 +# in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file. +# This is useful when using automake's parallel tests mode, to print +# the reason for skip/failure to console, rather than to the .log files. +: ${stderr_fileno_=2} + +# Note that correct expansion of "$*" depends on IFS starting with ' '. +# Always write the full diagnostic to stderr. +# When stderr_fileno_ is not 2, also emit the first line of the +# diagnostic to that file descriptor. +warn_ () +{ + # If IFS does not start with ' ', set it and emit the warning in a subshell. + case $IFS in + ' '*) printf '%s\n' "$*" >&2 + test $stderr_fileno_ = 2 \ + || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;; + *) (IFS=' '; warn_ "$@");; + esac +} +fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; } +skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; } +fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; } +framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; } + +# ============================================================================= +# Ensure the shell supports modern syntax. + +# Sanitize this shell to POSIX mode, if possible. +DUALCASE=1; export DUALCASE +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; + esac +fi + +# We require $(...) support unconditionally. +# We require that the printf built-in work correctly regarding octal escapes; +# this eliminates /bin/sh on AIX 7.2. +# We require non-surprising "local" semantics (this eliminates dash). +# This takes the admittedly draconian step of eliminating dash, because the +# assignment tab=$(printf '\t') works fine, yet preceding it with "local " +# transforms it into an assignment that sets the variable to the empty string. +# That is too counter-intuitive, and can lead to subtle run-time malfunction. +# The example below is less subtle in that with dash, it evokes the run-time +# exception "dash: 1: local: 1: bad variable name". +# We require a few additional shell features only when $EXEEXT is nonempty, +# in order to support automatic $EXEEXT emulation: +# - hyphen-containing alias names +# - we prefer to use ${var#...} substitution, rather than having +# to work around lack of support for that feature. +# The following code attempts to find a shell with support for these features. +# If the current shell passes the test, we're done. Otherwise, test other +# shells until we find one that passes. If one is found, re-exec it. +# If no acceptable shell is found, skip the current test. +# +# The "...set -x; P=1 true 2>err..." test is to disqualify any shell that +# emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do. +# +# Use "9" to indicate success (rather than 0), in case some shell acts +# like Solaris 10's /bin/sh but exits successfully instead of with status 2. + +# Eval this code in a subshell to determine a shell's suitability. +# 10 - passes all tests; ok to use +# 9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score +# ? - not ok +gl_shell_test_script_=' +test $(echo y) = y || exit 1 +LC_ALL=en_US.UTF-8 printf "\\351" 2>/dev/null \ + | LC_ALL=C tr "\\351" x | LC_ALL=C grep "^x$" > /dev/null \ + || exit 1 +printf "\\351" 2>/dev/null \ + | LC_ALL=C tr "\\351" x | LC_ALL=C grep "^x$" > /dev/null \ + || exit 1 +f_local_() { local v=1; }; f_local_ || exit 1 +f_dash_local_fail_() { local t=$(printf " 1"); }; f_dash_local_fail_ +score_=10 +if test "$VERBOSE" = yes; then + test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9 +fi +test -z "$EXEEXT" && exit $score_ +shopt -s expand_aliases +alias a-b="echo zoo" +v=abx + test ${v%x} = ab \ + && test ${v#a} = bx \ + && test $(a-b) = zoo \ + && exit $score_ +' + +if test "x$1" = "x--no-reexec"; then + shift +else + # Assume a working shell. Export to subshells (setup_ needs this). + gl_set_x_corrupts_stderr_=false + export gl_set_x_corrupts_stderr_ + + # Record the first marginally acceptable shell. + marginal_= + + # Search for a shell that meets our requirements. + for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \ + /bin/sh bash dash zsh pdksh fail + do + test "$re_shell_" = no_shell && continue + + # If we've made it all the way to the sentinel, "fail" without + # finding even a marginal shell, skip this test. + if test "$re_shell_" = fail; then + test -z "$marginal_" && skip_ failed to find an adequate shell + re_shell_=$marginal_ + break + fi + + # When testing the current shell, simply "eval" the test code. + # Otherwise, run it via $re_shell_ -c ... + if test "$re_shell_" = __current__; then + # 'eval'ing this code makes Solaris 10's /bin/sh exit with + # $? set to 2. It does not evaluate any of the code after the + # "unexpected" first '('. Thus, we must run it in a subshell. + ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1 + else + "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null + fi + + st_=$? + + # $re_shell_ works just fine. Use it. + if test $st_ = 10; then + gl_set_x_corrupts_stderr_=false + break + fi + + # If this is our first marginally acceptable shell, remember it. + if test "$st_:$marginal_" = 9: ; then + marginal_="$re_shell_" + gl_set_x_corrupts_stderr_=true + fi + done + + if test "$re_shell_" != __current__; then + # Found a usable shell. Preserve -v and -x. + case $- in + *v*x* | *x*v*) opts_=-vx ;; + *v*) opts_=-v ;; + *x*) opts_=-x ;; + *) opts_= ;; + esac + re_shell=$re_shell_ + export re_shell + exec "$re_shell_" $opts_ "$0" --no-reexec "$@" + echo "$ME_: exec failed" 1>&2 + exit 127 + fi +fi + +# ============================================================================= +# Ensure the shell behaves reasonably. + +# If this is bash, turn off all aliases. +test -n "$BASH_VERSION" && unalias -a + +# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to +# PROG_NAME.exe), we want to support hyphen-containing names like test-acos. +# That is part of the shell-selection test above. Why use aliases rather +# than functions? Because support for hyphen-containing aliases is more +# widespread than that for hyphen-containing function names. +test -n "$EXEEXT" && test -n "$BASH_VERSION" && shopt -s expand_aliases + +# ============================================================================= +# Creating a temporary directory (needed by the core test framework) + +# Create a temporary directory, much like mktemp -d does. +# Written by Jim Meyering. +# +# Usage: mktempd_ /tmp phoey.XXXXXXXXXX +# +# First, try to use the mktemp program. +# Failing that, we'll roll our own mktemp-like function: +# - try to get random bytes from /dev/urandom +# - failing that, generate output from a combination of quickly-varying +# sources and gzip. Ignore non-varying gzip header, and extract +# "random" bits from there. +# - given those bits, map to file-name bytes using tr, and try to create +# the desired directory. +# - make only $MAX_TRIES_ attempts + +# Helper function. Print $N pseudo-random bytes from a-zA-Z0-9. +rand_bytes_ () +{ + n_=$1 + + # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first? + # But if they have openssl, they probably have mktemp, too. + + chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + dev_rand_=/dev/urandom + if test -r "$dev_rand_"; then + # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194. + dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \ + | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ + return + fi + + n_plus_50_=`expr $n_ + 50` + cmds_='date; date +%N; free; who -a; w; ps auxww; ps -ef' + data_=` (eval "$cmds_") 2>&1 | gzip ` + + # Ensure that $data_ has length at least 50+$n_ + while :; do + len_=`echo "$data_"|wc -c` + test $n_plus_50_ -le $len_ && break; + data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip ` + done + + echo "$data_" \ + | dd bs=1 skip=50 count=$n_ 2>/dev/null \ + | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ +} + +mktempd_ () +{ + case $# in + 2);; + *) fail_ "Usage: mktempd_ DIR TEMPLATE";; + esac + + destdir_=$1 + template_=$2 + + MAX_TRIES_=4 + + # Disallow any trailing slash on specified destdir: + # it would subvert the post-mktemp "case"-based destdir test. + case $destdir_ in + / | //) destdir_slash_=$destdir;; + */) fail_ "invalid destination dir: remove trailing slash(es)";; + *) destdir_slash_=$destdir_/;; + esac + + case $template_ in + *XXXX) ;; + *) fail_ \ + "invalid template: $template_ (must have a suffix of at least 4 X's)";; + esac + + # First, try to use mktemp. + d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` && + + # The resulting name must be in the specified directory. + case $d in "$destdir_slash_"*) :;; *) false;; esac && + + # It must have created the directory. + test -d "$d" && + + # It must have 0700 permissions. Handle sticky "S" bits. + perms=`ls -dgo "$d" 2>/dev/null` && + case $perms in drwx--[-S]---*) :;; *) false;; esac && { + echo "$d" + return + } + + # If we reach this point, we'll have to create a directory manually. + + # Get a copy of the template without its suffix of X's. + base_template_=`echo "$template_"|sed 's/XX*$//'` + + # Calculate how many X's we've just removed. + template_length_=`echo "$template_" | wc -c` + nx_=`echo "$base_template_" | wc -c` + nx_=`expr $template_length_ - $nx_` + + err_= + i_=1 + while :; do + X_=`rand_bytes_ $nx_` + candidate_dir_="$destdir_slash_$base_template_$X_" + err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \ + && { echo "$candidate_dir_"; return; } + test $MAX_TRIES_ -le $i_ && break; + i_=`expr $i_ + 1` + done + fail_ "$err_" +} + +# ============================================================================= +# Core test framework + +# An arbitrary prefix to help distinguish test directories. +testdir_prefix_ () { printf gt; } + +# Set up the environment for the test to run in. +setup_ () +{ + if test "$VERBOSE" = yes; then + # Test whether set -x may cause the selected shell to corrupt an + # application's stderr. Many do, including zsh-4.3.10 and the /bin/sh + # from SunOS 5.11, OpenBSD 4.7 and Irix 6.5. + # If enabling verbose output this way would cause trouble, simply + # issue a warning and refrain. + if $gl_set_x_corrupts_stderr_; then + warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr" + else + set -x + fi + fi + + initial_cwd_=$PWD + + # Create and enter the temporary directory. + pfx_=`testdir_prefix_` + test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \ + || fail_ "failed to create temporary directory in $initial_cwd_" + cd "$test_dir_" || fail_ "failed to cd to temporary directory" + # Set variables srcdir, builddir, for the convenience of the test. + case $srcdir in + /* | ?:*) ;; + *) srcdir="../$srcdir" ;; + esac + builddir=".." + export srcdir builddir + + # As autoconf-generated configure scripts do, ensure that IFS + # is defined initially, so that saving and restoring $IFS works. + gl_init_sh_nl_=' +' + IFS=" "" $gl_init_sh_nl_" + + # This trap statement, along with a trap on 0 below, ensure that the + # temporary directory, $test_dir_, is removed upon exit as well as + # upon receipt of any of the listed signals. + for sig_ in 1 2 3 13 15; do + eval "trap 'Exit $(expr $sig_ + 128)' $sig_" + done + + # Remove relative and non-accessible directories from PATH, including '.' + # and Zero-length entries. + saved_IFS="$IFS" + IFS=: + new_PATH= + sep_= + for dir in $PATH; do + case "$dir" in + /*) test -d "$dir/." || continue + new_PATH="${new_PATH}${sep_}${dir}" + sep_=':';; + esac + done + IFS="$saved_IFS" + PATH="$new_PATH" + export PATH +} + +# This is a stub function that is run upon trap (upon regular exit and +# interrupt). Override it with a per-test function, e.g., to unmount +# a partition, or to undo any other global state changes. +cleanup_ () { :; } + +# Run the user-overridable cleanup_ function, remove the temporary +# directory and exit with the incoming value of $?. +remove_tmp_ () +{ + __st=$? + cleanup_ + if test "$KEEP" = yes; then + echo "Not removing temporary directory $test_dir_" + else + # cd out of the directory we're about to remove + cd "$initial_cwd_" || cd / || cd /tmp + chmod -R u+rwx "$test_dir_" + # If removal fails and exit status was to be 0, then change it to 1. + rm -rf "$test_dir_" || { test $__st = 0 && __st=1; } + fi + exit $__st +} + +# ============================================================================= +# Prepending directories to PATH + +# Given a directory name, DIR, if every entry in it that matches *.exe +# contains only the specified bytes (see the case stmt below), then print +# a space-separated list of those names and return 0. Otherwise, don't +# print anything and return 1. Naming constraints apply also to DIR. +find_exe_basenames_ () +{ + feb_dir_=$1 + feb_fail_=0 + feb_result_= + feb_sp_= + for feb_file_ in $feb_dir_/*.exe; do + # If there was no *.exe file, or there existed a file named "*.exe" that + # was deleted between the above glob expansion and the existence test + # below, just skip it. + test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \ + && continue + # Exempt [.exe, since we can't create a function by that name, yet + # we can't invoke [ by PATH search anyways due to shell builtins. + test "x$feb_file_" = "x$feb_dir_/[.exe" && continue + case $feb_file_ in + *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;; + *) # Remove leading file name components as well as the .exe suffix. + feb_file_=${feb_file_##*/} + feb_file_=${feb_file_%.exe} + feb_result_="$feb_result_$feb_sp_$feb_file_";; + esac + feb_sp_=' ' + done + test $feb_fail_ = 0 && printf %s "$feb_result_" + return $feb_fail_ +} + +# Consider the files in directory, $1. +# For each file name of the form PROG.exe, create an alias named +# PROG that simply invokes PROG.exe, then return 0. If any selected +# file name or the directory name, $1, contains an unexpected character, +# define no alias and return 1. +create_exe_shims_ () +{ + case $EXEEXT in + '') return 0 ;; + .exe) ;; + *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;; + esac + + base_names_=`find_exe_basenames_ $1` \ + || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; } + + if test -n "$base_names_"; then + for base_ in $base_names_; do + alias "$base_"="$base_$EXEEXT" + done + fi + + return 0 +} + +# Use this function to prepend to PATH an absolute name for each +# specified, possibly-$initial_cwd_-relative, directory. +path_prepend_ () +{ + while test $# != 0; do + path_dir_=$1 + case $path_dir_ in + '') fail_ "invalid path dir: '$1'";; + /* | ?:*) abs_path_dir_=$path_dir_;; + *) abs_path_dir_=$initial_cwd_/$path_dir_;; + esac + case $abs_path_dir_ in + *$PATH_SEPARATOR*) fail_ "invalid path dir: '$abs_path_dir_'";; + esac + PATH="$abs_path_dir_$PATH_SEPARATOR$PATH" + + # Create an alias, FOO, for each FOO.exe in this directory. + create_exe_shims_ "$abs_path_dir_" \ + || fail_ "something failed (above): $abs_path_dir_" + shift + done + export PATH +} + +# ============================================================================= +# Convenience environment variables for the tests + +# ----------------------------------------------------------------------------- + +# Enable glibc's malloc-perturbing option. +# This is useful for exposing code that depends on the fact that +# malloc-related functions often return memory that is mostly zeroed. +# If you have the time and cycles, use valgrind to do an even better job. +: ${MALLOC_PERTURB_=87} +export MALLOC_PERTURB_ + +# ----------------------------------------------------------------------------- + +# The interpreter for Bourne-shell scripts. +# No special standards compatibility requirements. +# Some environments, such as Android, don't have /bin/sh. +if test -f /bin/sh$EXEEXT; then + BOURNE_SHELL=/bin/sh +else + BOURNE_SHELL=sh +fi + +# ============================================================================= +# Convenience functions for the tests + +# ----------------------------------------------------------------------------- +# Return value checking + +# This is used to simplify checking of the return value +# which is useful when ensuring a command fails as desired. +# I.e., just doing `command ... &&fail=1` will not catch +# a segfault in command for example. With this helper you +# instead check an explicit exit code like +# returns_ 1 command ... || fail +returns_ () { + # Disable tracing so it doesn't interfere with stderr of the wrapped command + { set +x; } 2>/dev/null + + local exp_exit="$1" + shift + "$@" + test $? -eq $exp_exit && ret_=0 || ret_=1 + + if test "$VERBOSE" = yes && test "$gl_set_x_corrupts_stderr_" = false; then + set -x + fi + { return $ret_; } 2>/dev/null +} + +# ----------------------------------------------------------------------------- +# Text file comparison + +# Emit a header similar to that from diff -u; Print the simulated "diff" +# command so that the order of arguments is clear. Don't bother with @@ lines. +emit_diff_u_header_ () +{ + printf '%s\n' "diff -u $*" \ + "--- $1 1970-01-01" \ + "+++ $2 1970-01-01" +} + +# Arrange not to let diff or cmp operate on /dev/null, +# since on some systems (at least OSF/1 5.1), that doesn't work. +# When there are not two arguments, or no argument is /dev/null, return 2. +# When one argument is /dev/null and the other is not empty, +# cat the nonempty file to stderr and return 1. +# Otherwise, return 0. +compare_dev_null_ () +{ + test $# = 2 || return 2 + + if test "x$1" = x/dev/null; then + test -s "$2" || return 0 + emit_diff_u_header_ "$@"; sed 's/^/+/' "$2" + return 1 + fi + + if test "x$2" = x/dev/null; then + test -s "$1" || return 0 + emit_diff_u_header_ "$@"; sed 's/^/-/' "$1" + return 1 + fi + + return 2 +} + +for diff_opt_ in -u -U3 -c '' no; do + test "$diff_opt_" != no && + diff_out_=`exec 2>/dev/null; diff $diff_opt_ "$0" "$0" < /dev/null` && + break +done +if test "$diff_opt_" != no; then + if test -z "$diff_out_"; then + compare_ () { diff $diff_opt_ "$@"; } + else + compare_ () + { + # If no differences were found, AIX and HP-UX 'diff' produce output + # like "No differences encountered". Hide this output. + diff $diff_opt_ "$@" > diff.out + diff_status_=$? + test $diff_status_ -eq 0 || cat diff.out || diff_status_=2 + rm -f diff.out || diff_status_=2 + return $diff_status_ + } + fi +elif cmp -s /dev/null /dev/null 2>/dev/null; then + compare_ () { cmp -s "$@"; } +else + compare_ () { cmp "$@"; } +fi + +# Usage: compare EXPECTED ACTUAL +# +# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more. +# Otherwise, propagate $? to caller: any diffs have already been printed. +compare () +{ + # This looks like it can be factored to use a simple "case $?" + # after unchecked compare_dev_null_ invocation, but that would + # fail in a "set -e" environment. + if compare_dev_null_ "$@"; then + return 0 + else + case $? in + 1) return 1;; + *) compare_ "$@";; + esac + fi +} + +# ----------------------------------------------------------------------------- + +# If you want to override the testdir_prefix_ function, +# or to add more utility functions, use this file. +test -f "$srcdir/init.cfg" \ + && . "$srcdir/init.cfg" + +# ============================================================================= +# Set up the environment for the test to run in. + +setup_ "$@" +# This trap is here, rather than in the setup_ function, because some +# shells run the exit trap at shell function exit, rather than script exit. +trap remove_tmp_ 0 diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-all-shells.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-all-shells.sh new file mode 100644 index 0000000..a6dcba2 --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/test-all-shells.sh @@ -0,0 +1,103 @@ +#! /bin/sh + +# Unit test helper. + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2015-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + + +# This shell snippet (when sourced) tries to find as many /bin/sh compatible +# shells as possible on tested box -- and then re-executes the calling script +# in all of them. At the end, the default shell (/bin/sh usually) is also +# tested. +# +# To write compatible test-case, you usually need only those lines: +# +# #! /bin/sh +# +# all_shells_script=$0 +# . "$abs_srcdir/test-all-shells.sh" +# +# your_check && all_shells_error "failed your_check" +# +# $all_shells_exit_cmd + + +# List of shells we try to check in. +: ${GL_ALL_SHELLS='ash bash dash ksh ksh88 mksh zsh busybox'} + +# List of directories to search for the shell interpreter. +: ${GL_ALL_SHELLS_DIRS='/bin /sbin'} + +# List of shell emulations to test with BusyBox. +: ${GL_ALL_SHELLS_BBE='sh ash'} + +. "$abs_aux_dir"/funclib.sh || exit 1 + +all_shells_exit_cmd=: + +: ${all_shells_script=false} + + +all_shells_error () +{ + $ECHO "error: $*" >&2 + all_shells_exit_cmd=false +} + + +__notify_shell () +{ + $ECHO "== running in '$*' ==" >&2 +} + + +__reexec_in_all_shells () +{ + for _G_dir in $GL_ALL_SHELLS_DIRS + do + for _G_shell in $GL_ALL_SHELLS + do + _G_abs_shell=$_G_dir/$_G_shell + test -f "$_G_abs_shell" || continue + + case $_G_abs_shell in + *busybox) + for _G_bbe in $GL_ALL_SHELLS_BBE + do + _G_full_bb="$_G_abs_shell $_G_bbe" + __notify_shell "$_G_full_bb" + __GL_ALL_SHELLS_SHELL="$_G_full_bb" \ + "$_G_abs_shell" "$_G_bbe" "$all_shells_script" ${1+"$@"} \ + || all_shells_error "can't run in $_G_bbe" + done + ;; + *) + __notify_shell "$_G_abs_shell" + __GL_ALL_SHELLS_SHELL="$_G_abs_shell" \ + "$_G_abs_shell" "$all_shells_script" ${1+"$@"} \ + || all_shells_error "can't run in $_G_abs_shell" + ;; + esac + done + done +} + + +test x = "x$__GL_ALL_SHELLS_SHELL" \ + && __reexec_in_all_shells ${1+"$@"} \ + && __notify_shell "default shell" + +: diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-funclib-quote.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-funclib-quote.sh new file mode 100755 index 0000000..d895d1c --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/test-funclib-quote.sh @@ -0,0 +1,183 @@ +#! /bin/sh + +# Unit tests for funclib.sh + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2015-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + + +all_shells_script=$0 +. "$abs_srcdir/test-all-shells.sh" || exit 1 + + +_compare_or_error () +{ + _G_msg="$1: strings differ: + a: $2 + b: $3" + test "$2" = "$3" || all_shells_error "$_G_msg" +} + + +dump_args () +{ + dump_args_result= + _separator= + for arg + do + func_append dump_args_result "$_separator$arg" + _separator=' ' + done +} + + +# test_q_eval DESC ARGs... +# ------------------------ +# Apply 'func_quote eval' on ARGs and eval the result. The eval-ed result must +# 100% match the original ARGs. +test_q_eval () +{ + description="$1" ; shift + + dump_args ${1+"$@"} + original=$dump_args_result + + $ECHO "~> func_quote eval: $description: $original" + + # Pretty implementation + func_quote eval,pretty ${1+"$@"} \ + || all_shells_error "can't pretty func_quote args '$*'" + eval "set dummy $func_quote_result" ; shift + dump_args ${1+"$@"} + pretty=$dump_args_result + + # Fast implementation (if available) + func_quote eval ${1+"$@"} || all_shells_error "can't fast func_quote args '$*'" + eval "set dummy $func_quote_result" ; shift + dump_args ${1+"$@"} + fast=$dump_args_result + + _compare_or_error "$description (pretty)" "$original" "$pretty" + _compare_or_error "$description (fast)" "$original" "$fast" +} + + +# test_q_arg_eval DESC ARG +# ------------------------ +# Apply 'func_quote_arg eval' on ARG and eval the result. Echo-ed result within +# eval must match original echo-ed ARG. +test_q_arg_eval () +{ + description=$1 + original=$2 + original_echo=`$ECHO "$original"` + + $ECHO "~> func_quote_arg eval: $description: $original_echo" + + func_quote_arg pretty,unquoted "$original" \ + || all_shells_error "can't quote_arg: $original" + pretty=$func_quote_arg_result + pretty_unquoted=$func_quote_arg_unquoted_result + pretty_echo=`eval '$ECHO '"$pretty"` \ + || all_shells_error "can't eval: $pretty" + + pretty_unquoted_echo=`eval '$ECHO '"\"$pretty_unquoted\""` \ + || all_shells_error "can't eval: $pretty" + + # Fast implementation. + func_quote_arg eval "$original" + fast=$func_quote_arg_result + fast_echo=`eval '$ECHO '"$fast"` || all_shells_error "can't eval: $pretty" + + _compare_or_error "$description (pretty)" \ + "$original_echo" "$pretty_echo" + _compare_or_error "$description (pretty_unquoted)" \ + "$original_echo" "$pretty_unquoted_echo" + _compare_or_error "$description (fast)" \ + "$original_echo" "$fast_echo" +} + + +# test_q_expand DESC EXP_RESULT ARG +# --------------------------------- +# Test that 'func_quote expand' works fine --> all shell special characters are +# quoted except '$' -- while all variables are expanded. +test_q_expand () +{ + description=$1 ; shift + exp_result=$1 ; shift + + dump_args ${1+"$@"} + $ECHO "~> func_quote expand: $description: $dump_args_result" + + func_quote expand ${1+"$@"} + eval "set dummy $func_quote_result" ; shift + dump_args ${1+"$@"} + + _compare_or_error "$description (expand)" "$exp_result" "$dump_args_result" +} + + +## ============== ## +## Start testing! ## +## ============== ## + +aaa=aaa ; bbb=bbb ; ccc=ccc ; ddd=ddd + +# Needed for later testing of globbing. +touch fltestA fltestB + +test_q_eval basic a b c +# TODO: Intentionally not checking newline here yet, it never worked. +test_q_eval spaces 'space space' 'tab tab' +test_q_eval empty_arg '' '' '' +test_q_eval globs '*' '.*' '[a-zA-Z0-9_]' '?' '~' +test_q_eval variables '$aaa' '${bbb}' '"${ccc} $ddd"' +test_q_eval exclamation-mark '$!' '!$' '!' +test_q_eval tilde '"~"' +test_q_eval single-quotes "'a'" "'"'$bbb'"'" +test_q_eval shell-vars '$1' '$@' '$*' 'ending$' +test_q_eval complicated-cmd grep b '>' /noperm '<' /noperm + +test_q_arg_eval basic a +test_q_arg_eval single-quotes "'''" +test_q_arg_eval double-quotes '"""' +test_q_arg_eval tilde '~' +test_q_arg_eval ampersand '&' +test_q_arg_eval pipe '|' +test_q_arg_eval questionmark 'fltest?' +test_q_arg_eval glob-bracket 'fltest[A-Z]' +test_q_arg_eval space 'space space' +test_q_arg_eval tab 'tab tab' +test_q_arg_eval '`command`' '`false command`' +test_q_arg_eval '$(command)' '$(false command)' +test_q_arg_eval semicolon '; false' +test_q_arg_eval vars '$aaa ${bbb} "${ccc} $ddd"' +test_q_arg_eval if-then-else 'if false; then false; else false; fi' +test_q_arg_eval file-redirect 'echo a > /no-perm 2> /no-perm' +test_q_arg_eval case-stmt 'case $empty in "") false;; a) broken ;; esac' +test_q_arg_eval comment 'unexistent #' +test_q_arg_eval func 'func () { } # syntax error' + +test_q_expand basic 'a b c aaa d' a b c '$aaa' d +test_q_expand double-quotes '" " " "bbb"' '"' '" "' '"$bbb"' +test_q_expand spaces ' ccc' ' ' ' ' '${ccc}' +# Note the *no expected space* here! +test_q_expand non-existent '' '$empty' '${empty}' +test_q_expand non-existent-2 '"" ""' '"$empty"' '"${empty}"' +# TODO: Intentionally not checking '$(cmd)' yet. +test_q_expand '`command`' '`aaa bbb`' '`$aaa $empty${bbb}`' + +$all_shells_exit_cmd && rm -rf fltest* diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-init.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-init.sh new file mode 100755 index 0000000..75ebaf0 --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/test-init.sh @@ -0,0 +1,74 @@ +#!/bin/sh +# Unit tests for init.sh +# Copyright (C) 2011-2022 Free Software Foundation, Inc. +# This file is part of the GNUlib Library. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . */ + +: ${srcdir=.} +. "$srcdir/init.sh"; path_prepend_ . + +fail=0 + +test_compare() +{ + touch empty || fail=1 + echo xyz > in || fail=1 + + compare /dev/null /dev/null >out 2>err || fail=1 + test -s out && fail_ "out not empty: $(cat out)" + # "err" should be empty, too, but has "set -x" output when VERBOSE=yes + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac + + compare /dev/null empty >out 2>err || fail=1 + test -s out && fail_ "out not empty: $(cat out)" + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac + + compare in in >out 2>err || fail=1 + test -s out && fail_ "out not empty: $(cat out)" + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac + + compare /dev/null in >out 2>err && fail=1 + cat <<\EOF > exp +diff -u /dev/null in +--- /dev/null 1970-01-01 ++++ in 1970-01-01 ++xyz +EOF + compare exp out || fail=1 + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac + + compare empty in >out 2>err && fail=1 + # Compare against expected output only if compare is using diff -u. + if grep @ out >/dev/null; then + # Remove the TAB-date suffix on each --- and +++ line, + # for both the expected and the actual output files. + # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ: + # -@@ -0,0 +1 @@ + # +@@ -1,0 +1,1 @@ + # Also, remove space after leading '+', since AIX 7.1 diff outputs a space. + sed 's/ .*//;/^@@/d;s/^+ /+/' out > k && mv k out + cat <<\EOF > exp +--- empty ++++ in ++xyz +EOF + compare exp out || fail=1 + fi + case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac +} + +test_compare + +Exit $fail diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser-helper b/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser-helper new file mode 100755 index 0000000..392337a --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser-helper @@ -0,0 +1,200 @@ +#! /bin/sh + +# Unit tests for funclib.sh + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2015-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + +. "$abs_aux_dir"/funclib.sh || exit 1 +. "$abs_aux_dir"/options-parser || exit 1 + +set -e + +scriptversion='test-version' + +func_help () +{ + $ECHO "HELP" + exit 0 +} + + +# Make sure that setting _result has no effect if we return non-zero +# return value. +test_prep_do_nothing () +{ + : +} +func_add_hook func_options_prep test_prep_do_nothing + + +test_prep_shortcuts () +{ + debug_on= + test x--debug = "x$1" && debug_on=--debug && shift + + case $1 in + short|shortc|shortcu|shortcut) + shift + func_quote eval --test SHORTCUT $debug_on ${1+"$@"} + test_prep_shortcuts_result=$func_quote_result + ;; + *) + ;; + esac +} +func_add_hook func_options_prep test_prep_shortcuts + + +test_parse_split_short () +{ + while test $# -gt 0 + do + _G_opt=$1 ; shift + case $_G_opt in + -t?*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + *) + set dummy "$_G_opt" ${1+"$@"} ; shift + ;; + esac + break + done + + func_quote eval ${1+"$@"} + test_parse_split_short_result=$func_quote_result +} +func_add_hook func_parse_options test_parse_split_short + + +test_parse_subst_equal_signs () +{ + _G_opt=$1 ; shift + case $_G_opt in + --*=*) + func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + func_quote eval ${1+"$@"} + test_parse_subst_equal_signs_result=$func_quote_result + ;; + *) + ;; + esac +} +func_add_hook func_parse_options test_parse_subst_equal_signs + + +test_parse_do_nothing () +{ + : +} +func_add_hook func_parse_options test_parse_do_nothing + + +test_parse_eat_test () +{ + _t_parse_match=false + _G_opt=$1 ; shift + case $_G_opt in + --test|-t) + _t_parse_match=: + if test $# = 0; then + func_missing_arg $_G_opt + else + opt_test=$1 + shift + fi + ;; + esac + + if $_t_parse_match; then + func_quote eval ${1+"$@"} + test_parse_eat_test_result=$func_quote_result + fi +} +func_add_hook func_parse_options test_parse_eat_test + + +test_validate_do_nothing () +{ + : +} +func_add_hook func_validate_options test_validate_do_nothing + + +test_validate_eat_sth () +{ + if test validate_out = "$1"; then + shift + func_quote eval ${1+"$@"} + test_validate_eat_sth_result=$func_quote_result + fi +} +func_add_hook func_validate_options test_validate_eat_sth + + +unset_test_opt () +{ + case $# in + 0) + $ECHO UNSET_TEST + ;; + 1) + $ECHO "ONE_ARG $*" + ;; + 2) + case $1 in + eval) + eval "$2" + exit $? + ;; + esac + ;; + 3) + $ECHO THREE_ARGS + ;; + *) + $ECHO MORE_ARGS + ;; + esac +} + + +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + +case ${opt_test-unset} in + '') + $ECHO "EMPTY_TEST" + ;; + unset) + unset_test_opt ${1+"$@"} + ;; + false) + $ECHO "FALSE_TEST" + exit 1 + ;; + *) + $ECHO $opt_test + ;; +esac + +: diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser.sh new file mode 100755 index 0000000..840baac --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser.sh @@ -0,0 +1,131 @@ +#! /bin/sh + +# Unit tests for option-parser + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2015-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + +all_shells_script=$0 +. "$abs_srcdir/test-all-shells.sh" + +. "$abs_aux_dir"/options-parser || exit 1 + +helper="$__GL_ALL_SHELLS_SHELL $abs_srcdir/test-option-parser-helper" + +check_output_inner () +{ + exp_output=$1 ; shift + exp_retval=$1 ; shift + + func_quote pretty ${1+"$@"} + $ECHO "[[ output check ]] args: $func_quote_result" + + output=`$helper ${1+"$@"} 2>/dev/null` + rc=$? + test "$rc" -eq "$exp_retval" \ + || all_shells_error "unexpected exit status $rc $exp_retval" + + if test "$exp_output" = "$output" + then + : + else + $ECHO "expected:" + $ECHO "$exp_output" + $ECHO "given:" + $ECHO "$output" + all_shells_error "unexpected output" + fi +} + + +check_output () +{ + _co_exp_output=$1 ; shift + _co_exp_retval=$1 ; shift + check_output_inner "$_co_exp_output" "$_co_exp_retval" ${1+"$@"} + check_output_inner "$_co_exp_output" "$_co_exp_retval" --debug ${1+"$@"} +} + + +check_retval () +{ + exp_retval=$1 ; shift + func_quote pretty ${1+"$@"} + $ECHO "[[ retval check ]] args: $func_quote_result" + $helper ${1+"$@"} >/dev/null 2>/dev/null + rc=$? + test "$rc" -eq "$exp_retval" \ + || all_shells_error "unexpected retval $rc (should be $exp_retval)" +} + + +grep_output () +{ + grep_for=$1 ; shift + exp_retval=$1 ; shift + + func_quote pretty ${1+"$@"} + $ECHO "[[ grep for '$grep_for' ]] args: $func_quote_result" + + output=`$helper ${1+"$@"} 2>/dev/null` + rc=$? + case $output in + *$grep_for*) : ;; + *) all_shells_error "$grep_for is not in stdout $output" ;; + esac + + test "$rc" -eq "$exp_retval" \ + || all_shells_error "unexpected retval $rc (should be $exp_retval)" +} + + +check_output HELP 0 --help +check_output HELP 0 --test jej --help +check_output HELP 0 --test=jej --help +check_output HELP 0 --test= --help + +check_output EMPTY_TEST 0 --test= +check_output EMPTY_TEST 0 -t '' +check_output EMPTY_TEST 0 --test '' +check_output FALSE_TEST 1 --test=false +check_output FALSE_TEST 1 -tfalse +check_output FALSE_TEST 1 -t false +check_output UNSET_TEST 0 +check_output 'ONE_ARG a' 0 a +check_output THREE_ARGS 0 a b c +check_output MORE_ARGS 0 a b c d + +check_output SHORTCUT 0 short +check_output SHORTCUT 0 shortcut +check_output HELP 0 short --help + +check_output eval 4 eval 'echo eval ; exit 4' +check_output eval 4 validate_out eval 'echo eval ; exit 4' + +# No argument. +check_retval 1 --test +check_retval 1 --not-existent +check_retval 1 short --not-existent + +grep_output test-version 0 --version +grep_output test-version 0 --version --whatever +grep_output test-version 0 --debug --version + +# TODO: Shouldn't this code be able to parse multiple occurrences of +# single option (IOW, hooks should be called in loop..)? +# check_output FALSE_TEST 1 short --test false +# check_output FALSE_TEST 1 --test a --test false + +$all_shells_exit_cmd diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-update-copyright.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-update-copyright.sh new file mode 100755 index 0000000..a88a3d0 --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/test-update-copyright.sh @@ -0,0 +1,561 @@ +#!/bin/sh +# Test suite for update-copyright. +# Copyright (C) 2009-2022 Free Software Foundation, Inc. +# This file is part of the GNUlib Library. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +diffout=`diff -u /dev/null /dev/null 2>&1` +if test x"$diffout" = x"" && test $? -eq 0; then + compare() { diff -u "$@"; } +else + compare() { cmp "$@"; } +fi + +# Ensure the update-copyright program gets found. +PATH=$abs_aux_dir:$PATH +export PATH + +TMP_BASE=update-copyright.test +trap 'rm -f $TMP_BASE*' 0 1 2 3 15 + +## --------------------------------- ## +## Skip if user does not have perl. ## +## --------------------------------- ## + +TMP=$TMP_BASE +s=$TMP-script +cat <<\EOF > $s +#!/bin/sh +#! -*-perl-*- +# This is a prologue that allows to run a perl script as an executable +# on systems that are compliant to a POSIX version before POSIX:2017. +# On such systems, the usual invocation of an executable through execlp() +# or execvp() fails with ENOEXEC if it is a script that does not start +# with a #! line. The script interpreter mentioned in the #! line has +# to be /bin/sh, because on GuixSD systems that is the only program that +# has a fixed file name. The second line is essential for perl and is +# also useful for editing this file in Emacs. The next two lines below +# are valid code in both sh and perl. When executed by sh, they re-execute +# the script through the perl program found in $PATH. The '-x' option +# is essential as well; without it, perl would re-execute the script +# through /bin/sh. When executed by perl, the next two lines are a no-op. +eval 'exec perl -wSx -pi "$0" "$@"' + if 0; + +s/a/b/ +EOF +chmod a+x $s +echo a > $TMP-in +./$s $TMP-in 2>/dev/null && test b = "`cat $TMP-in 2>/dev/null`" || + { + printf '%s\n' "$0: skipping this test;" \ + 'your system has insufficient support for Perl' 1>&2 + exit 77 + } + +# Skip this test if Perl is too old. FIXME: 5.8.0 is just a guess. +# We have a report that 5.6.1 is inadequate and that 5.8.0 works. +perl -e 'require 5.8.0' || { + echo '$0: skipping this test; Perl version is too old' 1>&2 + exit 77 +} + +# Do not let a different envvar setting perturb results. +UPDATE_COPYRIGHT_MAX_LINE_LENGTH=72 +export UPDATE_COPYRIGHT_MAX_LINE_LENGTH + +## ----------------------------- ## +## Examples from documentation. ## +## ----------------------------- ## + +TMP=$TMP_BASE-ex +cat > $TMP.1 < $TMP.2 < $TMP.3 < $TMP.4 < $TMP.5 < $TMP.6 < $TMP.7 < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare - $TMP-stderr < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare - $TMP-stderr < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP <<\EOF +Rem Copyright (C) 87, 88, 1991, 1992, 1993, 1994, 1995, 1996, 1997,@ +Rem 98, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@ +Rem 2009 Free Software Foundation, Inc.@ +EOF +UPDATE_COPYRIGHT_YEAR=2010 \ + update-copyright $TMP 1> $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +tr @ '\015' > $TMP-exp <<\EOF +Rem Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,@ +Rem 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@ +Rem 2009, 2010 Free Software Foundation, Inc.@ +EOF +compare $TMP-exp $TMP || exit 1 +rm $TMP* + +## --------------- ## +## Omitted "(C)". ## +## --------------- ## + +TMP=$TMP_BASE-omitted-circle-c +cat > $TMP < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP < $TMP.star < $TMP.space < $TMP.single-line < $TMP.single-line-wrapped < $TMP.extra-text-star < $TMP.extra-text-space < $TMP.two-digit-final-is-substr-of-first < $TMP-stdout 2> $TMP-stderr +compare /dev/null $TMP-stdout || exit 1 +compare /dev/null $TMP-stderr || exit 1 +compare - $TMP.star <. */ + +: ${srcdir=.} +. "$srcdir/init.sh"; path_prepend_ . + +tmpdir=vc-cvs +repo=`pwd`/$tmpdir/repo + +fail=0 +for i in with-cvsu without; do + # On the first iteration, test using cvsu, if it's in your path. + # On the second iteration, ensure that cvsu fails, so we'll + # exercise the awk-using code. + if test $i = without; then + printf '%s\n' '#!/bin/sh' 'exit 1' > cvsu + chmod a+x cvsu + PATH=`pwd`:$PATH + export PATH + fi + ok=0 + mkdir $tmpdir && cd $tmpdir && + # without cvs, skip the test + { ( cvs -Q -d "$repo" init ) > /dev/null 2>&1 \ + || skip_ "cvs not found in PATH"; } && + mkdir w && cd w && + mkdir d && + touch d/a b c && + cvs -Q -d "$repo" import -m imp m M M0 && + cvs -Q -d "$repo" co m && cd m && + printf '%s\n' b c d/a > expected && + $BOURNE_SHELL "$abs_aux_dir/vc-list-files" | sort > actual && + compare expected actual && + ok=1 + test $ok = 0 && fail=1 +done + +Exit $fail diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-vc-list-files-git.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-vc-list-files-git.sh new file mode 100755 index 0000000..7c4da79 --- /dev/null +++ b/BUILD/libtool-2.4.7/gnulib-tests/test-vc-list-files-git.sh @@ -0,0 +1,42 @@ +#!/bin/sh +# Unit tests for vc-list-files +# Copyright (C) 2008-2022 Free Software Foundation, Inc. +# This file is part of the GNUlib Library. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . */ + +: ${srcdir=.} +. "$srcdir/init.sh"; path_prepend_ . + +tmpdir=vc-git-$$ +GIT_DIR= GIT_WORK_TREE=; unset GIT_DIR GIT_WORK_TREE + +fail=1 +mkdir $tmpdir && cd $tmpdir && + # without git, skip the test + # The double use of 'exit' is needed for the reference to $? inside the trap. + { ( git init -q ) > /dev/null 2>&1 \ + || skip_ "git not found in PATH"; } && + mkdir d && + touch d/a b c && + git config user.email "you@example.com" && + git config user.name "Your Name" && + git add . > /dev/null && + git commit -q -a -m log && + printf '%s\n' b c d/a > expected && + $BOURNE_SHELL "$abs_aux_dir/vc-list-files" > actual && + compare expected actual && + fail=0 + +Exit $fail diff --git a/BUILD/libtool-2.4.7/libltdl/COPYING.LIB b/BUILD/libtool-2.4.7/libltdl/COPYING.LIB new file mode 100644 index 0000000..4362b49 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/COPYING.LIB @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/BUILD/libtool-2.4.7/libltdl/Makefile.am b/BUILD/libtool-2.4.7/libltdl/Makefile.am new file mode 100644 index 0000000..e2ec2b8 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/Makefile.am @@ -0,0 +1,159 @@ +## ltdl.mk -- includable Makefile snippet +## +## Copyright (C) 2003-2005, 2007, 2011-2019, 2021-2022 Free Software +## Foundation, Inc. +## Written by Gary V. Vaughan, 2003 +## +## NOTE: The canonical source of this file is maintained with the +## GNU Libtool package. Report bugs to bug-libtool@gnu.org. +## +## GNU Libltdl is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2 of the License, or (at your option) any later version. +## +## As a special exception to the GNU Lesser General Public License, +## if you distribute this file as part of a program or library that +## is built using GNU libtool, you may include this file under the +## same distribution terms that you use for the rest of that program. +## +## GNU Libltdl is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU Lesser General Public License for more details. +## +## You should have received a copy of the GNU LesserGeneral Public +## License along with GNU Libltdl; see the file COPYING.LIB. If not, a +## copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +## or obtained by writing to the Free Software Foundation, Inc., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +##### + +ACLOCAL_AMFLAGS = -I ../m4 +AUTOMAKE_OPTIONS = foreign +AM_CPPFLAGS = +AM_LDFLAGS = +BUILT_SOURCES = +include_HEADERS = +noinst_LTLIBRARIES = +lib_LTLIBRARIES = +EXTRA_LTLIBRARIES = +EXTRA_DIST = +CLEANFILES = +MOSTLYCLEANFILES = + +# -I$(srcdir) is needed for user that built libltdl with a sub-Automake +# (not as a sub-package!) using 'nostdinc': +AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \ + -DLTDL -I. -I$(srcdir) -Ilibltdl \ + -I$(srcdir)/libltdl +AM_LDFLAGS += -no-undefined +LTDL_VERSION_INFO = -version-info 10:2:3 + +noinst_LTLIBRARIES += $(LT_DLLOADERS) + +if INSTALL_LTDL +ltdlincludedir = $(includedir)/libltdl +ltdlinclude_HEADERS = libltdl/lt_system.h \ + libltdl/lt_error.h \ + libltdl/lt_dlloader.h +include_HEADERS += ltdl.h +lib_LTLIBRARIES += libltdl.la +endif + +if CONVENIENCE_LTDL +noinst_LTLIBRARIES += libltdlc.la +endif + +libltdl_la_SOURCES = libltdl/lt__alloc.h \ + libltdl/lt__dirent.h \ + libltdl/lt__glibc.h \ + libltdl/lt__private.h \ + libltdl/lt__strl.h \ + libltdl/lt_dlloader.h \ + libltdl/lt_error.h \ + libltdl/lt_system.h \ + libltdl/slist.h \ + loaders/preopen.c \ + lt__alloc.c \ + lt_dlloader.c \ + lt_error.c \ + ltdl.c \ + ltdl.h \ + slist.c + +EXTRA_DIST += lt__dirent.c \ + lt__strl.c + +libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS) +libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN) +libltdl_la_LIBADD = $(LTLIBOBJS) +libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS) + +libltdlc_la_SOURCES = $(libltdl_la_SOURCES) +libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS) +libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN) +libltdlc_la_LIBADD = $(libltdl_la_LIBADD) +libltdlc_la_DEPENDENCIES= $(libltdl_la_DEPENDENCIES) + +## The loaders are preopened by libltdl, itself always built from +## pic-objects (either as a shared library, or a convenience library), +## so the loaders themselves must be made from pic-objects too. We +## use convenience libraries for that purpose: +EXTRA_LTLIBRARIES += dlopen.la \ + dld_link.la \ + dyld.la \ + load_add_on.la \ + loadlibrary.la \ + shl_load.la + +dlopen_la_SOURCES = loaders/dlopen.c +dlopen_la_LDFLAGS = -module -avoid-version +dlopen_la_LIBADD = $(LIBADD_DLOPEN) + +dld_link_la_SOURCES = loaders/dld_link.c +dld_link_la_LDFLAGS = -module -avoid-version +dld_link_la_LIBADD = -ldld + +dyld_la_SOURCES = loaders/dyld.c +dyld_la_LDFLAGS = -module -avoid-version + +load_add_on_la_SOURCES = loaders/load_add_on.c +load_add_on_la_LDFLAGS = -module -avoid-version + +loadlibrary_la_SOURCES = loaders/loadlibrary.c +loadlibrary_la_LDFLAGS = -module -avoid-version + +shl_load_la_SOURCES = loaders/shl_load.c +shl_load_la_LDFLAGS = -module -avoid-version +shl_load_la_LIBADD = $(LIBADD_SHL_LOAD) + +## Make sure these will be cleaned even when they're not built by default: +CLEANFILES += libltdl.la \ + libltdlc.la \ + libdlloader.la + +## Automake-1.9.6 doesn't clean subdir AC_LIBOBJ compiled objects +## automatically: +CLEANFILES += $(LIBOBJS) $(LTLIBOBJS) + +EXTRA_DIST += COPYING.LIB \ + README + +## --------------------------- ## +## Gnulib Makefile.am snippets ## +## --------------------------- ## + +BUILT_SOURCES += libltdl/$(LT_ARGZ_H) +EXTRA_DIST += libltdl/lt__argz_.h \ + lt__argz.c + +# We need the following in order to create an when the system +# doesn't have one that works with the given compiler. +all-local $(lib_OBJECTS): $(LT_ARGZ_H) +libltdl/lt__argz.h: libltdl/lt__argz_.h + $(AM_V_at)$(mkinstalldirs) . libltdl + $(AM_V_GEN)cp $(srcdir)/libltdl/lt__argz_.h $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += libltdl/lt__argz.h \ + libltdl/lt__argz.h-t diff --git a/BUILD/libtool-2.4.7/libltdl/Makefile.in b/BUILD/libtool-2.4.7/libltdl/Makefile.in new file mode 100644 index 0000000..9e8cf06 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/Makefile.in @@ -0,0 +1,1293 @@ +# Makefile.in generated by automake 1.16.3 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2020 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +##### + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@INSTALL_LTDL_TRUE@am__append_1 = ltdl.h +@INSTALL_LTDL_TRUE@am__append_2 = libltdl.la +@CONVENIENCE_LTDL_TRUE@am__append_3 = libltdlc.la +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/../m4/libtool.m4 \ + $(top_srcdir)/../m4/ltargz.m4 $(top_srcdir)/../m4/ltdl.m4 \ + $(top_srcdir)/../m4/ltoptions.m4 \ + $(top_srcdir)/../m4/ltsugar.m4 \ + $(top_srcdir)/../m4/ltversion.m4 \ + $(top_srcdir)/../m4/lt~obsolete.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__include_HEADERS_DIST) \ + $(am__ltdlinclude_HEADERS_DIST) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" \ + "$(DESTDIR)$(ltdlincludedir)" +LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) +dld_link_la_DEPENDENCIES = +am__dirstamp = $(am__leading_dot)dirstamp +am_dld_link_la_OBJECTS = loaders/dld_link.lo +dld_link_la_OBJECTS = $(am_dld_link_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +dld_link_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(dld_link_la_LDFLAGS) $(LDFLAGS) -o $@ +am__DEPENDENCIES_1 = +dlopen_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_dlopen_la_OBJECTS = loaders/dlopen.lo +dlopen_la_OBJECTS = $(am_dlopen_la_OBJECTS) +dlopen_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(dlopen_la_LDFLAGS) $(LDFLAGS) -o $@ +dyld_la_LIBADD = +am_dyld_la_OBJECTS = loaders/dyld.lo +dyld_la_OBJECTS = $(am_dyld_la_OBJECTS) +dyld_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(dyld_la_LDFLAGS) $(LDFLAGS) -o $@ +am_libltdl_la_OBJECTS = loaders/libltdl_la-preopen.lo \ + libltdl_la-lt__alloc.lo libltdl_la-lt_dlloader.lo \ + libltdl_la-lt_error.lo libltdl_la-ltdl.lo libltdl_la-slist.lo +libltdl_la_OBJECTS = $(am_libltdl_la_OBJECTS) +libltdl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libltdl_la_LDFLAGS) $(LDFLAGS) -o $@ +@INSTALL_LTDL_TRUE@am_libltdl_la_rpath = -rpath $(libdir) +am__objects_1 = loaders/libltdlc_la-preopen.lo \ + libltdlc_la-lt__alloc.lo libltdlc_la-lt_dlloader.lo \ + libltdlc_la-lt_error.lo libltdlc_la-ltdl.lo \ + libltdlc_la-slist.lo +am_libltdlc_la_OBJECTS = $(am__objects_1) +libltdlc_la_OBJECTS = $(am_libltdlc_la_OBJECTS) +libltdlc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libltdlc_la_LDFLAGS) $(LDFLAGS) -o $@ +@CONVENIENCE_LTDL_TRUE@am_libltdlc_la_rpath = +load_add_on_la_LIBADD = +am_load_add_on_la_OBJECTS = loaders/load_add_on.lo +load_add_on_la_OBJECTS = $(am_load_add_on_la_OBJECTS) +load_add_on_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(load_add_on_la_LDFLAGS) $(LDFLAGS) -o \ + $@ +loadlibrary_la_LIBADD = +am_loadlibrary_la_OBJECTS = loaders/loadlibrary.lo +loadlibrary_la_OBJECTS = $(am_loadlibrary_la_OBJECTS) +loadlibrary_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(AM_CFLAGS) $(CFLAGS) $(loadlibrary_la_LDFLAGS) $(LDFLAGS) -o \ + $@ +shl_load_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_shl_load_la_OBJECTS = loaders/shl_load.lo +shl_load_la_OBJECTS = $(am_shl_load_la_OBJECTS) +shl_load_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(shl_load_la_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/../build-aux/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = $(DEPDIR)/lt__argz.Plo $(DEPDIR)/lt__dirent.Plo \ + $(DEPDIR)/lt__strl.Plo ./$(DEPDIR)/libltdl_la-lt__alloc.Plo \ + ./$(DEPDIR)/libltdl_la-lt_dlloader.Plo \ + ./$(DEPDIR)/libltdl_la-lt_error.Plo \ + ./$(DEPDIR)/libltdl_la-ltdl.Plo \ + ./$(DEPDIR)/libltdl_la-slist.Plo \ + ./$(DEPDIR)/libltdlc_la-lt__alloc.Plo \ + ./$(DEPDIR)/libltdlc_la-lt_dlloader.Plo \ + ./$(DEPDIR)/libltdlc_la-lt_error.Plo \ + ./$(DEPDIR)/libltdlc_la-ltdl.Plo \ + ./$(DEPDIR)/libltdlc_la-slist.Plo \ + loaders/$(DEPDIR)/dld_link.Plo loaders/$(DEPDIR)/dlopen.Plo \ + loaders/$(DEPDIR)/dyld.Plo \ + loaders/$(DEPDIR)/libltdl_la-preopen.Plo \ + loaders/$(DEPDIR)/libltdlc_la-preopen.Plo \ + loaders/$(DEPDIR)/load_add_on.Plo \ + loaders/$(DEPDIR)/loadlibrary.Plo \ + loaders/$(DEPDIR)/shl_load.Plo +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(dld_link_la_SOURCES) $(dlopen_la_SOURCES) \ + $(dyld_la_SOURCES) $(libltdl_la_SOURCES) \ + $(libltdlc_la_SOURCES) $(load_add_on_la_SOURCES) \ + $(loadlibrary_la_SOURCES) $(shl_load_la_SOURCES) +DIST_SOURCES = $(dld_link_la_SOURCES) $(dlopen_la_SOURCES) \ + $(dyld_la_SOURCES) $(libltdl_la_SOURCES) \ + $(libltdlc_la_SOURCES) $(load_add_on_la_SOURCES) \ + $(loadlibrary_la_SOURCES) $(shl_load_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__include_HEADERS_DIST = ltdl.h +am__ltdlinclude_HEADERS_DIST = libltdl/lt_system.h libltdl/lt_error.h \ + libltdl/lt_dlloader.h +HEADERS = $(include_HEADERS) $(ltdlinclude_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ + config-h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +AM_RECURSIVE_TARGETS = cscope +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config-h.in \ + $(top_srcdir)/../build-aux/compile \ + $(top_srcdir)/../build-aux/config.guess \ + $(top_srcdir)/../build-aux/config.sub \ + $(top_srcdir)/../build-aux/depcomp \ + $(top_srcdir)/../build-aux/install-sh \ + $(top_srcdir)/../build-aux/ltmain.sh \ + $(top_srcdir)/../build-aux/missing ../build-aux/compile \ + ../build-aux/config.guess ../build-aux/config.sub \ + ../build-aux/depcomp ../build-aux/install-sh \ + ../build-aux/ltmain.sh \ + ../build-aux/missing COPYING.LIB \ + README lt__argz.c lt__dirent.c lt__strl.c +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +DIST_TARGETS = dist-gzip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBADD_DL = @LIBADD_DL@ +LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ +LIBADD_DLOPEN = @LIBADD_DLOPEN@ +LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTDLOPEN = @LTDLOPEN@ +LTLIBOBJS = @LTLIBOBJS@ +LT_ARGZ_H = @LT_ARGZ_H@ +LT_CONFIG_H = @LT_CONFIG_H@ +LT_DLLOADERS = @LT_DLLOADERS@ +LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sys_symbol_underscore = @sys_symbol_underscore@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +ACLOCAL_AMFLAGS = -I ../m4 +AUTOMAKE_OPTIONS = foreign + +# -I$(srcdir) is needed for user that built libltdl with a sub-Automake +# (not as a sub-package!) using 'nostdinc': +AM_CPPFLAGS = -DLT_CONFIG_H='<$(LT_CONFIG_H)>' -DLTDL -I. -I$(srcdir) \ + -Ilibltdl -I$(srcdir)/libltdl +AM_LDFLAGS = -no-undefined +BUILT_SOURCES = libltdl/$(LT_ARGZ_H) +include_HEADERS = $(am__append_1) +noinst_LTLIBRARIES = $(LT_DLLOADERS) $(am__append_3) +lib_LTLIBRARIES = $(am__append_2) +EXTRA_LTLIBRARIES = dlopen.la dld_link.la dyld.la load_add_on.la \ + loadlibrary.la shl_load.la +EXTRA_DIST = lt__dirent.c lt__strl.c COPYING.LIB README \ + libltdl/lt__argz_.h lt__argz.c +CLEANFILES = libltdl.la libltdlc.la libdlloader.la $(LIBOBJS) \ + $(LTLIBOBJS) +MOSTLYCLEANFILES = libltdl/lt__argz.h libltdl/lt__argz.h-t +LTDL_VERSION_INFO = -version-info 10:2:3 +@INSTALL_LTDL_TRUE@ltdlincludedir = $(includedir)/libltdl +@INSTALL_LTDL_TRUE@ltdlinclude_HEADERS = libltdl/lt_system.h \ +@INSTALL_LTDL_TRUE@ libltdl/lt_error.h \ +@INSTALL_LTDL_TRUE@ libltdl/lt_dlloader.h + +libltdl_la_SOURCES = libltdl/lt__alloc.h \ + libltdl/lt__dirent.h \ + libltdl/lt__glibc.h \ + libltdl/lt__private.h \ + libltdl/lt__strl.h \ + libltdl/lt_dlloader.h \ + libltdl/lt_error.h \ + libltdl/lt_system.h \ + libltdl/slist.h \ + loaders/preopen.c \ + lt__alloc.c \ + lt_dlloader.c \ + lt_error.c \ + ltdl.c \ + ltdl.h \ + slist.c + +libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS) +libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN) +libltdl_la_LIBADD = $(LTLIBOBJS) +libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS) +libltdlc_la_SOURCES = $(libltdl_la_SOURCES) +libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS) +libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN) +libltdlc_la_LIBADD = $(libltdl_la_LIBADD) +libltdlc_la_DEPENDENCIES = $(libltdl_la_DEPENDENCIES) +dlopen_la_SOURCES = loaders/dlopen.c +dlopen_la_LDFLAGS = -module -avoid-version +dlopen_la_LIBADD = $(LIBADD_DLOPEN) +dld_link_la_SOURCES = loaders/dld_link.c +dld_link_la_LDFLAGS = -module -avoid-version +dld_link_la_LIBADD = -ldld +dyld_la_SOURCES = loaders/dyld.c +dyld_la_LDFLAGS = -module -avoid-version +load_add_on_la_SOURCES = loaders/load_add_on.c +load_add_on_la_LDFLAGS = -module -avoid-version +loadlibrary_la_SOURCES = loaders/loadlibrary.c +loadlibrary_la_LDFLAGS = -module -avoid-version +shl_load_la_SOURCES = loaders/shl_load.c +shl_load_la_LDFLAGS = -module -avoid-version +shl_load_la_LIBADD = $(LIBADD_SHL_LOAD) +all: $(BUILT_SOURCES) config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config-h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config-h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +loaders/$(am__dirstamp): + @$(MKDIR_P) loaders + @: > loaders/$(am__dirstamp) +loaders/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) loaders/$(DEPDIR) + @: > loaders/$(DEPDIR)/$(am__dirstamp) +loaders/dld_link.lo: loaders/$(am__dirstamp) \ + loaders/$(DEPDIR)/$(am__dirstamp) + +dld_link.la: $(dld_link_la_OBJECTS) $(dld_link_la_DEPENDENCIES) $(EXTRA_dld_link_la_DEPENDENCIES) + $(AM_V_CCLD)$(dld_link_la_LINK) $(dld_link_la_OBJECTS) $(dld_link_la_LIBADD) $(LIBS) +loaders/dlopen.lo: loaders/$(am__dirstamp) \ + loaders/$(DEPDIR)/$(am__dirstamp) + +dlopen.la: $(dlopen_la_OBJECTS) $(dlopen_la_DEPENDENCIES) $(EXTRA_dlopen_la_DEPENDENCIES) + $(AM_V_CCLD)$(dlopen_la_LINK) $(dlopen_la_OBJECTS) $(dlopen_la_LIBADD) $(LIBS) +loaders/dyld.lo: loaders/$(am__dirstamp) \ + loaders/$(DEPDIR)/$(am__dirstamp) + +dyld.la: $(dyld_la_OBJECTS) $(dyld_la_DEPENDENCIES) $(EXTRA_dyld_la_DEPENDENCIES) + $(AM_V_CCLD)$(dyld_la_LINK) $(dyld_la_OBJECTS) $(dyld_la_LIBADD) $(LIBS) +loaders/libltdl_la-preopen.lo: loaders/$(am__dirstamp) \ + loaders/$(DEPDIR)/$(am__dirstamp) + +libltdl.la: $(libltdl_la_OBJECTS) $(libltdl_la_DEPENDENCIES) $(EXTRA_libltdl_la_DEPENDENCIES) + $(AM_V_CCLD)$(libltdl_la_LINK) $(am_libltdl_la_rpath) $(libltdl_la_OBJECTS) $(libltdl_la_LIBADD) $(LIBS) +loaders/libltdlc_la-preopen.lo: loaders/$(am__dirstamp) \ + loaders/$(DEPDIR)/$(am__dirstamp) + +libltdlc.la: $(libltdlc_la_OBJECTS) $(libltdlc_la_DEPENDENCIES) $(EXTRA_libltdlc_la_DEPENDENCIES) + $(AM_V_CCLD)$(libltdlc_la_LINK) $(am_libltdlc_la_rpath) $(libltdlc_la_OBJECTS) $(libltdlc_la_LIBADD) $(LIBS) +loaders/load_add_on.lo: loaders/$(am__dirstamp) \ + loaders/$(DEPDIR)/$(am__dirstamp) + +load_add_on.la: $(load_add_on_la_OBJECTS) $(load_add_on_la_DEPENDENCIES) $(EXTRA_load_add_on_la_DEPENDENCIES) + $(AM_V_CCLD)$(load_add_on_la_LINK) $(load_add_on_la_OBJECTS) $(load_add_on_la_LIBADD) $(LIBS) +loaders/loadlibrary.lo: loaders/$(am__dirstamp) \ + loaders/$(DEPDIR)/$(am__dirstamp) + +loadlibrary.la: $(loadlibrary_la_OBJECTS) $(loadlibrary_la_DEPENDENCIES) $(EXTRA_loadlibrary_la_DEPENDENCIES) + $(AM_V_CCLD)$(loadlibrary_la_LINK) $(loadlibrary_la_OBJECTS) $(loadlibrary_la_LIBADD) $(LIBS) +loaders/shl_load.lo: loaders/$(am__dirstamp) \ + loaders/$(DEPDIR)/$(am__dirstamp) + +shl_load.la: $(shl_load_la_OBJECTS) $(shl_load_la_DEPENDENCIES) $(EXTRA_shl_load_la_DEPENDENCIES) + $(AM_V_CCLD)$(shl_load_la_LINK) $(shl_load_la_OBJECTS) $(shl_load_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f loaders/*.$(OBJEXT) + -rm -f loaders/*.lo + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__argz.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__dirent.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__strl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-lt__alloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-lt_dlloader.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-lt_error.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-ltdl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-slist.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-lt__alloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-lt_dlloader.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-lt_error.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-ltdl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-slist.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/dld_link.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/dlopen.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/dyld.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/libltdl_la-preopen.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/libltdlc_la-preopen.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/load_add_on.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/loadlibrary.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/shl_load.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +loaders/libltdl_la-preopen.lo: loaders/preopen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loaders/libltdl_la-preopen.lo -MD -MP -MF loaders/$(DEPDIR)/libltdl_la-preopen.Tpo -c -o loaders/libltdl_la-preopen.lo `test -f 'loaders/preopen.c' || echo '$(srcdir)/'`loaders/preopen.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) loaders/$(DEPDIR)/libltdl_la-preopen.Tpo loaders/$(DEPDIR)/libltdl_la-preopen.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='loaders/preopen.c' object='loaders/libltdl_la-preopen.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loaders/libltdl_la-preopen.lo `test -f 'loaders/preopen.c' || echo '$(srcdir)/'`loaders/preopen.c + +libltdl_la-lt__alloc.lo: lt__alloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-lt__alloc.lo -MD -MP -MF $(DEPDIR)/libltdl_la-lt__alloc.Tpo -c -o libltdl_la-lt__alloc.lo `test -f 'lt__alloc.c' || echo '$(srcdir)/'`lt__alloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-lt__alloc.Tpo $(DEPDIR)/libltdl_la-lt__alloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt__alloc.c' object='libltdl_la-lt__alloc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-lt__alloc.lo `test -f 'lt__alloc.c' || echo '$(srcdir)/'`lt__alloc.c + +libltdl_la-lt_dlloader.lo: lt_dlloader.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-lt_dlloader.lo -MD -MP -MF $(DEPDIR)/libltdl_la-lt_dlloader.Tpo -c -o libltdl_la-lt_dlloader.lo `test -f 'lt_dlloader.c' || echo '$(srcdir)/'`lt_dlloader.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-lt_dlloader.Tpo $(DEPDIR)/libltdl_la-lt_dlloader.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt_dlloader.c' object='libltdl_la-lt_dlloader.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-lt_dlloader.lo `test -f 'lt_dlloader.c' || echo '$(srcdir)/'`lt_dlloader.c + +libltdl_la-lt_error.lo: lt_error.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-lt_error.lo -MD -MP -MF $(DEPDIR)/libltdl_la-lt_error.Tpo -c -o libltdl_la-lt_error.lo `test -f 'lt_error.c' || echo '$(srcdir)/'`lt_error.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-lt_error.Tpo $(DEPDIR)/libltdl_la-lt_error.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt_error.c' object='libltdl_la-lt_error.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-lt_error.lo `test -f 'lt_error.c' || echo '$(srcdir)/'`lt_error.c + +libltdl_la-ltdl.lo: ltdl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-ltdl.lo -MD -MP -MF $(DEPDIR)/libltdl_la-ltdl.Tpo -c -o libltdl_la-ltdl.lo `test -f 'ltdl.c' || echo '$(srcdir)/'`ltdl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-ltdl.Tpo $(DEPDIR)/libltdl_la-ltdl.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ltdl.c' object='libltdl_la-ltdl.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-ltdl.lo `test -f 'ltdl.c' || echo '$(srcdir)/'`ltdl.c + +libltdl_la-slist.lo: slist.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-slist.lo -MD -MP -MF $(DEPDIR)/libltdl_la-slist.Tpo -c -o libltdl_la-slist.lo `test -f 'slist.c' || echo '$(srcdir)/'`slist.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-slist.Tpo $(DEPDIR)/libltdl_la-slist.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='slist.c' object='libltdl_la-slist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-slist.lo `test -f 'slist.c' || echo '$(srcdir)/'`slist.c + +loaders/libltdlc_la-preopen.lo: loaders/preopen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loaders/libltdlc_la-preopen.lo -MD -MP -MF loaders/$(DEPDIR)/libltdlc_la-preopen.Tpo -c -o loaders/libltdlc_la-preopen.lo `test -f 'loaders/preopen.c' || echo '$(srcdir)/'`loaders/preopen.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) loaders/$(DEPDIR)/libltdlc_la-preopen.Tpo loaders/$(DEPDIR)/libltdlc_la-preopen.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='loaders/preopen.c' object='loaders/libltdlc_la-preopen.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loaders/libltdlc_la-preopen.lo `test -f 'loaders/preopen.c' || echo '$(srcdir)/'`loaders/preopen.c + +libltdlc_la-lt__alloc.lo: lt__alloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-lt__alloc.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-lt__alloc.Tpo -c -o libltdlc_la-lt__alloc.lo `test -f 'lt__alloc.c' || echo '$(srcdir)/'`lt__alloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-lt__alloc.Tpo $(DEPDIR)/libltdlc_la-lt__alloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt__alloc.c' object='libltdlc_la-lt__alloc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-lt__alloc.lo `test -f 'lt__alloc.c' || echo '$(srcdir)/'`lt__alloc.c + +libltdlc_la-lt_dlloader.lo: lt_dlloader.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-lt_dlloader.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-lt_dlloader.Tpo -c -o libltdlc_la-lt_dlloader.lo `test -f 'lt_dlloader.c' || echo '$(srcdir)/'`lt_dlloader.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-lt_dlloader.Tpo $(DEPDIR)/libltdlc_la-lt_dlloader.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt_dlloader.c' object='libltdlc_la-lt_dlloader.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-lt_dlloader.lo `test -f 'lt_dlloader.c' || echo '$(srcdir)/'`lt_dlloader.c + +libltdlc_la-lt_error.lo: lt_error.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-lt_error.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-lt_error.Tpo -c -o libltdlc_la-lt_error.lo `test -f 'lt_error.c' || echo '$(srcdir)/'`lt_error.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-lt_error.Tpo $(DEPDIR)/libltdlc_la-lt_error.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt_error.c' object='libltdlc_la-lt_error.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-lt_error.lo `test -f 'lt_error.c' || echo '$(srcdir)/'`lt_error.c + +libltdlc_la-ltdl.lo: ltdl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-ltdl.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-ltdl.Tpo -c -o libltdlc_la-ltdl.lo `test -f 'ltdl.c' || echo '$(srcdir)/'`ltdl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-ltdl.Tpo $(DEPDIR)/libltdlc_la-ltdl.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ltdl.c' object='libltdlc_la-ltdl.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-ltdl.lo `test -f 'ltdl.c' || echo '$(srcdir)/'`ltdl.c + +libltdlc_la-slist.lo: slist.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-slist.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-slist.Tpo -c -o libltdlc_la-slist.lo `test -f 'slist.c' || echo '$(srcdir)/'`slist.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-slist.Tpo $(DEPDIR)/libltdlc_la-slist.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='slist.c' object='libltdlc_la-slist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-slist.lo `test -f 'slist.c' || echo '$(srcdir)/'`slist.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf loaders/.libs loaders/_libs + +distclean-libtool: + -rm -f libtool config.lt +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) +install-ltdlincludeHEADERS: $(ltdlinclude_HEADERS) + @$(NORMAL_INSTALL) + @list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(ltdlincludedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(ltdlincludedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(ltdlincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(ltdlincludedir)" || exit $$?; \ + done + +uninstall-ltdlincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(ltdlincludedir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-zstd: distdir + tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + *.tar.zst*) \ + zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f loaders/$(DEPDIR)/$(am__dirstamp) + -rm -f loaders/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + clean-noinstLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f $(DEPDIR)/lt__argz.Plo + -rm -f $(DEPDIR)/lt__dirent.Plo + -rm -f $(DEPDIR)/lt__strl.Plo + -rm -f ./$(DEPDIR)/libltdl_la-lt__alloc.Plo + -rm -f ./$(DEPDIR)/libltdl_la-lt_dlloader.Plo + -rm -f ./$(DEPDIR)/libltdl_la-lt_error.Plo + -rm -f ./$(DEPDIR)/libltdl_la-ltdl.Plo + -rm -f ./$(DEPDIR)/libltdl_la-slist.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-lt__alloc.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-lt_dlloader.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-lt_error.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-ltdl.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-slist.Plo + -rm -f loaders/$(DEPDIR)/dld_link.Plo + -rm -f loaders/$(DEPDIR)/dlopen.Plo + -rm -f loaders/$(DEPDIR)/dyld.Plo + -rm -f loaders/$(DEPDIR)/libltdl_la-preopen.Plo + -rm -f loaders/$(DEPDIR)/libltdlc_la-preopen.Plo + -rm -f loaders/$(DEPDIR)/load_add_on.Plo + -rm -f loaders/$(DEPDIR)/loadlibrary.Plo + -rm -f loaders/$(DEPDIR)/shl_load.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-includeHEADERS install-ltdlincludeHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f $(DEPDIR)/lt__argz.Plo + -rm -f $(DEPDIR)/lt__dirent.Plo + -rm -f $(DEPDIR)/lt__strl.Plo + -rm -f ./$(DEPDIR)/libltdl_la-lt__alloc.Plo + -rm -f ./$(DEPDIR)/libltdl_la-lt_dlloader.Plo + -rm -f ./$(DEPDIR)/libltdl_la-lt_error.Plo + -rm -f ./$(DEPDIR)/libltdl_la-ltdl.Plo + -rm -f ./$(DEPDIR)/libltdl_la-slist.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-lt__alloc.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-lt_dlloader.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-lt_error.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-ltdl.Plo + -rm -f ./$(DEPDIR)/libltdlc_la-slist.Plo + -rm -f loaders/$(DEPDIR)/dld_link.Plo + -rm -f loaders/$(DEPDIR)/dlopen.Plo + -rm -f loaders/$(DEPDIR)/dyld.Plo + -rm -f loaders/$(DEPDIR)/libltdl_la-preopen.Plo + -rm -f loaders/$(DEPDIR)/libltdlc_la-preopen.Plo + -rm -f loaders/$(DEPDIR)/load_add_on.Plo + -rm -f loaders/$(DEPDIR)/loadlibrary.Plo + -rm -f loaders/$(DEPDIR)/shl_load.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \ + uninstall-ltdlincludeHEADERS + +.MAKE: all check install install-am install-exec install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles am--refresh check \ + check-am clean clean-cscope clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-noinstLTLIBRARIES cscope cscopelist-am \ + ctags ctags-am dist dist-all dist-bzip2 dist-gzip dist-lzip \ + dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \ + distclean distclean-compile distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-includeHEADERS install-info \ + install-info-am install-libLTLIBRARIES \ + install-ltdlincludeHEADERS install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-includeHEADERS \ + uninstall-libLTLIBRARIES uninstall-ltdlincludeHEADERS + +.PRECIOUS: Makefile + + +# We need the following in order to create an when the system +# doesn't have one that works with the given compiler. +all-local $(lib_OBJECTS): $(LT_ARGZ_H) +libltdl/lt__argz.h: libltdl/lt__argz_.h + $(AM_V_at)$(mkinstalldirs) . libltdl + $(AM_V_GEN)cp $(srcdir)/libltdl/lt__argz_.h $@-t + $(AM_V_at)mv $@-t $@ + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/BUILD/libtool-2.4.7/libltdl/README b/BUILD/libtool-2.4.7/libltdl/README new file mode 100644 index 0000000..fd80bbd --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/README @@ -0,0 +1,21 @@ +This is GNU libltdl, a system independent dlopen wrapper for GNU libtool. + +It supports the following dlopen interfaces: +* dlopen (POSIX) +* shl_load (HP-UX) +* LoadLibrary (Win16 and Win32) +* load_add_on (BeOS) +* GNU DLD (emulates dynamic linking for static libraries) +* dyld (darwin/Mac OS X) +* libtool's dlpreopen +-- + Copyright (C) 1999, 2003, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Thomas Tanner, 1999 + + This file is part of GNU Libtool. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. diff --git a/BUILD/libtool-2.4.7/libltdl/aclocal.m4 b/BUILD/libtool-2.4.7/libltdl/aclocal.m4 new file mode 100644 index 0000000..284199b --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/aclocal.m4 @@ -0,0 +1,1139 @@ +# generated automatically by aclocal 1.16.3 -*- Autoconf -*- + +# Copyright (C) 1996-2020 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.16' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.16.3], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.16.3])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? + done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. +AC_DEFUN([AM_MAKE_INCLUDE], +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2020 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([../m4/libtool.m4]) +m4_include([../m4/ltargz.m4]) +m4_include([../m4/ltdl.m4]) +m4_include([../m4/ltoptions.m4]) +m4_include([../m4/ltsugar.m4]) +m4_include([../m4/ltversion.m4]) +m4_include([../m4/lt~obsolete.m4]) diff --git a/BUILD/libtool-2.4.7/libltdl/config-h.in b/BUILD/libtool-2.4.7/libltdl/config-h.in new file mode 100644 index 0000000..3061cbe --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/config-h.in @@ -0,0 +1,180 @@ +/* config-h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `argz_add' function. */ +#undef HAVE_ARGZ_ADD + +/* Define to 1 if you have the `argz_append' function. */ +#undef HAVE_ARGZ_APPEND + +/* Define to 1 if you have the `argz_count' function. */ +#undef HAVE_ARGZ_COUNT + +/* Define to 1 if you have the `argz_create_sep' function. */ +#undef HAVE_ARGZ_CREATE_SEP + +/* Define to 1 if you have the header file. */ +#undef HAVE_ARGZ_H + +/* Define to 1 if you have the `argz_insert' function. */ +#undef HAVE_ARGZ_INSERT + +/* Define to 1 if you have the `argz_next' function. */ +#undef HAVE_ARGZ_NEXT + +/* Define to 1 if you have the `argz_stringify' function. */ +#undef HAVE_ARGZ_STRINGIFY + +/* Define to 1 if you have the `closedir' function. */ +#undef HAVE_CLOSEDIR + +/* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if + you don't. */ +#undef HAVE_DECL_CYGWIN_CONV_PATH + +/* Define to 1 if you have the header file. */ +#undef HAVE_DIRENT_H + +/* Define if you have the GNU dld library. */ +#undef HAVE_DLD + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLD_H + +/* Define to 1 if you have the `dlerror' function. */ +#undef HAVE_DLERROR + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DL_H + +/* Define if you have the _dyld_func_lookup function. */ +#undef HAVE_DYLD + +/* Define to 1 if the system has the type `error_t'. */ +#undef HAVE_ERROR_T + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define if you have the libdl library or equivalent. */ +#undef HAVE_LIBDL + +/* Define if libdlloader will be built on this platform */ +#undef HAVE_LIBDLLOADER + +/* Define to 1 if you have the header file. */ +#undef HAVE_MACH_O_DYLD_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `opendir' function. */ +#undef HAVE_OPENDIR + +/* Define if libtool can extract symbol lists from object files. */ +#undef HAVE_PRELOADED_SYMBOLS + +/* Define to 1 if you have the `readdir' function. */ +#undef HAVE_READDIR + +/* Define if you have the shl_load function. */ +#undef HAVE_SHL_LOAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strlcat' function. */ +#undef HAVE_STRLCAT + +/* Define to 1 if you have the `strlcpy' function. */ +#undef HAVE_STRLCPY + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_DL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* This value is set to 1 to indicate that the system argz facility works */ +#undef HAVE_WORKING_ARGZ + +/* Define if the OS needs help to load dependent libraries for dlopen(). */ +#undef LTDL_DLOPEN_DEPLIBS + +/* Define to the system default library search path. */ +#undef LT_DLSEARCH_PATH + +/* The archive extension */ +#undef LT_LIBEXT + +/* The archive prefix */ +#undef LT_LIBPREFIX + +/* Define to the extension used for runtime loadable modules, say, ".so". */ +#undef LT_MODULE_EXT + +/* Define to the name of the environment variable that determines the run-time + module search path. */ +#undef LT_MODULE_PATH_VAR + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* Define to the shared library suffix, say, ".dylib". */ +#undef LT_SHARED_EXT + +/* Define to the shared archive member specification, say "(shr.o)". */ +#undef LT_SHARED_LIB_MEMBER + +/* Define if dlsym() requires a leading underscore in symbol names. */ +#undef NEED_USCORE + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define so that glibc/gnulib argp.h does not typedef error_t. */ +#undef __error_t_defined + +/* Define to a type to use for 'error_t' if it is not otherwise available. */ +#undef error_t diff --git a/BUILD/libtool-2.4.7/libltdl/configure b/BUILD/libtool-2.4.7/libltdl/configure new file mode 100755 index 0000000..625c6a3 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/configure @@ -0,0 +1,15659 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for libltdl 2.4.3a. +# +# Report bugs to . +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: bug-libtool@gnu.org about your system, including any +$0: error possibly output before this message. Then install +$0: a modern shell, or manually run the script under such a +$0: shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='libltdl' +PACKAGE_TARNAME='libltdl' +PACKAGE_VERSION='2.4.3a' +PACKAGE_STRING='libltdl 2.4.3a' +PACKAGE_BUGREPORT='bug-libtool@gnu.org' +PACKAGE_URL='' + +ac_unique_file="ltdl.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LTDLOPEN +LT_CONFIG_H +CONVENIENCE_LTDL_FALSE +CONVENIENCE_LTDL_TRUE +INSTALL_LTDL_FALSE +INSTALL_LTDL_TRUE +LT_ARGZ_H +LIBOBJS +sys_symbol_underscore +LIBADD_DL +LT_DLPREOPEN +LIBADD_DLD_LINK +LIBADD_SHL_LOAD +LIBADD_DLOPEN +LT_DLLOADERS +CPP +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +FILECMD +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +OBJDUMP +DLLTOOL +AS +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +enable_dependency_tracking +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_ltdl_install +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +LT_SYS_LIBRARY_PATH +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures libltdl 2.4.3a to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/libltdl] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of libltdl 2.4.3a:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-ltdl-install install libltdl + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot[=DIR] Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +libltdl configure 2.4.3a +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_decl + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by libltdl $as_me 2.4.3a, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_config_headers="$ac_config_headers config.h:config-h.in" + + +ac_aux_dir= +for ac_dir in ../build-aux "$srcdir"/../build-aux; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../build-aux \"$srcdir\"/../build-aux" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + + + + + + # I am me! + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## + +am__api_version='1.16' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + +if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='libltdl' + VERSION='2.4.3a' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + + + +## ------------------------------- ## +## Libtool specific configuration. ## +## ------------------------------- ## +pkgdatadir='$datadir'"/$PACKAGE" + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.7' +macro_revision='2.4.7' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_FILECMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +$as_echo "$FILECMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_FILECMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +$as_echo "$ac_ct_FILECMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + 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]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + 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]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + + +# Set options +enable_dlopen=yes +enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AS+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AS="${ac_tool_prefix}as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +$as_echo "$AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AS+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AS="as" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 +$as_echo "$ac_ct_AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AS" = x; then + AS="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AS=$ac_ct_AS + fi +else + AS="$ac_cv_prog_AS" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + + ;; +esac + +test -z "$AS" && AS=as + + + + + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + pic_mode=default +fi + + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$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)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$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' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$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' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$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' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$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 + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$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' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$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' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$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)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="$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" + module_expsym_cmds="$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" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$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' + else + archive_cmds='$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' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$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' + fi + else + archive_cmds='$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' + archive_expsym_cmds='$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' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$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' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$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' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$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' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$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' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $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' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen=shl_load +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen=dlopen +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac + fi +fi + + + + + + + + + + + + + # Report what library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 +$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } +if ${libltdl_cv_shlibext+:} false; then : + $as_echo_n "(cached) " >&6 +else + +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_shlibext" >&5 +$as_echo "$libltdl_cv_shlibext" >&6; } +if test -n "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +#define LT_MODULE_EXT "$libltdl_cv_shlibext" +_ACEOF + +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + +cat >>confdefs.h <<_ACEOF +#define LT_SHARED_EXT "$libltdl_cv_shrext" +_ACEOF + +fi +if test -n "$shared_archive_member_spec"; then + +cat >>confdefs.h <<_ACEOF +#define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 +$as_echo_n "checking what variable specifies run-time module search path... " >&6; } +if ${lt_cv_module_path_var+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_module_path_var=$shlibpath_var +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 +$as_echo "$lt_cv_module_path_var" >&6; } +if test -n "$lt_cv_module_path_var"; then + +cat >>confdefs.h <<_ACEOF +#define LT_MODULE_PATH_VAR "$lt_cv_module_path_var" +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the default library search path" >&5 +$as_echo_n "checking for the default library search path... " >&6; } +if ${lt_cv_sys_dlsearch_path+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 +$as_echo "$lt_cv_sys_dlsearch_path" >&6; } +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + +cat >>confdefs.h <<_ACEOF +#define LT_DLSEARCH_PATH "$sys_dlsearch_path" +_ACEOF + +fi + + +LT_DLLOADERS= + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 +$as_echo_n "checking for library containing dlopen... " >&6; } +if ${ac_cv_search_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_dlopen=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_dlopen+:} false; then : + break +fi +done +if ${ac_cv_search_dlopen+:} false; then : + +else + ac_cv_search_dlopen=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 +$as_echo "$ac_cv_search_dlopen" >&6; } +ac_res=$ac_cv_search_dlopen +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +$as_echo "#define HAVE_LIBDL 1" >>confdefs.h + + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_DLFCN_H +# include +#endif + +int +main () +{ +dlopen(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define HAVE_LIBDL 1" >>confdefs.h + + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + +$as_echo "#define HAVE_LIBDL 1" >>confdefs.h + + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +fi + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + for ac_func in dlerror +do : + ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" +if test "x$ac_cv_func_dlerror" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLERROR 1 +_ACEOF + +fi +done + + LIBS=$lt_save_LIBS +fi + + +LIBADD_SHL_LOAD= +ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + +$as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + +$as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld +fi + +fi + + + +case $host_os in +darwin[1567].*) +# We only want this for pre-Mac OS X 10.4. + ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" +if test "x$ac_cv_func__dyld_func_lookup" = xyes; then : + +$as_echo "#define HAVE_DYLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" +fi + + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include +" +if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl +_ACEOF + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + +$as_echo "#define HAVE_DLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" +fi + + + + +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + +$as_echo "#define HAVE_LIBDLLOADER 1" >>confdefs.h + +fi + + +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" + + +LIBS=$lt_dlload_save_LIBS +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5 +$as_echo_n "checking for _ prefix in compiled symbols... " >&6; } +if ${lt_cv_sys_symbol_underscore+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&5 + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "configure: failed program was:" >&5 + cat conftest.c >&5 + fi + rm -rf conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5 +$as_echo "$lt_cv_sys_symbol_underscore" >&6; } + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + + +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 +$as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } +if ${libltdl_cv_need_uscore+:} false; then : + $as_echo_n "(cached) " >&6 +else + libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; } +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 +$as_echo "$libltdl_cv_need_uscore" >&6; } + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + +$as_echo "#define NEED_USCORE 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether deplibs are loaded by dlopen" >&5 +$as_echo_n "checking whether deplibs are loaded by dlopen... " >&6; } +if ${lt_cv_sys_dlopen_deplibs+:} false; then : + $as_echo_n "(cached) " >&6 +else + # PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[4-9]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly* | midnightbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[12345]*|irix6.[01]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[1234]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 +$as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + +$as_echo "#define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h + +fi + + +for ac_header in argz.h +do : + ac_fn_c_check_header_compile "$LINENO" "argz.h" "ac_cv_header_argz_h" "$ac_includes_default +" +if test "x$ac_cv_header_argz_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ARGZ_H 1 +_ACEOF + +fi + +done + + +ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if defined(HAVE_ARGZ_H) +# include +#endif +" +if test "x$ac_cv_type_error_t" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_ERROR_T 1 +_ACEOF + + +else + +$as_echo "#define error_t int" >>confdefs.h + + +$as_echo "#define __error_t_defined 1" >>confdefs.h + +fi + + +LT_ARGZ_H= +for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + LT_ARGZ_H=lt__argz.h; case " $LIBOBJS " in + *" lt__argz.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext" + ;; +esac + +fi +done + + +if test -z "$LT_ARGZ_H"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 +$as_echo_n "checking if argz actually works... " >&6; } +if ${lt_cv_sys_argz_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 +$as_echo "$lt_cv_sys_argz_works" >&6; } + if test yes = "$lt_cv_sys_argz_works"; then : + +$as_echo "#define HAVE_WORKING_ARGZ 1" >>confdefs.h + +else + LT_ARGZ_H=lt__argz.h + case " $LIBOBJS " in + *" lt__argz.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext" + ;; +esac + +fi +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libtool supports -dlopen/-dlpreopen" >&5 +$as_echo_n "checking whether libtool supports -dlopen/-dlpreopen... " >&6; } +if ${libltdl_cv_preloaded_symbols+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 +$as_echo "$libltdl_cv_preloaded_symbols" >&6; } +if test yes = "$libltdl_cv_preloaded_symbols"; then + +$as_echo "#define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h + +fi + + + +# Check whether --enable-ltdl-install was given. +if test "${enable_ltdl_install+set}" = set; then : + enableval=$enable_ltdl_install; +fi + + +case ,$enable_ltdl_install,$enable_ltdl_convenience in + *yes*) ;; + *) enable_ltdl_convenience=yes ;; +esac + + if test no != "${enable_ltdl_install-no}"; then + INSTALL_LTDL_TRUE= + INSTALL_LTDL_FALSE='#' +else + INSTALL_LTDL_TRUE='#' + INSTALL_LTDL_FALSE= +fi + + if test no != "${enable_ltdl_convenience-no}"; then + CONVENIENCE_LTDL_TRUE= + CONVENIENCE_LTDL_FALSE='#' +else + CONVENIENCE_LTDL_TRUE='#' + CONVENIENCE_LTDL_FALSE= +fi + + + + + + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). + + + +for ac_header in unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_func in closedir opendir readdir +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIBOBJS " in + *" lt__dirent.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lt__dirent.$ac_objext" + ;; +esac + +fi +done + +for ac_func in strlcat strlcpy +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIBOBJS " in + *" lt__strl.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lt__strl.$ac_objext" + ;; +esac + +fi +done + + + +cat >>confdefs.h <<_ACEOF +#define LT_LIBEXT "$libext" +_ACEOF + + +name= +eval "lt_libprefix=\"$libname_spec\"" + +cat >>confdefs.h <<_ACEOF +#define LT_LIBPREFIX "$lt_libprefix" +_ACEOF + + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" + + + + +## -------- ## +## Outputs. ## +## -------- ## +ac_config_files="$ac_config_files Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then + as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then + as_fn_error $? "conditional \"CONVENIENCE_LTDL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +LT_CONFIG_H=config.h + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by libltdl $as_me 2.4.3a, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +libltdl config.status 2.4.3a +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in AS \ +DLLTOOL \ +OBJDUMP \ +SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +FILECMD \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +sharedlib_from_linklib_cmd \ +AR \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Assembler program. +AS=$lt_AS + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Object dumper program. +OBJDUMP=$lt_OBJDUMP + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/BUILD/libtool-2.4.7/libltdl/configure.ac b/BUILD/libtool-2.4.7/libltdl/configure.ac new file mode 100644 index 0000000..bb519d9 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/configure.ac @@ -0,0 +1,76 @@ +# Process this file with autoconf to create configure. -*- autoconf -*- +# +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# NOTE: The canonical source of this file is maintained with the +# GNU Libtool package. Report bugs to bug-libtool@gnu.org. +# +# GNU Libltdl is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# As a special exception to the GNU Lesser General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libltdl is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU LesserGeneral Public +# License along with GNU Libltdl; see the file COPYING.LIB. If not, a +# copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# This configure.ac is not used at all by the libtool bootstrap, but +# is copied to the ltdl subdirectory if you libtoolize --ltdl your own +# project. Adding LT_WITH_LTDL to your project configure.ac will then +# configure this directory if your user doesn't want to use the installed +# libltdl. + +AC_PREREQ(2.59)dnl We use AS_HELP_STRING + + +## ------------------------ ## +## Autoconf initialisation. ## +## ------------------------ ## +AC_INIT([libltdl], [2.4.3a], [bug-libtool@gnu.org]) +AC_CONFIG_HEADERS([config.h:config-h.in]) +AC_CONFIG_SRCDIR([ltdl.c]) +AC_CONFIG_AUX_DIR([../build-aux]) +LT_CONFIG_LTDL_DIR([.]) # I am me! + + +## ------------------------ ## +## Automake Initialisation. ## +## ------------------------ ## + +AM_INIT_AUTOMAKE([gnu subdir-objects]) +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + + +## ------------------------------- ## +## Libtool specific configuration. ## +## ------------------------------- ## +pkgdatadir='$datadir'"/$PACKAGE" + + +## ----------------------- ## +## Libtool initialisation. ## +## ----------------------- ## +LT_INIT([dlopen win32-dll]) +_LTDL_SETUP + + +## -------- ## +## Outputs. ## +## -------- ## +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__alloc.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__alloc.h new file mode 100644 index 0000000..6a59d49 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__alloc.h @@ -0,0 +1,59 @@ +/* lt__alloc.h -- internal memory management interface + + Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, + Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#if !defined LT__ALLOC_H +#define LT__ALLOC_H 1 + +#include "lt_system.h" + +LT_BEGIN_C_DECLS + +#define MALLOC(tp, n) (tp*) lt__malloc((n) * sizeof(tp)) +#define REALLOC(tp, mem, n) (tp*) lt__realloc((mem), (n) * sizeof(tp)) +#define FREE(mem) LT_STMT_START { \ + free (mem); mem = NULL; } LT_STMT_END +#define MEMREASSIGN(p, q) LT_STMT_START { \ + if ((p) != (q)) { free (p); (p) = (q); (q) = 0; } \ + } LT_STMT_END + +/* If set, this function is called when memory allocation has failed. */ +LT_SCOPE void (*lt__alloc_die) (void); + +LT_SCOPE void *lt__malloc (size_t n); +LT_SCOPE void *lt__zalloc (size_t n); +LT_SCOPE void *lt__realloc (void *mem, size_t n); +LT_SCOPE void *lt__memdup (void const *mem, size_t n); + +LT_SCOPE char *lt__strdup (const char *string); + +LT_END_C_DECLS + +#endif /*!defined LT__ALLOC_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__argz_.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__argz_.h new file mode 100644 index 0000000..40ea81d --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__argz_.h @@ -0,0 +1,69 @@ +/* lt__argz.h -- internal argz interface for non-glibc systems + + Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#if !defined LT__ARGZ_H +#define LT__ARGZ_H 1 + +#include +#define __need_error_t +#include +#include + +#if defined LTDL +# include "lt__glibc.h" +# include "lt_system.h" +#else +# define LT_SCOPE +#endif + +#if defined __cplusplus +extern "C" { +#endif + +LT_SCOPE error_t argz_append (char **pargz, size_t *pargz_len, + const char *buf, size_t buf_len); +LT_SCOPE error_t argz_create_sep(const char *str, int delim, + char **pargz, size_t *pargz_len); +LT_SCOPE error_t argz_insert (char **pargz, size_t *pargz_len, + char *before, const char *entry); +LT_SCOPE char * argz_next (char *argz, size_t argz_len, + const char *entry); +LT_SCOPE void argz_stringify (char *argz, size_t argz_len, int sep); + +#if defined __cplusplus +} +#endif + +#if !defined LTDL +# undef LT_SCOPE +#endif + +#endif /*!defined LT__ARGZ_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__dirent.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__dirent.h new file mode 100644 index 0000000..760a336 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__dirent.h @@ -0,0 +1,88 @@ +/* lt__dirent.h -- internal directory entry scanning interface + + Copyright (C) 2001, 2004, 2006, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Bob Friesenhahn, 2001 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#if !defined LT__DIRENT_H +#define LT__DIRENT_H 1 + +#if defined LT_CONFIG_H +# include LT_CONFIG_H +#else +# include +#endif + +#include "lt_system.h" + +#ifdef HAVE_DIRENT_H +/* We have a fully operational dirent subsystem. */ +# include +# define D_NAMLEN(dirent) (strlen((dirent)->d_name)) + +#elif defined __WINDOWS__ +/* Use some wrapper code to emulate dirent on windows.. */ +# define WINDOWS_DIRENT_EMULATION 1 + +# include + +# define D_NAMLEN(dirent) (strlen((dirent)->d_name)) +# define dirent lt__dirent +# define DIR lt__DIR +# define opendir lt__opendir +# define readdir lt__readdir +# define closedir lt__closedir + +LT_BEGIN_C_DECLS + +struct dirent +{ + char d_name[LT_FILENAME_MAX]; + int d_namlen; +}; + +typedef struct +{ + HANDLE hSearch; + WIN32_FIND_DATA Win32FindData; + BOOL firsttime; + struct dirent file_info; +} DIR; + + +LT_SCOPE DIR * opendir (const char *path); +LT_SCOPE struct dirent *readdir (DIR *entry); +LT_SCOPE void closedir (DIR *entry); + +LT_END_C_DECLS + +#else /* !defined __WINDOWS__*/ +ERROR - cannot find dirent +#endif /*!defined __WINDOWS__*/ + +#endif /*!defined LT__DIRENT_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__glibc.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__glibc.h new file mode 100644 index 0000000..fff2a5c --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__glibc.h @@ -0,0 +1,89 @@ +/* lt__glibc.h -- support for non glibc environments + + Copyright (C) 2004, 2006-2007, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#if !defined LT__GLIBC_H +#define LT__GLIBC_H 1 + +#if defined LT_CONFIG_H +# include LT_CONFIG_H +#else +# include +#endif + +#if !defined HAVE_ARGZ_H || !defined HAVE_WORKING_ARGZ +/* Redefine any glibc symbols we reimplement to import the + implementations into our lt__ namespace so we don't ever + clash with the system library if our clients use argz_* + from there in addition to libltdl. */ +# undef argz_append +# define argz_append lt__argz_append +# undef argz_create_sep +# define argz_create_sep lt__argz_create_sep +# undef argz_insert +# define argz_insert lt__argz_insert +# undef argz_next +# define argz_next lt__argz_next +# undef argz_stringify +# define argz_stringify lt__argz_stringify + +# include + +#else + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifdef __cplusplus +} +#endif + +#endif /*!defined HAVE_ARGZ_H || !defined HAVE_WORKING_ARGZ*/ + +# define slist_concat lt__slist_concat +# define slist_cons lt__slist_cons +# define slist_delete lt__slist_delete +# define slist_remove lt__slist_remove +# define slist_reverse lt__slist_reverse +# define slist_sort lt__slist_sort +# define slist_tail lt__slist_tail +# define slist_nth lt__slist_nth +# define slist_find lt__slist_find +# define slist_length lt__slist_length +# define slist_foreach lt__slist_foreach +# define slist_box lt__slist_box +# define slist_unbox lt__slist_unbox + +#include + +#endif /*!defined LT__GLIBC_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__private.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__private.h new file mode 100644 index 0000000..cf1ec4b --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__private.h @@ -0,0 +1,150 @@ +/* lt__private.h -- internal apis for libltdl + + Copyright (C) 2004-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy con be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#if !defined LT__PRIVATE_H +#define LT__PRIVATE_H 1 + +#if defined LT_CONFIG_H +# include LT_CONFIG_H +#else +# include +#endif + +#include +#include +#include +#include +#include + +#if defined HAVE_UNISTD_H +# include +#endif + +/* Import internal interfaces... */ +#include "lt__alloc.h" +#include "lt__dirent.h" +#include "lt__strl.h" +#include "lt__glibc.h" + +/* ...and all exported interfaces. */ +#include "ltdl.h" + +#if defined WITH_DMALLOC +# include +#endif + +/* DLL building support on win32 hosts; mostly to workaround their + ridiculous implementation of data symbol exporting. */ +#ifndef LT_GLOBAL_DATA +# if defined __WINDOWS__ || defined __CYGWIN__ +# if defined DLL_EXPORT /* defined by libtool (if required) */ +# define LT_GLOBAL_DATA __declspec(dllexport) +# endif +# endif +# ifndef LT_GLOBAL_DATA +# define LT_GLOBAL_DATA /* static linking or !__WINDOWS__ */ +# endif +#endif + +#ifndef __attribute__ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ +# define __attribute__(x) +# endif +#endif + +#ifndef LT__UNUSED +# define LT__UNUSED __attribute__ ((__unused__)) +#endif + + +LT_BEGIN_C_DECLS + +#if !defined errno +extern int errno; +#endif + +LT_SCOPE void lt__alloc_die_callback (void); + + +/* For readability: */ +#define STRNEQ(s1, s2) (strcmp((s1), (s2)) != 0) +#define STREQ(s1, s2) (strcmp((s1), (s2)) == 0) + + + +/* --- OPAQUE STRUCTURES DECLARED IN LTDL.H --- */ + +/* This type is used for the array of interface data sets in each handler. */ +typedef struct { + lt_dlinterface_id key; + void * data; +} lt_interface_data; + +struct lt__handle { + lt_dlhandle next; + const lt_dlvtable * vtable; /* dlopening interface */ + lt_dlinfo info; /* user visible fields */ + int depcount; /* number of dependencies */ + lt_dlhandle * deplibs; /* dependencies */ + lt_module module; /* system module handle */ + void * system; /* system specific data */ + lt_interface_data * interface_data; /* per caller associated data */ + int flags; /* various boolean stats */ +}; + +struct lt__advise { + unsigned int try_ext:1; /* try system library extensions. */ + unsigned int is_resident:1; /* module can't be unloaded. */ + unsigned int is_symglobal:1; /* module symbols can satisfy + subsequently loaded modules. */ + unsigned int is_symlocal:1; /* module symbols are only available + locally. */ + unsigned int try_preload_only:1;/* only preloaded modules will be tried. */ +}; + +/* --- ERROR HANDLING --- */ + +/* Extract the diagnostic strings from the error table macro in the same + order as the enumerated indices in lt_error.h. */ + +#define LT__STRERROR(name) lt__error_string(LT_CONC(LT_ERROR_,name)) + +#define LT__GETERROR(lvalue) (lvalue) = lt__get_last_error() +#define LT__SETERRORSTR(errormsg) lt__set_last_error(errormsg) +#define LT__SETERROR(errorcode) LT__SETERRORSTR(LT__STRERROR(errorcode)) + +LT_SCOPE const char *lt__error_string (int errorcode); +LT_SCOPE const char *lt__get_last_error (void); +LT_SCOPE const char *lt__set_last_error (const char *errormsg); + +LT_END_C_DECLS + +#endif /*!defined LT__PRIVATE_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__strl.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__strl.h new file mode 100644 index 0000000..be1cd06 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__strl.h @@ -0,0 +1,54 @@ +/* lt__strl.h -- size-bounded string copying and concatenation + + Copyright (C) 2004, 2006, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Bob Friesenhahn, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#if !defined LT__STRL_H +#define LT__STRL_H 1 + +#if defined LT_CONFIG_H +# include LT_CONFIG_H +#else +# include +#endif + +#include +#include "lt_system.h" + +#if !defined HAVE_STRLCAT +# define strlcat(dst,src,dstsize) lt_strlcat(dst,src,dstsize) +LT_SCOPE size_t lt_strlcat(char *dst, const char *src, const size_t dstsize); +#endif /* !defined HAVE_STRLCAT */ + +#if !defined HAVE_STRLCPY +# define strlcpy(dst,src,dstsize) lt_strlcpy(dst,src,dstsize) +LT_SCOPE size_t lt_strlcpy(char *dst, const char *src, const size_t dstsize); +#endif /* !defined HAVE_STRLCPY */ + +#endif /*!defined LT__STRL_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_dlloader.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_dlloader.h new file mode 100644 index 0000000..7701ffe --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_dlloader.h @@ -0,0 +1,91 @@ +/* lt_dlloader.h -- dynamic library loader interface + + Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#if !defined LT_DLLOADER_H +#define LT_DLLOADER_H 1 + +#include + +LT_BEGIN_C_DECLS + +typedef void * lt_dlloader; +typedef void * lt_module; +typedef void * lt_user_data; +typedef struct lt__advise * lt_dladvise; + +/* Function pointer types for module loader vtable entries: */ +typedef lt_module lt_module_open (lt_user_data data, + const char *filename, + lt_dladvise advise); +typedef int lt_module_close (lt_user_data data, + lt_module module); +typedef void * lt_find_sym (lt_user_data data, lt_module module, + const char *symbolname); +typedef int lt_dlloader_init (lt_user_data data); +typedef int lt_dlloader_exit (lt_user_data data); + +/* Default priority is LT_DLLOADER_PREPEND if none is explicitly given. */ +typedef enum { + LT_DLLOADER_PREPEND = 0, LT_DLLOADER_APPEND +} lt_dlloader_priority; + +/* This structure defines a module loader, as populated by the get_vtable + entry point of each loader. */ +typedef struct { + const char * name; + const char * sym_prefix; + lt_module_open * module_open; + lt_module_close * module_close; + lt_find_sym * find_sym; + lt_dlloader_init * dlloader_init; + lt_dlloader_exit * dlloader_exit; + lt_user_data dlloader_data; + lt_dlloader_priority priority; +} lt_dlvtable; + +LT_SCOPE int lt_dlloader_add (const lt_dlvtable *vtable); +LT_SCOPE lt_dlloader lt_dlloader_next (const lt_dlloader loader); + +LT_SCOPE lt_dlvtable * lt_dlloader_remove (const char *name); +LT_SCOPE const lt_dlvtable *lt_dlloader_find (const char *name); +LT_SCOPE const lt_dlvtable *lt_dlloader_get (lt_dlloader loader); + + +/* Type of a function to get a loader's vtable: */ +typedef const lt_dlvtable *lt_get_vtable (lt_user_data data); + +#ifdef LT_DEBUG_LOADERS +LT_SCOPE void lt_dlloader_dump (void); +#endif + +LT_END_C_DECLS + +#endif /*!defined LT_DLLOADER_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_error.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_error.h new file mode 100644 index 0000000..ab3acd8 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_error.h @@ -0,0 +1,86 @@ +/* lt_error.h -- error propagation interface + + Copyright (C) 1999-2001, 2004, 2007, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1999 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +/* Only include this header file once. */ +#if !defined LT_ERROR_H +#define LT_ERROR_H 1 + +#include + +LT_BEGIN_C_DECLS + +/* Defining error strings alongside their symbolic names in a macro in + this way allows us to expand the macro in different contexts with + confidence that the enumeration of symbolic names will map correctly + onto the table of error strings. \0 is appended to the strings to + expilicitely initialize the string terminator. */ +#define lt_dlerror_table \ + LT_ERROR(UNKNOWN, "unknown error\0") \ + LT_ERROR(DLOPEN_NOT_SUPPORTED, "dlopen support not available\0") \ + LT_ERROR(INVALID_LOADER, "invalid loader\0") \ + LT_ERROR(INIT_LOADER, "loader initialization failed\0") \ + LT_ERROR(REMOVE_LOADER, "loader removal failed\0") \ + LT_ERROR(FILE_NOT_FOUND, "file not found\0") \ + LT_ERROR(DEPLIB_NOT_FOUND, "dependency library not found\0") \ + LT_ERROR(NO_SYMBOLS, "no symbols defined\0") \ + LT_ERROR(CANNOT_OPEN, "can't open the module\0") \ + LT_ERROR(CANNOT_CLOSE, "can't close the module\0") \ + LT_ERROR(SYMBOL_NOT_FOUND, "symbol not found\0") \ + LT_ERROR(NO_MEMORY, "not enough memory\0") \ + LT_ERROR(INVALID_HANDLE, "invalid module handle\0") \ + LT_ERROR(BUFFER_OVERFLOW, "internal buffer overflow\0") \ + LT_ERROR(INVALID_ERRORCODE, "invalid errorcode\0") \ + LT_ERROR(SHUTDOWN, "library already shutdown\0") \ + LT_ERROR(CLOSE_RESIDENT_MODULE, "can't close resident module\0") \ + LT_ERROR(INVALID_MUTEX_ARGS, "internal error (code withdrawn)\0")\ + LT_ERROR(INVALID_POSITION, "invalid search path insert position\0")\ + LT_ERROR(CONFLICTING_FLAGS, "symbol visibility can be global or local\0") + +/* Enumerate the symbolic error names. */ +enum { +#define LT_ERROR(name, diagnostic) LT_CONC(LT_ERROR_, name), + lt_dlerror_table +#undef LT_ERROR + + LT_ERROR_MAX +}; + +/* Should be max of the error string lengths above (plus one for C++) */ +#define LT_ERROR_LEN_MAX (41) + +/* These functions are only useful from inside custom module loaders. */ +LT_SCOPE int lt_dladderror (const char *diagnostic); +LT_SCOPE int lt_dlseterror (int errorcode); + + +LT_END_C_DECLS + +#endif /*!defined LT_ERROR_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_system.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_system.h new file mode 100644 index 0000000..2ac204c --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_system.h @@ -0,0 +1,167 @@ +/* lt_system.h -- system portability abstraction layer + + Copyright (C) 2004, 2007, 2010-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#if !defined LT_SYSTEM_H +#define LT_SYSTEM_H 1 + +#include +#include +#include + +/* Some systems do not define EXIT_*, even with STDC_HEADERS. */ +#if !defined EXIT_SUCCESS +# define EXIT_SUCCESS 0 +#endif +#if !defined EXIT_FAILURE +# define EXIT_FAILURE 1 +#endif + +/* Just pick a big number... */ +#define LT_FILENAME_MAX 2048 + + +/* Saves on those hard to debug '\0' typos.... */ +#define LT_EOS_CHAR '\0' + +/* LTDL_BEGIN_C_DECLS should be used at the beginning of your declarations, + so that C++ compilers don't mangle their names. Use LTDL_END_C_DECLS at + the end of C declarations. */ +#if defined __cplusplus +# define LT_BEGIN_C_DECLS extern "C" { +# define LT_END_C_DECLS } +#else +# define LT_BEGIN_C_DECLS /* empty */ +# define LT_END_C_DECLS /* empty */ +#endif + +/* LT_STMT_START/END are used to create macros that expand to a + a single compound statement in a portable way. */ +#if defined __GNUC__ && !defined __STRICT_ANSI__ && !defined __cplusplus +# define LT_STMT_START (void)( +# define LT_STMT_END ) +#else +# if (defined sun || defined __sun__) +# define LT_STMT_START if (1) +# define LT_STMT_END else (void)0 +# else +# define LT_STMT_START do +# define LT_STMT_END while (0) +# endif +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Canonicalise Windows and Cygwin recognition macros. + To match the values set by recent Cygwin compilers, make sure that if + __CYGWIN__ is defined (after canonicalisation), __WINDOWS__ is NOT! */ +#if defined __CYGWIN32__ && !defined __CYGWIN__ +# define __CYGWIN__ __CYGWIN32__ +#endif +#if defined __CYGWIN__ +# if defined __WINDOWS__ +# undef __WINDOWS__ +# endif +#elif defined _WIN32 +# define __WINDOWS__ _WIN32 +#elif defined WIN32 +# define __WINDOWS__ WIN32 +#endif +#if defined __CYGWIN__ && defined __WINDOWS__ +# undef __WINDOWS__ +#endif + + +/* DLL building support on win32 hosts; mostly to workaround their + ridiculous implementation of data symbol exporting. */ +#if !defined LT_SCOPE +# if defined __WINDOWS__ || defined __CYGWIN__ +# if defined DLL_EXPORT /* defined by libtool (if required) */ +# define LT_SCOPE extern __declspec(dllexport) +# endif +# if defined LIBLTDL_DLL_IMPORT /* define if linking with this dll */ + /* note: cygwin/mingw compilers can rely instead on auto-import */ +# define LT_SCOPE extern __declspec(dllimport) +# endif +# endif +# if !defined LT_SCOPE /* static linking or !__WINDOWS__ */ +# define LT_SCOPE extern +# endif +#endif + +#if defined __WINDOWS__ +/* LT_DIRSEP_CHAR is accepted *in addition* to '/' as a directory + separator when it is set. */ +# define LT_DIRSEP_CHAR '\\' +# define LT_PATHSEP_CHAR ';' +#else +# define LT_PATHSEP_CHAR ':' +#endif + +#if defined _MSC_VER /* Visual Studio */ +# define R_OK 4 +#endif + +/* fopen() mode flags for reading a text file */ +#undef LT_READTEXT_MODE +#if defined __WINDOWS__ || defined __CYGWIN__ +# define LT_READTEXT_MODE "rt" +#else +# define LT_READTEXT_MODE "r" +#endif + +/* The extra indirection to the LT__STR and LT__CONC macros is required so + that if the arguments to LT_STR() (or LT_CONC()) are themselves macros, + they will be expanded before being quoted. */ +#ifndef LT_STR +# define LT__STR(arg) #arg +# define LT_STR(arg) LT__STR(arg) +#endif + +#ifndef LT_CONC +# define LT__CONC(a, b) a##b +# define LT_CONC(a, b) LT__CONC(a, b) +#endif +#ifndef LT_CONC3 +# define LT__CONC3(a, b, c) a##b##c +# define LT_CONC3(a, b, c) LT__CONC3(a, b, c) +#endif + +#endif /*!defined LT_SYSTEM_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/slist.h b/BUILD/libtool-2.4.7/libltdl/libltdl/slist.h new file mode 100644 index 0000000..8427244 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/libltdl/slist.h @@ -0,0 +1,97 @@ +/* slist.h -- generalised singly linked lists + + Copyright (C) 2000, 2004, 2009, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2000 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +/* A generalised list. This is deliberately transparent so that you + can make the NEXT field of all your chained data structures first, + and then cast them to '(SList *)' so that they can be manipulated + by this API. + + Alternatively, you can generate raw SList elements using slist_new(), + and put the element data in the USERDATA field. Either way you + get to manage the memory involved by yourself. +*/ + +#if !defined SLIST_H +#define SLIST_H 1 + +#if defined LTDL +# include +# include +#else +# define LT_SCOPE +#endif + +#include + +#if defined __cplusplus +extern "C" { +#endif + +typedef struct slist { + struct slist *next; /* chain forward pointer*/ + const void *userdata; /* for boxed 'SList' item */ +} SList; + +typedef void * SListCallback (SList *item, void *userdata); +typedef int SListCompare (const SList *item1, const SList *item2, + void *userdata); + +LT_SCOPE SList *slist_concat (SList *head, SList *tail); +LT_SCOPE SList *slist_cons (SList *item, SList *slist); + +LT_SCOPE SList *slist_delete (SList *slist, void (*delete_fct) (void *item)); +LT_SCOPE SList *slist_remove (SList **phead, SListCallback *find, + void *matchdata); +LT_SCOPE SList *slist_reverse (SList *slist); +LT_SCOPE SList *slist_sort (SList *slist, SListCompare *compare, + void *userdata); + +LT_SCOPE SList *slist_tail (SList *slist); +LT_SCOPE SList *slist_nth (SList *slist, size_t n); +LT_SCOPE void * slist_find (SList *slist, SListCallback *find, + void *matchdata); +LT_SCOPE size_t slist_length (SList *slist); + +LT_SCOPE void * slist_foreach (SList *slist, SListCallback *foreach, + void *userdata); + +LT_SCOPE SList *slist_box (const void *userdata); +LT_SCOPE void * slist_unbox (SList *item); + +#if defined __cplusplus +} +#endif + +#if !defined LTDL +# undef LT_SCOPE +#endif + +#endif /*!defined SLIST_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/dld_link.c b/BUILD/libtool-2.4.7/libltdl/loaders/dld_link.c new file mode 100644 index 0000000..18c78ac --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/loaders/dld_link.c @@ -0,0 +1,158 @@ +/* loader-dld_link.c -- dynamic linking with dld + + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_dlloader.h" + +/* Use the preprocessor to rename non-static symbols to avoid namespace + collisions when the loader code is statically linked into libltdl. + Use the "_LTX_" prefix so that the symbol addresses can + be fetched from the preloaded symbol list by lt_dlsym(): */ +#define get_vtable dld_link_LTX_get_vtable + +LT_BEGIN_C_DECLS +LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); +LT_END_C_DECLS + + +/* Boilerplate code to set up the vtable for hooking this loader into + libltdl's loader list: */ +static int vl_exit (lt_user_data loader_data); +static lt_module vm_open (lt_user_data loader_data, const char *filename, + lt_dladvise advise); +static int vm_close (lt_user_data loader_data, lt_module module); +static void * vm_sym (lt_user_data loader_data, lt_module module, + const char *symbolname); + +static lt_dlvtable *vtable = 0; + +/* Return the vtable for this loader, only the name and sym_prefix + attributes (plus the virtual function implementations, obviously) + change between loaders. */ +lt_dlvtable * +get_vtable (lt_user_data loader_data) +{ + if (!vtable) + { + vtable = lt__zalloc (sizeof *vtable); + } + + if (vtable && !vtable->name) + { + vtable->name = "lt_dld_link"; + vtable->module_open = vm_open; + vtable->module_close = vm_close; + vtable->find_sym = vm_sym; + vtable->dlloader_exit = vl_exit; + vtable->dlloader_data = loader_data; + vtable->priority = LT_DLLOADER_APPEND; + } + + if (vtable && (vtable->dlloader_data != loader_data)) + { + LT__SETERROR (INIT_LOADER); + return 0; + } + + return vtable; +} + + + +/* --- IMPLEMENTATION --- */ + + +#if defined HAVE_DLD_H +# include +#endif + +/* A function called through the vtable when this loader is no + longer needed by the application. */ +static int +vl_exit (lt_user_data loader_data LT__UNUSED) +{ + vtable = NULL; + return 0; +} + +/* A function called through the vtable to open a module with this + loader. Returns an opaque representation of the newly opened + module for processing with this loader's other vtable functions. */ +static lt_module +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) +{ + lt_module module = lt__strdup (filename); + + if (module && dld_link (filename) != 0) + { + LT__SETERROR (CANNOT_OPEN); + FREE (module); + } + + return module; +} + +/* A function called through the vtable when a particular module + should be unloaded. */ +static int +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) +{ + int errors = 0; + + if (dld_unlink_by_file ((char*)(module), 1) != 0) + { + LT__SETERROR (CANNOT_CLOSE); + ++errors; + } + else + { + FREE (module); + } + + return errors; +} + +/* A function called through the vtable to get the address of + a symbol loaded from a particular module. */ +static void * +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED, + const char *name) +{ + void *address = dld_get_func (name); + + if (!address) + { + LT__SETERROR (SYMBOL_NOT_FOUND); + } + + return address; +} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/dlopen.c b/BUILD/libtool-2.4.7/libltdl/loaders/dlopen.c new file mode 100644 index 0000000..bce7a05 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/loaders/dlopen.c @@ -0,0 +1,275 @@ +/* loader-dlopen.c -- dynamic linking with dlopen/dlsym + + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_dlloader.h" + +/* Use the preprocessor to rename non-static symbols to avoid namespace + collisions when the loader code is statically linked into libltdl. + Use the "_LTX_" prefix so that the symbol addresses can + be fetched from the preloaded symbol list by lt_dlsym(): */ +#define get_vtable dlopen_LTX_get_vtable + +LT_BEGIN_C_DECLS +LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); +LT_END_C_DECLS + + +/* Boilerplate code to set up the vtable for hooking this loader into + libltdl's loader list: */ +static int vl_exit (lt_user_data loader_data); +static lt_module vm_open (lt_user_data loader_data, const char *filename, + lt_dladvise advise); +static int vm_close (lt_user_data loader_data, lt_module module); +static void * vm_sym (lt_user_data loader_data, lt_module module, + const char *symbolname); + +static lt_dlvtable *vtable = 0; + +/* Return the vtable for this loader, only the name and sym_prefix + attributes (plus the virtual function implementations, obviously) + change between loaders. */ +lt_dlvtable * +get_vtable (lt_user_data loader_data) +{ + if (!vtable) + { + vtable = (lt_dlvtable *) lt__zalloc (sizeof *vtable); + } + + if (vtable && !vtable->name) + { + vtable->name = "lt_dlopen"; +#if defined DLSYM_USCORE + vtable->sym_prefix = "_"; +#endif + vtable->module_open = vm_open; + vtable->module_close = vm_close; + vtable->find_sym = vm_sym; + vtable->dlloader_exit = vl_exit; + vtable->dlloader_data = loader_data; + vtable->priority = LT_DLLOADER_PREPEND; + } + + if (vtable && (vtable->dlloader_data != loader_data)) + { + LT__SETERROR (INIT_LOADER); + return 0; + } + + return vtable; +} + + + +/* --- IMPLEMENTATION --- */ + + +#if defined HAVE_DLFCN_H +# include +#endif + +#if defined HAVE_SYS_DL_H +# include +#endif + + +/* We may have to define LT_LAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#if !defined LT_LAZY_OR_NOW +# if defined RTLD_LAZY +# define LT_LAZY_OR_NOW RTLD_LAZY +# else +# if defined DL_LAZY +# define LT_LAZY_OR_NOW DL_LAZY +# endif +# endif /* !RTLD_LAZY */ +#endif +#if !defined LT_LAZY_OR_NOW +# if defined RTLD_NOW +# define LT_LAZY_OR_NOW RTLD_NOW +# else +# if defined DL_NOW +# define LT_LAZY_OR_NOW DL_NOW +# endif +# endif /* !RTLD_NOW */ +#endif +#if !defined LT_LAZY_OR_NOW +# define LT_LAZY_OR_NOW 0 +#endif /* !LT_LAZY_OR_NOW */ + +/* We only support local and global symbols from modules for loaders + that provide such a thing, otherwise the system default is used. */ +#if !defined RTLD_GLOBAL +# if defined DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# endif +#endif /* !RTLD_GLOBAL */ +#if !defined RTLD_LOCAL +# if defined DL_LOCAL +# define RTLD_LOCAL DL_LOCAL +# endif +#endif /* !RTLD_LOCAL */ + +#if defined HAVE_DLERROR +# define DLERROR(arg) dlerror () +#else +# define DLERROR(arg) LT__STRERROR (arg) +#endif + +#define DL__SETERROR(errorcode) \ + LT__SETERRORSTR (DLERROR (errorcode)) + + +/* A function called through the vtable when this loader is no + longer needed by the application. */ +static int +vl_exit (lt_user_data loader_data LT__UNUSED) +{ + vtable = NULL; + return 0; +} + + +/* A function called through the vtable to open a module with this + loader. Returns an opaque representation of the newly opened + module for processing with this loader's other vtable functions. */ +static lt_module +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise) +{ + int module_flags = LT_LAZY_OR_NOW; + lt_module module; +#ifdef RTLD_MEMBER + int len = LT_STRLEN (filename); +#endif + + if (advise) + { +#ifdef RTLD_GLOBAL + /* If there is some means of asking for global symbol resolution, + do so. */ + if (advise->is_symglobal) + module_flags |= RTLD_GLOBAL; +#else + /* Otherwise, reset that bit so the caller can tell it wasn't + acted on. */ + advise->is_symglobal = 0; +#endif + +/* And similarly for local only symbol resolution. */ +#ifdef RTLD_LOCAL + if (advise->is_symlocal) + module_flags |= RTLD_LOCAL; +#else + advise->is_symlocal = 0; +#endif + } + +#ifdef RTLD_MEMBER /* AIX */ + if (len >= 4) /* at least "l(m)" */ + { + /* Advise loading an archive member only if the filename really + contains both the opening and closing parent, and a member. */ + if (filename[len-1] == ')') + { + const char *opening = strrchr(filename, '('); + if (opening && opening < (filename+len-2) && strchr(opening+1, '/') == NULL) + module_flags |= RTLD_MEMBER; + } + } +#endif + + module = dlopen (filename, module_flags); + +#if defined RTLD_MEMBER && defined LT_SHARED_LIB_MEMBER + if (!module && len && !(module_flags & RTLD_MEMBER) && errno == ENOEXEC) + { + /* Loading without a member specified failed with "Exec format error". + So the file is there, but either has wrong bitwidth, or is an + archive eventually containing the default shared archive member. + Retry with default member, getting same error in worst case. */ + const char *member = LT_SHARED_LIB_MEMBER; + + char *attempt = MALLOC (char, len + strlen (member) + 1); + if (!attempt) + { + LT__SETERROR (NO_MEMORY); + return module; + } + + sprintf (attempt, "%s%s", filename, member); + module = vm_open (loader_data, attempt, advise); + FREE (attempt); + return module; + } +#endif + + if (!module) + { + DL__SETERROR (CANNOT_OPEN); + } + + return module; +} + + +/* A function called through the vtable when a particular module + should be unloaded. */ +static int +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) +{ + int errors = 0; + + if (dlclose (module) != 0) + { + DL__SETERROR (CANNOT_CLOSE); + ++errors; + } + + return errors; +} + + +/* A function called through the vtable to get the address of + a symbol loaded from a particular module. */ +static void * +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) +{ + void *address = dlsym (module, name); + + if (!address) + { + DL__SETERROR (SYMBOL_NOT_FOUND); + } + + return address; +} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/dyld.c b/BUILD/libtool-2.4.7/libltdl/loaders/dyld.c new file mode 100644 index 0000000..3100f54 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/loaders/dyld.c @@ -0,0 +1,511 @@ +/* loader-dyld.c -- dynamic linking on darwin and OS X + + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Peter O'Gorman, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_dlloader.h" + +/* Use the preprocessor to rename non-static symbols to avoid namespace + collisions when the loader code is statically linked into libltdl. + Use the "_LTX_" prefix so that the symbol addresses can + be fetched from the preloaded symbol list by lt_dlsym(): */ +#define get_vtable dyld_LTX_get_vtable + +LT_BEGIN_C_DECLS +LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); +LT_END_C_DECLS + + +/* Boilerplate code to set up the vtable for hooking this loader into + libltdl's loader list: */ +static int vl_init (lt_user_data loader_data); +static int vl_exit (lt_user_data loader_data); +static lt_module vm_open (lt_user_data loader_data, const char *filename, + lt_dladvise advise); +static int vm_close (lt_user_data loader_data, lt_module module); +static void * vm_sym (lt_user_data loader_data, lt_module module, + const char *symbolname); + +static lt_dlvtable *vtable = 0; + +/* Return the vtable for this loader, only the name and sym_prefix + attributes (plus the virtual function implementations, obviously) + change between loaders. */ +lt_dlvtable * +get_vtable (lt_user_data loader_data) +{ + if (!vtable) + { + vtable = lt__zalloc (sizeof *vtable); + } + + if (vtable && !vtable->name) + { + vtable->name = "lt_dyld"; + vtable->sym_prefix = "_"; + vtable->dlloader_init = vl_init; + vtable->module_open = vm_open; + vtable->module_close = vm_close; + vtable->find_sym = vm_sym; + vtable->dlloader_exit = vl_exit; + vtable->dlloader_data = loader_data; + vtable->priority = LT_DLLOADER_APPEND; + } + + if (vtable && (vtable->dlloader_data != loader_data)) + { + LT__SETERROR (INIT_LOADER); + return 0; + } + + return vtable; +} + + + +/* --- IMPLEMENTATION --- */ + + +#if defined HAVE_MACH_O_DYLD_H +# if !defined __APPLE_CC__ && !defined __MWERKS__ && !defined __private_extern__ + /* Is this correct? Does it still function properly? */ +# define __private_extern__ extern +# endif +# include +#endif + +#include + +/* We have to put some stuff here that isn't in older dyld.h files */ +#if !defined ENUM_DYLD_BOOL +# define ENUM_DYLD_BOOL +# undef FALSE +# undef TRUE + enum DYLD_BOOL { + FALSE, + TRUE + }; +#endif +#if !defined LC_REQ_DYLD +# define LC_REQ_DYLD 0x80000000 +#endif +#if !defined LC_LOAD_WEAK_DYLIB +# define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD) +#endif + +#if !defined NSADDIMAGE_OPTION_NONE +# define NSADDIMAGE_OPTION_NONE 0x0 +#endif +#if !defined NSADDIMAGE_OPTION_RETURN_ON_ERROR +# define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1 +#endif +#if !defined NSADDIMAGE_OPTION_WITH_SEARCHING +# define NSADDIMAGE_OPTION_WITH_SEARCHING 0x2 +#endif +#if !defined NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED +# define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4 +#endif +#if !defined NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME +# define NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME 0x8 +#endif + +#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND +# define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0 +#endif +#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW +# define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW 0x1 +#endif +#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY +# define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY 0x2 +#endif +#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR +# define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4 +#endif + +#define LT__SYMLOOKUP_OPTS (NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW \ + | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) + +#if defined __BIG_ENDIAN__ +# define LT__MAGIC MH_MAGIC +#else +# define LT__MAGIC MH_CIGAM +#endif + +#define DYLD__SETMYERROR(errmsg) LT__SETERRORSTR (dylderror (errmsg)) +#define DYLD__SETERROR(errcode) DYLD__SETMYERROR (LT__STRERROR (errcode)) + +typedef struct mach_header mach_header; +typedef struct dylib_command dylib_command; + +static const char *dylderror (const char *errmsg); +static const mach_header *lt__nsmodule_get_header (NSModule module); +static const char *lt__header_get_instnam (const mach_header *mh); +static const mach_header *lt__match_loadedlib (const char *name); +static NSSymbol lt__linkedlib_symbol (const char *symname, const mach_header *mh); + +static const mach_header *(*lt__addimage) (const char *image_name, + unsigned long options) = 0; +static NSSymbol (*lt__image_symbol) (const mach_header *image, + const char *symbolName, + unsigned long options) = 0; +static enum DYLD_BOOL (*lt__image_symbol_p) (const mach_header *image, + const char *symbolName) = 0; +static enum DYLD_BOOL (*lt__module_export) (NSModule module) = 0; + +static int dyld_cannot_close = 0; + + +/* A function called through the vtable when this loader is no + longer needed by the application. */ +static int +vl_exit (lt_user_data loader_data LT__UNUSED) +{ + vtable = NULL; + return 0; +} + +/* A function called through the vtable to initialise this loader. */ +static int +vl_init (lt_user_data loader_data) +{ + int errors = 0; + + if (! dyld_cannot_close) + { + if (!_dyld_present ()) + { + ++errors; + } + else + { + (void) _dyld_func_lookup ("__dyld_NSAddImage", + (unsigned long*) <__addimage); + (void) _dyld_func_lookup ("__dyld_NSLookupSymbolInImage", + (unsigned long*)<__image_symbol); + (void) _dyld_func_lookup ("__dyld_NSIsSymbolNameDefinedInImage", + (unsigned long*) <__image_symbol_p); + (void) _dyld_func_lookup ("__dyld_NSMakePrivateModulePublic", + (unsigned long*) <__module_export); + dyld_cannot_close = lt_dladderror ("can't close a dylib"); + } + } + + return errors; +} + + +/* A function called through the vtable to open a module with this + loader. Returns an opaque representation of the newly opened + module for processing with this loader's other vtable functions. */ +static lt_module +vm_open (lt_user_data loader_data, const char *filename, + lt_dladvise advise LT__UNUSED) +{ + lt_module module = 0; + NSObjectFileImage ofi = 0; + + if (!filename) + { + return (lt_module) -1; + } + + switch (NSCreateObjectFileImageFromFile (filename, &ofi)) + { + case NSObjectFileImageSuccess: + module = NSLinkModule (ofi, filename, NSLINKMODULE_OPTION_RETURN_ON_ERROR + | NSLINKMODULE_OPTION_PRIVATE + | NSLINKMODULE_OPTION_BINDNOW); + NSDestroyObjectFileImage (ofi); + + if (module) + { + lt__module_export (module); + } + break; + + case NSObjectFileImageInappropriateFile: + if (lt__image_symbol_p && lt__image_symbol) + { + module = (lt_module) lt__addimage(filename, + NSADDIMAGE_OPTION_RETURN_ON_ERROR); + } + break; + + case NSObjectFileImageFailure: + case NSObjectFileImageArch: + case NSObjectFileImageFormat: + case NSObjectFileImageAccess: + /*NOWORK*/ + break; + } + + if (!module) + { + DYLD__SETERROR (CANNOT_OPEN); + } + + return module; +} + + +/* A function called through the vtable when a particular module + should be unloaded. */ +static int +vm_close (lt_user_data loader_data, lt_module module) +{ + int errors = 0; + + if (module != (lt_module) -1) + { + const mach_header *mh = (const mach_header *) module; + int flags = 0; + if (mh->magic == LT__MAGIC) + { + lt_dlseterror (dyld_cannot_close); + ++errors; + } + else + { + /* Currently, if a module contains c++ static destructors and it + is unloaded, we get a segfault in atexit(), due to compiler and + dynamic loader differences of opinion, this works around that. */ + if ((const struct section *) NULL != + getsectbynamefromheader (lt__nsmodule_get_header (module), + "__DATA", "__mod_term_func")) + { + flags |= NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED; + } +#if defined __ppc__ + flags |= NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES; +#endif + if (!NSUnLinkModule (module, flags)) + { + DYLD__SETERROR (CANNOT_CLOSE); + ++errors; + } + } + } + + return errors; +} + +/* A function called through the vtable to get the address of + a symbol loaded from a particular module. */ +static void * +vm_sym (lt_user_data loader_data, lt_module module, const char *name) +{ + NSSymbol *nssym = 0; + const mach_header *mh = (const mach_header *) module; + char saveError[256] = "Symbol not found"; + + if (module == (lt_module) -1) + { + void *address, *unused; + _dyld_lookup_and_bind (name, (unsigned long*) &address, &unused); + return address; + } + + if (mh->magic == LT__MAGIC) + { + if (lt__image_symbol_p && lt__image_symbol) + { + if (lt__image_symbol_p (mh, name)) + { + nssym = lt__image_symbol (mh, name, LT__SYMLOOKUP_OPTS); + } + } + + } + else + { + nssym = NSLookupSymbolInModule (module, name); + } + + if (!nssym) + { + strlcpy (saveError, dylderror (LT__STRERROR (SYMBOL_NOT_FOUND)), 255); + saveError[255] = 0; + if (!mh) + { + mh = (mach_header *)lt__nsmodule_get_header (module); + } + nssym = lt__linkedlib_symbol (name, mh); + } + + if (!nssym) + { + LT__SETERRORSTR (saveError); + } + + return nssym ? NSAddressOfSymbol (nssym) : 0; +} + + + + +/* --- HELPER FUNCTIONS --- */ + + +/* Return the dyld error string, or the passed in error string if none. */ +static const char * +dylderror (const char *errmsg) +{ + NSLinkEditErrors ler; + int lerno; + const char *file; + const char *errstr; + + NSLinkEditError (&ler, &lerno, &file, &errstr); + + if (! (errstr && *errstr)) + { + errstr = errmsg; + } + + return errstr; +} + +/* There should probably be an apple dyld api for this. */ +static const mach_header * +lt__nsmodule_get_header (NSModule module) +{ + int i = _dyld_image_count(); + const char *modname = NSNameOfModule (module); + const mach_header *mh = 0; + + if (!modname) + return NULL; + + while (i > 0) + { + --i; + if (strneq (_dyld_get_image_name (i), modname)) + { + mh = _dyld_get_image_header (i); + break; + } + } + + return mh; +} + +/* NSAddImage is also used to get the loaded image, but it only works if + the lib is installed, for uninstalled libs we need to check the + install_names against each other. Note that this is still broken if + DYLD_IMAGE_SUFFIX is set and a different lib was loaded as a result. */ +static const char * +lt__header_get_instnam (const mach_header *mh) +{ + unsigned long offset = sizeof(mach_header); + const char* result = 0; + int j; + + for (j = 0; j < mh->ncmds; j++) + { + struct load_command *lc; + + lc = (struct load_command*) (((unsigned long) mh) + offset); + if (LC_ID_DYLIB == lc->cmd) + { + result=(char*)(((dylib_command*) lc)->dylib.name.offset + + (unsigned long) lc); + } + offset += lc->cmdsize; + } + + return result; +} + +static const mach_header * +lt__match_loadedlib (const char *name) +{ + const mach_header *mh = 0; + int i = _dyld_image_count(); + + while (i > 0) + { + const char *id; + + --i; + id = lt__header_get_instnam (_dyld_get_image_header (i)); + if (id && strneq (id, name)) + { + mh = _dyld_get_image_header (i); + break; + } + } + + return mh; +} + +/* Safe to assume our mh is good. */ +static NSSymbol +lt__linkedlib_symbol (const char *symname, const mach_header *mh) +{ + NSSymbol symbol = 0; + + if (lt__image_symbol && NSIsSymbolNameDefined (symname)) + { + unsigned long offset = sizeof(mach_header); + struct load_command *lc; + int j; + + for (j = 0; j < mh->ncmds; j++) + { + lc = (struct load_command*) (((unsigned long) mh) + offset); + if ((LC_LOAD_DYLIB == lc->cmd) || (LC_LOAD_WEAK_DYLIB == lc->cmd)) + { + unsigned long base = ((dylib_command *) lc)->dylib.name.offset; + char *name = (char *) (base + (unsigned long) lc); + const mach_header *mh1 = lt__match_loadedlib (name); + + if (!mh1) + { + /* Maybe NSAddImage can find it */ + mh1 = lt__addimage (name, + NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED + | NSADDIMAGE_OPTION_WITH_SEARCHING + | NSADDIMAGE_OPTION_RETURN_ON_ERROR); + } + + if (mh1) + { + symbol = lt__image_symbol (mh1, symname, LT__SYMLOOKUP_OPTS); + if (symbol) + break; + } + } + + offset += lc->cmdsize; + } + } + + return symbol; +} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/load_add_on.c b/BUILD/libtool-2.4.7/libltdl/loaders/load_add_on.c new file mode 100644 index 0000000..f0a675b --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/loaders/load_add_on.c @@ -0,0 +1,167 @@ +/* loader-load_add_on.c -- dynamic linking for BeOS + + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_dlloader.h" + +/* Use the preprocessor to rename non-static symbols to avoid namespace + collisions when the loader code is statically linked into libltdl. + Use the "_LTX_" prefix so that the symbol addresses can + be fetched from the preloaded symbol list by lt_dlsym(): */ +#define get_vtable load_add_on_LTX_get_vtable + +LT_BEGIN_C_DECLS +LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); +LT_END_C_DECLS + + +/* Boilerplate code to set up the vtable for hooking this loader into + libltdl's loader list: */ +static int vl_exit (lt_user_data loader_data); +static lt_module vm_open (lt_user_data loader_data, const char *filename, + lt_dladvise advise); +static int vm_close (lt_user_data loader_data, lt_module module); +static void * vm_sym (lt_user_data loader_data, lt_module module, + const char *symbolname); + +static lt_dlvtable *vtable = 0; + +/* Return the vtable for this loader, only the name and sym_prefix + attributes (plus the virtual function implementations, obviously) + change between loaders. */ +lt_dlvtable * +get_vtable (lt_user_data loader_data) +{ + if (!vtable) + { + vtable = lt__zalloc (sizeof *vtable); + } + + if (vtable && !vtable->name) + { + vtable->name = "lt_load_add_on"; + vtable->module_open = vm_open; + vtable->module_close = vm_close; + vtable->find_sym = vm_sym; + vtable->dlloader_exit = vl_exit; + vtable->dlloader_data = loader_data; + vtable->priority = LT_DLLOADER_APPEND; + } + + if (vtable && (vtable->dlloader_data != loader_data)) + { + LT__SETERROR (INIT_LOADER); + return 0; + } + + return vtable; +} + + + +/* --- IMPLEMENTATION --- */ + + +#include + +/* A function called through the vtable when this loader is no + longer needed by the application. */ +static int +vl_exit (lt_user_data loader_data LT__UNUSED) +{ + vtable = NULL; + return 0; +} + +/* A function called through the vtable to open a module with this + loader. Returns an opaque representation of the newly opened + module for processing with this loader's other vtable functions. */ +static lt_module +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) +{ + image_id image = 0; + + if (filename) + { + image = load_add_on (filename); + } + else + { + image_info info; + int32 cookie = 0; + if (get_next_image_info (0, &cookie, &info) == B_OK) + image = load_add_on (info.name); + } + + if (image <= 0) + { + LT__SETERROR (CANNOT_OPEN); + image = 0; + } + + return (lt_module) image; +} + + +/* A function called through the vtable when a particular module + should be unloaded. */ +static int +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) +{ + int errors = 0; + + if (unload_add_on ((image_id) module) != B_OK) + { + LT__SETERROR (CANNOT_CLOSE); + ++errors; + } + + return errors; +} + + +/* A function called through the vtable to get the address of + a symbol loaded from a particular module. */ +static void * +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) +{ + void *address = 0; + image_id image = (image_id) module; + + if (get_image_symbol (image, name, B_SYMBOL_TYPE_ANY, address) != B_OK) + { + LT__SETERROR (SYMBOL_NOT_FOUND); + address = 0; + } + + return address; +} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/loadlibrary.c b/BUILD/libtool-2.4.7/libltdl/loaders/loadlibrary.c new file mode 100644 index 0000000..8f0829f --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/loaders/loadlibrary.c @@ -0,0 +1,369 @@ +/* loader-loadlibrary.c -- dynamic linking for Win32 + + Copyright (C) 1998-2000, 2004-2008, 2010-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_dlloader.h" + +#if defined __CYGWIN__ +# include +#endif + +/* Use the preprocessor to rename non-static symbols to avoid namespace + collisions when the loader code is statically linked into libltdl. + Use the "_LTX_" prefix so that the symbol addresses can + be fetched from the preloaded symbol list by lt_dlsym(): */ +#define get_vtable loadlibrary_LTX_get_vtable + +LT_BEGIN_C_DECLS +LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); +LT_END_C_DECLS + + +/* Boilerplate code to set up the vtable for hooking this loader into + libltdl's loader list: */ +static int vl_exit (lt_user_data loader_data); +static lt_module vm_open (lt_user_data loader_data, const char *filename, + lt_dladvise advise); +static int vm_close (lt_user_data loader_data, lt_module module); +static void * vm_sym (lt_user_data loader_data, lt_module module, + const char *symbolname); + +static lt_dlinterface_id iface_id = 0; +static lt_dlvtable *vtable = 0; + +/* Return the vtable for this loader, only the name and sym_prefix + attributes (plus the virtual function implementations, obviously) + change between loaders. */ +lt_dlvtable * +get_vtable (lt_user_data loader_data) +{ + if (!vtable) + { + vtable = (lt_dlvtable *) lt__zalloc (sizeof *vtable); + iface_id = lt_dlinterface_register ("ltdl loadlibrary", NULL); + } + + if (vtable && !vtable->name) + { + vtable->name = "lt_loadlibrary"; + vtable->module_open = vm_open; + vtable->module_close = vm_close; + vtable->find_sym = vm_sym; + vtable->dlloader_exit = vl_exit; + vtable->dlloader_data = loader_data; + vtable->priority = LT_DLLOADER_APPEND; + } + + if (vtable && (vtable->dlloader_data != loader_data)) + { + LT__SETERROR (INIT_LOADER); + return 0; + } + + return vtable; +} + + + +/* --- IMPLEMENTATION --- */ + + +#include + +#define LOCALFREE(mem) LT_STMT_START { \ + if (mem) { LocalFree ((void *)mem); mem = NULL; } } LT_STMT_END +#define LOADLIB__SETERROR(errmsg) LT__SETERRORSTR (loadlibraryerror (errmsg)) +#define LOADLIB_SETERROR(errcode) LOADLIB__SETERROR (LT__STRERROR (errcode)) + +static const char *loadlibraryerror (const char *default_errmsg); +static DWORD WINAPI wrap_getthreaderrormode (void); +static DWORD WINAPI fallback_getthreaderrormode (void); +static BOOL WINAPI wrap_setthreaderrormode (DWORD mode, DWORD *oldmode); +static BOOL WINAPI fallback_setthreaderrormode (DWORD mode, DWORD *oldmode); + +typedef DWORD (WINAPI getthreaderrormode_type) (void); +typedef BOOL (WINAPI setthreaderrormode_type) (DWORD, DWORD *); + +static getthreaderrormode_type *getthreaderrormode = wrap_getthreaderrormode; +static setthreaderrormode_type *setthreaderrormode = wrap_setthreaderrormode; +static char *error_message = 0; + + +/* A function called through the vtable when this loader is no + longer needed by the application. */ +static int +vl_exit (lt_user_data loader_data LT__UNUSED) +{ + vtable = NULL; + LOCALFREE (error_message); + return 0; +} + +/* A function called through the vtable to open a module with this + loader. Returns an opaque representation of the newly opened + module for processing with this loader's other vtable functions. */ +static lt_module +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) +{ + lt_module module = 0; + char *ext; + char wpath[MAX_PATH]; + size_t len; + + if (!filename) + { + /* Get the name of main module */ + *wpath = 0; + GetModuleFileName (NULL, wpath, sizeof (wpath)); + filename = wpath; + } + else + { + len = LT_STRLEN (filename); + + if (len >= MAX_PATH) + { + LT__SETERROR (CANNOT_OPEN); + return 0; + } + +#if HAVE_DECL_CYGWIN_CONV_PATH + if (cygwin_conv_path (CCP_POSIX_TO_WIN_A, filename, wpath, MAX_PATH)) + { + LT__SETERROR (CANNOT_OPEN); + return 0; + } + len = 0; +#elif defined __CYGWIN__ + cygwin_conv_to_full_win32_path (filename, wpath); + len = 0; +#else + strcpy(wpath, filename); +#endif + + ext = strrchr (wpath, '.'); + if (!ext) + { + /* Append a '.' to stop Windows from adding an + implicit '.dll' extension. */ + if (!len) + len = strlen (wpath); + + if (len + 1 >= MAX_PATH) + { + LT__SETERROR (CANNOT_OPEN); + return 0; + } + + wpath[len] = '.'; + wpath[len+1] = '\0'; + } + } + + { + /* Silence dialog from LoadLibrary on some failures. */ + DWORD errormode = getthreaderrormode (); + DWORD last_error; + + setthreaderrormode (errormode | SEM_FAILCRITICALERRORS, NULL); + + module = LoadLibrary (wpath); + + /* Restore the error mode. */ + last_error = GetLastError (); + setthreaderrormode (errormode, NULL); + SetLastError (last_error); + } + + /* libltdl expects this function to fail if it is unable + to physically load the library. Sadly, LoadLibrary + will search the loaded libraries for a match and return + one of them if the path search load fails. + + We check whether LoadLibrary is returning a handle to + an already loaded module, and simulate failure if we + find one. */ + { + lt_dlhandle cur = 0; + + while ((cur = lt_dlhandle_iterate (iface_id, cur))) + { + if (!cur->module) + { + cur = 0; + break; + } + + if (cur->module == module) + { + break; + } + } + + if (!module) + LOADLIB_SETERROR (CANNOT_OPEN); + else if (cur) + { + LT__SETERROR (CANNOT_OPEN); + module = 0; + } + } + + return module; +} + + +/* A function called through the vtable when a particular module + should be unloaded. */ +static int +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) +{ + int errors = 0; + + if (FreeLibrary ((HMODULE) module) == 0) + { + LOADLIB_SETERROR (CANNOT_CLOSE); + ++errors; + } + + return errors; +} + + +/* A function called through the vtable to get the address of + a symbol loaded from a particular module. */ +static void * +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) +{ + void *address = (void *) GetProcAddress ((HMODULE) module, name); + + if (!address) + { + LOADLIB_SETERROR (SYMBOL_NOT_FOUND); + } + + return address; +} + + + +/* --- HELPER FUNCTIONS --- */ + + +/* Return the windows error message, or the passed in error message on + failure. */ +static const char * +loadlibraryerror (const char *default_errmsg) +{ + size_t len; + LOCALFREE (error_message); + + FormatMessageA (FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + GetLastError (), + 0, + (char *) &error_message, + 0, NULL); + + /* Remove trailing CRNL */ + len = LT_STRLEN (error_message); + if (len && error_message[len - 1] == '\n') + error_message[--len] = LT_EOS_CHAR; + if (len && error_message[len - 1] == '\r') + error_message[--len] = LT_EOS_CHAR; + + return len ? error_message : default_errmsg; +} + +/* A function called through the getthreaderrormode variable that checks + if the system supports GetThreadErrorMode (or GetErrorMode) and arranges + for it or a fallback implementation to be called directly in the future. + The selected version is then called. */ +static DWORD WINAPI +wrap_getthreaderrormode (void) +{ + HMODULE kernel32 = GetModuleHandleA ("kernel32.dll"); + getthreaderrormode + = (getthreaderrormode_type *) GetProcAddress (kernel32, + "GetThreadErrorMode"); + if (!getthreaderrormode) + getthreaderrormode + = (getthreaderrormode_type *) GetProcAddress (kernel32, + "GetErrorMode"); + if (!getthreaderrormode) + getthreaderrormode = fallback_getthreaderrormode; + return getthreaderrormode (); +} + +/* A function called through the getthreaderrormode variable for cases + where the system does not support GetThreadErrorMode or GetErrorMode */ +static DWORD WINAPI +fallback_getthreaderrormode (void) +{ + /* Prior to Windows Vista, the only way to get the current error + mode was to set a new one. In our case, we are setting a new + error mode right after "getting" it while ignoring the error + mode in effect when setting the new error mode, so that's + fairly ok. */ + return (DWORD) SetErrorMode (SEM_FAILCRITICALERRORS); +} + +/* A function called through the setthreaderrormode variable that checks + if the system supports SetThreadErrorMode and arranges for it or a + fallback implementation to be called directly in the future. + The selected version is then called. */ +static BOOL WINAPI +wrap_setthreaderrormode (DWORD mode, DWORD *oldmode) +{ + HMODULE kernel32 = GetModuleHandleA ("kernel32.dll"); + setthreaderrormode + = (setthreaderrormode_type *) GetProcAddress (kernel32, + "SetThreadErrorMode"); + if (!setthreaderrormode) + setthreaderrormode = fallback_setthreaderrormode; + return setthreaderrormode (mode, oldmode); +} + +/* A function called through the setthreaderrormode variable for cases + where the system does not support SetThreadErrorMode. */ +static BOOL WINAPI +fallback_setthreaderrormode (DWORD mode, DWORD *oldmode) +{ + /* Prior to Windows 7, there was no way to set the thread local error + mode, so set the process global error mode instead. */ + DWORD old = (DWORD) SetErrorMode (mode); + if (oldmode) + *oldmode = old; + return TRUE; +} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/preopen.c b/BUILD/libtool-2.4.7/libltdl/loaders/preopen.c new file mode 100644 index 0000000..232106f --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/loaders/preopen.c @@ -0,0 +1,387 @@ +/* loader-preopen.c -- emulate dynamic linking using preloaded_symbols + + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_dlloader.h" + +/* Use the preprocessor to rename non-static symbols to avoid namespace + collisions when the loader code is statically linked into libltdl. + Use the "_LTX_" prefix so that the symbol addresses can + be fetched from the preloaded symbol list by lt_dlsym(): */ +#define get_vtable preopen_LTX_get_vtable + +LT_BEGIN_C_DECLS +LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); +LT_END_C_DECLS + + +/* Boilerplate code to set up the vtable for hooking this loader into + libltdl's loader list: */ +static int vl_init (lt_user_data loader_data); +static int vl_exit (lt_user_data loader_data); +static lt_module vm_open (lt_user_data loader_data, const char *filename, + lt_dladvise advise); +static int vm_close (lt_user_data loader_data, lt_module module); +static void * vm_sym (lt_user_data loader_data, lt_module module, + const char *symbolname); + +static lt_dlvtable *vtable = 0; + +/* Return the vtable for this loader, only the name and sym_prefix + attributes (plus the virtual function implementations, obviously) + change between loaders. */ +lt_dlvtable * +get_vtable (lt_user_data loader_data) +{ + if (!vtable) + { + vtable = (lt_dlvtable *) lt__zalloc (sizeof *vtable); + } + + if (vtable && !vtable->name) + { + vtable->name = "lt_preopen"; + vtable->sym_prefix = 0; + vtable->module_open = vm_open; + vtable->module_close = vm_close; + vtable->find_sym = vm_sym; + vtable->dlloader_init = vl_init; + vtable->dlloader_exit = vl_exit; + vtable->dlloader_data = loader_data; + vtable->priority = LT_DLLOADER_PREPEND; + } + + if (vtable && (vtable->dlloader_data != loader_data)) + { + LT__SETERROR (INIT_LOADER); + return 0; + } + + return vtable; +} + + + +/* --- IMPLEMENTATION --- */ + + +/* Wrapper type to chain together symbol lists of various origins. */ +typedef struct symlist_chain +{ + struct symlist_chain *next; + const lt_dlsymlist *symlist; +} symlist_chain; + + +static int add_symlist (const lt_dlsymlist *symlist); +static int free_symlists (void); + +/* The start of the symbol lists chain. */ +static symlist_chain *preloaded_symlists = 0; + +/* A symbol list preloaded before lt_init() was called. */ +static const lt_dlsymlist *default_preloaded_symbols = 0; + + +/* A function called through the vtable to initialise this loader. */ +static int +vl_init (lt_user_data loader_data LT__UNUSED) +{ + int errors = 0; + + preloaded_symlists = 0; + if (default_preloaded_symbols) + { + errors = lt_dlpreload (default_preloaded_symbols); + } + + return errors; +} + + +/* A function called through the vtable when this loader is no + longer needed by the application. */ +static int +vl_exit (lt_user_data loader_data LT__UNUSED) +{ + vtable = NULL; + free_symlists (); + return 0; +} + + +/* A function called through the vtable to open a module with this + loader. Returns an opaque representation of the newly opened + module for processing with this loader's other vtable functions. */ +static lt_module +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) +{ + symlist_chain *lists; + lt_module module = 0; + + if (!preloaded_symlists) + { + LT__SETERROR (NO_SYMBOLS); + goto done; + } + + /* Can't use NULL as the reflective symbol header, as NULL is + used to mark the end of the entire symbol list. Self-dlpreopened + symbols follow this magic number, chosen to be an unlikely + clash with a real module name. */ + if (!filename) + { + filename = "@PROGRAM@"; + } + + for (lists = preloaded_symlists; lists; lists = lists->next) + { + const lt_dlsymlist *symbol; + for (symbol= lists->symlist; symbol->name; ++symbol) + { + if (!symbol->address && STREQ (symbol->name, filename)) + { + /* If the next symbol's name and address is 0, it means + the module just contains the originator and no symbols. + In this case we pretend that we never saw the module and + hope that some other loader will be able to load the module + and have access to its symbols */ + const lt_dlsymlist *next_symbol = symbol +1; + if (next_symbol->address && next_symbol->name) + { + module = (lt_module) lists->symlist; + goto done; + } + } + } + } + + LT__SETERROR (FILE_NOT_FOUND); + + done: + return module; +} + + +/* A function called through the vtable when a particular module + should be unloaded. */ +static int +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED) +{ + /* Just to silence gcc -Wall */ + module = 0; + return 0; +} + + +/* A function called through the vtable to get the address of + a symbol loaded from a particular module. */ +static void * +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) +{ + lt_dlsymlist *symbol = (lt_dlsymlist*) module; + + if (symbol[1].name && STREQ (symbol[1].name, "@INIT@")) + { + symbol++; /* Skip optional init entry. */ + } + + symbol +=2; /* Skip header (originator then libname). */ + + while (symbol->name) + { + if (STREQ (symbol->name, name)) + { + return symbol->address; + } + + ++symbol; + } + + LT__SETERROR (SYMBOL_NOT_FOUND); + + return 0; +} + + + +/* --- HELPER FUNCTIONS --- */ + + +/* The symbol lists themselves are not allocated from the heap, but + we can unhook them and free up the chain of links between them. */ +static int +free_symlists (void) +{ + symlist_chain *lists; + + lists = preloaded_symlists; + while (lists) + { + symlist_chain *next = lists->next; + FREE (lists); + lists = next; + } + preloaded_symlists = 0; + + return 0; +} + +/* Add a new symbol list to the global chain. */ +static int +add_symlist (const lt_dlsymlist *symlist) +{ + symlist_chain *lists; + int errors = 0; + + /* Search for duplicate entries: */ + for (lists = preloaded_symlists; + lists && lists->symlist != symlist; lists = lists->next) + /*NOWORK*/; + + /* Don't add the same list twice: */ + if (!lists) + { + symlist_chain *tmp = (symlist_chain *) lt__zalloc (sizeof *tmp); + + if (tmp) + { + tmp->symlist = symlist; + tmp->next = preloaded_symlists; + preloaded_symlists = tmp; + + if (symlist[1].name && STREQ (symlist[1].name, "@INIT@")) + { + void (*init_symlist)(void); + *(void **)(&init_symlist) = symlist[1].address; + (*init_symlist)(); + } + } + else + { + ++errors; + } + } + + return errors; +} + + + +/* --- PRELOADING API CALL IMPLEMENTATIONS --- */ + + +/* Save a default symbol list for later. */ +int +lt_dlpreload_default (const lt_dlsymlist *preloaded) +{ + default_preloaded_symbols = preloaded; + return 0; +} + + +/* Add a symbol list to the global chain, or with a NULL argument, + revert to just the default list. */ +int +lt_dlpreload (const lt_dlsymlist *preloaded) +{ + int errors = 0; + + if (preloaded) + { + errors = add_symlist (preloaded); + } + else + { + free_symlists(); + + if (default_preloaded_symbols) + { + errors = lt_dlpreload (default_preloaded_symbols); + } + } + + return errors; +} + + +/* Open all the preloaded modules from the named originator, executing + a callback for each one. If ORIGINATOR is NULL, then call FUNC for + each preloaded module from the program itself. */ +int +lt_dlpreload_open (const char *originator, lt_dlpreload_callback_func *func) +{ + symlist_chain *list; + int errors = 0; + int found = 0; + + /* For each symlist in the chain... */ + for (list = preloaded_symlists; list; list = list->next) + { + /* ...that was preloaded by the requesting ORIGINATOR... */ + if ((originator && STREQ (list->symlist->name, originator)) + || (!originator && STREQ (list->symlist->name, "@PROGRAM@"))) + { + const lt_dlsymlist *symbol; + unsigned int idx = 0; + + ++found; + + /* ...load the symbols per source compilation unit: + (we preincrement the index to skip over the originator entry) */ + while ((symbol = &list->symlist[++idx])->name != 0) + { + if ((symbol->address == 0) + && (STRNEQ (symbol->name, "@PROGRAM@"))) + { + lt_dlhandle handle = lt_dlopen (symbol->name); + if (handle == 0) + { + ++errors; + } + else + { + errors += (*func) (handle); + } + } + } + } + } + + if (!found) + { + LT__SETERROR(CANNOT_OPEN); + ++errors; + } + + return errors; +} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/shl_load.c b/BUILD/libtool-2.4.7/libltdl/loaders/shl_load.c new file mode 100644 index 0000000..43933b0 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/loaders/shl_load.c @@ -0,0 +1,222 @@ +/* loader-shl_load.c -- dynamic linking with shl_load (HP-UX) + + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_dlloader.h" + +/* Use the preprocessor to rename non-static symbols to avoid namespace + collisions when the loader code is statically linked into libltdl. + Use the "_LTX_" prefix so that the symbol addresses can + be fetched from the preloaded symbol list by lt_dlsym(): */ +#define get_vtable shl_load_LTX_get_vtable + +LT_BEGIN_C_DECLS +LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); +LT_END_C_DECLS + + +/* Boilerplate code to set up the vtable for hooking this loader into + libltdl's loader list: */ +static int vl_exit (lt_user_data loader_data); +static lt_module vm_open (lt_user_data loader_data, const char *filename, + lt_dladvise advise); +static int vm_close (lt_user_data loader_data, lt_module module); +static void * vm_sym (lt_user_data loader_data, lt_module module, + const char *symbolname); + +static lt_dlvtable *vtable = 0; + +/* Return the vtable for this loader, only the name and sym_prefix + attributes (plus the virtual function implementations, obviously) + change between loaders. */ +lt_dlvtable * +get_vtable (lt_user_data loader_data) +{ + if (!vtable) + { + vtable = lt__zalloc (sizeof *vtable); + } + + if (vtable && !vtable->name) + { + vtable->name = "lt_shl_load"; + vtable->module_open = vm_open; + vtable->module_close = vm_close; + vtable->find_sym = vm_sym; + vtable->dlloader_exit = vl_exit; + vtable->dlloader_data = loader_data; + vtable->priority = LT_DLLOADER_APPEND; + } + + if (vtable && (vtable->dlloader_data != loader_data)) + { + LT__SETERROR (INIT_LOADER); + return 0; + } + + return vtable; +} + + + +/* --- IMPLEMENTATION --- */ + + +#if defined HAVE_DL_H +# include +#endif + +/* some flags are missing on some systems, so we provide + * harmless defaults. + * + * Mandatory: + * BIND_IMMEDIATE - Resolve symbol references when the library is loaded. + * BIND_DEFERRED - Delay code symbol resolution until actual reference. + * + * Optionally: + * BIND_FIRST - Place the library at the head of the symbol search + * order. + * BIND_NONFATAL - The default BIND_IMMEDIATE behavior is to treat all + * unsatisfied symbols as fatal. This flag allows + * binding of unsatisfied code symbols to be deferred + * until use. + * [Perl: For certain libraries, like DCE, deferred + * binding often causes run time problems. Adding + * BIND_NONFATAL to BIND_IMMEDIATE still allows + * unresolved references in situations like this.] + * BIND_NOSTART - Do not call the initializer for the shared library + * when the library is loaded, nor on a future call to + * shl_unload(). + * BIND_VERBOSE - Print verbose messages concerning possible + * unsatisfied symbols. + * + * hp9000s700/hp9000s800: + * BIND_RESTRICTED - Restrict symbols visible by the library to those + * present at library load time. + * DYNAMIC_PATH - Allow the loader to dynamically search for the + * library specified by the path argument. + */ + +#if !defined DYNAMIC_PATH +# define DYNAMIC_PATH 0 +#endif +#if !defined BIND_RESTRICTED +# define BIND_RESTRICTED 0 +#endif + +#define LT_BIND_FLAGS (BIND_IMMEDIATE | BIND_NONFATAL | DYNAMIC_PATH) + + +/* A function called through the vtable when this loader is no + longer needed by the application. */ +static int +vl_exit (lt_user_data loader_data LT__UNUSED) +{ + vtable = NULL; + return 0; +} + +/* A function called through the vtable to open a module with this + loader. Returns an opaque representation of the newly opened + module for processing with this loader's other vtable functions. */ +static lt_module +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) +{ + static shl_t self = (shl_t) 0; + lt_module module = shl_load (filename, LT_BIND_FLAGS, 0L); + + /* Since searching for a symbol against a NULL module handle will also + look in everything else that was already loaded and exported with + the -E compiler flag, we always cache a handle saved before any + modules are loaded. */ + if (!self) + { + void *address; + shl_findsym (&self, "main", TYPE_UNDEFINED, &address); + } + + if (!filename) + { + module = self; + } + else + { + module = shl_load (filename, LT_BIND_FLAGS, 0L); + + if (!module) + { + LT__SETERROR (CANNOT_OPEN); + } + } + + return module; +} + +/* A function called through the vtable when a particular module + should be unloaded. */ +static int +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) +{ + int errors = 0; + + if (module && (shl_unload ((shl_t) (module)) != 0)) + { + LT__SETERROR (CANNOT_CLOSE); + ++errors; + } + + return errors; +} + + +/* A function called through the vtable to get the address of + a symbol loaded from a particular module. */ +static void * +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) +{ + void *address = 0; + + /* sys_shl_open should never return a NULL module handle */ + if (module == (lt_module) 0) + { + LT__SETERROR (INVALID_HANDLE); + } + else if (!shl_findsym((shl_t*) &module, name, TYPE_UNDEFINED, &address)) + { + if (!address) + { + LT__SETERROR (SYMBOL_NOT_FOUND); + } + } + + return address; +} diff --git a/BUILD/libtool-2.4.7/libltdl/lt__alloc.c b/BUILD/libtool-2.4.7/libltdl/lt__alloc.c new file mode 100644 index 0000000..6e69b2a --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/lt__alloc.c @@ -0,0 +1,96 @@ +/* lt__alloc.c -- internal memory management interface + + Copyright (C) 2004, 2006-2007, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" + +#include + +#include "lt__alloc.h" + +static void alloc_die_default (void); + +void (*lt__alloc_die) (void) = alloc_die_default; + +/* Unless overridden, exit on memory failure. */ +static void +alloc_die_default (void) +{ + fprintf (stderr, "Out of memory.\n"); + exit (EXIT_FAILURE); +} + +void * +lt__malloc (size_t n) +{ + void *mem; + + if (! (mem = malloc (n))) + (*lt__alloc_die) (); + + return mem; +} + +void * +lt__zalloc (size_t n) +{ + void *mem; + + if ((mem = lt__malloc (n))) + memset (mem, 0, n); + + return mem; +} + +void * +lt__realloc (void *mem, size_t n) +{ + if (! (mem = realloc (mem, n))) + (*lt__alloc_die) (); + + return mem; +} + +void * +lt__memdup (void const *mem, size_t n) +{ + void *newmem; + + if ((newmem = lt__malloc (n))) + return memcpy (newmem, mem, n); + + return 0; +} + +char * +lt__strdup (const char *string) +{ + return (char *) lt__memdup (string, strlen (string) +1); +} diff --git a/BUILD/libtool-2.4.7/libltdl/lt__argz.c b/BUILD/libtool-2.4.7/libltdl/lt__argz.c new file mode 100644 index 0000000..acbc29a --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/lt__argz.c @@ -0,0 +1,225 @@ +/* lt__argz.c -- argz implementation for non-glibc systems + + Copyright (C) 2004, 2006-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#if defined LTDL && defined LT_CONFIG_H +# include LT_CONFIG_H +#else +# include +#endif + +#include + +#include +#include +#include +#include +#include + +#define EOS_CHAR '\0' + +error_t +argz_append (char **pargz, size_t *pargz_len, const char *buf, size_t buf_len) +{ + size_t argz_len; + char *argz; + + assert (pargz); + assert (pargz_len); + assert ((*pargz && *pargz_len) || (!*pargz && !*pargz_len)); + + /* If nothing needs to be appended, no more work is required. */ + if (buf_len == 0) + return 0; + + /* Ensure there is enough room to append BUF_LEN. */ + argz_len = *pargz_len + buf_len; + argz = (char *) realloc (*pargz, argz_len); + if (!argz) + return ENOMEM; + + /* Copy characters from BUF after terminating '\0' in ARGZ. */ + memcpy (argz + *pargz_len, buf, buf_len); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + + return 0; +} + + +error_t +argz_create_sep (const char *str, int delim, char **pargz, size_t *pargz_len) +{ + size_t argz_len; + char *argz = 0; + + assert (str); + assert (pargz); + assert (pargz_len); + + /* Make a copy of STR, but replacing each occurrence of + DELIM with '\0'. */ + argz_len = 1+ strlen (str); + if (argz_len) + { + const char *p; + char *q; + + argz = (char *) malloc (argz_len); + if (!argz) + return ENOMEM; + + for (p = str, q = argz; *p != EOS_CHAR; ++p) + { + if (*p == delim) + { + /* Ignore leading delimiters, and fold consecutive + delimiters in STR into a single '\0' in ARGZ. */ + if ((q > argz) && (q[-1] != EOS_CHAR)) + *q++ = EOS_CHAR; + else + --argz_len; + } + else + *q++ = *p; + } + /* Copy terminating EOS_CHAR. */ + *q = *p; + } + + /* If ARGZ_LEN has shrunk to nothing, release ARGZ's memory. */ + if (!argz_len) + argz = (free (argz), (char *) 0); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + + return 0; +} + + +error_t +argz_insert (char **pargz, size_t *pargz_len, char *before, const char *entry) +{ + assert (pargz); + assert (pargz_len); + assert (entry && *entry); + + /* No BEFORE address indicates ENTRY should be inserted after the + current last element. */ + if (!before) + return argz_append (pargz, pargz_len, entry, 1+ strlen (entry)); + + /* This probably indicates a programmer error, but to preserve + semantics, scan back to the start of an entry if BEFORE points + into the middle of it. */ + while ((before > *pargz) && (before[-1] != EOS_CHAR)) + --before; + + { + size_t entry_len = 1+ strlen (entry); + size_t argz_len = *pargz_len + entry_len; + size_t offset = before - *pargz; + char *argz = (char *) realloc (*pargz, argz_len); + + if (!argz) + return ENOMEM; + + /* Make BEFORE point to the equivalent offset in ARGZ that it + used to have in *PARGZ incase realloc() moved the block. */ + before = argz + offset; + + /* Move the ARGZ entries starting at BEFORE up into the new + space at the end -- making room to copy ENTRY into the + resulting gap. */ + memmove (before + entry_len, before, *pargz_len - offset); + memcpy (before, entry, entry_len); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + } + + return 0; +} + + +char * +argz_next (char *argz, size_t argz_len, const char *entry) +{ + assert ((argz && argz_len) || (!argz && !argz_len)); + + if (entry) + { + /* Either ARGZ/ARGZ_LEN is empty, or ENTRY points into an address + within the ARGZ vector. */ + assert ((!argz && !argz_len) + || ((argz <= entry) && (entry < (argz + argz_len)))); + + /* Move to the char immediately after the terminating + '\0' of ENTRY. */ + entry = 1+ strchr (entry, EOS_CHAR); + + /* Return either the new ENTRY, or else NULL if ARGZ is + exhausted. */ + return (entry >= argz + argz_len) ? 0 : (char *) entry; + } + else + { + /* This should probably be flagged as a programmer error, + since starting an argz_next loop with the iterator set + to ARGZ is safer. To preserve semantics, handle the NULL + case by returning the start of ARGZ (if any). */ + if (argz_len > 0) + return argz; + else + return 0; + } +} + + +void +argz_stringify (char *argz, size_t argz_len, int sep) +{ + assert ((argz && argz_len) || (!argz && !argz_len)); + + if (sep) + { + --argz_len; /* don't stringify the terminating EOS */ + while (--argz_len > 0) + { + if (argz[argz_len] == EOS_CHAR) + argz[argz_len] = sep; + } + } +} diff --git a/BUILD/libtool-2.4.7/libltdl/lt__dirent.c b/BUILD/libtool-2.4.7/libltdl/lt__dirent.c new file mode 100644 index 0000000..bb5a180 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/lt__dirent.c @@ -0,0 +1,107 @@ +/* lt__dirent.c -- internal directory entry scanning interface + + Copyright (C) 2001, 2004, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Bob Friesenhahn, 2001 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" + +#include + +#include "lt__dirent.h" + +#if defined __WINDOWS__ + +void +closedir (DIR *entry) +{ + assert (entry != (DIR *) NULL); + FindClose (entry->hSearch); + free (entry); +} + + +DIR * +opendir (const char *path) +{ + char file_spec[LT_FILENAME_MAX]; + DIR *entry; + + assert (path != (char *) 0); + if (lt_strlcpy (file_spec, path, sizeof file_spec) >= sizeof file_spec + || lt_strlcat (file_spec, "\\", sizeof file_spec) >= sizeof file_spec) + return (DIR *) 0; + entry = (DIR *) malloc (sizeof(DIR)); + if (entry != (DIR *) 0) + { + entry->firsttime = TRUE; + entry->hSearch = FindFirstFile (file_spec, &entry->Win32FindData); + + if (entry->hSearch == INVALID_HANDLE_VALUE) + { + if (lt_strlcat (file_spec, "\\*.*", sizeof file_spec) < sizeof file_spec) + { + entry->hSearch = FindFirstFile (file_spec, &entry->Win32FindData); + } + + if (entry->hSearch == INVALID_HANDLE_VALUE) + { + entry = (free (entry), (DIR *) 0); + } + } + } + + return entry; +} + + +struct dirent * +readdir (DIR *entry) +{ + int status; + + if (entry == (DIR *) 0) + return (struct dirent *) 0; + + if (!entry->firsttime) + { + status = FindNextFile (entry->hSearch, &entry->Win32FindData); + if (status == 0) + return (struct dirent *) 0; + } + + entry->firsttime = FALSE; + if (lt_strlcpy (entry->file_info.d_name, entry->Win32FindData.cFileName, + sizeof entry->file_info.d_name) >= sizeof entry->file_info.d_name) + return (struct dirent *) 0; + entry->file_info.d_namlen = strlen (entry->file_info.d_name); + + return &entry->file_info; +} + +#endif /*defined __WINDOWS__*/ diff --git a/BUILD/libtool-2.4.7/libltdl/lt__strl.c b/BUILD/libtool-2.4.7/libltdl/lt__strl.c new file mode 100644 index 0000000..0170169 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/lt__strl.c @@ -0,0 +1,128 @@ +/* lt__strl.c -- size-bounded string copying and concatenation + + Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, + Inc. + Written by Bob Friesenhahn, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include +#include + +#include "lt__strl.h" + +/* + lt_strlcat appends the NULL-terminated string src to the end of dst. + It will append at most dstsize - strlen(dst) - 1 bytes, + NULL-terminating the result. The total length of the string that + would have been created given sufficient buffer size (may be longer + than dstsize) is returned. This function substitutes for strlcat(), + which is available under NetBSD, FreeBSD and Solaris 9. + + Buffer overflow can be checked as follows: + + if (lt_strlcat(dst, src, dstsize) >= dstsize) + return -1; +*/ +#if !defined HAVE_STRLCAT +size_t +lt_strlcat(char *dst, const char *src, const size_t dstsize) +{ + size_t length; + char *p; + const char *q; + + assert(dst != NULL); + assert(src != (const char *) NULL); + assert(dstsize >= 1); + + length=strlen(dst); + + /* + Copy remaining characters from src while constraining length to + size - 1. + */ + for ( p = dst + length, q = src; + (*q != 0) && (length < dstsize - 1); + length++, p++, q++ ) + *p = *q; + + dst[length]='\0'; + + /* + Add remaining length of src to length. + */ + while (*q++) + length++; + + return length; +} +#endif /* !defined HAVE_STRLCAT */ + +/* + lt_strlcpy copies up to dstsize - 1 characters from the NULL-terminated + string src to dst, NULL-terminating the result. The total length of + the string that would have been created given sufficient buffer + size (may be longer than dstsize) is returned. This function + substitutes for strlcpy(), which is available under OpenBSD, FreeBSD + and Solaris 9. + + Buffer overflow can be checked as follows: + + if (lt_strlcpy(dst, src, dstsize) >= dstsize) + return -1; +*/ +#if !defined HAVE_STRLCPY +size_t +lt_strlcpy(char *dst, const char *src, const size_t dstsize) +{ + size_t length=0; + char *p; + const char *q; + + assert(dst != NULL); + assert(src != (const char *) NULL); + assert(dstsize >= 1); + + /* + Copy src to dst within bounds of size-1. + */ + for ( p=dst, q=src, length=0; + (*q != 0) && (length < dstsize-1); + length++, p++, q++ ) + *p = *q; + + dst[length]='\0'; + + /* + Add remaining length of src to length. + */ + while (*q++) + length++; + + return length; +} +#endif /* !defined HAVE_STRLCPY */ diff --git a/BUILD/libtool-2.4.7/libltdl/lt_dlloader.c b/BUILD/libtool-2.4.7/libltdl/lt_dlloader.c new file mode 100644 index 0000000..6f6fcfe --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/lt_dlloader.c @@ -0,0 +1,215 @@ +/* lt_dlloader.c -- dynamic library loader interface + + Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software + Foundation, Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_dlloader.h" + +#define RETURN_SUCCESS 0 +#define RETURN_FAILURE 1 + +static void * loader_callback (SList *item, void *userdata); + +/* A list of all the dlloaders we know about, each stored as a boxed + SList item: */ +static SList *loaders = 0; + + +/* Return NULL, unless the loader in this ITEM has a matching name, + in which case we return the matching item so that its address is + passed back out (for possible freeing) by slist_remove. */ +static void * +loader_callback (SList *item, void *userdata) +{ + const lt_dlvtable *vtable = (const lt_dlvtable *) item->userdata; + const char * name = (const char *) userdata; + + assert (vtable); + + return STREQ (vtable->name, name) ? (void *) item : NULL; +} + + +/* Hook VTABLE into our global LOADERS list according to its own + PRIORITY field value. */ +int +lt_dlloader_add (const lt_dlvtable *vtable) +{ + SList *item; + + if ((vtable == 0) /* diagnose invalid vtable fields */ + || (vtable->module_open == 0) + || (vtable->module_close == 0) + || (vtable->find_sym == 0) + || ((vtable->priority != LT_DLLOADER_PREPEND) && + (vtable->priority != LT_DLLOADER_APPEND))) + { + LT__SETERROR (INVALID_LOADER); + return RETURN_FAILURE; + } + + item = slist_box (vtable); + if (!item) + { + (*lt__alloc_die) (); + + /* Let the caller know something went wrong if lt__alloc_die + doesn't abort. */ + return RETURN_FAILURE; + } + + if (vtable->priority == LT_DLLOADER_PREPEND) + { + loaders = slist_cons (item, loaders); + } + else + { + assert (vtable->priority == LT_DLLOADER_APPEND); + loaders = slist_concat (loaders, item); + } + + return RETURN_SUCCESS; +} + +#ifdef LT_DEBUG_LOADERS +static void * +loader_dump_callback (SList *item, void *userdata) +{ + const lt_dlvtable *vtable = (const lt_dlvtable *) item->userdata; + fprintf (stderr, ", %s", (vtable && vtable->name) ? vtable->name : "(null)"); + return 0; +} + +void +lt_dlloader_dump (void) +{ + fprintf (stderr, "loaders: "); + if (!loaders) + { + fprintf (stderr, "(empty)"); + } + else + { + const lt_dlvtable *head = (const lt_dlvtable *) loaders->userdata; + fprintf (stderr, "%s", (head && head->name) ? head->name : "(null)"); + if (slist_tail (loaders)) + slist_foreach (slist_tail (loaders), loader_dump_callback, NULL); + } + fprintf (stderr, "\n"); +} +#endif + +/* An iterator for the global loader list: if LOADER is NULL, then + return the first element, otherwise the following element. */ +lt_dlloader +lt_dlloader_next (lt_dlloader loader) +{ + SList *item = (SList *) loader; + return (lt_dlloader) (item ? item->next : loaders); +} + + +/* Non-destructive unboxing of a loader. */ +const lt_dlvtable * +lt_dlloader_get (lt_dlloader loader) +{ + return (const lt_dlvtable *) (loader ? ((SList *) loader)->userdata : NULL); +} + + +/* Return the contents of the first item in the global loader list + with a matching NAME after removing it from that list. If there + was no match, return NULL; if there is an error, return NULL and + set an error for lt_dlerror; do not set an error if only resident + modules need this loader; in either case, the loader list is not + changed if NULL is returned. */ +lt_dlvtable * +lt_dlloader_remove (const char *name) +{ + const lt_dlvtable * vtable = lt_dlloader_find (name); + static const char id_string[] = "lt_dlloader_remove"; + lt_dlinterface_id iface; + lt_dlhandle handle = 0; + int in_use = 0; + int in_use_by_resident = 0; + + if (!vtable) + { + LT__SETERROR (INVALID_LOADER); + return 0; + } + + /* Fail if there are any open modules that use this loader. */ + iface = lt_dlinterface_register (id_string, NULL); + if (!iface) + /* No memory, error is already set. */ + return 0; + + while ((handle = lt_dlhandle_iterate (iface, handle))) + { + lt_dlhandle cur = handle; + if (cur->vtable == vtable) + { + in_use = 1; + if (lt_dlisresident (handle)) + in_use_by_resident = 1; + } + } + lt_dlinterface_free (iface); + if (in_use) + { + if (!in_use_by_resident) + LT__SETERROR (REMOVE_LOADER); + return 0; + } + + /* Call the loader finalisation function. */ + if (vtable && vtable->dlloader_exit) + { + if ((*vtable->dlloader_exit) (vtable->dlloader_data) != 0) + { + /* If there is an exit function, and it returns non-zero + then it must set an error, and we will not remove it + from the list. */ + return 0; + } + } + + /* If we got this far, remove the loader from our global list. */ + return (lt_dlvtable *) + slist_unbox ((SList *) slist_remove (&loaders, loader_callback, (void *) name)); +} + + +const lt_dlvtable * +lt_dlloader_find (const char *name) +{ + return lt_dlloader_get (slist_find (loaders, loader_callback, (void *) name)); +} diff --git a/BUILD/libtool-2.4.7/libltdl/lt_error.c b/BUILD/libtool-2.4.7/libltdl/lt_error.c new file mode 100644 index 0000000..23ac77e --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/lt_error.c @@ -0,0 +1,111 @@ +/* lt_error.c -- error propagation interface + + Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1999 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_error.h" + +static const char *last_error = 0; +static const char error_strings[LT_ERROR_MAX][LT_ERROR_LEN_MAX + 1] = + { +#define LT_ERROR(name, diagnostic) diagnostic, + lt_dlerror_table +#undef LT_ERROR + }; + +static const char **user_error_strings = 0; +static int errorcount = LT_ERROR_MAX; + +int +lt_dladderror (const char *diagnostic) +{ + int errindex = 0; + int result = -1; + const char **temp = (const char **) 0; + + assert (diagnostic); + + errindex = errorcount - LT_ERROR_MAX; + temp = REALLOC (const char *, user_error_strings, 1 + errindex); + if (temp) + { + user_error_strings = temp; + user_error_strings[errindex] = diagnostic; + result = errorcount++; + } + + return result; +} + +int +lt_dlseterror (int errindex) +{ + int errors = 0; + + if (errindex >= errorcount || errindex < 0) + { + /* Ack! Error setting the error message! */ + LT__SETERROR (INVALID_ERRORCODE); + ++errors; + } + else if (errindex < LT_ERROR_MAX) + { + /* No error setting the error message! */ + LT__SETERRORSTR (error_strings[errindex]); + } + else + { + /* No error setting the error message! */ + LT__SETERRORSTR (user_error_strings[errindex - LT_ERROR_MAX]); + } + + return errors; +} + +const char * +lt__error_string (int errorcode) +{ + assert (errorcode >= 0); + assert (errorcode < LT_ERROR_MAX); + + return error_strings[errorcode]; +} + +const char * +lt__get_last_error (void) +{ + return last_error; +} + +const char * +lt__set_last_error (const char *errormsg) +{ + return last_error = errormsg; +} diff --git a/BUILD/libtool-2.4.7/libltdl/ltdl.c b/BUILD/libtool-2.4.7/libltdl/ltdl.c new file mode 100644 index 0000000..607c6b7 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/ltdl.c @@ -0,0 +1,2471 @@ +/* ltdl.c -- system independent dlopen wrapper + + Copyright (C) 1998-2000, 2004-2008, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Thomas Tanner, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "lt__private.h" +#include "lt_system.h" +#include "lt_dlloader.h" + + +/* --- MANIFEST CONSTANTS --- */ + + +/* Standard libltdl search path environment variable name */ +#undef LTDL_SEARCHPATH_VAR +#define LTDL_SEARCHPATH_VAR "LTDL_LIBRARY_PATH" + +/* Standard libtool archive file extension. */ +#undef LT_ARCHIVE_EXT +#define LT_ARCHIVE_EXT ".la" + +/* max. filename length */ +#if !defined LT_FILENAME_MAX +# define LT_FILENAME_MAX 1024 +#endif + +#if !defined LT_LIBEXT +# define LT_LIBEXT "a" +#endif + +#if !defined LT_LIBPREFIX +# define LT_LIBPREFIX "lib" +#endif + +/* This is the maximum symbol size that won't require malloc/free */ +#undef LT_SYMBOL_LENGTH +#define LT_SYMBOL_LENGTH 128 + +/* This accounts for the _LTX_ separator */ +#undef LT_SYMBOL_OVERHEAD +#define LT_SYMBOL_OVERHEAD 5 + +/* Various boolean flags can be stored in the flags field of an + lt_dlhandle... */ +#define LT_DLIS_RESIDENT(handle) ((handle)->info.is_resident) +#define LT_DLIS_SYMGLOBAL(handle) ((handle)->info.is_symglobal) +#define LT_DLIS_SYMLOCAL(handle) ((handle)->info.is_symlocal) + + +static const char objdir[] = LT_OBJDIR; +static const char archive_ext[] = LT_ARCHIVE_EXT; +static const char libext[] = LT_LIBEXT; +static const char libprefix[] = LT_LIBPREFIX; +#if defined LT_MODULE_EXT +static const char shlib_ext[] = LT_MODULE_EXT; +#endif +/* If the loadable module suffix is not the same as the linkable + * shared library suffix, this will be defined. */ +#if defined LT_SHARED_EXT +static const char shared_ext[] = LT_SHARED_EXT; +#endif +#if defined LT_DLSEARCH_PATH +static const char sys_dlsearch_path[] = LT_DLSEARCH_PATH; +#endif + + + + +/* --- DYNAMIC MODULE LOADING --- */ + + +/* The type of a function used at each iteration of foreach_dirinpath(). */ +typedef int foreach_callback_func (char *filename, void *data1, + void *data2); +/* foreachfile_callback itself calls a function of this type: */ +typedef int file_worker_func (const char *filename, void *data); + + +static int foreach_dirinpath (const char *search_path, + const char *base_name, + foreach_callback_func *func, + void *data1, void *data2); +static int find_file_callback (char *filename, void *data1, + void *data2); +static int find_handle_callback (char *filename, void *data, + void *ignored); +static int foreachfile_callback (char *filename, void *data1, + void *data2); + + +static int canonicalize_path (const char *path, char **pcanonical); +static int argzize_path (const char *path, + char **pargz, size_t *pargz_len); +static FILE *find_file (const char *search_path, + const char *base_name, char **pdir); +static lt_dlhandle *find_handle (const char *search_path, + const char *base_name, + lt_dlhandle *handle, + lt_dladvise advise); +static int find_module (lt_dlhandle *handle, const char *dir, + const char *libdir, const char *dlname, + const char *old_name, int installed, + lt_dladvise advise); +static int has_library_ext (const char *filename); +static int load_deplibs (lt_dlhandle handle, char *deplibs); +static int trim (char **dest, const char *str); +static int try_dlopen (lt_dlhandle *handle, + const char *filename, const char *ext, + lt_dladvise advise); +static int tryall_dlopen (lt_dlhandle *handle, + const char *filename, + lt_dladvise padvise, + const lt_dlvtable *vtable); +static int unload_deplibs (lt_dlhandle handle); +static int lt_argz_insert (char **pargz, size_t *pargz_len, + char *before, const char *entry); +static int lt_argz_insertinorder (char **pargz, size_t *pargz_len, + const char *entry); +static int lt_argz_insertdir (char **pargz, size_t *pargz_len, + const char *dirnam, struct dirent *dp); +static int lt_dlpath_insertdir (char **ppath, char *before, + const char *dir); +static int list_files_by_dir (const char *dirnam, + char **pargz, size_t *pargz_len); +static int file_not_found (void); + +#ifdef HAVE_LIBDLLOADER +static int loader_init_callback (lt_dlhandle handle); +#endif /* HAVE_LIBDLLOADER */ + +static int loader_init (lt_get_vtable *vtable_func, + lt_user_data data); + +static char *user_search_path= 0; +static lt_dlhandle handles = 0; +static int initialized = 0; + +/* Our memory failure callback sets the error message to be passed back + up to the client, so we must be careful to return from mallocation + callers if allocation fails (as this callback returns!!). */ +void +lt__alloc_die_callback (void) +{ + LT__SETERROR (NO_MEMORY); +} + +#ifdef HAVE_LIBDLLOADER +/* This function is called to initialise each preloaded module loader, + and hook it into the list of loaders to be used when attempting to + dlopen an application module. */ +static int +loader_init_callback (lt_dlhandle handle) +{ + lt_get_vtable *vtable_func = (lt_get_vtable *) lt_dlsym (handle, "get_vtable"); + return loader_init (vtable_func, 0); +} +#endif /* HAVE_LIBDLLOADER */ + +static int +loader_init (lt_get_vtable *vtable_func, lt_user_data data) +{ + const lt_dlvtable *vtable = 0; + int errors = 0; + + if (vtable_func) + { + vtable = (*vtable_func) (data); + } + + /* lt_dlloader_add will LT__SETERROR if it fails. */ + errors += lt_dlloader_add (vtable); + + assert (errors || vtable); + + if ((!errors) && vtable->dlloader_init) + { + if ((*vtable->dlloader_init) (vtable->dlloader_data)) + { + LT__SETERROR (INIT_LOADER); + ++errors; + } + } + + return errors; +} + +/* Bootstrap the loader loading with the preopening loader. */ +#define get_vtable preopen_LTX_get_vtable +#define preloaded_symbols LT_CONC3(lt_, LTDLOPEN, _LTX_preloaded_symbols) + +LT_BEGIN_C_DECLS +LT_SCOPE const lt_dlvtable * get_vtable (lt_user_data data); +LT_END_C_DECLS +#ifdef HAVE_LIBDLLOADER +extern LT_DLSYM_CONST lt_dlsymlist preloaded_symbols[]; +#endif + +/* Initialize libltdl. */ +int +lt_dlinit (void) +{ + int errors = 0; + + /* Initialize only at first call. */ + if (++initialized == 1) + { + lt__alloc_die = lt__alloc_die_callback; + handles = 0; + user_search_path = 0; /* empty search path */ + + /* First set up the statically loaded preload module loader, so + we can use it to preopen the other loaders we linked in at + compile time. */ + errors += loader_init (get_vtable, 0); + + /* Now open all the preloaded module loaders, so the application + can use _them_ to lt_dlopen its own modules. */ +#ifdef HAVE_LIBDLLOADER + if (!errors) + { + errors += lt_dlpreload (preloaded_symbols); + } + + if (!errors) + { + errors += lt_dlpreload_open (LT_STR(LTDLOPEN), loader_init_callback); + } +#endif /* HAVE_LIBDLLOADER */ + } + +#ifdef LT_DEBUG_LOADERS + lt_dlloader_dump(); +#endif + + return errors; +} + +int +lt_dlexit (void) +{ + /* shut down libltdl */ + lt_dlloader *loader = 0; + lt_dlhandle handle = handles; + int errors = 0; + + if (!initialized) + { + LT__SETERROR (SHUTDOWN); + ++errors; + goto done; + } + + /* shut down only at last call. */ + if (--initialized == 0) + { + int level; + + while (handles && LT_DLIS_RESIDENT (handles)) + { + handles = handles->next; + } + + /* close all modules */ + for (level = 1; handle; ++level) + { + lt_dlhandle cur = handles; + int saw_nonresident = 0; + + while (cur) + { + lt_dlhandle tmp = cur; + cur = cur->next; + if (!LT_DLIS_RESIDENT (tmp)) + { + saw_nonresident = 1; + if (tmp->info.ref_count <= level) + { + if (lt_dlclose (tmp)) + { + ++errors; + } + /* Make sure that the handle pointed to by 'cur' still exists. + lt_dlclose recursively closes dependent libraries, which removes + them from the linked list. One of these might be the one + pointed to by 'cur'. */ + if (cur) + { + for (tmp = handles; tmp; tmp = tmp->next) + if (tmp == cur) + break; + if (! tmp) + cur = handles; + } + } + } + } + /* done if only resident modules are left */ + if (!saw_nonresident) + break; + } + + /* When removing loaders, we can only find out failure by testing + the error string, so avoid a spurious one from an earlier + failed command. */ + if (!errors) + LT__SETERRORSTR (0); + + /* close all loaders */ + for (loader = (lt_dlloader *) lt_dlloader_next (NULL); loader;) + { + lt_dlloader *next = (lt_dlloader *) lt_dlloader_next (loader); + lt_dlvtable *vtable = (lt_dlvtable *) lt_dlloader_get (loader); + + if ((vtable = lt_dlloader_remove ((char *) vtable->name))) + { + FREE (vtable); + } + else + { + /* ignore errors due to resident modules */ + const char *err; + LT__GETERROR (err); + if (err) + ++errors; + } + + loader = next; + } + + FREE(user_search_path); + } + + done: + return errors; +} + + +/* Try VTABLE or, if VTABLE is NULL, all available loaders for FILENAME. + If the library is not successfully loaded, return non-zero. Otherwise, + the dlhandle is stored at the address given in PHANDLE. */ +static int +tryall_dlopen (lt_dlhandle *phandle, const char *filename, + lt_dladvise advise, const lt_dlvtable *vtable) +{ + lt_dlhandle handle = handles; + const char * saved_error = 0; + int errors = 0; + +#ifdef LT_DEBUG_LOADERS + fprintf (stderr, "tryall_dlopen (%s, %s)\n", + filename ? filename : "(null)", + vtable ? vtable->name : "(ALL)"); +#endif + + LT__GETERROR (saved_error); + + /* check whether the module was already opened */ + for (;handle; handle = handle->next) + { + if ((handle->info.filename == filename) /* dlopen self: 0 == 0 */ + || (handle->info.filename && filename + && STREQ (handle->info.filename, filename))) + { + break; + } + } + + if (handle) + { + ++handle->info.ref_count; + *phandle = handle; + goto done; + } + + handle = *phandle; + if (filename) + { + /* Comment out the check of file permissions using access. + This call seems to always return -1 with error EACCES. + */ + /* We need to catch missing file errors early so that + file_not_found() can detect what happened. + if (access (filename, R_OK) != 0) + { + LT__SETERROR (FILE_NOT_FOUND); + ++errors; + goto done; + } */ + + handle->info.filename = lt__strdup (filename); + if (!handle->info.filename) + { + ++errors; + goto done; + } + } + else + { + handle->info.filename = 0; + } + + { + lt_dlloader loader = lt_dlloader_next (0); + const lt_dlvtable *loader_vtable; + + do + { + if (vtable) + loader_vtable = vtable; + else + loader_vtable = lt_dlloader_get (loader); + +#ifdef LT_DEBUG_LOADERS + fprintf (stderr, "Calling %s->module_open (%s)\n", + (loader_vtable && loader_vtable->name) ? loader_vtable->name : "(null)", + filename ? filename : "(null)"); +#endif + handle->module = (*loader_vtable->module_open) (loader_vtable->dlloader_data, + filename, advise); +#ifdef LT_DEBUG_LOADERS + if (!handle->module) { + char *error; + LT__GETERROR(error); + fprintf (stderr, " Result: Failed\n" + " Error message << %s >>\n", + error ? error : "(null)"); + } else { + fprintf (stderr, " Result: Success\n"); + } +#endif + + if (handle->module != 0) + { + if (advise) + { + handle->info.is_resident = advise->is_resident; + handle->info.is_symglobal = advise->is_symglobal; + handle->info.is_symlocal = advise->is_symlocal; + } + break; + } + } + while (!vtable && (loader = lt_dlloader_next (loader))); + + /* If VTABLE was given but couldn't open the module, or VTABLE wasn't + given but we exhausted all loaders without opening the module, bail + out! */ + if ((vtable && !handle->module) + || (!vtable && !loader)) + { + FREE (handle->info.filename); + ++errors; + goto done; + } + + handle->vtable = loader_vtable; + } + + LT__SETERRORSTR (saved_error); + + done: + return errors; +} + + +static int +tryall_dlopen_module (lt_dlhandle *handle, const char *prefix, + const char *dirname, const char *dlname, + lt_dladvise advise) +{ + int error = 0; + char *filename = 0; + size_t filename_len = 0; + size_t dirname_len = LT_STRLEN (dirname); + + assert (handle); + assert (dirname); + assert (dlname); +#if defined LT_DIRSEP_CHAR + /* Only canonicalized names (i.e. with DIRSEP chars already converted) + should make it into this function: */ + assert (strchr (dirname, LT_DIRSEP_CHAR) == 0); +#endif + + if (dirname_len > 0) + if (dirname[dirname_len -1] == '/') + --dirname_len; + filename_len = dirname_len + 1 + LT_STRLEN (dlname); + + /* Allocate memory, and combine DIRNAME and MODULENAME into it. + The PREFIX (if any) is handled below. */ + filename = MALLOC (char, filename_len + 1); + if (!filename) + return 1; + + sprintf (filename, "%.*s/%s", (int) dirname_len, dirname, dlname); + + /* Now that we have combined DIRNAME and MODULENAME, if there is + also a PREFIX to contend with, simply recurse with the arguments + shuffled. Otherwise, attempt to open FILENAME as a module. */ + if (prefix) + { + error += tryall_dlopen_module (handle, (const char *) 0, + prefix, filename, advise); + } + else if (tryall_dlopen (handle, filename, advise, 0) != 0) + { + ++error; + } + + FREE (filename); + return error; +} + +static int +find_module (lt_dlhandle *handle, const char *dir, const char *libdir, + const char *dlname, const char *old_name, int installed, + lt_dladvise advise) +{ + /* Try to open the old library first; if it was dlpreopened, + we want the preopened version of it, even if a dlopenable + module is available. */ + if (old_name && tryall_dlopen (handle, old_name, + advise, lt_dlloader_find ("lt_preopen") ) == 0) + { + return 0; + } + + /* Try to open the dynamic library. */ + if (dlname) + { + /* try to open the installed module */ + if (installed && libdir) + { + if (tryall_dlopen_module (handle, (const char *) 0, + libdir, dlname, advise) == 0) + return 0; + } + + /* try to open the not-installed module */ + if (!installed) + { + if (tryall_dlopen_module (handle, dir, objdir, + dlname, advise) == 0) + return 0; + } + + /* maybe it was moved to another directory */ + { + if (dir && (tryall_dlopen_module (handle, (const char *) 0, + dir, dlname, advise) == 0)) + return 0; + } + } + + return 1; +} + + +static int +canonicalize_path (const char *path, char **pcanonical) +{ + char *canonical = 0; + + assert (path && *path); + assert (pcanonical); + + canonical = MALLOC (char, 1+ LT_STRLEN (path)); + if (!canonical) + return 1; + + { + size_t dest = 0; + size_t src; + for (src = 0; path[src] != LT_EOS_CHAR; ++src) + { + /* Path separators are not copied to the beginning or end of + the destination, or if another separator would follow + immediately. */ + if (path[src] == LT_PATHSEP_CHAR) + { + if ((dest == 0) + || (path[1+ src] == LT_PATHSEP_CHAR) + || (path[1+ src] == LT_EOS_CHAR)) + continue; + } + + /* Anything other than a directory separator is copied verbatim. */ + if ((path[src] != '/') +#if defined LT_DIRSEP_CHAR + && (path[src] != LT_DIRSEP_CHAR) +#endif + ) + { + canonical[dest++] = path[src]; + } + /* Directory separators are converted and copied only if they are + not at the end of a path -- i.e. before a path separator or + NULL terminator. */ + else if ((path[1+ src] != LT_PATHSEP_CHAR) + && (path[1+ src] != LT_EOS_CHAR) +#if defined LT_DIRSEP_CHAR + && (path[1+ src] != LT_DIRSEP_CHAR) +#endif + && (path[1+ src] != '/')) + { + canonical[dest++] = '/'; + } + } + + /* Add an end-of-string marker at the end. */ + canonical[dest] = LT_EOS_CHAR; + } + + /* Assign new value. */ + *pcanonical = canonical; + + return 0; +} + +static int +argzize_path (const char *path, char **pargz, size_t *pargz_len) +{ + error_t error; + + assert (path); + assert (pargz); + assert (pargz_len); + + if ((error = argz_create_sep (path, LT_PATHSEP_CHAR, pargz, pargz_len))) + { + switch (error) + { + case ENOMEM: + LT__SETERROR (NO_MEMORY); + break; + default: + LT__SETERROR (UNKNOWN); + break; + } + + return 1; + } + + return 0; +} + +/* Repeatedly call FUNC with each LT_PATHSEP_CHAR delimited element + of SEARCH_PATH and references to DATA1 and DATA2, until FUNC returns + non-zero or all elements are exhausted. If BASE_NAME is non-NULL, + it is appended to each SEARCH_PATH element before FUNC is called. */ +static int +foreach_dirinpath (const char *search_path, const char *base_name, + foreach_callback_func *func, void *data1, void *data2) +{ + int result = 0; + size_t filenamesize = 0; + size_t lenbase = LT_STRLEN (base_name); + size_t argz_len = 0; + char *argz = 0; + char *filename = 0; + char *canonical = 0; + + if (!search_path || !*search_path) + { + LT__SETERROR (FILE_NOT_FOUND); + goto cleanup; + } + + if (canonicalize_path (search_path, &canonical) != 0) + goto cleanup; + + if (argzize_path (canonical, &argz, &argz_len) != 0) + goto cleanup; + + { + char *dir_name = 0; + while ((dir_name = argz_next (argz, argz_len, dir_name))) + { + size_t lendir = LT_STRLEN (dir_name); + + if (1+ lendir + lenbase >= filenamesize) + { + FREE (filename); + filenamesize = 1+ lendir + 1+ lenbase; /* "/d" + '/' + "f" + '\0' */ + filename = MALLOC (char, filenamesize); + if (!filename) + goto cleanup; + } + + assert (filenamesize > lendir); + strcpy (filename, dir_name); + + if (base_name && *base_name) + { + if (filename[lendir -1] != '/') + filename[lendir++] = '/'; + strcpy (filename +lendir, base_name); + } + + if ((result = (*func) (filename, data1, data2))) + { + break; + } + } + } + + cleanup: + FREE (argz); + FREE (canonical); + FREE (filename); + + return result; +} + +/* If FILEPATH can be opened, store the name of the directory component + in DATA1, and the opened FILE* structure address in DATA2. Otherwise + DATA1 is unchanged, but DATA2 is set to a pointer to NULL. */ +static int +find_file_callback (char *filename, void *data1, void *data2) +{ + char **pdir = (char **) data1; + FILE **pfile = (FILE **) data2; + int is_done = 0; + + assert (filename && *filename); + assert (pdir); + assert (pfile); + + if ((*pfile = fopen (filename, LT_READTEXT_MODE))) + { + char *dirend = strrchr (filename, '/'); + + if (dirend > filename) + *dirend = LT_EOS_CHAR; + + FREE (*pdir); + *pdir = lt__strdup (filename); + is_done = (*pdir == 0) ? -1 : 1; + } + + return is_done; +} + +static FILE * +find_file (const char *search_path, const char *base_name, char **pdir) +{ + FILE *file = 0; + + foreach_dirinpath (search_path, base_name, find_file_callback, pdir, &file); + + return file; +} + +static int +find_handle_callback (char *filename, void *data, void *data2) +{ + lt_dlhandle *phandle = (lt_dlhandle *) data; + int notfound = access (filename, R_OK); + lt_dladvise advise = (lt_dladvise) data2; + + /* Bail out if file cannot be read... */ + if (notfound) + return 0; + + /* Try to dlopen the file, but do not continue searching in any + case. */ + if (tryall_dlopen (phandle, filename, advise, 0) != 0) + *phandle = 0; + + return 1; +} + +/* If HANDLE was found return it, otherwise return 0. If HANDLE was + found but could not be opened, *HANDLE will be set to 0. */ +static lt_dlhandle * +find_handle (const char *search_path, const char *base_name, + lt_dlhandle *phandle, lt_dladvise advise) +{ + if (!search_path) + return 0; + + if (!foreach_dirinpath (search_path, base_name, find_handle_callback, + phandle, advise)) + return 0; + + return phandle; +} + +#if !defined LTDL_DLOPEN_DEPLIBS +static int +load_deplibs (lt_dlhandle handle, char * deplibs LT__UNUSED) +{ + handle->depcount = 0; + return 0; +} + +#else /* defined LTDL_DLOPEN_DEPLIBS */ +static int +load_deplibs (lt_dlhandle handle, char *deplibs) +{ + char *p, *save_search_path = 0; + int depcount = 0; + int i; + char **names = 0; + int errors = 0; + + handle->depcount = 0; + + if (!deplibs) + { + return errors; + } + ++errors; + + if (user_search_path) + { + save_search_path = lt__strdup (user_search_path); + if (!save_search_path) + goto cleanup; + } + + /* extract search paths and count deplibs */ + p = deplibs; + while (*p) + { + if (!isspace ((unsigned char) *p)) + { + char *end = p+1; + while (*end && !isspace((unsigned char) *end)) + { + ++end; + } + + if (strncmp(p, "-L", 2) == 0 || strncmp(p, "-R", 2) == 0) + { + char save = *end; + *end = 0; /* set a temporary string terminator */ + if (lt_dladdsearchdir(p+2)) + { + goto cleanup; + } + *end = save; + } + else + { + ++depcount; + } + + p = end; + } + else + { + ++p; + } + } + + + if (!depcount) + { + errors = 0; + goto cleanup; + } + + names = MALLOC (char *, depcount); + if (!names) + goto cleanup; + + /* now only extract the actual deplibs */ + depcount = 0; + p = deplibs; + while (*p) + { + if (isspace ((unsigned char) *p)) + { + ++p; + } + else + { + char *end = p+1; + while (*end && !isspace ((unsigned char) *end)) + { + ++end; + } + + if (strncmp(p, "-L", 2) != 0 && strncmp(p, "-R", 2) != 0) + { + char *name; + char save = *end; + *end = 0; /* set a temporary string terminator */ + if (strncmp(p, "-l", 2) == 0) + { + size_t name_len = 3+ /* "lib" */ LT_STRLEN (p + 2); + name = MALLOC (char, 1+ name_len); + if (name) + sprintf (name, "lib%s", p+2); + } + else + name = lt__strdup(p); + + if (!name) + goto cleanup_names; + + names[depcount++] = name; + *end = save; + } + p = end; + } + } + + /* load the deplibs (in reverse order) + At this stage, don't worry if the deplibs do not load correctly, + they may already be statically linked into the loading application + for instance. There will be a more enlightening error message + later on if the loaded module cannot resolve all of its symbols. */ + if (depcount) + { + lt_dlhandle cur = handle; + int j = 0; + + cur->deplibs = MALLOC (lt_dlhandle, depcount); + if (!cur->deplibs) + goto cleanup_names; + + for (i = 0; i < depcount; ++i) + { + cur->deplibs[j] = lt_dlopenext(names[depcount-1-i]); + if (cur->deplibs[j]) + { + ++j; + } + } + + cur->depcount = j; /* Number of successfully loaded deplibs */ + errors = 0; + } + + cleanup_names: + for (i = 0; i < depcount; ++i) + { + FREE (names[i]); + } + + cleanup: + FREE (names); + /* restore the old search path */ + if (save_search_path) { + MEMREASSIGN (user_search_path, save_search_path); + } + + return errors; +} +#endif /* defined LTDL_DLOPEN_DEPLIBS */ + +static int +unload_deplibs (lt_dlhandle handle) +{ + int i; + int errors = 0; + lt_dlhandle cur = handle; + + if (cur->depcount) + { + for (i = 0; i < cur->depcount; ++i) + { + if (!LT_DLIS_RESIDENT (cur->deplibs[i])) + { + errors += lt_dlclose (cur->deplibs[i]); + } + } + FREE (cur->deplibs); + } + + return errors; +} + +static int +trim (char **dest, const char *str) +{ + /* remove the leading and trailing "'" from str + and store the result in dest */ + const char *end = strrchr (str, '\''); + size_t len = LT_STRLEN (str); + char *tmp; + + FREE (*dest); + + if (!end || end == str) + return 1; + + if (len > 3 && str[0] == '\'') + { + tmp = MALLOC (char, end - str); + if (!tmp) + return 1; + + memcpy(tmp, &str[1], (end - str) - 1); + tmp[(end - str) - 1] = LT_EOS_CHAR; + *dest = tmp; + } + else + { + *dest = 0; + } + + return 0; +} + +/* Read the .la file FILE. */ +static int +parse_dotla_file(FILE *file, char **dlname, char **libdir, char **deplibs, + char **old_name, int *installed) +{ + int errors = 0; + size_t line_len = LT_FILENAME_MAX; + char * line = MALLOC (char, line_len); + + if (!line) + { + LT__SETERROR (FILE_NOT_FOUND); + return 1; + } + + while (!feof (file)) + { + line[line_len-2] = '\0'; + if (!fgets (line, (int) line_len, file)) + { + break; + } + + /* Handle the case where we occasionally need to read a line + that is longer than the initial buffer size. + Behave even if the file contains NUL bytes due to corruption. */ + while (line[line_len-2] != '\0' && line[line_len-2] != '\n' && !feof (file)) + { + line = REALLOC (char, line, line_len *2); + if (!line) + { + ++errors; + goto cleanup; + } + line[line_len * 2 - 2] = '\0'; + if (!fgets (&line[line_len -1], (int) line_len +1, file)) + { + break; + } + line_len *= 2; + } + + if (line[0] == '\n' || line[0] == '#') + { + continue; + } + +#undef STR_DLNAME +#define STR_DLNAME "dlname=" + if (strncmp (line, STR_DLNAME, sizeof (STR_DLNAME) - 1) == 0) + { + errors += trim (dlname, &line[sizeof (STR_DLNAME) - 1]); + } + +#undef STR_OLD_LIBRARY +#define STR_OLD_LIBRARY "old_library=" + else if (strncmp (line, STR_OLD_LIBRARY, + sizeof (STR_OLD_LIBRARY) - 1) == 0) + { + errors += trim (old_name, &line[sizeof (STR_OLD_LIBRARY) - 1]); + } + + /* Windows native tools do not understand the POSIX paths we store + in libdir. */ +#undef STR_LIBDIR +#define STR_LIBDIR "libdir=" + else if (strncmp (line, STR_LIBDIR, sizeof (STR_LIBDIR) - 1) == 0) + { + errors += trim (libdir, &line[sizeof(STR_LIBDIR) - 1]); +#ifdef __WINDOWS__ + /* Disallow following unix-style paths on MinGW. */ + if (*libdir && (**libdir == '/' || **libdir == '\\')) + **libdir = '\0'; +#endif + } + +#undef STR_DL_DEPLIBS +#define STR_DL_DEPLIBS "dependency_libs=" + else if (strncmp (line, STR_DL_DEPLIBS, + sizeof (STR_DL_DEPLIBS) - 1) == 0) + { + errors += trim (deplibs, &line[sizeof (STR_DL_DEPLIBS) - 1]); + } + else if (STREQ (line, "installed=yes\n")) + { + *installed = 1; + } + else if (STREQ (line, "installed=no\n")) + { + *installed = 0; + } + +#undef STR_LIBRARY_NAMES +#define STR_LIBRARY_NAMES "library_names=" + else if (!*dlname && strncmp (line, STR_LIBRARY_NAMES, + sizeof (STR_LIBRARY_NAMES) - 1) == 0) + { + char *last_libname; + errors += trim (dlname, &line[sizeof (STR_LIBRARY_NAMES) - 1]); + if (!errors + && *dlname + && (last_libname = strrchr (*dlname, ' ')) != 0) + { + last_libname = lt__strdup (last_libname + 1); + if (!last_libname) + { + ++errors; + goto cleanup; + } + MEMREASSIGN (*dlname, last_libname); + } + } + + if (errors) + break; + } +cleanup: + FREE (line); + return errors; +} + + +/* Try to open FILENAME as a module. */ +static int +try_dlopen (lt_dlhandle *phandle, const char *filename, const char *ext, + lt_dladvise advise) +{ + const char * saved_error = 0; + char * archive_name = 0; + char * canonical = 0; + char * base_name = 0; + char * dir = 0; + char * name = 0; + char * attempt = 0; + int errors = 0; + lt_dlhandle newhandle; + + assert (phandle); + assert (*phandle == 0); + +#ifdef LT_DEBUG_LOADERS + fprintf (stderr, "try_dlopen (%s, %s)\n", + filename ? filename : "(null)", + ext ? ext : "(null)"); +#endif + + LT__GETERROR (saved_error); + + /* dlopen self? */ + if (!filename) + { + *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); + if (*phandle == 0) + return 1; + + newhandle = *phandle; + + /* lt_dlclose()ing yourself is very bad! Disallow it. */ + newhandle->info.is_resident = 1; + + if (tryall_dlopen (&newhandle, 0, advise, 0) != 0) + { + FREE (*phandle); + return 1; + } + + goto register_handle; + } + + assert (filename && *filename); + + if (ext) + { + attempt = MALLOC (char, LT_STRLEN (filename) + LT_STRLEN (ext) + 1); + if (!attempt) + return 1; + + sprintf(attempt, "%s%s", filename, ext); + } + else + { + attempt = lt__strdup (filename); + if (!attempt) + return 1; + } + + /* Doing this immediately allows internal functions to safely + assume only canonicalized paths are passed. */ + if (canonicalize_path (attempt, &canonical) != 0) + { + ++errors; + goto cleanup; + } + + /* If the canonical module name is a path (relative or absolute) + then split it into a directory part and a name part. */ + base_name = strrchr (canonical, '/'); + if (base_name) + { + size_t dirlen = (1+ base_name) - canonical; + + dir = MALLOC (char, 1+ dirlen); + if (!dir) + { + ++errors; + goto cleanup; + } + + strlcpy (dir, canonical, dirlen); + dir[dirlen] = LT_EOS_CHAR; + + ++base_name; + } + else + MEMREASSIGN (base_name, canonical); + + assert (base_name && *base_name); + + ext = strrchr (base_name, '.'); + if (!ext) + { + ext = base_name + LT_STRLEN (base_name); + } + + /* extract the module name from the file name */ + name = MALLOC (char, ext - base_name + 1); + if (!name) + { + ++errors; + goto cleanup; + } + + /* canonicalize the module name */ + { + int i; + for (i = 0; i < ext - base_name; ++i) + { + if (isalnum ((unsigned char)(base_name[i]))) + { + name[i] = base_name[i]; + } + else + { + name[i] = '_'; + } + } + name[ext - base_name] = LT_EOS_CHAR; + } + + /* Before trawling through the file system in search of a module, + check whether we are opening a preloaded module. */ + if (!dir) + { + const lt_dlvtable *vtable = lt_dlloader_find ("lt_preopen"); + + if (vtable) + { + /* libprefix + name + "." + libext + NULL */ + archive_name = MALLOC (char, strlen (libprefix) + LT_STRLEN (name) + strlen (libext) + 2); + *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); + + if ((*phandle == NULL) || (archive_name == NULL)) + { + ++errors; + goto cleanup; + } + newhandle = *phandle; + + /* Preloaded modules are always named according to their old + archive name. */ + if (strncmp(name, "lib", 3) == 0) + { + sprintf (archive_name, "%s%s.%s", libprefix, name + 3, libext); + } + else + { + sprintf (archive_name, "%s.%s", name, libext); + } + + if (tryall_dlopen (&newhandle, archive_name, advise, vtable) == 0) + { + goto register_handle; + } + + /* If we're still here, there was no matching preloaded module, + so put things back as we found them, and continue searching. */ + FREE (*phandle); + newhandle = NULL; + } + } + + /* If we are allowing only preloaded modules, and we didn't find + anything yet, give up on the search here. */ + if (advise && advise->try_preload_only) + { + goto cleanup; + } + + /* Check whether we are opening a libtool module (.la extension). */ + if (ext && STREQ (ext, archive_ext)) + { + /* this seems to be a libtool module */ + FILE * file = 0; + char * dlname = 0; + char * old_name = 0; + char * libdir = 0; + char * deplibs = 0; + + /* if we can't find the installed flag, it is probably an + installed libtool archive, produced with an old version + of libtool */ + int installed = 1; + + /* Now try to open the .la file. If there is no directory name + component, try to find it first in user_search_path and then other + prescribed paths. Otherwise (or in any case if the module was not + yet found) try opening just the module name as passed. */ + if (!dir) + { + const char *search_path = user_search_path; + + if (search_path) + file = find_file (user_search_path, base_name, &dir); + + if (!file) + { + search_path = getenv (LTDL_SEARCHPATH_VAR); + if (search_path) + file = find_file (search_path, base_name, &dir); + } + +#if defined LT_MODULE_PATH_VAR + if (!file) + { + search_path = getenv (LT_MODULE_PATH_VAR); + if (search_path) + file = find_file (search_path, base_name, &dir); + } +#endif +#if defined LT_DLSEARCH_PATH + if (!file && *sys_dlsearch_path) + { + file = find_file (sys_dlsearch_path, base_name, &dir); + } +#endif + } + else + { + file = fopen (attempt, LT_READTEXT_MODE); + } + + /* If we didn't find the file by now, it really isn't there. Set + the status flag, and bail out. */ + if (!file) + { + LT__SETERROR (FILE_NOT_FOUND); + ++errors; + goto cleanup; + } + + /* read the .la file */ + if (parse_dotla_file(file, &dlname, &libdir, &deplibs, + &old_name, &installed) != 0) + ++errors; + + fclose (file); + + /* allocate the handle */ + *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); + if (*phandle == 0) + ++errors; + + if (errors) + { + FREE (dlname); + FREE (old_name); + FREE (libdir); + FREE (deplibs); + FREE (*phandle); + goto cleanup; + } + + assert (*phandle); + + if (load_deplibs (*phandle, deplibs) == 0) + { + newhandle = *phandle; + /* find_module may replace newhandle */ + if (find_module (&newhandle, dir, libdir, dlname, old_name, + installed, advise)) + { + unload_deplibs (*phandle); + ++errors; + } + } + else + { + ++errors; + } + + FREE (dlname); + FREE (old_name); + FREE (libdir); + FREE (deplibs); + + if (errors) + { + FREE (*phandle); + goto cleanup; + } + + if (*phandle != newhandle) + { + unload_deplibs (*phandle); + } + } + else + { + /* not a libtool module */ + *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); + if (*phandle == 0) + { + ++errors; + goto cleanup; + } + + newhandle = *phandle; + + /* If the module has no directory name component, try to find it + first in user_search_path and then other prescribed paths. + Otherwise (or in any case if the module was not yet found) try + opening just the module name as passed. */ + if ((dir || (!find_handle (user_search_path, base_name, + &newhandle, advise) + && !find_handle (getenv (LTDL_SEARCHPATH_VAR), base_name, + &newhandle, advise) +#if defined LT_MODULE_PATH_VAR + && !find_handle (getenv (LT_MODULE_PATH_VAR), base_name, + &newhandle, advise) +#endif +#if defined LT_DLSEARCH_PATH + && !find_handle (sys_dlsearch_path, base_name, + &newhandle, advise) +#endif + ))) + { + if (tryall_dlopen (&newhandle, attempt, advise, 0) != 0) + { + newhandle = NULL; + } + } + + if (!newhandle) + { + FREE (*phandle); + ++errors; + goto cleanup; + } + } + + register_handle: + MEMREASSIGN (*phandle, newhandle); + + if ((*phandle)->info.ref_count == 0) + { + (*phandle)->info.ref_count = 1; + MEMREASSIGN ((*phandle)->info.name, name); + + (*phandle)->next = handles; + handles = *phandle; + } + + LT__SETERRORSTR (saved_error); + + cleanup: + FREE (dir); + FREE (attempt); + FREE (name); + if (!canonical) /* was MEMREASSIGNed */ + FREE (base_name); + FREE (canonical); + FREE (archive_name); + + return errors; +} + + +/* If the last error message stored was 'FILE_NOT_FOUND', then return + non-zero. */ +static int +file_not_found (void) +{ + const char *error = 0; + + LT__GETERROR (error); + if (error == LT__STRERROR (FILE_NOT_FOUND)) + return 1; + + return 0; +} + + +/* Unless FILENAME already bears a suitable library extension, then + return 0. */ +static int +has_library_ext (const char *filename) +{ + const char * ext = 0; + + assert (filename); + + ext = strrchr (filename, '.'); + + if (ext && ((STREQ (ext, archive_ext)) +#if defined LT_MODULE_EXT + || (STREQ (ext, shlib_ext)) +#endif +#if defined LT_SHARED_EXT + || (STREQ (ext, shared_ext)) +#endif + )) + { + return 1; + } + + return 0; +} + + +/* Initialise and configure a user lt_dladvise opaque object. */ + +int +lt_dladvise_init (lt_dladvise *padvise) +{ + lt_dladvise advise = (lt_dladvise) lt__zalloc (sizeof (struct lt__advise)); + *padvise = advise; + return (advise ? 0 : 1); +} + +int +lt_dladvise_destroy (lt_dladvise *padvise) +{ + if (padvise) + FREE(*padvise); + return 0; +} + +int +lt_dladvise_ext (lt_dladvise *padvise) +{ + assert (padvise && *padvise); + (*padvise)->try_ext = 1; + return 0; +} + +int +lt_dladvise_resident (lt_dladvise *padvise) +{ + assert (padvise && *padvise); + (*padvise)->is_resident = 1; + return 0; +} + +int +lt_dladvise_local (lt_dladvise *padvise) +{ + assert (padvise && *padvise); + (*padvise)->is_symlocal = 1; + return 0; +} + +int +lt_dladvise_global (lt_dladvise *padvise) +{ + assert (padvise && *padvise); + (*padvise)->is_symglobal = 1; + return 0; +} + +int +lt_dladvise_preload (lt_dladvise *padvise) +{ + assert (padvise && *padvise); + (*padvise)->try_preload_only = 1; + return 0; +} + +/* Libtool-1.5.x interface for loading a new module named FILENAME. */ +lt_dlhandle +lt_dlopen (const char *filename) +{ + return lt_dlopenadvise (filename, NULL); +} + + +/* If FILENAME has an ARCHIVE_EXT or MODULE_EXT extension, try to + open the FILENAME as passed. Otherwise try appending ARCHIVE_EXT, + and if a file is still not found try again with MODULE_EXT appended + instead. */ +lt_dlhandle +lt_dlopenext (const char *filename) +{ + lt_dlhandle handle = 0; + lt_dladvise advise; + + if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)) + handle = lt_dlopenadvise (filename, advise); + + lt_dladvise_destroy (&advise); + return handle; +} + + +lt_dlhandle +lt_dlopenadvise (const char *filename, lt_dladvise advise) +{ + lt_dlhandle handle = 0; + int errors = 0; + const char * saved_error = 0; + + LT__GETERROR (saved_error); + + /* Can't have symbols hidden and visible at the same time! */ + if (advise && advise->is_symlocal && advise->is_symglobal) + { + LT__SETERROR (CONFLICTING_FLAGS); + return 0; + } + + if (!filename + || !advise + || !advise->try_ext + || has_library_ext (filename)) + { + /* Just incase we missed a code path in try_dlopen() that reports + an error, but forgot to reset handle... */ + if (try_dlopen (&handle, filename, NULL, advise) != 0) + return 0; + + return handle; + } + else if (filename && *filename) + { + + /* First try appending ARCHIVE_EXT. */ + errors += try_dlopen (&handle, filename, archive_ext, advise); + + /* If we found FILENAME, stop searching -- whether we were able to + load the file as a module or not. If the file exists but loading + failed, it is better to return an error message here than to + report FILE_NOT_FOUND when the alternatives (foo.so etc) are not + in the module search path. */ + if (handle || ((errors > 0) && !file_not_found ())) + return handle; + +#if defined LT_MODULE_EXT + /* Try appending SHLIB_EXT. */ + LT__SETERRORSTR (saved_error); + errors = try_dlopen (&handle, filename, shlib_ext, advise); + + /* As before, if the file was found but loading failed, return now + with the current error message. */ + if (handle || ((errors > 0) && !file_not_found ())) + return handle; +#endif + +#if defined LT_SHARED_EXT + /* Try appending SHARED_EXT. */ + LT__SETERRORSTR (saved_error); + errors = try_dlopen (&handle, filename, shared_ext, advise); + + /* As before, if the file was found but loading failed, return now + with the current error message. */ + if (handle || ((errors > 0) && !file_not_found ())) + return handle; +#endif + } + + /* Still here? Then we really did fail to locate any of the file + names we tried. */ + LT__SETERROR (FILE_NOT_FOUND); + return 0; +} + + +static int +lt_argz_insert (char **pargz, size_t *pargz_len, char *before, + const char *entry) +{ + error_t error; + + /* Prior to Sep 8, 2005, newlib had a bug where argz_insert(pargz, + pargz_len, NULL, entry) failed with EINVAL. */ + if (before) + error = argz_insert (pargz, pargz_len, before, entry); + else + error = argz_append (pargz, pargz_len, entry, 1 + strlen (entry)); + + if (error) + { + switch (error) + { + case ENOMEM: + LT__SETERROR (NO_MEMORY); + break; + default: + LT__SETERROR (UNKNOWN); + break; + } + return 1; + } + + return 0; +} + +static int +lt_argz_insertinorder (char **pargz, size_t *pargz_len, const char *entry) +{ + char *before = 0; + + assert (pargz); + assert (pargz_len); + assert (entry && *entry); + + if (*pargz) + while ((before = argz_next (*pargz, *pargz_len, before))) + { + int cmp = strcmp (entry, before); + + if (cmp < 0) break; + if (cmp == 0) return 0; /* No duplicates! */ + } + + return lt_argz_insert (pargz, pargz_len, before, entry); +} + +static int +lt_argz_insertdir (char **pargz, size_t *pargz_len, const char *dirnam, + struct dirent *dp) +{ + char *buf = 0; + size_t buf_len = 0; + char *end = 0; + size_t end_offset = 0; + size_t dir_len = 0; + int errors = 0; + + assert (pargz); + assert (pargz_len); + assert (dp); + + dir_len = LT_STRLEN (dirnam); + end = dp->d_name + D_NAMLEN(dp); + + /* Ignore version numbers. */ + { + char *p; + for (p = end; p -1 > dp->d_name; --p) + if (strchr (".0123456789", p[-1]) == 0) + break; + + if (*p == '.') + end = p; + } + + /* Ignore filename extension. */ + { + char *p; + for (p = end -1; p > dp->d_name; --p) + if (*p == '.') + { + end = p; + break; + } + } + + /* Prepend the directory name. */ + end_offset = end - dp->d_name; + buf_len = dir_len + 1+ end_offset; + buf = MALLOC (char, 1+ buf_len); + if (!buf) + return ++errors; + + assert (buf); + + strcpy (buf, dirnam); + strcat (buf, "/"); + strncat (buf, dp->d_name, end_offset); + buf[buf_len] = LT_EOS_CHAR; + + /* Try to insert (in order) into ARGZ/ARGZ_LEN. */ + if (lt_argz_insertinorder (pargz, pargz_len, buf) != 0) + ++errors; + + FREE (buf); + + return errors; +} + +static int +list_files_by_dir (const char *dirnam, char **pargz, size_t *pargz_len) +{ + DIR *dirp = 0; + int errors = 0; + + assert (dirnam && *dirnam); + assert (pargz); + assert (pargz_len); + assert (dirnam[LT_STRLEN(dirnam) -1] != '/'); + + dirp = opendir (dirnam); + if (dirp) + { + struct dirent *dp = 0; + + while ((dp = readdir (dirp))) + if (dp->d_name[0] != '.') + if (lt_argz_insertdir (pargz, pargz_len, dirnam, dp)) + { + ++errors; + break; + } + + closedir (dirp); + } + else + ++errors; + + return errors; +} + + +/* If there are any files in DIRNAME, call the function passed in + DATA1 (with the name of each file and DATA2 as arguments). */ +static int +foreachfile_callback (char *dirname, void *data1, void *data2) +{ + file_worker_func *func = *(file_worker_func **) data1; + + int is_done = 0; + char *argz = 0; + size_t argz_len = 0; + + if (list_files_by_dir (dirname, &argz, &argz_len) != 0) + goto cleanup; + if (!argz) + goto cleanup; + + { + char *filename = 0; + while ((filename = argz_next (argz, argz_len, filename))) + if ((is_done = (*func) (filename, data2))) + break; + } + + cleanup: + FREE (argz); + + return is_done; +} + + +/* Call FUNC for each unique extensionless file in SEARCH_PATH, along + with DATA. The filenames passed to FUNC would be suitable for + passing to lt_dlopenext. The extensions are stripped so that + individual modules do not generate several entries (e.g. libfoo.la, + libfoo.so, libfoo.so.1, libfoo.so.1.0.0). If SEARCH_PATH is NULL, + then the same directories that lt_dlopen would search are examined. */ +int +lt_dlforeachfile (const char *search_path, + int (*func) (const char *filename, void *data), + void *data) +{ + int is_done = 0; + file_worker_func **fpptr = &func; + + if (search_path) + { + /* If a specific path was passed, search only the directories + listed in it. */ + is_done = foreach_dirinpath (search_path, 0, + foreachfile_callback, fpptr, data); + } + else + { + /* Otherwise search the default paths. */ + is_done = foreach_dirinpath (user_search_path, 0, + foreachfile_callback, fpptr, data); + if (!is_done) + { + is_done = foreach_dirinpath (getenv(LTDL_SEARCHPATH_VAR), 0, + foreachfile_callback, fpptr, data); + } + +#if defined LT_MODULE_PATH_VAR + if (!is_done) + { + is_done = foreach_dirinpath (getenv(LT_MODULE_PATH_VAR), 0, + foreachfile_callback, fpptr, data); + } +#endif +#if defined LT_DLSEARCH_PATH + if (!is_done && *sys_dlsearch_path) + { + is_done = foreach_dirinpath (sys_dlsearch_path, 0, + foreachfile_callback, fpptr, data); + } +#endif + } + + return is_done; +} + +int +lt_dlclose (lt_dlhandle handle) +{ + lt_dlhandle cur, last; + int errors = 0; + + /* check whether the handle is valid */ + last = cur = handles; + while (cur && handle != cur) + { + last = cur; + cur = cur->next; + } + + if (!cur) + { + LT__SETERROR (INVALID_HANDLE); + ++errors; + goto done; + } + + cur = handle; + cur->info.ref_count--; + + /* Note that even with resident modules, we must track the ref_count + correctly incase the user decides to reset the residency flag + later (even though the API makes no provision for that at the + moment). */ + if (cur->info.ref_count <= 0 && !LT_DLIS_RESIDENT (cur)) + { + lt_user_data data = cur->vtable->dlloader_data; + + if (cur != handles) + { + last->next = cur->next; + } + else + { + handles = cur->next; + } + + errors += cur->vtable->module_close (data, cur->module); + errors += unload_deplibs (handle); + + /* It is up to the callers to free the data itself. */ + FREE (cur->interface_data); + + FREE (cur->info.filename); + FREE (cur->info.name); + FREE (cur); + + goto done; + } + + if (LT_DLIS_RESIDENT (handle)) + { + LT__SETERROR (CLOSE_RESIDENT_MODULE); + ++errors; + } + + done: + return errors; +} + +void * +lt_dlsym (lt_dlhandle place, const char *symbol) +{ + size_t lensym; + char lsym[LT_SYMBOL_LENGTH]; + char *sym; + void *address; + lt_user_data data; + lt_dlhandle handle; + + if (!place) + { + LT__SETERROR (INVALID_HANDLE); + return 0; + } + + handle = place; + + if (!symbol) + { + LT__SETERROR (SYMBOL_NOT_FOUND); + return 0; + } + + lensym = LT_STRLEN (symbol) + LT_STRLEN (handle->vtable->sym_prefix) + + LT_STRLEN (handle->info.name); + + if (lensym + LT_SYMBOL_OVERHEAD < LT_SYMBOL_LENGTH) + { + sym = lsym; + } + else + { + sym = MALLOC (char, lensym + LT_SYMBOL_OVERHEAD + 1); + if (!sym) + { + LT__SETERROR (BUFFER_OVERFLOW); + return 0; + } + } + + data = handle->vtable->dlloader_data; + if (handle->info.name) + { + const char *saved_error; + + LT__GETERROR (saved_error); + + /* this is a libtool module */ + if (handle->vtable->sym_prefix) + { + strcpy(sym, handle->vtable->sym_prefix); + strcat(sym, handle->info.name); + } + else + { + strcpy(sym, handle->info.name); + } + + strcat(sym, "_LTX_"); + strcat(sym, symbol); + + /* try "modulename_LTX_symbol" */ + address = handle->vtable->find_sym (data, handle->module, sym); + if (address) + { + if (sym != lsym) + { + FREE (sym); + } + return address; + } + LT__SETERRORSTR (saved_error); + } + + /* otherwise try "symbol" */ + if (handle->vtable->sym_prefix) + { + strcpy(sym, handle->vtable->sym_prefix); + strcat(sym, symbol); + } + else + { + strcpy(sym, symbol); + } + + address = handle->vtable->find_sym (data, handle->module, sym); + if (sym != lsym) + { + FREE (sym); + } + + return address; +} + +const char * +lt_dlerror (void) +{ + const char *error; + + LT__GETERROR (error); + LT__SETERRORSTR (0); + + return error; +} + +static int +lt_dlpath_insertdir (char **ppath, char *before, const char *dir) +{ + int errors = 0; + char *canonical = 0; + char *argz = 0; + size_t argz_len = 0; + + assert (ppath); + assert (dir && *dir); + + if (canonicalize_path (dir, &canonical) != 0) + { + ++errors; + goto cleanup; + } + + assert (canonical && *canonical); + + /* If *PPATH is empty, set it to DIR. */ + if (*ppath == 0) + { + assert (!before); /* BEFORE cannot be set without PPATH. */ + assert (dir); /* Without DIR, don't call this function! */ + + *ppath = lt__strdup (dir); + if (*ppath == 0) + ++errors; + + goto cleanup; + } + + assert (ppath && *ppath); + + if (argzize_path (*ppath, &argz, &argz_len) != 0) + { + ++errors; + goto cleanup; + } + + /* Convert BEFORE into an equivalent offset into ARGZ. This only works + if *PPATH is already canonicalized, and hence does not change length + with respect to ARGZ. We canonicalize each entry as it is added to + the search path, and don't call this function with (uncanonicalized) + user paths, so this is a fair assumption. */ + if (before) + { + assert (*ppath <= before); + assert ((int) (before - *ppath) <= (int) strlen (*ppath)); + + before = before - *ppath + argz; + } + + if (lt_argz_insert (&argz, &argz_len, before, dir) != 0) + { + ++errors; + goto cleanup; + } + + argz_stringify (argz, argz_len, LT_PATHSEP_CHAR); + MEMREASSIGN(*ppath, argz); + + cleanup: + FREE (argz); + FREE (canonical); + + return errors; +} + +int +lt_dladdsearchdir (const char *search_dir) +{ + int errors = 0; + + if (search_dir && *search_dir) + { + if (lt_dlpath_insertdir (&user_search_path, 0, search_dir) != 0) + ++errors; + } + + return errors; +} + +int +lt_dlinsertsearchdir (const char *before, const char *search_dir) +{ + int errors = 0; + + if (before) + { + if ((before < user_search_path) + || (before >= user_search_path + LT_STRLEN (user_search_path))) + { + LT__SETERROR (INVALID_POSITION); + return 1; + } + } + + if (search_dir && *search_dir) + { + if (lt_dlpath_insertdir (&user_search_path, + (char *) before, search_dir) != 0) + { + ++errors; + } + } + + return errors; +} + +int +lt_dlsetsearchpath (const char *search_path) +{ + int errors = 0; + + FREE (user_search_path); + + if (!search_path || !LT_STRLEN (search_path)) + { + return errors; + } + + if (canonicalize_path (search_path, &user_search_path) != 0) + ++errors; + + return errors; +} + +const char * +lt_dlgetsearchpath (void) +{ + const char *saved_path; + + saved_path = user_search_path; + + return saved_path; +} + +int +lt_dlmakeresident (lt_dlhandle handle) +{ + int errors = 0; + + if (!handle) + { + LT__SETERROR (INVALID_HANDLE); + ++errors; + } + else + { + handle->info.is_resident = 1; + } + + return errors; +} + +int +lt_dlisresident (lt_dlhandle handle) +{ + if (!handle) + { + LT__SETERROR (INVALID_HANDLE); + return -1; + } + + return LT_DLIS_RESIDENT (handle); +} + + + +/* --- MODULE INFORMATION --- */ + +typedef struct { + char *id_string; + lt_dlhandle_interface *iface; +} lt__interface_id; + +lt_dlinterface_id +lt_dlinterface_register (const char *id_string, lt_dlhandle_interface *iface) +{ + lt__interface_id *interface_id = (lt__interface_id *) lt__malloc (sizeof *interface_id); + + /* If lt__malloc fails, it will LT__SETERROR (NO_MEMORY), which + can then be detected with lt_dlerror() if we return 0. */ + if (interface_id) + { + interface_id->id_string = lt__strdup (id_string); + if (!interface_id->id_string) + FREE (interface_id); + else + interface_id->iface = iface; + } + + return (lt_dlinterface_id) interface_id; +} + +void lt_dlinterface_free (lt_dlinterface_id key) +{ + lt__interface_id *interface_id = (lt__interface_id *)key; + FREE (interface_id->id_string); + FREE (interface_id); +} + +void * +lt_dlcaller_set_data (lt_dlinterface_id key, lt_dlhandle handle, void *data) +{ + int n_elements = 0; + void *stale = (void *) 0; + lt_dlhandle cur = handle; + int i; + + if (cur->interface_data) + while (cur->interface_data[n_elements].key) + ++n_elements; + + for (i = 0; i < n_elements; ++i) + { + if (cur->interface_data[i].key == key) + { + stale = cur->interface_data[i].data; + break; + } + } + + /* Ensure that there is enough room in this handle's interface_data + array to accept a new element (and an empty end marker). */ + if (i == n_elements) + { + lt_interface_data *temp + = REALLOC (lt_interface_data, cur->interface_data, 2+ n_elements); + + if (!temp) + { + stale = 0; + goto done; + } + + cur->interface_data = temp; + + /* We only need this if we needed to allocate a new interface_data. */ + cur->interface_data[i].key = key; + cur->interface_data[1+ i].key = 0; + } + + cur->interface_data[i].data = data; + + done: + return stale; +} + +void * +lt_dlcaller_get_data (lt_dlinterface_id key, lt_dlhandle handle) +{ + void *result = (void *) 0; + lt_dlhandle cur = handle; + + /* Locate the index of the element with a matching KEY. */ + if (cur->interface_data) + { + int i; + for (i = 0; cur->interface_data[i].key; ++i) + { + if (cur->interface_data[i].key == key) + { + result = cur->interface_data[i].data; + break; + } + } + } + + return result; +} + +const lt_dlinfo * +lt_dlgetinfo (lt_dlhandle handle) +{ + if (!handle) + { + LT__SETERROR (INVALID_HANDLE); + return 0; + } + + return &(handle->info); +} + + +lt_dlhandle +lt_dlhandle_iterate (lt_dlinterface_id iface, lt_dlhandle place) +{ + lt_dlhandle handle = place; + lt__interface_id *iterator = (lt__interface_id *) iface; + + assert (iface); /* iface is a required argument */ + + if (!handle) + handle = handles; + else + handle = handle->next; + + /* advance while the interface check fails */ + while (handle && iterator->iface + && ((*iterator->iface) (handle, iterator->id_string) != 0)) + { + handle = handle->next; + } + + return handle; +} + + +lt_dlhandle +lt_dlhandle_fetch (lt_dlinterface_id iface, const char *module_name) +{ + lt_dlhandle handle = 0; + + assert (iface); /* iface is a required argument */ + + while ((handle = lt_dlhandle_iterate (iface, handle))) + { + lt_dlhandle cur = handle; + if (cur && cur->info.name && STREQ (cur->info.name, module_name)) + break; + } + + return handle; +} + + +int +lt_dlhandle_map (lt_dlinterface_id iface, + int (*func) (lt_dlhandle handle, void *data), void *data) +{ + lt__interface_id *iterator = (lt__interface_id *) iface; + lt_dlhandle cur = handles; + + assert (iface); /* iface is a required argument */ + + while (cur) + { + int errorcode = 0; + + /* advance while the interface check fails */ + while (cur && iterator->iface + && ((*iterator->iface) (cur, iterator->id_string) != 0)) + { + cur = cur->next; + } + + if ((errorcode = (*func) (cur, data)) != 0) + return errorcode; + } + + return 0; +} diff --git a/BUILD/libtool-2.4.7/libltdl/ltdl.h b/BUILD/libtool-2.4.7/libltdl/ltdl.h new file mode 100644 index 0000000..c72209e --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/ltdl.h @@ -0,0 +1,163 @@ +/* ltdl.h -- generic dlopen functions + + Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2019, 2021-2022 + Free Software Foundation, Inc. + Written by Thomas Tanner, 1998 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +/* Only include this header file once. */ +#if !defined LTDL_H +#define LTDL_H 1 + +#include +#include +#include + +LT_BEGIN_C_DECLS + + +/* LT_STRLEN can be used safely on NULL pointers. */ +#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0) + + +/* --- DYNAMIC MODULE LOADING API --- */ + + +typedef struct lt__handle *lt_dlhandle; /* A loaded module. */ + +/* Initialisation and finalisation functions for libltdl. */ +LT_SCOPE int lt_dlinit (void); +LT_SCOPE int lt_dlexit (void); + +/* Module search path manipulation. */ +LT_SCOPE int lt_dladdsearchdir (const char *search_dir); +LT_SCOPE int lt_dlinsertsearchdir (const char *before, + const char *search_dir); +LT_SCOPE int lt_dlsetsearchpath (const char *search_path); +LT_SCOPE const char *lt_dlgetsearchpath (void); +LT_SCOPE int lt_dlforeachfile ( + const char *search_path, + int (*func) (const char *filename, void *data), + void *data); + +/* User module loading advisors. */ +LT_SCOPE int lt_dladvise_init (lt_dladvise *advise); +LT_SCOPE int lt_dladvise_destroy (lt_dladvise *advise); +LT_SCOPE int lt_dladvise_ext (lt_dladvise *advise); +LT_SCOPE int lt_dladvise_resident (lt_dladvise *advise); +LT_SCOPE int lt_dladvise_local (lt_dladvise *advise); +LT_SCOPE int lt_dladvise_global (lt_dladvise *advise); +LT_SCOPE int lt_dladvise_preload (lt_dladvise *advise); + +/* Portable libltdl versions of the system dlopen() API. */ +LT_SCOPE lt_dlhandle lt_dlopen (const char *filename); +LT_SCOPE lt_dlhandle lt_dlopenext (const char *filename); +LT_SCOPE lt_dlhandle lt_dlopenadvise (const char *filename, + lt_dladvise advise); +LT_SCOPE void * lt_dlsym (lt_dlhandle handle, const char *name); +LT_SCOPE const char *lt_dlerror (void); +LT_SCOPE int lt_dlclose (lt_dlhandle handle); + + + +/* --- PRELOADED MODULE SUPPORT --- */ + + +/* A preopened symbol. Arrays of this type comprise the exported + symbols for a dlpreopened module. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; + +typedef int lt_dlpreload_callback_func (lt_dlhandle handle); + +LT_SCOPE int lt_dlpreload (const lt_dlsymlist *preloaded); +LT_SCOPE int lt_dlpreload_default (const lt_dlsymlist *preloaded); +LT_SCOPE int lt_dlpreload_open (const char *originator, + lt_dlpreload_callback_func *func); + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols +/* Ensure C linkage. */ +extern LT_DLSYM_CONST lt_dlsymlist lt__PROGRAM__LTX_preloaded_symbols[]; + +#define LTDL_SET_PRELOADED_SYMBOLS() \ + lt_dlpreload_default(lt_preloaded_symbols) + + + + +/* --- MODULE INFORMATION --- */ + + +/* Associating user data with loaded modules. */ +typedef void * lt_dlinterface_id; +typedef int lt_dlhandle_interface (lt_dlhandle handle, const char *id_string); + +LT_SCOPE lt_dlinterface_id lt_dlinterface_register (const char *id_string, + lt_dlhandle_interface *iface); +LT_SCOPE void lt_dlinterface_free (lt_dlinterface_id key); +LT_SCOPE void * lt_dlcaller_set_data (lt_dlinterface_id key, + lt_dlhandle handle, void *data); +LT_SCOPE void * lt_dlcaller_get_data (lt_dlinterface_id key, + lt_dlhandle handle); + + +/* Read only information pertaining to a loaded module. */ +typedef struct { + char * filename; /* file name */ + char * name; /* module name */ + int ref_count; /* number of times lt_dlopened minus + number of times lt_dlclosed. */ + unsigned int is_resident:1; /* module can't be unloaded. */ + unsigned int is_symglobal:1; /* module symbols can satisfy + subsequently loaded modules. */ + unsigned int is_symlocal:1; /* module symbols are only available + locally. */ +} lt_dlinfo; + +LT_SCOPE const lt_dlinfo *lt_dlgetinfo (lt_dlhandle handle); + +LT_SCOPE lt_dlhandle lt_dlhandle_iterate (lt_dlinterface_id iface, + lt_dlhandle place); +LT_SCOPE lt_dlhandle lt_dlhandle_fetch (lt_dlinterface_id iface, + const char *module_name); +LT_SCOPE int lt_dlhandle_map (lt_dlinterface_id iface, + int (*func) (lt_dlhandle handle, void *data), + void *data); + + + +/* Deprecated module residency management API. */ +LT_SCOPE int lt_dlmakeresident (lt_dlhandle handle); +LT_SCOPE int lt_dlisresident (lt_dlhandle handle); + +#define lt_ptr void * + +LT_END_C_DECLS + +#endif /*!defined LTDL_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/ltdl.mk b/BUILD/libtool-2.4.7/libltdl/ltdl.mk new file mode 100644 index 0000000..0120353 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/ltdl.mk @@ -0,0 +1,149 @@ +## ltdl.mk -- includable Makefile snippet +## +## Copyright (C) 2003-2005, 2007, 2011-2019, 2021-2022 Free Software +## Foundation, Inc. +## Written by Gary V. Vaughan, 2003 +## +## NOTE: The canonical source of this file is maintained with the +## GNU Libtool package. Report bugs to bug-libtool@gnu.org. +## +## GNU Libltdl is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2 of the License, or (at your option) any later version. +## +## As a special exception to the GNU Lesser General Public License, +## if you distribute this file as part of a program or library that +## is built using GNU libtool, you may include this file under the +## same distribution terms that you use for the rest of that program. +## +## GNU Libltdl is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU Lesser General Public License for more details. +## +## You should have received a copy of the GNU LesserGeneral Public +## License along with GNU Libltdl; see the file COPYING.LIB. If not, a +## copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +## or obtained by writing to the Free Software Foundation, Inc., +## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +##### + +## DO NOT REMOVE THIS LINE -- make depends on it + +# -I$(srcdir) is needed for user that built libltdl with a sub-Automake +# (not as a sub-package!) using 'nostdinc': +AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \ + -DLTDL -I. -I$(srcdir) -Ilibltdl \ + -I$(srcdir)/libltdl -Ilibltdl/libltdl \ + -I$(srcdir)/libltdl/libltdl +AM_LDFLAGS += -no-undefined +LTDL_VERSION_INFO = -version-info 10:2:3 + +noinst_LTLIBRARIES += $(LT_DLLOADERS) + +if INSTALL_LTDL +ltdlincludedir = $(includedir)/libltdl +ltdlinclude_HEADERS = libltdl/libltdl/lt_system.h \ + libltdl/libltdl/lt_error.h \ + libltdl/libltdl/lt_dlloader.h +include_HEADERS += libltdl/ltdl.h +lib_LTLIBRARIES += libltdl/libltdl.la +endif + +if CONVENIENCE_LTDL +noinst_LTLIBRARIES += libltdl/libltdlc.la +endif + +libltdl_libltdl_la_SOURCES = libltdl/libltdl/lt__alloc.h \ + libltdl/libltdl/lt__dirent.h \ + libltdl/libltdl/lt__glibc.h \ + libltdl/libltdl/lt__private.h \ + libltdl/libltdl/lt__strl.h \ + libltdl/libltdl/lt_dlloader.h \ + libltdl/libltdl/lt_error.h \ + libltdl/libltdl/lt_system.h \ + libltdl/libltdl/slist.h \ + libltdl/loaders/preopen.c \ + libltdl/lt__alloc.c \ + libltdl/lt_dlloader.c \ + libltdl/lt_error.c \ + libltdl/ltdl.c \ + libltdl/ltdl.h \ + libltdl/slist.c + +EXTRA_DIST += libltdl/lt__dirent.c \ + libltdl/lt__strl.c + +libltdl_libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS) +libltdl_libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN) +libltdl_libltdl_la_LIBADD = $(LTLIBOBJS) +libltdl_libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS) + +libltdl_libltdlc_la_SOURCES = $(libltdl_libltdl_la_SOURCES) +libltdl_libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS) +libltdl_libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN) +libltdl_libltdlc_la_LIBADD = $(libltdl_libltdl_la_LIBADD) +libltdl_libltdlc_la_DEPENDENCIES= $(libltdl_libltdl_la_DEPENDENCIES) + +## The loaders are preopened by libltdl, itself always built from +## pic-objects (either as a shared library, or a convenience library), +## so the loaders themselves must be made from pic-objects too. We +## use convenience libraries for that purpose: +EXTRA_LTLIBRARIES += libltdl/dlopen.la \ + libltdl/dld_link.la \ + libltdl/dyld.la \ + libltdl/load_add_on.la \ + libltdl/loadlibrary.la \ + libltdl/shl_load.la + +libltdl_dlopen_la_SOURCES = libltdl/loaders/dlopen.c +libltdl_dlopen_la_LDFLAGS = -module -avoid-version +libltdl_dlopen_la_LIBADD = $(LIBADD_DLOPEN) + +libltdl_dld_link_la_SOURCES = libltdl/loaders/dld_link.c +libltdl_dld_link_la_LDFLAGS = -module -avoid-version +libltdl_dld_link_la_LIBADD = -ldld + +libltdl_dyld_la_SOURCES = libltdl/loaders/dyld.c +libltdl_dyld_la_LDFLAGS = -module -avoid-version + +libltdl_load_add_on_la_SOURCES = libltdl/loaders/load_add_on.c +libltdl_load_add_on_la_LDFLAGS = -module -avoid-version + +libltdl_loadlibrary_la_SOURCES = libltdl/loaders/loadlibrary.c +libltdl_loadlibrary_la_LDFLAGS = -module -avoid-version + +libltdl_shl_load_la_SOURCES = libltdl/loaders/shl_load.c +libltdl_shl_load_la_LDFLAGS = -module -avoid-version +libltdl_shl_load_la_LIBADD = $(LIBADD_SHL_LOAD) + +## Make sure these will be cleaned even when they're not built by default: +CLEANFILES += libltdl/libltdl.la \ + libltdl/libltdlc.la \ + libltdl/libdlloader.la + +## Automake-1.9.6 doesn't clean subdir AC_LIBOBJ compiled objects +## automatically: +CLEANFILES += $(LIBOBJS) $(LTLIBOBJS) + +EXTRA_DIST += libltdl/COPYING.LIB \ + libltdl/README + +## --------------------------- ## +## Gnulib Makefile.am snippets ## +## --------------------------- ## + +BUILT_SOURCES += libltdl/libltdl/$(LT_ARGZ_H) +EXTRA_DIST += libltdl/libltdl/lt__argz_.h \ + libltdl/lt__argz.c + +# We need the following in order to create an when the system +# doesn't have one that works with the given compiler. +all-local $(lib_OBJECTS): libltdl/libltdl/$(LT_ARGZ_H) +libltdl/libltdl/lt__argz.h: libltdl/libltdl/lt__argz_.h + $(AM_V_at)$(mkinstalldirs) . libltdl/libltdl + $(AM_V_GEN)cp $(srcdir)/libltdl/libltdl/lt__argz_.h $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += libltdl/libltdl/lt__argz.h \ + libltdl/libltdl/lt__argz.h-t diff --git a/BUILD/libtool-2.4.7/libltdl/slist.c b/BUILD/libtool-2.4.7/libltdl/slist.c new file mode 100644 index 0000000..7820f08 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/slist.c @@ -0,0 +1,379 @@ +/* slist.c -- generalised singly linked lists + + Copyright (C) 2000, 2004, 2007-2009, 2011-2019, 2021-2022 Free + Software Foundation, Inc. + Written by Gary V. Vaughan, 2000 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include + +#include "slist.h" +#include + +static SList * slist_sort_merge (SList *left, SList *right, + SListCompare *compare, void *userdata); + + +/* Call DELETE repeatedly on each element of HEAD. + + CAVEAT: If you call this when HEAD is the start of a list of boxed + items, you must remember that each item passed back to your + DELETE function will be a boxed item that must be slist_unbox()ed + before operating on its contents. + + e.g. void boxed_delete (void *item) { item_free (slist_unbox (item)); } + ... + slist = slist_delete (slist, boxed_delete); + ... +*/ +SList * +slist_delete (SList *head, void (*delete_fct) (void *item)) +{ + assert (delete_fct); + + while (head) + { + SList *next = head->next; + (*delete_fct) (head); + head = next; + } + + return 0; +} + +/* Call FIND repeatedly with MATCHDATA and each item of *PHEAD, until + FIND returns non-NULL, or the list is exhausted. If a match is found + the matching item is destructively removed from *PHEAD, and the value + returned by the matching call to FIND is returned. + + CAVEAT: To avoid memory leaks, unless you already have the address of + the stale item, you should probably return that from FIND if + it makes a successful match. Don't forget to slist_unbox() + every item in a boxed list before operating on its contents. */ +SList * +slist_remove (SList **phead, SListCallback *find, void *matchdata) +{ + SList *stale = 0; + void *result = 0; + + assert (find); + + if (!phead || !*phead) + return 0; + + /* Does the head of the passed list match? */ + result = (*find) (*phead, matchdata); + if (result) + { + stale = *phead; + *phead = stale->next; + } + /* what about the rest of the elements? */ + else + { + SList *head; + for (head = *phead; head->next; head = head->next) + { + result = (*find) (head->next, matchdata); + if (result) + { + stale = head->next; + head->next = stale->next; + break; + } + } + } + + return (SList *) result; +} + +/* Call FIND repeatedly with each element of SLIST and MATCHDATA, until + FIND returns non-NULL, or the list is exhausted. If a match is found + the value returned by the matching call to FIND is returned. */ +void * +slist_find (SList *slist, SListCallback *find, void *matchdata) +{ + void *result = 0; + + assert (find); + + for (; slist; slist = slist->next) + { + result = (*find) (slist, matchdata); + if (result) + break; + } + + return result; +} + +/* Return a single list, composed by destructively concatenating the + items in HEAD and TAIL. The values of HEAD and TAIL are undefined + after calling this function. + + CAVEAT: Don't mix boxed and unboxed items in a single list. + + e.g. slist1 = slist_concat (slist1, slist2); */ +SList * +slist_concat (SList *head, SList *tail) +{ + SList *last; + + if (!head) + { + return tail; + } + + last = head; + while (last->next) + last = last->next; + + last->next = tail; + + return head; +} + +/* Return a single list, composed by destructively appending all of + the items in SLIST to ITEM. The values of ITEM and SLIST are undefined + after calling this function. + + CAVEAT: Don't mix boxed and unboxed items in a single list. + + e.g. slist1 = slist_cons (slist_box (data), slist1); */ +SList * +slist_cons (SList *item, SList *slist) +{ + if (!item) + { + return slist; + } + + assert (!item->next); + + item->next = slist; + return item; +} + +/* Return a list starting at the second item of SLIST. */ +SList * +slist_tail (SList *slist) +{ + return slist ? slist->next : NULL; +} + +/* Return a list starting at the Nth item of SLIST. If SLIST is less + than N items long, NULL is returned. Just to be confusing, list items + are counted from 1, to get the 2nd element of slist: + + e.g. shared_list = slist_nth (slist, 2); */ +SList * +slist_nth (SList *slist, size_t n) +{ + for (;n > 1 && slist; n--) + slist = slist->next; + + return slist; +} + +/* Return the number of items in SLIST. We start counting from 1, so + the length of a list with no items is 0, and so on. */ +size_t +slist_length (SList *slist) +{ + size_t n; + + for (n = 0; slist; ++n) + slist = slist->next; + + return n; +} + +/* Destructively reverse the order of items in SLIST. The value of SLIST + is undefined after calling this function. + + CAVEAT: You must store the result of this function, or you might not + be able to get all the items except the first one back again. + + e.g. slist = slist_reverse (slist); */ +SList * +slist_reverse (SList *slist) +{ + SList *result = 0; + SList *next; + + while (slist) + { + next = slist->next; + slist->next = result; + result = slist; + slist = next; + } + + return result; +} + +/* Call FOREACH once for each item in SLIST, passing both the item and + USERDATA on each call. */ +void * +slist_foreach (SList *slist, SListCallback *foreach, void *userdata) +{ + void *result = 0; + + assert (foreach); + + while (slist) + { + SList *next = slist->next; + result = (*foreach) (slist, userdata); + + if (result) + break; + + slist = next; + } + + return result; +} + +/* Destructively merge the items of two ordered lists LEFT and RIGHT, + returning a single sorted list containing the items of both -- Part of + the quicksort algorithm. The values of LEFT and RIGHT are undefined + after calling this function. + + At each iteration, add another item to the merged list by taking the + lowest valued item from the head of either LEFT or RIGHT, determined + by passing those items and USERDATA to COMPARE. COMPARE should return + less than 0 if the head of LEFT has the lower value, greater than 0 if + the head of RIGHT has the lower value, otherwise 0. */ +static SList * +slist_sort_merge (SList *left, SList *right, SListCompare *compare, + void *userdata) +{ + SList merged, *insert; + + insert = &merged; + + while (left && right) + { + if ((*compare) (left, right, userdata) <= 0) + { + insert = insert->next = left; + left = left->next; + } + else + { + insert = insert->next = right; + right = right->next; + } + } + + insert->next = left ? left : right; + + return merged.next; +} + +/* Perform a destructive quicksort on the items in SLIST, by repeatedly + calling COMPARE with a pair of items from SLIST along with USERDATA + at every iteration. COMPARE is a function as defined above for + slist_sort_merge(). The value of SLIST is undefined after calling + this function. + + e.g. slist = slist_sort (slist, compare, 0); */ +SList * +slist_sort (SList *slist, SListCompare *compare, void *userdata) +{ + SList *left, *right; + + if (!slist) + return slist; + + /* Be sure that LEFT and RIGHT never contain the same item. */ + left = slist; + right = slist->next; + + if (!right) + return left; + + /* Skip two items with RIGHT and one with SLIST, until RIGHT falls off + the end. SLIST must be about half way along. */ + while (right && (right = right->next)) + { + if (!right || !(right = right->next)) + break; + slist = slist->next; + } + right = slist->next; + slist->next = 0; + + /* Sort LEFT and RIGHT, then merge the two. */ + return slist_sort_merge (slist_sort (left, compare, userdata), + slist_sort (right, compare, userdata), + compare, userdata); +} + + +/* Aside from using the functions above to manage chained structures of + any type that has a NEXT pointer as its first field, SLISTs can + be comprised of boxed items. The boxes are chained together in + that case, so there is no need for a NEXT field in the item proper. + Some care must be taken to slist_box and slist_unbox each item in + a boxed list at the appropriate points to avoid leaking the memory + used for the boxes. It us usually a very bad idea to mix boxed and + non-boxed items in a single list. */ + +/* Return a 'boxed' freshly mallocated 1 element list containing + USERDATA. */ +SList * +slist_box (const void *userdata) +{ + SList *item = (SList *) malloc (sizeof *item); + + if (item) + { + item->next = 0; + item->userdata = userdata; + } + + return item; +} + +/* Return the contents of a 'boxed' ITEM, recycling the box itself. */ +void * +slist_unbox (SList *item) +{ + void *userdata = 0; + + if (item) + { + /* Strip the const, because responsibility for this memory + passes to the caller on return. */ + userdata = (void *) item->userdata; + free (item); + } + + return userdata; +} diff --git a/BUILD/libtool-2.4.7/libltdl/stamp-mk b/BUILD/libtool-2.4.7/libltdl/stamp-mk new file mode 100644 index 0000000..859afb1 --- /dev/null +++ b/BUILD/libtool-2.4.7/libltdl/stamp-mk @@ -0,0 +1 @@ +stamp diff --git a/BUILD/libtool-2.4.7/libtoolize.in b/BUILD/libtool-2.4.7/libtoolize.in new file mode 100644 index 0000000..0c40fed --- /dev/null +++ b/BUILD/libtool-2.4.7/libtoolize.in @@ -0,0 +1,1945 @@ +#! /usr/bin/env sh + +# Prepare a package to use libtool. +# Written by Gary V. Vaughan , 2003 + +# Copyright (C) 2003-2019, 2021-2022 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# Libtoolize is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# Libtoolize is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtoolize --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} +: ${EGREP="@EGREP@"} +: ${FGREP="@FGREP@"} +: ${GREP="@GREP@"} +: ${LN_S="@LN_S@"} +: ${SED="@SED@"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir under normal use, though +# we also need to be able to find them in $srcdir during testing, or if +# executed directly from the build tree. + +. "@auxscriptsdir@/funclib.sh" +. "@auxscriptsdir@/options-parser" +. "@auxscriptsdir@/extract-trace" + +# Set a version string. +scriptversion='(GNU @PACKAGE@) @VERSION@' + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]...' + +# Short help message in response to '-h'. +usage_message="Options: + -c, --copy copy files rather than symlinking them + --debug enable verbose shell tracing + -n, --dry-run print commands rather than running them + -f, --force replace existing files + -i, --install copy missing auxiliary files + --ltdl[=DIR] install libltdl sources [default: libltdl] + --no-warnings equivalent to '-Wnone' + --nonrecursive prepare ltdl for non-recursive make + -q, --quiet work silently + --recursive prepare ltdl for recursive make + --subproject prepare ltdl to configure and build independently + -v, --verbose verbosely report processing + --version print version information and exit + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -h, --help print short or long help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + 'environment' show warnings about LIBTOOLIZE_OPTIONS content + 'file' show warnings about file copying and linking + +The following space or comma delimited options can be passed to $progname +via the environment variable LIBTOOLIZE_OPTIONS, unknown environment +options are ignored: + + --debug enable verbose shell tracing + --no-warnings don't display warning messages + --quiet work silently + --verbose verbosely report processing + +You must 'cd' to the top directory of your package before you run +'$progname'. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: @host_triplet@ + version: $progname (GNU @PACKAGE@) @VERSION@ + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to <@PACKAGE_BUGREPORT@>. +GNU @PACKAGE@ home page: <@PACKAGE_URL@>. +General help using GNU software: ." + exit 0 +} + +warning_categories='environment file' + + +# libtoolize_environment_options [ARG]... +# --------------------------------------- +# Parse environment options. +libtoolize_environment_options () +{ + $debug_mode + + my_sed_env_opt='1s/^\([^,:; ]*\).*$/\1/;q' + my_sed_env_rest='1s/^[^,:; ]*[,:; ]*\(.*\)$/\1/;q' + + while test -n "$LIBTOOLIZE_OPTIONS"; do + opt=`echo "$LIBTOOLIZE_OPTIONS" | $SED "$my_sed_env_opt"` + LIBTOOLIZE_OPTIONS=`echo "$LIBTOOLIZE_OPTIONS" | $SED "$my_sed_env_rest"` + + case $opt in + --debug|--no-warn|--no-warning|--no-warnings|--quiet|--verbose) + envopts="${envopts+$envopts }$opt" ;; + --*) env_warning="${env_warning+$env_warning +}unrecognized environment option '$opt'" ;; + *) func_fatal_help "garbled LIBTOOLIZE_OPTIONS near '$opt'" ;; + esac + done + + # Pass back the updated list of options. + if test -n "$envopts"; then + func_quote eval "$envopts" ${1+"$@"} + else + func_quote eval ${1+"$@"} + fi + libtoolize_environment_options_result=$func_quote_result +} +func_add_hook func_options_prep libtoolize_environment_options + + +# libtoolize_options_prep [ARG]... +# -------------------------------- +# Preparation for options parsed by libtoolize. +libtoolize_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_copy=false + opt_dry_run=false + opt_force=false + opt_install=false + opt_ltdl=false + opt_nonrecursive=false + opt_quiet=false + opt_recursive=false + opt_subproject=false + + ltdl_mode= +} +func_add_hook func_options_prep libtoolize_options_prep + + +# libtoolize_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtoolize specific options. +libtoolize_parse_options () +{ + $debug_cmd + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_opt=$1 + shift + case $_G_opt in + --copy|-c) opt_copy=: ;; + + --dry-run|--dryrun|-n) + $opt_dry_run || { + opt_dry_run=: + CP="func_echo_all $CP" + test -n "$LN_S" && LN_S="func_echo_all $LN_S" + MKDIR="func_echo_all $MKDIR" + RM="func_echo_all $RM" + } + ;; + + --force|-f) opt_force=: ;; + + --install|-i) opt_install=: ;; + + --ltdl) opt_ltdl=: + if test 0 -lt $#; then + case $1 in + -*) ;; + *) ltdl_dir=`$ECHO "$1" | $SED 's|/*$||'` + shift + ;; + esac + fi + ;; + + --nonrecursive|--non-recursive) + opt_nonrecursive=: + ;; + + --quiet|--automake|-q) # --automake is for 1.5 compatibility + opt_quiet=: ;; + + --recursive) opt_recursive=: ;; + + --subproject) opt_subproject=: ;; + + # Separate non-argument short options: + -c*|-f*|-i*|-n*|-q*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtoolize_parse_options_result=$func_quote_result +} +func_add_hook func_parse_options libtoolize_parse_options + + +# libtoolize_validate_options [ARG]... +# ------------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtoolize_validate_options () +{ + # show any warnings saved by LIBTOOLIZE_OPTIONS parsing + test -n "$env_warning" && func_warning environment "$env_warning" + + # validate $opt_nonrecursive, $opt_recursive and $opt_subproject + if $opt_nonrecursive; then + if $opt_recursive || $opt_subproject; then + func_error "you can have at most one of --non-recursive, --recursive and --subproject" + fi + ltdl_mode=nonrecursive + elif $opt_recursive; then + $opt_subproject && + func_error "you can have at most one of --non-recursive, --recursive and --subproject" + ltdl_mode=recursive + elif $opt_subproject; then + ltdl_mode=subproject + fi + + # any remaining arguments are an error + test 0 -lt $# && + func_fatal_help "unknown additional arguments: '${1+$@}'" + + # Pass back the empty argument list + func_quote eval ${1+"$@"} + libtoolize_validate_options_result=$func_quote_result +} +func_add_hook func_validate_options libtoolize_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + +# func_notquiet_once MSG_VAR +# -------------------------- +# Call func_notquiet with the value of MSG_VAR, and then set MSG_VAR='' so +# that subsequent calls will have no effect. +func_notquiet_once () +{ + $debug_cmd + + if test -n "$1"; then + eval my_msg=\$$1 + + if test -n "$my_msg"; then + func_notquiet "$my_msg" + eval $1= + fi + fi +} + + +# func_notquiet_hdr MSG_VAR ARG... +# -------------------------------- +# With at least 1 non-empty ARG, call func_notquiet_once with MSG_VAR, +# and then func_notquiet with the remaining arguments. +func_notquiet_hdr () +{ + $debug_cmd + + my_msg_var=$1; shift + test -n "$*" || return + + func_notquiet_once "$my_msg_var" + func_notquiet "$*" +} + + +# func_notquiet_error_hdr MSG_VAR ARG... +# -------------------------------------- +# Much the same as func_notquiet_header, but for (non-fatal) error +# messages. +func_notquiet_error_hdr () +{ + $debug_cmd + + my_msg_var=$1; shift + test -n "$*" || return + + func_notquiet_once "$my_msg_var" + func_error "$*" + + exit_status=$EXIT_FAILURE +} + + +# func_copy FILENAME SRCDIR DESTDIR [MSG_VAR [FILTER]] +# ---------------------------------------------------- +# If option '--copy' was specified, or soft-linking SRCFILE to DESTFILE +# fails, then try to copy SRCFILE to DESTFILE (making sure to update the +# timestamp so that a series of files with dependencies can be copied +# in the right order that their timestamps won't trigger rebuilds). If +# FILTER is non-empty, it is a sed script to apply to SRCFILE as it is +# copied. MSG_VAR names a variable for use with func_notquiet_hdr. +func_copy () +{ + $debug_cmd + + my_filename=$1 + my_srcdir=$2 + my_destdir=$3 + my_msg_var=$4 + my_filter=$5 + + my_srcfile=$my_srcdir/$my_filename + my_destfile=$my_destdir/$my_filename + + # Libtool is probably misinstalled if this happens: + test -f "$my_srcfile" || { + func_notquiet_error_hdr "$my_msg_var" "'$my_srcfile' not found" + return 1 + } + + # Require --force to remove existing $my_destfile. + $opt_force && $RM "$my_destfile" + test -f "$my_destfile" && { + func_notquiet_error_hdr "$my_msg_var" \ + "'$my_destfile' exists: use '--force' to overwrite" + return 1 + } + + # Be careful to support 'func_copy dir/target srcbase destbase'. + func_dirname "$my_destfile" + func_mkdir_p "$func_dirname_result" + + # Filters always take priority. + if test -n "$my_filter"; then + if $opt_dry_run || $SED -e "$my_filter" "$my_srcfile" > "$my_destfile" 2>/dev/null + then + func_notquiet_once "$my_msg_var" + if $opt_verbose; then + func_notquiet "$SED -e '$my_filter' $my_srcfile > $my_destfile" + else + func_notquiet "creating file '$my_destfile'" + fi + else + func_notquiet_error_hdr "$my_msg_var" "creating '$my_destfile' from '$my_srcfile' failed" + return 1 + fi + return 0 + fi + + # Otherwise copy or link according to '--copy' option. + if $opt_copy; then + my_copycmd=$CP + my_copy_type=copying + else + my_copycmd=$LN_S + my_copy_type=linking + fi + my_copy_msg="$my_copy_type file '$my_destfile'" + $opt_verbose && my_copy_msg="$my_copycmd $my_srcfile $my_destdir" + + if $opt_dry_run || $my_copycmd "$my_srcfile" "$my_destfile" 2>/dev/null + then + func_notquiet_hdr "$my_msg_var" "$my_copy_msg" + else + func_notquiet_error_hdr "$my_msg_var" \ + "$my_copy_type '$my_srcdir/$my_filename' to '$my_destdir/' failed" + return 1 + fi +} + + +# func_included_files SEARCHFILE +# ------------------------------ +# Output INCLUDEFILE if SEARCHFILE m4_includes it, else output SEARCHFILE. +func_included_files () +{ + $debug_cmd + + my_searchfile=$1 + + my_include_regex= + my_sed_include=' + /^m4_include(\[.*\])$/ { + s|^m4_include(\[\(.*\)\])$|\1| + p + } + d' + + if test -f "$my_searchfile"; then + $ECHO "$my_searchfile" + + # Only recurse when we don't care if all the variables we use get + # trashed, since they are in global scope. + for my_filename in `$SED "$my_sed_include" "$my_searchfile"`; do + func_included_files $my_filename + done + fi +} + + +# func_serial FILENAME [MACRO_REGEX] +# ---------------------------------- +# Output the value of the serial number comment in FILENAME, where the +# comment line must also match MACRO_REGEX, if given. +func_serial () +{ + $debug_cmd + + my_filename=$1 + my_macro_regex=$2 + my_sed_serial=' + /^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ { + s|^# serial \([1-9][0-9.]*\).*$|\1| + q + } + d' + + # Search FILENAME and all the files it m4_includes for a serial number + # in the file that AC_DEFUNs MACRO_REGEX. + my_serial= + func_dirname_and_basename "$my_filename" + my_filebase=$func_basename_result + for my_file in `func_included_files "$my_filename"`; do + if test -z "$my_macro_regex" || + test aclocal.m4 = "$my_filename" || + test "X$my_macro_regex" = "X$my_filebase" || + func_grep '^AC_DEFUN(\['"$my_macro_regex" "$my_file" + then + my_serial=`$SED -e "$my_sed_serial" "$my_file"` + break + fi + done + + # If the file has no serial number, we assume it's ancient. + test -n "$my_serial" || my_serial=0 + + $ECHO "$my_serial" +} + + +# func_serial_max SERIAL1 SERIAL2 +# ------------------------------- +# Compare (possibly multi-part, '.' delimited) serial numbers, and +# return the largest in $func_serial_max_result. If they are the +# same, func_serial_max_result will be empty. +func_serial_max () +{ + $debug_cmd + + my_serial1=$1 + my_serial2=$2 + + my_sed_dot='s/\..*$//g' + my_sed_rest='s/^[0-9][1-9]*\.*//' + my_sed_digits='s/[^0-9.]//g' + + # Incase they turn out to be the same, we'll set it to empty + func_serial_max_result= + + test "X$1$2" = X`$ECHO "$1$2" | $SED "$my_sed_digits"` || { + func_error "serial numbers '$1' or '$2' contain non-digit chars" + return + } + + while test -n "$my_serial1$my_serial2"; do + my_serial1_part=`$ECHO "$my_serial1" | $SED "$my_sed_dot"` + my_serial2_part=`$ECHO "$my_serial2" | $SED "$my_sed_dot"` + + test -z "$my_serial1_part$my_serial2_part" \ + && break + + test -z "$my_serial1_part" \ + && { func_serial_max_result=$2; break; } + + test -z "$my_serial2_part" \ + && { func_serial_max_result=$1; break; } + + test "$my_serial1_part" -gt "$my_serial2_part" \ + && { func_serial_max_result=$1; break; } + + test "$my_serial2_part" -gt "$my_serial1_part" \ + && { func_serial_max_result=$2; break; } + + my_serial1=`$ECHO "$my_serial1" | $SED "$my_sed_rest"` + my_serial2=`$ECHO "$my_serial2" | $SED "$my_sed_rest"` + done +} + + +# func_serial_update_check SRCFILE SRC_SERIAL DESTFILE DEST_SERIAL +# ---------------------------------------------------------------- +# Unless SRC_SERIAL is newer than DEST_SERIAL set $func_serial_update_check +# to 'false'. +func_serial_update_check () +{ + $debug_cmd + + $require_ac_ltdl_dir + $require_ac_macro_dir + + my_srcfile=$1 + my_src_serial=$2 + my_destfile=$3 + my_dest_serial=$4 + my_update_p=: + + if test -f "$my_destfile"; then + test 0 = "$my_src_serial" && { + func_warning file "no serial number on '$my_srcfile', not copying." + return + } + + # Determine whether the destination has an older serial. + func_serial_max "$my_src_serial" "$my_dest_serial" + test "X$my_src_serial" = "X$func_serial_max_result" || my_update_p=false + + test "X$my_src_serial" = "X$func_serial_max_result" \ + && func_verbose "'$my_srcfile' is serial $my_src_serial, greater than $my_dest_serial in '$my_destfile'" + + if test "X$my_dest_serial" = "X$func_serial_max_result"; then + func_verbose "'$my_srcfile' is serial $my_src_serial, less than $my_dest_serial in '$my_destfile'" + $opt_force || if test -n "$ac_macro_dir$ac_ltdl_dir"; then + func_error "'$my_destfile' is newer: use '--force' to overwrite" + fi + fi + fi + + func_serial_update_check_result=$my_update_p +} + + +# func_aclocal_update_check FILENAME +# ---------------------------------- +# Unless serial number of FILENAME is newer than the matching serial number +# in aclocal.m4, set $func_aclocal_update_check to 'false'. +func_aclocal_update_check () +{ + $debug_cmd + + my_filename=$1 + + my_srcfile=$aclocaldir/$1 + my_destfile=aclocal.m4 + + case $my_filename in + libtool.m4) + my_src_serial=`func_serial "$my_srcfile" LT_INIT` + my_dest_serial=`func_serial "$my_destfile" LT_INIT` + + # Strictly, this libtoolize ought not to have to deal with ancient + # serial formats, but we accept them here to be complete: + test 0 = "$my_src_serial" && + my_src_serial=`func_serial "$my_srcfile" 'A[CM]_PROG_LIBTOOL'` + test 0 = "$my_dest_serial" && + my_dest_serial=`func_serial "$my_destfile" 'A[CM]_PROG_LIBTOOL'` + ;; + ltdl.m4) + my_src_serial=`func_serial "$my_srcfile" LTDL_INIT` + my_dest_serial=`func_serial "$my_destfile" LTDL_INIT` + ;; + *) + my_src_serial=`func_serial "$my_srcfile" "$my_filename"` + my_dest_serial=`func_serial "$my_destfile" "$my_filename"` + ;; + esac + + func_serial_update_check \ + "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" + + func_aclocal_update_check_result=$func_serial_update_check_result +} + + +# func_serial_update FILENAME SRCDIR DESTDIR [MSG_VAR] [MACRO_RE] [OLD_MACRO_RE] +# ------------------------------------------------------------------------------ +# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME +# has a newer serial number, or DESTFILE does not yet exist, or the user +# specified '--force' at the command line. If given, MACRO_REGEX or +# OLD_MACRO_REGEX must match any text after "# serial N" in both files. +func_serial_update () +{ + $debug_cmd + + my_filename=$1 + my_srcdir=$2 + my_destdir=$3 + my_msg_var=$4 + my_macro_regex=$5 + my_old_macro_regex=$6 + + my_serial_update_p=: + my_return_status=1 + my_srcfile=$my_srcdir/$my_filename + my_destfile=$my_destdir/$my_filename + + test -f "$my_srcfile" || func_fatal_error "'$my_srcfile' does not exist." + + if test -f "$my_destfile"; then + my_src_serial=`func_serial "$my_srcfile" "$my_macro_regex"` + my_dest_serial=`func_serial "$my_destfile" "$my_macro_regex"` + + # Strictly, this libtoolize ought not to have to deal with ancient + # serial formats, but we accept them here to be complete: + test 0 = "$my_src_serial" && + my_src_serial=`func_serial "$my_srcfile" "$my_old_macro_regex"` + + test 0 = "$my_dest_serial" && + my_dest_serial=`func_serial "$my_destfile" "$my_old_macro_regex"` + + func_serial_update_check \ + "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" + my_serial_update_p=$func_serial_update_check_result + fi + + if $my_serial_update_p || $opt_force; then + $RM "$my_destfile" + func_copy "$my_filename" "$my_srcdir" "$my_destdir" "$my_msg_var" + my_return_status=$? + elif $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then + func_notquiet_hdr "$my_msg_var" "'$my_destfile' is already up to date." + fi + + # Do this after the copy for hand maintained 'aclocal.m4', incase + # it has 'm4_include([DESTFILE])', so the copy effectively already + # updated 'aclocal.m4'. + my_included_files=`func_included_files aclocal.m4` + case `echo " "$my_included_files" "` in + + # Skip included files: + *" $my_destfile "*) ;; + + # Otherwise compare to aclocal.m4 serial number (func_serial + # returns 0 for older macro serial numbers before we provided + # serial tags, so the update message will be correctly given + # if aclocal.m4 contains an untagged --i.e older-- macro file): + *) + if test -f aclocal.m4; then + func_serial_max \ + "$my_src_serial" `func_serial aclocal.m4 "$my_macro_regex"` + if test "X$my_src_serial" = "X$func_serial_max_result"; then + func_notquiet_hdr "$my_msg_var" \ + "You should add the contents of '$my_destfile' to 'aclocal.m4'." + fi + fi + ;; + esac + return $my_return_status +} + + +# func_keyword_update FILENAME SRCDIR DESTDIR SED_SCRIPT [MSG_VAR] +# ---------------------------------------------------------------- +# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME +# has a newer revision according to the serial number extracted by +# SED_SCRIPT, or DESTFILE does not yet exist, or the user specified +# '--force' at the command line. +func_keyword_update () +{ + $debug_cmd + + my_filename=$1 + my_srcdir=$2 + my_destdir=$3 + my_sed_script=$4 + my_msg_var=$5 + + my_srcfile=$my_srcdir/$my_filename + my_destfile=$my_destdir/$my_filename + + my_keyword_update_p=: + + test -f "$my_srcfile" || func_fatal_error "'$my_srcfile' does not exist." + + if test -f "$my_destfile"; then + my_src_serial=`$SED -e "$my_sed_script" "$my_srcfile"` + test -z "$my_src_serial" && { + func_warning file "no serial number in '$my_srcfile', not copying." + return + } + + my_dest_serial=`$SED -e "$my_sed_script" "$my_destfile"` + test -n "$my_dest_serial" || my_dest_serial=0 + + func_serial_update_check \ + "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" + my_keyword_update_p=$func_serial_update_check_result + fi + + if $my_keyword_update_p || $opt_force; then + $RM "$my_destfile" + func_copy "$my_filename" "$my_srcdir" "$my_destdir" "$my_msg_var" + elif $opt_verbose || $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then + func_notquiet_hdr "$my_msg_var" "'$my_destfile' is already up to date." + fi +} + + +# func_ltmain_update FILENAME SRCDIR DESTDIR [MSG_VAR] +# ---------------------------------------------------- +# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME +# has a newer revision, or DESTFILE does not yet exist, or the user +# specified '--force' at the command line. +func_ltmain_update () +{ + $debug_cmd + + my_sed_ltmain=' + /^package_revision='\''*[0-9][1-9.]*'\''*/ { + s|^package_revision='\''*\([0-9.]*\)'\''*[ ]*$|\1| + p + } + d' + + func_keyword_update "$1" "$2" "$3" "$my_sed_ltmain" "$4" + + return $my_return_status +} + + +# func_config_update FILENAME SRCDIR DESTDIR [MSG_VAR] +# ---------------------------------------------------- +# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME +# has a newer timestamp, or DESTFILE does not yet exist, or the user +# specified '--force' at the command line. +func_config_update () +{ + $debug_cmd + + my_sed_config=' + /^timestamp='\''*[0-9][1-9-]*'\''*/ { + s|^timestamp='\''*\([0-9-]*\)'\''*|\1| + s|-|.|g + p + } + d' + + func_keyword_update "$1" "$2" "$3" "$my_sed_config" "$4" + + return $my_return_status +} + + +# func_install_update FILENAME SRCDIR DESTDIR [MSG_VAR] +# ----------------------------------------------------- +# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME +# has a newer timestamp, or DESTFILE does not yet exist, or the user +# specified '--force' at the command line. +func_install_update () +{ + $debug_cmd + + my_sed_install=' + /^scriptversion='\''*[0-9][1-9.-]*'\''*/ { + s|[#;].*|| + s|^scriptversion='\''*\([0-9.-]*\)'\''*|\1| + s|-|.|g + p + } + d' + + func_keyword_update "$1" "$2" "$3" "$my_sed_install" "$4" + + return $my_return_status +} + + +# func_install_pkgmacro_files +# --------------------------- +# Install copies of the libtool and libltdl m4 macros into this package. +func_install_pkgmacro_files () +{ + $debug_cmd + + $require_ac_macro_dir + $require_am_macro_dir + $require_ltdl_mode + $require_macro_dir + + $opt_ltdl || test -n "$ac_macro_dir$am_macro_dir" || return + + # Remove any lingering files that my have been installed by some + # previous libtoolize release: + $opt_force && for file in $all_pkgmacro_files; do + test -f "$macro_dir/$file" && func_verbose "rm -f '$macro_dir/$file'" + rm -f "$macro_dir/$file" + done + + # Install the libltdl autoconf macros to this project's source tree. + $opt_quiet || if test -n "$ac_macro_dir"; then + my_pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIRS, '$ac_macro_dir'." + else + my_pkgmacro_header="putting macros in '$macro_dir'." + fi + + for file in $pkgmacro_files; do + case $file in + libtool.m4) + func_serial_update "$file" "$aclocaldir" "$macro_dir" \ + my_pkgmacro_header LT_INIT 'A[CM]_PROG_LIBTOOL' + ;; + ltdl.m4) + if $opt_ltdl; then + func_serial_update "$file" "$aclocaldir" "$macro_dir" \ + my_pkgmacro_header 'LTDL_INIT' + else + func_verbose "Not copying '$macro_dir/$file', libltdl not used." + fi + ;; + ltoptions.m4|ltsugar.m4|ltversion.m4|lt~obsolete.m4) + func_serial_update "$file" "$aclocaldir" "$macro_dir" \ + my_pkgmacro_header "$file" + ;; + *) + if $opt_ltdl; then + func_serial_update "$file" "$aclocaldir" "$macro_dir" \ + my_pkgmacro_header "$file" + else + func_verbose "Not copying '$macro_dir/$file', libltdl not used." + fi + ;; + esac + done +} + + +# func_install_pkgltdl_files +# -------------------------- +# Install copies of the libltdl files into this package. Any auxiliary +# or m4 macro files needed in the libltdl tree will also be copied by +# func_install_pkgaux_files and func_install_pkgmacro_files resp. +func_install_pkgltdl_files () +{ + $debug_cmd + + $opt_ltdl || return + + $require_ac_ltdl_dir + $require_ltdl_dir + $require_ltdl_mode + + # Remove any lingering files that my have been installed by some + # previous libtoolize release: + $opt_force && for file in $all_pkgltdl_files; do + test -f "$ltdl_dir/$file" && func_verbose "rm -f '$ltdl_dir/$file'" + rm -f "$ltdl_dir/$file" + done + + # Copy all the files from installed libltdl to this project, if the + # user specified '--ltdl'. + $opt_quiet || if test -n "$ac_ltdl_dir"; then + pkgltdl_header="putting libltdl files in LT_CONFIG_LTDL_DIR, '$ac_ltdl_dir'." + else + pkgltdl_header="putting libltdl files in '$ltdl_dir'." + fi + + $require_filter_Makefile_am + $require_filter_ltdl_mk + + # Copy ltdl sources appropriate to the requested ltdl_mode. + for file in $pkgltdl_files; do + my_copy_filter= + case $file in + Makefile.am|Makefile.in) + test nonrecursive = "$ltdl_mode" && continue + my_copy_filter=$filter_Makefile_am + ;; + + ltdl.mk) + test nonrecursive = "$ltdl_mode" || continue + my_copy_filter=$filter_ltdl_mk + ;; + + aclocal.m4) + test subproject = "$ltdl_mode" && { + $require_filter_aclocal_m4 + + # Always copy aclocal.m4, otherwise regenerating it can + # overwrite the destination if it is symlinked. + ( opt_copy=: + func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ + pkgltdl_header "$filter_aclocal_m4" + ) + } + continue + ;; + + config-h.in) + test subproject = "$ltdl_mode" || continue + ;; + + configure) + test subproject = "$ltdl_mode" && { + $require_filter_configure_ac + + # Always copy configure, otherwise regenerating it can + # overwrite the destination if it is symlinked. + ( opt_copy=: + func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ + pkgltdl_header "$filter_configure_ac" + ) + } + continue + ;; + + configure.ac) + test subproject = "$ltdl_mode" || continue + $require_filter_configure_ac + my_copy_filter=$filter_configure_ac + ;; + esac + + # Still here? Copy the file then, with selected filters. + func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ + pkgltdl_header "$my_copy_filter" + + # FIXME: Remove in 2013 + # (along with deprecation warning in func_check_macros) + test ltdl.mk = "$file" \ + && func_grep "^-\?include $ltdl_dir/Makefile.inc\$" Makefile.am \ + && mv "$ltdl_dir/$file" "$ltdl_dir/Makefile.inc" \ + && func_notquiet "renaming file '$ltdl_dir/Makefile.inc'" + done +} + + +# func_install_pkgaux_files +# ------------------------- +# Install copies of the auxiliary files into this package according to +# the whether libltdl is included as a subproject, and whether the parent +# shares the AC_CONFIG_AUX_DIR setting. +func_install_pkgaux_files () +{ + $debug_cmd + + $require_ac_aux_dir + $require_aux_dir + $require_configure_ac + $require_ltdl_mode + + # Remove any lingering files that my have been installed by some + # previous libtoolize release: + $opt_force && for file in $all_pkgaux_files; do + test -f "$aux_dir/$file" && func_verbose "rm -f '$aux_dir/$file'" + rm -f "$aux_dir/$file" + done + + if test -n "$ac_aux_dir"; then + pkgaux_header="putting auxiliary files in AC_CONFIG_AUX_DIR, '$ac_aux_dir'." + else + pkgaux_header="putting auxiliary files in '$aux_dir'." + fi + + for file in $pkgaux_files; do + case $file in + config.guess|config.sub) + $opt_install || test subproject = "$ltdl_mode" || continue + func_config_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header + ;; + install-sh) + $opt_install || test subproject = "$ltdl_mode" || continue + func_install_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header + ;; + ltmain.sh) + func_ltmain_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header + ;; + *) + test subproject = "$ltdl_mode" || continue + func_copy "$file" "$pkgauxdir" "$aux_dir" pkgaux_header + ;; + esac + done + + # If the parent project is using Autoconf and linking with Libtool, + # even if subproject libltdl already has a copy, the parent project + # will still need to build libtool for its own purposes, and might + # need another copy of ltmain.sh if the parent didn't declare an + # AC_CONFIG_AUX_DIR. + pkgaux_hdr="putting another copy of auxiliary files in '.'" + test -f "$configure_ac" \ + && test -z "$ac_aux_dir" \ + && test subproject = "$ltdl_mode" \ + && test "$aux_dir" = "$ltdl_dir" \ + && func_ltmain_update "$file" "$pkgauxdir" . pkgaux_hdr + + # FIXME: Remove in 2013. + # Very old parent projects using 'libtoolize --install --ltdl', and + # a top-level $configure_ac to build the ltdl subproject, but not + # using Automake themselves, might still be relying on the old + # behaviour of libtoolize to put a second copy of some 'Auxiliary + # Programs' needed by the top-level configure (instead of using + # the recommended method: 'automake --add-missing'). + test -f "$configure_ac" \ + && test subproject = "$ltdl_mode" \ + && test "$aux_dir" = "$ltdl_dir" \ + && func_config_update config.guess "$pkgauxdir" . pkgaux_hdr \ + && func_config_update config.sub "$pkgauxdir" . pkgaux_hdr \ + && func_install_update install-sh "$pkgauxdir" . pkgaux_hdr +} + + +# func_nonemptydir_p DIRVAR +# ------------------------- +# DIRVAR is the name of a variable to evaluate. Unless DIRVAR names +# a directory that exists and is non-empty abort with a diagnostic. +func_nonemptydir_p () +{ + $debug_cmd + + my_dirvar=$1 + my_dir=`eval echo "\\\$$my_dirvar"` + + # Is it a directory at all? + test -d "$my_dir" \ + || func_fatal_error "\$$my_dirvar is not a directory: '$my_dir'" + + # check that the directories contents can be ls'ed + test -n "`{ cd $my_dir && ls; } 2>/dev/null`" \ + || func_fatal_error "cannot list files: '$my_dir'" +} + + +# func_check_macros +# ----------------- +# Sanity check macros from aclocal.m4 against installed versions. +func_check_macros () +{ + $debug_cmd + + $require_ac_ltdl_dir + $require_ac_macro_dir + $require_am_macro_dir + $require_aux_dir + $require_configure_ac + $require_ltdl_dir + $require_ltdl_mode + $require_macro_dir + $require_seen_ltdl + $require_seen_libtool + + $opt_quiet && return + test -n "$configure_ac" || return + + ac_config_macro_dir_advised=false + + if test -z "$ac_macro_dir$am_macro_dir"; then + my_missing= + for file in $pkgmacro_files; do + case $file in + ltargz.m4|ltdl.m4) $opt_ltdl || continue ;; + esac + if test -f "aclocal.m4"; then + func_aclocal_update_check $file + $func_aclocal_update_check_result || continue + fi + my_missing="$my_missing $file" + done + + if test -n "$my_missing"; then + func_echo "You should add the contents of the following files to 'aclocal.m4':" + for need in $my_missing; do + func_echo " '$aclocaldir/$need'" + done + fi + fi + + ## ---------------------------------------------------------- ## + ## Since we return early here when --no-warn was given: ## + ## DO NOT PUT ANYTHING BUT UPGRADE ADVICE MESSAGES BELOW HERE ## + ## ---------------------------------------------------------- ## + + test " none" = "$opt_warning_types" && return + + $seen_libtool || + func_echo "Remember to add 'LT_INIT' to $configure_ac." + + # Suggest using LTDL_INIT if appropriate: + $opt_ltdl && if test : != "$seen_ltdl"; then + case $ltdl_mode in + subproject) ltdl_init_args= ;; + *) ltdl_init_args="([$ltdl_mode])" ;; + esac + func_echo "Remember to add 'LTDL_INIT$ltdl_init_args' to $configure_ac." + fi + + if $opt_ltdl; then + # Remind the user to call LT_CONFIG_LTDL_DIR: + test -n "$ac_ltdl_dir" || + func_echo "Remember to add 'LT_CONFIG_LTDL_DIR([$ltdl_dir])' to '$configure_ac'." + + # For nonrecursive mode, warn about continued use of Makefile.inc: + # FIXME: Remove in 2013 + # (along with last minute rename in func_install_pkgltdl_files) + if test nonrecursive = "$ltdl_mode"; then + if func_grep "^-\?include $ltdl_dir/Makefile.inc\$" Makefile.am; + then + func_error "Use of 'include $ltdl_dir/Makefile.inc' is deprecated!" + func_echo "Consider updating to use of 'include $ltdl_dir/ltdl.mk' in Makefile.am." + fi + fi + fi + + # Suggest modern idioms for storing autoconf macros: + $ac_config_macro_dir_advised || if test -z "$macro_dir" || test . = "$macro_dir"; then + func_echo "Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to $configure_ac and" + func_echo "rerunning $progname, to keep the correct libtool macros in-tree." + ac_config_macro_dir_advised=: + + elif test -z "$ac_macro_dir"; then + func_echo "Consider adding 'AC_CONFIG_MACRO_DIRS([$macro_dir])' to $configure_ac," + func_echo "and rerunning $progname and aclocal." + ac_config_macro_dir_advised=: + fi + + if test -z "$am_macro_dir$ac_macro_dir"; then + func_echo "Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am." + + elif test -z "$am_macro_dir"; then + func_echo "Consider adding '-I $macro_dir' to ACLOCAL_AMFLAGS in Makefile.am." + fi + + # Don't trace for this, we're just checking the user didn't invoke it + # directly from configure.ac. + $SED 's|dnl .*$||; s|# .*$||' "$configure_ac" | $GREP AC_PROG_RANLIB >/dev/null && + func_echo "'AC_PROG_RANLIB' is rendered obsolete by 'LT_INIT'" + + # FIXME: Ensure ltmain.sh, libtool.m4 and ltdl.m4 are from the same release +} + + + +## ------------------## +## Helper functions. ## +## ------------------## + +# This section contains the helper functions used by the rest of +# this script. + + +# func_autoconf_configure MAYBE-CONFIGURE-FILE +# -------------------------------------------- +# Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current +# directory that contains an uncommented call to AC_INIT. +func_autoconf_configure () +{ + $debug_cmd + + _G_sed_no_comment='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;' + _G_ac_init= + + # If we were passed a genuine file, make sure it calls AC_INIT. + test -f "$1" \ + && _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT` + + # Otherwise it is not a genuine Autoconf input file. + test -n "$_G_ac_init" + _G_status=$? + + test 0 -ne "$_G_status" \ + && func_verbose "'$1' not using Autoconf" + + (exit $_G_status) +} + + +# func_make_relative_dir_filter CURRDIR SRCDIR DESTDIR [PREFIX [SUFFIX]] +# ---------------------------------------------------------------------- +# Make a sed script suitable for appending to a copy filter, which will +# replace occurrences of CURRDIR with the relative path from SRCDIR to +# DESTDIR if they are different, otherwise the result is the empty +# string: +# +# func_make_relative_dir_filter ltdl config ../build-aux +# => 's|\.\./build-aux|../config|g' +# func_make_relative_dir_filter ltdl ltdl/m4 ../m4 +# => 's|\.\./m4|m4|g' +# func_make_relative_dir_filter libltdl build-aux ../build-aux +# => '' +# +# If PREFIX (and SUFFIX) are passed they are prepended (and appended) +# to the match and replacement expressions literally: +# +# func_make_relative_dir_filter ltdl ltdl/m4 ../m4 '-I ' ' ' +# => 's|-I \.\./m4 |-I m4 |g' +func_make_relative_dir_filter () +{ + $debug_cmd + + my_currdir=$1 + my_srcdir=$2 + my_destdir=$3 + + func_relative_path "$my_srcdir" "$my_destdir" + + if test "$my_currdir" = "$func_relative_path_result"; then + func_make_relative_dir_filter_result= + else + my_match_currdir=`$ECHO "$my_currdir" |$SED "$sed_make_literal_regex"` + + # Avoid substituting with 'dir/./file' when current dir is '.'. + if test . = "$my_currdir"; then + func_make_relative_dir_filter_result=" + s|$4$my_match_currdir/$5|$4$5|g" + else + func_make_relative_dir_filter_result=" + s|$4$my_match_currdir$5|$4$func_relative_path_result$5|g" + fi + fi +} + +# func_make_relative_ltdl_filter CURRDIR DESTDIR [PREFIX [SUFFIX]] +# ---------------------------------------------------------------- +# As 'func_make_relative_dir_filter' optimised for the common case where +# SRCDIR is '$ltdl_dir'. +func_make_relative_ltdl_filter () +{ + $debug_cmd + + $require_ltdl_dir + + func_make_relative_dir_filter "$1" "$ltdl_dir" "$2" "$3" "$4" + func_make_relative_ltdl_filter_result=$func_make_relative_dir_filter_result +} + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Where a variable already has a non- +# empty value (as set by the package's 'bootstrap.conf'), that value is +# used in preference to deriving the default. Call them using their +# associated 'require_*' variable to ensure that they are executed, at +# most, once. +# +# Some of the require functions are very similar, so we generate those +# as this file is sourced. They look complicated, but they are the same +# as normal function declarations wrapped in "eval ''", so +# that embedded single quotes need to be escaped, and wherever a symbol +# is generated, we drop out of the single quotes and expand a variable +# that holds the symbol. +# +# After that, the rest appear in asciibetical order. + +for base in '' ltdl_; do + if test ltdl_ = "$base"; then p='$pkgltdldir/'; else p=; fi + + # require_Makefile_am + # require_ltdl_Makefile_am + # ------------------------ + # If not already set, set Makefile_am to 'Makefile.am' if that file is + # present in the current directory, and similarly for + # '$pkgltdldir/Makefile.am'. + r=${base}Makefile_am + v=require_$r + f=func_$v + eval $v'='$f' + '$f' () + { + $debug_cmd + + test -n "$'$r'" || '$r'='$p'Makefile.am + + if test -f "$'$r'"; then + func_verbose "found '\'\$$r\''" + else + '$r'= + fi + + '$v'=: + }' + o=$r + + + # require_aclocal_amflags + # require_ltdl_aclocal_amflags + # ---------------------------- + # Extract '$aclocal_amflags' from 'Makefile.am' if present, and + # similarly for 'libltdl/Makefile.am'. + r=${base}aclocal_amflags + v=require_$r + f=func_$v + eval $v'='$f' + '$f' () + { + $debug_cmd + + $require_'$o' + + test -n "$'$o'" && { + _G_sed_extract_aclocal_amflags='\''s|#.*$|| + /^[ ]*ACLOCAL_AMFLAGS[ ]*=/ { + s|^.*=[ ]*\(.*\)|'$r'="\1"| + p + }'\'' + + _G_aclocal_flags_cmd=`$SED -n "$_G_sed_extract_aclocal_amflags" \ + "$'$o'"` + eval "$_G_aclocal_flags_cmd" + + test -n "$'$r'" && func_verbose "'$r'='\$$r\''" + } + + '$v'=: + }' + o=$r + + + # require_am_macro_dir + # require_ltdl_am_macro_dir + # ------------------------- + # Set am_macro_dir to the first directory specified in + # ACLOCAL_AMFLAGS from 'Makefile.am', and similarly for + # 'libltdl/Makefile.am'. + r=${base}am_macro_dir + v=require_$r + f=func_$v + eval $v'='$f' + '$f' () + { + $debug_cmd + + $require_'$o' + + _G_minus_I_seen=false + for _G_arg in $'$o'; do + case $_G_minus_I_seen,$_G_arg in + :,*) '$r'=$_G_arg; break ;; + *,-I) _G_minus_I_seen=: ;; + *,-I*) '$r'=`expr x$_G_arg : '\''x-I\(.*\)$'\''`; break ;; + esac + done + + test -n "$'$r'" && func_verbose "'$r'='\'\$$r\''" + + '$v'=: + }' + o=$r + +done + + +# require_ac_aux_dir +# ------------------ +# Extract ac_aux_dir from AC_CONFIG_AUX_DIR. +require_ac_aux_dir=func_require_ac_aux_dir +func_require_ac_aux_dir () +{ + $debug_cmd + + $require_configure_ac + + test -n "$configure_ac" && { + func_extract_trace_first AC_CONFIG_AUX_DIR + ac_aux_dir=$func_extract_trace_first_result + + case $ac_aux_dir in + *\$*) + func_fatal_error "\ +cannot expand unknown variable in AC_CONFIG_AUX_DIR argument." + ;; + esac + } + + test -n "$ac_aux_dir" && func_verbose "ac_aux_dir='$ac_aux_dir'" + + require_ac_aux_dir=: +} + + +# require_ac_ltdl_dir +# ------------------- +# Extract ac_ltdl_dir from LT_CONFIG_LTDL_DIR. +require_ac_ltdl_dir=func_require_ac_ltdl_dir +func_require_ac_ltdl_dir () +{ + $debug_cmd + + $require_configure_ac + + if test -n "$configure_ac"; then + func_extract_trace_first LT_CONFIG_LTDL_DIR + ac_ltdl_dir=$func_extract_trace_first_result + + case $ac_ltdl_dir in + *\$*) + func_fatal_error "\ +cannot expand unknown variable in LT_CONFIG_LTDL_DIR argument." + ;; + esac + fi + + # Strip trailing slashes. + ac_ltdl_dir=`echo "$ac_ltdl_dir" |$SED 's|/*$||'` + + require_ac_ltdl_dir=: +} + + +# require_ac_ltdl_mode +# -------------------- +# Extract mode name from LTDL_INIT options. +require_ac_ltdl_mode=func_require_ac_ltdl_mode +func_require_ac_ltdl_mode () +{ + $debug_cmd + + $require_ac_ltdl_options + + case " $ac_ltdl_options " in + *" nonrecursive "*) ac_ltdl_mode=nonrecursive ;; + *" recursive "*) ac_ltdl_mode=recursive ;; + *" subproject "*) ac_ltdl_mode=subproject ;; + esac + + require_ac_ltdl_mode=: +} + + +# require_ac_ltdl_options +# ----------------------- +# Extract ac_ltdl_options from LTDL_INIT. +require_ac_ltdl_options=func_require_ac_ltdl_options +func_require_ac_ltdl_options () +{ + $debug_cmd + + $require_configure_ac + + if test -n "$configure_ac"; then + func_extract_trace_first LTDL_INIT + ac_ltdl_options=$func_extract_trace_first_result + + case $ac_ltdl_options in + *\$*) + func_fatal_error "\ +cannot expand unknown variable in LTDL_INIT argument." + ;; + esac + fi + + require_ac_ltdl_mode=: +} + + +# require_ac_macro_dir +# -------------------- +# Extract ac_macro_dir from AC_CONFIG_MACRO_DIRS. +require_ac_macro_dir=func_require_ac_macro_dir +func_require_ac_macro_dir () +{ + $debug_cmd + + $require_configure_ac + + if test -n "$configure_ac"; then + func_extract_trace_first AC_CONFIG_MACRO_DIRS + ac_macro_dir=`expr "x$func_extract_trace_first_result" : 'x\([^ ]*\)'` + + test -n "$ac_macro_dir" || { + func_extract_trace_first AC_CONFIG_MACRO_DIR + ac_macro_dir=$func_extract_trace_first_result + } + fi + + require_ac_macro_dir=: +} + + +# require_aux_dir +# --------------- +# Set aux_dir according to AC_CONFIG_AUX_DIR or else use the same +# heuristics as Autoconf to intuit an appropriate setting. +require_aux_dir=func_require_aux_dir +func_require_aux_dir () +{ + $debug_cmd + + $require_ac_aux_dir + + test -z "$aux_dir" && aux_dir=$ac_aux_dir + + # Subproject ltdl without $configure_ac keeps pkgauxfiles in + # specified --ltdl optarg directory. + test -z "$aux_dir" && $opt_ltdl && { + $require_configure_ac + + test -n "$configure_ac" || { + $require_ltdl_dir + $require_ltdl_mode + + test subproject = "$ltdl_mode" && aux_dir=$ltdl_dir + } + } + + test -z "$aux_dir" && { + # Try to intuit aux_dir using the same heuristic as Autoconf. + for _G_dir in . .. ../..; do + if test -f "$_G_dir/install-sh" || test -f "$_G_dir/install.sh" + then + aux_dir=$_G_dir + break + fi + done + } + + # Use the current directory if all else fails. + test -z "$aux_dir" && aux_dir=. + + require_aux_dir=: +} + + +# require_configure_ac +# -------------------- +# Ensure that there is a 'configure.ac' or 'configure.in' file in this +# directory, and that '$configure_ac' contains its name. +require_configure_ac=func_require_configure_ac +func_require_configure_ac () +{ + $debug_cmd + + test -z "$configure_ac" \ + && func_autoconf_configure configure.ac && configure_ac=configure.ac + test -z "$configure_ac" \ + && func_autoconf_configure configure.in && configure_ac=configure.in + test -z "$configure_ac" \ + || func_verbose "found '$configure_ac'" + + require_configure_ac=: +} + + +# require_filter_Makefile_am +# -------------------------- +# Set 'filter_Makefile_am' ready for passing to func_copy when libltdl's +# stock Makefile.am contents need to be filtered to work in recursive +# mode. +require_filter_Makefile_am=func_require_filter_Makefile_am +func_require_filter_Makefile_am () +{ + $debug_cmd + + $require_ltdl_mode + + case $ltdl_mode in + recursive) + filter_Makefile_am=' + /^[^#]/{ + s|(LIBOBJS)|(ltdl_LIBOBJS)|g + s|(LTLIBOBJS)|(ltdl_LTLIBOBJS)|g + }' + ;; + + subproject) + # Adjust default relative macro_dir paths. + $require_ltdl_am_macro_dir + + func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" '-I ' + test -z "$func_make_relative_ltdl_filter_result" || { + func_append filter_Makefile_am " + /^ACLOCAL_AMFLAGS = /{ + $func_make_relative_ltdl_filter_result + }" + } + func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" 'dir)' + func_append filter_Makefile_am "$func_make_relative_ltdl_filter_result" + + # Adjust default relative aux_dir paths. + $require_ltdl_ac_aux_dir + func_make_relative_ltdl_filter "$ltdl_ac_aux_dir" "$aux_dir" + func_append filter_Makefile_am "$func_make_relative_ltdl_filter_result" + ;; + esac + + require_filter_Makefile_am=: +} + + +# require_filter_aclocal_m4 +# ------------------------- +# Set 'filter_aclocal_m4' ready for passing to func_copy when libltdl's +# stock aclocal.m4 contents need to be filtered to work in recursive +# mode. +require_filter_aclocal_m4=func_require_filter_aclocal_m4 +func_require_filter_aclocal_m4 () +{ + $debug_cmd + + $require_ltdl_am_macro_dir + + func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" + + test -z "$func_make_relative_ltdl_filter_result" || { + func_append filter_aclocal_m4 " + /^[m]4_include(/{ + $func_make_relative_ltdl_filter_result + }" + } + + require_filter_aclocal_m4=: +} + + +# require_filter_configure_ac +# --------------------------- +# Set 'filter_configure_ac' ready for passing to func_copy when +# libltdl's stock configure.ac contents need to be filtered to work in +# subproject mode. +require_filter_configure_ac=func_require_filter_configure_ac +func_require_filter_configure_ac () +{ + $debug_cmd + + $require_ltdl_ac_aux_dir + + func_make_relative_ltdl_filter "$ltdl_ac_aux_dir" "$aux_dir" + func_append filter_configure_ac "$func_make_relative_ltdl_filter_result" + + require_filter_configure_ac=: +} + + +# require_filter_ltdl_mk +# ---------------------- +# Set 'filter_ltdl_mk' ready for passing to func_copy in order for the +# contents of ltdl.mk to match the nonrecursive libltdl directory into +# which it is copied. +require_filter_ltdl_mk=func_require_filter_ltdl_mk +func_require_filter_ltdl_mk () +{ + $debug_cmd + + $require_ltdl_dir + + # Note that we strip comments right here, rather than rely on + # using a $SED that allows comments. + my_uscore=`$ECHO "$ltdl_dir" | $SED 's|[/.+-]|_|g'` + filter_ltdl_mk=`$ECHO ' + /^[^#]/{ + + # Use only libltdl conditional objects. + s|(LIBOBJS)|(ltdl_LIBOBJS)|g + s|(LTLIBOBJS)|(ltdl_LTLIBOBJS)|g + + # Convert libltdl path and variable sections to $ltdl_dir. + s|libltdl_|@my_uscore@_| + s|libltdl/|@ltdl_dir@/| + s|: libltdl/|: @ltdl_dir@/| + s| -Ilibltdl | -I@ltdl_dir@ | + s|\$(libltdl_|\$(@my_uscore@_| + s|)/libltdl |)/@ltdl_dir@ | + s|@my_uscore@|'"$my_uscore"'|g + s|@ltdl_dir@|'"$ltdl_dir"'|g + + }' | $SED '/^[ ]*#/d;/^$/d'` + + require_filter_ltdl_mk=: +} + + +# require_ltdl_ac_aux_dir +# ----------------------- +# This needs to work in subproject mode, when GNU M4 may not be +# available and hence extract-trace can't be used. But since we +# installed libltdl/configure.ac, then we already know what value +# we used. +require_ltdl_ac_aux_dir=func_require_ltdl_ac_aux_dir +func_require_ltdl_ac_aux_dir () +{ + $debug_cmd + + ltdl_ac_aux_dir="@ltdl_ac_aux_dir@" + func_verbose "ltdl_ac_aux_dir='$ltdl_ac_aux_dir'" + + require_ltdl_ac_aux_dir=: +} + + +# require_ltdl_dir +# ---------------- +# If both are specified, ensure both --ltdl=LTDL_DIR and +# LT_CONFIG_LTDL_DIR agree, and set ltdl_dir to the value of either. +require_ltdl_dir=func_require_ltdl_dir +func_require_ltdl_dir () +{ + $debug_cmd + + $require_ac_ltdl_dir + + test -z "$ltdl_dir" && ltdl_dir=$ac_ltdl_dir + test -z "$ltdl_dir" && $opt_ltdl && ltdl_dir=libltdl + + if test -n "$ac_ltdl_dir"; then + test "$ac_ltdl_dir" = "$ltdl_dir" || func_fatal_error "\ +--ltdl='$ltdl_dir' does not match LT_CONFIG_LTDL_DIR($ac_ltdl_dir)" + fi + + require_ltdl_dir=: +} + + +# require_ltdl_mode +# ----------------- +# If both are specified, ensure both command line setting and LTDL_INIT +# option agree, and set ltdl_mode to the value of either. +require_ltdl_mode=func_require_ltdl_mode +func_require_ltdl_mode () +{ + $debug_cmd + + $require_ac_ltdl_mode + + test -z "$ltdl_mode" && ltdl_mode=$ac_ltdl_mode + test -z "$ltdl_mode" && { + $require_ltdl_dir + + test -n "$ltdl_dir" && ltdl_mode=subproject + } + + if test -n "$ac_ltdl_mode"; then + test "$ac_ltdl_mode" = "$ltdl_mode" || func_fatal_error "\ +--$ltdl_mode does not match LTDL_INIT($ac_ltdl_mode)" + fi + + func_verbose "ltdl mode='$ltdl_mode'" + + require_ltdl_mode=: +} + + +# require_macro_dir +# ----------------- +# If both are specified, ensure both ACLOCAL_AMFLAGS and +# AC_CONFIG_MACRO_DIRS agree, and set macro_dir to the value of either. +require_macro_dir=func_require_macro_dir +func_require_macro_dir () +{ + $debug_cmd + + $require_ac_macro_dir + $require_am_macro_dir + + # AC_CONFIG_MACRO_DIRS takes precedence. + macro_dir=$ac_macro_dir + + # Followed by first -I optarg from ACLOCAL_AMFLAGS. + test -z "$macro_dir" && macro_dir=$am_macro_dir + + # Subproject ltdl without either of the above keeps macros in + # specified --ltdl optarg subdirectory. + test -z "$macro_dir" && $opt_ltdl && { + $require_ltdl_dir + $require_ltdl_mode + + test subproject = "$ltdl_mode" && macro_dir=$ltdl_dir/m4 + } + + # Use ./m4 as the last resort. + test -z "$macro_dir" && macro_dir=m4 + + # Diagnose conflicts. + if test -n "$ac_macro_dir" && test -n "$am_macro_dir"; then + test "$ac_macro_dir" = "$am_macro_dir" || func_fatal_error "\ +AC_CONFIG_MACRO_DIRS([$ac_macro_dir]) conflicts with ACLOCAL_AMFLAGS=-I $am_macro_dir." + fi + + require_macro_dir=: +} + + +# require_seen_ltdl +# ----------------- +# Determine from contents of $configure_ac whether this project contains +# libltdl. +require_seen_ltdl=func_require_seen_ltdl +func_require_seen_ltdl () +{ + $debug_cmd + + $require_configure_ac + + if test -n "$configure_ac"; then + func_extract_trace AC_LIB_LTDL,AC_WITH_LTDL,LT_WITH_LTDL,LTDL_INIT + test -n "$func_extract_trace_result" && seen_ltdl=: + fi + test -n "$seen_ltdl" || seen_ltdl=false + + $seen_ltdl && func_verbose "found LTDL_INIT invocation" + + require_seen_ltdl=: +} + + +# require_seen_libtool +# -------------------- +# Determine from contents of $configure_ac whether this project is using +# Libtool to compile (some of) its objects. +require_seen_libtool=func_require_seen_libtool +func_require_seen_libtool () +{ + $debug_cmd + + $require_configure_ac + + if test -n "$configure_ac"; then + func_extract_trace AM_PROG_LIBTOOL,AC_PROG_LIBTOOL,LT_INIT + test -n "$func_extract_trace_result" && seen_libtool=: + fi + test -n "$seen_libtool" || seen_libtool=false + + $seen_libtool && func_verbose "found LT_INIT invocation" + + require_seen_libtool=: +} + + + +## ----------- ## +## Main. ## +## ----------- ## + +{ + # Lists of all files libtoolize has ever installed. These are removed + # before installing the latest files when --force was passed to help + # ensure a clean upgrade. + # Do not remove config.guess, config.sub or install-sh, we don't + # install them without --install, and the project may not be using + # Automake. Similarly, do not remove Gnulib files. + all_pkgaux_files="compile depcomp missing ltmain.sh" + all_pkgmacro_files="libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 ltversion.in ltversion.m4 lt~obsolete.m4" + all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__argz.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__argz.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h ltdl.mk slist.c" + + # Files installed by func_install_*, some files are missing from these + # lists deliberately because their respective func_install has to handle + # the missing filenames specially. + pkgaux_files="@pkgaux_files@" + pkgltdl_files="@pkgltdl_files@" + pkgmacro_files="@pkgmacro_files@" + + # Locations for important files: + prefix="@prefix@" + datadir="@datadir@" + pkgauxdir="@pkgauxdir@" + pkgltdldir="@pkgdatadir@" + aclocaldir="@aclocaldir@" + + # Allow the user to override the master libtoolize repository: + if test -n "$_lt_pkgdatadir"; then + pkgauxdir=$_lt_pkgdatadir/build-aux + pkgltdldir=$_lt_pkgdatadir/libltdl + aclocaldir=$_lt_pkgdatadir/m4 + fi + func_nonemptydir_p pkgauxdir + func_nonemptydir_p pkgltdldir + func_nonemptydir_p aclocaldir + + extract_trace=$pkgauxdir/extract-trace + + # :::BE CAREFUL HERE::: + # func_check_macros needs to check whether --ltdl was specified when + # LTDL_INIT was not seen, so we can't just use one variable for both + # conditions, or that check will be impossible. No need to clutter the + # rest of the code with '$opt_ltdl || $seen_ltdl' though, because we CAN + # safely set opt_ltdl to true if LTDL_INIT was seen: + $require_seen_ltdl + $seen_ltdl && opt_ltdl=: + + func_install_pkgaux_files + func_install_pkgmacro_files + func_install_pkgltdl_files + + func_check_macros +} + +exit $exit_status + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/BUILD/libtool-2.4.7/m4/00gnulib.m4 b/BUILD/libtool-2.4.7/m4/00gnulib.m4 new file mode 100644 index 0000000..dea34e8 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/00gnulib.m4 @@ -0,0 +1,85 @@ +# 00gnulib.m4 serial 8 +dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This file must be named something that sorts before all other +dnl gnulib-provided .m4 files. It is needed until the clang fix has +dnl been included in Autoconf. + +# The following definitions arrange to use a compiler option +# -Werror=implicit-function-declaration in AC_CHECK_DECL, when the +# compiler is clang. Without it, clang implicitly declares "known" +# library functions in C mode, but not in C++ mode, which would cause +# Gnulib to omit a declaration and thus later produce an error in C++ +# mode. As of clang 9.0, these "known" functions are identified through +# LIBBUILTIN invocations in the LLVM source file +# llvm/tools/clang/include/clang/Basic/Builtins.def. +# It's not possible to AC_REQUIRE the extra tests from AC_CHECK_DECL, +# because AC_CHECK_DECL, like other Autoconf built-ins, is not supposed +# to AC_REQUIRE anything: some configure.ac files have their first +# AC_CHECK_DECL executed conditionally. Therefore append the extra tests +# to AC_PROG_CC. +AC_DEFUN([gl_COMPILER_CLANG], +[ +dnl AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([whether the compiler is clang], + [gl_cv_compiler_clang], + [dnl Use _AC_COMPILE_IFELSE instead of AC_EGREP_CPP, to avoid error + dnl "circular dependency of AC_LANG_COMPILER(C)" if AC_PROG_CC has + dnl not yet been invoked. + _AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + #ifdef __clang__ + barfbarf + #endif + ]],[[]]) + ], + [gl_cv_compiler_clang=no], + [gl_cv_compiler_clang=yes]) + ]) +]) +AC_DEFUN([gl_COMPILER_PREPARE_CHECK_DECL], +[ +dnl AC_REQUIRE([AC_PROG_CC]) +dnl AC_REQUIRE([gl_COMPILER_CLANG]) + AC_CACHE_CHECK([for compiler option needed when checking for declarations], + [gl_cv_compiler_check_decl_option], + [if test $gl_cv_compiler_clang = yes; then + dnl Test whether the compiler supports the option + dnl '-Werror=implicit-function-declaration'. + save_ac_compile="$ac_compile" + ac_compile="$ac_compile -Werror=implicit-function-declaration" + dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a + dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". + _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], + [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'], + [gl_cv_compiler_check_decl_option=none]) + ac_compile="$save_ac_compile" + else + gl_cv_compiler_check_decl_option=none + fi + ]) + if test "x$gl_cv_compiler_check_decl_option" != xnone; then + ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" + else + ac_compile_for_check_decl="$ac_compile" + fi +]) +dnl Redefine _AC_CHECK_DECL_BODY so that it references ac_compile_for_check_decl +dnl instead of ac_compile. If, for whatever reason, the override of AC_PROG_CC +dnl in zzgnulib.m4 is inactive, use the original ac_compile. +m4_define([_AC_CHECK_DECL_BODY], +[ ac_save_ac_compile="$ac_compile" + if test -n "$ac_compile_for_check_decl"; then + ac_compile="$ac_compile_for_check_decl" + fi] +m4_defn([_AC_CHECK_DECL_BODY])[ ac_compile="$ac_save_ac_compile" +]) + +# gl_00GNULIB +# ----------- +# Witness macro that this file has been included. Needed to force +# Automake to include this file prior to all other gnulib .m4 files. +AC_DEFUN([gl_00GNULIB]) diff --git a/BUILD/libtool-2.4.7/m4/autobuild.m4 b/BUILD/libtool-2.4.7/m4/autobuild.m4 new file mode 100644 index 0000000..2d54154 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/autobuild.m4 @@ -0,0 +1,40 @@ +# autobuild.m4 serial 7 +dnl Copyright (C) 2004, 2006-2019, 2021-2022 Free Software Foundation, +dnl Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Simon Josefsson + +# Usage: AB_INIT([MODE]). +AC_DEFUN([AB_INIT], +[ + AC_REQUIRE([AC_CANONICAL_BUILD]) + AC_REQUIRE([AC_CANONICAL_HOST]) + + if test -z "$AB_PACKAGE"; then + AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} + fi + AC_MSG_NOTICE([autobuild project... $AB_PACKAGE]) + + if test -z "$AB_VERSION"; then + AB_VERSION=${PACKAGE_VERSION:-$VERSION} + fi + AC_MSG_NOTICE([autobuild revision... $AB_VERSION]) + + hostname=`hostname` + if test "$hostname"; then + AC_MSG_NOTICE([autobuild hostname... $hostname]) + fi + + ifelse([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])]) + + date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` + if test "$?" != 0; then + date=`date` + fi + if test "$date"; then + AC_MSG_NOTICE([autobuild timestamp... $date]) + fi +]) diff --git a/BUILD/libtool-2.4.7/m4/gnulib-common.m4 b/BUILD/libtool-2.4.7/m4/gnulib-common.m4 new file mode 100644 index 0000000..dbc4079 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/gnulib-common.m4 @@ -0,0 +1,1069 @@ +# gnulib-common.m4 serial 72 +dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_PREREQ([2.62]) + +# gl_COMMON +# is expanded unconditionally through gnulib-tool magic. +AC_DEFUN([gl_COMMON], [ + dnl Use AC_REQUIRE here, so that the code is expanded once only. + AC_REQUIRE([gl_00GNULIB]) + AC_REQUIRE([gl_COMMON_BODY]) + AC_REQUIRE([gl_ZZGNULIB]) +]) +AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([_GL_GNUC_PREREQ], +[/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define _GL_GNUC_PREREQ(major, minor) \ + ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) +#else +# define _GL_GNUC_PREREQ(major, minor) 0 +#endif +]) + AH_VERBATIM([_Noreturn], +[/* The _Noreturn keyword of C11. */ +#ifndef _Noreturn +# if (defined __cplusplus \ + && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ + || (defined _MSC_VER && 1900 <= _MSC_VER)) \ + && 0) + /* [[noreturn]] is not practically usable, because with it the syntax + extern _Noreturn void func (...); + would not be valid; such a declaration would only be valid with 'extern' + and '_Noreturn' swapped, or without the 'extern' keyword. However, some + AIX system header files and several gnulib header files use precisely + this syntax with 'extern'. */ +# define _Noreturn [[noreturn]] +# elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || (!defined __STRICT_ANSI__ \ + && (_GL_GNUC_PREREQ (4, 7) \ + || (defined __apple_build_version__ \ + ? 6000000 <= __apple_build_version__ \ + : 3 < __clang_major__ + (5 <= __clang_minor__)))))) + /* _Noreturn works as-is. */ +# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif +]) + AH_VERBATIM([isoc99_inline], +[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for Mac OS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif]) + AH_VERBATIM([attribute], +[/* Attributes. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || 3 < __clang_major__ + (5 <= __clang_minor__))) +# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) +#else +# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr +# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) +# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) +# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_diagnose_if 0 +# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) +# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) +# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) +# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) +# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) +# ifdef _ICC +# define _GL_ATTR_may_alias 0 +# else +# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) +# endif +# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) +# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) +# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) +# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) +# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) +# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) +# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) +# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) +#endif + +#ifdef __has_c_attribute +# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +#else +# define _GL_HAS_C_ATTRIBUTE(attr) 0 +#endif + +]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's _Alignas instead. +[ +/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function + is the size of the returned memory block. + _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied + by the Nth argument of the function is the size of the returned memory block. + */ +/* Applies to: function, pointer to function, function types. */ +#if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +#else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#endif + +/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the + function and report an error if it cannot do so. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +#endif + +/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show + in stack traces when debugging. The compiler should omit the function from + stack traces. */ +/* Applies to: function. */ +#if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +#else +# define _GL_ATTRIBUTE_ARTIFICIAL +#endif + +/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ +/* Applies to: functions. */ +/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at + . + Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ +#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif +#else +# define _GL_ATTRIBUTE_COLD +#endif + +/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate + calls to the function with the same arguments. + This attribute is safe for a function that neither depends on nor affects + observable state, and always returns exactly once - e.g., does not loop + forever, and does not call longjmp. + (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST +#endif + +/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers + that can be freed by passing them as the Ith argument to the + function F. + _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that + can be freed via 'free'; it can be used only after declaring 'free'. */ +/* Applies to: functions. Cannot be used on inline functions. */ +#if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +#else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +#endif +/* If gnulib's or has already defined this macro, continue + to use this earlier definition, since may not have been included + yet. */ +#ifndef _GL_ATTRIBUTE_DEALLOC_FREE +# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +#endif + +/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. + The compiler may warn if the entity is used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: namespace, class, template specialization. */ +#if _GL_HAS_C_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +#elif _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +#else +# define _GL_ATTRIBUTE_DEPRECATED +#endif + +/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and + the function call is not optimized away. + _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and + the function call is not optimized away. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +#elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +#else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +#endif + +/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain + visible to debuggers etc., even with '-fwhole-program'. */ +/* Applies to: functions, variables. */ +#if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +#else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#endif + +/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if + the control flow falls through to the immediately following 'case' or + 'default' label. The compiler should not warn in this case. */ +/* Applies to: Empty statement (;), inside a 'switch' statement. */ +/* Always expands to something. */ +#if _GL_HAS_C_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +#elif _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +#else +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#endif + +/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) + declares that the STRING-INDEXth function argument is a format string of + style ARCHETYPE, which is one of: + printf, gnu_printf + scanf, gnu_scanf, + strftime, gnu_strftime, + strfmon, + or the same thing prefixed and suffixed with '__'. + If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK + are suitable for the format string. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define _GL_ATTRIBUTE_FORMAT(spec) +#endif + +/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other + compilation unit, it executes code from that unit only by return or by + exception handling. This declaration lets the compiler optimize that unit + more aggressively. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +#else +# define _GL_ATTRIBUTE_LEAF +#endif + +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +#else +# define _GL_ATTRIBUTE_MALLOC +#endif + +/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the + same storage as pointers to other types. Thus this declaration disables + strict aliasing optimization. */ +/* Applies to: types. */ +/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ +#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +#else +# define _GL_ATTRIBUTE_MAY_ALIAS +#endif + +/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if + the entity is not used. The compiler should not warn if the entity is not + used. */ +/* Applies to: + - function, variable, + - struct, union, struct/union member, + - enumeration, enumeration item, + - typedef, + in C++ also: class. */ +/* In C++ and C2x, this is spelled [[__maybe_unused__]]. + GCC's syntax is __attribute__ ((__unused__)). + clang supports both syntaxes. */ +#if _GL_HAS_C_ATTRIBUTE (maybe_unused) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +#else +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +#endif +/* Alternative spelling of this macro, for convenience. */ +#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED +/* Earlier spellings of this macro. */ +#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED + +/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not + discard the return value. The compiler may warn if the caller does not use + the return value, unless the caller uses something like ignore_value. */ +/* Applies to: function, enumeration, class. */ +#if _GL_HAS_C_ATTRIBUTE (nodiscard) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +#elif _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +#else +# define _GL_ATTRIBUTE_NODISCARD +#endif + +/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the + function. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +#else +# define _GL_ATTRIBUTE_NOINLINE +#endif + +/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... + must not be NULL. + _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be + null. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +#else +# define _GL_ATTRIBUTE_NONNULL(args) +#endif + +/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is + not meant to be NUL-terminated. */ +/* Applies to: struct/union members and variables that are arrays of element + type '[[un]signed] char'. */ +#if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +#else +# define _GL_ATTRIBUTE_NONSTRING +#endif + +/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +#else +# define _GL_ATTRIBUTE_NOTHROW +#endif + +/* _GL_ATTRIBUTE_PACKED declares: + For struct members: The member has the smallest possible alignment. + For struct, union, class: All members have the smallest possible alignment, + minimizing the memory required. */ +/* Applies to: struct members, struct, union, + in C++ also: class. */ +#if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +#else +# define _GL_ATTRIBUTE_PACKED +#endif + +/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate + calls to the function with the same arguments if observable state is not + changed between calls. + This attribute is safe for a function that does not affect + observable state, and always returns exactly once. + (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE +#endif + +/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is + a non-NULL pointer. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +#else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +#endif + +/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a + trailing NULL argument. + _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). + _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ +/* Applies to: functions. */ +#if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +#else +# define _GL_ATTRIBUTE_SENTINEL(pos) +#endif + +/* A helper macro. Don't use it directly. */ +#if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_ATTRIBUTE_UNUSED +#endif + +]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead. +[ +/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the + immediately preceding label is not used. The compiler should not warn + if the label is not used. */ +/* Applies to: label (both in C and C++). */ +/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' + syntax. But clang does. */ +#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif +]) + AH_VERBATIM([async_safe], +[/* The _GL_ASYNC_SAFE marker should be attached to functions that are + signal handlers (for signals other than SIGABRT, SIGPIPE) or can be + invoked from such signal handlers. Such functions have some restrictions: + * All functions that it calls should be marked _GL_ASYNC_SAFE as well, + or should be listed as async-signal-safe in POSIX + + section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in + particular, are NOT async-signal-safe. + * All memory locations (variables and struct fields) that these functions + access must be marked 'volatile'. This holds for both read and write + accesses. Otherwise the compiler might optimize away stores to and + reads from such locations that occur in the program, depending on its + data flow analysis. For example, when the program contains a loop + that is intended to inspect a variable set from within a signal handler + while (!signal_occurred) + ; + the compiler is allowed to transform this into an endless loop if the + variable 'signal_occurred' is not declared 'volatile'. + Additionally, recall that: + * A signal handler should not modify errno (except if it is a handler + for a fatal signal and ends by raising the same signal again, thus + provoking the termination of the process). If it invokes a function + that may clobber errno, it needs to save and restore the value of + errno. */ +#define _GL_ASYNC_SAFE +]) + AH_VERBATIM([micro_optimizations], +[/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where + n1 and n2 are expressions without side effects, that evaluate to real + numbers (excluding NaN). + It returns + 1 if n1 > n2 + 0 if n1 == n2 + -1 if n1 < n2 + The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional + jump with nearly all GCC versions up to GCC 10. + This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many + GCC versions up to GCC 9. + The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 + avoids conditional jumps in all GCC versions >= 3.4. */ +#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) +]) + dnl Hint which direction to take regarding cross-compilation guesses: + dnl When a user installs a program on a platform they are not intimately + dnl familiar with, --enable-cross-guesses=conservative is the appropriate + dnl choice. It implements the "If we don't know, assume the worst" principle. + dnl However, when an operating system developer (on a platform which is not + dnl yet known to gnulib) builds packages for their platform, they want to + dnl expose, not hide, possible platform bugs; in this case, + dnl --enable-cross-guesses=risky is the appropriate choice. + dnl Sets the variables + dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad), + dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad). + AC_ARG_ENABLE([cross-guesses], + [AS_HELP_STRING([--enable-cross-guesses={conservative|risky}], + [specify policy for cross-compilation guesses])], + [if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then + AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses]) + enableval=conservative + fi + gl_cross_guesses="$enableval"], + [gl_cross_guesses=conservative]) + if test $gl_cross_guesses = risky; then + gl_cross_guess_normal="guessing yes" + gl_cross_guess_inverted="guessing no" + else + gl_cross_guess_normal="guessing no" + gl_cross_guess_inverted="guessing yes" + fi + dnl Preparation for running test programs: + dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not + dnl to /dev/tty, so they can be redirected to log files. Such diagnostics + dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. + LIBC_FATAL_STDERR_=1 + export LIBC_FATAL_STDERR_ +]) + +# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename]) +# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename], [initialvalue]) +# initializes the shell variable that indicates the presence of the given module +# as a C preprocessor expression. +AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE], +[ + GL_MODULE_INDICATOR_PREFIX[]_[$1]=m4_if([$2], , [0], [$2]) + AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1]) +]) + +# gl_MODULE_INDICATOR_CONDITION +# expands to a C preprocessor expression that evaluates to 1 or 0, depending +# whether a gnulib module that has been requested shall be considered present +# or not. +m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) + +# gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) +# sets the shell variable that indicates the presence of the given module to +# a C preprocessor expression that will evaluate to 1. +AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], +[ + gl_MODULE_INDICATOR_SET_VARIABLE_AUX( + [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], + [gl_MODULE_INDICATOR_CONDITION]) +]) + +# gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable]) +# modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION. +# The shell variable's value is a C preprocessor expression that evaluates +# to 0 or 1. +AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], +[ + m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], + [ + dnl Simplify the expression VALUE || 1 to 1. + $1=1 + ], + [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], + [gl_MODULE_INDICATOR_CONDITION])]) +]) + +# gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition]) +# modifies the shell variable to include the given condition. The shell +# variable's value is a C preprocessor expression that evaluates to 0 or 1. +AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], +[ + dnl Simplify the expression 1 || CONDITION to 1. + if test "$[]$1" != 1; then + dnl Simplify the expression 0 || CONDITION to CONDITION. + if test "$[]$1" = 0; then + $1=$2 + else + $1="($[]$1 || $2)" + fi + fi +]) + +# gl_MODULE_INDICATOR([modulename]) +# defines a C macro indicating the presence of the given module +# in a location where it can be used. +# | Value | Value | +# | in lib/ | in tests/ | +# --------------------------------------------+---------+-----------+ +# Module present among main modules: | 1 | 1 | +# --------------------------------------------+---------+-----------+ +# Module present among tests-related modules: | 0 | 1 | +# --------------------------------------------+---------+-----------+ +# Module not present at all: | 0 | 0 | +# --------------------------------------------+---------+-----------+ +AC_DEFUN([gl_MODULE_INDICATOR], +[ + AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), + [gl_MODULE_INDICATOR_CONDITION], + [Define to a C preprocessor expression that evaluates to 1 or 0, + depending whether the gnulib module $1 shall be considered present.]) +]) + +# gl_MODULE_INDICATOR_FOR_TESTS([modulename]) +# defines a C macro indicating the presence of the given module +# in lib or tests. This is useful to determine whether the module +# should be tested. +# | Value | Value | +# | in lib/ | in tests/ | +# --------------------------------------------+---------+-----------+ +# Module present among main modules: | 1 | 1 | +# --------------------------------------------+---------+-----------+ +# Module present among tests-related modules: | 1 | 1 | +# --------------------------------------------+---------+-----------+ +# Module not present at all: | 0 | 0 | +# --------------------------------------------+---------+-----------+ +AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], +[ + AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], + [Define to 1 when the gnulib module $1 should be tested.]) +]) + +# gl_ASSERT_NO_GNULIB_POSIXCHECK +# asserts that there will never be a need to #define GNULIB_POSIXCHECK. +# and thereby enables an optimization of configure and config.h. +# Used by Emacs. +AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], +[ + dnl Override gl_WARN_ON_USE_PREPARE. + dnl But hide this definition from 'aclocal'. + AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) +]) + +# gl_ASSERT_NO_GNULIB_TESTS +# asserts that there will be no gnulib tests in the scope of the configure.ac +# and thereby enables an optimization of config.h. +# Used by Emacs. +AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS], +[ + dnl Override gl_MODULE_INDICATOR_FOR_TESTS. + AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], []) +]) + +# Test whether exists. +# Set HAVE_FEATURES_H. +AC_DEFUN([gl_FEATURES_H], +[ + AC_CHECK_HEADERS_ONCE([features.h]) + if test $ac_cv_header_features_h = yes; then + HAVE_FEATURES_H=1 + else + HAVE_FEATURES_H=0 + fi + AC_SUBST([HAVE_FEATURES_H]) +]) + +# gl_PROG_CC_C99 +# Modifies the value of the shell variable CC in an attempt to make $CC +# understand ISO C99 source code. +AC_DEFUN([gl_PROG_CC_C99], +[ + dnl Just use AC_PROG_CC_C99. + dnl When AC_PROG_CC_C99 and AC_PROG_CC_STDC are used together, the substituted + dnl value of CC will contain the C99 enabling options twice. But this is only + dnl a cosmetic problem. + dnl With Autoconf >= 2.70, use AC_PROG_CC since it implies AC_PROG_CC_C99; + dnl this avoids a "warning: The macro `AC_PROG_CC_C99' is obsolete." + m4_version_prereq([2.70], + [AC_REQUIRE([AC_PROG_CC])], + [AC_REQUIRE([AC_PROG_CC_C99])]) +]) + +# gl_PROG_AR_RANLIB +# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. +# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override +# the values. +AC_DEFUN([gl_PROG_AR_RANLIB], +[ + dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler + dnl as "cc", and GCC as "gcc". They have different object file formats and + dnl library formats. In particular, the GNU binutils programs ar and ranlib + dnl produce libraries that work only with gcc, not with cc. + AC_REQUIRE([AC_PROG_CC]) + dnl The '][' hides this use from 'aclocal'. + AC_BEFORE([$0], [A][M_PROG_AR]) + AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], + [ + AC_EGREP_CPP([Amsterdam], + [ +#ifdef __ACK__ +Amsterdam +#endif + ], + [gl_cv_c_amsterdam_compiler=yes], + [gl_cv_c_amsterdam_compiler=no]) + ]) + + dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not + dnl building with __ACK__. + if test $gl_cv_c_amsterdam_compiler = yes; then + if test -z "$AR"; then + AR='cc -c.a' + fi + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + dnl AM_PROG_AR was added in automake v1.11.2. AM_PROG_AR does not AC_SUBST + dnl ARFLAGS variable (it is filed into Makefile.in directly by automake + dnl script on-demand, if not specified by ./configure of course). + dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above + dnl will be ignored. Also, pay attention to call AM_PROG_AR in else block + dnl because AM_PROG_AR is written so it could re-set AR variable even for + dnl __ACK__. It may seem like its easier to avoid calling the macro here, + dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good + dnl default value and automake should usually know them). + dnl + dnl The '][' hides this use from 'aclocal'. + m4_ifdef([A][M_PROG_AR], [A][M_PROG_AR], [:]) + fi + + dnl In case the code above has not helped with setting AR/ARFLAGS, use + dnl Automake-documented default values for AR and ARFLAGS, but prefer + dnl ${host}-ar over ar (useful for cross-compiling). + AC_CHECK_TOOL([AR], [ar], [ar]) + if test -z "$ARFLAGS"; then + ARFLAGS='cr' + fi + + AC_SUBST([AR]) + AC_SUBST([ARFLAGS]) + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + dnl Use the ranlib program if it is available. + AC_PROG_RANLIB + fi + fi + AC_SUBST([RANLIB]) +]) + +# AC_C_RESTRICT +# This definition is copied from post-2.70 Autoconf and overrides the +# AC_C_RESTRICT macro from autoconf 2.60..2.70. +m4_version_prereq([2.70.1], [], [ +AC_DEFUN([AC_C_RESTRICT], +[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], + [ac_cv_c_restrict=no + # Put '__restrict__' first, to avoid problems with glibc and non-GCC; see: + # https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html + # Put 'restrict' last, because C++ lacks it. + for ac_kw in __restrict__ __restrict _Restrict restrict; do + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[typedef int *int_ptr; + int foo (int_ptr $ac_kw ip) { return ip[0]; } + int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ + int bar (int ip[$ac_kw]) { return ip[0]; } + ]], + [[int s[1]; + int *$ac_kw t = s; + t[0] = 0; + return foo (t) + bar (t); + ]])], + [ac_cv_c_restrict=$ac_kw]) + test "$ac_cv_c_restrict" != no && break + done + ]) + AH_VERBATIM([restrict], +[/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported only directly. */ +#undef restrict +/* Work around a bug in older versions of Sun C++, which did not + #define __restrict__ or support _Restrict or __restrict__ + even though the corresponding Sun C compiler ended up with + "#define restrict _Restrict" or "#define restrict __restrict__" + in the previous line. This workaround can be removed once + we assume Oracle Developer Studio 12.5 (2016) or later. */ +#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__ +# define _Restrict +# define __restrict__ +#endif]) + case $ac_cv_c_restrict in + restrict) ;; + no) AC_DEFINE([restrict], []) ;; + *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; + esac +])# AC_C_RESTRICT +]) + +# gl_BIGENDIAN +# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. +# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some +# macros invoke AC_C_BIGENDIAN with arguments. +AC_DEFUN([gl_BIGENDIAN], +[ + AC_C_BIGENDIAN +]) + +# A temporary file descriptor. +# Must be less than 10, because dash 0.5.8 does not support redirections +# with multi-digit file descriptors. +m4_define([GL_TMP_FD], 9) + +# gl_SILENT(command) +# executes command, but without the normal configure output. +# This is useful when you want to invoke AC_CACHE_CHECK (or AC_CHECK_FUNC etc.) +# inside another AC_CACHE_CHECK. +AC_DEFUN([gl_SILENT], +[ + exec GL_TMP_FD>&AS_MESSAGE_FD AS_MESSAGE_FD>/dev/null + $1 + exec AS_MESSAGE_FD>&GL_TMP_FD GL_TMP_FD>&- +]) + +# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) +# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not +# output a spurious "(cached)" mark in the midst of other configure output. +# This macro should be used instead of AC_CACHE_VAL when it is not surrounded +# by an AC_MSG_CHECKING/AC_MSG_RESULT pair. +AC_DEFUN([gl_CACHE_VAL_SILENT], +[ + gl_SILENT([ + AC_CACHE_VAL([$1], [$2]) + ]) +]) + +# gl_CONDITIONAL(conditional, condition) +# is like AM_CONDITIONAL(conditional, condition), except that it does not +# produce an error +# configure: error: conditional "..." was never defined. +# Usually this means the macro was only invoked conditionally. +# when only invoked conditionally. Instead, in that case, both the _TRUE +# and the _FALSE case are disabled. +AC_DEFUN([gl_CONDITIONAL], +[ + pushdef([AC_CONFIG_COMMANDS_PRE], [:])dnl + AM_CONDITIONAL([$1], [$2]) + popdef([AC_CONFIG_COMMANDS_PRE])dnl + if test -z "${[$1]_TRUE}" && test -z "${[$1]_FALSE}"; then + [$1]_TRUE='#' + [$1]_FALSE='#' + fi +]) + +# gl_CC_ALLOW_WARNINGS +# sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option +# that reverts a preceding '-Werror' option, if available. +# This is expected to be '-Wno-error' on gcc, clang (except clang/MSVC), xlclang +# and empty otherwise. +AC_DEFUN([gl_CC_ALLOW_WARNINGS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_CACHE_CHECK([for C compiler option to allow warnings], + [gl_cv_cc_wallow], + [rm -f conftest* + echo 'int dummy;' > conftest.c + AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null + AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err]) >/dev/null + dnl Test the number of error output lines, because AIX xlc accepts the + dnl option '-Wno-error', just to produce a warning + dnl "Option -Wno-error was incorrectly specified. The option will be ignored." + dnl afterwards. + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cc_wallow='-Wno-error' + else + gl_cv_cc_wallow=none + fi + rm -f conftest* + ]) + case "$gl_cv_cc_wallow" in + none) GL_CFLAG_ALLOW_WARNINGS='' ;; + *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; + esac + AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) +]) + +# gl_CXX_ALLOW_WARNINGS +# sets and substitutes a variable GL_CXXFLAG_ALLOW_WARNINGS, to a $(CC) option +# that reverts a preceding '-Werror' option, if available. +AC_DEFUN([gl_CXX_ALLOW_WARNINGS], +[ + dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX. + if test -n "$CXX" && test "$CXX" != no; then + AC_CACHE_CHECK([for C++ compiler option to allow warnings], + [gl_cv_cxx_wallow], + [rm -f conftest* + echo 'int dummy;' > conftest.cc + AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null + AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err]) >/dev/null + dnl Test the number of error output lines, because AIX xlC accepts the + dnl option '-Wno-error', just to produce a warning + dnl "Option -Wno-error was incorrectly specified. The option will be ignored." + dnl afterwards. + if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then + gl_cv_cxx_wallow='-Wno-error' + else + gl_cv_cxx_wallow=none + fi + rm -f conftest* + ]) + case "$gl_cv_cxx_wallow" in + none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; + *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; + esac + else + GL_CXXFLAG_ALLOW_WARNINGS='' + fi + AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) +]) + +# gl_CC_GNULIB_WARNINGS +# sets and substitutes a variable GL_CFLAG_GNULIB_WARNINGS, to a $(CC) option +# set that enables or disables warnings as suitable for the Gnulib coding style. +AC_DEFUN([gl_CC_GNULIB_WARNINGS], +[ + AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) + dnl Assume that the compiler supports -Wno-* options only if it also supports + dnl -Wno-error. + GL_CFLAG_GNULIB_WARNINGS='' + if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then + dnl Enable these warning options: + dnl + dnl GCC clang + dnl -Wno-cast-qual >= 3 >= 3.9 + dnl -Wno-conversion >= 3 >= 3.9 + dnl -Wno-float-conversion >= 4.9 >= 3.9 + dnl -Wno-float-equal >= 3 >= 3.9 + dnl -Wimplicit-fallthrough >= 7 >= 3.9 + dnl -Wno-pedantic >= 4.8 >= 3.9 + dnl -Wno-sign-compare >= 3 >= 3.9 + dnl -Wno-sign-conversion >= 4.3 >= 3.9 + dnl -Wno-type-limits >= 4.3 >= 3.9 + dnl -Wno-undef >= 3 >= 3.9 + dnl -Wno-unsuffixed-float-constants >= 4.5 + dnl -Wno-unused-function >= 3 >= 3.9 + dnl -Wno-unused-parameter >= 3 >= 3.9 + dnl + cat > conftest.c <<\EOF + #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-cast-qual + -Wno-conversion + -Wno-float-equal + -Wno-sign-compare + -Wno-undef + -Wno-unused-function + -Wno-unused-parameter + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-float-conversion + #endif + #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wimplicit-fallthrough + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-pedantic + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-sign-conversion + -Wno-type-limits + #endif + #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 + -Wno-unsuffixed-float-constants + #endif +EOF + gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" + if AC_TRY_EVAL([gl_command]); then + gl_options=`grep -v '#' conftest.out` + for word in $gl_options; do + GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" + done + fi + rm -f conftest.c conftest.out + fi + AC_SUBST([GL_CFLAG_GNULIB_WARNINGS]) +]) + +dnl gl_CONDITIONAL_HEADER([foo.h]) +dnl takes a shell variable GL_GENERATE_FOO_H (with value true or false) as input +dnl and produces +dnl - an AC_SUBSTed variable FOO_H that is either a file name or empty, based +dnl on whether GL_GENERATE_FOO_H is true or false, +dnl - an Automake conditional GL_GENERATE_FOO_H that evaluates to the value of +dnl the shell variable GL_GENERATE_FOO_H. +AC_DEFUN([gl_CONDITIONAL_HEADER], +[ + m4_pushdef([gl_header_name], AS_TR_SH(m4_toupper($1))) + m4_pushdef([gl_generate_var], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) + m4_pushdef([gl_generate_cond], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) + case "$gl_generate_var" in + false) gl_header_name='' ;; + true) + dnl It is OK to use a .h file in lib/ from within tests/, but not vice + dnl versa. + if test -z "$gl_header_name"; then + gl_header_name="${gl_source_base_prefix}$1" + fi + ;; + *) echo "*** gl_generate_var is not set correctly" 1>&2; exit 1 ;; + esac + AC_SUBST(gl_header_name) + gl_CONDITIONAL(gl_generate_cond, [$gl_generate_var]) + m4_popdef([gl_generate_cond]) + m4_popdef([gl_generate_var]) + m4_popdef([gl_header_name]) +]) + +dnl Expands to some code for use in .c programs that, on native Windows, defines +dnl the Microsoft deprecated alias function names to the underscore-prefixed +dnl actual function names. With this macro, these function names are available +dnl without linking with '-loldnames' and without generating warnings. +dnl Usage: Use it after all system header files are included. +dnl #include <...> +dnl #include <...> +dnl ]GL_MDA_DEFINES[ +dnl ... +AC_DEFUN([GL_MDA_DEFINES],[ +AC_REQUIRE([_GL_MDA_DEFINES]) +[$gl_mda_defines] +]) +AC_DEFUN([_GL_MDA_DEFINES], +[gl_mda_defines=' +#if defined _WIN32 && !defined __CYGWIN__ +#define access _access +#define chdir _chdir +#define chmod _chmod +#define close _close +#define creat _creat +#define dup _dup +#define dup2 _dup2 +#define ecvt _ecvt +#define execl _execl +#define execle _execle +#define execlp _execlp +#define execv _execv +#define execve _execve +#define execvp _execvp +#define execvpe _execvpe +#define fcloseall _fcloseall +#define fcvt _fcvt +#define fdopen _fdopen +#define fileno _fileno +#define gcvt _gcvt +#define getcwd _getcwd +#define getpid _getpid +#define getw _getw +#define isatty _isatty +#define j0 _j0 +#define j1 _j1 +#define jn _jn +#define lfind _lfind +#define lsearch _lsearch +#define lseek _lseek +#define memccpy _memccpy +#define mkdir _mkdir +#define mktemp _mktemp +#define open _open +#define putenv _putenv +#define putw _putw +#define read _read +#define rmdir _rmdir +#define strdup _strdup +#define swab _swab +#define tempnam _tempnam +#define tzset _tzset +#define umask _umask +#define unlink _unlink +#define utime _utime +#define wcsdup _wcsdup +#define write _write +#define y0 _y0 +#define y1 _y1 +#define yn _yn +#endif +' +]) diff --git a/BUILD/libtool-2.4.7/m4/gnulib-comp.m4 b/BUILD/libtool-2.4.7/m4/gnulib-comp.m4 new file mode 100644 index 0000000..7b2af04 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/gnulib-comp.m4 @@ -0,0 +1,308 @@ +# DO NOT EDIT! GENERATED AUTOMATICALLY! +# Copyright (C) 2002-2022 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. +# +# This file represents the compiled summary of the specification in +# gnulib-cache.m4. It lists the computed macro invocations that need +# to be invoked from configure.ac. +# In projects that use version control, this file can be treated like +# other built files. + + +# This macro should be invoked from ./configure.ac, in the section +# "Checks for programs", right after AC_PROG_CC, and certainly before +# any checks for libraries, header files, types and library functions. +AC_DEFUN([GL_EARLY], +[ + m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace + m4_pattern_allow([^gl_ES$])dnl a valid locale name + m4_pattern_allow([^gl_LIBOBJS$])dnl a variable + m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable + + # Pre-early section. + AC_REQUIRE([gl_PROG_AR_RANLIB]) + + # Code from module all-shells-tests: + # Code from module announce-gen: + # Code from module bootstrap: + # Code from module do-release-commit-and-tag: + # Code from module extract-trace: + # Code from module funclib.sh: + # Code from module funclib.sh-tests: + # Code from module gendocs: + # Code from module git-version-gen: + # Code from module gitlog-to-changelog: + # Code from module gnu-web-doc-update: + # Code from module gnumakefile: + # Code from module gnupload: + # Code from module inline-source: + # Code from module maintainer-makefile: + # Code from module options-parser: + # Code from module options-parser-tests: + # Code from module readme-release: + # Code from module test-framework-sh: + # Code from module test-framework-sh-tests: + # Code from module update-copyright: + # Code from module update-copyright-tests: + # Code from module useless-if-before-free: + # Code from module vc-list-files: + # Code from module vc-list-files-tests: +]) + +# This macro should be invoked from ./configure.ac, in the section +# "Check for header files, types and library functions". +AC_DEFUN([GL_INIT], +[ + AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) + gl_cond_libtool=true + gl_m4_base='m4' + m4_pushdef([AC_LIBOBJ], m4_defn([GL_LIBOBJ])) + m4_pushdef([AC_REPLACE_FUNCS], m4_defn([GL_REPLACE_FUNCS])) + m4_pushdef([AC_LIBSOURCES], m4_defn([GL_LIBSOURCES])) + m4_pushdef([GL_LIBSOURCES_LIST], []) + m4_pushdef([GL_LIBSOURCES_DIR], []) + m4_pushdef([GL_MACRO_PREFIX], [GL]) + m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_GL]) + gl_COMMON + gl_source_base='lib' + gl_source_base_prefix= + # Autoconf 2.61a.99 and earlier don't support linking a file only + # in VPATH builds. But since GNUmakefile is for maintainer use + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. + GNUmakefile=GNUmakefile + m4_if(m4_version_compare([2.61a.100], + m4_defn([m4_PACKAGE_VERSION])), [1], [], + [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], + [GNUmakefile=$GNUmakefile])]) + AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER], + [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])]) + AC_REQUIRE([AC_PROG_SED]) + AC_REQUIRE([AC_PROG_GREP]) + # End of code from modules + m4_ifval(GL_LIBSOURCES_LIST, [ + m4_syscmd([test ! -d ]m4_defn([GL_LIBSOURCES_DIR])[ || + for gl_file in ]GL_LIBSOURCES_LIST[ ; do + if test ! -r ]m4_defn([GL_LIBSOURCES_DIR])[/$gl_file ; then + echo "missing file ]m4_defn([GL_LIBSOURCES_DIR])[/$gl_file" >&2 + exit 1 + fi + done])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) + m4_popdef([GL_MODULE_INDICATOR_PREFIX]) + m4_popdef([GL_MACRO_PREFIX]) + m4_popdef([GL_LIBSOURCES_DIR]) + m4_popdef([GL_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) + m4_popdef([AC_REPLACE_FUNCS]) + m4_popdef([AC_LIBOBJ]) + AC_CONFIG_COMMANDS_PRE([ + GL_libobjs= + GL_ltlibobjs= + GL_libobjdeps= + if test -n "$GL_LIBOBJS"; then + # Remove the extension. +changequote(,)dnl + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' +changequote([, ])dnl + for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GL_libobjs="$GL_libobjs $i.$ac_objext" + GL_ltlibobjs="$GL_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + AC_SUBST([GL_LIBOBJS], [$GL_libobjs]) + AC_SUBST([GL_LTLIBOBJS], [$GL_ltlibobjs]) + AC_SUBST([GL_LIBOBJDEPS], [$GL_libobjdeps]) + ]) + gltests_libdeps= + gltests_ltlibdeps= + m4_pushdef([AC_LIBOBJ], m4_defn([GLtests_LIBOBJ])) + m4_pushdef([AC_REPLACE_FUNCS], m4_defn([GLtests_REPLACE_FUNCS])) + m4_pushdef([AC_LIBSOURCES], m4_defn([GLtests_LIBSOURCES])) + m4_pushdef([GLtests_LIBSOURCES_LIST], []) + m4_pushdef([GLtests_LIBSOURCES_DIR], []) + m4_pushdef([GL_MACRO_PREFIX], [GLtests]) + m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_GL]) + gl_COMMON + AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) + AC_REQUIRE([gl_CXX_ALLOW_WARNINGS]) + gl_source_base='gnulib-tests' + gl_source_base_prefix= +changequote(,)dnl + GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS +changequote([, ])dnl + AC_SUBST([GLtests_WITNESS]) + gl_module_indicator_condition=$GLtests_WITNESS + m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + AC_SUBST([abs_aux_dir]) + abs_aux_dir=`cd "$ac_aux_dir"; pwd` + AC_SUBST([abs_aux_dir]) + m4_popdef([gl_MODULE_INDICATOR_CONDITION]) + m4_ifval(GLtests_LIBSOURCES_LIST, [ + m4_syscmd([test ! -d ]m4_defn([GLtests_LIBSOURCES_DIR])[ || + for gl_file in ]GLtests_LIBSOURCES_LIST[ ; do + if test ! -r ]m4_defn([GLtests_LIBSOURCES_DIR])[/$gl_file ; then + echo "missing file ]m4_defn([GLtests_LIBSOURCES_DIR])[/$gl_file" >&2 + exit 1 + fi + done])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) + m4_popdef([GL_MODULE_INDICATOR_PREFIX]) + m4_popdef([GL_MACRO_PREFIX]) + m4_popdef([GLtests_LIBSOURCES_DIR]) + m4_popdef([GLtests_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) + m4_popdef([AC_REPLACE_FUNCS]) + m4_popdef([AC_LIBOBJ]) + AC_CONFIG_COMMANDS_PRE([ + GLtests_libobjs= + GLtests_ltlibobjs= + GLtests_libobjdeps= + if test -n "$GLtests_LIBOBJS"; then + # Remove the extension. +changequote(,)dnl + sed_drop_objext='s/\.o$//;s/\.obj$//' + sed_dirname1='s,//*,/,g' + sed_dirname2='s,\(.\)/$,\1,' + sed_dirname3='s,^[^/]*$,.,' + sed_dirname4='s,\(.\)/[^/]*$,\1,' + sed_basename1='s,.*/,,' +changequote([, ])dnl + for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" + GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" + i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` + i_base=`echo "$i" | sed -e "$sed_basename1"` + GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" + done + fi + AC_SUBST([GLtests_LIBOBJS], [$GLtests_libobjs]) + AC_SUBST([GLtests_LTLIBOBJS], [$GLtests_ltlibobjs]) + AC_SUBST([GLtests_LIBOBJDEPS], [$GLtests_libobjdeps]) + ]) + AC_REQUIRE([gl_CC_GNULIB_WARNINGS]) +]) + +# Like AC_LIBOBJ, except that the module name goes +# into GL_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([GL_LIBOBJ], [ + AS_LITERAL_IF([$1], [GL_LIBSOURCES([$1.c])])dnl + GL_LIBOBJS="$GL_LIBOBJS $1.$ac_objext" +]) + +# Like AC_REPLACE_FUNCS, except that the module name goes +# into GL_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([GL_REPLACE_FUNCS], [ + m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl + AC_CHECK_FUNCS([$1], , [GL_LIBOBJ($ac_func)]) +]) + +# Like AC_LIBSOURCES, except the directory where the source file is +# expected is derived from the gnulib-tool parameterization, +# and alloca is special cased (for the alloca-opt module). +# We could also entirely rely on EXTRA_lib..._SOURCES. +AC_DEFUN([GL_LIBSOURCES], [ + m4_foreach([_gl_NAME], [$1], [ + m4_if(_gl_NAME, [alloca.c], [], [ + m4_define([GL_LIBSOURCES_DIR], [lib]) + m4_append([GL_LIBSOURCES_LIST], _gl_NAME, [ ]) + ]) + ]) +]) + +# Like AC_LIBOBJ, except that the module name goes +# into GLtests_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([GLtests_LIBOBJ], [ + AS_LITERAL_IF([$1], [GLtests_LIBSOURCES([$1.c])])dnl + GLtests_LIBOBJS="$GLtests_LIBOBJS $1.$ac_objext" +]) + +# Like AC_REPLACE_FUNCS, except that the module name goes +# into GLtests_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([GLtests_REPLACE_FUNCS], [ + m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl + AC_CHECK_FUNCS([$1], , [GLtests_LIBOBJ($ac_func)]) +]) + +# Like AC_LIBSOURCES, except the directory where the source file is +# expected is derived from the gnulib-tool parameterization, +# and alloca is special cased (for the alloca-opt module). +# We could also entirely rely on EXTRA_lib..._SOURCES. +AC_DEFUN([GLtests_LIBSOURCES], [ + m4_foreach([_gl_NAME], [$1], [ + m4_if(_gl_NAME, [alloca.c], [], [ + m4_define([GLtests_LIBSOURCES_DIR], [gnulib-tests]) + m4_append([GLtests_LIBSOURCES_LIST], _gl_NAME, [ ]) + ]) + ]) +]) + +# This macro records the list of files which have been installed by +# gnulib-tool and may be removed by future gnulib-tool invocations. +AC_DEFUN([GL_FILE_LIST], [ + build-aux/announce-gen + build-aux/bootstrap.in + build-aux/do-release-commit-and-tag + build-aux/extract-trace + build-aux/funclib.sh + build-aux/gendocs.sh + build-aux/git-version-gen + build-aux/gitlog-to-changelog + build-aux/gnu-web-doc-update + build-aux/gnupload + build-aux/inline-source + build-aux/options-parser + build-aux/update-copyright + build-aux/useless-if-before-free + build-aux/vc-list-files + doc/gendocs_template + doc/gendocs_template_min + m4/00gnulib.m4 + m4/gnulib-common.m4 + m4/zzgnulib.m4 + tests/init.sh + tests/test-all-shells.sh + tests/test-funclib-quote.sh + tests/test-init.sh + tests/test-option-parser-helper + tests/test-option-parser.sh + tests/test-update-copyright.sh + tests/test-vc-list-files-cvs.sh + tests/test-vc-list-files-git.sh + top/GNUmakefile + top/README-release + top/maint.mk +]) diff --git a/BUILD/libtool-2.4.7/m4/libtool.m4 b/BUILD/libtool-2.4.7/m4/libtool.m4 new file mode 100644 index 0000000..e3adeda --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/libtool.m4 @@ -0,0 +1,8403 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +]) + +# serial 59 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + +# _LT_CC_BASENAME(CC) +# ------------------- +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. +m4_defun([_LT_CC_BASENAME], +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_DECL_FILECMD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl +m4_require([_LT_CMD_TRUNCATE])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from 'configure', and 'config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# 'config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain=$ac_aux_dir/ltmain.sh +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the 'libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to 'config.status' so that its +# declaration there will have the same value as in 'configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags='_LT_TAGS'dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into 'config.status', and then the shell code to quote escape them in +# for loops in 'config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# '#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test 0 = "$lt_write_fail" && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +_LT_COPYING +_LT_LIBTOOL_TAGS + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS=$save_LDFLAGS + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test yes = "$lt_cv_ld_force_load"; then + _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\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + _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" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + _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" + _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" + m4_if([$1], [CXX], +[ if test yes != "$lt_cv_apple_cc_single_mod"; then + _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" + _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" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script that will find a shell with a builtin +# printf (that we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case $ECHO in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +_LT_DECL([], [AR], [1], [The archiver]) + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS +_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. +_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], + [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes = "$cross_compiling"; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links=nottested +if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test no = "$hard_links"; then + AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", + [Define to the sub-directory where libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then + + # We can hardcode non-existent directories. + if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && + test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || + test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -z "$STRIP"; then + AC_MSG_RESULT([no]) +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac + fi +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} +]])# _LT_PREPARE_PATH_LIST + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a[(]lib.so.V[)]' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + 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"' + 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"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + 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)' + 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"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + 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' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + 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' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program that can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program that can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], + [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE + + +# _LT_CHECK_MAGIC_METHOD +# ---------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_MAGIC_METHOD], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +AC_CACHE_CHECK([how to recognize dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[[4-9]]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[[45]]*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [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]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + 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]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +])# _LT_DLL_DEF_P + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], + [Transform the output of nm into a list of symbols to manually relocate]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], + [The name lister interface]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _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" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test yes = "$GCC"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _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' + else + _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 == "L") || (\$ 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' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _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' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _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)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _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' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _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' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _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' + _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' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _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' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _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' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _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' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + _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' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _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' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _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' + else + _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 == "L") || (\$ 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' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + _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 + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + _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' + fi + if test aix != "$with_aix_soname"; then + _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' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _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)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _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' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test yes = "$GCC"; then + _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' + else + _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' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + _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' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS=$save_LDFLAGS]) + if test yes = "$lt_cv_irix_exported_symbol"; then + _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' + fi + else + _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' + _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' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(ld_shlibs, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + ;; + + osf3*) + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _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' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _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' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _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' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _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' + _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~ + $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' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting $shlibpath_var if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC=$CC +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report what library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC=$lt_save_CC +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + + _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 + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _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" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + _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' + fi + if test aix != "$with_aix_soname"; then + _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' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _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' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $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' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes = "$GXX"; then + _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' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _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' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _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' + ;; + *) + _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' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _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' + _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' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _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' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + _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' + else + _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' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _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' + _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' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $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' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _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' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _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' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _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' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _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' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + _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' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _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' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _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' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _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' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $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~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + 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"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + _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' + ;; + *) + _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' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $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' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + + _LT_TAGVAR(GCC, $1)=$GXX + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)=$prev$p + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)=$p + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)=$p + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$G77 + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_FILECMD +# ---------------- +# Check for a file(cmd) program that can be used to detect file type and magic +m4_defun([_LT_DECL_FILECMD], +[AC_CHECK_TOOL([FILECMD], [file], [:]) +_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) +])# _LD_DECL_FILECMD + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f "$lt_ac_sed" && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test 10 -lt "$lt_ac_count" && break + lt_ac_count=`expr $lt_ac_count + 1` + if test "$lt_ac_count" -gt "$lt_ac_max"; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine what file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/BUILD/libtool-2.4.7/m4/ltargz.m4 b/BUILD/libtool-2.4.7/m4/ltargz.m4 new file mode 100644 index 0000000..c544082 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/ltargz.m4 @@ -0,0 +1,77 @@ +# Portability macros for glibc argz. -*- Autoconf -*- +# +# Copyright (C) 2004-2007, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 2 ltargz.m4 + +AC_DEFUN([LT_FUNC_ARGZ], [ +dnl Required for use of '$SED' in Cygwin configuration. +AC_REQUIRE([AC_PROG_SED])dnl +AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_TYPES([error_t], + [], + [AC_DEFINE([error_t], [int], + [Define to a type to use for 'error_t' if it is not otherwise available.]) + AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h + does not typedef error_t.])], + [#if defined(HAVE_ARGZ_H) +# include +#endif]) + +LT_ARGZ_H= +AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) + +dnl if have system argz functions, allow forced use of +dnl libltdl-supplied implementation (and default to do so +dnl on "known bad" systems). Could use a runtime check, but +dnl (a) detecting malloc issues is notoriously unreliable +dnl (b) only known system that declares argz functions, +dnl provides them, yet they are broken, is cygwin +dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) +dnl So, it's more straightforward simply to special case +dnl this for known bad systems. +AS_IF([test -z "$LT_ARGZ_H"], + [AC_CACHE_CHECK( + [if argz actually works], + [lt_cv_sys_argz_works], + [[case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac]]) + AS_IF([test yes = "$lt_cv_sys_argz_works"], + [AC_DEFINE([HAVE_WORKING_ARGZ], 1, + [This value is set to 1 to indicate that the system argz facility works])], + [LT_ARGZ_H=lt__argz.h + AC_LIBOBJ([lt__argz])])]) + +AC_SUBST([LT_ARGZ_H]) +]) diff --git a/BUILD/libtool-2.4.7/m4/ltdl.m4 b/BUILD/libtool-2.4.7/m4/ltdl.m4 new file mode 100644 index 0000000..772c150 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/ltdl.m4 @@ -0,0 +1,910 @@ +# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- +# +# Copyright (C) 1999-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Thomas Tanner, 1999 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 21 LTDL_INIT + +# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) +# ------------------------------------------ +# DIRECTORY contains the libltdl sources. It is okay to call this +# function multiple times, as long as the same DIRECTORY is always given. +AC_DEFUN([LT_CONFIG_LTDL_DIR], +[AC_BEFORE([$0], [LTDL_INIT]) +_$0($*) +])# LT_CONFIG_LTDL_DIR + +# We break this out into a separate macro, so that we can call it safely +# internally without being caught accidentally by the sed scan in libtoolize. +m4_defun([_LT_CONFIG_LTDL_DIR], +[dnl remove trailing slashes +m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$])) +m4_case(_LTDL_DIR, + [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply '.' + m4_if(_ARG_DIR, [.], + [], + [m4_define([_LTDL_DIR], _ARG_DIR) + _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])], + [m4_if(_ARG_DIR, _LTDL_DIR, + [], + [m4_fatal([multiple libltdl directories: ']_LTDL_DIR[', ']_ARG_DIR['])])]) +m4_popdef([_ARG_DIR]) +])# _LT_CONFIG_LTDL_DIR + +# Initialise: +m4_define([_LTDL_DIR], []) + + +# _LT_BUILD_PREFIX +# ---------------- +# If Autoconf is new enough, expand to '$(top_build_prefix)', otherwise +# to '$(top_builddir)/'. +m4_define([_LT_BUILD_PREFIX], +[m4_ifdef([AC_AUTOCONF_VERSION], + [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]), + [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX], + [$(top_build_prefix)], + [$(top_builddir)/])], + [$(top_build_prefix)])], + [$(top_builddir)/])[]dnl +]) + + +# LTDL_CONVENIENCE +# ---------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with +# '$(top_build_prefix)' if available, otherwise with '$(top_builddir)/', +# and LTDLINCL will be prefixed with '$(top_srcdir)/' (note the single +# quotes!). If your package is not flat and you're not using automake, +# define top_build_prefix, top_builddir, and top_srcdir appropriately +# in your Makefiles. +AC_DEFUN([LTDL_CONVENIENCE], +[AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +])# LTDL_CONVENIENCE + +# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools, +# now we have LT_CONFIG_LTDL_DIR: +AU_DEFUN([AC_LIBLTDL_CONVENIENCE], +[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], []) + + +# _LTDL_CONVENIENCE +# ----------------- +# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]). +m4_defun([_LTDL_CONVENIENCE], +[case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; +esac +LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la" +LTDLDEPS=$LIBLTDL +LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" + +AC_SUBST([LIBLTDL]) +AC_SUBST([LTDLDEPS]) +AC_SUBST([LTDLINCL]) + +# For backwards non-gettext consistent compatibility... +INCLTDL=$LTDLINCL +AC_SUBST([INCLTDL]) +])# _LTDL_CONVENIENCE + + +# LTDL_INSTALLABLE +# ---------------- +# sets LIBLTDL to the link flags for the libltdl installable library +# and LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl +# is not found, LIBLTDL will be prefixed with '$(top_build_prefix)' if +# available, otherwise with '$(top_builddir)/', and LTDLINCL will be +# prefixed with '$(top_srcdir)/' (note the single quotes!). If your +# package is not flat and you're not using automake, define top_build_prefix, +# top_builddir, and top_srcdir appropriately in your Makefiles. +# In the future, this macro may have to be called after LT_INIT. +AC_DEFUN([LTDL_INSTALLABLE], +[AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +])# LTDL_INSTALLABLE + +# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools, +# now we have LT_CONFIG_LTDL_DIR: +AU_DEFUN([AC_LIBLTDL_INSTALLABLE], +[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], []) + + +# _LTDL_INSTALLABLE +# ----------------- +# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]). +m4_defun([_LTDL_INSTALLABLE], +[if test -f "$prefix/lib/libltdl.la"; then + lt_save_LDFLAGS=$LDFLAGS + LDFLAGS="-L$prefix/lib $LDFLAGS" + AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes]) + LDFLAGS=$lt_save_LDFLAGS + if test yes = "${lt_lib_ltdl-no}"; then + if test yes != "$enable_ltdl_install"; then + # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install + AC_MSG_WARN([not overwriting libltdl at $prefix, force with '--enable-ltdl-install']) + enable_ltdl_install=no + fi + elif test no = "$enable_ltdl_install"; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + fi +fi + +# If configure.ac declared an installable ltdl, and the user didn't override +# with --disable-ltdl-install, we will install the shipped libltdl. +case $enable_ltdl_install in + no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL=-lltdl + LTDLDEPS= + LTDLINCL= + ;; + *) enable_ltdl_install=yes + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la" + LTDLDEPS=$LIBLTDL + LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" + ;; +esac + +AC_SUBST([LIBLTDL]) +AC_SUBST([LTDLDEPS]) +AC_SUBST([LTDLINCL]) + +# For backwards non-gettext consistent compatibility... +INCLTDL=$LTDLINCL +AC_SUBST([INCLTDL]) +])# LTDL_INSTALLABLE + + +# _LTDL_MODE_DISPATCH +# ------------------- +m4_define([_LTDL_MODE_DISPATCH], +[dnl If _LTDL_DIR is '.', then we are configuring libltdl itself: +m4_if(_LTDL_DIR, [], + [], + dnl if _LTDL_MODE was not set already, the default value is 'subproject': + [m4_case(m4_default(_LTDL_MODE, [subproject]), + [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR) + _LT_SHELL_INIT([lt_dlopen_dir=$lt_ltdl_dir])], + [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/])], + [recursive], [], + [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl +dnl Be careful not to expand twice: +m4_define([$0], []) +])# _LTDL_MODE_DISPATCH + + +# _LT_LIBOBJ(MODULE_NAME) +# ----------------------- +# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead +# of into LIBOBJS. +AC_DEFUN([_LT_LIBOBJ], [ + m4_pattern_allow([^_LT_LIBOBJS$]) + _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" +])# _LT_LIBOBJS + + +# LTDL_INIT([OPTIONS]) +# -------------------- +# Clients of libltdl can use this macro to allow the installer to +# choose between a shipped copy of the ltdl sources or a preinstalled +# version of the library. If the shipped ltdl sources are not in a +# subdirectory named libltdl, the directory name must be given by +# LT_CONFIG_LTDL_DIR. +AC_DEFUN([LTDL_INIT], +[dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +dnl We need to keep our own list of libobjs separate from our parent project, +dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while +dnl we look for our own LIBOBJs. +m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) +m4_pushdef([AC_LIBSOURCES]) + +dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: +m4_if(_LTDL_MODE, [], + [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) + m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], + [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) + +AC_ARG_WITH([included_ltdl], + [AS_HELP_STRING([--with-included-ltdl], + [use the GNU ltdl sources included here])]) + +if test yes != "$with_included_ltdl"; then + # We are not being forced to use the included libltdl sources, so + # decide whether there is a useful installed version we can use. + AC_CHECK_HEADER([ltdl.h], + [AC_CHECK_DECL([lt_dlinterface_register], + [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], + [with_included_ltdl=no], + [with_included_ltdl=yes])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT + #include ])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT] + ) +fi + +dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE +dnl was called yet, then for old times' sake, we assume libltdl is in an +dnl eponymous directory: +AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) + +AC_ARG_WITH([ltdl_include], + [AS_HELP_STRING([--with-ltdl-include=DIR], + [use the ltdl headers installed in DIR])]) + +if test -n "$with_ltdl_include"; then + if test -f "$with_ltdl_include/ltdl.h"; then : + else + AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) + fi +else + with_ltdl_include=no +fi + +AC_ARG_WITH([ltdl_lib], + [AS_HELP_STRING([--with-ltdl-lib=DIR], + [use the libltdl.la installed in DIR])]) + +if test -n "$with_ltdl_lib"; then + if test -f "$with_ltdl_lib/libltdl.la"; then : + else + AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) + fi +else + with_ltdl_lib=no +fi + +case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in + ,yes,no,no,) + m4_case(m4_default(_LTDL_TYPE, [convenience]), + [convenience], [_LTDL_CONVENIENCE], + [installable], [_LTDL_INSTALLABLE], + [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) + ;; + ,no,no,no,) + # If the included ltdl is not to be used, then use the + # preinstalled libltdl we found. + AC_DEFINE([HAVE_LTDL], [1], + [Define this if a modern libltdl is already installed]) + LIBLTDL=-lltdl + LTDLDEPS= + LTDLINCL= + ;; + ,no*,no,*) + AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) + ;; + *) with_included_ltdl=no + LIBLTDL="-L$with_ltdl_lib -lltdl" + LTDLDEPS= + LTDLINCL=-I$with_ltdl_include + ;; +esac +INCLTDL=$LTDLINCL + +# Report our decision... +AC_MSG_CHECKING([where to find libltdl headers]) +AC_MSG_RESULT([$LTDLINCL]) +AC_MSG_CHECKING([where to find libltdl library]) +AC_MSG_RESULT([$LIBLTDL]) + +_LTDL_SETUP + +dnl restore autoconf definition. +m4_popdef([AC_LIBOBJ]) +m4_popdef([AC_LIBSOURCES]) + +AC_CONFIG_COMMANDS_PRE([ + _ltdl_libobjs= + _ltdl_ltlibobjs= + if test -n "$_LT_LIBOBJS"; then + # Remove the extension. + _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do + _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" + _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" + done + fi + AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) + AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) +]) + +# Only expand once: +m4_define([LTDL_INIT]) +])# LTDL_INIT + +# Old names: +AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) +AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) +AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIB_LTDL], []) +dnl AC_DEFUN([AC_WITH_LTDL], []) +dnl AC_DEFUN([LT_WITH_LTDL], []) + + +# _LTDL_SETUP +# ----------- +# Perform all the checks necessary for compilation of the ltdl objects +# -- including compiler checks and header checks. This is a public +# interface mainly for the benefit of libltdl's own configure.ac, most +# other users should call LTDL_INIT instead. +AC_DEFUN([_LTDL_SETUP], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl +AC_REQUIRE([LT_SYS_MODULE_PATH])dnl +AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl +AC_REQUIRE([LT_LIB_DLLOAD])dnl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl +AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl +AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl +AC_REQUIRE([LT_FUNC_ARGZ])dnl + +m4_require([_LT_CHECK_OBJDIR])dnl +m4_require([_LT_HEADER_DLFCN])dnl +m4_require([_LT_CHECK_DLPREOPEN])dnl +m4_require([_LT_DECL_SED])dnl + +dnl Don't require this, or it will be expanded earlier than the code +dnl that sets the variables it relies on: +_LT_ENABLE_INSTALL + +dnl _LTDL_MODE specific code must be called at least once: +_LTDL_MODE_DISPATCH + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). +AC_CONFIG_COMMANDS_PRE([dnl +m4_pattern_allow([^LT_CONFIG_H$])dnl +m4_ifset([AH_HEADER], + [LT_CONFIG_H=AH_HEADER], + [m4_ifset([AC_LIST_HEADERS], + [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], + [])])]) +AC_SUBST([LT_CONFIG_H]) + +AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], + [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) +AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) + +m4_pattern_allow([LT_LIBEXT])dnl +AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) + +name= +eval "lt_libprefix=\"$libname_spec\"" +m4_pattern_allow([LT_LIBPREFIX])dnl +AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" +AC_SUBST([LTDLOPEN]) +])# _LTDL_SETUP + + +# _LT_ENABLE_INSTALL +# ------------------ +m4_define([_LT_ENABLE_INSTALL], +[AC_ARG_ENABLE([ltdl-install], + [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])]) + +case ,$enable_ltdl_install,$enable_ltdl_convenience in + *yes*) ;; + *) enable_ltdl_convenience=yes ;; +esac + +m4_ifdef([AM_CONDITIONAL], +[AM_CONDITIONAL(INSTALL_LTDL, test no != "${enable_ltdl_install-no}") + AM_CONDITIONAL(CONVENIENCE_LTDL, test no != "${enable_ltdl_convenience-no}")]) +])# _LT_ENABLE_INSTALL + + +# LT_SYS_DLOPEN_DEPLIBS +# --------------------- +AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_CACHE_CHECK([whether deplibs are loaded by dlopen], + [lt_cv_sys_dlopen_deplibs], + [# PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[[4-9]]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly* | midnightbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[[12345]]*|irix6.[[01]]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[[1234]]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + ]) +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], + [Define if the OS needs help to load dependent libraries for dlopen().]) +fi +])# LT_SYS_DLOPEN_DEPLIBS + +# Old name: +AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], []) + + +# LT_SYS_MODULE_EXT +# ----------------- +AC_DEFUN([LT_SYS_MODULE_EXT], +[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what extension is used for runtime loadable modules], + [libltdl_cv_shlibext], +[ +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + ]) +if test -n "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_MODULE_EXT])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], + [Define to the extension used for runtime loadable modules, say, ".so".]) +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_SHARED_EXT])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], + [Define to the shared library suffix, say, ".dylib".]) +fi +if test -n "$shared_archive_member_spec"; then + m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], + [Define to the shared archive member specification, say "(shr.o)".]) +fi +])# LT_SYS_MODULE_EXT + +# Old name: +AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SHLIBEXT], []) + + +# LT_SYS_MODULE_PATH +# ------------------ +AC_DEFUN([LT_SYS_MODULE_PATH], +[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what variable specifies run-time module search path], + [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) +if test -n "$lt_cv_module_path_var"; then + m4_pattern_allow([LT_MODULE_PATH_VAR])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], + [Define to the name of the environment variable that determines the run-time module search path.]) +fi +])# LT_SYS_MODULE_PATH + +# Old name: +AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SHLIBPATH], []) + + +# LT_SYS_DLSEARCH_PATH +# -------------------- +AC_DEFUN([LT_SYS_DLSEARCH_PATH], +[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([for the default library search path], + [lt_cv_sys_dlsearch_path], + [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + m4_pattern_allow([LT_DLSEARCH_PATH])dnl + AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], + [Define to the system default library search path.]) +fi +])# LT_SYS_DLSEARCH_PATH + +# Old name: +AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], []) + + +# _LT_CHECK_DLPREOPEN +# ------------------- +m4_defun([_LT_CHECK_DLPREOPEN], +[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], + [libltdl_cv_preloaded_symbols], + [if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + ]) +if test yes = "$libltdl_cv_preloaded_symbols"; then + AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1], + [Define if libtool can extract symbol lists from object files.]) +fi +])# _LT_CHECK_DLPREOPEN + + +# LT_LIB_DLLOAD +# ------------- +AC_DEFUN([LT_LIB_DLLOAD], +[m4_pattern_allow([^LT_DLLOADERS$]) +LT_DLLOADERS= +AC_SUBST([LT_DLLOADERS]) + +AC_LANG_PUSH([C]) +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +AC_SEARCH_LIBS([dlopen], [dl], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H +# include +#endif + ]], [[dlopen(0, 0);]])], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_CHECK_LIB([svld], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + AC_CHECK_FUNCS([dlerror]) + LIBS=$lt_save_LIBS +fi +AC_SUBST([LIBADD_DLOPEN]) + +LIBADD_SHL_LOAD= +AC_CHECK_FUNC([shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], + [AC_CHECK_LIB([dld], [shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld])]) +AC_SUBST([LIBADD_SHL_LOAD]) + +case $host_os in +darwin[[1567]].*) +# We only want this for pre-Mac OS X 10.4. + AC_CHECK_FUNC([_dyld_func_lookup], + [AC_DEFINE([HAVE_DYLD], [1], + [Define if you have the _dyld_func_lookup function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +AC_CHECK_LIB([dld], [dld_link], + [AC_DEFINE([HAVE_DLD], [1], + [Define if you have the GNU dld library.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) +AC_SUBST([LIBADD_DLD_LINK]) + +m4_pattern_allow([^LT_DLPREOPEN$]) +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + AC_DEFINE([HAVE_LIBDLLOADER], [1], + [Define if libdlloader will be built on this platform]) +fi +AC_SUBST([LT_DLPREOPEN]) + +dnl This isn't used anymore, but set it for backwards compatibility +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" +AC_SUBST([LIBADD_DL]) + +LIBS=$lt_dlload_save_LIBS +AC_LANG_POP +])# LT_LIB_DLLOAD + +# Old name: +AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_DLLIB], []) + + +# LT_SYS_SYMBOL_USCORE +# -------------------- +# does the compiler prefix global symbols with an underscore? +AC_DEFUN([LT_SYS_SYMBOL_USCORE], +[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +AC_CACHE_CHECK([for _ prefix in compiled symbols], + [lt_cv_sys_symbol_underscore], + [lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.c >&AS_MESSAGE_LOG_FD + fi + rm -rf conftest* + ]) + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + AC_SUBST([sys_symbol_underscore]) +])# LT_SYS_SYMBOL_USCORE + +# Old name: +AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], []) + + +# LT_FUNC_DLSYM_USCORE +# -------------------- +AC_DEFUN([LT_FUNC_DLSYM_USCORE], +[AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; }] +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in @S|@1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + ]) + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + AC_DEFINE([NEED_USCORE], [1], + [Define if dlsym() requires a leading underscore in symbol names.]) +fi +])# LT_FUNC_DLSYM_USCORE + +# Old name: +AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], []) diff --git a/BUILD/libtool-2.4.7/m4/ltoptions.m4 b/BUILD/libtool-2.4.7/m4/ltoptions.m4 new file mode 100644 index 0000000..b0b5e9c --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/ltoptions.m4 @@ -0,0 +1,437 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 8 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option '$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl 'shared' nor 'disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], + [_LT_WITH_AIX_SONAME([aix])]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the 'shared' and +# 'disable-shared' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the 'static' and +# 'disable-static' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the 'fast-install' +# and 'disable-fast-install' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) + AC_MSG_CHECKING([which variant of shared library versioning to provide]) + AC_ARG_WITH([aix-soname], + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) + with_aix_soname=$lt_cv_with_aix_soname]) + AC_MSG_RESULT([$with_aix_soname]) + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], + [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' +# LT_INIT options. +# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [pic_mode=m4_default([$1], [default])]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/BUILD/libtool-2.4.7/m4/ltsugar.m4 b/BUILD/libtool-2.4.7/m4/ltsugar.m4 new file mode 100644 index 0000000..902508b --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/ltsugar.m4 @@ -0,0 +1,124 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59, which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff --git a/BUILD/libtool-2.4.7/m4/ltversion.in b/BUILD/libtool-2.4.7/m4/ltversion.in new file mode 100644 index 0000000..52976c5 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/ltversion.in @@ -0,0 +1,24 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial @MACRO_SERIAL@ ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [@MACRO_VERSION@]) +m4_define([LT_PACKAGE_REVISION], [@MACRO_REVISION@]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='@MACRO_VERSION@' +macro_revision='@MACRO_REVISION@' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff --git a/BUILD/libtool-2.4.7/m4/ltversion.m4 b/BUILD/libtool-2.4.7/m4/ltversion.m4 new file mode 100644 index 0000000..b155d0a --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/ltversion.m4 @@ -0,0 +1,24 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 4245 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.7]) +m4_define([LT_PACKAGE_REVISION], [2.4.7]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.7' +macro_revision='2.4.7' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff --git a/BUILD/libtool-2.4.7/m4/lt~obsolete.m4 b/BUILD/libtool-2.4.7/m4/lt~obsolete.m4 new file mode 100644 index 0000000..0f7a875 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/lt~obsolete.m4 @@ -0,0 +1,99 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/BUILD/libtool-2.4.7/m4/m4.m4 b/BUILD/libtool-2.4.7/m4/m4.m4 new file mode 100644 index 0000000..c2263dd --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/m4.m4 @@ -0,0 +1,83 @@ +# m4.m4 serial 12 + +# Copyright (C) 2000, 2006-2019, 2021-2022 Free Software Foundation, +# Inc. + +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without warranty of any kind. + +# AC_PROG_GNU_M4 +# -------------- +# Check for GNU M4, at least 1.4.6 (all earlier versions had bugs in +# trace support and regexp support): +# http://lists.gnu.org/archive/html/bug-gnu-utils/2006-11/msg00096.html +# http://lists.gnu.org/archive/html/bug-autoconf/2009-07/msg00023.html +# Also, check whether --error-output (through 1.4.x) or --debugfile (2.0) +# is supported, and AC_SUBST M4_DEBUGFILE accordingly. +# Also avoid versions of m4 that trigger strstr bugs. +AC_DEFUN([AC_PROG_GNU_M4], + [AC_ARG_VAR([M4], [Location of GNU M4 1.4.6 or later. Defaults to the first + program of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs.]) + AC_CACHE_CHECK([for GNU M4 that supports accurate traces], [ac_cv_path_M4], + [rm -f conftest.m4f +ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} +AS_UNSET([POSIXLY_CORRECT]) +AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4 gnum4], + [dnl Creative quoting here to avoid raw dnl and ifdef in configure. + # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. + # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. + # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy + # false positive strstr. + ac_snippet=change'quote(<,>)in''dir(,mac,bug)' + ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' + ac_snippet=$ac_snippet${as_nl}if'else(in''dex(dnl +;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,dnl +:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' + test -z "`$ac_path_M4 -F conftest.m4f &1`" \ + && test -z "`AS_ECHO([$ac_snippet]) | $ac_path_M4 --trace=mac 2>&1`" \ + && test -f conftest.m4f \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: + rm -f conftest.m4f], + [AC_MSG_ERROR([no acceptable m4 could be found in \$PATH. +GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. +GNU M4 1.4.15 uses a buggy replacement strstr on some systems. +Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.])])]) + M4=$ac_cv_path_M4 + AC_CACHE_CHECK([whether $ac_cv_path_M4 accepts --gnu], + [ac_cv_prog_gnu_m4_gnu], + [case `$M4 --help < /dev/null 2>&1` in + *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; + *) ac_cv_prog_gnu_m4_gnu=no ;; + esac]) + if test yes = "$ac_cv_prog_gnu_m4_gnu"; then + M4_GNU=--gnu + else + M4_GNU= + fi + AC_SUBST([M4_GNU]) + if test yes = "$ac_had_posixly_correct"; then + POSIXLY_CORRECT=: + if test no = $ac_cv_prog_gnu_m4_gnu; then + AC_MSG_WARN([the version of M4 that was found does not support -g]) + AC_MSG_WARN([using it with POSIXLY_CORRECT set may cause problems]) + fi + fi + AC_CACHE_CHECK([how m4 supports trace files], [ac_cv_prog_gnu_m4_debugfile], + [case `$M4 --help < /dev/null 2>&1` in + *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; + *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; + esac]) + AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile]) +]) + +# Compatibility for bootstrapping with Autoconf 2.61. +dnl FIXME - replace this with AC_PREREQ([2.62]) after the release. +# AC_PATH_PROGS_FEATURE_CHECK was added the same time the slightly broken, +# undocumented _AC_PATH_PROG_FEATURE_CHECK was deleted. +m4_ifndef([AC_PATH_PROGS_FEATURE_CHECK], + [m4_define([AC_PATH_PROGS_FEATURE_CHECK], + [_AC_PATH_PROG_FEATURE_CHECK([$1], [$2], [$3], [$5]) +])]) diff --git a/BUILD/libtool-2.4.7/m4/zzgnulib.m4 b/BUILD/libtool-2.4.7/m4/zzgnulib.m4 new file mode 100644 index 0000000..fd73a20 --- /dev/null +++ b/BUILD/libtool-2.4.7/m4/zzgnulib.m4 @@ -0,0 +1,23 @@ +# zzgnulib.m4 serial 1 +dnl Copyright (C) 2020-2022 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This file must be named something that sorts after all other +dnl package- or gnulib-provided .m4 files - at least for those packages +dnl that redefine AC_PROG_CC. + +dnl Redefine AC_PROG_CC so that it ends with invocations of gl_COMPILER_CLANG +dnl and gl_COMPILER_PREPARE_CHECK_DECL. +m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[ +gl_COMPILER_CLANG +gl_COMPILER_PREPARE_CHECK_DECL +]) + +# gl_ZZGNULIB +# ----------- +# Witness macro that this file has been included. Needed to force +# Automake to include this file after all other gnulib .m4 files. +AC_DEFUN([gl_ZZGNULIB]) diff --git a/BUILD/libtool-2.4.7/maint.mk b/BUILD/libtool-2.4.7/maint.mk new file mode 100644 index 0000000..92cef42 --- /dev/null +++ b/BUILD/libtool-2.4.7/maint.mk @@ -0,0 +1,1778 @@ +# -*-Makefile-*- +# This Makefile fragment tries to be general-purpose enough to be +# used by many projects via the gnulib maintainer-makefile module. + +## Copyright (C) 2001-2022 Free Software Foundation, Inc. +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +# This is reported not to work with make-3.79.1 +# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +ME := maint.mk + +# These variables ought to be defined through the configure.ac section +# of the module description. But some packages import this file directly, +# ignoring the module description. +AWK ?= awk +GREP ?= grep +SED ?= sed + +# Helper variables. +_empty = +_sp = $(_empty) $(_empty) + +# _equal,S1,S2 +# ------------ +# If S1 == S2, return S1, otherwise the empty string. +_equal = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) + +# member-check,VARIABLE,VALID-VALUES +# ---------------------------------- +# Check that $(VARIABLE) is in the space-separated list of VALID-VALUES, and +# return it. Die otherwise. +member-check = \ + $(strip \ + $(if $($(1)), \ + $(if $(findstring $(_sp),$($(1))), \ + $(error invalid $(1): '$($(1))', expected $(2)), \ + $(or $(findstring $(_sp)$($(1))$(_sp),$(_sp)$(2)$(_sp)), \ + $(error invalid $(1): '$($(1))', expected $(2)))), \ + $(error $(1) undefined))) + +# Do not save the original name or timestamp in the .tar.gz file. +# Use --rsyncable if available. +gzip_rsyncable := \ + $(shell gzip --help 2>/dev/null|$(GREP) rsyncable >/dev/null \ + && printf %s --rsyncable) +GZIP_ENV = '--no-name --best $(gzip_rsyncable)' + +GIT = git +VC = $(GIT) + +VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir) + +# You can override this variable in cfg.mk if your gnulib submodule lives +# in a different location. +gnulib_dir ?= $(shell if test -f $(srcdir)/gnulib/gnulib-tool; then \ + echo $(srcdir)/gnulib; \ + else \ + echo ${GNULIB_SRCDIR}; \ + fi) + +# You can override this variable in cfg.mk to set your own regexp +# matching files to ignore. +VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$ + +# This is to preprocess robustly the output of $(VC_LIST), so that even +# when $(srcdir) is a pathological name like "....", the leading sed command +# removes only the intended prefix. +_dot_escaped_srcdir = $(subst .,\.,$(srcdir)) + +# Post-process $(VC_LIST) output, prepending $(srcdir)/, but only +# when $(srcdir) is not ".". +ifeq ($(srcdir),.) + _prepend_srcdir_prefix = +else + _prepend_srcdir_prefix = | $(SED) 's|^|$(srcdir)/|' +endif + +# In order to be able to consistently filter "."-relative names, +# (i.e., with no $(srcdir) prefix), this definition is careful to +# remove any $(srcdir) prefix, and to restore what it removes. +_sc_excl = \ + $(or $(exclude_file_name_regexp--$@),^$$) +VC_LIST_EXCEPT = \ + $(VC_LIST) | $(SED) 's|^$(_dot_escaped_srcdir)/||' \ + | if test -f $(srcdir)/.x-$@; then $(GREP) -vEf $(srcdir)/.x-$@; \ + else $(GREP) -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \ + | $(GREP) -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \ + $(_prepend_srcdir_prefix) + +ifeq ($(origin prev_version_file), undefined) + prev_version_file = $(srcdir)/.prev-version +endif + +PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null) +VERSION_REGEXP = $(subst .,\.,$(VERSION)) +PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) + +ifeq ($(VC),$(GIT)) + this-vc-tag = v$(VERSION) + this-vc-tag-regexp = v$(VERSION_REGEXP) +else + tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') + tag-this-version = $(subst .,_,$(VERSION)) + this-vc-tag = $(tag-package)-$(tag-this-version) + this-vc-tag-regexp = $(this-vc-tag) +endif +my_distdir = $(PACKAGE)-$(VERSION) + +# Old releases are stored here. +release_archive_dir ?= ../release + +# If RELEASE_TYPE is undefined, but RELEASE is, use its second word. +# But overwrite VERSION. +ifdef RELEASE + VERSION := $(word 1, $(RELEASE)) + RELEASE_TYPE ?= $(word 2, $(RELEASE)) +endif + +# Validate and return $(RELEASE_TYPE), or die. +RELEASE_TYPES = alpha beta stable +release-type = $(call member-check,RELEASE_TYPE,$(RELEASE_TYPES)) + +# Override gnu_rel_host and url_dir_list in cfg.mk if these are not right. +# Use alpha.gnu.org for alpha and beta releases. +# Use ftp.gnu.org for stable releases. +gnu_ftp_host-alpha = alpha.gnu.org +gnu_ftp_host-beta = alpha.gnu.org +gnu_ftp_host-stable = ftp.gnu.org +gnu_rel_host ?= $(gnu_ftp_host-$(release-type)) + +url_dir_list ?= $(if $(call _equal,$(gnu_rel_host),ftp.gnu.org), \ + https://ftpmirror.gnu.org/$(PACKAGE), \ + https://$(gnu_rel_host)/gnu/$(PACKAGE)) + +# Override this in cfg.mk if you are using a different format in your +# NEWS file. +today = $(shell date +%Y-%m-%d) + +# Select which lines of NEWS are searched for $(news-check-regexp). +# This is a sed line number spec. The default says that we search +# lines 1..10 of NEWS for $(news-check-regexp). +# If you want to search only line 3 or only lines 20-22, use "3" or "20,22". +news-check-lines-spec ?= 1,10 +news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)' + +# Prevent programs like 'sort' from considering distinct strings to be equal. +# Doing it here saves us from having to set LC_ALL elsewhere in this file. +export LC_ALL = C + +## --------------- ## +## Sanity checks. ## +## --------------- ## + +ifneq ($(_gl-Makefile),) +_cfg_mk := $(wildcard $(srcdir)/cfg.mk) + +# Collect the names of rules starting with 'sc_'. +syntax-check-rules := $(sort $(shell env LC_ALL=C $(SED) -n \ + 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(srcdir)/$(ME) $(_cfg_mk))) +.PHONY: $(syntax-check-rules) + +ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0) + local-checks-available += $(syntax-check-rules) +else + local-checks-available += no-vc-detected +no-vc-detected: + @echo "No version control files detected; skipping syntax check" +endif +.PHONY: $(local-checks-available) + +# Arrange to print the name of each syntax-checking rule just before running it. +$(syntax-check-rules): %: %.m +sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules)) +.PHONY: $(sc_m_rules_) +$(sc_m_rules_): + @echo $(patsubst sc_%.m, %, $@) + @date +%s.%N > .sc-start-$(basename $@) + +# Compute and print the elapsed time for each syntax-check rule. +sc_z_rules_ = $(patsubst %, %.z, $(syntax-check-rules)) +.PHONY: $(sc_z_rules_) +$(sc_z_rules_): %.z: % + @end=$$(date +%s.%N); \ + start=$$(cat .sc-start-$*); \ + rm -f .sc-start-$*; \ + $(AWK) -v s=$$start -v e=$$end \ + 'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null + +# The patsubst here is to replace each sc_% rule with its sc_%.z wrapper +# that computes and prints elapsed time. +local-check := \ + $(patsubst sc_%, sc_%.z, \ + $(filter-out $(local-checks-to-skip), $(local-checks-available))) + +syntax-check: $(local-check) +endif + +# _sc_search_regexp +# +# This macro searches for a given construct in the selected files and +# then takes some action. +# +# Parameters (shell variables): +# +# prohibit | require +# +# Regular expression (ERE) denoting either a forbidden construct +# or a required construct. Those arguments are exclusive. +# +# exclude +# +# Regular expression (ERE) denoting lines to ignore that matched +# a prohibit construct. For example, this can be used to exclude +# comments that mention why the nearby code uses an alternative +# construct instead of the simpler prohibited construct. +# +# in_vc_files | in_files +# +# grep-E-style regexp selecting the files to check. For in_vc_files, +# the regexp is used to select matching files from the list of all +# version-controlled files; for in_files, it's from the names printed +# by "find $(srcdir)". When neither is specified, use all files that +# are under version control. +# +# containing | non_containing +# +# Select the files (non) containing strings matching this regexp. +# If both arguments are specified then CONTAINING takes +# precedence. +# +# with_grep_options +# +# Extra options for grep. +# +# ignore_case +# +# Ignore case. +# +# halt +# +# Message to display before to halting execution. +# +# Finally, you may exempt files based on an ERE matching file names. +# For example, to exempt from the sc_space_tab check all files with the +# .diff suffix, set this Make variable: +# +# exclude_file_name_regexp--sc_space_tab = \.diff$ +# +# Note that while this functionality is mostly inherited via VC_LIST_EXCEPT, +# when filtering by name via in_files, we explicitly filter out matching +# names here as well. + +# Initialize each, so that envvar settings cannot interfere. +export require = +export prohibit = +export exclude = +export in_vc_files = +export in_files = +export containing = +export non_containing = +export halt = +export with_grep_options = + +# By default, _sc_search_regexp does not ignore case. +export ignore_case = +_ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :) + +define _sc_say_and_exit + dummy=; : so we do not need a semicolon before each use; \ + { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; }; +endef + +define _sc_search_regexp + dummy=; : so we do not need a semicolon before each use; \ + \ + : Check arguments; \ + test -n "$$prohibit" && test -n "$$require" \ + && { msg='Cannot specify both prohibit and require' \ + $(_sc_say_and_exit) } || :; \ + test -z "$$prohibit" && test -z "$$require" \ + && { msg='Should specify either prohibit or require' \ + $(_sc_say_and_exit) } || :; \ + test -z "$$prohibit" && test -n "$$exclude" \ + && { msg='Use of exclude requires a prohibit pattern' \ + $(_sc_say_and_exit) } || :; \ + test -n "$$in_vc_files" && test -n "$$in_files" \ + && { msg='Cannot specify both in_vc_files and in_files' \ + $(_sc_say_and_exit) } || :; \ + test "x$$halt" != x \ + || { msg='halt not defined' $(_sc_say_and_exit) }; \ + \ + : Filter by file name; \ + if test -n "$$in_files"; then \ + files=$$(find $(srcdir) | $(GREP) -E "$$in_files" \ + | $(GREP) -Ev '$(_sc_excl)'); \ + else \ + files=$$($(VC_LIST_EXCEPT)); \ + if test -n "$$in_vc_files"; then \ + files=$$(echo "$$files" | $(GREP) -E "$$in_vc_files"); \ + fi; \ + fi; \ + \ + : Filter by content; \ + test -n "$$files" \ + && test -n "$$containing" \ + && { files=$$(echo "$$files" | xargs $(GREP) -l "$$containing"); } \ + || :; \ + test -n "$$files" \ + && test -n "$$non_containing" \ + && { files=$$(echo "$$files" | xargs $(GREP) -vl "$$non_containing"); } \ + || :; \ + \ + : Check for the construct; \ + if test -n "$$files"; then \ + if test -n "$$prohibit"; then \ + echo "$$files" \ + | xargs $(GREP) $$with_grep_options $(_ignore_case) -nE \ + "$$prohibit" /dev/null \ + | $(GREP) -vE "$${exclude:-^$$}" \ + && { msg="$$halt" $(_sc_say_and_exit) } \ + || :; \ + else \ + echo "$$files" \ + | xargs \ + $(GREP) $$with_grep_options $(_ignore_case) -LE "$$require" \ + | $(GREP) . \ + && { msg="$$halt" $(_sc_say_and_exit) } \ + || :; \ + fi \ + else :; \ + fi || :; +endef + +sc_avoid_if_before_free: + @$(VC_LIST_EXCEPT) \ + | $(GREP) -v useless-if-before-free \ + | xargs \ + $(srcdir)/$(_build-aux)/useless-if-before-free \ + $(useless_free_options) \ + && { printf '$(ME): found useless "if"' \ + ' before "free" above\n' 1>&2; \ + exit 1; } \ + || : + +sc_cast_of_argument_to_free: + @prohibit='\/dev/null 2>&1; then \ + (cd $(srcdir) && autoconf --trace AC_CONFIG_FILES:'$$1') | \ + tr ' ' '\n' | \ + $(SED) -ne '/Makefile/{s/\.in$$//;p;}' | \ + while read m; do \ + $(MAKE) -qp -f $$m .DUMMY-TARGET 2>/dev/null | \ + $(AWK) -v file=$$m -e '$($@_awk_)' || exit 1; \ + done; \ + fi + +# Using EXIT_SUCCESS as the first argument to error is misleading, +# since when that parameter is 0, error does not exit. Use '0' instead. +sc_error_exit_success: + @prohibit='error *\(EXIT_SUCCESS,' \ + in_vc_files='\.[chly]$$' \ + halt='found error (EXIT_SUCCESS' \ + $(_sc_search_regexp) + +# "FATAL:" should be fully upper-cased in error messages +# "WARNING:" should be fully upper-cased, or fully lower-cased +sc_error_message_warn_fatal: + @$(VC_LIST_EXCEPT) \ + | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \ + | $(GREP) -E '"Warning|"Fatal|"fatal' \ + && { echo '$(ME): use FATAL, WARNING or warning' 1>&2; \ + exit 1; } \ + || : + +# Error messages should not start with a capital letter +sc_error_message_uppercase: + @$(VC_LIST_EXCEPT) \ + | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \ + | $(GREP) -E '"[A-Z]' \ + | $(GREP) -vE '"FATAL|"WARNING|"Java|"C#|"PRI' \ + && { echo '$(ME): found capitalized error message' 1>&2; \ + exit 1; } \ + || : + +# Error messages should not end with a period +sc_error_message_period: + @$(VC_LIST_EXCEPT) \ + | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \ + | $(GREP) -E '[^."]\."' \ + && { echo '$(ME): found error message ending in period' 1>&2; \ + exit 1; } \ + || : + +sc_file_system: + @prohibit=file''system \ + exclude='/proc/filesystems' \ + ignore_case=1 \ + halt='found use of "file''system"; spell it "file system"' \ + $(_sc_search_regexp) + +# Don't use cpp tests of this symbol. All code assumes config.h is included. +sc_prohibit_have_config_h: + @prohibit='^# *if.*HAVE''_CONFIG_H' \ + halt='found use of HAVE''_CONFIG_H; remove' \ + $(_sc_search_regexp) + +# Nearly all .c files must include . However, we also permit this +# via inclusion of a package-specific header, if cfg.mk specified one. +# config_h_header must be suitable for grep -E. +config_h_header ?= +sc_require_config_h: + @require='^# *include $(config_h_header)' \ + in_vc_files='\.c$$' \ + halt='the above files do not include ' \ + $(_sc_search_regexp) + +# Print each file name for which the first #include does not match +# $(config_h_header). Like grep -m 1, this only looks at the first match. +perl_config_h_first_ = \ + -e 'BEGIN {$$ret = 0}' \ + -e 'if (/^\# *include\b/) {' \ + -e ' if (not m{^\# *include $(config_h_header)}) {' \ + -e ' print "$$ARGV\n";' \ + -e ' $$ret = 1;' \ + -e ' }' \ + -e ' \# Move on to next file after first include' \ + -e ' close ARGV;' \ + -e '}' \ + -e 'END {exit $$ret}' + +# You must include before including any other header file. +# This can possibly be via a package-specific header, if given by cfg.mk. +sc_require_config_h_first: + @if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \ + files=$$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$') && \ + perl -n $(perl_config_h_first_) $$files || \ + { echo '$(ME): the above files include some other header' \ + 'before ' 1>&2; exit 1; } || :; \ + else :; \ + fi + +sc_prohibit_HAVE_MBRTOWC: + @prohibit='\bHAVE_MBRTOWC\b' \ + halt="do not use $$prohibit; it is always defined" \ + $(_sc_search_regexp) + +# To use this "command" macro, you must first define two shell variables: +# h: the header name, with no enclosing <> or "" +# re: a regular expression that matches IFF something provided by $h is used. +define _sc_header_without_use + dummy=; : so we do not need a semicolon before each use; \ + h_esc=`echo '[<"]'"$$h"'[">]'|$(SED) 's/\./\\\\./g'`; \ + if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \ + files=$$($(GREP) -l '^# *include '"$$h_esc" \ + $$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$')) && \ + $(GREP) -LE "$$re" $$files | $(GREP) . && \ + { echo "$(ME): the above files include $$h but don't use it" \ + 1>&2; exit 1; } || :; \ + else :; \ + fi +endef + +# Prohibit the inclusion of assert.h without an actual use of assert. +sc_prohibit_assert_without_use: + @h='assert.h' re='\new(file => "/dev/stdin")->as_string'|sed 's/\?://g' +# Note this was produced by the above: +# _xa1 = \ +#x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup) +# But we can do better, in at least two ways: +# 1) take advantage of two "dup"-suffixed strings: +# x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup) +# 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable +# "char|[cmz]" +# x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) +_xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) +_xa2 = X([CZ]|N?M)ALLOC +sc_prohibit_xalloc_without_use: + @h='xalloc.h' \ + re='\<($(_xa1)|$(_xa2)) *\('\ + $(_sc_header_without_use) + +# Extract function names: +# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h +_hash_re = \ +clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning +_hash_fn = \<($(_hash_re)) *\( +_hash_struct = (struct )?\<[Hh]ash_(table|tuning)\> +sc_prohibit_hash_without_use: + @h='hash.h' \ + re='$(_hash_fn)|$(_hash_struct)'\ + $(_sc_header_without_use) + +sc_prohibit_cloexec_without_use: + @h='cloexec.h' re='\<(set_cloexec_flag|dup_cloexec) *\(' \ + $(_sc_header_without_use) + +sc_prohibit_posixver_without_use: + @h='posixver.h' re='\' \ + halt='do not use HAVE''_FCNTL_H or O'_NDELAY \ + $(_sc_search_regexp) + +# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ + +# Each nonempty ChangeLog line must start with a year number, or a TAB. +sc_changelog: + @prohibit='^[^12 ]' \ + in_vc_files='^ChangeLog$$' \ + halt='found unexpected prefix in a ChangeLog' \ + $(_sc_search_regexp) + +# Ensure that each .c file containing a "main" function also +# calls bindtextdomain. +sc_bindtextdomain: + @require='bindtextdomain *\(' \ + in_vc_files='\.c$$' \ + containing='\
/dev/null \ + && : || { die=1; echo $$i; } \ + done; \ + test $$die = 1 && \ + { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ + echo 1>&2 'Exit something'; \ + exit 1; } || :; \ + fi + +sc_trailing_blank: + @prohibit='[ ]$$' \ + halt='found trailing blank(s)' \ + exclude='^Binary file .* matches$$' \ + $(_sc_search_regexp) + +# Match lines like the following, but where there is only one space +# between the options and the description: +# -D, --all-repeated[=delimit-method] print all duplicate lines\n +longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? +sc_two_space_separator_in_usage: + @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ + halt='help2man requires at least two spaces between an option and its description'\ + $(_sc_search_regexp) + +# A regexp matching function names like "error" that may be used +# to emit translatable messages. +_gl_translatable_diag_func_re ?= error + +# Look for diagnostics that aren't marked for translation. +# This won't find any for which error's format string is on a separate line. +sc_unmarked_diagnostics: + @prohibit='\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \ + exclude='(_|ngettext ?)\(' \ + halt='found unmarked diagnostic(s)' \ + $(_sc_search_regexp) + +# Avoid useless parentheses like those in this example: +# #if defined (SYMBOL) || defined (SYM2) +sc_useless_cpp_parens: + @prohibit='^# *if .*defined *\(' \ + halt='found useless parentheses in cpp directive' \ + $(_sc_search_regexp) + +# List headers for which HAVE_HEADER_H is always true, assuming you are +# using the appropriate gnulib module. CAUTION: for each "unnecessary" +# #if HAVE_HEADER_H that you remove, be sure that your project explicitly +# requires the gnulib module that guarantees the usability of that header. +gl_assured_headers_ = \ + cd $(gnulib_dir)/lib && echo *.in.h|$(SED) 's/\.in\.h//g' + +# Convert the list of names to upper case, and replace each space with "|". +az_ = abcdefghijklmnopqrstuvwxyz +AZ_ = ABCDEFGHIJKLMNOPQRSTUVWXYZ +gl_header_upper_case_or_ = \ + $$($(gl_assured_headers_) \ + | tr $(az_)/.- $(AZ_)___ \ + | tr -s ' ' '|' \ + ) +sc_prohibit_always_true_header_tests: + @or=$(gl_header_upper_case_or_); \ + re="HAVE_($$or)_H"; \ + prohibit='\<'"$$re"'\>' \ + halt=$$(printf '%s\n' \ + 'do not test the above HAVE_
_H symbol(s);' \ + ' with the corresponding gnulib module, they are always true') \ + $(_sc_search_regexp) + +sc_prohibit_defined_have_decl_tests: + @prohibit='(#[ ]*ifn?def|\[ (]+HAVE_DECL_' \ + halt='HAVE_DECL macros are always defined' \ + $(_sc_search_regexp) + +# ================================================================== +gl_other_headers_ ?= \ + intprops.h \ + openat.h \ + stat-macros.h + +# Perl -lne code to extract "significant" cpp-defined symbols from a +# gnulib header file, eliminating a few common false-positives. +# The exempted names below are defined only conditionally in gnulib, +# and hence sometimes must/may be defined in application code. +gl_extract_significant_defines_ = \ + /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\ + && $$2 !~ /(?:rpl_|_used_without_)/\ + && $$1 !~ /^(?:NSIG|ENODATA)$$/\ + && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\ + and print $$1 + +# Create a list of regular expressions matching the names +# of macros that are guaranteed to be defined by parts of gnulib. +define def_sym_regex + gen_h=$(gl_generated_headers_); \ + (cd $(gnulib_dir)/lib; \ + for f in *.in.h $(gl_other_headers_); do \ + test -f $$f \ + && perl -lne '$(gl_extract_significant_defines_)' $$f; \ + done; \ + ) | sort -u \ + | $(SED) 's/^/^ *# *(define|undef) */;s/$$/\\>/' +endef + +# Don't define macros that we already get from gnulib header files. +sc_prohibit_always-defined_macros: + @if test -d $(gnulib_dir); then \ + case $$(echo all: | $(GREP) -l -f - Makefile) in Makefile);; *) \ + echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \ + esac; \ + regex=$$($(def_sym_regex)); export regex; \ + $(VC_LIST_EXCEPT) \ + | xargs sh -c 'echo $$regex | $(GREP) -E -f - "$$@"' \ + dummy /dev/null \ + && { printf '$(ME): define the above' \ + ' via some gnulib .h file\n' 1>&2; \ + exit 1; } \ + || :; \ + fi +# ================================================================== + +# Prohibit checked in backup files. +sc_prohibit_backup_files: + @$(VC_LIST) | $(GREP) '~$$' && \ + { echo '$(ME): found version controlled backup file' 1>&2; \ + exit 1; } || : + +# Require the latest GPL. +sc_GPL_version: + @prohibit='either ''version [^3]' \ + halt='GPL vN, N!=3' \ + $(_sc_search_regexp) + +# Require the latest GFDL. Two regexp, since some .texi files end up +# line wrapping between 'Free Documentation License,' and 'Version'. +_GFDL_regexp = (Free ''Documentation.*Version 1\.[^3]|Version 1\.[^3] or any) +sc_GFDL_version: + @prohibit='$(_GFDL_regexp)' \ + halt='GFDL vN, N!=3' \ + $(_sc_search_regexp) + +# Don't use Texinfo's @acronym{}. +# https://lists.gnu.org/r/bug-gnulib/2010-03/msg00321.html +texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$ +sc_texinfo_acronym: + @prohibit='@acronym\{' \ + in_vc_files='$(texinfo_suffix_re_)' \ + halt='found use of Texinfo @acronym{}' \ + $(_sc_search_regexp) + +cvs_keywords = \ + Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State + +sc_prohibit_cvs_keyword: + @prohibit='\$$($(cvs_keywords))\$$' \ + halt='do not use CVS keyword expansion' \ + $(_sc_search_regexp) + +# This Perl code is slightly obfuscated. Not only is each "$" doubled +# because it's in a Makefile, but the $$c's are comments; we cannot +# use "#" due to the way the script ends up concatenated onto one line. +# It would be much more concise, and would produce better output (including +# counts) if written as: +# perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV: ".length $1' ... +# but that would be far less efficient, reading the entire contents +# of each file, rather than just the last two bytes of each. +# In addition, while the code below detects both blank lines and a missing +# newline at EOF, the above detects only the former. +# +# This is a perl script that is expected to be the single-quoted argument +# to a command-line "-le". The remaining arguments are file names. +# Print the name of each file that does not end in exactly one newline byte. +# I.e., warn if there are blank lines (2 or more newlines), or if the +# last byte is not a newline. However, currently we don't complain +# about any file that contains exactly one byte. +# Exit nonzero if at least one such file is found, otherwise, exit 0. +# Warn about, but otherwise ignore open failure. Ignore seek/read failure. +# +# Use this if you want to remove trailing empty lines from selected files: +# perl -pi -0777 -e 's/\n\n+$/\n/' files... +# +require_exactly_one_NL_at_EOF_ = \ + foreach my $$f (@ARGV) \ + { \ + open F, "<", $$f or (warn "failed to open $$f: $$!\n"), next; \ + my $$p = sysseek (F, -2, 2); \ + my $$c = "seek failure probably means file has < 2 bytes; ignore"; \ + my $$last_two_bytes; \ + defined $$p and $$p = sysread F, $$last_two_bytes, 2; \ + close F; \ + $$c = "ignore read failure"; \ + $$p && ($$last_two_bytes eq "\n\n" \ + || substr ($$last_two_bytes,1) ne "\n") \ + and (print $$f), $$fail=1; \ + } \ + END { exit defined $$fail } +sc_prohibit_empty_lines_at_EOF: + @$(VC_LIST_EXCEPT) \ + | xargs perl -le '$(require_exactly_one_NL_at_EOF_)' \ + || { echo '$(ME): empty line(s) or no newline at EOF' 1>&2; \ + exit 1; } \ + || : + +# Make sure we don't use st_blocks. Use ST_NBLOCKS instead. +# This is a bit of a kludge, since it prevents use of the string +# even in comments, but for now it does the job with no false positives. +sc_prohibit_stat_st_blocks: + @prohibit='[.>]st_blocks' \ + halt='do not use st_blocks; use ST_NBLOCKS' \ + $(_sc_search_regexp) + +# Make sure we don't define any S_IS* macros in src/*.c files. +# They're already defined via gnulib's sys/stat.h replacement. +sc_prohibit_S_IS_definition: + @prohibit='^ *# *define *S_IS' \ + halt='do not define S_IS* macros; include ' \ + $(_sc_search_regexp) + +# Perl block to convert a match to FILE_NAME:LINENO:TEST, +# that is shared by two definitions below. +perl_filename_lineno_text_ = \ + -e ' {' \ + -e ' $$n = ($$` =~ tr/\n/\n/ + 1);' \ + -e ' ($$v = $$&) =~ s/\n/\\n/g;' \ + -e ' print "$$ARGV:$$n:$$v\n";' \ + -e ' }' + +prohibit_doubled_words_ = \ + the then in an on if is it but for or at and do to can +# expand the regex before running the check to avoid using expensive captures +prohibit_doubled_word_expanded_ = \ + $(join $(prohibit_doubled_words_),$(addprefix \s+,$(prohibit_doubled_words_))) +prohibit_doubled_word_RE_ ?= \ + /\b(?:$(subst $(_sp),|,$(prohibit_doubled_word_expanded_)))\b/gims +prohibit_doubled_word_ = \ + -e 'while ($(prohibit_doubled_word_RE_))' \ + $(perl_filename_lineno_text_) + +# Define this to a regular expression that matches +# any filename:dd:match lines you want to ignore. +# The default is to ignore no matches. +ignore_doubled_word_match_RE_ ?= ^$$ + +sc_prohibit_doubled_word: + @$(VC_LIST_EXCEPT) \ + | xargs perl -n -0777 $(prohibit_doubled_word_) \ + | $(GREP) -vE '$(ignore_doubled_word_match_RE_)' \ + | $(GREP) . \ + && { echo '$(ME): doubled words' 1>&2; exit 1; } \ + || : + +# A regular expression matching undesirable combinations of words like +# "can not"; this matches them even when the two words appear on different +# lines, but not when there is an intervening delimiter like "#" or "*". +# Similarly undesirable, "See @xref{...}", since an @xref should start +# a sentence. Explicitly prohibit any prefix of "see" or "also". +# Also prohibit a prefix matching "\w+ +". +# @pxref gets the same see/also treatment and should be parenthesized; +# presume it must *not* start a sentence. +# POSIX spells it "timestamp" rather than "time\s+stamp", so we do, too. +bad_xref_re_ ?= (?:[\w,:;] +|(?:see|also)\s+)\@xref\{ +bad_pxref_re_ ?= (?:[.!?]|(?:see|also))\s+\@pxref\{ +prohibit_undesirable_word_seq_RE_ ?= \ + /(?:\bcan\s+not\b|\btime\s+stamps?\b|$(bad_xref_re_)|$(bad_pxref_re_))/gims +prohibit_undesirable_word_seq_ = \ + -e 'while ($(prohibit_undesirable_word_seq_RE_))' \ + $(perl_filename_lineno_text_) +# Define this to a regular expression that matches +# any filename:dd:match lines you want to ignore. +# The default is to ignore no matches. +ignore_undesirable_word_sequence_RE_ ?= ^$$ + +sc_prohibit_undesirable_word_seq: + @$(VC_LIST_EXCEPT) \ + | xargs perl -n -0777 $(prohibit_undesirable_word_seq_) \ + | $(GREP) -vE '$(ignore_undesirable_word_sequence_RE_)' \ + | $(GREP) . \ + && { echo '$(ME): undesirable word sequence' >&2; exit 1; } \ + || : + +# Except for shell files and for loops, double semicolon is probably a mistake +sc_prohibit_double_semicolon: + @prohibit='; *;[ {} \]*(/[/*]|$$)' \ + in_vc_files='\.[chly]$$' \ + exclude='\bfor *\(.*\)' \ + halt="Double semicolon detected" \ + $(_sc_search_regexp) + +_ptm1 = use "test C1 && test C2", not "test C1 -''a C2" +_ptm2 = use "test C1 || test C2", not "test C1 -''o C2" +# Using test's -a and -o operators is not portable. +# We prefer test over [, since the latter is spelled [[ in configure.ac. +sc_prohibit_test_minus_ao: + @prohibit='(\ /dev/null \ + || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ + done; \ + test $$fail = 1 && \ + { echo 1>&2 '$(ME): the above do not link with any ICONV library'; \ + exit 1; } || :; \ + fi + +# Warn about "c0nst struct Foo const foo[]", +# but not about "char const *const foo" or "#define const const". +sc_redundant_const: + @prohibit='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \ + halt='redundant "const" in declarations' \ + $(_sc_search_regexp) + +sc_const_long_option: + @prohibit='^ *static.*struct option ' \ + exclude='const struct option|struct option const' \ + halt='add "const" to the above declarations' \ + $(_sc_search_regexp) + +NEWS_hash = \ + $$($(SED) -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ + $(srcdir)/NEWS \ + | perl -0777 -pe \ + 's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms' \ + | md5sum - \ + | $(SED) 's/ .*//') + +# Ensure that we don't accidentally insert an entry into an old NEWS block. +sc_immutable_NEWS: + @if test -f $(srcdir)/NEWS; then \ + test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ + { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ + fi + +# Update the hash stored above. Do this after each release and +# for any corrections to old entries. +update-NEWS-hash: NEWS + perl -pi -e 's/^(old_NEWS_hash[ \t]+:?=[ \t]+).*/$${1}'"$(NEWS_hash)/" \ + $(srcdir)/cfg.mk + +# Ensure that we use only the standard $(VAR) notation, +# not @...@ in Makefile.am, now that we can rely on automake +# to emit a definition for each substituted variable. +# However, there is still one case in which @VAR@ use is not just +# legitimate, but actually required: when augmenting an automake-defined +# variable with a prefix. For example, gettext uses this: +# MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@ +# otherwise, makeinfo would put German or French (current locale) +# navigation hints in the otherwise-English documentation. +# +# Allow the package to add exceptions via a hook in cfg.mk; +# for example, @PRAGMA_SYSTEM_HEADER@ can be permitted by +# setting this to ' && !/PRAGMA_SYSTEM_HEADER/'. +_makefile_at_at_check_exceptions ?= +sc_makefile_at_at_check: + @perl -ne '/\@\w+\@/' \ + -e ' && !/(\w+)\s+=.*\@\1\@$$/' \ + -e ''$(_makefile_at_at_check_exceptions) \ + -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \ + $$($(VC_LIST_EXCEPT) | $(GREP) -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \ + && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : + +news-check: NEWS + $(AM_V_GEN)if $(SED) -n $(news-check-lines-spec)p $< \ + | $(GREP) -E $(news-check-regexp) >/dev/null; then \ + :; \ + else \ + echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \ + exit 1; \ + fi + +sc_makefile_TAB_only_indentation: + @prohibit='^ [ ]{8}' \ + in_vc_files='akefile|\.mk$$' \ + halt='found TAB-8-space indentation' \ + $(_sc_search_regexp) + +sc_m4_quote_check: + @prohibit='(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \ + in_vc_files='(^configure\.ac|\.m4)$$' \ + halt='quote the first arg to AC_DEF*' \ + $(_sc_search_regexp) + +fix_po_file_diag = \ +'you have changed the set of files with translatable diagnostics;\n\ +apply the above patch\n' + +# Generate a list of files in which to search for translatable strings. +perl_translatable_files_list_ = \ + -e 'foreach $$file (@ARGV) {' \ + -e ' \# Consider only file extensions with one or two letters' \ + -e ' $$file =~ /\...?$$/ or next;' \ + -e ' \# Ignore m4 and mk files' \ + -e ' $$file =~ /\.m[4k]$$/ and next;' \ + -e ' \# Ignore a .c or .h file with a corresponding .l or .y file' \ + -e ' $$file =~ /(.+)\.[ch]$$/ && (-e "$${1}.l" || -e "$${1}.y")' \ + -e ' and next;' \ + -e ' \# Skip unreadable files' \ + -e ' -r $$file or next;' \ + -e ' print "$$file ";' \ + -e '}' + +# Verify that all source files using _() (more specifically, files that +# match $(_gl_translatable_string_re)) are listed in po/POTFILES.in. +po_file ?= $(srcdir)/po/POTFILES.in +generated_files ?= $(srcdir)/lib/*.[ch] +_gl_translatable_string_re ?= \b(N?_|gettext *)\([^)"]*("|$$) +sc_po_check: + @if test -f $(po_file); then \ + $(GREP) -E -v '^(#|$$)' $(po_file) \ + | $(GREP) -v '^src/false\.c$$' | sort > $@-1; \ + { $(VC_LIST_EXCEPT); echo $(generated_files); } \ + | xargs perl $(perl_translatable_files_list_) \ + | xargs $(GREP) -E -l '$(_gl_translatable_string_re)' \ + | $(SED) 's|^$(_dot_escaped_srcdir)/||' \ + | sort -u > $@-2; \ + diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ + || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ + rm -f $@-1 $@-2; \ + fi + +# Sometimes it is useful to change the PATH environment variable +# in Makefiles. When doing so, it's better not to use the Unix-centric +# path separator of ':', but rather the automake-provided '$(PATH_SEPARATOR)'. +msg = 'Do not use ":" above; use $$(PATH_SEPARATOR) instead' +sc_makefile_path_separator_check: + @prohibit='PATH[=].*:' \ + in_vc_files='akefile|\.mk$$' \ + halt=$(msg) \ + $(_sc_search_regexp) + +# Check that 'make alpha' will not fail at the end of the process, +# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release) +# and is read-only. +writable-files: + $(AM_V_GEN)if test -d $(release_archive_dir); then \ + for file in $(DIST_ARCHIVES); do \ + for p in ./ $(release_archive_dir)/; do \ + test -e $$p$$file || continue; \ + test -w $$p$$file \ + || { echo ERROR: $$p$$file is not writable; fail=1; }; \ + done; \ + done; \ + test "$$fail" && exit 1 || : ; \ + else :; \ + fi + +v_etc_file = $(gnulib_dir)/lib/version-etc.c +sample-test = tests/sample-test +texi = doc/$(PACKAGE).texi +# Make sure that the copyright date in $(v_etc_file) is up to date. +# Do the same for the $(sample-test) and the main doc/.texi file. +sc_copyright_check: + @require='enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' \ + in_files=$(v_etc_file) \ + halt='out of date copyright in $(v_etc_file); update it' \ + $(_sc_search_regexp) + @require='# Copyright \(C\) '$$(date +%Y)' Free' \ + in_vc_files=$(sample-test) \ + halt='out of date copyright in $(sample-test); update it' \ + $(_sc_search_regexp) + @require='Copyright @copyright\{\} .*'$$(date +%Y) \ + in_vc_files=$(texi) \ + halt='out of date copyright in $(texi); update it' \ + $(_sc_search_regexp) + +# If tests/help-version exists and seems to be new enough, assume that its +# use of init.sh and path_prepend_ is correct, and ensure that every other +# use of init.sh is identical. +# This is useful because help-version cross-checks prog --version +# with $(VERSION), which verifies that its path_prepend_ invocation +# sets PATH correctly. This is an inexpensive way to ensure that +# the other init.sh-using tests also get it right. +_hv_file ?= $(srcdir)/tests/help-version +_hv_regex_weak ?= ^ *\. .*/init\.sh" +# Fix syntax-highlighters " +_hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh" +sc_cross_check_PATH_usage_in_tests: + @if test -f $(_hv_file); then \ + $(GREP) -l 'VERSION mismatch' $(_hv_file) >/dev/null \ + || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \ + exit 0; }; \ + $(GREP) -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \ + || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \ + exit 1; }; \ + good=$$($(GREP) -E '$(_hv_regex_strong)' $(_hv_file)); \ + $(VC_LIST_EXCEPT) \ + | xargs $(GREP) -lE '$(_hv_regex_weak)' \ + | xargs $(GREP) -LFx "$$good" \ + | $(GREP) . \ + && { printf "$(ME): the above files use" \ + " path_prepend_ inconsistently\n" 1>&2; \ + exit 1; } \ + || :; \ + fi + +# BRE regex of file contents to identify a test script. +_test_script_regex ?= \ + +# In tests, use "compare expected actual", not the reverse. +sc_prohibit_reversed_compare_failure: + @prohibit='\ vc-diffs || : + $(AM_V_at)if test -s vc-diffs; then \ + cat vc-diffs; \ + echo "Some files are locally modified:" 1>&2; \ + exit 1; \ + else \ + rm vc-diffs; \ + fi + +rel-files = $(DIST_ARCHIVES) + +gnulib-version = $$(cd $(gnulib_dir) \ + && { git describe || git rev-parse --short=10 HEAD; } ) +bootstrap-tools ?= autoconf,automake,gnulib + +gpgv = $$(gpgv2 --version >/dev/null && echo gpgv2 || echo gpgv) +# If it's not already specified, derive the GPG key ID from +# the signed tag we've just applied to mark this release. +gpg_key_ID ?= \ + $$(cd $(srcdir) \ + && git cat-file tag v$(VERSION) \ + | $(gpgv) --status-fd 1 --keyring /dev/null - - 2>/dev/null \ + | $(AWK) '/^\[GNUPG:\] ERRSIG / {print $$3; exit}') + +translation_project_ ?= coordinator@translationproject.org + +# Make info-gnu the default only for a stable release. +announcement_Cc_stable = $(translation_project_), $(PACKAGE_BUGREPORT) +announcement_mail_headers_stable = \ + To: info-gnu@gnu.org \ + Cc: $(announcement_Cc_) \ + Mail-Followup-To: $(PACKAGE_BUGREPORT) + +announcement_Cc_alpha = $(translation_project_) +announcement_mail_headers_alpha = \ + To: $(PACKAGE_BUGREPORT) \ + Cc: $(announcement_Cc_) + +announcement_mail_Cc_beta = $(announcement_mail_Cc_alpha) +announcement_mail_headers_beta = $(announcement_mail_headers_alpha) + +announcement_Cc_ ?= $(announcement_Cc_$(release-type)) +announcement_mail_headers_ ?= $(announcement_mail_headers_$(release-type)) +announcement: NEWS ChangeLog $(rel-files) +# Not $(AM_V_GEN) since the output of this command serves as +# announcement message: it would start with " GEN announcement". + $(AM_V_at)$(srcdir)/$(_build-aux)/announce-gen \ + --mail-headers='$(announcement_mail_headers_)' \ + --release-type=$(release-type) \ + --package=$(PACKAGE) \ + --prev=$(PREV_VERSION) \ + --curr=$(VERSION) \ + --gpg-key-id=$(gpg_key_ID) \ + --srcdir=$(srcdir) \ + --news=$(srcdir)/NEWS \ + --bootstrap-tools=$(bootstrap-tools) \ + $$(case ,$(bootstrap-tools), in (*,gnulib,*) \ + echo --gnulib-version=$(gnulib-version);; esac) \ + $(addprefix --url-dir=, $(url_dir_list)) + +.PHONY: release-commit +release-commit: + $(AM_V_GEN)cd $(srcdir) \ + && $(_build-aux)/do-release-commit-and-tag \ + -C $(abs_builddir) $(RELEASE) + +## ---------------- ## +## Updating files. ## +## ---------------- ## + +ftp-gnu = https://ftp.gnu.org/gnu +www-gnu = https://www.gnu.org + +upload_dest_dir_ ?= $(PACKAGE) +upload_command = \ + $(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \ + --to $(gnu_rel_host):$(upload_dest_dir_) \ + $(rel-files) +emit_upload_commands: + @echo ===================================== + @echo ===================================== + @echo '$(upload_command)' + @echo '# send the ~/announce-$(my_distdir) e-mail' + @echo ===================================== + @echo ===================================== + +.PHONY: upload +upload: + $(AM_V_GEN)$(upload_command) + +define emit-commit-log + printf '%s\n' 'maint: post-release administrivia' '' \ + '* NEWS: Add header line for next release.' \ + '* .prev-version: Record previous version.' \ + '* cfg.mk (old_NEWS_hash): Auto-update.' +endef + +.PHONY: no-submodule-changes +no-submodule-changes: + $(AM_V_GEN)if test -d $(srcdir)/.git \ + && git --version >/dev/null 2>&1; then \ + diff=$$(cd $(srcdir) && git submodule -q foreach \ + git diff-index --name-only HEAD) \ + || exit 1; \ + case $$diff in '') ;; \ + *) echo '$(ME): submodule files are locally modified:'; \ + echo "$$diff"; exit 1;; esac; \ + else \ + : ; \ + fi + +submodule-checks ?= no-submodule-changes public-submodule-commit + +# Ensure that each sub-module commit we're using is public. +# Without this, it is too easy to tag and release code that +# cannot be built from a fresh clone. +.PHONY: public-submodule-commit +public-submodule-commit: + $(AM_V_GEN)if test -d $(srcdir)/.git \ + && git --version >/dev/null 2>&1; then \ + cd $(srcdir) && \ + git submodule --quiet foreach \ + 'test "$$(git rev-parse "$$sha1")" \ + = "$$(git merge-base origin "$$sha1")"' \ + || { echo '$(ME): found non-public submodule commit' >&2; \ + exit 1; }; \ + else \ + : ; \ + fi +# This rule has a high enough utility/cost ratio that it should be a +# dependent of "check" by default. However, some of us do occasionally +# commit a temporary change that deliberately points to a non-public +# submodule commit, and want to be able to use rules like "make check". +# In that case, run e.g., "make check gl_public_submodule_commit=" +# to disable this test. +gl_public_submodule_commit ?= public-submodule-commit +check: $(gl_public_submodule_commit) + +.PHONY: alpha beta stable release +ALL_RECURSIVE_TARGETS += alpha beta stable +alpha beta stable: $(local-check) writable-files $(submodule-checks) + $(AM_V_GEN)test $@ = stable \ + && { echo $(VERSION) | $(GREP) -E '^[0-9]+(\.[0-9]+)+$$' \ + || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ + || : + $(AM_V_at)$(MAKE) vc-diff-check + $(AM_V_at)$(MAKE) news-check + $(AM_V_at)$(MAKE) distcheck + $(AM_V_at)$(MAKE) dist + $(AM_V_at)$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@ + $(AM_V_at)$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ + +release: + $(AM_V_GEN)$(MAKE) _version + $(AM_V_at)$(MAKE) $(release-type) + +# Override this in cfg.mk if you follow different procedures. +release-prep-hook ?= release-prep + +gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?] +.PHONY: release-prep +release-prep: + $(AM_V_GEN)$(MAKE) --no-print-directory -s announcement \ + > ~/announce-$(my_distdir) + $(AM_V_at)if test -d $(release_archive_dir); then \ + ln $(rel-files) $(release_archive_dir); \ + chmod a-w $(rel-files); \ + fi + $(AM_V_at)echo $(VERSION) > $(prev_version_file) + $(AM_V_at)$(MAKE) update-NEWS-hash + $(AM_V_at)perl -pi \ + -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' \ + $(srcdir)/NEWS + $(AM_V_at)msg=$$($(emit-commit-log)) || exit 1; \ + cd $(srcdir) && $(VC) commit -m "$$msg" -a + +# Override this with e.g., -s $(srcdir)/some_other_name.texi +# if the default $(PACKAGE)-derived name doesn't apply. +gendocs_options_ ?= + +.PHONY: web-manual +web-manual: + $(AM_V_GEN)test -z "$(manual_title)" \ + && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : + $(AM_V_at)cd '$(srcdir)/doc'; \ + $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \ + -o '$(abs_builddir)/doc/manual' \ + --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ + "$(PACKAGE_NAME) - $(manual_title)" + $(AM_V_at)echo " *** Upload the doc/manual directory to web-cvs." + +.PHONY: web-manual-update +web-manual-update: + $(AM_V_GEN)cd $(srcdir) \ + && $(_build-aux)/gnu-web-doc-update -C $(abs_builddir) + + +# Code Coverage + +init-coverage: + $(MAKE) $(AM_MAKEFLAGS) clean + lcov --directory . --zerocounters + +COVERAGE_CCOPTS ?= "-g --coverage" +COVERAGE_OUT ?= doc/coverage + +build-coverage: + $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) + $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check + mkdir -p $(COVERAGE_OUT) + lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ + --capture + +gen-coverage: + genhtml --output-directory $(COVERAGE_OUT) \ + $(COVERAGE_OUT)/$(PACKAGE).info \ + --highlight --frames --legend \ + --title "$(PACKAGE_NAME)" + +coverage: + $(MAKE) init-coverage + $(MAKE) build-coverage + $(MAKE) gen-coverage + +# Some projects carry local adjustments for gnulib modules via patches in +# a gnulib patch directory whose default name is gl/ (defined in bootstrap +# via local_gl_dir=gl). Those patches become stale as the originals evolve +# in gnulib. Use this rule to refresh any stale patches. It applies each +# patch to the original in $(gnulib_dir) and uses the temporary result to +# generate a fuzz-free .diff file. If you customize the name of your local +# gnulib patch directory via bootstrap.conf, this rule detects that name. +# Run this from a non-VPATH (i.e., srcdir) build directory. +.PHONY: refresh-gnulib-patches +refresh-gnulib-patches: + gl=gl; \ + if test -f bootstrap.conf; then \ + t=$$(perl -lne '/^\s*local_gl_dir=(\S+)/ and $$d=$$1;' \ + -e 'END{defined $$d and print $$d}' bootstrap.conf); \ + test -n "$$t" && gl=$$t; \ + fi; \ + for diff in $$(cd $$gl; git ls-files | $(GREP) '\.diff$$'); do \ + b=$$(printf %s "$$diff"|$(SED) 's/\.diff$$//'); \ + VERSION_CONTROL=none \ + patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1; \ + ( cd $(gnulib_dir) || exit 1; \ + git diff "$$b" > "../$$gl/$$diff"; \ + git checkout $$b ) || exit 1; \ + done + +# Update gettext files. +PACKAGE ?= $(shell basename $(PWD)) +PO_DOMAIN ?= $(PACKAGE) +POURL = https://translationproject.org/latest/$(PO_DOMAIN)/ +PODIR ?= po +refresh-po: + rm -f $(PODIR)/*.po && \ + echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \ + wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ + echo 'en@boldquot' > $(PODIR)/LINGUAS && \ + echo 'en@quot' >> $(PODIR)/LINGUAS && \ + ls $(PODIR)/*.po | $(SED) 's/\.po//;s,$(PODIR)/,,' | \ + sort >> $(PODIR)/LINGUAS + +# Indentation + +indent_args ?= -ppi 1 +C_SOURCES ?= $$($(VC_LIST_EXCEPT) | grep '\.[ch]\(.in\)\?$$') +INDENT_SOURCES ?= $(C_SOURCES) +exclude_file_name_regexp--indent ?= $(exclude_file_name_regexp--sc_indent) + +.PHONY: indent +indent: # Running indent once is not idempotent, but running it twice is. + $(AM_V_GEN)indent $(indent_args) $(INDENT_SOURCES) && \ + indent $(indent_args) $(INDENT_SOURCES) + +sc_indent: + @if ! command -v indent > /dev/null; then \ + echo 1>&2 '$(ME): sc_indent: indent is missing'; \ + else \ + fail=0; files="$(INDENT_SOURCES)"; \ + for f in $$files; do \ + indent $(indent_args) -st $$f \ + | indent $(indent_args) -st - \ + | diff -u $$f - || fail=1; \ + done; \ + test $$fail = 1 && \ + { echo 1>&2 '$(ME): code format error, try "make indent"'; \ + exit 1; } || :; \ + fi + +# If you want to set UPDATE_COPYRIGHT_* environment variables, +# put the assignments in this variable. +update-copyright-env ?= + +# Run this rule once per year (usually early in January) +# to update all FSF copyright year lists in your project. +# If you have an additional project-specific rule, +# add it in cfg.mk along with a line 'update-copyright: prereq'. +# By default, exclude all variants of COPYING; you can also +# add exemptions (such as ChangeLog..* for rotated change logs) +# in the file .x-update-copyright. +.PHONY: update-copyright +update-copyright: + $(AM_V_GEN)$(GREP) -l -w Copyright \ + $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ + | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@ + +# This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not +# overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS. + +# NOTE: to override any _gl_TS_* default value, you must +# define the variable(s) using "export" in cfg.mk. +_gl_TS_dir ?= src + +ALL_RECURSIVE_TARGETS += sc_tight_scope +sc_tight_scope: tight-scope.mk + @fail=0; \ + if ! $(GREP) '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \ + > /dev/null \ + && ! $(GREP) -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \ + > /dev/null 2>&1; then \ + echo '$(ME): skipping $@'; \ + else \ + $(MAKE) -s -C $(_gl_TS_dir) \ + -f Makefile \ + -f $(abs_top_srcdir)/cfg.mk \ + -f $(abs_top_builddir)/$< \ + _gl_tight_scope \ + || fail=1; \ + fi; \ + rm -f $<; \ + exit $$fail + +tight-scope.mk: $(ME) + @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(srcdir)/$(ME) > $@-t + @mv $@-t $@ + +ifeq (a,b) +# TS-start + +# Most functions should have static scope. +# Any that don't must be marked with 'extern', but 'main' +# and 'usage' are exceptions: they're always extern, but +# do not need to be marked. Symbols matching '__.*' are +# reserved by the compiler, so are automatically excluded below. +_gl_TS_unmarked_extern_functions ?= main usage +_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\w+) *\(/ + +# If your project uses a macro like "XTERN", then put +# the following in cfg.mk to override this default: +# export _gl_TS_extern = extern|XTERN +_gl_TS_extern ?= extern + +# The second nm|grep checks for file-scope variables with 'extern' scope. +# Without gnulib's progname module, you might put program_name here. +# Symbols matching '__.*' are reserved by the compiler, +# so are automatically excluded below. +_gl_TS_unmarked_extern_vars ?= + +# NOTE: the _match variables are perl expressions -- not mere regular +# expressions -- so that you can extend them to match other patterns +# and easily extract matched variable names. +# For example, if your project declares some global variables via +# a macro like this: GLOBAL(type, var_name, initializer), then you +# can override this definition to automatically extract those names: +# export _gl_TS_var_match = \ +# /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/ +_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/ + +# The names of object files in (or relative to) $(_gl_TS_dir). +_gl_TS_obj_files ?= *.$(OBJEXT) + +# Files in which to search for the one-line style extern declarations. +# $(_gl_TS_dir)-relative. +_gl_TS_headers ?= $(noinst_HEADERS) +_gl_TS_other_headers ?= *.h + +.PHONY: _gl_tight_scope +_gl_tight_scope: $(bin_PROGRAMS) + sed_wrap='s/^/^_?/;s/$$/$$/'; \ + t=exceptions-$$$$; \ + trap 's=$$?; rm -f $$t; exit $$s' 0; \ + for sig in 1 2 3 13 15; do \ + eval "trap 'v=`expr $$sig + 128`; (exit $$v); exit $$v' $$sig"; \ + done; \ + src=`for f in $(SOURCES); do \ + test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ + hdr=`for f in $(_gl_TS_headers); do \ + test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ + ( printf '%s\n' '__.*' $(_gl_TS_unmarked_extern_functions); \ + $(GREP) -h -A1 '^extern .*[^;]$$' $$src \ + | $(GREP) -vE '^(extern |--|#)' | $(SED) 's/ .*//; /^$$/d'; \ + perl -lne \ + '$(_gl_TS_function_match) and print $$1' $$hdr; \ + ) | sort -u | $(SED) "$$sed_wrap" > $$t; \ + nm -g $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|$(GREP) -Ev -f $$t \ + && { echo the above functions should have static scope >&2; \ + exit 1; } || : ; \ + ( printf '%s\n' '__.*' main $(_gl_TS_unmarked_extern_vars); \ + perl -lne '$(_gl_TS_var_match) and print $$1' \ + $$hdr $(_gl_TS_other_headers) \ + ) | sort -u | $(SED) "$$sed_wrap" > $$t; \ + nm -g $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p' \ + | sort -u | $(GREP) -Ev -f $$t \ + && { echo the above variables should have static scope >&2; \ + exit 1; } || : +# TS-end +endif diff --git a/BUILD/libtool-2.4.7/tests/am-subdir.at b/BUILD/libtool-2.4.7/tests/am-subdir.at new file mode 100644 index 0000000..dd20128 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/am-subdir.at @@ -0,0 +1,151 @@ +# am-subdir.at -- libtool subdir-objects support -*- Autotest -*- + +# Copyright (C) 2004, 2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Libtool subdir-objects support.]) + + +## ----------- ## +## C Language. ## +## ----------- ## + +AT_SETUP([C subdir-objects]) + +AT_DATA([[configure.ac]], +[[AC_INIT([subdir-demo], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) +AM_INIT_AUTOMAKE +LT_INIT([win32-dll]) +AC_PROG_CC +AM_PROG_CC_C_O +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([[Makefile.am]], +[[ACLOCAL_AMFLAGS = -I m4 +AUTOMAKE_OPTIONS = subdir-objects foreign 1.6 +AM_CPPFLAGS = -I$(top_srcdir)/../.. + +lib_LTLIBRARIES = subdir/libsub.la +subdir_libsub_la_SOURCES= subdir/sub.c + +bin_PROGRAMS = subdir/subdemo +subdir_subdemo_SOURCES = subdir/main.c +subdir_subdemo_LDADD = subdir/libsub.la +]]) + +test -d subdir || { rm -f subdir && mkdir subdir; } + +AT_DATA([[subdir/main.c]], +[[#include + +extern void sub (void); + +int main (void) +{ + printf ("Welcome to GNU Libtool subdir-objects test!\n"); + sub(); + return 0; +} +]]) + +AT_DATA([[subdir/sub.c]], +[[#include +void sub (void) { printf ("** This is libsub **\n"); } +]]) + +LT_AT_BOOTSTRAP([--copy], [-I m4], [ignore], [--add-missing]) + +LT_AT_EXEC_CHECK([subdir/subdemo], 0, stdout) +AT_CHECK([$GREP 'Welcome to GNU Libtool subdir-objects test' stdout], + [], [ignore]) +AT_CHECK([$GREP 'This is libsub' stdout], + [], [ignore]) + +AT_CLEANUP + + +## ------------- ## +## C++ Language. ## +## ------------- ## + +AT_SETUP([C++ subdir-objects]) +LT_AT_TAG([CXX]) + +AT_DATA([[configure.ac]], +[[AC_INIT([subdir-demo], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) +AM_INIT_AUTOMAKE +AC_PROG_CC +AM_PROG_CC_C_O +AC_PROG_CXX +AC_PROG_CXXCPP + +AC_LANG([C++]) +LT_INIT([win32-dll]) + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([[Makefile.am]], +[[ACLOCAL_AMFLAGS = -I m4 +AUTOMAKE_OPTIONS = subdir-objects foreign 1.6 +AM_CPPFLAGS = -I$(top_srcdir)/../.. + +lib_LTLIBRARIES = subdir/libsub.la +subdir_libsub_la_SOURCES= subdir/sub.cxx subdir/sub.hxx + +bin_PROGRAMS = subdir/subdemo +subdir_subdemo_SOURCES = subdir/main.cxx +subdir_subdemo_LDADD = subdir/libsub.la +]]) + +test -d subdir || { rm -f subdir && mkdir subdir; } + +AT_DATA([[subdir/sub.hxx]], +[[class libsub { public: int sub (void); }; +]]) + +AT_DATA([[subdir/main.cxx]], +[[#include "sub.hxx" + +int main (void) +{ + libsub SUB; + return SUB.sub() != 27; +} +]]) + +AT_DATA([[subdir/sub.cxx]], +[[#include "sub.hxx" + +int libsub::sub (void) { return 27; } +]]) + +LT_AT_BOOTSTRAP([--copy], [-I m4], [ignore], [--add-missing]) + +LT_AT_EXEC_CHECK([subdir/subdemo], 0) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/archive-in-archive.at b/BUILD/libtool-2.4.7/tests/archive-in-archive.at new file mode 100644 index 0000000..caffcee --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/archive-in-archive.at @@ -0,0 +1,60 @@ +# dmacks.at -- test for dmacks bug -*- Autotest -*- +# +# Copyright (C) 2007-2008, 2010-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Peter O'Gorman, 2007 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_SETUP([static library contains static library]) +AT_KEYWORDS([libtool]) + +# This test passes with MS lib. +AT_XFAIL_IF([case $AR in ar-lib\ * | *[[/\\]]ar-lib\ *) false;; *) :;; esac]) + +AT_DATA([foo.c], +[ +int foo() { return 1;} +]) + +AT_DATA([bar.c], +[ +int bar() { return 1;} +]) + +thisdir=`cd . && pwd` +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c +$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ +-o libfoo.la foo.lo -version-info 1:0:0 -rpath $thisdir +$LIBTOOL --mode=install cp libfoo.la $thisdir +eval `$EGREP '^(old_library)=' < libfoo.la` +libfoo=$old_library +AT_CHECK([$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ + -o libbar.la bar.lo $libfoo -version-info 1:0:0 -rpath $thisdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp libbar.la $thisdir], [], [ignore], [ignore]) +eval `$EGREP '^(old_library)=' < libbar.la` +libbar=$old_library +AT_CHECK([$AR -t $libbar | $GREP $libfoo],[1],[ignore],[ignore]) +AT_CHECK([$AR -t $libbar | $GREP foo.$OBJEXT],[],[ignore],[ignore]) +AT_CHECK([$AR -t $libbar | $GREP bar.$OBJEXT],[],[ignore],[ignore]) +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/bindir.at b/BUILD/libtool-2.4.7/tests/bindir.at new file mode 100644 index 0000000..38f3eb1 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/bindir.at @@ -0,0 +1,361 @@ +# bindir.at - Test the -bindir option +# +# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. +# Written by Dave Korn, 2009 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +#### +# In this testcase, and in the chunk of code that makes use +# of $bindir in ltmain.in, we would very much have liked to +# automatically decide which systems require dynamically-loaded +# libraries to be installed to a directory in $PATH according +# to the libtool properties that tell us that "the system provides +# no way to hard-code library paths into executables, and also +# has no $shlibpath_var independent of the PATH variable", in +# Ralf's words. But it turns out this is not possible, as:- +# +#> * Dave Korn wrote on Fri, Aug 14, 2009 at 04:30:27AM CEST: +#>>> Ralf Wildenhues wrote: +#>>> +#>>>>> But in this particular case, I would argue that either you look at +#>>>>> the libtool variables shlibpath_var and hardcode_action for "PATH" +#>>>>> and "unsupported". +#>>> +#>>> On Cygwin, $hardcode_action = "immediate" in the generated libtool +#>>> script. Did you perhaps mean $hardcode_shlibpath_var, which is indeed +#>>> "unsupported"? +#> +#> Oh brother, yes, I forgot about those bogus hardcode_libdir_flag_spec +#> settings. They fool _LT_LINKER_HARDCODE_LIBPATH. I don't remember whether +#> they were needed in order to not break some semantics in ltmain (they +#> probably were). +#> +#> Anyway, $hardcode_action = "immediate" is definitely wrong, but fixing that +#> now is also way out of scope of this patch. So I guess we need to stick to +#> host matching in the code, and work out a separate fix for the setting of +#> $hardcode_libdir_flag_spec. +# +# So alas we punt for now, and just hardcode the relevant OSs that require +# this functionality. That's Cygwin, MinGW and CeGCC for now; see the case +# statement in ltmain.in around where the 'tdlname' variable is set. + +#### +# First a simple test that we can build and run an executable with a couple of +# tiny libraries. + +AT_SETUP([bindir basic lib test]) + +bindirneeded=: +case $host_os in + cygwin*|mingw*|cegcc*) + ;; + *) + bindirneeded=false + ;; +esac + +#### +# These routines save the PATH before a test and restore it after, +# prepending a chosen directory to the path on the platforms where +# -bindir is needed after saving. +# + +func_save_and_prepend_path () +{ + save_PATH=$PATH + if $bindirneeded; then + PATH=$1$PATH_SEPARATOR$PATH + fi + export PATH +} + +func_restore_path () +{ + PATH=$save_PATH + export PATH +} + +AT_DATA([foo.c],[[ +int x=11; +]]) + +AT_DATA([baz.c],[[ +extern int x; +int baz (void); +int baz (void) { return x;} +]]) + +AT_DATA([bar.c],[[ +extern int baz (void); +int y=3; +int bar (void); +int bar (void) { return y + baz ();} +]]) + +AT_DATA([main.c],[[ +#include +extern int baz (void); +extern int bar (void); +int main() { +if (baz () + bar () - 25) abort (); +return 0; +} +]]) + + +curdir=`pwd` +eval "`$LIBTOOL --config | $GREP '^objdir='`" + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c],[0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c],[0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo baz.lo -rpath $curdir/$objdir],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c],[0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS bar.lo libfoo.la -rpath $curdir/$objdir],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c],[0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libbar.la libfoo.la],[0],[ignore],[ignore]) + +# Check both static and shared versions run. We don't install them +# here, that will be covered by the later tests; we've rpath'd things +# so that they can all be run in situ. + +LT_AT_NOINST_EXEC_CHECK([./main]) + +# Ensure libraries can be found on PATH, if we are on one +# of the affected platforms, before testing the shared version. + +func_save_and_prepend_path "$curdir/$objdir" +$bindirneeded && { + LT_AT_NOINST_EXEC_CHECK([$objdir/main]) +} + +# In fact, prepending the PATH as above is superfluous on the windows +# platforms that this feature is primarily aimed at, as the DLL search +# path always includes the directory from which the app was launched. +# To make sure it still works even when not side-by-side, we'll install +# the main executable and execute it from there while the PATH still +# points to the shared libs in the .libs subdir. On other platforms, +# the rpaths we set at link time will guarantee it runs from the bindir. + +mkdir $curdir/bin +AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/bin/main$EXEEXT], [], [ignore], [ignore]) +LT_AT_EXEC_CHECK([$curdir/bin/main$EXEEXT], [0], [ignore], [ignore], []) +func_restore_path + +AT_CLEANUP + +#### +# This is the main testcase. For a variety of bindir and libdir +# settings, it verifies that all the files get installed exactly +# where we want them to go, and that they can be executed once +# installed. +# + +AT_SETUP([bindir install tests]) + +bindirneeded=: +case $host_os in + cygwin*|mingw*|cegcc*) + ;; + *) + bindirneeded=false + ;; +esac + +eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`" +AT_CHECK([test yes = "$build_libtool_libs" || exit 77]) + +#### +# These routines save the PATH before a test and restore it after, +# prepending a chosen directory to the path on the platforms where +# -bindir is needed after saving. +# + +func_save_and_prepend_path () +{ + save_PATH=$PATH + if $bindirneeded; then + PATH=$1$PATH_SEPARATOR$PATH + fi + export PATH +} + +func_restore_path () +{ + PATH=$save_PATH + export PATH +} + +AT_DATA([foo.c],[[ +int x=11; +]]) + +AT_DATA([baz.c],[[ +extern int x; +int baz (void); +int baz (void) { return x;} +]]) + +AT_DATA([bar.c],[[ +extern int baz (void); +int y=3; +int bar (void); +int bar (void) { return y + baz ();} +]]) + +AT_DATA([main.c],[[ +#include +extern int baz (void); +extern int bar (void); +int main() { +if (baz () + bar () - 25) abort (); +return 0; +} +]]) + +# We only need to compile once, but we'll need to relink for each different value +# of libdir in order to set the rpath, and we'll install for each combination of +# libdir and bindir. + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c],[0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c],[0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c],[0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c],[0],[ignore],[ignore]) + +# Now try installing the libs. There are the following cases: +# No -bindir +# -bindir below lib install dir +# -bindir is lib install dir +# -bindir beside lib install dir +# -bindir above lib dir +# -bindir above and beside lib dir +# -bindir in entirely unrelated prefix. + +curdir=`pwd` +for libdir in \ + $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0 \ + $curdir/usr/lib/gcc/../gcc/.//i686-pc-cygwin/4.5.0/../../././//. \ + $curdir/usr/lib/ \ + $curdir/usr/lib \ + $curdir/baz \ + $curdir/baz/lib/; +do + + # Do a basic install with no -bindir option for reference. We use the sbin/ + # dir for the main exe to avoid the potential "this only works because it's + # side-by-side with the libs" default DLL search path problem mentioned above. + rm -rf $libdir $curdir/bin $curdir/sbin $curdir/baz $curdir/usr + AS_MKDIR_P($libdir) + AS_MKDIR_P($curdir/sbin) + AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir],[0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la -rpath $libdir],[0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL libfoo.la $libdir], [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/sbin/main$EXEEXT], [], [ignore], [ignore]) + + # And ensure it went where we expect. Could be looking for any of + # 'cygfoo-0.dll', 'libfoo-0.dll', 'foo-0.dll', or 'libfoo.so.0'. We'll + # simplify this check by taking advantage of the fact that if it's a DLL, + # it has to go in bindir, so we'll not check for both forms in libdir. + if $bindirneeded; then + AT_CHECK([test -f "$libdir"/../bin/???foo-0.dll || ls "$libdir"/../bin/*foo*0*], [], [ignore], [ignore]) + else + AT_CHECK([ls $libdir/*foo*], [], [ignore], [ignore]) + fi + + # And that it can be executed. + func_save_and_prepend_path "$libdir/../bin" + LT_AT_EXEC_CHECK([$curdir/sbin/main$EXEEXT], [0], [ignore], [ignore], []) + func_restore_path + + for bindir in \ + $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0/bin/ \ + $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0/bin \ + $curdir/usr/lib/gcc/i686-pc-cygwin/bin \ + $curdir/usr/lib/bin \ + $curdir/usr/bin/ \ + $curdir/usr/bin \ + /tmp/foo/bar; + do + + # Clear any old stuff out before we install. Because bindir + # may be in /tmp, we have to take care to create it securely + # and not to delete and recreate it if we do. + rm -rf $libdir $curdir/bin $curdir/sbin $curdir/baz $curdir/usr + + tmp= + case $bindir in + /tmp*) + # Create a temporary directory $tmp in $TMPDIR (default /tmp). + # Use mktemp if possible; otherwise fall back on mkdir, + # with $RANDOM to make collisions less likely. + : ${TMPDIR=/tmp} + { + tmp=` + (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null + ` && + test -n "$tmp" && test -d "$tmp" + } || { + tmp=$TMPDIR/foo$$-$RANDOM + (umask 077 && mkdir "$tmp") + } || AT_CHECK([exit 77]) + bindir=$tmp/bar + ;; + *) + # Clear any old stuff out before we install. + rm -rf $bindir + AS_MKDIR_P($bindir) + ;; + esac + + # Relink with new rpaths. + AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -no-undefined -bindir $bindir -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir],[0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la],[0],[ignore],[ignore]) + + # Recreate directories (bindir already done) and install. + AS_MKDIR_P($libdir) + AS_MKDIR_P($curdir/sbin) + AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL libfoo.la "$libdir"], [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT "$curdir/sbin/main$EXEEXT"], [], [ignore], [ignore]) + + # Ensure it went to bindir rather than default dir this time. + if $bindirneeded; then + AT_CHECK([test -f "$bindir"/???foo-0.dll || ls "$bindir"/*foo*0*], [], [ignore], [ignore]) + else + AT_CHECK([ls "$libdir"/*foo*], [], [ignore], [ignore]) + fi + + # And that it can be executed. + func_save_and_prepend_path "$bindir" + LT_AT_EXEC_CHECK([$curdir/sbin/main$EXEEXT], [0], [ignore], [ignore], []) + func_restore_path + + # Clean up if we made a temp dir. Subdirs under our testdir get rm'd + # and recreated at the top of the loop. Securely created subdirs under + # /tmp get created precisely once and rm'd when we're done with them. + if test ! -z "$tmp"; then + rm -rf "$tmp" + fi + + done +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/cdemo.at b/BUILD/libtool-2.4.7/tests/cdemo.at new file mode 100644 index 0000000..a131aef --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/cdemo.at @@ -0,0 +1,194 @@ +# cdemo.at -- Using Automake to build a program and library -*- Autotest -*- +# +# Copyright (C) 2003-2004, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2003 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Convenience libraries.]) + + +# _LT_SETUP +# --------- +m4_define([_LT_SETUP], +[AT_DATA([configure.ac], +[[AC_INIT([cdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libfoo.la +libfoo_la_SOURCES = foo.c +libfoo_la_LIBADD = $(LIBM) +libfoo_la_LDFLAGS = -no-undefined +noinst_HEADERS = foo.h + +bin_PROGRAMS = cdemo +cdemo_SOURCES = main.c +cdemo_LDADD = libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +]]) + +AT_DATA([foo.h], +[[#ifndef FOO_H +#define FOO_H 1 + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +extern int foo(); + +extern int hello(); + +#endif +]]) + +AT_DATA([foo.c], +[[#include +#include +#include + +#include "foo.h" + +int foo() { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} + +int hello() { + printf ("** This is libfoo **\n"); + return HELLO_RET; +} +]]) + +AT_DATA([main.c], +[[#include +#include +#include "foo.h" + +int main () +{ + int value; + + printf ("Welcome to GNU libtool cdemo!\n"); + + value = hello(); + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + + if (foo () == FOO_RET) + printf("foo is ok!\n"); + + return 0; +} +]]) + +LT_AT_HOST_DATA([expout], +[[Welcome to GNU libtool cdemo! +** This is libfoo ** +hello returned: 57616 +hello is ok! +cos (0.0) = 1 +foo is ok! +]]) +]) # _LT_SETUP + + +## ------------- ## +## Cdemo static. ## +## ------------- ## + +AT_SETUP([build and link against a static library]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-shared], + [^build_old_libs=yes], [^build_libtool_libs=no]) +LT_AT_CHECK_EXECUTE([], [./cdemo]) + +AT_CLEANUP + + +## ------------- ## +## Cdemo shared. ## +## ------------- ## + +AT_SETUP([build and link against a dynamic library]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-static], + [^build_old_libs=no], [^build_libtool_libs=yes]) +LT_AT_CHECK_EXECUTE([], [./cdemo]) + +AT_CLEANUP + + +## ----------- ## +## Cdemo conf. ## +## ----------- ## + +AT_SETUP([build both static and dynamic]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([], + [^build_old_libs=yes], [^build_libtool_libs=yes]) +LT_AT_CHECK_EXECUTE([], [./cdemo]) + +AT_CLEANUP + + +## ------------ ## +## Cdemo undef. ## +## ------------ ## + +AT_SETUP([allow_undefined_flag]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-static]) + +AT_CHECK([$EGREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77)], + 1, [ignore]) + +$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool + +LT_AT_CHECK_EXECUTE([], [./cdemo]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/cmdline_wrap.at b/BUILD/libtool-2.4.7/tests/cmdline_wrap.at new file mode 100644 index 0000000..53eadf1 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/cmdline_wrap.at @@ -0,0 +1,51 @@ +# cmdline_wrap.at -- run tests with low max_cmd_len -*- Autotest -*- + +# Copyright (C) 2007, 2009, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2007 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# Make sure libtool works when it needs to wrap command lines. +# We simulate this by setting max_cmd_len very low. + +AT_SETUP([Run tests with low max_cmd_len]) +AT_KEYWORDS([recursive expensive]) +dnl If we already have failures, then reruns will fail too! +fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do test -f "$f" && echo "$f"; done` +echo "DEBUG: fail_list='$fail_list'" +AT_CHECK([test -z "$fail_list" || (exit 77)]) +m4_ifdef([AT_CAPTURE_FILE], +[AT_CAPTURE_FILE([testsuite.log])]) + +$SED 's|max_cmd_len=.*|max_cmd_len="24"|' < $LIBTOOL > libtool +chmod +x libtool +LIBTOOL=`pwd`/libtool +export LIBTOOL +# run the suite in a subdirectory, otherwise the two suites will compete +# for the output file 'testsuite.log'. +mkdir tests +cd tests +INNER_TESTSUITEFLAGS="$INNER_TESTSUITEFLAGS abs_top_srcdir=$abs_top_srcdir \ + abs_builddir=$abs_builddir" +AT_CHECK([$CONFIG_SHELL $abs_srcdir/testsuite -k libtool$INNER_TESTSUITEFLAGS], + [], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/configure-funcs.at b/BUILD/libtool-2.4.7/tests/configure-funcs.at new file mode 100644 index 0000000..6feee70 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/configure-funcs.at @@ -0,0 +1,70 @@ +# configure-functions.at -- shared shell functions. -*- Autotest -*- +# +# Copyright (C) 2015-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Functions shared with configure and libtool.]) + +m4_define([_AT_FUNC_SETUP], [dnl +AT_SETUP([$1 works])dnl +_lt_bin=$abs_top_builddir/libtool +re_begincf='^# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE' +re_endcf='^# ### END FUNCTIONS SHARED WITH CONFIGURE' + +$ECHO '#!/bin/sh' > "$1" +$ECHO '#: ${SED=sed}' >> "$1" +$ECHO '#: ${ECHO=echo}' >> "$1" + +sed "1,/$re_begincf/d;/$re_endcf/,\$d" < "$_lt_bin" >> "$1" +]) + +_AT_FUNC_SETUP([func_munge_path_list]) + +cat <<\EOF >> func_munge_path_list +for orig in "/usr/lib" " /lib /usr/lib "; do + $ECHO "'$orig':" + for path in "/p1:" "/p3:/p2:" ":/a1" ":/a2:/a3" "/p4::/a4" "/p6:/p5::/a5:/a6"; do + old=$orig + func_munge_path_list orig "$path" || exit 1 + $ECHO "munge ($path) = $orig" + done +done +EOF +chmod +x func_munge_path_list + +AT_CHECK([ECHO="$ECHO" SED="$SED" ./func_munge_path_list], [0], +['/usr/lib': +munge (/p1:) = /p1 /usr/lib +munge (/p3:/p2:) = /p3 /p2 /p1 /usr/lib +munge (:/a1) = /p3 /p2 /p1 /usr/lib /a1 +munge (:/a2:/a3) = /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 +munge (/p4::/a4) = /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 +munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 +' /lib /usr/lib ': +munge (/p1:) = /p1 /lib /usr/lib @&t@ +munge (/p3:/p2:) = /p3 /p2 /p1 /lib /usr/lib @&t@ +munge (:/a1) = /p3 /p2 /p1 /lib /usr/lib /a1 +munge (:/a2:/a3) = /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 +munge (/p4::/a4) = /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 +munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 +], []) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/configure-iface.at b/BUILD/libtool-2.4.7/tests/configure-iface.at new file mode 100644 index 0000000..229ac34 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/configure-iface.at @@ -0,0 +1,329 @@ +# configure-iface.at -- test ltdl configure interface -*- Autotest -*- +# +# Copyright (C) 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2007 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([configure interface to libltdl.]) + +# _LT_AT_LTDL_SETUP +# ----------------- +m4_pushdef([_LT_AT_LTDL_SETUP], +[AT_DATA([main.c], +[[#include +#include + +typedef int funcp (void); + +static int errors = 0; + +int +main (void) +{ + lt_dlhandle handle; + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (lt_dlinit () != 0) + { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror ()); + return 1; + } + + handle = lt_dlopenext ("libmodule"); + if (!handle) + { + fprintf (stderr, "can't open libmodule: %s\n", lt_dlerror ()); + ++errors; + } + + { + funcp *f = (funcp *) lt_dlsym (handle, "f"); + + if (f) + { + printf ("%d\n", f ()); + } + else + { + fprintf (stderr, "function 'f' not found: %s\n", lt_dlerror ()); + ++errors; + } + } + + if (lt_dlexit () != 0) + { + fprintf (stderr, "error during exit: %s\n", lt_dlerror ()); + ++errors; + } + + return (errors != 0); +} +]]) + +AT_DATA([libmodule.c], +[[#ifdef __cplusplus +extern "C" { +#endif +int f (void) { return 5150; } +#ifdef __cplusplus +} +#endif +]]) + +LT_AT_HOST_DATA([expout], +[[5150 +]]) +])# _LT_AT_LTDL_SETUP + + +## -------------------- ## +## Installable libltdl. ## +## -------------------- ## + +AT_SETUP([installable libltdl]) +AT_KEYWORDS([libltdl]) + +_LT_AT_LTDL_SETUP + +AT_DATA([configure.ac], +[[AC_INIT([installable-ltdl-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([libltdl/config]) +AC_CONFIG_MACRO_DIRS([libltdl/m4]) +AC_CONFIG_HEADERS([config.h:config.hin]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT([dlopen]) +LTDL_INIT([installable]) +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = 1.7 + +SUBDIRS = libltdl + +AM_CPPFLAGS = $(LTDLINCL) + +lib_LTLIBRARIES = libmodule.la +# Automake < 1.8 will use libmodule.la.c as default source, +# while newer will choose libmodule.c; so specify it here. +libmodule_la_SOURCES = libmodule.c +libmodule_la_LDFLAGS = -module + +bin_PROGRAMS = main +main_LDFLAGS = -dlopen libmodule.la +main_LDADD = $(LIBLTDL) +main_DEPENDENCIES = $(LTDLDEPS) libmodule.la +]]) + +# Install everything! +prefix=`pwd`/_inst + +LT_AT_BOOTSTRAP([--ltdl], [-I libltdl/m4], [], [--add-missing], [], + [--with-included-ltdl --prefix=$prefix], [all install]) + +# TODO: Check that the installed program 'main' is linked against our libltdl +AT_CHECK([test -f "$prefix/lib/libltdl.la"]) +AT_CHECK([test -f "$prefix/include/ltdl.h"]) + +# Check that main is rebuilt if libltdl.la is newer +rm -f libltdl/libltdl.la +AT_CHECK([$MAKE -q main$EXEEXT || exit 1], [1], [ignore], [ignore]) + +AT_CLEANUP + + +## ------------------------------- ## +## Link against installed libltdl. ## +## ------------------------------- ## + +AT_SETUP([--with-ltdl-include/lib]) +AT_KEYWORDS([libltdl]) + +# Install libltdl +prefix=`pwd`/_inst + +LT_AT_LIBTOOLIZE([--copy --ltdl=ltdl]) + +(cd ltdl +LT_AT_CONFIGURE([--enable-ltdl-install --prefix=$prefix]) +LT_AT_MAKE([all install]) +) + +# Remove build files +rm -rf ltdl/ + +AT_CHECK([test -f "$prefix/lib/libltdl.la"]) +AT_CHECK([test -f "$prefix/include/ltdl.h"]) + +_LT_AT_LTDL_SETUP + +AT_DATA([configure.ac], +[[AC_INIT([configure-iface-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_MACRO_DIRS([_inst/aclocal]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT([dlopen]) +LTDL_INIT +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = 1.7 + +AM_CPPFLAGS = $(LTDLINCL) + +lib_LTLIBRARIES = libmodule.la +# Automake < 1.8 will use libmodule.la.c as default source, +# while newer will choose libmodule.c; so specify it here. +libmodule_la_SOURCES = libmodule.c +libmodule_la_LDFLAGS = -module + +bin_PROGRAMS = main +main_LDFLAGS = -dlopen libmodule.la +main_LDADD = $(LIBLTDL) +main_DEPENDENCIES = $(LTDLDEPS) libmodule.la +]]) + +## Try to avoid linking against a previously installed libltdl found +## with an explicit -L/path. +save_LDFLAGS=$LDFLAGS +LDFLAGS= +for l in $save_LDFLAGS +do + case $l in + -L*) ;; + *) LDFLAGS="$LDFLAGS $l" ;; + esac +done + +# We don't use 'libtoolize --ltdl', so that we get an error if the test +# tries to build and link against its own ltdl sources: +LT_AT_BOOTSTRAP([], [-I _inst/aclocal], [], [--add-missing], [], + [--with-ltdl-lib=$prefix/lib --with-ltdl-include=$prefix/include], + [all]) + +## TODO: portable ldd check for correct libltdl +## Currently, this test doesn't fail if 'main' ends up linking against a +## previously installed system libltdl. +LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen libmodule.la], [], [expout], []) + +AT_CLEANUP + + +## ------------------------------------- ## +## Link against shipped libltdl sources. ## +## ------------------------------------- ## + +AT_SETUP([--with-included-ltdl]) +AT_KEYWORDS([libltdl]) + +_LT_AT_LTDL_SETUP + +AT_DATA([configure.ac], +[[AC_INIT([configure-iface-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([libltdl/config]) +AC_CONFIG_MACRO_DIRS([libltdl/m4]) +AC_CONFIG_HEADERS([config.h:config.hin]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT([dlopen]) +LTDL_INIT +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = 1.7 + +SUBDIRS = libltdl + +AM_CPPFLAGS = $(LTDLINCL) + +lib_LTLIBRARIES = libmodule.la +# Automake < 1.8 will use libmodule.la.c as default source, +# while newer will choose libmodule.c; so specify it here. +libmodule_la_SOURCES = libmodule.c +libmodule_la_LDFLAGS = -module + +bin_PROGRAMS = main +main_LDFLAGS = -dlopen libmodule.la +main_LDADD = $(LIBLTDL) +main_DEPENDENCIES = $(LTDLDEPS) libmodule.la +]]) + +LT_AT_BOOTSTRAP([--ltdl], [-I libltdl/m4], [], [--add-missing], [], + [--with-included-ltdl], [all]) + +# --with-included-ltdl should build a convenience lib by default +AT_CHECK([test -f libltdl/libltdlc.la]) + +## TODO: portable ldd check for correct libltdl +## Currently, this test doesn't fail if 'main' ends up linking against a +## previously installed system libltdl. +LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen libmodule.la], [], [expout], []) + +# Check that main is rebuilt if libltdlc.la is newer +rm -f libltdl/libltdlc.la +AT_CHECK([$MAKE -q main$EXEEXT || exit 1], [1], [ignore], [ignore]) + +AT_CLEANUP + + +## -------------------- ## +## Convenience libltdl. ## +## -------------------- ## + +AT_SETUP([convenience libltdl]) + +AT_DATA([configure.ac], +[[AC_INIT +AC_CONFIG_AUX_DIR([libltdl/config]) +AC_LIBLTDL_CONVENIENCE +AC_LIBTOOL_DLOPEN +AC_PROG_LIBTOOL +AC_CONFIG_FILES(Makefile) +AC_OUTPUT +]]) +AT_DATA([Makefile.in], +[[LIBLTDL = @LIBLTDL@ +print-ltdl: + echo $(LIBLTDL) +]]) + +LT_AT_BOOTSTRAP([--ltdl], [-I libltdl/m4], [ignore], [ignore], [], [], [ignore]) +AT_CHECK([$MAKE print-ltdl], [], [stdout], [ignore]) +AT_CHECK([$GREP libltdl/libltdlc.la stdout], [], [ignore]) + +AT_CLEANUP + +dnl Be careful not to let the definition leak into other tests +m4_popdef([_LT_AT_LTDL_SETUP]) diff --git a/BUILD/libtool-2.4.7/tests/convenience.at b/BUILD/libtool-2.4.7/tests/convenience.at new file mode 100644 index 0000000..65e7522 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/convenience.at @@ -0,0 +1,290 @@ +# convenience.at -- testing C convenience archives -*- Autotest -*- + +# Copyright (C) 2005, 2007-2019, 2021-2022 Free Software Foundation, +# Inc. +# Written by Ralf Wildenhues, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# Test that convenience archives work. +# for each TAG, test: +# - adding one or multiple convenience archives +# - with or without additional objects on the cmdline + +AT_SETUP([C convenience archives]) +AT_KEYWORDS([libtool]) + +cat >main1.c <main2.c <main3.c < a$i.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main$i.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo +done +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist], + [0],[ignore],[ignore]) + +conv= +for i in 1 2 3; do + conv=$conv$i + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la], + [0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la], + [0],[ignore],[ignore]) + LT_AT_EXEC_CHECK([./main_static]) + LT_AT_EXEC_CHECK([./main]) +done +AT_CLEANUP + + +AT_SETUP([C++ convenience archives]) +LT_AT_TAG([CXX]) +AT_KEYWORDS([libtool]) + +cat >main1.cpp <main2.cpp <main3.cpp < a$i.cpp + $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c main$i.cpp + $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c a$i.cpp + $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba$i.la a$i.lo +done +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist], + [0],[ignore],[ignore]) + +conv= +for i in 1 2 3; do + conv=$conv$i + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la], + [0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la], + [0],[ignore],[ignore]) + LT_AT_EXEC_CHECK([./main_static]) + LT_AT_EXEC_CHECK([./main]) +done +AT_CLEANUP + + +AT_SETUP([F77 convenience archives]) +LT_AT_TAG([F77]) +AT_KEYWORDS([libtool]) + +cat >main1.f <main2.f <main3.f <a$i.f <main1.f <main2.f <main3.f <a$i.f <foo1.java <foo2.java <foo3.java <A$i.java < ./libtool + chmod +x libtool + LIBTOOL=./libtool + + # Make sure $restrictive_flags do not cause a failure + # themselves (e.g. because a non-gcc compiler doesn't + # understand them). Tru64 cc only fails when linking. + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS trivial.c || continue + + AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c], + [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -no-undefined -o liba.la -rpath /foo liba.lo], + [], [ignore], [ignore]) + AT_CHECK([test -f liba.la]) + + AT_CHECK([$CC $CPPFLAGS $CFLAGS -c usea.c], + [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./usea], [0], [ignore], [ignore], []) +done + + +# Test run-time activation of wrapper debugging. +# This is not part of the loop above, because we +# need to check, not ignore, the output. +CFLAGS=$orig_CFLAGS +LIBTOOL=$orig_LIBTOOL + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo], + [], [ignore], [ignore]) +AT_CHECK([test -f liba.la]) + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c usea.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la], + [], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./usea], [0], [ignore], [stderr], [--lt-debug]) +LT_AT_UNIFY_NL([stderr]) +AT_CHECK([$GREP 'libtool wrapper' stderr], [0], [ignore], [ignore]) + + +# Test compile-time activation of wrapper debugging. +# We structure this test as a loop, so that we can 'break' out of it +# if necessary -- even though the loop by design executes only once. +for debugwrapper_flags in '-DLT_DEBUGWRAPPER'; do + CFLAGS="$orig_CFLAGS $debugwrapper_flags" + $SED -e "s/LTCFLAGS=.*/&' $debugwrapper_flags'/" \ + -e "s/^lt_option_debug=/lt_option_debug=1/" \ + < "$orig_LIBTOOL" > ./libtool + LIBTOOL=./libtool + + # Make sure $debugwrapper_flags do not cause a failure + # themselves (e.g. because a non-gcc compiler doesn't + # understand them). Tru64 cc only fails when linking. + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS trivial.c || continue + + AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c], + [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo], + [], [ignore], [ignore]) + AT_CHECK([test -f liba.la]) + + AT_CHECK([$CC $CPPFLAGS $CFLAGS -c usea.c], + [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./usea], [0], [ignore], [stderr], []) + LT_AT_UNIFY_NL([stderr]) + AT_CHECK([$GREP 'libtool wrapper' stderr], [0], [ignore], [ignore]) +done + + +AT_CLEANUP + + +AT_SETUP([cwrapper string length]) + +eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" + +AT_DATA([liba.c], +[[int liba_func1 (int arg) +{ + return arg + 1; +} +]]) +AT_DATA([usea.c], +[[extern int liba_func1 (int arg); +int main (void) +{ + int a = 2; + int b = liba_func1 (a); + if (b == 3) return 0; + return 1; +} +]]) + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined ]dnl + [-o liba.la -rpath /foo liba.lo], + [], [ignore], [ignore]) +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c usea.c], + [], [ignore], [ignore]) + + +# Make sure PATH is at least 250 chars, which should force line breaks +# in lt-usea.c. + +dirpath= +save_IFS=$IFS +IFS=$PATH_SEPARATOR +for dirpath in $PATH; do + IFS=$save_IFS + break +done +IFS=$save_IFS + +until $ECHO "PATH=$PATH" | $GREP 'PATH=.\{250\}'; do + PATH=$PATH$PATH_SEPARATOR$dirpath +done +export PATH + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-fast-install ]dnl + [-o usea$EXEEXT usea.$OBJEXT liba.la], + [], [ignore], [ignore]) + +# Skip if no cwrapper is generated. +AT_CHECK([test -f "$objdir/lt-usea.c" || exit 77]) + +# Try to make sure the test is relevant. +AT_CHECK([$GREP ' *fputs' $objdir/lt-usea.c > /dev/null]) +# Check for no overly long fputs. +AT_CHECK([$GREP ' *fputs.\{250\}' $objdir/lt-usea.c], [1]) + + +AT_CLEANUP + + +AT_SETUP([cwrapper and installed shared libraries]) +AT_KEYWORDS([libtool]) + +# make sure existing libtool is configured for shared libraries +AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], + [], [ignore]) + +LDFLAGS="$LDFLAGS -no-undefined" + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +mkdir $inst $libdir $bindir + +# Build the library in a separate directory to avoid the special case +# of loading from the current directory. + +mkdir foo +cd foo +# build and install "old" library version +AT_DATA([a.c], [[ +int liba_ver (void) { return 1; } +]]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL liba.la $libdir], + [], [ignore], [ignore]) + +# build a new library version +AT_DATA([a.c], [[ +int liba_ver (void) { return 2; } +]]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo], + [], [ignore], [ignore]) + +cd .. + +# build and run test application +AT_DATA([m.c], [[ +extern int liba_ver (void); +int main (void) +{ + int r = (liba_ver () == 2) ? 0 : 1; + return r; +} +]]) + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c m.c], [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT foo/liba.la], + [], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./m1], [0], [ignore], [ignore], []) + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT foo/liba.la -L$inst/lib], + [], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./m2], [0], [ignore], [ignore], []) + + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/darwin.at b/BUILD/libtool-2.4.7/tests/darwin.at new file mode 100644 index 0000000..1c5622b --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/darwin.at @@ -0,0 +1,447 @@ +# darwin.at - tests specific to Mac OS X +# +# Copyright (C) 2008-2009, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Peter O'Gorman, 2008 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Mac OS X tests]) +AT_SETUP([darwin fat compile]) +noskip=: +case $host_os in +darwin*) ;; +*) noskip=false ;; +esac + +AT_DATA([simple.c] ,[[ +int main() { return 0;} +]]) + +$noskip && { +$CC $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 -o simple simple.c 2>&1 > /dev/null || noskip=false +rm -f simple +} + +AT_CHECK([$noskip || (exit 77)]) + +AT_DATA([foo.c],[[ +int x=0; +]]) + +AT_DATA([baz.c],[[ +int y=0; +]]) + +AT_DATA([bar.c],[[ +extern int x; +int bar(void); +int bar() { return x;} +]]) + +AT_DATA([main.c],[[ +extern int x; +extern int y; + +int main() { +return x+y; +} +]]) + +mkdir bin +AT_DATA([bin/basename],[[ +#! /bin/sh + +usage="usage: $0 argument" +if test $# != 1; then + echo $usage >&2 + exit 1 +fi + +echo $1 | $SED "s|^.*/||" +]]) + +chmod +x bin/basename +save_PATH=$PATH +PATH=`pwd`/bin:$PATH +export PATH + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 foo.c],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 baz.c],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 bar.c],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 main.c],[0],[ignore],[ignore]) + +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la],[0],[ignore],[ignore]) + +PATH=$save_PATH +AT_CLEANUP + + +AT_SETUP([darwin concurrent library extraction]) + +AT_DATA([foo.c], [[ +int foo (void) { return 0; } +]]) + +AT_DATA([bar.c], [[ +extern int foo1 (void); +int bar (void) { return foo1 (); } +]]) +cp bar.c baz.c + +objects= +for obj in 1 2 3 4 5 6 7 8; do + $SED "s/foo/foo$obj/" < foo.c > foo$obj.c + AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo$obj.c], + [], [ignore], [ignore]) + objects="$objects foo$obj.lo" +done +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c baz.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la $objects], + [], [ignore], [ignore]) + +# Hypothesis: concurrent convenience archive extraction works. +for i in 1 2 3 4 5; do + rm -f libbar.la libbaz.la + AT_CHECK([($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS ]dnl + [ -o libbar.la bar.lo -rpath /foo libfoo.la) & ]dnl + [($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS ]dnl + [ -o libbaz.la baz.lo -rpath /foo libfoo.la) & ]dnl + [wait; test -f libbar.la && test -f libbaz.la], + [], [ignore], [ignore]) +done + +# Hypothesis: the lock is not used in dry run mode. +eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" +# Next line is internal detail. +lockfile=$objdir/libfoo.a.lock +echo stamp > $lockfile +AT_CHECK([$LIBTOOL --dry-run --mode=link $CC $CFLAGS $LDFLAGS ]dnl + [ -o libbar.la bar.lo -rpath /foo libfoo.la], + [], [ignore], [ignore]) +AT_CHECK([$GREP stamp $lockfile], [], [ignore]) + +AT_CLEANUP + +AT_SETUP([darwin gdb debug information]) + +AT_CHECK([gdb --version || (exit 77)],[ignore],[ignore],[ignore]) + +AT_DATA([foo.c], [[ +int foo (void) { return 0; } +]]) + +AT_DATA([bar.c], [[ +extern int foo (void); +int bar (void) { return foo (); } +]]) + +AT_DATA([main.c], [[ +extern int bar(void); + +int main() { return bar();} +]]) + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c], + [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo], + [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS ]dnl + [ -o libbar.la bar.lo -rpath /foo libfoo.la ], + [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS ]dnl + [ -o main main.lo libbar.la],[], [ignore], [ignore]) +AT_CHECK([echo quit | $LIBTOOL --mode=execute gdb main], + [ignore], [ignore], [stderr]) + +AT_CHECK([$GREP 'Could not find object file' stderr],[1],[ignore],[ignore]) + +AT_XFAIL_IF([ +eval "`$LIBTOOL --config | $EGREP '^(whole_archive_flag_spec)='`" +case $whole_archive_flag_spec:$host_os in +:darwin*) : ;; +*) false ;; +esac ]) + +# Remove any dSYM bundle +rm -rf .libs/*.dSYM + +AT_CHECK([echo quit | $LIBTOOL --mode=execute gdb main], + [ignore], [ignore], [stderr]) +AT_CHECK([$GREP 'Could not find object file' stderr],[1],[ignore],[ignore]) + +AT_CLEANUP + +AT_SETUP([darwin ld warnings changing configure results]) + +AT_DATA([configure.ac], +[[AC_INIT([ld-stderr], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +LT_INIT +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am],[ +ACLOCAL_AMFLAGS = -I m4 +]) +LT_AT_LIBTOOLIZE([--copy --force]) +LT_AT_AUTORECONF([--force --install]) +LT_AT_CONFIGURE +AT_CHECK([./libtool --config],[ignore],[stdout],[ignore]) +mv stdout expout +LT_AT_CONFIGURE([LDFLAGS=-L/there/is/no/dir/here]) +AT_CHECK([./libtool --config],[ignore],[expout],[ignore]) +AT_CLEANUP + +AT_SETUP([darwin can lt_dlopen .dylib and .so files]) + +AT_KEYWORDS([libltdl dylib]) + +# This test requires shared library support. +AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], + [], [ignore]) + +eval `$LIBTOOL --config | $EGREP '^shrext_cmds='` + +module=no +eval shared_ext=\"$shrext_cmds\" +module=yes +eval module_ext=\"$shrext_cmds\" + +# Only bother with this test if module extension is different from +# shared extension +AT_CHECK([test "$shared_ext" != "$module_ext" || exit 77]) + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +prefix=`pwd`/inst +libdir=$prefix/lib +bindir=$prefix/bin +mkdir $prefix $libdir $bindir + +# This code is copied from the Autobook: +# +# so if it needs changes, be sure to notify the Autobook authors +# about them. + +AT_DATA([simple-module.c], +[[ +#include + +#ifdef __cplusplus +extern "C" +#endif +int +run (const char *argument) +{ + printf ("Hello, %s!\n", argument); + return 0; +} +]]) + +AT_DATA([ltdl-loader.c], +[[ +#include +#include +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +# define EXIT_SUCCESS 0 +#endif + +#include +#ifndef PATH_MAX +# define PATH_MAX 255 +#endif + +#include +#include + +#ifndef MODULE_PATH_ENV +# define MODULE_PATH_ENV "MODULE_PATH" +#endif + +typedef int entrypoint (const char *argument); + +/* Save and return a copy of the dlerror() error message, + since the next API call may overwrite the original. */ +static char *dlerrordup (char *errormsg); + +int +main (int argc, const char *argv[]) +{ + char *errormsg = NULL; + lt_dlhandle module = NULL; + entrypoint *run = NULL; + int errors = 0; + + if (argc != 3) + { + fprintf (stderr, "USAGE: main MODULENAME ARGUMENT\n"); + exit (EXIT_FAILURE); + } + + /* Initialise libltdl. */ + errors = lt_dlinit (); + + /* Set the module search path. */ + if (!errors) + { + const char *path = getenv (MODULE_PATH_ENV); + + if (path != NULL) + errors = lt_dlsetsearchpath (path); + } + + /* Load the module. */ + if (!errors) + module = lt_dlopenext (argv[1]); + + /* Find the entry point. */ + if (module) + { + run = (entrypoint *) lt_dlsym (module, "run"); + + /* In principle, run might legitimately be NULL, so + I don't use run == NULL as an error indicator + in general. */ + errormsg = dlerrordup (errormsg); + if (errormsg != NULL) + { + errors = lt_dlclose (module); + module = NULL; + } + } + else + errors = 1; + + /* Call the entry point function. */ + if (!errors) + { + int result = (*run) (argv[2]); + if (result < 0) + errormsg = strdup ("module entry point execution failed"); + else + printf ("\t=> %d\n", result); + } + + /* Unload the module, now that we are done with it. */ + if (!errors) + errors = lt_dlclose (module); + + if (errors) + { + /* Diagnose the encountered error. */ + errormsg = dlerrordup (errormsg); + + if (!errormsg) + { + fprintf (stderr, "%s: dlerror() failed.\n", argv[0]); + return EXIT_FAILURE; + } + } + + /* Finished with ltdl now. */ + if (!errors) + if (lt_dlexit () != 0) + errormsg = dlerrordup (errormsg); + + if (errormsg) + { + fprintf (stderr, "%s: %s.\n", argv[0], errormsg); + free (errormsg); + exit (EXIT_FAILURE); + } + + return EXIT_SUCCESS; +} + +/* Be careful to save a copy of the error message, + since the next API call may overwrite the original. */ +static char * +dlerrordup (char *errormsg) +{ + char *error = (char *) lt_dlerror (); + if (error && !errormsg) + errormsg = strdup (error); + return errormsg; +} +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la ]dnl + [simple-module.lo -rpath $libdir -module -avoid-version], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libsimple-dylib.la ]dnl + [simple-module.lo -rpath $libdir -avoid-version], + [], [ignore], [ignore]) +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ]dnl + [ltdl-loader.$OBJEXT -dlopen self $LIBLTDL], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp libsimple-dylib.la $libdir/libsimple-dylib.la], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=clean rm -f simple-module.la], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=clean rm -f libsimple-dylib.la], [], [ignore], [ignore]) + +rm $libdir/simple-module.la +rm $libdir/libsimple-dylib.la + +for dir in inst/lib "$libdir"; do + LT_AT_EXEC_CHECK([./ltdl-loader], [], [stdout], [ignore], + [$dir/simple-module World]) + AT_CHECK([$GREP "Hello, World" stdout], [], [ignore]) + LT_AT_EXEC_CHECK([./ltdl-loader], [], [stdout], [ignore], + [$dir/libsimple-dylib World]) + AT_CHECK([$GREP "Hello, World" stdout], [], [ignore]) +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/demo.at b/BUILD/libtool-2.4.7/tests/demo.at new file mode 100644 index 0000000..28b2d1f --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/demo.at @@ -0,0 +1,986 @@ +# demo.at -- Linking and loading. -*- Autotest -*- +# +# Copyright (C) 2003-2004, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2003 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Linking and loading.]) + +## ------------------------------------------- ## +## Some functions shared by later tests cases. ## +## ------------------------------------------- ## + +# This function needs to be used, rather than 'exit', when a 'trap' handler is +# in effect that refers to $?. +func_exit () +{ + (exit $1); exit $1 +} + +func_restore_files () +{ + test -n "$objdir" || exit 1 + mv -f "$objdir"/temp/libs/* "$objdir" + mv -f "$objdir/temp/libhello.la" . + rm -rf "$objdir/temp" +} + +func_save_files () +{ + test -n "$objdir" || exit 1 + $lt_INSTALL -d "$objdir/temp/libs" + cp -f libhello.la "$objdir/temp" + cp -f "$objdir"/libhello.* "$objdir/lt-hell$EXEEXT" "$objdir/temp/libs" +} + + +# _LT_DEMO_SETUP +# -------------- +m4_define([_LT_DEMO_SETUP], +[AT_DATA([configure.ac], +[[AC_INIT([demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf $@ + echo '#! /bin/sh' > $@ + echo 'echo sorry, -dlopen is unsupported' >> $@ + chmod +x $@ + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +]]) + +AT_DATA([demo.mk], +[[## Don't abort for lack of demo.mk +]]) + +AT_DATA([foo.h], +[[#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +]]) + +AT_DATA([foo.c], +[[#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +]]) + +AT_DATA([hell1.c], +[[#include +int hell1 (void) { return 1; } +]]) + +AT_DATA([hell2.c], +[[#include +int hell2 (void) { return 2; } +]]) + +AT_DATA([hello.c], +[[#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +]]) + +AT_DATA([main.c], +[[#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +]]) + +AT_DATA([dlmain.c], +[[#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +]]) + +LT_AT_HOST_DATA([expout], +[[Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +]]) + +prefix=`pwd`/_inst +]) # _LT_DEMO_SETUP + + +# _LT_CHECK_EXECUTE([TARGETS]) +# ---------------------------- +# Run the listed make rules, and check that the built binaries work. +m4_define([_LT_CHECK_EXECUTE], +[LT_AT_CHECK_EXECUTE([$1], + [./hell_static], [./hell]) +AT_CHECK([./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)'], 0, [ignore]) +]) + + +# _LT_CHECK_INSTALL +# ----------------- +# Run the make install rule, and check that installed binaries work too. +m4_define([_LT_CHECK_INSTALL], +[# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +LT_AT_CHECK_EXECUTE([install], + [$prefix/bin/hell_static], [$prefix/bin/hell]) +AT_CHECK([$prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)'], 0, [ignore]) +]) + + +## ------------ ## +## Demo static. ## +## ------------ ## + +AT_SETUP([link against a preloaded static library]) + +_LT_DEMO_SETUP + +LT_AT_CHECK_CONFIG([--disable-shared], + [^build_old_libs=yes], [^build_libtool_libs=no]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## ------------ ## +## Demo shared. ## +## ------------ ## + +AT_SETUP([build and dynamically load a module]) + +_LT_DEMO_SETUP + +LT_AT_CHECK_CONFIG([--disable-static], + [^build_old_libs=no], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## ---------- ## +## Demo conf. ## +## ---------- ## + +AT_SETUP([preload static and dynamic module]) + +_LT_DEMO_SETUP + +LT_AT_CHECK_CONFIG([], + [^build_old_libs=yes], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## ------------ ## +## Demo deplib. ## +## ------------ ## + +# This is one of the essential tests for deplibs_check_method=pass_all. +# If this one passes with pass_all, it is likely that pass_all works. + +AT_SETUP([deplibs_check_method]) + +_LT_DEMO_SETUP + +AT_DATA([demo.mk], +[[EXTRA_LIBRARIES = libhell0.a +libhell0_a_SOURCES = +libhell0_a_LIBADD = hello.$(OBJEXT) foo.$(OBJEXT) +EXTRA_LTLIBRARIES = libhell1.la libhell2.la +libhell1_la_SOURCES = hell1.c +libhell1_la_LIBADD = -L. -lhell0 +libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir) +libhell1_la_DEPENDENCIES = libhell0.a +libhell2_la_SOURCES = hell2.c +libhell2_la_LIBADD = -L. -lhell0 +libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir) +libhell2_la_DEPENDENCIES = libhell0.a +EXTRA_PROGRAMS = hell0 +hell0_SOURCES = main.c +hell0_LDADD = libhell1.la libhell2.la $(LIBM) + +# 'hell0' in EXTRA_PROGRAMS gets translated to 'hell0.exe'; but we +# must explicitly list the wrapper script 'hell0'. (bin_PROGRAMS +# are handled seamlessly by automake rules; the extra step is only +# necessary for EXTRA_PROGRAMS) +CLEANFILES = $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) hell0 + +deplibs-check: hell0$(EXEEXT) +]]) + +LT_AT_CHECK_CONFIG([--disable-static]) +LT_AT_MAKE([deplibs-check]) +LT_AT_EXEC_CHECK([./hell0], 0, [expout]) + +AT_CLEANUP + + +## ------------ ## +## Demo nofast. ## +## ------------ ## + +AT_SETUP([disable fast install]) + +_LT_DEMO_SETUP + +LT_AT_CHECK_CONFIG([--enable-fast-install=no]) +AT_CHECK([$EGREP '^hardcode_action=relink' libtool && (exit 77)], 1) + +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## --------- ## +## Demo pic. ## +## --------- ## + +AT_SETUP([force PIC objects]) + +_LT_DEMO_SETUP + +LT_AT_CHECK_CONFIG([--with-pic]) +_LT_CHECK_EXECUTE + +AT_CLEANUP + + +## ----------- ## +## Demo nopic. ## +## ----------- ## + +AT_SETUP([force non-PIC objects]) + +AT_CHECK([case $host in +hppa*|x86_64*|s390*) + # These hosts cannot use non-PIC shared libs + exit 77 ;; +*-solaris*|*-sunos*) + # Libtool does not build non-PIC shared libs on these hosts + exit 77 ;; +esac + +if test "X$build" = "X$host" && test -d "/etc/selinux"; then + _selinux=`getenforce 2>/dev/null || echo "Disabled"` + case $_selinux in + *Enforcing) + _sebool_allow_execmod=`getsebool allow_execmod 2>/dev/null` + case $_sebool_allow_execmod in + *off) + # SELinux policy disallows non-PIC + exit 77 + ;; + esac + ;; + esac +fi +]) + +_LT_DEMO_SETUP +LT_AT_CHECK_CONFIG([--with-pic=no]) +_LT_CHECK_EXECUTE + +AT_CLEANUP + + +## -------------- ## +## Demo hardcode. ## +## -------------- ## + +AT_SETUP([hardcoding library path]) + +_LT_DEMO_SETUP + +AT_DATA([demo.mk], +[[hardcode_tests = hc-direct hc-libflag hc-libpath hc-minusL +CLEANFILES = $(hardcode_tests) + +# Unfortunately, in order to test libtool thoroughly, we need access +# to its private directory. +objdir = `$(LIBTOOL) --config | $(SED) -n -e 's/^objdir=\(.*\)$$/\1/p'` + +# Test programs to see what gets hardcoded. +.PHONY: hardcode +hardcode: $(hardcode_tests) +SET_HARDCODE_FLAGS = \ + eval `$(LIBTOOL) --config | $(SED) -n -e '/^hardcode_.*=/p; /^wl=/p'` +hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @rm -f hc-direct + @echo "You may ignore any linking errors from the following command:" + @shlib=./$(objdir)/libhello.a; \ + eval "`$(GREP) '^library_names' libhello.la`"; \ + for lib in $$library_names; do \ + shlib="./$(objdir)/$$lib"; \ + done; \ + $(SET_HARDCODE_FLAGS); \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@" + +hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @$(SET_HARDCODE_FLAGS); \ + libdir=`pwd`/$(objdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + if test -z "$$flag"; then \ + echo "echo unsupported > $@"; \ + echo unsupported > $@ || status="$$?"; \ + else \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM)"; \ + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM) || status="$$?"; \ + fi; \ + exit $$status + +hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @rm -f hc-libpath + @echo "You may ignore any linking errors from the following command:" + @$(SET_HARDCODE_FLAGS); \ + eval `$(LIBTOOL) --config | $(GREP) '^shlibpath_var='`; \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" + +hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES) + @rm -f hc-minusL + @$(SET_HARDCODE_FLAGS); \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" +]]) + +LT_AT_CHECK_CONFIG([--disable-static]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL + +eval `$EGREP '^library_names=' libhello.la` +AT_CHECK([test -n "$library_names" || (exit 77)]) + +# Extra tools we may need +: ${DUMPSTABS="dumpstabs"} + +LT_AT_MAKE([hardcode]) + +eval "`$LIBTOOL --config | $EGREP '^hardcode_(direct|minus_L|shlibpath_var|libdir_flag_spec)='`" + +AT_CHECK([[exit_status=0 +func_hardcode_filter_fp () +{ + $FGREP -v "LT_OBJDIR \"$objdir/\"" 2>/dev/null +} +for file in hc-*; do + case $file in + hc-direct) expected="$hardcode_direct" ;; + hc-libpath) expected="$hardcode_shlibpath_var" ;; + hc-minusL) expected="$hardcode_minus_L" ;; + + hc-libflag) + if test -n "$hardcode_libdir_flag_spec"; then + expected=yes + else + expected=unsupported + fi + ;; + + *) + continue + ;; + esac + + # Discover whether the objdir really was hardcoded. + hardcoded=no + + # Solaris cc may store the command line in a debugging section, + # which leads to false positives. Unfortunately, Solaris strip + # is not capable to remove the section (unlike GNU binutils strip). + # So we use dumpstabs if it seems to work. + if { $DUMPSTABS -d $file; } >/dev/null 2>&1; then + if $DUMPSTABS -d $file 2>/dev/null | $FGREP "$objdir" >/dev/null 2>&1; then + hardcoded=yes + else + hardcoded=no + fi + + # At least AIX fgrep doesn't work for binary files, and AIX also + # doesn't have strings(1), so we need this strange conversion + # (which only works on ASCII). + # AIX fgrep also has a limited line length, so we turn unprintable + # characters into newlines. + elif cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \ + | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then + hardcoded=yes + + elif cat $file | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then + # We retry fgrep without tr, in case the above lead to a false negative. + hardcoded=yes + elif ($SED -e '1!d' $file | $GREP 'unsupported') >/dev/null 2>&1; then + hardcoded=unsupported + fi + + # Check the result. + case $hardcoded in + yes) + if test yes = "$expected"; then + echo "$objdir was hardcoded in '$file', as libtool expected" + else + echo "$objdir was hardcoded in '$file', which fooled libtool" 1>&2 + exit_status=1 + fi + ;; + + no) + if test no = "$expected"; then + echo "$objdir was not hardcoded in '$file', as libtool expected" + else + echo "$objdir was not hardcoded in '$file', which fooled libtool" 1>&2 + exit_status=1 + fi + ;; + + unsupported) + if test unsupported = "$expected"; then + echo "'$file' was not linked properly, as libtool expected" + else + echo "'$file' was not linked properly, which fooled libtool" 1>&2 + exit_status=1 + fi + ;; + esac +done +]], 0, [ignore]) + +AT_CLEANUP + + +## ------------ ## +## Demo relink. ## +## ------------ ## + +AT_SETUP([binary relinking at install time]) +AT_KEYWORDS([interactive])dnl This test causes a popup on Windows + +_LT_DEMO_SETUP + +LT_AT_CHECK_CONFIG +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL + +# Check to make sure we have a dynamic library. +eval `$EGREP '^library_names=' libhello.la` +AT_CHECK([test -n "$library_names" || (exit 77)]) + +func_save_files +# AIX 5.3 '/bin/sh' will invoke the trap for 0 at the end of a +# function, so we set the trap outside of a function to be portable. +trap func_restore_files 0 1 2 13 15 + +eval "`$LIBTOOL --config | $EGREP '^shlibpath_overrides_runpath='`" +eval "`$LIBTOOL --config | $EGREP '^hardcode_(action|direct|into_libs)='`" + +# Allow the binary to link on-demand if need be. +./hell$EXEEXT >/dev/null || : + +# Remove libhello.la from build tree. +rm -f libhello.la "$objdir"/libhello.* + +# Either uninstalled ./hell will run using the just installed libraries +# when the uninstalled libs are missing, or relinking at install time +# is necessary, and the uninstalled ./hell has only the uninstalled +# library paths hardcoded. +AT_CHECK([./hell$EXEEXT >/dev/null || test relink,yes = "$hardcode_action,$hardcode_direct"]) + +# Link an incomplete libhello.la. +LT_AT_MAKE([libhello.la], [libhello_la_OBJECTS=hello.lo]) +AT_CHECK([test -f libhello.la]) + +# Try running uninstalled ./hell with only broken libhello.la in build tree. +# If the following has normal exit status, shlibpath_overrides_runpath is +# wrong, and should be set to 'no' on this host. +# The unusual '|| (exit 1)' is to normalize all non-zero exit statuses. +LT_AT_CHECK([./hell || (exit 1)], 1, [ignore], [ignore]) + +test relink = "$hardcode_action" || +test yes = "$shlibpath_overrides_runpath" || +{ + AT_CHECK([rm -f $objdir/lt-hell$EXEEXT]) + AT_CHECK([cp $objdir/hell$EXEEXT $objdir/lt-hell$EXEEXT]) + + # Running demo/hell with installed libhello.la. + # If the following check fails, then shlibpath_overrides_runpath is + # wrong, and should be set to 'yes' on this host. + LT_AT_CHECK([./hell], 0, [expout]) +} + +func_restore_files + +# Undo the effect of the previous 'trap' command. Some shellology: +# We cannot use "trap - 0 1 2 3 13 15", because Solaris sh would attempt to +# execute the command "-". "trap '' ..." is fine only for signal 0 (= normal +# exit); for the others we need to call 'exit' explicitly. The value of $? is +# 128 + signal number and is set before the trap-registered command is run. +trap '' 0 +trap 'func_exit $?' 1 2 3 13 15 + +AT_CLEANUP + + +## ----------------- ## +## Demo noinst link. ## +## ----------------- ## + +AT_SETUP([uninstalled libraries have priority]) + +_LT_DEMO_SETUP + +LT_AT_CHECK_CONFIG +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL + +# Remove libhello.la and hell from build tree. +rm -f libhello.la "hell$EXEEXT" + +# If this check fails (i.e. the make succeeds), then the installed library +# was used, which is wrong. +AT_CHECK([$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE hell$EXEEXT libhello_la_OBJECTS=hello.lo || (exit 1)], + [1], [ignore], [ignore]) + +AT_CLEANUP + + +## ----------- ## +## Pdemo conf. ## +## ----------- ## + +AT_SETUP([linking with long file names]) + +_LT_DEMO_SETUP + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = longer_file_name_hello.c longer_file_name_foo.c longer_file_name_foo2.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from longer_file_name_main.c and libhello.la +hell_SOURCES = longer_file_name_main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = longer_file_name_main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = longer_file_name_dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf $@ + echo '#! /bin/sh' > $@ + echo 'echo sorry, -dlopen is unsupported' >> $@ + chmod +x $@ + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +]]) + +AT_DATA([main.c], +[[#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (foo2 () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +]]) + +AT_DATA([foo.h], +[[#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int foo2 (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +]]) + +AT_DATA([foo2.c], +[[#include +#include +#include + +#include "foo.h" + +int foo2 (void) { + printf ("foo2 cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +]]) + +LT_AT_HOST_DATA([expout], +[[Welcome to GNU Hell! +cos (0.0) = 1 +foo2 cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +]]) + +for file in dlmain.c foo.c foo2.c hello.c main.c; do + mv $file longer_file_name_$file +done + +LT_AT_CHECK_CONFIG +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/depdemo.at b/BUILD/libtool-2.4.7/tests/depdemo.at new file mode 100644 index 0000000..7794cf2 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/depdemo.at @@ -0,0 +1,431 @@ +# depdemo.at -- Library interdependencies -*- Autotest -*- +# +# Copyright (C) 2003-2004, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2003 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Library interdependencies.]) + +## ------------------------------------------- ## +## Some functions shared by later tests cases. ## +## ------------------------------------------- ## + +func_restore_files () +{ + test "`echo _fnord/temp/libs/*`" = "_fnord/temp/libs/*" \ + || mv -f _fnord/temp/libs/* "l3/$objdir" + mv -f "_fnord/temp/libl3.la" "l3" + test -f "_fnord/temp/lt-depdemo$EXEEXT" \ + && mv -f "_fnord/temp/lt-depdemo$EXEEXT" "$objdir" + test -f "_fnord/temp/depdemo$EXEEXT" \ + && mv -f "_fnord/temp/depdemo$EXEEXT" "$objdir" + rm -rf "_fnord" +} + +func_save_files () +{ + test -n "$objdir" || exit 1 + $lt_INSTALL -d "_fnord/temp/libs" + test -f "$objdir/lt-depdemo$EXEEXT" \ + && cp -f "$objdir/lt-depdemo$EXEEXT" "_fnord/temp" + test -f "$objdir/depdemo$EXEEXT" \ + && cp -f "$objdir/depdemo$EXEEXT" "_fnord/temp" + cp -f l3/libl3.la "_fnord/temp" + cp -f l3/"$objdir"/* "_fnord/temp/libs" +} + + +# _LT_SETUP +# --------- +m4_define([_LT_SETUP], +[AT_DATA([configure.ac], +[[AC_INIT([depdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = l1 l2 l3 l4 + +bin_PROGRAMS = depdemo depdemo_static + +depdemo_SOURCES = main.c +depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ + $(top_builddir)/l4/libl4.la +depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ + $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la + +depdemo_static_SOURCES = $(depdemo_SOURCES) +depdemo_static_LDADD = $(depdemo_LDADD) +depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) +depdemo_static_LDFLAGS = $(STATIC) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +]]) + +AT_DATA([main.c], +[[#include +#include +#include + +#include "l1/l1.h" +#include "l2/l2.h" +#include "l4/l4.h" + +#define STREQ !strcmp + +int main (int argc, char **argv) +{ + printf("dependencies:\n"); + func_l1(0); + func_l2(0); + func_l4(0); + if (argc == 2 && STREQ (argv[1], "-alt") + && var_l1 + var_l2 + var_l4 == 8) + return 0; + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", + var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); + if (var_l1 + var_l2 + var_l4 != 19) + { + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", + var_l1,var_l2,var_l4); + return 1; + } + return 0; +} +]]) + +# Create 4 directorys of mostly identical files. +for i in 1 2 3 4; do + mkdir l$i + + # l$i/Makefile.am: + { + $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' + $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i + $ECHO 'lib_LTLIBRARIES = libl'$i'.la' + $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' + $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' + $ECHO 'libl'$i'_la_LIBADD =' + if test 4 != $i; then + j=1; while test "$j" -lt "$i"; do + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' + j=`expr 1 + $j` + done + else + j=3 + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' + fi + } > l$i/Makefile.am + + # l$i/l$i.h + [{ + $ECHO '#ifndef L'$i'_H' + $ECHO '#define L'$i'_H' + $ECHO + $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' + $ECHO '# ifdef BUILDING_LIBL'$i + $ECHO '# ifdef DLL_EXPORT' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' + $ECHO '# endif' + $ECHO '# else' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' + $ECHO '# endif' + $ECHO '#endif' + $ECHO '#ifndef LIBL'$i'_SCOPE' + $ECHO '# define LIBL'$i'_SCOPE extern' + $ECHO '#endif' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO 'extern "C" {' + $ECHO '#endif' + $ECHO + $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' + $ECHO ' int func_l'$i' (int);' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO '}' + $ECHO '#endif' + $ECHO '#endif' + }] > l$i/l$i.h + + # l$i/l$i.c: + { + if test 4 -ne $i; then + $ECHO '#include ' + $ECHO '#include ' + $ECHO + $ECHO '#include "l'$i'/l'$i'.h"' + j=1; while test "$j" -lt "$i"; do + $ECHO '#include "l'$j'/l'$j'.h"' + j=`expr 1 + $j` + done + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + if test 1 -eq $i; then + $ECHO ' var_l1++;' + else + j=1; while test "$j" -lt "$i"; do + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' var_l'$i' += var_l'$j';' + j=`expr 1 + $j` + done + fi + $ECHO ' return 0;' + $ECHO '}' + else + j=3 + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include "l'$i'/l'$i'.h"' + $ECHO '#include "l'$j'/l'$j'.h"' + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf("libm [cos (0.0) = %g]\n", (double) cos ((double) 0.0));' + $ECHO ' var_l'$i' += var_l'$j';' + $ECHO ' return 0;' + $ECHO '}' + fi + } > l$i/l$i.c +done + + +LT_AT_HOST_DATA([expout], +[[dependencies: +l1 (0) +l2 (0) + l1 (1) +l4 (0) + l3 (0) + l1 (2) + l2 (2) + l1 (3) +libm cos (0.0) = 1 +var_l1(4) + var_l2(6) + var_l4(9) == 19 +]]) + +prefix=`pwd`/_inst +]) # _LT_SETUP + + + +# _LT_CHECK_EXECUTE([TARGETS]) +# ---------------------------- +# Run the listed make rules, and check that the built binaries work. +m4_define([_LT_CHECK_EXECUTE], +[LT_AT_CHECK_EXECUTE([$1], + [./depdemo_static], [./depdemo]) +]) + +# _LT_CHECK_INSTALL +# ----------------- +# Run the make install rule, and check that installed binaries work too. +m4_define([_LT_CHECK_INSTALL], +[# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH +LT_AT_CHECK_EXECUTE([install], + [$prefix/bin/depdemo_static], [$prefix/bin/depdemo]) +]) + + +## --------------- ## +## Depdemo static. ## +## --------------- ## + +AT_SETUP([static library interdependencies]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-shared], + [^build_old_libs=yes], [^build_libtool_libs=no]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## --------------- ## +## Depdemo shared. ## +## --------------- ## + +AT_SETUP([shared library interdependencies]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-static], + [^build_old_libs=no], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## ------------- ## +## Depdemo conf. ## +## ------------- ## + +AT_SETUP([shared and static interdependencies]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([], + [^build_old_libs=yes], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## --------------- ## +## Depdemo nofast. ## +## --------------- ## + +AT_SETUP([disable fast install]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--enable-fast-install=no]) +AT_CHECK([$EGREP '^hardcode_action=relink' libtool && (exit 77)], 1) + +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## --------------- ## +## Depdemo relink. ## +## --------------- ## + +AT_SETUP([binary relinking at install time]) +AT_KEYWORDS([interactive])dnl This test causes a popup on Windows + +_LT_SETUP + +LT_AT_CHECK_CONFIG +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL + +# Check to make sure we have a dynamic library. +eval `$EGREP '^library_names=' l3/libl3.la` +AT_CHECK([test -n "$library_names" || (exit 77)]) + +func_save_files + +# AIX 5.3 '/bin/sh' will invoke the trap for 0 at the end of a +# function, so we set the trap outside of a function to be portable. +trap func_restore_files 0 1 2 13 15 + +eval "`$LIBTOOL --config | $EGREP '^shlibpath_overrides_runpath='`" +eval "`$LIBTOOL --config | $EGREP '^hardcode_(action|direct|into_libs)='`" + +# Can't finish these tests reliably when cross-compiling. +AT_CHECK([test "X$host" = "X$build" || (exit 77)]) + +# Allow the binary to link on-demand if need be. +./depdemo$EXEEXT >/dev/null || : + +# Remove l3/libl3.la from build tree. +rm -f l3/libl3.la "l3/$objdir"/libl3.* + +# Either: +# - uninstalled ./depdem will run using the just installed libraries +# when the uninstalled libs are missing; +# - on AIX 4.1, when the installed copy of libl3 is loaded, it brings +# with it the installed copies of libl1 and libl2, with disjoint +# counters var_l1 and var_l2. This is arguably unacceptable behaviour +# but definitely not enough of a reason for the test to fail; +# - or relinking at install time is necessary, and the uninstalled +# depdemo has only the uninstalled library paths hardcoded. +AT_CHECK([./depdemo$EXEEXT >/dev/null || + ./depdemo$EXEEXT -alt || + test relink,yes = "$hardcode_action,$hardcode_direct"]) + +# Link an incomplete l3/libl3.la. +(cd l3 && + LT_AT_MAKE([libl3.la], [libl3_la_OBJECTS=../l2/l2.lo]) +) +AT_CHECK([test -f l3/libl3.la]) + +# Try running uninstalled ./depdemo with only broken libl3.la in build tree. +# If the following has normal exit status, shlibpath_overrides_runpath is +# wrong, and should be set to 'no' on this host. +# The unusual '|| (exit 1)' is to normalize all non-zero exit statuses. +AT_CHECK([./depdemo$EXEEXT || (exit 1)], 1, [ignore], [ignore]) + +test relink = "$hardcode_action" || +test yes = "$shlibpath_overrides_runpath" || +{ + AT_CHECK([rm -f $objdir/lt-depdemo$EXEEXT]) + AT_CHECK([cp $objdir/depdemo$EXEEXT $objdir/lt-depdemo$EXEEXT]) + + # Running depdemo with installed libl3.la. + # If the following check fails, then shlibpath_overrides_runpath is + # wrong, and should be set to 'yes' on this host. + LT_AT_CHECK([./depdemo], 0, [expout]) +} + +# Undo the effect of the previous 'trap' command. Some shellology: +# We cannot use "trap - 0 1 2 3 13 15", because Solaris sh would attempt to +# execute the command "-". "trap '' ..." is fine only for signal 0 (= normal +# exit); for the others we need to call 'exit' explicitly. The value of $? is +# 128 + signal number and is set before the trap-registered command is run. +trap '' 0 +trap 'func_exit $?' 1 2 3 13 15 + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/deplib-in-subdir.at b/BUILD/libtool-2.4.7/tests/deplib-in-subdir.at new file mode 100644 index 0000000..56e3292 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/deplib-in-subdir.at @@ -0,0 +1,157 @@ +# deplib-in-subdir.at -- -*- Autotest -*- + +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# It should be possible to use a nontrivial relative path to the output +# file name when creating libraries and programs. The deplibs of these +# might have relative paths as well. When executing uninstalled programs, +# the paths relative to $PWD at build time needs to be translated to a +# path valid at execution time. +# +# Also test installing these libraries and programs; however, +# use consistent relative paths between 'libtool --mode=link' and +# 'libtool --mode=install' in this test. + +AT_SETUP([deplib in subdir]) +AT_KEYWORDS([libtool]) + +AT_DATA([a1.c], +[[int a1 () { return 0; } +]]) +AT_DATA([a2.c], +[[int a2 () { return 0; } +]]) +AT_DATA([a3.c], +[[int a3 () { return 0; } +]]) +AT_DATA([b1.c], +[[extern int a1 (); +int b1 () { return a1 (); } +]]) +AT_DATA([b2.c], +[[extern int a2 (); +int b2 () { return a2 (); } +]]) +AT_DATA([b3.c], +[[extern int a3 (); +int b3 () { return a3 (); } +]]) +AT_DATA([m.c], +[[extern int b1 (); +extern int b2 (); +extern int b3 (); +int main () { return b1 () + b2 () + b3 (); } +]]) + +cwd=`pwd` +instdir=$cwd/inst +lib1dir=$instdir/lib1 +lib2dir=$instdir/lib2 +bindir=$instdir/bin +addrunpath=$cwd/foobar +LDFLAGS="$LDFLAGS -no-undefined" + +flags='-export-symbols-regex ".*"' + +mkdir -p sub1 sub2/subsub sub3/subsub $instdir $lib1dir $lib2dir $bindir + +for file in a1.c a2.c a3.c b1.c b2.c b3.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +$CC $CPPFLAGS $CFLAGS -c m.c +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba1.la a1.lo -rpath $lib1dir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba2.la a2.lo -rpath $lib1dir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba3.la a3.lo -rpath $lib1dir], + [], [ignore], [ignore]) + +AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub2/subsub/libb1.la b1.lo ]dnl + [-rpath $lib2dir sub1/liba1.la' "$flags"], + [], [ignore], [ignore]) +cd sub2 +AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/libb2.la ../b2.lo ]dnl + [-rpath $lib2dir ../sub1/liba2.la' "$flags"], + [], [ignore], [ignore]) +cd subsub +AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb3.la ../../b3.lo ]dnl + [-rpath $lib2dir ../../sub1/liba3.la' "$flags"], + [], [ignore], [ignore]) +cd ../.. +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub3/subsub/m1$EXEEXT m.$OBJEXT ]dnl + [sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la], + [], [ignore], [ignore]) +cd sub3 +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/m2$EXEEXT ../m.$OBJEXT ]dnl + [../sub2/subsub/libb1.la ../sub2/subsub/libb2.la ../sub2/subsub/libb3.la], + [], [ignore], [ignore]) +cd subsub +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT ../../m.$OBJEXT ]dnl + [../../sub2/subsub/libb1.la ../../sub2/subsub/libb2.la ../../sub2/subsub/libb3.la], + [], [ignore], [ignore]) +cd ../.. + +for i in 1 2 3; do + LT_AT_EXEC_CHECK([./sub3/subsub/m$i]) + cd sub3 + LT_AT_EXEC_CHECK([./subsub/m$i]) + cd subsub + LT_AT_EXEC_CHECK([./m$i]) + cd ../.. +done + +for i in 1 2 3; do + AT_CHECK([$LIBTOOL --mode=install cp sub1/liba$i.la $lib1dir/liba.la], [], [ignore], [ignore]) +done + +AT_CHECK([$LIBTOOL --mode=install cp sub2/subsub/libb1.la $lib2dir/libb1.la], [], [ignore], [ignore]) +cd sub2 +AT_CHECK([$LIBTOOL --mode=install cp subsub/libb2.la $lib2dir/libb2.la], [], [ignore], [ignore]) +cd subsub +AT_CHECK([$LIBTOOL --mode=install cp libb3.la $lib2dir/libb3.la], [], [ignore], [ignore]) +cd ../.. + +AT_CHECK([$LIBTOOL --mode=install cp sub3/subsub/m1$EXEEXT $bindir/m1$EXEEXT], [], [ignore], [ignore]) +cd sub3 +AT_CHECK([$LIBTOOL --mode=install cp subsub/m2$EXEEXT $bindir/m2$EXEEXT], [], [ignore], [ignore]) +cd subsub +AT_CHECK([$LIBTOOL --mode=install cp m3$EXEEXT $bindir/m3$EXEEXT], [], [ignore], [ignore]) +cd ../.. + +AT_CHECK([$LIBTOOL --mode=clean rm -f sub1/liba1.la sub1/liba2.la sub1/liba3.la ]dnl + [sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la ]dnl + [sub3/subsub/m1$EXEEXT sub3/subsub/m2$EXEEXT sub3/subsub/m3$EXEEXT], + [], [ignore], [ignore]) + +for i in 1 2 3; do + LT_AT_EXEC_CHECK([$bindir/m$i$EXEEXT]) + cd $bindir + LT_AT_EXEC_CHECK([./m$i$EXEEXT]) + cd $cwd +done + +PATH=$bindir${PATH_SEPARATOR-:}$PATH +for i in 1 2 3; do + LT_AT_EXEC_CHECK([m$i$EXEEXT]) +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/deplibs-ident.at b/BUILD/libtool-2.4.7/tests/deplibs-ident.at new file mode 100644 index 0000000..d56343b --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/deplibs-ident.at @@ -0,0 +1,80 @@ +# deplibs-ident.at -- detecting identical deplibs -*- Autotest -*- + +# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Detecting identical deplibs.]) + + +## ----------------------------------------------- ## +## Different relative paths within the build tree. ## +## ----------------------------------------------- ## + +AT_SETUP([build tree relpaths]) +AT_KEYWORDS([libtool]) + +mkdir a a/b c +echo 'int c() { return 0; }' > c/libcee.c +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c/libcee.c -o c/libcee.lo], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere], + [0],[ignore],[ignore]) + +depl_1=../c/libcee.la +depl_2=`pwd`/c/libcee.la +depl_3="-L../c -lcee" + +( + cd a + for i in 1 2 3; do + eval depend_on_c=\"\$depl_$i\" + echo "extern int c(void); int a$i() { return c(); }" > liba$i.c + AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba$i.c], + [0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la liba$i.lo $depend_on_c -rpath /nowhere], + [0],[ignore],[ignore]) + done +) + +AT_DATA([a/b/b.c], +[[extern int a1(void), a2(void), a3(void), c(void); +int main() { return a1() + a2() + a3() + c(); } +]]) + +( + cd a/b + AT_CHECK([$CC $CFLAGS -c b.c],[0],[ignore],[ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b$EXEEXT b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere], + [0],[stdout],[ignore]) + AT_CHECK([$EGREP 'cee.*cee' stdout], 1, [ignore], [ignore]) + AT_XFAIL_IF([dnl + eval `$LIBTOOL --config | $EGREP '^hardcode_(direct|direct_absolute|action)='` + case $hardcode_action,$hardcode_direct,$hardcode_direct_absolute in + relink,yes,no) :;; + *,no,*) :;; + *) false;; + esac]) + dnl This is currently broken in libtool +) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/deplibs-mingw.at b/BUILD/libtool-2.4.7/tests/deplibs-mingw.at new file mode 100644 index 0000000..50ba209 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/deplibs-mingw.at @@ -0,0 +1,97 @@ +# deplibs-mingw.at -- -*- Autotest -*- + +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# Check that deplibs are detected correctly even if there is no 'file' +# command installed. + +AT_SETUP([deplibs without file command]) +AT_KEYWORDS([libtool]) + +cwd=`pwd` +instdir=$cwd/inst +libdir=$instdir/lib +bindir=$instdir/bin +save_LDFLAGS=$LDFLAGS +LDFLAGS="$LDFLAGS -no-undefined" + +mkdir inst inst/bin inst/lib + +AT_DATA([a.c], +[[int a () { return 0; } +]]) +AT_DATA([b.c], +[[extern int a (); +int b () { return a (); } +]]) + +for file in a.c b.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir], + [], [ignore], [ignore]) +AT_CHECK([library_names= && . ./liba.la && if test -z "$library_names"; then exit 77; fi ], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore]) +rm -f $libdir/liba.la + +# check once with 'file' (if present) and once without, if on MinGW. +for try in with-file without-file; do + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir ]dnl + [-L$libdir -la], + [], [ignore], [ignore]) + AT_CHECK([library_names= && . ./libb.la && if test -z "$library_names"; then exit 99; fi ], + [], [ignore], [ignore]) + + case $host_os in + mingw*) + if file /; then + mkdir bin new-libtool + + cat >bin/file <<\EOF +#! /bin/sh +exit 1 +EOF + chmod +x bin/file + PATH=`pwd`/bin${PATH_SEPARATOR-:}$PATH + cd new-libtool + # configure might fail due to in-tree build of toplevel, or + # missing configure flags and other reasons. + LDFLAGS=$save_LDFLAGS + LT_AT_CONFIGURE([|| exit 77], ["$abs_top_srcdir"/configure]) + LDFLAGS="$LDFLAGS -no-undefined" + cd .. + LIBTOOL=new-libtool/libtool + export LIBTOOL + # Check whether the generated script is usable; otherwise, skip. + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libunrelated.la a.lo -rpath $libdir] dnl + [|| exit 77], [], [ignore], [ignore]) + else + break; + fi;; + *) + break;; + esac +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/destdir.at b/BUILD/libtool-2.4.7/tests/destdir.at new file mode 100644 index 0000000..398b008 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/destdir.at @@ -0,0 +1,143 @@ +# destdir.at -- test various DESTDIR issues -*- Autotest -*- + +# Copyright (C) 2006-2007, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2006 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([DESTDIR tests]) + +# Common setup for the next few tests. +m4_pushdef([_LT_DIRSETUP], +[# DESTDIR installs do not work with relink at install time. +AT_XFAIL_IF([eval `$LIBTOOL --config | $GREP '^fast_install='` + case $fast_install in no) :;; *) false;; esac]) +LDFLAGS="$LDFLAGS -no-undefined" +if test -n "$we_are_on_a_safe_system"; then # let's read shorter cmdlines. + DESTDIR=/tmp/dest + prefix=/tmp/inst + rm -rf $DESTDIR $prefix +else + DESTDIR=`pwd`/dest + prefix=`pwd`/inst +fi +libdir=$prefix/lib +bindir=$prefix/bin +$mkdir_p src $prefix $DESTDIR $DESTDIR$prefix +eval `$LIBTOOL --config | $EGREP '^(FGREP|OBJDUMP)='` +]) + + +AT_SETUP([Simple DESTDIR install]) +AT_KEYWORDS([libtool]) + +# A program that depends upon a library, both in the same package. +_LT_DIRSETUP +cd src +echo 'int a() { return 0; }' > a.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir +echo 'extern int a(); int main() { return a(); }' > m.c +$CC $CPPFLAGS $CFLAGS -c m.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la +mkdir $DESTDIR$libdir $DESTDIR$bindir +AT_CHECK([$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT], + [], [ignore], [ignore]) +$LIBTOOL --mode=clean rm -f liba.la m +LT_AT_MVDIR(["$DESTDIR$libdir"], ["$libdir"]) +LT_AT_MVDIR(["$DESTDIR$bindir"], ["$bindir"]) +# We ignore failure on purpose here: we may not be root. +AT_CHECK([$LIBTOOL --mode=finish $libdir], [ignore], [ignore], [ignore]) +LT_AT_EXEC_CHECK([$bindir/m$EXEEXT]) + +AT_CLEANUP + + +AT_SETUP([DESTDIR with in-package deplibs]) +AT_KEYWORDS([libtool]) + +# A program that depends upon a library that depends upon another +# library, all in the same package. Use two deplibs, one in $libdir +# and one in another directory. +_LT_DIRSETUP +cd src +echo 'int a1dep() { return 0; }' > a1dep.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a1dep.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba1dep.la a1dep.lo -rpath $libdir +echo 'int a2dep() { return 0; }' > a2dep.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a2dep.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba2dep.la a2dep.lo -rpath ${libdir}2 +echo 'extern int a1dep(), a2dep(); int a() { return a1dep() + a2dep(); }' > a.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir liba1dep.la liba2dep.la +echo 'extern int a(); int main() { return a(); }' > m.c +$CC $CPPFLAGS $CFLAGS -c m.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la +mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir +AT_CHECK([$LIBTOOL --mode=install cp liba1dep.la $DESTDIR$libdir/liba1dep.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp liba2dep.la $DESTDIR${libdir}2/liba2dep.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT], + [], [ignore], [ignore]) +$LIBTOOL --mode=clean rm -f liba1dep.la liba2dep.la liba.la m +LT_AT_MVDIR(["$DESTDIR$libdir"], ["$libdir"]) +LT_AT_MVDIR(["$DESTDIR${libdir}2"], ["${libdir}2"]) +LT_AT_MVDIR(["$DESTDIR$bindir"], ["$bindir"]) +# We ignore failure on purpose here: we may not be root. +AT_CHECK([$LIBTOOL --mode=finish $libdir ${libdir}2], [ignore], [ignore], [ignore]) + +# put false libraries in the DESTDIR paths: if the installed program +# refers to them, that is a bug. +mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir +for lib in a1dep a2dep a; do + case $lib in + a2dep) ldir=${libdir}2;; + *) ldir=$libdir;; + esac + echo "int this_should_not_be_linked_against () { return 0; }" > $lib.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $lib.c + # Note the rpath argument includes $DESTDIR: the installed false libs + # should be functional (i.e., not need 'libtool --mode=finish'). + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o lib$lib.la $lib.lo -rpath $DESTDIR$ldir + $LIBTOOL --mode=install cp lib$lib.la $DESTDIR$ldir/lib$lib.la +done + +LT_AT_EXEC_CHECK([$bindir/m$EXEEXT]) + +# TODO: make this more portable: +if test false != "$OBJDUMP" && ($OBJDUMP -p $bindir/m$EXEEXT) >/dev/null 2>&1; then + AT_CHECK([$OBJDUMP -p $bindir/m$EXEEXT | $EGREP -i "R(UN)?PATH.*$DESTDIR"], [1]) + . $libdir/liba.la + set x $library_names + lname=$2 + if test -n "$lname"; then + AT_CHECK([$OBJDUMP -p $libdir/$lname | $EGREP -i "R(UN)?PATH.*$DESTDIR"], [1]) + fi +fi + +AT_CLEANUP + +m4_popdef([_LT_DIRSETUP]) diff --git a/BUILD/libtool-2.4.7/tests/dlloader-api.at b/BUILD/libtool-2.4.7/tests/dlloader-api.at new file mode 100644 index 0000000..a87704f --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/dlloader-api.at @@ -0,0 +1,441 @@ +# dlloader.at -- test dlloader functionality -*- Autotest -*- +# +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([dlloader API]) +AT_KEYWORDS([libltdl]) + +AT_DATA([main.c], +[[#include +#include +#include +#include + +static int +first_init (lt_user_data data) +{ + const char *ctx = (const char *) data; + + printf ("first_init: %s\n", ctx); + + return 0; +} + +static lt_module +first_open (lt_user_data data, const char *filename, lt_dladvise advise) +{ + static const char *first_module = "first"; + const char *ctx = (const char *) data; + + /* Use a magic string to avoid possible interactions with file system + * objects. Prepend '/' to short-circuit libltdl's search of + * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). + */ + if (!filename || strcmp (filename, "/libltdl_dlloader_api_test_first")) + { + printf ("first_open denies a request\n"); + lt_dlseterror (LT_ERROR_FILE_NOT_FOUND); + return NULL; + } + + printf ("first_open (\"%s\"): %s\n", filename, ctx); + + return (lt_module) first_module; +} + +static const char * +first_symbol (void) +{ + return "first_symbol"; +} + +static void * +first_sym (lt_user_data data, lt_module module, const char *symbolname) +{ + const char *ctx = (const char *) data; + const char *filename = (const char *) module; + + printf ("first_sym (%s): %s\n", filename, ctx); + + return (void *) first_symbol; +} + +static int +first_close (lt_user_data data, lt_module module) +{ + const char *ctx = (const char *) data; + const char *filename = (const char *) module; + + printf ("first_close (%s): %s\n", filename, ctx); + + return 0; +} + +static int +first_exit (lt_user_data data) +{ + const char *ctx = (const char *) data; + + printf ("first_exit: %s\n", ctx); + + return 0; +} + +static int +last_init (lt_user_data data) +{ + const char *ctx = (const char *) data; + + printf ("last_init: %s\n", ctx); + + return 0; +} + +static lt_module +last_open (lt_user_data data, const char *filename, lt_dladvise advise) +{ + static const char *last_module = "last"; + const char *ctx = (const char *) data; + + /* Use a magic string to avoid possible interactions with file system + * objects. Prepend '/' to short-circuit libltdl's search of + * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). + */ + if (!filename || strcmp (filename, "/libltdl_dlloader_api_test_last")) + { + printf ("last_open denies a request\n"); + lt_dlseterror (LT_ERROR_FILE_NOT_FOUND); + return NULL; + } + + printf ("last_open (\"%s\"): %s\n", filename, ctx); + + return (lt_module) last_module; +} + +static const char * +last_symbol (void) +{ + return "last_symbol"; +} + +static void * +last_sym (lt_user_data data, lt_module module, const char *symbolname) +{ + const char *ctx = (const char *) data; + const char *filename = (const char *) module; + + printf ("last_sym (%s): %s\n", filename, ctx); + + return (void *) last_symbol; +} + +static int +last_close (lt_user_data data, lt_module module) +{ + const char *ctx = (const char *) data; + const char *filename = (const char *) module; + + printf ("last_close (%s): %s\n", filename, ctx); + + return 0; +} + +static int +last_exit (lt_user_data data) +{ + const char *ctx = (const char *) data; + + printf ("last_exit: %s\n", ctx); + + return 0; +} + +typedef const char *module_func (void); + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlvtable *first; + lt_dlvtable *last; + lt_dlhandle module = NULL; + module_func *symbol; + const char *first_ctx = "first_ctx"; + const char *last_ctx = "last_ctx"; + const lt_dlvtable *finder; + + LTDL_SET_PRELOADED_SYMBOLS (); + + if (lt_dlinit ()) + { + printf ("lt_dlinit failed\n"); + return 1; + } + + first = (lt_dlvtable *) malloc (sizeof (*first)); + if (!first) + { + printf ("malloc failed\n"); + err = 1; + goto cleanup; + } + + first->name = "first"; + first->sym_prefix = NULL; + first->module_open = first_open; + first->module_close = first_close; + first->find_sym = first_sym; + first->dlloader_init = first_init; /* test that it isn't called twice */ + first->dlloader_exit = first_exit; + first->dlloader_data = (lt_user_data) first_ctx; + first->priority = LT_DLLOADER_PREPEND; + + if (first_init (first->dlloader_data)) + { + printf ("first_init failed\n"); + err = 1; + goto cleanup; + } + + if (lt_dlloader_add (first)) + { + printf ("lt_dlloader_add failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + finder = lt_dlloader_find ("first"); + + if (!finder) + { + printf ("lt_dlloader_find failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("Found loader \"%s\"\n", finder->name); + + last = (lt_dlvtable *) malloc (sizeof (*last)); + if (!last) + { + printf ("malloc failed\n"); + err = 1; + goto cleanup; + } + + last->name = "last"; + last->sym_prefix = NULL; + last->module_open = last_open; + last->module_close = last_close; + last->find_sym = last_sym; + last->dlloader_init = last_init; /* test that it isn't called twice */ + last->dlloader_exit = last_exit; + last->dlloader_data = (lt_user_data) last_ctx; + last->priority = LT_DLLOADER_APPEND; + + if (last_init (last->dlloader_data)) + { + printf ("last_init failed\n"); + err = 1; + goto cleanup; + } + + if (lt_dlloader_add (last)) + { + printf ("lt_dlloader_add failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + finder = lt_dlloader_find ("last"); + + if (!finder) + { + printf ("lt_dlloader_find failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("Found loader \"%s\"\n", finder->name); + + /* Use a magic string to avoid possible interactions with file system + * objects. Prepend '/' to short-circuit libltdl's search of + * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). + */ + module = lt_dlopen ("/libltdl_dlloader_api_test_first"); + + if (!module) + { + printf ("lt_dlopen failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + symbol = (module_func *) lt_dlsym (module, "symbol"); + + if (!symbol) + { + printf ("lt_dlsym failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("result: %s\n", symbol ()); + + lt_dlclose (module); + module = lt_dlopen ("./module.la"); + + if (!module) + { + printf ("lt_dlopen failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + symbol = (module_func *) lt_dlsym (module, "symbol"); + + if (!symbol) + { + printf ("lt_dlsym failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("result: %s\n", symbol ()); + + lt_dlclose (module); + + /* Use a magic string to avoid possible interactions with file system + * objects. Prepend '/' to short-circuit libltdl's search of + * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). + */ + module = lt_dlopen ("/libltdl_dlloader_api_test_last"); + + if (!module) + { + printf ("lt_dlopen failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + symbol = (module_func *) lt_dlsym (module, "symbol"); + + if (!symbol) + { + printf ("lt_dlsym failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("result: %s\n", symbol ()); + + if (lt_dlopen ("no-module")) + { + printf ("lt_dlopen unexpectedly opened \"no-module\"\n"); + err = 1; + goto cleanup; + } + + if (lt_dlloader_remove ("first") != first) + { + printf ("vtable of first loader has changed\n"); + err = 1; + goto cleanup; + } + + free (first); + +cleanup: + if (module) + { + lt_dlclose (module); + } + lt_dlexit (); + return err; +} +]]) + +AT_DATA([module.c], +[[ +#ifdef __cplusplus +extern "C" +#endif +const char *symbol (void); +const char * +symbol (void) +{ + return "module_symbol"; +} +]]) + +LT_AT_HOST_DATA(expout, +[[first_init: first_ctx +Found loader "first" +last_init: last_ctx +Found loader "last" +first_open ("/libltdl_dlloader_api_test_first"): first_ctx +first_sym (first): first_ctx +result: first_symbol +first_close (first): first_ctx +first_open denies a request +result: module_symbol +first_open denies a request +last_open ("/libltdl_dlloader_api_test_last"): last_ctx +last_sym (last): last_ctx +result: last_symbol +first_open denies a request +last_open denies a request +first_exit: first_ctx +last_close (last): last_ctx +last_exit: last_ctx +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la ]dnl + [-rpath /nowhere -module -avoid-version -no-undefined ]dnl + [module.lo], + [], [ignore], [ignore]) + +dnl Not possible to override the preopen loader, so skip if not shared. +. ./module.la +AT_CHECK([test -n "$dlname" || (exit 77)]) + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl + [main.$OBJEXT -dlopen module.la $LIBLTDL], + [], [ignore], [ignore]) + +LT_AT_EXEC_CHECK([./main], [], [expout], [ignore], []) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/dumpbin-symbols.at b/BUILD/libtool-2.4.7/tests/dumpbin-symbols.at new file mode 100644 index 0000000..f4bd0fe --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/dumpbin-symbols.at @@ -0,0 +1,111 @@ +# dumpbin-symbols.at -- libtool "dumpbin -symbols" support -*- Autotest -*- + +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Windows tests.]) +AT_SETUP([dumpbin -symbols section hiding]) + +# I don't know of a stable way to create a pair of objects that +# exhibits the potential problem, so this test fakes it by +# testing with output from a case that do have the potential +# problem. + +# First check if the global_symbol_pipe can handle the below +# test case at all, and skip if $NM is not MS dumpbin. + +AT_DATA([variable.c], +[[ +int some_variable = 0; +]]) + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c variable.c], [], [ignore], [ignore]) +AT_CHECK([$NM variable.$OBJEXT], [], [stdout], [ignore]) +AT_CHECK([$GREP 'External.*some_variable' stdout || exit 77], [], [ignore]) + +eval `$LIBTOOL --config | $EGREP '^(global_symbol_pipe)='` + +AT_DATA([dumpbin-output], +[[ +Dump of file foo.obj + +File Type: COFF OBJECT + +COFF SYMBOL TABLE +000 00AB766F ABS notype Static | @comp.id +001 00000001 ABS notype Static | @feat.00 +002 00000000 SECT1 notype Static | .drectve + Section length 8F, #relocs 0, #linenums 0, checksum 0 +004 00000000 SECT2 notype Static | .debug$S + Section length 44B4, #relocs 1C, #linenums 0, checksum 0 +006 00000000 SECT3 notype Static | .rdata + Section length 1, #relocs 0, #linenums 0, checksum 0, selection 2 (pick any) +008 00000000 SECT3 notype External | ?value@?$integral_constant@_N$0A@@tr1@std@@2_NB (public: static bool const std::tr1::integral_constant::value) +009 00000000 SECT4 notype Static | .rdata + Section length 1, #relocs 0, #linenums 0, checksum 77073096, selection 2 (pick any) +*snip lots of uninteresting crap* +12A 00000000 SECT5B notype Static | .text + Section length 4B, #relocs 2, #linenums 0, checksum 22AE8362, selection 2 (pick any) +12C 00000000 SECT5C notype Static | .debug$S + Section length 150, #relocs B, #linenums 0, checksum 0, selection 5 (pick associative Section 0x5B) +12F 00000000 SECT5D notype Static | .debug$T + Section length 5C, #relocs 0, #linenums 0, checksum 0 + +String Table Size = 0x15EF bytes + + +Dump of file conv.lib + +File Type: LIBRARY + +COFF SYMBOL TABLE +000 00AB766F ABS notype Static | @comp.id +001 00000001 ABS notype Static | @feat.00 +002 00000000 SECT1 notype Static | .drectve + Section length 2F, #relocs 0, #linenums 0, checksum 0 +004 00000000 SECT2 notype Static | .debug$S + Section length 70C, #relocs 5, #linenums 0, checksum 0 +006 00000000 SECT3 notype Static | .text + Section length A, #relocs 0, #linenums 0, checksum BAFC81C1 +008 00000000 SECT3 notype () External | _convenience +009 00000000 SECT4 notype Static | .debug$T + Section length 5C, #relocs 0, #linenums 0, checksum 0 + +String Table Size = 0x11 bytes + + Summary + + 5B3C .debug$S + B8 .debug$T + BE .drectve + 129 .rdata + C .sxdata + 613 .text + 6C .text$x + B8 .xdata$x +]]) + +# Check if the _convenience symbol from section SECT3 in conv.lib is +# present even if section SECT3 in foo.obj is hidden. +AT_CHECK([< dumpbin-output eval "$global_symbol_pipe"], [], [stdout]) +AT_CHECK([$GREP convenience stdout], [], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/duplicate_conv.at b/BUILD/libtool-2.4.7/tests/duplicate_conv.at new file mode 100644 index 0000000..d672d16 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/duplicate_conv.at @@ -0,0 +1,92 @@ +# duplicate_conv.at -- duplicate convenience archive names -*- Autotest -*- + +# Copyright (C) 2006, 2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2006 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([duplicate convenience archive names]) +AT_KEYWORDS([libtool]) + +eval `$LIBTOOL --config | $SED -n '/^reload_cmds=/,/^$/p'` + +# We create two convenience archives with the same name, and _also_ +# containing an object with the same name. This is necessary to detect +# the failure with both 1.5.22 and HEAD, since the latter does not (did +# not?) remove the temporary output directory, thus masking the failure +# when all objects have distinct names. + +mkdir a b c + +echo 'int a () { return 0; }' > a/a.c +echo 'int a2() { return 0; }' > b/a.c +echo 'int b () { return 0; }' > b/b.c +echo 'extern int a(), a2(), b(); int c() { return a() + a2() + b(); }' > c.c +echo 'extern int c(); int main() { return c(); }' > main.c + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a/a.c -o a/a.lo +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b/a.c -o b/a.lo +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b/b.c -o b/b.lo +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c c.c +$CC $CPPFLAGS $CFLAGS -c main.c +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o a/liba.la a/a.lo +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o b/liba.la b/a.lo b/b.lo + +# Fold into convenience archive. +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -o libcee.la c.lo a/liba.la b/liba.la], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la], + [0], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) +$LIBTOOL --mode=clean rm -f libcee.la + + +# FIXME: For this test, we may want to zero out whole_archive_flag_spec; +# OTOH, we'd like to test the other situation, too. + +# Fold into static library. +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -static -o libcee.la c.lo a/liba.la b/liba.la], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la], + [0], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) +$LIBTOOL --mode=clean rm -f libcee.la + +# Fold into library. +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -o libcee.la c.lo a/liba.la b/liba.la], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la], + [0], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) +$LIBTOOL --mode=clean rm -f libcee.la + +AT_CHECK([test false = "$reload_cmds" && exit 77], [1]) + +# Test whether this works with reloadable objects as well. +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o cee.$OBJEXT c.lo a/liba.la b/liba.la], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT cee.$OBJEXT], + [0], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) + +# TODO: test dlpreloading of duplicates (when it is implemented) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/duplicate_deps.at b/BUILD/libtool-2.4.7/tests/duplicate_deps.at new file mode 100644 index 0000000..afeba08 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/duplicate_deps.at @@ -0,0 +1,77 @@ +# duplicate_deps.at -- preserve duplicate convenience deps -*- Autotest -*- + +# Copyright (C) 2006-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2006 +$ +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([preserve duplicate convenience deps]) +AT_KEYWORDS([libtool]) + +# --preserve-dup-deps should work for convenience archives. + +# Create a circular dependency of liba and libb: +# a1 pulls in b1, that pulls in a2. +cat >a1.c <<\EOF +extern int b1 (); +int a1 () { return b1 (); } +EOF +cat >a2.c <<\EOF +int a2 () { return 0; } +EOF +cat >b1.c <<\EOF +extern int a2 (); +int b1 () { return a2 (); } +EOF +cat >main.c <<\EOF +extern int a1 (); +int main () { return a1 (); } +EOF + +for file in a1.c a2.c b1.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +$CC $CPPFLAGS $CFLAGS -c main.c +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o liba.la a1.lo a2.lo + +# This could be worked around by adding liba.la to libb.la +# (in that case all objects from liba would be merged into +# libb.a as well, possibly renamed.) +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b1.lo liba.la +AT_CHECK([$LIBTOOL --mode=link --tag=CC \ + $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la], + [0], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./main]) + +# Forgo the workaround and create a true circular dependency. +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b1.lo +# Some systems find all symbols anyway; skip this test on such systems. +AT_CHECK([$LIBTOOL --mode=link --tag=CC \ + $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la liba.la \ + && exit 77], + [1], [ignore], [ignore]) +# Other systems need special treatment, which currently fails. +AT_XFAIL_IF([:]) +AT_CHECK([$LIBTOOL --mode=link --preserve-dup-deps --tag=CC \ + $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la liba.la], + [0], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/duplicate_members.at b/BUILD/libtool-2.4.7/tests/duplicate_members.at new file mode 100755 index 0000000..82ceaed --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/duplicate_members.at @@ -0,0 +1,78 @@ +# duplicate_members.at -- duplicate members in archive tests -*- Autotest -*- + +# Copyright (C) 2005, 2007-2009, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Alexandre Oliva & Peter O'Gorman, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([duplicate members in archive tests]) +AT_KEYWORDS([libtool]) + +# we don't want to use whole_archive_flag_spec, even if available +$SED -e 's|^whole_archive_flag_spec=.*|whole_archive_flag_spec=|g' < $LIBTOOL > libtool + +chmod +x ./libtool +LIBTOOL=./libtool + +AT_DATA(bar.c, +[[extern int foo1 (), foo2 (), foo3 (), foo4 (), foo5 (), foo6 (); +int bar() { + int result = foo1 () + foo2 () + foo3 () + foo4 () + foo5 () + foo6 (); + return result; +} +]]) + +AT_DATA(main.c, +[[int bar(); +int main() +{ +if (bar() == 21) return 0; +return 1; +} +]]) + + +for a in 1 2 3 4 5 6 +do + mkdir $a + echo "int foo$a() {return $a;}" > $a/a.c +done + + +for a in 1 2 3 4 5 6 +do + $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o $a/a.lo $a/a.c +done +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libc0.la 6/a.lo +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la ]dnl + [1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la], [], [ignore], [ignore]) + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la ]dnl + [ bar.lo libconv.la -rpath /notexist], [], [ignore], [ignore]) + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.lo main.c +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl + [main.lo ./libbar.la], [], [ignore], [ignore]) + +LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/early-libtool.at b/BUILD/libtool-2.4.7/tests/early-libtool.at new file mode 100644 index 0000000..2cbf415 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/early-libtool.at @@ -0,0 +1,230 @@ +# early-libtool.at -- early libtool script generation -*- Autotest -*- + +# Copyright (C) 2005-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([libtool script generation.]) + + +## --------------------------------------------- ## +## Building libtool normally from config.status. ## +## --------------------------------------------- ## + +AT_SETUP([config.status]) + +AT_DATA([configure.ac], +[[AC_INIT([libtool-demo], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.in], +[[prefix = @prefix@ +libdir = @libdir@ +top_builddir = . +SHELL = @SHELL@ +DEFAULT_INCLUDES = -I. -I@srcdir@ +EXEEXT = @EXEEXT@ +LIBTOOL = @LIBTOOL@ +OBJEXT = @OBJEXT@ + +CPPFLAGS = @CPPFLAGS@ +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) +LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) +LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -o $@ + +all: hell$(EXEEXT) + +libhello.la: hello.lo + $(LINK) -rpath $(libdir) hello.lo +hell$(EXEEXT): main.$(OBJEXT) libhello.la + $(LINK) main.$(OBJEXT) libhello.la + +.SUFFIXES: +.SUFFIXES: .c .$(OBJEXT) .lo + +.c.$(OBJEXT): + $(COMPILE) -c $< +.c.lo: + $(LTCOMPILE) -c -o $@ $< +]]) + +AT_DATA([hello.c], +[[#include + +void +hello (void) +{ + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); +} +]]) + +AT_DATA([main.c], +[[#include + +extern void hello (void); + +int +main (void) +{ + printf ("Welcome to GNU Hell!\n"); + + hello (); + + return 0; +} +]]) + +cat > missing <<_EOF +#! /bin/sh +exit 0 +_EOF +chmod a+x missing + +LT_AT_LIBTOOLIZE([--copy --verbose --install]) +LT_AT_ACLOCAL([-I m4]) +LT_AT_AUTOCONF([--force]) +LT_AT_CONFIGURE +LT_AT_MAKE + +LT_AT_EXEC_CHECK([./hell], [0], [stdout]) +AT_CHECK([$GREP 'Welcome to GNU Hell' stdout], [], [ignore]) +AT_CHECK([$GREP 'This is not GNU Hello.' stdout], + [], [ignore]) + +AT_CLEANUP + + +## ------------------------------------------ ## +## Building and using libtool from config.lt. ## +## ------------------------------------------ ## + +AT_SETUP([config.lt]) + +AT_DATA([configure.ac], +[[AC_INIT([libtool-demo], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LT_OUTPUT + +cat >hello.c <<\_EOF +#include + +void +hello (void) +{ + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); +} +_EOF + +# Prove that we can run libtool from inside configure: +$SHELL ./libtool --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS \ + -I. -I$srcdir -c -o hello.lo hello.c || exit 1 +$SHELL ./libtool --mode=link --tag=CC $CC $CFLAGS $LDFLAGS \ + -o libhello.la -rpath /notexist hello.lo || exit 1 + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.in], +[[prefix = @prefix@ +libdir = @libdir@ +top_builddir = . +SHELL = @SHELL@ +DEFAULT_INCLUDES = -I. -I@srcdir@ +EXEEXT = @EXEEXT@ +LIBTOOL = @LIBTOOL@ +OBJEXT = @OBJEXT@ + +CPPFLAGS = @CPPFLAGS@ +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) +LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -o $@ + +all: hell$(EXEEXT) + +hell$(EXEEXT): main.$(OBJEXT) libhello.la + $(LINK) main.$(OBJEXT) libhello.la + +.SUFFIXES: +.SUFFIXES: .c .$(OBJEXT) + +.c.$(OBJEXT): + $(COMPILE) -c $< +]]) + +AT_DATA([hello.c], +[[#include + +void +hello (void) +{ + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); +} +]]) + +AT_DATA([main.c], +[[#include + +extern void hello (void); + +int +main (int argc, char *argv[]) +{ + printf ("Welcome to GNU Hell!\n"); + + hello (); + + return 0; +} +]]) + +cat > missing <<_EOF +#! /bin/sh +exit 0 +_EOF +chmod a+x missing + +LT_AT_LIBTOOLIZE([--copy --verbose --install]) +LT_AT_ACLOCAL([-I m4]) +LT_AT_AUTOCONF([--force]) +LT_AT_CONFIGURE +LT_AT_MAKE + +LT_AT_EXEC_CHECK([./hell], [0], [stdout]) +AT_CHECK([$GREP 'Welcome to GNU Hell' stdout], [], [ignore]) +AT_CHECK([$GREP 'This is not GNU Hello.' stdout], [], [ignore]) + +# Make sure config.status --recheck updates the libtool script +rm libtool +AT_CHECK([$SHELL ./config.status --recheck],[0],[ignore],[ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/exceptions.at b/BUILD/libtool-2.4.7/tests/exceptions.at new file mode 100644 index 0000000..28b1787 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/exceptions.at @@ -0,0 +1,401 @@ +# exception.at -- test C++ exception handling with libtool -*- Autotest -*- +# +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([C++ exception handling]) +AT_KEYWORDS([libtool]) +AT_KEYWORDS([libltdl]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" + +# Win32 (and cygwin) notes +# ------------------------ +# When using C++ and Win32 DLLs, data types used in the DLL's interface +# that are other-than-POD, must have vtables, typeinfo, and other +# elements resolved when the client is linked. This includes exception +# classes. Therefore, the exception class "modexc" thrown by the +# dynamically-loaded module must be defined in a separate DLL, to which +# both that module and main must be directly linked; hence, the 'common' +# library. Not using a 'common' library in this manner represents an +# ODR violation, unless the platform's runtime loader is capable of +# rationalizing vague linkage items such as vtables, typeinfo, and +# typename elements) at runtime. The Win32 loader is not capable of +# this, but some ELF loaders appear to be. +# +# Similar treatment is not necessary for liba (e.g. the libexc +# exception class), because that library is not dynamically loaded. As a +# consequence, vague linkage items for the class libexc are resolved at +# link time using the vague linkage rules, for both Win32 and other +# (e.g. ELF) platforms. +# +# Also, when linking a C++ DLL with another C++ DLL, some versions of +# the GNU toolchain on Win32 (or cygwin) mistakenly re-export symbols +# that were imported from the other DLL, when the client DLL is linked +# using -export-all-symbols. Similar issues MAY also arise with those +# versions of the GNU toolchain if using the libtool link flags +# -export-symbols LIST or -export-symbols-regex REGEX, if any symbols +# from the dependency, rather than client, library are listed (or match +# the regex). However, in this test, none of these situations apply, +# so we don't directly address it. Otherwise, the correct mechanism +# would be to avoid all of those flags, and instead explicitly decorate +# all symbols with appropriate __declspec (dllexport) or +# __declspec (dllimport) flags when building the DLLs and the clients. +# +# For more information, see these two threads: +# http://lists.gnu.org/archive/html/bug-libtool/2010-06/msg00069.html +# http://cygwin.com/ml/cygwin/2010-06/msg00392.html +# To sum up: C++ is complicated. +AT_DATA([common.h], +[[#ifndef LIBTOOL_TEST_COMMON_HEADER +#define LIBTOOL_TEST_COMMON_HEADER + +#include +#include + +#if defined __CYGWIN__ || defined _WIN32 +# if defined DLL_EXPORT || defined USING_COMMON_DLL +# if defined LIBTOOL_TEST_IN_COMMON +# define COMMON_IMPEXP __declspec (dllexport) +# else +# define COMMON_IMPEXP __declspec (dllimport) +# endif +# else +# define COMMON_IMPEXP +# endif +#else +# define COMMON_IMPEXP +#endif + +class COMMON_IMPEXP modexc : public std::exception { +public: + modexc (std::string str) : message (str) { } + ~modexc () throw () { } + virtual const char *what () const throw () + { + return message.c_str (); + } +private: + std::string message; +}; + +extern "C" int COMMON_IMPEXP common_dummy (void); +#endif +]]) + +AT_DATA([common.cpp], +[[#define LIBTOOL_TEST_IN_COMMON +#include "common.h" + +extern "C" +int common_dummy (void) +{ + return 0; +} +]]) + +AT_DATA([module.h], +[[#include "common.h" + +#if defined __CYGWIN__ || defined _WIN32 +# if defined DLL_EXPORT || defined USING_MODULE_DLL +# if defined LIBTOOL_TEST_IN_MODULE +# define MODULE_IMPEXP __declspec (dllexport) +# else +# define MODULE_IMPEXP __declspec (dllimport) +# endif +# else +# define MODULE_IMPEXP +# endif +#else +# define MODULE_IMPEXP +#endif + +extern "C" int MODULE_IMPEXP modfoo () throw (modexc); +]]) + +AT_DATA([module.cpp], +[[#include +#define LIBTOOL_TEST_IN_MODULE +#include "module.h" + +int modbar (void) throw (modexc) +{ + throw modexc ("exception in module"); +} + +extern "C" +int modfoo (void) throw (modexc) +{ + try { + modbar (); + } + catch (modexc e) { + std::cerr << "caught inside module: " << e.what () << '\n'; + throw modexc ("exception from module"); + } + return 0; +} +]]) + +AT_DATA([lib.h], +[[#include +#include + + +#if defined __CYGWIN__ || defined _WIN32 +# if defined DLL_EXPORT || defined USING_LIB_DLL +# if defined LIBTOOL_TEST_IN_LIB +# define LIB_IMPEXP __declspec (dllexport) +# else +# define LIB_IMPEXP __declspec (dllimport) +# endif +# else +# define LIB_IMPEXP +# endif +#else +# define LIB_IMPEXP +#endif + +class LIB_IMPEXP libexc : public std::exception { +public: + libexc (std::string str) : message (str) { } + ~libexc () throw () { } + virtual const char *what () const throw () + { + return message.c_str (); + } +private: + std::string message; +}; +int LIB_IMPEXP libfoo () throw (libexc); +]]) + +AT_DATA([lib.cpp], +[[#include +#define LIBTOOL_TEST_IN_LIB +#include "lib.h" + +int libbar (void) throw (libexc) +{ + throw libexc ("exception in library"); +} + +int libfoo (void) throw (libexc) +{ + try { + libbar (); + } + catch (libexc e) { + std::cerr << "caught inside lib: " << e.what () << '\n'; + throw libexc ("exception from library"); + } + return 0; +} +]]) + +AT_DATA([main.cpp], +[[#include +#include +#include +#include +#include +#include "common.h" +#include "lib.h" +#include "module.h" + +class exc : public std::exception { +public: + exc (std::string str) : message (str) { } + ~exc () throw () { } + virtual const char *what () const throw () + { + return message.c_str (); + } +private: + std::string message; +}; + +int foo (void) throw (exc) +{ + throw exc ("exception in program"); + return 0; +} + +int exceptions_in_prog (void) +{ + std::cerr << "exceptions_in_prog\n"; + try { + foo (); + } + catch (exc e) { + std::cerr << "caught: " << e.what () << '\n'; + return 0; + } + return 1; +} + +int exceptions_in_lib (void) +{ + std::cerr << "exceptions_in_lib\n"; + try { + libfoo (); + } + catch (libexc e) { + std::cerr << "caught: " << e.what () << '\n'; + return 0; + } + return 1; +} + +int exceptions_in_module (void) +{ + std::cerr << "exceptions_in_module\n"; + + if (lt_dlinit ()) + { + std::cerr << "init error: " << lt_dlerror () << '\n'; + return 1; + } + + // Some systems need RTLD_GLOBAL for exceptions to work in modules. + lt_dladvise advise; + if (lt_dladvise_init (&advise) || lt_dladvise_global (&advise)) + { + std::cerr << "error setting advise global\n"; + return 1; + } + + lt_dlhandle handle = lt_dlopenadvise ("module.la", advise); + if (handle == NULL) + { + std::cerr << "dlopen failed: " << lt_dlerror () << '\n'; + return 1; + } + lt_dladvise_destroy (&advise); + + typedef int (*pfun) (void); + pfun pf = (pfun) lt_dlsym (handle, "modfoo"); + if (pf == NULL) + { + std::cerr << "dlsym failed: " << lt_dlerror () << '\n'; + return 1; + } + + bool exception_caught = false; + try { + (*pf) (); + } + catch (modexc e) { + std::cerr << "caught: " << e.what () << '\n'; + exception_caught = true; + } + + /* Only close the module after all of its objects have gone out of scope. */ + if (exception_caught) + { + if (lt_dlclose (handle)) + { + std::cerr << "dlclose failed: " << lt_dlerror () << '\n'; + return 1; + } + if (lt_dlexit ()) + { + std::cerr << "lt_dlexit failed: " << lt_dlerror () << '\n'; + return 1; + } + return 0; + } + return 1; +} + +int main (void) +{ + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (exceptions_in_prog ()) + return 1; + if (exceptions_in_lib ()) + return 1; + if (exceptions_in_module ()) + return 1; + return 0; +} +]]) + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +moddir=$inst/mod +mkdir l m $inst $libdir $bindir $moddir + +# If the C++ compiler isn't capable, don't bother. +AT_CHECK([$CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77], [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c common.cpp], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c lib.cpp], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -c module.cpp], + [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/libcommon.la ]dnl + [common.lo -no-undefined -version-info 1:0:0 -rpath $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/liba.la ]dnl + [lib.lo -no-undefined -version-info 1:0:0 -rpath $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o m/module.la ]dnl + [module.lo l/libcommon.la -module -avoid-version -no-undefined -rpath $moddir], + [], [ignore], [ignore]) + +# We need -export-dynamic for the exception handling in modules to work. +AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT ]dnl + [main.$OBJEXT l/liba.la l/libcommon.la -dlopen m/module.la $LIBLTDL -export-dynamic], + [], [ignore], [ignore]) + +LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen m/module.la], [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=install cp l/libcommon.la $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp l/liba.la $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp m/module.la $moddir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp main$EXEEXT $bindir], + [], [ignore], [ignore]) +rm -rf l m main$EXEEXT + +LTDL_LIBRARY_PATH=$moddir +export LTDL_LIBRARY_PATH +LT_AT_EXEC_CHECK([$bindir/main], [], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/execute-mode.at b/BUILD/libtool-2.4.7/tests/execute-mode.at new file mode 100644 index 0000000..7f4ad39 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/execute-mode.at @@ -0,0 +1,221 @@ +# execute-mode.at -- libtool --mode=execute -*- Autotest -*- +# +# Copyright (C) 2008-2019, 2021-2022 Free Software Foundation, Inc. +# Written by Ralf Wildenhues, 2008 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([execute mode]) +AT_KEYWORDS([libtool]) + +eval `$LIBTOOL --config | $EGREP '^(FGREP)='` + +AT_DATA([foo], +[[#! /bin/sh +if test $# -gt 0; then + for arg + do + printf %s\\n "$arg" + done +else + : +fi +]]) + +AT_DATA([lt-wrapper], +[[#! /bin/sh +# Generated by GNU libtool. +# fake wrapper script. +program=lt-real +progdir=. +if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + exec "$progdir/$program" ${1+"$@"} + echo "$0: cannot exec $program $*" >&2 + exit 1 +fi +]]) + +AT_DATA([lt-real], +[[#! /bin/sh +for arg +do + printf %s\\n "$arg" +done +cat +]]) + +AT_DATA([libfakelib.la], +[[# libfakelib.la - a libtool library file +# Generated by ltmain.sh (GNU libtool 1.2605 2008/03/04 22:31:32) 2.3a +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +dlname='' +library_names='' +old_library='libfakelib.a' +inherited_linker_flags='' +dependency_libs='' +weak_library_names='' +current= +age= +revision= +installed=no +shouldnotlink=yes +dlopen='' +dlpreopen='' +libdir='' +]]) + +mkdir sub +cp foo sub/foo +chmod +x foo sub/foo lt-wrapper lt-real + +AT_DATA([liba.c], +[[int a () { return 0; } +]]) + +AT_DATA([main.c], +[[#include +extern int a (); +int main (int argc, char **argv) +{ + int i; + for (i=1; i' \ + '' '' +do + if test -z "$arg1"; then + arg1=$arg2; continue + fi + AT_CHECK([$LIBTOOL --mode=execute ./foo abc "$arg1" "$arg2" xyz], [], [stdout], [ignore]) + AT_CHECK([$FGREP "$arg1" stdout], [], [ignore]) + AT_CHECK([test -z "$arg2" || $FGREP "$arg2" stdout], [], [ignore]) + AT_CHECK([test `$SED -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4]) + AT_CHECK([$LIBTOOL --mode=execute ./lt-wrapper abc "$arg1" "$arg2" xyz can-hide + case $archive_expsym_cmds in + *-retain-symbols-file*) echo false >can-hide ;; + esac]) +can_hide=: +test -s can-hide && can_hide=false + +LDFLAGS="$LDFLAGS -no-undefined" +libdir=`pwd`/inst/lib +mkdir inst inst/lib + +AT_DATA(a.c, +[[/* all kinds of data items */ +#ifdef __cplusplus +extern "C" { +#endif + +int v1; +static int v2; +int v3 = 0; +int v4 = 1; +extern const int v5, v6; +extern const char *v7; +extern const char v8[]; +extern int (*const v12) (void); +const int v5 = 0; +const int v6 = 1; +const char* v7 = "\01foo"; +const char v8[] = "\01bar"; +int v9(void) { return v2 + 1; } +int (*v10) (void); +int (*v11) (void) = v9; +int (*const v12) (void) = v9; + +typedef struct { int arr[1000]; } large; +large v13; +large v14 = { { 0 } }; +large v15 = { { 1 } }; + +int w1 (void) { return 0; } + +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA(asyms, +[[v1 +v3 +v4 +v5 +v6 +v7 +v8 +v9 +v10 +v11 +v12 +v13 +v14 +v15 +]]) + +AT_DATA(main.c, +[[ +/* w32 fun. With GCC, you can have auto-import, which will work for + * functions and non-const variables. With MSVC, you have to explicitly + * import all variables. Depending on the amount of portability, you + * need these annotations: LIBA_SCOPE for GCC, and also LIBA_SCOPE_VAR + * for MSVC. Of course you can merge both to one, this test only avoids + * that in order to expose the auto-import feature on Cygwin. + * + * For users, it's best to realize that they should not provide any + * non-function API at all. + */ +#if defined LIBA_DLL_IMPORT +# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ +# define LIBA_SCOPE extern __declspec(dllimport) +# if defined _MSC_VER +# define LIBA_SCOPE_VAR LIBA_SCOPE +# endif +# endif +#endif +#if !defined LIBA_SCOPE +# define LIBA_SCOPE extern +#endif +#if !defined LIBA_SCOPE_VAR +# define LIBA_SCOPE_VAR extern +#endif +#ifdef __cplusplus +extern "C" { +#endif +LIBA_SCOPE_VAR int v1; +LIBA_SCOPE_VAR int v3, v4; +LIBA_SCOPE const int v5, v6; +LIBA_SCOPE_VAR const char* v7; +LIBA_SCOPE_VAR const char v8[]; +extern int v9(void); +LIBA_SCOPE_VAR int (*v10) (void); +LIBA_SCOPE_VAR int (*v11) (void); +LIBA_SCOPE int (*const v12) (void); +#ifdef __cplusplus +} +#endif + +typedef struct { int arr[1000]; } large; +LIBA_SCOPE_VAR large v13, v14, v15; + +int main (void) +{ + char s = v7[0] + v8[0]; + return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() + + v13.arr[0] + v14.arr[0] + v15.arr[0] + - 8; +} +]]) + +AT_DATA([broken.c], +[[ +/* these symbols should not be exported */ +#ifdef __cplusplus +extern "C" { +#endif +extern int w1 (void); +#ifdef __cplusplus +} +#endif +int main (void) +{ + return w1 (); +} +]]) + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c],[0],[ignore],[ignore]) +AT_CHECK([$CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c],[0],[ignore],[ignore]) +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c broken.c],[0],[ignore],[ignore]) + +for exportsyms in '' '-export-symbols-regex "v.*"' '-export-symbols asyms' +do + # case 1: shared library built from object. + LT_AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \ + -rpath $libdir' $exportsyms], [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./main]) + if test -n "$exportsyms" && $can_hide; then + AT_CHECK([if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o broken$EXEEXT broken.$OBJEXT liba.la + then (exit 1); else :; fi], [], [ignore], [ignore]) + fi + + # case 2: shared library built from convenience archive. + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libconv.la a.lo], + [], [ignore], [ignore]) + LT_AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la libconv.la \ + -rpath $libdir' $exportsyms], [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./main]) + if test -n "$exportsyms" && $can_hide; then + AT_CHECK([if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o broken$EXEEXT broken.$OBJEXT liba.la + then (exit 1); else :; fi], [], [ignore], [ignore]) + fi +done + +AT_CHECK([$can_hide || (exit 77)]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/f77demo.at b/BUILD/libtool-2.4.7/tests/f77demo.at new file mode 100644 index 0000000..7b1ba4d --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/f77demo.at @@ -0,0 +1,337 @@ +# f77demo.at -- Fortran 77 language support. -*- Autotest -*- +# +# Copyright (C) 2003, 2005-2006, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Eric Lindahl, 2002 +# Written by Gary V. Vaughan, 2003 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([F77 language support.]) + + +# _LT_SETUP +# --------- +m4_define([_LT_SETUP], +[LT_AT_TAG([F77]) +AT_KEYWORDS([libtool]) + +AT_DATA([configure.ac], +[[AC_INIT([f77demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +AC_PROG_F77 +dnl When configuring for 'make dist' purposes, skip checks that may yield fatal +dnl errors when there is no working F77 compiler. +if test -z "$with_dist"; then + dnl Check the flags needed to link f77 programs with ld (i.e. cc) + AC_F77_LIBRARY_LDFLAGS + dnl Check for underscoring of external names + AC_F77_WRAPPERS +fi +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la + +libfoo_la_SOURCES = foof.f +libfoo_la_LIBADD = libfoo2.la +libfoo_la_LDFLAGS = -no-undefined + +libfoo2_la_SOURCES = foof2.f +libfoo2_la_LDFLAGS = -no-undefined + +libfoo3_la_SOURCES = foof3.f +libfoo3_la_LDFLAGS = -no-undefined + +libmix_la_SOURCES = foof.f foof2.f fooc.c +libmix_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h + +bin_PROGRAMS = fprogram cprogram + +fprogram_SOURCES = fprogram.f +fprogram_LDADD = libfoo.la libfoo3.la + +cprogram_SOURCES = cprogram.c +cprogram_LDADD = libmix.la $(FLIBS) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +]]) + +AT_DATA([fprogram.f], +[[ program fprogram + implicit none + integer*4 arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + call fsub3(arg,res) + + write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res + + if (res.eq.8) then + write(*,*) 'fsub3 is ok!' + endif + + stop + end +]]) + +AT_DATA([cprogram.c], +[[#include +#include + +#include "foo.h" + +int +main () +{ + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub(arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if(cres==2*arg) + printf ("The C subroutine is ok!\n"); + + printf("\nCalling the C wrapper routine...\n"); + fres=fwrapper(arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if(fres==2*arg) + printf ("The Fortran 77 subroutine is ok!\n"); + + return 0; +} +]]) + +AT_DATA([foo.h], +[[#ifndef _FOO_H_ +#define _FOO_H_ 1 + +/* config.h is necessary for the fortran name mangling */ +#include + +/* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ +extern int csub(int); + +/* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ +extern int fwrapper(int); + +/* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ +extern +#ifdef __cplusplus +"C" +#endif +void F77_FUNC(fsub,FSUB)(int *arg, int *res); + +#endif +]]) + +AT_DATA([fooc.c], +[[#include +#include + +#include "foo.h" + +int csub(int arg) +{ + return (2*arg); +} + + +int fwrapper(int arg) +{ + int res; + printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); + F77_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran 77 subroutine...\n"); + return res; +} +]]) + +AT_DATA([foof.f], +[[ subroutine fsub(arg,res) + write(*,*) 'fsub called' + call fsubf(arg,res) + return + end +]]) + +AT_DATA([foof2.f], +[[ subroutine fsubf(arg,res) + implicit none + integer*4 arg,res + write(*,*) 'fsubf called' + res=arg*2 + return + end +]]) + +AT_DATA([foof3.f], +[[ subroutine fsub3(arg,res) + implicit none + integer*4 arg,res + write(*,*) 'fsub3 called' + res=arg*4 + return + end +]]) + +LT_AT_AUTOHEADER +]) # _LT_SETUP + + +# _LT_CHECK_EXECUTE +# ----------------- +# Run the default make rule, and check that the built binaries work. +m4_define([_LT_CHECK_EXECUTE], +[LT_AT_MAKE + +# Due to differences in line-endings between C stdout and Fortran +# stdout, as well as unpredictable output ordering between platforms +# and runtimes, we can't reliably check the output here... although +# it should be some variation of the following: +LT_AT_HOST_DATA([expout], +[[ Welcome to GNU libtool Fortran demo! + Real programmers write in FORTRAN. + fsub called + fsubf called + fsub returned, saying that 2 * 2 = 4 + fsub is ok! + fsub3 called + fsub3 returned, saying that 4 * 2 = 8 + fsub3 is ok! +]]) +LT_AT_EXEC_CHECK([./fprogram], 0, [stdout]) + +# A weaker output content check that is agnostic to the issues above. +AT_CHECK([$GREP 'Welcome to GNU libtool Fortran demo!' stdout], + [0], [ignore]) + +# Similarly, we can't reliably compare actual output with the following. +LT_AT_HOST_DATA([expout], +[[Welcome to GNU libtool mixed C/Fortran demo! +The C subroutine returned, claiming that 2*2 = 4 +The C subroutine is ok! + +Calling the C wrapper routine... +Calling the Fortran 77 subroutine from the C wrapper... + fsub called + fsubf called +Returned from the Fortran 77 subroutine... +The C wrapper to the fortran subroutine returned, +claiming that 2*2 = 4 +The Fortran 77 subroutine is ok! +]]) +LT_AT_EXEC_CHECK([./cprogram], 0, [stdout]) + +# A weaker output content check that is agnostic to the issues above. +AT_CHECK([$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout], + [0], [ignore]) +]) + + +## --------------- ## +## F77demo static. ## +## --------------- ## + +AT_SETUP([static library]) + +# Executing the static fprogram might be interactive on MSYS. +AT_KEYWORDS([interactive]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-shared], + [^build_old_libs=yes], [^build_libtool_libs=no]) +_LT_CHECK_EXECUTE + +AT_CLEANUP + + +## --------------- ## +## F77demo shared. ## +## --------------- ## + +AT_SETUP([shared library]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-static], + [^build_old_libs=no], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE + +AT_CLEANUP + + +## ------------- ## +## F77demo conf. ## +## ------------- ## + +AT_SETUP([shared and static together]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([], + [^build_old_libs=yes], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/fail.at b/BUILD/libtool-2.4.7/tests/fail.at new file mode 100644 index 0000000..8f8c960 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/fail.at @@ -0,0 +1,123 @@ +# fail.at -- test that libtool really fail when it should -*- Autotest -*- +# +# Copyright (C) 2005, 2008-2009, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# TODO: many possible failure cases missing. (But how to simulate a full disk?) + +AT_SETUP([Failure tests]) +AT_KEYWORDS([libtool]) +eval `$LIBTOOL --config | $EGREP '^(pic_mode|pic_flag|build_old_libs|build_libtool_libs)='` +LDFLAGS="$LDFLAGS -no-undefined" + +m4_pushdef([FAIL_CHECK], +[AT_CHECK([if $1; then (exit 1); else :; fi], [0], [ignore], [ignore]) +]) + +AT_DATA([script], +[[#! /bin/sh +exit 0 +]]) +chmod +x script +if test -x script >/dev/null 2>&1; then + test_x="test -x" +else + test_x=: +fi + +# compile failure +echo 'choke me' > a.c +FAIL_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c]) +AT_CHECK([test -f a.lo], [1]) + +# non-PIC compile failure +case $pic_mode in default | no) + case " $CFLAGS " in + *\ -prefer-pic\ *) ;; + *) + case $build_old_libs,$pic_flag in yes,*-DPIC*) + AT_DATA([a.c], [[ +#ifndef PIC + choke me +#endif +]]) + FAIL_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -no-suppress -c a.c]) + AT_CHECK([test -f a.lo], [1]) + ;; + esac + ;; + esac + ;; +esac + +# program creation failure. +# We can't rely on 'main' not being present: the QNX linker +# won't error out in that case, although the resulting binary won't work. +# So we provoke a link failure due to an unresolved symbol, and require +# libtool to fail only if the link without libtool would have failed, too. +cat > a.c <<'EOF' +extern int nonexistent_function (void); +int main (void) +{ + return nonexistent_function (); +} +EOF +$CC $CPPFLAGS $CFLAGS -c a.c +if $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT; then :; else + rm -f a a$EXEEXT + FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT]) + AT_CHECK([{ test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; }], [1]) + FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT -static]) + AT_CHECK([{ test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; }], [1]) +fi + +# shared library creation failure +case $build_libtool_libs in yes) + echo 'int duplicate_name(void) { return 0; }' > a.c + echo 'double duplicate_name(double x) { return 2.*x; }' > b.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c + # Unfortunately, this may actually succeed on AIX and IRIX :( + # So, also add a bogus object file to provoke more failure. + echo 'int whatever(void) { return 0;}' > c.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c.c + ( + . ./c.lo + test none = "$pic_object" || echo choke me >"$pic_object" + test none = "$non_pic_object" || echo choke me >"$non_pic_object" + ) + FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo b.lo c.lo -rpath /foo]) + AT_CHECK([test -f liba.la], [1]) + ;; +esac + +# Ensure we diagnose '-L path'. +echo 'int main () { return 0; }' > d.c +echo 'int foo () { return 0; }' > space-after-L.c +$CC $CPPFLAGS $CFLAGS -c d.c +$CC $CPPFLAGS $CFLAGS -c space-after-L.c +FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -L space-after-L.$OBJEXT -o d$EXEEXT d.$OBJEXT]) +FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o d$EXEEXT d.$OBJEXT -L]) + +m4_popdef([FAIL_CHECK]) +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/fcdemo.at b/BUILD/libtool-2.4.7/tests/fcdemo.at new file mode 100644 index 0000000..ef05d94 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/fcdemo.at @@ -0,0 +1,351 @@ +# fcdemo.at -- Fortran 90/95 language support. -*- Autotest -*- +# +# Copyright (C) 2003, 2005-2006, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Eric Lindahl, 2002 +# Written by Gary V. Vaughan, 2003 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Fortran language support.]) + + +# _LT_SETUP +# --------- +m4_define([_LT_SETUP], +[LT_AT_TAG([FC]) +AT_KEYWORDS([libtool]) + +AT_DATA([configure.ac], +[[AC_INIT([fcdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +AC_LANG_PUSH([Fortran]) +AC_PROG_FC +dnl Check the flags needed to link fc programs with ld (i.e. cc) +AC_FC_LIBRARY_LDFLAGS +dnl Check for underscoring of external names +AC_FC_WRAPPERS +dnl We need to use .f90 and not .f to enable Automake FC support +dnl Some Intel ifc/ifort do not understand .f95. :-/ +AC_FC_SRCEXT([f90]) +dnl Yes, we want free-form Fortran! +AC_FC_FREEFORM +AC_LANG_POP + +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la + +libfoo_la_SOURCES = foof.f90 +libfoo_la_LIBADD = libfoo2.la +libfoo_la_LDFLAGS = -no-undefined + +libfoo2_la_SOURCES = foof2.f90 +libfoo2_la_LDFLAGS = -no-undefined + +libfoo3_la_SOURCES = foof3.f90 +libfoo3_la_LDFLAGS = -no-undefined + +libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c +libmix_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h + +bin_PROGRAMS = fprogram cprogram + +fprogram_SOURCES = fprogram.f90 +fprogram_LDADD = libfoo.la libfoo3.la + +cprogram_SOURCES = cprogram.c +cprogram_LDADD = libmix.la $(FCLIBS) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +# Work around Automake bug, where FCFLAGS_f90 is not provided: +.f90.o: + $(FCCOMPILE) -c -o @S|@@ $(FCFLAGS_f90) $< + +.f90.obj: + $(FCCOMPILE) -c -o @S|@@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'` + +.f90.lo: + $(LTFCCOMPILE) -c -o @S|@@ $(FCFLAGS_f90) $< +]]) + +AT_DATA([fprogram.f90], +[[program fprogram + implicit none + integer arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + call fsub3(arg,res) + + write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res + + if (res.eq.8) then + write(*,*) 'fsub3 is ok!' + endif + + stop +end +]]) + +AT_DATA([cprogram.c], +[[#include +#include + +#include "foo.h" + +int +main () +{ + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub (arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if (cres == 2*arg) + printf ("The C subroutine is ok!\n"); + + printf ("\nCalling the C wrapper routine...\n"); + fres = fwrapper (arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if (fres == 2*arg) + printf ("The Fortran subroutine is ok!\n"); + + return 0; +} +]]) + +AT_DATA([foo.h], +[[#ifndef _FOO_H_ +#define _FOO_H_ 1 + +/* config.h is necessary for the fortran name mangling */ +#include + +/* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ +extern int csub(int); + +/* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ +extern int fwrapper(int); + +/* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ +extern +#ifdef __cplusplus +"C" +#endif +void FC_FUNC(fsub,FSUB)(int *arg, int *res); + +#endif +]]) + +AT_DATA([fooc.c], +[[#include +#include + +#include "foo.h" + +int csub(int arg) +{ + return (2*arg); +} + + +int fwrapper(int arg) +{ + int res; + printf("Calling the Fortran subroutine from the C wrapper...\n"); + FC_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran subroutine...\n"); + return res; +} +]]) + +AT_DATA([foof.f90], +[[subroutine fsub(arg,res) + write(*,*) 'fsub called' + call fsubf(arg,res) + return +end +]]) + +AT_DATA([foof2.f90], +[[subroutine fsubf(arg,res) + implicit none + integer arg,res + write(*,*) 'fsubf called' + res=arg*2 + return +end +]]) + +AT_DATA([foof3.f90], +[[subroutine fsub3(arg,res) + implicit none + integer arg,res + write(*,*) 'fsub3 called' + res=arg*4 + return +end +]]) + +LT_AT_AUTOHEADER +]) # _LT_SETUP + + +# _LT_CHECK_EXECUTE +# ----------------- +# Run the default make rule, and check that the built binaries work. +m4_define([_LT_CHECK_EXECUTE], +[LT_AT_MAKE + +# Due to differences in line-endings between C stdout and Fortran +# stdout, as well as unpredictable output ordering between platforms +# and runtimes, we can't reliably check the output here... although +# it should be some variation of the following: +LT_AT_HOST_DATA([expout], +[[ Welcome to GNU libtool Fortran demo! + Real programmers write in FORTRAN. + fsub called + fsubf called + fsub returned, saying that 2 * 2 = 4 + fsub is ok! + fsub3 called + fsub3 returned, saying that 4 * 2 = 8 + fsub3 is ok! +]]) +LT_AT_EXEC_CHECK([./fprogram], 0, [stdout]) + +# A weaker output content check that is agnostic to the issues above. +AT_CHECK([$GREP 'Welcome to GNU libtool Fortran demo!' stdout], + [0], [ignore]) + +# Similarly, we can't reliably compare actual output with the following. +LT_AT_HOST_DATA([expout], +[[Welcome to GNU libtool mixed C/Fortran demo! +The C subroutine returned, claiming that 2*2 = 4 +The C subroutine is ok! + +Calling the C wrapper routine... +Calling the Fortran subroutine from the C wrapper... + fsub called + fsubf called +Returned from the Fortran subroutine... +The C wrapper to the fortran subroutine returned, +claiming that 2*2 = 4 +The Fortran subroutine is ok! +]]) +LT_AT_EXEC_CHECK([./cprogram], 0, [stdout]) + +# A weaker output content check that is agnostic to the issues above. +AT_CHECK([$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout], + [0], [ignore]) +]) + + +## -------------- ## +## Fcdemo static. ## +## -------------- ## + +AT_SETUP([static library]) + +# Executing the static fprogram might be interactive on MSYS. +AT_KEYWORDS([interactive]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-shared], + [^build_old_libs=yes], [^build_libtool_libs=no]) +_LT_CHECK_EXECUTE + +AT_CLEANUP + + +## -------------- ## +## Fcdemo shared. ## +## -------------- ## + +AT_SETUP([shared library]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-static], + [^build_old_libs=no], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE + +AT_CLEANUP + + +## ------------ ## +## Fcdemo conf. ## +## ------------ ## + +AT_SETUP([shared and static together]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([], + [^build_old_libs=yes], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/flags.at b/BUILD/libtool-2.4.7/tests/flags.at new file mode 100644 index 0000000..706ea9f --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/flags.at @@ -0,0 +1,116 @@ +# flags.at -- libtool passing of flags -*- Autotest -*- +# +# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +m4_foreach([lt_tag], [CC, CXX, F77, FC, GCJ], +[AT_SETUP([passing lt_tag flags through libtool]) +AT_KEYWORDS([libtool]) +LT_AT_TAG(m4_defn([lt_tag])) + +LDFLAGS="$LDFLAGS -no-undefined" +eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" + +m4_case(lt_tag, +[CC], [AT_DATA([a.c], +[[int main () { return 0; } +]]) +compile="$CC $CPPFLAGS $CFLAGS" link="$CC $CFLAGS $LDFLAGS" source=a.c +], +[CXX], [AT_DATA([a.cpp], +[[int main () { return 0; } +]]) +compile="$CXX $CPPFLAGS $CXXFLAGS" link="$CXX $CXXFLAGS $LDFLAGS" source=a.cpp +], +[F77], [AT_DATA([a.f], +[[ program main + end +]]) +compile="$F77 $FFLAGS" link="$F77 $FFLAGS $LDFLAGS" source=a.f +], +[FC], [AT_DATA([a.f90], +[[ program main + end +]]) +compile="$FC $FCFLAGS" link="$FC $FCFLAGS $LDFLAGS" source=a.f90 +], +[GCJ], [AT_DATA([a.java], +[[class a {} +]]) +compile="$GCJ $GCJFLAGS" link="$GCJ $GCJFLAGS $LDFLAGS" source=a.java +]) + +# Linker flags are not passed to the archiver, so don't test static libraries. +if $LIBTOOL --features | $GREP 'enable shared libraries'; then + library_and_module='library.la "module.la -module -avoid-version"' +else + library_and_module= +fi + +eval "`$LIBTOOL --tag=lt_tag --config | $EGREP '^(wl|archive_cmds)='`" + +AT_CHECK([$LIBTOOL --tag=lt_tag --mode=compile $compile -c $source], + [], [ignore], [ignore]) + +# Linker flags are prefixed with $wl iff they are passed to the +# compiler driver, instead of directly to the linker. +case $archive_cmds in +*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; +*) maybe_wl=$wl compiler_flags_in_liblink=: ;; +esac + +for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do + case $flag in + -Wc, | -Xcompiler\ ) + AT_CHECK([$LIBTOOL -n --tag=lt_tag --mode=compile $compile ]dnl + [$flag-foo -c $source], [], [stdout], [ignore]) + AT_CHECK([$FGREP " -foo" stdout], [], [ignore]) + flag_prefix_prog= + flag_prefix_lib= + flags_in_liblink=$compiler_flags_in_liblink + ;; + -Wl, | -Xlinker\ ) + flag_prefix_prog=$wl + flag_prefix_lib=$maybe_wl + flags_in_liblink=: + ;; + esac + + AT_CHECK([$LIBTOOL -n --tag=lt_tag --mode=link $link ]dnl + [-o program$EXEEXT a.lo $flag-foo], [], [stdout], [ignore]) + AT_CHECK([$FGREP " $flag_prefix_prog-foo" stdout], [], [ignore]) + + eval set x "$library_and_module" + for output + do + test x = "$output" && continue + AT_CHECK([$LIBTOOL -n --tag=lt_tag --mode=link $link ]dnl + [-o $output a.lo -rpath /nowhere $flag-foo], [], [stdout], [ignore]) + if $flags_in_liblink; then + AT_CHECK([$FGREP " $flag_prefix_lib-foo" stdout], [], [ignore]) + else + AT_CHECK([$FGREP " $flag_prefix_lib-foo" stdout], [1]) + fi + done +done + +AT_CLEANUP +])dnl m4_foreach(tag) diff --git a/BUILD/libtool-2.4.7/tests/help.at b/BUILD/libtool-2.4.7/tests/help.at new file mode 100644 index 0000000..ae0e7a7 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/help.at @@ -0,0 +1,191 @@ +# help.at -- standard command line options -*- Autotest -*- +# +# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Testing libtool functions.]) + +AT_SETUP([standard command line options]) +AT_KEYWORDS([libtool]) +AT_KEYWORDS([libtoolize]) + +AT_CHECK([$LIBTOOLIZE --help], [], [ignore]) +AT_CHECK([$LIBTOOLIZE --version], [], [stdout]) +AT_CHECK([$GREP 'Copyright.*Free Software Foundation' stdout], [], [ignore]) +AT_CHECK([$LIBTOOL --help], [], [ignore]) +AT_CHECK([$LIBTOOL --help-all], [], [ignore]) +AT_CHECK([$LIBTOOL --version], [], [stdout]) +AT_CHECK([$GREP 'Copyright.*Free Software Foundation' stdout], [], [ignore]) + +AT_CHECK([$LIBTOOL], [1], [stdout], [stderr]) +AT_CHECK([$GREP 'specify a MODE' stderr], [], [ignore]) +AT_CHECK([$GREP ' --help' stdout], [], [ignore]) + +AT_CLEANUP + + +AT_SETUP([mode short-hands]) + +AT_DATA([a.c], +[[int a () { return 0; } +]]) + +AT_DATA([main.c], +[[extern int a (); +int main () { return a (); } +]]) + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +mkdir $inst $libdir $bindir + +AT_CHECK([$LIBTOOL compile $CC $CPPFLAGS $CFLAGS -c a.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl + [-no-undefined -rpath $libdir], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL l $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo ]dnl + [liba.la], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL execute --dry-run ./main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL exe --dry-run ./main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL e --dry-run ./main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL install cp liba.la $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL i cp main$EXEEXT $bindir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL finish $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL f $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL uninstall rm -f $libdir/liba.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL u rm -f $bindir/main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL clean rm -f main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL cl liba.la], + [], [ignore], [ignore]) + +AT_CLEANUP + + +AT_SETUP([debug tracing]) + +AT_DATA([a.c], +[[int a () { return 0; } +]]) + +AT_DATA([b.c], +[[extern int a (); +int b () { return a (); } +]]) + +AT_DATA([main.c], +[[extern int b (); +int main () { return b (); } +]]) + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +mkdir $inst $libdir $bindir + +# This test will not work correctly if --debug is passed. +AT_CHECK([case "$LIBTOOL $CC $CPPFLAGS $CFLAGS $LDFLAGS " in ]dnl + [ *\ --debug\ *) exit 77;; *) :;; esac]) + +check_trace () +{ + if test X--debug = "X$trace"; then + AT_CHECK([$GREP 'enabling shell trace mode' stdout stderr], [0], [ignore]) + AT_CHECK([$GREP ' --mode' stderr], [0], [ignore]) + else + AT_CHECK([$GREP 'enabling shell trace mode' stdout stderr], [1]) + AT_CHECK([$GREP ' --mode' stderr], [1]) + fi +} + +orig_LIBTOOL=$LIBTOOL +for trace in '' --debug; do + LIBTOOL="$orig_LIBTOOL $trace" + + # Hypothesis: debug output should happen if (and only if) --debug is + # passed, for compile, link, install, uninstall, and clean modes. + AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c], + [], [stdout], [stderr]) + check_trace + AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c], + [], [stdout], [stderr]) + check_trace + AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl + [ -no-undefined -rpath $libdir], [], [stdout], [stderr]) + check_trace + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo ]dnl + [ -no-undefined -rpath $libdir liba.la], [], [stdout], [stderr]) + check_trace + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ]dnl + [libb.la], [], [stdout], [stderr]) + check_trace + LT_AT_NOINST_EXEC_CHECK([./main], [], [], [stdout], [stderr]) + check_trace + + AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir], + [], [stdout], [stderr]) + check_trace + + # Hypothesis: --debug should be passed to relink mode if (and only if) + # it was passed at link mode. + AT_CHECK([$orig_LIBTOOL --mode=install $lt_INSTALL liba.la libb.la $libdir], + [], [stdout], [stderr]) + if $GREP ': relinking ' stdout stderr; then + if test X--debug = "X$trace"; then + AT_CHECK([$GREP ' --mode=relink' stdout stderr | $GREP ' --debug '], + [0], [ignore]) + else + AT_CHECK([$GREP ' --mode=relink' stdout stderr | $GREP ' --debug '], + [1]) + fi + fi + + AT_CHECK([$LIBTOOL --mode=install cp main$EXEEXT $bindir], + [], [stdout], [stderr]) + check_trace + AT_CHECK([$LIBTOOL --mode=finish $bindir], [], [stdout], [stderr]) + check_trace + + AT_CHECK([$LIBTOOL --mode=uninstall rm -f $bindir/main$EXEEXT ]dnl + [$libdir/libb.la $libdir/liba.la], [], [stdout], [stderr]) + check_trace + AT_CHECK([$LIBTOOL --mode=clean rm -f $bindir/main$EXEEXT ]dnl + [$libdir/libb.la $libdir/liba.la], [], [stdout], [stderr]) + check_trace + +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/indirect_deps.at b/BUILD/libtool-2.4.7/tests/indirect_deps.at new file mode 100644 index 0000000..2af75ac --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/indirect_deps.at @@ -0,0 +1,118 @@ +# indirect_deps.at -- support for link_all_deplibs=no -*- Autotest -*- + +# Copyright (C) 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2007. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([indirect convenience]) +AT_KEYWORDS([libtool]) + +AT_DATA([a.c], [[ +#include +int a () { return 0; } +double ad (double x) { return sin (x); } +]]) +AT_DATA([b.c], [[ +extern int a (); +extern double ad (double); +int b () { return a () + (int) ad (0.0); } +]]) +AT_DATA([c.c], [[ +extern int b (); +int c () { return b (); } +]]) +AT_DATA([m.c], [[ +extern int c (); +int main () { return c (); } +]]) + +LDFLAGS="$LDFLAGS -no-undefined" +for file in a.c b.c c.c; do + $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c $file +done +$CC $CPPFLAGS $CFLAGS -c m.c + +# liba is an indirect dependency of libd and of libconv. +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath /nowhere -lm +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b.lo liba.la -rpath /nowhere +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la c.lo libb.la +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libd.la libconv.la -rpath /nowhere + +for st in '' -static; do + AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m.$OBJEXT libd.la], + [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m.$OBJEXT libconv.la], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./m1]) + LT_AT_EXEC_CHECK([./m2]) +done + +AT_CLEANUP + + +AT_SETUP([indirect uninstalled]) +AT_KEYWORDS([libtool]) + +AT_DATA([a.c], [[ +int a () { return 0; } +]]) +AT_DATA([b.c], [[ +extern int a (); +int b () { return a (); } +]]) +AT_DATA([c.c], [[ +extern int b (); +int c () { return b (); } +]]) + +AT_DATA([m1.c], [[ +extern int b (); +int main () { return b (); } +]]) +AT_DATA([m2.c], [[ +extern int c (); +int main () { return c (); } +]]) + +mkdir a b c +LDFLAGS="$LDFLAGS -no-undefined" +for file in a.c b.c c.c; do + $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c $file +done +for file in m1.c m2.c; do + $CC $CPPFLAGS $CFLAGS -c $file +done + +for st in '' -static; do + $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o a/liba.la a.lo -rpath /nowherea + $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o b/libb.la b.lo a/liba.la -rpath /nowhereb + $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o c/libcee.la c.lo b/libb.la -rpath /nowherec + + AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m1.$OBJEXT b/libb.la], + [], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m2.$OBJEXT c/libcee.la], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./m1]) + LT_AT_EXEC_CHECK([./m2]) +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/infer-tag.at b/BUILD/libtool-2.4.7/tests/infer-tag.at new file mode 100644 index 0000000..6708f61 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/infer-tag.at @@ -0,0 +1,98 @@ +# infer-tag.at -- libtool without --tag -*- Autotest -*- +# +# Copyright (C) 2008, 2010-2019, 2021-2022 Free Software Foundation, +# Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# Check that func_infer_tag works. + +# We add one test per tag, so that only those tests are skipped +# for which the tags are disabled (otherwise we only ever test +# on systems where all tags are enabled). + +AT_SETUP([inferred tag]) +AT_KEYWORDS([libtool]) + +AT_DATA([a.c], +[[int a (void) { return 0; } +]]) + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c], + [], [ignore], [ignore]) + +AT_CLEANUP + +AT_SETUP([CXX inferred tag]) +LT_AT_TAG([CXX]) +AT_KEYWORDS([libtool]) + +AT_DATA([a.cpp], +[[int a (void) { return 0; } +]]) + +AT_CHECK([$LIBTOOL --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c a.cpp], + [], [ignore], [ignore]) + +AT_CLEANUP + +AT_SETUP([F77 inferred tag]) +LT_AT_TAG([F77]) +AT_KEYWORDS([libtool]) + +AT_DATA([a.f], +[[ program main + end +]]) + +AT_CHECK([$LIBTOOL --mode=compile $F77 $FFLAGS -c a.f], + [], [ignore], [ignore]) + +AT_CLEANUP + +AT_SETUP([FC inferred tag]) +LT_AT_TAG([FC]) +AT_KEYWORDS([libtool]) + +AT_DATA([a.f], +[[ program main + end +]]) + +AT_CHECK([$LIBTOOL --mode=compile $FC $FCFLAGS -c a.f], + [], [ignore], [ignore]) + +AT_CLEANUP + +AT_SETUP([GCJ inferred tag]) +LT_AT_TAG([GCJ]) +AT_KEYWORDS([libtool]) + +AT_DATA([A.java], +[[public class A { + private int a; + public A () { a = 0; } +}; +]]) + +AT_CHECK([$LIBTOOL --mode=compile $GCJ $GCJCFLAGS -c A.java], + [], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/inherited_flags.at b/BUILD/libtool-2.4.7/tests/inherited_flags.at new file mode 100644 index 0000000..8cc5a20 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/inherited_flags.at @@ -0,0 +1,114 @@ +# inherited_flags.at -- test inherited_linker_flags -*- Autotest -*- +# +# Copyright (C) 2005-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Peter O'Garman, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_SETUP([inherited_linker_flags]) +AT_KEYWORDS([libtool]) + +AT_DATA([foo.c], +[ +int foo() { return 1;} +]) + +AT_DATA([bar.c], +[ +int bar() { return 1;} +]) + +AT_DATA([baz.c], +[ +int baz() { return 1;} +]) + +AT_DATA([both.c], +[ +int both() { return 1;} +]) + +AT_DATA([main.c], +[ +int main() { return 0;} +]) + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o baz.lo baz.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o both.lo both.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.lo main.c +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo -rpath /nonexistent -no-undefined +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /nonexistent -no-undefined +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libboth.la both.lo -rpath /nonexistent -no-undefined + + +mv libfoo.la libfoo.la.bak +$SED -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_inlikely_existing_lib/g' < libfoo.la.bak > libfoo.la +rm libfoo.la.bak + +mv libbar.la libbar.la.bak +$SED -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_unlikely_existing_lib/g' < libbar.la.bak > libbar.la +rm libbar.la.bak + +mv libboth.la libboth.la.bak +$SED -e "s/^inherited_linker_flags.*/inherited_linker_flags='-llt_inlikely_existing_lib -llt_unlikely_existing_lib'/g" < libboth.la.bak > libboth.la +rm libboth.la.bak + +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la], + [ignore],[stdout],[ignore]) +# We used to grep for +# 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib' +# here. This fails on win32/MSVC because the generated command lines have a +# different syntax. So drop the first 'l'. +AT_CHECK([$LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77)], [1], [ignore]) +AT_CHECK([$GREP 'lt_[[ui]]nlikely_existing_lib.*lt_[[ui]]nlikely_existing_lib' stdout], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la], + [ignore],[stdout],[ignore]) +AT_CHECK([$GREP 'lt_[[ui]]nlikely_existing_lib.*lt_[[ui]]nlikely_existing_lib' stdout], + [0],[ignore],[ignore]) + +# now check for duplicates +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la], + [ignore],[stdout],[ignore]) +AT_CHECK([$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout], + [1],[ignore],[ignore]) +AT_CHECK([$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout], + [1],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la], + [ignore],[stdout],[ignore]) +AT_CHECK([$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout], + [1],[ignore],[ignore]) +AT_CHECK([$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout], + [1],[ignore],[ignore]) + +mv libboth.la libboth.la.bak +$SED "s/^inherited_linker_flags.*/inherited_linker_flags='-framework Cocoa -framework ApplicationServices'/" < libboth.la.bak > libboth.la +rm libboth.la.bak + +AT_CHECK([$LIBTOOL -n --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -framework Cocoa -framework ApplicationServices -o libbaz.la baz.lo libboth.la -no-undefined -rpath /nonexistent], + [], [stdout], [ignore]) +AT_CHECK([$GREP Cocoa.ltframework stdout], [1], [], []) +AT_CHECK([$GREP ' -framework Cocoa' stdout], [0], [ignore], []) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/install.at b/BUILD/libtool-2.4.7/tests/install.at new file mode 100644 index 0000000..9417b15 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/install.at @@ -0,0 +1,53 @@ +# install.at -- install mode tests -*- Autotest -*- +# +# Copyright (C) 2008-2009, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2008 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([Install tests]) +AT_KEYWORDS([libtool]) + +# Ensure that install_override_mode overrides the mode of the shared +# library (and only the shared library). + +AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], + [], [ignore]) +$SED 's|^\(install_override_mode\)=.*|\1=755|' < $LIBTOOL > ./libtool +LIBTOOL=./libtool +chmod a+rx $LIBTOOL + +inst=`pwd`/inst +mkdir inst + +echo 'int a () { return 0; }' > a.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl + [-rpath $inst -no-undefined], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL liba.la $inst], + [], [stdout], [ignore]) +AT_CHECK([$GREP ' -m 755' stdout], [], [ignore]) +AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL -m 644 liba.la $inst], + [], [stdout], [ignore]) +AT_CHECK([$GREP ' -m 755' stdout], [], [ignore]) +AT_CHECK([$GREP ' -m 644.*liba.la' stdout], [], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lalib-syntax.at b/BUILD/libtool-2.4.7/tests/lalib-syntax.at new file mode 100644 index 0000000..4922a86 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/lalib-syntax.at @@ -0,0 +1,137 @@ +# lalib-syntax.at -- parsing .la files robustly -*- Autotest -*- +# +# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([syntax of .la files]) +AT_KEYWORDS([libtool]) +AT_KEYWORDS([libltdl]) + +AT_XFAIL_IF([:]) dnl libltdl does not consistently return non-NULL lt_dlerror + +AT_DATA([main.c], +[[#include +#include +#include + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle plugin_handle; + + if (argc < 2) + { + fprintf (stderr, "usage: %s plugin\n", argv[0]); + return 1; + } + + lt_dlinit (); + plugin_handle = lt_dlopenext (argv[1]); + if (NULL != plugin_handle) + { + printf ("plugin opened successfully!\n"); + lt_dlclose (plugin_handle); + } + else + { + const char *error = lt_dlerror (); + assert (error != NULL); + printf ("plugin failed to open: %s\n", error); + err = 1; + } + lt_dlexit (); + return err; +} +]]) + +AT_DATA([module.c], +[[int foo (void) { return 0; } +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$CPPFLAGS $LTDLINCL" + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la module.lo ]dnl + [-module -avoid-version -rpath /somewhere], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.$OBJEXT $LIBLTDL], + [], [ignore], [ignore]) + + +# Several bogus test cases. + +AT_DATA([missing-closing-quote.la], +[[# missing-closing-quote.la - a libtool library file +# Generated by libtool +dlname='module.so +library_names='module.so module.so module.so' +old_library='module.a' +installed=no +shouldnotlink=yes +libdir='/somewhere' +]]) + +AT_DATA([wrong-quotes.la], +[[# wrong-quotes.la - a libtool library file +# Generated by libtool +dlname=module.so +library_names='module.so module.so module.so' +old_library='module.a' +installed=no +shouldnotlink=yes +libdir='/somewhere' +]]) + +AT_DATA([no-dlname.la], +[[# no-dlname.la - a libtool library file +# Generated by libtool +installed=no +shouldnotlink=yes +libdir='/somewhere' +]]) + +AT_DATA([nonexistent-dlname.la], +[[# nonexistent-dlname.la - a libtool library file +# Generated by libtool +dlname='does-not-exist.so' +installed=no +shouldnotlink=yes +libdir='/somewhere' +]]) + +for file in ./missing-closing-quote.la ./wrong-quotes.la \ + ./no-dlname.la ./nonexistent-dlname.la; do + LT_AT_EXEC_CHECK([./main], [1], [stdout], [ignore], [$file]) + AT_CHECK([$GREP 'plugin failed to open' stdout], [], [ignore]) +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/libtool.at b/BUILD/libtool-2.4.7/tests/libtool.at new file mode 100755 index 0000000..fd412ab --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/libtool.at @@ -0,0 +1,244 @@ +# libtool.at -- basic libtool operation tests -*- Autotest -*- +# +# Copyright (C) 2003-2005, 2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2003 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Basic libtool operation.]) + + +## ------------------ ## +## Check help output. ## +## ------------------ ## + +AT_SETUP([check help output]) + +AT_CHECK([$LIBTOOL --help], [0], [stdout], [stderr]) +AT_CHECK([$GREP '^Usage:' stdout stderr], [0], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link --help], [0], [stdout], [stderr]) +AT_CHECK([$GREP '^Usage:' stdout stderr], [0], [ignore]) + +AT_CLEANUP + + +## ------------------- ## +## No mode diagnostic. ## +## ------------------- ## + +AT_SETUP([diagnose no mode specified]) + +AT_CHECK([$LIBTOOL], [1], [ignore], [stderr]) +AT_CHECK([$GREP 'you must specify a MODE' stderr], [0], [ignore]) + +AT_CLEANUP + + +## ----------------------------------- ## +## Shell meta-characters in filenames. ## +## ----------------------------------- ## + +AT_SETUP([quote shell meta-characters in filenames]) + +eval `$LIBTOOL --config | $GREP '^wl='` + +# Do the torture test. +for mode in compile link install; do + + # Unfortunately, without an array data type, it is nearly impossible + # to protect libtool from metacharacters in filenames. So, we just + # try metacharacters in the options it needs to pass to other programs. + + # preargs and postargs need to go through libtool unmodified. + case $mode in + compile) + preargs="$CC -c" + preflag= + match_preflag= + flag=-DVAR= + postargs=foo.c + ;; + + link) + preargs="$CC -o hell -g -O" + preflag=-Wl, + match_preflag=$wl + flag=-someflag= + postargs=foo.o + ;; + + install) + preargs="install -c" + preflag= + match_preflag= + flag=--something= + postargs="hell /usr/local/bin/hell" + ;; + esac + + + # Trivial... + + AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag:test" $postargs], + [0], [stdout]) + # We must not attempt to match $preargs in the output, because libtool + # may modify them. For example, on Cygwin, 'libtool --mode=link gcc -o + # foo foo.o' becomes 'gcc -o foo.exe foo.o'. + AT_CHECK([$GREP "$mode:.*$match_preflag$flag:test " stdout], [0], [ignore]) + + + # Non-trivial... + + # Backslash needs to be double-escaped: one escape is stripped as the shell + # collects arguments for grep (\\\\\\\\ => \\\\), and then another escape + # is stripped by grep itself (\\\\ => \\) before the resulting expression is + # matched (grepping for \\ matches \): + AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag\\:test\\" $postargs], + [0], [stdout]) + # NOTE: we use "..."'"'"..." to insert a literal quote into the expression + # because "...\"..." is not expanded consistently by all shells. + AT_CHECK([$GREP "$mode:.*$match_preflag"'"\{0,1\}'"$flag\\\\\\\\:test\\\\\\\\"'"\{0,1\} ' stdout], + [0], [ignore]) + + # Shell metacharacters that should be backslashified by libtool. + for mchar in \" \` \$; do + AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs], + [0], [stdout]) + AT_CHECK([$GREP "$mode:.*$match_preflag"'"'"\{0,1\}$flag\\\\$mchar:test\\\\$mchar"'"'"\{0,1\} " stdout], [0], [ignore]) + done + + # Shell metacharacters that should be double quoted by libtool, and need + # backslash escaping for input to grep. + for mchar in "@<:@" "@:>@" "^" "*"; do + + AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs], + [0], [stdout]) + AT_CHECK([$GREP "$mode:.*$match_preflag\"$flag\\$mchar:test\\$mchar\" " stdout], [0], [ignore]) + done + + # Metacharacters that should be double quoted by libtool, but which are + # not special to grep (NOTE: Some of these ARE special to $EGREP!!). + for mchar in "~" "#" "&" "(" ")" "{" "}" "|" ";" "<" ">" "?" "'" " " " "; do + + AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs], + [0], [stdout]) + AT_CHECK([$GREP "$mode:.*$match_preflag\"$flag$mchar:test$mchar\" " stdout], [0], [ignore]) + done +done + +AT_CLEANUP + + +## -------------------------- ## +## Transform source suffices. ## +## -------------------------- ## + +AT_SETUP([transform source suffices]) + +# Extensions taken from the ones that Automake recognizes, plus Objective C, +# and GNU Ada. Also test that multiple dots are handled correctly. +extensions="C F S ada adb ads asm c c++ cc cpp cxx f f90 F90 f95 F95 f03 F03 for go m s sx ada.ada" +bad_names=foo. + +for ext in $extensions; do + # Try a sample compile command. + AT_CHECK([$LIBTOOL -n --mode=compile compiler -c foo.$ext], + [1], [ignore], [stderr]) + AT_CHECK([$GREP 'cannot' stderr], [1], [ignore]) +done + +# Make sure that invalid suffixes are not recognized. +for name in $bad_names; do + AT_CHECK([$LIBTOOL -n --mode=compile compiler -c $name], + [1], [ignore], [stderr]) + AT_CHECK([$GREP 'cannot' stderr], [0], [ignore]) +done + +AT_CLEANUP + + +## --------------------- ## +## Check link operation. ## +## --------------------- ## + +AT_SETUP([check link mode operation]) + +AT_CHECK([$LIBTOOL -n --mode=link $CC -o gettext ../lib/libnlsut.a], [0], [stdout]) +AT_CHECK([$EGREP '../lib/libnlsut.a' stdout], [0], [ignore]) + + +AT_DATA([hell.lo], +[[# Generated by libtool +pic_object=none +non_pic_object=hell.o +]]) + +AT_CHECK([$LIBTOOL -n --mode=link $CC -o something foo.o hell.lo], [0], [stdout], [ignore]) +AT_CHECK([$FGREP '.lo ' stdout], [1], [ignore]) + +AT_CLEANUP + + +## -------------------------------- ## +## Check objectlist file operation. ## +## -------------------------------- ## + +AT_SETUP([check objectlist file operation]) + +AT_CHECK([$LIBTOOL -n --mode=link $CC -objectlist nonexistent], [1], [ignore], [stderr]) +AT_CHECK([$GREP 'nonexistent' stderr], [0], [ignore]) + +AT_CLEANUP + + +## --------------------------------- ## +## Check LT_SUPPORTED_TAG interface. ## +## --------------------------------- ## + +AT_SETUP([test LT_SUPPORTED_TAG interface]) + +AT_CHECK([test no != "$AUTOCONF" || exit 77]) + +cp $abs_top_srcdir/aclocal.m4 ./aclocal.m4 +cp $abs_top_srcdir/configure.ac ./configure.ac +cp -r $abs_top_srcdir/build-aux ./build-aux +cp -r $abs_top_srcdir/m4 ./m4 + +# Retrieve the list of tags supported by our main libtool script. +traced_tags=`$AUTOCONF --trace 'LT_SUPPORTED_TAG:$1'` +AT_CHECK([test -n "$traced_tags"]) + +# Ensure each of them is accepted by --tag. +# (We do some useless operation like erasing an empty file, because +# we are just interested in whether --tag accepts the tag or not.) +for tag in $traced_tags; do + AT_CHECK([$LIBTOOL -n --mode=link --tag=$tag compiler -o liba.la foo.lo], + [], [ignore], [stderr]) + AT_CHECK([$GREP 'ignoring unknown tag' stderr], [1], [ignore]) +done + +# Ensure the above command would have failed for unknown tags +AT_CHECK([$LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo], + [], [ignore], [stderr]) +AT_CHECK([$GREP 'ignoring unknown tag' stderr], [0], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/libtoolize.at b/BUILD/libtool-2.4.7/tests/libtoolize.at new file mode 100644 index 0000000..44ca2eb --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/libtoolize.at @@ -0,0 +1,1166 @@ +# libtoolize.at -- test libtoolize operation -*- Autotest -*- +# +# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Libtoolize operation.]) + +# _LT_CONFIGURE_AC +# ---------------- +m4_define([_LT_CONFIGURE_AC], +[AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +]]) +])# _LT_CONFIGURE_AC + +# _LT_LIBTOOLIZE_SETUP +# -------------------- +m4_define([_LT_LIBTOOLIZE_SETUP], +[_LT_CONFIGURE_AC + +test -d m4 || { rm -f m4 && mkdir m4; } + +rm -f m4/libtool.m4 m4/ltoptions.m4 build-aux/ltmain.sh + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I m4 +]]) + +# This file should be upgraded. +AT_DATA([m4/libtool.m4], [[ +# serial 25 LT_INIT +]]) + +# This file has a very high serial number, and should be left unchanged +# until --force is passed. +AT_DATA([m4/ltoptions.m4], [[ +# serial 99999 ltoptions.m4 +]]) + +test -d build-aux || { rm -f build-aux && mkdir build-aux; } + +# This file has a very high serial number, and needs --force to be updated. +AT_DATA([build-aux/ltmain.sh], [[ +package_revision=9999.9999 +]]) + +# This file has a very old serial number, but should be left unchanged +# unless the --install flag is invoked. +AT_DATA([build-aux/config.guess], [[ +timestamp='1970-01-01' +]]) +])# LT_LIBTOOLIZE_SETUP + + +## ------------------- ## +## Macro installation. ## +## ------------------- ## + +AT_SETUP([libtoolize macro installation]) + +_LT_CONFIGURE_AC + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + +AT_CLEANUP + + +## ------------------------- ## +## ACLOCAL_AMFLAGS mismatch. ## +## ------------------------- ## + +AT_SETUP([libtoolize macro directory mismatch error]) + +_LT_CONFIGURE_AC + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I me2 +]]) + +AT_DATA(experr, +[[libtoolize: error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with ACLOCAL_AMFLAGS=-I me2. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 1, [ignore], experr) + +AT_CLEANUP + + +## ----------------------------------------- ## +## AC_CONFIG_MACRO_DIRS macrodir extraction. ## +## ----------------------------------------- ## + +AT_SETUP([multiple AC_CONFIG_MACRO_DIRS invocation]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([first]) +AC_CONFIG_MACRO_DIRS([second]) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'first'. +libtoolize: copying file 'first/libtool.m4' +libtoolize: copying file 'first/ltoptions.m4' +libtoolize: copying file 'first/ltsugar.m4' +libtoolize: copying file 'first/ltversion.m4' +libtoolize: copying file 'first/lt~obsolete.m4' +libtoolize: Consider adding '-I first' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + +AT_CLEANUP + + +AT_SETUP([multiple AC_CONFIG_MACRO_DIRS directories]) + +AT_DATA([configure.ac], +[[AC_INIT([libtooize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([first second third]) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'first'. +libtoolize: copying file 'first/libtool.m4' +libtoolize: copying file 'first/ltoptions.m4' +libtoolize: copying file 'first/ltsugar.m4' +libtoolize: copying file 'first/ltversion.m4' +libtoolize: copying file 'first/lt~obsolete.m4' +libtoolize: Consider adding '-I first' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + +AT_CLEANUP + + + +## ------------------------------------ ## +## ACLOCAL_AMFLAGS macrodir extraction. ## +## ------------------------------------ ## + +AT_SETUP([libtoolize ACLOCAL_AMFLAGS extraction]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I first -I second +]]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in 'first'. +libtoolize: copying file 'first/libtool.m4' +libtoolize: copying file 'first/ltoptions.m4' +libtoolize: copying file 'first/ltsugar.m4' +libtoolize: copying file 'first/ltversion.m4' +libtoolize: copying file 'first/lt~obsolete.m4' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([first])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + +AT_CLEANUP + + +## -------------- ## +## Serial update. ## +## -------------- ## + +AT_SETUP([libtoolize macro serial update]) + +_LT_LIBTOOLIZE_SETUP + + + +## -------------------------------------------------------------------- ## +## First we try to update with some newer files in the destination dir. ## +## -------------------------------------------------------------------- ## + +AT_DATA(expout, +[[libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +]]) + +AT_DATA(experr, +[[libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr) + + +## ---------------------------------------------------------- ## +## Next, a second update attempt with everything now updated. ## +## ---------------------------------------------------------- ## + +: >expout + +AT_DATA(experr, +[[libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr) + + +## ----------------------------------------------------------- ## +## Now, a forced update to downgrade files with newer serials. ## +## ----------------------------------------------------------- ## + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout) + + +## ---------------------------------------------------------------- ## +## A final update attempt with everything previously force updated. ## +## ---------------------------------------------------------------- ## + +: >expout + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + +AT_CLEANUP + + +## --------------- ## +## --install flag. ## +## --------------- ## + +AT_SETUP([libtoolize config files serial update]) + +_LT_LIBTOOLIZE_SETUP + + + +## -------------------------------------------------------------------- ## +## First we try to update with some newer files in the destination dir. ## +## -------------------------------------------------------------------- ## + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +]]) + +AT_DATA(experr, +[[libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout, experr) + + +## ---------------------------------------------------------- ## +## Next, a second update attempt with everything now updated. ## +## ---------------------------------------------------------- ## + +: >expout + +AT_DATA(experr, +[[libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout, experr) + + +## ----------------------------------------------------------- ## +## Now, a forced update to downgrade files with newer serials. ## +## ----------------------------------------------------------- ## + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --force --install], 0, expout) + + +## ---------------------------------------------------------------- ## +## A final update attempt with everything previously force updated. ## +## ---------------------------------------------------------------- ## + +: >expout + +LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout) + +AT_CLEANUP + + +## ----------------------------------------------------------------- ## +## Ensure libtoolize works when LT_CONFIG_LTDL_DIR is not specified. ## +## ----------------------------------------------------------------- ## + +AT_SETUP([diagnose missing LT_CONFIG_LTDL_DIR]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltargz.m4' +libtoolize: copying file 'm4/ltdl.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in 'ltdl'. +libtoolize: copying file 'ltdl/COPYING.LIB' +libtoolize: copying file 'ltdl/README' +libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' +libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' +libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' +libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' +libtoolize: copying file 'ltdl/libltdl/lt__private.h' +libtoolize: copying file 'ltdl/libltdl/lt__strl.h' +libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: copying file 'ltdl/libltdl/lt_error.h' +libtoolize: copying file 'ltdl/libltdl/lt_system.h' +libtoolize: copying file 'ltdl/libltdl/slist.h' +libtoolize: copying file 'ltdl/loaders/dld_link.c' +libtoolize: copying file 'ltdl/loaders/dlopen.c' +libtoolize: copying file 'ltdl/loaders/dyld.c' +libtoolize: copying file 'ltdl/loaders/load_add_on.c' +libtoolize: copying file 'ltdl/loaders/loadlibrary.c' +libtoolize: copying file 'ltdl/loaders/preopen.c' +libtoolize: copying file 'ltdl/loaders/shl_load.c' +libtoolize: copying file 'ltdl/lt__alloc.c' +libtoolize: copying file 'ltdl/lt__argz.c' +libtoolize: copying file 'ltdl/lt__dirent.c' +libtoolize: copying file 'ltdl/lt__strl.c' +libtoolize: copying file 'ltdl/lt_dlloader.c' +libtoolize: copying file 'ltdl/lt_error.c' +libtoolize: copying file 'ltdl/ltdl.c' +libtoolize: copying file 'ltdl/ltdl.h' +libtoolize: creating file 'ltdl/ltdl.mk' +libtoolize: copying file 'ltdl/slist.c' +libtoolize: Remember to add 'LT_CONFIG_LTDL_DIR([ltdl])' to 'configure.ac'. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LTDL_INIT([nonrecursive]) +AC_OUTPUT +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --install --ltdl=ltdl], 0, expout) + +AT_CLEANUP + + +## ---------------------------- ## +## Make sure ltdl.m4 is copied. ## +## ---------------------------- ## + +# _LT_AT_LTDL_SETUP +# ----------------- +# Macro to generate data files common to several tests. +m4_pushdef([_LT_AT_LTDL_SETUP], +[AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: linking file 'build-aux/compile' +libtoolize: linking file 'build-aux/config.guess' +libtoolize: linking file 'build-aux/config.sub' +libtoolize: linking file 'build-aux/depcomp' +libtoolize: linking file 'build-aux/install-sh' +libtoolize: linking file 'build-aux/missing' +libtoolize: linking file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: linking file 'm4/libtool.m4' +libtoolize: linking file 'm4/ltargz.m4' +libtoolize: linking file 'm4/ltdl.m4' +libtoolize: linking file 'm4/ltoptions.m4' +libtoolize: linking file 'm4/ltsugar.m4' +libtoolize: linking file 'm4/ltversion.m4' +libtoolize: linking file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: linking file 'ltdl/COPYING.LIB' +libtoolize: linking file 'ltdl/Makefile.am' +libtoolize: linking file 'ltdl/README' +libtoolize: linking file 'ltdl/configure.ac' +libtoolize: copying file 'ltdl/aclocal.m4' +libtoolize: linking file 'ltdl/Makefile.in' +libtoolize: linking file 'ltdl/config-h.in' +libtoolize: copying file 'ltdl/configure' +libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' +libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' +libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' +libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' +libtoolize: linking file 'ltdl/libltdl/lt__private.h' +libtoolize: linking file 'ltdl/libltdl/lt__strl.h' +libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: linking file 'ltdl/libltdl/lt_error.h' +libtoolize: linking file 'ltdl/libltdl/lt_system.h' +libtoolize: linking file 'ltdl/libltdl/slist.h' +libtoolize: linking file 'ltdl/loaders/dld_link.c' +libtoolize: linking file 'ltdl/loaders/dlopen.c' +libtoolize: linking file 'ltdl/loaders/dyld.c' +libtoolize: linking file 'ltdl/loaders/load_add_on.c' +libtoolize: linking file 'ltdl/loaders/loadlibrary.c' +libtoolize: linking file 'ltdl/loaders/preopen.c' +libtoolize: linking file 'ltdl/loaders/shl_load.c' +libtoolize: linking file 'ltdl/lt__alloc.c' +libtoolize: linking file 'ltdl/lt__argz.c' +libtoolize: linking file 'ltdl/lt__dirent.c' +libtoolize: linking file 'ltdl/lt__strl.c' +libtoolize: linking file 'ltdl/lt_dlloader.c' +libtoolize: linking file 'ltdl/lt_error.c' +libtoolize: linking file 'ltdl/ltdl.c' +libtoolize: linking file 'ltdl/ltdl.h' +libtoolize: linking file 'ltdl/slist.c' +]]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LTDL_INIT +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I m4 +]]) +])# _LT_AT_LTDL_SETUP + +## ------------------------------------------------ ## +## First we make sure libtoolize --ltdl is working. ## +## ------------------------------------------------ ## + +AT_SETUP([copy ltdl.m4 with shared macro directory]) + +_LT_AT_LTDL_SETUP + +LT_AT_CHECK_LIBTOOLIZE([--ltdl], 0, expout) + +AT_CLEANUP + +## ----------------------------------------------------- ## +## And also that libtoolize is taking note of LTDL_INIT. ## +## ----------------------------------------------------- ## + +AT_SETUP([correctly parse LTDL_INIT from configure.ac]) + +_LT_AT_LTDL_SETUP + +LT_AT_CHECK_LIBTOOLIZE([], 0, expout) + +AT_CLEANUP + +## ----------------------------------------------------------- ## +## And finally, that libtoolize diagnoses a missing LTDL_INIT. ## +## ----------------------------------------------------------- ## + +AT_SETUP([diagnose missing LTDL_INIT invocation]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/compile' +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/depcomp' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: copying file 'build-aux/missing' +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltargz.m4' +libtoolize: copying file 'm4/ltdl.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: copying file 'ltdl/COPYING.LIB' +libtoolize: copying file 'ltdl/Makefile.am' +libtoolize: copying file 'ltdl/README' +libtoolize: copying file 'ltdl/configure.ac' +libtoolize: copying file 'ltdl/aclocal.m4' +libtoolize: copying file 'ltdl/Makefile.in' +libtoolize: copying file 'ltdl/config-h.in' +libtoolize: copying file 'ltdl/configure' +libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' +libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' +libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' +libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' +libtoolize: copying file 'ltdl/libltdl/lt__private.h' +libtoolize: copying file 'ltdl/libltdl/lt__strl.h' +libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: copying file 'ltdl/libltdl/lt_error.h' +libtoolize: copying file 'ltdl/libltdl/lt_system.h' +libtoolize: copying file 'ltdl/libltdl/slist.h' +libtoolize: copying file 'ltdl/loaders/dld_link.c' +libtoolize: copying file 'ltdl/loaders/dlopen.c' +libtoolize: copying file 'ltdl/loaders/dyld.c' +libtoolize: copying file 'ltdl/loaders/load_add_on.c' +libtoolize: copying file 'ltdl/loaders/loadlibrary.c' +libtoolize: copying file 'ltdl/loaders/preopen.c' +libtoolize: copying file 'ltdl/loaders/shl_load.c' +libtoolize: copying file 'ltdl/lt__alloc.c' +libtoolize: copying file 'ltdl/lt__argz.c' +libtoolize: copying file 'ltdl/lt__dirent.c' +libtoolize: copying file 'ltdl/lt__strl.c' +libtoolize: copying file 'ltdl/lt_dlloader.c' +libtoolize: copying file 'ltdl/lt_error.c' +libtoolize: copying file 'ltdl/ltdl.c' +libtoolize: copying file 'ltdl/ltdl.h' +libtoolize: copying file 'ltdl/slist.c' +libtoolize: Remember to add 'LTDL_INIT' to configure.ac. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +]]) + +LT_AT_CHECK_LIBTOOLIZE([--ltdl --copy], 0, expout) + +AT_CLEANUP + +m4_popdef([_LT_AT_LTDL_SETUP]) + +## ------------------------------------------------------ ## +## Creating an aclocal.m4 without in-tree libtool macros. ## +## ------------------------------------------------------ ## + +AT_SETUP([upgrading verbatim style aclocal.m4]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA([expout], +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: You should add the contents of the following files to 'aclocal.m4': +libtoolize: '/usr/local/share/aclocal/libtool.m4' +libtoolize: '/usr/local/share/aclocal/ltoptions.m4' +libtoolize: '/usr/local/share/aclocal/ltsugar.m4' +libtoolize: '/usr/local/share/aclocal/ltversion.m4' +libtoolize: '/usr/local/share/aclocal/lt~obsolete.m4' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + + +## --------------------------------------- ## +## Upgrading a hand maintained aclocal.m4. ## +## --------------------------------------- ## + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I m4 +]]) + +AT_DATA([aclocal.m4], +[[# This should need upgrading: +# serial 25 LT_INIT +AC_DEFUN([LT_INIT], +[blah]) + +# This is newer than the upgrade version: +# serial 99999 ltoptions.m4 + +# This is older than the upgrade version: +# serial 1 ltversion.m4 +]]) + +AT_DATA([expout], +[[libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: You should add the contents of 'm4/ltsugar.m4' to 'aclocal.m4'. +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: You should add the contents of 'm4/ltversion.m4' to 'aclocal.m4'. +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: You should add the contents of 'm4/lt~obsolete.m4' to 'aclocal.m4'. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + + +## ------------------------------------------- ## +## Upgrading an aclocal maintained aclocal.m4. ## +## ------------------------------------------- ## + +LT_AT_ACLOCAL([-I m4]) + +rm -f m4/libtool.m4 m4/ltoptions.m4 + +# This file should be upgraded. +AT_DATA([m4/libtool.m4], [[ +# serial 25 LT_INIT +AC_DEFUN([LT_INIT]) +]]) + +# This file has a very high serial number, and should be left unchanged. +AT_DATA([m4/ltoptions.m4], [[ +# serial 99999 ltoptions.m4 +]]) + +AT_DATA([expout], +[[libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +]]) + +AT_DATA([experr], +[[libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr) + +## ----------------------------------------------------------- ## +## Now, a forced update to downgrade files with newer serials. ## +## ----------------------------------------------------------- ## + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout) + +AT_CLEANUP + + +## ------------------------------------------------------------------- ## +## Ensure libtoolize works when AC_CONFIG_MACRO_DIRS is not specified. ## +## ------------------------------------------------------------------- ## + +AT_SETUP([verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA([aclocal.m4], +[[# This should need upgrading: +# serial 25 LT_INIT +AC_DEFUN([LT_INIT], +[blah]) + +# This is newer than the upgrade version: +# serial 99999 ltoptions.m4 + +# This is older than the upgrade version: +# serial 1 ltversion.m4 +]]) + +AT_DATA([expout], +[[libtoolize: putting auxiliary files in '.'. +libtoolize: copying file './ltmain.sh' +libtoolize: You should add the contents of the following files to 'aclocal.m4': +libtoolize: '/usr/local/share/aclocal/libtool.m4' +libtoolize: '/usr/local/share/aclocal/ltsugar.m4' +libtoolize: '/usr/local/share/aclocal/ltversion.m4' +libtoolize: '/usr/local/share/aclocal/lt~obsolete.m4' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + + +## ------------------------------------------------------------------------ ## +## Upgrading an aclocal maintained aclocal.m4 without AC_CONFIG_MACRO_DIRS. ## +## ------------------------------------------------------------------------ ## + +LT_AT_ACLOCAL([-I $abs_top_srcdir/m4]) + +## The following code is adapted (and simplified) from libtoolize.in +#### +basename='s|^.*/||' + +# func_grep expression filename +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $GREP "$1" "$2" >/dev/null 2>&1 +} + +# func_serial filename [macro_regex] +# Output the value of the serial number comment in FILENAME, where the +# comment line must also match MACRO_REGEX, if given. +func_serial () +{ + my_filename=$1 + my_macro_regex=$2 + my_sed_serial=' + /^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ { + s|^# serial \([1-9][0-9.]*\).*$|\1| + q + } + d' + + # Search FILENAME and all the files it m4_includes for a serial number + # in the file that AC_DEFUNs MACRO_REGEX. + my_serial= + if test -z "$my_macro_regex" || + test aclocal.m4 = "$my_filename" || + test "$my_macro_regex" = `echo "$my_filename" | $SED "$basename"` || + func_grep '^AC_DEFUN(\@<:@'"$my_macro_regex" "$my_filename" + then + my_serial=`$SED -e "$my_sed_serial" "$my_filename"` + fi + + # If the file has no serial number, something is badly wrong! + test -n "$my_serial" || exit 1 + + echo $my_serial +} + +# Make the serial number in aclocal.m4 higher than installed ltoptions.m4, +# and the others match the macro files that libtoolize will compare against. +libtool_serial=`func_serial "$tst_aclocaldir/libtool.m4" LT_INIT` +ltversion_serial=`func_serial "$tst_aclocaldir/ltversion.m4" ltversion.m4` +ltsugar_serial=`func_serial "$tst_aclocaldir/ltsugar.m4" ltsugar.m4` +lt_obsolete_serial=`func_serial "$tst_aclocaldir/lt~obsolete.m4" lt~obsolete.m4` +$SED -e 's|^#.*serial.*ltoptions.m4$|# serial 99999 ltoptions.m4|' \ + -e "s|^#.*serial.*libtool.m4\$|# serial $libtool_serial libtool.m4|" \ + -e "s|^#.*serial.*ltversion.m4\$|# serial $ltversion_serial ltversion.m4|" \ + -e "s|^#.*serial.*ltsugar.m4\$|# serial $ltsugar_serial ltsugar.m4|" \ + -e "s|^#.*serial.*lt~obsolete.m4\$|# serial $lt_obsolete_serial lt~obsolete.m4|" \ + < aclocal.m4 > aclocal.m4t +mv -f aclocal.m4t aclocal.m4 + +AT_DATA([expout], +[[libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + + +## --------------------- ## +## Now, a forced update. ## +## --------------------- ## + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in '.'. +libtoolize: copying file './ltmain.sh' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout) + +AT_CLEANUP + + +## -------------------------------------------------------------- ## +## Check nonrecursive ltdl puts m4 files in AC_CONFIG_MACRO_DIRS. ## +## -------------------------------------------------------------- ## + +AT_SETUP([nonrecursive ltdl with AC_CONFIG_MACRO_DIRS]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltargz.m4' +libtoolize: copying file 'm4/ltdl.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: copying file 'ltdl/COPYING.LIB' +libtoolize: copying file 'ltdl/README' +libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' +libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' +libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' +libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' +libtoolize: copying file 'ltdl/libltdl/lt__private.h' +libtoolize: copying file 'ltdl/libltdl/lt__strl.h' +libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: copying file 'ltdl/libltdl/lt_error.h' +libtoolize: copying file 'ltdl/libltdl/lt_system.h' +libtoolize: copying file 'ltdl/libltdl/slist.h' +libtoolize: copying file 'ltdl/loaders/dld_link.c' +libtoolize: copying file 'ltdl/loaders/dlopen.c' +libtoolize: copying file 'ltdl/loaders/dyld.c' +libtoolize: copying file 'ltdl/loaders/load_add_on.c' +libtoolize: copying file 'ltdl/loaders/loadlibrary.c' +libtoolize: copying file 'ltdl/loaders/preopen.c' +libtoolize: copying file 'ltdl/loaders/shl_load.c' +libtoolize: copying file 'ltdl/lt__alloc.c' +libtoolize: copying file 'ltdl/lt__argz.c' +libtoolize: copying file 'ltdl/lt__dirent.c' +libtoolize: copying file 'ltdl/lt__strl.c' +libtoolize: copying file 'ltdl/lt_dlloader.c' +libtoolize: copying file 'ltdl/lt_error.c' +libtoolize: copying file 'ltdl/ltdl.c' +libtoolize: copying file 'ltdl/ltdl.h' +libtoolize: creating file 'ltdl/ltdl.mk' +libtoolize: copying file 'ltdl/slist.c' +]]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LTDL_INIT([nonrecursive]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I m4 +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --install --ltdl=ltdl], 0, expout) + +AT_CLEANUP + + +## ------------------------------------------------- ## +## Check subproject ltdl with unconventional layout. ## +## ------------------------------------------------- ## + +AT_SETUP([subproject ltdl with unconventional layout]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'acaux'. +libtoolize: copying file 'acaux/compile' +libtoolize: copying file 'acaux/config.guess' +libtoolize: copying file 'acaux/config.sub' +libtoolize: copying file 'acaux/depcomp' +libtoolize: copying file 'acaux/install-sh' +libtoolize: copying file 'acaux/missing' +libtoolize: copying file 'acaux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'acm4'. +libtoolize: copying file 'acm4/libtool.m4' +libtoolize: copying file 'acm4/ltargz.m4' +libtoolize: copying file 'acm4/ltdl.m4' +libtoolize: copying file 'acm4/ltoptions.m4' +libtoolize: copying file 'acm4/ltsugar.m4' +libtoolize: copying file 'acm4/ltversion.m4' +libtoolize: copying file 'acm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: copying file 'ltdl/COPYING.LIB' +libtoolize: creating file 'ltdl/Makefile.am' +libtoolize: copying file 'ltdl/README' +libtoolize: creating file 'ltdl/configure.ac' +libtoolize: creating file 'ltdl/aclocal.m4' +libtoolize: creating file 'ltdl/Makefile.in' +libtoolize: copying file 'ltdl/config-h.in' +libtoolize: creating file 'ltdl/configure' +libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' +libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' +libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' +libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' +libtoolize: copying file 'ltdl/libltdl/lt__private.h' +libtoolize: copying file 'ltdl/libltdl/lt__strl.h' +libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: copying file 'ltdl/libltdl/lt_error.h' +libtoolize: copying file 'ltdl/libltdl/lt_system.h' +libtoolize: copying file 'ltdl/libltdl/slist.h' +libtoolize: copying file 'ltdl/loaders/dld_link.c' +libtoolize: copying file 'ltdl/loaders/dlopen.c' +libtoolize: copying file 'ltdl/loaders/dyld.c' +libtoolize: copying file 'ltdl/loaders/load_add_on.c' +libtoolize: copying file 'ltdl/loaders/loadlibrary.c' +libtoolize: copying file 'ltdl/loaders/preopen.c' +libtoolize: copying file 'ltdl/loaders/shl_load.c' +libtoolize: copying file 'ltdl/lt__alloc.c' +libtoolize: copying file 'ltdl/lt__argz.c' +libtoolize: copying file 'ltdl/lt__dirent.c' +libtoolize: copying file 'ltdl/lt__strl.c' +libtoolize: copying file 'ltdl/lt_dlloader.c' +libtoolize: copying file 'ltdl/lt_error.c' +libtoolize: copying file 'ltdl/ltdl.c' +libtoolize: copying file 'ltdl/ltdl.h' +libtoolize: copying file 'ltdl/slist.c' +libtoolize: Consider adding '-I acm4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([acaux]) +AC_CONFIG_MACRO_DIRS([acm4]) +LT_INIT +LTDL_INIT([subproject]) +AC_OUTPUT +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout) + +AT_CLEANUP + + +## ------------------------------------------- ## +## Create a working subproject without GNU M4. ## +## ------------------------------------------- ## + +AT_SETUP([Subproject ltdl without GNU M4]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in 'ltdl'. +libtoolize: linking file 'ltdl/compile' +libtoolize: linking file 'ltdl/config.guess' +libtoolize: linking file 'ltdl/config.sub' +libtoolize: linking file 'ltdl/depcomp' +libtoolize: linking file 'ltdl/install-sh' +libtoolize: linking file 'ltdl/missing' +libtoolize: linking file 'ltdl/ltmain.sh' +libtoolize: putting macros in 'ltdl/m4'. +libtoolize: linking file 'ltdl/m4/libtool.m4' +libtoolize: linking file 'ltdl/m4/ltargz.m4' +libtoolize: linking file 'ltdl/m4/ltdl.m4' +libtoolize: linking file 'ltdl/m4/ltoptions.m4' +libtoolize: linking file 'ltdl/m4/ltsugar.m4' +libtoolize: linking file 'ltdl/m4/ltversion.m4' +libtoolize: linking file 'ltdl/m4/lt~obsolete.m4' +libtoolize: putting libltdl files in 'ltdl'. +libtoolize: linking file 'ltdl/COPYING.LIB' +libtoolize: creating file 'ltdl/Makefile.am' +libtoolize: linking file 'ltdl/README' +libtoolize: creating file 'ltdl/configure.ac' +libtoolize: creating file 'ltdl/aclocal.m4' +libtoolize: creating file 'ltdl/Makefile.in' +libtoolize: linking file 'ltdl/config-h.in' +libtoolize: creating file 'ltdl/configure' +libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' +libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' +libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' +libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' +libtoolize: linking file 'ltdl/libltdl/lt__private.h' +libtoolize: linking file 'ltdl/libltdl/lt__strl.h' +libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: linking file 'ltdl/libltdl/lt_error.h' +libtoolize: linking file 'ltdl/libltdl/lt_system.h' +libtoolize: linking file 'ltdl/libltdl/slist.h' +libtoolize: linking file 'ltdl/loaders/dld_link.c' +libtoolize: linking file 'ltdl/loaders/dlopen.c' +libtoolize: linking file 'ltdl/loaders/dyld.c' +libtoolize: linking file 'ltdl/loaders/load_add_on.c' +libtoolize: linking file 'ltdl/loaders/loadlibrary.c' +libtoolize: linking file 'ltdl/loaders/preopen.c' +libtoolize: linking file 'ltdl/loaders/shl_load.c' +libtoolize: linking file 'ltdl/lt__alloc.c' +libtoolize: linking file 'ltdl/lt__argz.c' +libtoolize: linking file 'ltdl/lt__dirent.c' +libtoolize: linking file 'ltdl/lt__strl.c' +libtoolize: linking file 'ltdl/lt_dlloader.c' +libtoolize: linking file 'ltdl/lt_error.c' +libtoolize: linking file 'ltdl/ltdl.c' +libtoolize: linking file 'ltdl/ltdl.h' +libtoolize: linking file 'ltdl/slist.c' +]]) + +AT_DATA([no-m4], +[[#! /bin/sh +echo 'error: do not call m4' >&2 +exit 1 +]]) +chmod a+x ./no-m4 + +AT_CHECK([PATH=`pwd`:$PATH M4=`pwd`/no-m4 $LIBTOOLIZE --ltdl=ltdl], 0, expout) + +AT_CLEANUP + + +## --------------------------- ## +## Garbled LIBTOOLIZE_OPTIONS. ## +## --------------------------- ## + +AT_SETUP([LIBTOOLIZE_OPTIONS]) + +_LT_CONFIGURE_AC + +LIBTOOLIZE_OPTIONS=narf +export LIBTOOLIZE_OPTIONS + +AT_DATA(experr, +[[libtoolize: error: garbled LIBTOOLIZE_OPTIONS near 'narf' +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 1, [ignore], experr) + + +## --------------------------- ## +## Unknown LIBTOOLIZE_OPTIONS. ## +## --------------------------- ## + +LIBTOOLIZE_OPTIONS=--no-such-option +export LIBTOOLIZE_OPTIONS + +AT_DATA(experr, +[[libtoolize: warning: unrecognized environment option '--no-such-option' +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, [ignore], experr) + + +## ----------------------------- ## +## --no-warn environment option. ## +## ----------------------------- ## + +LIBTOOLIZE_OPTIONS=--no-warn,--no-such-option +export LIBTOOLIZE_OPTIONS + +: >experr + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, [ignore], experr) + +AT_CLEANUP + + +## ------------------------------------------------------ ## +## Remove file droppings from old libtoolize invocations. ## +## ------------------------------------------------------ ## + +AT_SETUP([cleanup old installation]) + +_LT_CONFIGURE_AC + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I m4 +]]) + +AT_DATA([acinclude.m4], +[[AC_DEFUN([LT_INIT], +[: keep me, I might be hand maintained!]) # LT_INIT +]]) + +AT_DATA([libltdl/acinclude.m4], +[[AC_DEFUN([LT_INIT], +[: delete me, I was left here by on old libltdl build]) # LT_INIT +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --force --ltdl], 0, [ignore]) + +# check files are left as expected +AT_CHECK([$GREP 'keep me' acinclude.m4], 0, [ignore]) +AT_CHECK([test -f libltdl/acinclude.m4], 1, [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/link-order.at b/BUILD/libtool-2.4.7/tests/link-order.at new file mode 100644 index 0000000..3f01a00 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/link-order.at @@ -0,0 +1,127 @@ +# link-order.at -- ensure that library linking order matches -*- Autotest -*- +# +# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Alexandre Oliva & Ralf Wildenhues, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_SETUP([Link order test]) +AT_KEYWORDS([libtool]) +eval `$LIBTOOL --config | $EGREP '^(hardcode_direct|hardcode_direct_absolute|shrext_cmds)='` +LDFLAGS="$LDFLAGS -no-undefined" + +module=no +eval shared_ext=\"$shrext_cmds\" + +prefix_old=`pwd`/old +prefix_new=`pwd`/new +mkdir src $prefix_old $prefix_new $prefix_old/lib $prefix_new/lib + +AT_DATA(src/c.c, +[[int c = 1; +]]) + +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/c.c -o src/c.lo +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/libcee.la src/c.lo -rpath $prefix_old/lib +$LIBTOOL --mode=install cp src/libcee.la $prefix_old/lib/libcee.la + +for i in old new; do + rm -rf src + mkdir src + + cat >src/a_$i.c <src/b_$i.c <src/main_$i.c <name); + } + + module = lt_dlopen (argv[1]); + error = lt_dlerror (); + + if (module) + { + printf ("lt_dlopen: success!\n"); + + if (argc == 2) + { + /* But failure was the desired result... */ + printf ("expected failure\n"); + err = 2; + goto cleanup; + } + } + else if (argc > 2) + { + /* Didn't expect failure... */ + printf ("lt_dlopen: failure: %s\n", error); + err = 2; + goto cleanup; + } + else if (standard_error_message (error)) + { + /* Expected custom error message... */ + printf ("lt_dlopen: standard error (bad): %s\n", error); + err = 1; + goto cleanup; + } + else + { + printf ("lt_dlopen: custom error (good): %s\n", error); + goto cleanup; + } + + symbol = lt_dlsym (module, argv[2]); + error = lt_dlerror (); + + if (symbol) + { + printf ("lt_dlsym: success!\n"); + } + else if (standard_error_message (error)) + { + /* Expected custom failure message... */ + printf ("lt_dlsym: standard error (bad): %s\n", error); + err = 1; + } + else + { + printf ("lt_dlsym: custom error (good): %s\n", error); + } + +cleanup: + if (module) + { + lt_dlclose (module); + } + lt_dlexit (); + return err; +} +]]) + +AT_DATA([foomod.c], +[[ +#ifdef __cplusplus +extern "C" +#endif +int foosym (void); +int +foosym (void) +{ + return 0; +} +]]) + +AT_DATA([bardep.c], +[[ +#ifdef __cplusplus +extern "C" +#endif +int bardep (void); +int +bardep (void) +{ + return 0; +} +]]) + +AT_DATA([barmod.c], +[[ +#ifdef __cplusplus +extern "C" { +#endif +int bardep (void); +int barsym (void); +#ifdef __cplusplus +} +#endif +int +barsym (void) +{ + return bardep (); +} +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +inst=`pwd`/inst +libdir=$inst/lib + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) +for file in foomod.c bardep.c barmod.c; do + AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file], + [], [ignore], [ignore]) +done +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o foomod.la ]dnl + [-rpath $libdir -module -avoid-version -no-undefined ]dnl + [foomod.lo], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbardep.la ]dnl + [-rpath $libdir -avoid-version -no-undefined ]dnl + [bardep.lo], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o barmod.la ]dnl + [-rpath $libdir -module -avoid-version -no-undefined ]dnl + [barmod.lo ./libbardep.la], + [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl + [main.$OBJEXT $LIBLTDL], + [], [ignore], [ignore]) + +. ./foomod.la +AT_CHECK([test -n "$dlname" || (exit 77)]) + +LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./foomod.la no_symbol]) + +# chmod -x doesn't appear to work in MSYS, and Wine can load no-exec dlls. +dnl chmod -x $objdir/$dlname +dnl LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./foomod.la]) + +rm -f $objdir/$dlname +LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./foomod.la]) + +LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./barmod.la no_symbol]) + +. ./libbardep.la +# chmod -x doesn't appear to work in MSYS, and Wine can load no-exec dlls. +dnl chmod -x $objdir/$dlname +dnl LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./barmod.la]) + +rm -f $objdir/$dlname +LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./barmod.la]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/localization.at b/BUILD/libtool-2.4.7/tests/localization.at new file mode 100644 index 0000000..695d762 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/localization.at @@ -0,0 +1,73 @@ +# localization.at -- libtool and locales -*- Autotest -*- +# +# Copyright (C) 2008-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([localized compiler messages]) +AT_KEYWORDS([libtool]) + +# Let's try German locale. :-) +m4_pushdef([lt_localize], +[LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE]) + +AT_DATA([a.c], +[[int x[-1]; +]]) +AT_DATA([b.c], +[[int y; +]]) + +# First see if setting a locale is accepted at all. +AT_CHECK([(lt_localize $CC $CPPFLAGS $CFLAGS -c b.c) || exit 77], + [], [stdout], [stderr]) + +# Find out about expected output. +AT_CHECK([(lt_localize $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1], + [1], [stdout], [stderr]) +LT_AT_NORMALIZE_COMPILER_OUTPUT([stdout], [expected-stdout]) +LT_AT_NORMALIZE_COMPILER_OUTPUT([stderr], [expected-stderr]) +AT_CHECK([(lt_localize $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1], + [1], [stdout], [stderr]) +LT_AT_NORMALIZE_COMPILER_OUTPUT([stdout], [libtool-stdout]) +LT_AT_NORMALIZE_COMPILER_OUTPUT([stderr], [libtool-stderr]) +# Avoid these errors: +# GNU/Linux: +# /bin/sh: warning: setlocale: LC_ALL: cannot change locale (de_DE) +# HP-UX: +# Warning! One or more of your selected locales are not available. +# Please invoke the commands "locale" and "locale -a" to verify your +# selections and the available locales. +# +# Continuing processing using the "C" locale. +AT_CHECK([$GREP locale stdout stderr && exit 77], [1]) +AT_CHECK([diff expected-stderr libtool-stderr]) +AT_CHECK([diff expected-stdout libtool-stdout]) + +# check that we get our quoting right. +m4_define([lt_localize], +[[LANGUAGE='a; nosuchprogram " '\'' & $x /#+*(){}|,:`\ !%']]) +AT_CHECK([(lt_localize $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b.c)], + [0], [stdout], [stderr]) +AT_CHECK([$GREP nosuchprogram stdout stderr], [1]) + +m4_popdef([lt_localize]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dladvise.at b/BUILD/libtool-2.4.7/tests/lt_dladvise.at new file mode 100644 index 0000000..76f7e7a --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/lt_dladvise.at @@ -0,0 +1,390 @@ +# lt_dladvise.at -- test libltdl functionality -*- Autotest -*- +# +# Copyright (C) 2007-2009, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2007 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# Try to keep the new interfaces of HEAD separate from those of +# branch-1-5 to facilitate testing of older releases. + +AT_SETUP([lt_dlopenadvise library loading]) +AT_KEYWORDS([libltdl]) + +AT_DATA([main.c], +[[#include +#include + +typedef int funcp (int); + +static int errors = 0; + +static void +complain (const char *msg) +{ + const char *errmsg = lt_dlerror (); + fprintf (stderr, "%s", msg); + if (errmsg) + fprintf (stderr, ": %s\n", errmsg); + else + fprintf (stderr, ".\n"); + ++errors; +} + +static lt_dlhandle +moduleopen (const char *filename, lt_dladvise advise) +{ + lt_dlhandle handle; + + handle = lt_dlopenadvise (filename, advise); + if (!handle) + { + fprintf (stderr, "can't open the module %s!\n", filename); + complain ("error was"); + } + + return handle; +} + +static int +moduletest (lt_dlhandle handle, const char *fname, const char *vname) +{ + funcp *f = (funcp *) lt_dlsym (handle, fname); + int *v = (int *) lt_dlsym (handle, vname); + + if (!f) + { + fprintf (stderr, "function '%s' not found\n", fname); + ++errors; + return -1; + } + if (!v) + { + fprintf (stderr, "variable '%s' not found\n", vname); + ++errors; + return -1; + } + return f (*v); +} + +void +hint_ext (void) +{ + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_ext (&advise)) + complain ("error setting advise ext"); + + handle = moduleopen ("libdepend", advise); + + if (handle) + printf ("depend: %d\n", moduletest (handle, "g", "j")); + + lt_dladvise_destroy (&advise); +} + +void +hint_resident (void) +{ + const lt_dlinfo *info; + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_resident (&advise)) + complain ("error setting advise resident"); + + handle = moduleopen ("libresident.la", advise); + + if (handle) + { + info = lt_dlgetinfo (handle); + if (!info->is_resident) + complain ("error taking advise resident"); + + /* cannot close resident modules */ + if (lt_dlclose (handle) == 0) + complain ("successfully unloaded resident module"); + + printf ("resident: %d\n", moduletest (handle, "func", "numb")); + } + + lt_dladvise_destroy (&advise); +} + +void +hint_local (void) +{ + const lt_dlinfo *info; + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_local (&advise)) + complain ("error setting advise local"); + + handle = moduleopen ("liblocal.la", advise); + + if (handle) + { + info = lt_dlgetinfo (handle); + printf ("local: %d\n", moduletest (handle, "f", "i")); + + /* If the symlocal hint was taken, don't unload this module + and test that our local symbolnames won't clash with modglobal. */ + if (!info->is_symlocal && lt_dlclose (handle)) + complain ("error unloading modlocal"); + } + + lt_dladvise_destroy (&advise); +} + +void +hint_global (void) +{ + const lt_dlinfo *info; + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_global (&advise)) + complain ("error setting advise global"); + + handle = moduleopen ("libglobal.la", advise); + + if (handle) + { + info = lt_dlgetinfo (handle); + printf ("global: %d\n", moduletest (handle, "f", "i")); + + /* Don't attempt to load moddepend unless modglobal was successfully + loaded and the symglobal hint was taken, and the system allows to + have undefined symbols. */ + if (info && info->is_symglobal && HAVE_UNDEFINED_SYMBOLS) + { + hint_ext (); + } + else + { + /* Fake the output so the test won't fail when using a dlloader + unable to take symglobal hints. */ + printf ("depend: 5\n"); + } + } + + lt_dladvise_destroy (&advise); +} + +void +hint_preload (void) +{ + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_preload (&advise)) + complain ("error setting advise preload"); + + handle = moduleopen ("libpreload.la", advise); + + if (handle) + { + printf("preload: %d\n", moduletest (handle, "h", "k")); + } + + lt_dladvise_destroy (&advise); +} + +int +main (void) +{ + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (lt_dlinit() != 0) + { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + hint_resident (); + hint_local (); +#ifdef HAVE_SHARED + hint_global (); +#else + /* This ugly hack is because we have symbols with the same name in both the + global module and the local one, we can't lt_dlopen the local module + locally and then later load the global module globally because of this. + Instead of skipping the test entirely, we test what we can and + have this hack. */ + printf ("global: 4\n"); + printf ("depend: 5\n"); +#endif + hint_preload (); + + if (lt_dlexit () != 0) + complain ("error during exit"); + + return (errors != 0); +} +]]) + +AT_DATA([modresident.c], +[[#ifdef __cplusplus +extern "C" { +#endif +int func (int x) { return x / 3; } +int numb = 7; +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA([modlocal.c], +[[#ifdef __cplusplus +extern "C" { +#endif +int f (int x) { return (x * x) / 10; } +int i = 6; +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA([modglobal.c], +[[#ifdef __cplusplus +extern "C" { +#endif +int f (int x) { return x - 1; } +int i = 5; +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA([moddepend.c], +[[#ifdef __cplusplus +extern "C" { +#endif +extern int f (int), i; +int g (int x) { return f (i) + x - 3; } +int j = 4; +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA([modpreload.c], +[[#ifdef __cplusplus +extern "C" { +#endif +int h (int x) { return 2 * x; } +int k = 3; +#ifdef __cplusplus +} +#endif +]]) + +LT_AT_HOST_DATA([expout], +[[resident: 2 +local: 3 +global: 4 +depend: 5 +preload: 6 +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" + +dlopenable='resident local global' +dlpreloadable='preload' + +# ------------------------------------------------------------------------- # +# The depend test makes no sense unless compiled without -no-undefined. By # +# not building the depend module in that case, when this test passes we can # +# be sure that hint_global() above, is being correctly informed those hosts # +# are reporting not able to accept the global hint to lt_dlopenadvise(). # +# ------------------------------------------------------------------------- # + +have_shared=false +$LIBTOOL --features | $GREP 'enable shared libraries' >/dev/null && have_shared=: + +case $host_os,$have_shared in +cygwin* | mingw* | cegcc* | *,false) + # These hosts do not support linking without -no-undefined + CPPFLAGS="$CPPFLAGS -DHAVE_UNDEFINED_SYMBOLS=0" + ;; +*) + CPPFLAGS="$CPPFLAGS -DHAVE_UNDEFINED_SYMBOLS=1" + dlopenable="$dlopen depend" + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c moddepend.c + AT_CHECK([$LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o libdepend.la ]dnl + [moddepend.lo -rpath /foo -avoid-version], [], [ignore], [ignore]) + ;; +esac + +$have_shared && CPPFLAGS="$CPPFLAGS -DHAVE_SHARED" + +# ------------------------------------------------------------------------- # +# Other modules can be tested correctly even when built with -no-undefined. # +# ------------------------------------------------------------------------- # + +LDFLAGS="$LDFLAGS -no-undefined" + +$CC $CPPFLAGS $CFLAGS -c main.c +for name in resident local global preload; do + # FIXME: adding -static to libpreload shouldn't be necessary. + # Fix this properly in ltmain, then remove this workaround. + if test preload = "$name"; then + st=-static + else + st= + fi + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c mod$name.c + AT_CHECK([$LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o lib$name.la ]dnl + [mod$name.lo $st -rpath /foo -avoid-version], [], [ignore], [ignore]) +done + +preloaded= +for module in $dlpreloadable; do + preloaded="${preloaded+$preloaded }-dlpreopen lib$module.la" +done + +modules= +for module in $dlopenable; do + modules="${modules+$modules }-dlopen lib$module.la" +done + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $preloaded $modules $LIBLTDL], + [], [ignore], [ignore]) + +# Remove loadable libpreload module, so we know it is the preloaded module +# that is being executed by a successful test invocation: +AT_CHECK([$LIBTOOL --mode=clean rm -f libpreload.la], [], [ignore], [ignore]) + +LT_AT_NOINST_EXEC_CHECK([./main], [$modules], [], [expout], []) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dlexit.at b/BUILD/libtool-2.4.7/tests/lt_dlexit.at new file mode 100644 index 0000000..e9a2c2a --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/lt_dlexit.at @@ -0,0 +1,165 @@ +# lt_dlexit.at -- test libltdl functionality -*- Autotest -*- +# +# Copyright (C) 2007-2008, 2010-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Dave Brolley & Ralf Wildenhues, 2007 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# Try to keep the new interfaces of HEAD separate from those of +# branch-1-5 to facilitate testing of older releases. + +AT_BANNER([Libltdl functionality.]) + +AT_SETUP([lt_dlexit unloading libs]) +AT_KEYWORDS([libltdl]) + +# Test for +# http://lists.gnu.org/archive/html/bug-libtool/2007-01/msg00014.html +# http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00013.html + +AT_DATA([main.c], +[[#include +#include +#include + +typedef int (*pfun_T) (int); +typedef int *pvar_T; + +/* lt_dlopen wrapper */ +static lt_dlhandle +xdlopen (const char *filename) +{ + lt_dlhandle handle = lt_dlopen (filename); + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + } + return handle; +} + +/* lt_dlsym wrapper: try one function and one variable */ +static int +xdlsymtest (lt_dlhandle handle, const char *func, const char *var) +{ + pfun_T pf = (pfun_T) lt_dlsym (handle, func); + pvar_T pv = (pvar_T) lt_dlsym (handle, var); + if (pf == NULL) { + fprintf (stderr, "function '%s' not found\n", func); + return 1; + } + if (pv == NULL) { + fprintf (stderr, "variable '%s' not found\n", var); + return 1; + } + return (*pf) (*pv); +} + +int +main (void) +{ + lt_dlhandle b1; + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + if (lt_dlexit() != 0) { + fprintf (stderr, "error during first lt_dlexit: %s\n", lt_dlerror()); + return 1; + } + if (lt_dlinit() != 0) { + fprintf (stderr, "error during second initialization: %s\n", lt_dlerror()); + return 1; + } + if (!(b1 = xdlopen ("modb1.la"))) return 1; + if (xdlsymtest (b1, "fb1", "vb1")) return 1; + /* do not lt_dlclose here on purpose. */ + + if (lt_dlexit() != 0) { + fprintf (stderr, "error during exit: %s\n", lt_dlerror()); + return 1; + } + return 0; +} +]]) + + +AT_DATA([a1.c], +[[#ifdef __cplusplus +extern "C" { +#endif +int f1 (int x) { return x - 1; } +int v1 = 1; +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA([b1.c], +[[#ifdef __cplusplus +extern "C" { +#endif +#if defined DLL_EXPORT && defined _WIN32 && defined _MSC_VER +# define LIBA1_SCOPE extern __declspec (dllimport) +#endif +#if !defined LIBA1_SCOPE +# define LIBA1_SCOPE extern +#endif +LIBA1_SCOPE int f1 (int); +LIBA1_SCOPE int v1; +int fb1 (int x) { return f1 (v1) + x - 3; } +int vb1 = 3; +#ifdef __cplusplus +} +#endif +]]) + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" + +for file in a1 b1; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c +done +$CC $CPPFLAGS $CFLAGS -c main.c +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba1.la a1.lo \ + -rpath /foo -avoid-version], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o modb1.la b1.lo \ + -rpath /foo -module -avoid-version liba1.la], [], [ignore], [ignore]) + +# TODO: test -dlpreopen +for dlopen in -dlopen; do + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT \ + $dlopen modb1.la $LIBLTDL], [], [ignore], [ignore]) + LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen modb1.la]) +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dlopen.at b/BUILD/libtool-2.4.7/tests/lt_dlopen.at new file mode 100644 index 0000000..1987e95 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/lt_dlopen.at @@ -0,0 +1,104 @@ +# lt_dlopen.at -- test libltdl functionality -*- Autotest -*- +# +# Copyright (C) 2009, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([lt_dlopen error messages]) +AT_KEYWORDS([libltdl]) + +# The bug is not fixed: +AT_XFAIL_IF([:]) + +# This test only works if the system allows undefined symbols. +eval `$LIBTOOL --config | $GREP '^allow_undefined_flag='` +AT_CHECK([test unsupported != "$allow_undefined_flag" || exit 77]) + +AT_DATA([main.c], +[[#include +#include + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle plugin_handle; + + if (argc < 2) + { + fprintf (stderr, "usage: %s plugin\n", argv[0]); + return 1; + } + + lt_dlinit (); + plugin_handle = lt_dlopenext (argv[1]); + if (NULL != plugin_handle) + { + printf ("plugin opened successfully!\n"); + lt_dlclose (plugin_handle); + } + else + { + printf ("plugin failed to open: %s\n", lt_dlerror()); + err = 1; + } + lt_dlexit (); + return err; +} +]]) + +AT_DATA([good-plugin.c], +[[int foo; +int *i = &foo; +]]) + +AT_DATA([missing-symbol-plugin.c], +[[/* On systems that allow undefined symbols, this will compile, + but the symbol "foo" won't be found at runtime */ +extern int foo; +int *i = &foo; +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +inst=`pwd`/inst +libdir=$inst/lib + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) +for file in good-plugin.c missing-symbol-plugin.c; do + AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file], + [], [ignore], [ignore]) +done +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o good-plugin.la -rpath $libdir ]dnl + [-module -avoid-version good-plugin.lo], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o missing-symbol-plugin.la -rpath $libdir]dnl + [-module -avoid-version missing-symbol-plugin.lo], [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ]dnl + [-dlopen good-plugin.la -dlopen missing-symbol-plugin.la $LIBLTDL], + [], [ignore], [ignore]) + +LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./good-plugin.la]) +LT_AT_EXEC_CHECK([./main], [1], [ignore], [stderr], [./missing-symbol-plugin.la]) +AT_CHECK([$GREP 'missing symbol' stderr], [], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dlopen_a.at b/BUILD/libtool-2.4.7/tests/lt_dlopen_a.at new file mode 100644 index 0000000..95f18a0 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/lt_dlopen_a.at @@ -0,0 +1,98 @@ +# lt_dlopen_a.at -- test libltdl functionality -*- Autotest -*- +# +# Copyright (C) 2009, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([lt_dlopen archive]) +AT_KEYWORDS([libltdl lt_dlopen_a]) + +AT_DATA([main.c], +[[#include +#include + +/* This dlopen() in the main executable should override any dlopen()s in + shared libraries etc. + + If that is not the case (or the platform does not use dlopen()) then this + test should exit 77, causing the test to SKIP. +*/ +static int retcde = 77; + +void * dlopen(const char *path, int mode) { + if (!(strcmp(path,"plugin.a") && strcmp(path,"plugin.lib"))) + { + fprintf(stderr,"Tried to open archive %s\n",path); + retcde = 1; + } + else + { + fprintf(stderr,"Opening ... %s\n", path); + if (retcde == 77) retcde = 0; + } + return NULL; +} + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle plugin_handle; + + lt_dlinit (); + plugin_handle = lt_dlopenext (argv[1]); + lt_dlexit (); + return retcde; +} +]]) + +AT_DATA([plugin.c], +[[ +int i = 1; +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c || exit 77],[],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c || exit 77], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath ]dnl + [$libdir -module -no-undefined -avoid-version plugin.lo || exit 77], + [], [ignore], [ignore]) + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl + [main.$OBJEXT -dlopen plugin.la $LIBLTDL || exit 77], + [], [ignore], [ignore]) + +mkdir -p $libdir +mkdir -p $bindir + +AT_CHECK([$LIBTOOL --mode=install cp plugin.la $libdir],[], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp main$EXEEXT $bindir],[], [ignore], [ignore]) +AT_CHECK([test -f "$libdir/plugin.a" || exit 77]) +LT_AT_EXEC_CHECK([$bindir/main], [], [ignore], [ignore],[$libdir/plugin.la]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dlopenext.at b/BUILD/libtool-2.4.7/tests/lt_dlopenext.at new file mode 100644 index 0000000..4d4ad3d --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/lt_dlopenext.at @@ -0,0 +1,251 @@ +# lt_dlopenext.at -- test libltdl functionality -*- Autotest -*- +# +# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([lt_dlopenext error messages]) +AT_KEYWORDS([libltdl]) + +# This test requires shared library support. +AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], + [], [ignore]) + +prefix=`pwd`/inst +libdir=$prefix/lib +bindir=$prefix/bin +mkdir $prefix $libdir $bindir + +# This code is copied from the Autobook: +# +# so if it needs changes, be sure to notify the Autobook authors +# about them. + +AT_DATA([simple-module.c], +[[ +#include + +#ifdef __cplusplus +extern "C" +#endif +int +run (const char *argument) +{ + printf ("Hello, %s!\n", argument); + return 0; +} +]]) + +AT_DATA([ltdl-loader.c], +[[ +#include +#include +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +# define EXIT_SUCCESS 0 +#endif + +#include +#ifndef PATH_MAX +# define PATH_MAX 255 +#endif + +#include +#include + +#ifndef MODULE_PATH_ENV +# define MODULE_PATH_ENV "MODULE_PATH" +#endif + +typedef int entrypoint (const char *argument); + +/* Save and return a copy of the dlerror() error message, + since the next API call may overwrite the original. */ +static char *dlerrordup (char *errormsg); + +int +main (int argc, const char *argv[]) +{ + char *errormsg = NULL; + lt_dlhandle module = NULL; + entrypoint *run = NULL; + int errors = 0; + + if (argc != 3) + { + fprintf (stderr, "USAGE: main MODULENAME ARGUMENT\n"); + exit (EXIT_FAILURE); + } + + /* Initialise libltdl. */ + errors = lt_dlinit (); + + /* Set the module search path. */ + if (!errors) + { + const char *path = getenv (MODULE_PATH_ENV); + + if (path != NULL) + errors = lt_dlsetsearchpath (path); + } + + /* Load the module. */ + if (!errors) + module = lt_dlopenext (argv[1]); + + /* Find the entry point. */ + if (module) + { + run = (entrypoint *) lt_dlsym (module, "run"); + + /* In principle, run might legitimately be NULL, so + I don't use run == NULL as an error indicator + in general. */ + errormsg = dlerrordup (errormsg); + if (errormsg != NULL) + { + errors = lt_dlclose (module); + module = NULL; + } + } + else + errors = 1; + + /* Call the entry point function. */ + if (!errors) + { + int result = (*run) (argv[2]); + if (result < 0) + errormsg = strdup ("module entry point execution failed"); + else + printf ("\t=> %d\n", result); + } + + /* Unload the module, now that we are done with it. */ + if (!errors) + errors = lt_dlclose (module); + + if (errors) + { + /* Diagnose the encountered error. */ + errormsg = dlerrordup (errormsg); + + if (!errormsg) + { + fprintf (stderr, "%s: dlerror() failed.\n", argv[0]); + return EXIT_FAILURE; + } + } + + /* Finished with ltdl now. */ + if (!errors) + if (lt_dlexit () != 0) + errormsg = dlerrordup (errormsg); + + if (errormsg) + { + fprintf (stderr, "%s: %s.\n", argv[0], errormsg); + free (errormsg); + exit (EXIT_FAILURE); + } + + return EXIT_SUCCESS; +} + +/* Be careful to save a copy of the error message, + since the next API call may overwrite the original. */ +static char * +dlerrordup (char *errormsg) +{ + char *error = (char *) lt_dlerror (); + if (error && !errormsg) + errormsg = strdup (error); + return errormsg; +} +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la ]dnl + [simple-module.lo -rpath $libdir -module -avoid-version], + [], [ignore], [ignore]) +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ]dnl + [ltdl-loader.$OBJEXT -dlopen self $LIBLTDL], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=clean rm -f simple-module.la], [], [ignore], [ignore]) + +# Try finding the module with and without the .la file, with absolute +# path, relative path, or one of the path variables. Do not override +# $PATH for w32, see shlibpath.at for the hacks this requires. +# +# Finding the module without the .la file will not work if MODULE_EXT +# aka. shared_ext is empty. + +eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shrext_cmds)='` + +module=no +eval shared_ext=\"$shrext_cmds\" +if test -n "$shared_ext"; then + have_lafile="with without" +else + have=with +fi + +if test PATH = "$shlibpath_var"; then + $unset shlibpath_var || shlibpath_var= +fi + +for lafile in $have_lafile; do + if test without = "$lafile"; then + rm $libdir/simple-module.la + fi + + for dir in inst/lib "$libdir"; do + LT_AT_EXEC_CHECK([./ltdl-loader], [], [stdout], [ignore], + [$dir/simple-module World]) + AT_CHECK([$GREP "Hello, World" stdout], [], [ignore]) + + for var in MODULE_PATH LTDL_LIBRARY_PATH $shlibpath_var + do + eval $var=\$dir + export $var + LT_AT_EXEC_CHECK([./ltdl-loader], [], [stdout], [ignore], + [simple-module World]) + AT_CHECK([$GREP "Hello, World" stdout], [], [ignore]) + $unset $var || eval $var= + done + done +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/ltdl-api.at b/BUILD/libtool-2.4.7/tests/ltdl-api.at new file mode 100644 index 0000000..eca6d9b --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/ltdl-api.at @@ -0,0 +1,40 @@ +# ltdl-api.at -- test libltdl API -*- Autotest -*- +# +# Copyright (C) 2008, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. +# Written by Ralf Wildenhues, 2008. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([ltdl API]) +AT_KEYWORDS([libltdl]) + +# Ensure that no symbols from argz are unrenamed. +eval `$LIBTOOL --config | $EGREP '^(NM|global_symbol_pipe|objext)='` +lt__argz_o=$abs_top_builddir/libltdl/lt__argz.$objext +AT_CHECK([test -f "$lt__argz_o" || exit 77]) +AT_CHECK([eval "$NM \"\$lt__argz_o\" | $global_symbol_pipe"], + [], [stdout], [ignore]) +# Check for global symbols beginning with "argz_" +AT_CHECK([$GREP "^T argz_" stdout], [1]) +# and also for the _ prefixed version "_argz_" +AT_CHECK([$GREP "^T _argz_" stdout], [1]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/ltdl-libdir.at b/BUILD/libtool-2.4.7/tests/ltdl-libdir.at new file mode 100644 index 0000000..7ec91bc --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/ltdl-libdir.at @@ -0,0 +1,124 @@ +# ltdl-libdir.at -- test libltdl functionality -*- Autotest -*- +# +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([libdir of installed modules]) +AT_KEYWORDS([libltdl]) + +# This test requires shared library support. +AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], + [], [ignore]) + +# With MinGW, try Windows-style paths only. +if pwd -W >/dev/null 2>&1; then + prefix=`pwd -W`/inst +else + prefix=`pwd`/inst +fi +libdir=$prefix/lib +bindir=$prefix/bin +mkdir $prefix $libdir $bindir + +AT_DATA([a.c], +[[#ifdef __cplusplus +extern "C" +#endif +int f (void) +{ + return 42; +} +]]) + +AT_DATA([m.c], +[[ +#include +#include + +typedef int func_f(void); + +int +main (int argc, const char *argv[]) +{ + lt_dlhandle module = NULL; + func_f *f = NULL; + + if (lt_dlinit()) { + fprintf(stderr, "lt_dlinit failed '%s'\n", lt_dlerror()); + return 1; + } + + module = lt_dlopen("./a.la"); + + if (!module) { + fprintf(stderr, "lt_dlopen failed '%s'\n", lt_dlerror()); + return 1; + } + + f = (func_f *)lt_dlsym(module, "f"); + + if (!f) { + fprintf(stderr, "lt_dlsym failed '%s'\n", lt_dlerror()); + return 1; + } + + if (f() != 42) { + fprintf(stderr, "f did not return 42\n"); + return 1; + } + + lt_dlclose(module); + lt_dlexit(); + return 0; +} +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip installcheck if --disable-ltdl-install was used. +AT_CHECK([test -f "$LIBLTDL" || exit 77]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a.la ]dnl + [a.lo -rpath $libdir -module -shared -avoid-version], + [], [ignore], [ignore]) +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c m.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT ]dnl + [m.$OBJEXT $LIBLTDL], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp a.la $libdir/a.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT], + [], [ignore], [ignore]) + +# Try finding the module via the libdir entry in a misplaced .la file. + +mv $libdir/a.la $bindir/a.la +cd $bindir +LT_AT_EXEC_CHECK([./m], + [], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/mdemo.at b/BUILD/libtool-2.4.7/tests/mdemo.at new file mode 100644 index 0000000..7a76286 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/mdemo.at @@ -0,0 +1,855 @@ +# demo.at -- Dynamic ltdl runtime loading -*- Autotest -*- +# +# Copyright (C) 1998, 2002-2004, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Thomas Tanner, 1998 +# Written by Greg Eisenhauer, 2002 +# Rewritten by Gary V. Vaughan, 2003 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Dynamic ltdl runtime loading.]) + +# _LT_SETUP +# --------- +m4_define([_LT_SETUP], +[dnl We can't use AT_DATA here, because we need an unquoted here- +dnl document to splice in the path to the top level libltdl directory, +dnl but, we do need to double m4-quote to prevent premature expansion +dnl of any active m4 symbols in the here-doc content, and to maintain +dnl the square-bracket symbols as is. +[cat >configure.ac <<_EOT_ +AC_INIT([mdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT([dlopen win32-dll]) +LTDL_INIT([nonrecursive convenience]) +AC_SUBST([LIBTOOL_DEPS]) +AC_SUBST([INCLTDL]) +AC_SUBST([LIBLTDL]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_EOT_] + + +[cat >Makefile.am <<_EOT_ +AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign +ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = \$(INCLTDL) +AM_LDFLAGS = + +noinst_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +include_HEADERS = + +EXTRA_DIST = + +BUILT_SOURCES = +CLEANFILES = +MOSTLYCLEANFILES = + +lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la + +foo1_la_SOURCES = foo1.c +foo1_la_LIBADD = \$(LIBM) libsub.la +foo1_la_LDFLAGS = -no-undefined -module -avoid-version + +libfoo2_la_SOURCES = foo2.c +libfoo2_la_LIBADD = \$(LIBM) libsub.la +libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" + +libsub_la_SOURCES = sub.c +libsub_la_LDFLAGS = -no-undefined + +## Use -export-symbols-regex here explicitly because libltdl marks +## its exported symbols, and we use libltdl as a convenience archive. +## Thus, on w32, auto-exporting is turned off. +libmlib_la_SOURCES = mlib.c +libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la +libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" +libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +noinst_HEADERS = foo.h + +bin_PROGRAMS = mdemo mdemo_static + +# Create a version of mdemo that does dlopen. +mdemo_SOURCES = main.c +mdemo_LDFLAGS = -export-dynamic +## The quotes around -dlopen below fool automake into accepting it +mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ + "-dlopen" foo1.la "-dlopen" libfoo2.la +mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +# Create a statically linked version of mdemo. +mdemo_static_SOURCES = \$(mdemo_SOURCES) +mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) +mdemo_static_LDADD = \$(mdemo_LDADD) +mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) + +libtool: \$(LIBTOOL_DEPS) + \$(SHELL) ./config.status --recheck + +include \$(srcdir)/libltdl/ltdl.mk +include \$(srcdir)/mdemo.mk +_EOT_] + +AT_DATA([mdemo.mk], +[[# Don't abort for lack of mdemo.mk +]]) + +AT_DATA([foo.h], +[[#ifndef FOO_H +#define FOO_H + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +int sub (void); + +#endif +]]) + +AT_DATA([foo1.c], +[[#include +#include +#include + +#include "foo.h" + +#define nothing foo1_LTX_nothing +#define foo1 foo1_LTX_foo1 +#define hello foo1_LTX_hello + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +/* private function */ +int _foo1_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo1 (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return _foo1_helper (); +} + +int hello () { + printf ("** This is foolib 1 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA([foo2.c], +[[#include +#include +#include + +#include "foo.h" + +#define nothing libfoo2_LTX_nothing +#define foo2 libfoo2_LTX_foo2 +#define hello libfoo2_LTX_hello + +/* Give a global variable definition. */ +int nothing; + +/* private function */ +int _foo2_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo2 (void) { + printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); + return _foo2_helper (); +} + +int hello () { + printf ("** This is foolib 2 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA([mlib.c], +[[#include +#include + +#include "foo.h" +#include "ltdl.h" + +int test_dl (char *filename) { + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + handle = lt_dlopen(filename); + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +mlib_func (int argc, char **argv) +{ + int ret = 0; + int i; + /* + * Would be nice if this somehow worked for libraries, not just executables. + * LTDL_SET_PRELOADED_SYMBOLS(); + */ + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + if (test_dl(argv[i])) + ret = 1; + + lt_dlexit(); + return ret; +} +]]) + +AT_DATA([sub.c], +[[#include +#include +void sub (void) { printf ("sub() called\n"); } +]]) + +AT_DATA([main.c], +[[#include +#include +#include + +#include "foo.h" +#include "ltdl.h" + +#ifdef __cplusplus +# define EXPORT extern "C" +#else +# define EXPORT extern +#endif + +EXPORT int myfunc (void); + +int +test_dl (char *filename, int test_ext) +{ + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + if (test_ext) + handle = lt_dlopenext (filename); + else + handle = lt_dlopen (filename); + + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +myfunc () +{ + return HELLO_RET; +} + +int myvar; + +int +test_dlself () +{ + lt_dlhandle handle; + int (*pmyfunc)() = 0; + int *pmyvar = 0; + int ret = 0; + + handle = lt_dlopen(0); + if (!handle) { + fprintf (stderr, "can't dlopen the program!\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); + if (pmyfunc) + { + int value = (*pmyfunc) (); + + printf ("myfunc returned: %i\n", value); + if (value == HELLO_RET) + printf("myfunc is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'myfunc' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pmyvar = (int*)lt_dlsym(handle, "myvar"); + /* Try assigning to the variable. */ + if (pmyvar) + *pmyvar = 1; + else + { + fprintf (stderr, "did not find the 'myvar' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + lt_dlclose(handle); + return ret; +} + +static int +callback (const char *filename, void *data) +{ + printf ("%s: %s\n", (char *)data, filename); + return 0; +} + +static int +try_iterate (const char *search_path) +{ + char *s = "try_iterate"; + return lt_dlforeachfile (search_path, callback, s); +} + +/* cheap dirname clone. We require a '/' separator, nonempty and large + enough input, not ending with '/', and we will overwrite the input. */ +static char * +my_dirname (char *path) +{ + char *p = strrchr (path, '/'); + if (p) + *p = '\0'; + else + { + path[0] = '.'; + path[1] = '\0'; + } + return path; +} + +int +main (int argc, char **argv) +{ + int i; + int ret = 0; + char *p; + + printf ("Welcome to GNU libtool mdemo!\n"); + + if (argc < 2) { + fprintf (stderr, "usage: %s module [module...]\n", argv[0]); + } + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + { + if (test_dl(argv[i], 0)) + ret = 1; + p = strrchr(argv[i], '.'); + if (p) + { + *p = '\0'; + if (test_dl(argv[i], 1)) + ret = 1; + *p = '.'; + } + } + + if (test_dlself()) + ret = 1; + + for (i = 1; i < argc; i++) + if (argv[i][0] != '\0') + { + my_dirname (argv[i]); + if (try_iterate (argv[i])) + ret = 1; + } + + lt_dlexit(); + return ret; +} +]]) + +LT_AT_HOST_DATA([expout], +[[Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +]]) + +prefix=`pwd`/_inst +]) # _LT_SETUP + + +# _LT_CHECK_EXECUTE +# ----------------- +# Run the listed make rules, and check that the built binaries work. +m4_define([_LT_CHECK_EXECUTE], +[LT_AT_MAKE +LT_AT_EXEC_CHECK([./mdemo_static], 0, [ignore], [], + [./foo1.la ./libfoo2.la | $GREP '^try_iterate: ']) +LT_AT_EXEC_CHECK([./mdemo], 0, [ignore], [], + [./foo1.la ./libfoo2.la | $GREP '^try_iterate: ']) +LT_AT_EXEC_CHECK([./mdemo_static], 0, [ignore], [], + [`pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: ']) +LT_AT_EXEC_CHECK([./mdemo], 0, [ignore], [], + [`pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: ']) +]) + +# _LT_CHECK_INSTALL +# ----------------- +# Run the make install rule, and check that installed binaries work too. +m4_define([_LT_CHECK_INSTALL], +[LT_AT_MAKE([install]) + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +LT_AT_EXEC_CHECK([$prefix/bin/mdemo_static], 0, [ignore], [], + [$prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: ']) +LT_AT_EXEC_CHECK([$prefix/bin/mdemo], 0, [ignore], [], + [$prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: ']) +]) + + +## ------------- ## +## Mdemo static. ## +## ------------- ## + +AT_SETUP([dynamically ltdl preload static modules]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--with-included-ltdl --disable-shared], + [^build_old_libs=yes], [^build_libtool_libs=no]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## ------------- ## +## Mdemo shared. ## +## ------------- ## + +AT_SETUP([dynamically ltdl load a shared module]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--with-included-ltdl --disable-static], + [^build_old_libs=no], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## ----------- ## +## Mdemo conf. ## +## ----------- ## + +AT_SETUP([ltdl load shared and static modules]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--with-included-ltdl], + [^build_old_libs=yes], [^build_libtool_libs=yes]) +_LT_CHECK_EXECUTE +_LT_CHECK_INSTALL +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + + +## ------------- ## +## Mdemo dryrun. ## +## ------------- ## + +AT_SETUP([ltdl dryrun]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--with-included-ltdl]) +LT_AT_MAKE([all-local libltdl/libltdlc.la]) + +# create 'before' and 'after' in a directory deep within objdir, +# so that their creation and removal does not modify even a timestamp +# in the output of 'ls -l . $objdir' +$lt_INSTALL -d "$objdir/temp/temp" +before=$objdir/temp/temp/before +after=$objdir/temp/temp/after + +# Create a new libtool script that will enter dry run if the environment +# variable force_dry_run is set +$SED 's|^[[ ]]*opt_dry_run=.*$|opt_dry_run=$force_dry_run|' libtool > ltnew && mv ltnew libtool +export force_dry_run + +# main.o is not compiled with libtool, but it depends on it, so make +# sure it is up-to-date. libfoo2.la is linked with libsub.la, so make +# sure it exists, otherwise libtool will complain. +force_dry_run=false +LT_AT_MAKE([main.$objext]) + +# Making object files +# ls -l in MSYS sometimes shows year, not time, for really fresh files. +sleep 1 +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +force_dry_run=: +LT_AT_MAKE([foo1.lo foo2.lo libsub.la]) +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +AT_CHECK([cmp "$before" "$after"], 0, [ignore]) + +# Now really make them +force_dry_run=false +LT_AT_MAKE([foo1.lo foo2.lo libsub.la]) + +# Making libraries +sleep 1 # for MSYS +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +force_dry_run=: +LT_AT_MAKE([foo1.la libfoo2.la]) +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +AT_CHECK([cmp "$before" "$after"], 0, [ignore]) + +# Now really make them +force_dry_run=false +LT_AT_MAKE([foo1.la libfoo2.la]) + +# Making programs +sleep 1 # for MSYS +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +force_dry_run=: +LT_AT_MAKE([mdemo$EXEEXT mdemo_static$EXEEXT]) +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +AT_CHECK([cmp "$before" "$after"], 0, [ignore]) + +# Running $MAKE install +# Libtool does not create these directories +$lt_INSTALL -d "$prefix/bin" +$lt_INSTALL -d "$prefix/include" +$lt_INSTALL -d "$prefix/lib" + +sleep 1 # for MSYS +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$before" +force_dry_run=: +LT_AT_MAKE([install]) + +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$after" +AT_CHECK([cmp "$before" "$after"], 0, [ignore]) + +# Now really install +force_dry_run=false +LT_AT_MAKE([install]) + +# Running $MAKE uninstall +# Libtool does not uninstall the programs, remove them first +rm -f "$prefix/bin/mdemo$EXEEXT" "$prefix/bin/mdemo_static$EXEEXT" + +sleep 1 # for MSYS +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$before" +force_dry_run=: +LT_AT_MAKE([uninstall]) +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$after" +AT_CHECK([cmp "$before" "$after"], 0, [ignore]) + +# Now really uninstall +force_dry_run=false +LT_AT_CHECK_UNINSTALL + +AT_CLEANUP + +## ------- ## +## Mdemo2. ## +## ------- ## + +AT_SETUP([link with library that loads ltdl modules]) + +_LT_SETUP + +AT_DATA([mdemo.mk], +[[bin_PROGRAMS += mdemo2 mdemo2_static + +# Create a version of mdemo2 that links a library that does dlopen. +mdemo2_LDFLAGS = -export-dynamic "-dlopen" force +mdemo2_LDADD = libmlib.la + +# Create a statically linked version of mdemo. +mdemo2_static_SOURCES = mdemo2.c +mdemo2_static_LDFLAGS = $(STATIC) $(mdemo2_LDFLAGS) +mdemo2_static_LDADD = $(mdemo2_LDADD) +mdemo2_static_DEPENDENCIES = $(mdemo2_DEPENDENCIES) +]]) + +AT_DATA([mdemo2.c], +[[#include +#include "ltdl.h" + +extern int mlib_func (int, char **); + +int main (int argc, char **argv) +{ + int ret = 0; + + printf ("Welcome to GNU libtool mdemo2!\n"); + if (argc < 2) { + fprintf (stderr, "usage: %s module [module...]\n", argv[0]); + } + + /* This must be called in the program to get the preloaded symbols */ + LTDL_SET_PRELOADED_SYMBOLS(); + + ret = mlib_func(argc, argv); + + return ret; +} +]]) + +# Normalize line endings after $EGREP instead of using LT_AT_HOST_DATA +# here, since $EGREP *may* normalize line endings for us. +AT_DATA([expout], +[[Welcome to GNU libtool mdemo2! +module name: foo1 +module reference count: 1 +** This is foolib 1 ** +hello returned: 57616 +hello is ok! +cos (0.0) = 1 +sub() called +foo1 is ok! +module name: libfoo2 +module reference count: 1 +** This is foolib 2 ** +hello returned: 57616 +hello is ok! +sin (0.0) = 0 +sub() called +foo2 is ok! +]]) + +LT_AT_CHECK_CONFIG([--with-included-ltdl]) + +LT_AT_MAKE + +LT_AT_EXEC_CHECK([./mdemo2_static], 0, [stdout], [], + [./foo1.la ./libfoo2.la | $EGREP -v '^module filename: ']) +LT_AT_UNIFY_NL([stdout]) +LT_AT_CHECK([diff expout stdout]) + +LT_AT_EXEC_CHECK([./mdemo2], 0, [stdout], [], + [./foo1.la ./libfoo2.la | $EGREP -v '^module filename: ']) +LT_AT_UNIFY_NL([stdout]) +LT_AT_CHECK([diff expout stdout]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/need_lib_prefix.at b/BUILD/libtool-2.4.7/tests/need_lib_prefix.at new file mode 100644 index 0000000..358586c --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/need_lib_prefix.at @@ -0,0 +1,198 @@ +# need-lib-prefix.at -- test libltdl functionality -*- Autotest -*- +# +# Copyright (C) 2007-2008, 2010-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2007 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([enforced lib prefix]) +AT_KEYWORDS([libltdl libtool]) + +# Originally written to simulate a failure visible on systems +# that need a library prefix like 'lib', such as BeOS. Currently +# the prefix is hardcoded as 'lib', so systems that require a +# different prefix skips the test. + +AT_DATA([main.c], +[[#include +#include + +typedef int fun (int); + +static int errors = 0; + +static void +complain (const char *msg) +{ + const char *errmsg = lt_dlerror (); + fprintf (stderr, "%s", msg); + if (errmsg) + fprintf (stderr, ": %s\n", errmsg); + else + fprintf (stderr, ".\n"); + ++errors; +} + +static lt_dlhandle +moduleopen (const char *filename) +{ + lt_dlhandle handle; + + handle = lt_dlopen (filename); + if (!handle) + { + fprintf (stderr, "can't open the module %s!\n", filename); + complain ("error was"); + } + + return handle; +} + +static int +moduletest (lt_dlhandle handle) +{ + const lt_dlinfo *info = lt_dlgetinfo (handle); + fun *f = (fun *) lt_dlsym (handle, "f"); + int *v = (int *) lt_dlsym (handle, "i"); + + if (!f) + { + complain ("function 'f' not found"); + return 1; + } + if (!v) + { + complain ("variable 'i' not found"); + return 1; + } + printf ("%s: %d\n", info->name, f (*v)); + + return 0; +} + +int +main (int argc, char **argv) +{ + lt_dlhandle handle; + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (lt_dlinit() != 0) + { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + if (lt_dlpreload_open (0, moduletest) != 0) + complain ("error during preloading"); + + if (lt_dlexit () != 0) + complain ("error during exit"); + + return (errors != 0); +} +]]) + +AT_DATA([foo1.c], +[[#define f foo1_LTX_f +#define i foo1_LTX_i +#ifdef __cplusplus +extern "C" { +#endif +int f (int x) { return x / 3; } +int i = 7; +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA([foo2.c], +[[#define f libfoo2_LTX_f +#define i libfoo2_LTX_i +#ifdef __cplusplus +extern "C" { +#endif +int f (int x) { return (x * x) / 10; } +int i = 6; +#ifdef __cplusplus +} +#endif +]]) + +LT_AT_HOST_DATA([expout], +[[libfoo1: 2 +libfoo2: 3 +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS=$LDFLAGS + +# Skip this test when libraries are not normally prefixed with lib. +# E.g., for MSVC and OS/2. +eval "`$LIBTOOL --config | $EGREP '^(libname_spec)='`" +name= +eval libname=\"$libname_spec\" +AT_CHECK([test lib = "$libname" || exit 77]) + +# Create our own libtool, forcing need_lib_prefix setting +$SED 's|^\(need_lib_prefix\)=.*$|\1=unknown|' $LIBTOOL > ./libtool +LIBTOOL="$SHELL ./libtool" + +# Installation directory: +instdir=`pwd`/_inst + +$CC $CPPFLAGS $CFLAGS -c main.c +for file in foo1 foo2; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c +done + +AT_CHECK([$LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o foo1.la foo1.lo -rpath $instdir/lib], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o libfoo2.la foo2.lo -rpath $instdir/lib], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlpreopen foo1.la -dlpreopen libfoo2.la $LIBLTDL], + [], [ignore], [ignore]) + +LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen foo1.la -dlopen libfoo2.la], + [], [expout], []) + +# Install the libraries. +mkdir $instdir +mkdir $instdir/lib +$LIBTOOL --mode=install cp foo1.la $instdir/lib/foo1.la +$LIBTOOL --mode=install cp libfoo2.la $instdir/lib/libfoo2.la + +# Install the binary +mkdir $instdir/bin +$LIBTOOL --mode=install cp main$EXEEXT $instdir/bin/main$EXEEXT + +LT_AT_EXEC_CHECK([$instdir/bin/main], [], [expout], []) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/no-executables.at b/BUILD/libtool-2.4.7/tests/no-executables.at new file mode 100644 index 0000000..68c5c32 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/no-executables.at @@ -0,0 +1,80 @@ +# no-executables.at -- Libtool usage in GCC -*- Autotest -*- + +# Copyright (C) 2008, 2010-2019, 2021-2022 Free Software Foundation, +# Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Libtool usage in GCC]) +AT_SETUP([AC_NO_EXECUTABLES]) + +mkdir m4 + +AT_DATA([configure.ac], +[[AC_INIT([no-exec], [1]) +AC_CONFIG_MACRO_DIRS([m4]) + +# We punt a bit here, to get the results of AC_PROG_CC +# (and allow it to do link tests) but still error out on +# link tests within Libtool macros. +LDFLAGS=-lnosuchlibrary +AC_NO_EXECUTABLES +AC_PROG_CC +AC_PROG_CXX +AC_PROG_F77 +AC_PROG_FC +AM_PROG_GCJ + +# Consequently, we have to set cache variables for each link +# test we may need. For the purposes of this test, it shouldn't +# matter much whether these values are actually wrong, the point +# is that the linker should never be invoked. + +lt_cv_shlibpath_overrides_runpath=no +lt_cv_archive_cmds_need_lc=no +lt_cv_cc_needs_belf=no +lt_cv_ld_exported_symbols_list=no +lt_cv_prog_compiler_static_works=no +lt_cv_aix_libpath=/usr/lib:/lib +lt_cv_irix_exported_symbol=yes + +# Deal with AC_LIBTOOL_DLOPEN in one of two possible ways: +# - do not execute it at all in the ac_no_link case +# - preset the individual Autoconf test variables + +if ${test_ac_libtool_dlopen-false}; then + ac_cv_func_shl_load=no + ac_cv_lib_dld_shl_load=no + ac_cv_func_dlopen=no + ac_cv_lib_dl_dlopen=no + ac_cv_lib_svld_dlopen=no + ac_cv_lib_dld_dld_link=no + AC_LIBTOOL_DLOPEN +fi +AC_PROG_LIBTOOL + +AC_OUTPUT +]]) + +LT_AT_BOOTSTRAP([--install], [-I m4], [ignore], [ignore], [], [ignore], [ignore]) +LT_AT_CONFIGURE([]) +LT_AT_CONFIGURE([test_ac_libtool_dlopen=:]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/nocase.at b/BUILD/libtool-2.4.7/tests/nocase.at new file mode 100644 index 0000000..f962575 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/nocase.at @@ -0,0 +1,85 @@ +# nocase.at -- test for nocase lib search -*- Autotest -*- +# +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# Written by Peter Rosin, 2007 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_SETUP([nocase library search]) +AT_KEYWORDS([libtool]) + +eval `$LIBTOOL --config | $EGREP '^(want_nocaseglob|file_magic_glob)='` + +AT_CHECK([test yes != "$want_nocaseglob" && ]dnl + [test -z "$file_magic_glob" && exit 77], + [1], [ignore], [ignore]) + +mkdir foo +AT_DATA([foo/Foo.c], +[ +int Foo (void) { return 1; } +]) + +mkdir bar +AT_DATA([bar/bar.c], +[ +extern int Foo (void); +int bar (void) { return Foo (); } +]) + +AT_DATA([main.c], +[ +extern int bar (void); +int main (void) { return bar (); } +]) + +libdir=`pwd`/inst/lib +mkdir inst inst/bin inst/lib + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo/Foo.lo foo/Foo.c +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o foo/libFoo.la foo/Foo.lo ]dnl + [-no-undefined -version-info 1:0:0 -rpath $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp foo/libFoo.la $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=clean rm -f foo/libFoo.la], + [], [ignore], [ignore]) + +rm -f $libdir/libFoo.la + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar/bar.lo bar/bar.c +AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o bar/libbar.la bar/bar.lo ]dnl + [-L$libdir -lfoo -no-undefined -version-info 1:0:0 -rpath $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp bar/libbar.la $libdir], + [], [ignore], [ignore]) + +str=`$EGREP '^(old_library)=' < $libdir/libbar.la` +eval "$str" +libbar=$old_library +rm -f $libdir/$libbar + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.$OBJEXT main.c + +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$libdir -lbar], + [], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/nonrecursive.at b/BUILD/libtool-2.4.7/tests/nonrecursive.at new file mode 100644 index 0000000..854edcf --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/nonrecursive.at @@ -0,0 +1,150 @@ +# nonrecursive.at -- test nonrecursive Automake Libltdl -*- Autotest -*- +# +# Copyright (C) 2005, 2008-2009, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Nonrecursive Automake Libltdl.]) + +# _LT_AT_LTDL_SETUP +# ----------------- +m4_pushdef([_LT_AT_LTDL_SETUP], +[AT_DATA([configure.ac], +[[AC_INIT([subdirectory-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([ltdl/config]) +AC_CONFIG_MACRO_DIRS([ltdl/m4]) +AC_CONFIG_LIBOBJ_DIR([ltdl]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign subdir-objects]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT +LTDL_INIT([nonrecursive]) +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I ltdl/m4 +AUTOMAKE_OPTIONS = 1.9.6 +BUILT_SOURCES = + +AM_CPPFLAGS = +AM_LDFLAGS = + +include_HEADERS = +noinst_LTLIBRARIES = +lib_LTLIBRARIES = foo.la +EXTRA_LTLIBRARIES = + +EXTRA_DIST = + +CLEANFILES = +MOSTLYCLEANFILES = + +include ltdl/ltdl.mk + +foo_la_LDFLAGS = -module -avoid-version -no-undefined +foo_la_SOURCES = foo.c +]]) + +echo 'int dummy = 0;' > foo.c +])# _LT_AT_LTDL_SETUP + +## ------------------------ ## +## Softlinked libltdl tree. ## +## ------------------------ ## + +AT_SETUP([compiling softlinked libltdl]) + +_LT_AT_LTDL_SETUP + +LT_AT_LIBTOOLIZE([--ltdl]) +AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) + +# Support vanilla autoconf-2.59 & automake-1.9.6 +for file in lt__argz.c lt__dirent.c lt__strl.c; do + cp ltdl/$file $file +done + +LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [], [--add-missing --copy], + [], [], [all $tst_dist]) + +AT_CHECK([test -f ltdl/libltdlc.la]) + +AT_CLEANUP + + +## -------------------- ## +## Copied libltdl tree. ## +## -------------------- ## + +AT_SETUP([compiling copied libltdl]) + +_LT_AT_LTDL_SETUP + +LT_AT_LIBTOOLIZE([--copy --ltdl]) +AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) + +# Support vanilla autoconf-2.59 & automake-1.9.6 +for file in lt__argz.c lt__dirent.c lt__strl.c; do + cp ltdl/$file $file +done + +LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [], [--add-missing --copy], + [], [], [all $tst_dist]) + +AT_CHECK([test -f ltdl/libltdlc.la]) + +AT_CLEANUP + + +## ------------------------- ## +## Installable libltdl tree. ## +## ------------------------- ## + +AT_SETUP([installable libltdl]) + +_LT_AT_LTDL_SETUP + +prefix=`pwd`/_inst + +LT_AT_LIBTOOLIZE([--copy --ltdl]) +AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) + +# Support vanilla autoconf-2.59 & automake-1.9.6 +for file in lt__argz.c lt__dirent.c lt__strl.c; do + cp ltdl/$file $file +done + +LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [], [--add-missing --copy], + [], [--enable-ltdl-install --prefix=$prefix], [all install $tst_dist]) + +AT_CHECK([test -f "$prefix/lib/libltdl.la"]) +AT_CHECK([test -f "$prefix/include/ltdl.h"]) + +AT_CLEANUP + +dnl Be careful not to let the definition leak into other tests +m4_popdef([_LT_AT_LTDL_SETUP]) diff --git a/BUILD/libtool-2.4.7/tests/old-m4-iface.at b/BUILD/libtool-2.4.7/tests/old-m4-iface.at new file mode 100644 index 0000000..39b35bd --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/old-m4-iface.at @@ -0,0 +1,197 @@ +# old-m4-iface.at -- exercise old m4 interface to libtool -*- Autotest -*- +# +# Copyright (C) 2005, 2008-2009, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([Support for older m4 interface.]) + +######################################################################## +## +## TODO: +## test all the interfaces currently supported by AU_DEFUN/AU_ALIAS +## test autoupdate on all of those tests' configure.in +## +######################################################################## + +## -------------------------------------------------------- ## +## An overtly simple old-school AM_PROG_LIBTOOL invocation. ## +## -------------------------------------------------------- ## + +AT_SETUP([AM_PROG_LIBTOOL]) + +AT_DATA([configure.in], +[[AC_INIT(old.c) +AM_PROG_LIBTOOL +AC_SUBST([LIBTOOL_DEPS]) +AC_OUTPUT(Makefile) +]]) + +AT_DATA([Makefile.in], +[[COMPILE = @CC@ @CPPFLAGS@ @CFLAGS@ +LINK = @CC@ @CFLAGS@ @LDFLAGS@ -o $@ +SHELL = @SHELL@ +LIBTOOL_DEPS = @LIBTOOL_DEPS@ + +all: libtool old@EXEEXT@ + +old@EXEEXT@: old.@OBJEXT@ + $(LINK) old.@OBJEXT@ + +.SUFFIXES: +.SUFFIXES: .c .@OBJEXT@ + +.c.@OBJEXT@: + $(COMPILE) -c $< + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +]]) + + +AT_DATA([old.c], +[[#include + +int main (void) +{ + printf ("Hello, World!"); + return 0; +} +]]) + +LT_AT_LIBTOOLIZE([--install]) + +# This is slightly bogus, since only libtool.m4 was required in aclocal.m4 +# with libtool-1.5x... +AT_CHECK([test -f aclocal.m4 || + cat "$tst_aclocaldir/libtool.m4" "$tst_aclocaldir/ltoptions.m4" \ + "$tst_aclocaldir/ltsugar.m4" "$tst_aclocaldir/ltversion.m4" \ + "$tst_aclocaldir/lt~obsolete.m4" > aclocal.m4]) + +LT_AT_BOOTSTRAP([ignore], [ignore], [ignore], [ignore], [--force]) + +LT_AT_EXEC_CHECK([./old], 0, [Hello, World!]) + +# Now, test that libtoolize doesn't mistakenly think the user called +# any libtool macros if in fact she didn't. +$SED '/AM_PROG_LIBTOOL/d' configure.in >configure.int +mv -f configure.int configure.in +AT_CHECK([$LIBTOOLIZE -n], [0], [stdout], [stderr]) +# ensure no shell errors: +AT_CHECK([$GREP -v "^libtoolize: " stderr], [1]) +AT_CHECK([$GREP "Remember to add.*LT_INIT.*to configure.in" stdout], [0], [ignore]) +AT_CHECK([$GREP "Consider adding.*LT_WITH_LTDL" stdout], [1]) +AT_CHECK([$GREP "Remember to add.*LT_CONFIG_LTDL_DIR" stdout], [1]) + +AT_CLEANUP + + +## --------------------------- ## +## An old style libltdl build. ## +## --------------------------- ## + +AT_SETUP([AC_WITH_LTDL]) + +_LTDL_PROJECT_FILES + +AT_DATA([configure.in], +[[AC_PREREQ(2.50) +AC_INIT([main.c]) +AC_PROG_MAKE_SET +AC_LIBTOOL_DLOPEN +AM_PROG_LIBTOOL +AC_WITH_LTDL +AC_OUTPUT(Makefile) +]]) + +AT_DATA([Makefile.in], +[[top_srcdir = . +top_builddir = . +COMPILE = @CC@ @INCLTDL@ @CPPFLAGS@ @CFLAGS@ +LTCOMPILE = @LIBTOOL@ --mode=compile $(COMPILE) +LTLINK = @LIBTOOL@ --mode=link @CC@ -no-undefined @CFLAGS@ @LDFLAGS@ -o $@ +SHELL = @SHELL@ +@SET_MAKE@ + +TARGETS = libltdl/libltdlc.la module.la ltdldemo@EXEEXT@ + +all: $(TARGETS) + +libltdl/libltdlc.la: + cd libltdl && $(MAKE) + +module.la: module.lo + $(LTLINK) module.lo -module -avoid-version -rpath /dev/null + +ltdldemo@EXEEXT@: main.@OBJEXT@ module.la libltdl/libltdlc.la + $(LTLINK) main.@OBJEXT@ -dlopen module.la @LIBLTDL@ @LIBS@ + +.SUFFIXES: +.SUFFIXES: .c .@OBJEXT@ .lo + +.c.@OBJEXT@: + $(COMPILE) -c $< + +.c.lo: + $(LTCOMPILE) -c -o $@ $< +]]) + +# Be sure to use the in-tree libltdl, somebody might have removed +# an installed libltdl.la file. +LT_AT_BOOTSTRAP([--ltdl --install], [-I libltdl/m4], [ignore], [ignore], + [--force], [--with-included-ltdl]) + +LT_AT_EXEC_CHECK([./ltdldemo], 0, [ignore]) + +AT_CLEANUP + + +## ---------------------------- ## +## AC_CONFIG_MACRO_DIR support. ## +## ---------------------------- ## + +AT_SETUP([AC_CONFIG_MACRO_DIR]) + +AT_DATA([configure.ac], +[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([m4]) +LT_INIT +AC_OUTPUT +]]) + +AT_DATA(expout, +[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +]]) + +LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/package.m4 b/BUILD/libtool-2.4.7/tests/package.m4 new file mode 100644 index 0000000..4aeaab3 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/package.m4 @@ -0,0 +1,7 @@ +# Signature of the current package. +m4_define([AT_PACKAGE_NAME], [GNU Libtool]) +m4_define([AT_PACKAGE_TARNAME], [libtool]) +m4_define([AT_PACKAGE_VERSION], [2.4.7]) +m4_define([AT_PACKAGE_STRING], [GNU Libtool 2.4.7]) +m4_define([AT_PACKAGE_BUGREPORT], [bug-libtool@gnu.org]) +m4_define([AT_PACKAGE_URL], [http://www.gnu.org/software/libtool/]) diff --git a/BUILD/libtool-2.4.7/tests/pic_flag.at b/BUILD/libtool-2.4.7/tests/pic_flag.at new file mode 100644 index 0000000..87620f5 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/pic_flag.at @@ -0,0 +1,63 @@ +# pic_flag.at -- override the pic_flag at configure time -*- Autotest -*- + +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([override pic_flag at configure time]) + +# Just try to configure the Libtool package with -fpic if we can compile +# with it, for C and C++. + +AT_DATA([foo.c], +[[int data = 42; +int func(void) { return data; } +]]) + +cp foo.c foo.cpp +C_pic_flag='-fpic -DPIC' +AT_CHECK([$CC $CPPFLAGS $CFLAGS $C_pic_flag -c foo.c || exit 77], + [], [stdout], [stderr]) +# The configure test for the PIC flag also checks for warnings. +AT_CHECK([$GREP fpic stdout stderr && exit 77], [1]) +AT_CHECK([[$GREP '[uU]nknown.*option' stdout stderr && exit 77]], [1]) + +CXX_pic_flag='-fpic -DPIC' +if $CXX $CPPFLAGS $CXXFLAGS $CXX_pic_flag -c foo.cpp; then :; else + CXX_pic_flag= +fi + +# Set up a tests/demo.at style project. +_LT_DEMO_SETUP + +# Bootstrap, and configure it so that we can extract libtool --config +# settings. +LT_AT_BOOTSTRAP([], [-I m4], [], [--add-missing], [], + [ignore], [ignore]) + +LT_AT_CONFIGURE([lt_cv_prog_compiler_pic="$C_pic_flag" ]dnl + [lt_cv_prog_compiler_pic_CXX="$CXX_pic_flag"], + [./configure]) +: ${MAKE=make} +AT_CHECK([$MAKE], [], [stdout], [ignore]) +AT_CHECK([if ./libtool --features | $GREP 'enable shared libraries'; then ]dnl + [ $GREP ' -fpic' stdout; else exit 77; fi], [], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/recursive.at b/BUILD/libtool-2.4.7/tests/recursive.at new file mode 100644 index 0000000..832beea --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/recursive.at @@ -0,0 +1,120 @@ +# recursive.at -- test recursive Automake libltdl build -*- Autotest -*- +# +# Copyright (C) 2005, 2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Recursive Automake Libltdl.]) + +# _LT_AT_LTDL_SETUP +# ----------------- +m4_pushdef([_LT_AT_LTDL_SETUP], +[AT_DATA([configure.ac], +[[AC_INIT([subdirectory-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([ltdl/config]) +AC_CONFIG_MACRO_DIRS([ltdl/m4]) +AC_CONFIG_LIBOBJ_DIR([ltdl]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT +LTDL_INIT([recursive]) +AC_CONFIG_FILES([Makefile ltdl/Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I ltdl/m4 +AUTOMAKE_OPTIONS = 1.7 +SUBDIRS = ltdl +lib_LTLIBRARIES = foo.la +foo_la_LDFLAGS = -module -avoid-version -no-undefined +foo_la_SOURCES = foo.c +]]) + +echo 'int dummy = 0;' > foo.c +])# _LT_AT_LTDL_SETUP + +## ------------------------ ## +## Softlinked libltdl tree. ## +## ------------------------ ## + +AT_SETUP([compiling softlinked libltdl]) + +_LT_AT_LTDL_SETUP + +LT_AT_LIBTOOLIZE([--ltdl]) +AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) + +LT_AT_AUTORECONF([--force --verbose --install]) +LT_AT_CONFIGURE +LT_AT_MAKE([all $tst_dist]) + +AT_CHECK([test -f ltdl/libltdlc.la]) + +AT_CLEANUP + + +## -------------------- ## +## Copied libltdl tree. ## +## -------------------- ## + +AT_SETUP([compiling copied libltdl]) + +_LT_AT_LTDL_SETUP + +LT_AT_LIBTOOLIZE([--copy --ltdl]) +AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) + +LT_AT_AUTORECONF([--force --verbose --install]) +LT_AT_CONFIGURE +LT_AT_MAKE([all $tst_dist]) + +AT_CHECK([test -f ltdl/libltdlc.la]) + +AT_CLEANUP + + +## ------------------------- ## +## Installable libltdl tree. ## +## ------------------------- ## + +AT_SETUP([installable libltdl]) + +_LT_AT_LTDL_SETUP + +prefix=`pwd`/_inst + +LT_AT_LIBTOOLIZE([--copy --ltdl]) +AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) + +LT_AT_AUTORECONF([--force --verbose --install]) +LT_AT_CONFIGURE([--enable-ltdl-install --prefix=$prefix]) +LT_AT_MAKE([all install $tst_dist]) + +AT_CHECK([test -f "$prefix/lib/libltdl.la"]) +AT_CHECK([test -f "$prefix/include/ltdl.h"]) + +AT_CLEANUP + +dnl Be careful not to let the definition leak into other tests +m4_popdef([_LT_AT_LTDL_SETUP]) diff --git a/BUILD/libtool-2.4.7/tests/resident.at b/BUILD/libtool-2.4.7/tests/resident.at new file mode 100644 index 0000000..8e395c0 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/resident.at @@ -0,0 +1,148 @@ +# resident.at -- test resident modules -*- Autotest -*- + +# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# Ensure resident modules are not unloaded at program exit: +# they need to be able to invoke atexit handlers. + +AT_SETUP([resident modules]) +AT_KEYWORDS([libltdl]) + +AT_DATA([main.c], +[[#include +#include + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle plugin_handle; + lt_dladvise advise; + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (argc < 2) + { + fprintf (stderr, "usage: %s plugin\n", argv[0]); + return 1; + } + + lt_dlinit (); + if (lt_dladvise_init (&advise) != 0 + || lt_dladvise_ext (&advise) != 0 + || lt_dladvise_resident (&advise) != 0) + { + printf ("advise failure: %s\n", lt_dlerror ()); + err = 1; + } + else + { + plugin_handle = lt_dlopenadvise (argv[1], advise); + if (NULL != plugin_handle) + { + int (*pf) (void); + printf ("plugin opened successfully!\n"); + pf = (int (*) (void)) lt_dlsym (plugin_handle, "setup_plugin"); + if (pf) + pf (); + else + { + printf ("dlsym failure: %s\n", lt_dlerror ()); + err = 1; + } + if (!lt_dlisresident (plugin_handle)) + { + printf ("module wrongly not marked resident\n"); + err = 1; + } + if (lt_dlclose (plugin_handle) != 0) + { + printf ("close failure (expected): %s\n", lt_dlerror ()); + } + else + { + printf ("wrongly closed resident module\n"); + err = 1; + } + } + else + { + printf ("plugin failed to open: %s\n", lt_dlerror ()); + err = 1; + } + if (lt_dladvise_destroy (&advise) != 0) + { + printf ("advise destroy failure: %s\n", lt_dlerror ()); + err = 1; + } + } + lt_dlexit (); + return err; +} +]]) + +AT_DATA([plugin.c], +[[#include +#include + +void +bye (void) +{ + puts ("called from atexit handler"); +} + +#ifdef __cplusplus +extern "C" +#endif +int +setup_plugin (void) +{ + atexit (bye); +} +]]) + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +AT_CHECK([case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac], [], [ignore]) + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" +inst=`pwd`/inst +libdir=$inst/lib + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir ]dnl + [-module -avoid-version plugin.lo], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ]dnl + [-dlopen plugin.la $LIBLTDL], + [], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./main], [], [stdout], [ignore], [./plugin.la]) +AT_CHECK([$GREP 'called from atexit handler' stdout], [], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/runpath-in-lalib.at b/BUILD/libtool-2.4.7/tests/runpath-in-lalib.at new file mode 100644 index 0000000..b7837c3 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/runpath-in-lalib.at @@ -0,0 +1,67 @@ +# runpath-in-lalib.at -- -*- Autotest -*- + +# Copyright (C) 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2007 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([Runpath in libtool library files]) +AT_KEYWORDS([libtool]) + +AT_DATA([a.c], +[[int a () { return 0; } +]]) +AT_DATA([b.c], +[[extern int a (); +int b () { return a (); } +]]) +AT_DATA([m.c], +[[extern int b (); +int main () { return b (); } +]]) + +instdir=`pwd`/inst +libdir=$instdir/lib +bindir=$instdir/bin +addrunpath=`pwd`/foobar + +mkdir $instdir $libdir $bindir + +for file in a.c b.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +$CC $CPPFLAGS $CFLAGS -c m.c +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -R$addrunpath], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir liba.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT libb.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir/liba.la], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp libb.la $libdir/libb.la], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT], [], [ignore], [ignore]) + +AT_CHECK([$GREP /foobar $libdir/liba.la], [], [ignore]) +AT_CHECK([$GREP /foobar $libdir/libb.la], [], [ignore]) + +# TODO: check that m gets -R, too. + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/search-path.at b/BUILD/libtool-2.4.7/tests/search-path.at new file mode 100644 index 0000000..58e6f89 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/search-path.at @@ -0,0 +1,98 @@ +# search-path.at -- test sys_lib_search_path_spec -*- Autotest -*- +# +# Copyright (C) 2006, 2008, 2010-2019, 2021-2022 Free Software +# Foundation, Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([sys_lib_search_path]) +AT_KEYWORDS([libtool]) +LDFLAGS="$LDFLAGS -no-undefined" + +AT_DATA([main.c], +[[extern +#ifdef __cplusplus +"C" +#endif +int inflate (); +int main() +{ + return inflate (); +} +]]) + +$CC $CPPFLAGS $CFLAGS -c main.c +eval `$LIBTOOL --config | $EGREP '^(sys_lib_search_path_spec)='` +eval sys_lib_search_path=\"$sys_lib_search_path_spec\" +no_libz=: +for path in $sys_lib_search_path; do + if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$path -lz + then + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -lz], + [], [ignore], [ignore]) + no_libz=false + break + fi +done + +# If -lz doesn't exist (hello, cross compiler!), we need a dummy test. +if $no_libz; then + AT_CHECK([exit 77]) +fi + +AT_CLEANUP + + +AT_SETUP([sys_lib_search_path on w32]) +AT_KEYWORDS([libtool]) + +# Check if libtool knows the path to system libraries. Using +# a w32 system library since the test is designed to check if +# the libtool handling of the sys_lib_search_path variable is +# correct for MSVC. + +LDFLAGS="$LDFLAGS -no-undefined" + +AT_DATA([gc.c], +[[#include +HCURSOR get_cursor (void) +{ + return GetCursor (); +} +]]) + +eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`" +AT_CHECK([test yes = "$build_libtool_libs" || exit 77]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CC \ + $CC $CPPFLAGS $CFLAGS -o gc.lo -c gc.c || exit 77], + [], [ignore], [ignore]) + +# Ok, compile was fine, then it should be possible to link too. + +AT_CHECK([$LIBTOOL --mode=link --tag=CC --tag=disable-static \ + $CC $CFLAGS $LDFLAGS -o libgc.la gc.lo -rpath /nowhere -luser32], + [], [ignore], [ignore]) + +# If -luser32 was found, then libtool will build a shared library, +# otherwise libtool will fall back to creating a static library. +AT_CHECK([$GREP old_library=\'\' libgc.la], [], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/shlibpath.at b/BUILD/libtool-2.4.7/tests/shlibpath.at new file mode 100644 index 0000000..4898dc4 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/shlibpath.at @@ -0,0 +1,74 @@ +# shlibpath.at -- Test shlibpath settings -*- Autotest -*- +# +# Copyright (C) 2006, 2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2006 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([shlibpath_overrides_runpath]) +AT_KEYWORDS([libtool]) + +mkdir sub sub/lib sub/bin +echo 'int a () { return 0; }' > a.c +echo 'extern int a (); int main () { return a(); }' > m.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib +$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la +$LIBTOOL --mode=clean rm -f liba.la +rm -f sub/lib/liba.la + +$CC $CPPFLAGS $CFLAGS -c m.c +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT -Lsub/lib -la -R`pwd`/sub/lib], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT -Lsub/lib -la], + [], [ignore], [ignore]) + +LT_AT_MVDIR([sub], [moved]) +mkdir sub sub/lib sub/bin +echo 'int wrong_lib () { return 0; }' > a.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib +$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la +$LIBTOOL --mode=clean rm -f liba.la + +eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shlibpath_overrides_runpath)='` + +# No point checking a system with static libraries: +LT_AT_EXEC_CHECK([./m], [1], [ignore], [ignore], [|| exit 1 && exit 77]) + +if test PATH = "$shlibpath_var"; then + addpath=`pwd`/moved/bin +else + addpath=`pwd`/moved/lib +fi +sep= +eval test -n \"\$$shlibpath_var\" && sep=: +eval $shlibpath_var='$addpath$sep$'$shlibpath_var +export $shlibpath_var +if test no != "$shlibpath_overrides_runpath"; then + LT_AT_EXEC_CHECK([./m], [0], [ignore], [ignore]) +else + LT_AT_EXEC_CHECK([./m], [1], [ignore], [ignore], [|| exit 1]) +fi +# Test that shlibpath_var is effective in adding paths at all: +LT_AT_EXEC_CHECK([./m2], [0], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/slist.at b/BUILD/libtool-2.4.7/tests/slist.at new file mode 100644 index 0000000..e267525 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/slist.at @@ -0,0 +1,171 @@ +# slist.at -- test slist.c -*- Autotest -*- +# +# Copyright (C) 2009, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_SETUP([SList functionality]) + +AT_DATA([test-slist.c], [[ +#include +#include +#include +#include +#include +#include "slist.h" + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +void *find_string (SList *item, void *data) +{ + if (data != NULL && STREQ ((const char *) item->userdata, (const char *)data)) + return item; + else + return NULL; +} + +void boxed_delete (void *item) +{ + free (slist_unbox ((SList *) item)); +} + +void *print_item (SList *item, void *userdata) +{ + userdata = userdata; /* unused */ + printf ("%s\n", (const char*)item->userdata); + return NULL; +} + +int list_compare (const SList *item1, const SList *item2, void *userdata) +{ + userdata = userdata; + return strcmp ((const char *) item1->userdata, (const char *)item2->userdata); +} + +int main () +{ + int i; + SList *empty_list = NULL, *list = NULL, *item, *list_save; + char *data = NULL; + + /* slist_cons */ + list = slist_cons (NULL, NULL); + + for (i=0; i < 10; ++i) { + data = (char *) malloc (42); + assert (data); + sprintf (data, "foo%d", i); + list = slist_cons (slist_box (data), list); + } + list_save = list; + list = slist_cons (NULL, list); + assert (list == list_save); + + + /* slist_find */ + assert (slist_find (NULL, find_string, (void *) "whatever") == NULL); + assert (slist_find (empty_list, find_string, (void *) "whatever") == NULL); + assert (slist_find (list, find_string, (void *) "foo10") == NULL); + item = (SList *) slist_find (list, find_string, (void *) "foo1"); + assert (item != NULL); + assert (STREQ ((const char *) item->userdata, "foo1")); + + item = slist_nth (list, 10); + assert (item != NULL && STREQ ((const char *) item->userdata, "foo0")); + + puts ("list as inserted:"); + slist_foreach (list, print_item, NULL); + puts ("reversed list:"); + list = slist_reverse (list); + slist_foreach (list, print_item, NULL); + + item = slist_nth (list, 1); + assert (item != NULL && STREQ ((const char *) item->userdata, "foo0")); + + assert (10 == slist_length (list)); + + /* slist_tail is the second item, not the last one */ + item = slist_tail (list); + assert (item != NULL && STREQ ((const char *) item->userdata, "foo1")); + + assert (slist_tail (slist_nth (list, 10)) == NULL); + + /* slist_sort and implicitly, slist_sort_merge */ + assert (slist_sort (NULL, list_compare, NULL) == NULL); + list = slist_sort (list, list_compare, NULL); + puts ("list after no-op sort:"); + slist_foreach (list, print_item, NULL); + + list = slist_reverse (list); + puts ("reversed list:"); + slist_foreach (list, print_item, NULL); + puts ("sorting reversed list:"); + list = slist_sort (list, list_compare, NULL); + slist_foreach (list, print_item, NULL); + + /* slist_remove */ + assert (slist_remove (NULL, find_string, NULL) == NULL); + assert (slist_remove (&empty_list, find_string, NULL) == NULL); + + list_save = list; + assert (slist_remove (&list, find_string, NULL) == NULL); + assert (list_save == list); + + /* remove entries: middle, last, first, not present */ + /* slist_reverse above has left us with increasing order */ + list_save = list; + item = slist_remove (&list, find_string, (void *) "foo5"); + assert (list_save == list); + assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo5")); + free (data); + + list_save = list; + item = slist_remove (&list, find_string, (void *) "foo9"); + assert (list_save == list); + assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo9")); + free (data); + + list_save = list; + item = slist_remove (&list, find_string, (void *) "foo0"); + assert (list_save != list); + assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo0")); + free (data); + + list_save = list; + item = slist_remove (&list, find_string, (void *) "foo5"); + assert (list_save == list); + assert (item == NULL); + + assert (slist_delete (list, boxed_delete) == NULL); + return 0; +} +]]) + +CPPFLAGS="-I$top_srcdir/libltdl -I$top_srcdir/libltdl/libltdl -I$abs_top_builddir" +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c test-slist.c], + [], [ignore], [ignore]) +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c $top_srcdir/libltdl/slist.c], + [], [ignore], [ignore]) +AT_CHECK([$CC $CFLAGS $LDFLAGS -o test-slist test-slist.$OBJEXT slist.$OBJEXT], + [], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./test-slist], [], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/standalone.at b/BUILD/libtool-2.4.7/tests/standalone.at new file mode 100644 index 0000000..d7aac1e --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/standalone.at @@ -0,0 +1,90 @@ +# standalone.at -- test standalone libltdl builds -*- Autotest -*- +# +# Copyright (C) 2005, 2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2006 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Standalone Libltdl.]) + +## ------------------------ ## +## Softlinked libltdl tree. ## +## ------------------------ ## + +AT_SETUP([compiling softlinked libltdl]) + +LT_AT_CHECK_LIBTOOLIZE([--ltdl=.], [], [ignore]) +LT_AT_CONFIGURE +LT_AT_MAKE([all $tst_dist]) + +AT_CHECK([test -f libltdlc.la]) + +AT_CLEANUP + + +## -------------------- ## +## Copied libltdl tree. ## +## -------------------- ## + +AT_SETUP([compiling copied libltdl]) + +LT_AT_CHECK_LIBTOOLIZE([--copy --ltdl=.], [], [ignore]) +LT_AT_CONFIGURE +LT_AT_MAKE([all $tst_dist]) + +AT_CHECK([test -f libltdlc.la]) + +AT_CLEANUP + + +## ------------------------- ## +## Installable libltdl tree. ## +## ------------------------- ## + +AT_SETUP([installable libltdl]) + +prefix=`pwd`/_inst + +LT_AT_CHECK_LIBTOOLIZE([--copy --ltdl=.], [], [ignore]) +LT_AT_CONFIGURE([--enable-ltdl-install --prefix=$prefix]) +LT_AT_MAKE([all install $tst_dist]) + +AT_CHECK([test -f "$prefix/lib/libltdl.la"]) +AT_CHECK([test -f "$prefix/include/ltdl.h"]) + +AT_CLEANUP + + +## ----------------------------------------------- ## +## libltdl is usable without Autoconf or Automake. ## +## ----------------------------------------------- ## + +AT_SETUP([linking libltdl without autotools]) + +_LTDL_PROJECT_FILES([libltdl]) +LT_AT_CHECK_LIBTOOLIZE([--copy --ltdl], [], [ignore]) +LT_AT_MAKE([], [CC="$CC" LIBTOOLFLAGS="$LIBTOOLFLAGS" CPPFLAGS="$CPPFLAGS" ]dnl + [CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" ]dnl + [CONFIGURE_OPTIONS="$configure_options"]) + +LT_AT_EXEC_CHECK([./ltdldemo], 0, [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/static.at b/BUILD/libtool-2.4.7/tests/static.at new file mode 100644 index 0000000..aee3c0a --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/static.at @@ -0,0 +1,380 @@ +# static.at -- test flags for static/dynamic linking -*- Autotest -*- +# +# Copyright (C) 2006-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2006 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +##### NOTES ##### +# +# - How do we test whether a library was linked statically? +# We could +# - try $NM on the program to see whether it includes the symbol definitions. +# disadvantage: for uninstalled programs, we may need to find out the name +# of the _real_ linked-against-uninstalled executable +# (.libs/prog vs .libs/lt-prog etc). +# - simply remove the libraries before execution. If the program still works, +# then the library was linked statically. +# -Does this work on all systems? +# -No, it will fail on AIX with non-rtl-created libraries: plain '-static' +# will only cause the linker not to consider '*.so' libraries, but only +# '*.a'. The latter, however, may still be shared images. :-/ +# '-all-static' still works, however. +# +# It will not work with dlpreloading until we fix its related bug. +# +# Let's try the latter until we know better. + +# - Test -Bstatic/-Bdynamic. It should work with all of: +# - (un)installed libtool libraries +# - non-libtool libraries +# - direct or pulled-in libraries +# - libraries of which there are only one kind available (TODO) +# (in the static case, should having only the shared one provoke failure?) + +# - Check no extraneous run paths have been added. + +# - make sure -Bstatic/-Bdynamic cannot be mixed with -all-static (TODO) + +# - should -Bstatic/-Bdynamic be mixable with -static or -static-libtool-libs? +# Semantics could be as follows: +# - '-static'/'-static-libtool-libs' set the default, which is the initial +# value, then '-Bstatic'/'-Bdynamic' override that +# - '-Bdefault' resets to the default value given by the other switches. + +# - TODO: test exposure for dlopened and dlpreopened modules, +# without and with diverse static flag combinations. + +# - TODO: test other tags: C++ etc. +# (most likely the Sun compiler suite will be the only problem child). + +AT_SETUP([static linking flags for programs]) +AT_KEYWORDS([libtool]) +AT_KEYWORDS([interactive])dnl Some of the exec_fail test cause popups with MinGW. + +LDFLAGS="$LDFLAGS -no-undefined" +prefix=`pwd`/inst +bindir=$prefix/bin +prefix1=`pwd`/inst1 +prefix2=`pwd`/inst2 +prefix3=`pwd`/inst3 +libdir1=$prefix1/lib +libdir2=$prefix2/lib +libdir3=$prefix3/lib +srcdir_broken=`pwd`/broken-src +prefix_broken=`pwd`/broken +libdir_broken=$prefix_broken/lib +bindir_broken=$prefix_broken/bin + +have_static=false +have_shared=false +per_deplib=false +$LIBTOOL --features | $GREP 'enable static libraries' >/dev/null && have_static=: +$LIBTOOL --features | $GREP 'enable shared libraries' >/dev/null && have_shared=: +eval `$LIBTOOL --config | + $EGREP '^(per_deplib_(static|dynamic)_flag|shlibpath_var|link_static_flag)='` +if test -n "$per_deplib_static_flag" && test -n "$per_deplib_dynamic_flag"; then + per_deplib=: +fi +# On GNU/Linux with --disable-static, m-all-static fails to link. +# What we'd like to state here is: if the user actively passed +# --disable-static (as opposed to: the libtool.m4 macros set +# enable_static=no), then they cannot expect -all-static to work. +# So we punt, knowing that we mangle enable_static on AIX only. +can_link_all_static=-all-static +case $host_os,$have_static,$link_static_flag in + aix*) ;; + *,false,?*) can_link_all_static= ;; +esac + +# Create broken libraries. They will later be moved to those +# directories where the respective libraries should be linked +# statically from. This detects both failure to link statically +# and failure to omit extraneous run paths. +mkdir $srcdir_broken $prefix_broken $libdir_broken +( + cd $srcdir_broken + echo 'int this_should_not_be_linked_against() { return 0; }' > a.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c + for i in 1 1dep 2 2dep 3 3dep; do + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a.lo -rpath $libdir_broken + $LIBTOOL --mode=install cp liba$i.la $libdir_broken/liba$i.la + done +) + +func_fix_path () +{ + # For w32, hardcoding cannot work, but $libdir/../bin is where binaries + # usually are installed. Since we use several prefixes for testing + # convenience -- it allows us to replace the good libraries easily with + # broken ones and vice versa -- we have to set PATH to find them. + # Since OTOH we put broken libs of all names in the "moved" prefixes, + # we have to ensure that this prefix comes last: otherwise we may link + # against a broken library but the good one would come later in the PATH. + # So we let the caller of this function set the order: the "other" two + # come first. + if test PATH = "$shlibpath_var"; then + save_PATH=$PATH + sep= + test -z "$PATH" || sep=: + PATH=$2/bin:$3/bin:$1/bin$sep$PATH + fi + +} + +func_restore_path () +{ + test PATH = "$shlibpath_var" && PATH=$save_PATH +} + +# func_move_libs srcdir_to_move prefix_to_move other_prefix other_prefix +func_move_libs () +{ + LT_AT_MVDIR(["$1"], ["$1-moved"]) + LT_AT_MVDIR(["$2"], ["$2-moved"]) + LT_AT_MVDIR(["$srcdir_broken"], ["$1"]) + LT_AT_MVDIR(["$prefix_broken"], ["$2"]) + func_fix_path "$2" "$3" "$4" +} + +# func_restore_libs srcdir_to_restore prefix_to_restore +func_restore_libs () +{ + func_restore_path + LT_AT_MVDIR(["$2"], ["$prefix_broken"]) + LT_AT_MVDIR(["$1"], ["$srcdir_broken"]) + LT_AT_MVDIR(["$2-moved"], ["$2"]) + LT_AT_MVDIR(["$1-moved"], ["$1"]) +} + +# make sure the program can be run. +func_test_exec () +{ + # On AIX without runtimelinking, this does not make sense. + if $have_static; then + echo "## The following should succeed:" + for st + do + echo "# m$st" + LT_AT_EXEC_CHECK([./m$st]) + # For some per-deplib flag combinations there may be no installed program, + # because liba2 is not yet installed. + if test -f "$bindir/m$st$EXEEXT"; then + LT_AT_EXEC_CHECK([$bindir/m$st]) + fi + done + fi +} + +# make sure the program cannot be run. +func_test_exec_fail () +{ + # No point in testing if we're linking statically anyway. + # TODO: Maybe in the 'else' case we could test for success? + if $have_shared; then + echo "## The following should fail:" + for st + do + echo "# m$st" + LT_AT_EXEC_CHECK([./m$st], [1], [], [ignore], [|| (exit 1)]) + # For some per-deplib flag combinations there may be no installed program, + # because liba2 is not yet installed. + if test -f "$bindir/m$st$EXEEXT"; then + LT_AT_EXEC_CHECK([$bindir/m$st], [1], [], [ignore], [|| (exit 1)]) + fi + done + fi +} + + +# Try three independent libraries, +# one installed libtool library, +# one uninstalled libtool library, +# one non-libtool library, +# the libtool libraries each having a dependency, or not. +# Try both an uninstalled and the corresponding installed program. + +for withdep in no yes; do + echo + echo "### libraries with dependencies: $withdep" + rm -rf src $prefix $prefix1 $prefix2 $prefix3 + mkdir src $prefix $bindir $prefix1 $prefix2 $prefix3 + cd src + + ### build the libraries. + for i in 1 2 3; do + eval ldir=\$libdir$i + mkdir a$i $ldir + cd a$i + case $withdep,$i in + no,* | yes,3) + echo "int a$i() { return 0; }" > a$i.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -rpath $ldir + ;; + *) + echo "int a${i}dep() { return 0; }" > a${i}dep.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a${i}dep.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba${i}dep.la a${i}dep.lo -rpath $ldir + echo "extern int a${i}dep(); int a$i() { return a${i}dep(); }" > a$i.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -rpath $ldir ./liba${i}dep.la + ;; + esac + cd .. + done + + ### install the libraries. + test yes = "$withdep" && $LIBTOOL --mode=install cp a1/liba1dep.la $libdir1/liba1dep.la + $LIBTOOL --mode=install cp a1/liba1.la $libdir1/liba1.la + $LIBTOOL --mode=install cp a3/liba3.la $libdir3/liba3.la + $LIBTOOL --mode=clean rm -f a1/liba1.la a3/liba3.la + test yes = "$withdep" && $LIBTOOL --mode=clean rm -f a1/liba1dep.la + # simulate a non-libtool lib: + rm -f $libdir3/liba3.la + + + ### build the programs. + echo 'extern int a1(), a2(), a3(); + int main() { return a1() + a2() + a3(); }' > m.c + $CC $CPPFLAGS $CFLAGS -c m.c + + # global static flags. + for st in -static -static-libtool-libs $can_link_all_static; do + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o m$st$EXEEXT m.$OBJEXT \ + -L$libdir1 -la1 a2/liba2.la -L$libdir3 -R$libdir3 -la3], + [0], [ignore], [ignore]) + done + + # per-deplib static/shared flags. + # also try a bit redundant flags, and shuffled order (for run paths check). + if $per_deplib; then + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la -L$libdir3 -R$libdir3 -la3], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT \ + -L$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic -L$libdir3 -R$libdir3 -la3], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT m.$OBJEXT \ + -L$libdir1 -la1 a2/liba2.la -L$libdir3 -Bstatic -la3 -Bdynamic], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m12$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 a2/liba2.la -Bdynamic -L$libdir3 -R$libdir3 -la3], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m13$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la \ + -L$libdir3 -Bstatic -la3 -Bdynamic], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m31$EXEEXT m.$OBJEXT \ + -L$libdir3 -Bstatic -la3 -Bdynamic a2/liba2.la \ + -L$libdir1 -Bstatic -la1 -Bdynamic], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m23$EXEEXT m.$OBJEXT \ + -L$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic \ + -L$libdir3 -Bstatic -la3 -Bdynamic], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 a2/liba2.la -L$libdir3 -la3 -Bdynamic], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123a$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 -Bdynamic -Bstatic a2/liba2.la -Bdynamic \ + -Bstatic -L$libdir3 -la3 -Bdynamic], + [0], [ignore], [ignore]) + dnl # This usually fails. So don't do it. + dnl AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123b$EXEEXT m.$OBJEXT \ + dnl -L$libdir1 -Bstatic -la1 a2/liba2.la -L$libdir3 -la3], + dnl [0], [ignore], [ignore]) + fi + + ### install the programs. + # We can't install any program that links dynamically against liba2. + for st in -static -static-libtool-libs $can_link_all_static `$per_deplib && echo 2 12 23 123 123a`; do + echo "# m$st" + AT_CHECK([$LIBTOOL --mode=install cp m$st$EXEEXT $bindir/m$st$EXEEXT], [0], [ignore], [stderr]) + if $have_static; then + AT_CHECK([$EGREP 'relinking|has not been installed' stderr], [1], [], []) + fi + done + dnl AT_CHECK([$LIBTOOL --mode=install cp m123b$EXEEXT $bindir/m123b$EXEEXT], [0], [ignore], [ignore]) + + + ### Run each program once so that relinking has happened. + + func_fix_path $prefix1 $prefix2 $prefix3 + func_test_exec -static -static-libtool-libs -all-static `$per_deplib && echo 1 2 3 12 13 23 31 123 123a` + func_restore_path + + # For each library: + # - remove the library images to catch failure to link statically/dynamically, + # - add false other deplibs in the paths to catch (some) wrongly added run paths. + + # if '-all-static' does not work, do not exercise it any more. + all_static=-all-static + test -z "$link_static_flag" && all_static= + + echo "### test whether installed libtool library liba2 was linked statically" + func_move_libs a2 $prefix2 $prefix3 $prefix1 + func_test_exec -static -static-libtool-libs $all_static `$per_deplib && echo 2 12 23 123 123a` + $per_deplib && func_test_exec_fail 1 3 13 31 + func_restore_libs a2 $prefix2 + + echo "### test whether uninstalled libtool library liba1 was linked statically" + func_move_libs a1 $prefix1 $prefix2 $prefix3 + func_test_exec -static-libtool-libs $all_static `$per_deplib && echo 1 12 13 31 123 123a` + $per_deplib && func_test_exec_fail -static 2 3 23 + func_restore_libs a1 $prefix1 + + echo "### test whether non-libtool library liba3 was linked statically" + func_move_libs a3 $prefix3 $prefix1 $prefix2 + func_test_exec $all_static `$per_deplib && echo 3 13 23 31 123 123a` + # no '-static-libtool-libs' flag below, because some hosts such as + # Cray prefer static libs by default. + # and doesn't exercise anything not already tested above: + func_test_exec_fail -static `$per_deplib && echo 1 2 12` + func_restore_libs a3 $prefix3 + + cd .. +done + +AT_CLEANUP + + +AT_SETUP([ccache -all-static]) + +AT_DATA([ccache], +[[#! /bin/sh +# poor man's ccache clone +case $1 in +-*) echo "bogus argument: $1" >&2; exit 1 ;; +esac +exec "$@" +]]) +chmod +x ./ccache + +AT_DATA([a.c], +[[int main(void) { return 0; } +]]) + +AT_CHECK([$CC $CPPFLAGS $CFLAGS -c a.c], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --mode=link --tag=CC ./ccache $CC $CFLAGS $LDFLAGS -all-static a.$OBJEXT -o a$EXEEXT], + [], [ignore], [ignore]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/stresstest.at b/BUILD/libtool-2.4.7/tests/stresstest.at new file mode 100644 index 0000000..c59007a --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/stresstest.at @@ -0,0 +1,291 @@ +# stresstest.at -- Libtool stress test -*- Autotest -*- +# +# Copyright (C) 2005-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Ralf Wildenhues, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +# Test various flag and option combinations. +# Test linkage against objects in various sections. + +# Note: This test is experimental, and might be too strict for some systems. + +AT_BANNER([Libtool stress test.]) +AT_SETUP([Link option thorough search test]) +AT_KEYWORDS([libtool expensive]) +eval `$LIBTOOL --config | $EGREP '^(CC|objdir|allow_undefined_flag)='` + +mkdir sub sub2 sub3 2>/dev/null + +AT_DATA(a.c, +[[/* all kinds of data items */ +#ifdef __cplusplus +extern "C" { +#endif +int v1; +static int v2; +int v3 = 0; +int v4 = 1; +extern const int v5, v6; +extern const char *v7; +extern const char v8[]; +extern int (*const v12) (void); +const int v5 = 0; +const int v6 = 1; +const char* v7 = "\01foo"; +const char v8[] = "\01bar"; +int v9(void) { return v2 + 1; } +int (*v10) (void); +int (*v11) (void) = v9; +int (*const v12) (void) = v9; + +typedef struct { int arr[1000]; } large; +large v13; +large v14 = { { 0 } }; +large v15 = { { 1 } }; +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA(asyms, +[[v1 +v3 +v4 +v5 +v6 +v7 +v8 +v9 +v10 +v11 +v12 +v13 +v14 +v15 +]]) + +AT_DATA(b.c, +[[int b = 42; +int b3 = 1; +int ab = 1; +]]) + +AT_DATA(main.c, +[[ +#if defined LIBA_DLL_IMPORT +# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ +# define LIBA_SCOPE extern __declspec(dllimport) +# if defined _MSC_VER +# define LIBA_SCOPE_VAR LIBA_SCOPE +# endif +# endif +#endif +#if !defined LIBA_SCOPE +# define LIBA_SCOPE extern +#endif +#if !defined LIBA_SCOPE_VAR +# define LIBA_SCOPE_VAR extern +#endif +#ifdef __cplusplus +extern "C" { +#endif +LIBA_SCOPE_VAR int v1; +LIBA_SCOPE_VAR int v3, v4; +LIBA_SCOPE const int v5, v6; +LIBA_SCOPE_VAR const char* v7; +LIBA_SCOPE_VAR const char v8[]; +extern int v9(void); +LIBA_SCOPE_VAR int (*v10) (void); +LIBA_SCOPE_VAR int (*v11) (void); +LIBA_SCOPE int (*const v12) (void); +#ifdef __cplusplus +} +#endif + +typedef struct { int arr[1000]; } large; +LIBA_SCOPE_VAR large v13, v14, v15; + +int main(void) +{ + char s = v7[0] + v8[0]; + return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() + + v13.arr[0] + v14.arr[0] + v15.arr[0] + - 8; +} +]]) + +AT_DATA(dlself.c, +[[ +#if defined LIBA_DLL_IMPORT +# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ +# define LIBA_SCOPE extern __declspec(dllimport) +# if defined _MSC_VER +# define LIBA_SCOPE_VAR LIBA_SCOPE +# endif +# endif +#endif +#if !defined LIBA_SCOPE +# define LIBA_SCOPE extern +#endif +#if !defined LIBA_SCOPE_VAR +# define LIBA_SCOPE_VAR extern +#endif +#ifdef __cplusplus +extern "C" { +#endif +LIBA_SCOPE_VAR int v1; +LIBA_SCOPE_VAR int v3, v4; +LIBA_SCOPE const int v5, v6; +LIBA_SCOPE_VAR const char* v7; +LIBA_SCOPE_VAR const char v8[]; +extern int v9(void); +LIBA_SCOPE_VAR int (*v10) (void); +LIBA_SCOPE_VAR int (*v11) (void); +LIBA_SCOPE int (*const v12) (void); + +typedef struct { int arr[1000]; } large; +LIBA_SCOPE_VAR large v13, v14, v15; + +extern int w1; +extern int w3, w4; +extern const int w5, w6; +extern const char* w7; +extern const char w8[]; +extern int w9(void); +extern int (*w10) (void); +extern int (*w11) (void); +extern int (*const w12) (void); +extern large w13, w14, w15; +#ifdef __cplusplus +} +#endif + +int main(void) +{ + char s = v7[0] + v8[0] + w7[0] + w8[0]; + return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() + + v13.arr[0] + v14.arr[0] + v15.arr[0] + + w1 + w3 + w4 + w5 + w6 + w9() + w11() + w12() + + w13.arr[0] + w14.arr[0] + w15.arr[0] + - 16; +} + + +#ifdef __cplusplus +extern "C" { +#endif +int w1; +static int w2; +int w3 = 0; +int w4 = 1; +const int w5 = 0; +const int w6 = 1; +const char* w7 = "\01foo"; +const char w8[] = "\01bar"; +int w9(void) { return w2 + 1; } +int (*w10) (void); +int (*w11) (void) = w9; +int (*const w12) (void) = w9; +large w13; +large w14 = { { 0 } }; +large w15 = { { 1 } }; +#ifdef __cplusplus +} +#endif +]]) + +AT_DATA(dlselfsyms, +[[w1 +w3 +w4 +w5 +w6 +w7 +w8 +w9 +w10 +w11 +w12 +w13 +w14 +w15 +]]) + + +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -o sub/a.lo], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c -o sub/b.lo], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c -o main-static.lo], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c dlself.c -o sub3/dlself.lo], + [0],[ignore],[ignore]) +AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c dlself.c -o sub3/dlself-static.lo], + [0],[ignore],[ignore]) + +case $allow_undefined_flag in + unsupported) undef_opts=-no-undefined ;; + *) undef_opts='"" -no-undefined' ;; +esac + +# expose problems with the regex: +touch vfoo v.bar + +for l1 in $undef_opts +do + for l2 in '' '-export-symbols-regex "v.*"' '-export-symbols asyms' + do + for l3 in '' '-rpath /nonexistent' + do + linkargs="$l1 $l2 $l3" + for rel in '' ./ `pwd`/ + do + LT_AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o "$rel"sub2/liba.la "$rel"sub/a.lo' $linkargs], + [0],[ignore],[ignore]) + for st in '' '-static' '-no-install' + do + # if '-static' is not passed, and the library is shared, then we have + # to use -DLIBA_DLL_IMPORT, thus main.lo (and not main-static.lo). + case $st,$l3 in + -static,*) mst=-static ;; + *,-rpath*) mst= ;; + *) mst=-static ;; + esac + + LT_AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o "$rel"main$EXEEXT "$rel"main$mst.lo "$rel"sub2/liba.la], + [0],[ignore],[ignore]) + LT_AT_EXEC_CHECK([./main],[0]) + for l10 in '' '-export-symbols dlselfsyms' + do + LT_AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o "$rel"sub3/dlself$EXEEXT "$rel"sub3/dlself$mst.lo "$rel"sub2/liba.la sub/b.lo -dlopen self $l10], + [0],[ignore],[ignore]) + LT_AT_EXEC_CHECK([./sub3/dlself],[0]) + done + done + done + done + done +done + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/subproject.at b/BUILD/libtool-2.4.7/tests/subproject.at new file mode 100644 index 0000000..67b1a31 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/subproject.at @@ -0,0 +1,123 @@ +# subproject.at -- test subproject Libltdl builds -*- Autotest -*- +# +# Copyright (C) 2005, 2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([Subproject Libltdl.]) + +# _LT_AT_LTDL_SETUP +# ----------------- +m4_pushdef([_LT_AT_LTDL_SETUP], +[AT_DATA([configure.ac], +[[AC_INIT([subproject-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +LT_CONFIG_LTDL_DIR([sub/ltdl]) +AC_CONFIG_AUX_DIR([sub/ltdl/config]) +AC_CONFIG_MACRO_DIRS([sub/ltdl/m4]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT +LT_WITH_LTDL +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ACLOCAL_AMFLAGS = -I sub/ltdl/m4 +AUTOMAKE_OPTIONS = 1.9 +SUBDIRS = sub/ltdl +lib_LTLIBRARIES = foo.la +foo_la_LDFLAGS = -module -avoid-version -no-undefined +]]) + +echo 'int dummy = 0;' > foo.c +])# _LT_AT_LTDL_SETUP + +## ------------------------ ## +## Softlinked libltdl tree. ## +## ------------------------ ## + +AT_SETUP([compiling softlinked libltdl]) + +_LT_AT_LTDL_SETUP + +LT_AT_BOOTSTRAP([--ltdl], [-I sub/ltdl/m4], [ignore], [--add-missing --copy], + [], [], [all $tst_dist]) + +AT_CHECK([test -f sub/ltdl/libltdlc.la]) + +AT_CLEANUP + + +## -------------------- ## +## Copied libltdl tree. ## +## -------------------- ## + +AT_SETUP([compiling copied libltdl]) + +_LT_AT_LTDL_SETUP + +LT_AT_BOOTSTRAP([--copy --ltdl], [-I sub/ltdl/m4], [ignore], + [--add-missing --copy], [], [], [all $tst_dist]) + +AT_CHECK([test -f sub/ltdl/libltdlc.la]) + +AT_CLEANUP + + +## ------------------------- ## +## Installable libltdl tree. ## +## ------------------------- ## + +AT_SETUP([installable libltdl]) + +prefix=`pwd`/_inst + +_LT_AT_LTDL_SETUP + +LT_AT_BOOTSTRAP([--copy --ltdl], [-I sub/ltdl/m4], [ignore], + [--add-missing --copy], [], [--enable-ltdl-install --prefix=$prefix], + [all install $tst_dist]) + +AT_CHECK([test -f "$prefix/lib/libltdl.la"]) +AT_CHECK([test -f "$prefix/include/ltdl.h"]) + +AT_CLEANUP + + +## ----------------------------------------------- ## +## libltdl is usable without Autoconf or Automake. ## +## ----------------------------------------------- ## + +AT_SETUP([linking libltdl without autotools]) + +_LTDL_PROJECT_FILES([sub/ltdl]) +LT_AT_LIBTOOLIZE([--copy --ltdl=sub/ltdl]) +LT_AT_MAKE([], [CC="$CC" LIBTOOLFLAGS="$LIBTOOLFLAGS" CPPFLAGS="$CPPFLAGS" ]dnl + [CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" SHELL="$SHELL" MAKE="${MAKE-make}" ]dnl + [CONFIGURE_OPTIONS="$configure_options"]) + +LT_AT_EXEC_CHECK([./ltdldemo], 0, [ignore]) + +AT_CLEANUP + +dnl Be careful not to let the definition leak into other tests +m4_popdef([_LT_AT_LTDL_SETUP]) diff --git a/BUILD/libtool-2.4.7/tests/sysroot.at b/BUILD/libtool-2.4.7/tests/sysroot.at new file mode 100644 index 0000000..540edde --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/sysroot.at @@ -0,0 +1,209 @@ +# static.at -- test flags for sysrooting -*- Autotest -*- +# +# Copyright (C) 2009, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. +# Written by Paolo Bonzini, 2009 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +m4_define([SYSROOT_TEST], [ +AT_SETUP([$1]) +AT_KEYWORDS([libtool sysroot]) + +gcc_sysroot=`$CC --print-sysroot 2> /dev/null` +if test $? != 0; then + gcc_sysroot= +fi +AT_CHECK([test -n "$gcc_sysroot" || exit 77]) + +# Detect installation prefix for the compiler +prefix= +for i in crt0.o crt1.o crt2.o crti.o; do + j=`$CC --print-file-name $i 2> /dev/null` + test $? = 0 || continue + case $j in + $gcc_sysroot*/lib/$i) + prefix=`echo "$j" | $SED "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"` + break ;; + esac +done +AT_CHECK([test -n "$prefix" || exit 77]) + +sysroot=`pwd`/sys-root + +# difficult to use AS_DIRNAME inside the AT_CHECK macro, so +# encapsulate as a shell function. +local_dirname() { + AS_DIRNAME(["$[]1"]) +} + +AT_CHECK([ +(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \! -type d) | \ +while read file; do + dir=`local_dirname "$sysroot/$file"` + test -d "$dir" || mkdir -p "$dir" + rm -f "$sysroot/$file" + ln -s "$gcc_sysroot/$file" "$sysroot/$file" || \ + cp "$gcc_sysroot/$file" "$sysroot/$file" +done]) + +LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined" +configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix" + +#??? +if test PATH = "$shlibpath_var"; then + configure_options="$configure_options --libdir=/$prefix/bin" +fi + +AT_CHECK([mkdir lib1 lib2 prog]) + +# Build and install package 1. +AT_DATA([lib1/configure.ac], +[[AC_INIT([lib1], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([lib1.c]) +LT_INIT +AC_OUTPUT(Makefile) +]]) + +AT_DATA([lib1/Makefile.am], +[[lib_LTLIBRARIES = lib1.la +lib1_la_SOURCES = lib1.c +lib1_la_LDFLAGS = -rpath $(libdir) +]]) + +AT_DATA([lib1/lib1.c], +[[#include +#include +char *f(const char *s) +{ + return strdup (s); +} +]]) + +cd lib1 +LT_AT_BOOTSTRAP([], [-I $abs_top_srcdir/libltdl/m4], [ignore], + [--add-missing], [], [], [all]) + +AT_CHECK([$MAKE install DESTDIR=$sysroot], [0], [ignore], [ignore]) +AT_CHECK([test -f "$sysroot/$prefix/lib/lib1.la"]) +AT_CHECK([$GREP -F "$sysroot" "$sysroot/$prefix/lib/lib1.la"], [1]) +cd .. + +# Build and install package 2. +AT_DATA([lib2/configure.ac], +[[AC_INIT([lib2], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([lib2.c]) +LT_INIT +sysroot=$with_sysroot +AC_SUBST([sysroot]) +AC_OUTPUT(Makefile) +]]) + +AT_DATA([lib2/Makefile.am], +[[lib_LTLIBRARIES = lib2.la +lib2_la_SOURCES = lib2.c +lib2_la_LDFLAGS = -rpath $(libdir) +lib2_la_LIBADD = $2]1[$3 +]]) + +AT_DATA([lib2/lib2.c], +[[#include +#include +#include +extern char *f(const char *s); +char *g(const char *s) +{ + char *q = f(s); + puts (q); + return q; +} +]]) + +cd lib2 +LT_AT_BOOTSTRAP([], [-I $abs_top_srcdir/libltdl/m4], [ignore], + [--add-missing], [], [], [all]) + +AT_CHECK([$MAKE install DESTDIR=$sysroot], [0], [ignore], [ignore]) +AT_CHECK([test -f "$sysroot/$prefix/lib/lib2.la"]) +AT_CHECK([$GREP -F "$sysroot" "$sysroot/$prefix/lib/lib2.la"], [1]) +cd .. + +# Build and install a program. +AT_DATA([prog/configure.ac], +[[AC_INIT([prog], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([prog.c]) +LT_INIT +sysroot=$with_sysroot +AC_SUBST([sysroot]) +AC_OUTPUT(Makefile) +]]) + +AT_DATA([prog/Makefile.am], +[[bin_PROGRAMS = prog +prog_SOURCES = prog.c +prog_LDADD = $2]2[$3 +]]) + +AT_DATA([prog/prog.c], +[[#include +#include +#include +extern char *g(const char *s); +int main() +{ + char *q = g("hello world"); + free (q); + return 0; +} +]]) + +cd prog +LT_AT_BOOTSTRAP([], [-I $abs_top_srcdir/libltdl/m4], [ignore], + [--add-missing], [], [], [all]) + +AT_CHECK([$MAKE install DESTDIR=$sysroot], [0], [ignore], [ignore]) +AT_CHECK([test -f "$sysroot/$prefix/bin/prog$EXEEXT"]) +AT_CHECK([$GREP -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT"], [1]) +AT_CHECK([$GREP "'.*=" $sysroot/$prefix/lib/lib2.la], [0], [ignore]) +AT_CHECK([./libtool --mode=finish $sysroot/$prefix/lib/lib@<:@12@:>@.la], [0], [ignore]) +AT_CHECK([$GREP "'.*=" $sysroot/$prefix/lib/lib@<:@12@:>@.la], [1]) + +# missing tests +# 1) pass absolute .la files +# 2) pass absolute -L +# 2) pass relative .la files + +cd .. +AT_CLEANUP +]) + +AT_BANNER([sysroot tests]) +SYSROOT_TEST([-L=.../lib -l], [-L=$(libdir) -l], []) +SYSROOT_TEST([-L SYSROOT/.../lib -l], [-L$(sysroot)$(libdir) -l], []) +SYSROOT_TEST([SYSROOT/.../*.la], [$(sysroot)$(libdir)/lib], [.la]) + +dnl This one does not make sense. +dnl SYSROOT_TEST([=.../*.la], [=$(libdir)/lib], [.la]) diff --git a/BUILD/libtool-2.4.7/tests/tagdemo.at b/BUILD/libtool-2.4.7/tests/tagdemo.at new file mode 100644 index 0000000..995bdd4 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/tagdemo.at @@ -0,0 +1,396 @@ +# tagdemo.at -- C++ Language support. -*- Autotest -*- +# +# Copyright (C) 2003-2005, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2003 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + + +AT_BANNER([C++ language support.]) + + +# _LT_SETUP +# --------- +m4_define([_LT_SETUP], +[LT_AT_TAG([CXX]) +AT_KEYWORDS([libtool]) + +AT_DATA([configure.ac], +[[AC_INIT([tagdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CC_C_O +AC_PROG_CXX +AC_PROG_CXXCPP + +# Check for namespace support and new-style headers +AC_LANG_PUSH([C++]) +AC_MSG_CHECKING([whether the compiler implements namespaces]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], + [[using namespace A::B; return i;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_NAMESPACES],[1], + [define if the compiler implements namespaces])], + [AC_MSG_RESULT([no])]) + +AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif ]], [[cout << "bingo\n"; return 0;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_IOSTREAM],[1], + [define if the compiler has ISO C++ iostream])], + [AC_MSG_RESULT([no])]) +AC_LANG_POP([C++]) + +AC_LANG([C++]) +LT_INIT + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libconv.la +lib_LTLIBRARIES = libfoo.la libbaz.la + +libfoo_la_SOURCES = foo.cpp +libfoo_la_LDFLAGS = -no-undefined +libfoo_la_LIBADD = libconv.la $(LIBM) + +# Test some of the ILD support when using tagged configurations. +libbaz_la_SOURCES = baz.cpp +libbaz_la_LDFLAGS = -no-undefined +libbaz_la_LIBADD = libfoo.la + +# Test convenience libraries. +libconv_la_SOURCES = conv.cpp +libconv_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h baz.h conv.h + +bin_PROGRAMS = tagdemo + +tagdemo_SOURCES = main.cpp +tagdemo_LDADD = libbaz.la libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +]]) + +AT_DATA([main.cpp], +[[#include +#if HAVE_IOSTREAM +# include +#else +# include +#endif + +#include "foo.h" +#include "baz.h" +#include "conv.h" + +#if HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +int main (int, char *[]) +{ + cout << "Welcome to GNU libtool tagdemo C++!" << endl; + + foobar_derived FB; + // Instantiate the derived class. + + foobar *fb = &FB; + // Have some fun with polymorphism. + + int value = fb->hello(); + + cout << "foobar::hello returned: " << value << endl; + if (value = HELLO_RET) + cout << "foobar::hello is ok!" << endl; + + if (fb->foo() == FOO_RET) + cout << "foobar::foo is ok!" << endl; + + // -------------- + + barbaz_derived BB; + // Instantiate the derived class. + + barbaz *bb = &BB; + // Have some fun with polymorphism. + + // barbaz_derived::baz() should return FOO_RET since it calls + // foobar_derived::foo(), which in turn calls ::foo(). + if (bb->baz() == FOO_RET) + cout << "barbaz::baz is ok!" << endl; + + // -------------- + + if (convenience()) + cout << "convenience is ok!" << endl; + + return 0; +} +]]) + +AT_DATA([foo.h], +[[#ifndef FOO_H +#define FOO_H +// Silly constants that the functions return. +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +// Our C test functions. +extern "C" +{ + int foo(void); + int hello(void); +} + +// Our test C++ base class. +class foobar +{ +public: + virtual int foo(void) = 0; + virtual int hello(void) = 0; + // Some dummy pure virtual functions. +}; + + +// Our test C++ derived class. +class foobar_derived : public foobar +{ +public: + virtual int foo(void); + virtual int hello(void); + // Override the base class' pure virtual functions. +}; + +#endif +]]) + +AT_DATA([foo.cpp], +[[#include +#ifdef HAVE_IOSTREAM +# include +#else +# include +#endif + +#ifdef HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +#include + +#include "foo.h" + +// Our C functions. +int +foo(void) +{ + cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; + return FOO_RET; +} + +int +hello(void) +{ + cout << "** This is libfoo (tagdemo) **" << endl; + return HELLO_RET; +} + + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +foobar_derived::foo(void) +{ + return ::foo(); +} + +int +foobar_derived::hello(void) +{ + return ::hello(); +} +]]) + +AT_DATA([baz.h], +[[#ifndef BAZ_H +#define BAZ_H 1 + +// Our test C++ base class. +class barbaz +{ +public: + virtual int baz(void) = 0; + // Some dummy pure virtual functions. +}; + +// Our test C++ derived class. +class barbaz_derived : public barbaz +{ +public: + virtual int baz(void); + // Override the base class' pure virtual functions. +}; + +#endif +]]) + +AT_DATA([baz.cpp], +[[#include + +#include "foo.h" +#include "baz.h" + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +barbaz_derived::baz(void) +{ + foobar_derived FB; + + return FB.foo(); +} +]]) + +AT_DATA([conv.h], +[[#ifndef CONV_H +#define CONV_H + +// Our C test functions. +extern "C" +{ + int convenience(void); +} + +#endif +]]) + +AT_DATA([conv.cpp], +[[#include + +#include "conv.h" + +//Our C function. +int convenience (void) { return 1; } +]]) + +LT_AT_HOST_DATA([expout], +[[Welcome to GNU libtool tagdemo C++! +** This is libfoo (tagdemo) ** +foobar::hello returned: 57616 +foobar::hello is ok! +cos (0.0) = 1 +foobar::foo is ok! +cos (0.0) = 1 +barbaz::baz is ok! +convenience is ok! +]]) + +prefix=`pwd`/_inst +]) # _LT_SETUP + + +## --------------- ## +## Tagdemo static. ## +## --------------- ## + +AT_SETUP([static library]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-shared], + [^build_old_libs=yes], [^build_libtool_libs=no]) +LT_AT_CHECK_EXECUTE([], [./tagdemo]) + +AT_CLEANUP + + +## --------------- ## +## Tagdemo shared. ## +## --------------- ## + +AT_SETUP([shared library]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([--disable-static], + [^build_old_libs=no], [^build_libtool_libs=yes]) +LT_AT_CHECK_EXECUTE([], [./tagdemo]) + +AT_CLEANUP + + +## ------------- ## +## Tagdemo conf. ## +## ------------- ## + +AT_SETUP([shared and static together]) + +_LT_SETUP + +LT_AT_CHECK_CONFIG([], + [^build_old_libs=yes], [^build_libtool_libs=yes]) +LT_AT_CHECK_EXECUTE([], [./tagdemo]) + +AT_CLEANUP + + +## -------------- ## +## Tagdemo undef. ## +## -------------- ## + +AT_SETUP([allow_undefined_flag]) + +_LT_SETUP + +LT_AT_BOOTSTRAP([], [-I m4], [], [--add-missing], [], + [--disable-static], [ignore]) +AT_CHECK([$GREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77)], + 1, [ignore]) +$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool +LT_AT_CHECK_EXECUTE([], [./tagdemo]) + + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/template.at b/BUILD/libtool-2.4.7/tests/template.at new file mode 100644 index 0000000..1d41ead --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/template.at @@ -0,0 +1,324 @@ +# template.at -- test C++ templates with libtool -*- Autotest -*- +# +# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Markus Christen, 2005 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +AT_BANNER([C++ template tests.]) + +AT_SETUP([simple template test]) +LT_AT_TAG([CXX]) +AT_KEYWORDS([libtool]) + +AT_DATA(aclib.h, +[[int cf(int); +]]) + +AT_DATA(aclib.cpp, +[[#include "aclib.h" +template + +T cq(T b) +{ + return b * 3; +} + +int cf(int i) +{ + return cq(i); +} +]]) + +AT_DATA(alib.h, +[[int f(int); +]]) + +AT_DATA(alib.cpp, +[[#include "alib.h" + +template +T q(T b) +{ + return b * 2; +} + +int f(int i) +{ + return q(i); +} +]]) + +AT_DATA(prog.cpp, +[[#include "alib.h" +#include "aclib.h" + +int main() +{ + return f(3) + 3 - cf(3) != 0; +} +]]) + +AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o alib.lo alib.cpp], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o aclib.lo aclib.cpp], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libaclib.la aclib.lo], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libalib.la -rpath /nonexistent alib.lo libaclib.la], + [0], [ignore], [ignore]) +AT_CHECK([$CXX -I. $CPPFLAGS $CXXFLAGS -c prog.cpp], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o prog$EXEEXT prog.$OBJEXT libalib.la], + [0], [ignore], [ignore]) + +LT_AT_EXEC_CHECK([./prog], [0], [ignore], [ignore]) + + +dnl with autoreconf, use: + +dnl AT_DATA(configure.ac, +dnl [[AC_INIT([template_1], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) +dnl AC_CONFIG_HEADERS([config.h:config-h.in]) +dnl AC_CONFIG_MACRO_DIRS([m4]) +dnl AC_CONFIG_AUX_DIR([config]) +dnl AM_INIT_AUTOMAKE([foreign]) +dnl AC_LANG([C++]) +dnl AC_PROG_CXX +dnl AC_PROG_LIBTOOL +dnl AC_CONFIG_FILES([Makefile]) +dnl AC_OUTPUT +dnl ]]) + +dnl AT_DATA(Makefile.am, +dnl [[ACLOCAL_AMFLAGS = -I m4 +dnl noinst_LTLIBRARIES = libaclib.la +dnl libaclib_la_SOURCES = aclib.cpp aclib.h +dnl lib_LTLIBRARIES = libalib.la +dnl include_HEADERS = alib.h +dnl libalib_la_SOURCES = alib.cpp +dnl libalib_la_LIBADD = libaclib.la +dnl bin_PROGRAMS = prog +dnl prog_SOURCES = prog.cpp +dnl LDADD = libalib.la +dnl ]]) + +AT_CLEANUP + + +AT_SETUP([template test with subdirs]) +LT_AT_TAG([CXX]) +AT_KEYWORDS([libtool]) + +noskip=: +withundef=: +# Mac OS X. +# The linker has issues with this test. +case $host in +*-darwin*) noskip=false ;; +*-aix*) withundef=false ;; +esac + + +CPPFLAGS="$CPPFLAGS -I../src/lib -I../src/lib2" + +mkdir src obj +( cd src; mkdir lib lib2 sub ) +( cd obj; mkdir lib lib2 sub ) + +AT_DATA(src/lib/a.hh, +[[template +unsigned int a(const T&); + +template +unsigned int a(const T& t) +{ + return sizeof t; +} + +extern int a2(char t); + +inline int a3(const double* t) +{ + return a(t); +} +]]) + +AT_DATA(src/lib/a.cpp, +[[#include "a.hh" + +int a2(char t) +{ + return a(t); +} +]]) + +AT_DATA(src/lib2/b.hh, +[[#include "a.hh" + +template +unsigned int b(T& t) +{ + return a(t); +} +extern int b2(char* t); +struct bs { int bi; }; +extern int b3(bs t); +]]) + +AT_DATA(src/lib2/b.cpp, +[[#include "b.hh" + +int b2(char* t) +{ + return a2(t[0]); +} + +int b3(bs t) +{ + return b(t); +} +]]) + +AT_DATA(src/sub/main.cpp, +[[#include "b.hh" + +int main() +{ + double foo; + const char s = ' '; + char d; + char *t = &d; + return b(foo) + a3(&foo) + b2(t) - a(s) + - (sizeof(double) + sizeof(double*)); +} +]]) + +cd obj + +# If the compiler supports -c -o, we want to use it: +# it may make a difference for templates +eval `$LIBTOOL --tag=CXX --config | $GREP ^compiler_c_o=` +case $compiler_c_o in +yes) + main_o=sub/main.$OBJEXT + AT_CHECK([$CXX $CPPFLAGS $CXXFLAGS -c -o $main_o ../src/sub/main.cpp], + [0], [ignore], [ignore]) + ;; +*) + main_o=main.$OBJEXT + AT_CHECK([$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp], + [0], [ignore], [ignore]) + ;; +esac + +AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp], + [0], [ignore], [ignore]) +AT_CHECK([$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp], + [0], [ignore], [ignore]) +# both convenience +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la], + [0], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./sub/main], [ignore]) +# lib convenience +if $noskip && $withundef; then + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la], + [0], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./sub/main]) +fi + +# both installed +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo], + [0], [ignore], [ignore]) +if $withundef; then + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la], + [0], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./sub/main]) +fi + +# both convenience, libb depending on liba +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la], + [0], [ignore], [ignore]) +AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la], + [0], [ignore], [ignore]) +LT_AT_EXEC_CHECK([./sub/main]) +# lib convenience +if $noskip; then + + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la], + [0], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./sub/main]) +fi +# both installed +if $noskip; then + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar], + [0], [ignore], [ignore]) + AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la], + [0], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./sub/main]) +fi + +cd .. + +AT_CHECK([$noskip || (exit 77)]) + +dnl with autoreconf use: +dnl +dnl AT_DATA(src/configure.ac, +dnl [[AC_INIT([template_2], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) +dnl AC_CONFIG_HEADERS([config.h:config-h.in]) +dnl AC_CONFIG_MACRO_DIRS([m4]) +dnl AC_CONFIG_AUX_DIR([config]) +dnl AM_INIT_AUTOMAKE([foreign subdir-objects]) +dnl AC_LANG([C++]) +dnl AC_PROG_CXX +dnl AC_PROG_LIBTOOL +dnl AC_CONFIG_FILES([Makefile]) +dnl AC_OUTPUT +dnl ]]) +dnl +dnl AT_DATA(src/Makefile.am, +dnl [[ACLOCAL_AMFLAGS = -I m4 +dnl INCLUDES = -I$(srcdir)/lib -I$(srcdir)/lib2 +dnl bin_PROGRAMS = sub/main +dnl noinst_LTLIBRARIES = lib/liba.la lib2/libb.la +dnl lib_liba_la_SOURCES = lib/a.cpp lib/a.hh +dnl lib2_libb_la_SOURCES = lib2/b.cpp lib2/b.hh +dnl #lib2_libb_la_LIBADD = lib/liba.la +dnl sub_main_SOURCES = sub/main.cpp +dnl sub_main_LDADD = lib2/libb.la lib/liba.la +dnl ]]) + +AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/testsuite b/BUILD/libtool-2.4.7/tests/testsuite new file mode 100755 index 0000000..24265e4 --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/testsuite @@ -0,0 +1,51628 @@ +#! /bin/sh +# Generated from tests/testsuite.at by GNU Autoconf 2.69. +# +# Copyright (C) 2009-2012 Free Software Foundation, Inc. +# +# This test suite is free software; the Free Software Foundation gives +# unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + + +SHELL=${CONFIG_SHELL-/bin/sh} + +# How were we run? +at_cli_args="$@" + + +# Not all shells have the 'times' builtin; the subshell is needed to make +# sure we discard the 'times: not found' message from the shell. +at_times_p=false +(times) >/dev/null 2>&1 && at_times_p=: + +# CLI Arguments to pass to the debugging scripts. +at_debug_args= +# -e sets to true +at_errexit_p=false +# Shall we be verbose? ':' means no, empty means yes. +at_verbose=: +at_quiet= +# Running several jobs in parallel, 0 means as many as test groups. +at_jobs=1 +at_traceon=: +at_trace_echo=: +at_check_filter_trace=: + +# Shall we keep the debug scripts? Must be `:' when the suite is +# run by a debug script, so that the script doesn't remove itself. +at_debug_p=false +# Display help message? +at_help_p=false +# Display the version message? +at_version_p=false +# List test groups? +at_list_p=false +# --clean +at_clean=false +# Test groups to run +at_groups= +# Whether to rerun failed tests. +at_recheck= +# Whether a write failure occurred +at_write_fail=0 + +# The directory we run the suite in. Default to . if no -C option. +at_dir=`pwd` +# An absolute reference to this testsuite script. +case $as_myself in + [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; + * ) at_myself=$at_dir/$as_myself ;; +esac +# Whether -C is in effect. +at_change_dir=false + +# Whether to enable colored test results. +at_color=auto +# List of the tested programs. +at_tested='' +# As many question marks as there are digits in the last test group number. +# Used to normalize the test group numbers so that `ls' lists them in +# numerical order. +at_format='???' +# Description of all the test groups. +at_help_all="1;configure-funcs.at:39;func_munge_path_list works;; +2;libtoolize.at:84;libtoolize macro installation;libtoolize; +3;libtoolize.at:109;libtoolize macro directory mismatch error;libtoolize; +4;libtoolize.at:130;multiple AC_CONFIG_MACRO_DIRS invocation;libtoolize; +5;libtoolize.at:158;multiple AC_CONFIG_MACRO_DIRS directories;libtoolize; +6;libtoolize.at:190;libtoolize ACLOCAL_AMFLAGS extraction;libtoolize; +7;libtoolize.at:225;libtoolize macro serial update;libtoolize; +8;libtoolize.at:298;libtoolize config files serial update;libtoolize; +9;libtoolize.at:378;diagnose missing LT_CONFIG_LTDL_DIR;libtoolize; +10;libtoolize.at:523;copy ltdl.m4 with shared macro directory;libtoolize; +11;libtoolize.at:535;correctly parse LTDL_INIT from configure.ac;libtoolize; +12;libtoolize.at:547;diagnose missing LTDL_INIT invocation;libtoolize; +13;libtoolize.at:624;upgrading verbatim style aclocal.m4;libtoolize automake; +14;libtoolize.at:748;verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS;libtoolize automake; +15;libtoolize.at:877;nonrecursive ltdl with AC_CONFIG_MACRO_DIRS;libtoolize; +16;libtoolize.at:948;subproject ltdl with unconventional layout;libtoolize; +17;libtoolize.at:1024;Subproject ltdl without GNU M4;; +18;libtoolize.at:1096;LIBTOOLIZE_OPTIONS;libtoolize; +19;libtoolize.at:1142;cleanup old installation;libtoolize; +20;libtool.at:33;check help output;; +21;libtool.at:48;diagnose no mode specified;; +22;libtool.at:60;quote shell meta-characters in filenames;; +23;libtool.at:155;transform source suffices;; +24;libtool.at:183;check link mode operation;; +25;libtool.at:205;check objectlist file operation;; +26;libtool.at:217;test LT_SUPPORTED_TAG interface;; +27;demo.at:384;link against a preloaded static library;libtoolize automake autoconf; +28;demo.at:401;build and dynamically load a module;libtoolize automake autoconf; +29;demo.at:418;preload static and dynamic module;libtoolize automake autoconf; +30;demo.at:438;deplibs_check_method;libtoolize automake autoconf; +31;demo.at:479;disable fast install;libtoolize automake autoconf; +32;demo.at:497;force PIC objects;libtoolize automake autoconf; +33;demo.at:511;force non-PIC objects;libtoolize automake autoconf; +34;demo.at:549;hardcoding library path;libtoolize automake autoconf; +35;demo.at:719;binary relinking at install time;interactive libtoolize automake autoconf; +36;demo.at:791;uninstalled libraries have priority;libtoolize automake autoconf; +37;demo.at:814;linking with long file names;libtoolize automake autoconf; +38;pic_flag.at:24;override pic_flag at configure time;libtoolize automake autoconf; +39;with-pic.at:24;test --with-pic;libtoolize automake autoconf; +40;cdemo.at:136;build and link against a static library;libtoolize automake autoconf; +41;cdemo.at:151;build and link against a dynamic library;libtoolize automake autoconf; +42;cdemo.at:166;build both static and dynamic;libtoolize automake autoconf; +43;cdemo.at:181;allow_undefined_flag;libtoolize automake autoconf; +44;convenience.at:31;C convenience archives;libtool; +45;convenience.at:70;C++ convenience archives;cxx libtool; +46;convenience.at:110;F77 convenience archives;f77 libtool; +47;convenience.at:170;FC convenience archives;fc libtool; +48;convenience.at:230;Java convenience archives;gcj libtool; +49;depdemo.at:286;static library interdependencies;libtoolize automake autoconf; +50;depdemo.at:303;shared library interdependencies;libtoolize automake autoconf; +51;depdemo.at:320;shared and static interdependencies;libtoolize automake autoconf; +52;depdemo.at:337;disable fast install;libtoolize automake autoconf; +53;depdemo.at:355;binary relinking at install time;interactive libtoolize automake autoconf; +54;help.at:26;standard command line options;libtool libtoolize; +55;help.at:45;mode short-hands;; +56;help.at:97;debug tracing;; +57;duplicate_members.at:26;duplicate members in archive tests;libtool; +58;duplicate_conv.at:26;duplicate convenience archive names;libtool; +59;duplicate_deps.at:26;preserve duplicate convenience deps;libtool; +60;flags.at:24;passing CC flags through libtool;libtool cc; +61;flags.at:24;passing CXX flags through libtool;libtool cxx; +62;flags.at:24;passing F77 flags through libtool;libtool f77; +63;flags.at:24;passing FC flags through libtool;libtool fc; +64;flags.at:24;passing GCJ flags through libtool;libtool gcj; +65;inherited_flags.at:27;inherited_linker_flags;libtool; +66;link-order.at:27;Link order test;libtool; +67;link-order2.at:47;Link order of deplibs;libtool interactive; +68;fail.at:28;Failure tests;libtool; +69;shlibpath.at:26;shlibpath_overrides_runpath;libtool; +70;runpath-in-lalib.at:26;Runpath in libtool library files;libtool; +71;static.at:69;static linking flags for programs;libtool interactive; +72;static.at:360;ccache -all-static;; +73;export.at:26;Export test;libtool; +74;export-def.at:25;export from a DLL with a .def file;libtool; +75;search-path.at:25;sys_lib_search_path;libtool; +76;search-path.at:63;sys_lib_search_path on w32;libtool; +77;indirect_deps.at:26;indirect convenience;libtool; +78;indirect_deps.at:72;indirect uninstalled;libtool; +79;archive-in-archive.at:27;static library contains static library;libtool; +80;exeext.at:26;both of -o prog and -o prog\$EXEEXT work;libtool; +81;execute-mode.at:25;execute mode;libtool; +82;bindir.at:64;bindir basic lib test;; +83;bindir.at:173;bindir install tests;; +84;cwrapper.at:25;cwrapper for uninstalled executables;libtool; +85;cwrapper.at:138;cwrapper string length;; +86;cwrapper.at:201;cwrapper and installed shared libraries;libtool; +87;deplib-in-subdir.at:34;deplib in subdir;libtool; +88;infer-tag.at:31;inferred tag;libtool; +89;infer-tag.at:43;CXX inferred tag;cxx libtool; +90;infer-tag.at:56;F77 inferred tag;f77 libtool; +91;infer-tag.at:70;FC inferred tag;fc libtool; +92;infer-tag.at:84;GCJ inferred tag;gcj libtool; +93;localization.at:24;localized compiler messages;libtool; +94;nocase.at:26;nocase library search;libtool; +95;install.at:26;Install tests;libtool; +96;versioning.at:24;versioning;libtool; +97;destdir.at:49;Simple DESTDIR install;libtool; +98;destdir.at:76;DESTDIR with in-package deplibs;libtool; +99;old-m4-iface.at:41;AM_PROG_LIBTOOL;libtoolize autoconf; +100;old-m4-iface.at:113;AC_WITH_LTDL;libtoolize automake autoconf; +101;old-m4-iface.at:173;AC_CONFIG_MACRO_DIR;libtoolize; +102;am-subdir.at:34;C subdir-objects;libtoolize automake autoconf; +103;am-subdir.at:94;C++ subdir-objects;cxx libtoolize automake autoconf; +104;lt_dlexit.at:31;lt_dlexit unloading libs;libltdl; +105;lt_dladvise.at:29;lt_dlopenadvise library loading;libltdl; +106;lt_dlopen.at:24;lt_dlopen error messages;libltdl; +107;lt_dlopen_a.at:24;lt_dlopen archive;libltdl lt_dlopen_a; +108;lt_dlopenext.at:23;lt_dlopenext error messages;libltdl; +109;ltdl-libdir.at:23;libdir of installed modules;libltdl; +110;ltdl-api.at:26;ltdl API;libltdl; +111;dlloader-api.at:23;dlloader API;libltdl; +112;loadlibrary.at:23;loadlibrary error messages;libltdl; +113;lalib-syntax.at:24;syntax of .la files;libtool libltdl; +114;resident.at:27;resident modules;libltdl; +115;slist.at:25;SList functionality;; +116;need_lib_prefix.at:26;enforced lib prefix;libltdl libtool; +117;mdemo.at:625;dynamically ltdl preload static modules;libtoolize automake autoconf; +118;mdemo.at:642;dynamically ltdl load a shared module;libtoolize automake autoconf; +119;mdemo.at:659;ltdl load shared and static modules;libtoolize automake autoconf; +120;mdemo.at:676;ltdl dryrun;libtoolize automake autoconf; +121;mdemo.at:777;link with library that loads ltdl modules;libtoolize automake autoconf; +122;standalone.at:32;compiling softlinked libltdl;libtoolize; +123;standalone.at:47;compiling copied libltdl;libtoolize; +124;standalone.at:62;installable libltdl;libtoolize; +125;standalone.at:80;linking libltdl without autotools;libtoolize; +126;subproject.at:58;compiling softlinked libltdl;libtoolize automake autoconf; +127;subproject.at:74;compiling copied libltdl;libtoolize automake autoconf; +128;subproject.at:90;installable libltdl;libtoolize automake autoconf; +129;subproject.at:110;linking libltdl without autotools;libtoolize; +130;nonrecursive.at:79;compiling softlinked libltdl;libtoolize automake autoconf; +131;nonrecursive.at:103;compiling copied libltdl;libtoolize automake autoconf; +132;nonrecursive.at:127;installable libltdl;libtoolize automake autoconf; +133;recursive.at:61;compiling softlinked libltdl;libtoolize autoconf automake; +134;recursive.at:81;compiling copied libltdl;libtoolize autoconf automake; +135;recursive.at:101;installable libltdl;libtoolize autoconf automake; +136;tagdemo.at:339;static library;cxx libtool libtoolize automake autoconf; +137;tagdemo.at:354;shared library;cxx libtool libtoolize automake autoconf; +138;tagdemo.at:369;shared and static together;cxx libtool libtoolize automake autoconf; +139;tagdemo.at:384;allow_undefined_flag;cxx libtool libtoolize automake autoconf; +140;template.at:28;simple template test;cxx libtool; +141;template.at:127;template test with subdirs;cxx libtool; +142;ctor.at:28;C++ static constructors;cxx libtool; +143;exceptions.at:24;C++ exception handling;libtool libltdl; +144;early-libtool.at:33;config.status;libtoolize automake autoconf; +145;early-libtool.at:127;config.lt;libtoolize automake autoconf; +146;no-executables.at:26;AC_NO_EXECUTABLES;libtoolize automake autoconf; +147;deplibs-ident.at:33;build tree relpaths;libtool; +148;configure-iface.at:103;installable libltdl;libltdl libtoolize automake autoconf; +149;configure-iface.at:163;--with-ltdl-include/lib;libltdl libtoolize automake autoconf; +150;configure-iface.at:244;--with-included-ltdl;libltdl libtoolize automake autoconf; +151;configure-iface.at:305;convenience libltdl;libtoolize automake autoconf; +152;f77demo.at:296;static library;interactive f77 libtool autoconf libtoolize automake; +153;f77demo.at:314;shared library;f77 libtool autoconf libtoolize automake; +154;f77demo.at:329;shared and static together;f77 libtool autoconf libtoolize automake; +155;fcdemo.at:310;static library;interactive fc libtool autoconf libtoolize automake; +156;fcdemo.at:328;shared library;fc libtool autoconf libtoolize automake; +157;fcdemo.at:343;shared and static together;fc libtool autoconf libtoolize automake; +158;darwin.at:27;darwin fat compile;; +159;darwin.at:104;darwin concurrent library extraction;; +160;darwin.at:153;darwin gdb debug information;; +161;darwin.at:209;darwin ld warnings changing configure results;libtoolize autoconf automake; +162;darwin.at:233;darwin can lt_dlopen .dylib and .so files;libltdl dylib; +163;dumpbin-symbols.at:25;dumpbin -symbols section hiding;; +164;deplibs-mingw.at:27;deplibs without file command;libtool; +165;sysroot.at:204;-L=.../lib -l;libtool sysroot libtoolize automake autoconf; +166;sysroot.at:205;-L SYSROOT/.../lib -l;libtool sysroot libtoolize automake autoconf; +167;sysroot.at:206;SYSROOT/.../*.la;libtool sysroot libtoolize automake autoconf; +168;stresstest.at:32;Link option thorough search test;libtool expensive; +169;cmdline_wrap.at:29;Run tests with low max_cmd_len;recursive expensive; +" +# List of the all the test groups. +at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` + +# at_fn_validate_ranges NAME... +# ----------------------------- +# Validate and normalize the test group number contained in each variable +# NAME. Leading zeroes are treated as decimal. +at_fn_validate_ranges () +{ + for at_grp + do + eval at_value=\$$at_grp + if test $at_value -lt 1 || test $at_value -gt 169; then + $as_echo "invalid test group: $at_value" >&2 + exit 1 + fi + case $at_value in + 0*) # We want to treat leading 0 as decimal, like expr and test, but + # AS_VAR_ARITH treats it as octal if it uses $(( )). + # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the + # expr fork, but it is not worth the effort to determine if the + # shell supports XSI when the user can just avoid leading 0. + eval $at_grp='`expr $at_value + 0`' ;; + esac + done +} + +at_prev= +for at_option +do + # If the previous option needs an argument, assign it. + if test -n "$at_prev"; then + at_option=$at_prev=$at_option + at_prev= + fi + + case $at_option in + *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; + *) at_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $at_option in + --help | -h ) + at_help_p=: + ;; + + --list | -l ) + at_list_p=: + ;; + + --version | -V ) + at_version_p=: + ;; + + --clean | -c ) + at_clean=: + ;; + + --color ) + at_color=always + ;; + --color=* ) + case $at_optarg in + no | never | none) at_color=never ;; + auto | tty | if-tty) at_color=auto ;; + always | yes | force) at_color=always ;; + *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` + as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; + esac + ;; + + --debug | -d ) + at_debug_p=: + ;; + + --errexit | -e ) + at_debug_p=: + at_errexit_p=: + ;; + + --verbose | -v ) + at_verbose=; at_quiet=: + ;; + + --trace | -x ) + at_traceon='set -x' + at_trace_echo=echo + at_check_filter_trace=at_fn_filter_trace + ;; + + [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) + at_fn_validate_ranges at_option + as_fn_append at_groups "$at_option$as_nl" + ;; + + # Ranges + [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) + at_range_start=`echo $at_option |tr -d X-` + at_fn_validate_ranges at_range_start + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '/^'$at_range_start'$/,$p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) + at_range_end=`echo $at_option |tr -d X-` + at_fn_validate_ranges at_range_end + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '1,/^'$at_range_end'$/p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ + [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \ + [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \ + [0-9][0-9][0-9]-[0-9][0-9][0-9] | \ + [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \ + [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ) + at_range_start=`expr $at_option : '\(.*\)-'` + at_range_end=`expr $at_option : '.*-\(.*\)'` + if test $at_range_start -gt $at_range_end; then + at_tmp=$at_range_end + at_range_end=$at_range_start + at_range_start=$at_tmp + fi + at_fn_validate_ranges at_range_start at_range_end + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + # Directory selection. + --directory | -C ) + at_prev=--directory + ;; + --directory=* ) + at_change_dir=: + at_dir=$at_optarg + if test x- = "x$at_dir" ; then + at_dir=./- + fi + ;; + + # Parallel execution. + --jobs | -j ) + at_jobs=0 + ;; + --jobs=* | -j[0-9]* ) + if test -n "$at_optarg"; then + at_jobs=$at_optarg + else + at_jobs=`expr X$at_option : 'X-j\(.*\)'` + fi + case $at_jobs in *[!0-9]*) + at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` + as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; + esac + ;; + + # Keywords. + --keywords | -k ) + at_prev=--keywords + ;; + --keywords=* ) + at_groups_selected=$at_help_all + at_save_IFS=$IFS + IFS=, + set X $at_optarg + shift + IFS=$at_save_IFS + for at_keyword + do + at_invert= + case $at_keyword in + '!'*) + at_invert="-v" + at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'` + ;; + esac + # It is on purpose that we match the test group titles too. + at_groups_selected=`$as_echo "$at_groups_selected" | + grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` + done + # Smash the keywords. + at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` + as_fn_append at_groups "$at_groups_selected$as_nl" + ;; + --recheck) + at_recheck=: + ;; + + *=*) + at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $at_envvar in + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$at_envvar'" ;; + esac + at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` + # Export now, but save eval for later and for debug scripts. + export $at_envvar + as_fn_append at_debug_args " $at_envvar='$at_value'" + ;; + + *) $as_echo "$as_me: invalid option: $at_option" >&2 + $as_echo "Try \`$0 --help' for more information." >&2 + exit 1 + ;; + esac +done + +# Verify our last option didn't require an argument +if test -n "$at_prev"; then : + as_fn_error $? "\`$at_prev' requires an argument" +fi + +# The file containing the suite. +at_suite_log=$at_dir/$as_me.log + +# Selected test groups. +if test -z "$at_groups$at_recheck"; then + at_groups=$at_groups_all +else + if test -n "$at_recheck" && test -r "$at_suite_log"; then + at_oldfails=`sed -n ' + /^Failed tests:$/,/^Skipped tests:$/{ + s/^[ ]*\([1-9][0-9]*\):.*/\1/p + } + /^Unexpected passes:$/,/^## Detailed failed tests/{ + s/^[ ]*\([1-9][0-9]*\):.*/\1/p + } + /^## Detailed failed tests/q + ' "$at_suite_log"` + as_fn_append at_groups "$at_oldfails$as_nl" + fi + # Sort the tests, removing duplicates. + at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` +fi + +if test x"$at_color" = xalways \ + || { test x"$at_color" = xauto && test -t 1; }; then + at_red=`printf '\033[0;31m'` + at_grn=`printf '\033[0;32m'` + at_lgn=`printf '\033[1;32m'` + at_blu=`printf '\033[1;34m'` + at_std=`printf '\033[m'` +else + at_red= at_grn= at_lgn= at_blu= at_std= +fi + +# Help message. +if $at_help_p; then + cat <<_ATEOF || at_write_fail=1 +Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] + +Run all the tests, or the selected TESTS, given by numeric ranges, and +save a detailed log file. Upon failure, create debugging scripts. + +Do not change environment variables directly. Instead, set them via +command line arguments. Set \`AUTOTEST_PATH' to select the executables +to exercise. Each relative directory is expanded as build and source +directories relative to the top level of this distribution. +E.g., from within the build directory /tmp/foo-1.0, invoking this: + + $ $0 AUTOTEST_PATH=bin + +is equivalent to the following, assuming the source directory is /src/foo-1.0: + + PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Operation modes: + -h, --help print the help message, then exit + -V, --version print version number, then exit + -c, --clean remove all the files this test suite might create and exit + -l, --list describes all the tests, or the selected TESTS +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Execution tuning: + -C, --directory=DIR + change to directory DIR before starting + --color[=never|auto|always] + disable colored test results, or enable even without terminal + -j, --jobs[=N] + Allow N jobs at once; infinite jobs with no arg (default 1) + -k, --keywords=KEYWORDS + select the tests matching all the comma-separated KEYWORDS + multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD + --recheck select all tests that failed or passed unexpectedly last time + -e, --errexit abort as soon as a test fails; implies --debug + -v, --verbose force more detailed output + default for debugging scripts + -d, --debug inhibit clean up and top-level logging + default for debugging scripts + -x, --trace enable tests shell tracing +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Report bugs to . +GNU Libtool home page: . +General help using GNU software: . +_ATEOF + exit $at_write_fail +fi + +# List of tests. +if $at_list_p; then + cat <<_ATEOF || at_write_fail=1 +GNU Libtool 2.4.7 test suite test groups: + + NUM: FILE-NAME:LINE TEST-GROUP-NAME + KEYWORDS + +_ATEOF + # Pass an empty line as separator between selected groups and help. + $as_echo "$at_groups$as_nl$as_nl$at_help_all" | + awk 'NF == 1 && FS != ";" { + selected[$ 1] = 1 + next + } + /^$/ { FS = ";" } + NF > 0 { + if (selected[$ 1]) { + printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 + if ($ 4) { + lmax = 79 + indent = " " + line = indent + len = length (line) + n = split ($ 4, a, " ") + for (i = 1; i <= n; i++) { + l = length (a[i]) + 1 + if (i > 1 && len + l > lmax) { + print line + line = indent " " a[i] + len = length (line) + } else { + line = line " " a[i] + len += l + } + } + if (n) + print line + } + } + }' || at_write_fail=1 + exit $at_write_fail +fi +if $at_version_p; then + $as_echo "$as_me (GNU Libtool 2.4.7)" && + cat <<\_ATEOF || at_write_fail=1 + +Copyright (C) 2012 Free Software Foundation, Inc. +This test suite is free software; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. +_ATEOF + exit $at_write_fail +fi + +# Should we print banners? Yes if more than one test is run. +case $at_groups in #( + *$as_nl* ) + at_print_banners=: ;; #( + * ) at_print_banners=false ;; +esac +# Text for banner N, set to a single space once printed. +# Banner 1. configure-funcs.at:24 +# Category starts at test group 1. +at_banner_text_1="Functions shared with configure and libtool." +# Banner 2. libtoolize.at:27 +# Category starts at test group 2. +at_banner_text_2="Libtoolize operation." +# Banner 3. libtool.at:26 +# Category starts at test group 20. +at_banner_text_3="Basic libtool operation." +# Banner 4. demo.at:27 +# Category starts at test group 27. +at_banner_text_4="Linking and loading." +# Banner 5. cdemo.at:27 +# Category starts at test group 40. +at_banner_text_5="Convenience libraries." +# Banner 6. depdemo.at:27 +# Category starts at test group 49. +at_banner_text_6="Library interdependencies." +# Banner 7. help.at:24 +# Category starts at test group 54. +at_banner_text_7="Testing libtool functions." +# Banner 8. destdir.at:26 +# Category starts at test group 97. +at_banner_text_8="DESTDIR tests" +# Banner 9. old-m4-iface.at:27 +# Category starts at test group 99. +at_banner_text_9="Support for older m4 interface." +# Banner 10. am-subdir.at:27 +# Category starts at test group 102. +at_banner_text_10="Libtool subdir-objects support." +# Banner 11. lt_dlexit.at:29 +# Category starts at test group 104. +at_banner_text_11="Libltdl functionality." +# Banner 12. mdemo.at:29 +# Category starts at test group 117. +at_banner_text_12="Dynamic ltdl runtime loading." +# Banner 13. standalone.at:26 +# Category starts at test group 122. +at_banner_text_13="Standalone Libltdl." +# Banner 14. subproject.at:26 +# Category starts at test group 126. +at_banner_text_14="Subproject Libltdl." +# Banner 15. nonrecursive.at:27 +# Category starts at test group 130. +at_banner_text_15="Nonrecursive Automake Libltdl." +# Banner 16. recursive.at:26 +# Category starts at test group 133. +at_banner_text_16="Recursive Automake Libltdl." +# Banner 17. tagdemo.at:27 +# Category starts at test group 136. +at_banner_text_17="C++ language support." +# Banner 18. template.at:26 +# Category starts at test group 140. +at_banner_text_18="C++ template tests." +# Banner 19. ctor.at:26 +# Category starts at test group 142. +at_banner_text_19="Constructors." +# Banner 20. early-libtool.at:26 +# Category starts at test group 144. +at_banner_text_20="libtool script generation." +# Banner 21. no-executables.at:25 +# Category starts at test group 146. +at_banner_text_21="Libtool usage in GCC" +# Banner 22. deplibs-ident.at:26 +# Category starts at test group 147. +at_banner_text_22="Detecting identical deplibs." +# Banner 23. configure-iface.at:26 +# Category starts at test group 148. +at_banner_text_23="configure interface to libltdl." +# Banner 24. f77demo.at:28 +# Category starts at test group 152. +at_banner_text_24="F77 language support." +# Banner 25. fcdemo.at:28 +# Category starts at test group 155. +at_banner_text_25="Fortran language support." +# Banner 26. darwin.at:26 +# Category starts at test group 158. +at_banner_text_26="Mac OS X tests" +# Banner 27. dumpbin-symbols.at:24 +# Category starts at test group 163. +at_banner_text_27="Windows tests." +# Banner 28. sysroot.at:203 +# Category starts at test group 165. +at_banner_text_28="sysroot tests" +# Banner 29. stresstest.at:31 +# Category starts at test group 168. +at_banner_text_29="Libtool stress test." + +# Take any -C into account. +if $at_change_dir ; then + test x != "x$at_dir" && cd "$at_dir" \ + || as_fn_error $? "unable to change directory" + at_dir=`pwd` +fi + +# Load the config files for any default variable assignments. +for at_file in atconfig atlocal +do + test -r $at_file || continue + . ./$at_file || as_fn_error $? "invalid content: $at_file" +done + +# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: +: "${at_top_build_prefix=$at_top_builddir}" + +# Perform any assignments requested during argument parsing. +eval "$at_debug_args" + +# atconfig delivers names relative to the directory the test suite is +# in, but the groups themselves are run in testsuite-dir/group-dir. +if test -n "$at_top_srcdir"; then + builddir=../.. + for at_dir_var in srcdir top_srcdir top_build_prefix + do + eval at_val=\$at_$at_dir_var + case $at_val in + [\\/$]* | ?:[\\/]* ) at_prefix= ;; + *) at_prefix=../../ ;; + esac + eval "$at_dir_var=\$at_prefix\$at_val" + done +fi + +## -------------------- ## +## Directory structure. ## +## -------------------- ## + +# This is the set of directories and files used by this script +# (non-literals are capitalized): +# +# TESTSUITE - the testsuite +# TESTSUITE.log - summarizes the complete testsuite run +# TESTSUITE.dir/ - created during a run, remains after -d or failed test +# + at-groups/ - during a run: status of all groups in run +# | + NNN/ - during a run: meta-data about test group NNN +# | | + check-line - location (source file and line) of current AT_CHECK +# | | + status - exit status of current AT_CHECK +# | | + stdout - stdout of current AT_CHECK +# | | + stder1 - stderr, including trace +# | | + stderr - stderr, with trace filtered out +# | | + test-source - portion of testsuite that defines group +# | | + times - timestamps for computing duration +# | | + pass - created if group passed +# | | + xpass - created if group xpassed +# | | + fail - created if group failed +# | | + xfail - created if group xfailed +# | | + skip - created if group skipped +# + at-stop - during a run: end the run if this file exists +# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction +# + 0..NNN/ - created for each group NNN, remains after -d or failed test +# | + TESTSUITE.log - summarizes the group results +# | + ... - files created during the group + +# The directory the whole suite works in. +# Should be absolute to let the user `cd' at will. +at_suite_dir=$at_dir/$as_me.dir +# The file containing the suite ($at_dir might have changed since earlier). +at_suite_log=$at_dir/$as_me.log +# The directory containing helper files per test group. +at_helper_dir=$at_suite_dir/at-groups +# Stop file: if it exists, do not start new jobs. +at_stop_file=$at_suite_dir/at-stop +# The fifo used for the job dispatcher. +at_job_fifo=$at_suite_dir/at-job-fifo + +if $at_clean; then + test -d "$at_suite_dir" && + find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -f -r "$at_suite_dir" "$at_suite_log" + exit $? +fi + +# Don't take risks: use only absolute directories in PATH. +# +# For stand-alone test suites (ie. atconfig was not found), +# AUTOTEST_PATH is relative to `.'. +# +# For embedded test suites, AUTOTEST_PATH is relative to the top level +# of the package. Then expand it into build/src parts, since users +# may create executables in both places. +AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` +at_path= +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $AUTOTEST_PATH $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR +case $as_dir in + [\\/]* | ?:[\\/]* ) + as_fn_append at_path "$as_dir" + ;; + * ) + if test -z "$at_top_build_prefix"; then + # Stand-alone test suite. + as_fn_append at_path "$as_dir" + else + # Embedded test suite. + as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" + as_fn_append at_path "$at_top_srcdir/$as_dir" + fi + ;; +esac + done +IFS=$as_save_IFS + + +# Now build and simplify PATH. +# +# There might be directories that don't exist, but don't redirect +# builtins' (eg., cd) stderr directly: Ultrix's sh hates that. +at_new_path= +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $at_path +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -d "$as_dir" || continue +case $as_dir in + [\\/]* | ?:[\\/]* ) ;; + * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; +esac +case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in + *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; + $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; + *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; +esac + done +IFS=$as_save_IFS + +PATH=$at_new_path +export PATH + +# Setting up the FDs. + + + +# 5 is the log file. Not to be overwritten if `-d'. +if $at_debug_p; then + at_suite_log=/dev/null +else + : >"$at_suite_log" +fi +exec 5>>"$at_suite_log" + +# Banners and logs. +$as_echo "## ----------------------------- ## +## GNU Libtool 2.4.7 test suite. ## +## ----------------------------- ##" +{ + $as_echo "## ----------------------------- ## +## GNU Libtool 2.4.7 test suite. ## +## ----------------------------- ##" + echo + + $as_echo "$as_me: command line was:" + $as_echo " \$ $0 $at_cli_args" + echo + + # If ChangeLog exists, list a few lines in case it might help determining + # the exact version. + if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then + $as_echo "## ---------- ## +## ChangeLog. ## +## ---------- ##" + echo + sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" + echo + fi + + { +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} + echo + + # Contents of the config files. + for at_file in atconfig atlocal + do + test -r $at_file || continue + $as_echo "$as_me: $at_file:" + sed 's/^/| /' $at_file + echo + done +} >&5 + +: ${tst_dist=dist} +: ${ACLOCAL=aclocal} +: ${AUTOHEADER=autoheader} +: ${AUTOCONF=autoconf} +: ${AUTOMAKE=automake} +: ${AUTORECONF=autoreconf} +test set = "${ECHO+set}" || ECHO=${as_echo-'printf %s\n'} +: ${ECHO=$as_echo} +for tool in ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF; do + if eval \$$tool --version >/dev/null 2>&1; then :; else eval $tool=no; fi +done +export ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF +eval `$LIBTOOL --config | $EGREP '^(objdir|objext)'` +eval `$LIBTOOL --config | $EGREP '^(host|host_os|host_alias|build|build_alias|to_host_file_cmd|to_tool_file_cmd)='` +configure_options=--prefix=/nonexistent +if test -n "$host_alias"; then + configure_options="$configure_options --host $host_alias" +fi +if test -n "$build_alias"; then + configure_options="$configure_options --build $build_alias" +fi +if test -n "$to_host_file_cmd"; then + configure_options="$configure_options lt_cv_to_host_file_cmd=$to_host_file_cmd" +fi +if test -n "$to_tool_file_cmd"; then + configure_options="$configure_options lt_cv_to_tool_file_cmd=$to_tool_file_cmd" +fi +: ${mkdir_p="$abs_top_srcdir/build-aux/install-sh -d"} +# Fix relative paths in $lt_INSTALL +case $lt_INSTALL in + *build-aux/install-sh*) + lt_INSTALL=$abs_top_srcdir/build-aux/install-sh + ;; +esac + +# func_extract_trace support +. "$abs_top_srcdir/build-aux/funclib.sh" +. "$abs_top_srcdir/build-aux/extract-trace" + + +# Unset some MAKE... variables that may cause $MAKE to act like a +# recursively invoked sub-make. Any $MAKE invocation in a test is +# conceptually an independent invocation. +unset MFLAGS MAKEFLAGS MAKELEVEL __MKLVL__ MAKE_JOBS_FIFO + +# On AIX, shared libraries remain loaded in memory after use if they +# are world-readable, until root issues slibclean. On NFS, this causes +# a testsuite rerun to fail to clean up test group directories. Avoid +# this with a suitable umask. Do not do this on other systems, for +# example HP-UX suffers unless shared libraries are mode 555. +case $host_os in +aix*) umask o-rwx ;; +esac + +## ------------------------- ## +## Autotest shell functions. ## +## ------------------------- ## + +# at_fn_banner NUMBER +# ------------------- +# Output banner NUMBER, provided the testsuite is running multiple groups and +# this particular banner has not yet been printed. +at_fn_banner () +{ + $at_print_banners || return 0 + eval at_banner_text=\$at_banner_text_$1 + test "x$at_banner_text" = "x " && return 0 + eval "at_banner_text_$1=\" \"" + if test -z "$at_banner_text"; then + $at_first || echo + else + $as_echo "$as_nl$at_banner_text$as_nl" + fi +} # at_fn_banner + +# at_fn_check_prepare_notrace REASON LINE +# --------------------------------------- +# Perform AT_CHECK preparations for the command at LINE for an untraceable +# command; REASON is the reason for disabling tracing. +at_fn_check_prepare_notrace () +{ + $at_trace_echo "Not enabling shell tracing (command contains $1)" + $as_echo "$2" >"$at_check_line_file" + at_check_trace=: at_check_filter=: + : >"$at_stdout"; : >"$at_stderr" +} + +# at_fn_check_prepare_trace LINE +# ------------------------------ +# Perform AT_CHECK preparations for the command at LINE for a traceable +# command. +at_fn_check_prepare_trace () +{ + $as_echo "$1" >"$at_check_line_file" + at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace + : >"$at_stdout"; : >"$at_stderr" +} + +# at_fn_check_prepare_dynamic COMMAND LINE +# ---------------------------------------- +# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate +# preparation function. +at_fn_check_prepare_dynamic () +{ + case $1 in + *$as_nl*) + at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; + *) + at_fn_check_prepare_trace "$2" ;; + esac +} + +# at_fn_filter_trace +# ------------------ +# Remove the lines in the file "$at_stderr" generated by "set -x" and print +# them to stderr. +at_fn_filter_trace () +{ + mv "$at_stderr" "$at_stder1" + grep '^ *+' "$at_stder1" >&2 + grep -v '^ *+' "$at_stder1" >"$at_stderr" +} + +# at_fn_log_failure FILE-LIST +# --------------------------- +# Copy the files in the list on stdout with a "> " prefix, and exit the shell +# with a failure exit code. +at_fn_log_failure () +{ + for file + do $as_echo "$file:"; sed 's/^/> /' "$file"; done + echo 1 > "$at_status_file" + exit 1 +} + +# at_fn_check_skip EXIT-CODE LINE +# ------------------------------- +# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit +# the test group subshell with that same exit code. Use LINE in any report +# about test failure. +at_fn_check_skip () +{ + case $1 in + 99) echo 99 > "$at_status_file"; at_failed=: + $as_echo "$2: hard failure"; exit 99;; + 77) echo 77 > "$at_status_file"; exit 77;; + esac +} + +# at_fn_check_status EXPECTED EXIT-CODE LINE +# ------------------------------------------ +# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. +# Otherwise, if it is 77 or 99, exit the test group subshell with that same +# exit code; if it is anything else print an error message referring to LINE, +# and fail the test. +at_fn_check_status () +{ + case $2 in + $1 ) ;; + 77) echo 77 > "$at_status_file"; exit 77;; + 99) echo 99 > "$at_status_file"; at_failed=: + $as_echo "$3: hard failure"; exit 99;; + *) $as_echo "$3: exit code was $2, expected $1" + at_failed=:;; + esac +} + +# at_fn_diff_devnull FILE +# ----------------------- +# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff +# invocations. +at_fn_diff_devnull () +{ + test -s "$1" || return 0 + $at_diff "$at_devnull" "$1" +} + +# at_fn_test NUMBER +# ----------------- +# Parse out test NUMBER from the tail of this file. +at_fn_test () +{ + eval at_sed=\$at_sed$1 + sed "$at_sed" "$at_myself" > "$at_test_source" +} + +# at_fn_create_debugging_script +# ----------------------------- +# Create the debugging script $at_group_dir/run which will reproduce the +# current test group. +at_fn_create_debugging_script () +{ + { + echo "#! /bin/sh" && + echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && + $as_echo "cd '$at_dir'" && + $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && + echo 'exit 1' + } >"$at_group_dir/run" && + chmod +x "$at_group_dir/run" +} + +## -------------------------------- ## +## End of autotest shell functions. ## +## -------------------------------- ## +{ + $as_echo "## ---------------- ## +## Tested programs. ## +## ---------------- ##" + echo +} >&5 + +# Report what programs are being tested. +for at_program in : $at_tested +do + test "$at_program" = : && continue + case $at_program in + [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; + * ) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -f "$as_dir/$at_program" && break + done +IFS=$as_save_IFS + + at_program_=$as_dir/$at_program ;; + esac + if test -f "$at_program_"; then + { + $as_echo "$at_srcdir/testsuite.at:529: $at_program_ --version" + "$at_program_" --version &5 2>&1 + else + as_fn_error $? "cannot find $at_program" "$LINENO" 5 + fi +done + +{ + $as_echo "## ------------------ ## +## Running the tests. ## +## ------------------ ##" +} >&5 + +at_start_date=`date` +at_start_time=`date +%s 2>/dev/null` +$as_echo "$as_me: starting at: $at_start_date" >&5 + +# Create the master directory if it doesn't already exist. +as_dir="$at_suite_dir"; as_fn_mkdir_p || + as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 + +# Can we diff with `/dev/null'? DU 5.0 refuses. +if diff /dev/null /dev/null >/dev/null 2>&1; then + at_devnull=/dev/null +else + at_devnull=$at_suite_dir/devnull + >"$at_devnull" +fi + +# Use `diff -u' when possible. +if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" +then + at_diff='diff -u' +else + at_diff=diff +fi + +# Get the last needed group. +for at_group in : $at_groups; do :; done + +# Extract the start and end lines of each test group at the tail +# of this file +awk ' +BEGIN { FS="" } +/^#AT_START_/ { + start = NR +} +/^#AT_STOP_/ { + test = substr ($ 0, 10) + print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" + if (test == "'"$at_group"'") exit +}' "$at_myself" > "$at_suite_dir/at-source-lines" && +. "$at_suite_dir/at-source-lines" || + as_fn_error $? "cannot create test line number cache" "$LINENO" 5 +rm -f "$at_suite_dir/at-source-lines" + +# Set number of jobs for `-j'; avoid more jobs than test groups. +set X $at_groups; shift; at_max_jobs=$# +if test $at_max_jobs -eq 0; then + at_jobs=1 +fi +if test $at_jobs -ne 1 && + { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then + at_jobs=$at_max_jobs +fi + +# If parallel mode, don't output banners, don't split summary lines. +if test $at_jobs -ne 1; then + at_print_banners=false + at_quiet=: +fi + +# Set up helper dirs. +rm -rf "$at_helper_dir" && +mkdir "$at_helper_dir" && +cd "$at_helper_dir" && +{ test -z "$at_groups" || mkdir $at_groups; } || +as_fn_error $? "testsuite directory setup failed" "$LINENO" 5 + +# Functions for running a test group. We leave the actual +# test group execution outside of a shell function in order +# to avoid hitting zsh 4.x exit status bugs. + +# at_fn_group_prepare +# ------------------- +# Prepare for running a test group. +at_fn_group_prepare () +{ + # The directory for additional per-group helper files. + at_job_dir=$at_helper_dir/$at_group + # The file containing the location of the last AT_CHECK. + at_check_line_file=$at_job_dir/check-line + # The file containing the exit status of the last command. + at_status_file=$at_job_dir/status + # The files containing the output of the tested commands. + at_stdout=$at_job_dir/stdout + at_stder1=$at_job_dir/stder1 + at_stderr=$at_job_dir/stderr + # The file containing the code for a test group. + at_test_source=$at_job_dir/test-source + # The file containing dates. + at_times_file=$at_job_dir/times + + # Be sure to come back to the top test directory. + cd "$at_suite_dir" + + # Clearly separate the test groups when verbose. + $at_first || $at_verbose echo + + at_group_normalized=$at_group + + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; + esac + at_group_normalized=0$at_group_normalized + done' + + + # Create a fresh directory for the next test group, and enter. + # If one already exists, the user may have invoked ./run from + # within that directory; we remove the contents, but not the + # directory itself, so that we aren't pulling the rug out from + # under the shell's notion of the current directory. + at_group_dir=$at_suite_dir/$at_group_normalized + at_group_log=$at_group_dir/$as_me.log + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; + rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* +fi || + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 +$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} + # Be tolerant if the above `rm' was not able to remove the directory. + as_dir="$at_group_dir"; as_fn_mkdir_p + + echo 0 > "$at_status_file" + + # In verbose mode, append to the log file *and* show on + # the standard output; in quiet mode only write to the log. + if test -z "$at_verbose"; then + at_tee_pipe='tee -a "$at_group_log"' + else + at_tee_pipe='cat >> "$at_group_log"' + fi +} + +# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] +# ------------------------------------------------- +# Declare the test group ORDINAL, located at LINE with group description DESC, +# and residing under BANNER. Use PAD to align the status column. +at_fn_group_banner () +{ + at_setup_line="$2" + test -n "$5" && at_fn_banner $5 + at_desc="$3" + case $1 in + [0-9]) at_desc_line=" $1: ";; + [0-9][0-9]) at_desc_line=" $1: " ;; + *) at_desc_line="$1: " ;; + esac + as_fn_append at_desc_line "$3$4" + $at_quiet $as_echo_n "$at_desc_line" + echo "# -*- compilation -*-" >> "$at_group_log" +} + +# at_fn_group_postprocess +# ----------------------- +# Perform cleanup after running a test group. +at_fn_group_postprocess () +{ + # Be sure to come back to the suite directory, in particular + # since below we might `rm' the group directory we are in currently. + cd "$at_suite_dir" + + if test ! -f "$at_check_line_file"; then + sed "s/^ */$as_me: WARNING: /" <<_ATEOF + A failure happened in a test group before any test could be + run. This means that test suite is improperly designed. Please + report this failure to . +_ATEOF + $as_echo "$at_setup_line" >"$at_check_line_file" + at_status=99 + fi + $at_verbose $as_echo_n "$at_group. $at_setup_line: " + $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" + case $at_xfail:$at_status in + yes:0) + at_msg="UNEXPECTED PASS" + at_res=xpass + at_errexit=$at_errexit_p + at_color=$at_red + ;; + no:0) + at_msg="ok" + at_res=pass + at_errexit=false + at_color=$at_grn + ;; + *:77) + at_msg='skipped ('`cat "$at_check_line_file"`')' + at_res=skip + at_errexit=false + at_color=$at_blu + ;; + no:* | *:99) + at_msg='FAILED ('`cat "$at_check_line_file"`')' + at_res=fail + at_errexit=$at_errexit_p + at_color=$at_red + ;; + yes:*) + at_msg='expected failure ('`cat "$at_check_line_file"`')' + at_res=xfail + at_errexit=false + at_color=$at_lgn + ;; + esac + echo "$at_res" > "$at_job_dir/$at_res" + # In parallel mode, output the summary line only afterwards. + if test $at_jobs -ne 1 && test -n "$at_verbose"; then + $as_echo "$at_desc_line $at_color$at_msg$at_std" + else + # Make sure there is a separator even with long titles. + $as_echo " $at_color$at_msg$at_std" + fi + at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" + case $at_status in + 0|77) + # $at_times_file is only available if the group succeeded. + # We're not including the group log, so the success message + # is written in the global log separately. But we also + # write to the group log in case they're using -d. + if test -f "$at_times_file"; then + at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' + rm -f "$at_times_file" + fi + $as_echo "$at_log_msg" >> "$at_group_log" + $as_echo "$at_log_msg" >&5 + + # Cleanup the group directory, unless the user wants the files + # or the success was unexpected. + if $at_debug_p || test $at_res = xpass; then + at_fn_create_debugging_script + if test $at_res = xpass && $at_errexit; then + echo stop > "$at_stop_file" + fi + else + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -fr "$at_group_dir" + fi + rm -f "$at_test_source" + fi + ;; + *) + # Upon failure, include the log into the testsuite's global + # log. The failure message is written in the group log. It + # is later included in the global log. + $as_echo "$at_log_msg" >> "$at_group_log" + + # Upon failure, keep the group directory for autopsy, and create + # the debugging script. With -e, do not start any further tests. + at_fn_create_debugging_script + if $at_errexit; then + echo stop > "$at_stop_file" + fi + ;; + esac +} + + +## ------------ ## +## Driver loop. ## +## ------------ ## + + +if (set -m && set +m && set +b) >/dev/null 2>&1; then + set +b + at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- +else + at_job_control_on=: at_job_control_off=: at_job_group= +fi + +for at_signal in 1 2 15; do + trap 'set +x; set +e + $at_job_control_off + at_signal='"$at_signal"' + echo stop > "$at_stop_file" + trap "" $at_signal + at_pgids= + for at_pgid in `jobs -p 2>/dev/null`; do + at_pgids="$at_pgids $at_job_group$at_pgid" + done + test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null + wait + if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then + echo >&2 + fi + at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` + set x $at_signame + test 0 -gt 2 && at_signame=$at_signal + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 +$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} + as_fn_arith 128 + $at_signal && exit_status=$as_val + as_fn_exit $exit_status' $at_signal +done + +rm -f "$at_stop_file" +at_first=: + +if test $at_jobs -ne 1 && + rm -f "$at_job_fifo" && + test -n "$at_job_group" && + ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null +then + # FIFO job dispatcher. + + trap 'at_pids= + for at_pid in `jobs -p`; do + at_pids="$at_pids $at_job_group$at_pid" + done + if test -n "$at_pids"; then + at_sig=TSTP + test "${TMOUT+set}" = set && at_sig=STOP + kill -$at_sig $at_pids 2>/dev/null + fi + kill -STOP $$ + test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP + + echo + # Turn jobs into a list of numbers, starting from 1. + at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` + + set X $at_joblist + shift + for at_group in $at_groups; do + $at_job_control_on 2>/dev/null + ( + # Start one test group. + $at_job_control_off + if $at_first; then + exec 7>"$at_job_fifo" + else + exec 6<&- + fi + trap 'set +x; set +e + trap "" PIPE + echo stop > "$at_stop_file" + echo >&7 + as_fn_exit 141' PIPE + at_fn_group_prepare + if cd "$at_group_dir" && + at_fn_test $at_group && + . "$at_test_source" + then :; else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_fn_group_postprocess + echo >&7 + ) & + $at_job_control_off + if $at_first; then + at_first=false + exec 6<"$at_job_fifo" 7>"$at_job_fifo" + fi + shift # Consume one token. + if test $# -gt 0; then :; else + read at_token <&6 || break + set x $* + fi + test -f "$at_stop_file" && break + done + exec 7>&- + # Read back the remaining ($at_jobs - 1) tokens. + set X $at_joblist + shift + if test $# -gt 0; then + shift + for at_job + do + read at_token + done <&6 + fi + exec 6<&- + wait +else + # Run serially, avoid forks and other potential surprises. + for at_group in $at_groups; do + at_fn_group_prepare + if cd "$at_group_dir" && + at_fn_test $at_group && + . "$at_test_source"; then :; else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_fn_group_postprocess + test -f "$at_stop_file" && break + at_first=false + done +fi + +# Wrap up the test suite with summary statistics. +cd "$at_helper_dir" + +# Use ?..???? when the list must remain sorted, the faster * otherwise. +at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` +at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` +at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` +at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do + echo $f; done | sed '/?/d; s,/xpass,,'` +at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do + echo $f; done | sed '/?/d; s,/fail,,'` + +set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list +shift; at_group_count=$# +set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* +set X $at_xfail_list; shift; at_xfail_count=$# +set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* +set X $at_skip_list; shift; at_skip_count=$# + +as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val +as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val +as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val + +# Back to the top directory. +cd "$at_dir" +rm -rf "$at_helper_dir" + +# Compute the duration of the suite. +at_stop_date=`date` +at_stop_time=`date +%s 2>/dev/null` +$as_echo "$as_me: ending at: $at_stop_date" >&5 +case $at_start_time,$at_stop_time in + [0-9]*,[0-9]*) + as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val + as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val + as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val + as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val + as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val + at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" + $as_echo "$as_me: test suite duration: $at_duration" >&5 + ;; +esac + +echo +$as_echo "## ------------- ## +## Test results. ## +## ------------- ##" +echo +{ + echo + $as_echo "## ------------- ## +## Test results. ## +## ------------- ##" + echo +} >&5 + +if test $at_run_count = 1; then + at_result="1 test" + at_were=was +else + at_result="$at_run_count tests" + at_were=were +fi +if $at_errexit_p && test $at_unexpected_count != 0; then + if test $at_xpass_count = 1; then + at_result="$at_result $at_were run, one passed" + else + at_result="$at_result $at_were run, one failed" + fi + at_result="$at_result unexpectedly and inhibited subsequent tests." + at_color=$at_red +else + # Don't you just love exponential explosion of the number of cases? + at_color=$at_red + case $at_xpass_count:$at_fail_count:$at_xfail_count in + # So far, so good. + 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; + 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; + + # Some unexpected failures + 0:*:0) at_result="$at_result $at_were run, +$at_fail_count failed unexpectedly." ;; + + # Some failures, both expected and unexpected + 0:*:1) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + 0:*:*) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + + # No unexpected failures, but some xpasses + *:0:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly." ;; + + # No expected failures, but failures and xpasses + *:1:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; + *:*:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; + + # All of them. + *:*:1) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + *:*:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + esac + + if test $at_skip_count = 0 && test $at_run_count -gt 1; then + at_result="All $at_result" + fi +fi + +# Now put skips in the mix. +case $at_skip_count in + 0) ;; + 1) at_result="$at_result +1 test was skipped." ;; + *) at_result="$at_result +$at_skip_count tests were skipped." ;; +esac + +if test $at_unexpected_count = 0; then + echo "$at_color$at_result$at_std" + echo "$at_result" >&5 +else + echo "${at_color}ERROR: $at_result$at_std" >&2 + echo "ERROR: $at_result" >&5 + { + echo + $as_echo "## ------------------------ ## +## Summary of the failures. ## +## ------------------------ ##" + + # Summary of failed and skipped tests. + if test $at_fail_count != 0; then + echo "Failed tests:" + $SHELL "$at_myself" $at_fail_list --list + echo + fi + if test $at_skip_count != 0; then + echo "Skipped tests:" + $SHELL "$at_myself" $at_skip_list --list + echo + fi + if test $at_xpass_count != 0; then + echo "Unexpected passes:" + $SHELL "$at_myself" $at_xpass_list --list + echo + fi + if test $at_fail_count != 0; then + $as_echo "## ---------------------- ## +## Detailed failed tests. ## +## ---------------------- ##" + echo + for at_group in $at_fail_list + do + at_group_normalized=$at_group + + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; + esac + at_group_normalized=0$at_group_normalized + done' + + cat "$at_suite_dir/$at_group_normalized/$as_me.log" + echo + done + echo + fi + if test -n "$at_top_srcdir"; then + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## ${at_top_build_prefix}config.log ## +_ASBOX + sed 's/^/| /' ${at_top_build_prefix}config.log + echo + fi + } >&5 + + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## $as_me.log was created. ## +_ASBOX + + echo + if $at_debug_p; then + at_msg='per-test log files' + else + at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" + fi + $as_echo "Please send $at_msg and all information you think might help: + + To: + Subject: [GNU Libtool 2.4.7] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + +You may investigate any problem if you feel able to do so, in which +case the test suite provides a good starting point. Its output may +be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. +" + exit 1 +fi + +exit 0 + +## ------------- ## +## Actual tests. ## +## ------------- ## +#AT_START_1 +at_fn_group_banner 1 'configure-funcs.at:39' \ + "func_munge_path_list works" " " 1 +at_xfail=no +( + $as_echo "1. $at_setup_line: testing $at_desc ..." + $at_traceon +_lt_bin=$abs_top_builddir/libtool +re_begincf='^# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE' +re_endcf='^# ### END FUNCTIONS SHARED WITH CONFIGURE' + +$ECHO '#!/bin/sh' > "func_munge_path_list" +$ECHO '#: ${SED=sed}' >> "func_munge_path_list" +$ECHO '#: ${ECHO=echo}' >> "func_munge_path_list" + +sed "1,/$re_begincf/d;/$re_endcf/,\$d" < "$_lt_bin" >> "func_munge_path_list" + + +cat <<\EOF >> func_munge_path_list +for orig in "/usr/lib" " /lib /usr/lib "; do + $ECHO "'$orig':" + for path in "/p1:" "/p3:/p2:" ":/a1" ":/a2:/a3" "/p4::/a4" "/p6:/p5::/a5:/a6"; do + old=$orig + func_munge_path_list orig "$path" || exit 1 + $ECHO "munge ($path) = $orig" + done +done +EOF +chmod +x func_munge_path_list + +{ set +x +$as_echo "$at_srcdir/configure-funcs.at:53: ECHO=\"\$ECHO\" SED=\"\$SED\" ./func_munge_path_list" +at_fn_check_prepare_dynamic "ECHO=\"$ECHO\" SED=\"$SED\" ./func_munge_path_list" "configure-funcs.at:53" +( $at_check_trace; ECHO="$ECHO" SED="$SED" ./func_munge_path_list +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "'/usr/lib': +munge (/p1:) = /p1 /usr/lib +munge (/p3:/p2:) = /p3 /p2 /p1 /usr/lib +munge (:/a1) = /p3 /p2 /p1 /usr/lib /a1 +munge (:/a2:/a3) = /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 +munge (/p4::/a4) = /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 +munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 +' /lib /usr/lib ': +munge (/p1:) = /p1 /lib /usr/lib +munge (/p3:/p2:) = /p3 /p2 /p1 /lib /usr/lib +munge (:/a1) = /p3 /p2 /p1 /lib /usr/lib /a1 +munge (:/a2:/a3) = /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 +munge (/p4::/a4) = /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 +munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configure-funcs.at:53" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1 +#AT_START_2 +at_fn_group_banner 2 'libtoolize.at:84' \ + "libtoolize macro installation" " " 2 +at_xfail=no +( + $as_echo "2. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:100: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:100" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:100" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_2 +#AT_START_3 +at_fn_group_banner 3 'libtoolize.at:109' \ + "libtoolize macro directory mismatch error" " " 2 +at_xfail=no +( + $as_echo "3. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I me2 +_ATEOF + + +cat >experr <<'_ATEOF' +libtoolize: error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with ACLOCAL_AMFLAGS=-I me2. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:121: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:121" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtoolize.at:121" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_3 +#AT_START_4 +at_fn_group_banner 4 'libtoolize.at:130' \ + "multiple AC_CONFIG_MACRO_DIRS invocation" " " 2 +at_xfail=no +( + $as_echo "4. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([first]) +AC_CONFIG_MACRO_DIRS([second]) +LT_INIT +AC_OUTPUT +_ATEOF + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'first'. +libtoolize: copying file 'first/libtool.m4' +libtoolize: copying file 'first/ltoptions.m4' +libtoolize: copying file 'first/ltsugar.m4' +libtoolize: copying file 'first/ltversion.m4' +libtoolize: copying file 'first/lt~obsolete.m4' +libtoolize: Consider adding '-I first' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:153: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:153" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:153" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_4 +#AT_START_5 +at_fn_group_banner 5 'libtoolize.at:158' \ + "multiple AC_CONFIG_MACRO_DIRS directories" " " 2 +at_xfail=no +( + $as_echo "5. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtooize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([first second third]) +LT_INIT +AC_OUTPUT +_ATEOF + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'first'. +libtoolize: copying file 'first/libtool.m4' +libtoolize: copying file 'first/ltoptions.m4' +libtoolize: copying file 'first/ltsugar.m4' +libtoolize: copying file 'first/ltversion.m4' +libtoolize: copying file 'first/lt~obsolete.m4' +libtoolize: Consider adding '-I first' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:180: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:180" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:180" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_5 +#AT_START_6 +at_fn_group_banner 6 'libtoolize.at:190' \ + "libtoolize ACLOCAL_AMFLAGS extraction" " " 2 +at_xfail=no +( + $as_echo "6. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +LT_INIT +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I first -I second +_ATEOF + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in 'first'. +libtoolize: copying file 'first/libtool.m4' +libtoolize: copying file 'first/ltoptions.m4' +libtoolize: copying file 'first/ltsugar.m4' +libtoolize: copying file 'first/ltversion.m4' +libtoolize: copying file 'first/lt~obsolete.m4' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([first])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:216: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:216" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:216" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_6 +#AT_START_7 +at_fn_group_banner 7 'libtoolize.at:225' \ + "libtoolize macro serial update" " " 2 +at_xfail=no +( + $as_echo "7. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + + +test -d m4 || { rm -f m4 && mkdir m4; } + +rm -f m4/libtool.m4 m4/ltoptions.m4 build-aux/ltmain.sh + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +_ATEOF + + +# This file should be upgraded. +cat >m4/libtool.m4 <<'_ATEOF' + +# serial 25 LT_INIT +_ATEOF + + +# This file has a very high serial number, and should be left unchanged +# until --force is passed. +cat >m4/ltoptions.m4 <<'_ATEOF' + +# serial 99999 ltoptions.m4 +_ATEOF + + +test -d build-aux || { rm -f build-aux && mkdir build-aux; } + +# This file has a very high serial number, and needs --force to be updated. +cat >build-aux/ltmain.sh <<'_ATEOF' + +package_revision=9999.9999 +_ATEOF + + +# This file has a very old serial number, but should be left unchanged +# unless the --install flag is invoked. +cat >build-aux/config.guess <<'_ATEOF' + +timestamp='1970-01-01' +_ATEOF + + + + + +## -------------------------------------------------------------------- ## +## First we try to update with some newer files in the destination dir. ## +## -------------------------------------------------------------------- ## + +cat >expout <<'_ATEOF' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +_ATEOF + + +cat >experr <<'_ATEOF' +libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:248: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:248" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:248" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ---------------------------------------------------------- ## +## Next, a second update attempt with everything now updated. ## +## ---------------------------------------------------------- ## + +: >expout + +cat >experr <<'_ATEOF' +libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:262: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:262" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:262" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ----------------------------------------------------------- ## +## Now, a forced update to downgrade files with newer serials. ## +## ----------------------------------------------------------- ## + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:280: \$LIBTOOLIZE --copy --force + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:280" +( $at_check_trace; $LIBTOOLIZE --copy --force + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:280" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ---------------------------------------------------------------- ## +## A final update attempt with everything previously force updated. ## +## ---------------------------------------------------------------- ## + +: >expout + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:289: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:289" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:289" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_7 +#AT_START_8 +at_fn_group_banner 8 'libtoolize.at:298' \ + "libtoolize config files serial update" " " 2 +at_xfail=no +( + $as_echo "8. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + + +test -d m4 || { rm -f m4 && mkdir m4; } + +rm -f m4/libtool.m4 m4/ltoptions.m4 build-aux/ltmain.sh + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +_ATEOF + + +# This file should be upgraded. +cat >m4/libtool.m4 <<'_ATEOF' + +# serial 25 LT_INIT +_ATEOF + + +# This file has a very high serial number, and should be left unchanged +# until --force is passed. +cat >m4/ltoptions.m4 <<'_ATEOF' + +# serial 99999 ltoptions.m4 +_ATEOF + + +test -d build-aux || { rm -f build-aux && mkdir build-aux; } + +# This file has a very high serial number, and needs --force to be updated. +cat >build-aux/ltmain.sh <<'_ATEOF' + +package_revision=9999.9999 +_ATEOF + + +# This file has a very old serial number, but should be left unchanged +# unless the --install flag is invoked. +cat >build-aux/config.guess <<'_ATEOF' + +timestamp='1970-01-01' +_ATEOF + + + + + +## -------------------------------------------------------------------- ## +## First we try to update with some newer files in the destination dir. ## +## -------------------------------------------------------------------- ## + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +_ATEOF + + +cat >experr <<'_ATEOF' +libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:325: \$LIBTOOLIZE --copy --install + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:325" +( $at_check_trace; $LIBTOOLIZE --copy --install + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:325" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ---------------------------------------------------------- ## +## Next, a second update attempt with everything now updated. ## +## ---------------------------------------------------------- ## + +: >expout + +cat >experr <<'_ATEOF' +libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:339: \$LIBTOOLIZE --copy --install + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:339" +( $at_check_trace; $LIBTOOLIZE --copy --install + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:339" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ----------------------------------------------------------- ## +## Now, a forced update to downgrade files with newer serials. ## +## ----------------------------------------------------------- ## + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:360: \$LIBTOOLIZE --copy --force --install + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:360" +( $at_check_trace; $LIBTOOLIZE --copy --force --install + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:360" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ---------------------------------------------------------------- ## +## A final update attempt with everything previously force updated. ## +## ---------------------------------------------------------------- ## + +: >expout + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:369: \$LIBTOOLIZE --copy --install + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:369" +( $at_check_trace; $LIBTOOLIZE --copy --install + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:369" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_8 +#AT_START_9 +at_fn_group_banner 9 'libtoolize.at:378' \ + "diagnose missing LT_CONFIG_LTDL_DIR" " " 2 +at_xfail=no +( + $as_echo "9. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltargz.m4' +libtoolize: copying file 'm4/ltdl.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in 'ltdl'. +libtoolize: copying file 'ltdl/COPYING.LIB' +libtoolize: copying file 'ltdl/README' +libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' +libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' +libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' +libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' +libtoolize: copying file 'ltdl/libltdl/lt__private.h' +libtoolize: copying file 'ltdl/libltdl/lt__strl.h' +libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: copying file 'ltdl/libltdl/lt_error.h' +libtoolize: copying file 'ltdl/libltdl/lt_system.h' +libtoolize: copying file 'ltdl/libltdl/slist.h' +libtoolize: copying file 'ltdl/loaders/dld_link.c' +libtoolize: copying file 'ltdl/loaders/dlopen.c' +libtoolize: copying file 'ltdl/loaders/dyld.c' +libtoolize: copying file 'ltdl/loaders/load_add_on.c' +libtoolize: copying file 'ltdl/loaders/loadlibrary.c' +libtoolize: copying file 'ltdl/loaders/preopen.c' +libtoolize: copying file 'ltdl/loaders/shl_load.c' +libtoolize: copying file 'ltdl/lt__alloc.c' +libtoolize: copying file 'ltdl/lt__argz.c' +libtoolize: copying file 'ltdl/lt__dirent.c' +libtoolize: copying file 'ltdl/lt__strl.c' +libtoolize: copying file 'ltdl/lt_dlloader.c' +libtoolize: copying file 'ltdl/lt_error.c' +libtoolize: copying file 'ltdl/ltdl.c' +libtoolize: copying file 'ltdl/ltdl.h' +libtoolize: creating file 'ltdl/ltdl.mk' +libtoolize: copying file 'ltdl/slist.c' +libtoolize: Remember to add 'LT_CONFIG_LTDL_DIR([ltdl])' to 'configure.ac'. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LTDL_INIT([nonrecursive]) +AC_OUTPUT +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:437: \$LIBTOOLIZE --copy --install --ltdl=ltdl + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:437" +( $at_check_trace; $LIBTOOLIZE --copy --install --ltdl=ltdl + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:437" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_9 +#AT_START_10 +at_fn_group_banner 10 'libtoolize.at:523' \ + "copy ltdl.m4 with shared macro directory" " " 2 +at_xfail=no +( + $as_echo "10. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: linking file 'build-aux/compile' +libtoolize: linking file 'build-aux/config.guess' +libtoolize: linking file 'build-aux/config.sub' +libtoolize: linking file 'build-aux/depcomp' +libtoolize: linking file 'build-aux/install-sh' +libtoolize: linking file 'build-aux/missing' +libtoolize: linking file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: linking file 'm4/libtool.m4' +libtoolize: linking file 'm4/ltargz.m4' +libtoolize: linking file 'm4/ltdl.m4' +libtoolize: linking file 'm4/ltoptions.m4' +libtoolize: linking file 'm4/ltsugar.m4' +libtoolize: linking file 'm4/ltversion.m4' +libtoolize: linking file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: linking file 'ltdl/COPYING.LIB' +libtoolize: linking file 'ltdl/Makefile.am' +libtoolize: linking file 'ltdl/README' +libtoolize: linking file 'ltdl/configure.ac' +libtoolize: copying file 'ltdl/aclocal.m4' +libtoolize: linking file 'ltdl/Makefile.in' +libtoolize: linking file 'ltdl/config-h.in' +libtoolize: copying file 'ltdl/configure' +libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' +libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' +libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' +libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' +libtoolize: linking file 'ltdl/libltdl/lt__private.h' +libtoolize: linking file 'ltdl/libltdl/lt__strl.h' +libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: linking file 'ltdl/libltdl/lt_error.h' +libtoolize: linking file 'ltdl/libltdl/lt_system.h' +libtoolize: linking file 'ltdl/libltdl/slist.h' +libtoolize: linking file 'ltdl/loaders/dld_link.c' +libtoolize: linking file 'ltdl/loaders/dlopen.c' +libtoolize: linking file 'ltdl/loaders/dyld.c' +libtoolize: linking file 'ltdl/loaders/load_add_on.c' +libtoolize: linking file 'ltdl/loaders/loadlibrary.c' +libtoolize: linking file 'ltdl/loaders/preopen.c' +libtoolize: linking file 'ltdl/loaders/shl_load.c' +libtoolize: linking file 'ltdl/lt__alloc.c' +libtoolize: linking file 'ltdl/lt__argz.c' +libtoolize: linking file 'ltdl/lt__dirent.c' +libtoolize: linking file 'ltdl/lt__strl.c' +libtoolize: linking file 'ltdl/lt_dlloader.c' +libtoolize: linking file 'ltdl/lt_error.c' +libtoolize: linking file 'ltdl/ltdl.c' +libtoolize: linking file 'ltdl/ltdl.h' +libtoolize: linking file 'ltdl/slist.c' +_ATEOF + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LTDL_INIT +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +_ATEOF + + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:527: \$LIBTOOLIZE --ltdl + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:527" +( $at_check_trace; $LIBTOOLIZE --ltdl + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:527" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_10 +#AT_START_11 +at_fn_group_banner 11 'libtoolize.at:535' \ + "correctly parse LTDL_INIT from configure.ac" " " 2 +at_xfail=no +( + $as_echo "11. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: linking file 'build-aux/compile' +libtoolize: linking file 'build-aux/config.guess' +libtoolize: linking file 'build-aux/config.sub' +libtoolize: linking file 'build-aux/depcomp' +libtoolize: linking file 'build-aux/install-sh' +libtoolize: linking file 'build-aux/missing' +libtoolize: linking file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: linking file 'm4/libtool.m4' +libtoolize: linking file 'm4/ltargz.m4' +libtoolize: linking file 'm4/ltdl.m4' +libtoolize: linking file 'm4/ltoptions.m4' +libtoolize: linking file 'm4/ltsugar.m4' +libtoolize: linking file 'm4/ltversion.m4' +libtoolize: linking file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: linking file 'ltdl/COPYING.LIB' +libtoolize: linking file 'ltdl/Makefile.am' +libtoolize: linking file 'ltdl/README' +libtoolize: linking file 'ltdl/configure.ac' +libtoolize: copying file 'ltdl/aclocal.m4' +libtoolize: linking file 'ltdl/Makefile.in' +libtoolize: linking file 'ltdl/config-h.in' +libtoolize: copying file 'ltdl/configure' +libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' +libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' +libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' +libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' +libtoolize: linking file 'ltdl/libltdl/lt__private.h' +libtoolize: linking file 'ltdl/libltdl/lt__strl.h' +libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: linking file 'ltdl/libltdl/lt_error.h' +libtoolize: linking file 'ltdl/libltdl/lt_system.h' +libtoolize: linking file 'ltdl/libltdl/slist.h' +libtoolize: linking file 'ltdl/loaders/dld_link.c' +libtoolize: linking file 'ltdl/loaders/dlopen.c' +libtoolize: linking file 'ltdl/loaders/dyld.c' +libtoolize: linking file 'ltdl/loaders/load_add_on.c' +libtoolize: linking file 'ltdl/loaders/loadlibrary.c' +libtoolize: linking file 'ltdl/loaders/preopen.c' +libtoolize: linking file 'ltdl/loaders/shl_load.c' +libtoolize: linking file 'ltdl/lt__alloc.c' +libtoolize: linking file 'ltdl/lt__argz.c' +libtoolize: linking file 'ltdl/lt__dirent.c' +libtoolize: linking file 'ltdl/lt__strl.c' +libtoolize: linking file 'ltdl/lt_dlloader.c' +libtoolize: linking file 'ltdl/lt_error.c' +libtoolize: linking file 'ltdl/ltdl.c' +libtoolize: linking file 'ltdl/ltdl.h' +libtoolize: linking file 'ltdl/slist.c' +_ATEOF + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LTDL_INIT +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +_ATEOF + + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:539: \$LIBTOOLIZE + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:539" +( $at_check_trace; $LIBTOOLIZE + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:539" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_11 +#AT_START_12 +at_fn_group_banner 12 'libtoolize.at:547' \ + "diagnose missing LTDL_INIT invocation" " " 2 +at_xfail=no +( + $as_echo "12. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/compile' +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/depcomp' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: copying file 'build-aux/missing' +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltargz.m4' +libtoolize: copying file 'm4/ltdl.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: copying file 'ltdl/COPYING.LIB' +libtoolize: copying file 'ltdl/Makefile.am' +libtoolize: copying file 'ltdl/README' +libtoolize: copying file 'ltdl/configure.ac' +libtoolize: copying file 'ltdl/aclocal.m4' +libtoolize: copying file 'ltdl/Makefile.in' +libtoolize: copying file 'ltdl/config-h.in' +libtoolize: copying file 'ltdl/configure' +libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' +libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' +libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' +libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' +libtoolize: copying file 'ltdl/libltdl/lt__private.h' +libtoolize: copying file 'ltdl/libltdl/lt__strl.h' +libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: copying file 'ltdl/libltdl/lt_error.h' +libtoolize: copying file 'ltdl/libltdl/lt_system.h' +libtoolize: copying file 'ltdl/libltdl/slist.h' +libtoolize: copying file 'ltdl/loaders/dld_link.c' +libtoolize: copying file 'ltdl/loaders/dlopen.c' +libtoolize: copying file 'ltdl/loaders/dyld.c' +libtoolize: copying file 'ltdl/loaders/load_add_on.c' +libtoolize: copying file 'ltdl/loaders/loadlibrary.c' +libtoolize: copying file 'ltdl/loaders/preopen.c' +libtoolize: copying file 'ltdl/loaders/shl_load.c' +libtoolize: copying file 'ltdl/lt__alloc.c' +libtoolize: copying file 'ltdl/lt__argz.c' +libtoolize: copying file 'ltdl/lt__dirent.c' +libtoolize: copying file 'ltdl/lt__strl.c' +libtoolize: copying file 'ltdl/lt_dlloader.c' +libtoolize: copying file 'ltdl/lt_error.c' +libtoolize: copying file 'ltdl/ltdl.c' +libtoolize: copying file 'ltdl/ltdl.h' +libtoolize: copying file 'ltdl/slist.c' +libtoolize: Remember to add 'LTDL_INIT' to configure.ac. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:614: \$LIBTOOLIZE --ltdl --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:614" +( $at_check_trace; $LIBTOOLIZE --ltdl --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:614" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_12 +#AT_START_13 +at_fn_group_banner 13 'libtoolize.at:624' \ + "upgrading verbatim style aclocal.m4" " " 2 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes +( + $as_echo "13. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +LT_INIT +AC_OUTPUT +_ATEOF + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: You should add the contents of the following files to 'aclocal.m4': +libtoolize: '/usr/local/share/aclocal/libtool.m4' +libtoolize: '/usr/local/share/aclocal/ltoptions.m4' +libtoolize: '/usr/local/share/aclocal/ltsugar.m4' +libtoolize: '/usr/local/share/aclocal/ltversion.m4' +libtoolize: '/usr/local/share/aclocal/lt~obsolete.m4' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:647: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:647" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:647" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## --------------------------------------- ## +## Upgrading a hand maintained aclocal.m4. ## +## --------------------------------------- ## + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +_ATEOF + + +cat >aclocal.m4 <<'_ATEOF' +# This should need upgrading: +# serial 25 LT_INIT +AC_DEFUN([LT_INIT], +[blah]) + +# This is newer than the upgrade version: +# serial 99999 ltoptions.m4 + +# This is older than the upgrade version: +# serial 1 ltversion.m4 +_ATEOF + + +cat >expout <<'_ATEOF' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: You should add the contents of 'm4/ltsugar.m4' to 'aclocal.m4'. +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: You should add the contents of 'm4/ltversion.m4' to 'aclocal.m4'. +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: You should add the contents of 'm4/lt~obsolete.m4' to 'aclocal.m4'. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:691: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:691" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:691" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ------------------------------------------- ## +## Upgrading an aclocal maintained aclocal.m4. ## +## ------------------------------------------- ## + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/libtoolize.at:698: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "libtoolize.at:698" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:698" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +rm -f m4/libtool.m4 m4/ltoptions.m4 + +# This file should be upgraded. +cat >m4/libtool.m4 <<'_ATEOF' + +# serial 25 LT_INIT +AC_DEFUN([LT_INIT]) +_ATEOF + + +# This file has a very high serial number, and should be left unchanged. +cat >m4/ltoptions.m4 <<'_ATEOF' + +# serial 99999 ltoptions.m4 +_ATEOF + + +cat >expout <<'_ATEOF' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +_ATEOF + + +cat >experr <<'_ATEOF' +libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:722: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:722" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:722" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +## ----------------------------------------------------------- ## +## Now, a forced update to downgrade files with newer serials. ## +## ----------------------------------------------------------- ## + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:739: \$LIBTOOLIZE --copy --force + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:739" +( $at_check_trace; $LIBTOOLIZE --copy --force + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:739" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_13 +#AT_START_14 +at_fn_group_banner 14 'libtoolize.at:748' \ + "verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS" " " 2 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes +( + $as_echo "14. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +LT_INIT +AC_OUTPUT +_ATEOF + + +cat >aclocal.m4 <<'_ATEOF' +# This should need upgrading: +# serial 25 LT_INIT +AC_DEFUN([LT_INIT], +[blah]) + +# This is newer than the upgrade version: +# serial 99999 ltoptions.m4 + +# This is older than the upgrade version: +# serial 1 ltversion.m4 +_ATEOF + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in '.'. +libtoolize: copying file './ltmain.sh' +libtoolize: You should add the contents of the following files to 'aclocal.m4': +libtoolize: '/usr/local/share/aclocal/libtool.m4' +libtoolize: '/usr/local/share/aclocal/ltsugar.m4' +libtoolize: '/usr/local/share/aclocal/ltversion.m4' +libtoolize: '/usr/local/share/aclocal/lt~obsolete.m4' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:782: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:782" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:782" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ------------------------------------------------------------------------ ## +## Upgrading an aclocal maintained aclocal.m4 without AC_CONFIG_MACRO_DIRS. ## +## ------------------------------------------------------------------------ ## + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/libtoolize.at:789: \$ACLOCAL -I \$abs_top_srcdir/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/m4$macro_dir" "libtoolize.at:789" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:789" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +## The following code is adapted (and simplified) from libtoolize.in +#### +basename='s|^.*/||' + +# func_grep expression filename +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $GREP "$1" "$2" >/dev/null 2>&1 +} + +# func_serial filename [macro_regex] +# Output the value of the serial number comment in FILENAME, where the +# comment line must also match MACRO_REGEX, if given. +func_serial () +{ + my_filename=$1 + my_macro_regex=$2 + my_sed_serial=' + /^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ { + s|^# serial \([1-9][0-9.]*\).*$|\1| + q + } + d' + + # Search FILENAME and all the files it m4_includes for a serial number + # in the file that AC_DEFUNs MACRO_REGEX. + my_serial= + if test -z "$my_macro_regex" || + test aclocal.m4 = "$my_filename" || + test "$my_macro_regex" = `echo "$my_filename" | $SED "$basename"` || + func_grep '^AC_DEFUN(\['"$my_macro_regex" "$my_filename" + then + my_serial=`$SED -e "$my_sed_serial" "$my_filename"` + fi + + # If the file has no serial number, something is badly wrong! + test -n "$my_serial" || exit 1 + + echo $my_serial +} + +# Make the serial number in aclocal.m4 higher than installed ltoptions.m4, +# and the others match the macro files that libtoolize will compare against. +libtool_serial=`func_serial "$tst_aclocaldir/libtool.m4" LT_INIT` +ltversion_serial=`func_serial "$tst_aclocaldir/ltversion.m4" ltversion.m4` +ltsugar_serial=`func_serial "$tst_aclocaldir/ltsugar.m4" ltsugar.m4` +lt_obsolete_serial=`func_serial "$tst_aclocaldir/lt~obsolete.m4" lt~obsolete.m4` +$SED -e 's|^#.*serial.*ltoptions.m4$|# serial 99999 ltoptions.m4|' \ + -e "s|^#.*serial.*libtool.m4\$|# serial $libtool_serial libtool.m4|" \ + -e "s|^#.*serial.*ltversion.m4\$|# serial $ltversion_serial ltversion.m4|" \ + -e "s|^#.*serial.*ltsugar.m4\$|# serial $ltsugar_serial ltsugar.m4|" \ + -e "s|^#.*serial.*lt~obsolete.m4\$|# serial $lt_obsolete_serial lt~obsolete.m4|" \ + < aclocal.m4 > aclocal.m4t +mv -f aclocal.m4t aclocal.m4 + +cat >expout <<'_ATEOF' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:853: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:853" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:853" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## --------------------- ## +## Now, a forced update. ## +## --------------------- ## + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in '.'. +libtoolize: copying file './ltmain.sh' +libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, +libtoolize: and rerunning libtoolize and aclocal. +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:868: \$LIBTOOLIZE --copy --force + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:868" +( $at_check_trace; $LIBTOOLIZE --copy --force + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:868" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_14 +#AT_START_15 +at_fn_group_banner 15 'libtoolize.at:877' \ + "nonrecursive ltdl with AC_CONFIG_MACRO_DIRS" " " 2 +at_xfail=no +( + $as_echo "15. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/config.guess' +libtoolize: copying file 'build-aux/config.sub' +libtoolize: copying file 'build-aux/install-sh' +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltargz.m4' +libtoolize: copying file 'm4/ltdl.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: copying file 'ltdl/COPYING.LIB' +libtoolize: copying file 'ltdl/README' +libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' +libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' +libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' +libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' +libtoolize: copying file 'ltdl/libltdl/lt__private.h' +libtoolize: copying file 'ltdl/libltdl/lt__strl.h' +libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: copying file 'ltdl/libltdl/lt_error.h' +libtoolize: copying file 'ltdl/libltdl/lt_system.h' +libtoolize: copying file 'ltdl/libltdl/slist.h' +libtoolize: copying file 'ltdl/loaders/dld_link.c' +libtoolize: copying file 'ltdl/loaders/dlopen.c' +libtoolize: copying file 'ltdl/loaders/dyld.c' +libtoolize: copying file 'ltdl/loaders/load_add_on.c' +libtoolize: copying file 'ltdl/loaders/loadlibrary.c' +libtoolize: copying file 'ltdl/loaders/preopen.c' +libtoolize: copying file 'ltdl/loaders/shl_load.c' +libtoolize: copying file 'ltdl/lt__alloc.c' +libtoolize: copying file 'ltdl/lt__argz.c' +libtoolize: copying file 'ltdl/lt__dirent.c' +libtoolize: copying file 'ltdl/lt__strl.c' +libtoolize: copying file 'ltdl/lt_dlloader.c' +libtoolize: copying file 'ltdl/lt_error.c' +libtoolize: copying file 'ltdl/ltdl.c' +libtoolize: copying file 'ltdl/ltdl.h' +libtoolize: creating file 'ltdl/ltdl.mk' +libtoolize: copying file 'ltdl/slist.c' +_ATEOF + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LTDL_INIT([nonrecursive]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:939: \$LIBTOOLIZE --copy --install --ltdl=ltdl + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:939" +( $at_check_trace; $LIBTOOLIZE --copy --install --ltdl=ltdl + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:939" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_15 +#AT_START_16 +at_fn_group_banner 16 'libtoolize.at:948' \ + "subproject ltdl with unconventional layout" " " 2 +at_xfail=no +( + $as_echo "16. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'acaux'. +libtoolize: copying file 'acaux/compile' +libtoolize: copying file 'acaux/config.guess' +libtoolize: copying file 'acaux/config.sub' +libtoolize: copying file 'acaux/depcomp' +libtoolize: copying file 'acaux/install-sh' +libtoolize: copying file 'acaux/missing' +libtoolize: copying file 'acaux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'acm4'. +libtoolize: copying file 'acm4/libtool.m4' +libtoolize: copying file 'acm4/ltargz.m4' +libtoolize: copying file 'acm4/ltdl.m4' +libtoolize: copying file 'acm4/ltoptions.m4' +libtoolize: copying file 'acm4/ltsugar.m4' +libtoolize: copying file 'acm4/ltversion.m4' +libtoolize: copying file 'acm4/lt~obsolete.m4' +libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. +libtoolize: copying file 'ltdl/COPYING.LIB' +libtoolize: creating file 'ltdl/Makefile.am' +libtoolize: copying file 'ltdl/README' +libtoolize: creating file 'ltdl/configure.ac' +libtoolize: creating file 'ltdl/aclocal.m4' +libtoolize: creating file 'ltdl/Makefile.in' +libtoolize: copying file 'ltdl/config-h.in' +libtoolize: creating file 'ltdl/configure' +libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' +libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' +libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' +libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' +libtoolize: copying file 'ltdl/libltdl/lt__private.h' +libtoolize: copying file 'ltdl/libltdl/lt__strl.h' +libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: copying file 'ltdl/libltdl/lt_error.h' +libtoolize: copying file 'ltdl/libltdl/lt_system.h' +libtoolize: copying file 'ltdl/libltdl/slist.h' +libtoolize: copying file 'ltdl/loaders/dld_link.c' +libtoolize: copying file 'ltdl/loaders/dlopen.c' +libtoolize: copying file 'ltdl/loaders/dyld.c' +libtoolize: copying file 'ltdl/loaders/load_add_on.c' +libtoolize: copying file 'ltdl/loaders/loadlibrary.c' +libtoolize: copying file 'ltdl/loaders/preopen.c' +libtoolize: copying file 'ltdl/loaders/shl_load.c' +libtoolize: copying file 'ltdl/lt__alloc.c' +libtoolize: copying file 'ltdl/lt__argz.c' +libtoolize: copying file 'ltdl/lt__dirent.c' +libtoolize: copying file 'ltdl/lt__strl.c' +libtoolize: copying file 'ltdl/lt_dlloader.c' +libtoolize: copying file 'ltdl/lt_error.c' +libtoolize: copying file 'ltdl/ltdl.c' +libtoolize: copying file 'ltdl/ltdl.h' +libtoolize: copying file 'ltdl/slist.c' +libtoolize: Consider adding '-I acm4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([acaux]) +AC_CONFIG_MACRO_DIRS([acm4]) +LT_INIT +LTDL_INIT([subproject]) +AC_OUTPUT +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/libtoolize.at:1015: \$LIBTOOLIZE --copy --install + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1015" +( $at_check_trace; $LIBTOOLIZE --copy --install + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1015" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_16 +#AT_START_17 +at_fn_group_banner 17 'libtoolize.at:1024' \ + "Subproject ltdl without GNU M4" " " 2 +at_xfail=no +( + $as_echo "17. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in 'ltdl'. +libtoolize: linking file 'ltdl/compile' +libtoolize: linking file 'ltdl/config.guess' +libtoolize: linking file 'ltdl/config.sub' +libtoolize: linking file 'ltdl/depcomp' +libtoolize: linking file 'ltdl/install-sh' +libtoolize: linking file 'ltdl/missing' +libtoolize: linking file 'ltdl/ltmain.sh' +libtoolize: putting macros in 'ltdl/m4'. +libtoolize: linking file 'ltdl/m4/libtool.m4' +libtoolize: linking file 'ltdl/m4/ltargz.m4' +libtoolize: linking file 'ltdl/m4/ltdl.m4' +libtoolize: linking file 'ltdl/m4/ltoptions.m4' +libtoolize: linking file 'ltdl/m4/ltsugar.m4' +libtoolize: linking file 'ltdl/m4/ltversion.m4' +libtoolize: linking file 'ltdl/m4/lt~obsolete.m4' +libtoolize: putting libltdl files in 'ltdl'. +libtoolize: linking file 'ltdl/COPYING.LIB' +libtoolize: creating file 'ltdl/Makefile.am' +libtoolize: linking file 'ltdl/README' +libtoolize: creating file 'ltdl/configure.ac' +libtoolize: creating file 'ltdl/aclocal.m4' +libtoolize: creating file 'ltdl/Makefile.in' +libtoolize: linking file 'ltdl/config-h.in' +libtoolize: creating file 'ltdl/configure' +libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' +libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' +libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' +libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' +libtoolize: linking file 'ltdl/libltdl/lt__private.h' +libtoolize: linking file 'ltdl/libltdl/lt__strl.h' +libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' +libtoolize: linking file 'ltdl/libltdl/lt_error.h' +libtoolize: linking file 'ltdl/libltdl/lt_system.h' +libtoolize: linking file 'ltdl/libltdl/slist.h' +libtoolize: linking file 'ltdl/loaders/dld_link.c' +libtoolize: linking file 'ltdl/loaders/dlopen.c' +libtoolize: linking file 'ltdl/loaders/dyld.c' +libtoolize: linking file 'ltdl/loaders/load_add_on.c' +libtoolize: linking file 'ltdl/loaders/loadlibrary.c' +libtoolize: linking file 'ltdl/loaders/preopen.c' +libtoolize: linking file 'ltdl/loaders/shl_load.c' +libtoolize: linking file 'ltdl/lt__alloc.c' +libtoolize: linking file 'ltdl/lt__argz.c' +libtoolize: linking file 'ltdl/lt__dirent.c' +libtoolize: linking file 'ltdl/lt__strl.c' +libtoolize: linking file 'ltdl/lt_dlloader.c' +libtoolize: linking file 'ltdl/lt_error.c' +libtoolize: linking file 'ltdl/ltdl.c' +libtoolize: linking file 'ltdl/ltdl.h' +libtoolize: linking file 'ltdl/slist.c' +_ATEOF + + +cat >no-m4 <<'_ATEOF' +#! /bin/sh +echo 'error: do not call m4' >&2 +exit 1 +_ATEOF + +chmod a+x ./no-m4 + +{ set +x +$as_echo "$at_srcdir/libtoolize.at:1087: PATH=\`pwd\`:\$PATH M4=\`pwd\`/no-m4 \$LIBTOOLIZE --ltdl=ltdl" +at_fn_check_prepare_notrace 'a `...` command substitution' "libtoolize.at:1087" +( $at_check_trace; PATH=`pwd`:$PATH M4=`pwd`/no-m4 $LIBTOOLIZE --ltdl=ltdl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1087" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_17 +#AT_START_18 +at_fn_group_banner 18 'libtoolize.at:1096' \ + "LIBTOOLIZE_OPTIONS" " " 2 +at_xfail=no +( + $as_echo "18. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + + +LIBTOOLIZE_OPTIONS=narf +export LIBTOOLIZE_OPTIONS + +cat >experr <<'_ATEOF' +libtoolize: error: garbled LIBTOOLIZE_OPTIONS near 'narf' +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:1107: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1107" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtoolize.at:1107" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## --------------------------- ## +## Unknown LIBTOOLIZE_OPTIONS. ## +## --------------------------- ## + +LIBTOOLIZE_OPTIONS=--no-such-option +export LIBTOOLIZE_OPTIONS + +cat >experr <<'_ATEOF' +libtoolize: warning: unrecognized environment option '--no-such-option' +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:1121: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1121" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1121" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +## ----------------------------- ## +## --no-warn environment option. ## +## ----------------------------- ## + +LIBTOOLIZE_OPTIONS=--no-warn,--no-such-option +export LIBTOOLIZE_OPTIONS + +: >experr + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t +mv -f experr.t experr +{ set +x +$as_echo "$at_srcdir/libtoolize.at:1133: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1133" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +$at_diff experr "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1133" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_18 +#AT_START_19 +at_fn_group_banner 19 'libtoolize.at:1142' \ + "cleanup old installation" " " 2 +at_xfail=no +( + $as_echo "19. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +_ATEOF + + +cat >acinclude.m4 <<'_ATEOF' +AC_DEFUN([LT_INIT], +[: keep me, I might be hand maintained!]) # LT_INIT +_ATEOF + + +cat >libltdl/acinclude.m4 <<'_ATEOF' +AC_DEFUN([LT_INIT], +[: delete me, I was left here by on old libltdl build]) # LT_INIT +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/libtoolize.at:1160: \$LIBTOOLIZE --copy --force --ltdl + +" +at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1160" +( $at_check_trace; $LIBTOOLIZE --copy --force --ltdl + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1160" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# check files are left as expected +{ set +x +$as_echo "$at_srcdir/libtoolize.at:1163: \$GREP 'keep me' acinclude.m4" +at_fn_check_prepare_dynamic "$GREP 'keep me' acinclude.m4" "libtoolize.at:1163" +( $at_check_trace; $GREP 'keep me' acinclude.m4 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1163" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/libtoolize.at:1164: test -f libltdl/acinclude.m4" +at_fn_check_prepare_trace "libtoolize.at:1164" +( $at_check_trace; test -f libltdl/acinclude.m4 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtoolize.at:1164" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_19 +#AT_START_20 +at_fn_group_banner 20 'libtool.at:33' \ + "check help output" " " 3 +at_xfail=no +( + $as_echo "20. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/libtool.at:35: \$LIBTOOL --help" +at_fn_check_prepare_dynamic "$LIBTOOL --help" "libtool.at:35" +( $at_check_trace; $LIBTOOL --help +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/libtool.at:36: \$GREP '^Usage:' stdout stderr" +at_fn_check_prepare_dynamic "$GREP '^Usage:' stdout stderr" "libtool.at:36" +( $at_check_trace; $GREP '^Usage:' stdout stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/libtool.at:38: \$LIBTOOL --mode=link --help" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --help" "libtool.at:38" +( $at_check_trace; $LIBTOOL --mode=link --help +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:38" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/libtool.at:39: \$GREP '^Usage:' stdout stderr" +at_fn_check_prepare_dynamic "$GREP '^Usage:' stdout stderr" "libtool.at:39" +( $at_check_trace; $GREP '^Usage:' stdout stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_20 +#AT_START_21 +at_fn_group_banner 21 'libtool.at:48' \ + "diagnose no mode specified" " " 3 +at_xfail=no +( + $as_echo "21. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/libtool.at:50: \$LIBTOOL" +at_fn_check_prepare_dynamic "$LIBTOOL" "libtool.at:50" +( $at_check_trace; $LIBTOOL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:50" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/libtool.at:51: \$GREP 'you must specify a MODE' stderr" +at_fn_check_prepare_dynamic "$GREP 'you must specify a MODE' stderr" "libtool.at:51" +( $at_check_trace; $GREP 'you must specify a MODE' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_21 +#AT_START_22 +at_fn_group_banner 22 'libtool.at:60' \ + "quote shell meta-characters in filenames" " " 3 +at_xfail=no +( + $as_echo "22. $at_setup_line: testing $at_desc ..." + $at_traceon + + +eval `$LIBTOOL --config | $GREP '^wl='` + +# Do the torture test. +for mode in compile link install; do + + # Unfortunately, without an array data type, it is nearly impossible + # to protect libtool from metacharacters in filenames. So, we just + # try metacharacters in the options it needs to pass to other programs. + + # preargs and postargs need to go through libtool unmodified. + case $mode in + compile) + preargs="$CC -c" + preflag= + match_preflag= + flag=-DVAR= + postargs=foo.c + ;; + + link) + preargs="$CC -o hell -g -O" + preflag=-Wl, + match_preflag=$wl + flag=-someflag= + postargs=foo.o + ;; + + install) + preargs="install -c" + preflag= + match_preflag= + flag=--something= + postargs="hell /usr/local/bin/hell" + ;; + esac + + + # Trivial... + + { set +x +$as_echo "$at_srcdir/libtool.at:101: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag:test\" \$postargs" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag:test\" $postargs" "libtool.at:101" +( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag:test" $postargs +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:101" +$at_failed && at_fn_log_failure +$at_traceon; } + + # We must not attempt to match $preargs in the output, because libtool + # may modify them. For example, on Cygwin, 'libtool --mode=link gcc -o + # foo foo.o' becomes 'gcc -o foo.exe foo.o'. + { set +x +$as_echo "$at_srcdir/libtool.at:106: \$GREP \"\$mode:.*\$match_preflag\$flag:test \" stdout" +at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag$flag:test \" stdout" "libtool.at:106" +( $at_check_trace; $GREP "$mode:.*$match_preflag$flag:test " stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:106" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + # Non-trivial... + + # Backslash needs to be double-escaped: one escape is stripped as the shell + # collects arguments for grep (\\\\\\\\ => \\\\), and then another escape + # is stripped by grep itself (\\\\ => \\) before the resulting expression is + # matched (grepping for \\ matches \): + { set +x +$as_echo "$at_srcdir/libtool.at:115: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag\\\\:test\\\\\" \$postargs" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag\\\\:test\\\\\" $postargs" "libtool.at:115" +( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag\\:test\\" $postargs +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + # NOTE: we use "..."'"'"..." to insert a literal quote into the expression + # because "...\"..." is not expanded consistently by all shells. + { set +x +$as_echo "$at_srcdir/libtool.at:119: \$GREP \"\$mode:.*\$match_preflag\"'\"\\{0,1\\}'\"\$flag\\\\\\\\\\\\\\\\:test\\\\\\\\\\\\\\\\\"'\"\\{0,1\\} ' stdout" +at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag\"'\"\\{0,1\\}'\"$flag\\\\\\\\\\\\\\\\:test\\\\\\\\\\\\\\\\\"'\"\\{0,1\\} ' stdout" "libtool.at:119" +( $at_check_trace; $GREP "$mode:.*$match_preflag"'"\{0,1\}'"$flag\\\\\\\\:test\\\\\\\\"'"\{0,1\} ' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:119" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Shell metacharacters that should be backslashified by libtool. + for mchar in \" \` \$; do + { set +x +$as_echo "$at_srcdir/libtool.at:124: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag\$mchar:test\$mchar\" \$postargs" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag$mchar:test$mchar\" $postargs" "libtool.at:124" +( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:124" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/libtool.at:126: \$GREP \"\$mode:.*\$match_preflag\"'\"'\"\\{0,1\\}\$flag\\\\\\\\\$mchar:test\\\\\\\\\$mchar\"'\"'\"\\{0,1\\} \" stdout" +at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag\"'\"'\"\\{0,1\\}$flag\\\\\\\\$mchar:test\\\\\\\\$mchar\"'\"'\"\\{0,1\\} \" stdout" "libtool.at:126" +( $at_check_trace; $GREP "$mode:.*$match_preflag"'"'"\{0,1\}$flag\\\\$mchar:test\\\\$mchar"'"'"\{0,1\} " stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:126" +$at_failed && at_fn_log_failure +$at_traceon; } + + done + + # Shell metacharacters that should be double quoted by libtool, and need + # backslash escaping for input to grep. + for mchar in "[" "]" "^" "*"; do + + { set +x +$as_echo "$at_srcdir/libtool.at:133: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag\$mchar:test\$mchar\" \$postargs" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag$mchar:test$mchar\" $postargs" "libtool.at:133" +( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:133" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/libtool.at:135: \$GREP \"\$mode:.*\$match_preflag\\\"\$flag\\\\\$mchar:test\\\\\$mchar\\\" \" stdout" +at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag\\\"$flag\\\\$mchar:test\\\\$mchar\\\" \" stdout" "libtool.at:135" +( $at_check_trace; $GREP "$mode:.*$match_preflag\"$flag\\$mchar:test\\$mchar\" " stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:135" +$at_failed && at_fn_log_failure +$at_traceon; } + + done + + # Metacharacters that should be double quoted by libtool, but which are + # not special to grep (NOTE: Some of these ARE special to $EGREP!!). + for mchar in "~" "#" "&" "(" ")" "{" "}" "|" ";" "<" ">" "?" "'" " " " "; do + + { set +x +$as_echo "$at_srcdir/libtool.at:142: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag\$mchar:test\$mchar\" \$postargs" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag$mchar:test$mchar\" $postargs" "libtool.at:142" +( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:142" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/libtool.at:144: \$GREP \"\$mode:.*\$match_preflag\\\"\$flag\$mchar:test\$mchar\\\" \" stdout" +at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag\\\"$flag$mchar:test$mchar\\\" \" stdout" "libtool.at:144" +( $at_check_trace; $GREP "$mode:.*$match_preflag\"$flag$mchar:test$mchar\" " stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:144" +$at_failed && at_fn_log_failure +$at_traceon; } + + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_22 +#AT_START_23 +at_fn_group_banner 23 'libtool.at:155' \ + "transform source suffices" " " 3 +at_xfail=no +( + $as_echo "23. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# Extensions taken from the ones that Automake recognizes, plus Objective C, +# and GNU Ada. Also test that multiple dots are handled correctly. +extensions="C F S ada adb ads asm c c++ cc cpp cxx f f90 F90 f95 F95 f03 F03 for go m s sx ada.ada" +bad_names=foo. + +for ext in $extensions; do + # Try a sample compile command. + { set +x +$as_echo "$at_srcdir/libtool.at:164: \$LIBTOOL -n --mode=compile compiler -c foo.\$ext" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=compile compiler -c foo.$ext" "libtool.at:164" +( $at_check_trace; $LIBTOOL -n --mode=compile compiler -c foo.$ext +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:164" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/libtool.at:166: \$GREP 'cannot' stderr" +at_fn_check_prepare_dynamic "$GREP 'cannot' stderr" "libtool.at:166" +( $at_check_trace; $GREP 'cannot' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:166" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +# Make sure that invalid suffixes are not recognized. +for name in $bad_names; do + { set +x +$as_echo "$at_srcdir/libtool.at:171: \$LIBTOOL -n --mode=compile compiler -c \$name" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=compile compiler -c $name" "libtool.at:171" +( $at_check_trace; $LIBTOOL -n --mode=compile compiler -c $name +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:171" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/libtool.at:173: \$GREP 'cannot' stderr" +at_fn_check_prepare_dynamic "$GREP 'cannot' stderr" "libtool.at:173" +( $at_check_trace; $GREP 'cannot' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:173" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_23 +#AT_START_24 +at_fn_group_banner 24 'libtool.at:183' \ + "check link mode operation" " " 3 +at_xfail=no +( + $as_echo "24. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/libtool.at:185: \$LIBTOOL -n --mode=link \$CC -o gettext ../lib/libnlsut.a" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link $CC -o gettext ../lib/libnlsut.a" "libtool.at:185" +( $at_check_trace; $LIBTOOL -n --mode=link $CC -o gettext ../lib/libnlsut.a +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/libtool.at:186: \$EGREP '../lib/libnlsut.a' stdout" +at_fn_check_prepare_dynamic "$EGREP '../lib/libnlsut.a' stdout" "libtool.at:186" +( $at_check_trace; $EGREP '../lib/libnlsut.a' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:186" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +cat >hell.lo <<'_ATEOF' +# Generated by libtool +pic_object=none +non_pic_object=hell.o +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/libtool.at:195: \$LIBTOOL -n --mode=link \$CC -o something foo.o hell.lo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link $CC -o something foo.o hell.lo" "libtool.at:195" +( $at_check_trace; $LIBTOOL -n --mode=link $CC -o something foo.o hell.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:195" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/libtool.at:196: \$FGREP '.lo ' stdout" +at_fn_check_prepare_dynamic "$FGREP '.lo ' stdout" "libtool.at:196" +( $at_check_trace; $FGREP '.lo ' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:196" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_24 +#AT_START_25 +at_fn_group_banner 25 'libtool.at:205' \ + "check objectlist file operation" " " 3 +at_xfail=no +( + $as_echo "25. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/libtool.at:207: \$LIBTOOL -n --mode=link \$CC -objectlist nonexistent" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link $CC -objectlist nonexistent" "libtool.at:207" +( $at_check_trace; $LIBTOOL -n --mode=link $CC -objectlist nonexistent +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:207" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/libtool.at:208: \$GREP 'nonexistent' stderr" +at_fn_check_prepare_dynamic "$GREP 'nonexistent' stderr" "libtool.at:208" +( $at_check_trace; $GREP 'nonexistent' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:208" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_25 +#AT_START_26 +at_fn_group_banner 26 'libtool.at:217' \ + "test LT_SUPPORTED_TAG interface" " " 3 +at_xfail=no +( + $as_echo "26. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/libtool.at:219: test no != \"\$AUTOCONF\" || exit 77" +at_fn_check_prepare_dynamic "test no != \"$AUTOCONF\" || exit 77" "libtool.at:219" +( $at_check_trace; test no != "$AUTOCONF" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:219" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cp $abs_top_srcdir/aclocal.m4 ./aclocal.m4 +cp $abs_top_srcdir/configure.ac ./configure.ac +cp -r $abs_top_srcdir/build-aux ./build-aux +cp -r $abs_top_srcdir/m4 ./m4 + +# Retrieve the list of tags supported by our main libtool script. +traced_tags=`$AUTOCONF --trace 'LT_SUPPORTED_TAG:$1'` +{ set +x +$as_echo "$at_srcdir/libtool.at:228: test -n \"\$traced_tags\"" +at_fn_check_prepare_dynamic "test -n \"$traced_tags\"" "libtool.at:228" +( $at_check_trace; test -n "$traced_tags" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Ensure each of them is accepted by --tag. +# (We do some useless operation like erasing an empty file, because +# we are just interested in whether --tag accepts the tag or not.) +for tag in $traced_tags; do + { set +x +$as_echo "$at_srcdir/libtool.at:234: \$LIBTOOL -n --mode=link --tag=\$tag compiler -o liba.la foo.lo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link --tag=$tag compiler -o liba.la foo.lo" "libtool.at:234" +( $at_check_trace; $LIBTOOL -n --mode=link --tag=$tag compiler -o liba.la foo.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:234" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/libtool.at:236: \$GREP 'ignoring unknown tag' stderr" +at_fn_check_prepare_dynamic "$GREP 'ignoring unknown tag' stderr" "libtool.at:236" +( $at_check_trace; $GREP 'ignoring unknown tag' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:236" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +# Ensure the above command would have failed for unknown tags +{ set +x +$as_echo "$at_srcdir/libtool.at:240: \$LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo" "libtool.at:240" +( $at_check_trace; $LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:240" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/libtool.at:242: \$GREP 'ignoring unknown tag' stderr" +at_fn_check_prepare_dynamic "$GREP 'ignoring unknown tag' stderr" "libtool.at:242" +( $at_check_trace; $GREP 'ignoring unknown tag' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:242" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_26 +#AT_START_27 +at_fn_group_banner 27 'demo.at:384' \ + "link against a preloaded static library" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "27. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:388: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:388" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:388: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:388" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:388: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:388" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:388: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:388" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:388: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:388" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:388: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:388" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:388: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "demo.at:388" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/demo.at:388: \$EGREP '^build_libtool_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "demo.at:388" +( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:390: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:390" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:390" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:390: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:390" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:390" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:390: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:390" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:390" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:390: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:390" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:390" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +for target in install +do + { set +x +$as_echo "$at_srcdir/demo.at:391: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:391" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:391" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:391: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:391" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:391" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:391: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:391" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:391" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:391: \$prefix/bin/helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:391" +( $at_check_trace; $prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:391" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/demo.at:392: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:392" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:392" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/demo.at:392: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:392" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:392" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_27 +#AT_START_28 +at_fn_group_banner 28 'demo.at:401' \ + "build and dynamically load a module" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "28. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:405: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:405" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:405: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:405" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:405: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:405" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:405: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:405" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:405" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:405: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:405" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:405: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:405" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:405: \$EGREP '^build_old_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "demo.at:405" +( $at_check_trace; $EGREP '^build_old_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/demo.at:405: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "demo.at:405" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:407: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:407" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:407" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:407: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:407" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:407" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:407: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:407" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:407" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:407: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:407" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:407" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +for target in install +do + { set +x +$as_echo "$at_srcdir/demo.at:408: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:408" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:408" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:408: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:408" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:408" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:408: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:408" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:408" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:408: \$prefix/bin/helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:408" +( $at_check_trace; $prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:408" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/demo.at:409: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:409" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:409" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/demo.at:409: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:409" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:409" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_28 +#AT_START_29 +at_fn_group_banner 29 'demo.at:418' \ + "preload static and dynamic module" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "29. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:422: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:422" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:422: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:422" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:422: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:422" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:422: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:422" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:422" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:422: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:422" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:422: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:422" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:422: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "demo.at:422" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/demo.at:422: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "demo.at:422" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:424: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:424" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:424" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:424: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:424" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:424" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:424: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:424" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:424" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:424: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:424" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:424" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +for target in install +do + { set +x +$as_echo "$at_srcdir/demo.at:425: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:425" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:425" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:425: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:425" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:425" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:425: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:425" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:425" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:425: \$prefix/bin/helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:425" +( $at_check_trace; $prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:425" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/demo.at:426: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:426" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:426" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/demo.at:426: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:426" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:426" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_29 +#AT_START_30 +at_fn_group_banner 30 'demo.at:438' \ + "deplibs_check_method" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "30. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +cat >demo.mk <<'_ATEOF' +EXTRA_LIBRARIES = libhell0.a +libhell0_a_SOURCES = +libhell0_a_LIBADD = hello.$(OBJEXT) foo.$(OBJEXT) +EXTRA_LTLIBRARIES = libhell1.la libhell2.la +libhell1_la_SOURCES = hell1.c +libhell1_la_LIBADD = -L. -lhell0 +libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir) +libhell1_la_DEPENDENCIES = libhell0.a +libhell2_la_SOURCES = hell2.c +libhell2_la_LIBADD = -L. -lhell0 +libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir) +libhell2_la_DEPENDENCIES = libhell0.a +EXTRA_PROGRAMS = hell0 +hell0_SOURCES = main.c +hell0_LDADD = libhell1.la libhell2.la $(LIBM) + +# 'hell0' in EXTRA_PROGRAMS gets translated to 'hell0.exe'; but we +# must explicitly list the wrapper script 'hell0'. (bin_PROGRAMS +# are handled seamlessly by automake rules; the extra step is only +# necessary for EXTRA_PROGRAMS) +CLEANFILES = $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) hell0 + +deplibs-check: hell0$(EXEEXT) +_ATEOF + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:468: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:468" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:468: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:468" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:468: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:468" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:468: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:468" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:468" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:468: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:468" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:468: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:468" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in deplibs-check +do + { set +x +$as_echo "$at_srcdir/demo.at:469: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:469" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:469" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell0; if test -f "./hell0$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:470: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:470" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:470" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_30 +#AT_START_31 +at_fn_group_banner 31 'demo.at:479' \ + "disable fast install" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "31. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:483: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:483" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:483: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:483" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:483: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:483" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:483: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:483" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:483" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:483: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:483" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:483: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-fast-install=no" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:483" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-fast-install=no +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:484: \$EGREP '^hardcode_action=relink' libtool && (exit 77)" +at_fn_check_prepare_dynamic "$EGREP '^hardcode_action=relink' libtool && (exit 77)" "demo.at:484" +( $at_check_trace; $EGREP '^hardcode_action=relink' libtool && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:484" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:486: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:486" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:486" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:486: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:486" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:486" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:486: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:486" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:486" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:486: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:486" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:486" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +for target in install +do + { set +x +$as_echo "$at_srcdir/demo.at:487: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:487" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:487" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:487: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:487" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:487" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:487: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:487" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:487" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:487: \$prefix/bin/helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:487" +( $at_check_trace; $prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:487" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/demo.at:488: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:488" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:488" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/demo.at:488: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:488" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:488" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_31 +#AT_START_32 +at_fn_group_banner 32 'demo.at:497' \ + "force PIC objects" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "32. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:501: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:501" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:501: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:501" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:501: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:501" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:501: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:501" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:501" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:501: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:501" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:501: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-pic" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:501" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-pic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:502: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:502" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:502" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:502: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:502" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:502" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:502: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:502" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:502" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:502: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:502" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:502" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_32 +#AT_START_33 +at_fn_group_banner 33 'demo.at:511' \ + "force non-PIC objects" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "33. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/demo.at:513: case \$host in +hppa*|x86_64*|s390*) + # These hosts cannot use non-PIC shared libs + exit 77 ;; +*-solaris*|*-sunos*) + # Libtool does not build non-PIC shared libs on these hosts + exit 77 ;; +esac + +if test \"X\$build\" = \"X\$host\" && test -d \"/etc/selinux\"; then + _selinux=\`getenforce 2>/dev/null || echo \"Disabled\"\` + case \$_selinux in + *Enforcing) + _sebool_allow_execmod=\`getsebool allow_execmod 2>/dev/null\` + case \$_sebool_allow_execmod in + *off) + # SELinux policy disallows non-PIC + exit 77 + ;; + esac + ;; + esac +fi +" +at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:513" +( $at_check_trace; case $host in +hppa*|x86_64*|s390*) + # These hosts cannot use non-PIC shared libs + exit 77 ;; +*-solaris*|*-sunos*) + # Libtool does not build non-PIC shared libs on these hosts + exit 77 ;; +esac + +if test "X$build" = "X$host" && test -d "/etc/selinux"; then + _selinux=`getenforce 2>/dev/null || echo "Disabled"` + case $_selinux in + *Enforcing) + _sebool_allow_execmod=`getsebool allow_execmod 2>/dev/null` + case $_sebool_allow_execmod in + *off) + # SELinux policy disallows non-PIC + exit 77 + ;; + esac + ;; + esac +fi + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:513" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:539: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:539" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:539: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:539" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:539: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:539" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:539: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:539" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:539" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:539: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:539" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:539: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-pic=no" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:539" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-pic=no +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:540: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:540" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:540" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:540: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:540" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:540" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:540: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:540" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:540" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:540: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:540" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:540" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_33 +#AT_START_34 +at_fn_group_banner 34 'demo.at:549' \ + "hardcoding library path" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "34. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +cat >demo.mk <<'_ATEOF' +hardcode_tests = hc-direct hc-libflag hc-libpath hc-minusL +CLEANFILES = $(hardcode_tests) + +# Unfortunately, in order to test libtool thoroughly, we need access +# to its private directory. +objdir = `$(LIBTOOL) --config | $(SED) -n -e 's/^objdir=\(.*\)$$/\1/p'` + +# Test programs to see what gets hardcoded. +.PHONY: hardcode +hardcode: $(hardcode_tests) +SET_HARDCODE_FLAGS = \ + eval `$(LIBTOOL) --config | $(SED) -n -e '/^hardcode_.*=/p; /^wl=/p'` +hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @rm -f hc-direct + @echo "You may ignore any linking errors from the following command:" + @shlib=./$(objdir)/libhello.a; \ + eval "`$(GREP) '^library_names' libhello.la`"; \ + for lib in $$library_names; do \ + shlib="./$(objdir)/$$lib"; \ + done; \ + $(SET_HARDCODE_FLAGS); \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@" + +hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @$(SET_HARDCODE_FLAGS); \ + libdir=`pwd`/$(objdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + if test -z "$$flag"; then \ + echo "echo unsupported > $@"; \ + echo unsupported > $@ || status="$$?"; \ + else \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM)"; \ + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM) || status="$$?"; \ + fi; \ + exit $$status + +hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la + @rm -f hc-libpath + @echo "You may ignore any linking errors from the following command:" + @$(SET_HARDCODE_FLAGS); \ + eval `$(LIBTOOL) --config | $(GREP) '^shlibpath_var='`; \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" + +hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES) + @rm -f hc-minusL + @$(SET_HARDCODE_FLAGS); \ + libdir=$(libdir); \ + flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ + echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ + eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" +_ATEOF + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:612: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:612" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:612: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:612" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:612: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:612" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:612: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:612" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:612" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:612: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:612" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:612: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:612" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:613: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:613" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:613" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:613: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:613" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:613" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:613: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:613" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:613" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:613: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:613" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:613" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +for target in install +do + { set +x +$as_echo "$at_srcdir/demo.at:614: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:614" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:614" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:614: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:614" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:614" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:614: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:614" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:614" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:614: \$prefix/bin/helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:614" +( $at_check_trace; $prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:614" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +eval `$EGREP '^library_names=' libhello.la` +{ set +x +$as_echo "$at_srcdir/demo.at:617: test -n \"\$library_names\" || (exit 77)" +at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "demo.at:617" +( $at_check_trace; test -n "$library_names" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:617" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Extra tools we may need +: ${DUMPSTABS="dumpstabs"} + +for target in hardcode +do + { set +x +$as_echo "$at_srcdir/demo.at:622: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:622" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:622" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +eval "`$LIBTOOL --config | $EGREP '^hardcode_(direct|minus_L|shlibpath_var|libdir_flag_spec)='`" + +{ set +x +$as_echo "$at_srcdir/demo.at:626: exit_status=0 +func_hardcode_filter_fp () +{ + \$FGREP -v \"LT_OBJDIR \\\"\$objdir/\\\"\" 2>/dev/null +} +for file in hc-*; do + case \$file in + hc-direct) expected=\"\$hardcode_direct\" ;; + hc-libpath) expected=\"\$hardcode_shlibpath_var\" ;; + hc-minusL) expected=\"\$hardcode_minus_L\" ;; + + hc-libflag) + if test -n \"\$hardcode_libdir_flag_spec\"; then + expected=yes + else + expected=unsupported + fi + ;; + + *) + continue + ;; + esac + + # Discover whether the objdir really was hardcoded. + hardcoded=no + + # Solaris cc may store the command line in a debugging section, + # which leads to false positives. Unfortunately, Solaris strip + # is not capable to remove the section (unlike GNU binutils strip). + # So we use dumpstabs if it seems to work. + if { \$DUMPSTABS -d \$file; } >/dev/null 2>&1; then + if \$DUMPSTABS -d \$file 2>/dev/null | \$FGREP \"\$objdir\" >/dev/null 2>&1; then + hardcoded=yes + else + hardcoded=no + fi + + # At least AIX fgrep doesn't work for binary files, and AIX also + # doesn't have strings(1), so we need this strange conversion + # (which only works on ASCII). + # AIX fgrep also has a limited line length, so we turn unprintable + # characters into newlines. + elif cat \$file | (tr '\\000-\\037\\200-\\377' '\\n' || cat) 2>/dev/null \\ + | func_hardcode_filter_fp | \$FGREP \"\$objdir\" > /dev/null 2>&1; then + hardcoded=yes + + elif cat \$file | func_hardcode_filter_fp | \$FGREP \"\$objdir\" > /dev/null 2>&1; then + # We retry fgrep without tr, in case the above lead to a false negative. + hardcoded=yes + elif (\$SED -e '1!d' \$file | \$GREP 'unsupported') >/dev/null 2>&1; then + hardcoded=unsupported + fi + + # Check the result. + case \$hardcoded in + yes) + if test yes = \"\$expected\"; then + echo \"\$objdir was hardcoded in '\$file', as libtool expected\" + else + echo \"\$objdir was hardcoded in '\$file', which fooled libtool\" 1>&2 + exit_status=1 + fi + ;; + + no) + if test no = \"\$expected\"; then + echo \"\$objdir was not hardcoded in '\$file', as libtool expected\" + else + echo \"\$objdir was not hardcoded in '\$file', which fooled libtool\" 1>&2 + exit_status=1 + fi + ;; + + unsupported) + if test unsupported = \"\$expected\"; then + echo \"'\$file' was not linked properly, as libtool expected\" + else + echo \"'\$file' was not linked properly, which fooled libtool\" 1>&2 + exit_status=1 + fi + ;; + esac +done +" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:626" +( $at_check_trace; exit_status=0 +func_hardcode_filter_fp () +{ + $FGREP -v "LT_OBJDIR \"$objdir/\"" 2>/dev/null +} +for file in hc-*; do + case $file in + hc-direct) expected="$hardcode_direct" ;; + hc-libpath) expected="$hardcode_shlibpath_var" ;; + hc-minusL) expected="$hardcode_minus_L" ;; + + hc-libflag) + if test -n "$hardcode_libdir_flag_spec"; then + expected=yes + else + expected=unsupported + fi + ;; + + *) + continue + ;; + esac + + # Discover whether the objdir really was hardcoded. + hardcoded=no + + # Solaris cc may store the command line in a debugging section, + # which leads to false positives. Unfortunately, Solaris strip + # is not capable to remove the section (unlike GNU binutils strip). + # So we use dumpstabs if it seems to work. + if { $DUMPSTABS -d $file; } >/dev/null 2>&1; then + if $DUMPSTABS -d $file 2>/dev/null | $FGREP "$objdir" >/dev/null 2>&1; then + hardcoded=yes + else + hardcoded=no + fi + + # At least AIX fgrep doesn't work for binary files, and AIX also + # doesn't have strings(1), so we need this strange conversion + # (which only works on ASCII). + # AIX fgrep also has a limited line length, so we turn unprintable + # characters into newlines. + elif cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \ + | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then + hardcoded=yes + + elif cat $file | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then + # We retry fgrep without tr, in case the above lead to a false negative. + hardcoded=yes + elif ($SED -e '1!d' $file | $GREP 'unsupported') >/dev/null 2>&1; then + hardcoded=unsupported + fi + + # Check the result. + case $hardcoded in + yes) + if test yes = "$expected"; then + echo "$objdir was hardcoded in '$file', as libtool expected" + else + echo "$objdir was hardcoded in '$file', which fooled libtool" 1>&2 + exit_status=1 + fi + ;; + + no) + if test no = "$expected"; then + echo "$objdir was not hardcoded in '$file', as libtool expected" + else + echo "$objdir was not hardcoded in '$file', which fooled libtool" 1>&2 + exit_status=1 + fi + ;; + + unsupported) + if test unsupported = "$expected"; then + echo "'$file' was not linked properly, as libtool expected" + else + echo "'$file' was not linked properly, which fooled libtool" 1>&2 + exit_status=1 + fi + ;; + esac +done + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:626" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_34 +#AT_START_35 +at_fn_group_banner 35 'demo.at:719' \ + "binary relinking at install time" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "35. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:724: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:724" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:724: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:724" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:724: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:724" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:724: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:724" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:724" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:724: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:724" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:724: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:724" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:725: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:725" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:725" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:725: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:725" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:725" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:725: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:725" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:725" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:725: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:725" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:725" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +for target in install +do + { set +x +$as_echo "$at_srcdir/demo.at:726: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:726" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:726" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:726: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:726" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:726" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:726: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:726" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:726" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:726: \$prefix/bin/helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:726" +( $at_check_trace; $prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:726" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Check to make sure we have a dynamic library. +eval `$EGREP '^library_names=' libhello.la` +{ set +x +$as_echo "$at_srcdir/demo.at:730: test -n \"\$library_names\" || (exit 77)" +at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "demo.at:730" +( $at_check_trace; test -n "$library_names" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:730" +$at_failed && at_fn_log_failure +$at_traceon; } + + +func_save_files +# AIX 5.3 '/bin/sh' will invoke the trap for 0 at the end of a +# function, so we set the trap outside of a function to be portable. +trap func_restore_files 0 1 2 13 15 + +eval "`$LIBTOOL --config | $EGREP '^shlibpath_overrides_runpath='`" +eval "`$LIBTOOL --config | $EGREP '^hardcode_(action|direct|into_libs)='`" + +# Allow the binary to link on-demand if need be. +./hell$EXEEXT >/dev/null || : + +# Remove libhello.la from build tree. +rm -f libhello.la "$objdir"/libhello.* + +# Either uninstalled ./hell will run using the just installed libraries +# when the uninstalled libs are missing, or relinking at install time +# is necessary, and the uninstalled ./hell has only the uninstalled +# library paths hardcoded. +{ set +x +$as_echo "$at_srcdir/demo.at:750: ./hell\$EXEEXT >/dev/null || test relink,yes = \"\$hardcode_action,\$hardcode_direct\"" +at_fn_check_prepare_dynamic "./hell$EXEEXT >/dev/null || test relink,yes = \"$hardcode_action,$hardcode_direct\"" "demo.at:750" +( $at_check_trace; ./hell$EXEEXT >/dev/null || test relink,yes = "$hardcode_action,$hardcode_direct" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:750" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Link an incomplete libhello.la. +for target in libhello.la +do + { set +x +$as_echo "$at_srcdir/demo.at:753: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target libhello_la_OBJECTS=hello.lo" +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target libhello_la_OBJECTS=hello.lo" "demo.at:753" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target libhello_la_OBJECTS=hello.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:753" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +{ set +x +$as_echo "$at_srcdir/demo.at:754: test -f libhello.la" +at_fn_check_prepare_trace "demo.at:754" +( $at_check_trace; test -f libhello.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:754" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Try running uninstalled ./hell with only broken libhello.la in build tree. +# If the following has normal exit status, shlibpath_overrides_runpath is +# wrong, and should be set to 'no' on this host. +# The unusual '|| (exit 1)' is to normalize all non-zero exit statuses. +echo "./hell || (exit 1)"; { set +x +$as_echo "$at_srcdir/demo.at:760: ./hell || (exit 1)" +at_fn_check_prepare_trace "demo.at:760" +( $at_check_trace; ./hell || (exit 1) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:760" +$at_failed && at_fn_log_failure +$at_traceon; } + + +test relink = "$hardcode_action" || +test yes = "$shlibpath_overrides_runpath" || +{ + { set +x +$as_echo "$at_srcdir/demo.at:765: rm -f \$objdir/lt-hell\$EXEEXT" +at_fn_check_prepare_dynamic "rm -f $objdir/lt-hell$EXEEXT" "demo.at:765" +( $at_check_trace; rm -f $objdir/lt-hell$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:765" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/demo.at:766: cp \$objdir/hell\$EXEEXT \$objdir/lt-hell\$EXEEXT" +at_fn_check_prepare_dynamic "cp $objdir/hell$EXEEXT $objdir/lt-hell$EXEEXT" "demo.at:766" +( $at_check_trace; cp $objdir/hell$EXEEXT $objdir/lt-hell$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:766" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Running demo/hell with installed libhello.la. + # If the following check fails, then shlibpath_overrides_runpath is + # wrong, and should be set to 'yes' on this host. + echo "./hell"; { set +x +$as_echo "$at_srcdir/demo.at:771: ./hell" +at_fn_check_prepare_trace "demo.at:771" +( $at_check_trace; ./hell +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:771" +$at_failed && at_fn_log_failure +$at_traceon; } + +} + +func_restore_files + +# Undo the effect of the previous 'trap' command. Some shellology: +# We cannot use "trap - 0 1 2 3 13 15", because Solaris sh would attempt to +# execute the command "-". "trap '' ..." is fine only for signal 0 (= normal +# exit); for the others we need to call 'exit' explicitly. The value of $? is +# 128 + signal number and is set before the trap-registered command is run. +trap '' 0 +trap 'func_exit $?' 1 2 3 13 15 + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_35 +#AT_START_36 +at_fn_group_banner 36 'demo.at:791' \ + "uninstalled libraries have priority" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "36. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:795: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:795" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:795: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:795" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:795: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:795" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:795: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:795" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:795" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:795: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:795" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:795: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:795" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:796: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:796" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:796" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:796: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:796" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:796" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:796: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:796" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:796" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:796: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:796" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:796" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +for target in install +do + { set +x +$as_echo "$at_srcdir/demo.at:797: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:797" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:797" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:797: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:797" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:797" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:797: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:797" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:797" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:797: \$prefix/bin/helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:797" +( $at_check_trace; $prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:797" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Remove libhello.la and hell from build tree. +rm -f libhello.la "hell$EXEEXT" + +# If this check fails (i.e. the make succeeds), then the installed library +# was used, which is wrong. +{ set +x +$as_echo "$at_srcdir/demo.at:804: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE hell\$EXEEXT libhello_la_OBJECTS=hello.lo || (exit 1)" +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE hell$EXEEXT libhello_la_OBJECTS=hello.lo || (exit 1)" "demo.at:804" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE hell$EXEEXT libhello_la_OBJECTS=hello.lo || (exit 1) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:804" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_36 +#AT_START_37 +at_fn_group_banner 37 'demo.at:814' \ + "linking with long file names" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "37. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = longer_file_name_hello.c longer_file_name_foo.c longer_file_name_foo2.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from longer_file_name_main.c and libhello.la +hell_SOURCES = longer_file_name_main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = longer_file_name_main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = longer_file_name_dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf $@ + echo '#! /bin/sh' > $@ + echo 'echo sorry, -dlopen is unsupported' >> $@ + chmod +x $@ + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (foo2 () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int foo2 (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo2.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +int foo2 (void) { + printf ("foo2 cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +foo2 cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +for file in dlmain.c foo.c foo2.c hello.c main.c; do + mv $file longer_file_name_$file +done + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/demo.at:982: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:982" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/demo.at:982: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:982" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:982: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:982" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/demo.at:982: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:982" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/demo.at:982" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:982: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:982" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:982: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:982" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/demo.at:983: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:983" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:983" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:983: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:983" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:983" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:983: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:983" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:983" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:983: ./helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:983" +( $at_check_trace; ./helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:983" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +for target in install +do + { set +x +$as_echo "$at_srcdir/demo.at:984: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:984" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:984" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:984: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:984" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:984" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/demo.at:984: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:984" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:984" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/demo.at:984: \$prefix/bin/helldl\$EXEEXT | + \$EGREP '(Welcome to .*GNU Hell|unsupported)'" +at_fn_check_prepare_notrace 'an embedded newline' "demo.at:984" +( $at_check_trace; $prefix/bin/helldl$EXEEXT | + $EGREP '(Welcome to .*GNU Hell|unsupported)' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/demo.at:984" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_37 +#AT_START_38 +at_fn_group_banner 38 'pic_flag.at:24' \ + "override pic_flag at configure time" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "38. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# Just try to configure the Libtool package with -fpic if we can compile +# with it, for C and C++. + +cat >foo.c <<'_ATEOF' +int data = 42; +int func(void) { return data; } +_ATEOF + + +cp foo.c foo.cpp +C_pic_flag='-fpic -DPIC' +{ set +x +$as_echo "$at_srcdir/pic_flag.at:36: \$CC \$CPPFLAGS \$CFLAGS \$C_pic_flag -c foo.c || exit 77" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS $C_pic_flag -c foo.c || exit 77" "pic_flag.at:36" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS $C_pic_flag -c foo.c || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +# The configure test for the PIC flag also checks for warnings. +{ set +x +$as_echo "$at_srcdir/pic_flag.at:39: \$GREP fpic stdout stderr && exit 77" +at_fn_check_prepare_dynamic "$GREP fpic stdout stderr && exit 77" "pic_flag.at:39" +( $at_check_trace; $GREP fpic stdout stderr && exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/pic_flag.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/pic_flag.at:40: \$GREP '[uU]nknown.*option' stdout stderr && exit 77" +at_fn_check_prepare_dynamic "$GREP '[uU]nknown.*option' stdout stderr && exit 77" "pic_flag.at:40" +( $at_check_trace; $GREP '[uU]nknown.*option' stdout stderr && exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/pic_flag.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CXX_pic_flag='-fpic -DPIC' +if $CXX $CPPFLAGS $CXXFLAGS $CXX_pic_flag -c foo.cpp; then :; else + CXX_pic_flag= +fi + +# Set up a tests/demo.at style project. +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +# Bootstrap, and configure it so that we can extract libtool --config +# settings. +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/pic_flag.at:52: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "pic_flag.at:52" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/pic_flag.at:52: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "pic_flag.at:52" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/pic_flag.at:52: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "pic_flag.at:52" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:52" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/pic_flag.at:52: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "pic_flag.at:52" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/pic_flag.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/pic_flag.at:52: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "pic_flag.at:52" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + + +{ set +x +$as_echo "$at_srcdir/pic_flag.at:55: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" lt_cv_prog_compiler_pic=\"\$C_pic_flag\" lt_cv_prog_compiler_pic_CXX=\"\$CXX_pic_flag\"" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "pic_flag.at:55" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" lt_cv_prog_compiler_pic="$C_pic_flag" lt_cv_prog_compiler_pic_CXX="$CXX_pic_flag" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:55" +$at_failed && at_fn_log_failure +$at_traceon; } + + +: ${MAKE=make} +{ set +x +$as_echo "$at_srcdir/pic_flag.at:59: \$MAKE" +at_fn_check_prepare_dynamic "$MAKE" "pic_flag.at:59" +( $at_check_trace; $MAKE +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:59" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/pic_flag.at:60: if ./libtool --features | \$GREP 'enable shared libraries'; then \$GREP ' -fpic' stdout; else exit 77; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "pic_flag.at:60" +( $at_check_trace; if ./libtool --features | $GREP 'enable shared libraries'; then $GREP ' -fpic' stdout; else exit 77; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_38 +#AT_START_39 +at_fn_group_banner 39 'with-pic.at:24' \ + "test --with-pic" " " 4 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "39. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# Set up a tests/demo.at style project. +cat >configure.ac <<'_ATEOF' +AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([dlopen win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +case $lt_cv_sys_global_symbol_pipe in + ?*) binary_helldl=yes ;; +esac +AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +# Build a libtool library, libhello.la for installation in libdir. +lib_LTLIBRARIES = libhello.la +libhello_la_SOURCES = hello.c foo.c +libhello_la_LIBADD = $(LIBM) +libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 +libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO + +include_HEADERS = foo.h + +if BINARY_HELLDL +BUILD_helldl = helldl +else +BUILD_helldl = +endif + +bin_PROGRAMS = hell hell_static $(BUILD_helldl) + +# Build hell from main.c and libhello.la +hell_SOURCES = main.c +hell_LDADD = libhello.la + +# Create a statically linked version of hell. +hell_static_SOURCES = main.c +hell_static_LDADD = libhello.la +hell_static_LDFLAGS = $(STATIC) + +if BINARY_HELLDL + +# Create a version of hell that does a preloaded dlopen. +helldl_SOURCES = dlmain.c +helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la +helldl_DEPENDENCIES = libhello.la + +else + +# Create a script that says that -dlopen is not supported. +bin_SCRIPTS = helldl +helldl helldl$(EXEEXT): + rm -rf + echo '#! /bin/sh' > + echo 'echo sorry, -dlopen is unsupported' >> + chmod +x + +endif + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +include $(srcdir)/demo.mk +_ATEOF + + +cat >demo.mk <<'_ATEOF' +## Don't abort for lack of demo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and + * earlier do not define __CYGWIN__. This snippet allows us to check + * for __CYGWIN__ reliably for both current, old, and (probable) future + * releases. + */ +#ifdef __CYGWIN32__ +# ifndef __CYGWIN__ +# define __CYGWIN__ +# endif +#endif + +#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ +# ifdef BUILDING_LIBHELLO +# ifdef DLL_EXPORT +# define LIBHELLO_SCOPE extern __declspec (dllexport) +# endif +# else +# define LIBHELLO_SCOPE extern __declspec (dllimport) +# endif +#endif +#ifndef LIBHELLO_SCOPE +# define LIBHELLO_SCOPE extern +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +#ifdef __cplusplus +extern "C" { +#endif + +int foo (void); +int hello (void); +LIBHELLO_SCOPE int nothing; + +#ifdef __cplusplus +} +#endif + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +int foo (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} +_ATEOF + + +cat >hell1.c <<'_ATEOF' +#include +int hell1 (void) { return 1; } +_ATEOF + + +cat >hell2.c <<'_ATEOF' +#include +int hell2 (void) { return 2; } +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int hello (void) { + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int main () +{ + printf ("Welcome to GNU Hell!\n"); + + /* Try assigning to the nothing variable. */ + nothing = 1; + + /* Just call the functions and check return values. */ + if (foo () != FOO_RET) + return 1; + + if (hello () != HELLO_RET) + return 2; + + return 0; +} +_ATEOF + + +cat >dlmain.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define STREQ !strcmp + +#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols + +typedef struct +{ + const char *name; + void *address; +} lt_dlsymlist; + +extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; + +int main () +{ + const lt_dlsymlist *s; + int (*pfoo)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + + printf ("Welcome to *modular* GNU Hell!\n"); + + /* Look up the symbols we require for this demonstration. */ + s = lt_preloaded_symbols; + while (s->name) + { + if (s->address) { + const char *name = s->name; + printf ("found symbol: %s\n", name); + if (STREQ ("@INIT@", name)) + ((void(*)())s->address)(); + if (STREQ ("hello", name)) + phello = (int(*)())s->address; + else if (STREQ ("foo", name)) + pfoo = (int(*)())s->address; + else if (STREQ ("nothing", name)) +#ifndef _WIN32 + /* In an ideal world we could do this... */ + pnothing = (int*)s->address; +#else /* !_WIN32 */ + /* In an ideal world a shared lib would be able to export data */ + pnothing = (int*)¬hing; +#endif + } else + printf ("found file: %s\n", s->name); + s ++; + } + + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + fprintf (stderr, "did not find the 'nothing' variable\n"); + + /* Just call the functions and check return values. */ + if (pfoo) + { + if ((*pfoo) () != FOO_RET) + return 1; + } + else + fprintf (stderr, "did not find the 'foo' function\n"); + + if (phello) + { + if ((*phello) () != HELLO_RET) + return 3; + } + else + fprintf (stderr, "did not find the 'hello' function\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +# Bootstrap, and configure it so that we can extract libtool --config +# settings. +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/with-pic.at:31: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "with-pic.at:31" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/with-pic.at:31: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "with-pic.at:31" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/with-pic.at:31: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "with-pic.at:31" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/with-pic.at:31: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "with-pic.at:31" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/with-pic.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/with-pic.at:31: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "with-pic.at:31" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/with-pic.at:31: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:31" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +eval `$LIBTOOL --config | $EGREP '^(pic_flag|FGREP)='` + +no_dlls=: +case " $pic_flag " in +*" -DDLL_EXPORT "*) no_dlls=false ;; +esac +{ set +x +$as_echo "$at_srcdir/with-pic.at:39: \$no_dlls || exit 77" +at_fn_check_prepare_dynamic "$no_dlls || exit 77" "with-pic.at:39" +( $at_check_trace; $no_dlls || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/with-pic.at:40: test . != \"\$at_srcdir\" || exit 77" +at_fn_check_prepare_dynamic "test . != \"$at_srcdir\" || exit 77" "with-pic.at:40" +( $at_check_trace; test . != "$at_srcdir" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + +: ${MAKE=make} + +{ set +x +$as_echo "$at_srcdir/with-pic.at:44: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared --with-pic=no" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:44" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared --with-pic=no +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:44" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/with-pic.at:45: \$MAKE" +at_fn_check_prepare_dynamic "$MAKE" "with-pic.at:45" +( $at_check_trace; $MAKE +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:45" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/with-pic.at:46: \$FGREP -v \"\$pic_flag\" stdout" +at_fn_check_prepare_dynamic "$FGREP -v \"$pic_flag\" stdout" "with-pic.at:46" +( $at_check_trace; $FGREP -v "$pic_flag" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +$MAKE clean + +{ set +x +$as_echo "$at_srcdir/with-pic.at:49: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared --with-pic=yes" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:49" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared --with-pic=yes +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:49" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/with-pic.at:50: \$MAKE" +at_fn_check_prepare_dynamic "$MAKE" "with-pic.at:50" +( $at_check_trace; $MAKE +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:50" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/with-pic.at:51: \$FGREP \"\$pic_flag\" stdout" +at_fn_check_prepare_dynamic "$FGREP \"$pic_flag\" stdout" "with-pic.at:51" +( $at_check_trace; $FGREP "$pic_flag" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + +$MAKE clean + +{ set +x +$as_echo "$at_srcdir/with-pic.at:54: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared --with-pic=\"demo,foo,bar\"" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:54" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared --with-pic="demo,foo,bar" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/with-pic.at:55: \$MAKE" +at_fn_check_prepare_dynamic "$MAKE" "with-pic.at:55" +( $at_check_trace; $MAKE +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:55" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/with-pic.at:56: \$FGREP \"\$pic_flag\" stdout" +at_fn_check_prepare_dynamic "$FGREP \"$pic_flag\" stdout" "with-pic.at:56" +( $at_check_trace; $FGREP "$pic_flag" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:56" +$at_failed && at_fn_log_failure +$at_traceon; } + +$MAKE clean + +{ set +x +$as_echo "$at_srcdir/with-pic.at:59: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared --with-pic=\"foo,bar\"" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:59" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared --with-pic="foo,bar" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:59" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/with-pic.at:60: \$MAKE" +at_fn_check_prepare_dynamic "$MAKE" "with-pic.at:60" +( $at_check_trace; $MAKE +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/with-pic.at:61: \$FGREP -v \"\$pic_flag\" stdout" +at_fn_check_prepare_dynamic "$FGREP -v \"$pic_flag\" stdout" "with-pic.at:61" +( $at_check_trace; $FGREP -v "$pic_flag" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:61" +$at_failed && at_fn_log_failure +$at_traceon; } + +$MAKE clean + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_39 +#AT_START_40 +at_fn_group_banner 40 'cdemo.at:136' \ + "build and link against a static library" " " 5 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "40. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([cdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libfoo.la +libfoo_la_SOURCES = foo.c +libfoo_la_LIBADD = $(LIBM) +libfoo_la_LDFLAGS = -no-undefined +noinst_HEADERS = foo.h + +bin_PROGRAMS = cdemo +cdemo_SOURCES = main.c +cdemo_LDADD = libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H 1 + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +extern int foo(); + +extern int hello(); + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +int foo() { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} + +int hello() { + printf ("** This is libfoo **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include "foo.h" + +int main () +{ + int value; + + printf ("Welcome to GNU libtool cdemo!\n"); + + value = hello(); + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + + if (foo () == FOO_RET) + printf("foo is ok!\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU libtool cdemo! +** This is libfoo ** +hello returned: 57616 +hello is ok! +cos (0.0) = 1 +foo is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/cdemo.at:140: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:140" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:140: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:140" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:140: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:140" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/cdemo.at:140: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:140" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:140: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:140" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:140: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "cdemo.at:140" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:140: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "cdemo.at:140" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cdemo.at:140: \$EGREP '^build_libtool_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "cdemo.at:140" +( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/cdemo.at:142: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:142" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:142" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./cdemo; if test -f "./cdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cdemo.at:142: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cdemo.at:142" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:142" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_40 +#AT_START_41 +at_fn_group_banner 41 'cdemo.at:151' \ + "build and link against a dynamic library" " " 5 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "41. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([cdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libfoo.la +libfoo_la_SOURCES = foo.c +libfoo_la_LIBADD = $(LIBM) +libfoo_la_LDFLAGS = -no-undefined +noinst_HEADERS = foo.h + +bin_PROGRAMS = cdemo +cdemo_SOURCES = main.c +cdemo_LDADD = libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H 1 + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +extern int foo(); + +extern int hello(); + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +int foo() { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} + +int hello() { + printf ("** This is libfoo **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include "foo.h" + +int main () +{ + int value; + + printf ("Welcome to GNU libtool cdemo!\n"); + + value = hello(); + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + + if (foo () == FOO_RET) + printf("foo is ok!\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU libtool cdemo! +** This is libfoo ** +hello returned: 57616 +hello is ok! +cos (0.0) = 1 +foo is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/cdemo.at:155: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:155" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:155: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:155" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:155: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:155" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/cdemo.at:155: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:155" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:155: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:155" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:155: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "cdemo.at:155" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:155: \$EGREP '^build_old_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "cdemo.at:155" +( $at_check_trace; $EGREP '^build_old_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cdemo.at:155: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "cdemo.at:155" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/cdemo.at:157: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:157" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:157" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./cdemo; if test -f "./cdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cdemo.at:157: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cdemo.at:157" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:157" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_41 +#AT_START_42 +at_fn_group_banner 42 'cdemo.at:166' \ + "build both static and dynamic" " " 5 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "42. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([cdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libfoo.la +libfoo_la_SOURCES = foo.c +libfoo_la_LIBADD = $(LIBM) +libfoo_la_LDFLAGS = -no-undefined +noinst_HEADERS = foo.h + +bin_PROGRAMS = cdemo +cdemo_SOURCES = main.c +cdemo_LDADD = libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H 1 + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +extern int foo(); + +extern int hello(); + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +int foo() { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} + +int hello() { + printf ("** This is libfoo **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include "foo.h" + +int main () +{ + int value; + + printf ("Welcome to GNU libtool cdemo!\n"); + + value = hello(); + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + + if (foo () == FOO_RET) + printf("foo is ok!\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU libtool cdemo! +** This is libfoo ** +hello returned: 57616 +hello is ok! +cos (0.0) = 1 +foo is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/cdemo.at:170: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:170" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:170: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:170" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:170: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:170" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/cdemo.at:170: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:170" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:170" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:170: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:170" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:170: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "cdemo.at:170" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:170: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "cdemo.at:170" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cdemo.at:170: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "cdemo.at:170" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/cdemo.at:172: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:172" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./cdemo; if test -f "./cdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cdemo.at:172: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cdemo.at:172" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_42 +#AT_START_43 +at_fn_group_banner 43 'cdemo.at:181' \ + "allow_undefined_flag" " " 5 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "43. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([cdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libfoo.la +libfoo_la_SOURCES = foo.c +libfoo_la_LIBADD = $(LIBM) +libfoo_la_LDFLAGS = -no-undefined +noinst_HEADERS = foo.h + +bin_PROGRAMS = cdemo +cdemo_SOURCES = main.c +cdemo_LDADD = libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H 1 + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +extern int foo(); + +extern int hello(); + +#endif +_ATEOF + + +cat >foo.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +int foo() { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return FOO_RET; +} + +int hello() { + printf ("** This is libfoo **\n"); + return HELLO_RET; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include "foo.h" + +int main () +{ + int value; + + printf ("Welcome to GNU libtool cdemo!\n"); + + value = hello(); + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + + if (foo () == FOO_RET) + printf("foo is ok!\n"); + + return 0; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU libtool cdemo! +** This is libfoo ** +hello returned: 57616 +hello is ok! +cos (0.0) = 1 +foo is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/cdemo.at:185: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:185" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:185: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:185" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:185: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:185" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/cdemo.at:185: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:185" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:185: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:185" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:185: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "cdemo.at:185" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +{ set +x +$as_echo "$at_srcdir/cdemo.at:187: \$EGREP \"^allow_undefined_flag=.\\{0,1\\}unsupported.\\{0,1\\}\$\" libtool && (exit 77)" +at_fn_check_prepare_dynamic "$EGREP \"^allow_undefined_flag=.\\{0,1\\}unsupported.\\{0,1\\}$\" libtool && (exit 77)" "cdemo.at:187" +( $at_check_trace; $EGREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:187" +$at_failed && at_fn_log_failure +$at_traceon; } + + +$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool + +for target in all +do + { set +x +$as_echo "$at_srcdir/cdemo.at:192: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:192" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:192" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./cdemo; if test -f "./cdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cdemo.at:192: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cdemo.at:192" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:192" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_43 +#AT_START_44 +at_fn_group_banner 44 'convenience.at:31' \ + "C convenience archives" " " 5 +at_xfail=no +( + $as_echo "44. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >main1.c <main2.c <main3.c < a$i.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main$i.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo +done +{ set +x +$as_echo "$at_srcdir/convenience.at:52: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" "convenience.at:52" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/convenience.at:54: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:54" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + + +conv= +for i in 1 2 3; do + conv=$conv$i + { set +x +$as_echo "$at_srcdir/convenience.at:60: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -static -o main_static\$EXEEXT main\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la" "convenience.at:60" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/convenience.at:62: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la" "convenience.at:62" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:64: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:64" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:64" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:65: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:65" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_44 +#AT_START_45 +at_fn_group_banner 45 'convenience.at:70' \ + "C++ convenience archives" " " 5 +at_xfail=no +( + $as_echo "45. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/convenience.at:71: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "convenience.at:71" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/convenience.at:71: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "convenience.at:71" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >main1.cpp <main2.cpp <main3.cpp < a$i.cpp + $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c main$i.cpp + $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c a$i.cpp + $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba$i.la a$i.lo +done +{ set +x +$as_echo "$at_srcdir/convenience.at:92: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" "convenience.at:92" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/convenience.at:94: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:94" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:94" +$at_failed && at_fn_log_failure +$at_traceon; } + + +conv= +for i in 1 2 3; do + conv=$conv$i + { set +x +$as_echo "$at_srcdir/convenience.at:100: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -static -o main_static\$EXEEXT main\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la" "convenience.at:100" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:100" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/convenience.at:102: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o main\$EXEEXT main\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la" "convenience.at:102" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:102" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:104: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:104" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:104" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:105: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:105" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:105" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_45 +#AT_START_46 +at_fn_group_banner 46 'convenience.at:110' \ + "F77 convenience archives" " " 5 +at_xfail=no +( + $as_echo "46. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/convenience.at:111: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "convenience.at:111" +( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:111" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >main1.f <main2.f <main3.f <a$i.f <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:152" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/convenience.at:154: \$LIBTOOL --tag=F77 --mode=link \$F77 \$FFLAGS \$LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:154" +( $at_check_trace; $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:154" +$at_failed && at_fn_log_failure +$at_traceon; } + + +conv= +for i in 1 2 3; do + conv=$conv$i + { set +x +$as_echo "$at_srcdir/convenience.at:160: \$LIBTOOL --tag=F77 --mode=link \$F77 \$FFLAGS \$LDFLAGS -static -o main_static\$EXEEXT main\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la" "convenience.at:160" +( $at_check_trace; $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:160" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/convenience.at:162: \$LIBTOOL --tag=F77 --mode=link \$F77 \$FFLAGS \$LDFLAGS -o main\$EXEEXT main\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la" "convenience.at:162" +( $at_check_trace; $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:162" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:164: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:164" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:164" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:165: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:165" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:165" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_46 +#AT_START_47 +at_fn_group_banner 47 'convenience.at:170' \ + "FC convenience archives" " " 5 +at_xfail=no +( + $as_echo "47. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/convenience.at:171: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "convenience.at:171" +( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:171" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Autoconf will accept f77 or similar as a valid FC, but often f77 + # will not compile fortran90 code; in that case skip the FC checks. + cat >fc_test.f90 <<'_ATEOF' + program main + + end +_ATEOF + + { set +x +$as_echo "$at_srcdir/convenience.at:171: \$FC \$FCFLAGS fc_test.f90 || exit 77" +at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "convenience.at:171" +( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:171" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >main1.f <main2.f <main3.f <a$i.f <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:212" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/convenience.at:214: \$LIBTOOL --tag=FC --mode=link \$FC \$FCFLAGS \$LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:214" +( $at_check_trace; $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:214" +$at_failed && at_fn_log_failure +$at_traceon; } + + +conv= +for i in 1 2 3; do + conv=$conv$i + { set +x +$as_echo "$at_srcdir/convenience.at:220: \$LIBTOOL --tag=FC --mode=link \$FC \$FCFLAGS \$LDFLAGS -static -o main_static\$EXEEXT main\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la" "convenience.at:220" +( $at_check_trace; $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:220" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/convenience.at:222: \$LIBTOOL --tag=FC --mode=link \$FC \$FCFLAGS \$LDFLAGS -o main\$EXEEXT main\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la" "convenience.at:222" +( $at_check_trace; $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:222" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:224: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:224" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:224" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:225: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:225" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:225" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_47 +#AT_START_48 +at_fn_group_banner 48 'convenience.at:230' \ + "Java convenience archives" " " 5 +at_xfail=no +( + $as_echo "48. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/convenience.at:231: { test -n \"\$GCJ\" && test \"X\$GCJ\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$GCJ\" && test \"X$GCJ\" != Xno; } || (exit 77)" "convenience.at:231" +( $at_check_trace; { test -n "$GCJ" && test "X$GCJ" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:231" +$at_failed && at_fn_log_failure +$at_traceon; } + +# There are just too many broken gcj installations out there, either missing + # libgcj.spec or unable to find it. Skip the test for them. + cat >gcj_test.java <<'_ATEOF' +public class gcj_test { + public static void main(String[] argv) { } + } +_ATEOF + + { set +x +$as_echo "$at_srcdir/convenience.at:231: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77" +at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "convenience.at:231" +( $at_check_trace; $GCJ $GCJFLAGS -c gcj_test.java || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:231" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/convenience.at:231: \$GCJ \$GCJFLAGS --main=gcj_test -o gcj_test\$EXEEXT gcj_test.java || exit 77" +at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS --main=gcj_test -o gcj_test$EXEEXT gcj_test.java || exit 77" "convenience.at:231" +( $at_check_trace; $GCJ $GCJFLAGS --main=gcj_test -o gcj_test$EXEEXT gcj_test.java || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:231" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/convenience.at:231: ./gcj_test\$EXEEXT || exit 77" +at_fn_check_prepare_dynamic "./gcj_test$EXEEXT || exit 77" "convenience.at:231" +( $at_check_trace; ./gcj_test$EXEEXT || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:231" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >foo1.java <foo2.java <foo3.java <A$i.java <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:275" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/convenience.at:277: \$LIBTOOL --tag=GCJ --mode=link \$GCJ \$GCJFLAGS \$LDFLAGS -o liba123.la A3.lo liba1.la liba2.la -rpath /notexist" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba123.la A3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:277" +( $at_check_trace; $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba123.la A3.lo liba1.la liba2.la -rpath /notexist +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:277" +$at_failed && at_fn_log_failure +$at_traceon; } + + +conv= +for i in 1 2 3; do + conv=$conv$i + { set +x +$as_echo "$at_srcdir/convenience.at:283: \$LIBTOOL --tag=GCJ --mode=link \$GCJ \$GCJFLAGS \$LDFLAGS -static --main=foo\$i -o main_static\$EXEEXT foo\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -static --main=foo$i -o main_static$EXEEXT foo$i.lo liba$conv.la" "convenience.at:283" +( $at_check_trace; $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -static --main=foo$i -o main_static$EXEEXT foo$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/convenience.at:285: \$LIBTOOL --tag=GCJ --mode=link \$GCJ \$GCJFLAGS \$LDFLAGS --main=foo\$i -o main\$EXEEXT foo\$i.lo liba\$conv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS --main=foo$i -o main$EXEEXT foo$i.lo liba$conv.la" "convenience.at:285" +( $at_check_trace; $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS --main=foo$i -o main$EXEEXT foo$i.lo liba$conv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:285" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:287: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:287" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:287" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/convenience.at:288: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:288" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:288" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_48 +#AT_START_49 +at_fn_group_banner 49 'depdemo.at:286' \ + "static library interdependencies" " " 6 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "49. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = l1 l2 l3 l4 + +bin_PROGRAMS = depdemo depdemo_static + +depdemo_SOURCES = main.c +depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ + $(top_builddir)/l4/libl4.la +depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ + $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la + +depdemo_static_SOURCES = $(depdemo_SOURCES) +depdemo_static_LDADD = $(depdemo_LDADD) +depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) +depdemo_static_LDFLAGS = $(STATIC) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "l1/l1.h" +#include "l2/l2.h" +#include "l4/l4.h" + +#define STREQ !strcmp + +int main (int argc, char **argv) +{ + printf("dependencies:\n"); + func_l1(0); + func_l2(0); + func_l4(0); + if (argc == 2 && STREQ (argv[1], "-alt") + && var_l1 + var_l2 + var_l4 == 8) + return 0; + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", + var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); + if (var_l1 + var_l2 + var_l4 != 19) + { + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", + var_l1,var_l2,var_l4); + return 1; + } + return 0; +} +_ATEOF + + +# Create 4 directorys of mostly identical files. +for i in 1 2 3 4; do + mkdir l$i + + # l$i/Makefile.am: + { + $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' + $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i + $ECHO 'lib_LTLIBRARIES = libl'$i'.la' + $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' + $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' + $ECHO 'libl'$i'_la_LIBADD =' + if test 4 != $i; then + j=1; while test "$j" -lt "$i"; do + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' + j=`expr 1 + $j` + done + else + j=3 + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' + fi + } > l$i/Makefile.am + + # l$i/l$i.h + { + $ECHO '#ifndef L'$i'_H' + $ECHO '#define L'$i'_H' + $ECHO + $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' + $ECHO '# ifdef BUILDING_LIBL'$i + $ECHO '# ifdef DLL_EXPORT' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' + $ECHO '# endif' + $ECHO '# else' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' + $ECHO '# endif' + $ECHO '#endif' + $ECHO '#ifndef LIBL'$i'_SCOPE' + $ECHO '# define LIBL'$i'_SCOPE extern' + $ECHO '#endif' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO 'extern "C" {' + $ECHO '#endif' + $ECHO + $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' + $ECHO ' int func_l'$i' (int);' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO '}' + $ECHO '#endif' + $ECHO '#endif' + } > l$i/l$i.h + + # l$i/l$i.c: + { + if test 4 -ne $i; then + $ECHO '#include ' + $ECHO '#include ' + $ECHO + $ECHO '#include "l'$i'/l'$i'.h"' + j=1; while test "$j" -lt "$i"; do + $ECHO '#include "l'$j'/l'$j'.h"' + j=`expr 1 + $j` + done + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + if test 1 -eq $i; then + $ECHO ' var_l1++;' + else + j=1; while test "$j" -lt "$i"; do + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' var_l'$i' += var_l'$j';' + j=`expr 1 + $j` + done + fi + $ECHO ' return 0;' + $ECHO '}' + else + j=3 + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include "l'$i'/l'$i'.h"' + $ECHO '#include "l'$j'/l'$j'.h"' + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' + $ECHO ' var_l'$i' += var_l'$j';' + $ECHO ' return 0;' + $ECHO '}' + fi + } > l$i/l$i.c +done + + +cat >expout <<'_ATEOF' +dependencies: +l1 (0) +l2 (0) + l1 (1) +l4 (0) + l3 (0) + l1 (2) + l2 (2) + l1 (3) +libm cos (0.0) = 1 +var_l1(4) + var_l2(6) + var_l4(9) == 19 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/depdemo.at:290: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:290" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:290: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:290" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:290: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:290" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/depdemo.at:290: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:290" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:290: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:290" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:290: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:290" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:290: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "depdemo.at:290" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/depdemo.at:290: \$EGREP '^build_libtool_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "depdemo.at:290" +( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/depdemo.at:292: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:292" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:292" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:292: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:292" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:292" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:292: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:292" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:292" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH +for target in install +do + { set +x +$as_echo "$at_srcdir/depdemo.at:293: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:293" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:293" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:293: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:293" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:293" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:293: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:293" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:293" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/depdemo.at:294: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:294" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:294" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/depdemo.at:294: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:294" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:294" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_49 +#AT_START_50 +at_fn_group_banner 50 'depdemo.at:303' \ + "shared library interdependencies" " " 6 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "50. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = l1 l2 l3 l4 + +bin_PROGRAMS = depdemo depdemo_static + +depdemo_SOURCES = main.c +depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ + $(top_builddir)/l4/libl4.la +depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ + $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la + +depdemo_static_SOURCES = $(depdemo_SOURCES) +depdemo_static_LDADD = $(depdemo_LDADD) +depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) +depdemo_static_LDFLAGS = $(STATIC) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "l1/l1.h" +#include "l2/l2.h" +#include "l4/l4.h" + +#define STREQ !strcmp + +int main (int argc, char **argv) +{ + printf("dependencies:\n"); + func_l1(0); + func_l2(0); + func_l4(0); + if (argc == 2 && STREQ (argv[1], "-alt") + && var_l1 + var_l2 + var_l4 == 8) + return 0; + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", + var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); + if (var_l1 + var_l2 + var_l4 != 19) + { + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", + var_l1,var_l2,var_l4); + return 1; + } + return 0; +} +_ATEOF + + +# Create 4 directorys of mostly identical files. +for i in 1 2 3 4; do + mkdir l$i + + # l$i/Makefile.am: + { + $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' + $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i + $ECHO 'lib_LTLIBRARIES = libl'$i'.la' + $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' + $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' + $ECHO 'libl'$i'_la_LIBADD =' + if test 4 != $i; then + j=1; while test "$j" -lt "$i"; do + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' + j=`expr 1 + $j` + done + else + j=3 + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' + fi + } > l$i/Makefile.am + + # l$i/l$i.h + { + $ECHO '#ifndef L'$i'_H' + $ECHO '#define L'$i'_H' + $ECHO + $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' + $ECHO '# ifdef BUILDING_LIBL'$i + $ECHO '# ifdef DLL_EXPORT' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' + $ECHO '# endif' + $ECHO '# else' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' + $ECHO '# endif' + $ECHO '#endif' + $ECHO '#ifndef LIBL'$i'_SCOPE' + $ECHO '# define LIBL'$i'_SCOPE extern' + $ECHO '#endif' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO 'extern "C" {' + $ECHO '#endif' + $ECHO + $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' + $ECHO ' int func_l'$i' (int);' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO '}' + $ECHO '#endif' + $ECHO '#endif' + } > l$i/l$i.h + + # l$i/l$i.c: + { + if test 4 -ne $i; then + $ECHO '#include ' + $ECHO '#include ' + $ECHO + $ECHO '#include "l'$i'/l'$i'.h"' + j=1; while test "$j" -lt "$i"; do + $ECHO '#include "l'$j'/l'$j'.h"' + j=`expr 1 + $j` + done + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + if test 1 -eq $i; then + $ECHO ' var_l1++;' + else + j=1; while test "$j" -lt "$i"; do + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' var_l'$i' += var_l'$j';' + j=`expr 1 + $j` + done + fi + $ECHO ' return 0;' + $ECHO '}' + else + j=3 + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include "l'$i'/l'$i'.h"' + $ECHO '#include "l'$j'/l'$j'.h"' + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' + $ECHO ' var_l'$i' += var_l'$j';' + $ECHO ' return 0;' + $ECHO '}' + fi + } > l$i/l$i.c +done + + +cat >expout <<'_ATEOF' +dependencies: +l1 (0) +l2 (0) + l1 (1) +l4 (0) + l3 (0) + l1 (2) + l2 (2) + l1 (3) +libm cos (0.0) = 1 +var_l1(4) + var_l2(6) + var_l4(9) == 19 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/depdemo.at:307: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:307" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:307: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:307" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:307: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:307" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/depdemo.at:307: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:307" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:307" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:307: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:307" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:307: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:307" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:307: \$EGREP '^build_old_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "depdemo.at:307" +( $at_check_trace; $EGREP '^build_old_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/depdemo.at:307: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "depdemo.at:307" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/depdemo.at:309: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:309" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:309" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:309: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:309" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:309" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:309: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:309" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:309" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH +for target in install +do + { set +x +$as_echo "$at_srcdir/depdemo.at:310: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:310" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:310" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:310: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:310" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:310" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:310: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:310" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:310" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/depdemo.at:311: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:311" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:311" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/depdemo.at:311: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:311" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:311" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_50 +#AT_START_51 +at_fn_group_banner 51 'depdemo.at:320' \ + "shared and static interdependencies" " " 6 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "51. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = l1 l2 l3 l4 + +bin_PROGRAMS = depdemo depdemo_static + +depdemo_SOURCES = main.c +depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ + $(top_builddir)/l4/libl4.la +depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ + $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la + +depdemo_static_SOURCES = $(depdemo_SOURCES) +depdemo_static_LDADD = $(depdemo_LDADD) +depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) +depdemo_static_LDFLAGS = $(STATIC) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "l1/l1.h" +#include "l2/l2.h" +#include "l4/l4.h" + +#define STREQ !strcmp + +int main (int argc, char **argv) +{ + printf("dependencies:\n"); + func_l1(0); + func_l2(0); + func_l4(0); + if (argc == 2 && STREQ (argv[1], "-alt") + && var_l1 + var_l2 + var_l4 == 8) + return 0; + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", + var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); + if (var_l1 + var_l2 + var_l4 != 19) + { + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", + var_l1,var_l2,var_l4); + return 1; + } + return 0; +} +_ATEOF + + +# Create 4 directorys of mostly identical files. +for i in 1 2 3 4; do + mkdir l$i + + # l$i/Makefile.am: + { + $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' + $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i + $ECHO 'lib_LTLIBRARIES = libl'$i'.la' + $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' + $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' + $ECHO 'libl'$i'_la_LIBADD =' + if test 4 != $i; then + j=1; while test "$j" -lt "$i"; do + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' + j=`expr 1 + $j` + done + else + j=3 + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' + fi + } > l$i/Makefile.am + + # l$i/l$i.h + { + $ECHO '#ifndef L'$i'_H' + $ECHO '#define L'$i'_H' + $ECHO + $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' + $ECHO '# ifdef BUILDING_LIBL'$i + $ECHO '# ifdef DLL_EXPORT' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' + $ECHO '# endif' + $ECHO '# else' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' + $ECHO '# endif' + $ECHO '#endif' + $ECHO '#ifndef LIBL'$i'_SCOPE' + $ECHO '# define LIBL'$i'_SCOPE extern' + $ECHO '#endif' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO 'extern "C" {' + $ECHO '#endif' + $ECHO + $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' + $ECHO ' int func_l'$i' (int);' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO '}' + $ECHO '#endif' + $ECHO '#endif' + } > l$i/l$i.h + + # l$i/l$i.c: + { + if test 4 -ne $i; then + $ECHO '#include ' + $ECHO '#include ' + $ECHO + $ECHO '#include "l'$i'/l'$i'.h"' + j=1; while test "$j" -lt "$i"; do + $ECHO '#include "l'$j'/l'$j'.h"' + j=`expr 1 + $j` + done + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + if test 1 -eq $i; then + $ECHO ' var_l1++;' + else + j=1; while test "$j" -lt "$i"; do + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' var_l'$i' += var_l'$j';' + j=`expr 1 + $j` + done + fi + $ECHO ' return 0;' + $ECHO '}' + else + j=3 + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include "l'$i'/l'$i'.h"' + $ECHO '#include "l'$j'/l'$j'.h"' + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' + $ECHO ' var_l'$i' += var_l'$j';' + $ECHO ' return 0;' + $ECHO '}' + fi + } > l$i/l$i.c +done + + +cat >expout <<'_ATEOF' +dependencies: +l1 (0) +l2 (0) + l1 (1) +l4 (0) + l3 (0) + l1 (2) + l2 (2) + l1 (3) +libm cos (0.0) = 1 +var_l1(4) + var_l2(6) + var_l4(9) == 19 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/depdemo.at:324: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:324" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:324: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:324" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:324: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:324" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/depdemo.at:324: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:324" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:324" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:324: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:324" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:324: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:324" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:324: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "depdemo.at:324" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/depdemo.at:324: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "depdemo.at:324" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/depdemo.at:326: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:326" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:326" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:326: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:326" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:326" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:326: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:326" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:326" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH +for target in install +do + { set +x +$as_echo "$at_srcdir/depdemo.at:327: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:327" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:327" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:327: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:327" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:327" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:327: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:327" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:327" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/depdemo.at:328: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:328" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:328" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/depdemo.at:328: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:328" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:328" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_51 +#AT_START_52 +at_fn_group_banner 52 'depdemo.at:337' \ + "disable fast install" " " 6 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "52. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = l1 l2 l3 l4 + +bin_PROGRAMS = depdemo depdemo_static + +depdemo_SOURCES = main.c +depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ + $(top_builddir)/l4/libl4.la +depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ + $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la + +depdemo_static_SOURCES = $(depdemo_SOURCES) +depdemo_static_LDADD = $(depdemo_LDADD) +depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) +depdemo_static_LDFLAGS = $(STATIC) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "l1/l1.h" +#include "l2/l2.h" +#include "l4/l4.h" + +#define STREQ !strcmp + +int main (int argc, char **argv) +{ + printf("dependencies:\n"); + func_l1(0); + func_l2(0); + func_l4(0); + if (argc == 2 && STREQ (argv[1], "-alt") + && var_l1 + var_l2 + var_l4 == 8) + return 0; + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", + var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); + if (var_l1 + var_l2 + var_l4 != 19) + { + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", + var_l1,var_l2,var_l4); + return 1; + } + return 0; +} +_ATEOF + + +# Create 4 directorys of mostly identical files. +for i in 1 2 3 4; do + mkdir l$i + + # l$i/Makefile.am: + { + $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' + $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i + $ECHO 'lib_LTLIBRARIES = libl'$i'.la' + $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' + $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' + $ECHO 'libl'$i'_la_LIBADD =' + if test 4 != $i; then + j=1; while test "$j" -lt "$i"; do + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' + j=`expr 1 + $j` + done + else + j=3 + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' + fi + } > l$i/Makefile.am + + # l$i/l$i.h + { + $ECHO '#ifndef L'$i'_H' + $ECHO '#define L'$i'_H' + $ECHO + $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' + $ECHO '# ifdef BUILDING_LIBL'$i + $ECHO '# ifdef DLL_EXPORT' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' + $ECHO '# endif' + $ECHO '# else' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' + $ECHO '# endif' + $ECHO '#endif' + $ECHO '#ifndef LIBL'$i'_SCOPE' + $ECHO '# define LIBL'$i'_SCOPE extern' + $ECHO '#endif' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO 'extern "C" {' + $ECHO '#endif' + $ECHO + $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' + $ECHO ' int func_l'$i' (int);' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO '}' + $ECHO '#endif' + $ECHO '#endif' + } > l$i/l$i.h + + # l$i/l$i.c: + { + if test 4 -ne $i; then + $ECHO '#include ' + $ECHO '#include ' + $ECHO + $ECHO '#include "l'$i'/l'$i'.h"' + j=1; while test "$j" -lt "$i"; do + $ECHO '#include "l'$j'/l'$j'.h"' + j=`expr 1 + $j` + done + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + if test 1 -eq $i; then + $ECHO ' var_l1++;' + else + j=1; while test "$j" -lt "$i"; do + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' var_l'$i' += var_l'$j';' + j=`expr 1 + $j` + done + fi + $ECHO ' return 0;' + $ECHO '}' + else + j=3 + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include "l'$i'/l'$i'.h"' + $ECHO '#include "l'$j'/l'$j'.h"' + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' + $ECHO ' var_l'$i' += var_l'$j';' + $ECHO ' return 0;' + $ECHO '}' + fi + } > l$i/l$i.c +done + + +cat >expout <<'_ATEOF' +dependencies: +l1 (0) +l2 (0) + l1 (1) +l4 (0) + l3 (0) + l1 (2) + l2 (2) + l1 (3) +libm cos (0.0) = 1 +var_l1(4) + var_l2(6) + var_l4(9) == 19 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/depdemo.at:341: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:341" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:341: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:341" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:341: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:341" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/depdemo.at:341: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:341" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:341: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:341" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:341: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-fast-install=no" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:341" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-fast-install=no +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:342: \$EGREP '^hardcode_action=relink' libtool && (exit 77)" +at_fn_check_prepare_dynamic "$EGREP '^hardcode_action=relink' libtool && (exit 77)" "depdemo.at:342" +( $at_check_trace; $EGREP '^hardcode_action=relink' libtool && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:342" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/depdemo.at:344: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:344" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:344" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:344: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:344" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:344" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:344: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:344" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:344" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH +for target in install +do + { set +x +$as_echo "$at_srcdir/depdemo.at:345: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:345" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:345" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:345: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:345" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:345" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:345: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:345" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:345" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/depdemo.at:346: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:346" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:346" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/depdemo.at:346: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:346" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:346" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_52 +#AT_START_53 +at_fn_group_banner 53 'depdemo.at:355' \ + "binary relinking at install time" " " 6 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "53. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +LT_INIT([win32-dll]) +AC_SUBST([LIBTOOL_DEPS]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) + +LT_LIB_M +AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = l1 l2 l3 l4 + +bin_PROGRAMS = depdemo depdemo_static + +depdemo_SOURCES = main.c +depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ + $(top_builddir)/l4/libl4.la +depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ + $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la + +depdemo_static_SOURCES = $(depdemo_SOURCES) +depdemo_static_LDADD = $(depdemo_LDADD) +depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) +depdemo_static_LDFLAGS = $(STATIC) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "l1/l1.h" +#include "l2/l2.h" +#include "l4/l4.h" + +#define STREQ !strcmp + +int main (int argc, char **argv) +{ + printf("dependencies:\n"); + func_l1(0); + func_l2(0); + func_l4(0); + if (argc == 2 && STREQ (argv[1], "-alt") + && var_l1 + var_l2 + var_l4 == 8) + return 0; + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", + var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); + if (var_l1 + var_l2 + var_l4 != 19) + { + printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", + var_l1,var_l2,var_l4); + return 1; + } + return 0; +} +_ATEOF + + +# Create 4 directorys of mostly identical files. +for i in 1 2 3 4; do + mkdir l$i + + # l$i/Makefile.am: + { + $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' + $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i + $ECHO 'lib_LTLIBRARIES = libl'$i'.la' + $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' + $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' + $ECHO 'libl'$i'_la_LIBADD =' + if test 4 != $i; then + j=1; while test "$j" -lt "$i"; do + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' + j=`expr 1 + $j` + done + else + j=3 + $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' + fi + } > l$i/Makefile.am + + # l$i/l$i.h + { + $ECHO '#ifndef L'$i'_H' + $ECHO '#define L'$i'_H' + $ECHO + $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' + $ECHO '# ifdef BUILDING_LIBL'$i + $ECHO '# ifdef DLL_EXPORT' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' + $ECHO '# endif' + $ECHO '# else' + $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' + $ECHO '# endif' + $ECHO '#endif' + $ECHO '#ifndef LIBL'$i'_SCOPE' + $ECHO '# define LIBL'$i'_SCOPE extern' + $ECHO '#endif' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO 'extern "C" {' + $ECHO '#endif' + $ECHO + $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' + $ECHO ' int func_l'$i' (int);' + $ECHO + $ECHO '#ifdef __cplusplus' + $ECHO '}' + $ECHO '#endif' + $ECHO '#endif' + } > l$i/l$i.h + + # l$i/l$i.c: + { + if test 4 -ne $i; then + $ECHO '#include ' + $ECHO '#include ' + $ECHO + $ECHO '#include "l'$i'/l'$i'.h"' + j=1; while test "$j" -lt "$i"; do + $ECHO '#include "l'$j'/l'$j'.h"' + j=`expr 1 + $j` + done + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + if test 1 -eq $i; then + $ECHO ' var_l1++;' + else + j=1; while test "$j" -lt "$i"; do + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' var_l'$i' += var_l'$j';' + j=`expr 1 + $j` + done + fi + $ECHO ' return 0;' + $ECHO '}' + else + j=3 + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include ' + $ECHO '#include "l'$i'/l'$i'.h"' + $ECHO '#include "l'$j'/l'$j'.h"' + $ECHO + $ECHO 'int var_l'$i' = 0;' + $ECHO 'int func_l'$i' (int indent) {' + $ECHO ' int i;' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' + $ECHO ' func_l'$j'(indent+1);' + $ECHO ' for (i = 0; i < indent; i++)' + $ECHO " putchar (' ');" + $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' + $ECHO ' var_l'$i' += var_l'$j';' + $ECHO ' return 0;' + $ECHO '}' + fi + } > l$i/l$i.c +done + + +cat >expout <<'_ATEOF' +dependencies: +l1 (0) +l2 (0) + l1 (1) +l4 (0) + l3 (0) + l1 (2) + l2 (2) + l1 (3) +libm cos (0.0) = 1 +var_l1(4) + var_l2(6) + var_l4(9) == 19 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/depdemo.at:360: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:360" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:360: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:360" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:360: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:360" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/depdemo.at:360: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:360" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:360" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:360: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:360" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/depdemo.at:360: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:360" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/depdemo.at:361: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:361" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:361" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:361: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:361" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:361" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:361: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:361" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:361" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH +for target in install +do + { set +x +$as_echo "$at_srcdir/depdemo.at:362: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:362" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:362" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:362: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:362" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:362" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/depdemo.at:362: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:362" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:362" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + + +# Check to make sure we have a dynamic library. +eval `$EGREP '^library_names=' l3/libl3.la` +{ set +x +$as_echo "$at_srcdir/depdemo.at:366: test -n \"\$library_names\" || (exit 77)" +at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "depdemo.at:366" +( $at_check_trace; test -n "$library_names" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:366" +$at_failed && at_fn_log_failure +$at_traceon; } + + +func_save_files + +# AIX 5.3 '/bin/sh' will invoke the trap for 0 at the end of a +# function, so we set the trap outside of a function to be portable. +trap func_restore_files 0 1 2 13 15 + +eval "`$LIBTOOL --config | $EGREP '^shlibpath_overrides_runpath='`" +eval "`$LIBTOOL --config | $EGREP '^hardcode_(action|direct|into_libs)='`" + +# Can't finish these tests reliably when cross-compiling. +{ set +x +$as_echo "$at_srcdir/depdemo.at:378: test \"X\$host\" = \"X\$build\" || (exit 77)" +at_fn_check_prepare_dynamic "test \"X$host\" = \"X$build\" || (exit 77)" "depdemo.at:378" +( $at_check_trace; test "X$host" = "X$build" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:378" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Allow the binary to link on-demand if need be. +./depdemo$EXEEXT >/dev/null || : + +# Remove l3/libl3.la from build tree. +rm -f l3/libl3.la "l3/$objdir"/libl3.* + +# Either: +# - uninstalled ./depdem will run using the just installed libraries +# when the uninstalled libs are missing; +# - on AIX 4.1, when the installed copy of libl3 is loaded, it brings +# with it the installed copies of libl1 and libl2, with disjoint +# counters var_l1 and var_l2. This is arguably unacceptable behaviour +# but definitely not enough of a reason for the test to fail; +# - or relinking at install time is necessary, and the uninstalled +# depdemo has only the uninstalled library paths hardcoded. +{ set +x +$as_echo "$at_srcdir/depdemo.at:395: ./depdemo\$EXEEXT >/dev/null || + ./depdemo\$EXEEXT -alt || + test relink,yes = \"\$hardcode_action,\$hardcode_direct\"" +at_fn_check_prepare_notrace 'an embedded newline' "depdemo.at:395" +( $at_check_trace; ./depdemo$EXEEXT >/dev/null || + ./depdemo$EXEEXT -alt || + test relink,yes = "$hardcode_action,$hardcode_direct" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:395" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Link an incomplete l3/libl3.la. +(cd l3 && + for target in libl3.la +do + { set +x +$as_echo "$at_srcdir/depdemo.at:401: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target libl3_la_OBJECTS=../l2/l2.lo" +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target libl3_la_OBJECTS=../l2/l2.lo" "depdemo.at:401" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target libl3_la_OBJECTS=../l2/l2.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:401" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +) +{ set +x +$as_echo "$at_srcdir/depdemo.at:403: test -f l3/libl3.la" +at_fn_check_prepare_trace "depdemo.at:403" +( $at_check_trace; test -f l3/libl3.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:403" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Try running uninstalled ./depdemo with only broken libl3.la in build tree. +# If the following has normal exit status, shlibpath_overrides_runpath is +# wrong, and should be set to 'no' on this host. +# The unusual '|| (exit 1)' is to normalize all non-zero exit statuses. +{ set +x +$as_echo "$at_srcdir/depdemo.at:409: ./depdemo\$EXEEXT || (exit 1)" +at_fn_check_prepare_dynamic "./depdemo$EXEEXT || (exit 1)" "depdemo.at:409" +( $at_check_trace; ./depdemo$EXEEXT || (exit 1) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:409" +$at_failed && at_fn_log_failure +$at_traceon; } + + +test relink = "$hardcode_action" || +test yes = "$shlibpath_overrides_runpath" || +{ + { set +x +$as_echo "$at_srcdir/depdemo.at:414: rm -f \$objdir/lt-depdemo\$EXEEXT" +at_fn_check_prepare_dynamic "rm -f $objdir/lt-depdemo$EXEEXT" "depdemo.at:414" +( $at_check_trace; rm -f $objdir/lt-depdemo$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:414" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/depdemo.at:415: cp \$objdir/depdemo\$EXEEXT \$objdir/lt-depdemo\$EXEEXT" +at_fn_check_prepare_dynamic "cp $objdir/depdemo$EXEEXT $objdir/lt-depdemo$EXEEXT" "depdemo.at:415" +( $at_check_trace; cp $objdir/depdemo$EXEEXT $objdir/lt-depdemo$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:415" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Running depdemo with installed libl3.la. + # If the following check fails, then shlibpath_overrides_runpath is + # wrong, and should be set to 'yes' on this host. + echo "./depdemo"; { set +x +$as_echo "$at_srcdir/depdemo.at:420: ./depdemo" +at_fn_check_prepare_trace "depdemo.at:420" +( $at_check_trace; ./depdemo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:420" +$at_failed && at_fn_log_failure +$at_traceon; } + +} + +# Undo the effect of the previous 'trap' command. Some shellology: +# We cannot use "trap - 0 1 2 3 13 15", because Solaris sh would attempt to +# execute the command "-". "trap '' ..." is fine only for signal 0 (= normal +# exit); for the others we need to call 'exit' explicitly. The value of $? is +# 128 + signal number and is set before the trap-registered command is run. +trap '' 0 +trap 'func_exit $?' 1 2 3 13 15 + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_53 +#AT_START_54 +at_fn_group_banner 54 'help.at:26' \ + "standard command line options" " " 7 +at_xfail=no +( + $as_echo "54. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +{ set +x +$as_echo "$at_srcdir/help.at:30: \$LIBTOOLIZE --help" +at_fn_check_prepare_dynamic "$LIBTOOLIZE --help" "help.at:30" +( $at_check_trace; $LIBTOOLIZE --help +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:31: \$LIBTOOLIZE --version" +at_fn_check_prepare_dynamic "$LIBTOOLIZE --version" "help.at:31" +( $at_check_trace; $LIBTOOLIZE --version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:32: \$GREP 'Copyright.*Free Software Foundation' stdout" +at_fn_check_prepare_dynamic "$GREP 'Copyright.*Free Software Foundation' stdout" "help.at:32" +( $at_check_trace; $GREP 'Copyright.*Free Software Foundation' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:33: \$LIBTOOL --help" +at_fn_check_prepare_dynamic "$LIBTOOL --help" "help.at:33" +( $at_check_trace; $LIBTOOL --help +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:34: \$LIBTOOL --help-all" +at_fn_check_prepare_dynamic "$LIBTOOL --help-all" "help.at:34" +( $at_check_trace; $LIBTOOL --help-all +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:35: \$LIBTOOL --version" +at_fn_check_prepare_dynamic "$LIBTOOL --version" "help.at:35" +( $at_check_trace; $LIBTOOL --version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:36: \$GREP 'Copyright.*Free Software Foundation' stdout" +at_fn_check_prepare_dynamic "$GREP 'Copyright.*Free Software Foundation' stdout" "help.at:36" +( $at_check_trace; $GREP 'Copyright.*Free Software Foundation' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/help.at:38: \$LIBTOOL" +at_fn_check_prepare_dynamic "$LIBTOOL" "help.at:38" +( $at_check_trace; $LIBTOOL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/help.at:38" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:39: \$GREP 'specify a MODE' stderr" +at_fn_check_prepare_dynamic "$GREP 'specify a MODE' stderr" "help.at:39" +( $at_check_trace; $GREP 'specify a MODE' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:40: \$GREP ' --help' stdout" +at_fn_check_prepare_dynamic "$GREP ' --help' stdout" "help.at:40" +( $at_check_trace; $GREP ' --help' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_54 +#AT_START_55 +at_fn_group_banner 55 'help.at:45' \ + "mode short-hands" " " 7 +at_xfail=no +( + $as_echo "55. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >a.c <<'_ATEOF' +int a () { return 0; } +_ATEOF + + +cat >main.c <<'_ATEOF' +extern int a (); +int main () { return a (); } +_ATEOF + + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +mkdir $inst $libdir $bindir + +{ set +x +$as_echo "$at_srcdir/help.at:61: \$LIBTOOL compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$LIBTOOL compile $CC $CPPFLAGS $CFLAGS -c a.c" "help.at:61" +( $at_check_trace; $LIBTOOL compile $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:61" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:63: \$LIBTOOL co \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c" "help.at:63" +( $at_check_trace; $LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:63" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:65: \$LIBTOOL co \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c" "help.at:65" +( $at_check_trace; $LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:67: \$LIBTOOL link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -no-undefined -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -no-undefined -rpath $libdir" "help.at:67" +( $at_check_trace; $LIBTOOL link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -no-undefined -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:69: \$LIBTOOL l \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.lo liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL l $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo liba.la" "help.at:69" +( $at_check_trace; $LIBTOOL l $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:71: \$LIBTOOL execute --dry-run ./main\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL execute --dry-run ./main$EXEEXT" "help.at:71" +( $at_check_trace; $LIBTOOL execute --dry-run ./main$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:73: \$LIBTOOL exe --dry-run ./main\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL exe --dry-run ./main$EXEEXT" "help.at:73" +( $at_check_trace; $LIBTOOL exe --dry-run ./main$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:73" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:75: \$LIBTOOL e --dry-run ./main\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL e --dry-run ./main$EXEEXT" "help.at:75" +( $at_check_trace; $LIBTOOL e --dry-run ./main$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:75" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:77: \$LIBTOOL install cp liba.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL install cp liba.la $libdir" "help.at:77" +( $at_check_trace; $LIBTOOL install cp liba.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:77" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:79: \$LIBTOOL i cp main\$EXEEXT \$bindir" +at_fn_check_prepare_dynamic "$LIBTOOL i cp main$EXEEXT $bindir" "help.at:79" +( $at_check_trace; $LIBTOOL i cp main$EXEEXT $bindir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:81: \$LIBTOOL finish \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL finish $libdir" "help.at:81" +( $at_check_trace; $LIBTOOL finish $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:81" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:83: \$LIBTOOL f \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL f $libdir" "help.at:83" +( $at_check_trace; $LIBTOOL f $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:83" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:85: \$LIBTOOL uninstall rm -f \$libdir/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL uninstall rm -f $libdir/liba.la" "help.at:85" +( $at_check_trace; $LIBTOOL uninstall rm -f $libdir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:85" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:87: \$LIBTOOL u rm -f \$bindir/main\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL u rm -f $bindir/main$EXEEXT" "help.at:87" +( $at_check_trace; $LIBTOOL u rm -f $bindir/main$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:87" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:89: \$LIBTOOL clean rm -f main\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL clean rm -f main$EXEEXT" "help.at:89" +( $at_check_trace; $LIBTOOL clean rm -f main$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:89" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/help.at:91: \$LIBTOOL cl liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL cl liba.la" "help.at:91" +( $at_check_trace; $LIBTOOL cl liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_55 +#AT_START_56 +at_fn_group_banner 56 'help.at:97' \ + "debug tracing" " " 7 +at_xfail=no +( + $as_echo "56. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >a.c <<'_ATEOF' +int a () { return 0; } +_ATEOF + + +cat >b.c <<'_ATEOF' +extern int a (); +int b () { return a (); } +_ATEOF + + +cat >main.c <<'_ATEOF' +extern int b (); +int main () { return b (); } +_ATEOF + + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +mkdir $inst $libdir $bindir + +# This test will not work correctly if --debug is passed. +{ set +x +$as_echo "$at_srcdir/help.at:119: case \"\$LIBTOOL \$CC \$CPPFLAGS \$CFLAGS \$LDFLAGS \" in *\\ --debug\\ *) exit 77;; *) :;; esac" +at_fn_check_prepare_dynamic "case \"$LIBTOOL $CC $CPPFLAGS $CFLAGS $LDFLAGS \" in *\\ --debug\\ *) exit 77;; *) :;; esac" "help.at:119" +( $at_check_trace; case "$LIBTOOL $CC $CPPFLAGS $CFLAGS $LDFLAGS " in *\ --debug\ *) exit 77;; *) :;; esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/help.at:119" +$at_failed && at_fn_log_failure +$at_traceon; } + + +check_trace () +{ + if test X--debug = "X$trace"; then + { set +x +$as_echo "$at_srcdir/help.at:125: \$GREP 'enabling shell trace mode' stdout stderr" +at_fn_check_prepare_dynamic "$GREP 'enabling shell trace mode' stdout stderr" "help.at:125" +( $at_check_trace; $GREP 'enabling shell trace mode' stdout stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:125" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/help.at:126: \$GREP ' --mode' stderr" +at_fn_check_prepare_dynamic "$GREP ' --mode' stderr" "help.at:126" +( $at_check_trace; $GREP ' --mode' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:126" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/help.at:128: \$GREP 'enabling shell trace mode' stdout stderr" +at_fn_check_prepare_dynamic "$GREP 'enabling shell trace mode' stdout stderr" "help.at:128" +( $at_check_trace; $GREP 'enabling shell trace mode' stdout stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/help.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/help.at:129: \$GREP ' --mode' stderr" +at_fn_check_prepare_dynamic "$GREP ' --mode' stderr" "help.at:129" +( $at_check_trace; $GREP ' --mode' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/help.at:129" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi +} + +orig_LIBTOOL=$LIBTOOL +for trace in '' --debug; do + LIBTOOL="$orig_LIBTOOL $trace" + + # Hypothesis: debug output should happen if (and only if) --debug is + # passed, for compile, link, install, uninstall, and clean modes. + { set +x +$as_echo "$at_srcdir/help.at:139: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "help.at:139" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:139" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + { set +x +$as_echo "$at_srcdir/help.at:142: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c b.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c" "help.at:142" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:142" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + { set +x +$as_echo "$at_srcdir/help.at:145: \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "help.at:145" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/help.at:146: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -no-undefined -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -no-undefined -rpath $libdir" "help.at:146" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -no-undefined -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:146" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + { set +x +$as_echo "$at_srcdir/help.at:149: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb.la b.lo -no-undefined -rpath \$libdir liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -no-undefined -rpath $libdir liba.la" "help.at:149" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -no-undefined -rpath $libdir liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:149" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + { set +x +$as_echo "$at_srcdir/help.at:152: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT libb.la" "help.at:152" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:152" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/help.at:155: if \$LIBTOOL --mode=execute \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "help.at:155" +( $at_check_trace; if $LIBTOOL --mode=execute "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + + + check_trace + + { set +x +$as_echo "$at_srcdir/help.at:158: \$LIBTOOL --mode=install cp liba.la libb.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la libb.la $libdir" "help.at:158" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la libb.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:158" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + + # Hypothesis: --debug should be passed to relink mode if (and only if) + # it was passed at link mode. + { set +x +$as_echo "$at_srcdir/help.at:164: \$orig_LIBTOOL --mode=install \$lt_INSTALL liba.la libb.la \$libdir" +at_fn_check_prepare_dynamic "$orig_LIBTOOL --mode=install $lt_INSTALL liba.la libb.la $libdir" "help.at:164" +( $at_check_trace; $orig_LIBTOOL --mode=install $lt_INSTALL liba.la libb.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:164" +$at_failed && at_fn_log_failure +$at_traceon; } + + if $GREP ': relinking ' stdout stderr; then + if test X--debug = "X$trace"; then + { set +x +$as_echo "$at_srcdir/help.at:168: \$GREP ' --mode=relink' stdout stderr | \$GREP ' --debug '" +at_fn_check_prepare_notrace 'a shell pipeline' "help.at:168" +( $at_check_trace; $GREP ' --mode=relink' stdout stderr | $GREP ' --debug ' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:168" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/help.at:171: \$GREP ' --mode=relink' stdout stderr | \$GREP ' --debug '" +at_fn_check_prepare_notrace 'a shell pipeline' "help.at:171" +( $at_check_trace; $GREP ' --mode=relink' stdout stderr | $GREP ' --debug ' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/help.at:171" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + fi + + { set +x +$as_echo "$at_srcdir/help.at:176: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "help.at:176" +( $at_check_trace; $LIBTOOL --mode=install cp main$EXEEXT $bindir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:176" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + { set +x +$as_echo "$at_srcdir/help.at:179: \$LIBTOOL --mode=finish \$bindir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=finish $bindir" "help.at:179" +( $at_check_trace; $LIBTOOL --mode=finish $bindir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:179" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + + { set +x +$as_echo "$at_srcdir/help.at:182: \$LIBTOOL --mode=uninstall rm -f \$bindir/main\$EXEEXT \$libdir/libb.la \$libdir/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=uninstall rm -f $bindir/main$EXEEXT $libdir/libb.la $libdir/liba.la" "help.at:182" +( $at_check_trace; $LIBTOOL --mode=uninstall rm -f $bindir/main$EXEEXT $libdir/libb.la $libdir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:182" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + { set +x +$as_echo "$at_srcdir/help.at:185: \$LIBTOOL --mode=clean rm -f \$bindir/main\$EXEEXT \$libdir/libb.la \$libdir/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f $bindir/main$EXEEXT $libdir/libb.la $libdir/liba.la" "help.at:185" +( $at_check_trace; $LIBTOOL --mode=clean rm -f $bindir/main$EXEEXT $libdir/libb.la $libdir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/help.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + check_trace + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_56 +#AT_START_57 +at_fn_group_banner 57 'duplicate_members.at:26' \ + "duplicate members in archive tests" " " 7 +at_xfail=no +( + $as_echo "57. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# we don't want to use whole_archive_flag_spec, even if available +$SED -e 's|^whole_archive_flag_spec=.*|whole_archive_flag_spec=|g' < $LIBTOOL > libtool + +chmod +x ./libtool +LIBTOOL=./libtool + +cat >bar.c <<'_ATEOF' +extern int foo1 (), foo2 (), foo3 (), foo4 (), foo5 (), foo6 (); +int bar() { + int result = foo1 () + foo2 () + foo3 () + foo4 () + foo5 () + foo6 (); + return result; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +int bar(); +int main() +{ +if (bar() == 21) return 0; +return 1; +} +_ATEOF + + + +for a in 1 2 3 4 5 6 +do + mkdir $a + echo "int foo$a() {return $a;}" > $a/a.c +done + + +for a in 1 2 3 4 5 6 +do + $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o $a/a.lo $a/a.c +done +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libc0.la 6/a.lo +{ set +x +$as_echo "$at_srcdir/duplicate_members.at:65: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o libconv.la 1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la 1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la" "duplicate_members.at:65" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la 1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_members.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c +{ set +x +$as_echo "$at_srcdir/duplicate_members.at:69: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o libbar.la bar.lo libconv.la -rpath /notexist" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo libconv.la -rpath /notexist" "duplicate_members.at:69" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo libconv.la -rpath /notexist +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_members.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.lo main.c +{ set +x +$as_echo "$at_srcdir/duplicate_members.at:73: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.lo ./libbar.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo ./libbar.la" "duplicate_members.at:73" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo ./libbar.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_members.at:73" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/duplicate_members.at:76: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_members.at:76" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_members.at:76" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_57 +#AT_START_58 +at_fn_group_banner 58 'duplicate_conv.at:26' \ + "duplicate convenience archive names" " " 7 +at_xfail=no +( + $as_echo "58. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +eval `$LIBTOOL --config | $SED -n '/^reload_cmds=/,/^$/p'` + +# We create two convenience archives with the same name, and _also_ +# containing an object with the same name. This is necessary to detect +# the failure with both 1.5.22 and HEAD, since the latter does not (did +# not?) remove the temporary output directory, thus masking the failure +# when all objects have distinct names. + +mkdir a b c + +echo 'int a () { return 0; }' > a/a.c +echo 'int a2() { return 0; }' > b/a.c +echo 'int b () { return 0; }' > b/b.c +echo 'extern int a(), a2(), b(); int c() { return a() + a2() + b(); }' > c.c +echo 'extern int c(); int main() { return c(); }' > main.c + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a/a.c -o a/a.lo +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b/a.c -o b/a.lo +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b/b.c -o b/b.lo +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c c.c +$CC $CPPFLAGS $CFLAGS -c main.c +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o a/liba.la a/a.lo +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o b/liba.la b/a.lo b/b.lo + +# Fold into convenience archive. +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:54: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -no-undefined -o libcee.la c.lo a/liba.la b/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -o libcee.la c.lo a/liba.la b/liba.la" "duplicate_conv.at:54" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -o libcee.la c.lo a/liba.la b/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:56: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT ./libcee.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la" "duplicate_conv.at:56" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:56" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:58: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_conv.at:58" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:58" +$at_failed && at_fn_log_failure +$at_traceon; } + + +$LIBTOOL --mode=clean rm -f libcee.la + + +# FIXME: For this test, we may want to zero out whole_archive_flag_spec; +# OTOH, we'd like to test the other situation, too. + +# Fold into static library. +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:66: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -no-undefined -rpath /foo -static -o libcee.la c.lo a/liba.la b/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -static -o libcee.la c.lo a/liba.la b/liba.la" "duplicate_conv.at:66" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -static -o libcee.la c.lo a/liba.la b/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:66" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:68: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT ./libcee.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la" "duplicate_conv.at:68" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:68" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:70: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_conv.at:70" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + + +$LIBTOOL --mode=clean rm -f libcee.la + +# Fold into library. +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:74: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -no-undefined -rpath /foo -o libcee.la c.lo a/liba.la b/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -o libcee.la c.lo a/liba.la b/liba.la" "duplicate_conv.at:74" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -o libcee.la c.lo a/liba.la b/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:74" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:76: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT ./libcee.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la" "duplicate_conv.at:76" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:76" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:78: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_conv.at:78" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:78" +$at_failed && at_fn_log_failure +$at_traceon; } + + +$LIBTOOL --mode=clean rm -f libcee.la + +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:81: test false = \"\$reload_cmds\" && exit 77" +at_fn_check_prepare_dynamic "test false = \"$reload_cmds\" && exit 77" "duplicate_conv.at:81" +( $at_check_trace; test false = "$reload_cmds" && exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/duplicate_conv.at:81" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Test whether this works with reloadable objects as well. +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:84: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o cee.\$OBJEXT c.lo a/liba.la b/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o cee.$OBJEXT c.lo a/liba.la b/liba.la" "duplicate_conv.at:84" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o cee.$OBJEXT c.lo a/liba.la b/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:86: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT cee.\$OBJEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT cee.$OBJEXT" "duplicate_conv.at:86" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT cee.$OBJEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/duplicate_conv.at:88: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_conv.at:88" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# TODO: test dlpreloading of duplicates (when it is implemented) + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_58 +#AT_START_59 +at_fn_group_banner 59 'duplicate_deps.at:26' \ + "preserve duplicate convenience deps" " " 7 +at_xfail=yes +( + $as_echo "59. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# --preserve-dup-deps should work for convenience archives. + +# Create a circular dependency of liba and libb: +# a1 pulls in b1, that pulls in a2. +cat >a1.c <<\EOF +extern int b1 (); +int a1 () { return b1 (); } +EOF +cat >a2.c <<\EOF +int a2 () { return 0; } +EOF +cat >b1.c <<\EOF +extern int a2 (); +int b1 () { return a2 (); } +EOF +cat >main.c <<\EOF +extern int a1 (); +int main () { return a1 (); } +EOF + +for file in a1.c a2.c b1.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +$CC $CPPFLAGS $CFLAGS -c main.c +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o liba.la a1.lo a2.lo + +# This could be worked around by adding liba.la to libb.la +# (in that case all objects from liba would be merged into +# libb.a as well, possibly renamed.) +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b1.lo liba.la +{ set +x +$as_echo "$at_srcdir/duplicate_deps.at:59: \$LIBTOOL --mode=link --tag=CC \\ + \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la libb.la" +at_fn_check_prepare_notrace 'an embedded newline' "duplicate_deps.at:59" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC \ + $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_deps.at:59" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/duplicate_deps.at:62: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_deps.at:62" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_deps.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Forgo the workaround and create a true circular dependency. +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b1.lo +# Some systems find all symbols anyway; skip this test on such systems. +{ set +x +$as_echo "$at_srcdir/duplicate_deps.at:67: \$LIBTOOL --mode=link --tag=CC \\ + \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la libb.la liba.la \\ + && exit 77" +at_fn_check_prepare_notrace 'an embedded newline' "duplicate_deps.at:67" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC \ + $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la liba.la \ + && exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/duplicate_deps.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Other systems need special treatment, which currently fails. + +{ set +x +$as_echo "$at_srcdir/duplicate_deps.at:73: \$LIBTOOL --mode=link --preserve-dup-deps --tag=CC \\ + \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la libb.la liba.la" +at_fn_check_prepare_notrace 'an embedded newline' "duplicate_deps.at:73" +( $at_check_trace; $LIBTOOL --mode=link --preserve-dup-deps --tag=CC \ + $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/duplicate_deps.at:73" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_59 +#AT_START_60 +at_fn_group_banner 60 'flags.at:24' \ + "passing CC flags through libtool" " " 7 +at_xfail=no +( + $as_echo "60. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/flags.at:24: { test -n \"\$CC\" && test \"X\$CC\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CC\" && test \"X$CC\" != Xno; } || (exit 77)" "flags.at:24" +( $at_check_trace; { test -n "$CC" && test "X$CC" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +LDFLAGS="$LDFLAGS -no-undefined" +eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" + +cat >a.c <<'_ATEOF' +int main () { return 0; } +_ATEOF + +compile="$CC $CPPFLAGS $CFLAGS" link="$CC $CFLAGS $LDFLAGS" source=a.c + + +# Linker flags are not passed to the archiver, so don't test static libraries. +if $LIBTOOL --features | $GREP 'enable shared libraries'; then + library_and_module='library.la "module.la -module -avoid-version"' +else + library_and_module= +fi + +eval "`$LIBTOOL --tag=CC --config | $EGREP '^(wl|archive_cmds)='`" + +{ set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=CC --mode=compile \$compile -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CC --mode=compile $compile -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL --tag=CC --mode=compile $compile -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Linker flags are prefixed with $wl iff they are passed to the +# compiler driver, instead of directly to the linker. +case $archive_cmds in +*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; +*) maybe_wl=$wl compiler_flags_in_liblink=: ;; +esac + +for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do + case $flag in + -Wc, | -Xcompiler\ ) + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CC --mode=compile \$compile \$flag-foo -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CC --mode=compile $compile $flag-foo -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=CC --mode=compile $compile $flag-foo -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " -foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + flag_prefix_prog= + flag_prefix_lib= + flags_in_liblink=$compiler_flags_in_liblink + ;; + -Wl, | -Xlinker\ ) + flag_prefix_prog=$wl + flag_prefix_lib=$maybe_wl + flags_in_liblink=: + ;; + esac + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CC --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CC --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=CC --mode=link $link -o program$EXEEXT a.lo $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + eval set x "$library_and_module" + for output + do + test x = "$output" && continue + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CC --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CC --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=CC --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + if $flags_in_liblink; then + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_60 +#AT_START_61 +at_fn_group_banner 61 'flags.at:24' \ + "passing CXX flags through libtool" " " 7 +at_xfail=no +( + $as_echo "61. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/flags.at:24: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "flags.at:24" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/flags.at:24: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "flags.at:24" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +LDFLAGS="$LDFLAGS -no-undefined" +eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" + +cat >a.cpp <<'_ATEOF' +int main () { return 0; } +_ATEOF + +compile="$CXX $CPPFLAGS $CXXFLAGS" link="$CXX $CXXFLAGS $LDFLAGS" source=a.cpp + + +# Linker flags are not passed to the archiver, so don't test static libraries. +if $LIBTOOL --features | $GREP 'enable shared libraries'; then + library_and_module='library.la "module.la -module -avoid-version"' +else + library_and_module= +fi + +eval "`$LIBTOOL --tag=CXX --config | $EGREP '^(wl|archive_cmds)='`" + +{ set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=CXX --mode=compile \$compile -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $compile -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $compile -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Linker flags are prefixed with $wl iff they are passed to the +# compiler driver, instead of directly to the linker. +case $archive_cmds in +*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; +*) maybe_wl=$wl compiler_flags_in_liblink=: ;; +esac + +for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do + case $flag in + -Wc, | -Xcompiler\ ) + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CXX --mode=compile \$compile \$flag-foo -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CXX --mode=compile $compile $flag-foo -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=CXX --mode=compile $compile $flag-foo -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " -foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + flag_prefix_prog= + flag_prefix_lib= + flags_in_liblink=$compiler_flags_in_liblink + ;; + -Wl, | -Xlinker\ ) + flag_prefix_prog=$wl + flag_prefix_lib=$maybe_wl + flags_in_liblink=: + ;; + esac + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CXX --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CXX --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=CXX --mode=link $link -o program$EXEEXT a.lo $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + eval set x "$library_and_module" + for output + do + test x = "$output" && continue + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CXX --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CXX --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=CXX --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + if $flags_in_liblink; then + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_61 +#AT_START_62 +at_fn_group_banner 62 'flags.at:24' \ + "passing F77 flags through libtool" " " 7 +at_xfail=no +( + $as_echo "62. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/flags.at:24: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "flags.at:24" +( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +LDFLAGS="$LDFLAGS -no-undefined" +eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" + +cat >a.f <<'_ATEOF' + program main + end +_ATEOF + +compile="$F77 $FFLAGS" link="$F77 $FFLAGS $LDFLAGS" source=a.f + + +# Linker flags are not passed to the archiver, so don't test static libraries. +if $LIBTOOL --features | $GREP 'enable shared libraries'; then + library_and_module='library.la "module.la -module -avoid-version"' +else + library_and_module= +fi + +eval "`$LIBTOOL --tag=F77 --config | $EGREP '^(wl|archive_cmds)='`" + +{ set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=F77 --mode=compile \$compile -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=compile $compile -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL --tag=F77 --mode=compile $compile -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Linker flags are prefixed with $wl iff they are passed to the +# compiler driver, instead of directly to the linker. +case $archive_cmds in +*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; +*) maybe_wl=$wl compiler_flags_in_liblink=: ;; +esac + +for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do + case $flag in + -Wc, | -Xcompiler\ ) + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=F77 --mode=compile \$compile \$flag-foo -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=F77 --mode=compile $compile $flag-foo -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=F77 --mode=compile $compile $flag-foo -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " -foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + flag_prefix_prog= + flag_prefix_lib= + flags_in_liblink=$compiler_flags_in_liblink + ;; + -Wl, | -Xlinker\ ) + flag_prefix_prog=$wl + flag_prefix_lib=$maybe_wl + flags_in_liblink=: + ;; + esac + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=F77 --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=F77 --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=F77 --mode=link $link -o program$EXEEXT a.lo $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + eval set x "$library_and_module" + for output + do + test x = "$output" && continue + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=F77 --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=F77 --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=F77 --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + if $flags_in_liblink; then + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_62 +#AT_START_63 +at_fn_group_banner 63 'flags.at:24' \ + "passing FC flags through libtool" " " 7 +at_xfail=no +( + $as_echo "63. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/flags.at:24: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "flags.at:24" +( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Autoconf will accept f77 or similar as a valid FC, but often f77 + # will not compile fortran90 code; in that case skip the FC checks. + cat >fc_test.f90 <<'_ATEOF' + program main + + end +_ATEOF + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FC \$FCFLAGS fc_test.f90 || exit 77" +at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "flags.at:24" +( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +LDFLAGS="$LDFLAGS -no-undefined" +eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" + +cat >a.f90 <<'_ATEOF' + program main + end +_ATEOF + +compile="$FC $FCFLAGS" link="$FC $FCFLAGS $LDFLAGS" source=a.f90 + + +# Linker flags are not passed to the archiver, so don't test static libraries. +if $LIBTOOL --features | $GREP 'enable shared libraries'; then + library_and_module='library.la "module.la -module -avoid-version"' +else + library_and_module= +fi + +eval "`$LIBTOOL --tag=FC --config | $EGREP '^(wl|archive_cmds)='`" + +{ set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=FC --mode=compile \$compile -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=compile $compile -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL --tag=FC --mode=compile $compile -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Linker flags are prefixed with $wl iff they are passed to the +# compiler driver, instead of directly to the linker. +case $archive_cmds in +*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; +*) maybe_wl=$wl compiler_flags_in_liblink=: ;; +esac + +for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do + case $flag in + -Wc, | -Xcompiler\ ) + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=FC --mode=compile \$compile \$flag-foo -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=FC --mode=compile $compile $flag-foo -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=FC --mode=compile $compile $flag-foo -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " -foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + flag_prefix_prog= + flag_prefix_lib= + flags_in_liblink=$compiler_flags_in_liblink + ;; + -Wl, | -Xlinker\ ) + flag_prefix_prog=$wl + flag_prefix_lib=$maybe_wl + flags_in_liblink=: + ;; + esac + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=FC --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=FC --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=FC --mode=link $link -o program$EXEEXT a.lo $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + eval set x "$library_and_module" + for output + do + test x = "$output" && continue + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=FC --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=FC --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=FC --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + if $flags_in_liblink; then + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_63 +#AT_START_64 +at_fn_group_banner 64 'flags.at:24' \ + "passing GCJ flags through libtool" " " 7 +at_xfail=no +( + $as_echo "64. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/flags.at:24: { test -n \"\$GCJ\" && test \"X\$GCJ\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$GCJ\" && test \"X$GCJ\" != Xno; } || (exit 77)" "flags.at:24" +( $at_check_trace; { test -n "$GCJ" && test "X$GCJ" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + +# There are just too many broken gcj installations out there, either missing + # libgcj.spec or unable to find it. Skip the test for them. + cat >gcj_test.java <<'_ATEOF' +public class gcj_test { + public static void main(String[] argv) { } + } +_ATEOF + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77" +at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "flags.at:24" +( $at_check_trace; $GCJ $GCJFLAGS -c gcj_test.java || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +LDFLAGS="$LDFLAGS -no-undefined" +eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" + +cat >a.java <<'_ATEOF' +class a {} +_ATEOF + +compile="$GCJ $GCJFLAGS" link="$GCJ $GCJFLAGS $LDFLAGS" source=a.java + + +# Linker flags are not passed to the archiver, so don't test static libraries. +if $LIBTOOL --features | $GREP 'enable shared libraries'; then + library_and_module='library.la "module.la -module -avoid-version"' +else + library_and_module= +fi + +eval "`$LIBTOOL --tag=GCJ --config | $EGREP '^(wl|archive_cmds)='`" + +{ set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=GCJ --mode=compile \$compile -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=compile $compile -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL --tag=GCJ --mode=compile $compile -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Linker flags are prefixed with $wl iff they are passed to the +# compiler driver, instead of directly to the linker. +case $archive_cmds in +*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; +*) maybe_wl=$wl compiler_flags_in_liblink=: ;; +esac + +for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do + case $flag in + -Wc, | -Xcompiler\ ) + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=GCJ --mode=compile \$compile \$flag-foo -c \$source" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=GCJ --mode=compile $compile $flag-foo -c $source" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=GCJ --mode=compile $compile $flag-foo -c $source +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " -foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + flag_prefix_prog= + flag_prefix_lib= + flags_in_liblink=$compiler_flags_in_liblink + ;; + -Wl, | -Xlinker\ ) + flag_prefix_prog=$wl + flag_prefix_lib=$maybe_wl + flags_in_liblink=: + ;; + esac + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=GCJ --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=GCJ --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=GCJ --mode=link $link -o program$EXEEXT a.lo $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + + eval set x "$library_and_module" + for output + do + test x = "$output" && continue + { set +x +$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=GCJ --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" +at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=GCJ --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" +( $at_check_trace; $LIBTOOL -n --tag=GCJ --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + if $flags_in_liblink; then + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" +at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" +( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_64 +#AT_START_65 +at_fn_group_banner 65 'inherited_flags.at:27' \ + "inherited_linker_flags" " " 7 +at_xfail=no +( + $as_echo "65. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >foo.c <<'_ATEOF' + +int foo() { return 1;} +_ATEOF + + +cat >bar.c <<'_ATEOF' + +int bar() { return 1;} +_ATEOF + + +cat >baz.c <<'_ATEOF' + +int baz() { return 1;} +_ATEOF + + +cat >both.c <<'_ATEOF' + +int both() { return 1;} +_ATEOF + + +cat >main.c <<'_ATEOF' + +int main() { return 0;} +_ATEOF + + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o baz.lo baz.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o both.lo both.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.lo main.c +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo -rpath /nonexistent -no-undefined +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /nonexistent -no-undefined +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libboth.la both.lo -rpath /nonexistent -no-undefined + + +mv libfoo.la libfoo.la.bak +$SED -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_inlikely_existing_lib/g' < libfoo.la.bak > libfoo.la +rm libfoo.la.bak + +mv libbar.la libbar.la.bak +$SED -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_unlikely_existing_lib/g' < libbar.la.bak > libbar.la +rm libbar.la.bak + +mv libboth.la libboth.la.bak +$SED -e "s/^inherited_linker_flags.*/inherited_linker_flags='-llt_inlikely_existing_lib -llt_unlikely_existing_lib'/g" < libboth.la.bak > libboth.la +rm libboth.la.bak + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:77: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la" "inherited_flags.at:77" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/inherited_flags.at:77" +$at_failed && at_fn_log_failure +$at_traceon; } + +# We used to grep for +# 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib' +# here. This fails on win32/MSVC because the generated command lines have a +# different syntax. So drop the first 'l'. +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:83: \$LIBTOOL --features | \$GREP 'disable shared libraries' && (exit 77)" +at_fn_check_prepare_notrace 'a shell pipeline' "inherited_flags.at:83" +( $at_check_trace; $LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:83" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:84: \$GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout" +at_fn_check_prepare_dynamic "$GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout" "inherited_flags.at:84" +( $at_check_trace; $GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/inherited_flags.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:86: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la" "inherited_flags.at:86" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/inherited_flags.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:88: \$GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout" +at_fn_check_prepare_dynamic "$GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout" "inherited_flags.at:88" +( $at_check_trace; $GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/inherited_flags.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# now check for duplicates +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:92: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la" "inherited_flags.at:92" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/inherited_flags.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:94: \$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout" +at_fn_check_prepare_dynamic "$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout" "inherited_flags.at:94" +( $at_check_trace; $GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:94" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:96: \$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout" +at_fn_check_prepare_dynamic "$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout" "inherited_flags.at:96" +( $at_check_trace; $GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:98: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la" "inherited_flags.at:98" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/inherited_flags.at:98" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:100: \$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout" +at_fn_check_prepare_dynamic "$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout" "inherited_flags.at:100" +( $at_check_trace; $GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:100" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:102: \$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout" +at_fn_check_prepare_dynamic "$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout" "inherited_flags.at:102" +( $at_check_trace; $GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:102" +$at_failed && at_fn_log_failure +$at_traceon; } + + +mv libboth.la libboth.la.bak +$SED "s/^inherited_linker_flags.*/inherited_linker_flags='-framework Cocoa -framework ApplicationServices'/" < libboth.la.bak > libboth.la +rm libboth.la.bak + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:109: \$LIBTOOL -n --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -framework Cocoa -framework ApplicationServices -o libbaz.la baz.lo libboth.la -no-undefined -rpath /nonexistent" +at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -framework Cocoa -framework ApplicationServices -o libbaz.la baz.lo libboth.la -no-undefined -rpath /nonexistent" "inherited_flags.at:109" +( $at_check_trace; $LIBTOOL -n --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -framework Cocoa -framework ApplicationServices -o libbaz.la baz.lo libboth.la -no-undefined -rpath /nonexistent +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/inherited_flags.at:109" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:111: \$GREP Cocoa.ltframework stdout" +at_fn_check_prepare_dynamic "$GREP Cocoa.ltframework stdout" "inherited_flags.at:111" +( $at_check_trace; $GREP Cocoa.ltframework stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:111" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/inherited_flags.at:112: \$GREP ' -framework Cocoa' stdout" +at_fn_check_prepare_dynamic "$GREP ' -framework Cocoa' stdout" "inherited_flags.at:112" +( $at_check_trace; $GREP ' -framework Cocoa' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/inherited_flags.at:112" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_65 +#AT_START_66 +at_fn_group_banner 66 'link-order.at:27' \ + "Link order test" " " 7 +at_xfail=no +( + $as_echo "66. $at_setup_line: testing $at_desc ..." + $at_traceon + + +eval `$LIBTOOL --config | $EGREP '^(hardcode_direct|hardcode_direct_absolute|shrext_cmds)='` +LDFLAGS="$LDFLAGS -no-undefined" + +module=no +eval shared_ext=\"$shrext_cmds\" + +prefix_old=`pwd`/old +prefix_new=`pwd`/new +mkdir src $prefix_old $prefix_new $prefix_old/lib $prefix_new/lib + +cat >src/c.c <<'_ATEOF' +int c = 1; +_ATEOF + + +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/c.c -o src/c.lo +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/libcee.la src/c.lo -rpath $prefix_old/lib +$LIBTOOL --mode=install cp src/libcee.la $prefix_old/lib/libcee.la + +for i in old new; do + rm -rf src + mkdir src + + cat >src/a_$i.c <src/b_$i.c <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +$LIBTOOL --mode=clean rm -f src/libb.la +$LIBTOOL --mode=clean rm -f src/liba.la + +case $host_os in +aix* | interix*) ;; # These systems have different path syntax +*) + # Do not error if we do not relink (e.g. static-only systems) + case $hardcode_direct$hardcode_direct_absolute in + yesno) + { set +x +$as_echo "$at_srcdir/link-order.at:101: if \$EGREP relinking stderr; then + \$EGREP \" .*\\/new\\/lib/libb\$shared_ext .*\\/old\\/lib/libcee\$shared_ext\" stdout + else :; fi" +at_fn_check_prepare_notrace 'an embedded newline' "link-order.at:101" +( $at_check_trace; if $EGREP relinking stderr; then + $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout + else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:101" +if $at_failed; then : + echo "wrong link order" +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + ;; + *) + { set +x +$as_echo "$at_srcdir/link-order.at:106: if \$EGREP relinking stderr; then + \$EGREP \" -L.*\\/new\\/lib -lb -L.*\\/old\\/lib -lcee\" stdout + else :; fi" +at_fn_check_prepare_notrace 'an embedded newline' "link-order.at:106" +( $at_check_trace; if $EGREP relinking stderr; then + $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout + else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:106" +if $at_failed; then : + echo "wrong link order" +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + ;; + esac + ;; +esac + +for i in old new; do + cat >src/main_$i.c <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:122" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=src/main_$i; if test -f "src/main_$i$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/link-order.at:124: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order.at:124" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:124" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_66 +#AT_START_67 +at_fn_group_banner 67 'link-order2.at:47' \ + "Link order of deplibs" " " 7 +at_xfail=no +( + $as_echo "67. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='` + +undefined_setting=-no-undefined +shared_fails=no +case $host_os,$LDFLAGS,$allow_undefined_flag in +aix*,*-brtl*,*) ;; +aix*) shared_fails=yes ;; +darwin*,*,*-flat_namespace*) undefined_setting= ;; +darwin*,*,*) shared_fails=yes ;; +esac + +deflibdir=`pwd`/lib +defbindir=`pwd`/lib +libdir=`pwd`/inst/lib +bindir=`pwd`/inst/bin +mkdir bin lib inst inst/bin inst/lib +LDFLAGS="$LDFLAGS $undefined_setting -L$deflibdir" + +cat >a0.c <<\EOF +int a (void) { return 1; } +EOF + +cat >a1.c <<\EOF +int a (void) { return 0; } +EOF + +cat >b.c <<\EOF +int a (void); +int b (void) { return a (); } +EOF + +cat >main.c <<\EOF +#include +extern int a (void); +extern int b (void); +int main (void) +{ + return !(a () + b () == 0); +} +EOF + +for file in a0 a1 b; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c +done +$CC $CPPFLAGS $CFLAGS -c main.c + +# Build an old, installed library. +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir +$LIBTOOL --mode=install cp liba0.la $deflibdir/liba0.la +$LIBTOOL --mode=clean rm -f liba0.la + +for type_of_depdepl in libtool non-libtool; do + echo "type of depdepl: $type_of_depdepl" + if test non-libtool = "$type_of_depdepl"; then + # Simulate a non-Libtool system library. + rm $deflibdir/liba1.la + addpath=$deflibdir + if test PATH = "$shlibpath_var"; then + addpath=$defbindir + fi + sep= + eval test -n \"\$$shlibpath_var\" && sep=: + eval $shlibpath_var='$addpath$sep$'$shlibpath_var + export $shlibpath_var + fi + for static in '' -static-libtool-libs; do + case `$LIBTOOL --features` in + *disable\ static\ libraries*) test -z "$static" || continue;; + esac + test non-libtool,-static-libtool-libs = "$type_of_depdepl,$static" && + static=-all-static + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir + { set +x +$as_echo "$at_srcdir/link-order2.at:124: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$static -o main\$EXEEXT main.\$OBJEXT libb.la -la0" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0" "link-order2.at:124" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:124" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/link-order2.at:126: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order2.at:126" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:126" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Now test that if we reverse the link order, the program fails. + { set +x +$as_echo "$at_srcdir/link-order2.at:128: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$static -o wrong\$EXEEXT main.\$OBJEXT -la0 libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la" "link-order2.at:128" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + + if test yes, != "$shared_fails,$static"; then + lt_exe=./wrong; if test -f "./wrong$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/link-order2.at:131: if \"\$lt_exe\" || (exit 1); then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" || (exit 1); then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order2.at:131" +( $at_check_trace; if "$lt_exe" || (exit 1); then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/link-order2.at:131" +$at_failed && at_fn_log_failure +$at_traceon; } + + + fi + + $LIBTOOL --mode=install cp liba1.la $libdir/liba1.la + $LIBTOOL --mode=install cp libb.la $libdir/libb.la + $LIBTOOL --mode=install cp main$EXEEXT $bindir/main$EXEEXT + $LIBTOOL --mode=install cp wrong$EXEEXT $bindir/wrong$EXEEXT + $LIBTOOL --mode=clean rm -f liba1.la libb.la + lt_exe=$bindir/main; if test -f "$bindir/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/link-order2.at:139: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order2.at:139" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:139" +$at_failed && at_fn_log_failure +$at_traceon; } + + + if test yes, = "$shared_fails,$static"; then + lt_exe=$bindir/wrong; if test -f "$bindir/wrong$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/link-order2.at:141: if \"\$lt_exe\" || (exit 1); then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" || (exit 1); then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order2.at:141" +( $at_check_trace; if "$lt_exe" || (exit 1); then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/link-order2.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + + + fi + done +done + +{ set +x +$as_echo "$at_srcdir/link-order2.at:146: test no = \"\$shared_fails\" || (exit 77)" +at_fn_check_prepare_dynamic "test no = \"$shared_fails\" || (exit 77)" "link-order2.at:146" +( $at_check_trace; test no = "$shared_fails" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:146" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Now the converse: if both the program and the library need libm, then +# it needs to be sorted last. (TODO) + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_67 +#AT_START_68 +at_fn_group_banner 68 'fail.at:28' \ + "Failure tests" " " 7 +at_xfail=no +( + $as_echo "68. $at_setup_line: testing $at_desc ..." + $at_traceon + + +eval `$LIBTOOL --config | $EGREP '^(pic_mode|pic_flag|build_old_libs|build_libtool_libs)='` +LDFLAGS="$LDFLAGS -no-undefined" + + + +cat >script <<'_ATEOF' +#! /bin/sh +exit 0 +_ATEOF + +chmod +x script +if test -x script >/dev/null 2>&1; then + test_x="test -x" +else + test_x=: +fi + +# compile failure +echo 'choke me' > a.c +{ set +x +$as_echo "$at_srcdir/fail.at:50: if \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c; then (exit 1); else :; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c; then (exit 1); else :; fi" "fail.at:50" +( $at_check_trace; if $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c; then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fail.at:50" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/fail.at:51: test -f a.lo" +at_fn_check_prepare_trace "fail.at:51" +( $at_check_trace; test -f a.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/fail.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# non-PIC compile failure +case $pic_mode in default | no) + case " $CFLAGS " in + *\ -prefer-pic\ *) ;; + *) + case $build_old_libs,$pic_flag in yes,*-DPIC*) + cat >a.c <<'_ATEOF' + +#ifndef PIC + choke me +#endif +_ATEOF + + { set +x +$as_echo "$at_srcdir/fail.at:64: if \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -no-suppress -c a.c; then (exit 1); else :; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -no-suppress -c a.c; then (exit 1); else :; fi" "fail.at:64" +( $at_check_trace; if $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -no-suppress -c a.c; then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fail.at:64" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/fail.at:65: test -f a.lo" +at_fn_check_prepare_trace "fail.at:65" +( $at_check_trace; test -f a.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/fail.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + + ;; + esac + ;; + esac + ;; +esac + +# program creation failure. +# We can't rely on 'main' not being present: the QNX linker +# won't error out in that case, although the resulting binary won't work. +# So we provoke a link failure due to an unresolved symbol, and require +# libtool to fail only if the link without libtool would have failed, too. +cat > a.c <<'EOF' +extern int nonexistent_function (void); +int main (void) +{ + return nonexistent_function (); +} +EOF +$CC $CPPFLAGS $CFLAGS -c a.c +if $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT; then :; else + rm -f a a$EXEEXT + { set +x +$as_echo "$at_srcdir/fail.at:88: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o a\$EXEEXT a.\$OBJEXT; then (exit 1); else :; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT; then (exit 1); else :; fi" "fail.at:88" +( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT; then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fail.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/fail.at:89: { test -f a && \$test_x a; } || { test -f a\$EXEEXT && \$test_x a\$EXEEXT; }" +at_fn_check_prepare_dynamic "{ test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; }" "fail.at:89" +( $at_check_trace; { test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; } +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/fail.at:89" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/fail.at:90: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o a\$EXEEXT a.\$OBJEXT -static; then (exit 1); else :; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT -static; then (exit 1); else :; fi" "fail.at:90" +( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT -static; then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fail.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/fail.at:91: { test -f a && \$test_x a; } || { test -f a\$EXEEXT && \$test_x a\$EXEEXT; }" +at_fn_check_prepare_dynamic "{ test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; }" "fail.at:91" +( $at_check_trace; { test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; } +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/fail.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi + +# shared library creation failure +case $build_libtool_libs in yes) + echo 'int duplicate_name(void) { return 0; }' > a.c + echo 'double duplicate_name(double x) { return 2.*x; }' > b.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c + # Unfortunately, this may actually succeed on AIX and IRIX :( + # So, also add a bogus object file to provoke more failure. + echo 'int whatever(void) { return 0;}' > c.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c.c + ( + . ./c.lo + test none = "$pic_object" || echo choke me >"$pic_object" + test none = "$non_pic_object" || echo choke me >"$non_pic_object" + ) + { set +x +$as_echo "$at_srcdir/fail.at:109: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo b.lo c.lo -rpath /foo; then (exit 1); else :; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo b.lo c.lo -rpath /foo; then (exit 1); else :; fi" "fail.at:109" +( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo b.lo c.lo -rpath /foo; then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fail.at:109" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/fail.at:110: test -f liba.la" +at_fn_check_prepare_trace "fail.at:110" +( $at_check_trace; test -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/fail.at:110" +$at_failed && at_fn_log_failure +$at_traceon; } + + ;; +esac + +# Ensure we diagnose '-L path'. +echo 'int main () { return 0; }' > d.c +echo 'int foo () { return 0; }' > space-after-L.c +$CC $CPPFLAGS $CFLAGS -c d.c +$CC $CPPFLAGS $CFLAGS -c space-after-L.c +{ set +x +$as_echo "$at_srcdir/fail.at:119: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -L space-after-L.\$OBJEXT -o d\$EXEEXT d.\$OBJEXT; then (exit 1); else :; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -L space-after-L.$OBJEXT -o d$EXEEXT d.$OBJEXT; then (exit 1); else :; fi" "fail.at:119" +( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -L space-after-L.$OBJEXT -o d$EXEEXT d.$OBJEXT; then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fail.at:119" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/fail.at:120: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o d\$EXEEXT d.\$OBJEXT -L; then (exit 1); else :; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o d$EXEEXT d.$OBJEXT -L; then (exit 1); else :; fi" "fail.at:120" +( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o d$EXEEXT d.$OBJEXT -L; then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fail.at:120" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_68 +#AT_START_69 +at_fn_group_banner 69 'shlibpath.at:26' \ + "shlibpath_overrides_runpath" " " 7 +at_xfail=no +( + $as_echo "69. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +mkdir sub sub/lib sub/bin +echo 'int a () { return 0; }' > a.c +echo 'extern int a (); int main () { return a(); }' > m.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib +$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la +$LIBTOOL --mode=clean rm -f liba.la +rm -f sub/lib/liba.la + +$CC $CPPFLAGS $CFLAGS -c m.c +{ set +x +$as_echo "$at_srcdir/shlibpath.at:39: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m\$EXEEXT m.\$OBJEXT -Lsub/lib -la -R\`pwd\`/sub/lib" +at_fn_check_prepare_notrace 'a `...` command substitution' "shlibpath.at:39" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT -Lsub/lib -la -R`pwd`/sub/lib +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/shlibpath.at:41: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m2\$EXEEXT m.\$OBJEXT -Lsub/lib -la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT -Lsub/lib -la" "shlibpath.at:41" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT -Lsub/lib -la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:41" +$at_failed && at_fn_log_failure +$at_traceon; } + + +$mkdir_p moved +(cd sub && find . -type d) | (cd moved && xargs $mkdir_p) +for file in `cd sub && find . -type f -print -o -type l -print` +do + mv sub/$file moved/$file +done +rm -rf sub + +mkdir sub sub/lib sub/bin +echo 'int wrong_lib () { return 0; }' > a.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib +$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la +$LIBTOOL --mode=clean rm -f liba.la + +eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shlibpath_overrides_runpath)='` + +# No point checking a system with static libraries: +lt_exe=./m; if test -f "./m$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/shlibpath.at:55: if \"\$lt_exe\" || exit 1 && exit 77; then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" || exit 1 && exit 77; then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "shlibpath.at:55" +( $at_check_trace; if "$lt_exe" || exit 1 && exit 77; then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/shlibpath.at:55" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +if test PATH = "$shlibpath_var"; then + addpath=`pwd`/moved/bin +else + addpath=`pwd`/moved/lib +fi +sep= +eval test -n \"\$$shlibpath_var\" && sep=: +eval $shlibpath_var='$addpath$sep$'$shlibpath_var +export $shlibpath_var +if test no != "$shlibpath_overrides_runpath"; then + lt_exe=./m; if test -f "./m$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/shlibpath.at:67: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "shlibpath.at:67" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + + +else + lt_exe=./m; if test -f "./m$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/shlibpath.at:69: if \"\$lt_exe\" || exit 1; then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" || exit 1; then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "shlibpath.at:69" +( $at_check_trace; if "$lt_exe" || exit 1; then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/shlibpath.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi +# Test that shlibpath_var is effective in adding paths at all: +lt_exe=./m2; if test -f "./m2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/shlibpath.at:72: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "shlibpath.at:72" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:72" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_69 +#AT_START_70 +at_fn_group_banner 70 'runpath-in-lalib.at:26' \ + "Runpath in libtool library files" " " 7 +at_xfail=no +( + $as_echo "70. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >a.c <<'_ATEOF' +int a () { return 0; } +_ATEOF + +cat >b.c <<'_ATEOF' +extern int a (); +int b () { return a (); } +_ATEOF + +cat >m.c <<'_ATEOF' +extern int b (); +int main () { return b (); } +_ATEOF + + +instdir=`pwd`/inst +libdir=$instdir/lib +bindir=$instdir/bin +addrunpath=`pwd`/foobar + +mkdir $instdir $libdir $bindir + +for file in a.c b.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +$CC $CPPFLAGS $CFLAGS -c m.c +{ set +x +$as_echo "$at_srcdir/runpath-in-lalib.at:52: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -rpath \$libdir -R\$addrunpath" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -R$addrunpath" "runpath-in-lalib.at:52" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -R$addrunpath +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/runpath-in-lalib.at:54: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb.la b.lo -rpath \$libdir liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir liba.la" "runpath-in-lalib.at:54" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/runpath-in-lalib.at:56: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m\$EXEEXT m.\$OBJEXT libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT libb.la" "runpath-in-lalib.at:56" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:56" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/runpath-in-lalib.at:58: \$LIBTOOL --mode=install cp liba.la \$libdir/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir/liba.la" "runpath-in-lalib.at:58" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:58" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/runpath-in-lalib.at:59: \$LIBTOOL --mode=install cp libb.la \$libdir/libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libb.la $libdir/libb.la" "runpath-in-lalib.at:59" +( $at_check_trace; $LIBTOOL --mode=install cp libb.la $libdir/libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:59" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/runpath-in-lalib.at:60: \$LIBTOOL --mode=install cp m\$EXEEXT \$bindir/m\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT" "runpath-in-lalib.at:60" +( $at_check_trace; $LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/runpath-in-lalib.at:62: \$GREP /foobar \$libdir/liba.la" +at_fn_check_prepare_dynamic "$GREP /foobar $libdir/liba.la" "runpath-in-lalib.at:62" +( $at_check_trace; $GREP /foobar $libdir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/runpath-in-lalib.at:63: \$GREP /foobar \$libdir/libb.la" +at_fn_check_prepare_dynamic "$GREP /foobar $libdir/libb.la" "runpath-in-lalib.at:63" +( $at_check_trace; $GREP /foobar $libdir/libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:63" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# TODO: check that m gets -R, too. + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_70 +#AT_START_71 +at_fn_group_banner 71 'static.at:69' \ + "static linking flags for programs" " " 7 +at_xfail=no +( + $as_echo "71. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +LDFLAGS="$LDFLAGS -no-undefined" +prefix=`pwd`/inst +bindir=$prefix/bin +prefix1=`pwd`/inst1 +prefix2=`pwd`/inst2 +prefix3=`pwd`/inst3 +libdir1=$prefix1/lib +libdir2=$prefix2/lib +libdir3=$prefix3/lib +srcdir_broken=`pwd`/broken-src +prefix_broken=`pwd`/broken +libdir_broken=$prefix_broken/lib +bindir_broken=$prefix_broken/bin + +have_static=false +have_shared=false +per_deplib=false +$LIBTOOL --features | $GREP 'enable static libraries' >/dev/null && have_static=: +$LIBTOOL --features | $GREP 'enable shared libraries' >/dev/null && have_shared=: +eval `$LIBTOOL --config | + $EGREP '^(per_deplib_(static|dynamic)_flag|shlibpath_var|link_static_flag)='` +if test -n "$per_deplib_static_flag" && test -n "$per_deplib_dynamic_flag"; then + per_deplib=: +fi +# On GNU/Linux with --disable-static, m-all-static fails to link. +# What we'd like to state here is: if the user actively passed +# --disable-static (as opposed to: the libtool.m4 macros set +# enable_static=no), then they cannot expect -all-static to work. +# So we punt, knowing that we mangle enable_static on AIX only. +can_link_all_static=-all-static +case $host_os,$have_static,$link_static_flag in + aix*) ;; + *,false,?*) can_link_all_static= ;; +esac + +# Create broken libraries. They will later be moved to those +# directories where the respective libraries should be linked +# statically from. This detects both failure to link statically +# and failure to omit extraneous run paths. +mkdir $srcdir_broken $prefix_broken $libdir_broken +( + cd $srcdir_broken + echo 'int this_should_not_be_linked_against() { return 0; }' > a.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c + for i in 1 1dep 2 2dep 3 3dep; do + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a.lo -rpath $libdir_broken + $LIBTOOL --mode=install cp liba$i.la $libdir_broken/liba$i.la + done +) + +func_fix_path () +{ + # For w32, hardcoding cannot work, but $libdir/../bin is where binaries + # usually are installed. Since we use several prefixes for testing + # convenience -- it allows us to replace the good libraries easily with + # broken ones and vice versa -- we have to set PATH to find them. + # Since OTOH we put broken libs of all names in the "moved" prefixes, + # we have to ensure that this prefix comes last: otherwise we may link + # against a broken library but the good one would come later in the PATH. + # So we let the caller of this function set the order: the "other" two + # come first. + if test PATH = "$shlibpath_var"; then + save_PATH=$PATH + sep= + test -z "$PATH" || sep=: + PATH=$2/bin:$3/bin:$1/bin$sep$PATH + fi + +} + +func_restore_path () +{ + test PATH = "$shlibpath_var" && PATH=$save_PATH +} + +# func_move_libs srcdir_to_move prefix_to_move other_prefix other_prefix +func_move_libs () +{ + $mkdir_p "$1-moved" +(cd "$1" && find . -type d) | (cd "$1-moved" && xargs $mkdir_p) +for file in `cd "$1" && find . -type f -print -o -type l -print` +do + mv "$1"/$file "$1-moved"/$file +done +rm -rf "$1" + + $mkdir_p "$2-moved" +(cd "$2" && find . -type d) | (cd "$2-moved" && xargs $mkdir_p) +for file in `cd "$2" && find . -type f -print -o -type l -print` +do + mv "$2"/$file "$2-moved"/$file +done +rm -rf "$2" + + $mkdir_p "$1" +(cd "$srcdir_broken" && find . -type d) | (cd "$1" && xargs $mkdir_p) +for file in `cd "$srcdir_broken" && find . -type f -print -o -type l -print` +do + mv "$srcdir_broken"/$file "$1"/$file +done +rm -rf "$srcdir_broken" + + $mkdir_p "$2" +(cd "$prefix_broken" && find . -type d) | (cd "$2" && xargs $mkdir_p) +for file in `cd "$prefix_broken" && find . -type f -print -o -type l -print` +do + mv "$prefix_broken"/$file "$2"/$file +done +rm -rf "$prefix_broken" + + func_fix_path "$2" "$3" "$4" +} + +# func_restore_libs srcdir_to_restore prefix_to_restore +func_restore_libs () +{ + func_restore_path + $mkdir_p "$prefix_broken" +(cd "$2" && find . -type d) | (cd "$prefix_broken" && xargs $mkdir_p) +for file in `cd "$2" && find . -type f -print -o -type l -print` +do + mv "$2"/$file "$prefix_broken"/$file +done +rm -rf "$2" + + $mkdir_p "$srcdir_broken" +(cd "$1" && find . -type d) | (cd "$srcdir_broken" && xargs $mkdir_p) +for file in `cd "$1" && find . -type f -print -o -type l -print` +do + mv "$1"/$file "$srcdir_broken"/$file +done +rm -rf "$1" + + $mkdir_p "$2" +(cd "$2-moved" && find . -type d) | (cd "$2" && xargs $mkdir_p) +for file in `cd "$2-moved" && find . -type f -print -o -type l -print` +do + mv "$2-moved"/$file "$2"/$file +done +rm -rf "$2-moved" + + $mkdir_p "$1" +(cd "$1-moved" && find . -type d) | (cd "$1" && xargs $mkdir_p) +for file in `cd "$1-moved" && find . -type f -print -o -type l -print` +do + mv "$1-moved"/$file "$1"/$file +done +rm -rf "$1-moved" + +} + +# make sure the program can be run. +func_test_exec () +{ + # On AIX without runtimelinking, this does not make sense. + if $have_static; then + echo "## The following should succeed:" + for st + do + echo "# m$st" + lt_exe=./m$st; if test -f "./m$st$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/static.at:177: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "static.at:177" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/static.at:177" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # For some per-deplib flag combinations there may be no installed program, + # because liba2 is not yet installed. + if test -f "$bindir/m$st$EXEEXT"; then + lt_exe=$bindir/m$st; if test -f "$bindir/m$st$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/static.at:181: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "static.at:181" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/static.at:181" +$at_failed && at_fn_log_failure +$at_traceon; } + + + fi + done + fi +} + +# make sure the program cannot be run. +func_test_exec_fail () +{ + # No point in testing if we're linking statically anyway. + # TODO: Maybe in the 'else' case we could test for success? + if $have_shared; then + echo "## The following should fail:" + for st + do + echo "# m$st" + lt_exe=./m$st; if test -f "./m$st$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/static.at:197: if \"\$lt_exe\" || (exit 1); then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" || (exit 1); then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "static.at:197" +( $at_check_trace; if "$lt_exe" || (exit 1); then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/static.at:197" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # For some per-deplib flag combinations there may be no installed program, + # because liba2 is not yet installed. + if test -f "$bindir/m$st$EXEEXT"; then + lt_exe=$bindir/m$st; if test -f "$bindir/m$st$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/static.at:201: if \"\$lt_exe\" || (exit 1); then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" || (exit 1); then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "static.at:201" +( $at_check_trace; if "$lt_exe" || (exit 1); then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/static.at:201" +$at_failed && at_fn_log_failure +$at_traceon; } + + + fi + done + fi +} + + +# Try three independent libraries, +# one installed libtool library, +# one uninstalled libtool library, +# one non-libtool library, +# the libtool libraries each having a dependency, or not. +# Try both an uninstalled and the corresponding installed program. + +for withdep in no yes; do + echo + echo "### libraries with dependencies: $withdep" + rm -rf src $prefix $prefix1 $prefix2 $prefix3 + mkdir src $prefix $bindir $prefix1 $prefix2 $prefix3 + cd src + + ### build the libraries. + for i in 1 2 3; do + eval ldir=\$libdir$i + mkdir a$i $ldir + cd a$i + case $withdep,$i in + no,* | yes,3) + echo "int a$i() { return 0; }" > a$i.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -rpath $ldir + ;; + *) + echo "int a${i}dep() { return 0; }" > a${i}dep.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a${i}dep.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba${i}dep.la a${i}dep.lo -rpath $ldir + echo "extern int a${i}dep(); int a$i() { return a${i}dep(); }" > a$i.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -rpath $ldir ./liba${i}dep.la + ;; + esac + cd .. + done + + ### install the libraries. + test yes = "$withdep" && $LIBTOOL --mode=install cp a1/liba1dep.la $libdir1/liba1dep.la + $LIBTOOL --mode=install cp a1/liba1.la $libdir1/liba1.la + $LIBTOOL --mode=install cp a3/liba3.la $libdir3/liba3.la + $LIBTOOL --mode=clean rm -f a1/liba1.la a3/liba3.la + test yes = "$withdep" && $LIBTOOL --mode=clean rm -f a1/liba1dep.la + # simulate a non-libtool lib: + rm -f $libdir3/liba3.la + + + ### build the programs. + echo 'extern int a1(), a2(), a3(); + int main() { return a1() + a2() + a3(); }' > m.c + $CC $CPPFLAGS $CFLAGS -c m.c + + # global static flags. + for st in -static -static-libtool-libs $can_link_all_static; do + { set +x +$as_echo "$at_srcdir/static.at:262: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$st -o m\$st\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -la1 a2/liba2.la -L\$libdir3 -R\$libdir3 -la3" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:262" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o m$st$EXEEXT m.$OBJEXT \ + -L$libdir1 -la1 a2/liba2.la -L$libdir3 -R$libdir3 -la3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:262" +$at_failed && at_fn_log_failure +$at_traceon; } + + done + + # per-deplib static/shared flags. + # also try a bit redundant flags, and shuffled order (for run paths check). + if $per_deplib; then + { set +x +$as_echo "$at_srcdir/static.at:270: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m1\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la -L\$libdir3 -R\$libdir3 -la3" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:270" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la -L$libdir3 -R$libdir3 -la3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:270" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/static.at:273: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m2\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic -L\$libdir3 -R\$libdir3 -la3" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:273" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT \ + -L$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic -L$libdir3 -R$libdir3 -la3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:273" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/static.at:276: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m3\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -la1 a2/liba2.la -L\$libdir3 -Bstatic -la3 -Bdynamic" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:276" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT m.$OBJEXT \ + -L$libdir1 -la1 a2/liba2.la -L$libdir3 -Bstatic -la3 -Bdynamic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:276" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/static.at:279: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m12\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -Bstatic -la1 a2/liba2.la -Bdynamic -L\$libdir3 -R\$libdir3 -la3" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:279" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m12$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 a2/liba2.la -Bdynamic -L$libdir3 -R$libdir3 -la3 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:279" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/static.at:282: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m13\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la \\ + -L\$libdir3 -Bstatic -la3 -Bdynamic" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:282" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m13$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la \ + -L$libdir3 -Bstatic -la3 -Bdynamic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:282" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/static.at:286: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m31\$EXEEXT m.\$OBJEXT \\ + -L\$libdir3 -Bstatic -la3 -Bdynamic a2/liba2.la \\ + -L\$libdir1 -Bstatic -la1 -Bdynamic" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:286" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m31$EXEEXT m.$OBJEXT \ + -L$libdir3 -Bstatic -la3 -Bdynamic a2/liba2.la \ + -L$libdir1 -Bstatic -la1 -Bdynamic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:286" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/static.at:290: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m23\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic \\ + -L\$libdir3 -Bstatic -la3 -Bdynamic" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:290" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m23$EXEEXT m.$OBJEXT \ + -L$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic \ + -L$libdir3 -Bstatic -la3 -Bdynamic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/static.at:294: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m123\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -Bstatic -la1 a2/liba2.la -L\$libdir3 -la3 -Bdynamic" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:294" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 a2/liba2.la -L$libdir3 -la3 -Bdynamic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:294" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/static.at:297: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m123a\$EXEEXT m.\$OBJEXT \\ + -L\$libdir1 -Bstatic -la1 -Bdynamic -Bstatic a2/liba2.la -Bdynamic \\ + -Bstatic -L\$libdir3 -la3 -Bdynamic" +at_fn_check_prepare_notrace 'an embedded newline' "static.at:297" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123a$EXEEXT m.$OBJEXT \ + -L$libdir1 -Bstatic -la1 -Bdynamic -Bstatic a2/liba2.la -Bdynamic \ + -Bstatic -L$libdir3 -la3 -Bdynamic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:297" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + + ### install the programs. + # We can't install any program that links dynamically against liba2. + for st in -static -static-libtool-libs $can_link_all_static `$per_deplib && echo 2 12 23 123 123a`; do + echo "# m$st" + { set +x +$as_echo "$at_srcdir/static.at:311: \$LIBTOOL --mode=install cp m\$st\$EXEEXT \$bindir/m\$st\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$st$EXEEXT $bindir/m$st$EXEEXT" "static.at:311" +( $at_check_trace; $LIBTOOL --mode=install cp m$st$EXEEXT $bindir/m$st$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:311" +$at_failed && at_fn_log_failure +$at_traceon; } + + if $have_static; then + { set +x +$as_echo "$at_srcdir/static.at:313: \$EGREP 'relinking|has not been installed' stderr" +at_fn_check_prepare_notrace 'a shell pipeline' "static.at:313" +( $at_check_trace; $EGREP 'relinking|has not been installed' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/static.at:313" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + done + + + ### Run each program once so that relinking has happened. + + func_fix_path $prefix1 $prefix2 $prefix3 + func_test_exec -static -static-libtool-libs -all-static `$per_deplib && echo 1 2 3 12 13 23 31 123 123a` + func_restore_path + + # For each library: + # - remove the library images to catch failure to link statically/dynamically, + # - add false other deplibs in the paths to catch (some) wrongly added run paths. + + # if '-all-static' does not work, do not exercise it any more. + all_static=-all-static + test -z "$link_static_flag" && all_static= + + echo "### test whether installed libtool library liba2 was linked statically" + func_move_libs a2 $prefix2 $prefix3 $prefix1 + func_test_exec -static -static-libtool-libs $all_static `$per_deplib && echo 2 12 23 123 123a` + $per_deplib && func_test_exec_fail 1 3 13 31 + func_restore_libs a2 $prefix2 + + echo "### test whether uninstalled libtool library liba1 was linked statically" + func_move_libs a1 $prefix1 $prefix2 $prefix3 + func_test_exec -static-libtool-libs $all_static `$per_deplib && echo 1 12 13 31 123 123a` + $per_deplib && func_test_exec_fail -static 2 3 23 + func_restore_libs a1 $prefix1 + + echo "### test whether non-libtool library liba3 was linked statically" + func_move_libs a3 $prefix3 $prefix1 $prefix2 + func_test_exec $all_static `$per_deplib && echo 3 13 23 31 123 123a` + # no '-static-libtool-libs' flag below, because some hosts such as + # Cray prefer static libs by default. + # and doesn't exercise anything not already tested above: + func_test_exec_fail -static `$per_deplib && echo 1 2 12` + func_restore_libs a3 $prefix3 + + cd .. +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_71 +#AT_START_72 +at_fn_group_banner 72 'static.at:360' \ + "ccache -all-static" " " 7 +at_xfail=no +( + $as_echo "72. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >ccache <<'_ATEOF' +#! /bin/sh +# poor man's ccache clone +case $1 in +-*) echo "bogus argument: $1" >&2; exit 1 ;; +esac +exec "$@" +_ATEOF + +chmod +x ./ccache + +cat >a.c <<'_ATEOF' +int main(void) { return 0; } +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/static.at:376: \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c a.c" "static.at:376" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:376" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/static.at:377: \$LIBTOOL --mode=link --tag=CC ./ccache \$CC \$CFLAGS \$LDFLAGS -all-static a.\$OBJEXT -o a\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC ./ccache $CC $CFLAGS $LDFLAGS -all-static a.$OBJEXT -o a$EXEEXT" "static.at:377" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC ./ccache $CC $CFLAGS $LDFLAGS -all-static a.$OBJEXT -o a$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/static.at:377" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_72 +#AT_START_73 +at_fn_group_banner 73 'export.at:26' \ + "Export test" " " 7 +at_xfail=no +( + $as_echo "73. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/export.at:29: \$LIBTOOL --features | \$GREP 'disable shared libraries' && (exit 77)" +at_fn_check_prepare_notrace 'a shell pipeline' "export.at:29" +( $at_check_trace; $LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/export.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/export.at:31: eval \`\$LIBTOOL --config | \$SED -n '/^archive_expsym_cmds=/,/^\$/p'\` + test -n \"\$archive_expsym_cmds\" || echo false >can-hide + case \$archive_expsym_cmds in + *-retain-symbols-file*) echo false >can-hide ;; + esac" +at_fn_check_prepare_notrace 'a `...` command substitution' "export.at:31" +( $at_check_trace; eval `$LIBTOOL --config | $SED -n '/^archive_expsym_cmds=/,/^$/p'` + test -n "$archive_expsym_cmds" || echo false >can-hide + case $archive_expsym_cmds in + *-retain-symbols-file*) echo false >can-hide ;; + esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/export.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +can_hide=: +test -s can-hide && can_hide=false + +LDFLAGS="$LDFLAGS -no-undefined" +libdir=`pwd`/inst/lib +mkdir inst inst/lib + +cat >a.c <<'_ATEOF' +/* all kinds of data items */ +#ifdef __cplusplus +extern "C" { +#endif + +int v1; +static int v2; +int v3 = 0; +int v4 = 1; +extern const int v5, v6; +extern const char *v7; +extern const char v8[]; +extern int (*const v12) (void); +const int v5 = 0; +const int v6 = 1; +const char* v7 = "\01foo"; +const char v8[] = "\01bar"; +int v9(void) { return v2 + 1; } +int (*v10) (void); +int (*v11) (void) = v9; +int (*const v12) (void) = v9; + +typedef struct { int arr[1000]; } large; +large v13; +large v14 = { { 0 } }; +large v15 = { { 1 } }; + +int w1 (void) { return 0; } + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >asyms <<'_ATEOF' +v1 +v3 +v4 +v5 +v6 +v7 +v8 +v9 +v10 +v11 +v12 +v13 +v14 +v15 +_ATEOF + + +cat >main.c <<'_ATEOF' + +/* w32 fun. With GCC, you can have auto-import, which will work for + * functions and non-const variables. With MSVC, you have to explicitly + * import all variables. Depending on the amount of portability, you + * need these annotations: LIBA_SCOPE for GCC, and also LIBA_SCOPE_VAR + * for MSVC. Of course you can merge both to one, this test only avoids + * that in order to expose the auto-import feature on Cygwin. + * + * For users, it's best to realize that they should not provide any + * non-function API at all. + */ +#if defined LIBA_DLL_IMPORT +# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ +# define LIBA_SCOPE extern __declspec(dllimport) +# if defined _MSC_VER +# define LIBA_SCOPE_VAR LIBA_SCOPE +# endif +# endif +#endif +#if !defined LIBA_SCOPE +# define LIBA_SCOPE extern +#endif +#if !defined LIBA_SCOPE_VAR +# define LIBA_SCOPE_VAR extern +#endif +#ifdef __cplusplus +extern "C" { +#endif +LIBA_SCOPE_VAR int v1; +LIBA_SCOPE_VAR int v3, v4; +LIBA_SCOPE const int v5, v6; +LIBA_SCOPE_VAR const char* v7; +LIBA_SCOPE_VAR const char v8[]; +extern int v9(void); +LIBA_SCOPE_VAR int (*v10) (void); +LIBA_SCOPE_VAR int (*v11) (void); +LIBA_SCOPE int (*const v12) (void); +#ifdef __cplusplus +} +#endif + +typedef struct { int arr[1000]; } large; +LIBA_SCOPE_VAR large v13, v14, v15; + +int main (void) +{ + char s = v7[0] + v8[0]; + return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() + + v13.arr[0] + v14.arr[0] + v15.arr[0] + - 8; +} +_ATEOF + + +cat >broken.c <<'_ATEOF' + +/* these symbols should not be exported */ +#ifdef __cplusplus +extern "C" { +#endif +extern int w1 (void); +#ifdef __cplusplus +} +#endif +int main (void) +{ + return w1 (); +} +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/export.at:165: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "export.at:165" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:165" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/export.at:166: \$CC \$CPPFLAGS -DLIBA_DLL_IMPORT \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c" "export.at:166" +( $at_check_trace; $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:166" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/export.at:167: \$CC \$CPPFLAGS \$CFLAGS -c broken.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c broken.c" "export.at:167" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c broken.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:167" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for exportsyms in '' '-export-symbols-regex "v.*"' '-export-symbols asyms' +do + # case 1: shared library built from object. + echo "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \\ + -rpath $libdir' $exportsyms"; { set +x +$as_echo "$at_srcdir/export.at:172: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo \\ + -rpath \$libdir' \$exportsyms" +at_fn_check_prepare_notrace 'an embedded newline' "export.at:172" +( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \ + -rpath $libdir' $exportsyms +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/export.at:174: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la" "export.at:174" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:174" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/export.at:176: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "export.at:176" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/export.at:176" +$at_failed && at_fn_log_failure +$at_traceon; } + + + if test -n "$exportsyms" && $can_hide; then + { set +x +$as_echo "$at_srcdir/export.at:178: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o broken\$EXEEXT broken.\$OBJEXT liba.la + then (exit 1); else :; fi" +at_fn_check_prepare_notrace 'an embedded newline' "export.at:178" +( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o broken$EXEEXT broken.$OBJEXT liba.la + then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:178" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + + # case 2: shared library built from convenience archive. + { set +x +$as_echo "$at_srcdir/export.at:183: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libconv.la a.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libconv.la a.lo" "export.at:183" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libconv.la a.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:183" +$at_failed && at_fn_log_failure +$at_traceon; } + + echo "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la libconv.la \\ + -rpath $libdir' $exportsyms"; { set +x +$as_echo "$at_srcdir/export.at:185: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la libconv.la \\ + -rpath \$libdir' \$exportsyms" +at_fn_check_prepare_notrace 'an embedded newline' "export.at:185" +( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la libconv.la \ + -rpath $libdir' $exportsyms +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/export.at:187: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la" "export.at:187" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:187" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/export.at:189: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "export.at:189" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/export.at:189" +$at_failed && at_fn_log_failure +$at_traceon; } + + + if test -n "$exportsyms" && $can_hide; then + { set +x +$as_echo "$at_srcdir/export.at:191: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o broken\$EXEEXT broken.\$OBJEXT liba.la + then (exit 1); else :; fi" +at_fn_check_prepare_notrace 'an embedded newline' "export.at:191" +( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o broken$EXEEXT broken.$OBJEXT liba.la + then (exit 1); else :; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export.at:191" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi +done + +{ set +x +$as_echo "$at_srcdir/export.at:196: \$can_hide || (exit 77)" +at_fn_check_prepare_dynamic "$can_hide || (exit 77)" "export.at:196" +( $at_check_trace; $can_hide || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/export.at:196" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_73 +#AT_START_74 +at_fn_group_banner 74 'export-def.at:25' \ + "export from a DLL with a .def file" " " 7 +at_xfail=no +( + $as_echo "74. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/export-def.at:28: \$LIBTOOL --features | \$GREP 'disable shared libraries' && (exit 77)" +at_fn_check_prepare_notrace 'a shell pipeline' "export-def.at:28" +( $at_check_trace; $LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/export-def.at:28" +$at_failed && at_fn_log_failure +$at_traceon; } + +eval `$LIBTOOL --config | $EGREP '^(shrext_cmds|libname_spec|soname_spec)='` + +eval shared_ext=\"$shrext_cmds\" + +# skip if not building a .dll +{ set +x +$as_echo "$at_srcdir/export-def.at:35: test .dll = \"\$shared_ext\" || (exit 77)" +at_fn_check_prepare_dynamic "test .dll = \"$shared_ext\" || (exit 77)" "export-def.at:35" +( $at_check_trace; test .dll = "$shared_ext" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } + + +LDFLAGS="$LDFLAGS -no-undefined" +libdir=`pwd`/inst/lib +mkdir inst inst/lib + +cat >a.c <<'_ATEOF' +/* a */ +#ifdef __cplusplus +extern "C" { +#endif + +int v1 = -1; +int v2 (void) { return -2; } + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >syms <<'_ATEOF' +v1 +v2 +_ATEOF + + +cat >def1 <<'_ATEOF' +EXPORTS +v1 DATA +v2 +_ATEOF + + +cat >def2 <<'_ATEOF' +; Def file + ; with some very important comments +EXPORTS +v1 DATA +v2 +_ATEOF + + +cat >def3 <<'_ATEOF' + + EXPORTS v1 DATA + v2 +_ATEOF + + +cat >def4 <<'_ATEOF' + LIBRARY %soname% +EXPORTS +v1 DATA +v2 +_ATEOF + + +cat >main.c <<'_ATEOF' + +/* w32 fun. With GCC, you can have auto-import, which will work for + * functions and non-const variables. With MSVC, you have to explicitly + * import all variables. + * + * For users, it's best to realize that they should not provide any + * non-function API at all. + */ +#if defined LIBA_DLL_IMPORT +# if defined _WIN32 && defined _MSC_VER +# define LIBA_SCOPE_VAR extern __declspec(dllimport) +# endif +#endif +#if !defined LIBA_SCOPE_VAR +# define LIBA_SCOPE_VAR extern +#endif +#ifdef __cplusplus +extern "C" { +#endif +LIBA_SCOPE_VAR int v1; +extern int v2(void); +#ifdef __cplusplus +} +#endif + +int main (void) +{ + return v1 + v2() + 3; +} +_ATEOF + + +name=a +eval libname=\"$libname_spec\" +major=0 +versuffix=-$major +eval soname=\"$soname_spec\" + +{ set +x +$as_echo "$at_srcdir/export-def.at:125: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "export-def.at:125" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:125" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/export-def.at:126: \$CC \$CPPFLAGS -DLIBA_DLL_IMPORT \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c" "export-def.at:126" +( $at_check_trace; $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:126" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for exportsyms in syms def1 def2 def3 def4 +do + $SED "s/%soname%/$soname/" -i $exportsyms + + echo "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \\ + -rpath $libdir' -export-symbols $exportsyms"; { set +x +$as_echo "$at_srcdir/export-def.at:132: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo \\ + -rpath \$libdir' -export-symbols \$exportsyms" +at_fn_check_prepare_notrace 'an embedded newline' "export-def.at:132" +( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \ + -rpath $libdir' -export-symbols $exportsyms +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:132" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/export-def.at:134: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la" "export-def.at:134" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:134" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/export-def.at:136: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "export-def.at:136" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:136" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_74 +#AT_START_75 +at_fn_group_banner 75 'search-path.at:25' \ + "sys_lib_search_path" " " 7 +at_xfail=no +( + $as_echo "75. $at_setup_line: testing $at_desc ..." + $at_traceon + + +LDFLAGS="$LDFLAGS -no-undefined" + +cat >main.c <<'_ATEOF' +extern +#ifdef __cplusplus +"C" +#endif +int inflate (); +int main() +{ + return inflate (); +} +_ATEOF + + +$CC $CPPFLAGS $CFLAGS -c main.c +eval `$LIBTOOL --config | $EGREP '^(sys_lib_search_path_spec)='` +eval sys_lib_search_path=\"$sys_lib_search_path_spec\" +no_libz=: +for path in $sys_lib_search_path; do + if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$path -lz + then + { set +x +$as_echo "$at_srcdir/search-path.at:48: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -lz" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -lz" "search-path.at:48" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -lz +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:48" +$at_failed && at_fn_log_failure +$at_traceon; } + + no_libz=false + break + fi +done + +# If -lz doesn't exist (hello, cross compiler!), we need a dummy test. +if $no_libz; then + { set +x +$as_echo "$at_srcdir/search-path.at:57: exit 77" +at_fn_check_prepare_trace "search-path.at:57" +( $at_check_trace; exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:57" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_75 +#AT_START_76 +at_fn_group_banner 76 'search-path.at:63' \ + "sys_lib_search_path on w32" " " 7 +at_xfail=no +( + $as_echo "76. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Check if libtool knows the path to system libraries. Using +# a w32 system library since the test is designed to check if +# the libtool handling of the sys_lib_search_path variable is +# correct for MSVC. + +LDFLAGS="$LDFLAGS -no-undefined" + +cat >gc.c <<'_ATEOF' +#include +HCURSOR get_cursor (void) +{ + return GetCursor (); +} +_ATEOF + + +eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`" +{ set +x +$as_echo "$at_srcdir/search-path.at:82: test yes = \"\$build_libtool_libs\" || exit 77" +at_fn_check_prepare_dynamic "test yes = \"$build_libtool_libs\" || exit 77" "search-path.at:82" +( $at_check_trace; test yes = "$build_libtool_libs" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:82" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/search-path.at:84: \$LIBTOOL --mode=compile --tag=CC \\ + \$CC \$CPPFLAGS \$CFLAGS -o gc.lo -c gc.c || exit 77" +at_fn_check_prepare_notrace 'an embedded newline' "search-path.at:84" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC \ + $CC $CPPFLAGS $CFLAGS -o gc.lo -c gc.c || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Ok, compile was fine, then it should be possible to link too. + +{ set +x +$as_echo "$at_srcdir/search-path.at:90: \$LIBTOOL --mode=link --tag=CC --tag=disable-static \\ + \$CC \$CFLAGS \$LDFLAGS -o libgc.la gc.lo -rpath /nowhere -luser32" +at_fn_check_prepare_notrace 'an embedded newline' "search-path.at:90" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC --tag=disable-static \ + $CC $CFLAGS $LDFLAGS -o libgc.la gc.lo -rpath /nowhere -luser32 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# If -luser32 was found, then libtool will build a shared library, +# otherwise libtool will fall back to creating a static library. +{ set +x +$as_echo "$at_srcdir/search-path.at:96: \$GREP old_library=\\'\\' libgc.la" +at_fn_check_prepare_dynamic "$GREP old_library=\\'\\' libgc.la" "search-path.at:96" +( $at_check_trace; $GREP old_library=\'\' libgc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_76 +#AT_START_77 +at_fn_group_banner 77 'indirect_deps.at:26' \ + "indirect convenience" " " 7 +at_xfail=no +( + $as_echo "77. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >a.c <<'_ATEOF' + +#include +int a () { return 0; } +double ad (double x) { return sin (x); } +_ATEOF + +cat >b.c <<'_ATEOF' + +extern int a (); +extern double ad (double); +int b () { return a () + (int) ad (0.0); } +_ATEOF + +cat >c.c <<'_ATEOF' + +extern int b (); +int c () { return b (); } +_ATEOF + +cat >m.c <<'_ATEOF' + +extern int c (); +int main () { return c (); } +_ATEOF + + +LDFLAGS="$LDFLAGS -no-undefined" +for file in a.c b.c c.c; do + $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c $file +done +$CC $CPPFLAGS $CFLAGS -c m.c + +# liba is an indirect dependency of libd and of libconv. +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath /nowhere -lm +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b.lo liba.la -rpath /nowhere +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la c.lo libb.la +$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libd.la libconv.la -rpath /nowhere + +for st in '' -static; do + { set +x +$as_echo "$at_srcdir/indirect_deps.at:61: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS \$st -o m1\$EXEEXT m.\$OBJEXT libd.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m.$OBJEXT libd.la" "indirect_deps.at:61" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m.$OBJEXT libd.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:61" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/indirect_deps.at:63: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS \$st -o m2\$EXEEXT m.\$OBJEXT libconv.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m.$OBJEXT libconv.la" "indirect_deps.at:63" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m.$OBJEXT libconv.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:63" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./m1; if test -f "./m1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/indirect_deps.at:65: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "indirect_deps.at:65" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=./m2; if test -f "./m2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/indirect_deps.at:66: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "indirect_deps.at:66" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:66" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_77 +#AT_START_78 +at_fn_group_banner 78 'indirect_deps.at:72' \ + "indirect uninstalled" " " 7 +at_xfail=no +( + $as_echo "78. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >a.c <<'_ATEOF' + +int a () { return 0; } +_ATEOF + +cat >b.c <<'_ATEOF' + +extern int a (); +int b () { return a (); } +_ATEOF + +cat >c.c <<'_ATEOF' + +extern int b (); +int c () { return b (); } +_ATEOF + + +cat >m1.c <<'_ATEOF' + +extern int b (); +int main () { return b (); } +_ATEOF + +cat >m2.c <<'_ATEOF' + +extern int c (); +int main () { return c (); } +_ATEOF + + +mkdir a b c +LDFLAGS="$LDFLAGS -no-undefined" +for file in a.c b.c c.c; do + $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c $file +done +for file in m1.c m2.c; do + $CC $CPPFLAGS $CFLAGS -c $file +done + +for st in '' -static; do + $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o a/liba.la a.lo -rpath /nowherea + $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o b/libb.la b.lo a/liba.la -rpath /nowhereb + $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o c/libcee.la c.lo b/libb.la -rpath /nowherec + + { set +x +$as_echo "$at_srcdir/indirect_deps.at:110: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS \$st -o m1\$EXEEXT m1.\$OBJEXT b/libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m1.$OBJEXT b/libb.la" "indirect_deps.at:110" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m1.$OBJEXT b/libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:110" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/indirect_deps.at:112: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS \$st -o m2\$EXEEXT m2.\$OBJEXT c/libcee.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m2.$OBJEXT c/libcee.la" "indirect_deps.at:112" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m2.$OBJEXT c/libcee.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:112" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./m1; if test -f "./m1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/indirect_deps.at:114: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "indirect_deps.at:114" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=./m2; if test -f "./m2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/indirect_deps.at:115: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "indirect_deps.at:115" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_78 +#AT_START_79 +at_fn_group_banner 79 'archive-in-archive.at:27' \ + "static library contains static library" " " 7 +at_xfail=no + case $AR in ar-lib\ * | *[/\\]ar-lib\ *) false;; *) :;; esac && at_xfail=yes +( + $as_echo "79. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test passes with MS lib. + + +cat >foo.c <<'_ATEOF' + +int foo() { return 1;} +_ATEOF + + +cat >bar.c <<'_ATEOF' + +int bar() { return 1;} +_ATEOF + + +thisdir=`cd . && pwd` +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c +$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ +-o libfoo.la foo.lo -version-info 1:0:0 -rpath $thisdir +$LIBTOOL --mode=install cp libfoo.la $thisdir +eval `$EGREP '^(old_library)=' < libfoo.la` +libfoo=$old_library +{ set +x +$as_echo "$at_srcdir/archive-in-archive.at:51: \$LIBTOOL --mode=link --tag=CC --tag=disable-shared \$CC \$CFLAGS \$LDFLAGS \\ + -o libbar.la bar.lo \$libfoo -version-info 1:0:0 -rpath \$thisdir" +at_fn_check_prepare_notrace 'an embedded newline' "archive-in-archive.at:51" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ + -o libbar.la bar.lo $libfoo -version-info 1:0:0 -rpath $thisdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/archive-in-archive.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/archive-in-archive.at:54: \$LIBTOOL --mode=install cp libbar.la \$thisdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libbar.la $thisdir" "archive-in-archive.at:54" +( $at_check_trace; $LIBTOOL --mode=install cp libbar.la $thisdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/archive-in-archive.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + +eval `$EGREP '^(old_library)=' < libbar.la` +libbar=$old_library +{ set +x +$as_echo "$at_srcdir/archive-in-archive.at:57: \$AR -t \$libbar | \$GREP \$libfoo" +at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:57" +( $at_check_trace; $AR -t $libbar | $GREP $libfoo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/archive-in-archive.at:57" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/archive-in-archive.at:58: \$AR -t \$libbar | \$GREP foo.\$OBJEXT" +at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:58" +( $at_check_trace; $AR -t $libbar | $GREP foo.$OBJEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/archive-in-archive.at:58" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/archive-in-archive.at:59: \$AR -t \$libbar | \$GREP bar.\$OBJEXT" +at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:59" +( $at_check_trace; $AR -t $libbar | $GREP bar.$OBJEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/archive-in-archive.at:59" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_79 +#AT_START_80 +at_fn_group_banner 80 'exeext.at:26' \ + "both of -o prog and -o prog\$EXEEXT work" " " 7 +at_xfail=no +( + $as_echo "80. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/exeext.at:29: test -n \"\$EXEEXT\" || exit 77" +at_fn_check_prepare_dynamic "test -n \"$EXEEXT\" || exit 77" "exeext.at:29" +( $at_check_trace; test -n "$EXEEXT" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + +bin=`pwd`/bin +binext=`pwd`/binext +mkdir src $bin srcext $binext + +cat >src/prog.c <<'_ATEOF' + +int main(void) { return 0; } +_ATEOF + + +$CC $CPPFLAGS $CFLAGS -c src/prog.c -o src/prog.$OBJEXT + +{ set +x +$as_echo "$at_srcdir/exeext.at:42: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o src/prog src/prog.\$OBJEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/prog src/prog.$OBJEXT" "exeext.at:42" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/prog src/prog.$OBJEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:42" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/exeext.at:44: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o srcext/prog\$EXEEXT src/prog.\$OBJEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o srcext/prog$EXEEXT src/prog.$OBJEXT" "exeext.at:44" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o srcext/prog$EXEEXT src/prog.$OBJEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:44" +$at_failed && at_fn_log_failure +$at_traceon; } + + +$LIBTOOL --mode=install cp src/prog $bin/prog +$LIBTOOL --mode=install cp srcext/prog$EXEEXT $binext/prog$EXEEXT + +lt_exe=$bin/prog; if test -f "$bin/prog$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/exeext.at:50: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "exeext.at:50" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:50" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$binext/prog$EXEEXT; if test -f "$binext/prog$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/exeext.at:51: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "exeext.at:51" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_80 +#AT_START_81 +at_fn_group_banner 81 'execute-mode.at:25' \ + "execute mode" " " 7 +at_xfail=no +( + $as_echo "81. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +eval `$LIBTOOL --config | $EGREP '^(FGREP)='` + +cat >foo <<'_ATEOF' +#! /bin/sh +if test $# -gt 0; then + for arg + do + printf %s\\n "$arg" + done +else + : +fi +_ATEOF + + +cat >lt-wrapper <<'_ATEOF' +#! /bin/sh +# Generated by GNU libtool. +# fake wrapper script. +program=lt-real +progdir=. +if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + exec "$progdir/$program" ${1+"$@"} + echo "$0: cannot exec $program $*" >&2 + exit 1 +fi +_ATEOF + + +cat >lt-real <<'_ATEOF' +#! /bin/sh +for arg +do + printf %s\\n "$arg" +done +cat +_ATEOF + + +cat >libfakelib.la <<'_ATEOF' +# libfakelib.la - a libtool library file +# Generated by ltmain.sh (GNU libtool 1.2605 2008/03/04 22:31:32) 2.3a +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +dlname='' +library_names='' +old_library='libfakelib.a' +inherited_linker_flags='' +dependency_libs='' +weak_library_names='' +current= +age= +revision= +installed=no +shouldnotlink=yes +dlopen='' +dlpreopen='' +libdir='' +_ATEOF + + +mkdir sub +cp foo sub/foo +chmod +x foo sub/foo lt-wrapper lt-real + +cat >liba.c <<'_ATEOF' +int a () { return 0; } +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +extern int a (); +int main (int argc, char **argv) +{ + int i; + for (i=1; i>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:117" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:119: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la -rpath \$libdir liba.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la -rpath $libdir liba.lo" "execute-mode.at:119" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la -rpath $libdir liba.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:119" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:121: \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "execute-mode.at:121" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:121" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:123: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la" "execute-mode.at:123" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:123" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# end of preparatory blurb. +# Now, when doing the tests, we both try the fake wrappers plus the real one +# (only the latter exposes the C wrappers used for w32 systems). +# With the latter, however, we need to ignore additional output; esp. wine +# may be rather noisy. + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:132: \$LIBTOOL --mode=execute ./foo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo" "execute-mode.at:132" +( $at_check_trace; $LIBTOOL --mode=execute ./foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:132" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:133: \$LIBTOOL --mode=execute sub/foo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute sub/foo" "execute-mode.at:133" +( $at_check_trace; $LIBTOOL --mode=execute sub/foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:133" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:134: \$LIBTOOL --mode=execute ./foo foo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo foo" "execute-mode.at:134" +( $at_check_trace; $LIBTOOL --mode=execute ./foo foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:134" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:136: \$LIBTOOL --mode=execute ./lt-wrapper foo >"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:136" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:138: cd sub && \$LIBTOOL --mode=execute ./foo ../foo" +at_fn_check_prepare_dynamic "cd sub && $LIBTOOL --mode=execute ./foo ../foo" "execute-mode.at:138" +( $at_check_trace; cd sub && $LIBTOOL --mode=execute ./foo ../foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "../foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:138" +$at_failed && at_fn_log_failure +$at_traceon; } + +# suppose that ./foo is gdb, and lt-wrapper is the wrapper script. +{ set +x +$as_echo "$at_srcdir/execute-mode.at:141: \$LIBTOOL --mode=execute ./foo lt-wrapper bar baz >"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "./lt-real +bar +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# check that stdin works even with -dlopen. +{ set +x +$as_echo "$at_srcdir/execute-mode.at:148: echo bar | \$LIBTOOL --mode=execute -dlopen libfakelib.la ./lt-wrapper foo" +at_fn_check_prepare_notrace 'a shell pipeline' "execute-mode.at:148" +( $at_check_trace; echo bar | $LIBTOOL --mode=execute -dlopen libfakelib.la ./lt-wrapper foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +bar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:148" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check that a missing real program causes an error. +# The error message and code are likely to be 126, +# "No such file or directory" but system-dependent. +mv -f lt-real lt-backup +{ set +x +$as_echo "$at_srcdir/execute-mode.at:157: \$LIBTOOL --mode=execute ./lt-wrapper foo >"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/execute-mode.at:157" +$at_failed && at_fn_log_failure +$at_traceon; } + +mv -f lt-backup lt-real + +# Now use arguments that require decent quoting. +{ set +x +$as_echo "$at_srcdir/execute-mode.at:162: \$LIBTOOL --mode=execute ./foo \"arg with special chars: \\\$!&*'\\\`()\"" +at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:162" +( $at_check_trace; $LIBTOOL --mode=execute ./foo "arg with special chars: \$!&*'\`()" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "arg with special chars: \$!&*'\`() +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:162" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:165: \$LIBTOOL --mode=execute ./lt-wrapper \"arg with special chars: \\\$!&*'\\\`()\" >"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "arg with special chars: \$!&*'\`() +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:165" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:168: \$LIBTOOL --mode=execute ./foo lt-wrapper \"arg with special chars: \\\$!&*'\\\`()\"" +at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:168" +( $at_check_trace; $LIBTOOL --mode=execute ./foo lt-wrapper "arg with special chars: \$!&*'\`()" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "./lt-real +arg with special chars: \$!&*'\`() +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:168" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/execute-mode.at:172: if \$LIBTOOL --mode=execute \"\$lt_exe\" \"arg with special chars: \\\$!&*'\\\`()\"; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:172" +( $at_check_trace; if $LIBTOOL --mode=execute "$lt_exe" "arg with special chars: \$!&*'\`()"; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:174: \$FGREP 'arg with special chars: \$!&*'\\''\`()' stdout" +at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:174" +( $at_check_trace; $FGREP 'arg with special chars: $!&*'\''`()' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:174" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# We always pair two args. The first one is never the empty string. +arg1= +for arg2 in \ + 'def ghi' '' \ + 'd"e' 'f"g' \ + 'd\"e' 'f\"g' \ + 'd\\"e' 'f\\"g' \ + 'd\\\"e' 'f\\\"g' \ + 'd\' '' \ + 'd\\' '' \ + 'd\\\' '' \ + 'd\\\\' '' \ + '<' '>' \ + '' '' +do + if test -z "$arg1"; then + arg1=$arg2; continue + fi + { set +x +$as_echo "$at_srcdir/execute-mode.at:194: \$LIBTOOL --mode=execute ./foo abc \"\$arg1\" \"\$arg2\" xyz" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo abc \"$arg1\" \"$arg2\" xyz" "execute-mode.at:194" +( $at_check_trace; $LIBTOOL --mode=execute ./foo abc "$arg1" "$arg2" xyz +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:194" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:195: \$FGREP \"\$arg1\" stdout" +at_fn_check_prepare_dynamic "$FGREP \"$arg1\" stdout" "execute-mode.at:195" +( $at_check_trace; $FGREP "$arg1" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:195" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:196: test -z \"\$arg2\" || \$FGREP \"\$arg2\" stdout" +at_fn_check_prepare_dynamic "test -z \"$arg2\" || $FGREP \"$arg2\" stdout" "execute-mode.at:196" +( $at_check_trace; test -z "$arg2" || $FGREP "$arg2" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:196" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:197: test \`\$SED -n '/^abc\$/,/^xyz\$/p' stdout | wc -l\` -eq 4" +at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:197" +( $at_check_trace; test `$SED -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:197" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:198: \$LIBTOOL --mode=execute ./lt-wrapper abc \"\$arg1\" \"\$arg2\" xyz >"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:198" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:199: \$FGREP \"\$arg1\" stdout" +at_fn_check_prepare_dynamic "$FGREP \"$arg1\" stdout" "execute-mode.at:199" +( $at_check_trace; $FGREP "$arg1" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:199" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:200: test -z \"\$arg2\" || \$FGREP \"\$arg2\" stdout" +at_fn_check_prepare_dynamic "test -z \"$arg2\" || $FGREP \"$arg2\" stdout" "execute-mode.at:200" +( $at_check_trace; test -z "$arg2" || $FGREP "$arg2" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:200" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:201: test \`\$SED -n '/^abc\$/,/^xyz\$/p' stdout | wc -l\` -eq 4" +at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:201" +( $at_check_trace; test `$SED -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:201" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:202: \$LIBTOOL --mode=execute ./foo lt-wrapper abc \"\$arg1\" \"\$arg2\" xyz" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo lt-wrapper abc \"$arg1\" \"$arg2\" xyz" "execute-mode.at:202" +( $at_check_trace; $LIBTOOL --mode=execute ./foo lt-wrapper abc "$arg1" "$arg2" xyz +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:202" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:203: \$FGREP \"\$arg1\" stdout" +at_fn_check_prepare_dynamic "$FGREP \"$arg1\" stdout" "execute-mode.at:203" +( $at_check_trace; $FGREP "$arg1" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:203" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:204: test -z \"\$arg2\" || \$FGREP \"\$arg2\" stdout" +at_fn_check_prepare_dynamic "test -z \"$arg2\" || $FGREP \"$arg2\" stdout" "execute-mode.at:204" +( $at_check_trace; test -z "$arg2" || $FGREP "$arg2" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:205: test \`\$SED -n '/^abc\$/,/^xyz\$/p' stdout | wc -l\` -eq 4" +at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:205" +( $at_check_trace; test `$SED -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:206: \$LIBTOOL --mode=execute ./main\$EXEEXT abc \"\$arg1\" \"\$arg2\" xyz" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./main$EXEEXT abc \"$arg1\" \"$arg2\" xyz" "execute-mode.at:206" +( $at_check_trace; $LIBTOOL --mode=execute ./main$EXEEXT abc "$arg1" "$arg2" xyz +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:207: \$FGREP \"\$arg1\" stdout" +at_fn_check_prepare_dynamic "$FGREP \"$arg1\" stdout" "execute-mode.at:207" +( $at_check_trace; $FGREP "$arg1" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:207" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/execute-mode.at:208: test -z \"\$arg2\" || \$FGREP \"\$arg2\" stdout" +at_fn_check_prepare_dynamic "test -z \"$arg2\" || $FGREP \"$arg2\" stdout" "execute-mode.at:208" +( $at_check_trace; test -z "$arg2" || $FGREP "$arg2" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:208" +$at_failed && at_fn_log_failure +$at_traceon; } + + # Do not match EOL here, cross setups may have an extra \r here. + { set +x +$as_echo "$at_srcdir/execute-mode.at:210: test \`\$SED -n '/^abc/,/^xyz/p' stdout | wc -l\` -eq 4" +at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:210" +( $at_check_trace; test `$SED -n '/^abc/,/^xyz/p' stdout | wc -l` -eq 4 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:210" +$at_failed && at_fn_log_failure +$at_traceon; } + + arg1= +done + +# Check that .la files are not transformed by the wrapper searching loop. +{ set +x +$as_echo "$at_srcdir/execute-mode.at:215: \$LIBTOOL --mode=execute echo ./main\$EXEEXT liba.lo libfakelib.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute echo ./main$EXEEXT liba.lo libfakelib.la" "execute-mode.at:215" +( $at_check_trace; $LIBTOOL --mode=execute echo ./main$EXEEXT liba.lo libfakelib.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:215" +$at_failed && at_fn_log_failure +$at_traceon; } + +# This could be .libs/lt-main or similar (or just plain 'main'). +{ set +x +$as_echo "$at_srcdir/execute-mode.at:217: \$GREP main stdout" +at_fn_check_prepare_dynamic "$GREP main stdout" "execute-mode.at:217" +( $at_check_trace; $GREP main stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:217" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:218: \$GREP liba.lo stdout" +at_fn_check_prepare_dynamic "$GREP liba.lo stdout" "execute-mode.at:218" +( $at_check_trace; $GREP liba.lo stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:218" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/execute-mode.at:219: \$GREP libfakelib.la stdout" +at_fn_check_prepare_dynamic "$GREP libfakelib.la stdout" "execute-mode.at:219" +( $at_check_trace; $GREP libfakelib.la stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:219" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_81 +#AT_START_82 +at_fn_group_banner 82 'bindir.at:64' \ + "bindir basic lib test" " " 7 +at_xfail=no +( + $as_echo "82. $at_setup_line: testing $at_desc ..." + $at_traceon + + +bindirneeded=: +case $host_os in + cygwin*|mingw*|cegcc*) + ;; + *) + bindirneeded=false + ;; +esac + +#### +# These routines save the PATH before a test and restore it after, +# prepending a chosen directory to the path on the platforms where +# -bindir is needed after saving. +# + +func_save_and_prepend_path () +{ + save_PATH=$PATH + if $bindirneeded; then + PATH=$1$PATH_SEPARATOR$PATH + fi + export PATH +} + +func_restore_path () +{ + PATH=$save_PATH + export PATH +} + +cat >foo.c <<'_ATEOF' + +int x=11; +_ATEOF + + +cat >baz.c <<'_ATEOF' + +extern int x; +int baz (void); +int baz (void) { return x;} +_ATEOF + + +cat >bar.c <<'_ATEOF' + +extern int baz (void); +int y=3; +int bar (void); +int bar (void) { return y + baz ();} +_ATEOF + + +cat >main.c <<'_ATEOF' + +#include +extern int baz (void); +extern int bar (void); +int main() { +if (baz () + bar () - 25) abort (); +return 0; +} +_ATEOF + + + +curdir=`pwd` +eval "`$LIBTOOL --config | $GREP '^objdir='`" + +{ set +x +$as_echo "$at_srcdir/bindir.at:127: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o foo.lo \$CPPFLAGS \$CFLAGS foo.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c" "bindir.at:127" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:127" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/bindir.at:128: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o baz.lo \$CPPFLAGS \$CFLAGS baz.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c" "bindir.at:128" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/bindir.at:129: \$LIBTOOL --mode=link --tag=CC \$CC -no-undefined -o libfoo.la \$CPPFLAGS \$CFLAGS \$LDFLAGS foo.lo baz.lo -rpath \$curdir/\$objdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo baz.lo -rpath $curdir/$objdir" "bindir.at:129" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo baz.lo -rpath $curdir/$objdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:129" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/bindir.at:131: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o bar.lo \$CPPFLAGS \$CFLAGS bar.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c" "bindir.at:131" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:131" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/bindir.at:132: \$LIBTOOL --mode=link --tag=CC \$CC -no-undefined -o libbar.la \$CPPFLAGS \$CFLAGS \$LDFLAGS bar.lo libfoo.la -rpath \$curdir/\$objdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS bar.lo libfoo.la -rpath $curdir/$objdir" "bindir.at:132" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS bar.lo libfoo.la -rpath $curdir/$objdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:132" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/bindir.at:134: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o main.lo \$CPPFLAGS \$CFLAGS main.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c" "bindir.at:134" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:134" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/bindir.at:135: \$LIBTOOL --mode=link --tag=CC \$CC -o main\$EXEEXT \$CPPFLAGS \$CFLAGS \$LDFLAGS main.lo libbar.la libfoo.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libbar.la libfoo.la" "bindir.at:135" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libbar.la libfoo.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:135" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check both static and shared versions run. We don't install them +# here, that will be covered by the later tests; we've rpath'd things +# so that they can all be run in situ. + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/bindir.at:141: if \$LIBTOOL --mode=execute \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:141" +( $at_check_trace; if $LIBTOOL --mode=execute "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Ensure libraries can be found on PATH, if we are on one +# of the affected platforms, before testing the shared version. + +func_save_and_prepend_path "$curdir/$objdir" +$bindirneeded && { + lt_exe=$objdir/main; if test -f "$objdir/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/bindir.at:148: if \$LIBTOOL --mode=execute \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:148" +( $at_check_trace; if $LIBTOOL --mode=execute "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:148" +$at_failed && at_fn_log_failure +$at_traceon; } + + +} + +# In fact, prepending the PATH as above is superfluous on the windows +# platforms that this feature is primarily aimed at, as the DLL search +# path always includes the directory from which the app was launched. +# To make sure it still works even when not side-by-side, we'll install +# the main executable and execute it from there while the PATH still +# points to the shared libs in the .libs subdir. On other platforms, +# the rpaths we set at link time will guarantee it runs from the bindir. + +mkdir $curdir/bin +{ set +x +$as_echo "$at_srcdir/bindir.at:160: \$LIBTOOL --mode=install \$lt_INSTALL main\$EXEEXT \$curdir/bin/main\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/bin/main$EXEEXT" "bindir.at:160" +( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/bin/main$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:160" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=$curdir/bin/main$EXEEXT; if test -f "$curdir/bin/main$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/bindir.at:161: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:161" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:161" +$at_failed && at_fn_log_failure +$at_traceon; } + + +func_restore_path + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_82 +#AT_START_83 +at_fn_group_banner 83 'bindir.at:173' \ + "bindir install tests" " " 7 +at_xfail=no +( + $as_echo "83. $at_setup_line: testing $at_desc ..." + $at_traceon + + +bindirneeded=: +case $host_os in + cygwin*|mingw*|cegcc*) + ;; + *) + bindirneeded=false + ;; +esac + +eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`" +{ set +x +$as_echo "$at_srcdir/bindir.at:185: test yes = \"\$build_libtool_libs\" || exit 77" +at_fn_check_prepare_dynamic "test yes = \"$build_libtool_libs\" || exit 77" "bindir.at:185" +( $at_check_trace; test yes = "$build_libtool_libs" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + +#### +# These routines save the PATH before a test and restore it after, +# prepending a chosen directory to the path on the platforms where +# -bindir is needed after saving. +# + +func_save_and_prepend_path () +{ + save_PATH=$PATH + if $bindirneeded; then + PATH=$1$PATH_SEPARATOR$PATH + fi + export PATH +} + +func_restore_path () +{ + PATH=$save_PATH + export PATH +} + +cat >foo.c <<'_ATEOF' + +int x=11; +_ATEOF + + +cat >baz.c <<'_ATEOF' + +extern int x; +int baz (void); +int baz (void) { return x;} +_ATEOF + + +cat >bar.c <<'_ATEOF' + +extern int baz (void); +int y=3; +int bar (void); +int bar (void) { return y + baz ();} +_ATEOF + + +cat >main.c <<'_ATEOF' + +#include +extern int baz (void); +extern int bar (void); +int main() { +if (baz () + bar () - 25) abort (); +return 0; +} +_ATEOF + + +# We only need to compile once, but we'll need to relink for each different value +# of libdir in order to set the rpath, and we'll install for each combination of +# libdir and bindir. + +{ set +x +$as_echo "$at_srcdir/bindir.at:239: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o foo.lo \$CPPFLAGS \$CFLAGS foo.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c" "bindir.at:239" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:239" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/bindir.at:240: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o baz.lo \$CPPFLAGS \$CFLAGS baz.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c" "bindir.at:240" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:240" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/bindir.at:241: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o bar.lo \$CPPFLAGS \$CFLAGS bar.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c" "bindir.at:241" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:241" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/bindir.at:242: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o main.lo \$CPPFLAGS \$CFLAGS main.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c" "bindir.at:242" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:242" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Now try installing the libs. There are the following cases: +# No -bindir +# -bindir below lib install dir +# -bindir is lib install dir +# -bindir beside lib install dir +# -bindir above lib dir +# -bindir above and beside lib dir +# -bindir in entirely unrelated prefix. + +curdir=`pwd` +for libdir in \ + $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0 \ + $curdir/usr/lib/gcc/../gcc/.//i686-pc-cygwin/4.5.0/../../././//. \ + $curdir/usr/lib/ \ + $curdir/usr/lib \ + $curdir/baz \ + $curdir/baz/lib/; +do + + # Do a basic install with no -bindir option for reference. We use the sbin/ + # dir for the main exe to avoid the potential "this only works because it's + # side-by-side with the libs" default DLL search path problem mentioned above. + rm -rf $libdir $curdir/bin $curdir/sbin $curdir/baz $curdir/usr + as_dir=$libdir; as_fn_mkdir_p + as_dir=$curdir/sbin; as_fn_mkdir_p + { set +x +$as_echo "$at_srcdir/bindir.at:269: \$LIBTOOL --mode=link --tag=CC \$CC -no-undefined -o libfoo.la \$CPPFLAGS \$CFLAGS \$LDFLAGS foo.lo bar.lo baz.lo -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir" "bindir.at:269" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:269" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/bindir.at:270: \$LIBTOOL --mode=link --tag=CC \$CC -o main\$EXEEXT \$CPPFLAGS \$CFLAGS \$LDFLAGS main.lo libfoo.la -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la -rpath $libdir" "bindir.at:270" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:270" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/bindir.at:271: \$LIBTOOL --mode=install \$lt_INSTALL libfoo.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL libfoo.la $libdir" "bindir.at:271" +( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL libfoo.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:271" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/bindir.at:272: \$LIBTOOL --mode=install \$lt_INSTALL main\$EXEEXT \$curdir/sbin/main\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/sbin/main$EXEEXT" "bindir.at:272" +( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/sbin/main$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:272" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # And ensure it went where we expect. Could be looking for any of + # 'cygfoo-0.dll', 'libfoo-0.dll', 'foo-0.dll', or 'libfoo.so.0'. We'll + # simplify this check by taking advantage of the fact that if it's a DLL, + # it has to go in bindir, so we'll not check for both forms in libdir. + if $bindirneeded; then + { set +x +$as_echo "$at_srcdir/bindir.at:279: test -f \"\$libdir\"/../bin/???foo-0.dll || ls \"\$libdir\"/../bin/*foo*0*" +at_fn_check_prepare_dynamic "test -f \"$libdir\"/../bin/???foo-0.dll || ls \"$libdir\"/../bin/*foo*0*" "bindir.at:279" +( $at_check_trace; test -f "$libdir"/../bin/???foo-0.dll || ls "$libdir"/../bin/*foo*0* +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:279" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/bindir.at:281: ls \$libdir/*foo*" +at_fn_check_prepare_dynamic "ls $libdir/*foo*" "bindir.at:281" +( $at_check_trace; ls $libdir/*foo* +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:281" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + + # And that it can be executed. + func_save_and_prepend_path "$libdir/../bin" + lt_exe=$curdir/sbin/main$EXEEXT; if test -f "$curdir/sbin/main$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/bindir.at:286: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:286" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:286" +$at_failed && at_fn_log_failure +$at_traceon; } + + + func_restore_path + + for bindir in \ + $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0/bin/ \ + $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0/bin \ + $curdir/usr/lib/gcc/i686-pc-cygwin/bin \ + $curdir/usr/lib/bin \ + $curdir/usr/bin/ \ + $curdir/usr/bin \ + /tmp/foo/bar; + do + + # Clear any old stuff out before we install. Because bindir + # may be in /tmp, we have to take care to create it securely + # and not to delete and recreate it if we do. + rm -rf $libdir $curdir/bin $curdir/sbin $curdir/baz $curdir/usr + + tmp= + case $bindir in + /tmp*) + # Create a temporary directory $tmp in $TMPDIR (default /tmp). + # Use mktemp if possible; otherwise fall back on mkdir, + # with $RANDOM to make collisions less likely. + : ${TMPDIR=/tmp} + { + tmp=` + (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null + ` && + test -n "$tmp" && test -d "$tmp" + } || { + tmp=$TMPDIR/foo$$-$RANDOM + (umask 077 && mkdir "$tmp") + } || { set +x +$as_echo "$at_srcdir/bindir.at:319: exit 77" +at_fn_check_prepare_trace "bindir.at:319" +( $at_check_trace; exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:319" +$at_failed && at_fn_log_failure +$at_traceon; } + + bindir=$tmp/bar + ;; + *) + # Clear any old stuff out before we install. + rm -rf $bindir + as_dir=$bindir; as_fn_mkdir_p + ;; + esac + + # Relink with new rpaths. + { set +x +$as_echo "$at_srcdir/bindir.at:330: \$LIBTOOL --mode=link --tag=CC \$CC -no-undefined -bindir \$bindir -o libfoo.la \$CPPFLAGS \$CFLAGS \$LDFLAGS foo.lo bar.lo baz.lo -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -no-undefined -bindir $bindir -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir" "bindir.at:330" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -no-undefined -bindir $bindir -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:330" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/bindir.at:331: \$LIBTOOL --mode=link --tag=CC \$CC -o main\$EXEEXT \$CPPFLAGS \$CFLAGS \$LDFLAGS main.lo libfoo.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la" "bindir.at:331" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:331" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Recreate directories (bindir already done) and install. + as_dir=$libdir; as_fn_mkdir_p + as_dir=$curdir/sbin; as_fn_mkdir_p + { set +x +$as_echo "$at_srcdir/bindir.at:336: \$LIBTOOL --mode=install \$lt_INSTALL libfoo.la \"\$libdir\"" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL libfoo.la \"$libdir\"" "bindir.at:336" +( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL libfoo.la "$libdir" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:336" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/bindir.at:337: \$LIBTOOL --mode=install \$lt_INSTALL main\$EXEEXT \"\$curdir/sbin/main\$EXEEXT\"" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT \"$curdir/sbin/main$EXEEXT\"" "bindir.at:337" +( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL main$EXEEXT "$curdir/sbin/main$EXEEXT" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:337" +$at_failed && at_fn_log_failure +$at_traceon; } + + + # Ensure it went to bindir rather than default dir this time. + if $bindirneeded; then + { set +x +$as_echo "$at_srcdir/bindir.at:341: test -f \"\$bindir\"/???foo-0.dll || ls \"\$bindir\"/*foo*0*" +at_fn_check_prepare_dynamic "test -f \"$bindir\"/???foo-0.dll || ls \"$bindir\"/*foo*0*" "bindir.at:341" +( $at_check_trace; test -f "$bindir"/???foo-0.dll || ls "$bindir"/*foo*0* +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + { set +x +$as_echo "$at_srcdir/bindir.at:343: ls \"\$libdir\"/*foo*" +at_fn_check_prepare_dynamic "ls \"$libdir\"/*foo*" "bindir.at:343" +( $at_check_trace; ls "$libdir"/*foo* +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi + + # And that it can be executed. + func_save_and_prepend_path "$bindir" + lt_exe=$curdir/sbin/main$EXEEXT; if test -f "$curdir/sbin/main$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/bindir.at:348: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:348" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:348" +$at_failed && at_fn_log_failure +$at_traceon; } + + + func_restore_path + + # Clean up if we made a temp dir. Subdirs under our testdir get rm'd + # and recreated at the top of the loop. Securely created subdirs under + # /tmp get created precisely once and rm'd when we're done with them. + if test ! -z "$tmp"; then + rm -rf "$tmp" + fi + + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_83 +#AT_START_84 +at_fn_group_banner 84 'cwrapper.at:25' \ + "cwrapper for uninstalled executables" " " 7 +at_xfail=no +( + $as_echo "84. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# make sure existing libtool is configured for shared libraries +{ set +x +$as_echo "$at_srcdir/cwrapper.at:29: \$LIBTOOL --features | \$GREP 'disable shared libraries' && exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "cwrapper.at:29" +( $at_check_trace; $LIBTOOL --features | $GREP 'disable shared libraries' && exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/cwrapper.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >trivial.c <<'_ATEOF' + +int main (void) +{ + return 0; +} +_ATEOF + +cat >liba.c <<'_ATEOF' +int liba_func1 (int arg) +{ + return arg + 1; +} +_ATEOF + +cat >usea.c <<'_ATEOF' +extern int liba_func1 (int arg); +int main (void) +{ + int a = 2; + int b = liba_func1 (a); + if (b == 3) return 0; + return 1; +} +_ATEOF + + +orig_CFLAGS=$CFLAGS +orig_LIBTOOL=$LIBTOOL +for restrictive_flags in '-Wall -Werror' '-std=c89 -Wall -Werror' '-std=c99 -Wall -Werror'; do + CFLAGS="$orig_CFLAGS $restrictive_flags" + $SED "s/LTCFLAGS=.*/&' $restrictive_flags'/" < "$orig_LIBTOOL" > ./libtool + chmod +x libtool + LIBTOOL=./libtool + + # Make sure $restrictive_flags do not cause a failure + # themselves (e.g. because a non-gcc compiler doesn't + # understand them). Tru64 cc only fails when linking. + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS trivial.c || continue + + { set +x +$as_echo "$at_srcdir/cwrapper.at:69: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "cwrapper.at:69" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cwrapper.at:71: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -version-info=0.0.0 -no-undefined -o liba.la -rpath /foo liba.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -no-undefined -o liba.la -rpath /foo liba.lo" "cwrapper.at:71" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -no-undefined -o liba.la -rpath /foo liba.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cwrapper.at:73: test -f liba.la" +at_fn_check_prepare_trace "cwrapper.at:73" +( $at_check_trace; test -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:73" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/cwrapper.at:75: \$CC \$CPPFLAGS \$CFLAGS -c usea.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:75" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c usea.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:75" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cwrapper.at:77: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o usea\$EXEEXT usea.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la" "cwrapper.at:77" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:77" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./usea; if test -f "./usea$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cwrapper.at:79: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:79" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + + +# Test run-time activation of wrapper debugging. +# This is not part of the loop above, because we +# need to check, not ignore, the output. +CFLAGS=$orig_CFLAGS +LIBTOOL=$orig_LIBTOOL + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:89: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "cwrapper.at:89" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:89" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:91: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" "cwrapper.at:91" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:93: test -f liba.la" +at_fn_check_prepare_trace "cwrapper.at:93" +( $at_check_trace; test -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:93" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:95: \$CC \$CPPFLAGS \$CFLAGS -c usea.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:95" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c usea.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:95" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:97: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o usea\$EXEEXT usea.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la" "cwrapper.at:97" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:97" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./usea; if test -f "./usea$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cwrapper.at:99: if \"\$lt_exe\" --lt-debug; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" --lt-debug; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:99" +( $at_check_trace; if "$lt_exe" --lt-debug; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:99" +$at_failed && at_fn_log_failure +$at_traceon; } + + +case $host_os in + mingw*) + tr -d '\015' < stderr > stderr.t + mv -f stderr.t stderr ;; +esac +{ set +x +$as_echo "$at_srcdir/cwrapper.at:101: \$GREP 'libtool wrapper' stderr" +at_fn_check_prepare_dynamic "$GREP 'libtool wrapper' stderr" "cwrapper.at:101" +( $at_check_trace; $GREP 'libtool wrapper' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:101" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Test compile-time activation of wrapper debugging. +# We structure this test as a loop, so that we can 'break' out of it +# if necessary -- even though the loop by design executes only once. +for debugwrapper_flags in '-DLT_DEBUGWRAPPER'; do + CFLAGS="$orig_CFLAGS $debugwrapper_flags" + $SED -e "s/LTCFLAGS=.*/&' $debugwrapper_flags'/" \ + -e "s/^lt_option_debug=/lt_option_debug=1/" \ + < "$orig_LIBTOOL" > ./libtool + LIBTOOL=./libtool + + # Make sure $debugwrapper_flags do not cause a failure + # themselves (e.g. because a non-gcc compiler doesn't + # understand them). Tru64 cc only fails when linking. + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS trivial.c || continue + + { set +x +$as_echo "$at_srcdir/cwrapper.at:119: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "cwrapper.at:119" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:119" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cwrapper.at:121: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" "cwrapper.at:121" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:121" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cwrapper.at:123: test -f liba.la" +at_fn_check_prepare_trace "cwrapper.at:123" +( $at_check_trace; test -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:123" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/cwrapper.at:125: \$CC \$CPPFLAGS \$CFLAGS -c usea.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:125" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c usea.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:125" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/cwrapper.at:127: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o usea\$EXEEXT usea.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la" "cwrapper.at:127" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:127" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./usea; if test -f "./usea$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cwrapper.at:129: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:129" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:129" +$at_failed && at_fn_log_failure +$at_traceon; } + + + case $host_os in + mingw*) + tr -d '\015' < stderr > stderr.t + mv -f stderr.t stderr ;; +esac + { set +x +$as_echo "$at_srcdir/cwrapper.at:131: \$GREP 'libtool wrapper' stderr" +at_fn_check_prepare_dynamic "$GREP 'libtool wrapper' stderr" "cwrapper.at:131" +( $at_check_trace; $GREP 'libtool wrapper' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:131" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_84 +#AT_START_85 +at_fn_group_banner 85 'cwrapper.at:138' \ + "cwrapper string length" " " 7 +at_xfail=no +( + $as_echo "85. $at_setup_line: testing $at_desc ..." + $at_traceon + + +eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" + +cat >liba.c <<'_ATEOF' +int liba_func1 (int arg) +{ + return arg + 1; +} +_ATEOF + +cat >usea.c <<'_ATEOF' +extern int liba_func1 (int arg); +int main (void) +{ + int a = 2; + int b = liba_func1 (a); + if (b == 3) return 0; + return 1; +} +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:159: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "cwrapper.at:159" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:159" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:161: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" "cwrapper.at:161" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:161" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:164: \$CC \$CPPFLAGS \$CFLAGS -c usea.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:164" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c usea.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:164" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Make sure PATH is at least 250 chars, which should force line breaks +# in lt-usea.c. + +dirpath= +save_IFS=$IFS +IFS=$PATH_SEPARATOR +for dirpath in $PATH; do + IFS=$save_IFS + break +done +IFS=$save_IFS + +until $ECHO "PATH=$PATH" | $GREP 'PATH=.\{250\}'; do + PATH=$PATH$PATH_SEPARATOR$dirpath +done +export PATH + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:185: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -no-fast-install -o usea\$EXEEXT usea.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-fast-install -o usea$EXEEXT usea.$OBJEXT liba.la" "cwrapper.at:185" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-fast-install -o usea$EXEEXT usea.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:185" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Skip if no cwrapper is generated. +{ set +x +$as_echo "$at_srcdir/cwrapper.at:190: test -f \"\$objdir/lt-usea.c\" || exit 77" +at_fn_check_prepare_dynamic "test -f \"$objdir/lt-usea.c\" || exit 77" "cwrapper.at:190" +( $at_check_trace; test -f "$objdir/lt-usea.c" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:190" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Try to make sure the test is relevant. +{ set +x +$as_echo "$at_srcdir/cwrapper.at:193: \$GREP ' *fputs' \$objdir/lt-usea.c > /dev/null" +at_fn_check_prepare_dynamic "$GREP ' *fputs' $objdir/lt-usea.c > /dev/null" "cwrapper.at:193" +( $at_check_trace; $GREP ' *fputs' $objdir/lt-usea.c > /dev/null +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:193" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Check for no overly long fputs. +{ set +x +$as_echo "$at_srcdir/cwrapper.at:195: \$GREP ' *fputs.\\{250\\}' \$objdir/lt-usea.c" +at_fn_check_prepare_dynamic "$GREP ' *fputs.\\{250\\}' $objdir/lt-usea.c" "cwrapper.at:195" +( $at_check_trace; $GREP ' *fputs.\{250\}' $objdir/lt-usea.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/cwrapper.at:195" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_85 +#AT_START_86 +at_fn_group_banner 86 'cwrapper.at:201' \ + "cwrapper and installed shared libraries" " " 7 +at_xfail=no +( + $as_echo "86. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# make sure existing libtool is configured for shared libraries +{ set +x +$as_echo "$at_srcdir/cwrapper.at:205: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "cwrapper.at:205" +( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +LDFLAGS="$LDFLAGS -no-undefined" + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +mkdir $inst $libdir $bindir + +# Build the library in a separate directory to avoid the special case +# of loading from the current directory. + +mkdir foo +cd foo +# build and install "old" library version +cat >a.c <<'_ATEOF' + +int liba_ver (void) { return 1; } +_ATEOF + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:224: \$LIBTOOL --mode=compile --tag=CC \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c" "cwrapper.at:224" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:224" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:226: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -version-info=0.0.0 -o liba.la -rpath \$libdir a.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo" "cwrapper.at:226" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:226" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:228: \$LIBTOOL --mode=install \$lt_INSTALL liba.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL liba.la $libdir" "cwrapper.at:228" +( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL liba.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# build a new library version +cat >a.c <<'_ATEOF' + +int liba_ver (void) { return 2; } +_ATEOF + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:235: \$LIBTOOL --mode=compile --tag=CC \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c" "cwrapper.at:235" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:235" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:237: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -version-info=0.0.0 -o liba.la -rpath \$libdir a.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo" "cwrapper.at:237" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:237" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cd .. + +# build and run test application +cat >m.c <<'_ATEOF' + +extern int liba_ver (void); +int main (void) +{ + int r = (liba_ver () == 2) ? 0 : 1; + return r; +} +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:252: \$CC \$CPPFLAGS \$CFLAGS -c m.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c m.c" "cwrapper.at:252" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c m.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:252" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:254: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m1\$EXEEXT m.\$OBJEXT foo/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT foo/liba.la" "cwrapper.at:254" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT foo/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:254" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./m1; if test -f "./m1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cwrapper.at:256: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:256" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:256" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +$as_echo "$at_srcdir/cwrapper.at:258: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m2\$EXEEXT m.\$OBJEXT foo/liba.la -L\$inst/lib" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT foo/liba.la -L$inst/lib" "cwrapper.at:258" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT foo/liba.la -L$inst/lib +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:258" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./m2; if test -f "./m2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/cwrapper.at:260: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:260" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:260" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_86 +#AT_START_87 +at_fn_group_banner 87 'deplib-in-subdir.at:34' \ + "deplib in subdir" " " 7 +at_xfail=no +( + $as_echo "87. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >a1.c <<'_ATEOF' +int a1 () { return 0; } +_ATEOF + +cat >a2.c <<'_ATEOF' +int a2 () { return 0; } +_ATEOF + +cat >a3.c <<'_ATEOF' +int a3 () { return 0; } +_ATEOF + +cat >b1.c <<'_ATEOF' +extern int a1 (); +int b1 () { return a1 (); } +_ATEOF + +cat >b2.c <<'_ATEOF' +extern int a2 (); +int b2 () { return a2 (); } +_ATEOF + +cat >b3.c <<'_ATEOF' +extern int a3 (); +int b3 () { return a3 (); } +_ATEOF + +cat >m.c <<'_ATEOF' +extern int b1 (); +extern int b2 (); +extern int b3 (); +int main () { return b1 () + b2 () + b3 (); } +_ATEOF + + +cwd=`pwd` +instdir=$cwd/inst +lib1dir=$instdir/lib1 +lib2dir=$instdir/lib2 +bindir=$instdir/bin +addrunpath=$cwd/foobar +LDFLAGS="$LDFLAGS -no-undefined" + +flags='-export-symbols-regex ".*"' + +mkdir -p sub1 sub2/subsub sub3/subsub $instdir $lib1dir $lib2dir $bindir + +for file in a1.c a2.c a3.c b1.c b2.c b3.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +$CC $CPPFLAGS $CFLAGS -c m.c +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:81: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub1/liba1.la a1.lo -rpath \$lib1dir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba1.la a1.lo -rpath $lib1dir" "deplib-in-subdir.at:81" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba1.la a1.lo -rpath $lib1dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:81" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:83: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub1/liba2.la a2.lo -rpath \$lib1dir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba2.la a2.lo -rpath $lib1dir" "deplib-in-subdir.at:83" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba2.la a2.lo -rpath $lib1dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:83" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:85: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub1/liba3.la a3.lo -rpath \$lib1dir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba3.la a3.lo -rpath $lib1dir" "deplib-in-subdir.at:85" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba3.la a3.lo -rpath $lib1dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:85" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:88: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub2/subsub/libb1.la b1.lo -rpath \$lib2dir sub1/liba1.la' \"\$flags\"" +at_fn_check_prepare_dynamic "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub2/subsub/libb1.la b1.lo -rpath $lib2dir sub1/liba1.la' \"$flags\"" "deplib-in-subdir.at:88" +( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub2/subsub/libb1.la b1.lo -rpath $lib2dir sub1/liba1.la' "$flags" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd sub2 +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:92: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o subsub/libb2.la ../b2.lo -rpath \$lib2dir ../sub1/liba2.la' \"\$flags\"" +at_fn_check_prepare_dynamic "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/libb2.la ../b2.lo -rpath $lib2dir ../sub1/liba2.la' \"$flags\"" "deplib-in-subdir.at:92" +( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/libb2.la ../b2.lo -rpath $lib2dir ../sub1/liba2.la' "$flags" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd subsub +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:96: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb3.la ../../b3.lo -rpath \$lib2dir ../../sub1/liba3.la' \"\$flags\"" +at_fn_check_prepare_dynamic "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb3.la ../../b3.lo -rpath $lib2dir ../../sub1/liba3.la' \"$flags\"" "deplib-in-subdir.at:96" +( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb3.la ../../b3.lo -rpath $lib2dir ../../sub1/liba3.la' "$flags" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd ../.. +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:100: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub3/subsub/m1\$EXEEXT m.\$OBJEXT sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub3/subsub/m1$EXEEXT m.$OBJEXT sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la" "deplib-in-subdir.at:100" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub3/subsub/m1$EXEEXT m.$OBJEXT sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:100" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd sub3 +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:104: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o subsub/m2\$EXEEXT ../m.\$OBJEXT ../sub2/subsub/libb1.la ../sub2/subsub/libb2.la ../sub2/subsub/libb3.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/m2$EXEEXT ../m.$OBJEXT ../sub2/subsub/libb1.la ../sub2/subsub/libb2.la ../sub2/subsub/libb3.la" "deplib-in-subdir.at:104" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/m2$EXEEXT ../m.$OBJEXT ../sub2/subsub/libb1.la ../sub2/subsub/libb2.la ../sub2/subsub/libb3.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:104" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd subsub +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:108: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m3\$EXEEXT ../../m.\$OBJEXT ../../sub2/subsub/libb1.la ../../sub2/subsub/libb2.la ../../sub2/subsub/libb3.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT ../../m.$OBJEXT ../../sub2/subsub/libb1.la ../../sub2/subsub/libb2.la ../../sub2/subsub/libb3.la" "deplib-in-subdir.at:108" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT ../../m.$OBJEXT ../../sub2/subsub/libb1.la ../../sub2/subsub/libb2.la ../../sub2/subsub/libb3.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:108" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd ../.. + +for i in 1 2 3; do + lt_exe=./sub3/subsub/m$i; if test -f "./sub3/subsub/m$i$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:114: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:114" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + + + cd sub3 + lt_exe=./subsub/m$i; if test -f "./subsub/m$i$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:116: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:116" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:116" +$at_failed && at_fn_log_failure +$at_traceon; } + + + cd subsub + lt_exe=./m$i; if test -f "./m$i$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:118: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:118" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:118" +$at_failed && at_fn_log_failure +$at_traceon; } + + + cd ../.. +done + +for i in 1 2 3; do + { set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:123: \$LIBTOOL --mode=install cp sub1/liba\$i.la \$lib1dir/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp sub1/liba$i.la $lib1dir/liba.la" "deplib-in-subdir.at:123" +( $at_check_trace; $LIBTOOL --mode=install cp sub1/liba$i.la $lib1dir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:123" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:126: \$LIBTOOL --mode=install cp sub2/subsub/libb1.la \$lib2dir/libb1.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp sub2/subsub/libb1.la $lib2dir/libb1.la" "deplib-in-subdir.at:126" +( $at_check_trace; $LIBTOOL --mode=install cp sub2/subsub/libb1.la $lib2dir/libb1.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:126" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd sub2 +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:128: \$LIBTOOL --mode=install cp subsub/libb2.la \$lib2dir/libb2.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp subsub/libb2.la $lib2dir/libb2.la" "deplib-in-subdir.at:128" +( $at_check_trace; $LIBTOOL --mode=install cp subsub/libb2.la $lib2dir/libb2.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd subsub +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:130: \$LIBTOOL --mode=install cp libb3.la \$lib2dir/libb3.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libb3.la $lib2dir/libb3.la" "deplib-in-subdir.at:130" +( $at_check_trace; $LIBTOOL --mode=install cp libb3.la $lib2dir/libb3.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:130" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd ../.. + +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:133: \$LIBTOOL --mode=install cp sub3/subsub/m1\$EXEEXT \$bindir/m1\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp sub3/subsub/m1$EXEEXT $bindir/m1$EXEEXT" "deplib-in-subdir.at:133" +( $at_check_trace; $LIBTOOL --mode=install cp sub3/subsub/m1$EXEEXT $bindir/m1$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:133" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd sub3 +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:135: \$LIBTOOL --mode=install cp subsub/m2\$EXEEXT \$bindir/m2\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp subsub/m2$EXEEXT $bindir/m2$EXEEXT" "deplib-in-subdir.at:135" +( $at_check_trace; $LIBTOOL --mode=install cp subsub/m2$EXEEXT $bindir/m2$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:135" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd subsub +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:137: \$LIBTOOL --mode=install cp m3\$EXEEXT \$bindir/m3\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m3$EXEEXT $bindir/m3$EXEEXT" "deplib-in-subdir.at:137" +( $at_check_trace; $LIBTOOL --mode=install cp m3$EXEEXT $bindir/m3$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:137" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd ../.. + +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:140: \$LIBTOOL --mode=clean rm -f sub1/liba1.la sub1/liba2.la sub1/liba3.la sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la sub3/subsub/m1\$EXEEXT sub3/subsub/m2\$EXEEXT sub3/subsub/m3\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f sub1/liba1.la sub1/liba2.la sub1/liba3.la sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la sub3/subsub/m1$EXEEXT sub3/subsub/m2$EXEEXT sub3/subsub/m3$EXEEXT" "deplib-in-subdir.at:140" +( $at_check_trace; $LIBTOOL --mode=clean rm -f sub1/liba1.la sub1/liba2.la sub1/liba3.la sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la sub3/subsub/m1$EXEEXT sub3/subsub/m2$EXEEXT sub3/subsub/m3$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for i in 1 2 3; do + lt_exe=$bindir/m$i$EXEEXT; if test -f "$bindir/m$i$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:146: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:146" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:146" +$at_failed && at_fn_log_failure +$at_traceon; } + + + cd $bindir + lt_exe=./m$i$EXEEXT; if test -f "./m$i$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:148: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:148" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:148" +$at_failed && at_fn_log_failure +$at_traceon; } + + + cd $cwd +done + +PATH=$bindir${PATH_SEPARATOR-:}$PATH +for i in 1 2 3; do + lt_exe=m$i$EXEEXT; if test -f "m$i$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/deplib-in-subdir.at:154: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:154" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:154" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_87 +#AT_START_88 +at_fn_group_banner 88 'infer-tag.at:31' \ + "inferred tag" " " 7 +at_xfail=no +( + $as_echo "88. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >a.c <<'_ATEOF' +int a (void) { return 0; } +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:38: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "infer-tag.at:38" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:38" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_88 +#AT_START_89 +at_fn_group_banner 89 'infer-tag.at:43' \ + "CXX inferred tag" " " 7 +at_xfail=no +( + $as_echo "89. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:44: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "infer-tag.at:44" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:44" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:44: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "infer-tag.at:44" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:44" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >a.cpp <<'_ATEOF' +int a (void) { return 0; } +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:51: \$LIBTOOL --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS -c a.cpp" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c a.cpp" "infer-tag.at:51" +( $at_check_trace; $LIBTOOL --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c a.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_89 +#AT_START_90 +at_fn_group_banner 90 'infer-tag.at:56' \ + "F77 inferred tag" " " 7 +at_xfail=no +( + $as_echo "90. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:57: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "infer-tag.at:57" +( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:57" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >a.f <<'_ATEOF' + program main + end +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:65: \$LIBTOOL --mode=compile \$F77 \$FFLAGS -c a.f" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $F77 $FFLAGS -c a.f" "infer-tag.at:65" +( $at_check_trace; $LIBTOOL --mode=compile $F77 $FFLAGS -c a.f +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_90 +#AT_START_91 +at_fn_group_banner 91 'infer-tag.at:70' \ + "FC inferred tag" " " 7 +at_xfail=no +( + $as_echo "91. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:71: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "infer-tag.at:71" +( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Autoconf will accept f77 or similar as a valid FC, but often f77 + # will not compile fortran90 code; in that case skip the FC checks. + cat >fc_test.f90 <<'_ATEOF' + program main + + end +_ATEOF + + { set +x +$as_echo "$at_srcdir/infer-tag.at:71: \$FC \$FCFLAGS fc_test.f90 || exit 77" +at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "infer-tag.at:71" +( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >a.f <<'_ATEOF' + program main + end +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:79: \$LIBTOOL --mode=compile \$FC \$FCFLAGS -c a.f" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $FC $FCFLAGS -c a.f" "infer-tag.at:79" +( $at_check_trace; $LIBTOOL --mode=compile $FC $FCFLAGS -c a.f +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_91 +#AT_START_92 +at_fn_group_banner 92 'infer-tag.at:84' \ + "GCJ inferred tag" " " 7 +at_xfail=no +( + $as_echo "92. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:85: { test -n \"\$GCJ\" && test \"X\$GCJ\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$GCJ\" && test \"X$GCJ\" != Xno; } || (exit 77)" "infer-tag.at:85" +( $at_check_trace; { test -n "$GCJ" && test "X$GCJ" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:85" +$at_failed && at_fn_log_failure +$at_traceon; } + +# There are just too many broken gcj installations out there, either missing + # libgcj.spec or unable to find it. Skip the test for them. + cat >gcj_test.java <<'_ATEOF' +public class gcj_test { + public static void main(String[] argv) { } + } +_ATEOF + + { set +x +$as_echo "$at_srcdir/infer-tag.at:85: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77" +at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "infer-tag.at:85" +( $at_check_trace; $GCJ $GCJFLAGS -c gcj_test.java || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:85" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >A.java <<'_ATEOF' +public class A { + private int a; + public A () { a = 0; } +}; +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/infer-tag.at:95: \$LIBTOOL --mode=compile \$GCJ \$GCJCFLAGS -c A.java" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $GCJ $GCJCFLAGS -c A.java" "infer-tag.at:95" +( $at_check_trace; $LIBTOOL --mode=compile $GCJ $GCJCFLAGS -c A.java +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:95" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_92 +#AT_START_93 +at_fn_group_banner 93 'localization.at:24' \ + "localized compiler messages" " " 7 +at_xfail=no +( + $as_echo "93. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Let's try German locale. :-) + + +cat >a.c <<'_ATEOF' +int x[-1]; +_ATEOF + +cat >b.c <<'_ATEOF' +int y; +_ATEOF + + +# First see if setting a locale is accepted at all. +{ set +x +$as_echo "$at_srcdir/localization.at:39: (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE \$CC \$CPPFLAGS \$CFLAGS -c b.c) || exit 77" +at_fn_check_prepare_dynamic "(LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $CC $CPPFLAGS $CFLAGS -c b.c) || exit 77" "localization.at:39" +( $at_check_trace; (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $CC $CPPFLAGS $CFLAGS -c b.c) || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/localization.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Find out about expected output. +{ set +x +$as_echo "$at_srcdir/localization.at:43: (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE \$CC \$CPPFLAGS \$CFLAGS -c a.c) || exit 1" +at_fn_check_prepare_dynamic "(LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1" "localization.at:43" +( $at_check_trace; (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/localization.at:43" +$at_failed && at_fn_log_failure +$at_traceon; } + +_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` +$SED "/^distcc\[[0-9]*\]/d + /^$_ltbase: compile/d + s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < stdout > stdout.t +case $host_os in + mingw*) + tr -d '\015' < stdout.t > expected-stdout ;; + *) + cp stdout.t expected-stdout ;; +esac +_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` +$SED "/^distcc\[[0-9]*\]/d + /^$_ltbase: compile/d + s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < stderr > stderr.t +case $host_os in + mingw*) + tr -d '\015' < stderr.t > expected-stderr ;; + *) + cp stderr.t expected-stderr ;; +esac +{ set +x +$as_echo "$at_srcdir/localization.at:47: (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE \$LIBTOOL --mode=compile --tag=CC \$CC \$CPPFLAGS \$CFLAGS -c a.c) || exit 1" +at_fn_check_prepare_dynamic "(LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1" "localization.at:47" +( $at_check_trace; (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/localization.at:47" +$at_failed && at_fn_log_failure +$at_traceon; } + +_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` +$SED "/^distcc\[[0-9]*\]/d + /^$_ltbase: compile/d + s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < stdout > stdout.t +case $host_os in + mingw*) + tr -d '\015' < stdout.t > libtool-stdout ;; + *) + cp stdout.t libtool-stdout ;; +esac +_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` +$SED "/^distcc\[[0-9]*\]/d + /^$_ltbase: compile/d + s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < stderr > stderr.t +case $host_os in + mingw*) + tr -d '\015' < stderr.t > libtool-stderr ;; + *) + cp stderr.t libtool-stderr ;; +esac +# Avoid these errors: +# GNU/Linux: +# /bin/sh: warning: setlocale: LC_ALL: cannot change locale (de_DE) +# HP-UX: +# Warning! One or more of your selected locales are not available. +# Please invoke the commands "locale" and "locale -a" to verify your +# selections and the available locales. +# +# Continuing processing using the "C" locale. +{ set +x +$as_echo "$at_srcdir/localization.at:60: \$GREP locale stdout stderr && exit 77" +at_fn_check_prepare_dynamic "$GREP locale stdout stderr && exit 77" "localization.at:60" +( $at_check_trace; $GREP locale stdout stderr && exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/localization.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/localization.at:61: diff expected-stderr libtool-stderr" +at_fn_check_prepare_trace "localization.at:61" +( $at_check_trace; diff expected-stderr libtool-stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/localization.at:61" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/localization.at:62: diff expected-stdout libtool-stdout" +at_fn_check_prepare_trace "localization.at:62" +( $at_check_trace; diff expected-stdout libtool-stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/localization.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# check that we get our quoting right. + +{ set +x +$as_echo "$at_srcdir/localization.at:67: (LANGUAGE='a; nosuchprogram \" '\\'' & \$x /#+*(){}|,:\`\\ !%' \$LIBTOOL --mode=compile --tag=CC \$CC \$CPPFLAGS \$CFLAGS -c b.c)" +at_fn_check_prepare_notrace 'a `...` command substitution' "localization.at:67" +( $at_check_trace; (LANGUAGE='a; nosuchprogram " '\'' & $x /#+*(){}|,:`\ !%' $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b.c) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/localization.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/localization.at:69: \$GREP nosuchprogram stdout stderr" +at_fn_check_prepare_dynamic "$GREP nosuchprogram stdout stderr" "localization.at:69" +( $at_check_trace; $GREP nosuchprogram stdout stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/localization.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_93 +#AT_START_94 +at_fn_group_banner 94 'nocase.at:26' \ + "nocase library search" " " 7 +at_xfail=no +( + $as_echo "94. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +eval `$LIBTOOL --config | $EGREP '^(want_nocaseglob|file_magic_glob)='` + +{ set +x +$as_echo "$at_srcdir/nocase.at:31: test yes != \"\$want_nocaseglob\" && test -z \"\$file_magic_glob\" && exit 77" +at_fn_check_prepare_dynamic "test yes != \"$want_nocaseglob\" && test -z \"$file_magic_glob\" && exit 77" "nocase.at:31" +( $at_check_trace; test yes != "$want_nocaseglob" && test -z "$file_magic_glob" && exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/nocase.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + +mkdir foo +cat >foo/Foo.c <<'_ATEOF' + +int Foo (void) { return 1; } +_ATEOF + + +mkdir bar +cat >bar/bar.c <<'_ATEOF' + +extern int Foo (void); +int bar (void) { return Foo (); } +_ATEOF + + +cat >main.c <<'_ATEOF' + +extern int bar (void); +int main (void) { return bar (); } +_ATEOF + + +libdir=`pwd`/inst/lib +mkdir inst inst/bin inst/lib + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo/Foo.lo foo/Foo.c +{ set +x +$as_echo "$at_srcdir/nocase.at:58: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o foo/libFoo.la foo/Foo.lo -no-undefined -version-info 1:0:0 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o foo/libFoo.la foo/Foo.lo -no-undefined -version-info 1:0:0 -rpath $libdir" "nocase.at:58" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o foo/libFoo.la foo/Foo.lo -no-undefined -version-info 1:0:0 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:58" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/nocase.at:61: \$LIBTOOL --mode=install cp foo/libFoo.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp foo/libFoo.la $libdir" "nocase.at:61" +( $at_check_trace; $LIBTOOL --mode=install cp foo/libFoo.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:61" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/nocase.at:63: \$LIBTOOL --mode=clean rm -f foo/libFoo.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f foo/libFoo.la" "nocase.at:63" +( $at_check_trace; $LIBTOOL --mode=clean rm -f foo/libFoo.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:63" +$at_failed && at_fn_log_failure +$at_traceon; } + + +rm -f $libdir/libFoo.la + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar/bar.lo bar/bar.c +{ set +x +$as_echo "$at_srcdir/nocase.at:69: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o bar/libbar.la bar/bar.lo -L\$libdir -lfoo -no-undefined -version-info 1:0:0 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o bar/libbar.la bar/bar.lo -L$libdir -lfoo -no-undefined -version-info 1:0:0 -rpath $libdir" "nocase.at:69" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o bar/libbar.la bar/bar.lo -L$libdir -lfoo -no-undefined -version-info 1:0:0 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/nocase.at:72: \$LIBTOOL --mode=install cp bar/libbar.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp bar/libbar.la $libdir" "nocase.at:72" +( $at_check_trace; $LIBTOOL --mode=install cp bar/libbar.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:72" +$at_failed && at_fn_log_failure +$at_traceon; } + + +str=`$EGREP '^(old_library)=' < $libdir/libbar.la` +eval "$str" +libbar=$old_library +rm -f $libdir/$libbar + +$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.$OBJEXT main.c + +{ set +x +$as_echo "$at_srcdir/nocase.at:82: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -L\$libdir -lbar" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$libdir -lbar" "nocase.at:82" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$libdir -lbar +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:82" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_94 +#AT_START_95 +at_fn_group_banner 95 'install.at:26' \ + "Install tests" " " 7 +at_xfail=no +( + $as_echo "95. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Ensure that install_override_mode overrides the mode of the shared +# library (and only the shared library). + +{ set +x +$as_echo "$at_srcdir/install.at:32: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "install.at:32" +( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/install.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + +$SED 's|^\(install_override_mode\)=.*|\1=755|' < $LIBTOOL > ./libtool +LIBTOOL=./libtool +chmod a+rx $LIBTOOL + +inst=`pwd`/inst +mkdir inst + +echo 'int a () { return 0; }' > a.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +{ set +x +$as_echo "$at_srcdir/install.at:43: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -rpath \$inst -no-undefined" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $inst -no-undefined" "install.at:43" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $inst -no-undefined +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/install.at:43" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/install.at:45: \$LIBTOOL --mode=install \$lt_INSTALL liba.la \$inst" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL liba.la $inst" "install.at:45" +( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL liba.la $inst +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/install.at:45" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/install.at:47: \$GREP ' -m 755' stdout" +at_fn_check_prepare_dynamic "$GREP ' -m 755' stdout" "install.at:47" +( $at_check_trace; $GREP ' -m 755' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/install.at:47" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/install.at:48: \$LIBTOOL --mode=install \$lt_INSTALL -m 644 liba.la \$inst" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL -m 644 liba.la $inst" "install.at:48" +( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL -m 644 liba.la $inst +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/install.at:48" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/install.at:50: \$GREP ' -m 755' stdout" +at_fn_check_prepare_dynamic "$GREP ' -m 755' stdout" "install.at:50" +( $at_check_trace; $GREP ' -m 755' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/install.at:50" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/install.at:51: \$GREP ' -m 644.*liba.la' stdout" +at_fn_check_prepare_dynamic "$GREP ' -m 644.*liba.la' stdout" "install.at:51" +( $at_check_trace; $GREP ' -m 644.*liba.la' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/install.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_95 +#AT_START_96 +at_fn_group_banner 96 'versioning.at:24' \ + "versioning" " " 7 +at_xfail=no +( + $as_echo "96. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +eval "`$LIBTOOL --config | $EGREP '^(objdir|host_os|shared_archive_member_spec)='`" + +# Setup some library and program sources: +# a library (a1), a new revision (a2), a compatible update (a3), +# an incompatible update (a4). +# Another library (libb) using liba, and a couple of programs, +# using liba directly and indirectly through libb. + +cat >liba1.c <<'_ATEOF' + +int a (void) +{ + return 0; +} +_ATEOF + + +cat >liba2.c <<'_ATEOF' + +/* The internal detail should be static. It isn't static in this test, + so we can later find out that it's this revision of the library. */ +int internal_detail = 42; +int a (void) +{ + return internal_detail - 42; +} +_ATEOF + + +cat >liba3.c <<'_ATEOF' + +int a (void) +{ + return 0; +} +int aa (void) +{ + return 0; +} +_ATEOF + + +cat >liba4.c <<'_ATEOF' + +int aa (void) +{ + return 0; +} +_ATEOF + + +cat >libb.c <<'_ATEOF' + +extern int a (void); +int b (void) +{ + return a (); +} +_ATEOF + + +cat >prog1.c <<'_ATEOF' + +extern int a (void); +int main (void) +{ + return a (); +} +_ATEOF + + +cat >prog2.c <<'_ATEOF' + +extern int b (void); +int main (void) +{ + return b (); +} +_ATEOF + + + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +LDFLAGS="$LDFLAGS -no-undefined" +mkdir $inst $libdir $bindir + +for file in liba1.c liba2.c liba3.c liba4.c libb.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +for file in prog1.c prog2.c; do + $CC $CPPFLAGS $CFLAGS -c $file +done + +# Setup is finished here. + +# Hypothesis: -version-info is ignored for convenience archives. +{ set +x +$as_echo "$at_srcdir/versioning.at:111: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info 0:0:0" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 0:0:0" "versioning.at:111" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 0:0:0 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:111" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:113: \$GREP 'version-info.*ignored for convenience' stderr" +at_fn_check_prepare_dynamic "$GREP 'version-info.*ignored for convenience' stderr" "versioning.at:113" +( $at_check_trace; $GREP 'version-info.*ignored for convenience' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:113" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Hypothesis: the deprecated -version-number works. +# Be sure not to use zero here, it's not portable. +for version_number in 1 1:1 2:1 1:1:1 3:2:1; do + { set +x +$as_echo "$at_srcdir/versioning.at:118: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-number \$version_number -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-number $version_number -rpath $libdir" "versioning.at:118" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-number $version_number -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:118" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +# Hypothesis: -version-info can be passed kinds of values, esp. zero ones +# and large ones. +# TODO: check something like 1001:2419:189 after fixing issues +# for 'version_type's of 'irix', 'nonstopux', or 'osf'. +for version_info in 1 1:2 0:0:0 1:1:1 13:241:7; do + { set +x +$as_echo "$at_srcdir/versioning.at:127: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info \$version_info -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info $version_info -rpath $libdir" "versioning.at:127" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info $version_info -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:127" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +# Hypothesis: we diagnose when AGE is higher than CURRENT. +{ set +x +$as_echo "$at_srcdir/versioning.at:132: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info 1:3:2 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 1:3:2 -rpath $libdir" "versioning.at:132" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 1:3:2 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/versioning.at:132" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:134: \$GREP 'AGE.*is greater than' stderr" +at_fn_check_prepare_dynamic "$GREP 'AGE.*is greater than' stderr" "versioning.at:134" +( $at_check_trace; $GREP 'AGE.*is greater than' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:134" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Hypothesis: we diagnose invalid values. +for version_info in 1:2:3:4 -1 0:-1 0:0:-1; do + { set +x +$as_echo "$at_srcdir/versioning.at:138: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info \$version_info -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info $version_info -rpath $libdir" "versioning.at:138" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info $version_info -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/versioning.at:138" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Now, create an original version of the library and associated users. +# This setup will be reused for further hypotheses below, and these +# functions will be used to test working programs. + +test_uninstalled () +{ + # temporarily move installed libraries out of the way in order to avoid + # skewing test results: + mv $libdir temp-lib + mv $bindir temp-bin + lt_exe=./prog1; if test -f "./prog1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/versioning.at:153: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "versioning.at:153" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:153" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=./prog2; if test -f "./prog2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/versioning.at:154: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "versioning.at:154" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:154" +$at_failed && at_fn_log_failure +$at_traceon; } + + + mv temp-lib $libdir + mv temp-bin $bindir +} + +test_installed () +{ + # temporarily move uninstalled libraries out of the way in order to avoid + # skewing test results: + mv $objdir temp + lt_exe=$bindir/prog1; if test -f "$bindir/prog1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/versioning.at:164: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "versioning.at:164" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:164" +$at_failed && at_fn_log_failure +$at_traceon; } + + + lt_exe=$bindir/prog2; if test -f "$bindir/prog2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/versioning.at:165: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "versioning.at:165" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:165" +$at_failed && at_fn_log_failure +$at_traceon; } + + + mv temp $objdir +} + +{ set +x +$as_echo "$at_srcdir/versioning.at:169: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info 0:0:0 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 0:0:0 -rpath $libdir" "versioning.at:169" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 0:0:0 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:169" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:171: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb.la libb.lo liba.la -version-info 0:0:0 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la libb.lo liba.la -version-info 0:0:0 -rpath $libdir" "versioning.at:171" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la libb.lo liba.la -version-info 0:0:0 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:171" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:173: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o prog1\$EXEEXT prog1.\$OBJEXT liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog1$EXEEXT prog1.$OBJEXT liba.la" "versioning.at:173" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog1$EXEEXT prog1.$OBJEXT liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:173" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:175: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o prog2\$EXEEXT prog2.\$OBJEXT libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog2$EXEEXT prog2.$OBJEXT libb.la" "versioning.at:175" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog2$EXEEXT prog2.$OBJEXT libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:175" +$at_failed && at_fn_log_failure +$at_traceon; } + +test_uninstalled +{ set +x +$as_echo "$at_srcdir/versioning.at:178: \$LIBTOOL --mode=install cp liba.la libb.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la libb.la $libdir" "versioning.at:178" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la libb.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:178" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:180: \$LIBTOOL --mode=install cp prog1\$EXEEXT prog2\$EXEEXT \$bindir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp prog1$EXEEXT prog2$EXEEXT $bindir" "versioning.at:180" +( $at_check_trace; $LIBTOOL --mode=install cp prog1$EXEEXT prog2$EXEEXT $bindir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:180" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:182: \$LIBTOOL --mode=clean rm -f liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "versioning.at:182" +( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:182" +$at_failed && at_fn_log_failure +$at_traceon; } + +test_installed +{ set +x +$as_echo "$at_srcdir/versioning.at:184: \$LIBTOOL --mode=uninstall rm -f \$libdir/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=uninstall rm -f $libdir/liba.la" "versioning.at:184" +( $at_check_trace; $LIBTOOL --mode=uninstall rm -f $libdir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:184" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Hypothesis: library revision updates do not require (uninstalled +# nor installed) programs or libraries to be relinked. +{ set +x +$as_echo "$at_srcdir/versioning.at:189: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba2.lo -version-info 0:1:0 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba2.lo -version-info 0:1:0 -rpath $libdir" "versioning.at:189" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba2.lo -version-info 0:1:0 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:189" +$at_failed && at_fn_log_failure +$at_traceon; } + +test_uninstalled +{ set +x +$as_echo "$at_srcdir/versioning.at:192: \$LIBTOOL --mode=install cp liba.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir" "versioning.at:192" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:192" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:193: \$LIBTOOL --mode=clean rm -f liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "versioning.at:193" +( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:193" +$at_failed && at_fn_log_failure +$at_traceon; } + +test_installed +# do not uninstall here: the library may be reused in the next test. + +# Hypothesis: backward compatible library updates do not require +# (uninstalled nor installed) programs or libraries to be relinked. +# This can have one of several reasons: +# - the soname is the difference between $current and $age, thus +# unchanged; in this case, the newly installed library will be used, +# - the soname is only $current, or we are linking statically, in which case +# the old installed library code will be used, +# - the numbers are not encoded at all, in which case the newly installed +# library will be used. +{ set +x +$as_echo "$at_srcdir/versioning.at:206: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba3.lo -version-info 1:0:1 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba3.lo -version-info 1:0:1 -rpath $libdir" "versioning.at:206" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba3.lo -version-info 1:0:1 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Do not test the uninstalled program, it may be broken (in the second case). +{ set +x +$as_echo "$at_srcdir/versioning.at:209: \$LIBTOOL --mode=install cp liba.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir" "versioning.at:209" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:209" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:210: \$LIBTOOL --mode=clean rm -f liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "versioning.at:210" +( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:210" +$at_failed && at_fn_log_failure +$at_traceon; } + +test_installed +# do not uninstall here: the library may be reused in the next test. + + +# Hypothesis: with shared libraries, incompatible library updates +# will not cause old installed programs or libraries (linked against the old +# library version) to break. +# This can have one of several reasons: +# - the soname has changed, so the old installed library will still be +# available, +# - we are linking statically, so the old library code will still be used. +# In order to be sure we are still linking against the old library version, +# we must ensure that libb is not relinked, so we must not reinstall libb here. +{ set +x +$as_echo "$at_srcdir/versioning.at:224: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba4.lo -version-info 2:0:0 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba4.lo -version-info 2:0:0 -rpath $libdir" "versioning.at:224" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba4.lo -version-info 2:0:0 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:224" +$at_failed && at_fn_log_failure +$at_traceon; } + +# We do not guarantee that old versions of an uninstalled library are still +# available, so test_uninstalled will not necessarily work here any more. +{ set +x +$as_echo "$at_srcdir/versioning.at:228: \$LIBTOOL --mode=install cp liba.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir" "versioning.at:228" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/versioning.at:229: \$LIBTOOL --mode=clean rm -f liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "versioning.at:229" +( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:229" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# On AIX, this test only works when the 'aix-soname' feature is enabled and +# active, which is reflected in shared_archive_member_spec being set and LDFLAGS +# containing -brtl. Otherwise, even with runtime linking, the linker always +# records the unversioned name as dependency. +{ set +x +$as_echo "$at_srcdir/versioning.at:235: :; case \$host_os,\$shared_archive_member_spec,\$LDFLAGS in +aix*,,*) exit 77 ;; +aix*,*,*-brtl*) ;; +aix*,*) exit 77 ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "versioning.at:235" +( $at_check_trace; :; case $host_os,$shared_archive_member_spec,$LDFLAGS in +aix*,,*) exit 77 ;; +aix*,*,*-brtl*) ;; +aix*,*) exit 77 ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:235" +$at_failed && at_fn_log_failure +$at_traceon; } + + +test_installed + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_96 +#AT_START_97 +at_fn_group_banner 97 'destdir.at:49' \ + "Simple DESTDIR install" " " 8 +at_xfail=no + eval `$LIBTOOL --config | $GREP '^fast_install='` + case $fast_install in no) :;; *) false;; esac && at_xfail=yes +( + $as_echo "97. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# A program that depends upon a library, both in the same package. +# DESTDIR installs do not work with relink at install time. + +LDFLAGS="$LDFLAGS -no-undefined" +if test -n "$we_are_on_a_safe_system"; then # let's read shorter cmdlines. + DESTDIR=/tmp/dest + prefix=/tmp/inst + rm -rf $DESTDIR $prefix +else + DESTDIR=`pwd`/dest + prefix=`pwd`/inst +fi +libdir=$prefix/lib +bindir=$prefix/bin +$mkdir_p src $prefix $DESTDIR $DESTDIR$prefix +eval `$LIBTOOL --config | $EGREP '^(FGREP|OBJDUMP)='` + +cd src +echo 'int a() { return 0; }' > a.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir +echo 'extern int a(); int main() { return a(); }' > m.c +$CC $CPPFLAGS $CFLAGS -c m.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la +mkdir $DESTDIR$libdir $DESTDIR$bindir +{ set +x +$as_echo "$at_srcdir/destdir.at:62: \$LIBTOOL --mode=install cp liba.la \$DESTDIR\$libdir/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la" "destdir.at:62" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/destdir.at:64: \$LIBTOOL --mode=install cp m\$EXEEXT \$DESTDIR\$bindir/m\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT" "destdir.at:64" +( $at_check_trace; $LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:64" +$at_failed && at_fn_log_failure +$at_traceon; } + +$LIBTOOL --mode=clean rm -f liba.la m +$mkdir_p "$libdir" +(cd "$DESTDIR$libdir" && find . -type d) | (cd "$libdir" && xargs $mkdir_p) +for file in `cd "$DESTDIR$libdir" && find . -type f -print -o -type l -print` +do + mv "$DESTDIR$libdir"/$file "$libdir"/$file +done +rm -rf "$DESTDIR$libdir" + +$mkdir_p "$bindir" +(cd "$DESTDIR$bindir" && find . -type d) | (cd "$bindir" && xargs $mkdir_p) +for file in `cd "$DESTDIR$bindir" && find . -type f -print -o -type l -print` +do + mv "$DESTDIR$bindir"/$file "$bindir"/$file +done +rm -rf "$DESTDIR$bindir" + +# We ignore failure on purpose here: we may not be root. +{ set +x +$as_echo "$at_srcdir/destdir.at:70: \$LIBTOOL --mode=finish \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=finish $libdir" "destdir.at:70" +( $at_check_trace; $LIBTOOL --mode=finish $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/destdir.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=$bindir/m$EXEEXT; if test -f "$bindir/m$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/destdir.at:71: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "destdir.at:71" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_97 +#AT_START_98 +at_fn_group_banner 98 'destdir.at:76' \ + "DESTDIR with in-package deplibs" " " 8 +at_xfail=no + eval `$LIBTOOL --config | $GREP '^fast_install='` + case $fast_install in no) :;; *) false;; esac && at_xfail=yes +( + $as_echo "98. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# A program that depends upon a library that depends upon another +# library, all in the same package. Use two deplibs, one in $libdir +# and one in another directory. +# DESTDIR installs do not work with relink at install time. + +LDFLAGS="$LDFLAGS -no-undefined" +if test -n "$we_are_on_a_safe_system"; then # let's read shorter cmdlines. + DESTDIR=/tmp/dest + prefix=/tmp/inst + rm -rf $DESTDIR $prefix +else + DESTDIR=`pwd`/dest + prefix=`pwd`/inst +fi +libdir=$prefix/lib +bindir=$prefix/bin +$mkdir_p src $prefix $DESTDIR $DESTDIR$prefix +eval `$LIBTOOL --config | $EGREP '^(FGREP|OBJDUMP)='` + +cd src +echo 'int a1dep() { return 0; }' > a1dep.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a1dep.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba1dep.la a1dep.lo -rpath $libdir +echo 'int a2dep() { return 0; }' > a2dep.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a2dep.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba2dep.la a2dep.lo -rpath ${libdir}2 +echo 'extern int a1dep(), a2dep(); int a() { return a1dep() + a2dep(); }' > a.c +$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir liba1dep.la liba2dep.la +echo 'extern int a(); int main() { return a(); }' > m.c +$CC $CPPFLAGS $CFLAGS -c m.c +$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la +mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir +{ set +x +$as_echo "$at_srcdir/destdir.at:97: \$LIBTOOL --mode=install cp liba1dep.la \$DESTDIR\$libdir/liba1dep.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba1dep.la $DESTDIR$libdir/liba1dep.la" "destdir.at:97" +( $at_check_trace; $LIBTOOL --mode=install cp liba1dep.la $DESTDIR$libdir/liba1dep.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:97" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/destdir.at:99: \$LIBTOOL --mode=install cp liba2dep.la \$DESTDIR\${libdir}2/liba2dep.la" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "destdir.at:99" +( $at_check_trace; $LIBTOOL --mode=install cp liba2dep.la $DESTDIR${libdir}2/liba2dep.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:99" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/destdir.at:101: \$LIBTOOL --mode=install cp liba.la \$DESTDIR\$libdir/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la" "destdir.at:101" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:101" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/destdir.at:103: \$LIBTOOL --mode=install cp m\$EXEEXT \$DESTDIR\$bindir/m\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT" "destdir.at:103" +( $at_check_trace; $LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:103" +$at_failed && at_fn_log_failure +$at_traceon; } + +$LIBTOOL --mode=clean rm -f liba1dep.la liba2dep.la liba.la m +$mkdir_p "$libdir" +(cd "$DESTDIR$libdir" && find . -type d) | (cd "$libdir" && xargs $mkdir_p) +for file in `cd "$DESTDIR$libdir" && find . -type f -print -o -type l -print` +do + mv "$DESTDIR$libdir"/$file "$libdir"/$file +done +rm -rf "$DESTDIR$libdir" + +$mkdir_p "${libdir}2" +(cd "$DESTDIR${libdir}2" && find . -type d) | (cd "${libdir}2" && xargs $mkdir_p) +for file in `cd "$DESTDIR${libdir}2" && find . -type f -print -o -type l -print` +do + mv "$DESTDIR${libdir}2"/$file "${libdir}2"/$file +done +rm -rf "$DESTDIR${libdir}2" + +$mkdir_p "$bindir" +(cd "$DESTDIR$bindir" && find . -type d) | (cd "$bindir" && xargs $mkdir_p) +for file in `cd "$DESTDIR$bindir" && find . -type f -print -o -type l -print` +do + mv "$DESTDIR$bindir"/$file "$bindir"/$file +done +rm -rf "$DESTDIR$bindir" + +# We ignore failure on purpose here: we may not be root. +{ set +x +$as_echo "$at_srcdir/destdir.at:110: \$LIBTOOL --mode=finish \$libdir \${libdir}2" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "destdir.at:110" +( $at_check_trace; $LIBTOOL --mode=finish $libdir ${libdir}2 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/destdir.at:110" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# put false libraries in the DESTDIR paths: if the installed program +# refers to them, that is a bug. +mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir +for lib in a1dep a2dep a; do + case $lib in + a2dep) ldir=${libdir}2;; + *) ldir=$libdir;; + esac + echo "int this_should_not_be_linked_against () { return 0; }" > $lib.c + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $lib.c + # Note the rpath argument includes $DESTDIR: the installed false libs + # should be functional (i.e., not need 'libtool --mode=finish'). + $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o lib$lib.la $lib.lo -rpath $DESTDIR$ldir + $LIBTOOL --mode=install cp lib$lib.la $DESTDIR$ldir/lib$lib.la +done + +lt_exe=$bindir/m$EXEEXT; if test -f "$bindir/m$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/destdir.at:128: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "destdir.at:128" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# TODO: make this more portable: +if test false != "$OBJDUMP" && ($OBJDUMP -p $bindir/m$EXEEXT) >/dev/null 2>&1; then + { set +x +$as_echo "$at_srcdir/destdir.at:132: \$OBJDUMP -p \$bindir/m\$EXEEXT | \$EGREP -i \"R(UN)?PATH.*\$DESTDIR\"" +at_fn_check_prepare_notrace 'a shell pipeline' "destdir.at:132" +( $at_check_trace; $OBJDUMP -p $bindir/m$EXEEXT | $EGREP -i "R(UN)?PATH.*$DESTDIR" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/destdir.at:132" +$at_failed && at_fn_log_failure +$at_traceon; } + + . $libdir/liba.la + set x $library_names + lname=$2 + if test -n "$lname"; then + { set +x +$as_echo "$at_srcdir/destdir.at:137: \$OBJDUMP -p \$libdir/\$lname | \$EGREP -i \"R(UN)?PATH.*\$DESTDIR\"" +at_fn_check_prepare_notrace 'a shell pipeline' "destdir.at:137" +( $at_check_trace; $OBJDUMP -p $libdir/$lname | $EGREP -i "R(UN)?PATH.*$DESTDIR" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/destdir.at:137" +$at_failed && at_fn_log_failure +$at_traceon; } + + fi +fi + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_98 +#AT_START_99 +at_fn_group_banner 99 'old-m4-iface.at:41' \ + "AM_PROG_LIBTOOL" " " 9 +at_xfail=no + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "99. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.in <<'_ATEOF' +AC_INIT(old.c) +AM_PROG_LIBTOOL +AC_SUBST([LIBTOOL_DEPS]) +AC_OUTPUT(Makefile) +_ATEOF + + +cat >Makefile.in <<'_ATEOF' +COMPILE = @CC@ @CPPFLAGS@ @CFLAGS@ +LINK = @CC@ @CFLAGS@ @LDFLAGS@ -o $@ +SHELL = @SHELL@ +LIBTOOL_DEPS = @LIBTOOL_DEPS@ + +all: libtool old@EXEEXT@ + +old@EXEEXT@: old.@OBJEXT@ + $(LINK) old.@OBJEXT@ + +.SUFFIXES: +.SUFFIXES: .c .@OBJEXT@ + +.c.@OBJEXT@: + $(COMPILE) -c $< + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + + +cat >old.c <<'_ATEOF' +#include + +int main (void) +{ + printf ("Hello, World!"); + return 0; +} +_ATEOF + + +$LIBTOOLIZE --install + + + +# This is slightly bogus, since only libtool.m4 was required in aclocal.m4 +# with libtool-1.5x... +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:86: test -f aclocal.m4 || + cat \"\$tst_aclocaldir/libtool.m4\" \"\$tst_aclocaldir/ltoptions.m4\" \\ + \"\$tst_aclocaldir/ltsugar.m4\" \"\$tst_aclocaldir/ltversion.m4\" \\ + \"\$tst_aclocaldir/lt~obsolete.m4\" > aclocal.m4" +at_fn_check_prepare_notrace 'an embedded newline' "old-m4-iface.at:86" +( $at_check_trace; test -f aclocal.m4 || + cat "$tst_aclocaldir/libtool.m4" "$tst_aclocaldir/ltoptions.m4" \ + "$tst_aclocaldir/ltsugar.m4" "$tst_aclocaldir/ltversion.m4" \ + "$tst_aclocaldir/lt~obsolete.m4" > aclocal.m4 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:91: \$AUTOCONF --force" +at_fn_check_prepare_dynamic "$AUTOCONF --force" "old-m4-iface.at:91" +( $at_check_trace; $AUTOCONF --force +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:91: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "old-m4-iface.at:91" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/old-m4-iface.at:91: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "old-m4-iface.at:91" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +lt_exe=./old; if test -f "./old$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:93: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "old-m4-iface.at:93" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Hello, World!" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:93" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Now, test that libtoolize doesn't mistakenly think the user called +# any libtool macros if in fact she didn't. +$SED '/AM_PROG_LIBTOOL/d' configure.in >configure.int +mv -f configure.int configure.in +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:99: \$LIBTOOLIZE -n" +at_fn_check_prepare_dynamic "$LIBTOOLIZE -n" "old-m4-iface.at:99" +( $at_check_trace; $LIBTOOLIZE -n +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:99" +$at_failed && at_fn_log_failure +$at_traceon; } + +# ensure no shell errors: +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:101: \$GREP -v \"^libtoolize: \" stderr" +at_fn_check_prepare_dynamic "$GREP -v \"^libtoolize: \" stderr" "old-m4-iface.at:101" +( $at_check_trace; $GREP -v "^libtoolize: " stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/old-m4-iface.at:101" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:102: \$GREP \"Remember to add.*LT_INIT.*to configure.in\" stdout" +at_fn_check_prepare_dynamic "$GREP \"Remember to add.*LT_INIT.*to configure.in\" stdout" "old-m4-iface.at:102" +( $at_check_trace; $GREP "Remember to add.*LT_INIT.*to configure.in" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:102" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:103: \$GREP \"Consider adding.*LT_WITH_LTDL\" stdout" +at_fn_check_prepare_dynamic "$GREP \"Consider adding.*LT_WITH_LTDL\" stdout" "old-m4-iface.at:103" +( $at_check_trace; $GREP "Consider adding.*LT_WITH_LTDL" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/old-m4-iface.at:103" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:104: \$GREP \"Remember to add.*LT_CONFIG_LTDL_DIR\" stdout" +at_fn_check_prepare_dynamic "$GREP \"Remember to add.*LT_CONFIG_LTDL_DIR\" stdout" "old-m4-iface.at:104" +( $at_check_trace; $GREP "Remember to add.*LT_CONFIG_LTDL_DIR" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/old-m4-iface.at:104" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_99 +#AT_START_100 +at_fn_group_banner 100 'old-m4-iface.at:113' \ + "AC_WITH_LTDL" " " 9 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "100. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >module.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" +#endif +const char * +hello (void) +{ + return "Hello!"; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include "ltdl.h" + +int +main () +{ + lt_dlhandle module; + const char *(*func) (void) = 0; + int status = 1; + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialisation: %s\n", lt_dlerror()); + return 1; + } + + module = lt_dlopen("./module.la"); + if (!module) { + fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror()); + goto finish; + } + + func = (const char *(*)(void)) lt_dlsym (module, "hello"); + if (!func) { + fprintf (stderr, "error fetching func: %s\n", lt_dlerror()); + goto finish; + } + + printf ("%s\n", (*func) ()); + status = 0; + +finish: + if (lt_dlexit() != 0) { + fprintf (stderr, "error during finalisation: %s\n", lt_dlerror()); + status = 1; + } + + return status; +} +_ATEOF + + + + + + + +cat >configure.in <<'_ATEOF' +AC_PREREQ(2.50) +AC_INIT([main.c]) +AC_PROG_MAKE_SET +AC_LIBTOOL_DLOPEN +AM_PROG_LIBTOOL +AC_WITH_LTDL +AC_OUTPUT(Makefile) +_ATEOF + + +cat >Makefile.in <<'_ATEOF' +top_srcdir = . +top_builddir = . +COMPILE = @CC@ @INCLTDL@ @CPPFLAGS@ @CFLAGS@ +LTCOMPILE = @LIBTOOL@ --mode=compile $(COMPILE) +LTLINK = @LIBTOOL@ --mode=link @CC@ -no-undefined @CFLAGS@ @LDFLAGS@ -o $@ +SHELL = @SHELL@ +@SET_MAKE@ + +TARGETS = libltdl/libltdlc.la module.la ltdldemo@EXEEXT@ + +all: $(TARGETS) + +libltdl/libltdlc.la: + cd libltdl && $(MAKE) + +module.la: module.lo + $(LTLINK) module.lo -module -avoid-version -rpath /dev/null + +ltdldemo@EXEEXT@: main.@OBJEXT@ module.la libltdl/libltdlc.la + $(LTLINK) main.@OBJEXT@ -dlopen module.la @LIBLTDL@ @LIBS@ + +.SUFFIXES: +.SUFFIXES: .c .@OBJEXT@ .lo + +.c.@OBJEXT@: + $(COMPILE) -c $< + +.c.lo: + $(LTCOMPILE) -c -o $@ $< +_ATEOF + + +# Be sure to use the in-tree libltdl, somebody might have removed +# an installed libltdl.la file. +$LIBTOOLIZE --ltdl --install + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/old-m4-iface.at:161: \$ACLOCAL -I libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "old-m4-iface.at:161" +( $at_check_trace; $ACLOCAL -I libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:161" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + + +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:161: \$AUTOCONF --force" +at_fn_check_prepare_dynamic "$AUTOCONF --force" "old-m4-iface.at:161" +( $at_check_trace; $AUTOCONF --force +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:161" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:161: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "old-m4-iface.at:161" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:161" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/old-m4-iface.at:161: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "old-m4-iface.at:161" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:161" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +lt_exe=./ltdldemo; if test -f "./ltdldemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:164: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "old-m4-iface.at:164" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:164" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_100 +#AT_START_101 +at_fn_group_banner 101 'old-m4-iface.at:173' \ + "AC_CONFIG_MACRO_DIR" " " 9 +at_xfail=no +( + $as_echo "101. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([m4]) +LT_INIT +AC_OUTPUT +_ATEOF + + +cat >expout <<'_ATEOF' +libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. +libtoolize: copying file 'build-aux/ltmain.sh' +libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. +libtoolize: copying file 'm4/libtool.m4' +libtoolize: copying file 'm4/ltoptions.m4' +libtoolize: copying file 'm4/ltsugar.m4' +libtoolize: copying file 'm4/ltversion.m4' +libtoolize: copying file 'm4/lt~obsolete.m4' +libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. +_ATEOF + + +lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t +mv -f expout.t expout +{ set +x +$as_echo "$at_srcdir/old-m4-iface.at:195: \$LIBTOOLIZE --copy + +" +at_fn_check_prepare_notrace 'an embedded newline' "old-m4-iface.at:195" +( $at_check_trace; $LIBTOOLIZE --copy + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:195" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_101 +#AT_START_102 +at_fn_group_banner 102 'am-subdir.at:34' \ + "C subdir-objects" " " 10 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "102. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subdir-demo], 2.4.7, bug-libtool@gnu.org) +AM_INIT_AUTOMAKE +LT_INIT([win32-dll]) +AC_PROG_CC +AM_PROG_CC_C_O +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +AUTOMAKE_OPTIONS = subdir-objects foreign 1.6 +AM_CPPFLAGS = -I$(top_srcdir)/../.. + +lib_LTLIBRARIES = subdir/libsub.la +subdir_libsub_la_SOURCES= subdir/sub.c + +bin_PROGRAMS = subdir/subdemo +subdir_subdemo_SOURCES = subdir/main.c +subdir_subdemo_LDADD = subdir/libsub.la +_ATEOF + + +test -d subdir || { rm -f subdir && mkdir subdir; } + +cat >subdir/main.c <<'_ATEOF' +#include + +extern void sub (void); + +int main (void) +{ + printf ("Welcome to GNU Libtool subdir-objects test!\n"); + sub(); + return 0; +} +_ATEOF + + +cat >subdir/sub.c <<'_ATEOF' +#include +void sub (void) { printf ("** This is libsub **\n"); } +_ATEOF + + +$LIBTOOLIZE --copy + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/am-subdir.at:79: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "am-subdir.at:79" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:79: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "am-subdir.at:79" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/am-subdir.at:79: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "am-subdir.at:79" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/am-subdir.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:79: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "am-subdir.at:79" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:79: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "am-subdir.at:79" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/am-subdir.at:79: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "am-subdir.at:79" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +lt_exe=subdir/subdemo; if test -f "subdir/subdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/am-subdir.at:81: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "am-subdir.at:81" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:81" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:82: \$GREP 'Welcome to GNU Libtool subdir-objects test' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU Libtool subdir-objects test' stdout" "am-subdir.at:82" +( $at_check_trace; $GREP 'Welcome to GNU Libtool subdir-objects test' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:82" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:84: \$GREP 'This is libsub' stdout" +at_fn_check_prepare_dynamic "$GREP 'This is libsub' stdout" "am-subdir.at:84" +( $at_check_trace; $GREP 'This is libsub' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_102 +#AT_START_103 +at_fn_group_banner 103 'am-subdir.at:94' \ + "C++ subdir-objects" " " 10 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "103. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:95: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "am-subdir.at:95" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:95" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:95: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "am-subdir.at:95" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:95" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subdir-demo], 2.4.7, bug-libtool@gnu.org) +AM_INIT_AUTOMAKE +AC_PROG_CC +AM_PROG_CC_C_O +AC_PROG_CXX +AC_PROG_CXXCPP + +AC_LANG([C++]) +LT_INIT([win32-dll]) + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I m4 +AUTOMAKE_OPTIONS = subdir-objects foreign 1.6 +AM_CPPFLAGS = -I$(top_srcdir)/../.. + +lib_LTLIBRARIES = subdir/libsub.la +subdir_libsub_la_SOURCES= subdir/sub.cxx subdir/sub.hxx + +bin_PROGRAMS = subdir/subdemo +subdir_subdemo_SOURCES = subdir/main.cxx +subdir_subdemo_LDADD = subdir/libsub.la +_ATEOF + + +test -d subdir || { rm -f subdir && mkdir subdir; } + +cat >subdir/sub.hxx <<'_ATEOF' +class libsub { public: int sub (void); }; +_ATEOF + + +cat >subdir/main.cxx <<'_ATEOF' +#include "sub.hxx" + +int main (void) +{ + libsub SUB; + return SUB.sub() != 27; +} +_ATEOF + + +cat >subdir/sub.cxx <<'_ATEOF' +#include "sub.hxx" + +int libsub::sub (void) { return 27; } +_ATEOF + + +$LIBTOOLIZE --copy + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/am-subdir.at:147: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "am-subdir.at:147" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:147: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "am-subdir.at:147" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/am-subdir.at:147: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "am-subdir.at:147" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/am-subdir.at:147" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:147: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "am-subdir.at:147" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/am-subdir.at:147: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "am-subdir.at:147" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/am-subdir.at:147: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "am-subdir.at:147" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +lt_exe=subdir/subdemo; if test -f "subdir/subdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/am-subdir.at:149: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "am-subdir.at:149" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:149" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_103 +#AT_START_104 +at_fn_group_banner 104 'lt_dlexit.at:31' \ + "lt_dlexit unloading libs" " " 11 +at_xfail=no +( + $as_echo "104. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Test for +# http://lists.gnu.org/archive/html/bug-libtool/2007-01/msg00014.html +# http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00013.html + +cat >main.c <<'_ATEOF' +#include +#include +#include + +typedef int (*pfun_T) (int); +typedef int *pvar_T; + +/* lt_dlopen wrapper */ +static lt_dlhandle +xdlopen (const char *filename) +{ + lt_dlhandle handle = lt_dlopen (filename); + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + } + return handle; +} + +/* lt_dlsym wrapper: try one function and one variable */ +static int +xdlsymtest (lt_dlhandle handle, const char *func, const char *var) +{ + pfun_T pf = (pfun_T) lt_dlsym (handle, func); + pvar_T pv = (pvar_T) lt_dlsym (handle, var); + if (pf == NULL) { + fprintf (stderr, "function '%s' not found\n", func); + return 1; + } + if (pv == NULL) { + fprintf (stderr, "variable '%s' not found\n", var); + return 1; + } + return (*pf) (*pv); +} + +int +main (void) +{ + lt_dlhandle b1; + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + if (lt_dlexit() != 0) { + fprintf (stderr, "error during first lt_dlexit: %s\n", lt_dlerror()); + return 1; + } + if (lt_dlinit() != 0) { + fprintf (stderr, "error during second initialization: %s\n", lt_dlerror()); + return 1; + } + if (!(b1 = xdlopen ("modb1.la"))) return 1; + if (xdlsymtest (b1, "fb1", "vb1")) return 1; + /* do not lt_dlclose here on purpose. */ + + if (lt_dlexit() != 0) { + fprintf (stderr, "error during exit: %s\n", lt_dlerror()); + return 1; + } + return 0; +} +_ATEOF + + + +cat >a1.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +int f1 (int x) { return x - 1; } +int v1 = 1; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >b1.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +#if defined DLL_EXPORT && defined _WIN32 && defined _MSC_VER +# define LIBA1_SCOPE extern __declspec (dllimport) +#endif +#if !defined LIBA1_SCOPE +# define LIBA1_SCOPE extern +#endif +LIBA1_SCOPE int f1 (int); +LIBA1_SCOPE int v1; +int fb1 (int x) { return f1 (v1) + x - 3; } +int vb1 = 3; +#ifdef __cplusplus +} +#endif +_ATEOF + + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/lt_dlexit.at:142: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:142" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:142" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" + +for file in a1 b1; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c +done +$CC $CPPFLAGS $CFLAGS -c main.c +{ set +x +$as_echo "$at_srcdir/lt_dlexit.at:153: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba1.la a1.lo \\ + -rpath /foo -avoid-version" +at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:153" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba1.la a1.lo \ + -rpath /foo -avoid-version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:153" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlexit.at:155: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o modb1.la b1.lo \\ + -rpath /foo -module -avoid-version liba1.la" +at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:155" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o modb1.la b1.lo \ + -rpath /foo -module -avoid-version liba1.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# TODO: test -dlpreopen +for dlopen in -dlopen; do + { set +x +$as_echo "$at_srcdir/lt_dlexit.at:160: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT \\ + \$dlopen modb1.la \$LIBLTDL" +at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:160" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT \ + $dlopen modb1.la $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:160" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/lt_dlexit.at:162: if \$LIBTOOL --mode=execute -dlopen modb1.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen modb1.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlexit.at:162" +( $at_check_trace; if $LIBTOOL --mode=execute -dlopen modb1.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:162" +$at_failed && at_fn_log_failure +$at_traceon; } + + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_104 +#AT_START_105 +at_fn_group_banner 105 'lt_dladvise.at:29' \ + "lt_dlopenadvise library loading" " " 11 +at_xfail=no +( + $as_echo "105. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >main.c <<'_ATEOF' +#include +#include + +typedef int funcp (int); + +static int errors = 0; + +static void +complain (const char *msg) +{ + const char *errmsg = lt_dlerror (); + fprintf (stderr, "%s", msg); + if (errmsg) + fprintf (stderr, ": %s\n", errmsg); + else + fprintf (stderr, ".\n"); + ++errors; +} + +static lt_dlhandle +moduleopen (const char *filename, lt_dladvise advise) +{ + lt_dlhandle handle; + + handle = lt_dlopenadvise (filename, advise); + if (!handle) + { + fprintf (stderr, "can't open the module %s!\n", filename); + complain ("error was"); + } + + return handle; +} + +static int +moduletest (lt_dlhandle handle, const char *fname, const char *vname) +{ + funcp *f = (funcp *) lt_dlsym (handle, fname); + int *v = (int *) lt_dlsym (handle, vname); + + if (!f) + { + fprintf (stderr, "function '%s' not found\n", fname); + ++errors; + return -1; + } + if (!v) + { + fprintf (stderr, "variable '%s' not found\n", vname); + ++errors; + return -1; + } + return f (*v); +} + +void +hint_ext (void) +{ + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_ext (&advise)) + complain ("error setting advise ext"); + + handle = moduleopen ("libdepend", advise); + + if (handle) + printf ("depend: %d\n", moduletest (handle, "g", "j")); + + lt_dladvise_destroy (&advise); +} + +void +hint_resident (void) +{ + const lt_dlinfo *info; + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_resident (&advise)) + complain ("error setting advise resident"); + + handle = moduleopen ("libresident.la", advise); + + if (handle) + { + info = lt_dlgetinfo (handle); + if (!info->is_resident) + complain ("error taking advise resident"); + + /* cannot close resident modules */ + if (lt_dlclose (handle) == 0) + complain ("successfully unloaded resident module"); + + printf ("resident: %d\n", moduletest (handle, "func", "numb")); + } + + lt_dladvise_destroy (&advise); +} + +void +hint_local (void) +{ + const lt_dlinfo *info; + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_local (&advise)) + complain ("error setting advise local"); + + handle = moduleopen ("liblocal.la", advise); + + if (handle) + { + info = lt_dlgetinfo (handle); + printf ("local: %d\n", moduletest (handle, "f", "i")); + + /* If the symlocal hint was taken, don't unload this module + and test that our local symbolnames won't clash with modglobal. */ + if (!info->is_symlocal && lt_dlclose (handle)) + complain ("error unloading modlocal"); + } + + lt_dladvise_destroy (&advise); +} + +void +hint_global (void) +{ + const lt_dlinfo *info; + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_global (&advise)) + complain ("error setting advise global"); + + handle = moduleopen ("libglobal.la", advise); + + if (handle) + { + info = lt_dlgetinfo (handle); + printf ("global: %d\n", moduletest (handle, "f", "i")); + + /* Don't attempt to load moddepend unless modglobal was successfully + loaded and the symglobal hint was taken, and the system allows to + have undefined symbols. */ + if (info && info->is_symglobal && HAVE_UNDEFINED_SYMBOLS) + { + hint_ext (); + } + else + { + /* Fake the output so the test won't fail when using a dlloader + unable to take symglobal hints. */ + printf ("depend: 5\n"); + } + } + + lt_dladvise_destroy (&advise); +} + +void +hint_preload (void) +{ + lt_dlhandle handle; + lt_dladvise advise; + + if (lt_dladvise_init (&advise) || lt_dladvise_preload (&advise)) + complain ("error setting advise preload"); + + handle = moduleopen ("libpreload.la", advise); + + if (handle) + { + printf("preload: %d\n", moduletest (handle, "h", "k")); + } + + lt_dladvise_destroy (&advise); +} + +int +main (void) +{ + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (lt_dlinit() != 0) + { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + hint_resident (); + hint_local (); +#ifdef HAVE_SHARED + hint_global (); +#else + /* This ugly hack is because we have symbols with the same name in both the + global module and the local one, we can't lt_dlopen the local module + locally and then later load the global module globally because of this. + Instead of skipping the test entirely, we test what we can and + have this hack. */ + printf ("global: 4\n"); + printf ("depend: 5\n"); +#endif + hint_preload (); + + if (lt_dlexit () != 0) + complain ("error during exit"); + + return (errors != 0); +} +_ATEOF + + +cat >modresident.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +int func (int x) { return x / 3; } +int numb = 7; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >modlocal.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +int f (int x) { return (x * x) / 10; } +int i = 6; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >modglobal.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +int f (int x) { return x - 1; } +int i = 5; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >moddepend.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +extern int f (int), i; +int g (int x) { return f (i) + x - 3; } +int j = 4; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >modpreload.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +int h (int x) { return 2 * x; } +int k = 3; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >expout <<'_ATEOF' +resident: 2 +local: 3 +global: 4 +depend: 5 +preload: 6 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/lt_dladvise.at:316: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "lt_dladvise.at:316" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:316" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" + +dlopenable='resident local global' +dlpreloadable='preload' + +# ------------------------------------------------------------------------- # +# The depend test makes no sense unless compiled without -no-undefined. By # +# not building the depend module in that case, when this test passes we can # +# be sure that hint_global() above, is being correctly informed those hosts # +# are reporting not able to accept the global hint to lt_dlopenadvise(). # +# ------------------------------------------------------------------------- # + +have_shared=false +$LIBTOOL --features | $GREP 'enable shared libraries' >/dev/null && have_shared=: + +case $host_os,$have_shared in +cygwin* | mingw* | cegcc* | *,false) + # These hosts do not support linking without -no-undefined + CPPFLAGS="$CPPFLAGS -DHAVE_UNDEFINED_SYMBOLS=0" + ;; +*) + CPPFLAGS="$CPPFLAGS -DHAVE_UNDEFINED_SYMBOLS=1" + dlopenable="$dlopen depend" + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c moddepend.c + { set +x +$as_echo "$at_srcdir/lt_dladvise.at:344: \$LIBTOOL --mode=link \$CC -module \$CFLAGS \$LDFLAGS -o libdepend.la moddepend.lo -rpath /foo -avoid-version" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o libdepend.la moddepend.lo -rpath /foo -avoid-version" "lt_dladvise.at:344" +( $at_check_trace; $LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o libdepend.la moddepend.lo -rpath /foo -avoid-version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:344" +$at_failed && at_fn_log_failure +$at_traceon; } + + ;; +esac + +$have_shared && CPPFLAGS="$CPPFLAGS -DHAVE_SHARED" + +# ------------------------------------------------------------------------- # +# Other modules can be tested correctly even when built with -no-undefined. # +# ------------------------------------------------------------------------- # + +LDFLAGS="$LDFLAGS -no-undefined" + +$CC $CPPFLAGS $CFLAGS -c main.c +for name in resident local global preload; do + # FIXME: adding -static to libpreload shouldn't be necessary. + # Fix this properly in ltmain, then remove this workaround. + if test preload = "$name"; then + st=-static + else + st= + fi + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c mod$name.c + { set +x +$as_echo "$at_srcdir/lt_dladvise.at:367: \$LIBTOOL --mode=link \$CC -module \$CFLAGS \$LDFLAGS -o lib\$name.la mod\$name.lo \$st -rpath /foo -avoid-version" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o lib$name.la mod$name.lo $st -rpath /foo -avoid-version" "lt_dladvise.at:367" +( $at_check_trace; $LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o lib$name.la mod$name.lo $st -rpath /foo -avoid-version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:367" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +preloaded= +for module in $dlpreloadable; do + preloaded="${preloaded+$preloaded }-dlpreopen lib$module.la" +done + +modules= +for module in $dlopenable; do + modules="${modules+$modules }-dlopen lib$module.la" +done + +{ set +x +$as_echo "$at_srcdir/lt_dladvise.at:381: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT \$preloaded \$modules \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $preloaded $modules $LIBLTDL" "lt_dladvise.at:381" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $preloaded $modules $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:381" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Remove loadable libpreload module, so we know it is the preloaded module +# that is being executed by a successful test invocation: +{ set +x +$as_echo "$at_srcdir/lt_dladvise.at:386: \$LIBTOOL --mode=clean rm -f libpreload.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f libpreload.la" "lt_dladvise.at:386" +( $at_check_trace; $LIBTOOL --mode=clean rm -f libpreload.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:386" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/lt_dladvise.at:388: if \$LIBTOOL --mode=execute \$modules \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute $modules \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dladvise.at:388" +( $at_check_trace; if $LIBTOOL --mode=execute $modules "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_105 +#AT_START_106 +at_fn_group_banner 106 'lt_dlopen.at:24' \ + "lt_dlopen error messages" " " 11 +at_xfail=yes +( + $as_echo "106. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# The bug is not fixed: + + +# This test only works if the system allows undefined symbols. +eval `$LIBTOOL --config | $GREP '^allow_undefined_flag='` +{ set +x +$as_echo "$at_srcdir/lt_dlopen.at:32: test unsupported != \"\$allow_undefined_flag\" || exit 77" +at_fn_check_prepare_dynamic "test unsupported != \"$allow_undefined_flag\" || exit 77" "lt_dlopen.at:32" +( $at_check_trace; test unsupported != "$allow_undefined_flag" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >main.c <<'_ATEOF' +#include +#include + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle plugin_handle; + + if (argc < 2) + { + fprintf (stderr, "usage: %s plugin\n", argv[0]); + return 1; + } + + lt_dlinit (); + plugin_handle = lt_dlopenext (argv[1]); + if (NULL != plugin_handle) + { + printf ("plugin opened successfully!\n"); + lt_dlclose (plugin_handle); + } + else + { + printf ("plugin failed to open: %s\n", lt_dlerror()); + err = 1; + } + lt_dlexit (); + return err; +} +_ATEOF + + +cat >good-plugin.c <<'_ATEOF' +int foo; +int *i = &foo; +_ATEOF + + +cat >missing-symbol-plugin.c <<'_ATEOF' +/* On systems that allow undefined symbols, this will compile, + but the symbol "foo" won't be found at runtime */ +extern int foo; +int *i = &foo; +_ATEOF + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +inst=`pwd`/inst +libdir=$inst/lib + +{ set +x +$as_echo "$at_srcdir/lt_dlopen.at:86: \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "lt_dlopen.at:86" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + +for file in good-plugin.c missing-symbol-plugin.c; do + { set +x +$as_echo "$at_srcdir/lt_dlopen.at:88: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c \$file" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file" "lt_dlopen.at:88" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + +done +{ set +x +$as_echo "$at_srcdir/lt_dlopen.at:91: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o good-plugin.la -rpath \$libdir -module -avoid-version good-plugin.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o good-plugin.la -rpath $libdir -module -avoid-version good-plugin.lo" "lt_dlopen.at:91" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o good-plugin.la -rpath $libdir -module -avoid-version good-plugin.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopen.at:93: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o missing-symbol-plugin.la -rpath \$libdir -module -avoid-version missing-symbol-plugin.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o missing-symbol-plugin.la -rpath $libdir -module -avoid-version missing-symbol-plugin.lo" "lt_dlopen.at:93" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o missing-symbol-plugin.la -rpath $libdir -module -avoid-version missing-symbol-plugin.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:93" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/lt_dlopen.at:96: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlopen good-plugin.la -dlopen missing-symbol-plugin.la \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen good-plugin.la -dlopen missing-symbol-plugin.la $LIBLTDL" "lt_dlopen.at:96" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen good-plugin.la -dlopen missing-symbol-plugin.la $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/lt_dlopen.at:100: if \"\$lt_exe\" ./good-plugin.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ./good-plugin.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopen.at:100" +( $at_check_trace; if "$lt_exe" ./good-plugin.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:100" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/lt_dlopen.at:101: if \"\$lt_exe\" ./missing-symbol-plugin.la; then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ./missing-symbol-plugin.la; then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopen.at:101" +( $at_check_trace; if "$lt_exe" ./missing-symbol-plugin.la; then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/lt_dlopen.at:101" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/lt_dlopen.at:102: \$GREP 'missing symbol' stderr" +at_fn_check_prepare_dynamic "$GREP 'missing symbol' stderr" "lt_dlopen.at:102" +( $at_check_trace; $GREP 'missing symbol' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:102" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_106 +#AT_START_107 +at_fn_group_banner 107 'lt_dlopen_a.at:24' \ + "lt_dlopen archive" " " 11 +at_xfail=no +( + $as_echo "107. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >main.c <<'_ATEOF' +#include +#include + +/* This dlopen() in the main executable should override any dlopen()s in + shared libraries etc. + + If that is not the case (or the platform does not use dlopen()) then this + test should exit 77, causing the test to SKIP. +*/ +static int retcde = 77; + +void * dlopen(const char *path, int mode) { + if (!(strcmp(path,"plugin.a") && strcmp(path,"plugin.lib"))) + { + fprintf(stderr,"Tried to open archive %s\n",path); + retcde = 1; + } + else + { + fprintf(stderr,"Opening ... %s\n", path); + if (retcde == 77) retcde = 0; + } + return NULL; +} + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle plugin_handle; + + lt_dlinit (); + plugin_handle = lt_dlopenext (argv[1]); + lt_dlexit (); + return retcde; +} +_ATEOF + + +cat >plugin.c <<'_ATEOF' + +int i = 1; +_ATEOF + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin + +{ set +x +$as_echo "$at_srcdir/lt_dlopen_a.at:79: \$CC \$CPPFLAGS \$CFLAGS -c main.c || exit 77" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c || exit 77" "lt_dlopen_a.at:79" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:79" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopen_a.at:80: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c plugin.c || exit 77" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c || exit 77" "lt_dlopen_a.at:80" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:80" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopen_a.at:82: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o plugin.la -rpath \$libdir -module -no-undefined -avoid-version plugin.lo || exit 77" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir -module -no-undefined -avoid-version plugin.lo || exit 77" "lt_dlopen_a.at:82" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir -module -no-undefined -avoid-version plugin.lo || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:82" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/lt_dlopen_a.at:86: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlopen plugin.la \$LIBLTDL || exit 77" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen plugin.la $LIBLTDL || exit 77" "lt_dlopen_a.at:86" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen plugin.la $LIBLTDL || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + + +mkdir -p $libdir +mkdir -p $bindir + +{ set +x +$as_echo "$at_srcdir/lt_dlopen_a.at:93: \$LIBTOOL --mode=install cp plugin.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp plugin.la $libdir" "lt_dlopen_a.at:93" +( $at_check_trace; $LIBTOOL --mode=install cp plugin.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:93" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopen_a.at:94: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "lt_dlopen_a.at:94" +( $at_check_trace; $LIBTOOL --mode=install cp main$EXEEXT $bindir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:94" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopen_a.at:95: test -f \"\$libdir/plugin.a\" || exit 77" +at_fn_check_prepare_dynamic "test -f \"$libdir/plugin.a\" || exit 77" "lt_dlopen_a.at:95" +( $at_check_trace; test -f "$libdir/plugin.a" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:95" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=$bindir/main; if test -f "$bindir/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/lt_dlopen_a.at:96: if \"\$lt_exe\" \$libdir/plugin.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" $libdir/plugin.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopen_a.at:96" +( $at_check_trace; if "$lt_exe" $libdir/plugin.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_107 +#AT_START_108 +at_fn_group_banner 108 'lt_dlopenext.at:23' \ + "lt_dlopenext error messages" " " 11 +at_xfail=no +( + $as_echo "108. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test requires shared library support. +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:27: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "lt_dlopenext.at:27" +( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + +prefix=`pwd`/inst +libdir=$prefix/lib +bindir=$prefix/bin +mkdir $prefix $libdir $bindir + +# This code is copied from the Autobook: +# +# so if it needs changes, be sure to notify the Autobook authors +# about them. + +cat >simple-module.c <<'_ATEOF' + +#include + +#ifdef __cplusplus +extern "C" +#endif +int +run (const char *argument) +{ + printf ("Hello, %s!\n", argument); + return 0; +} +_ATEOF + + +cat >ltdl-loader.c <<'_ATEOF' + +#include +#include +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +# define EXIT_SUCCESS 0 +#endif + +#include +#ifndef PATH_MAX +# define PATH_MAX 255 +#endif + +#include +#include + +#ifndef MODULE_PATH_ENV +# define MODULE_PATH_ENV "MODULE_PATH" +#endif + +typedef int entrypoint (const char *argument); + +/* Save and return a copy of the dlerror() error message, + since the next API call may overwrite the original. */ +static char *dlerrordup (char *errormsg); + +int +main (int argc, const char *argv[]) +{ + char *errormsg = NULL; + lt_dlhandle module = NULL; + entrypoint *run = NULL; + int errors = 0; + + if (argc != 3) + { + fprintf (stderr, "USAGE: main MODULENAME ARGUMENT\n"); + exit (EXIT_FAILURE); + } + + /* Initialise libltdl. */ + errors = lt_dlinit (); + + /* Set the module search path. */ + if (!errors) + { + const char *path = getenv (MODULE_PATH_ENV); + + if (path != NULL) + errors = lt_dlsetsearchpath (path); + } + + /* Load the module. */ + if (!errors) + module = lt_dlopenext (argv[1]); + + /* Find the entry point. */ + if (module) + { + run = (entrypoint *) lt_dlsym (module, "run"); + + /* In principle, run might legitimately be NULL, so + I don't use run == NULL as an error indicator + in general. */ + errormsg = dlerrordup (errormsg); + if (errormsg != NULL) + { + errors = lt_dlclose (module); + module = NULL; + } + } + else + errors = 1; + + /* Call the entry point function. */ + if (!errors) + { + int result = (*run) (argv[2]); + if (result < 0) + errormsg = strdup ("module entry point execution failed"); + else + printf ("\t=> %d\n", result); + } + + /* Unload the module, now that we are done with it. */ + if (!errors) + errors = lt_dlclose (module); + + if (errors) + { + /* Diagnose the encountered error. */ + errormsg = dlerrordup (errormsg); + + if (!errormsg) + { + fprintf (stderr, "%s: dlerror() failed.\n", argv[0]); + return EXIT_FAILURE; + } + } + + /* Finished with ltdl now. */ + if (!errors) + if (lt_dlexit () != 0) + errormsg = dlerrordup (errormsg); + + if (errormsg) + { + fprintf (stderr, "%s: %s.\n", argv[0], errormsg); + free (errormsg); + exit (EXIT_FAILURE); + } + + return EXIT_SUCCESS; +} + +/* Be careful to save a copy of the error message, + since the next API call may overwrite the original. */ +static char * +dlerrordup (char *errormsg) +{ + char *error = (char *) lt_dlerror (); + if (error && !errormsg) + errormsg = strdup (error); + return errormsg; +} +_ATEOF + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:188: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "lt_dlopenext.at:188" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:188" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" + +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:195: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c simple-module.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c" "lt_dlopenext.at:195" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:195" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:197: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o simple-module.la simple-module.lo -rpath \$libdir -module -avoid-version" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la simple-module.lo -rpath $libdir -module -avoid-version" "lt_dlopenext.at:197" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la simple-module.lo -rpath $libdir -module -avoid-version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:197" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:200: \$CC \$CPPFLAGS \$CFLAGS -c ltdl-loader.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c" "lt_dlopenext.at:200" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c ltdl-loader.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:200" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:202: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o ltdl-loader\$EXEEXT ltdl-loader.\$OBJEXT -dlopen self \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ltdl-loader.$OBJEXT -dlopen self $LIBLTDL" "lt_dlopenext.at:202" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ltdl-loader.$OBJEXT -dlopen self $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:202" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:205: \$LIBTOOL --mode=install cp simple-module.la \$libdir/simple-module.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la" "lt_dlopenext.at:205" +( $at_check_trace; $LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:206: \$LIBTOOL --mode=clean rm -f simple-module.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f simple-module.la" "lt_dlopenext.at:206" +( $at_check_trace; $LIBTOOL --mode=clean rm -f simple-module.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Try finding the module with and without the .la file, with absolute +# path, relative path, or one of the path variables. Do not override +# $PATH for w32, see shlibpath.at for the hacks this requires. +# +# Finding the module without the .la file will not work if MODULE_EXT +# aka. shared_ext is empty. + +eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shrext_cmds)='` + +module=no +eval shared_ext=\"$shrext_cmds\" +if test -n "$shared_ext"; then + have_lafile="with without" +else + have=with +fi + +if test PATH = "$shlibpath_var"; then + $unset shlibpath_var || shlibpath_var= +fi + +for lafile in $have_lafile; do + if test without = "$lafile"; then + rm $libdir/simple-module.la + fi + + for dir in inst/lib "$libdir"; do + lt_exe=./ltdl-loader; if test -f "./ltdl-loader$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:235: if \"\$lt_exe\" \$dir/simple-module World; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" $dir/simple-module World; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopenext.at:235" +( $at_check_trace; if "$lt_exe" $dir/simple-module World; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:235" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/lt_dlopenext.at:237: \$GREP \"Hello, World\" stdout" +at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "lt_dlopenext.at:237" +( $at_check_trace; $GREP "Hello, World" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:237" +$at_failed && at_fn_log_failure +$at_traceon; } + + + for var in MODULE_PATH LTDL_LIBRARY_PATH $shlibpath_var + do + eval $var=\$dir + export $var + lt_exe=./ltdl-loader; if test -f "./ltdl-loader$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/lt_dlopenext.at:243: if \"\$lt_exe\" simple-module World; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" simple-module World; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopenext.at:243" +( $at_check_trace; if "$lt_exe" simple-module World; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:243" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/lt_dlopenext.at:245: \$GREP \"Hello, World\" stdout" +at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "lt_dlopenext.at:245" +( $at_check_trace; $GREP "Hello, World" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:245" +$at_failed && at_fn_log_failure +$at_traceon; } + + $unset $var || eval $var= + done + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_108 +#AT_START_109 +at_fn_group_banner 109 'ltdl-libdir.at:23' \ + "libdir of installed modules" " " 11 +at_xfail=no +( + $as_echo "109. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# This test requires shared library support. +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:27: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "ltdl-libdir.at:27" +( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:27" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# With MinGW, try Windows-style paths only. +if pwd -W >/dev/null 2>&1; then + prefix=`pwd -W`/inst +else + prefix=`pwd`/inst +fi +libdir=$prefix/lib +bindir=$prefix/bin +mkdir $prefix $libdir $bindir + +cat >a.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" +#endif +int f (void) +{ + return 42; +} +_ATEOF + + +cat >m.c <<'_ATEOF' + +#include +#include + +typedef int func_f(void); + +int +main (int argc, const char *argv[]) +{ + lt_dlhandle module = NULL; + func_f *f = NULL; + + if (lt_dlinit()) { + fprintf(stderr, "lt_dlinit failed '%s'\n", lt_dlerror()); + return 1; + } + + module = lt_dlopen("./a.la"); + + if (!module) { + fprintf(stderr, "lt_dlopen failed '%s'\n", lt_dlerror()); + return 1; + } + + f = (func_f *)lt_dlsym(module, "f"); + + if (!f) { + fprintf(stderr, "lt_dlsym failed '%s'\n", lt_dlerror()); + return 1; + } + + if (f() != 42) { + fprintf(stderr, "f did not return 42\n"); + return 1; + } + + lt_dlclose(module); + lt_dlexit(); + return 0; +} +_ATEOF + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip installcheck if --disable-ltdl-install was used. +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:97: test -f \"\$LIBLTDL\" || exit 77" +at_fn_check_prepare_dynamic "test -f \"$LIBLTDL\" || exit 77" "ltdl-libdir.at:97" +( $at_check_trace; test -f "$LIBLTDL" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:97" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" + +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:102: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "ltdl-libdir.at:102" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:102" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:104: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o a.la a.lo -rpath \$libdir -module -shared -avoid-version" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a.la a.lo -rpath $libdir -module -shared -avoid-version" "ltdl-libdir.at:104" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a.la a.lo -rpath $libdir -module -shared -avoid-version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:104" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:107: \$CC \$CPPFLAGS \$CFLAGS -c m.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c m.c" "ltdl-libdir.at:107" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c m.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:107" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:109: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m\$EXEEXT m.\$OBJEXT \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT $LIBLTDL" "ltdl-libdir.at:109" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:109" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:112: \$LIBTOOL --mode=install cp a.la \$libdir/a.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp a.la $libdir/a.la" "ltdl-libdir.at:112" +( $at_check_trace; $LIBTOOL --mode=install cp a.la $libdir/a.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:112" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:114: \$LIBTOOL --mode=install cp m\$EXEEXT \$bindir/m\$EXEEXT" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT" "ltdl-libdir.at:114" +( $at_check_trace; $LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Try finding the module via the libdir entry in a misplaced .la file. + +mv $libdir/a.la $bindir/a.la +cd $bindir +lt_exe=./m; if test -f "./m$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/ltdl-libdir.at:121: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "ltdl-libdir.at:121" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:121" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_109 +#AT_START_110 +at_fn_group_banner 110 'ltdl-api.at:26' \ + "ltdl API" " " 11 +at_xfail=no +( + $as_echo "110. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Ensure that no symbols from argz are unrenamed. +eval `$LIBTOOL --config | $EGREP '^(NM|global_symbol_pipe|objext)='` +lt__argz_o=$abs_top_builddir/libltdl/lt__argz.$objext +{ set +x +$as_echo "$at_srcdir/ltdl-api.at:32: test -f \"\$lt__argz_o\" || exit 77" +at_fn_check_prepare_dynamic "test -f \"$lt__argz_o\" || exit 77" "ltdl-api.at:32" +( $at_check_trace; test -f "$lt__argz_o" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-api.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ltdl-api.at:33: eval \"\$NM \\\"\\\$lt__argz_o\\\" | \$global_symbol_pipe\"" +at_fn_check_prepare_notrace 'a shell pipeline' "ltdl-api.at:33" +( $at_check_trace; eval "$NM \"\$lt__argz_o\" | $global_symbol_pipe" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ltdl-api.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Check for global symbols beginning with "argz_" +{ set +x +$as_echo "$at_srcdir/ltdl-api.at:36: \$GREP \"^T argz_\" stdout" +at_fn_check_prepare_dynamic "$GREP \"^T argz_\" stdout" "ltdl-api.at:36" +( $at_check_trace; $GREP "^T argz_" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/ltdl-api.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +# and also for the _ prefixed version "_argz_" +{ set +x +$as_echo "$at_srcdir/ltdl-api.at:38: \$GREP \"^T _argz_\" stdout" +at_fn_check_prepare_dynamic "$GREP \"^T _argz_\" stdout" "ltdl-api.at:38" +( $at_check_trace; $GREP "^T _argz_" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/ltdl-api.at:38" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_110 +#AT_START_111 +at_fn_group_banner 111 'dlloader-api.at:23' \ + "dlloader API" " " 11 +at_xfail=no +( + $as_echo "111. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >main.c <<'_ATEOF' +#include +#include +#include +#include + +static int +first_init (lt_user_data data) +{ + const char *ctx = (const char *) data; + + printf ("first_init: %s\n", ctx); + + return 0; +} + +static lt_module +first_open (lt_user_data data, const char *filename, lt_dladvise advise) +{ + static const char *first_module = "first"; + const char *ctx = (const char *) data; + + /* Use a magic string to avoid possible interactions with file system + * objects. Prepend '/' to short-circuit libltdl's search of + * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). + */ + if (!filename || strcmp (filename, "/libltdl_dlloader_api_test_first")) + { + printf ("first_open denies a request\n"); + lt_dlseterror (LT_ERROR_FILE_NOT_FOUND); + return NULL; + } + + printf ("first_open (\"%s\"): %s\n", filename, ctx); + + return (lt_module) first_module; +} + +static const char * +first_symbol (void) +{ + return "first_symbol"; +} + +static void * +first_sym (lt_user_data data, lt_module module, const char *symbolname) +{ + const char *ctx = (const char *) data; + const char *filename = (const char *) module; + + printf ("first_sym (%s): %s\n", filename, ctx); + + return (void *) first_symbol; +} + +static int +first_close (lt_user_data data, lt_module module) +{ + const char *ctx = (const char *) data; + const char *filename = (const char *) module; + + printf ("first_close (%s): %s\n", filename, ctx); + + return 0; +} + +static int +first_exit (lt_user_data data) +{ + const char *ctx = (const char *) data; + + printf ("first_exit: %s\n", ctx); + + return 0; +} + +static int +last_init (lt_user_data data) +{ + const char *ctx = (const char *) data; + + printf ("last_init: %s\n", ctx); + + return 0; +} + +static lt_module +last_open (lt_user_data data, const char *filename, lt_dladvise advise) +{ + static const char *last_module = "last"; + const char *ctx = (const char *) data; + + /* Use a magic string to avoid possible interactions with file system + * objects. Prepend '/' to short-circuit libltdl's search of + * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). + */ + if (!filename || strcmp (filename, "/libltdl_dlloader_api_test_last")) + { + printf ("last_open denies a request\n"); + lt_dlseterror (LT_ERROR_FILE_NOT_FOUND); + return NULL; + } + + printf ("last_open (\"%s\"): %s\n", filename, ctx); + + return (lt_module) last_module; +} + +static const char * +last_symbol (void) +{ + return "last_symbol"; +} + +static void * +last_sym (lt_user_data data, lt_module module, const char *symbolname) +{ + const char *ctx = (const char *) data; + const char *filename = (const char *) module; + + printf ("last_sym (%s): %s\n", filename, ctx); + + return (void *) last_symbol; +} + +static int +last_close (lt_user_data data, lt_module module) +{ + const char *ctx = (const char *) data; + const char *filename = (const char *) module; + + printf ("last_close (%s): %s\n", filename, ctx); + + return 0; +} + +static int +last_exit (lt_user_data data) +{ + const char *ctx = (const char *) data; + + printf ("last_exit: %s\n", ctx); + + return 0; +} + +typedef const char *module_func (void); + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlvtable *first; + lt_dlvtable *last; + lt_dlhandle module = NULL; + module_func *symbol; + const char *first_ctx = "first_ctx"; + const char *last_ctx = "last_ctx"; + const lt_dlvtable *finder; + + LTDL_SET_PRELOADED_SYMBOLS (); + + if (lt_dlinit ()) + { + printf ("lt_dlinit failed\n"); + return 1; + } + + first = (lt_dlvtable *) malloc (sizeof (*first)); + if (!first) + { + printf ("malloc failed\n"); + err = 1; + goto cleanup; + } + + first->name = "first"; + first->sym_prefix = NULL; + first->module_open = first_open; + first->module_close = first_close; + first->find_sym = first_sym; + first->dlloader_init = first_init; /* test that it isn't called twice */ + first->dlloader_exit = first_exit; + first->dlloader_data = (lt_user_data) first_ctx; + first->priority = LT_DLLOADER_PREPEND; + + if (first_init (first->dlloader_data)) + { + printf ("first_init failed\n"); + err = 1; + goto cleanup; + } + + if (lt_dlloader_add (first)) + { + printf ("lt_dlloader_add failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + finder = lt_dlloader_find ("first"); + + if (!finder) + { + printf ("lt_dlloader_find failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("Found loader \"%s\"\n", finder->name); + + last = (lt_dlvtable *) malloc (sizeof (*last)); + if (!last) + { + printf ("malloc failed\n"); + err = 1; + goto cleanup; + } + + last->name = "last"; + last->sym_prefix = NULL; + last->module_open = last_open; + last->module_close = last_close; + last->find_sym = last_sym; + last->dlloader_init = last_init; /* test that it isn't called twice */ + last->dlloader_exit = last_exit; + last->dlloader_data = (lt_user_data) last_ctx; + last->priority = LT_DLLOADER_APPEND; + + if (last_init (last->dlloader_data)) + { + printf ("last_init failed\n"); + err = 1; + goto cleanup; + } + + if (lt_dlloader_add (last)) + { + printf ("lt_dlloader_add failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + finder = lt_dlloader_find ("last"); + + if (!finder) + { + printf ("lt_dlloader_find failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("Found loader \"%s\"\n", finder->name); + + /* Use a magic string to avoid possible interactions with file system + * objects. Prepend '/' to short-circuit libltdl's search of + * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). + */ + module = lt_dlopen ("/libltdl_dlloader_api_test_first"); + + if (!module) + { + printf ("lt_dlopen failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + symbol = (module_func *) lt_dlsym (module, "symbol"); + + if (!symbol) + { + printf ("lt_dlsym failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("result: %s\n", symbol ()); + + lt_dlclose (module); + module = lt_dlopen ("./module.la"); + + if (!module) + { + printf ("lt_dlopen failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + symbol = (module_func *) lt_dlsym (module, "symbol"); + + if (!symbol) + { + printf ("lt_dlsym failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("result: %s\n", symbol ()); + + lt_dlclose (module); + + /* Use a magic string to avoid possible interactions with file system + * objects. Prepend '/' to short-circuit libltdl's search of + * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). + */ + module = lt_dlopen ("/libltdl_dlloader_api_test_last"); + + if (!module) + { + printf ("lt_dlopen failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + symbol = (module_func *) lt_dlsym (module, "symbol"); + + if (!symbol) + { + printf ("lt_dlsym failed: %s\n", lt_dlerror ()); + err = 1; + goto cleanup; + } + + printf ("result: %s\n", symbol ()); + + if (lt_dlopen ("no-module")) + { + printf ("lt_dlopen unexpectedly opened \"no-module\"\n"); + err = 1; + goto cleanup; + } + + if (lt_dlloader_remove ("first") != first) + { + printf ("vtable of first loader has changed\n"); + err = 1; + goto cleanup; + } + + free (first); + +cleanup: + if (module) + { + lt_dlclose (module); + } + lt_dlexit (); + return err; +} +_ATEOF + + +cat >module.c <<'_ATEOF' + +#ifdef __cplusplus +extern "C" +#endif +const char *symbol (void); +const char * +symbol (void) +{ + return "module_symbol"; +} +_ATEOF + + +cat >expout <<'_ATEOF' +first_init: first_ctx +Found loader "first" +last_init: last_ctx +Found loader "last" +first_open ("/libltdl_dlloader_api_test_first"): first_ctx +first_sym (first): first_ctx +result: first_symbol +first_close (first): first_ctx +first_open denies a request +result: module_symbol +first_open denies a request +last_open ("/libltdl_dlloader_api_test_last"): last_ctx +last_sym (last): last_ctx +result: last_symbol +first_open denies a request +last_open denies a request +first_exit: first_ctx +last_close (last): last_ctx +last_exit: last_ctx +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/dlloader-api.at:417: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "dlloader-api.at:417" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:417" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" + +{ set +x +$as_echo "$at_srcdir/dlloader-api.at:423: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c module.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c" "dlloader-api.at:423" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:423" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/dlloader-api.at:425: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o module.la -rpath /nowhere -module -avoid-version -no-undefined module.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la -rpath /nowhere -module -avoid-version -no-undefined module.lo" "dlloader-api.at:425" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la -rpath /nowhere -module -avoid-version -no-undefined module.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:425" +$at_failed && at_fn_log_failure +$at_traceon; } + + +. ./module.la +{ set +x +$as_echo "$at_srcdir/dlloader-api.at:432: test -n \"\$dlname\" || (exit 77)" +at_fn_check_prepare_dynamic "test -n \"$dlname\" || (exit 77)" "dlloader-api.at:432" +( $at_check_trace; test -n "$dlname" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:432" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/dlloader-api.at:434: \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "dlloader-api.at:434" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:434" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/dlloader-api.at:435: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlopen module.la \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen module.la $LIBLTDL" "dlloader-api.at:435" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen module.la $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:435" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/dlloader-api.at:439: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "dlloader-api.at:439" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:439" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_111 +#AT_START_112 +at_fn_group_banner 112 'loadlibrary.at:23' \ + "loadlibrary error messages" " " 11 +at_xfail=no +( + $as_echo "112. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" + +cat >main.c <<'_ATEOF' +#include +#include + +static int +standard_error_message(const char *error) +{ + int error_number; + + for (error_number = 0; error_number < LT_ERROR_MAX; ++error_number) + { + lt_dlseterror (error_number); + if (error == lt_dlerror ()) + { + return 1; + } + } + + lt_dlseterror (LT_ERROR_UNKNOWN); + return 0; +} + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle module = NULL; + const lt_dlvtable *loadlibrary; + const lt_dlvtable *preopen; + lt_dlloader loader = NULL; + lt_dlloader next; + const lt_dlvtable *vtable; + void *symbol; + const char *error; + + if (argc < 2) + { + fprintf (stderr, "usage: %s plugin [symbol]\n", argv[0]); + return 1; + } + + lt_dlinit (); + + loadlibrary = lt_dlloader_find ("lt_loadlibrary"); + if (!loadlibrary) + { + /* Skip if the loadlibrary loader isn't supported */ + printf ("loadlibrary loader not found\n"); + err = 77; + goto cleanup; + } + + preopen = lt_dlloader_find ("lt_preopen"); + if (!loadlibrary) + { + printf ("preopen loader not found\n"); + err = 2; + goto cleanup; + } + + /* Remove all loaders except the preopen and loadlibrary loaders. */ + while (next = lt_dlloader_next (loader)) + { + if (lt_dlloader_get (next) == loadlibrary) + { + loader = next; + continue; + } + + if (lt_dlloader_get (next) == preopen) + { + loader = next; + continue; + } + + lt_dlloader_remove (lt_dlloader_get (next)->name); + } + + module = lt_dlopen (argv[1]); + error = lt_dlerror (); + + if (module) + { + printf ("lt_dlopen: success!\n"); + + if (argc == 2) + { + /* But failure was the desired result... */ + printf ("expected failure\n"); + err = 2; + goto cleanup; + } + } + else if (argc > 2) + { + /* Didn't expect failure... */ + printf ("lt_dlopen: failure: %s\n", error); + err = 2; + goto cleanup; + } + else if (standard_error_message (error)) + { + /* Expected custom error message... */ + printf ("lt_dlopen: standard error (bad): %s\n", error); + err = 1; + goto cleanup; + } + else + { + printf ("lt_dlopen: custom error (good): %s\n", error); + goto cleanup; + } + + symbol = lt_dlsym (module, argv[2]); + error = lt_dlerror (); + + if (symbol) + { + printf ("lt_dlsym: success!\n"); + } + else if (standard_error_message (error)) + { + /* Expected custom failure message... */ + printf ("lt_dlsym: standard error (bad): %s\n", error); + err = 1; + } + else + { + printf ("lt_dlsym: custom error (good): %s\n", error); + } + +cleanup: + if (module) + { + lt_dlclose (module); + } + lt_dlexit (); + return err; +} +_ATEOF + + +cat >foomod.c <<'_ATEOF' + +#ifdef __cplusplus +extern "C" +#endif +int foosym (void); +int +foosym (void) +{ + return 0; +} +_ATEOF + + +cat >bardep.c <<'_ATEOF' + +#ifdef __cplusplus +extern "C" +#endif +int bardep (void); +int +bardep (void) +{ + return 0; +} +_ATEOF + + +cat >barmod.c <<'_ATEOF' + +#ifdef __cplusplus +extern "C" { +#endif +int bardep (void); +int barsym (void); +#ifdef __cplusplus +} +#endif +int +barsym (void) +{ + return bardep (); +} +_ATEOF + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:217: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "loadlibrary.at:217" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:217" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +inst=`pwd`/inst +libdir=$inst/lib + +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:225: \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "loadlibrary.at:225" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:225" +$at_failed && at_fn_log_failure +$at_traceon; } + +for file in foomod.c bardep.c barmod.c; do + { set +x +$as_echo "$at_srcdir/loadlibrary.at:227: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c \$file" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file" "loadlibrary.at:227" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:227" +$at_failed && at_fn_log_failure +$at_traceon; } + +done +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:230: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o foomod.la -rpath \$libdir -module -avoid-version -no-undefined foomod.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o foomod.la -rpath $libdir -module -avoid-version -no-undefined foomod.lo" "loadlibrary.at:230" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o foomod.la -rpath $libdir -module -avoid-version -no-undefined foomod.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:230" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:234: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbardep.la -rpath \$libdir -avoid-version -no-undefined bardep.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbardep.la -rpath $libdir -avoid-version -no-undefined bardep.lo" "loadlibrary.at:234" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbardep.la -rpath $libdir -avoid-version -no-undefined bardep.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:234" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:238: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o barmod.la -rpath \$libdir -module -avoid-version -no-undefined barmod.lo ./libbardep.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o barmod.la -rpath $libdir -module -avoid-version -no-undefined barmod.lo ./libbardep.la" "loadlibrary.at:238" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o barmod.la -rpath $libdir -module -avoid-version -no-undefined barmod.lo ./libbardep.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:238" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:243: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $LIBLTDL" "loadlibrary.at:243" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:243" +$at_failed && at_fn_log_failure +$at_traceon; } + + +. ./foomod.la +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:248: test -n \"\$dlname\" || (exit 77)" +at_fn_check_prepare_dynamic "test -n \"$dlname\" || (exit 77)" "loadlibrary.at:248" +( $at_check_trace; test -n "$dlname" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:248" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:250: if \"\$lt_exe\" ./foomod.la no_symbol; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ./foomod.la no_symbol; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "loadlibrary.at:250" +( $at_check_trace; if "$lt_exe" ./foomod.la no_symbol; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:250" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# chmod -x doesn't appear to work in MSYS, and Wine can load no-exec dlls. + +rm -f $objdir/$dlname +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:257: if \"\$lt_exe\" ./foomod.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ./foomod.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "loadlibrary.at:257" +( $at_check_trace; if "$lt_exe" ./foomod.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:257" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:259: if \"\$lt_exe\" ./barmod.la no_symbol; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ./barmod.la no_symbol; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "loadlibrary.at:259" +( $at_check_trace; if "$lt_exe" ./barmod.la no_symbol; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:259" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +. ./libbardep.la +# chmod -x doesn't appear to work in MSYS, and Wine can load no-exec dlls. + +rm -f $objdir/$dlname +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/loadlibrary.at:267: if \"\$lt_exe\" ./barmod.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ./barmod.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "loadlibrary.at:267" +( $at_check_trace; if "$lt_exe" ./barmod.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:267" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_112 +#AT_START_113 +at_fn_group_banner 113 'lalib-syntax.at:24' \ + "syntax of .la files" " " 11 +at_xfail=yes +( + $as_echo "113. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle plugin_handle; + + if (argc < 2) + { + fprintf (stderr, "usage: %s plugin\n", argv[0]); + return 1; + } + + lt_dlinit (); + plugin_handle = lt_dlopenext (argv[1]); + if (NULL != plugin_handle) + { + printf ("plugin opened successfully!\n"); + lt_dlclose (plugin_handle); + } + else + { + const char *error = lt_dlerror (); + assert (error != NULL); + printf ("plugin failed to open: %s\n", error); + err = 1; + } + lt_dlexit (); + return err; +} +_ATEOF + + +cat >module.c <<'_ATEOF' +int foo (void) { return 0; } +_ATEOF + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/lalib-syntax.at:75: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "lalib-syntax.at:75" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:75" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$CPPFLAGS $LTDLINCL" + +{ set +x +$as_echo "$at_srcdir/lalib-syntax.at:81: \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "lalib-syntax.at:81" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:81" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lalib-syntax.at:82: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c module.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c" "lalib-syntax.at:82" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:82" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lalib-syntax.at:84: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o module.la module.lo -module -avoid-version -rpath /somewhere" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la module.lo -module -avoid-version -rpath /somewhere" "lalib-syntax.at:84" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la module.lo -module -avoid-version -rpath /somewhere +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/lalib-syntax.at:86: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main main.\$OBJEXT \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.$OBJEXT $LIBLTDL" "lalib-syntax.at:86" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.$OBJEXT $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Several bogus test cases. + +cat >missing-closing-quote.la <<'_ATEOF' +# missing-closing-quote.la - a libtool library file +# Generated by libtool +dlname='module.so +library_names='module.so module.so module.so' +old_library='module.a' +installed=no +shouldnotlink=yes +libdir='/somewhere' +_ATEOF + + +cat >wrong-quotes.la <<'_ATEOF' +# wrong-quotes.la - a libtool library file +# Generated by libtool +dlname=module.so +library_names='module.so module.so module.so' +old_library='module.a' +installed=no +shouldnotlink=yes +libdir='/somewhere' +_ATEOF + + +cat >no-dlname.la <<'_ATEOF' +# no-dlname.la - a libtool library file +# Generated by libtool +installed=no +shouldnotlink=yes +libdir='/somewhere' +_ATEOF + + +cat >nonexistent-dlname.la <<'_ATEOF' +# nonexistent-dlname.la - a libtool library file +# Generated by libtool +dlname='does-not-exist.so' +installed=no +shouldnotlink=yes +libdir='/somewhere' +_ATEOF + + +for file in ./missing-closing-quote.la ./wrong-quotes.la \ + ./no-dlname.la ./nonexistent-dlname.la; do + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/lalib-syntax.at:133: if \"\$lt_exe\" \$file; then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" $file; then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lalib-syntax.at:133" +( $at_check_trace; if "$lt_exe" $file; then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/lalib-syntax.at:133" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/lalib-syntax.at:134: \$GREP 'plugin failed to open' stdout" +at_fn_check_prepare_dynamic "$GREP 'plugin failed to open' stdout" "lalib-syntax.at:134" +( $at_check_trace; $GREP 'plugin failed to open' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:134" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_113 +#AT_START_114 +at_fn_group_banner 114 'resident.at:27' \ + "resident modules" " " 11 +at_xfail=no +( + $as_echo "114. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >main.c <<'_ATEOF' +#include +#include + +int +main (int argc, char* argv[]) +{ + int err = 0; + lt_dlhandle plugin_handle; + lt_dladvise advise; + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (argc < 2) + { + fprintf (stderr, "usage: %s plugin\n", argv[0]); + return 1; + } + + lt_dlinit (); + if (lt_dladvise_init (&advise) != 0 + || lt_dladvise_ext (&advise) != 0 + || lt_dladvise_resident (&advise) != 0) + { + printf ("advise failure: %s\n", lt_dlerror ()); + err = 1; + } + else + { + plugin_handle = lt_dlopenadvise (argv[1], advise); + if (NULL != plugin_handle) + { + int (*pf) (void); + printf ("plugin opened successfully!\n"); + pf = (int (*) (void)) lt_dlsym (plugin_handle, "setup_plugin"); + if (pf) + pf (); + else + { + printf ("dlsym failure: %s\n", lt_dlerror ()); + err = 1; + } + if (!lt_dlisresident (plugin_handle)) + { + printf ("module wrongly not marked resident\n"); + err = 1; + } + if (lt_dlclose (plugin_handle) != 0) + { + printf ("close failure (expected): %s\n", lt_dlerror ()); + } + else + { + printf ("wrongly closed resident module\n"); + err = 1; + } + } + else + { + printf ("plugin failed to open: %s\n", lt_dlerror ()); + err = 1; + } + if (lt_dladvise_destroy (&advise) != 0) + { + printf ("advise destroy failure: %s\n", lt_dlerror ()); + err = 1; + } + } + lt_dlexit (); + return err; +} +_ATEOF + + +cat >plugin.c <<'_ATEOF' +#include +#include + +void +bye (void) +{ + puts ("called from atexit handler"); +} + +#ifdef __cplusplus +extern "C" +#endif +int +setup_plugin (void) +{ + atexit (bye); +} +_ATEOF + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/resident.at:128: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "resident.at:128" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/resident.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" +inst=`pwd`/inst +libdir=$inst/lib + +{ set +x +$as_echo "$at_srcdir/resident.at:137: \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "resident.at:137" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/resident.at:137" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/resident.at:138: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c plugin.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c" "resident.at:138" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/resident.at:138" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/resident.at:140: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o plugin.la -rpath \$libdir -module -avoid-version plugin.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir -module -avoid-version plugin.lo" "resident.at:140" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir -module -avoid-version plugin.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/resident.at:140" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/resident.at:142: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlopen plugin.la \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen plugin.la $LIBLTDL" "resident.at:142" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen plugin.la $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/resident.at:142" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/resident.at:145: if \"\$lt_exe\" ./plugin.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ./plugin.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "resident.at:145" +( $at_check_trace; if "$lt_exe" ./plugin.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/resident.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/resident.at:146: \$GREP 'called from atexit handler' stdout" +at_fn_check_prepare_dynamic "$GREP 'called from atexit handler' stdout" "resident.at:146" +( $at_check_trace; $GREP 'called from atexit handler' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/resident.at:146" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_114 +#AT_START_115 +at_fn_group_banner 115 'slist.at:25' \ + "SList functionality" " " 11 +at_xfail=no +( + $as_echo "115. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >test-slist.c <<'_ATEOF' + +#include +#include +#include +#include +#include +#include "slist.h" + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +void *find_string (SList *item, void *data) +{ + if (data != NULL && STREQ ((const char *) item->userdata, (const char *)data)) + return item; + else + return NULL; +} + +void boxed_delete (void *item) +{ + free (slist_unbox ((SList *) item)); +} + +void *print_item (SList *item, void *userdata) +{ + userdata = userdata; /* unused */ + printf ("%s\n", (const char*)item->userdata); + return NULL; +} + +int list_compare (const SList *item1, const SList *item2, void *userdata) +{ + userdata = userdata; + return strcmp ((const char *) item1->userdata, (const char *)item2->userdata); +} + +int main () +{ + int i; + SList *empty_list = NULL, *list = NULL, *item, *list_save; + char *data = NULL; + + /* slist_cons */ + list = slist_cons (NULL, NULL); + + for (i=0; i < 10; ++i) { + data = (char *) malloc (42); + assert (data); + sprintf (data, "foo%d", i); + list = slist_cons (slist_box (data), list); + } + list_save = list; + list = slist_cons (NULL, list); + assert (list == list_save); + + + /* slist_find */ + assert (slist_find (NULL, find_string, (void *) "whatever") == NULL); + assert (slist_find (empty_list, find_string, (void *) "whatever") == NULL); + assert (slist_find (list, find_string, (void *) "foo10") == NULL); + item = (SList *) slist_find (list, find_string, (void *) "foo1"); + assert (item != NULL); + assert (STREQ ((const char *) item->userdata, "foo1")); + + item = slist_nth (list, 10); + assert (item != NULL && STREQ ((const char *) item->userdata, "foo0")); + + puts ("list as inserted:"); + slist_foreach (list, print_item, NULL); + puts ("reversed list:"); + list = slist_reverse (list); + slist_foreach (list, print_item, NULL); + + item = slist_nth (list, 1); + assert (item != NULL && STREQ ((const char *) item->userdata, "foo0")); + + assert (10 == slist_length (list)); + + /* slist_tail is the second item, not the last one */ + item = slist_tail (list); + assert (item != NULL && STREQ ((const char *) item->userdata, "foo1")); + + assert (slist_tail (slist_nth (list, 10)) == NULL); + + /* slist_sort and implicitly, slist_sort_merge */ + assert (slist_sort (NULL, list_compare, NULL) == NULL); + list = slist_sort (list, list_compare, NULL); + puts ("list after no-op sort:"); + slist_foreach (list, print_item, NULL); + + list = slist_reverse (list); + puts ("reversed list:"); + slist_foreach (list, print_item, NULL); + puts ("sorting reversed list:"); + list = slist_sort (list, list_compare, NULL); + slist_foreach (list, print_item, NULL); + + /* slist_remove */ + assert (slist_remove (NULL, find_string, NULL) == NULL); + assert (slist_remove (&empty_list, find_string, NULL) == NULL); + + list_save = list; + assert (slist_remove (&list, find_string, NULL) == NULL); + assert (list_save == list); + + /* remove entries: middle, last, first, not present */ + /* slist_reverse above has left us with increasing order */ + list_save = list; + item = slist_remove (&list, find_string, (void *) "foo5"); + assert (list_save == list); + assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo5")); + free (data); + + list_save = list; + item = slist_remove (&list, find_string, (void *) "foo9"); + assert (list_save == list); + assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo9")); + free (data); + + list_save = list; + item = slist_remove (&list, find_string, (void *) "foo0"); + assert (list_save != list); + assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo0")); + free (data); + + list_save = list; + item = slist_remove (&list, find_string, (void *) "foo5"); + assert (list_save == list); + assert (item == NULL); + + assert (slist_delete (list, boxed_delete) == NULL); + return 0; +} +_ATEOF + + +CPPFLAGS="-I$top_srcdir/libltdl -I$top_srcdir/libltdl/libltdl -I$abs_top_builddir" +{ set +x +$as_echo "$at_srcdir/slist.at:163: \$CC \$CPPFLAGS \$CFLAGS -c test-slist.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c test-slist.c" "slist.at:163" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c test-slist.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/slist.at:163" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/slist.at:165: \$CC \$CPPFLAGS \$CFLAGS -c \$top_srcdir/libltdl/slist.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c $top_srcdir/libltdl/slist.c" "slist.at:165" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c $top_srcdir/libltdl/slist.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/slist.at:165" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/slist.at:167: \$CC \$CFLAGS \$LDFLAGS -o test-slist test-slist.\$OBJEXT slist.\$OBJEXT" +at_fn_check_prepare_dynamic "$CC $CFLAGS $LDFLAGS -o test-slist test-slist.$OBJEXT slist.$OBJEXT" "slist.at:167" +( $at_check_trace; $CC $CFLAGS $LDFLAGS -o test-slist test-slist.$OBJEXT slist.$OBJEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/slist.at:167" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./test-slist; if test -f "./test-slist$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/slist.at:169: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "slist.at:169" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/slist.at:169" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_115 +#AT_START_116 +at_fn_group_banner 116 'need_lib_prefix.at:26' \ + "enforced lib prefix" " " 11 +at_xfail=no +( + $as_echo "116. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Originally written to simulate a failure visible on systems +# that need a library prefix like 'lib', such as BeOS. Currently +# the prefix is hardcoded as 'lib', so systems that require a +# different prefix skips the test. + +cat >main.c <<'_ATEOF' +#include +#include + +typedef int fun (int); + +static int errors = 0; + +static void +complain (const char *msg) +{ + const char *errmsg = lt_dlerror (); + fprintf (stderr, "%s", msg); + if (errmsg) + fprintf (stderr, ": %s\n", errmsg); + else + fprintf (stderr, ".\n"); + ++errors; +} + +static lt_dlhandle +moduleopen (const char *filename) +{ + lt_dlhandle handle; + + handle = lt_dlopen (filename); + if (!handle) + { + fprintf (stderr, "can't open the module %s!\n", filename); + complain ("error was"); + } + + return handle; +} + +static int +moduletest (lt_dlhandle handle) +{ + const lt_dlinfo *info = lt_dlgetinfo (handle); + fun *f = (fun *) lt_dlsym (handle, "f"); + int *v = (int *) lt_dlsym (handle, "i"); + + if (!f) + { + complain ("function 'f' not found"); + return 1; + } + if (!v) + { + complain ("variable 'i' not found"); + return 1; + } + printf ("%s: %d\n", info->name, f (*v)); + + return 0; +} + +int +main (int argc, char **argv) +{ + lt_dlhandle handle; + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (lt_dlinit() != 0) + { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + if (lt_dlpreload_open (0, moduletest) != 0) + complain ("error during preloading"); + + if (lt_dlexit () != 0) + complain ("error during exit"); + + return (errors != 0); +} +_ATEOF + + +cat >foo1.c <<'_ATEOF' +#define f foo1_LTX_f +#define i foo1_LTX_i +#ifdef __cplusplus +extern "C" { +#endif +int f (int x) { return x / 3; } +int i = 7; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >foo2.c <<'_ATEOF' +#define f libfoo2_LTX_f +#define i libfoo2_LTX_i +#ifdef __cplusplus +extern "C" { +#endif +int f (int x) { return (x * x) / 10; } +int i = 6; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >expout <<'_ATEOF' +libfoo1: 2 +libfoo2: 3 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/need_lib_prefix.at:150: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "need_lib_prefix.at:150" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:150" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS=$LDFLAGS + +# Skip this test when libraries are not normally prefixed with lib. +# E.g., for MSVC and OS/2. +eval "`$LIBTOOL --config | $EGREP '^(libname_spec)='`" +name= +eval libname=\"$libname_spec\" +{ set +x +$as_echo "$at_srcdir/need_lib_prefix.at:162: test lib = \"\$libname\" || exit 77" +at_fn_check_prepare_dynamic "test lib = \"$libname\" || exit 77" "need_lib_prefix.at:162" +( $at_check_trace; test lib = "$libname" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:162" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Create our own libtool, forcing need_lib_prefix setting +$SED 's|^\(need_lib_prefix\)=.*$|\1=unknown|' $LIBTOOL > ./libtool +LIBTOOL="$SHELL ./libtool" + +# Installation directory: +instdir=`pwd`/_inst + +$CC $CPPFLAGS $CFLAGS -c main.c +for file in foo1 foo2; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c +done + +{ set +x +$as_echo "$at_srcdir/need_lib_prefix.at:176: \$LIBTOOL --mode=link \$CC -module -avoid-version \$CFLAGS \$LDFLAGS -o foo1.la foo1.lo -rpath \$instdir/lib" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o foo1.la foo1.lo -rpath $instdir/lib" "need_lib_prefix.at:176" +( $at_check_trace; $LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o foo1.la foo1.lo -rpath $instdir/lib +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:176" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/need_lib_prefix.at:178: \$LIBTOOL --mode=link \$CC -module -avoid-version \$CFLAGS \$LDFLAGS -o libfoo2.la foo2.lo -rpath \$instdir/lib" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o libfoo2.la foo2.lo -rpath $instdir/lib" "need_lib_prefix.at:178" +( $at_check_trace; $LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o libfoo2.la foo2.lo -rpath $instdir/lib +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:178" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/need_lib_prefix.at:180: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlpreopen foo1.la -dlpreopen libfoo2.la \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlpreopen foo1.la -dlpreopen libfoo2.la $LIBLTDL" "need_lib_prefix.at:180" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlpreopen foo1.la -dlpreopen libfoo2.la $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:180" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/need_lib_prefix.at:183: if \$LIBTOOL --mode=execute -dlopen foo1.la -dlopen libfoo2.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen foo1.la -dlopen libfoo2.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "need_lib_prefix.at:183" +( $at_check_trace; if $LIBTOOL --mode=execute -dlopen foo1.la -dlopen libfoo2.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:183" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Install the libraries. +mkdir $instdir +mkdir $instdir/lib +$LIBTOOL --mode=install cp foo1.la $instdir/lib/foo1.la +$LIBTOOL --mode=install cp libfoo2.la $instdir/lib/libfoo2.la + +# Install the binary +mkdir $instdir/bin +$LIBTOOL --mode=install cp main$EXEEXT $instdir/bin/main$EXEEXT + +lt_exe=$instdir/bin/main; if test -f "$instdir/bin/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/need_lib_prefix.at:196: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "need_lib_prefix.at:196" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:196" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_116 +#AT_START_117 +at_fn_group_banner 117 'mdemo.at:625' \ + "dynamically ltdl preload static modules" " " 12 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "117. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<_EOT_ +AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT([dlopen win32-dll]) +LTDL_INIT([nonrecursive convenience]) +AC_SUBST([LIBTOOL_DEPS]) +AC_SUBST([INCLTDL]) +AC_SUBST([LIBLTDL]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_EOT_ + + +cat >Makefile.am <<_EOT_ +AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign +ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = \$(INCLTDL) +AM_LDFLAGS = + +noinst_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +include_HEADERS = + +EXTRA_DIST = + +BUILT_SOURCES = +CLEANFILES = +MOSTLYCLEANFILES = + +lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la + +foo1_la_SOURCES = foo1.c +foo1_la_LIBADD = \$(LIBM) libsub.la +foo1_la_LDFLAGS = -no-undefined -module -avoid-version + +libfoo2_la_SOURCES = foo2.c +libfoo2_la_LIBADD = \$(LIBM) libsub.la +libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" + +libsub_la_SOURCES = sub.c +libsub_la_LDFLAGS = -no-undefined + +## Use -export-symbols-regex here explicitly because libltdl marks +## its exported symbols, and we use libltdl as a convenience archive. +## Thus, on w32, auto-exporting is turned off. +libmlib_la_SOURCES = mlib.c +libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la +libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" +libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +noinst_HEADERS = foo.h + +bin_PROGRAMS = mdemo mdemo_static + +# Create a version of mdemo that does dlopen. +mdemo_SOURCES = main.c +mdemo_LDFLAGS = -export-dynamic +## The quotes around -dlopen below fool automake into accepting it +mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ + "-dlopen" foo1.la "-dlopen" libfoo2.la +mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +# Create a statically linked version of mdemo. +mdemo_static_SOURCES = \$(mdemo_SOURCES) +mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) +mdemo_static_LDADD = \$(mdemo_LDADD) +mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) + +libtool: \$(LIBTOOL_DEPS) + \$(SHELL) ./config.status --recheck + +include \$(srcdir)/libltdl/ltdl.mk +include \$(srcdir)/mdemo.mk +_EOT_ + +cat >mdemo.mk <<'_ATEOF' +# Don't abort for lack of mdemo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +int sub (void); + +#endif +_ATEOF + + +cat >foo1.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing foo1_LTX_nothing +#define foo1 foo1_LTX_foo1 +#define hello foo1_LTX_hello + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +/* private function */ +int _foo1_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo1 (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return _foo1_helper (); +} + +int hello () { + printf ("** This is foolib 1 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >foo2.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing libfoo2_LTX_nothing +#define foo2 libfoo2_LTX_foo2 +#define hello libfoo2_LTX_hello + +/* Give a global variable definition. */ +int nothing; + +/* private function */ +int _foo2_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo2 (void) { + printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); + return _foo2_helper (); +} + +int hello () { + printf ("** This is foolib 2 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >mlib.c <<'_ATEOF' +#include +#include + +#include "foo.h" +#include "ltdl.h" + +int test_dl (char *filename) { + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + handle = lt_dlopen(filename); + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +mlib_func (int argc, char **argv) +{ + int ret = 0; + int i; + /* + * Would be nice if this somehow worked for libraries, not just executables. + * LTDL_SET_PRELOADED_SYMBOLS(); + */ + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + if (test_dl(argv[i])) + ret = 1; + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >sub.c <<'_ATEOF' +#include +#include +void sub (void) { printf ("sub() called\n"); } +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" +#include "ltdl.h" + +#ifdef __cplusplus +# define EXPORT extern "C" +#else +# define EXPORT extern +#endif + +EXPORT int myfunc (void); + +int +test_dl (char *filename, int test_ext) +{ + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + if (test_ext) + handle = lt_dlopenext (filename); + else + handle = lt_dlopen (filename); + + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +myfunc () +{ + return HELLO_RET; +} + +int myvar; + +int +test_dlself () +{ + lt_dlhandle handle; + int (*pmyfunc)() = 0; + int *pmyvar = 0; + int ret = 0; + + handle = lt_dlopen(0); + if (!handle) { + fprintf (stderr, "can't dlopen the program!\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); + if (pmyfunc) + { + int value = (*pmyfunc) (); + + printf ("myfunc returned: %i\n", value); + if (value == HELLO_RET) + printf("myfunc is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'myfunc' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pmyvar = (int*)lt_dlsym(handle, "myvar"); + /* Try assigning to the variable. */ + if (pmyvar) + *pmyvar = 1; + else + { + fprintf (stderr, "did not find the 'myvar' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + lt_dlclose(handle); + return ret; +} + +static int +callback (const char *filename, void *data) +{ + printf ("%s: %s\n", (char *)data, filename); + return 0; +} + +static int +try_iterate (const char *search_path) +{ + char *s = "try_iterate"; + return lt_dlforeachfile (search_path, callback, s); +} + +/* cheap dirname clone. We require a '/' separator, nonempty and large + enough input, not ending with '/', and we will overwrite the input. */ +static char * +my_dirname (char *path) +{ + char *p = strrchr (path, '/'); + if (p) + *p = '\0'; + else + { + path[0] = '.'; + path[1] = '\0'; + } + return path; +} + +int +main (int argc, char **argv) +{ + int i; + int ret = 0; + char *p; + + printf ("Welcome to GNU libtool mdemo!\n"); + + if (argc < 2) { + fprintf (stderr, "usage: %s module [module...]\n", argv[0]); + } + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + { + if (test_dl(argv[i], 0)) + ret = 1; + p = strrchr(argv[i], '.'); + if (p) + { + *p = '\0'; + if (test_dl(argv[i], 1)) + ret = 1; + *p = '.'; + } + } + + if (test_dlself()) + ret = 1; + + for (i = 1; i < argc; i++) + if (argv[i][0] != '\0') + { + my_dirname (argv[i]); + if (try_iterate (argv[i])) + ret = 1; + } + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/mdemo.at:629: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:629" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:629: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:629" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:629: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:629" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/mdemo.at:629: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:629" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:629" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:629: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:629" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:629: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl --disable-shared" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:629" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl --disable-shared +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:629: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "mdemo.at:629" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/mdemo.at:629: \$EGREP '^build_libtool_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "mdemo.at:629" +( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/mdemo.at:631: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:631" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:631: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:631" +( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:631: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:631" +( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:631: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:631" +( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:631: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:631" +( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +for target in install +do + { set +x +$as_echo "$at_srcdir/mdemo.at:632: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:632" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:632" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +lt_exe=$prefix/bin/mdemo_static; if test -f "$prefix/bin/mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:632: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:632" +( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:632" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/mdemo; if test -f "$prefix/bin/mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:632: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:632" +( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:632" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/mdemo.at:633: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:633" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:633" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/mdemo.at:633: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "mdemo.at:633" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:633" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_117 +#AT_START_118 +at_fn_group_banner 118 'mdemo.at:642' \ + "dynamically ltdl load a shared module" " " 12 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "118. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<_EOT_ +AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT([dlopen win32-dll]) +LTDL_INIT([nonrecursive convenience]) +AC_SUBST([LIBTOOL_DEPS]) +AC_SUBST([INCLTDL]) +AC_SUBST([LIBLTDL]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_EOT_ + + +cat >Makefile.am <<_EOT_ +AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign +ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = \$(INCLTDL) +AM_LDFLAGS = + +noinst_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +include_HEADERS = + +EXTRA_DIST = + +BUILT_SOURCES = +CLEANFILES = +MOSTLYCLEANFILES = + +lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la + +foo1_la_SOURCES = foo1.c +foo1_la_LIBADD = \$(LIBM) libsub.la +foo1_la_LDFLAGS = -no-undefined -module -avoid-version + +libfoo2_la_SOURCES = foo2.c +libfoo2_la_LIBADD = \$(LIBM) libsub.la +libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" + +libsub_la_SOURCES = sub.c +libsub_la_LDFLAGS = -no-undefined + +## Use -export-symbols-regex here explicitly because libltdl marks +## its exported symbols, and we use libltdl as a convenience archive. +## Thus, on w32, auto-exporting is turned off. +libmlib_la_SOURCES = mlib.c +libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la +libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" +libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +noinst_HEADERS = foo.h + +bin_PROGRAMS = mdemo mdemo_static + +# Create a version of mdemo that does dlopen. +mdemo_SOURCES = main.c +mdemo_LDFLAGS = -export-dynamic +## The quotes around -dlopen below fool automake into accepting it +mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ + "-dlopen" foo1.la "-dlopen" libfoo2.la +mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +# Create a statically linked version of mdemo. +mdemo_static_SOURCES = \$(mdemo_SOURCES) +mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) +mdemo_static_LDADD = \$(mdemo_LDADD) +mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) + +libtool: \$(LIBTOOL_DEPS) + \$(SHELL) ./config.status --recheck + +include \$(srcdir)/libltdl/ltdl.mk +include \$(srcdir)/mdemo.mk +_EOT_ + +cat >mdemo.mk <<'_ATEOF' +# Don't abort for lack of mdemo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +int sub (void); + +#endif +_ATEOF + + +cat >foo1.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing foo1_LTX_nothing +#define foo1 foo1_LTX_foo1 +#define hello foo1_LTX_hello + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +/* private function */ +int _foo1_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo1 (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return _foo1_helper (); +} + +int hello () { + printf ("** This is foolib 1 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >foo2.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing libfoo2_LTX_nothing +#define foo2 libfoo2_LTX_foo2 +#define hello libfoo2_LTX_hello + +/* Give a global variable definition. */ +int nothing; + +/* private function */ +int _foo2_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo2 (void) { + printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); + return _foo2_helper (); +} + +int hello () { + printf ("** This is foolib 2 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >mlib.c <<'_ATEOF' +#include +#include + +#include "foo.h" +#include "ltdl.h" + +int test_dl (char *filename) { + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + handle = lt_dlopen(filename); + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +mlib_func (int argc, char **argv) +{ + int ret = 0; + int i; + /* + * Would be nice if this somehow worked for libraries, not just executables. + * LTDL_SET_PRELOADED_SYMBOLS(); + */ + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + if (test_dl(argv[i])) + ret = 1; + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >sub.c <<'_ATEOF' +#include +#include +void sub (void) { printf ("sub() called\n"); } +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" +#include "ltdl.h" + +#ifdef __cplusplus +# define EXPORT extern "C" +#else +# define EXPORT extern +#endif + +EXPORT int myfunc (void); + +int +test_dl (char *filename, int test_ext) +{ + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + if (test_ext) + handle = lt_dlopenext (filename); + else + handle = lt_dlopen (filename); + + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +myfunc () +{ + return HELLO_RET; +} + +int myvar; + +int +test_dlself () +{ + lt_dlhandle handle; + int (*pmyfunc)() = 0; + int *pmyvar = 0; + int ret = 0; + + handle = lt_dlopen(0); + if (!handle) { + fprintf (stderr, "can't dlopen the program!\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); + if (pmyfunc) + { + int value = (*pmyfunc) (); + + printf ("myfunc returned: %i\n", value); + if (value == HELLO_RET) + printf("myfunc is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'myfunc' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pmyvar = (int*)lt_dlsym(handle, "myvar"); + /* Try assigning to the variable. */ + if (pmyvar) + *pmyvar = 1; + else + { + fprintf (stderr, "did not find the 'myvar' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + lt_dlclose(handle); + return ret; +} + +static int +callback (const char *filename, void *data) +{ + printf ("%s: %s\n", (char *)data, filename); + return 0; +} + +static int +try_iterate (const char *search_path) +{ + char *s = "try_iterate"; + return lt_dlforeachfile (search_path, callback, s); +} + +/* cheap dirname clone. We require a '/' separator, nonempty and large + enough input, not ending with '/', and we will overwrite the input. */ +static char * +my_dirname (char *path) +{ + char *p = strrchr (path, '/'); + if (p) + *p = '\0'; + else + { + path[0] = '.'; + path[1] = '\0'; + } + return path; +} + +int +main (int argc, char **argv) +{ + int i; + int ret = 0; + char *p; + + printf ("Welcome to GNU libtool mdemo!\n"); + + if (argc < 2) { + fprintf (stderr, "usage: %s module [module...]\n", argv[0]); + } + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + { + if (test_dl(argv[i], 0)) + ret = 1; + p = strrchr(argv[i], '.'); + if (p) + { + *p = '\0'; + if (test_dl(argv[i], 1)) + ret = 1; + *p = '.'; + } + } + + if (test_dlself()) + ret = 1; + + for (i = 1; i < argc; i++) + if (argv[i][0] != '\0') + { + my_dirname (argv[i]); + if (try_iterate (argv[i])) + ret = 1; + } + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/mdemo.at:646: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:646" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:646: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:646" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:646: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:646" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/mdemo.at:646: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:646" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:646" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:646: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:646" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:646: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:646" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:646: \$EGREP '^build_old_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "mdemo.at:646" +( $at_check_trace; $EGREP '^build_old_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/mdemo.at:646: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "mdemo.at:646" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/mdemo.at:648: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:648" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:648: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:648" +( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:648: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:648" +( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:648: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:648" +( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:648: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:648" +( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +for target in install +do + { set +x +$as_echo "$at_srcdir/mdemo.at:649: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:649" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:649" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +lt_exe=$prefix/bin/mdemo_static; if test -f "$prefix/bin/mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:649: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:649" +( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:649" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/mdemo; if test -f "$prefix/bin/mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:649: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:649" +( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:649" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/mdemo.at:650: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:650" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:650" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/mdemo.at:650: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "mdemo.at:650" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:650" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_118 +#AT_START_119 +at_fn_group_banner 119 'mdemo.at:659' \ + "ltdl load shared and static modules" " " 12 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "119. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<_EOT_ +AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT([dlopen win32-dll]) +LTDL_INIT([nonrecursive convenience]) +AC_SUBST([LIBTOOL_DEPS]) +AC_SUBST([INCLTDL]) +AC_SUBST([LIBLTDL]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_EOT_ + + +cat >Makefile.am <<_EOT_ +AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign +ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = \$(INCLTDL) +AM_LDFLAGS = + +noinst_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +include_HEADERS = + +EXTRA_DIST = + +BUILT_SOURCES = +CLEANFILES = +MOSTLYCLEANFILES = + +lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la + +foo1_la_SOURCES = foo1.c +foo1_la_LIBADD = \$(LIBM) libsub.la +foo1_la_LDFLAGS = -no-undefined -module -avoid-version + +libfoo2_la_SOURCES = foo2.c +libfoo2_la_LIBADD = \$(LIBM) libsub.la +libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" + +libsub_la_SOURCES = sub.c +libsub_la_LDFLAGS = -no-undefined + +## Use -export-symbols-regex here explicitly because libltdl marks +## its exported symbols, and we use libltdl as a convenience archive. +## Thus, on w32, auto-exporting is turned off. +libmlib_la_SOURCES = mlib.c +libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la +libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" +libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +noinst_HEADERS = foo.h + +bin_PROGRAMS = mdemo mdemo_static + +# Create a version of mdemo that does dlopen. +mdemo_SOURCES = main.c +mdemo_LDFLAGS = -export-dynamic +## The quotes around -dlopen below fool automake into accepting it +mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ + "-dlopen" foo1.la "-dlopen" libfoo2.la +mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +# Create a statically linked version of mdemo. +mdemo_static_SOURCES = \$(mdemo_SOURCES) +mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) +mdemo_static_LDADD = \$(mdemo_LDADD) +mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) + +libtool: \$(LIBTOOL_DEPS) + \$(SHELL) ./config.status --recheck + +include \$(srcdir)/libltdl/ltdl.mk +include \$(srcdir)/mdemo.mk +_EOT_ + +cat >mdemo.mk <<'_ATEOF' +# Don't abort for lack of mdemo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +int sub (void); + +#endif +_ATEOF + + +cat >foo1.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing foo1_LTX_nothing +#define foo1 foo1_LTX_foo1 +#define hello foo1_LTX_hello + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +/* private function */ +int _foo1_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo1 (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return _foo1_helper (); +} + +int hello () { + printf ("** This is foolib 1 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >foo2.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing libfoo2_LTX_nothing +#define foo2 libfoo2_LTX_foo2 +#define hello libfoo2_LTX_hello + +/* Give a global variable definition. */ +int nothing; + +/* private function */ +int _foo2_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo2 (void) { + printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); + return _foo2_helper (); +} + +int hello () { + printf ("** This is foolib 2 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >mlib.c <<'_ATEOF' +#include +#include + +#include "foo.h" +#include "ltdl.h" + +int test_dl (char *filename) { + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + handle = lt_dlopen(filename); + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +mlib_func (int argc, char **argv) +{ + int ret = 0; + int i; + /* + * Would be nice if this somehow worked for libraries, not just executables. + * LTDL_SET_PRELOADED_SYMBOLS(); + */ + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + if (test_dl(argv[i])) + ret = 1; + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >sub.c <<'_ATEOF' +#include +#include +void sub (void) { printf ("sub() called\n"); } +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" +#include "ltdl.h" + +#ifdef __cplusplus +# define EXPORT extern "C" +#else +# define EXPORT extern +#endif + +EXPORT int myfunc (void); + +int +test_dl (char *filename, int test_ext) +{ + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + if (test_ext) + handle = lt_dlopenext (filename); + else + handle = lt_dlopen (filename); + + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +myfunc () +{ + return HELLO_RET; +} + +int myvar; + +int +test_dlself () +{ + lt_dlhandle handle; + int (*pmyfunc)() = 0; + int *pmyvar = 0; + int ret = 0; + + handle = lt_dlopen(0); + if (!handle) { + fprintf (stderr, "can't dlopen the program!\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); + if (pmyfunc) + { + int value = (*pmyfunc) (); + + printf ("myfunc returned: %i\n", value); + if (value == HELLO_RET) + printf("myfunc is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'myfunc' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pmyvar = (int*)lt_dlsym(handle, "myvar"); + /* Try assigning to the variable. */ + if (pmyvar) + *pmyvar = 1; + else + { + fprintf (stderr, "did not find the 'myvar' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + lt_dlclose(handle); + return ret; +} + +static int +callback (const char *filename, void *data) +{ + printf ("%s: %s\n", (char *)data, filename); + return 0; +} + +static int +try_iterate (const char *search_path) +{ + char *s = "try_iterate"; + return lt_dlforeachfile (search_path, callback, s); +} + +/* cheap dirname clone. We require a '/' separator, nonempty and large + enough input, not ending with '/', and we will overwrite the input. */ +static char * +my_dirname (char *path) +{ + char *p = strrchr (path, '/'); + if (p) + *p = '\0'; + else + { + path[0] = '.'; + path[1] = '\0'; + } + return path; +} + +int +main (int argc, char **argv) +{ + int i; + int ret = 0; + char *p; + + printf ("Welcome to GNU libtool mdemo!\n"); + + if (argc < 2) { + fprintf (stderr, "usage: %s module [module...]\n", argv[0]); + } + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + { + if (test_dl(argv[i], 0)) + ret = 1; + p = strrchr(argv[i], '.'); + if (p) + { + *p = '\0'; + if (test_dl(argv[i], 1)) + ret = 1; + *p = '.'; + } + } + + if (test_dlself()) + ret = 1; + + for (i = 1; i < argc; i++) + if (argv[i][0] != '\0') + { + my_dirname (argv[i]); + if (try_iterate (argv[i])) + ret = 1; + } + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/mdemo.at:663: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:663" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:663: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:663" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:663: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:663" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/mdemo.at:663: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:663" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:663" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:663: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:663" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:663: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:663" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:663: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "mdemo.at:663" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/mdemo.at:663: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "mdemo.at:663" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/mdemo.at:665: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:665" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:665: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:665" +( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:665: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:665" +( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:665: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:665" +( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:665: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:665" +( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +for target in install +do + { set +x +$as_echo "$at_srcdir/mdemo.at:666: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:666" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:666" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Windows hosts search for dlls in the command path. +PATH=$prefix/lib:$PATH + +lt_exe=$prefix/bin/mdemo_static; if test -f "$prefix/bin/mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:666: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:666" +( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:666" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=$prefix/bin/mdemo; if test -f "$prefix/bin/mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:666: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:666" +( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:666" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/mdemo.at:667: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:667" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:667" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/mdemo.at:667: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "mdemo.at:667" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:667" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_119 +#AT_START_120 +at_fn_group_banner 120 'mdemo.at:676' \ + "ltdl dryrun" " " 12 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "120. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<_EOT_ +AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT([dlopen win32-dll]) +LTDL_INIT([nonrecursive convenience]) +AC_SUBST([LIBTOOL_DEPS]) +AC_SUBST([INCLTDL]) +AC_SUBST([LIBLTDL]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_EOT_ + + +cat >Makefile.am <<_EOT_ +AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign +ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = \$(INCLTDL) +AM_LDFLAGS = + +noinst_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +include_HEADERS = + +EXTRA_DIST = + +BUILT_SOURCES = +CLEANFILES = +MOSTLYCLEANFILES = + +lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la + +foo1_la_SOURCES = foo1.c +foo1_la_LIBADD = \$(LIBM) libsub.la +foo1_la_LDFLAGS = -no-undefined -module -avoid-version + +libfoo2_la_SOURCES = foo2.c +libfoo2_la_LIBADD = \$(LIBM) libsub.la +libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" + +libsub_la_SOURCES = sub.c +libsub_la_LDFLAGS = -no-undefined + +## Use -export-symbols-regex here explicitly because libltdl marks +## its exported symbols, and we use libltdl as a convenience archive. +## Thus, on w32, auto-exporting is turned off. +libmlib_la_SOURCES = mlib.c +libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la +libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" +libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +noinst_HEADERS = foo.h + +bin_PROGRAMS = mdemo mdemo_static + +# Create a version of mdemo that does dlopen. +mdemo_SOURCES = main.c +mdemo_LDFLAGS = -export-dynamic +## The quotes around -dlopen below fool automake into accepting it +mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ + "-dlopen" foo1.la "-dlopen" libfoo2.la +mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +# Create a statically linked version of mdemo. +mdemo_static_SOURCES = \$(mdemo_SOURCES) +mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) +mdemo_static_LDADD = \$(mdemo_LDADD) +mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) + +libtool: \$(LIBTOOL_DEPS) + \$(SHELL) ./config.status --recheck + +include \$(srcdir)/libltdl/ltdl.mk +include \$(srcdir)/mdemo.mk +_EOT_ + +cat >mdemo.mk <<'_ATEOF' +# Don't abort for lack of mdemo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +int sub (void); + +#endif +_ATEOF + + +cat >foo1.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing foo1_LTX_nothing +#define foo1 foo1_LTX_foo1 +#define hello foo1_LTX_hello + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +/* private function */ +int _foo1_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo1 (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return _foo1_helper (); +} + +int hello () { + printf ("** This is foolib 1 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >foo2.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing libfoo2_LTX_nothing +#define foo2 libfoo2_LTX_foo2 +#define hello libfoo2_LTX_hello + +/* Give a global variable definition. */ +int nothing; + +/* private function */ +int _foo2_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo2 (void) { + printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); + return _foo2_helper (); +} + +int hello () { + printf ("** This is foolib 2 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >mlib.c <<'_ATEOF' +#include +#include + +#include "foo.h" +#include "ltdl.h" + +int test_dl (char *filename) { + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + handle = lt_dlopen(filename); + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +mlib_func (int argc, char **argv) +{ + int ret = 0; + int i; + /* + * Would be nice if this somehow worked for libraries, not just executables. + * LTDL_SET_PRELOADED_SYMBOLS(); + */ + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + if (test_dl(argv[i])) + ret = 1; + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >sub.c <<'_ATEOF' +#include +#include +void sub (void) { printf ("sub() called\n"); } +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" +#include "ltdl.h" + +#ifdef __cplusplus +# define EXPORT extern "C" +#else +# define EXPORT extern +#endif + +EXPORT int myfunc (void); + +int +test_dl (char *filename, int test_ext) +{ + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + if (test_ext) + handle = lt_dlopenext (filename); + else + handle = lt_dlopen (filename); + + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +myfunc () +{ + return HELLO_RET; +} + +int myvar; + +int +test_dlself () +{ + lt_dlhandle handle; + int (*pmyfunc)() = 0; + int *pmyvar = 0; + int ret = 0; + + handle = lt_dlopen(0); + if (!handle) { + fprintf (stderr, "can't dlopen the program!\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); + if (pmyfunc) + { + int value = (*pmyfunc) (); + + printf ("myfunc returned: %i\n", value); + if (value == HELLO_RET) + printf("myfunc is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'myfunc' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pmyvar = (int*)lt_dlsym(handle, "myvar"); + /* Try assigning to the variable. */ + if (pmyvar) + *pmyvar = 1; + else + { + fprintf (stderr, "did not find the 'myvar' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + lt_dlclose(handle); + return ret; +} + +static int +callback (const char *filename, void *data) +{ + printf ("%s: %s\n", (char *)data, filename); + return 0; +} + +static int +try_iterate (const char *search_path) +{ + char *s = "try_iterate"; + return lt_dlforeachfile (search_path, callback, s); +} + +/* cheap dirname clone. We require a '/' separator, nonempty and large + enough input, not ending with '/', and we will overwrite the input. */ +static char * +my_dirname (char *path) +{ + char *p = strrchr (path, '/'); + if (p) + *p = '\0'; + else + { + path[0] = '.'; + path[1] = '\0'; + } + return path; +} + +int +main (int argc, char **argv) +{ + int i; + int ret = 0; + char *p; + + printf ("Welcome to GNU libtool mdemo!\n"); + + if (argc < 2) { + fprintf (stderr, "usage: %s module [module...]\n", argv[0]); + } + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + { + if (test_dl(argv[i], 0)) + ret = 1; + p = strrchr(argv[i], '.'); + if (p) + { + *p = '\0'; + if (test_dl(argv[i], 1)) + ret = 1; + *p = '.'; + } + } + + if (test_dlself()) + ret = 1; + + for (i = 1; i < argc; i++) + if (argv[i][0] != '\0') + { + my_dirname (argv[i]); + if (try_iterate (argv[i])) + ret = 1; + } + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/mdemo.at:680: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:680" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:680: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:680" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:680: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:680" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/mdemo.at:680: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:680" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:680" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:680: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:680" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:680: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:680" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +for target in all-local libltdl/libltdlc.la +do + { set +x +$as_echo "$at_srcdir/mdemo.at:681: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:681" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:681" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# create 'before' and 'after' in a directory deep within objdir, +# so that their creation and removal does not modify even a timestamp +# in the output of 'ls -l . $objdir' +$lt_INSTALL -d "$objdir/temp/temp" +before=$objdir/temp/temp/before +after=$objdir/temp/temp/after + +# Create a new libtool script that will enter dry run if the environment +# variable force_dry_run is set +$SED 's|^[ ]*opt_dry_run=.*$|opt_dry_run=$force_dry_run|' libtool > ltnew && mv ltnew libtool +export force_dry_run + +# main.o is not compiled with libtool, but it depends on it, so make +# sure it is up-to-date. libfoo2.la is linked with libsub.la, so make +# sure it exists, otherwise libtool will complain. +force_dry_run=false +for target in main.$objext +do + { set +x +$as_echo "$at_srcdir/mdemo.at:699: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:699" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:699" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Making object files +# ls -l in MSYS sometimes shows year, not time, for really fresh files. +sleep 1 +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +force_dry_run=: +for target in foo1.lo foo2.lo libsub.la +do + { set +x +$as_echo "$at_srcdir/mdemo.at:706: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:706" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:706" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +{ set +x +$as_echo "$at_srcdir/mdemo.at:708: cmp \"\$before\" \"\$after\"" +at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:708" +( $at_check_trace; cmp "$before" "$after" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:708" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Now really make them +force_dry_run=false +for target in foo1.lo foo2.lo libsub.la +do + { set +x +$as_echo "$at_srcdir/mdemo.at:712: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:712" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:712" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Making libraries +sleep 1 # for MSYS +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +force_dry_run=: +for target in foo1.la libfoo2.la +do + { set +x +$as_echo "$at_srcdir/mdemo.at:718: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:718" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:718" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +{ set +x +$as_echo "$at_srcdir/mdemo.at:720: cmp \"\$before\" \"\$after\"" +at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:720" +( $at_check_trace; cmp "$before" "$after" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:720" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Now really make them +force_dry_run=false +for target in foo1.la libfoo2.la +do + { set +x +$as_echo "$at_srcdir/mdemo.at:724: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:724" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:724" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Making programs +sleep 1 # for MSYS +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +force_dry_run=: +for target in mdemo$EXEEXT mdemo_static$EXEEXT +do + { set +x +$as_echo "$at_srcdir/mdemo.at:730: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:730" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:730" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +{ set +x +$as_echo "$at_srcdir/mdemo.at:732: cmp \"\$before\" \"\$after\"" +at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:732" +( $at_check_trace; cmp "$before" "$after" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:732" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Running $MAKE install +# Libtool does not create these directories +$lt_INSTALL -d "$prefix/bin" +$lt_INSTALL -d "$prefix/include" +$lt_INSTALL -d "$prefix/lib" + +sleep 1 # for MSYS +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$before" +force_dry_run=: +for target in install +do + { set +x +$as_echo "$at_srcdir/mdemo.at:744: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:744" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:744" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$after" +{ set +x +$as_echo "$at_srcdir/mdemo.at:748: cmp \"\$before\" \"\$after\"" +at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:748" +( $at_check_trace; cmp "$before" "$after" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:748" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Now really install +force_dry_run=false +for target in install +do + { set +x +$as_echo "$at_srcdir/mdemo.at:752: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:752" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:752" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Running $MAKE uninstall +# Libtool does not uninstall the programs, remove them first +rm -f "$prefix/bin/mdemo$EXEEXT" "$prefix/bin/mdemo_static$EXEEXT" + +sleep 1 # for MSYS +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" +ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$before" +force_dry_run=: +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/mdemo.at:762: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:762" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:762" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" +ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$after" +{ set +x +$as_echo "$at_srcdir/mdemo.at:765: cmp \"\$before\" \"\$after\"" +at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:765" +( $at_check_trace; cmp "$before" "$after" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:765" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Now really uninstall +force_dry_run=false +for target in uninstall +do + { set +x +$as_echo "$at_srcdir/mdemo.at:769: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:769" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:769" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +{ set +x +$as_echo "$at_srcdir/mdemo.at:769: test -z \"\$leftovers\"" +at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "mdemo.at:769" +( $at_check_trace; test -z "$leftovers" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:769" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_120 +#AT_START_121 +at_fn_group_banner 121 'mdemo.at:777' \ + "link with library that loads ltdl modules" " " 12 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "121. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<_EOT_ +AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE +AC_PROG_CC +LT_INIT([dlopen win32-dll]) +LTDL_INIT([nonrecursive convenience]) +AC_SUBST([LIBTOOL_DEPS]) +AC_SUBST([INCLTDL]) +AC_SUBST([LIBLTDL]) +STATIC= +test yes = "$enable_static" && STATIC=-static +AC_SUBST([STATIC]) +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_EOT_ + + +cat >Makefile.am <<_EOT_ +AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign +ACLOCAL_AMFLAGS = -I m4 +AM_CPPFLAGS = \$(INCLTDL) +AM_LDFLAGS = + +noinst_LTLIBRARIES = +EXTRA_LTLIBRARIES = + +include_HEADERS = + +EXTRA_DIST = + +BUILT_SOURCES = +CLEANFILES = +MOSTLYCLEANFILES = + +lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la + +foo1_la_SOURCES = foo1.c +foo1_la_LIBADD = \$(LIBM) libsub.la +foo1_la_LDFLAGS = -no-undefined -module -avoid-version + +libfoo2_la_SOURCES = foo2.c +libfoo2_la_LIBADD = \$(LIBM) libsub.la +libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" + +libsub_la_SOURCES = sub.c +libsub_la_LDFLAGS = -no-undefined + +## Use -export-symbols-regex here explicitly because libltdl marks +## its exported symbols, and we use libltdl as a convenience archive. +## Thus, on w32, auto-exporting is turned off. +libmlib_la_SOURCES = mlib.c +libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la +libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" +libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +noinst_HEADERS = foo.h + +bin_PROGRAMS = mdemo mdemo_static + +# Create a version of mdemo that does dlopen. +mdemo_SOURCES = main.c +mdemo_LDFLAGS = -export-dynamic +## The quotes around -dlopen below fool automake into accepting it +mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ + "-dlopen" foo1.la "-dlopen" libfoo2.la +mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la + +# Create a statically linked version of mdemo. +mdemo_static_SOURCES = \$(mdemo_SOURCES) +mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) +mdemo_static_LDADD = \$(mdemo_LDADD) +mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) + +libtool: \$(LIBTOOL_DEPS) + \$(SHELL) ./config.status --recheck + +include \$(srcdir)/libltdl/ltdl.mk +include \$(srcdir)/mdemo.mk +_EOT_ + +cat >mdemo.mk <<'_ATEOF' +# Don't abort for lack of mdemo.mk +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H + +/* Silly constants that the functions return. */ +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +int sub (void); + +#endif +_ATEOF + + +cat >foo1.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing foo1_LTX_nothing +#define foo1 foo1_LTX_foo1 +#define hello foo1_LTX_hello + +/* Give a global variable definition. */ +int nothing = FOO_RET; + +/* private function */ +int _foo1_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo1 (void) { + printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); + return _foo1_helper (); +} + +int hello () { + printf ("** This is foolib 1 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >foo2.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" + +#define nothing libfoo2_LTX_nothing +#define foo2 libfoo2_LTX_foo2 +#define hello libfoo2_LTX_hello + +/* Give a global variable definition. */ +int nothing; + +/* private function */ +int _foo2_helper (void) { + sub (); + return FOO_RET; +} + +/* export functions */ +#ifdef __cplusplus +extern "C" { +#endif + +int foo2 (void) { + printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); + return _foo2_helper (); +} + +int hello () { + printf ("** This is foolib 2 **\n"); + return HELLO_RET; +} + +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >mlib.c <<'_ATEOF' +#include +#include + +#include "foo.h" +#include "ltdl.h" + +int test_dl (char *filename) { + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + handle = lt_dlopen(filename); + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +mlib_func (int argc, char **argv) +{ + int ret = 0; + int i; + /* + * Would be nice if this somehow worked for libraries, not just executables. + * LTDL_SET_PRELOADED_SYMBOLS(); + */ + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + if (test_dl(argv[i])) + ret = 1; + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >sub.c <<'_ATEOF' +#include +#include +void sub (void) { printf ("sub() called\n"); } +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include +#include + +#include "foo.h" +#include "ltdl.h" + +#ifdef __cplusplus +# define EXPORT extern "C" +#else +# define EXPORT extern +#endif + +EXPORT int myfunc (void); + +int +test_dl (char *filename, int test_ext) +{ + lt_dlhandle handle; + const lt_dlinfo *info; + int (*pfoo1)() = 0; + int (*pfoo2)() = 0; + int (*phello)() = 0; + int *pnothing = 0; + int ret = 0; + + if (test_ext) + handle = lt_dlopenext (filename); + else + handle = lt_dlopen (filename); + + if (!handle) { + fprintf (stderr, "can't open the module %s!\n", filename); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + info = lt_dlgetinfo(handle); + if (!info) { + fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); + return 1; + } + if (info->name) { + printf ("module name: %s\n", info->name); + } else { + printf ("module is not a libtool module\n"); + } + printf ("module filename: %s\n", info->filename); + printf ("module reference count: %i\n", info->ref_count); + + phello = (int(*)())lt_dlsym(handle, "hello"); + if (phello) + { + int value = (*phello) (); + + printf ("hello returned: %i\n", value); + if (value == HELLO_RET) + printf("hello is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'hello' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pnothing = (int*)lt_dlsym(handle, "nothing"); + /* Try assigning to the nothing variable. */ + if (pnothing) + *pnothing = 1; + else + { + fprintf (stderr, "did not find the 'nothing' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); + /* Just call the functions and check return values. */ + if (pfoo1) + { + if ((*pfoo1) () == FOO_RET) + printf("foo1 is ok!\n"); + else + ret = 1; + } + else { + pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); + if (pfoo2) + { + if ((*pfoo2) () == FOO_RET) + printf("foo2 is ok!\n"); + else ret = 1; + } + else + { + fprintf (stderr, "did not find any of the 'foo' functions\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + } + lt_dlclose(handle); + return ret; +} + +int +myfunc () +{ + return HELLO_RET; +} + +int myvar; + +int +test_dlself () +{ + lt_dlhandle handle; + int (*pmyfunc)() = 0; + int *pmyvar = 0; + int ret = 0; + + handle = lt_dlopen(0); + if (!handle) { + fprintf (stderr, "can't dlopen the program!\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + return 1; + } + + pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); + if (pmyfunc) + { + int value = (*pmyfunc) (); + + printf ("myfunc returned: %i\n", value); + if (value == HELLO_RET) + printf("myfunc is ok!\n"); + } + else + { + fprintf (stderr, "did not find the 'myfunc' function\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + pmyvar = (int*)lt_dlsym(handle, "myvar"); + /* Try assigning to the variable. */ + if (pmyvar) + *pmyvar = 1; + else + { + fprintf (stderr, "did not find the 'myvar' variable\n"); + fprintf (stderr, "error was: %s\n", lt_dlerror()); + ret = 1; + } + + lt_dlclose(handle); + return ret; +} + +static int +callback (const char *filename, void *data) +{ + printf ("%s: %s\n", (char *)data, filename); + return 0; +} + +static int +try_iterate (const char *search_path) +{ + char *s = "try_iterate"; + return lt_dlforeachfile (search_path, callback, s); +} + +/* cheap dirname clone. We require a '/' separator, nonempty and large + enough input, not ending with '/', and we will overwrite the input. */ +static char * +my_dirname (char *path) +{ + char *p = strrchr (path, '/'); + if (p) + *p = '\0'; + else + { + path[0] = '.'; + path[1] = '\0'; + } + return path; +} + +int +main (int argc, char **argv) +{ + int i; + int ret = 0; + char *p; + + printf ("Welcome to GNU libtool mdemo!\n"); + + if (argc < 2) { + fprintf (stderr, "usage: %s module [module...]\n", argv[0]); + } + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); + return 1; + } + + for (i = 1; i < argc; i++) + { + if (test_dl(argv[i], 0)) + ret = 1; + p = strrchr(argv[i], '.'); + if (p) + { + *p = '\0'; + if (test_dl(argv[i], 1)) + ret = 1; + *p = '.'; + } + } + + if (test_dlself()) + ret = 1; + + for (i = 1; i < argc; i++) + if (argv[i][0] != '\0') + { + my_dirname (argv[i]); + if (try_iterate (argv[i])) + ret = 1; + } + + lt_dlexit(); + return ret; +} +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU Hell! +cos (0.0) = 1 +** This is not GNU Hello. There is no built-in mail reader. ** +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +cat >mdemo.mk <<'_ATEOF' +bin_PROGRAMS += mdemo2 mdemo2_static + +# Create a version of mdemo2 that links a library that does dlopen. +mdemo2_LDFLAGS = -export-dynamic "-dlopen" force +mdemo2_LDADD = libmlib.la + +# Create a statically linked version of mdemo. +mdemo2_static_SOURCES = mdemo2.c +mdemo2_static_LDFLAGS = $(STATIC) $(mdemo2_LDFLAGS) +mdemo2_static_LDADD = $(mdemo2_LDADD) +mdemo2_static_DEPENDENCIES = $(mdemo2_DEPENDENCIES) +_ATEOF + + +cat >mdemo2.c <<'_ATEOF' +#include +#include "ltdl.h" + +extern int mlib_func (int, char **); + +int main (int argc, char **argv) +{ + int ret = 0; + + printf ("Welcome to GNU libtool mdemo2!\n"); + if (argc < 2) { + fprintf (stderr, "usage: %s module [module...]\n", argv[0]); + } + + /* This must be called in the program to get the preloaded symbols */ + LTDL_SET_PRELOADED_SYMBOLS(); + + ret = mlib_func(argc, argv); + + return ret; +} +_ATEOF + + +# Normalize line endings after $EGREP instead of using LT_AT_HOST_DATA +# here, since $EGREP *may* normalize line endings for us. +cat >expout <<'_ATEOF' +Welcome to GNU libtool mdemo2! +module name: foo1 +module reference count: 1 +** This is foolib 1 ** +hello returned: 57616 +hello is ok! +cos (0.0) = 1 +sub() called +foo1 is ok! +module name: libfoo2 +module reference count: 1 +** This is foolib 2 ** +hello returned: 57616 +hello is ok! +sin (0.0) = 0 +sub() called +foo2 is ok! +_ATEOF + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/mdemo.at:841: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:841" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:841: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:841" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:841: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:841" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/mdemo.at:841: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:841" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:841" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:841: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:841" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/mdemo.at:841: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:841" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/mdemo.at:843: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:843" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:843" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +lt_exe=./mdemo2_static; if test -f "./mdemo2_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:845: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$EGREP -v '^module filename: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:845" +( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $EGREP -v '^module filename: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:845" +$at_failed && at_fn_log_failure +$at_traceon; } + + +case $host_os in + mingw*) + tr -d '\015' < stdout > stdout.t + mv -f stdout.t stdout ;; +esac +echo "diff expout stdout"; { set +x +$as_echo "$at_srcdir/mdemo.at:848: diff expout stdout" +at_fn_check_prepare_trace "mdemo.at:848" +( $at_check_trace; diff expout stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:848" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./mdemo2; if test -f "./mdemo2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/mdemo.at:850: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$EGREP -v '^module filename: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:850" +( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $EGREP -v '^module filename: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:850" +$at_failed && at_fn_log_failure +$at_traceon; } + + +case $host_os in + mingw*) + tr -d '\015' < stdout > stdout.t + mv -f stdout.t stdout ;; +esac +echo "diff expout stdout"; { set +x +$as_echo "$at_srcdir/mdemo.at:853: diff expout stdout" +at_fn_check_prepare_trace "mdemo.at:853" +( $at_check_trace; diff expout stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:853" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_121 +#AT_START_122 +at_fn_group_banner 122 'standalone.at:32' \ + "compiling softlinked libltdl" " " 13 +at_xfail=no +( + $as_echo "122. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/standalone.at:34: \$LIBTOOLIZE --ltdl=. + +" +at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:34" +( $at_check_trace; $LIBTOOLIZE --ltdl=. + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/standalone.at:35: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "standalone.at:35" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:35" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all $tst_dist +do + { set +x +$as_echo "$at_srcdir/standalone.at:36: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:36" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +{ set +x +$as_echo "$at_srcdir/standalone.at:38: test -f libltdlc.la" +at_fn_check_prepare_trace "standalone.at:38" +( $at_check_trace; test -f libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:38" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_122 +#AT_START_123 +at_fn_group_banner 123 'standalone.at:47' \ + "compiling copied libltdl" " " 13 +at_xfail=no +( + $as_echo "123. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/standalone.at:49: \$LIBTOOLIZE --copy --ltdl=. + +" +at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:49" +( $at_check_trace; $LIBTOOLIZE --copy --ltdl=. + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:49" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/standalone.at:50: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "standalone.at:50" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:50" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all $tst_dist +do + { set +x +$as_echo "$at_srcdir/standalone.at:51: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:51" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +{ set +x +$as_echo "$at_srcdir/standalone.at:53: test -f libltdlc.la" +at_fn_check_prepare_trace "standalone.at:53" +( $at_check_trace; test -f libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:53" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_123 +#AT_START_124 +at_fn_group_banner 124 'standalone.at:62' \ + "installable libltdl" " " 13 +at_xfail=no +( + $as_echo "124. $at_setup_line: testing $at_desc ..." + $at_traceon + + +prefix=`pwd`/_inst + +{ set +x +$as_echo "$at_srcdir/standalone.at:66: \$LIBTOOLIZE --copy --ltdl=. + +" +at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:66" +( $at_check_trace; $LIBTOOLIZE --copy --ltdl=. + + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:66" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/standalone.at:67: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "standalone.at:67" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all install $tst_dist +do + { set +x +$as_echo "$at_srcdir/standalone.at:68: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:68" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:68" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +{ set +x +$as_echo "$at_srcdir/standalone.at:70: test -f \"\$prefix/lib/libltdl.la\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "standalone.at:70" +( $at_check_trace; test -f "$prefix/lib/libltdl.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/standalone.at:71: test -f \"\$prefix/include/ltdl.h\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "standalone.at:71" +( $at_check_trace; test -f "$prefix/include/ltdl.h" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:71" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_124 +#AT_START_125 +at_fn_group_banner 125 'standalone.at:80' \ + "linking libltdl without autotools" " " 13 +at_xfail=no +( + $as_echo "125. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >module.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" +#endif +const char * +hello (void) +{ + return "Hello!"; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include "ltdl.h" + +int +main () +{ + lt_dlhandle module; + const char *(*func) (void) = 0; + int status = 1; + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialisation: %s\n", lt_dlerror()); + return 1; + } + + module = lt_dlopen("./module.la"); + if (!module) { + fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror()); + goto finish; + } + + func = (const char *(*)(void)) lt_dlsym (module, "hello"); + if (!func) { + fprintf (stderr, "error fetching func: %s\n", lt_dlerror()); + goto finish; + } + + printf ("%s\n", (*func) ()); + status = 0; + +finish: + if (lt_dlexit() != 0) { + fprintf (stderr, "error during finalisation: %s\n", lt_dlerror()); + status = 1; + } + + return status; +} +_ATEOF + + + +cat >Makefile <<'_ATEOF' +top_builddir = . +LIBTOOL = ./libltdl/libtool +INCLUDES = -I./libltdl +MODFLAGS = -module -avoid-version -no-undefined + +LTCOMPILE = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile \ + $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +LTLINK = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=link \ + $(CC) $(CFLAGS) $(LDFLAGS) + +TARGETS = libltdl/libltdlc.la module.la ltdldemo$(EXEEXT) + +all: $(TARGETS) + +libltdl/libltdlc.la: $(LIBTOOL) libltdl/Makefile + MAKE='$(MAKE)'; test -n "$$MAKE" || MAKE=make; \ + cd libltdl && $$MAKE CC="$(CC)" LIBTOOLFLAGS="$(LIBTOOLFLAGS)" \ + CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ + CONFIGURE_OPTIONS="$(CONFIGURE_OPTIONS)" + +$(LIBTOOL): libltdl/Makefile + +libltdl/Makefile: + cd libltdl && CONFIG_SHELL="$(SHELL)" $(SHELL) ./configure $(CONFIGURE_OPTIONS) + +ltdldemo$(EXEEXT): $(LIBTOOL) module.la libltdl/libltdlc.la main.lo + $(LTLINK) -o ltdldemo$(EXEEXT) main.lo -dlopen module.la ./libltdl/libltdlc.la + +main.lo: $(LIBTOOL) main.c + $(LTCOMPILE) -c main.c + +module.la: $(LIBTOOL) module.lo + $(LTLINK) -o module.la module.lo $(MODFLAGS) -rpath /dev/null + +module.lo: $(LIBTOOL) module.c + $(LTCOMPILE) -c module.c +_ATEOF + +cat >> Makefile <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:83" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/standalone.at:84: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target CC=\"\$CC\" LIBTOOLFLAGS=\"\$LIBTOOLFLAGS\" CPPFLAGS=\"\$CPPFLAGS\" CFLAGS=\"\$CFLAGS\" LDFLAGS=\"\$LDFLAGS\" CONFIGURE_OPTIONS=\"\$configure_options\"" +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target CC=\"$CC\" LIBTOOLFLAGS=\"$LIBTOOLFLAGS\" CPPFLAGS=\"$CPPFLAGS\" CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\" CONFIGURE_OPTIONS=\"$configure_options\"" "standalone.at:84" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target CC="$CC" LIBTOOLFLAGS="$LIBTOOLFLAGS" CPPFLAGS="$CPPFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CONFIGURE_OPTIONS="$configure_options" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +lt_exe=./ltdldemo; if test -f "./ltdldemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/standalone.at:88: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "standalone.at:88" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_125 +#AT_START_126 +at_fn_group_banner 126 'subproject.at:58' \ + "compiling softlinked libltdl" " " 14 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "126. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subproject-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([sub/ltdl]) +AC_CONFIG_AUX_DIR([sub/ltdl/config]) +AC_CONFIG_MACRO_DIRS([sub/ltdl/m4]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT +LT_WITH_LTDL +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I sub/ltdl/m4 +AUTOMAKE_OPTIONS = 1.9 +SUBDIRS = sub/ltdl +lib_LTLIBRARIES = foo.la +foo_la_LDFLAGS = -module -avoid-version -no-undefined +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +$LIBTOOLIZE --ltdl + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I sub/ltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/subproject.at:62: \$ACLOCAL -I sub/ltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I sub/ltdl/m4$macro_dir" "subproject.at:62" +( $at_check_trace; $ACLOCAL -I sub/ltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:62: \$AUTOMAKE --add-missing --copy" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "subproject.at:62" +( $at_check_trace; $AUTOMAKE --add-missing --copy +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/subproject.at:62: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "subproject.at:62" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/subproject.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:62: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "subproject.at:62" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:62: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "subproject.at:62" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all $tst_dist +do + { set +x +$as_echo "$at_srcdir/subproject.at:62: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "subproject.at:62" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:65: test -f sub/ltdl/libltdlc.la" +at_fn_check_prepare_trace "subproject.at:65" +( $at_check_trace; test -f sub/ltdl/libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_126 +#AT_START_127 +at_fn_group_banner 127 'subproject.at:74' \ + "compiling copied libltdl" " " 14 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "127. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subproject-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([sub/ltdl]) +AC_CONFIG_AUX_DIR([sub/ltdl/config]) +AC_CONFIG_MACRO_DIRS([sub/ltdl/m4]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT +LT_WITH_LTDL +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I sub/ltdl/m4 +AUTOMAKE_OPTIONS = 1.9 +SUBDIRS = sub/ltdl +lib_LTLIBRARIES = foo.la +foo_la_LDFLAGS = -module -avoid-version -no-undefined +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +$LIBTOOLIZE --copy --ltdl + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I sub/ltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/subproject.at:78: \$ACLOCAL -I sub/ltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I sub/ltdl/m4$macro_dir" "subproject.at:78" +( $at_check_trace; $ACLOCAL -I sub/ltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:78: \$AUTOMAKE --add-missing --copy" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "subproject.at:78" +( $at_check_trace; $AUTOMAKE --add-missing --copy +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/subproject.at:78: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "subproject.at:78" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/subproject.at:78" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:78: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "subproject.at:78" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:78: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "subproject.at:78" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all $tst_dist +do + { set +x +$as_echo "$at_srcdir/subproject.at:78: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "subproject.at:78" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:81: test -f sub/ltdl/libltdlc.la" +at_fn_check_prepare_trace "subproject.at:81" +( $at_check_trace; test -f sub/ltdl/libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:81" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_127 +#AT_START_128 +at_fn_group_banner 128 'subproject.at:90' \ + "installable libltdl" " " 14 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "128. $at_setup_line: testing $at_desc ..." + $at_traceon + + +prefix=`pwd`/_inst + +cat >configure.ac <<'_ATEOF' +AC_INIT([subproject-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([sub/ltdl]) +AC_CONFIG_AUX_DIR([sub/ltdl/config]) +AC_CONFIG_MACRO_DIRS([sub/ltdl/m4]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT +LT_WITH_LTDL +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I sub/ltdl/m4 +AUTOMAKE_OPTIONS = 1.9 +SUBDIRS = sub/ltdl +lib_LTLIBRARIES = foo.la +foo_la_LDFLAGS = -module -avoid-version -no-undefined +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +$LIBTOOLIZE --copy --ltdl + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I sub/ltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/subproject.at:96: \$ACLOCAL -I sub/ltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I sub/ltdl/m4$macro_dir" "subproject.at:96" +( $at_check_trace; $ACLOCAL -I sub/ltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:96: \$AUTOMAKE --add-missing --copy" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "subproject.at:96" +( $at_check_trace; $AUTOMAKE --add-missing --copy +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/subproject.at:96: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "subproject.at:96" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/subproject.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:96: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "subproject.at:96" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:96: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "subproject.at:96" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all install $tst_dist +do + { set +x +$as_echo "$at_srcdir/subproject.at:96: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "subproject.at:96" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/subproject.at:100: test -f \"\$prefix/lib/libltdl.la\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "subproject.at:100" +( $at_check_trace; test -f "$prefix/lib/libltdl.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:100" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/subproject.at:101: test -f \"\$prefix/include/ltdl.h\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "subproject.at:101" +( $at_check_trace; test -f "$prefix/include/ltdl.h" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:101" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_128 +#AT_START_129 +at_fn_group_banner 129 'subproject.at:110' \ + "linking libltdl without autotools" " " 14 +at_xfail=no +( + $as_echo "129. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >module.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" +#endif +const char * +hello (void) +{ + return "Hello!"; +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include +#include "ltdl.h" + +int +main () +{ + lt_dlhandle module; + const char *(*func) (void) = 0; + int status = 1; + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialisation: %s\n", lt_dlerror()); + return 1; + } + + module = lt_dlopen("./module.la"); + if (!module) { + fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror()); + goto finish; + } + + func = (const char *(*)(void)) lt_dlsym (module, "hello"); + if (!func) { + fprintf (stderr, "error fetching func: %s\n", lt_dlerror()); + goto finish; + } + + printf ("%s\n", (*func) ()); + status = 0; + +finish: + if (lt_dlexit() != 0) { + fprintf (stderr, "error during finalisation: %s\n", lt_dlerror()); + status = 1; + } + + return status; +} +_ATEOF + + + +cat >Makefile <<'_ATEOF' +top_builddir = . +LIBTOOL = ./sub/ltdl/libtool +INCLUDES = -I./sub/ltdl +MODFLAGS = -module -avoid-version -no-undefined + +LTCOMPILE = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile \ + $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +LTLINK = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=link \ + $(CC) $(CFLAGS) $(LDFLAGS) + +TARGETS = sub/ltdl/libltdlc.la module.la ltdldemo$(EXEEXT) + +all: $(TARGETS) + +sub/ltdl/libltdlc.la: $(LIBTOOL) sub/ltdl/Makefile + MAKE='$(MAKE)'; test -n "$$MAKE" || MAKE=make; \ + cd sub/ltdl && $$MAKE CC="$(CC)" LIBTOOLFLAGS="$(LIBTOOLFLAGS)" \ + CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ + CONFIGURE_OPTIONS="$(CONFIGURE_OPTIONS)" + +$(LIBTOOL): sub/ltdl/Makefile + +sub/ltdl/Makefile: + cd sub/ltdl && CONFIG_SHELL="$(SHELL)" $(SHELL) ./configure $(CONFIGURE_OPTIONS) + +ltdldemo$(EXEEXT): $(LIBTOOL) module.la sub/ltdl/libltdlc.la main.lo + $(LTLINK) -o ltdldemo$(EXEEXT) main.lo -dlopen module.la ./sub/ltdl/libltdlc.la + +main.lo: $(LIBTOOL) main.c + $(LTCOMPILE) -c main.c + +module.la: $(LIBTOOL) module.lo + $(LTLINK) -o module.la module.lo $(MODFLAGS) -rpath /dev/null + +module.lo: $(LIBTOOL) module.c + $(LTCOMPILE) -c module.c +_ATEOF + +cat >> Makefile <>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +lt_exe=./ltdldemo; if test -f "./ltdldemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/subproject.at:118: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "subproject.at:118" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:118" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_129 +#AT_START_130 +at_fn_group_banner 130 'nonrecursive.at:79' \ + "compiling softlinked libltdl" " " 15 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "130. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([ltdl/config]) +AC_CONFIG_MACRO_DIRS([ltdl/m4]) +AC_CONFIG_LIBOBJ_DIR([ltdl]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign subdir-objects]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT +LTDL_INIT([nonrecursive]) +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I ltdl/m4 +AUTOMAKE_OPTIONS = 1.9.6 +BUILT_SOURCES = + +AM_CPPFLAGS = +AM_LDFLAGS = + +include_HEADERS = +noinst_LTLIBRARIES = +lib_LTLIBRARIES = foo.la +EXTRA_LTLIBRARIES = + +EXTRA_DIST = + +CLEANFILES = +MOSTLYCLEANFILES = + +include ltdl/ltdl.mk + +foo_la_LDFLAGS = -module -avoid-version -no-undefined +foo_la_SOURCES = foo.c +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +$LIBTOOLIZE --ltdl + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:84: if test -f ltdl/configure.ac; then false; fi" +at_fn_check_prepare_trace "nonrecursive.at:84" +( $at_check_trace; if test -f ltdl/configure.ac; then false; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Support vanilla autoconf-2.59 & automake-1.9.6 +for file in lt__argz.c lt__dirent.c lt__strl.c; do + cp ltdl/$file $file +done + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I ltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/nonrecursive.at:91: \$ACLOCAL -I ltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:91" +( $at_check_trace; $ACLOCAL -I ltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:91: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:91" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:91: \$AUTOMAKE --add-missing --copy" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:91" +( $at_check_trace; $AUTOMAKE --add-missing --copy +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/nonrecursive.at:91: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:91" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/nonrecursive.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:91: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:91" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:91: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "nonrecursive.at:91" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all $tst_dist +do + { set +x +$as_echo "$at_srcdir/nonrecursive.at:91: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.at:91" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:94: test -f ltdl/libltdlc.la" +at_fn_check_prepare_trace "nonrecursive.at:94" +( $at_check_trace; test -f ltdl/libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:94" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_130 +#AT_START_131 +at_fn_group_banner 131 'nonrecursive.at:103' \ + "compiling copied libltdl" " " 15 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "131. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([ltdl/config]) +AC_CONFIG_MACRO_DIRS([ltdl/m4]) +AC_CONFIG_LIBOBJ_DIR([ltdl]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign subdir-objects]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT +LTDL_INIT([nonrecursive]) +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I ltdl/m4 +AUTOMAKE_OPTIONS = 1.9.6 +BUILT_SOURCES = + +AM_CPPFLAGS = +AM_LDFLAGS = + +include_HEADERS = +noinst_LTLIBRARIES = +lib_LTLIBRARIES = foo.la +EXTRA_LTLIBRARIES = + +EXTRA_DIST = + +CLEANFILES = +MOSTLYCLEANFILES = + +include ltdl/ltdl.mk + +foo_la_LDFLAGS = -module -avoid-version -no-undefined +foo_la_SOURCES = foo.c +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +$LIBTOOLIZE --copy --ltdl + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:108: if test -f ltdl/configure.ac; then false; fi" +at_fn_check_prepare_trace "nonrecursive.at:108" +( $at_check_trace; if test -f ltdl/configure.ac; then false; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:108" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Support vanilla autoconf-2.59 & automake-1.9.6 +for file in lt__argz.c lt__dirent.c lt__strl.c; do + cp ltdl/$file $file +done + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I ltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/nonrecursive.at:115: \$ACLOCAL -I ltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:115" +( $at_check_trace; $ACLOCAL -I ltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:115: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:115" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:115: \$AUTOMAKE --add-missing --copy" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:115" +( $at_check_trace; $AUTOMAKE --add-missing --copy +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/nonrecursive.at:115: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:115" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/nonrecursive.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:115: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:115" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:115: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "nonrecursive.at:115" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all $tst_dist +do + { set +x +$as_echo "$at_srcdir/nonrecursive.at:115: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.at:115" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:118: test -f ltdl/libltdlc.la" +at_fn_check_prepare_trace "nonrecursive.at:118" +( $at_check_trace; test -f ltdl/libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:118" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_131 +#AT_START_132 +at_fn_group_banner 132 'nonrecursive.at:127' \ + "installable libltdl" " " 15 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "132. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([ltdl/config]) +AC_CONFIG_MACRO_DIRS([ltdl/m4]) +AC_CONFIG_LIBOBJ_DIR([ltdl]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign subdir-objects]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT +LTDL_INIT([nonrecursive]) +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I ltdl/m4 +AUTOMAKE_OPTIONS = 1.9.6 +BUILT_SOURCES = + +AM_CPPFLAGS = +AM_LDFLAGS = + +include_HEADERS = +noinst_LTLIBRARIES = +lib_LTLIBRARIES = foo.la +EXTRA_LTLIBRARIES = + +EXTRA_DIST = + +CLEANFILES = +MOSTLYCLEANFILES = + +include ltdl/ltdl.mk + +foo_la_LDFLAGS = -module -avoid-version -no-undefined +foo_la_SOURCES = foo.c +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +prefix=`pwd`/_inst + +$LIBTOOLIZE --copy --ltdl + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:134: if test -f ltdl/configure.ac; then false; fi" +at_fn_check_prepare_trace "nonrecursive.at:134" +( $at_check_trace; if test -f ltdl/configure.ac; then false; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:134" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Support vanilla autoconf-2.59 & automake-1.9.6 +for file in lt__argz.c lt__dirent.c lt__strl.c; do + cp ltdl/$file $file +done + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I ltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/nonrecursive.at:141: \$ACLOCAL -I ltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:141" +( $at_check_trace; $ACLOCAL -I ltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:141: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:141" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:141: \$AUTOMAKE --add-missing --copy" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:141" +( $at_check_trace; $AUTOMAKE --add-missing --copy +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/nonrecursive.at:141: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:141" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/nonrecursive.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:141: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:141" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:141: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "nonrecursive.at:141" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all install $tst_dist +do + { set +x +$as_echo "$at_srcdir/nonrecursive.at:141: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.at:141" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:144: test -f \"\$prefix/lib/libltdl.la\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "nonrecursive.at:144" +( $at_check_trace; test -f "$prefix/lib/libltdl.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:144" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/nonrecursive.at:145: test -f \"\$prefix/include/ltdl.h\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "nonrecursive.at:145" +( $at_check_trace; test -f "$prefix/include/ltdl.h" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_132 +#AT_START_133 +at_fn_group_banner 133 'recursive.at:61' \ + "compiling softlinked libltdl" " " 16 +at_xfail=no + case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac && at_xfail=yes +( + $as_echo "133. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([ltdl/config]) +AC_CONFIG_MACRO_DIRS([ltdl/m4]) +AC_CONFIG_LIBOBJ_DIR([ltdl]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT +LTDL_INIT([recursive]) +AC_CONFIG_FILES([Makefile ltdl/Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I ltdl/m4 +AUTOMAKE_OPTIONS = 1.7 +SUBDIRS = ltdl +lib_LTLIBRARIES = foo.la +foo_la_LDFLAGS = -module -avoid-version -no-undefined +foo_la_SOURCES = foo.c +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +$LIBTOOLIZE --ltdl + + +{ set +x +$as_echo "$at_srcdir/recursive.at:66: if test -f ltdl/configure.ac; then false; fi" +at_fn_check_prepare_trace "recursive.at:66" +( $at_check_trace; if test -f ltdl/configure.ac; then false; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:66" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +{ set +x +$as_echo "$at_srcdir/recursive.at:68: \$AUTORECONF --force --verbose --install" +at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:68" +( $at_check_trace; $AUTORECONF --force --verbose --install +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:68" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/recursive.at:68: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:68" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/recursive.at:68" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/recursive.at:69: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "recursive.at:69" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all $tst_dist +do + { set +x +$as_echo "$at_srcdir/recursive.at:70: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:70" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +{ set +x +$as_echo "$at_srcdir/recursive.at:72: test -f ltdl/libltdlc.la" +at_fn_check_prepare_trace "recursive.at:72" +( $at_check_trace; test -f ltdl/libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:72" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_133 +#AT_START_134 +at_fn_group_banner 134 'recursive.at:81' \ + "compiling copied libltdl" " " 16 +at_xfail=no + case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac && at_xfail=yes +( + $as_echo "134. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([ltdl/config]) +AC_CONFIG_MACRO_DIRS([ltdl/m4]) +AC_CONFIG_LIBOBJ_DIR([ltdl]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT +LTDL_INIT([recursive]) +AC_CONFIG_FILES([Makefile ltdl/Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I ltdl/m4 +AUTOMAKE_OPTIONS = 1.7 +SUBDIRS = ltdl +lib_LTLIBRARIES = foo.la +foo_la_LDFLAGS = -module -avoid-version -no-undefined +foo_la_SOURCES = foo.c +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +$LIBTOOLIZE --copy --ltdl + + +{ set +x +$as_echo "$at_srcdir/recursive.at:86: if test -f ltdl/configure.ac; then false; fi" +at_fn_check_prepare_trace "recursive.at:86" +( $at_check_trace; if test -f ltdl/configure.ac; then false; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +{ set +x +$as_echo "$at_srcdir/recursive.at:88: \$AUTORECONF --force --verbose --install" +at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:88" +( $at_check_trace; $AUTORECONF --force --verbose --install +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:88" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/recursive.at:88: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:88" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/recursive.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/recursive.at:89: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "recursive.at:89" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:89" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all $tst_dist +do + { set +x +$as_echo "$at_srcdir/recursive.at:90: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:90" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +{ set +x +$as_echo "$at_srcdir/recursive.at:92: test -f ltdl/libltdlc.la" +at_fn_check_prepare_trace "recursive.at:92" +( $at_check_trace; test -f ltdl/libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_134 +#AT_START_135 +at_fn_group_banner 135 'recursive.at:101' \ + "installable libltdl" " " 16 +at_xfail=no + case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac && at_xfail=yes +( + $as_echo "135. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) +LT_CONFIG_LTDL_DIR([ltdl]) +AC_CONFIG_AUX_DIR([ltdl/config]) +AC_CONFIG_MACRO_DIRS([ltdl/m4]) +AC_CONFIG_LIBOBJ_DIR([ltdl]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT +LTDL_INIT([recursive]) +AC_CONFIG_FILES([Makefile ltdl/Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +ACLOCAL_AMFLAGS = -I ltdl/m4 +AUTOMAKE_OPTIONS = 1.7 +SUBDIRS = ltdl +lib_LTLIBRARIES = foo.la +foo_la_LDFLAGS = -module -avoid-version -no-undefined +foo_la_SOURCES = foo.c +_ATEOF + + +echo 'int dummy = 0;' > foo.c + + +prefix=`pwd`/_inst + +$LIBTOOLIZE --copy --ltdl + + +{ set +x +$as_echo "$at_srcdir/recursive.at:108: if test -f ltdl/configure.ac; then false; fi" +at_fn_check_prepare_trace "recursive.at:108" +( $at_check_trace; if test -f ltdl/configure.ac; then false; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:108" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +{ set +x +$as_echo "$at_srcdir/recursive.at:110: \$AUTORECONF --force --verbose --install" +at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:110" +( $at_check_trace; $AUTORECONF --force --verbose --install +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:110" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/recursive.at:110: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:110" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/recursive.at:110" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/recursive.at:111: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "recursive.at:111" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:111" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all install $tst_dist +do + { set +x +$as_echo "$at_srcdir/recursive.at:112: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:112" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:112" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +{ set +x +$as_echo "$at_srcdir/recursive.at:114: test -f \"\$prefix/lib/libltdl.la\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "recursive.at:114" +( $at_check_trace; test -f "$prefix/lib/libltdl.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/recursive.at:115: test -f \"\$prefix/include/ltdl.h\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "recursive.at:115" +( $at_check_trace; test -f "$prefix/include/ltdl.h" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_135 +#AT_START_136 +at_fn_group_banner 136 'tagdemo.at:339' \ + "static library" " " 17 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "136. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:341: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "tagdemo.at:341" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:341: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "tagdemo.at:341" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:341" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([tagdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CC_C_O +AC_PROG_CXX +AC_PROG_CXXCPP + +# Check for namespace support and new-style headers +AC_LANG_PUSH([C++]) +AC_MSG_CHECKING([whether the compiler implements namespaces]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], + [[using namespace A::B; return i;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_NAMESPACES],[1], + [define if the compiler implements namespaces])], + [AC_MSG_RESULT([no])]) + +AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif ]], [[cout << "bingo\n"; return 0;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_IOSTREAM],[1], + [define if the compiler has ISO C++ iostream])], + [AC_MSG_RESULT([no])]) +AC_LANG_POP([C++]) + +AC_LANG([C++]) +LT_INIT + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libconv.la +lib_LTLIBRARIES = libfoo.la libbaz.la + +libfoo_la_SOURCES = foo.cpp +libfoo_la_LDFLAGS = -no-undefined +libfoo_la_LIBADD = libconv.la $(LIBM) + +# Test some of the ILD support when using tagged configurations. +libbaz_la_SOURCES = baz.cpp +libbaz_la_LDFLAGS = -no-undefined +libbaz_la_LIBADD = libfoo.la + +# Test convenience libraries. +libconv_la_SOURCES = conv.cpp +libconv_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h baz.h conv.h + +bin_PROGRAMS = tagdemo + +tagdemo_SOURCES = main.cpp +tagdemo_LDADD = libbaz.la libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.cpp <<'_ATEOF' +#include +#if HAVE_IOSTREAM +# include +#else +# include +#endif + +#include "foo.h" +#include "baz.h" +#include "conv.h" + +#if HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +int main (int, char *[]) +{ + cout << "Welcome to GNU libtool tagdemo C++!" << endl; + + foobar_derived FB; + // Instantiate the derived class. + + foobar *fb = &FB; + // Have some fun with polymorphism. + + int value = fb->hello(); + + cout << "foobar::hello returned: " << value << endl; + if (value = HELLO_RET) + cout << "foobar::hello is ok!" << endl; + + if (fb->foo() == FOO_RET) + cout << "foobar::foo is ok!" << endl; + + // -------------- + + barbaz_derived BB; + // Instantiate the derived class. + + barbaz *bb = &BB; + // Have some fun with polymorphism. + + // barbaz_derived::baz() should return FOO_RET since it calls + // foobar_derived::foo(), which in turn calls ::foo(). + if (bb->baz() == FOO_RET) + cout << "barbaz::baz is ok!" << endl; + + // -------------- + + if (convenience()) + cout << "convenience is ok!" << endl; + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H +// Silly constants that the functions return. +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +// Our C test functions. +extern "C" +{ + int foo(void); + int hello(void); +} + +// Our test C++ base class. +class foobar +{ +public: + virtual int foo(void) = 0; + virtual int hello(void) = 0; + // Some dummy pure virtual functions. +}; + + +// Our test C++ derived class. +class foobar_derived : public foobar +{ +public: + virtual int foo(void); + virtual int hello(void); + // Override the base class' pure virtual functions. +}; + +#endif +_ATEOF + + +cat >foo.cpp <<'_ATEOF' +#include +#ifdef HAVE_IOSTREAM +# include +#else +# include +#endif + +#ifdef HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +#include + +#include "foo.h" + +// Our C functions. +int +foo(void) +{ + cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; + return FOO_RET; +} + +int +hello(void) +{ + cout << "** This is libfoo (tagdemo) **" << endl; + return HELLO_RET; +} + + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +foobar_derived::foo(void) +{ + return ::foo(); +} + +int +foobar_derived::hello(void) +{ + return ::hello(); +} +_ATEOF + + +cat >baz.h <<'_ATEOF' +#ifndef BAZ_H +#define BAZ_H 1 + +// Our test C++ base class. +class barbaz +{ +public: + virtual int baz(void) = 0; + // Some dummy pure virtual functions. +}; + +// Our test C++ derived class. +class barbaz_derived : public barbaz +{ +public: + virtual int baz(void); + // Override the base class' pure virtual functions. +}; + +#endif +_ATEOF + + +cat >baz.cpp <<'_ATEOF' +#include + +#include "foo.h" +#include "baz.h" + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +barbaz_derived::baz(void) +{ + foobar_derived FB; + + return FB.foo(); +} +_ATEOF + + +cat >conv.h <<'_ATEOF' +#ifndef CONV_H +#define CONV_H + +// Our C test functions. +extern "C" +{ + int convenience(void); +} + +#endif +_ATEOF + + +cat >conv.cpp <<'_ATEOF' +#include + +#include "conv.h" + +//Our C function. +int convenience (void) { return 1; } +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU libtool tagdemo C++! +** This is libfoo (tagdemo) ** +foobar::hello returned: 57616 +foobar::hello is ok! +cos (0.0) = 1 +foobar::foo is ok! +cos (0.0) = 1 +barbaz::baz is ok! +convenience is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/tagdemo.at:343: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "tagdemo.at:343" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:343: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "tagdemo.at:343" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:343: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "tagdemo.at:343" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/tagdemo.at:343: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "tagdemo.at:343" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:343: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "tagdemo.at:343" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:343: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "tagdemo.at:343" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:343: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "tagdemo.at:343" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/tagdemo.at:343: \$EGREP '^build_libtool_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "tagdemo.at:343" +( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/tagdemo.at:345: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:345" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:345" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./tagdemo; if test -f "./tagdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/tagdemo.at:345: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "tagdemo.at:345" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:345" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_136 +#AT_START_137 +at_fn_group_banner 137 'tagdemo.at:354' \ + "shared library" " " 17 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "137. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:356: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "tagdemo.at:356" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:356" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:356: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "tagdemo.at:356" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:356" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([tagdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CC_C_O +AC_PROG_CXX +AC_PROG_CXXCPP + +# Check for namespace support and new-style headers +AC_LANG_PUSH([C++]) +AC_MSG_CHECKING([whether the compiler implements namespaces]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], + [[using namespace A::B; return i;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_NAMESPACES],[1], + [define if the compiler implements namespaces])], + [AC_MSG_RESULT([no])]) + +AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif ]], [[cout << "bingo\n"; return 0;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_IOSTREAM],[1], + [define if the compiler has ISO C++ iostream])], + [AC_MSG_RESULT([no])]) +AC_LANG_POP([C++]) + +AC_LANG([C++]) +LT_INIT + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libconv.la +lib_LTLIBRARIES = libfoo.la libbaz.la + +libfoo_la_SOURCES = foo.cpp +libfoo_la_LDFLAGS = -no-undefined +libfoo_la_LIBADD = libconv.la $(LIBM) + +# Test some of the ILD support when using tagged configurations. +libbaz_la_SOURCES = baz.cpp +libbaz_la_LDFLAGS = -no-undefined +libbaz_la_LIBADD = libfoo.la + +# Test convenience libraries. +libconv_la_SOURCES = conv.cpp +libconv_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h baz.h conv.h + +bin_PROGRAMS = tagdemo + +tagdemo_SOURCES = main.cpp +tagdemo_LDADD = libbaz.la libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.cpp <<'_ATEOF' +#include +#if HAVE_IOSTREAM +# include +#else +# include +#endif + +#include "foo.h" +#include "baz.h" +#include "conv.h" + +#if HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +int main (int, char *[]) +{ + cout << "Welcome to GNU libtool tagdemo C++!" << endl; + + foobar_derived FB; + // Instantiate the derived class. + + foobar *fb = &FB; + // Have some fun with polymorphism. + + int value = fb->hello(); + + cout << "foobar::hello returned: " << value << endl; + if (value = HELLO_RET) + cout << "foobar::hello is ok!" << endl; + + if (fb->foo() == FOO_RET) + cout << "foobar::foo is ok!" << endl; + + // -------------- + + barbaz_derived BB; + // Instantiate the derived class. + + barbaz *bb = &BB; + // Have some fun with polymorphism. + + // barbaz_derived::baz() should return FOO_RET since it calls + // foobar_derived::foo(), which in turn calls ::foo(). + if (bb->baz() == FOO_RET) + cout << "barbaz::baz is ok!" << endl; + + // -------------- + + if (convenience()) + cout << "convenience is ok!" << endl; + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H +// Silly constants that the functions return. +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +// Our C test functions. +extern "C" +{ + int foo(void); + int hello(void); +} + +// Our test C++ base class. +class foobar +{ +public: + virtual int foo(void) = 0; + virtual int hello(void) = 0; + // Some dummy pure virtual functions. +}; + + +// Our test C++ derived class. +class foobar_derived : public foobar +{ +public: + virtual int foo(void); + virtual int hello(void); + // Override the base class' pure virtual functions. +}; + +#endif +_ATEOF + + +cat >foo.cpp <<'_ATEOF' +#include +#ifdef HAVE_IOSTREAM +# include +#else +# include +#endif + +#ifdef HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +#include + +#include "foo.h" + +// Our C functions. +int +foo(void) +{ + cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; + return FOO_RET; +} + +int +hello(void) +{ + cout << "** This is libfoo (tagdemo) **" << endl; + return HELLO_RET; +} + + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +foobar_derived::foo(void) +{ + return ::foo(); +} + +int +foobar_derived::hello(void) +{ + return ::hello(); +} +_ATEOF + + +cat >baz.h <<'_ATEOF' +#ifndef BAZ_H +#define BAZ_H 1 + +// Our test C++ base class. +class barbaz +{ +public: + virtual int baz(void) = 0; + // Some dummy pure virtual functions. +}; + +// Our test C++ derived class. +class barbaz_derived : public barbaz +{ +public: + virtual int baz(void); + // Override the base class' pure virtual functions. +}; + +#endif +_ATEOF + + +cat >baz.cpp <<'_ATEOF' +#include + +#include "foo.h" +#include "baz.h" + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +barbaz_derived::baz(void) +{ + foobar_derived FB; + + return FB.foo(); +} +_ATEOF + + +cat >conv.h <<'_ATEOF' +#ifndef CONV_H +#define CONV_H + +// Our C test functions. +extern "C" +{ + int convenience(void); +} + +#endif +_ATEOF + + +cat >conv.cpp <<'_ATEOF' +#include + +#include "conv.h" + +//Our C function. +int convenience (void) { return 1; } +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU libtool tagdemo C++! +** This is libfoo (tagdemo) ** +foobar::hello returned: 57616 +foobar::hello is ok! +cos (0.0) = 1 +foobar::foo is ok! +cos (0.0) = 1 +barbaz::baz is ok! +convenience is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/tagdemo.at:358: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "tagdemo.at:358" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:358: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "tagdemo.at:358" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:358: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "tagdemo.at:358" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/tagdemo.at:358: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "tagdemo.at:358" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:358" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:358: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "tagdemo.at:358" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:358: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "tagdemo.at:358" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:358: \$EGREP '^build_old_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "tagdemo.at:358" +( $at_check_trace; $EGREP '^build_old_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/tagdemo.at:358: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "tagdemo.at:358" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/tagdemo.at:360: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:360" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:360" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./tagdemo; if test -f "./tagdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/tagdemo.at:360: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "tagdemo.at:360" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:360" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_137 +#AT_START_138 +at_fn_group_banner 138 'tagdemo.at:369' \ + "shared and static together" " " 17 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "138. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:371: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "tagdemo.at:371" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:371" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:371: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "tagdemo.at:371" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:371" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([tagdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CC_C_O +AC_PROG_CXX +AC_PROG_CXXCPP + +# Check for namespace support and new-style headers +AC_LANG_PUSH([C++]) +AC_MSG_CHECKING([whether the compiler implements namespaces]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], + [[using namespace A::B; return i;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_NAMESPACES],[1], + [define if the compiler implements namespaces])], + [AC_MSG_RESULT([no])]) + +AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif ]], [[cout << "bingo\n"; return 0;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_IOSTREAM],[1], + [define if the compiler has ISO C++ iostream])], + [AC_MSG_RESULT([no])]) +AC_LANG_POP([C++]) + +AC_LANG([C++]) +LT_INIT + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libconv.la +lib_LTLIBRARIES = libfoo.la libbaz.la + +libfoo_la_SOURCES = foo.cpp +libfoo_la_LDFLAGS = -no-undefined +libfoo_la_LIBADD = libconv.la $(LIBM) + +# Test some of the ILD support when using tagged configurations. +libbaz_la_SOURCES = baz.cpp +libbaz_la_LDFLAGS = -no-undefined +libbaz_la_LIBADD = libfoo.la + +# Test convenience libraries. +libconv_la_SOURCES = conv.cpp +libconv_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h baz.h conv.h + +bin_PROGRAMS = tagdemo + +tagdemo_SOURCES = main.cpp +tagdemo_LDADD = libbaz.la libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.cpp <<'_ATEOF' +#include +#if HAVE_IOSTREAM +# include +#else +# include +#endif + +#include "foo.h" +#include "baz.h" +#include "conv.h" + +#if HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +int main (int, char *[]) +{ + cout << "Welcome to GNU libtool tagdemo C++!" << endl; + + foobar_derived FB; + // Instantiate the derived class. + + foobar *fb = &FB; + // Have some fun with polymorphism. + + int value = fb->hello(); + + cout << "foobar::hello returned: " << value << endl; + if (value = HELLO_RET) + cout << "foobar::hello is ok!" << endl; + + if (fb->foo() == FOO_RET) + cout << "foobar::foo is ok!" << endl; + + // -------------- + + barbaz_derived BB; + // Instantiate the derived class. + + barbaz *bb = &BB; + // Have some fun with polymorphism. + + // barbaz_derived::baz() should return FOO_RET since it calls + // foobar_derived::foo(), which in turn calls ::foo(). + if (bb->baz() == FOO_RET) + cout << "barbaz::baz is ok!" << endl; + + // -------------- + + if (convenience()) + cout << "convenience is ok!" << endl; + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H +// Silly constants that the functions return. +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +// Our C test functions. +extern "C" +{ + int foo(void); + int hello(void); +} + +// Our test C++ base class. +class foobar +{ +public: + virtual int foo(void) = 0; + virtual int hello(void) = 0; + // Some dummy pure virtual functions. +}; + + +// Our test C++ derived class. +class foobar_derived : public foobar +{ +public: + virtual int foo(void); + virtual int hello(void); + // Override the base class' pure virtual functions. +}; + +#endif +_ATEOF + + +cat >foo.cpp <<'_ATEOF' +#include +#ifdef HAVE_IOSTREAM +# include +#else +# include +#endif + +#ifdef HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +#include + +#include "foo.h" + +// Our C functions. +int +foo(void) +{ + cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; + return FOO_RET; +} + +int +hello(void) +{ + cout << "** This is libfoo (tagdemo) **" << endl; + return HELLO_RET; +} + + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +foobar_derived::foo(void) +{ + return ::foo(); +} + +int +foobar_derived::hello(void) +{ + return ::hello(); +} +_ATEOF + + +cat >baz.h <<'_ATEOF' +#ifndef BAZ_H +#define BAZ_H 1 + +// Our test C++ base class. +class barbaz +{ +public: + virtual int baz(void) = 0; + // Some dummy pure virtual functions. +}; + +// Our test C++ derived class. +class barbaz_derived : public barbaz +{ +public: + virtual int baz(void); + // Override the base class' pure virtual functions. +}; + +#endif +_ATEOF + + +cat >baz.cpp <<'_ATEOF' +#include + +#include "foo.h" +#include "baz.h" + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +barbaz_derived::baz(void) +{ + foobar_derived FB; + + return FB.foo(); +} +_ATEOF + + +cat >conv.h <<'_ATEOF' +#ifndef CONV_H +#define CONV_H + +// Our C test functions. +extern "C" +{ + int convenience(void); +} + +#endif +_ATEOF + + +cat >conv.cpp <<'_ATEOF' +#include + +#include "conv.h" + +//Our C function. +int convenience (void) { return 1; } +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU libtool tagdemo C++! +** This is libfoo (tagdemo) ** +foobar::hello returned: 57616 +foobar::hello is ok! +cos (0.0) = 1 +foobar::foo is ok! +cos (0.0) = 1 +barbaz::baz is ok! +convenience is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/tagdemo.at:373: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "tagdemo.at:373" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:373: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "tagdemo.at:373" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:373: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "tagdemo.at:373" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/tagdemo.at:373: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "tagdemo.at:373" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:373: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "tagdemo.at:373" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:373: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "tagdemo.at:373" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:373: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "tagdemo.at:373" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/tagdemo.at:373: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "tagdemo.at:373" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/tagdemo.at:375: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:375" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:375" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./tagdemo; if test -f "./tagdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/tagdemo.at:375: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "tagdemo.at:375" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:375" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_138 +#AT_START_139 +at_fn_group_banner 139 'tagdemo.at:384' \ + "allow_undefined_flag" " " 17 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "139. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:386: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "tagdemo.at:386" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:386" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:386: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "tagdemo.at:386" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:386" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([tagdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIRS([m4]) +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CC_C_O +AC_PROG_CXX +AC_PROG_CXXCPP + +# Check for namespace support and new-style headers +AC_LANG_PUSH([C++]) +AC_MSG_CHECKING([whether the compiler implements namespaces]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], + [[using namespace A::B; return i;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_NAMESPACES],[1], + [define if the compiler implements namespaces])], + [AC_MSG_RESULT([no])]) + +AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif ]], [[cout << "bingo\n"; return 0;]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_IOSTREAM],[1], + [define if the compiler has ISO C++ iostream])], + [AC_MSG_RESULT([no])]) +AC_LANG_POP([C++]) + +AC_LANG([C++]) +LT_INIT + +LT_LIB_M +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +noinst_LTLIBRARIES = libconv.la +lib_LTLIBRARIES = libfoo.la libbaz.la + +libfoo_la_SOURCES = foo.cpp +libfoo_la_LDFLAGS = -no-undefined +libfoo_la_LIBADD = libconv.la $(LIBM) + +# Test some of the ILD support when using tagged configurations. +libbaz_la_SOURCES = baz.cpp +libbaz_la_LDFLAGS = -no-undefined +libbaz_la_LIBADD = libfoo.la + +# Test convenience libraries. +libconv_la_SOURCES = conv.cpp +libconv_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h baz.h conv.h + +bin_PROGRAMS = tagdemo + +tagdemo_SOURCES = main.cpp +tagdemo_LDADD = libbaz.la libfoo.la + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >main.cpp <<'_ATEOF' +#include +#if HAVE_IOSTREAM +# include +#else +# include +#endif + +#include "foo.h" +#include "baz.h" +#include "conv.h" + +#if HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +int main (int, char *[]) +{ + cout << "Welcome to GNU libtool tagdemo C++!" << endl; + + foobar_derived FB; + // Instantiate the derived class. + + foobar *fb = &FB; + // Have some fun with polymorphism. + + int value = fb->hello(); + + cout << "foobar::hello returned: " << value << endl; + if (value = HELLO_RET) + cout << "foobar::hello is ok!" << endl; + + if (fb->foo() == FOO_RET) + cout << "foobar::foo is ok!" << endl; + + // -------------- + + barbaz_derived BB; + // Instantiate the derived class. + + barbaz *bb = &BB; + // Have some fun with polymorphism. + + // barbaz_derived::baz() should return FOO_RET since it calls + // foobar_derived::foo(), which in turn calls ::foo(). + if (bb->baz() == FOO_RET) + cout << "barbaz::baz is ok!" << endl; + + // -------------- + + if (convenience()) + cout << "convenience is ok!" << endl; + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef FOO_H +#define FOO_H +// Silly constants that the functions return. +#define HELLO_RET 0xe110 +#define FOO_RET 0xf00 + +// Our C test functions. +extern "C" +{ + int foo(void); + int hello(void); +} + +// Our test C++ base class. +class foobar +{ +public: + virtual int foo(void) = 0; + virtual int hello(void) = 0; + // Some dummy pure virtual functions. +}; + + +// Our test C++ derived class. +class foobar_derived : public foobar +{ +public: + virtual int foo(void); + virtual int hello(void); + // Override the base class' pure virtual functions. +}; + +#endif +_ATEOF + + +cat >foo.cpp <<'_ATEOF' +#include +#ifdef HAVE_IOSTREAM +# include +#else +# include +#endif + +#ifdef HAVE_NAMESPACES +namespace std { } +using namespace std; +#endif + +#include + +#include "foo.h" + +// Our C functions. +int +foo(void) +{ + cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; + return FOO_RET; +} + +int +hello(void) +{ + cout << "** This is libfoo (tagdemo) **" << endl; + return HELLO_RET; +} + + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +foobar_derived::foo(void) +{ + return ::foo(); +} + +int +foobar_derived::hello(void) +{ + return ::hello(); +} +_ATEOF + + +cat >baz.h <<'_ATEOF' +#ifndef BAZ_H +#define BAZ_H 1 + +// Our test C++ base class. +class barbaz +{ +public: + virtual int baz(void) = 0; + // Some dummy pure virtual functions. +}; + +// Our test C++ derived class. +class barbaz_derived : public barbaz +{ +public: + virtual int baz(void); + // Override the base class' pure virtual functions. +}; + +#endif +_ATEOF + + +cat >baz.cpp <<'_ATEOF' +#include + +#include "foo.h" +#include "baz.h" + +// -------------------------------------------------------------------- +// Our C++ derived class methods. + + +int +barbaz_derived::baz(void) +{ + foobar_derived FB; + + return FB.foo(); +} +_ATEOF + + +cat >conv.h <<'_ATEOF' +#ifndef CONV_H +#define CONV_H + +// Our C test functions. +extern "C" +{ + int convenience(void); +} + +#endif +_ATEOF + + +cat >conv.cpp <<'_ATEOF' +#include + +#include "conv.h" + +//Our C function. +int convenience (void) { return 1; } +_ATEOF + + +cat >expout <<'_ATEOF' +Welcome to GNU libtool tagdemo C++! +** This is libfoo (tagdemo) ** +foobar::hello returned: 57616 +foobar::hello is ok! +cos (0.0) = 1 +foobar::foo is ok! +cos (0.0) = 1 +barbaz::baz is ok! +convenience is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + +prefix=`pwd`/_inst + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/tagdemo.at:388: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "tagdemo.at:388" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:388: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "tagdemo.at:388" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:388: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "tagdemo.at:388" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/tagdemo.at:388: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "tagdemo.at:388" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:388: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "tagdemo.at:388" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:388: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "tagdemo.at:388" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/tagdemo.at:390: \$GREP \"^allow_undefined_flag=.\\{0,1\\}unsupported.\\{0,1\\}\$\" libtool && (exit 77)" +at_fn_check_prepare_dynamic "$GREP \"^allow_undefined_flag=.\\{0,1\\}unsupported.\\{0,1\\}$\" libtool && (exit 77)" "tagdemo.at:390" +( $at_check_trace; $GREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:390" +$at_failed && at_fn_log_failure +$at_traceon; } + +$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool +for target in all +do + { set +x +$as_echo "$at_srcdir/tagdemo.at:393: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:393" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:393" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +lt_exe=./tagdemo; if test -f "./tagdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/tagdemo.at:393: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "tagdemo.at:393" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:393" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_139 +#AT_START_140 +at_fn_group_banner 140 'template.at:28' \ + "simple template test" " " 18 +at_xfail=no +( + $as_echo "140. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/template.at:29: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "template.at:29" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:29: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "template.at:29" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >aclib.h <<'_ATEOF' +int cf(int); +_ATEOF + + +cat >aclib.cpp <<'_ATEOF' +#include "aclib.h" +template + +T cq(T b) +{ + return b * 3; +} + +int cf(int i) +{ + return cq(i); +} +_ATEOF + + +cat >alib.h <<'_ATEOF' +int f(int); +_ATEOF + + +cat >alib.cpp <<'_ATEOF' +#include "alib.h" + +template +T q(T b) +{ + return b * 2; +} + +int f(int i) +{ + return q(i); +} +_ATEOF + + +cat >prog.cpp <<'_ATEOF' +#include "alib.h" +#include "aclib.h" + +int main() +{ + return f(3) + 3 - cf(3) != 0; +} +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/template.at:80: \$LIBTOOL --tag=CXX --mode=compile \$CXX -I. \$CPPFLAGS \$CXXFLAGS -c -o alib.lo alib.cpp" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o alib.lo alib.cpp" "template.at:80" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o alib.lo alib.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:80" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:82: \$LIBTOOL --tag=CXX --mode=compile \$CXX -I. \$CPPFLAGS \$CXXFLAGS -c -o aclib.lo aclib.cpp" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o aclib.lo aclib.cpp" "template.at:82" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o aclib.lo aclib.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:82" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:84: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CPPFLAGS \$CXXFLAGS \$LDFLAGS -o libaclib.la aclib.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libaclib.la aclib.lo" "template.at:84" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libaclib.la aclib.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:84" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:86: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CPPFLAGS \$CXXFLAGS \$LDFLAGS -o libalib.la -rpath /nonexistent alib.lo libaclib.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libalib.la -rpath /nonexistent alib.lo libaclib.la" "template.at:86" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libalib.la -rpath /nonexistent alib.lo libaclib.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:88: \$CXX -I. \$CPPFLAGS \$CXXFLAGS -c prog.cpp" +at_fn_check_prepare_dynamic "$CXX -I. $CPPFLAGS $CXXFLAGS -c prog.cpp" "template.at:88" +( $at_check_trace; $CXX -I. $CPPFLAGS $CXXFLAGS -c prog.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:90: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CPPFLAGS \$CXXFLAGS \$LDFLAGS -o prog\$EXEEXT prog.\$OBJEXT libalib.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o prog$EXEEXT prog.$OBJEXT libalib.la" "template.at:90" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o prog$EXEEXT prog.$OBJEXT libalib.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./prog; if test -f "./prog$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/template.at:93: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:93" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:93" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_140 +#AT_START_141 +at_fn_group_banner 141 'template.at:127' \ + "template test with subdirs" " " 18 +at_xfail=no +( + $as_echo "141. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/template.at:128: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "template.at:128" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:128: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "template.at:128" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +noskip=: +withundef=: +# Mac OS X. +# The linker has issues with this test. +case $host in +*-darwin*) noskip=false ;; +*-aix*) withundef=false ;; +esac + + +CPPFLAGS="$CPPFLAGS -I../src/lib -I../src/lib2" + +mkdir src obj +( cd src; mkdir lib lib2 sub ) +( cd obj; mkdir lib lib2 sub ) + +cat >src/lib/a.hh <<'_ATEOF' +template +unsigned int a(const T&); + +template +unsigned int a(const T& t) +{ + return sizeof t; +} + +extern int a2(char t); + +inline int a3(const double* t) +{ + return a(t); +} +_ATEOF + + +cat >src/lib/a.cpp <<'_ATEOF' +#include "a.hh" + +int a2(char t) +{ + return a(t); +} +_ATEOF + + +cat >src/lib2/b.hh <<'_ATEOF' +#include "a.hh" + +template +unsigned int b(T& t) +{ + return a(t); +} +extern int b2(char* t); +struct bs { int bi; }; +extern int b3(bs t); +_ATEOF + + +cat >src/lib2/b.cpp <<'_ATEOF' +#include "b.hh" + +int b2(char* t) +{ + return a2(t[0]); +} + +int b3(bs t) +{ + return b(t); +} +_ATEOF + + +cat >src/sub/main.cpp <<'_ATEOF' +#include "b.hh" + +int main() +{ + double foo; + const char s = ' '; + char d; + char *t = &d; + return b(foo) + a3(&foo) + b2(t) - a(s) + - (sizeof(double) + sizeof(double*)); +} +_ATEOF + + +cd obj + +# If the compiler supports -c -o, we want to use it: +# it may make a difference for templates +eval `$LIBTOOL --tag=CXX --config | $GREP ^compiler_c_o=` +case $compiler_c_o in +yes) + main_o=sub/main.$OBJEXT + { set +x +$as_echo "$at_srcdir/template.at:223: \$CXX \$CPPFLAGS \$CXXFLAGS -c -o \$main_o ../src/sub/main.cpp" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c -o $main_o ../src/sub/main.cpp" "template.at:223" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c -o $main_o ../src/sub/main.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:223" +$at_failed && at_fn_log_failure +$at_traceon; } + + ;; +*) + main_o=main.$OBJEXT + { set +x +$as_echo "$at_srcdir/template.at:228: \$CXX \$CPPFLAGS \$CXXFLAGS -c ../src/sub/main.cpp" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp" "template.at:228" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + + ;; +esac + +{ set +x +$as_echo "$at_srcdir/template.at:233: \$LIBTOOL --tag=CXX --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp" "template.at:233" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:233" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:235: \$LIBTOOL --tag=CXX --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp" "template.at:235" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:235" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:237: \$CXX \$CPPFLAGS \$CXXFLAGS -c ../src/sub/main.cpp" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp" "template.at:237" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:237" +$at_failed && at_fn_log_failure +$at_traceon; } + +# both convenience +{ set +x +$as_echo "$at_srcdir/template.at:240: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib/liba.la lib/a.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo" "template.at:240" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:240" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:242: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo" "template.at:242" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:242" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:244: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la lib/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la" "template.at:244" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:244" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/template.at:246: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != ignore && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != ignore && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:246" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != ignore && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_skip $at_status "$at_srcdir/template.at:246" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# lib convenience +if $noskip && $withundef; then + { set +x +$as_echo "$at_srcdir/template.at:249: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo" "template.at:249" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:249" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/template.at:251: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la lib/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la" "template.at:251" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:251" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/template.at:253: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:253" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:253" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi + +# both installed +{ set +x +$as_echo "$at_srcdir/template.at:257: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo" "template.at:257" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:257" +$at_failed && at_fn_log_failure +$at_traceon; } + +if $withundef; then + { set +x +$as_echo "$at_srcdir/template.at:260: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar" "template.at:260" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:260" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/template.at:262: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la lib/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la" "template.at:262" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:262" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/template.at:264: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:264" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:264" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi + +# both convenience, libb depending on liba +{ set +x +$as_echo "$at_srcdir/template.at:268: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib/liba.la lib/a.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo" "template.at:268" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:268" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:270: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la" "template.at:270" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:270" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/template.at:272: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la" "template.at:272" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:272" +$at_failed && at_fn_log_failure +$at_traceon; } + +lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/template.at:274: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:274" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:274" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# lib convenience +if $noskip; then + + { set +x +$as_echo "$at_srcdir/template.at:278: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo" "template.at:278" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:278" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/template.at:280: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la" "template.at:280" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:280" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/template.at:282: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:282" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:282" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi +# both installed +if $noskip; then + { set +x +$as_echo "$at_srcdir/template.at:286: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar" "template.at:286" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:286" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/template.at:288: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la" +at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la" "template.at:288" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/template.at:288" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/template.at:290: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:290" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:290" +$at_failed && at_fn_log_failure +$at_traceon; } + + +fi + +cd .. + +{ set +x +$as_echo "$at_srcdir/template.at:295: \$noskip || (exit 77)" +at_fn_check_prepare_dynamic "$noskip || (exit 77)" "template.at:295" +( $at_check_trace; $noskip || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/template.at:295" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_141 +#AT_START_142 +at_fn_group_banner 142 'ctor.at:28' \ + "C++ static constructors" " " 19 +at_xfail=no +( + $as_echo "142. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/ctor.at:29: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "ctor.at:29" +( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ctor.at:29: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" +at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "ctor.at:29" +( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >class.h <<'_ATEOF' +#define magic 0xaabbccdd +class Foo { +public: + Foo() { bar = magic; } + unsigned bar; +}; + +extern Foo instance; +_ATEOF + + +cat >libctor.cpp <<'_ATEOF' +#include "class.h" +Foo instance; +_ATEOF + + +cat >main.cpp <<'_ATEOF' +#include "class.h" + +int main(void) +{ + return instance.bar != magic; +} +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/ctor.at:57: \$LIBTOOL --tag=CXX --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS \\ + -c libctor.cpp -o libctor.lo" +at_fn_check_prepare_notrace 'an embedded newline' "ctor.at:57" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS \ + -c libctor.cpp -o libctor.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:57" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ctor.at:59: \$LIBTOOL --tag=CXX --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS \\ + -c main.cpp -o main.lo" +at_fn_check_prepare_notrace 'an embedded newline' "ctor.at:59" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS \ + -c main.cpp -o main.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:59" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ctor.at:61: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS \\ + libctor.lo -o libctor.la -rpath /none" +at_fn_check_prepare_notrace 'an embedded newline' "ctor.at:61" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS \ + libctor.lo -o libctor.la -rpath /none +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:61" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/ctor.at:63: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS \\ + main.lo libctor.la -o main\$EXEEXT" +at_fn_check_prepare_notrace 'an embedded newline' "ctor.at:63" +( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS \ + main.lo libctor.la -o main$EXEEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:63" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/ctor.at:66: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "ctor.at:66" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:66" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_142 +#AT_START_143 +at_fn_group_banner 143 'exceptions.at:24' \ + "C++ exception handling" " " 19 +at_xfail=no +( + $as_echo "143. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/exceptions.at:33: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "exceptions.at:33" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + + +CPPFLAGS="$LTDLINCL $CPPFLAGS" + +# Win32 (and cygwin) notes +# ------------------------ +# When using C++ and Win32 DLLs, data types used in the DLL's interface +# that are other-than-POD, must have vtables, typeinfo, and other +# elements resolved when the client is linked. This includes exception +# classes. Therefore, the exception class "modexc" thrown by the +# dynamically-loaded module must be defined in a separate DLL, to which +# both that module and main must be directly linked; hence, the 'common' +# library. Not using a 'common' library in this manner represents an +# ODR violation, unless the platform's runtime loader is capable of +# rationalizing vague linkage items such as vtables, typeinfo, and +# typename elements) at runtime. The Win32 loader is not capable of +# this, but some ELF loaders appear to be. +# +# Similar treatment is not necessary for liba (e.g. the libexc +# exception class), because that library is not dynamically loaded. As a +# consequence, vague linkage items for the class libexc are resolved at +# link time using the vague linkage rules, for both Win32 and other +# (e.g. ELF) platforms. +# +# Also, when linking a C++ DLL with another C++ DLL, some versions of +# the GNU toolchain on Win32 (or cygwin) mistakenly re-export symbols +# that were imported from the other DLL, when the client DLL is linked +# using -export-all-symbols. Similar issues MAY also arise with those +# versions of the GNU toolchain if using the libtool link flags +# -export-symbols LIST or -export-symbols-regex REGEX, if any symbols +# from the dependency, rather than client, library are listed (or match +# the regex). However, in this test, none of these situations apply, +# so we don't directly address it. Otherwise, the correct mechanism +# would be to avoid all of those flags, and instead explicitly decorate +# all symbols with appropriate __declspec (dllexport) or +# __declspec (dllimport) flags when building the DLLs and the clients. +# +# For more information, see these two threads: +# http://lists.gnu.org/archive/html/bug-libtool/2010-06/msg00069.html +# http://cygwin.com/ml/cygwin/2010-06/msg00392.html +# To sum up: C++ is complicated. +cat >common.h <<'_ATEOF' +#ifndef LIBTOOL_TEST_COMMON_HEADER +#define LIBTOOL_TEST_COMMON_HEADER + +#include +#include + +#if defined __CYGWIN__ || defined _WIN32 +# if defined DLL_EXPORT || defined USING_COMMON_DLL +# if defined LIBTOOL_TEST_IN_COMMON +# define COMMON_IMPEXP __declspec (dllexport) +# else +# define COMMON_IMPEXP __declspec (dllimport) +# endif +# else +# define COMMON_IMPEXP +# endif +#else +# define COMMON_IMPEXP +#endif + +class COMMON_IMPEXP modexc : public std::exception { +public: + modexc (std::string str) : message (str) { } + ~modexc () throw () { } + virtual const char *what () const throw () + { + return message.c_str (); + } +private: + std::string message; +}; + +extern "C" int COMMON_IMPEXP common_dummy (void); +#endif +_ATEOF + + +cat >common.cpp <<'_ATEOF' +#define LIBTOOL_TEST_IN_COMMON +#include "common.h" + +extern "C" +int common_dummy (void) +{ + return 0; +} +_ATEOF + + +cat >module.h <<'_ATEOF' +#include "common.h" + +#if defined __CYGWIN__ || defined _WIN32 +# if defined DLL_EXPORT || defined USING_MODULE_DLL +# if defined LIBTOOL_TEST_IN_MODULE +# define MODULE_IMPEXP __declspec (dllexport) +# else +# define MODULE_IMPEXP __declspec (dllimport) +# endif +# else +# define MODULE_IMPEXP +# endif +#else +# define MODULE_IMPEXP +#endif + +extern "C" int MODULE_IMPEXP modfoo () throw (modexc); +_ATEOF + + +cat >module.cpp <<'_ATEOF' +#include +#define LIBTOOL_TEST_IN_MODULE +#include "module.h" + +int modbar (void) throw (modexc) +{ + throw modexc ("exception in module"); +} + +extern "C" +int modfoo (void) throw (modexc) +{ + try { + modbar (); + } + catch (modexc e) { + std::cerr << "caught inside module: " << e.what () << '\n'; + throw modexc ("exception from module"); + } + return 0; +} +_ATEOF + + +cat >lib.h <<'_ATEOF' +#include +#include + + +#if defined __CYGWIN__ || defined _WIN32 +# if defined DLL_EXPORT || defined USING_LIB_DLL +# if defined LIBTOOL_TEST_IN_LIB +# define LIB_IMPEXP __declspec (dllexport) +# else +# define LIB_IMPEXP __declspec (dllimport) +# endif +# else +# define LIB_IMPEXP +# endif +#else +# define LIB_IMPEXP +#endif + +class LIB_IMPEXP libexc : public std::exception { +public: + libexc (std::string str) : message (str) { } + ~libexc () throw () { } + virtual const char *what () const throw () + { + return message.c_str (); + } +private: + std::string message; +}; +int LIB_IMPEXP libfoo () throw (libexc); +_ATEOF + + +cat >lib.cpp <<'_ATEOF' +#include +#define LIBTOOL_TEST_IN_LIB +#include "lib.h" + +int libbar (void) throw (libexc) +{ + throw libexc ("exception in library"); +} + +int libfoo (void) throw (libexc) +{ + try { + libbar (); + } + catch (libexc e) { + std::cerr << "caught inside lib: " << e.what () << '\n'; + throw libexc ("exception from library"); + } + return 0; +} +_ATEOF + + +cat >main.cpp <<'_ATEOF' +#include +#include +#include +#include +#include +#include "common.h" +#include "lib.h" +#include "module.h" + +class exc : public std::exception { +public: + exc (std::string str) : message (str) { } + ~exc () throw () { } + virtual const char *what () const throw () + { + return message.c_str (); + } +private: + std::string message; +}; + +int foo (void) throw (exc) +{ + throw exc ("exception in program"); + return 0; +} + +int exceptions_in_prog (void) +{ + std::cerr << "exceptions_in_prog\n"; + try { + foo (); + } + catch (exc e) { + std::cerr << "caught: " << e.what () << '\n'; + return 0; + } + return 1; +} + +int exceptions_in_lib (void) +{ + std::cerr << "exceptions_in_lib\n"; + try { + libfoo (); + } + catch (libexc e) { + std::cerr << "caught: " << e.what () << '\n'; + return 0; + } + return 1; +} + +int exceptions_in_module (void) +{ + std::cerr << "exceptions_in_module\n"; + + if (lt_dlinit ()) + { + std::cerr << "init error: " << lt_dlerror () << '\n'; + return 1; + } + + // Some systems need RTLD_GLOBAL for exceptions to work in modules. + lt_dladvise advise; + if (lt_dladvise_init (&advise) || lt_dladvise_global (&advise)) + { + std::cerr << "error setting advise global\n"; + return 1; + } + + lt_dlhandle handle = lt_dlopenadvise ("module.la", advise); + if (handle == NULL) + { + std::cerr << "dlopen failed: " << lt_dlerror () << '\n'; + return 1; + } + lt_dladvise_destroy (&advise); + + typedef int (*pfun) (void); + pfun pf = (pfun) lt_dlsym (handle, "modfoo"); + if (pf == NULL) + { + std::cerr << "dlsym failed: " << lt_dlerror () << '\n'; + return 1; + } + + bool exception_caught = false; + try { + (*pf) (); + } + catch (modexc e) { + std::cerr << "caught: " << e.what () << '\n'; + exception_caught = true; + } + + /* Only close the module after all of its objects have gone out of scope. */ + if (exception_caught) + { + if (lt_dlclose (handle)) + { + std::cerr << "dlclose failed: " << lt_dlerror () << '\n'; + return 1; + } + if (lt_dlexit ()) + { + std::cerr << "lt_dlexit failed: " << lt_dlerror () << '\n'; + return 1; + } + return 0; + } + return 1; +} + +int main (void) +{ + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (exceptions_in_prog ()) + return 1; + if (exceptions_in_lib ()) + return 1; + if (exceptions_in_module ()) + return 1; + return 0; +} +_ATEOF + + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +moddir=$inst/mod +mkdir l m $inst $libdir $bindir $moddir + +# If the C++ compiler isn't capable, don't bother. +{ set +x +$as_echo "$at_srcdir/exceptions.at:361: \$CXX \$CPPFLAGS \$CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77" +at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77" "exceptions.at:361" +( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:361" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/exceptions.at:363: \$LIBTOOL --mode=compile --tag=CXX \$CXX \$CPPFLAGS \$CXXFLAGS -c common.cpp" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c common.cpp" "exceptions.at:363" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c common.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:363" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/exceptions.at:365: \$LIBTOOL --mode=compile --tag=CXX \$CXX \$CPPFLAGS \$CXXFLAGS -c lib.cpp" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c lib.cpp" "exceptions.at:365" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c lib.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:365" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/exceptions.at:367: \$LIBTOOL --mode=compile --tag=CXX \$CXX \$CPPFLAGS \$CXXFLAGS -DUSING_COMMON_DLL -c module.cpp" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -c module.cpp" "exceptions.at:367" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -c module.cpp +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:367" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/exceptions.at:370: \$LIBTOOL --mode=link --tag=CXX \$CXX \$CXXFLAGS \$LDFLAGS -o l/libcommon.la common.lo -no-undefined -version-info 1:0:0 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/libcommon.la common.lo -no-undefined -version-info 1:0:0 -rpath $libdir" "exceptions.at:370" +( $at_check_trace; $LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/libcommon.la common.lo -no-undefined -version-info 1:0:0 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:370" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/exceptions.at:373: \$LIBTOOL --mode=link --tag=CXX \$CXX \$CXXFLAGS \$LDFLAGS -o l/liba.la lib.lo -no-undefined -version-info 1:0:0 -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/liba.la lib.lo -no-undefined -version-info 1:0:0 -rpath $libdir" "exceptions.at:373" +( $at_check_trace; $LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/liba.la lib.lo -no-undefined -version-info 1:0:0 -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/exceptions.at:376: \$LIBTOOL --mode=link --tag=CXX \$CXX \$CXXFLAGS \$LDFLAGS -o m/module.la module.lo l/libcommon.la -module -avoid-version -no-undefined -rpath \$moddir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o m/module.la module.lo l/libcommon.la -module -avoid-version -no-undefined -rpath $moddir" "exceptions.at:376" +( $at_check_trace; $LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o m/module.la module.lo l/libcommon.la -module -avoid-version -no-undefined -rpath $moddir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:376" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# We need -export-dynamic for the exception handling in modules to work. +{ set +x +$as_echo "$at_srcdir/exceptions.at:381: \$LIBTOOL --mode=link --tag=CXX \$CXX \$CXXFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT l/liba.la l/libcommon.la -dlopen m/module.la \$LIBLTDL -export-dynamic" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT l/liba.la l/libcommon.la -dlopen m/module.la $LIBLTDL -export-dynamic" "exceptions.at:381" +( $at_check_trace; $LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT l/liba.la l/libcommon.la -dlopen m/module.la $LIBLTDL -export-dynamic +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:381" +$at_failed && at_fn_log_failure +$at_traceon; } + + +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/exceptions.at:385: if \$LIBTOOL --mode=execute -dlopen m/module.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen m/module.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "exceptions.at:385" +( $at_check_trace; if $LIBTOOL --mode=execute -dlopen m/module.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:385" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +{ set +x +$as_echo "$at_srcdir/exceptions.at:387: \$LIBTOOL --mode=install cp l/libcommon.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp l/libcommon.la $libdir" "exceptions.at:387" +( $at_check_trace; $LIBTOOL --mode=install cp l/libcommon.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:387" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/exceptions.at:389: \$LIBTOOL --mode=install cp l/liba.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp l/liba.la $libdir" "exceptions.at:389" +( $at_check_trace; $LIBTOOL --mode=install cp l/liba.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:389" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/exceptions.at:391: \$LIBTOOL --mode=install cp m/module.la \$moddir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m/module.la $moddir" "exceptions.at:391" +( $at_check_trace; $LIBTOOL --mode=install cp m/module.la $moddir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:391" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/exceptions.at:393: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "exceptions.at:393" +( $at_check_trace; $LIBTOOL --mode=install cp main$EXEEXT $bindir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:393" +$at_failed && at_fn_log_failure +$at_traceon; } + +rm -rf l m main$EXEEXT + +LTDL_LIBRARY_PATH=$moddir +export LTDL_LIBRARY_PATH +lt_exe=$bindir/main; if test -f "$bindir/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/exceptions.at:399: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "exceptions.at:399" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:399" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_143 +#AT_START_144 +at_fn_group_banner 144 'early-libtool.at:33' \ + "config.status" " " 20 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "144. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtool-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.in <<'_ATEOF' +prefix = @prefix@ +libdir = @libdir@ +top_builddir = . +SHELL = @SHELL@ +DEFAULT_INCLUDES = -I. -I@srcdir@ +EXEEXT = @EXEEXT@ +LIBTOOL = @LIBTOOL@ +OBJEXT = @OBJEXT@ + +CPPFLAGS = @CPPFLAGS@ +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) +LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) +LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -o $@ + +all: hell$(EXEEXT) + +libhello.la: hello.lo + $(LINK) -rpath $(libdir) hello.lo +hell$(EXEEXT): main.$(OBJEXT) libhello.la + $(LINK) main.$(OBJEXT) libhello.la + +.SUFFIXES: +.SUFFIXES: .c .$(OBJEXT) .lo + +.c.$(OBJEXT): + $(COMPILE) -c $< +.c.lo: + $(LTCOMPILE) -c -o $@ $< +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include + +void +hello (void) +{ + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include + +extern void hello (void); + +int +main (void) +{ + printf ("Welcome to GNU Hell!\n"); + + hello (); + + return 0; +} +_ATEOF + + +cat > missing <<_EOF +#! /bin/sh +exit 0 +_EOF +chmod a+x missing + +$LIBTOOLIZE --copy --verbose --install + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/early-libtool.at:110: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "early-libtool.at:110" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:110" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/early-libtool.at:111: \$AUTOCONF --force" +at_fn_check_prepare_dynamic "$AUTOCONF --force" "early-libtool.at:111" +( $at_check_trace; $AUTOCONF --force +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:111" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/early-libtool.at:112: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "early-libtool.at:112" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:112" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/early-libtool.at:113: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "early-libtool.at:113" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:113" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/early-libtool.at:115: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "early-libtool.at:115" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:115" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/early-libtool.at:116: \$GREP 'Welcome to GNU Hell' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU Hell' stdout" "early-libtool.at:116" +( $at_check_trace; $GREP 'Welcome to GNU Hell' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:116" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/early-libtool.at:117: \$GREP 'This is not GNU Hello.' stdout" +at_fn_check_prepare_dynamic "$GREP 'This is not GNU Hello.' stdout" "early-libtool.at:117" +( $at_check_trace; $GREP 'This is not GNU Hello.' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:117" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_144 +#AT_START_145 +at_fn_group_banner 145 'early-libtool.at:127' \ + "config.lt" " " 20 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "145. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([libtool-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_MACRO_DIRS([m4]) +LT_INIT +LT_OUTPUT + +cat >hello.c <<\_EOF +#include + +void +hello (void) +{ + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); +} +_EOF + +# Prove that we can run libtool from inside configure: +$SHELL ./libtool --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS \ + -I. -I$srcdir -c -o hello.lo hello.c || exit 1 +$SHELL ./libtool --mode=link --tag=CC $CC $CFLAGS $LDFLAGS \ + -o libhello.la -rpath /notexist hello.lo || exit 1 + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.in <<'_ATEOF' +prefix = @prefix@ +libdir = @libdir@ +top_builddir = . +SHELL = @SHELL@ +DEFAULT_INCLUDES = -I. -I@srcdir@ +EXEEXT = @EXEEXT@ +LIBTOOL = @LIBTOOL@ +OBJEXT = @OBJEXT@ + +CPPFLAGS = @CPPFLAGS@ +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ + +COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) +LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -o $@ + +all: hell$(EXEEXT) + +hell$(EXEEXT): main.$(OBJEXT) libhello.la + $(LINK) main.$(OBJEXT) libhello.la + +.SUFFIXES: +.SUFFIXES: .c .$(OBJEXT) + +.c.$(OBJEXT): + $(COMPILE) -c $< +_ATEOF + + +cat >hello.c <<'_ATEOF' +#include + +void +hello (void) +{ + printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); +} +_ATEOF + + +cat >main.c <<'_ATEOF' +#include + +extern void hello (void); + +int +main (int argc, char *argv[]) +{ + printf ("Welcome to GNU Hell!\n"); + + hello (); + + return 0; +} +_ATEOF + + +cat > missing <<_EOF +#! /bin/sh +exit 0 +_EOF +chmod a+x missing + +$LIBTOOLIZE --copy --verbose --install + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/early-libtool.at:217: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "early-libtool.at:217" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:217" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/early-libtool.at:218: \$AUTOCONF --force" +at_fn_check_prepare_dynamic "$AUTOCONF --force" "early-libtool.at:218" +( $at_check_trace; $AUTOCONF --force +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:218" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/early-libtool.at:219: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "early-libtool.at:219" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:219" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/early-libtool.at:220: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "early-libtool.at:220" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:220" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/early-libtool.at:222: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "early-libtool.at:222" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:222" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/early-libtool.at:223: \$GREP 'Welcome to GNU Hell' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU Hell' stdout" "early-libtool.at:223" +( $at_check_trace; $GREP 'Welcome to GNU Hell' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:223" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/early-libtool.at:224: \$GREP 'This is not GNU Hello.' stdout" +at_fn_check_prepare_dynamic "$GREP 'This is not GNU Hello.' stdout" "early-libtool.at:224" +( $at_check_trace; $GREP 'This is not GNU Hello.' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:224" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Make sure config.status --recheck updates the libtool script +rm libtool +{ set +x +$as_echo "$at_srcdir/early-libtool.at:228: \$SHELL ./config.status --recheck" +at_fn_check_prepare_dynamic "$SHELL ./config.status --recheck" "early-libtool.at:228" +( $at_check_trace; $SHELL ./config.status --recheck +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_145 +#AT_START_146 +at_fn_group_banner 146 'no-executables.at:26' \ + "AC_NO_EXECUTABLES" " " 21 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "146. $at_setup_line: testing $at_desc ..." + $at_traceon + + +mkdir m4 + +cat >configure.ac <<'_ATEOF' +AC_INIT([no-exec], [1]) +AC_CONFIG_MACRO_DIRS([m4]) + +# We punt a bit here, to get the results of AC_PROG_CC +# (and allow it to do link tests) but still error out on +# link tests within Libtool macros. +LDFLAGS=-lnosuchlibrary +AC_NO_EXECUTABLES +AC_PROG_CC +AC_PROG_CXX +AC_PROG_F77 +AC_PROG_FC +AM_PROG_GCJ + +# Consequently, we have to set cache variables for each link +# test we may need. For the purposes of this test, it shouldn't +# matter much whether these values are actually wrong, the point +# is that the linker should never be invoked. + +lt_cv_shlibpath_overrides_runpath=no +lt_cv_archive_cmds_need_lc=no +lt_cv_cc_needs_belf=no +lt_cv_ld_exported_symbols_list=no +lt_cv_prog_compiler_static_works=no +lt_cv_aix_libpath=/usr/lib:/lib +lt_cv_irix_exported_symbol=yes + +# Deal with AC_LIBTOOL_DLOPEN in one of two possible ways: +# - do not execute it at all in the ac_no_link case +# - preset the individual Autoconf test variables + +if ${test_ac_libtool_dlopen-false}; then + ac_cv_func_shl_load=no + ac_cv_lib_dld_shl_load=no + ac_cv_func_dlopen=no + ac_cv_lib_dl_dlopen=no + ac_cv_lib_svld_dlopen=no + ac_cv_lib_dld_dld_link=no + AC_LIBTOOL_DLOPEN +fi +AC_PROG_LIBTOOL + +AC_OUTPUT +_ATEOF + + +$LIBTOOLIZE --install + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/no-executables.at:76: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "no-executables.at:76" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/no-executables.at:76" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + + +{ set +x +$as_echo "$at_srcdir/no-executables.at:76: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "no-executables.at:76" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/no-executables.at:76" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + + +{ set +x +$as_echo "$at_srcdir/no-executables.at:77: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "no-executables.at:77" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/no-executables.at:77" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/no-executables.at:78: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" test_ac_libtool_dlopen=:" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "no-executables.at:78" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" test_ac_libtool_dlopen=: +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/no-executables.at:78" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_146 +#AT_START_147 +at_fn_group_banner 147 'deplibs-ident.at:33' \ + "build tree relpaths" " " 22 +at_xfail=no + eval `$LIBTOOL --config | $EGREP '^hardcode_(direct|direct_absolute|action)='` + case $hardcode_action,$hardcode_direct,$hardcode_direct_absolute in + relink,yes,no) :;; + *,no,*) :;; + *) false;; + esac && at_xfail=yes +( + $as_echo "147. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +mkdir a a/b c +echo 'int c() { return 0; }' > c/libcee.c +{ set +x +$as_echo "$at_srcdir/deplibs-ident.at:38: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c c/libcee.c -o c/libcee.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c/libcee.c -o c/libcee.lo" "deplibs-ident.at:38" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c/libcee.c -o c/libcee.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:38" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/deplibs-ident.at:40: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere" "deplibs-ident.at:40" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + + +depl_1=../c/libcee.la +depl_2=`pwd`/c/libcee.la +depl_3="-L../c -lcee" + +( + cd a + for i in 1 2 3; do + eval depend_on_c=\"\$depl_$i\" + echo "extern int c(void); int a$i() { return c(); }" > liba$i.c + { set +x +$as_echo "$at_srcdir/deplibs-ident.at:52: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba\$i.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba$i.c" "deplibs-ident.at:52" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba$i.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/deplibs-ident.at:54: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba\$i.la liba\$i.lo \$depend_on_c -rpath /nowhere" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la liba$i.lo $depend_on_c -rpath /nowhere" "deplibs-ident.at:54" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la liba$i.lo $depend_on_c -rpath /nowhere +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + + done +) + +cat >a/b/b.c <<'_ATEOF' +extern int a1(void), a2(void), a3(void), c(void); +int main() { return a1() + a2() + a3() + c(); } +_ATEOF + + +( + cd a/b + { set +x +$as_echo "$at_srcdir/deplibs-ident.at:66: \$CC \$CFLAGS -c b.c" +at_fn_check_prepare_dynamic "$CC $CFLAGS -c b.c" "deplibs-ident.at:66" +( $at_check_trace; $CC $CFLAGS -c b.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:66" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/deplibs-ident.at:67: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o b\$EXEEXT b.\$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b$EXEEXT b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere" "deplibs-ident.at:67" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b$EXEEXT b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/deplibs-ident.at:69: \$EGREP 'cee.*cee' stdout" +at_fn_check_prepare_dynamic "$EGREP 'cee.*cee' stdout" "deplibs-ident.at:69" +( $at_check_trace; $EGREP 'cee.*cee' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/deplibs-ident.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + + + ) + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_147 +#AT_START_148 +at_fn_group_banner 148 'configure-iface.at:103' \ + "installable libltdl" " " 23 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "148. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >main.c <<'_ATEOF' +#include +#include + +typedef int funcp (void); + +static int errors = 0; + +int +main (void) +{ + lt_dlhandle handle; + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (lt_dlinit () != 0) + { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror ()); + return 1; + } + + handle = lt_dlopenext ("libmodule"); + if (!handle) + { + fprintf (stderr, "can't open libmodule: %s\n", lt_dlerror ()); + ++errors; + } + + { + funcp *f = (funcp *) lt_dlsym (handle, "f"); + + if (f) + { + printf ("%d\n", f ()); + } + else + { + fprintf (stderr, "function 'f' not found: %s\n", lt_dlerror ()); + ++errors; + } + } + + if (lt_dlexit () != 0) + { + fprintf (stderr, "error during exit: %s\n", lt_dlerror ()); + ++errors; + } + + return (errors != 0); +} +_ATEOF + + +cat >libmodule.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +int f (void) { return 5150; } +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >expout <<'_ATEOF' +5150 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + + +cat >configure.ac <<'_ATEOF' +AC_INIT([installable-ltdl-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([libltdl/config]) +AC_CONFIG_MACRO_DIRS([libltdl/m4]) +AC_CONFIG_HEADERS([config.h:config.hin]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT([dlopen]) +LTDL_INIT([installable]) +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = 1.7 + +SUBDIRS = libltdl + +AM_CPPFLAGS = $(LTDLINCL) + +lib_LTLIBRARIES = libmodule.la +# Automake < 1.8 will use libmodule.la.c as default source, +# while newer will choose libmodule.c; so specify it here. +libmodule_la_SOURCES = libmodule.c +libmodule_la_LDFLAGS = -module + +bin_PROGRAMS = main +main_LDFLAGS = -dlopen libmodule.la +main_LDADD = $(LIBLTDL) +main_DEPENDENCIES = $(LTDLDEPS) libmodule.la +_ATEOF + + +# Install everything! +prefix=`pwd`/_inst + +$LIBTOOLIZE --ltdl + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/configure-iface.at:145: \$ACLOCAL -I libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "configure-iface.at:145" +( $at_check_trace; $ACLOCAL -I libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:145: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "configure-iface.at:145" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:145: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "configure-iface.at:145" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/configure-iface.at:145: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "configure-iface.at:145" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:145: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:145" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:145: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl --prefix=\$prefix" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:145" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl --prefix=$prefix +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all install +do + { set +x +$as_echo "$at_srcdir/configure-iface.at:145: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:145" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +# TODO: Check that the installed program 'main' is linked against our libltdl +{ set +x +$as_echo "$at_srcdir/configure-iface.at:149: test -f \"\$prefix/lib/libltdl.la\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "configure-iface.at:149" +( $at_check_trace; test -f "$prefix/lib/libltdl.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:149" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:150: test -f \"\$prefix/include/ltdl.h\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "configure-iface.at:150" +( $at_check_trace; test -f "$prefix/include/ltdl.h" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:150" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Check that main is rebuilt if libltdl.la is newer +rm -f libltdl/libltdl.la +{ set +x +$as_echo "$at_srcdir/configure-iface.at:154: \$MAKE -q main\$EXEEXT || exit 1" +at_fn_check_prepare_dynamic "$MAKE -q main$EXEEXT || exit 1" "configure-iface.at:154" +( $at_check_trace; $MAKE -q main$EXEEXT || exit 1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:154" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_148 +#AT_START_149 +at_fn_group_banner 149 'configure-iface.at:163' \ + "--with-ltdl-include/lib" " " 23 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "149. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +# Install libltdl +prefix=`pwd`/_inst + +$LIBTOOLIZE --copy --ltdl=ltdl + + + +(cd ltdl +{ set +x +$as_echo "$at_srcdir/configure-iface.at:172: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:172" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all install +do + { set +x +$as_echo "$at_srcdir/configure-iface.at:173: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:173" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:173" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +) + +# Remove build files +rm -rf ltdl/ + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:179: test -f \"\$prefix/lib/libltdl.la\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "configure-iface.at:179" +( $at_check_trace; test -f "$prefix/lib/libltdl.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:179" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:180: test -f \"\$prefix/include/ltdl.h\"" +at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "configure-iface.at:180" +( $at_check_trace; test -f "$prefix/include/ltdl.h" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:180" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >main.c <<'_ATEOF' +#include +#include + +typedef int funcp (void); + +static int errors = 0; + +int +main (void) +{ + lt_dlhandle handle; + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (lt_dlinit () != 0) + { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror ()); + return 1; + } + + handle = lt_dlopenext ("libmodule"); + if (!handle) + { + fprintf (stderr, "can't open libmodule: %s\n", lt_dlerror ()); + ++errors; + } + + { + funcp *f = (funcp *) lt_dlsym (handle, "f"); + + if (f) + { + printf ("%d\n", f ()); + } + else + { + fprintf (stderr, "function 'f' not found: %s\n", lt_dlerror ()); + ++errors; + } + } + + if (lt_dlexit () != 0) + { + fprintf (stderr, "error during exit: %s\n", lt_dlerror ()); + ++errors; + } + + return (errors != 0); +} +_ATEOF + + +cat >libmodule.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +int f (void) { return 5150; } +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >expout <<'_ATEOF' +5150 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + + +cat >configure.ac <<'_ATEOF' +AC_INIT([configure-iface-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_MACRO_DIRS([_inst/aclocal]) +AC_CONFIG_HEADERS([config.h:config.hin]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT([dlopen]) +LTDL_INIT +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = 1.7 + +AM_CPPFLAGS = $(LTDLINCL) + +lib_LTLIBRARIES = libmodule.la +# Automake < 1.8 will use libmodule.la.c as default source, +# while newer will choose libmodule.c; so specify it here. +libmodule_la_SOURCES = libmodule.c +libmodule_la_LDFLAGS = -module + +bin_PROGRAMS = main +main_LDFLAGS = -dlopen libmodule.la +main_LDADD = $(LIBLTDL) +main_DEPENDENCIES = $(LTDLDEPS) libmodule.la +_ATEOF + + +## Try to avoid linking against a previously installed libltdl found +## with an explicit -L/path. +save_LDFLAGS=$LDFLAGS +LDFLAGS= +for l in $save_LDFLAGS +do + case $l in + -L*) ;; + *) LDFLAGS="$LDFLAGS $l" ;; + esac +done + +# We don't use 'libtoolize --ltdl', so that we get an error if the test +# tries to build and link against its own ltdl sources: +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I _inst/aclocal$macro_dir"; { set +x +$as_echo "$at_srcdir/configure-iface.at:228: \$ACLOCAL -I _inst/aclocal\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I _inst/aclocal$macro_dir" "configure-iface.at:228" +( $at_check_trace; $ACLOCAL -I _inst/aclocal$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:228: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "configure-iface.at:228" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:228: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "configure-iface.at:228" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/configure-iface.at:228: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "configure-iface.at:228" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:228: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:228" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:228: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-ltdl-lib=\$prefix/lib --with-ltdl-include=\$prefix/include" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:228" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-ltdl-lib=$prefix/lib --with-ltdl-include=$prefix/include +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/configure-iface.at:228: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:228" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +## TODO: portable ldd check for correct libltdl +## Currently, this test doesn't fail if 'main' ends up linking against a +## previously installed system libltdl. +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/configure-iface.at:235: if \$LIBTOOL --mode=execute -dlopen libmodule.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen libmodule.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "configure-iface.at:235" +( $at_check_trace; if $LIBTOOL --mode=execute -dlopen libmodule.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:235" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_149 +#AT_START_150 +at_fn_group_banner 150 'configure-iface.at:244' \ + "--with-included-ltdl" " " 23 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "150. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cat >main.c <<'_ATEOF' +#include +#include + +typedef int funcp (void); + +static int errors = 0; + +int +main (void) +{ + lt_dlhandle handle; + + LTDL_SET_PRELOADED_SYMBOLS(); + + if (lt_dlinit () != 0) + { + fprintf (stderr, "error during initialization: %s\n", lt_dlerror ()); + return 1; + } + + handle = lt_dlopenext ("libmodule"); + if (!handle) + { + fprintf (stderr, "can't open libmodule: %s\n", lt_dlerror ()); + ++errors; + } + + { + funcp *f = (funcp *) lt_dlsym (handle, "f"); + + if (f) + { + printf ("%d\n", f ()); + } + else + { + fprintf (stderr, "function 'f' not found: %s\n", lt_dlerror ()); + ++errors; + } + } + + if (lt_dlexit () != 0) + { + fprintf (stderr, "error during exit: %s\n", lt_dlerror ()); + ++errors; + } + + return (errors != 0); +} +_ATEOF + + +cat >libmodule.c <<'_ATEOF' +#ifdef __cplusplus +extern "C" { +#endif +int f (void) { return 5150; } +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >expout <<'_ATEOF' +5150 +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac + + +cat >configure.ac <<'_ATEOF' +AC_INIT([configure-iface-demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([libltdl/config]) +AC_CONFIG_MACRO_DIRS([libltdl/m4]) +AC_CONFIG_HEADERS([config.h:config.hin]) +LT_CONFIG_LTDL_DIR([libltdl]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AM_PROG_CC_C_O +LT_INIT([dlopen]) +LTDL_INIT +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = 1.7 + +SUBDIRS = libltdl + +AM_CPPFLAGS = $(LTDLINCL) + +lib_LTLIBRARIES = libmodule.la +# Automake < 1.8 will use libmodule.la.c as default source, +# while newer will choose libmodule.c; so specify it here. +libmodule_la_SOURCES = libmodule.c +libmodule_la_LDFLAGS = -module + +bin_PROGRAMS = main +main_LDFLAGS = -dlopen libmodule.la +main_LDADD = $(LIBLTDL) +main_DEPENDENCIES = $(LTDLDEPS) libmodule.la +_ATEOF + + +$LIBTOOLIZE --ltdl + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/configure-iface.at:283: \$ACLOCAL -I libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "configure-iface.at:283" +( $at_check_trace; $ACLOCAL -I libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:283: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "configure-iface.at:283" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:283: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "configure-iface.at:283" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/configure-iface.at:283: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "configure-iface.at:283" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:283: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:283" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:283: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:283" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/configure-iface.at:283: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:283" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +# --with-included-ltdl should build a convenience lib by default +{ set +x +$as_echo "$at_srcdir/configure-iface.at:287: test -f libltdl/libltdlc.la" +at_fn_check_prepare_trace "configure-iface.at:287" +( $at_check_trace; test -f libltdl/libltdlc.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:287" +$at_failed && at_fn_log_failure +$at_traceon; } + + +## TODO: portable ldd check for correct libltdl +## Currently, this test doesn't fail if 'main' ends up linking against a +## previously installed system libltdl. +lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/configure-iface.at:292: if \$LIBTOOL --mode=execute -dlopen libmodule.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen libmodule.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "configure-iface.at:292" +( $at_check_trace; if $LIBTOOL --mode=execute -dlopen libmodule.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:292" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# Check that main is rebuilt if libltdlc.la is newer +rm -f libltdl/libltdlc.la +{ set +x +$as_echo "$at_srcdir/configure-iface.at:296: \$MAKE -q main\$EXEEXT || exit 1" +at_fn_check_prepare_dynamic "$MAKE -q main$EXEEXT || exit 1" "configure-iface.at:296" +( $at_check_trace; $MAKE -q main$EXEEXT || exit 1 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:296" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_150 +#AT_START_151 +at_fn_group_banner 151 'configure-iface.at:305' \ + "convenience libltdl" " " 23 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "151. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT +AC_CONFIG_AUX_DIR([libltdl/config]) +AC_LIBLTDL_CONVENIENCE +AC_LIBTOOL_DLOPEN +AC_PROG_LIBTOOL +AC_CONFIG_FILES(Makefile) +AC_OUTPUT +_ATEOF + +cat >Makefile.in <<'_ATEOF' +LIBLTDL = @LIBLTDL@ +print-ltdl: + echo $(LIBLTDL) +_ATEOF + + +$LIBTOOLIZE --ltdl + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/configure-iface.at:322: \$ACLOCAL -I libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "configure-iface.at:322" +( $at_check_trace; $ACLOCAL -I libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:322" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:322: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:322" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:322" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:322: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:322" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:322" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:323: \$MAKE print-ltdl" +at_fn_check_prepare_dynamic "$MAKE print-ltdl" "configure-iface.at:323" +( $at_check_trace; $MAKE print-ltdl +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:323" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/configure-iface.at:324: \$GREP libltdl/libltdlc.la stdout" +at_fn_check_prepare_dynamic "$GREP libltdl/libltdlc.la stdout" "configure-iface.at:324" +( $at_check_trace; $GREP libltdl/libltdlc.la stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:324" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_151 +#AT_START_152 +at_fn_group_banner 152 'f77demo.at:296' \ + "static library" " " 24 +at_xfail=no + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "152. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# Executing the static fprogram might be interactive on MSYS. + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:301: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "f77demo.at:301" +( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:301" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([f77demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +AC_PROG_F77 +dnl When configuring for 'make dist' purposes, skip checks that may yield fatal +dnl errors when there is no working F77 compiler. +if test -z "$with_dist"; then + dnl Check the flags needed to link f77 programs with ld (i.e. cc) + AC_F77_LIBRARY_LDFLAGS + dnl Check for underscoring of external names + AC_F77_WRAPPERS +fi +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la + +libfoo_la_SOURCES = foof.f +libfoo_la_LIBADD = libfoo2.la +libfoo_la_LDFLAGS = -no-undefined + +libfoo2_la_SOURCES = foof2.f +libfoo2_la_LDFLAGS = -no-undefined + +libfoo3_la_SOURCES = foof3.f +libfoo3_la_LDFLAGS = -no-undefined + +libmix_la_SOURCES = foof.f foof2.f fooc.c +libmix_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h + +bin_PROGRAMS = fprogram cprogram + +fprogram_SOURCES = fprogram.f +fprogram_LDADD = libfoo.la libfoo3.la + +cprogram_SOURCES = cprogram.c +cprogram_LDADD = libmix.la $(FLIBS) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >fprogram.f <<'_ATEOF' + program fprogram + implicit none + integer*4 arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + call fsub3(arg,res) + + write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res + + if (res.eq.8) then + write(*,*) 'fsub3 is ok!' + endif + + stop + end +_ATEOF + + +cat >cprogram.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int +main () +{ + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub(arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if(cres==2*arg) + printf ("The C subroutine is ok!\n"); + + printf("\nCalling the C wrapper routine...\n"); + fres=fwrapper(arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if(fres==2*arg) + printf ("The Fortran 77 subroutine is ok!\n"); + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef _FOO_H_ +#define _FOO_H_ 1 + +/* config.h is necessary for the fortran name mangling */ +#include + +/* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ +extern int csub(int); + +/* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ +extern int fwrapper(int); + +/* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ +extern +#ifdef __cplusplus +"C" +#endif +void F77_FUNC(fsub,FSUB)(int *arg, int *res); + +#endif +_ATEOF + + +cat >fooc.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int csub(int arg) +{ + return (2*arg); +} + + +int fwrapper(int arg) +{ + int res; + printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); + F77_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran 77 subroutine...\n"); + return res; +} +_ATEOF + + +cat >foof.f <<'_ATEOF' + subroutine fsub(arg,res) + write(*,*) 'fsub called' + call fsubf(arg,res) + return + end +_ATEOF + + +cat >foof2.f <<'_ATEOF' + subroutine fsubf(arg,res) + implicit none + integer*4 arg,res + write(*,*) 'fsubf called' + res=arg*2 + return + end +_ATEOF + + +cat >foof3.f <<'_ATEOF' + subroutine fsub3(arg,res) + implicit none + integer*4 arg,res + write(*,*) 'fsub3 called' + res=arg*4 + return + end +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:301: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:301" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:301" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/f77demo.at:303: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:303" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:303: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:303" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:303: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:303" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/f77demo.at:303: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:303" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/f77demo.at:303" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:303: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:303" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:303: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "f77demo.at:303" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:303: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "f77demo.at:303" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/f77demo.at:303: \$EGREP '^build_libtool_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "f77demo.at:303" +( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/f77demo.at:305: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "f77demo.at:305" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Due to differences in line-endings between C stdout and Fortran +# stdout, as well as unpredictable output ordering between platforms +# and runtimes, we can't reliably check the output here... although +# it should be some variation of the following: +cat >expout <<'_ATEOF' + Welcome to GNU libtool Fortran demo! + Real programmers write in FORTRAN. + fsub called + fsubf called + fsub returned, saying that 2 * 2 = 4 + fsub is ok! + fsub3 called + fsub3 returned, saying that 4 * 2 = 8 + fsub3 is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/f77demo.at:305: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:305" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/f77demo.at:305: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "f77demo.at:305" +( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Similarly, we can't reliably compare actual output with the following. +cat >expout <<'_ATEOF' +Welcome to GNU libtool mixed C/Fortran demo! +The C subroutine returned, claiming that 2*2 = 4 +The C subroutine is ok! + +Calling the C wrapper routine... +Calling the Fortran 77 subroutine from the C wrapper... + fsub called + fsubf called +Returned from the Fortran 77 subroutine... +The C wrapper to the fortran subroutine returned, +claiming that 2*2 = 4 +The Fortran 77 subroutine is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/f77demo.at:305: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:305" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/f77demo.at:305: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "f77demo.at:305" +( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_152 +#AT_START_153 +at_fn_group_banner 153 'f77demo.at:314' \ + "shared library" " " 24 +at_xfail=no + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "153. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:316: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "f77demo.at:316" +( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:316" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([f77demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +AC_PROG_F77 +dnl When configuring for 'make dist' purposes, skip checks that may yield fatal +dnl errors when there is no working F77 compiler. +if test -z "$with_dist"; then + dnl Check the flags needed to link f77 programs with ld (i.e. cc) + AC_F77_LIBRARY_LDFLAGS + dnl Check for underscoring of external names + AC_F77_WRAPPERS +fi +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la + +libfoo_la_SOURCES = foof.f +libfoo_la_LIBADD = libfoo2.la +libfoo_la_LDFLAGS = -no-undefined + +libfoo2_la_SOURCES = foof2.f +libfoo2_la_LDFLAGS = -no-undefined + +libfoo3_la_SOURCES = foof3.f +libfoo3_la_LDFLAGS = -no-undefined + +libmix_la_SOURCES = foof.f foof2.f fooc.c +libmix_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h + +bin_PROGRAMS = fprogram cprogram + +fprogram_SOURCES = fprogram.f +fprogram_LDADD = libfoo.la libfoo3.la + +cprogram_SOURCES = cprogram.c +cprogram_LDADD = libmix.la $(FLIBS) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >fprogram.f <<'_ATEOF' + program fprogram + implicit none + integer*4 arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + call fsub3(arg,res) + + write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res + + if (res.eq.8) then + write(*,*) 'fsub3 is ok!' + endif + + stop + end +_ATEOF + + +cat >cprogram.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int +main () +{ + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub(arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if(cres==2*arg) + printf ("The C subroutine is ok!\n"); + + printf("\nCalling the C wrapper routine...\n"); + fres=fwrapper(arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if(fres==2*arg) + printf ("The Fortran 77 subroutine is ok!\n"); + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef _FOO_H_ +#define _FOO_H_ 1 + +/* config.h is necessary for the fortran name mangling */ +#include + +/* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ +extern int csub(int); + +/* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ +extern int fwrapper(int); + +/* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ +extern +#ifdef __cplusplus +"C" +#endif +void F77_FUNC(fsub,FSUB)(int *arg, int *res); + +#endif +_ATEOF + + +cat >fooc.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int csub(int arg) +{ + return (2*arg); +} + + +int fwrapper(int arg) +{ + int res; + printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); + F77_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran 77 subroutine...\n"); + return res; +} +_ATEOF + + +cat >foof.f <<'_ATEOF' + subroutine fsub(arg,res) + write(*,*) 'fsub called' + call fsubf(arg,res) + return + end +_ATEOF + + +cat >foof2.f <<'_ATEOF' + subroutine fsubf(arg,res) + implicit none + integer*4 arg,res + write(*,*) 'fsubf called' + res=arg*2 + return + end +_ATEOF + + +cat >foof3.f <<'_ATEOF' + subroutine fsub3(arg,res) + implicit none + integer*4 arg,res + write(*,*) 'fsub3 called' + res=arg*4 + return + end +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:316: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:316" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:316" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/f77demo.at:318: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:318" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:318: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:318" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:318: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:318" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/f77demo.at:318: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:318" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/f77demo.at:318" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:318: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:318" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:318: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "f77demo.at:318" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:318: \$EGREP '^build_old_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "f77demo.at:318" +( $at_check_trace; $EGREP '^build_old_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/f77demo.at:318: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "f77demo.at:318" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/f77demo.at:320: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "f77demo.at:320" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Due to differences in line-endings between C stdout and Fortran +# stdout, as well as unpredictable output ordering between platforms +# and runtimes, we can't reliably check the output here... although +# it should be some variation of the following: +cat >expout <<'_ATEOF' + Welcome to GNU libtool Fortran demo! + Real programmers write in FORTRAN. + fsub called + fsubf called + fsub returned, saying that 2 * 2 = 4 + fsub is ok! + fsub3 called + fsub3 returned, saying that 4 * 2 = 8 + fsub3 is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/f77demo.at:320: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:320" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/f77demo.at:320: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "f77demo.at:320" +( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Similarly, we can't reliably compare actual output with the following. +cat >expout <<'_ATEOF' +Welcome to GNU libtool mixed C/Fortran demo! +The C subroutine returned, claiming that 2*2 = 4 +The C subroutine is ok! + +Calling the C wrapper routine... +Calling the Fortran 77 subroutine from the C wrapper... + fsub called + fsubf called +Returned from the Fortran 77 subroutine... +The C wrapper to the fortran subroutine returned, +claiming that 2*2 = 4 +The Fortran 77 subroutine is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/f77demo.at:320: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:320" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/f77demo.at:320: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "f77demo.at:320" +( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_153 +#AT_START_154 +at_fn_group_banner 154 'f77demo.at:329' \ + "shared and static together" " " 24 +at_xfail=no + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "154. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:331: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "f77demo.at:331" +( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:331" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([f77demo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +AC_PROG_F77 +dnl When configuring for 'make dist' purposes, skip checks that may yield fatal +dnl errors when there is no working F77 compiler. +if test -z "$with_dist"; then + dnl Check the flags needed to link f77 programs with ld (i.e. cc) + AC_F77_LIBRARY_LDFLAGS + dnl Check for underscoring of external names + AC_F77_WRAPPERS +fi +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la + +libfoo_la_SOURCES = foof.f +libfoo_la_LIBADD = libfoo2.la +libfoo_la_LDFLAGS = -no-undefined + +libfoo2_la_SOURCES = foof2.f +libfoo2_la_LDFLAGS = -no-undefined + +libfoo3_la_SOURCES = foof3.f +libfoo3_la_LDFLAGS = -no-undefined + +libmix_la_SOURCES = foof.f foof2.f fooc.c +libmix_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h + +bin_PROGRAMS = fprogram cprogram + +fprogram_SOURCES = fprogram.f +fprogram_LDADD = libfoo.la libfoo3.la + +cprogram_SOURCES = cprogram.c +cprogram_LDADD = libmix.la $(FLIBS) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck +_ATEOF + + +cat >fprogram.f <<'_ATEOF' + program fprogram + implicit none + integer*4 arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + call fsub3(arg,res) + + write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res + + if (res.eq.8) then + write(*,*) 'fsub3 is ok!' + endif + + stop + end +_ATEOF + + +cat >cprogram.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int +main () +{ + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub(arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if(cres==2*arg) + printf ("The C subroutine is ok!\n"); + + printf("\nCalling the C wrapper routine...\n"); + fres=fwrapper(arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if(fres==2*arg) + printf ("The Fortran 77 subroutine is ok!\n"); + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef _FOO_H_ +#define _FOO_H_ 1 + +/* config.h is necessary for the fortran name mangling */ +#include + +/* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ +extern int csub(int); + +/* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ +extern int fwrapper(int); + +/* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ +extern +#ifdef __cplusplus +"C" +#endif +void F77_FUNC(fsub,FSUB)(int *arg, int *res); + +#endif +_ATEOF + + +cat >fooc.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int csub(int arg) +{ + return (2*arg); +} + + +int fwrapper(int arg) +{ + int res; + printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); + F77_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran 77 subroutine...\n"); + return res; +} +_ATEOF + + +cat >foof.f <<'_ATEOF' + subroutine fsub(arg,res) + write(*,*) 'fsub called' + call fsubf(arg,res) + return + end +_ATEOF + + +cat >foof2.f <<'_ATEOF' + subroutine fsubf(arg,res) + implicit none + integer*4 arg,res + write(*,*) 'fsubf called' + res=arg*2 + return + end +_ATEOF + + +cat >foof3.f <<'_ATEOF' + subroutine fsub3(arg,res) + implicit none + integer*4 arg,res + write(*,*) 'fsub3 called' + res=arg*4 + return + end +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:331: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:331" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:331" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/f77demo.at:333: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:333" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:333: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:333" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:333: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:333" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/f77demo.at:333: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:333" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/f77demo.at:333" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:333: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:333" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:333: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "f77demo.at:333" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/f77demo.at:333: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "f77demo.at:333" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/f77demo.at:333: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "f77demo.at:333" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/f77demo.at:335: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "f77demo.at:335" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Due to differences in line-endings between C stdout and Fortran +# stdout, as well as unpredictable output ordering between platforms +# and runtimes, we can't reliably check the output here... although +# it should be some variation of the following: +cat >expout <<'_ATEOF' + Welcome to GNU libtool Fortran demo! + Real programmers write in FORTRAN. + fsub called + fsubf called + fsub returned, saying that 2 * 2 = 4 + fsub is ok! + fsub3 called + fsub3 returned, saying that 4 * 2 = 8 + fsub3 is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/f77demo.at:335: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:335" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/f77demo.at:335: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "f77demo.at:335" +( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Similarly, we can't reliably compare actual output with the following. +cat >expout <<'_ATEOF' +Welcome to GNU libtool mixed C/Fortran demo! +The C subroutine returned, claiming that 2*2 = 4 +The C subroutine is ok! + +Calling the C wrapper routine... +Calling the Fortran 77 subroutine from the C wrapper... + fsub called + fsubf called +Returned from the Fortran 77 subroutine... +The C wrapper to the fortran subroutine returned, +claiming that 2*2 = 4 +The Fortran 77 subroutine is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/f77demo.at:335: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:335" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/f77demo.at:335: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "f77demo.at:335" +( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_154 +#AT_START_155 +at_fn_group_banner 155 'fcdemo.at:310' \ + "static library" " " 25 +at_xfail=no + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "155. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# Executing the static fprogram might be interactive on MSYS. + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:315: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "fcdemo.at:315" +( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:315" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Autoconf will accept f77 or similar as a valid FC, but often f77 + # will not compile fortran90 code; in that case skip the FC checks. + cat >fc_test.f90 <<'_ATEOF' + program main + + end +_ATEOF + + { set +x +$as_echo "$at_srcdir/fcdemo.at:315: \$FC \$FCFLAGS fc_test.f90 || exit 77" +at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "fcdemo.at:315" +( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:315" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([fcdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +AC_LANG_PUSH([Fortran]) +AC_PROG_FC +dnl Check the flags needed to link fc programs with ld (i.e. cc) +AC_FC_LIBRARY_LDFLAGS +dnl Check for underscoring of external names +AC_FC_WRAPPERS +dnl We need to use .f90 and not .f to enable Automake FC support +dnl Some Intel ifc/ifort do not understand .f95. :-/ +AC_FC_SRCEXT([f90]) +dnl Yes, we want free-form Fortran! +AC_FC_FREEFORM +AC_LANG_POP + +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la + +libfoo_la_SOURCES = foof.f90 +libfoo_la_LIBADD = libfoo2.la +libfoo_la_LDFLAGS = -no-undefined + +libfoo2_la_SOURCES = foof2.f90 +libfoo2_la_LDFLAGS = -no-undefined + +libfoo3_la_SOURCES = foof3.f90 +libfoo3_la_LDFLAGS = -no-undefined + +libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c +libmix_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h + +bin_PROGRAMS = fprogram cprogram + +fprogram_SOURCES = fprogram.f90 +fprogram_LDADD = libfoo.la libfoo3.la + +cprogram_SOURCES = cprogram.c +cprogram_LDADD = libmix.la $(FCLIBS) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +# Work around Automake bug, where FCFLAGS_f90 is not provided: +.f90.o: + $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< + +.f90.obj: + $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'` + +.f90.lo: + $(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< +_ATEOF + + +cat >fprogram.f90 <<'_ATEOF' +program fprogram + implicit none + integer arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + call fsub3(arg,res) + + write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res + + if (res.eq.8) then + write(*,*) 'fsub3 is ok!' + endif + + stop +end +_ATEOF + + +cat >cprogram.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int +main () +{ + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub (arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if (cres == 2*arg) + printf ("The C subroutine is ok!\n"); + + printf ("\nCalling the C wrapper routine...\n"); + fres = fwrapper (arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if (fres == 2*arg) + printf ("The Fortran subroutine is ok!\n"); + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef _FOO_H_ +#define _FOO_H_ 1 + +/* config.h is necessary for the fortran name mangling */ +#include + +/* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ +extern int csub(int); + +/* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ +extern int fwrapper(int); + +/* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ +extern +#ifdef __cplusplus +"C" +#endif +void FC_FUNC(fsub,FSUB)(int *arg, int *res); + +#endif +_ATEOF + + +cat >fooc.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int csub(int arg) +{ + return (2*arg); +} + + +int fwrapper(int arg) +{ + int res; + printf("Calling the Fortran subroutine from the C wrapper...\n"); + FC_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran subroutine...\n"); + return res; +} +_ATEOF + + +cat >foof.f90 <<'_ATEOF' +subroutine fsub(arg,res) + write(*,*) 'fsub called' + call fsubf(arg,res) + return +end +_ATEOF + + +cat >foof2.f90 <<'_ATEOF' +subroutine fsubf(arg,res) + implicit none + integer arg,res + write(*,*) 'fsubf called' + res=arg*2 + return +end +_ATEOF + + +cat >foof3.f90 <<'_ATEOF' +subroutine fsub3(arg,res) + implicit none + integer arg,res + write(*,*) 'fsub3 called' + res=arg*4 + return +end +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:315: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:315" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:315" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/fcdemo.at:317: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.at:317" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:317: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:317" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:317: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.at:317" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/fcdemo.at:317: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.at:317" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/fcdemo.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:317: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.at:317" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:317: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fcdemo.at:317" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:317: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "fcdemo.at:317" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/fcdemo.at:317: \$EGREP '^build_libtool_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "fcdemo.at:317" +( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/fcdemo.at:319: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "fcdemo.at:319" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Due to differences in line-endings between C stdout and Fortran +# stdout, as well as unpredictable output ordering between platforms +# and runtimes, we can't reliably check the output here... although +# it should be some variation of the following: +cat >expout <<'_ATEOF' + Welcome to GNU libtool Fortran demo! + Real programmers write in FORTRAN. + fsub called + fsubf called + fsub returned, saying that 2 * 2 = 4 + fsub is ok! + fsub3 called + fsub3 returned, saying that 4 * 2 = 8 + fsub3 is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/fcdemo.at:319: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:319" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/fcdemo.at:319: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "fcdemo.at:319" +( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Similarly, we can't reliably compare actual output with the following. +cat >expout <<'_ATEOF' +Welcome to GNU libtool mixed C/Fortran demo! +The C subroutine returned, claiming that 2*2 = 4 +The C subroutine is ok! + +Calling the C wrapper routine... +Calling the Fortran subroutine from the C wrapper... + fsub called + fsubf called +Returned from the Fortran subroutine... +The C wrapper to the fortran subroutine returned, +claiming that 2*2 = 4 +The Fortran subroutine is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/fcdemo.at:319: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:319" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/fcdemo.at:319: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "fcdemo.at:319" +( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_155 +#AT_START_156 +at_fn_group_banner 156 'fcdemo.at:328' \ + "shared library" " " 25 +at_xfail=no + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "156. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:330: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "fcdemo.at:330" +( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:330" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Autoconf will accept f77 or similar as a valid FC, but often f77 + # will not compile fortran90 code; in that case skip the FC checks. + cat >fc_test.f90 <<'_ATEOF' + program main + + end +_ATEOF + + { set +x +$as_echo "$at_srcdir/fcdemo.at:330: \$FC \$FCFLAGS fc_test.f90 || exit 77" +at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "fcdemo.at:330" +( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:330" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([fcdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +AC_LANG_PUSH([Fortran]) +AC_PROG_FC +dnl Check the flags needed to link fc programs with ld (i.e. cc) +AC_FC_LIBRARY_LDFLAGS +dnl Check for underscoring of external names +AC_FC_WRAPPERS +dnl We need to use .f90 and not .f to enable Automake FC support +dnl Some Intel ifc/ifort do not understand .f95. :-/ +AC_FC_SRCEXT([f90]) +dnl Yes, we want free-form Fortran! +AC_FC_FREEFORM +AC_LANG_POP + +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la + +libfoo_la_SOURCES = foof.f90 +libfoo_la_LIBADD = libfoo2.la +libfoo_la_LDFLAGS = -no-undefined + +libfoo2_la_SOURCES = foof2.f90 +libfoo2_la_LDFLAGS = -no-undefined + +libfoo3_la_SOURCES = foof3.f90 +libfoo3_la_LDFLAGS = -no-undefined + +libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c +libmix_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h + +bin_PROGRAMS = fprogram cprogram + +fprogram_SOURCES = fprogram.f90 +fprogram_LDADD = libfoo.la libfoo3.la + +cprogram_SOURCES = cprogram.c +cprogram_LDADD = libmix.la $(FCLIBS) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +# Work around Automake bug, where FCFLAGS_f90 is not provided: +.f90.o: + $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< + +.f90.obj: + $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'` + +.f90.lo: + $(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< +_ATEOF + + +cat >fprogram.f90 <<'_ATEOF' +program fprogram + implicit none + integer arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + call fsub3(arg,res) + + write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res + + if (res.eq.8) then + write(*,*) 'fsub3 is ok!' + endif + + stop +end +_ATEOF + + +cat >cprogram.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int +main () +{ + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub (arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if (cres == 2*arg) + printf ("The C subroutine is ok!\n"); + + printf ("\nCalling the C wrapper routine...\n"); + fres = fwrapper (arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if (fres == 2*arg) + printf ("The Fortran subroutine is ok!\n"); + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef _FOO_H_ +#define _FOO_H_ 1 + +/* config.h is necessary for the fortran name mangling */ +#include + +/* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ +extern int csub(int); + +/* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ +extern int fwrapper(int); + +/* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ +extern +#ifdef __cplusplus +"C" +#endif +void FC_FUNC(fsub,FSUB)(int *arg, int *res); + +#endif +_ATEOF + + +cat >fooc.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int csub(int arg) +{ + return (2*arg); +} + + +int fwrapper(int arg) +{ + int res; + printf("Calling the Fortran subroutine from the C wrapper...\n"); + FC_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran subroutine...\n"); + return res; +} +_ATEOF + + +cat >foof.f90 <<'_ATEOF' +subroutine fsub(arg,res) + write(*,*) 'fsub called' + call fsubf(arg,res) + return +end +_ATEOF + + +cat >foof2.f90 <<'_ATEOF' +subroutine fsubf(arg,res) + implicit none + integer arg,res + write(*,*) 'fsubf called' + res=arg*2 + return +end +_ATEOF + + +cat >foof3.f90 <<'_ATEOF' +subroutine fsub3(arg,res) + implicit none + integer arg,res + write(*,*) 'fsub3 called' + res=arg*4 + return +end +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:330: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:330" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:330" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/fcdemo.at:332: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.at:332" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:332: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:332" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:332: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.at:332" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/fcdemo.at:332: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.at:332" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/fcdemo.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:332: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.at:332" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:332: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fcdemo.at:332" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:332: \$EGREP '^build_old_libs=no' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "fcdemo.at:332" +( $at_check_trace; $EGREP '^build_old_libs=no' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/fcdemo.at:332: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "fcdemo.at:332" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/fcdemo.at:334: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "fcdemo.at:334" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Due to differences in line-endings between C stdout and Fortran +# stdout, as well as unpredictable output ordering between platforms +# and runtimes, we can't reliably check the output here... although +# it should be some variation of the following: +cat >expout <<'_ATEOF' + Welcome to GNU libtool Fortran demo! + Real programmers write in FORTRAN. + fsub called + fsubf called + fsub returned, saying that 2 * 2 = 4 + fsub is ok! + fsub3 called + fsub3 returned, saying that 4 * 2 = 8 + fsub3 is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/fcdemo.at:334: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:334" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/fcdemo.at:334: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "fcdemo.at:334" +( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Similarly, we can't reliably compare actual output with the following. +cat >expout <<'_ATEOF' +Welcome to GNU libtool mixed C/Fortran demo! +The C subroutine returned, claiming that 2*2 = 4 +The C subroutine is ok! + +Calling the C wrapper routine... +Calling the Fortran subroutine from the C wrapper... + fsub called + fsubf called +Returned from the Fortran subroutine... +The C wrapper to the fortran subroutine returned, +claiming that 2*2 = 4 +The Fortran subroutine is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/fcdemo.at:334: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:334" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/fcdemo.at:334: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "fcdemo.at:334" +( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_156 +#AT_START_157 +at_fn_group_banner 157 'fcdemo.at:343' \ + "shared and static together" " " 25 +at_xfail=no + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOHEADER" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "157. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:345: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" +at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "fcdemo.at:345" +( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:345" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Autoconf will accept f77 or similar as a valid FC, but often f77 + # will not compile fortran90 code; in that case skip the FC checks. + cat >fc_test.f90 <<'_ATEOF' + program main + + end +_ATEOF + + { set +x +$as_echo "$at_srcdir/fcdemo.at:345: \$FC \$FCFLAGS fc_test.f90 || exit 77" +at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "fcdemo.at:345" +( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:345" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +cat >configure.ac <<'_ATEOF' +AC_INIT([fcdemo], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE +AC_PROG_CC + +AC_LANG_PUSH([Fortran]) +AC_PROG_FC +dnl Check the flags needed to link fc programs with ld (i.e. cc) +AC_FC_LIBRARY_LDFLAGS +dnl Check for underscoring of external names +AC_FC_WRAPPERS +dnl We need to use .f90 and not .f to enable Automake FC support +dnl Some Intel ifc/ifort do not understand .f95. :-/ +AC_FC_SRCEXT([f90]) +dnl Yes, we want free-form Fortran! +AC_FC_FREEFORM +AC_LANG_POP + +LT_INIT +AC_SUBST([LIBTOOL_DEPS]) +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_HEADERS([config.h:config.in.h]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' +AUTOMAKE_OPTIONS = no-dependencies foreign +ACLOCAL_AMFLAGS = -I m4 + +lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la + +libfoo_la_SOURCES = foof.f90 +libfoo_la_LIBADD = libfoo2.la +libfoo_la_LDFLAGS = -no-undefined + +libfoo2_la_SOURCES = foof2.f90 +libfoo2_la_LDFLAGS = -no-undefined + +libfoo3_la_SOURCES = foof3.f90 +libfoo3_la_LDFLAGS = -no-undefined + +libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c +libmix_la_LDFLAGS = -no-undefined + +noinst_HEADERS = foo.h + +bin_PROGRAMS = fprogram cprogram + +fprogram_SOURCES = fprogram.f90 +fprogram_LDADD = libfoo.la libfoo3.la + +cprogram_SOURCES = cprogram.c +cprogram_LDADD = libmix.la $(FCLIBS) + +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +# Work around Automake bug, where FCFLAGS_f90 is not provided: +.f90.o: + $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< + +.f90.obj: + $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'` + +.f90.lo: + $(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< +_ATEOF + + +cat >fprogram.f90 <<'_ATEOF' +program fprogram + implicit none + integer arg,res + + write(*,*) 'Welcome to GNU libtool Fortran demo!' + write(*,*) 'Real programmers write in FORTRAN.' + arg=2 + + call fsub(arg,res) + + write(*,*) 'fsub returned, saying that 2 *',arg,' =',res + + if (res.eq.4) then + write(*,*) 'fsub is ok!' + endif + + call fsub3(arg,res) + + write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res + + if (res.eq.8) then + write(*,*) 'fsub3 is ok!' + endif + + stop +end +_ATEOF + + +cat >cprogram.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int +main () +{ + int arg,cres,fres; + + printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); + + arg=2; + + cres=csub (arg); + + printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); + + if (cres == 2*arg) + printf ("The C subroutine is ok!\n"); + + printf ("\nCalling the C wrapper routine...\n"); + fres = fwrapper (arg); + + printf ("The C wrapper to the fortran subroutine returned,\n" + "claiming that 2*%d = %d\n",arg,fres); + + if (fres == 2*arg) + printf ("The Fortran subroutine is ok!\n"); + + return 0; +} +_ATEOF + + +cat >foo.h <<'_ATEOF' +#ifndef _FOO_H_ +#define _FOO_H_ 1 + +/* config.h is necessary for the fortran name mangling */ +#include + +/* csub is an extremely useful subroutine that + * returns the argument multiplied by two :-) + */ +extern int csub(int); + +/* This routine performs the same action, but + * calls the fortran subroutine fsub to do the + * real work. + */ +extern int fwrapper(int); + +/* fsub does the same thing as csub, i.e. res=arg*2. + * Use autoconf macro for fortran function names. + * Note that fortran passes args by reference, so + * you need to provide pointers to your ints. + */ +extern +#ifdef __cplusplus +"C" +#endif +void FC_FUNC(fsub,FSUB)(int *arg, int *res); + +#endif +_ATEOF + + +cat >fooc.c <<'_ATEOF' +#include +#include + +#include "foo.h" + +int csub(int arg) +{ + return (2*arg); +} + + +int fwrapper(int arg) +{ + int res; + printf("Calling the Fortran subroutine from the C wrapper...\n"); + FC_FUNC(fsub,FSUB)(&arg,&res); + printf("Returned from the Fortran subroutine...\n"); + return res; +} +_ATEOF + + +cat >foof.f90 <<'_ATEOF' +subroutine fsub(arg,res) + write(*,*) 'fsub called' + call fsubf(arg,res) + return +end +_ATEOF + + +cat >foof2.f90 <<'_ATEOF' +subroutine fsubf(arg,res) + implicit none + integer arg,res + write(*,*) 'fsubf called' + res=arg*2 + return +end +_ATEOF + + +cat >foof3.f90 <<'_ATEOF' +subroutine fsub3(arg,res) + implicit none + integer arg,res + write(*,*) 'fsub3 called' + res=arg*4 + return +end +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:345: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:345" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:345" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + + +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I m4$macro_dir"; { set +x +$as_echo "$at_srcdir/fcdemo.at:347: \$ACLOCAL -I m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.at:347" +( $at_check_trace; $ACLOCAL -I m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:347: \$AUTOHEADER " +at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:347" +( $at_check_trace; $AUTOHEADER +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:347: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.at:347" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/fcdemo.at:347: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.at:347" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/fcdemo.at:347" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:347: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.at:347" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:347: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fcdemo.at:347" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/fcdemo.at:347: \$EGREP '^build_old_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "fcdemo.at:347" +( $at_check_trace; $EGREP '^build_old_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/fcdemo.at:347: \$EGREP '^build_libtool_libs=yes' libtool" +at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "fcdemo.at:347" +( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + + +for target in all +do + { set +x +$as_echo "$at_srcdir/fcdemo.at:349: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "fcdemo.at:349" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + +# Due to differences in line-endings between C stdout and Fortran +# stdout, as well as unpredictable output ordering between platforms +# and runtimes, we can't reliably check the output here... although +# it should be some variation of the following: +cat >expout <<'_ATEOF' + Welcome to GNU libtool Fortran demo! + Real programmers write in FORTRAN. + fsub called + fsubf called + fsub returned, saying that 2 * 2 = 4 + fsub is ok! + fsub3 called + fsub3 returned, saying that 4 * 2 = 8 + fsub3 is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/fcdemo.at:349: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:349" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/fcdemo.at:349: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "fcdemo.at:349" +( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Similarly, we can't reliably compare actual output with the following. +cat >expout <<'_ATEOF' +Welcome to GNU libtool mixed C/Fortran demo! +The C subroutine returned, claiming that 2*2 = 4 +The C subroutine is ok! + +Calling the C wrapper routine... +Calling the Fortran subroutine from the C wrapper... + fsub called + fsubf called +Returned from the Fortran subroutine... +The C wrapper to the fortran subroutine returned, +claiming that 2*2 = 4 +The Fortran subroutine is ok! +_ATEOF + +case $host_os in mingw*) + awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; +esac +lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/fcdemo.at:349: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:349" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +# A weaker output content check that is agnostic to the issues above. +{ set +x +$as_echo "$at_srcdir/fcdemo.at:349: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" +at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "fcdemo.at:349" +( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_157 +#AT_START_158 +at_fn_group_banner 158 'darwin.at:27' \ + "darwin fat compile" " " 26 +at_xfail=no +( + $as_echo "158. $at_setup_line: testing $at_desc ..." + $at_traceon + +noskip=: +case $host_os in +darwin*) ;; +*) noskip=false ;; +esac + +cat >simple.c <<'_ATEOF' + +int main() { return 0;} +_ATEOF + + +$noskip && { +$CC $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 -o simple simple.c 2>&1 > /dev/null || noskip=false +rm -f simple +} + +{ set +x +$as_echo "$at_srcdir/darwin.at:43: \$noskip || (exit 77)" +at_fn_check_prepare_dynamic "$noskip || (exit 77)" "darwin.at:43" +( $at_check_trace; $noskip || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:43" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >foo.c <<'_ATEOF' + +int x=0; +_ATEOF + + +cat >baz.c <<'_ATEOF' + +int y=0; +_ATEOF + + +cat >bar.c <<'_ATEOF' + +extern int x; +int bar(void); +int bar() { return x;} +_ATEOF + + +cat >main.c <<'_ATEOF' + +extern int x; +extern int y; + +int main() { +return x+y; +} +_ATEOF + + +mkdir bin +cat >bin/basename <<'_ATEOF' + +#! /bin/sh + +usage="usage: $0 argument" +if test $# != 1; then + echo $usage >&2 + exit 1 +fi + +echo $1 | $SED "s|^.*/||" +_ATEOF + + +chmod +x bin/basename +save_PATH=$PATH +PATH=`pwd`/bin:$PATH +export PATH + +{ set +x +$as_echo "$at_srcdir/darwin.at:86: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o foo.lo \$CPPFLAGS \$CFLAGS -arch x86_64 -arch i386 foo.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 foo.c" "darwin.at:86" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 foo.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:86" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:88: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o baz.lo \$CPPFLAGS \$CFLAGS -arch x86_64 -arch i386 baz.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 baz.c" "darwin.at:88" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 baz.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:88" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:90: \$LIBTOOL --mode=link --tag=CC \$CC -o libfoo.la \$CPPFLAGS \$CFLAGS \$LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo" "darwin.at:90" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:92: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o bar.lo \$CPPFLAGS \$CFLAGS -arch x86_64 -arch i386 bar.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 bar.c" "darwin.at:92" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 bar.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:94: \$LIBTOOL --mode=link --tag=CC \$CC -o libbar.la \$CPPFLAGS \$CFLAGS \$LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent" "darwin.at:94" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:94" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:96: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o main.lo \$CPPFLAGS \$CFLAGS -arch x86_64 -arch i386 main.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 main.c" "darwin.at:96" +( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:96" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:98: \$LIBTOOL --mode=link --tag=CC \$CC -o main\$EXEEXT \$CPPFLAGS \$CFLAGS \$LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la" "darwin.at:98" +( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:98" +$at_failed && at_fn_log_failure +$at_traceon; } + + +PATH=$save_PATH + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_158 +#AT_START_159 +at_fn_group_banner 159 'darwin.at:104' \ + "darwin concurrent library extraction" " " 26 +at_xfail=no +( + $as_echo "159. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >foo.c <<'_ATEOF' + +int foo (void) { return 0; } +_ATEOF + + +cat >bar.c <<'_ATEOF' + +extern int foo1 (void); +int bar (void) { return foo1 (); } +_ATEOF + +cp bar.c baz.c + +objects= +for obj in 1 2 3 4 5 6 7 8; do + $SED "s/foo/foo$obj/" < foo.c > foo$obj.c + { set +x +$as_echo "$at_srcdir/darwin.at:119: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c foo\$obj.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo$obj.c" "darwin.at:119" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo$obj.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:119" +$at_failed && at_fn_log_failure +$at_traceon; } + + objects="$objects foo$obj.lo" +done +{ set +x +$as_echo "$at_srcdir/darwin.at:123: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c bar.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c" "darwin.at:123" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:123" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:125: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c baz.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c baz.c" "darwin.at:125" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c baz.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:125" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:127: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libfoo.la \$objects" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la $objects" "darwin.at:127" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la $objects +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:127" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Hypothesis: concurrent convenience archive extraction works. +for i in 1 2 3 4 5; do + rm -f libbar.la libbaz.la + { set +x +$as_echo "$at_srcdir/darwin.at:133: (\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la) & (\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbaz.la baz.lo -rpath /foo libfoo.la) & wait; test -f libbar.la && test -f libbaz.la" +at_fn_check_prepare_dynamic "($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la) & ($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -rpath /foo libfoo.la) & wait; test -f libbar.la && test -f libbaz.la" "darwin.at:133" +( $at_check_trace; ($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la) & ($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -rpath /foo libfoo.la) & wait; test -f libbar.la && test -f libbaz.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:133" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + +# Hypothesis: the lock is not used in dry run mode. +eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" +# Next line is internal detail. +lockfile=$objdir/libfoo.a.lock +echo stamp > $lockfile +{ set +x +$as_echo "$at_srcdir/darwin.at:146: \$LIBTOOL --dry-run --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la" +at_fn_check_prepare_dynamic "$LIBTOOL --dry-run --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la" "darwin.at:146" +( $at_check_trace; $LIBTOOL --dry-run --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:146" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:149: \$GREP stamp \$lockfile" +at_fn_check_prepare_dynamic "$GREP stamp $lockfile" "darwin.at:149" +( $at_check_trace; $GREP stamp $lockfile +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:149" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_159 +#AT_START_160 +at_fn_group_banner 160 'darwin.at:153' \ + "darwin gdb debug information" " " 26 +at_xfail=no + +eval "`$LIBTOOL --config | $EGREP '^(whole_archive_flag_spec)='`" +case $whole_archive_flag_spec:$host_os in +:darwin*) : ;; +*) false ;; +esac && at_xfail=yes +( + $as_echo "160. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/darwin.at:155: gdb --version || (exit 77)" +at_fn_check_prepare_trace "darwin.at:155" +( $at_check_trace; gdb --version || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/darwin.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + + +cat >foo.c <<'_ATEOF' + +int foo (void) { return 0; } +_ATEOF + + +cat >bar.c <<'_ATEOF' + +extern int foo (void); +int bar (void) { return foo (); } +_ATEOF + + +cat >main.c <<'_ATEOF' + +extern int bar(void); + +int main() { return bar();} +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/darwin.at:172: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c bar.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c" "darwin.at:172" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:174: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c foo.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo.c" "darwin.at:174" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:174" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:176: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c" "darwin.at:176" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:176" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:179: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libfoo.la foo.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo" "darwin.at:179" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:179" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:182: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la " +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la " "darwin.at:182" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:182" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:186: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main main.lo libbar.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.lo libbar.la" "darwin.at:186" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.lo libbar.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:186" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:188: echo quit | \$LIBTOOL --mode=execute gdb main" +at_fn_check_prepare_notrace 'a shell pipeline' "darwin.at:188" +( $at_check_trace; echo quit | $LIBTOOL --mode=execute gdb main +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/darwin.at:188" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:191: \$GREP 'Could not find object file' stderr" +at_fn_check_prepare_dynamic "$GREP 'Could not find object file' stderr" "darwin.at:191" +( $at_check_trace; $GREP 'Could not find object file' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/darwin.at:191" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +# Remove any dSYM bundle +rm -rf .libs/*.dSYM + +{ set +x +$as_echo "$at_srcdir/darwin.at:203: echo quit | \$LIBTOOL --mode=execute gdb main" +at_fn_check_prepare_notrace 'a shell pipeline' "darwin.at:203" +( $at_check_trace; echo quit | $LIBTOOL --mode=execute gdb main +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/darwin.at:203" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:205: \$GREP 'Could not find object file' stderr" +at_fn_check_prepare_dynamic "$GREP 'Could not find object file' stderr" "darwin.at:205" +( $at_check_trace; $GREP 'Could not find object file' stderr +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/darwin.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_160 +#AT_START_161 +at_fn_group_banner 161 'darwin.at:209' \ + "darwin ld warnings changing configure results" " " 26 +at_xfail=no + case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac && at_xfail=yes +( + $as_echo "161. $at_setup_line: testing $at_desc ..." + $at_traceon + + +cat >configure.ac <<'_ATEOF' +AC_INIT([ld-stderr], 2.4.7, bug-libtool@gnu.org) +AC_CONFIG_MACRO_DIRS([m4]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +LT_INIT +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +_ATEOF + + +cat >Makefile.am <<'_ATEOF' + +ACLOCAL_AMFLAGS = -I m4 +_ATEOF + +$LIBTOOLIZE --copy --force + + +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +{ set +x +$as_echo "$at_srcdir/darwin.at:225: \$AUTORECONF --force --install" +at_fn_check_prepare_dynamic "$AUTORECONF --force --install" "darwin.at:225" +( $at_check_trace; $AUTORECONF --force --install +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:225" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/darwin.at:225: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "darwin.at:225" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/darwin.at:225" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/darwin.at:226: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "darwin.at:226" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:226" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:227: ./libtool --config" +at_fn_check_prepare_trace "darwin.at:227" +( $at_check_trace; ./libtool --config +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/darwin.at:227" +$at_failed && at_fn_log_failure +$at_traceon; } + +mv stdout expout +{ set +x +$as_echo "$at_srcdir/darwin.at:229: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" LDFLAGS=-L/there/is/no/dir/here" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "darwin.at:229" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" LDFLAGS=-L/there/is/no/dir/here +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:229" +$at_failed && at_fn_log_failure +$at_traceon; } + + +{ set +x +$as_echo "$at_srcdir/darwin.at:230: ./libtool --config" +at_fn_check_prepare_trace "darwin.at:230" +( $at_check_trace; ./libtool --config +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +$at_diff expout "$at_stdout" || at_failed=: +at_fn_check_skip $at_status "$at_srcdir/darwin.at:230" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_161 +#AT_START_162 +at_fn_group_banner 162 'darwin.at:233' \ + "darwin can lt_dlopen .dylib and .so files" " " 26 +at_xfail=no +( + $as_echo "162. $at_setup_line: testing $at_desc ..." + $at_traceon + + + + +# This test requires shared library support. +{ set +x +$as_echo "$at_srcdir/darwin.at:238: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" +at_fn_check_prepare_notrace 'a shell pipeline' "darwin.at:238" +( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:238" +$at_failed && at_fn_log_failure +$at_traceon; } + + +eval `$LIBTOOL --config | $EGREP '^shrext_cmds='` + +module=no +eval shared_ext=\"$shrext_cmds\" +module=yes +eval module_ext=\"$shrext_cmds\" + +# Only bother with this test if module extension is different from +# shared extension +{ set +x +$as_echo "$at_srcdir/darwin.at:250: test \"\$shared_ext\" != \"\$module_ext\" || exit 77" +at_fn_check_prepare_dynamic "test \"$shared_ext\" != \"$module_ext\" || exit 77" "darwin.at:250" +( $at_check_trace; test "$shared_ext" != "$module_ext" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:250" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Skip this test when called from: +# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install +{ set +x +$as_echo "$at_srcdir/darwin.at:254: case \$LIBLTDL in #( + */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; +esac" +at_fn_check_prepare_notrace 'an embedded newline' "darwin.at:254" +( $at_check_trace; case $LIBLTDL in #( + */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; +esac +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:254" +$at_failed && at_fn_log_failure +$at_traceon; } + + +prefix=`pwd`/inst +libdir=$prefix/lib +bindir=$prefix/bin +mkdir $prefix $libdir $bindir + +# This code is copied from the Autobook: +# +# so if it needs changes, be sure to notify the Autobook authors +# about them. + +cat >simple-module.c <<'_ATEOF' + +#include + +#ifdef __cplusplus +extern "C" +#endif +int +run (const char *argument) +{ + printf ("Hello, %s!\n", argument); + return 0; +} +_ATEOF + + +cat >ltdl-loader.c <<'_ATEOF' + +#include +#include +#ifndef EXIT_FAILURE +# define EXIT_FAILURE 1 +# define EXIT_SUCCESS 0 +#endif + +#include +#ifndef PATH_MAX +# define PATH_MAX 255 +#endif + +#include +#include + +#ifndef MODULE_PATH_ENV +# define MODULE_PATH_ENV "MODULE_PATH" +#endif + +typedef int entrypoint (const char *argument); + +/* Save and return a copy of the dlerror() error message, + since the next API call may overwrite the original. */ +static char *dlerrordup (char *errormsg); + +int +main (int argc, const char *argv[]) +{ + char *errormsg = NULL; + lt_dlhandle module = NULL; + entrypoint *run = NULL; + int errors = 0; + + if (argc != 3) + { + fprintf (stderr, "USAGE: main MODULENAME ARGUMENT\n"); + exit (EXIT_FAILURE); + } + + /* Initialise libltdl. */ + errors = lt_dlinit (); + + /* Set the module search path. */ + if (!errors) + { + const char *path = getenv (MODULE_PATH_ENV); + + if (path != NULL) + errors = lt_dlsetsearchpath (path); + } + + /* Load the module. */ + if (!errors) + module = lt_dlopenext (argv[1]); + + /* Find the entry point. */ + if (module) + { + run = (entrypoint *) lt_dlsym (module, "run"); + + /* In principle, run might legitimately be NULL, so + I don't use run == NULL as an error indicator + in general. */ + errormsg = dlerrordup (errormsg); + if (errormsg != NULL) + { + errors = lt_dlclose (module); + module = NULL; + } + } + else + errors = 1; + + /* Call the entry point function. */ + if (!errors) + { + int result = (*run) (argv[2]); + if (result < 0) + errormsg = strdup ("module entry point execution failed"); + else + printf ("\t=> %d\n", result); + } + + /* Unload the module, now that we are done with it. */ + if (!errors) + errors = lt_dlclose (module); + + if (errors) + { + /* Diagnose the encountered error. */ + errormsg = dlerrordup (errormsg); + + if (!errormsg) + { + fprintf (stderr, "%s: dlerror() failed.\n", argv[0]); + return EXIT_FAILURE; + } + } + + /* Finished with ltdl now. */ + if (!errors) + if (lt_dlexit () != 0) + errormsg = dlerrordup (errormsg); + + if (errormsg) + { + fprintf (stderr, "%s: %s.\n", argv[0], errormsg); + free (errormsg); + exit (EXIT_FAILURE); + } + + return EXIT_SUCCESS; +} + +/* Be careful to save a copy of the error message, + since the next API call may overwrite the original. */ +static char * +dlerrordup (char *errormsg) +{ + char *error = (char *) lt_dlerror (); + if (error && !errormsg) + errormsg = strdup (error); + return errormsg; +} +_ATEOF + + +: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} +: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} + +CPPFLAGS="$LTDLINCL $CPPFLAGS" +LDFLAGS="$LDFLAGS -no-undefined" + +{ set +x +$as_echo "$at_srcdir/darwin.at:417: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c simple-module.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c" "darwin.at:417" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:417" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:419: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o simple-module.la simple-module.lo -rpath \$libdir -module -avoid-version" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la simple-module.lo -rpath $libdir -module -avoid-version" "darwin.at:419" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la simple-module.lo -rpath $libdir -module -avoid-version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:419" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:422: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libsimple-dylib.la simple-module.lo -rpath \$libdir -avoid-version" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libsimple-dylib.la simple-module.lo -rpath $libdir -avoid-version" "darwin.at:422" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libsimple-dylib.la simple-module.lo -rpath $libdir -avoid-version +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:422" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:425: \$CC \$CPPFLAGS \$CFLAGS -c ltdl-loader.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c" "darwin.at:425" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c ltdl-loader.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:425" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:427: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o ltdl-loader\$EXEEXT ltdl-loader.\$OBJEXT -dlopen self \$LIBLTDL" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ltdl-loader.$OBJEXT -dlopen self $LIBLTDL" "darwin.at:427" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ltdl-loader.$OBJEXT -dlopen self $LIBLTDL +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:427" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:430: \$LIBTOOL --mode=install cp simple-module.la \$libdir/simple-module.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la" "darwin.at:430" +( $at_check_trace; $LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:430" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:431: \$LIBTOOL --mode=install cp libsimple-dylib.la \$libdir/libsimple-dylib.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libsimple-dylib.la $libdir/libsimple-dylib.la" "darwin.at:431" +( $at_check_trace; $LIBTOOL --mode=install cp libsimple-dylib.la $libdir/libsimple-dylib.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:431" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:432: \$LIBTOOL --mode=clean rm -f simple-module.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f simple-module.la" "darwin.at:432" +( $at_check_trace; $LIBTOOL --mode=clean rm -f simple-module.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:432" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/darwin.at:433: \$LIBTOOL --mode=clean rm -f libsimple-dylib.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f libsimple-dylib.la" "darwin.at:433" +( $at_check_trace; $LIBTOOL --mode=clean rm -f libsimple-dylib.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:433" +$at_failed && at_fn_log_failure +$at_traceon; } + + +rm $libdir/simple-module.la +rm $libdir/libsimple-dylib.la + +for dir in inst/lib "$libdir"; do + lt_exe=./ltdl-loader; if test -f "./ltdl-loader$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/darwin.at:439: if \"\$lt_exe\" \$dir/simple-module World; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" $dir/simple-module World; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "darwin.at:439" +( $at_check_trace; if "$lt_exe" $dir/simple-module World; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:439" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/darwin.at:441: \$GREP \"Hello, World\" stdout" +at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "darwin.at:441" +( $at_check_trace; $GREP "Hello, World" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:441" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./ltdl-loader; if test -f "./ltdl-loader$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/darwin.at:442: if \"\$lt_exe\" \$dir/libsimple-dylib World; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" $dir/libsimple-dylib World; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "darwin.at:442" +( $at_check_trace; if "$lt_exe" $dir/libsimple-dylib World; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:442" +$at_failed && at_fn_log_failure +$at_traceon; } + + + { set +x +$as_echo "$at_srcdir/darwin.at:444: \$GREP \"Hello, World\" stdout" +at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "darwin.at:444" +( $at_check_trace; $GREP "Hello, World" stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:444" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_162 +#AT_START_163 +at_fn_group_banner 163 'dumpbin-symbols.at:25' \ + "dumpbin -symbols section hiding" " " 27 +at_xfail=no +( + $as_echo "163. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# I don't know of a stable way to create a pair of objects that +# exhibits the potential problem, so this test fakes it by +# testing with output from a case that do have the potential +# problem. + +# First check if the global_symbol_pipe can handle the below +# test case at all, and skip if $NM is not MS dumpbin. + +cat >variable.c <<'_ATEOF' + +int some_variable = 0; +_ATEOF + + +{ set +x +$as_echo "$at_srcdir/dumpbin-symbols.at:40: \$CC \$CPPFLAGS \$CFLAGS -c variable.c" +at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c variable.c" "dumpbin-symbols.at:40" +( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c variable.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/dumpbin-symbols.at:41: \$NM variable.\$OBJEXT" +at_fn_check_prepare_dynamic "$NM variable.$OBJEXT" "dumpbin-symbols.at:41" +( $at_check_trace; $NM variable.$OBJEXT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:41" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/dumpbin-symbols.at:42: \$GREP 'External.*some_variable' stdout || exit 77" +at_fn_check_prepare_dynamic "$GREP 'External.*some_variable' stdout || exit 77" "dumpbin-symbols.at:42" +( $at_check_trace; $GREP 'External.*some_variable' stdout || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:42" +$at_failed && at_fn_log_failure +$at_traceon; } + + +eval `$LIBTOOL --config | $EGREP '^(global_symbol_pipe)='` + +cat >dumpbin-output <<'_ATEOF' + +Dump of file foo.obj + +File Type: COFF OBJECT + +COFF SYMBOL TABLE +000 00AB766F ABS notype Static | @comp.id +001 00000001 ABS notype Static | @feat.00 +002 00000000 SECT1 notype Static | .drectve + Section length 8F, #relocs 0, #linenums 0, checksum 0 +004 00000000 SECT2 notype Static | .debug$S + Section length 44B4, #relocs 1C, #linenums 0, checksum 0 +006 00000000 SECT3 notype Static | .rdata + Section length 1, #relocs 0, #linenums 0, checksum 0, selection 2 (pick any) +008 00000000 SECT3 notype External | ?value@?$integral_constant@_N$0A@@tr1@std@@2_NB (public: static bool const std::tr1::integral_constant::value) +009 00000000 SECT4 notype Static | .rdata + Section length 1, #relocs 0, #linenums 0, checksum 77073096, selection 2 (pick any) +*snip lots of uninteresting crap* +12A 00000000 SECT5B notype Static | .text + Section length 4B, #relocs 2, #linenums 0, checksum 22AE8362, selection 2 (pick any) +12C 00000000 SECT5C notype Static | .debug$S + Section length 150, #relocs B, #linenums 0, checksum 0, selection 5 (pick associative Section 0x5B) +12F 00000000 SECT5D notype Static | .debug$T + Section length 5C, #relocs 0, #linenums 0, checksum 0 + +String Table Size = 0x15EF bytes + + +Dump of file conv.lib + +File Type: LIBRARY + +COFF SYMBOL TABLE +000 00AB766F ABS notype Static | @comp.id +001 00000001 ABS notype Static | @feat.00 +002 00000000 SECT1 notype Static | .drectve + Section length 2F, #relocs 0, #linenums 0, checksum 0 +004 00000000 SECT2 notype Static | .debug$S + Section length 70C, #relocs 5, #linenums 0, checksum 0 +006 00000000 SECT3 notype Static | .text + Section length A, #relocs 0, #linenums 0, checksum BAFC81C1 +008 00000000 SECT3 notype () External | _convenience +009 00000000 SECT4 notype Static | .debug$T + Section length 5C, #relocs 0, #linenums 0, checksum 0 + +String Table Size = 0x11 bytes + + Summary + + 5B3C .debug$S + B8 .debug$T + BE .drectve + 129 .rdata + C .sxdata + 613 .text + 6C .text$x + B8 .xdata$x +_ATEOF + + +# Check if the _convenience symbol from section SECT3 in conv.lib is +# present even if section SECT3 in foo.obj is hidden. +{ set +x +$as_echo "$at_srcdir/dumpbin-symbols.at:108: < dumpbin-output eval \"\$global_symbol_pipe\"" +at_fn_check_prepare_dynamic "< dumpbin-output eval \"$global_symbol_pipe\"" "dumpbin-symbols.at:108" +( $at_check_trace; < dumpbin-output eval "$global_symbol_pipe" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:108" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/dumpbin-symbols.at:109: \$GREP convenience stdout" +at_fn_check_prepare_dynamic "$GREP convenience stdout" "dumpbin-symbols.at:109" +( $at_check_trace; $GREP convenience stdout +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:109" +$at_failed && at_fn_log_failure +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_163 +#AT_START_164 +at_fn_group_banner 164 'deplibs-mingw.at:27' \ + "deplibs without file command" " " 27 +at_xfail=no +( + $as_echo "164. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +cwd=`pwd` +instdir=$cwd/inst +libdir=$instdir/lib +bindir=$instdir/bin +save_LDFLAGS=$LDFLAGS +LDFLAGS="$LDFLAGS -no-undefined" + +mkdir inst inst/bin inst/lib + +cat >a.c <<'_ATEOF' +int a () { return 0; } +_ATEOF + +cat >b.c <<'_ATEOF' +extern int a (); +int b () { return a (); } +_ATEOF + + +for file in a.c b.c; do + $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file +done +{ set +x +$as_echo "$at_srcdir/deplibs-mingw.at:50: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -rpath \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir" "deplibs-mingw.at:50" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:50" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/deplibs-mingw.at:52: library_names= && . ./liba.la && if test -z \"\$library_names\"; then exit 77; fi " +at_fn_check_prepare_dynamic "library_names= && . ./liba.la && if test -z \"$library_names\"; then exit 77; fi " "deplibs-mingw.at:52" +( $at_check_trace; library_names= && . ./liba.la && if test -z "$library_names"; then exit 77; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/deplibs-mingw.at:54: \$LIBTOOL --mode=install cp liba.la \$libdir" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir" "deplibs-mingw.at:54" +( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/deplibs-mingw.at:55: \$LIBTOOL --mode=clean rm -f liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "deplibs-mingw.at:55" +( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:55" +$at_failed && at_fn_log_failure +$at_traceon; } + +rm -f $libdir/liba.la + +# check once with 'file' (if present) and once without, if on MinGW. +for try in with-file without-file; do + { set +x +$as_echo "$at_srcdir/deplibs-mingw.at:60: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb.la b.lo -rpath \$libdir -L\$libdir -la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir -L$libdir -la" "deplibs-mingw.at:60" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir -L$libdir -la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + + { set +x +$as_echo "$at_srcdir/deplibs-mingw.at:63: library_names= && . ./libb.la && if test -z \"\$library_names\"; then exit 99; fi " +at_fn_check_prepare_dynamic "library_names= && . ./libb.la && if test -z \"$library_names\"; then exit 99; fi " "deplibs-mingw.at:63" +( $at_check_trace; library_names= && . ./libb.la && if test -z "$library_names"; then exit 99; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:63" +$at_failed && at_fn_log_failure +$at_traceon; } + + + case $host_os in + mingw*) + if file /; then + mkdir bin new-libtool + + cat >bin/file <<\EOF +#! /bin/sh +exit 1 +EOF + chmod +x bin/file + PATH=`pwd`/bin${PATH_SEPARATOR-:}$PATH + cd new-libtool + # configure might fail due to in-tree build of toplevel, or + # missing configure flags and other reasons. + LDFLAGS=$save_LDFLAGS + { set +x +$as_echo "$at_srcdir/deplibs-mingw.at:81: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL \"\$abs_top_srcdir\"/configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" || exit 77" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "deplibs-mingw.at:81" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL "$abs_top_srcdir"/configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:81" +$at_failed && at_fn_log_failure +$at_traceon; } + + + LDFLAGS="$LDFLAGS -no-undefined" + cd .. + LIBTOOL=new-libtool/libtool + export LIBTOOL + # Check whether the generated script is usable; otherwise, skip. + { set +x +$as_echo "$at_srcdir/deplibs-mingw.at:87: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libunrelated.la a.lo -rpath \$libdir || exit 77" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libunrelated.la a.lo -rpath $libdir || exit 77" "deplibs-mingw.at:87" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libunrelated.la a.lo -rpath $libdir || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:87" +$at_failed && at_fn_log_failure +$at_traceon; } + + else + break; + fi;; + *) + break;; + esac +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_164 +#AT_START_165 +at_fn_group_banner 165 'sysroot.at:204' \ + "-L=.../lib -l" " " 28 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "165. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +gcc_sysroot=`$CC --print-sysroot 2> /dev/null` +if test $? != 0; then + gcc_sysroot= +fi +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: test -n \"\$gcc_sysroot\" || exit 77" +at_fn_check_prepare_dynamic "test -n \"$gcc_sysroot\" || exit 77" "sysroot.at:204" +( $at_check_trace; test -n "$gcc_sysroot" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Detect installation prefix for the compiler +prefix= +for i in crt0.o crt1.o crt2.o crti.o; do + j=`$CC --print-file-name $i 2> /dev/null` + test $? = 0 || continue + case $j in + $gcc_sysroot*/lib/$i) + prefix=`echo "$j" | $SED "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"` + break ;; + esac +done +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: test -n \"\$prefix\" || exit 77" +at_fn_check_prepare_dynamic "test -n \"$prefix\" || exit 77" "sysroot.at:204" +( $at_check_trace; test -n "$prefix" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + +sysroot=`pwd`/sys-root + +# difficult to use AS_DIRNAME inside the AT_CHECK macro, so +# encapsulate as a shell function. +local_dirname() { + $as_dirname -- "$1" || +$as_expr X"$1" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$1" : 'X\(//\)[^/]' \| \ + X"$1" : 'X\(//\)$' \| \ + X"$1" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$1" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' +} + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: +(cd \"\$gcc_sysroot\" && find \".\$prefix/bin\" \".\$prefix/include\" \".\$prefix/lib\" \\! -type d) | \\ +while read file; do + dir=\`local_dirname \"\$sysroot/\$file\"\` + test -d \"\$dir\" || mkdir -p \"\$dir\" + rm -f \"\$sysroot/\$file\" + ln -s \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" || \\ + cp \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" +done" +at_fn_check_prepare_notrace 'a `...` command substitution' "sysroot.at:204" +( $at_check_trace; +(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \! -type d) | \ +while read file; do + dir=`local_dirname "$sysroot/$file"` + test -d "$dir" || mkdir -p "$dir" + rm -f "$sysroot/$file" + ln -s "$gcc_sysroot/$file" "$sysroot/$file" || \ + cp "$gcc_sysroot/$file" "$sysroot/$file" +done +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + +LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined" +configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix" + +#??? +if test PATH = "$shlibpath_var"; then + configure_options="$configure_options --libdir=/$prefix/bin" +fi + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: mkdir lib1 lib2 prog" +at_fn_check_prepare_trace "sysroot.at:204" +( $at_check_trace; mkdir lib1 lib2 prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Build and install package 1. +cat >lib1/configure.ac <<'_ATEOF' +AC_INIT([lib1], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([lib1.c]) +LT_INIT +AC_OUTPUT(Makefile) +_ATEOF + + +cat >lib1/Makefile.am <<'_ATEOF' +lib_LTLIBRARIES = lib1.la +lib1_la_SOURCES = lib1.c +lib1_la_LDFLAGS = -rpath $(libdir) +_ATEOF + + +cat >lib1/lib1.c <<'_ATEOF' +#include +#include +char *f(const char *s) +{ + return strdup (s); +} +_ATEOF + + +cd lib1 +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:204" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:204" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:204" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:204" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:204" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:204" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:204" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: test -f \"\$sysroot/\$prefix/lib/lib1.la\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:204" +( $at_check_trace; test -f "$sysroot/$prefix/lib/lib1.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib1.la\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:204" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib1.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd .. + +# Build and install package 2. +cat >lib2/configure.ac <<'_ATEOF' +AC_INIT([lib2], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([lib2.c]) +LT_INIT +sysroot=$with_sysroot +AC_SUBST([sysroot]) +AC_OUTPUT(Makefile) +_ATEOF + + +cat >lib2/Makefile.am <<'_ATEOF' +lib_LTLIBRARIES = lib2.la +lib2_la_SOURCES = lib2.c +lib2_la_LDFLAGS = -rpath $(libdir) +lib2_la_LIBADD = -L=$(libdir) -l1 +_ATEOF + + +cat >lib2/lib2.c <<'_ATEOF' +#include +#include +#include +extern char *f(const char *s); +char *g(const char *s) +{ + char *q = f(s); + puts (q); + return q; +} +_ATEOF + + +cd lib2 +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:204" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:204" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:204" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:204" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:204" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:204" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:204" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: test -f \"\$sysroot/\$prefix/lib/lib2.la\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:204" +( $at_check_trace; test -f "$sysroot/$prefix/lib/lib2.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib2.la\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:204" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib2.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd .. + +# Build and install a program. +cat >prog/configure.ac <<'_ATEOF' +AC_INIT([prog], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([prog.c]) +LT_INIT +sysroot=$with_sysroot +AC_SUBST([sysroot]) +AC_OUTPUT(Makefile) +_ATEOF + + +cat >prog/Makefile.am <<'_ATEOF' +bin_PROGRAMS = prog +prog_SOURCES = prog.c +prog_LDADD = -L=$(libdir) -l2 +_ATEOF + + +cat >prog/prog.c <<'_ATEOF' +#include +#include +#include +extern char *g(const char *s); +int main() +{ + char *q = g("hello world"); + free (q); + return 0; +} +_ATEOF + + +cd prog +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:204" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:204" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:204" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:204" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:204" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:204: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:204" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:204" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: test -f \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:204" +( $at_check_trace; test -f "$sysroot/$prefix/bin/prog$EXEEXT" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:204" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib2.la" +at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib2.la" "sysroot.at:204" +( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib2.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: ./libtool --mode=finish \$sysroot/\$prefix/lib/lib[12].la" +at_fn_check_prepare_dynamic "./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la" "sysroot.at:204" +( $at_check_trace; ./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:204: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib[12].la" +at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib[12].la" "sysroot.at:204" +( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib[12].la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# missing tests +# 1) pass absolute .la files +# 2) pass absolute -L +# 2) pass relative .la files + +cd .. + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_165 +#AT_START_166 +at_fn_group_banner 166 'sysroot.at:205' \ + "-L SYSROOT/.../lib -l" " " 28 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "166. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +gcc_sysroot=`$CC --print-sysroot 2> /dev/null` +if test $? != 0; then + gcc_sysroot= +fi +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: test -n \"\$gcc_sysroot\" || exit 77" +at_fn_check_prepare_dynamic "test -n \"$gcc_sysroot\" || exit 77" "sysroot.at:205" +( $at_check_trace; test -n "$gcc_sysroot" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Detect installation prefix for the compiler +prefix= +for i in crt0.o crt1.o crt2.o crti.o; do + j=`$CC --print-file-name $i 2> /dev/null` + test $? = 0 || continue + case $j in + $gcc_sysroot*/lib/$i) + prefix=`echo "$j" | $SED "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"` + break ;; + esac +done +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: test -n \"\$prefix\" || exit 77" +at_fn_check_prepare_dynamic "test -n \"$prefix\" || exit 77" "sysroot.at:205" +( $at_check_trace; test -n "$prefix" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +sysroot=`pwd`/sys-root + +# difficult to use AS_DIRNAME inside the AT_CHECK macro, so +# encapsulate as a shell function. +local_dirname() { + $as_dirname -- "$1" || +$as_expr X"$1" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$1" : 'X\(//\)[^/]' \| \ + X"$1" : 'X\(//\)$' \| \ + X"$1" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$1" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' +} + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: +(cd \"\$gcc_sysroot\" && find \".\$prefix/bin\" \".\$prefix/include\" \".\$prefix/lib\" \\! -type d) | \\ +while read file; do + dir=\`local_dirname \"\$sysroot/\$file\"\` + test -d \"\$dir\" || mkdir -p \"\$dir\" + rm -f \"\$sysroot/\$file\" + ln -s \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" || \\ + cp \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" +done" +at_fn_check_prepare_notrace 'a `...` command substitution' "sysroot.at:205" +( $at_check_trace; +(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \! -type d) | \ +while read file; do + dir=`local_dirname "$sysroot/$file"` + test -d "$dir" || mkdir -p "$dir" + rm -f "$sysroot/$file" + ln -s "$gcc_sysroot/$file" "$sysroot/$file" || \ + cp "$gcc_sysroot/$file" "$sysroot/$file" +done +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined" +configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix" + +#??? +if test PATH = "$shlibpath_var"; then + configure_options="$configure_options --libdir=/$prefix/bin" +fi + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: mkdir lib1 lib2 prog" +at_fn_check_prepare_trace "sysroot.at:205" +( $at_check_trace; mkdir lib1 lib2 prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Build and install package 1. +cat >lib1/configure.ac <<'_ATEOF' +AC_INIT([lib1], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([lib1.c]) +LT_INIT +AC_OUTPUT(Makefile) +_ATEOF + + +cat >lib1/Makefile.am <<'_ATEOF' +lib_LTLIBRARIES = lib1.la +lib1_la_SOURCES = lib1.c +lib1_la_LDFLAGS = -rpath $(libdir) +_ATEOF + + +cat >lib1/lib1.c <<'_ATEOF' +#include +#include +char *f(const char *s) +{ + return strdup (s); +} +_ATEOF + + +cd lib1 +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:205" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:205" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:205" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:205" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:205" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:205" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:205" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: test -f \"\$sysroot/\$prefix/lib/lib1.la\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:205" +( $at_check_trace; test -f "$sysroot/$prefix/lib/lib1.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib1.la\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:205" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib1.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd .. + +# Build and install package 2. +cat >lib2/configure.ac <<'_ATEOF' +AC_INIT([lib2], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([lib2.c]) +LT_INIT +sysroot=$with_sysroot +AC_SUBST([sysroot]) +AC_OUTPUT(Makefile) +_ATEOF + + +cat >lib2/Makefile.am <<'_ATEOF' +lib_LTLIBRARIES = lib2.la +lib2_la_SOURCES = lib2.c +lib2_la_LDFLAGS = -rpath $(libdir) +lib2_la_LIBADD = -L$(sysroot)$(libdir) -l1 +_ATEOF + + +cat >lib2/lib2.c <<'_ATEOF' +#include +#include +#include +extern char *f(const char *s); +char *g(const char *s) +{ + char *q = f(s); + puts (q); + return q; +} +_ATEOF + + +cd lib2 +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:205" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:205" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:205" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:205" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:205" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:205" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:205" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: test -f \"\$sysroot/\$prefix/lib/lib2.la\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:205" +( $at_check_trace; test -f "$sysroot/$prefix/lib/lib2.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib2.la\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:205" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib2.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd .. + +# Build and install a program. +cat >prog/configure.ac <<'_ATEOF' +AC_INIT([prog], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([prog.c]) +LT_INIT +sysroot=$with_sysroot +AC_SUBST([sysroot]) +AC_OUTPUT(Makefile) +_ATEOF + + +cat >prog/Makefile.am <<'_ATEOF' +bin_PROGRAMS = prog +prog_SOURCES = prog.c +prog_LDADD = -L$(sysroot)$(libdir) -l2 +_ATEOF + + +cat >prog/prog.c <<'_ATEOF' +#include +#include +#include +extern char *g(const char *s); +int main() +{ + char *q = g("hello world"); + free (q); + return 0; +} +_ATEOF + + +cd prog +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:205" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:205" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:205" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:205" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:205" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:205: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:205" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:205" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: test -f \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:205" +( $at_check_trace; test -f "$sysroot/$prefix/bin/prog$EXEEXT" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:205" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib2.la" +at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib2.la" "sysroot.at:205" +( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib2.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: ./libtool --mode=finish \$sysroot/\$prefix/lib/lib[12].la" +at_fn_check_prepare_dynamic "./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la" "sysroot.at:205" +( $at_check_trace; ./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:205: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib[12].la" +at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib[12].la" "sysroot.at:205" +( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib[12].la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# missing tests +# 1) pass absolute .la files +# 2) pass absolute -L +# 2) pass relative .la files + +cd .. + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_166 +#AT_START_167 +at_fn_group_banner 167 'sysroot.at:206' \ + "SYSROOT/.../*.la" " " 28 +at_xfail=no + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes + test no = "$ACLOCAL" && at_xfail=yes + test no = "$AUTOMAKE" && at_xfail=yes + test no = "$AUTOCONF" && at_xfail=yes +( + $as_echo "167. $at_setup_line: testing $at_desc ..." + $at_traceon + + + +gcc_sysroot=`$CC --print-sysroot 2> /dev/null` +if test $? != 0; then + gcc_sysroot= +fi +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: test -n \"\$gcc_sysroot\" || exit 77" +at_fn_check_prepare_dynamic "test -n \"$gcc_sysroot\" || exit 77" "sysroot.at:206" +( $at_check_trace; test -n "$gcc_sysroot" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Detect installation prefix for the compiler +prefix= +for i in crt0.o crt1.o crt2.o crti.o; do + j=`$CC --print-file-name $i 2> /dev/null` + test $? = 0 || continue + case $j in + $gcc_sysroot*/lib/$i) + prefix=`echo "$j" | $SED "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"` + break ;; + esac +done +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: test -n \"\$prefix\" || exit 77" +at_fn_check_prepare_dynamic "test -n \"$prefix\" || exit 77" "sysroot.at:206" +( $at_check_trace; test -n "$prefix" || exit 77 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +sysroot=`pwd`/sys-root + +# difficult to use AS_DIRNAME inside the AT_CHECK macro, so +# encapsulate as a shell function. +local_dirname() { + $as_dirname -- "$1" || +$as_expr X"$1" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$1" : 'X\(//\)[^/]' \| \ + X"$1" : 'X\(//\)$' \| \ + X"$1" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$1" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' +} + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: +(cd \"\$gcc_sysroot\" && find \".\$prefix/bin\" \".\$prefix/include\" \".\$prefix/lib\" \\! -type d) | \\ +while read file; do + dir=\`local_dirname \"\$sysroot/\$file\"\` + test -d \"\$dir\" || mkdir -p \"\$dir\" + rm -f \"\$sysroot/\$file\" + ln -s \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" || \\ + cp \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" +done" +at_fn_check_prepare_notrace 'a `...` command substitution' "sysroot.at:206" +( $at_check_trace; +(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \! -type d) | \ +while read file; do + dir=`local_dirname "$sysroot/$file"` + test -d "$dir" || mkdir -p "$dir" + rm -f "$sysroot/$file" + ln -s "$gcc_sysroot/$file" "$sysroot/$file" || \ + cp "$gcc_sysroot/$file" "$sysroot/$file" +done +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined" +configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix" + +#??? +if test PATH = "$shlibpath_var"; then + configure_options="$configure_options --libdir=/$prefix/bin" +fi + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: mkdir lib1 lib2 prog" +at_fn_check_prepare_trace "sysroot.at:206" +( $at_check_trace; mkdir lib1 lib2 prog +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# Build and install package 1. +cat >lib1/configure.ac <<'_ATEOF' +AC_INIT([lib1], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([lib1.c]) +LT_INIT +AC_OUTPUT(Makefile) +_ATEOF + + +cat >lib1/Makefile.am <<'_ATEOF' +lib_LTLIBRARIES = lib1.la +lib1_la_SOURCES = lib1.c +lib1_la_LDFLAGS = -rpath $(libdir) +_ATEOF + + +cat >lib1/lib1.c <<'_ATEOF' +#include +#include +char *f(const char *s) +{ + return strdup (s); +} +_ATEOF + + +cd lib1 +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:206" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:206" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:206" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:206" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:206" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:206" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:206" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: test -f \"\$sysroot/\$prefix/lib/lib1.la\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:206" +( $at_check_trace; test -f "$sysroot/$prefix/lib/lib1.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib1.la\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:206" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib1.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd .. + +# Build and install package 2. +cat >lib2/configure.ac <<'_ATEOF' +AC_INIT([lib2], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([lib2.c]) +LT_INIT +sysroot=$with_sysroot +AC_SUBST([sysroot]) +AC_OUTPUT(Makefile) +_ATEOF + + +cat >lib2/Makefile.am <<'_ATEOF' +lib_LTLIBRARIES = lib2.la +lib2_la_SOURCES = lib2.c +lib2_la_LDFLAGS = -rpath $(libdir) +lib2_la_LIBADD = $(sysroot)$(libdir)/lib1.la +_ATEOF + + +cat >lib2/lib2.c <<'_ATEOF' +#include +#include +#include +extern char *f(const char *s); +char *g(const char *s) +{ + char *q = f(s); + puts (q); + return q; +} +_ATEOF + + +cd lib2 +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:206" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:206" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:206" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:206" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:206" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:206" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:206" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: test -f \"\$sysroot/\$prefix/lib/lib2.la\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:206" +( $at_check_trace; test -f "$sysroot/$prefix/lib/lib2.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib2.la\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:206" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib2.la" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +cd .. + +# Build and install a program. +cat >prog/configure.ac <<'_ATEOF' +AC_INIT([prog], [1.0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +AC_CONFIG_SRCDIR([prog.c]) +LT_INIT +sysroot=$with_sysroot +AC_SUBST([sysroot]) +AC_OUTPUT(Makefile) +_ATEOF + + +cat >prog/Makefile.am <<'_ATEOF' +bin_PROGRAMS = prog +prog_SOURCES = prog.c +prog_LDADD = $(sysroot)$(libdir)/lib2.la +_ATEOF + + +cat >prog/prog.c <<'_ATEOF' +#include +#include +#include +extern char *g(const char *s); +int main() +{ + char *q = g("hello world"); + free (q); + return 0; +} +_ATEOF + + +cd prog +$LIBTOOLIZE + + +macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +cat >acinclude.m4 <<'_ATEOF' +m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +_ATEOF + +echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" +at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:206" +( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$AUTOMAKE --add-missing" +at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:206" +( $at_check_trace; $AUTOMAKE --add-missing +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +if $at_failed; then : + { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$GREP 'require .*but have' stderr && (exit 77)" +at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:206" +( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +fi +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$AUTOCONF " +at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:206" +( $at_check_trace; $AUTOCONF +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:206" +( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +for target in all +do + { set +x +$as_echo "$at_srcdir/sysroot.at:206: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " +at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:206" +( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +done + + + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$MAKE install DESTDIR=\$sysroot" +at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:206" +( $at_check_trace; $MAKE install DESTDIR=$sysroot +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: test -f \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" +at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:206" +( $at_check_trace; test -f "$sysroot/$prefix/bin/prog$EXEEXT" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" +at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:206" +( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT" +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib2.la" +at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib2.la" "sysroot.at:206" +( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib2.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: ./libtool --mode=finish \$sysroot/\$prefix/lib/lib[12].la" +at_fn_check_prepare_dynamic "./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la" "sysroot.at:206" +( $at_check_trace; ./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/sysroot.at:206: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib[12].la" +at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib[12].la" "sysroot.at:206" +( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib[12].la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + +# missing tests +# 1) pass absolute .la files +# 2) pass absolute -L +# 2) pass relative .la files + +cd .. + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_167 +#AT_START_168 +at_fn_group_banner 168 'stresstest.at:32' \ + "Link option thorough search test" " " 29 +at_xfail=no +( + $as_echo "168. $at_setup_line: testing $at_desc ..." + $at_traceon + + +eval `$LIBTOOL --config | $EGREP '^(CC|objdir|allow_undefined_flag)='` + +mkdir sub sub2 sub3 2>/dev/null + +cat >a.c <<'_ATEOF' +/* all kinds of data items */ +#ifdef __cplusplus +extern "C" { +#endif +int v1; +static int v2; +int v3 = 0; +int v4 = 1; +extern const int v5, v6; +extern const char *v7; +extern const char v8[]; +extern int (*const v12) (void); +const int v5 = 0; +const int v6 = 1; +const char* v7 = "\01foo"; +const char v8[] = "\01bar"; +int v9(void) { return v2 + 1; } +int (*v10) (void); +int (*v11) (void) = v9; +int (*const v12) (void) = v9; + +typedef struct { int arr[1000]; } large; +large v13; +large v14 = { { 0 } }; +large v15 = { { 1 } }; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >asyms <<'_ATEOF' +v1 +v3 +v4 +v5 +v6 +v7 +v8 +v9 +v10 +v11 +v12 +v13 +v14 +v15 +_ATEOF + + +cat >b.c <<'_ATEOF' +int b = 42; +int b3 = 1; +int ab = 1; +_ATEOF + + +cat >main.c <<'_ATEOF' + +#if defined LIBA_DLL_IMPORT +# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ +# define LIBA_SCOPE extern __declspec(dllimport) +# if defined _MSC_VER +# define LIBA_SCOPE_VAR LIBA_SCOPE +# endif +# endif +#endif +#if !defined LIBA_SCOPE +# define LIBA_SCOPE extern +#endif +#if !defined LIBA_SCOPE_VAR +# define LIBA_SCOPE_VAR extern +#endif +#ifdef __cplusplus +extern "C" { +#endif +LIBA_SCOPE_VAR int v1; +LIBA_SCOPE_VAR int v3, v4; +LIBA_SCOPE const int v5, v6; +LIBA_SCOPE_VAR const char* v7; +LIBA_SCOPE_VAR const char v8[]; +extern int v9(void); +LIBA_SCOPE_VAR int (*v10) (void); +LIBA_SCOPE_VAR int (*v11) (void); +LIBA_SCOPE int (*const v12) (void); +#ifdef __cplusplus +} +#endif + +typedef struct { int arr[1000]; } large; +LIBA_SCOPE_VAR large v13, v14, v15; + +int main(void) +{ + char s = v7[0] + v8[0]; + return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() + + v13.arr[0] + v14.arr[0] + v15.arr[0] + - 8; +} +_ATEOF + + +cat >dlself.c <<'_ATEOF' + +#if defined LIBA_DLL_IMPORT +# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ +# define LIBA_SCOPE extern __declspec(dllimport) +# if defined _MSC_VER +# define LIBA_SCOPE_VAR LIBA_SCOPE +# endif +# endif +#endif +#if !defined LIBA_SCOPE +# define LIBA_SCOPE extern +#endif +#if !defined LIBA_SCOPE_VAR +# define LIBA_SCOPE_VAR extern +#endif +#ifdef __cplusplus +extern "C" { +#endif +LIBA_SCOPE_VAR int v1; +LIBA_SCOPE_VAR int v3, v4; +LIBA_SCOPE const int v5, v6; +LIBA_SCOPE_VAR const char* v7; +LIBA_SCOPE_VAR const char v8[]; +extern int v9(void); +LIBA_SCOPE_VAR int (*v10) (void); +LIBA_SCOPE_VAR int (*v11) (void); +LIBA_SCOPE int (*const v12) (void); + +typedef struct { int arr[1000]; } large; +LIBA_SCOPE_VAR large v13, v14, v15; + +extern int w1; +extern int w3, w4; +extern const int w5, w6; +extern const char* w7; +extern const char w8[]; +extern int w9(void); +extern int (*w10) (void); +extern int (*w11) (void); +extern int (*const w12) (void); +extern large w13, w14, w15; +#ifdef __cplusplus +} +#endif + +int main(void) +{ + char s = v7[0] + v8[0] + w7[0] + w8[0]; + return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() + + v13.arr[0] + v14.arr[0] + v15.arr[0] + + w1 + w3 + w4 + w5 + w6 + w9() + w11() + w12() + + w13.arr[0] + w14.arr[0] + w15.arr[0] + - 16; +} + + +#ifdef __cplusplus +extern "C" { +#endif +int w1; +static int w2; +int w3 = 0; +int w4 = 1; +const int w5 = 0; +const int w6 = 1; +const char* w7 = "\01foo"; +const char w8[] = "\01bar"; +int w9(void) { return w2 + 1; } +int (*w10) (void); +int (*w11) (void) = w9; +int (*const w12) (void) = w9; +large w13; +large w14 = { { 0 } }; +large w15 = { { 1 } }; +#ifdef __cplusplus +} +#endif +_ATEOF + + +cat >dlselfsyms <<'_ATEOF' +w1 +w3 +w4 +w5 +w6 +w7 +w8 +w9 +w10 +w11 +w12 +w13 +w14 +w15 +_ATEOF + + + +{ set +x +$as_echo "$at_srcdir/stresstest.at:234: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c -o sub/a.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -o sub/a.lo" "stresstest.at:234" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -o sub/a.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:234" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/stresstest.at:236: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c b.c -o sub/b.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c -o sub/b.lo" "stresstest.at:236" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c -o sub/b.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:236" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/stresstest.at:238: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS -DLIBA_DLL_IMPORT \$CFLAGS -c main.c" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c" "stresstest.at:238" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:238" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/stresstest.at:240: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c main.c -o main-static.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c -o main-static.lo" "stresstest.at:240" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c -o main-static.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:240" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/stresstest.at:242: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS -DLIBA_DLL_IMPORT \$CFLAGS -c dlself.c -o sub3/dlself.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c dlself.c -o sub3/dlself.lo" "stresstest.at:242" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c dlself.c -o sub3/dlself.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:242" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/stresstest.at:244: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c dlself.c -o sub3/dlself-static.lo" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c dlself.c -o sub3/dlself-static.lo" "stresstest.at:244" +( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c dlself.c -o sub3/dlself-static.lo +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:244" +$at_failed && at_fn_log_failure +$at_traceon; } + + +case $allow_undefined_flag in + unsupported) undef_opts=-no-undefined ;; + *) undef_opts='"" -no-undefined' ;; +esac + +# expose problems with the regex: +touch vfoo v.bar + +for l1 in $undef_opts +do + for l2 in '' '-export-symbols-regex "v.*"' '-export-symbols asyms' + do + for l3 in '' '-rpath /nonexistent' + do + linkargs="$l1 $l2 $l3" + for rel in '' ./ `pwd`/ + do + echo "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o \"$rel\"sub2/liba.la \"$rel\"sub/a.lo' $linkargs"; { set +x +$as_echo "$at_srcdir/stresstest.at:264: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o \"\$rel\"sub2/liba.la \"\$rel\"sub/a.lo' \$linkargs" +at_fn_check_prepare_dynamic "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o \"$rel\"sub2/liba.la \"$rel\"sub/a.lo' $linkargs" "stresstest.at:264" +( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o "$rel"sub2/liba.la "$rel"sub/a.lo' $linkargs +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:264" +$at_failed && at_fn_log_failure +$at_traceon; } + + for st in '' '-static' '-no-install' + do + # if '-static' is not passed, and the library is shared, then we have + # to use -DLIBA_DLL_IMPORT, thus main.lo (and not main-static.lo). + case $st,$l3 in + -static,*) mst=-static ;; + *,-rpath*) mst= ;; + *) mst=-static ;; + esac + + echo "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o \"$rel\"main$EXEEXT \"$rel\"main$mst.lo \"$rel\"sub2/liba.la"; { set +x +$as_echo "$at_srcdir/stresstest.at:276: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$st -o \"\$rel\"main\$EXEEXT \"\$rel\"main\$mst.lo \"\$rel\"sub2/liba.la" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o \"$rel\"main$EXEEXT \"$rel\"main$mst.lo \"$rel\"sub2/liba.la" "stresstest.at:276" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o "$rel"main$EXEEXT "$rel"main$mst.lo "$rel"sub2/liba.la +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:276" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/stresstest.at:278: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "stresstest.at:278" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:278" +$at_failed && at_fn_log_failure +$at_traceon; } + + + for l10 in '' '-export-symbols dlselfsyms' + do + echo "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o \"$rel\"sub3/dlself$EXEEXT \"$rel\"sub3/dlself$mst.lo \"$rel\"sub2/liba.la sub/b.lo -dlopen self $l10"; { set +x +$as_echo "$at_srcdir/stresstest.at:281: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$st -o \"\$rel\"sub3/dlself\$EXEEXT \"\$rel\"sub3/dlself\$mst.lo \"\$rel\"sub2/liba.la sub/b.lo -dlopen self \$l10" +at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o \"$rel\"sub3/dlself$EXEEXT \"$rel\"sub3/dlself$mst.lo \"$rel\"sub2/liba.la sub/b.lo -dlopen self $l10" "stresstest.at:281" +( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o "$rel"sub3/dlself$EXEEXT "$rel"sub3/dlself$mst.lo "$rel"sub2/liba.la sub/b.lo -dlopen self $l10 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:281" +$at_failed && at_fn_log_failure +$at_traceon; } + + lt_exe=./sub3/dlself; if test -f "./sub3/dlself$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +{ set +x +$as_echo "$at_srcdir/stresstest.at:283: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" +at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "stresstest.at:283" +( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + + + done + done + done + done + done +done + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_168 +#AT_START_169 +at_fn_group_banner 169 'cmdline_wrap.at:29' \ + "Run tests with low max_cmd_len" " " 29 +at_xfail=no +( + $as_echo "169. $at_setup_line: testing $at_desc ..." + $at_traceon + + +fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do test -f "$f" && echo "$f"; done` +echo "DEBUG: fail_list='$fail_list'" +{ set +x +$as_echo "$at_srcdir/cmdline_wrap.at:34: test -z \"\$fail_list\" || (exit 77)" +at_fn_check_prepare_dynamic "test -z \"$fail_list\" || (exit 77)" "cmdline_wrap.at:34" +( $at_check_trace; test -z "$fail_list" || (exit 77) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/cmdline_wrap.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + + +$SED 's|max_cmd_len=.*|max_cmd_len="24"|' < $LIBTOOL > libtool +chmod +x libtool +LIBTOOL=`pwd`/libtool +export LIBTOOL +# run the suite in a subdirectory, otherwise the two suites will compete +# for the output file 'testsuite.log'. +mkdir tests +cd tests +INNER_TESTSUITEFLAGS="$INNER_TESTSUITEFLAGS abs_top_srcdir=$abs_top_srcdir \ + abs_builddir=$abs_builddir" +{ set +x +$as_echo "$at_srcdir/cmdline_wrap.at:48: \$CONFIG_SHELL \$abs_srcdir/testsuite -k libtool\$INNER_TESTSUITEFLAGS" +at_fn_check_prepare_dynamic "$CONFIG_SHELL $abs_srcdir/testsuite -k libtool$INNER_TESTSUITEFLAGS" "cmdline_wrap.at:48" +( $at_check_trace; $CONFIG_SHELL $abs_srcdir/testsuite -k libtool$INNER_TESTSUITEFLAGS +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/cmdline_wrap.at:48" +$at_failed && at_fn_log_failure \ +"testsuite.log" +$at_traceon; } + + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_169 diff --git a/BUILD/libtool-2.4.7/tests/testsuite.at b/BUILD/libtool-2.4.7/tests/testsuite.at new file mode 100644 index 0000000..f24c2dc --- /dev/null +++ b/BUILD/libtool-2.4.7/tests/testsuite.at @@ -0,0 +1,535 @@ +# Process with autom4te to create an -*- Autotest -*- test suite. +# +# Copyright (C) 2004-2019, 2021-2022 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +#### + +m4_divert_push([PREPARE_TESTS])dnl +: ${tst_dist=dist} +: ${ACLOCAL=aclocal} +: ${AUTOHEADER=autoheader} +: ${AUTOCONF=autoconf} +: ${AUTOMAKE=automake} +: ${AUTORECONF=autoreconf} +test set = "${ECHO+set}" || ECHO=${as_echo-'printf %s\n'} +: ${ECHO=$as_echo} +for tool in ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF; do + if eval \$$tool --version >/dev/null 2>&1; then :; else eval $tool=no; fi +done +export ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF +eval `$LIBTOOL --config | $EGREP '^(objdir|objext)'` +eval `$LIBTOOL --config | $EGREP '^(host|host_os|host_alias|build|build_alias|to_host_file_cmd|to_tool_file_cmd)='` +configure_options=--prefix=/nonexistent +if test -n "$host_alias"; then + configure_options="$configure_options --host $host_alias" +fi +if test -n "$build_alias"; then + configure_options="$configure_options --build $build_alias" +fi +if test -n "$to_host_file_cmd"; then + configure_options="$configure_options lt_cv_to_host_file_cmd=$to_host_file_cmd" +fi +if test -n "$to_tool_file_cmd"; then + configure_options="$configure_options lt_cv_to_tool_file_cmd=$to_tool_file_cmd" +fi +: ${mkdir_p="$abs_top_srcdir/build-aux/install-sh -d"} +# Fix relative paths in $lt_INSTALL +case $lt_INSTALL in + *build-aux/install-sh*) + lt_INSTALL=$abs_top_srcdir/build-aux/install-sh + ;; +esac + +# func_extract_trace support +. "$abs_top_srcdir/build-aux/funclib.sh" +. "$abs_top_srcdir/build-aux/extract-trace" + + +# Unset some MAKE... variables that may cause $MAKE to act like a +# recursively invoked sub-make. Any $MAKE invocation in a test is +# conceptually an independent invocation. +unset MFLAGS MAKEFLAGS MAKELEVEL __MKLVL__ MAKE_JOBS_FIFO + +# On AIX, shared libraries remain loaded in memory after use if they +# are world-readable, until root issues slibclean. On NFS, this causes +# a testsuite rerun to fail to clean up test group directories. Avoid +# this with a suitable umask. Do not do this on other systems, for +# example HP-UX suffers unless shared libraries are mode 555. +case $host_os in +aix*) umask o-rwx ;; +esac +m4_divert_pop([PREPARE_TESTS])dnl + + +# LT_AT_LIBTOOLIZE([ARGS]) +# ------------------------ +m4_define([LT_AT_LIBTOOLIZE], +[$LIBTOOLIZE $1 +AT_KEYWORDS([libtoolize]) +]) + + +# _LIBTOOLIZE_TRANSFORM(FILE) +# --------------------------- +# Fix the expected output of installed libtoolize in presence of --program-*. +m4_define([_LIBTOOLIZE_TRANSFORM], +[lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` +$SED "s/libtoolize/$lt_name/g +s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < $1 > $1.t +mv -f $1.t $1 +])dnl + + +# LT_AT_CHECK_LIBTOOLIZE(ARGS, [EXIT-STATUS = 0], [STDOUT = ''], [STDERR = '']) +# ----------------------------------------------------------------------------- +m4_define([LT_AT_CHECK_LIBTOOLIZE], +[m4_if([$3], [expout], [_LIBTOOLIZE_TRANSFORM([$3])])dnl +m4_if([$4], [experr], [_LIBTOOLIZE_TRANSFORM([$4])])dnl +AT_CHECK([LT_AT_LIBTOOLIZE([$1])], + [$2], [$3], [$4]) +]) + + +# LT_AT_ACLOCAL([OPTIONS]) +# -------------------------- +m4_pattern_allow([^(m4_define|m4_defn|m4_ifndef)$]) +m4_define([LT_AT_ACLOCAL], +[macro_dir= +func_extract_trace AC_CONFIG_MACRO_DIRS +test -n "$func_extract_trace_result" \ + || func_extract_trace AC_CONFIG_MACRO_DIR +test -n "$func_extract_trace_result" \ + && macro_dir=" -I $func_extract_trace_result" +AT_DATA([acinclude.m4], +[[m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +]]) +LT_AT_CHECK([$ACLOCAL $1$macro_dir], [0], [ignore], [ignore]) +# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going +# to have older timestamp than other autotools later-generated files (concretely +# for libtool case, we speak about config.h.in generated autoheader). +# Autoreconf does the same (after the first aclocal run). +sleep 1 +AT_XFAIL_IF([test no = "$ACLOCAL"]) +AT_KEYWORDS([automake]) +]) + + +# LT_AT_AUTOCONF([OPTIONS]) +# -------------------------- +m4_define([LT_AT_AUTOCONF], +[AT_CHECK([$AUTOCONF $1], [0], [ignore], [ignore]) +AT_XFAIL_IF([test no = "$AUTOCONF"]) +AT_KEYWORDS([autoconf]) +]) + + +# LT_AT_AUTOMAKE([OPTIONS]) +# -------------------------- +m4_define([LT_AT_AUTOMAKE], +[AT_CHECK([$AUTOMAKE $1], [0], [ignore], [stderr], + [AT_CHECK([$GREP 'require .*but have' stderr && (exit 77)], [1])]) +AT_XFAIL_IF([test no = "$AUTOMAKE"]) +AT_KEYWORDS([automake]) +]) + + +# LT_AT_AUTOHEADER([OPTIONS]) +# --------------------------- +m4_define([LT_AT_AUTOHEADER], +[AT_CHECK([$AUTOHEADER $1], [0], [ignore], [ignore]) +AT_XFAIL_IF([test no = "$AUTOHEADER"]) +AT_KEYWORDS([autoconf]) +]) + + +# LT_AT_AUTORECONF([OPTIONS]) +# -------------------------- +m4_define([LT_AT_AUTORECONF], +[AT_DATA([acinclude.m4], +[[m4_ifndef([AC_CONFIG_MACRO_DIRS], + [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) +]]) +AT_CHECK([$AUTORECONF $1], [0], [ignore], [stderr], + [AT_CHECK([$GREP 'require .*but have' stderr && (exit 77)], [1])]) +AT_XFAIL_IF( + [case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac]) +AT_KEYWORDS([autoconf automake]) +]) + + +# LT_AT_CONFIGURE([OPTIONS], [CONFIGURE-SCRIPT]) +# ---------------------------------------------- +# Configure CONFIGURE-SCRIPT, defaulting to ./configure, with +# additional OPTIONS. +m4_define([LT_AT_CONFIGURE], +[AT_CHECK([: ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; ]dnl + [$CONFIG_SHELL m4_default([$2], [./configure]) $configure_options ]dnl + [--prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" $1], + [0], [ignore], [ignore]) +]) + + +# LT_AT_MAKE([TGTS], [VARS]) +# -------------------------- +m4_define([LT_AT_MAKE], +[for target in m4_default([$1], [all]) +do + AT_CHECK([$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target $2], [0], [ignore], [ignore]) +done +]) + + +# LT_AT_BOOTSTRAP([LIBTOOLIZE-ARGS], [ACLOCAL-ARGS], [AUTOHEADER-ARGS], +# [AUTOMAKE-ARGS], [AUTOCONF-ARGS], [CONFIGURE-ARGS], [MAKE-ARGS]) +# ---------------------------------------------------------------------- +m4_define([LT_AT_BOOTSTRAP], +[m4_if([$1], [ignore], [], [LT_AT_LIBTOOLIZE([$1])]) +m4_if([$2], [ignore], [], [LT_AT_ACLOCAL([$2])]) +m4_if([$3], [ignore], [], [LT_AT_AUTOHEADER([$3])]) +m4_if([$4], [ignore], [], [LT_AT_AUTOMAKE([$4])]) +m4_if([$5], [ignore], [], [LT_AT_AUTOCONF([$5])]) +m4_if([$6], [ignore], [], [LT_AT_CONFIGURE([$6])]) +m4_if([$7], [ignore], [], [LT_AT_MAKE([$7])]) +]) + + +# LT_ESCAPE(ARG) +# -------------- +# Escape command for output (expand only parameters). +m4_define([LT_ESCAPE], +[m4_bpatsubst([$1], + m4_dquote(m4_default([$2], [\"`])), + [\\\&])]) + + +# LT_AT_CHECK +# ----------- +# Wrapper around AT_CHECK that outputs the command first, with +# parameters expanded. +m4_define([LT_AT_CHECK], +[echo "LT_ESCAPE([$1])"; AT_CHECK($@)]) + + +# LT_AT_CHECK_CONFIG (CONFIGURE-ARGS, [GREP-EXPRESSION], ...) +# ----------------------------------------------------------- +# Bootstrap and configure the project, and check each GREP-EXPRESSION +# works on the resulting libtool script. +m4_define([LT_AT_CHECK_CONFIG], +[LT_AT_BOOTSTRAP([], [-I m4], [], [--add-missing], [], [$1], [ignore]) +m4_if([$#], 0, [], + [$#], 1, [], [$0_(m4_shift($@))]) +]) +m4_define([LT_AT_CHECK_CONFIG_], +[AT_CHECK([$EGREP '$1' libtool], 0, [ignore]) + m4_if([$#], 1, [], [$0(m4_shift($@))]) +]) + + +# LT_AT_CHECK_EXECUTE([TARGETS], [PROGRAM], ...) +# ---------------------------------------------- +# Run the listed make rules, and check that the following PROGRAMs work. +m4_define([LT_AT_CHECK_EXECUTE], +[LT_AT_MAKE([$1]) +m4_if([$#], 0, [], + [$#], 1, [], [$0_(m4_shift($@))]) +]) +m4_define([LT_AT_CHECK_EXECUTE_], +[LT_AT_EXEC_CHECK([$1], 0, [expout]) +m4_if([$#], 1, [], [$0(m4_shift($@))]) +]) + + +# LT_AT_CHECK_UNINSTALL +# --------------------- +# Make sure uninstallation is complete. +m4_define([LT_AT_CHECK_UNINSTALL], +[LT_AT_MAKE([uninstall]) + +leftovers=`find $prefix ! -type d ! -name '.*' -print` +AT_CHECK([test -z "$leftovers"]) +]) + + +# LT_AT_HOST_DATA(FILE, CONTENTS) +# ------------------------------- +# Ensure correct line ending for expected output of host executables. +m4_define([LT_AT_HOST_DATA], +[AT_DATA([$1], [$2]) +case $host_os in mingw*) + awk '{printf ("%s\r\n", [$]0);}' < $1 > $1.t && mv -f $1.t $1 ;; +esac]) + + +# LT_AT_UNIFY_NL(FILE, [RESULT-FILE]) +# ----------------------------------- +# Ensure (text) FILE has predictable line endings. +# If RESULT-FILE is given, FILE is left untouched. If not, convert in-place. +m4_define([LT_AT_UNIFY_NL], +[case $host_os in + mingw*) + tr -d '\015' < $1 > m4_ifval([$2], [$2], [$1.t + mv -f $1.t $1]) ;; m4_ifval([$2], [ + *) + cp $1 $2 ;;]) +esac]) + + +# LT_AT_NORMALIZE_COMPILER_OUTPUT(FILE, [RESULT-FILE]) +# ---------------------------------------------------- +# Normalize differences in compiler output stemming from, e.g., +# - distcc process numbers, +# - ccache file location, +# - newline encoding, +# - location of the libtool script, +# - error messages involving unstable temporary file names. +m4_define([LT_AT_NORMALIZE_COMPILER_OUTPUT], +[_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` +[$SED "/^distcc\[[0-9]*\]/d + /^$_ltbase: compile/d + s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < $1 > $1.t] +LT_AT_UNIFY_NL([$1.t], [m4_default([$2], [$1])])[]dnl +]) + + +# LT_AT_EXEC_CHECK(EXECUTABLE, [STATUS = 0], [STDOUT], [STDERR], +# [ARGS-OR-STATUS-ADJUST]) +# -------------------------------------------------------------- +# Run EXECUTABLE ARGS-OR-STATUS-ADJUST. STATUS, STDOUT, and STDERR are +# handled as in AT_CHECK. +# However, if we are cross-compiling, then SKIP instead of FAIL. +# ARGS-OR-STATUS-ADJUST can also contain code like '|| (exit 1)' +# to unify different possible exit status values. +m4_define([LT_AT_EXEC_CHECK], +[lt_exe=$1; if test -f "$1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +AT_CHECK([if "$lt_exe" $5; then :; else lt_status=$?; ]dnl + [ m4_ifval([$2], [test "$lt_status" != $2 && ])]dnl + [ test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; ]dnl + [ exit $lt_status; fi],[$2],[$3],[$4]) +]) + + +# LT_AT_NOINST_EXEC_CHECK(EXECUTABLE, [NOINST-MODULES], +# [STATUS = 0], [STDOUT], [STDERR], +# [ARGS-OR-STATUS-ADJUST]) +# --------------------------------------------------------- +# Run EXECUTABLE ARGS-OR-STATUS-ADJUST using 'libtool --mode=execute' +# with '-dlopen' arguments in NOINST_MODULES. STATUS, STDOUT, and +# STDERR are handled as in AT_CHECK. +# However, if we are cross-compiling, then SKIP instead of FAIL. +# ARGS-OR-STATUS-ADJUST can also contain code like '|| (exit 1)' +# to unify different possible exit status values. +m4_define([LT_AT_NOINST_EXEC_CHECK], +[lt_exe=$1; if test -f "$1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi +AT_CHECK([if $LIBTOOL --mode=execute $2 "$lt_exe" $6; then :; else lt_status=$?; ]dnl + [ m4_ifval([$3], [test "$lt_status" != $3 && ])]dnl + [ test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; ]dnl + [ exit $lt_status; fi],[$3],[$4],[$5]) +]) + + +# LT_AT_TAG(TAG) +# -------------- +# Declare that the language TAG will be used in this test. +# Skips the test if the compiler is apparently not functional. +m4_define([LT_AT_TAG], +[AT_KEYWORDS([$1]) +AT_CHECK([{ test -n "[$]$1" && test "X[$]$1" != Xno; } || (exit 77)]) +m4_case([$1], + [CXX], + [AT_CHECK([test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77)])], + [FC], + [# Autoconf will accept f77 or similar as a valid FC, but often f77 + # will not compile fortran90 code; in that case skip the FC checks. + AT_DATA([fc_test.f90], +[[ program main + + end +]]) + AT_CHECK([$FC $FCFLAGS fc_test.f90 || exit 77], [], [ignore], [ignore])], + [GCJ], + [# There are just too many broken gcj installations out there, either missing + # libgcj.spec or unable to find it. Skip the test for them. + AT_DATA([gcj_test.java], +[[public class gcj_test { + public static void main(String[] argv) { } + } +]]) + AT_CHECK([$GCJ $GCJFLAGS -c gcj_test.java || exit 77], + [], [ignore], [ignore])]) +]) + + +# LT_AT_EXEC_TAG([TAG]) +# --------------------- +# Declare that the language TAG will be used and compiled programs may be run. +# Skips the test if the compiler is apparently not functional. +m4_define([LT_AT_EXEC_TAG], +[LT_AT_TAG([$1]) +m4_case([$1], + [GCJ], + [AT_CHECK([$GCJ $GCJFLAGS --main=gcj_test -o gcj_test$EXEEXT gcj_test.java ]dnl + [|| exit 77], [], [ignore], [ignore]) + AT_CHECK([./gcj_test$EXEEXT || exit 77], [], [ignore], [ignore])]) +]) + + +# LT_AT_MVDIR(SRC, DEST) +# ---------------------- +# Move contents of a directory recursively. +# Avoid 'mv DIR ...' due to issues with non-deletable shared libraries +# on AIX on NFS mounts. We cannot use slibclean as non-superuser. +m4_define([LT_AT_MVDIR], +[$mkdir_p $2 +(cd $1 && find . -type d) | (cd $2 && xargs $mkdir_p) +for file in `cd $1 && find . -type f -print -o -type l -print` +do + mv $1/$file $2/$file +done +rm -rf $1 +]) + +## ------------------------------- ## +## Files for a small ltdl project. ## +## ------------------------------- ## + +# _LTDL_PROJECT_FILES([LTDL-DIR]) +# ------------------------------- +# LTDL-DIR is needed to generate a correct Makefile. If the argument +# is omitted, then no Makefile is created. +m4_define([_LTDL_PROJECT_FILES], +[AT_DATA([module.c], +[[#ifdef __cplusplus +extern "C" +#endif +const char * +hello (void) +{ + return "Hello!"; +} +]]) + +AT_DATA([main.c], +[[#include +#include "ltdl.h" + +int +main () +{ + lt_dlhandle module; + const char *(*func) (void) = 0; + int status = 1; + + LTDL_SET_PRELOADED_SYMBOLS(); + if (lt_dlinit() != 0) { + fprintf (stderr, "error during initialisation: %s\n", lt_dlerror()); + return 1; + } + + module = lt_dlopen("./module.la"); + if (!module) { + fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror()); + goto finish; + } + + func = (const char *(*)(void)) lt_dlsym (module, "hello"); + if (!func) { + fprintf (stderr, "error fetching func: %s\n", lt_dlerror()); + goto finish; + } + + printf ("%s\n", (*func) ()); + status = 0; + +finish: + if (lt_dlexit() != 0) { + fprintf (stderr, "error during finalisation: %s\n", lt_dlerror()); + status = 1; + } + + return status; +} +]]) + +m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$])) +m4_ifval([$1], +[AT_DATA([Makefile], +[[top_builddir = . +LIBTOOL = ./]_ARG_DIR[/libtool +INCLUDES = -I./]_ARG_DIR[ +MODFLAGS = -module -avoid-version -no-undefined + +LTCOMPILE = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile \ + $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +LTLINK = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=link \ + $(CC) $(CFLAGS) $(LDFLAGS) + +TARGETS = ]_ARG_DIR[/libltdlc.la module.la ltdldemo$(EXEEXT) + +all: $(TARGETS) + +]_ARG_DIR[/libltdlc.la: $(LIBTOOL) ]_ARG_DIR[/Makefile + MAKE='$(MAKE)'; test -n "$$MAKE" || MAKE=make; \ + cd ]_ARG_DIR[ && $$MAKE CC="$(CC)" LIBTOOLFLAGS="$(LIBTOOLFLAGS)" \ + CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ + CONFIGURE_OPTIONS="$(CONFIGURE_OPTIONS)" + +$(LIBTOOL): ]_ARG_DIR[/Makefile + +]_ARG_DIR[/Makefile: + cd ]_ARG_DIR[ && CONFIG_SHELL="$(SHELL)" $(SHELL) ./configure $(CONFIGURE_OPTIONS) + +ltdldemo$(EXEEXT): $(LIBTOOL) module.la ]_ARG_DIR[/libltdlc.la main.lo + $(LTLINK) -o ltdldemo$(EXEEXT) main.lo -dlopen module.la ./]_ARG_DIR[/libltdlc.la + +main.lo: $(LIBTOOL) main.c + $(LTCOMPILE) -c main.c + +module.la: $(LIBTOOL) module.lo + $(LTLINK) -o module.la module.lo $(MODFLAGS) -rpath /dev/null + +module.lo: $(LIBTOOL) module.c + $(LTCOMPILE) -c module.c +]]) +cat >> Makefile < - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/BUILD/libtool-2.4.7/ChangeLog b/BUILD/libtool-2.4.7/ChangeLog deleted file mode 100644 index acb6380..0000000 --- a/BUILD/libtool-2.4.7/ChangeLog +++ /dev/null @@ -1,31847 +0,0 @@ -2022-03-17 Alex Ameen - - version 2.4.7 - - * NEWS: Record release date. - -2022-03-07 Alex Ameen - - NEWS: roll-back manually filled NEWS versioning - - * NEWS: 'make release-commit' wants to automatically enter this information, - so the original template must be restored. - -2022-03-06 Alex Ameen - - NEWS: fill entries for past commits - - * NEWS: summarize past commits since previous release for NEWS file - -2022-02-09 Alex Ameen - - libltdl: bump libltdl.la version-info. - - * libltdl/ltdl.mk: increment revision number to reflect minor changes - and bug-fixes. - -2022-02-08 Alex Ameen - - libtool: correct linter syntax complaints in M4 - - * m4/libtool.m4: remove unnecessary braces on variable derefence. - * m4/ltargz.m4: change quote style for inline comment. - -2022-02-08 Alex Ameen - - gnulib: update submodule to new repository. - - * configure.ac: Update autoconf requirement for bootstrapping to 2.64. - * README.md: Update note concerning autoconf version requirement. - * bootstrap: Propogate change to GPL license from GPL 3 to GPL 2. - -2022-02-08 Alex Ameen - - maint: update copyrights across project. - -2022-02-05 Stacey Marshall (tiny change) - - libtool: Do not pass '-pthread' to Solaris linker. - - * build-aux/ltmain.in: Do not add -pthread to inherited linker flags on - Solaris systems. - -2021-12-24 Alex Ameen - - docs: manually recording dependencies in Automake - - * doc/libtool.texi (Using Automake): provide example of how to manually record - 'BUILT_SOURCES' dependencies for libtool archives. - -2021-12-05 Alex Ameen - - tests: remove deprecated old-ltdl-iface.at test. - - * tests/old-ltdl-iface.at: remove test as instructed by inline comments, which - indicate that this test should have been deleted in 2013. - This test fails because it relies on legacy usage of 'include Makefile.inc' - by libltdl which is no longer supported. - -2021-11-30 Alex Ameen - - * libtool: Bump M4 serial versions and add missing AC_PROG_SED to ltdl.m4 - - * m4/libtool.m4: bump serial version ( covers entire release ). - * m4/ltargz.m4: bump serial version ( covers entire release ). - Add AC_PROG_SED requirement to LT_FUNC_ARGZ. - * m4/ltdl.m4: bump serial version ( covers entire release ). - -2021-11-30 Václav Haisman (tiny change) - Alex Ameen - - libtool: replace raw invocations of sed with $SED - - * build-aux/ltmain.in: replace raw invocations of sed with $SED - * m4/libtool.m4: replace raw invocations of sed with $SED - * m4/ltargz.m4: replace raw invocations of sed with $SED - * m4/ltdl.m4: replace raw invocations of sed with $SED - -2021-11-30 Lucas Holt (tiny change) - - libtool: add support for MidnightBSD - - * build-aux/ltmain.in: clone link-mode handling for MidnightBSD from FreeBSD - * m4/libtool.m4: clone various TAGVARs for MidnightBSD from FreeBSD - * m4/ltdl.m4: clone dlopen handling for MidnightBSD from FreeBSD - -2021-11-22 Ryan Schmidt (tiny change) - - libtool: powerpc 10.5 detection without a deployment target - - * m4/libtool.m4: properly set "allow undefined" flag for darwin powerpc 10.5 - even if deployment target is unset - -2021-11-22 Jeremy Huddleston Sequoia (tiny change) - - libtool: support macOS 11 - - Fixes bug#44605 - - * m4/libtool.m4: '_LT_REQUIRED_DARWIN_CHECKS' sets proper "allow undefined" flag - for particular macOS versions and powerpc. - -2021-11-22 Vincent Lefevre (tiny change) - - libtool: correct m4 quoting in sed expression - - * m4/libtool.m4: properly escape character set in sed expression - -2021-11-20 Alex Ameen - - libtool: replace some references to /usr/bin/file and /bin/sh - - * build-aux/ltmain.sh: use '/usr/bin/env sh' in shebang - * libtoolize.in: use '/usr/bin/env sh' in shebang - * m4/libtool.m4: 'FILECMD' to replace use of '/usr/bin/file' - -2021-11-19 aakropotkin - - libtool: Add -Wa,* link-mode flag for assembler pass-thru - - * build-aux/ltmain.in: add -Wa,* as link-mode flag. - Add help messages for -Wa,* and -Xassember in link mode. - Add help message for -Xcompiler in compile mode. - * doc/libtool.texi: document -Xassembler and -Wa,* for link-mode. - -2021-11-19 Alex Potapenko (tiny change) - - libtool: Pass -Xassembler flag and arguments to compiler - - * build-aux/ltmain.in: Add parsing and pass-thru for -Xassembler - -2021-11-16 Pavel Raiskup - - maint: update Bootstrap git module - - Fixes bug#47000. - - * bootstrap: Regenerated. - * gl-mod/bootstrap: Updated to the latest HEAD. - -2021-11-15 aakropotkin - - maint: update copyrights across project. - - * AUTHORS: Correct manually modified copyright to be consistent with - other files. - -2021-11-15 aakropotkin - - maint: update AUTHORS, copyright date. - - * AUTHORS: Add Alex Ameen as maintainer. Move past authors to 'previous' list. - -2019-03-22 Pavel Raiskup - - bootstrap: use $gnulib_clone_since - - * bootstrap.conf: Add $gnulib_clone_since. - * gl-mod/bootstrap: Update to the latest git hash. - * bootstrap: Regenerate. - -2019-03-13 Pavel Raiskup - - maint: update bootstrap, gnulib, copyright dates - - * gnulib: Update to the latest git version. - * gl-mod/bootstrap: Likewise. - * bootstrap: Regenerate. - -2018-07-24 Pavel Raiskup - - maint: update bootstrap, gnulib, copyright dates - - * gnulib: Update to the latest git version. - * gl-mod/bootstrap: Likewise. - * bootstrap: Regenerate. - * gl/top/README-release.diff: Update the patch for the latest - changes in gnulib's README-release. - -2018-07-12 Alexander Shevchenko (tiny change) - - libtool: add icl.exe support - - A logical continuation of Automake commit - c40e27e1c2a60f58e72e65d73d808f782d55494a to provide - Windows ICC support similar as already done for MSVC. - - Resolves bug 26484. - - * m4/libtool.m4: Treat icl.exe equivalently to cl.exe. - -2017-05-05 Pavel Raiskup - - docs: typo in 'win32-dll' description - - Resolves bug 26516. Thanks to Reuben Thomas. - - * doc/libtool.texi (Configuring libtool): s/macro/option/ in - 'win32-dll' option description. - -2017-04-25 Pavel Raiskup - - libtool: quote 'cd' command in shipped relink_command - - Per report from Eric Blake: - https://lists.gnu.org/archive/html/bug-libtool/2015-10/msg00009.html - - * build-aux/ltmain.in (func_mode_link): Quote 'cd `pwd`' properly - before generating the $relink_command. Do that for the potential - scenarios where the pwd could contain spaces or special shell - characters. - -2017-04-25 Pavel Raiskup - - doc: fix typos in --mode=install invocations - - Per report from devel@lists.fedoraproject.org, thread id - CLHZMVL3CZ43KX7CD3PF3FDV255EA57O - - * doc/libtool.texi (Install mode): With the - 'libtool --mode=install' wrapper the 'install' command needs to be - specified. - -2017-04-21 Bert Wesarg (tiny change) - - libtool: exit verbosely for fatal configure problems - - Instead of calling not-existing function and processing subsequent - shell code. - - * build-aux/ltmain.in (func_fatal_configuration): Fix typo in - func_fatal_error call. - -2017-04-21 Pavel Raiskup - - maint: update copyright years - - Also sync gnulib & bootstrap git submodules. - - * gnulib, gl-mod/bootstrap: Move to latest git versions. - * bootstrap: Regenerate. - * all files: Bump years by 'make update-copyright'. - -2017-01-16 Pavel Raiskup - - libltdl: handle ENOMEM in lt_dlloader_remove() - - Reported by Alexander Hass. - - * libltdl/lt_dlloader.c (lt_dlloader_remove): Detect NULL return - value from lt_dlinterface_register. - -2016-03-09 Pavel Raiskup - - bootstrap: use the upstream repo as git module - - .. instead of copying it all the time; gnulib-tool and bootstrap - are now ready to do this correctly. - - Bootstrap upstream is now dual-licensed as MIT/GPLv2+; so the - sources are redistributed automatically under GPLv3+ license in - in libtool project. - - * .gitmodules (bootstrap): New submodule. - * bootstrap.conf (local_gl_dir): Renamed to local_gl_path. - (local_gl_path): Renamed from local_gl_dir. Two sub-directories - are now mentioned as two --local-dir's are used. - (gnulib_git_submodules): New option to automatically clone the - bootstrap git submodule. - * build-aux/ltmain.in (libtool_options_prep) - (libtool_parse_options): Changing function exit status is not - needed with new options-parser. - * libtoolize.in: Don't func_quote when it is not necessary, don't - set the function return value. - * gl-mod/bootstrap: New git submodule. - * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, - gl/build-aux/funclib.sh, gl/build-aux/inline-source, - gl/build-aux/options-parser, gl/doc/bootstrap.texi, - gl/modules/all-shells-tests, gl/modules/bootstrap, - gl/modules/extract-trace, gl/modules/funclib.sh, - gl/modules/funclib.sh-tests, gl/modules/inline-source - gl/modules/options-parser, gl/modules/options-parser-tests, - gl/tests/test-all-shells.sh, gl/tests/test-funclib-quote.sh - gl/tests/test-option-parser-helper, - gl/tests/test-option-parser.sh: Files removed, those are - automatically pulled from upstream now. - * bootstrap: Sync with upstream. - -2016-02-25 KO Myung-Hun - - libtool: set file_list_spec to '@' on OS/2 - - Creating and linking reloadable objects sometimes fail. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) : - Set file_list_spec to '@'. - -2016-02-19 Pavel Raiskup - - tests: fix $objdir hardcoding check with CFLAGS=-g3 - - At least with gcc, specifying -g3 in CFLAGS ends up with macros - expanded including LT_OBJDIR macro. This fooled the testsuite. - - * tests/demo.at (Demo hardcode): Filter out the expanded LT_OBJDIR - macro. - -2016-02-19 Mike Frysinger (tiny change) - - libtool: pass through -fuse-ld flags - - Starting with gcc-4.8, there's a -fuse-ld flag that can be used to - select between bfd & gold. Make sure we pass it through to the - linking stage. - - * build-aux/ltmain.in (func_mode_link): Pass -fuse-ld=* flags - through. - -2016-02-19 Pavel Raiskup - - m4/libtool.m4: FreeBSD elftoolchain strip support - - References: - http://savannah.gnu.org/patch/?8675 - Message-Id: <20150523-002056.sv85487.59958@savannah.gnu.org> - - * m4/libtool.m4 (_LT_CMD_STRIPLIB): Remove the redundant tests for - empty $old_striplib and $striplib. Move the test for empty $STRIP - variable up. Allow elftoolchain strip (with the same arguments we - used to have with GNU strip) on FreeBSD. - -2016-02-19 Mike Frysinger (tiny change) - - libtoolize: exec automake and autoconf only with --help - - Same fix as applied to libtool in commit 408cfb9c5fa8a666917 - to delay use of automake/autoconf to when the --help option is - actually specified. - - * libtoolize.in (func_help): Override func_help() from - gl/build-aux/options-parser to only run automake --version and - autoconf --version when libtool --help is executed on the command - line. - -2016-02-17 Pavel Raiskup - - edit-readme-alpha: generate the "stable" README properly - - Fixes bug#20196. Reported by Peter Johansson and KO Myung-Hun - - * build-aux/edit-readme-alpha: Invert the order of checks - and exit sooner if the file was already edited. Also fix the - typo 's/sed -n/sed/' (to print the rest of the file). - * Makefile.am ($(readme)): Double-quote the `cmd` to let test -n - work correctly. - -2016-02-17 Pavel Raiskup - - maint: fix for 'make sc_immutable_NEWS' hints - - * NEWS: Remove the leading white-spaces before Copyright line - because it breaks the perl regexp in sc_immutable_NEWS rule. - * cfg.mk (old_NEWS_hash): Adjust to correct previous hash as the - old NEWS entries were not actually touched. - -2016-02-15 Pavel Raiskup - - maint: update copyright years - - Also update gnulib submodule as it contains updated copyright - years too. - - * gnulib: Latest greatest git hash. - * all files: Run 'make update-copyright'. - -2016-02-12 Pavel Raiskup - - libltdl: handle ENOMEM sooner - - Fixes bug#19890. Reported by Tobias Stoeckmann. - - * libltdl/loaders/dld_link.c (vm_open): Do not even try dld_link() - in case of ENOMEM. - -2016-02-03 Pavel Raiskup - - gl: minor typo fixes - - * gl/build-aux/options-parser (func_run_hooks): - s/funcions.n./functions./, s/$@/${1+"$@"}/. - * gl/modules/funclib.sh: Sync license metadata with real module - code. - * bootstrap: Sync with funclib.sh - -2016-02-03 Pavel Raiskup - - gl-tests: dash && option-parser test fix - - Rico pointed out that the testsuite failed on his system (dash - represented /bin/sh). Turns out that 'shift' in dash exits shell - with exit status 2 when there are no items in the array. - - The other issue was that 'test-option-parser.sh' did not - re-executed the test in proper shell, but in /bin/sh. - - * gl/tests/test-option-parser-helper (test_parse_eat_test): Don't - shift for empty $@. - * gl/tests/test-option-parser.sh: Use $__GL_ALL_SHELLS_SHELL as - shell which runs the helper. - -2015-11-30 Jeremy Huddleston Sequoia (tiny change) - - libtool: fix GCC/clang linking with -fsanitize=* - - References: - https://lists.gnu.org/archive/html/libtool/2014-04/msg00026.html - - * build-aux/ltmain.in (func_mode_link): Pass -fsanitize=* to the - linker to allow trivial use of the clang address sanitizer. - -2015-11-30 Pavel Raiskup - - gl-tests: make the failure more readable - - * gl/tests/test-funclib-quote.sh (_compare_or_error): Put $1 into - error output, not having it like that was my mistake. - -2015-11-25 David Edelsohn - - m4/libtool.m4: export AIX TLS symbols - - TLS symbols in AIX display a new, different symbol type in nm output. - Libtool explicitly creates a list of exported symbols for AIX shared - libraries using nm and does not recognize the new TLS symbols, so - those symbols are not exported in AIX shared libraries. - - This is a regression for TLS support on AIX where TLS symbols or GCC - "emultls" symbols were listed as global data and exported. - - This patch updates libtool.m4 export_symbols_cmds for AIX in two - locations so that global symbols labeled with "L" for TLS are included - in the export list. - - * m4/libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols. - Message-Id: - -2015-11-04 Pavel Raiskup - - gl/tests: new tests for options-parser - - * gl/build-aux/options-parser (func_parse_options): Put the info - message 'enabling shell trace mode' on stderr. - * gl/modules/options-parser-tests: New test module. - * gl/tests/test-option-parser.sh: New test-case. - * gl/tests/test-option-parser-helper: New test-case helper. - * bootstrap: Sync with option-parser. - -2015-11-04 Pavel Raiskup - - gl/funclib.sh: func_quotefast_eval & tilde fix - - Testsuite detected that printf built-in in Bash up to 4.2 was not - able to properly escape tilde. - - * gl/build-aux/funclib.sh (func_quote_for_eval): If printf - supports -v option, test also whether we properly escape tilde. - With Bash <= 4.2, call func_quote_portable with ~* strings. - * bootstrap: Sync with funclib.sh. - -2015-11-04 Pavel Raiskup - - syntax-check: fix sed syntax errors - - Multi-line single-quoted shell arguments defined within makefile - rules end up having the trailing backslash. This caused problem - in some sc_* rules as GNU sed does not interpret trailing - backslash the same way as SHELL (== appending next line). - Switching to double quotes means that SHELL will remove the - trailing backslash for subsequent sed call. This silences a lot - of GNU sed warnings seen before like: - - sed: -e expression #1, char 96: unterminated address regex - - * cfg.mk (sc_libtool_m4_cc_basename): Use $(SED) instead of sed, - use double quotes for sed's multi-line argument. - (sc_prohibit_set_dummy_without_shift): Likewise. - (sc_prohibit_test_const_follows_var): Likewise. - -2015-11-03 Pavel Raiskup - - gl/tests: new tests for func_quote* family - - * gl/modules/funclib.sh-tests: New test module. - * gl/modules/all-shells-tests: New test (helper) module. - * gl/tests/test-funclib-quote.sh: New test case. - * gl/tests/test-all-shells.sh: New gl test helper. - * cfg.mk (sc_useless_braces_in_variable_derefs): Whitelist - new test-funclib-quote.sh as the pattern is used there - intentionally. - (sc_space_tab): Likewise. - (sc_useless_braces_in_variable_derefs): Remove /cvsu pattern as - the file is not used with git. - (sc_prohibit_command_in_subst): New checker. - -2015-11-03 Pavel Raiskup - - check: enable gnulib's testsuite - - * Makefile.am (SUBDIRS): Add gnulib-tests. - (EXTRA_DIST): Distribute also update-copyright script. This does - not happen automatically because we manually remove ./lib - directory created by gnulib-tool. Not having the file distributed - causes 'make check' failure, however. - (dotversion): Fix to point to $(top_srcdir). - * bootstrap.conf (gnulib_tool_options): Add gnulib-tool args - needed to successfully install gnulib's tests. - * configure.ac (CONFIG_STATUS_DEPENDENCIES): Look for .version in - $(top_srcdir). - * gnulib: Sync with upstream. - * build-aux/.gitignore: Ignore ar-lib coming from automake. - -2015-10-12 Pavel Raiskup - - funclib: refactor quoting methods a bit - - From now we have two basic functions to perform string quoting for - shell evaluation -- 'func_quote_arg' to quote one argument and - 'func_quote' which takes list of arguments to be quoted. - - New function name-scheme should be more descriptive (previously we - called func_quote_for_eval with one argument and also multiple - arguments, while we had confusing - $func_quote_for_eval_unquoted_result which is redundant for - multiple-arguments call). - - New abstraction allowed us (in an easy way) to implement - bash-specific optimization for quoting (using - 'printf -v VARNAME %q "$value"', suggested by Eric Blake), this - construct may be used on those places where we don't care much - about the result aesthetics (its thus not useful for '*.la' - generation or for error printing). - - * gl/build-aux/funclib.sh (func_append_quoted): Use - func_quote_arg internally (kept in 'pretty' mode for now). - (func_quote): Made to be "main" high-level quoting method taking - list of arguments to be quoted into single command. It replaces - func_quote_for_{expand,eval}. - (func_quote_portable): Implements quoting in shell, falling back - to portable sed call (rare cases). - (func_quotefast_eval): New internal function using fast - bash-specific construct, falling back to func_quote_portable for - non-Bash scripts. - (func_quote_arg): New function to quote one argument. - (func_quote_for_eval): Removed. All callers changed to call - func_quote. - (func_quote_for_expand): Likewise. - * bootstrap: Sync with funclib.sh and options-parser. - -2015-10-12 Pavel Raiskup - - libtool: optimizing options-parser hooks - - Its not necessary to (re)func_quote_for_eval in each function in - the hook hierarchy. Usually it is enough if the leaf function - does func_quote_for_eval and its caller just re-uses the - _return variable. - - This is follow up for the previous commit. - - * gl/build-aux/options-parser (func_run_hooks): Propagate - $EXIT_SUCCESS return code down to caller if *any* hook succeeded. - Never re-quote the result -- either the arguments are left - untouched, or the options have already been properly quoted by - succeeding hooks. - (func_parse_options): Quote '$@' and return $EXIT_SUCCESS only if - we changed something. - (func_validate_options): Likewise. - (func_options_prep): Likewise. - (func_options_finish): New hook-caller for 'func_options' hooks. - (func_options): Propagate return value down to top-level caller, - but pay attention we have always set $func_options_result. - * build-aux/ltmain.in (libtool_options_prep): Quote '$@' and - return $EXIT_SUCCESS only if we changed something. - (libtool_parse_options): Likewise. - * bootstrap: Sync gl/build-aux/with option-parser. - -2015-10-12 Pavel Raiskup - - libtool: mitigate the $sed_quote_subst slowdown - - When it is reasonably possible, use shell implementation for - quoting. - - References: - http://lists.gnu.org/archive/html/libtool/2015-03/msg00005.html - http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20006 - - * gl/build-aux/funclib.sh (func_quote): New function that can be - used as substitution for '$SED $sed_quote_subst' call. - * build-aux/ltmain.in (func_emit_wrapper): Use func_quote instead - of '$SED $sed_quote_subst'. - (func_mode_link): Likewise. - * NEWS: Document. - * bootstrap: Sync with funclib.sh. - -2015-09-29 Pavel Raiskup - - gnulib: sync with upstream - - With gnulib commit f8fe25fab60e3, AM_PROG_AR is called - automatically from GL_EARLY macro, which brings its definition - into aclocal.m4. Sufficiently new enough AM_PROG_AR uses guarding - AC_BEFORE([AM_PROG_AR], [LT_INIT]) call. - - Existence of 'LT_INIT' string inside aclocal.m4 however broke - bootstrap's self-defensive libtool_check_for_bogus_macros - function. - - * build-aux/no-bogus-m4-defines: New aux helper using m4 for - aclocal.m4 pre-processing. As this is only bootstrap/dist time - assertion, we don't have to be too much careful (and the AC_BEFORE - pushdef is OK for now). - * boostrap.conf (libtool_check_for_bogus_macros): Use - no-bogus-m4-defines helper to detect bogus macros. - * Makefile.am: Likewise. - * gnulib: Sync with upstream. - * build-aux/git-log-fix: Fix typo. - * gl/build-aux/extract-trace: Fix the script timestamp. - * bootstrap: Sync with extract-trace. - -2015-09-26 Pavel Raiskup - - maint: relax 'sc_prohibit_test_dollar' check - - * cfg.mk (sc_prohibit_test_dollar): White-list the - 'test ${VAR+y}' construct because that is autoconf-suggested - portable way to check for unset variable. - -2015-09-26 Pavel Raiskup - - ARFLAGS: use 'cr' instead of 'cru' by default - - In some GNU/Linux distributions people started to compile 'ar' - binary with --enable-deterministic-archives (binutils project). - That, however, in combination with our previous long time working - default AR_FLAGS=cru causes warnings on such installations: - ar: `u' modifier ignored since `D' is the default (see `U') - - The 'u' option (at least with GNU binutils) did small optimization - during repeated builds because it instructed 'ar' to not - open/close unchanged *.o files and to rather read their contents - from old archive file. However, its removal should not cause a - big performance hit for usual workflows. - - Distributions started using --enable-deterministic-archives - knowing that it would disable the 'u', just to rather have a bit - more deterministic builds. - - Also, to justify this change a bit more, keeping 'u' in ARFLAGS - could only result in many per-project changes to override - Libtool's ARFLAGS default, just to silent such warnings. - - Fixes bug#19967. Reported by Eric Blake. - - * m4/libtool.m4 (_LT_PROG_AR): Default AR_FLAGS to 'cr'. - (_LT_REQUIRED_DARWIN_CHECKS): Use $AR_FLAGS instead 'cru' string. - * doc/libtool.texi: Do 's/ar cru/ar cr/' in whole documentation. - * NEWS: Document. - -2015-09-26 Pavel Raiskup - - libool.m4: add ARFLAGS variable - - Libtool has used $AR_FLAGS since 2000-05-29 commit - 8300de4c54e6f04f0d, Automake ARFLAGS since 2003-04-06 commit - a71b3490639831ca. Even though ARFLAGS is younger, it sounds like - better name according GNU Coding Standards. - - Related to bug#20082. - - * m4/libtool.m4 (_LT_PROG_AR): Copy ARFLAGS value into AR_FLAGS - variable if AR_FLAGS is not set. Add new _LT_DECL'ed variable - 'lt_ar_flags' to keep the configure-time value of AR_FLAGS. The - new 'lt_ar_flags' is to be used as the default value for AR_FLAGS - at libtool-runtime. - * NEWS: Document. - -2015-09-25 Pavel Raiskup - - maint: put newline after 'Subject' in ChangeLog - - * Makefile.am ($(changelog)): Use --format='%s%n%n%b%n'. - -2015-09-25 Pavel Raiskup - - gnulib: sync with upstream - - Blacklisting of duplicated ChangeLog entries is now much easier - with new gitlog-to-changelog's option --ignore-matching -- so - patching the script is not necessary. - - * Makefile.am ($(changelog)): Start ignoring entries having the - 'Omit-from-ChangeLog.' "topic" line. Use TZ=UTC to generate the - same ChangeLog regardless of the actual time-zone. - * build-aux/git-log-fix: Put the "blacklist" mark at the beginning - of each commit as that is requirement for --ignore-matching. - * gl/build-aux/gitlog-to-changelog.diff: Removed. - * gnulib: Sync with upstream. - -2015-09-24 Pavel Raiskup - - libtoolize: fix infinite recursion in m4 - - Some projects use this construct in configure.ac: - - m4_define([version], m4_include([version])) - pkg_version=version - - When the m4_include builtin is undefined (as was done in - libtoolize and extract-trace scripts), the call to this 'version' - macro enters an infinite recursion (until ENOMEM). So rather - re-define all potentially dangerous macros by empty strings, - suggested by Eric Blake. - - While we are on it, merge the macro-"blacklist" with similar list - implemented in gettext, except for 'm4_esyscmd'. It's kept - defined because we already trace AC_INIT macro for package - version, while it is often specified by - m4_esyscmd(git-version-gen). Similarly to m4_include, m4_esyscmd - might be opt-in-blacklisted in future. - - References: - http://lists.gnu.org/archive/html/libtool/2015-09/msg00000.html - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764580 - - * gl/build-aux/extract-trace (_G_mini): Redefine trace-breaking - macros to empty strings rather than undefining those. Use 'dnl' - for comments. - * bootstrap: Likewise, sync with extract-trace. - * NEWS: Document. - * NO-THANKS: Mention Hiroyuki Sato. - -2015-09-24 Pavel Raiskup - - bootstrap: fix race in temporary Makefile - - Target 'bootstrap-deps' sometimes rebuilt $(bootstrap_files) - a bit earlier than the cleanup target 'bootstrap-deps-prep' was - invoked. As a result, some of $(bootstrap_files) were missing. - - * Makefile.am (bootstrap-deps): Rebuild $(bootstrap_files) after - bootstrap-deps-prep dependency. - -2015-09-18 Pavel Raiskup - - libtool: fix GCC linking with -specs=* - - References: - https://bugzilla.redhat.com/show_bug.cgi?id=985592 - - * build-aux/ltmain.in (func_mode_link): Pass -specs=* - to the linker, Fedora uses this option for hardening. - -2015-02-15 Gary V. Vaughan - - maint: demote myself from maintainer to former maintainer. - - * AUTHORS: Move myself from the list of maintainers, into the - list of prior authors. - -2015-02-15 Gary V. Vaughan - - maint: post-release administrivia - - * NEWS: Add header line for next release. - * .prev-version: Record previous version. - * cfg.mk (old_NEWS_hash): Auto-update. - -2015-02-15 Gary V. Vaughan - - version 2.4.6 - - * NEWS: Record release date. - -2015-02-06 Gary V. Vaughan - - libtool: don't execute automake and autoconf on every invocation. - - Regression from 2.4.2 was causing noticable slow-down in builds - that call libtool many times. - * build-aux/ltmain.in (func_help): Override func_help() from - gl/build-aux/options-parser to only run automake --version and - autoconf --version when libtool --help is executed on the command - line. - * NO-THANKS: Add Robert Yang. - Reported by Robert Yang - -2015-01-20 Gary V. Vaughan - - maint: undo copyright years regression. - - * gl/build-aux/options-parser: Undo copyright years regression. - * bootstrap: Regenerate. - -2015-01-20 Gary V. Vaughan - - bootstrap: sync with upstream. - - * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, - gl/build-aux/funclib.sh, gl/build-aux/options-parser: Sync with - upstream. - * bootstrap: Regenerate. - -2015-01-20 Pavel Raiskup - - libtool: respect config.site LT_SYS_LIBRARY_PATH - - Libtool generator code needs to remember the configure time - LT_SYS_LIBRARY_PATH content to allow config.status properly - instantiate default LT_SYS_LIBRARY_PATH libtool run-time value; - Thats because config.status has no idea what the contents of - config.site file is (by default). - * m4/libtool.m4 (_LT_CONFIG): Use the _LT_DECLared - $configure_time_lt_sys_library_path variable as the default for - LT_SYS_DLSEARCH_PATH at run-time. - (_LT_SYS_DYNAMIC_LINKER): Don't change ac_cv_* variable if it is - not necessary. New $configure_time_lt_sys_library_path variable. - * NEWS: Update. - -2015-01-20 Pavel Raiskup - - libtool.m4: typofix, subst last '$' with quadrigraph - - * m4/libtool.m4 (_LT_LIBTOOL_TAG_VARS): Encase the - configure/libtool shared function into parseable borders; for - testing purposes. - (func_munge_path_list): Typo s/$/@S|@/. - * tests/configure-funcs.at: New testcase. - * Makefile.am (TESTSUITE_AT): Mention new testcase. - * NEWS: Update. - -2015-01-20 Pavel Raiskup - - tests: fix an ltdl dryrun race condition. - - * tests/testsuite.at (LT_AT_ACLOCAL): Inject a 1 second sleep - after aclocal to ensure subsequently generated autotools files - will be newer. - * NEWS: Update. - -2015-01-19 Gary V. Vaughan - - maint: post-release administrivia - - * NEWS: Add header line for next release. - * .prev-version: Record previous version. - * cfg.mk (old_NEWS_hash): Auto-update. - -2015-01-19 Gary V. Vaughan - - version 2.4.5 - - * NEWS: Record release date. - -2015-01-18 Gary V. Vaughan - - maint: update copyright statements to include 2015. - - * AUTHORS, HACKING, Makefile.am, NEWS, README.md, TODO, - bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, - build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk, - configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in, - gl/build-aux/extract-trace, gl/build-aux/funclib.sh, - gl/build-aux/inline-source, gl/build-aux/options-parser, - libltdl/README, libltdl/configure.ac, - libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__argz_.h, - libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, - libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, - libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, - libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, - libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, - libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, - libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, - libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, - libltdl/lt__argz.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, - libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, - libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, - m4/autobuild.m4, m4/libtool.m4, m4/ltargz.m4, m4/ltdl.m4, - m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in, - m4/lt~obsolete.m4, m4/m4.m4, tests/am-subdir.at, - tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at, - tests/cmdline_wrap.at, tests/configure-iface.at, - tests/convenience.at, tests/ctor.at, tests/cwrapper.at, - tests/darwin.at, tests/demo.at, tests/depdemo.at, - tests/deplib-in-subdir.at, tests/deplibs-ident.at, - tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at, - tests/dumpbin-symbols.at, tests/duplicate_conv.at, - tests/duplicate_deps.at, tests/duplicate_members.at, - tests/early-libtool.at, tests/exceptions.at, - tests/execute-mode.at, tests/exeext.at, tests/export-def.at, - tests/export.at, tests/f77demo.at, tests/fail.at, - tests/fcdemo.at, tests/flags.at, tests/help.at, - tests/indirect_deps.at, tests/infer-tag.at, - tests/inherited_flags.at, tests/install.at, - tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, - tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, - tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, - tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, - tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, - tests/need_lib_prefix.at, tests/no-executables.at, - tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, - tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, - tests/resident.at, tests/runpath-in-lalib.at, - tests/search-path.at, tests/shlibpath.at, tests/slist.at, - tests/standalone.at, tests/static.at, tests/stresstest.at, - tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, - tests/template.at, tests/testsuite.at, tests/versioning.at, - tests/with-pic.at: Update copyright statement to include 2015. - * cfg.mk: Adjust old_NEWS_hash accordingly. - -2015-01-16 Gary V. Vaughan - - gnulib: sync with upstream. - - * gnulib: Sync with upstream. - * doc/.gitignore: Regenerate. - -2015-01-16 Pavel Raiskup - - libtoolize: fix ltdl installation order. - - Fixes regression caused by commit 99a808be. - Makefile.in has aclocal.m4 as prerequisite, so Makefile.in - should be installed later to avoid unnecessary rebuild by - (versioned) aclocal. - * Makefile.am (pkgltdl_files): Move the Makefile.in file down in - the list after aclocal.m4. - * tests/libtoolize.at: Adjust to match reordered output. - -2014-12-12 Gary V. Vaughan - - libtool: check Sun Pro CXX ABI postdeps at libtool time. - - * m4/libtool.m4 (_LT_PREPARE_CC_BASENAME): Factor cc_basename - calculation into a shell function... - (_LT_CONFIG_SAVE_COMMAND): ...and expand it into generated - libtool script. - (_LT_CC_BASENAME): Adjust accordingly. - (_LT_FUNC_SUNCC_CSTD_ABI): Remove from here... - * build-aux/ltmain.in (func_suncc_cstd_abi): ...and reimplement - here. - * m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Remove postdeps - augmentation from here... - * build-aux/ltmain.in (func_mode_link): ...and reimplement here - just before postdeps are added. - * NEWS: Update. - -2014-12-12 Gary V. Vaughan - - libtool: more carefully avoid automatic -Cstd -Crun on Sun Pro CXX. - - * m4/libtool.m4 (_LT_FUNC_SUNCC_CSTD_ABI): New function factored out - of repeated code. Take note of other known -Cstd incompatible - compiler flags. - (_LT_SYS_HIDDEN_LIBDEPS): Use it to determine whether -Cstd -Crun - can be safely added to postdeps with Sun Pro CXX. - * NEWS: Update. - * NO-THANKS: Add Marc Glisse. - Reported by Marc Glisse - -2014-12-12 Gary V. Vaughan - - libtool: take care not to double-apply LT_SYS_LIBRARY_PATH. - - * m4/libtool.m4 (_LT_CONFIG_SAVE_COMMANDS): Copy configure-time - LT_SYS_LIBRARY_PATH settings as default, but allow run-time - override. - (_LT_SYS_DYNAMIC_LINKER): Save the unmunged - sys_lib_dlsearch_path_spec value, and use it for _LT_DECL, - but then munge it with LT_SYS_LIBRARY_PATH for use in ltdl.m4 - macros, such as LT_SYS_DLSEARCH_PATH. - -2014-12-11 Pavel Raiskup - - libtool: support LT_SYS_LIBRARY_PATH for adjusting bad guesses. - - Revert 8728e07 and 440fee6. - Some GNU/Linux distributions install libraries into /lib64 (or - /usr/lib64) on 64-bit machines, while /lib (/usr/lib - respectively) stays for multilib variant. Other distributions - keep /usr/lib for 64-bit variant and reserve other directory for - multilib. Detection of what approach a given system uses is - difficult, however, especially because Glibc's ldconfig does not - report the full and correct list of search paths. Allow the user - to adjust Libtools heuristically determined search paths with - the new LT_SYS_LIBRARY_PATH environment variable at both - compile-time, when libtool is called, and at configure time. - * m4/libtool.m4 (_LT_PREPARE_MUNGE_PATH_LIST): Define a new - function to munge a libtool path list according to a user - supplied colon-delimited path. - (_LT_SYS_DYNAMIC_LINKER): Require _LT_PREPARE_MUNGE_PATH_LIST. - Mark LT_SYS_LIBRARY_PATH as precious to autoconf (to survive - automatic "autoreconf"). - Call the new func_munge_path_list function on - sys_lib_dlsearch_path_spec - this propagates results to - generated libtool script. - (_LT_CONFIG): Expand _LT_PREPARE_MUNGE_PATH_LIST into generated - libtool script. - * build-aux/ltmain.in (func_mode_link): Call it to adjust - sys_lib_dlsearch_path according to LT_SYS_LIBRARY_PATH. - * doc/libtool.texi: Document new LT_SYS_LIBRARY_PATH. - * doc/notes.texi: Likewise. - * NEWS: Update. - - References: http://thread.gmane.org/gmane.comp.gnu.libtool.general/8339/focus=8345 - -2014-12-11 Gary V. Vaughan - - maint: fix syntax-check failures. - - * m4/m4.m4 (AC_PROG_GNU_M4): Reverse some test arguments for - sc_prohibit_test_const_follows_var. - Remove some spurious braces for - sc_useless_braces_in_variable_drefs. - -2014-12-11 Gary V. Vaughan - - bootstrap: sync with upstream. - - * gl/build-aux/extract-trace (func_find_tool): Quote a bare - variable expansion in a test argument. - * bootstrap: Regenerate. - -2014-12-05 Gary V. Vaughan - - libtool: s390x is also a 64bit glibc/ELF platform. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LIB): Add s390x to glibc/ELF - compatible CPUs that have /lib64 and /usr/lib64 in - sys_lib_dlsearch_path_spec. - Reported by Pavel Raiskup - -2014-12-04 Gary V. Vaughan - - libtool: for 64bit GNU arches, add /lib64 and /usr/lib64 to sys_lib_dlsearch_path. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - : If $host_cpu contains "64", add /lib64 - and /usr/lib64 to sys_lib_dlsearch_path_spec. - Reported by Orion Poplawski, Christian Rössel, Olly Betts et. al. - -2014-12-04 Gary V. Vaughan - - libltdl: fix gcc compiler warning for unused attributes. - - * libltdl/ltdl.c, libltdl/loaders/dld_link.c, - libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, - libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, - libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: For at - least gcc 4.8.3 and 4.9.1, __attribute__((__unused)) should - follow the unused parameter declaration. - * NO-THANKS: Add Дилян ПалаŃзов. - Reported by Дилян ПалаŃзов - -2014-12-04 Eric Bavier - - tests: do not assume compiler prefers shared libraries. - - Testing whether -static-libtool-libs causes a non-libtool library to be - linked dynamically is effectively a test of the compiler's preference in - this case. The Cray compiler prefers static libraries if not told - otherwise. - * tests/static.at [static linking flags for programs]: Do not expect - -static-libtool-libs to fail. - -2014-12-04 Norihiro Tanaka - - libtool: fix sys_lib_dlsearch_path_spec for ia64 HP-UX. - - The run-time loader does not search /usr/local or subdirectories - by default on ia64 HP-UX. - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix - sys_lib_dlsearch_path_spec for ia64 HP-UX. - * NEWS: Update. - -2014-12-04 Gary V. Vaughan - - libltdl: edit AM_CPPFLAGS correctly for libltdl/Makefile.am. - - * libltdl/ltdl.mk (AM_CPPFLAGS): Make sure the sed expression to - remove the first libltdl/ on each line is not confused by misuse - of linebreaks. - * Makefile.am (lt_Makefile_am): Also edit out the duplicated - include paths after libltdl/ elimination. - * NEWS: Update. - Reported by Michael Wobst - -2014-12-04 Tijl Coosemans - - libtool: commit forgotten soname_spec for freebsd-elf in bb7cef9. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) : Set - soname_spec correctly, per original patch. - * NEWS: Update. - -2014-12-03 Gary V. Vaughan - - bootstrap: sync with upstream for runtime M4 checking functions. - - * gl/build-aux/extract-trace: Sync with upstream for runtime M4 - checking functions. - * bootstrap: Regenerate. - * NEWS: Update. - -2014-12-03 Gary V. Vaughan - - configury: bail out early if GNU M4 is not on the path. - - Now that libtoolize requires an installed GNU M4 to parse - configure.ac and aclocal.m4 sources for libltdl macros, let the - user know at configure time when it is missing. - * m4/m4.m4: New file for rejecting non-GNU and buggy GNU versions - of M4. Copied from GNU Autoconf m4.m4. - * Makefile.am (lt_aclocal_m4_deps): Add m4/m4.m4. - * configure.ac (AC_PROG_GNU_M4): Call it. - * NEWS: Update. - Reported by Michael Felt - -2014-11-29 Gary V. Vaughan - - maint: post-release administrivia - - * NEWS: Add header line for next release. - * .prev-version: Record previous version. - * cfg.mk (old_NEWS_hash): Auto-update. - -2014-11-29 Gary V. Vaughan - - version 2.4.4 - - * NEWS: Record release date. - -2014-11-29 Gary V. Vaughan - - gnulib: sync with upstream. - - * gnulib: sync with upstream. - -2014-11-29 Michael Haubenwallner - - libtool: optional filename-based shlib versioning on aix. - - Support filename-based shared library versioning on AIX with the - lib.so library filename extension, which is used with runtime - linking only. Runtime linking is enabled by the -brtl linker - flag for executables and the -G linker flag for Shared Objects. - The behaviour is similar to Linux/SVR4 DT_SONAME, hence the name - "aix-soname=svr4". - * Makefile.am (TESTS_ENVIRONMENT): Pass with_aix_soname value - via lt_cv_with_aix_soname into testsuite. - * configure.ac: AC_SUBST with_aix_soname for testsuite. - * libltdl/loaders/dlopen.c (vm_open): Use RTLD_MEMBER flag for - dlopen when the filename does specify an archive member between - "()". Otherways, retry with appending LT_SHARED_LIB_MEMBER when - loading fails without but archive file seems to exist. - * m4/libtool.m4 (dynamic_linker): Describe configured shared - library versioning variant according to with_aix_soname and - runtime linking. - (soname_spec, library_names_spec, shlibpath_overrides_runpath) - (postinstall_cmds, postuninstall_cmds, hardcode_direct) - (hardcode_direct_absolute, no_undefined_flag) - (allow_undefined_flag): Set according to with_aix_soname and - runtime linking configuration. - (export_symbols_cmds): Decorate symbols with the weak keyword. - (archive_expsym_cmds): Create both shared libraries according to - with_aix_soname and runtime linking configuration. Filter -brtl - linker flag from compiler_flags for shared libraries due to its - side effects. - (enable_static): Respect with_aix_soname for disabling as well. - * m4/ltdl.m4 (LT_SHARED_LIB_MEMBER): Define, set based on the - value of the shared_archive_member_spec libtool variable. - * m4/ltoptions.m4 (_LT_WITH_AIX_SONAME): New. Provides - commandline option --with-aix-soname=aix|svr4|both. Declares - $shared_archive_member_spec as libtool variable. - (_LT_SET_OPTIONS): Define LT_INIT options "aix-soname=aix", - "aix-soname=svr4", "aix-soname=both". Default is - "aix-soname=aix". - * doc/libtool.texi (LT_INIT): Document new options. - * tests/deplibs-ident.at: To define whether this test should - XFAIL, use hardcode_action, hardcode_direct, - hardcode_direct_absolute configuration settings instead of - platforms aix, bitrig, hppa-hpux, interix or openbsd. - * tests/versioning.at: When shared_archive_member_spec is defined - and LDFLAGS contain -brtl, we can run the versioning check. - * NEWS: Update. - -2014-11-28 Tijl Coosemans - - libtoolize: no need for umask 0 now that copying does not use tar. - - The umask calls seem to be left over as a workaround for several - releases ago when libtoolize copied libltdl sources with the help - of tar. Now that we use cp or ln -s exclusively, this just - needlessly makes the files world writable; we should just respect - the users' own umask setting. - * libtoolize.in (func_copy): Remove umask 0 calls and simplify. - -2014-11-28 Gary V. Vaughan - - maint: syntax-checks don't like ${ even in comments! - - * m4/ltdl.m4: Fix a comment to appease syntax-check rules. - -2014-11-28 Tijl Coosemans - - libtool: use a modern library version scheme for freebsd-elf. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Adopt downstream patch - used by FreeBSD for versioned library filenames. - * build-aux/ltmain.in (func_mode_link): Replace conflicting - freebsd-elf version_type case branches with a single calculation - setting major and versuffix to match downstream FreeBSD. - -2014-11-28 Tijl Coosemans - - libtool: split sco version into its own type. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Set version type to - "sco" for sco based hosts. - * build-aux/ltmain.in (func_mode_link): Accept new "sco" - version_type as equivalent to freebsd-elf. - -2014-11-28 Gary V. Vaughan - - configury: detect dlsym underscore prefix without dlopen self. - - * m4/ltdl.m4 (LT_FUNC_DLSYM_USCORE): Compile, load and get the - address of a symbol from a separate loadable module, rather than - assuming dlopen self works. - * NEWS: Update. - Reported by KO Myung-Hun - -2014-11-26 Gary V. Vaughan - - ltdl: fix a long standing duplicate `-ldl' bug in the link line. - - * m4/ltdl.m4 (LT_LIB_DLLOAD): Save contents of LIBS before - calling AC_SEARCH_LIBS, which prepends to LIBS by default, and - restore afterwards. We set LIBADD_DLOPEN and LIBADD_SHL_LOAD - so that dynamic loader libraries can be added selectively only - where they are needed. - * NEWS: Update. - -2014-11-21 Michael Haubenwallner - - tests: do not test undef symbols across shlibs on AIX. - - On AIX, undefined symbols across shared libraries can work only - when the main program explicitly exports those symbols. As this - is bad practice anyway and -no-undefined should be preferred, we - skip this. - * tests/template.at: Skip test with undef syms across libraries - on AIX. - -2014-11-21 Michael Haubenwallner - - tests: question mark is extended regex for non-GNU grep. - - Accepting \? for at-most-once in basic regex is a GNU grep - extension, not accepted by AIX grep for example. - * tests/libtool.at: Use \{0,1\} instead of ? with GREP. - -2014-11-18 Gary V. Vaughan - - maint: Fox a resent smelling mystique. - - * build-aux/git-log-fix: ChangeLog edit. - Reported by Eric Blake - -2014-11-18 Gary V. Vaughan - - bootstrap: make sure gnulib file droppings are removed. - - * bootstrap.conf (libtool_cleanup_empty_dirs): Recent bootstrap - updates set source_base to null, so we need to use ${x:-y} to - override the null. Autoconf Shellology says that ancient BSD - /bin/sh chokes on :- defaults, but bootstrap is a developer tool, - and so we can reasonably expect a developer to have a working - /bin/sh to run the bootstrap script. - -2014-11-18 Gary V. Vaughan - - bootstrap: add missing debug preambles. - - * bootstrap.conf (libtool_prep, func_require_ltdl_dir) - (libtool_require_package_url): Add missing $debug_cmd calls. - -2014-11-18 Vincent Lefevre - - NEWS: Fix an ancient spelling mistake. - - * NEWS: s/propogate/propagate/. - * cfg.mk (old_NEWS_hash): Update. - -2014-11-17 Vincent Lefevre - - libtool: fix comment typo. - - * m4/libtool.m4: Fix -fvisbility=hidden typo in a comment. - -2014-11-04 Gary V. Vaughan - - maint: fix a syntax-check failure. - - * tests/cmdline_wrap.at (fail_list): quote test arguments to - satisfy failing syntax-checks. - -2014-11-04 Gary V. Vaughan - - libtool: fix universal library building on darwin. - - * build-aux/ltmain.in (func_extract_archives): $basename is now - spelled $sed_basename. - * NO-THANKS: Update. - Reported by Misty De Meo - -2014-11-04 Gary V. Vaughan - - tests: update fat binary test case for modern darwin. - - * tests/darwin.at: Use "-arch x86_64", which works on modern - Apple hardware, rather than "-arch ppc", which generally does not. - -2014-11-04 Gary V. Vaughan - - tests: fix false positive in failed test check for cmdline_wrap.at. - - * tests/cmdline_wrap.at (fail_list): non-matching globs return as - a plain unexpanded string, so we also need to test for file - existence before expanding into fail_list. - -2014-11-04 Gary V. Vaughan - - bootstrap: sync with upsteram. - - * gl/build-aux/bootstrap.in: Sync with upstream. - * bootstrap: Regenerate. - -2014-11-04 KO Myung-Hun - - libtool: support versioning on OS/2. - - * build-aux/ltmain.in (func_mode_link) <*-os2*>: Set major and - versuffix. - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <*-os2*>: Set - version_type to windows. Add a version information to soname_spec. - * NEWS: Update. - -2014-11-04 KO Myung-Hun - - libtool: support -export-symbols and -export-symbols-regex on OS/2. - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - <*-os2*>: Set archive_expsym_cmds. - * NEWS: Update. - -2014-11-04 KO Myung-Hun - - libtool: add -os2dllname option. - - On OS/2, if there are many DLLs whose prefix is the same and - very long, the resulting DLLs are overwritten. Provide a new - option to force a DLL name. - * build-aux/ltmain.in (func_mode_help): Add a description for - -os2dllname. - (func_mode_link): Add -os2dllname. - * doc/libtool.texi: Document it. - * NEWS: Update. - -2014-11-04 KO Myung-Hun - - libtool: fix DLL creation/installation/uninstallation on OS/2. - - OS/2 can only load a DLL with a base name of 8 characters or - less. Also, on OS/2 don't install or uninstall using a link. - * build-aux/ltmain.in: Do not strip an import lib. - * m4/libtool.m4: Set variables to fix DLL creation, installation - and uninstallation. - -2014-11-04 KO Myung-Hun - - libtool: support -Zxxx options used on OS/2. - - * build-aux/ltmain.in (func_mode_link): Add -Z* case, treating - them specially on os2 only. - -2014-11-04 KO Myung-Hun - - libtool: set lt_cv_deplibs_check_method to pass_all on OS/2. - - * m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Same as the title. - -2014-11-04 KO Myung-Hun - - libtool: there is no need to relink DLLs on OS/2. - - * build-aux/ltmain.in (func_mode_link) <*-os2*>: need_relink=no. - -2014-11-04 KO Myung-Hun - - ltdl: OS/2 uses other APIs to load a DLL than LoadLibrary() on Windows. - - * m4/ltdl.m4: Remove os2* from a list for loadlibrary.la. - -2014-11-04 KO Myung-Hun - - libtool: support to link against static libraries on OS/2. - - * m4/libtool.m4 (_LT_COMPILER_PIC): Set lt_prog_compiler_static to - $wl-static. - -2014-11-04 KO Myung-Hun - - libtool: don't eliminate duplications in $postdeps and $predeps on OS/2 - - * build-aux/ltmain.h (libtool_validate_options): Add *os2* to the list. - -2014-11-03 Gary V. Vaughan - - configury: create installation dir before writing to it. - - * Makefile.am (install-scripts-local): Don't forget to make the - installation target directory before writing to it. - * NO-THANKS: Update. - Reported by Allan McRae - -2014-11-03 Gary V. Vaughan - - maint: .PHONY rules to protect gmake from pathological file names. - - * Makefile.am (.PHONY): Add install-scripts-local, - check-interactive, check-noninteractive-old, - check-noninteractive-new and check-noninteractive. - -2014-11-02 Arkadiusz MiĹ›kiewicz - - tests: fix typo in cmdline_wrap skip check. - - * tests/cmdline_wrap.at (fail_list): fix a typo in loop script - text. - -2014-11-02 Gary V. Vaughan - - libtoolize: don't forget to remove old non-gnulib argz files. - - * libtoolize.in (all_pkgltdl_files): Add back argz.c and argz_.h, - as installed by previous libtool releases. - -2014-11-02 Gary V. Vaughan - - libltdl: move libltdl argz module into LT namespace. - - To avoid clashes with gnulib argz module in ltdl client projects, - move ours into its own namespace. - * libltdl/argz_.h, libltdl/argz.c, m4/argz.m4: Move from here... - * libltdl/libltdl/lt__argz_.h, libltdl/lt__argz.c, m4/ltargz.m4: - ...to here. - * Makefile.am, libltdl/libltdl/lt__glibc.h, libltdl/ltdl.mk, - libtoolize.in, m4/ltdl.m4: Adjust accordingly. - * tests/libtoolize.at, tests/ltdl-api.at, tests/nonrecursive.at, - tests/old-ltdl-iface.at: Adjust for different libtoolize output. - * libltdl/.gitignore: Adjust accordingly. - * NEWS: Update. - Reported by Pavel Raiskup - -2014-11-02 Gary V. Vaughan - - maint: whitespace cleanup. - - * Makefile.am ($(thanks)): Fix several whitespace syntax-check - failures. - -2014-11-02 Pavel Raiskup - - libtoolize: do not remove gnulib files with --force. - - * libtoolize.in (func_require_seen_libtool): Do not remove - snippet/* files which are from Gnulib. - -2014-10-30 Gary V. Vaughan - - tests: set bindir and libdir at configure time. - - In particular, openSuSE on x86_64 uses CONFIG_SITE to set libdir - to "${exec_prefix}/lib64", which confuses testcases that check - the contents of "${prefix}/lib". In general, tests that expect - to find installed files in specific directories should explicitly - set those directories at configure time. - * tests/testsuite.at (LT_AT_CONFIGURE): Make sure exec_prefix, - bindir and libdir point to known subdirectories we can check the - contents of later on in a test case. - (prefixdir): Rename from this... - (prefix): ...to this. All test cases that set or use the config - prefix directory must now refer to `prefixdir` for the helper - macros in this file to work in hostile build environments such - as CONFIG_SITE setting openSuSE. - * tests/demo.at, tests/depdemo.at, tests/mdemo.at, - tests/tagdemo.at: Adjust accordingly. - Reported by Peter Breitenlohner. - -2014-10-29 Reuben Thomas - - libtool: -rdynamic support for tcc. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) : Set - export_dynamic_flag_spec appropriately when using tcc. - -2014-10-29 Reuben Thomas - - libtool: preliminary support for tcc on linux*. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) : Set archive_cmds and - ld_shlibs appropriately when using tcc. - * NEWS: Update. - -2014-10-29 Gary V. Vaughan - - maint: fix README-alpha version match. - - With simplified release version numbering (thank you, git!), be - careful to recognize four part alpha versions, or short git - revision suffixed alpha versions correctly. - * Makefile.am (re_odd_version): Remove. - (re_alpha_version): Recognize alpha version numbers. - ($(readme)): Adjust accordingly. - -2014-10-29 Gary V. Vaughan - - maint: autogenerate THANKS. - - More automation == less time wasted on menial tasks. - * build-aux/thanks-gen: script inspired by coreutils. - * Makefile.am (THANKS): Based on rule from coreutils/Makefile.am. - * NO-THANKS: New file. Configure thanks-gen output. - * THANKS: Remove. - -2014-10-29 Gary V. Vaughan - - maint: fix prefix and suffix installs for libtoolize. - - * Makefile.am (install-data-local): Depend on new - install-scripts-local, and move libtoolize install from here... - (install-scripts-local): ...to here. - Pass libtoolize destination through program transform expression. - (uninstall-hook): Likewise, prior to removal. - * NEWS: Update. - * THANKS: Update. - Reported by Václav Zeman - -2014-10-27 Gary V. Vaughan - - maint: move Peter O'Gorman and Ralf Wildenhues to past maintainers. - - * AUTHORS: Move Peter O'Gorman and Ralf Wildenhues from current - to past maintainers list. - -2014-10-27 Gary V. Vaughan - - maint: post-release administrivia - - * NEWS: Add header line for next release. - * .prev-version: Record previous version. - * cfg.mk (old_NEWS_hash): Auto-update. - -2014-10-27 Gary V. Vaughan - - version 2.4.3 - - * NEWS: Record release date. - -2014-10-27 Gary V. Vaughan - - bootstrap: sync with upstream. - - * gl/build-aux/bootstrap.in, gl/build-aux/funclib.sh: Sync with - upstream. - * bootstrap: Regenerate. - -2014-10-27 Gary V. Vaughan - - testsuite: fixes required for `make distcheck CC=g++`. - - * tests/demo.at (Pdemo conf): Overide _LT_DEMO_SETUP foo.h to - declare foo2. - * tests/mdemo.at (_LT_SETUP): Don't wrap `sub` dectlaration in - C++ guards, because sub.c is also compiled with g++ in this test. - * tests/old-ltdl-iface.at (old.c): Add a return type to main - declaration as required by C++. - -2014-10-27 Gary V. Vaughan - - maint: fix a typo in THANKS. - - * THANKS: s/macports\.com/macports.org/ - -2014-10-27 Gary V. Vaughan - - syntax-check: use strlcpy instead of strncpy. - - * libltdl/loaders/dyld.c (vm_sym): Use strlcpy to pacify syntax - checks. - * libltdl/ltdl.c (try_dlopen): Likewise. - -2014-10-25 Gary V. Vaughan - - libtool: fix GCC linking with -fstack-protector. - - * build-aux/ltmain.in (func_mode_link): Pass -fstack-protector* - to the linker as it is required at link time to resolve libssp symbols. - From Yaakov Selkowitz - -2014-10-25 Gary V. Vaughan - - libtool: support Mac OS 10.10 and newer. - - The current template mistakenly treats a MACOSX_DEPLOYMENT_TARGET - value of "10.10" as "10.1" followed by junk. Thinking that the - build is targeting 10.1 Puma instead of 10.10 Yosemite, it tells - the linker to ignore undefined symbols instead of dynamically - resolving them. This can cause runtime crashes* and will affect - subsequent versions of OS X. - * libtool.mk (_LT_REQUIRED_DARWIN_CHECKS): Improve case match so - as to reject 10.10.x on the 10.1 and 10.2 branch. - * THANKS: Add Lawrence Velázquez. - From Lawrence Velázquez - -2014-10-25 Gary V. Vaughan - - bootstrap: commit latest to avoid regeneration at build time. - - * bootstrap: Regenerate. - -2014-10-25 Gary V. Vaughan - - gnulib: sync with upstream. - - * gnulib: Sync with upstream. - -2014-05-13 Peter Rosin - - libtool: delay expansion of $ECHO until the wrapper script runs - - Expanding $ECHO too early leads to unquoted \n when ECHO='printf %s\n'. - - Fixes bug#17478. Reported by Egmont Koblinger. - - * build-aux/ltmain.in (func_emit_wrapper) [fast_install]: Quote the - $ECHO, and delay the expansion. - -2014-05-06 Peter Rosin - - libtool: fix nm test for MSYS/MinGW - - The check for the -B option of nm does not work as intended on MSYS/MinGW. - MSYS converts /dev/null to the DOW/Windows "equivanent" special file NUL, - but the MinGW nm treats this file as any empty file. This means that - you might end up with some fallback nm instead of the desired nm. This - is not normally a problem, but if one nm is built without lto support, it - starts to matter. - - Fixes sr #108558, reported by LRN. - - * m4/libtool.m4 (LT_PATH_NM) [MSYS]: Use a non-existant file instead of - /dev/null when checking if nm supports -B. - -2014-05-05 Peter Rosin - - libtool: speed up ltwrapper_script detection in execute mode - - Execute mode is slow and might even DOS the computer in extreme - cases when a parameter is a big binary file without newlines. - Work around this with different truncation if a suitable dd - utility is found. - - Fixes bug#13472 and bug#16662. - - Reported by Pavel Raiskup and Nick Bowler. - - * m4/libtool.m4 (_LT_PATH_DD): New macro, for finding a dd utility - that works for the below purpose. - (_LT_CMD_TRUNCATE): New macro, for finding out how to truncate binary - pipes (fallback to the old sed truncation if no suitable dd is found - in _LT_PATH_DD). - (_LT_SETUP): Require _LT_CMD_TRUNCATE. - (LT_INIT): Require Autoconf 2.62, as needed by _LT_PATH_DD. - * build_aux/ltmain.in (func_lalib_p): Factor out the actual "generated - by libtool" test into... - (func_generated_by_libtool_p): ...this new function... - (func_ltwrapper_script_p): ...so that it can be reused here, when - truncating the pipe according to _LT_CMD_TRUNCATE. - * THANKS: Update. - -2014-05-02 Peter Rosin - - libtool: prevent lto from stripping the magic cookie from the cwrapper - - Whole program optimization may remove unused symbols unless told they - are really needed. Fixes sr #108559 reported by LRN. - - * build-aux/ltmain.in (func_emit_cwrapperexe_src:MAGIC_EXE): Try to ensure - that the magic cookie is preserved. - -2014-02-12 Peter Rosin - - tests: sprinkle -no-undefined when linking libraries - - * tests/duplicate_conv.at, tests/f77demo.at, tests/fcdemo.at: Here. - -2014-02-12 Peter Rosin - - libtool: actually strip -Wl when relinking with $LD - - Fixes the regression from commit v2.4.2.444 which is causing a - testsuite failure in duplicate_conv.at (seen on Cygwin). - - * build-aux/ltmain.in (func_mode_link): $reload_cmds typically - starts with "$LD$reload_flag ..." when $LD is used to relink. - Make the case expression match that when checking if $LD is in - fact used to relink. - -2014-02-10 Peter Rosin - - bootstrap: fix description of func_sort_ver to match recent sort change - - gl/build-aux/funclib.sh: Update comment to match reality. - bootstrap: Regenerate. - -2014-02-05 Gary V. Vaughan - - doc: remove redundant "in order to" phrase where possible. - - * doc/libtool.texi: Remove many occurrences of the redundant - phrase "in order to", where ever "to" is as clear or clearer. - * THANKS: Add attribution. - Reported by Dave Yost - -2014-02-03 Bruce Korb (tiny change) - - bootstrap: check for git tree with .git/. in case of soft links. - - * gl/build-aux/bootstrap.in (func_require_git): Use - `test -d .git/.` to defeat soft-links versus non-GNU test. - * bootstrap: Regenerate. - * THANKS: Remove duplicate Bruce Korb entry. - -2014-01-27 Gary V. Vaughan (tiny change) - - bootstrap: use `-d .git` to check whether we are in a git tree. - - * gl/build-aux/bootstrap.in (func_require_git): .git is not a - regular file, use -d to check its existence. - * bootstrap: Regenerate. - * THANKS: Add Bruce Korb. - Reported by Bruce Korb - -2014-01-17 Rainer Orth - - libtool: opt_duplicate_compiler_generated_deps is harmful on Solaris - - Fix for http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452. - * build-aux/ltmain.in (libtool_validate_options): disable the - opt_duplicate_compiler_generated_deps optimization for Solaris2 so - that gcc-4.9+ compiled C++ code with -Wl,-Bdirect on 64-bit Solaris - x86 can avoid unwinding failures caused by accidental mixing of the - libc and libgcc_s unwinders in a single executable. - -2014-01-15 Gary V. Vaughan - - bootstrap: check for git checkout correctly. - - * gl/bulid-aux/bootstrap.in (func_require_git): Use .git instead - of .gitignore to recognise a git checkout. - * bootstrap: Regenerate. - -2014-01-11 Todd C. Miller (tiny change) - - libtoolize: don't remove install-sh. - - If you are not using automake, libtoolize would remove install-sh. - It needs the same treatment as config.guess and config.sub. - * libtoolize.in (func_require_seen_libtool): Remove install-sh - from $all_pkgaux_files, the list of files removed by - `libtoolize --force`. - * THANKS: Add Todd C. Miller. - * NEWS: Update. - -2014-01-07 Gary V. Vaughan - - options-parser: --version works with 'DO NOT EDIT' preamble again. - - * gl/build-aux/options-parser (func_version): Don't quit on first - leading '##' line, otherwise DO NOT edit warnings prevent version - information from being extracted correctly. - * bootstrap: Regenerate. - -2014-01-07 Gary V. Vaughan - - bootstrap: specify particular version in buildreq with =x.y. - - * gl/build-aux/bootstrap.in (func_check_versions): If the version - number begins with '=' then it must match the installed version of - the named tool exactly. - * gl/doc/bootstrap.texi (buildreq): Document the '=vernum' feature. - * bootstrap: Regenerate. - -2014-01-05 Gary V. Vaughan - - bootstrap: remove conftest.sed file droppings. - - * gl/build-aux/funclib.sh: Remove conftest.sed when no longer - needed. - * bootstrap: Regenerate. - -2014-01-04 Gary V. Vaughan - - bootstrap: replace spurious hyphen in some section comments. - - * gl/build-aux/bootstrap.in: replace spurious hypen in same - section header comments with a space. - * gl/build-aux/extract-trace, gl/build-aux/options-parser: - Likewise. - * bootstrap: Regenerate. - -2014-01-03 Gary V. Vaughan - - inline-source: DO NOT EDIT warning only for top-level file. - - * gl/build-aux/inline-source (func_include): When recursing, pass - through the value of `magic` so that only the very first #! magic - number has a DO NOT EDIT warning injected. - * bootstrap: Regenerate. - -2014-01-03 Gary V. Vaughan - - inline-source: gawk doesn't have boolean constants. - - I've been writing a lot of Lua lately, but still a silly mistake:( - * gl/build-aux/inline-source (func_include): Use `magic` variable - to count #! lines found, and only output the DO NOT EDIT warning - after the first one. - -2014-01-03 Gary V. Vaughan - - edit-readme-alpha: adjust for recent README edits. - - * build-aux/edit-readme-alpha: Adjust regexps for recent README - improvements. - * README.md: Fix a SPACE-TAB sanity check failure. - -2014-01-03 Gary V. Vaughan - - bootstrap: fix test-dollar sanity check failure. - - * gl/build-aux/bootstrap.in (func_ensure_README): quote argument. - * bootstrap: Regenerate. - -2014-01-03 Gary V. Vaughan - - libtool: rearrange header comments for correct version/help extraction. - - * m4/libtool.m4 (_LT_COPYING): Rearrange the comments output to - the generated libtool script so that --version and --help behave - the same as pre-funclib.sh revisions. - (_LT_CONFIG_SAVE_COMMANDS): Likewise. - -2014-01-03 Gary V. Vaughan - - README: Tweak into markdown format and fix some bitrot. - - * README: Moved from here... - * README.md: ...to here. Make some changes to be valid markdown - format, and fix some inaccuracies in text that is out of date. - * .gitignore: Add README. - -2014-01-03 Gary V. Vaughan - - bootstrap: support automake README requirement. - - * gl/build-aux/bootstrap.in (func_ensure_README): New function. - Link missing README to existing alternative naming. - (require_automake_options): New functions. Fetch AM_INIT_AUTOMAKE - options from configure.ac. - (func_reconfigure): If we're using automake, and it's not in - foreign mode, link a README file if possible. - * bootstrap: Regenerate. - -2014-01-03 Gary V. Vaughan - - configury: use bootstrap ChangeLog management feature. - - * gl/build-aux/bootstrap.in (func_autoreconf): Accept an optional - directory argument to pass to $AUTORECONF. - Update doc-comment. - * bootstrap.conf (func_reconfigure): Remove. Don't completely - overwrite bootstrap's func_reconfigure, shadowing auto-ChangeLog - management. - (func_autopoint, func_libtoolize): Overwrite these un-needed - calls instead. - (libtool_autoreconf_libltdl): New hook function to run second - autoreconf in libltdl directory. - (libtool_force_changelog): Remove. This is all handled by - bootstrap's func_reconfigure again. - * bootstrap: Regenerate. - -2014-01-03 Gary V. Vaughan - - bootstrap: force remove file droppings from previous run. - - Now that we generate bootstrap.new with no write permission, - we have to force remove it before writing now content to the file. - * bootstrap.in (require_bootstrap_uptodate): Remove old - bootstrap.new output. - * bootstrap: Regenerate. - -2014-01-03 Gary V. Vaughan - - inline-source: add a DO NOT EDIT notice to generated files. - - * gl/build-aux/inline-source (func_include): Add a DO NOT EDIT - notice below the #! magic number of generated files. - * gl/build-aux/bootstrap.in (func_require_bootstrap_uptodate): - Remove write bit from regenerated bootstrap.new if it differs - from incumbent bootstrap. - Change the update instructions to recommend `mv -f` to cope with - no write permission on old bootstrap script. - -2014-01-03 Gary V. Vaughan - - bootstrap: move included files below DO NOT EDIT comment. - - * gl/build-aux/bootstrap.in: Reorder sections to load external - libraries as late as possible, leaving DO NOT EDIT comment - visible near the top of the generated bootstrap script. - -2014-01-03 Gary V. Vaughan - - maint: use before-save-hook in Emacs footers. - - Updating to Emacs 24 now gives me warnings about write-file-hooks - being obsolete. - * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, - gl/build-aux/funclib.sh, gl/build-aux/inline-source, - gl/build-aux/options-parser: Set before-save-hook in Emacs file - footers instead of obsolete write-file-hooks. - -2014-01-03 Gary V. Vaughan - - libtoolize: use printf '%s\n' unconditionally. - - It's been a year since the as_echo probes were removed in Autoconf, - so we can follow suit and remove our equivalent bs_echo probing - now. Retain $ECHO in case users need to override default printf - calls in museum piece environments. - * gl/build-aux/funclib.sh (ECHO): Default to 'printf %s\n'. - (bs_echo): Remove. - Adjust all bs_echo callers to use $ECHO instead. - * bootstrap: Regenerate. - * NEWS: Update. - -2014-01-02 Gary V. Vaughan - - bootstrap: push Peter's version sort fix back into funclib.sh. - - Peter's a7462c5 fix was applied to the generated bootstrap script - instead of the funclib.sh source, and had have been overwritten - the next time bootstrap was regenerated. - * gl/build-aux/funclib.sh (func_sort_ver): Sort numerically on the - non-primary keys as well. - * bootstrap: Regenerate, with the change applied. - -2014-01-01 Gary V. Vaughan - - maint: change history. - - * NEWS: Remove alpha release header. - * cfg.mk (old_NEWS_hash): Update. - -2014-01-01 Gary V. Vaughan - - libtool: only strip -Wl when linking with $LD. - - * build-aux/ltmain.in (func_mode_link): Don't strip -Wl from the - linker flags, except when linking with $LD, otherwise compiler - drivers that don't recognize and pass linker flags through will - choke on unrecognized options. - -2014-01-01 Gary V. Vaughan - - bootstrap: fix gitlog-to-changelog detection. - - * gl/build-aux/bootstrap.in (func_ifcontains): Use a for loop - that relies on $IFS for element splitting instead of a one-shot - case glob that is not tolerant to \n in $gnulib_modules. - * THANKS: Add Reuben Thomas. - Reported by Reuben Thomas - -2014-01-01 Gary V. Vaughan - - maint: update copyright notices to include 2014. - - * .x-update-copyright: New file. Exclude files not owned by this - project from update-copyright rules. - * doc/libtool.texi: Replace m-dash with n-dash in texinfo - copyright notice so that update-copyright matches correctly. - Undo bogus copyright updates to example output from gdb session. - Bump copyright year. - * Changelog.old: Revert bogus updates from previous years - without .x-update-copyright. - AUTHORS, HACKING, Makefile.am, NEWS, README, THANKS, TODO, - bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, - build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk, - configure.ac, gl/build-aux/bootstrap.in, - gl/build-aux/extract-trace, gl/build-aux/funclib.sh, - gl/build-aux/inline-source, gl/build-aux/options-parser, - libltdl/README, libltdl/argz.c, libltdl/argz_.h, - libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, - libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, - libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, - libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, - libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, - libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, - libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, - libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, - libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, - libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, - libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, - libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4, - m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, - m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, - tests/am-subdir.at, tests/archive-in-archive.at, - tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, - tests/configure-iface.at, tests/convenience.at, tests/ctor.at, - tests/cwrapper.at, tests/darwin.at, tests/demo.at, - tests/depdemo.at, tests/deplib-in-subdir.at, - tests/deplibs-ident.at, tests/deplibs-mingw.at, - tests/destdir.at, tests/dlloader-api.at, - tests/dumpbin-symbols.at, tests/duplicate_conv.at, - tests/duplicate_deps.at, tests/duplicate_members.at, - tests/early-libtool.at, tests/exceptions.at, - tests/execute-mode.at, tests/exeext.at, tests/export-def.at, - tests/export.at, tests/f77demo.at, tests/fail.at, - tests/fcdemo.at, tests/flags.at, tests/help.at, - tests/indirect_deps.at, tests/infer-tag.at, - tests/inherited_flags.at, tests/install.at, - tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, - tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, - tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, - tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, - tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, - tests/need_lib_prefix.at, tests/no-executables.at, - tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, - tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, - tests/resident.at, tests/runpath-in-lalib.at, - tests/search-path.at, tests/shlibpath.at, tests/slist.at, - tests/standalone.at, tests/static.at, tests/stresstest.at, - tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, - tests/template.at, tests/testsuite.at, tests/versioning.at, - tests/with-pic.at: Bump copyright year. - -2014-01-01 Gary V. Vaughan - - gnulib: update to latest upstream revision. - - * gnulib: Update. - -2014-01-01 Gary V. Vaughan - - tests: gcj cannot reliably compile directly to .o from .java - - Some 4.3.x and 4.4.x releases of gcj insert a spurious 'dummy' - symbol into every object file when compiling directly from .java - to .o: - * tests/convenience.at (GCJ): make .class files from .java - sources first, and then compile those to native objects. This - works around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143 - -2014-01-01 Gary V. Vaughan - - testsuite: with SunStudio12.x f77, don't fail on system symbols - - Modern SunStudio f77 is just a wrapper for f90, which - explains why current master fails these test groups with: - - Undefined first referenced - symbol in file - __f90_slw_ch .libs/foof2.o - __f90_sslw .libs/foof2.o - __f90_eslw .libs/foof2.o - ld: fatal: symbol referencing errors. No output written to - .libs/libfoo2.so.0.0.0 - - So we allow some undefined symbols in the libraries, which are - resolved by the $(FLIBS) added to the final binaries in the tests. - This seems like the simpler, and less error inducing solution to - me (compared to adding $(FLIBS) to every library LDFLAGS line). - * tests/f77demo.at (libfoo_la_LDFLAGS, libfoo2_la_LDFLAGS) - (libfoo3_la_LDFLAGS, libmix_la_LDFLAGS): Remove -no-undefined - flag. - * tests/fcdemo.at: Likewise. - -2014-01-01 Gary V. Vaughan - - maint: use $SED and $GREP, not sed and grep in all scripts. - - Choosing between hardcoding a tool's name, or using the shell - variable with a path to the user's prefered implementation or - configure's idea of the best available is a premature - optimisation. - * build-aux/ltmain.in, gl/build-aux/bootstrap.in, - gl/build-aux/extract-trace, gl/build-aux/funclib.sh, - libtoolize.in: Use $SED and $GREP consistently throughout, - instead of hardcoding sed and grep. - * bootstrap: Regenerate. - -2014-01-01 Gary V. Vaughan - - tests: use TESTS_ENVIRONMENT for EGREP and FGREP. - - Be consistent about passing commands to the testsuite, and use - TESTS_ENVIRONMENT consistent. - * Makefile.am (TESTS_ENVIRONMENT): Add EGREP and FGREP. - * tests/testsuite.at: Remove EGREP and FGREP extractions from - generated libtool script. - -2014-01-01 Gary V. Vaughan - - tests: use $GREP throughout. - - Trust the user, and use $GREP from TESTS_EVVIRONMENT uniformly. - * Makefile.am (TESTS_ENVIRONMENT): Add GREP setting. - * tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, - tests/configure-iface.at, tests/cwrapper.at, tests/darwin.at, - tests/demo.at, tests/destdir.at, tests/dumpbin-symbols.at, - tests/early-libtool.at, tests/execute-mode.at, tests/export-def.at, - tests/export.at, tests/f77demo.at, tests/fcdemo.at, tests/flags.at, - tests/help.at, tests/inherited_flags.at, tests/install.at, - tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, - tests/localization.at, tests/lt_dladvise.at, tests/lt_dlopen.at, - tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, - tests/mdemo.at, tests/old-m4-iface.at, tests/pic_flag.at, - tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, - tests/static.at, tests/sysroot.at, tests/template.at, - tests/testsuite.at, tests/versioning.at: Replace all hardcoded grep - invocations with $GREP. - -2014-01-01 Gary V. Vaughan - - tests: use $SED throughout. - - Trust the user, and use $SED from TESTS_ENVIRONMENT uniformly. - Hardcoding 'sed' for "simple" edits is a premature optimisation. - * tests/cdemo.at, tests/cmdline_wrap.at, tests/cwrapper.at, - tests/darwin.at, tests/demo.at, tests/duplicate_conv.at, - tests/duplicate_members.at, tests/execute-mode.at, tests/export.at, - tests/inherited_flags.at, tests/install.at, tests/libtoolize.at, - tests/mdemo.at, tests/need_lib_prefix.at, tests/old-m4-iface.at, - tests/sysroot.at, tests/tagdemo.at, tests/testsuite.at: Replace all - hardcoded sed invocations with $SED. - -2014-01-01 Gary V. Vaughan - - tests: run cmdline_wrap last, or not at all if anything else failed. - - * Makefile.am (TESTSUITE_AT): Move stresstest.at and cmdline_wrap.at - to the end of the list. - * tests/cmdline_wrap.at: If previous tests have failed, then we - already know that rerunning them will fail too, so save time by - skipping in that case. - -2014-01-01 Gary V. Vaughan - - configury: remove spurious g modifier in sed expression. - - * Makefile.am (rebuild): Remove useless g modifier from sed - expression. - -2014-01-01 Gary V. Vaughan - - configury: use $(SED) where input does not end in newline. - - On Solaris machines the system sed does not process the last - line of input unless it ends with a newline, which means it - cannot be used to massage the output of git-version-gen, because - it deliberately omits the terminating newline. - * Makefile.am (rebuild): Use the sed command found by configure, - which has a better chance of working properly than the first sed - on PATH. - -2014-01-01 Gary V. Vaughan - - tests: skip fcdemo checks when $FC cannot compile fortran90. - - Avoid spurious fcdemo failures when Autoconf picks f77 or - similar for a fortran90 compiler. - * tests/testsuite.at (LT_AT_TAG): Using FC and FCFLAGS from make - TESTS_ENVIRONMENT, check that we really can compile fortran90 - or else skip. - -2014-01-01 Gary V. Vaughan - - funclib.sh: improve comments. - - * gl/build-aux/funclib.sh: Add a comment explaining the need for - extra SED and GREP searches. - -2013-12-09 Peter Rosin - - maint: fix out-of-tree autoreconf w/o manual rebootstrap - - build-aux/ltmain.in: Look for funclib.sh and options-parser in - the same location ltmain.in is found. - -2013-11-19 Peter Rosin - - bootstrap: fix version sort - - Reported by Ozkan Sezer who suffered from makeinfo 4.13 being detected - as lesser than the required makeinfo 4.8. - - * bootstrap (func_sort_ver): Sort numerically on the non-primary keys - as well. - -2013-11-08 Peter Rosin - - tests: Use a basic grep that matches the basic regexp style. - - Fixes a testsuite failure on Cygwin. - - * tests/tagdemo.at: Use grep instead of egrep. - -2013-10-29 Gary V. Vaughan - - bootstrap: fix a quoting error. - - * gl/build-aux/bootstrap.in (func_require_buildreq_autoconf): Quote - the extracted version number correctly so that it is displayed in - verbose mode. - -2013-10-28 Gary V. Vaughan - - funclib.sh: simplify version comparison functions. - - * gl/build-aux/funclib.sh (func_sort_ver): Much simplified. - (func_lt_ver): New function, return true if arguments are in - ascending order. - * gl/build-aux/bootstrap.in: Simplify with func_lt_ver. - * gl/build-aux/do-release-commit-and-tag.diff: Likewise. - * bootstrap: Regenerate. - - Co-Authored-by: Paul Eggert - -2013-10-28 Gary V. Vaughan - - bootstrap: show found GREP and SED in verbose mode. - - * gl/build-aux/bootstrap.in (EGREP, FGREP, GREP, SED): Remove. - These are already set by funclib.sh. - (func_prep): After --verbose has been processed, show the paths - to GREP and SED found by funclib.sh. - * bootstrap: Regenerate. - -2013-10-28 Gary V. Vaughan - - refactor: simplify program path searching in funclib.sh. - - * gl/build-aux/funclib.sh (func_path_progs): New function. Factor - out common code from GREP and SED searches. - (func_check_prog_sed, func_check_prog_grep): New functions, for - non-common code. - (scriptversion): Update. - * bootstrap: Regenerate. - -2013-10-28 Gary V. Vaughan - - bootstrap: search for a non-truncating grep binary. - - On at least Unixware 7.1.4, the first grep binary on PATH is - unable to process the extract-trace scripts. - * gl/build-aux/funclib.sh (GRUP): Search PATH for a grep binary - that doesn't truncate its own output if available, and set GREP - accordingly. - * Makefile.am (SCRIPT_ENV): Add setting for GREP. - * bootstrap: Regenerate. - Reported by Tim Rice. - -2013-10-28 Gary V. Vaughan - - bootstrap: search for a non-truncating sed binary. - - On at least Unixware 7.1.4, the first sed binary on PATH is - unable to process the extract-trace scripts. - * gl/build-aux/funclib.sh (PATH_SEPARATOR): Set to : or ; - according to a feature test. - (func_executable_p): New function. - (SED): Search PATH for a sed binary that doesn't truncate its - own output if available, and set SED accordingly. - (scriptversion): Update. - * Makefile.am (SCRIPT_ENV): New macro, for propagating configured - variables. - (ltdl_ac_aux_dir, $(ltmain_sh), install-data-local): Use it. - * bootstrap: Regenerate. - Reported by Tim Rice. - -2013-10-27 Gary V. Vaughan - - tests: use autotest as_unset rather than rerolling $unset locally. - - On at least Unixware 7.1.4, the shell variable 'unset' gets set - to 'no' during the testsuite run, breaking several test cases. - We should have been using Autotest $as_unset anyway. - * tests/testsuite.at (unset): Remove test and variable setting. - (LT_AT_MAKE): Use $as_unset as provided by autotest boilerplate - instead of our own $unset. - * tests/demo.at (uninstalled libraries ave priority): Likewise. - Reported by Tim Rice. - -2013-10-27 Gary V. Vaughan - - maint: post-release administrivia - - * NEWS: Add header line for next release. - * .prev-version: Record previous version. - * cfg.mk (old_NEWS_hash): Auto-update. - -2013-10-26 Gary V. Vaughan - - version 2.4.2.418 - - * NEWS: Record release date. - -2013-10-26 Gary V. Vaughan - - gnulib: update to latest upstream revision. - - * gnulib: Update. - -2013-10-26 Gary V. Vaughan - - gnulib: use func_sort_ver instead of GNU sort -V in do-release-commit-and-tag. - - * gl/build-aux/do-release-commit-and-tag: Source funclib.sh and - then use portable func_sort_ver rather than force installation of - all GNU coreutils just for sort -V support. - -2013-10-26 Gary V. Vaughan - - refactor: move func_sort_ver from bootstrap.in to funclib.sh. - - * gl/build-aux/bootstrap.in (func_sort_ver): Move from here... - * gl/build-aux/funclib.sh (func_sort_ver): ...to here. - * bootstrap: Regenerate. - -2013-10-26 Gary V. Vaughan - - tests: use K&R main() syntax for old-ltdl-iface.at. - - At least Mac OS 10.8.5 clang chokes on the previous - 'const void *argv[]' parameter, but since we don't use it - anyway, keep to the theme of old api support and use K&R - syntax. - * tests/old-ltdl-iface.at (old.c): Use 'main ()' instead of - unportable 'int main (int argc, const void *argv[])'. - -2013-10-25 Gary V. Vaughan - - libltdl: bump -version-info revision by 1. - - The only changes to libltdl sources since v2.4.2 have been - cosmetic and stylistic. - * libltdl/ltdl.mk (LTDL_VERSION_INFO): For a release with no - interface changes C:R:A becomes C:R+1:A. - -2013-10-25 Gary V. Vaughan - - maint: Update README-release for Makefile.inc -> ltdl.mk rename. - - * gl/top/README-release.diff: s/Makefile.inc/ltdl.mk/g - -2013-10-25 Gary V. Vaughan - - maint: bump serials on m4 sources changed since v2.4.2. - - * m4/argz.m4: Bump serial to 6. - * m4/libtool.m4: Bump serial to 58. - * m4/ltdl.m4: Bump serial to 19. - * m4/ltoptions.m4: Bump serial to 8. - -2013-10-25 Gary V. Vaughan - - maint: fix a syntax-check violation from commit 12641bd. - - * build-aux/ltmain.in (func_mode_link): Reverse test operands to - forestall misinterpretation of contests of shell variable as - operand 1. - -2013-10-10 Vadim Zeitlin (tiny change) - - libtool: Don't fall back to static libraries if building them was disabled - - If -no-undefined was not specified but the platform didn't - support shared libraries with undefined symbols (e.g. Cygwin/ - MinGW), static libraries were built instead of shared ones, - even if building them was explicitly disabled with --disable- - static configure option. - - Fix this by stopping with a fatal error if a shared library - can't be built in this case instead of unexpectedly building a - static library instead. - - * libltdl/config/ltmain.m4sh (func_mode_link()): Stop with - fatal error when trying to build a shared library without -no- - undefined on a platform not supporting undefined symbols in - shared libraries. - -2013-10-09 Brooks Moses - - libtool: Remove unneeded quotes in assignment. - - The quotes in this assignment cause "make syntax-check" to - fail. Thus, this patch removes them. - -2013-10-09 Fabian Groffen (tiny change) - - libtool: Fix x86_64-pc-solaris2.* GNU ld breakage - - Since commit [1] libtool tries to set a 64-bits target for GNU - ld. However, it does so wrongly for x86_64-pc-solaris2.* - targets, causing libtool to believe the linker is called - ld_sol2. There is no such thing, and it obviously breaks - things further down. Some people wrongly assume there is - supposed to be an ld_sol2 on their systems, e.g. [2]. - - I think the original change is fragile, because it assumes it - has all CHOSTs matched, then appends _sol2. In the wild, - people have used amd64-pc-solaris2* too, so perhaps it would - be safer if the code only appended _sol2 if there is actually - an explicit target set. - - Anyhow, since the 64-bits sparc target is called sparc64-* or - sparcv9-*, the sparc case is already correctly handled, so in - the attached patch, I just added an x86_64-* case, although I - could imagine relaxing the i?86 case to *86*-pc-solaris2* too. - - In any case, defaulting to a linker called ld_sol2 is wrong. - - [1] http://lists.gnu.org/archive/html/libtool-commit/2011-02/ - msg00000.html - [2] http://osdyson.org/issues/8 - -2013-10-09 Olivier Blin (tiny change) - - libtool: Fix detection of ld version with parentheses. - - ld from crosstool-NG reports a version string with an extra - version number in a parenthetical note: - GNU ld (crosstool-NG 1.13.0) 2.21.1 - - This made libtool assume that the ld version was the - crosstool-NG version (1.13.0) instead of the real ld version - (2.21.1). - - To fix the ld version string, this patch filters out any string - between parentheses that is followed by a space. - - Because of this bug, filtering of exported symbols was not - taking place with crosstool-NG toolchains. - - This issue has bee noticed when building pango, which exported - harfbuzz symbols that should have remained hidden. - -2013-10-09 Brooks Moses - - libtool: Fix comment indentation - - This trivial patch fixes indentation on a comment to match - the style used elsewhere in m4/libtool.m4. - -2013-10-09 DJ Delorie - - libtool: Add TPF settings for LT_SYS_DLOPEN_SELF - - * m4/libtool.m4: Since we know that all TPF builds are cross- - builds, do not attempt to run linker tests during config. Use - known constants instead, since we know how dlopen() is - implemented. - -2013-10-09 Vincent Lefevre (tiny change) - - libtool: Fix $wl setting for tcc on GNU systems - - (This addresses http://bugs.debian.org/663945. See there for - more-detailed discussion.) - - tcc gained support for "-Wl,-rpath -Wl," in its - commit 7fb0482a ("Support linker options passed in several -Wl - param", 2012-03-14) but libtool doesn't know to use it. Teach - it. - - Without this change, running "make check" on MPFR when it has - been built with tcc and shared libraries doesn't work because - libtool generates a -rpath option, which tcc doesn't support. - -2013-10-09 Peter Johansson - - libtool: use AS_HELP_STRING in LT_WITH_SYSROOT help message. - - This patch fixes so help output is formatted similar with - other macros using AS_HELP_STRING. Also it outputs '[=DIR]' - as I suspect intended rather than '=DIR'. - -2013-10-09 Joseph Prostko (tiny change) - - libtool: Haiku change for shlibpath_overrides_runpath - - Pretty much all changes to Haiku for Libtool have been - upstreamed, however we currently have an incorrect value for - shlibpath_overrides_runpath. It should be "no" instead of - "yes". - - Previously Scott McCreary had submitted patches for us, but I - told him I would work to get this committed, as he is quite - busy lately. - - Here is a commit he made to our Haiku Ports site though, that - shows the exact change I am proposing done against Libtool - 2.4.2. - - http://ports.haiku-files.org/browser/haikuports/sys-devel/ - libtool/patches/libtool-2.4.2.patch - -2013-10-09 Brooks Moses (tiny change) - Johannes Obermayr - - libtool: Discard "-mllvm $arg" options when linking. - - Clang accepts options of the form "-mllvm $arg", and passes the - argument as an option to LLVM. These options caused problems - for Libtool when linking; in some cases, the -mllvm option is - passed through but the corresponding argument is dropped. (See - for example http://llvm.org/bugs/show_bug.cgi?id=14716.) - - This patch resolves the issue by explicitly matching -mllvm and - taking an argument. Since Clang never uses LLVM for linking, - the matched "-mllvm $arg" option is irrelevant for the link - step, and we can simply discard it once we've recognized it. - -2013-10-09 OndĹ™ej BĂ­lka - - maint: Fix various comment and documentation typos. - - OndĹ™ej writes: "Hi, this is upstream version of patch that I - sent to gcc. I generated this patch with tool that I am - writing: https://github.com/neleai/stylepp" - - (Note: The generated patch was adjusted to retain the non-US - but correct spelling of 'rigourous' before commit. --Brooks) - -2013-10-08 David 'Digit' Turner - - libtool: Add Android/Linux support. - - This patch adds proper Android support to libtool. The main - issues are the following: - - - Versioned libraries are not supported by the platform and - its build/packaging tools. - - - The dynamic linker is not GNU ld, there is no support for - DT_RUNPATH. - - - Similarly, there is no ldconfig. - -2013-09-17 Peter Rosin - - libtool: trust -print-search-dirs from recent GCC - - Alan Modra hints in [1] that -print-search-dirs was fixed in - GCC 4.2(?), so that it nowadays automatically appends - -print-multi-os-directory for the applicable directories. I.e. - it should no longer be necessary for libtool to append a second - ../lib64 when GCC has already done so. Also, the multi-os - appending loop seems to have been added specifically for early - (arguably broken) bi-arch enabled GCCs that printed -m32 - directories even though -m64 was the default [2]. So, my - conclusion is that we want any libtool magic to affect - -print-search-dirs output from contemporary GCCs as little as - possible, while continuing to append the - -print-multi-os-directory for the legacy case. - - Fixes bug#15321 reported by Ozkan Sezer. - - [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20425 - [2] http://lists.gnu.org/archive/html/bug-libtool/2006-09/msg00019.html - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): If any of the - directories printed by -print-search-dirs ends with the - content of -print-multi-os-directory, then assume that - GCC adds the multi-os-directory where appropriate all by - itself and hence don't try to second guess when to add - it manually. - * THANKS: Update. - -2013-09-16 Gary V. Vaughan - - bootstrap: clean up spurious 'gnulib-cache.m4 missing' error. - - * gl/build-aux/bootstrap.in (func_reconfigure): Don't show an - error when running without gnulib-cache.m4. - * bootstrap: Regenerate. - -2013-09-15 Gary V. Vaughan - - bootstrap: make ensure_changelog work for update mode projects. - - * gl/build-aux/bootstrap.in (func_bootstrap): Move - func_changelog_ensure invocation from here... - (func_reconfigure): ...to here. If gnulib_modules is empty, then - grep gnulib-cache.m4 for gitlog-to-changelog before invoking - func_changelog_ensure. - * bootstrap: Regenerate. - -2013-09-15 Gary V. Vaughan - - bootstrap: fetch defaults from gnulib-cache.m4 for non-imported projects. - - Recent changes uncovered some bugs in handling of gnulib-tool - options for projects that check in gnulib-cache.m4 rather than - keep a separate list of modules and options in bootstrap.conf. - * gl/build-aux/bootstrap.in (func_require_doc_base) - (func_require_gnulib_name, func_require_local_gl_dir): New - functions to set defaults from gnulib-cache.m4 in projects that - use gnulib-tool in --update mode. - (func_require_gnulib_tool_base_options): Use them to fetch - defaults. - (func_require_gnulib_copy_cmd): New function to calculate the - options required for gnlib-tool copy command. - (func_gnulib_tool_copy_file): Simplify accordingly. - (scriptversion): Bump. - -2013-09-05 Gary V. Vaughan - - maint: normalise formatting of recent commit log entry. - - * build-aux/git-log-fix: Add a summary line to ChangeLog entry of - most recent commit. - -2013-09-05 Brooks Moses - - maint: add Brooks Moses to AUTHORS file. - * AUTHORS: Add myself to committers list. - -2013-08-29 Gary V. Vaughan - - bootstrap: gnulib_tool=true means no gnulib submodule. - - * gl/build-aux/bootstrap.in (func_require_gnulib_tool): No - sneaking off and cloning gnulib when the user already specified - gnulib_tool=true in their bootstrap.conf! - * bootstrap: Regenerate. - -2013-08-23 Alan Modra - - bootstrap: make first char of IFS a space. - - Putting tab first in IFS breaks func_echo_all usage of $*, - resulting in failure of func_infer_tag to match a command line - using a $CC with trailing spaces. The trailing spaces were - stripped out of CC_expanded but words in $CC were separated by - tabs. This didn't match the makefile expansion of $CC using the - standard IFS with a first char of space. - * gl/build-aux/funclib.sh (IFS): Make first char a space. - * bootstrap: Regenerate. - -2013-08-23 Gary V. Vaughan - - bootstrap: support --no-git and --no-po options. - - * gl/build-aux/bootstrap.in (bootstrap_parse_options): Accept - --no-git as an alias for --skip-git for compatibility with gnulib - bootstrap, and --no-po for symmetry. - Reported by Mike Miller. - -2013-08-23 Gary V. Vaughan - - bootstrap: support gnulib gnulib_tool_option_extras settings. - - * gl/build-aux/bootstrap.in (func_gnulib_tool): Even though we - don't need it, support gnulib_tool_option_extras for bootstrap.conf - ported from gnulib bootstrap. - * bootstrap: Regenerate. - Reported by Mike Miller. - -2013-08-23 Gary V. Vaughan - - bootstrap: support sha1 binary on OpenBSD. - - * gl/build-aux/bootstrap.in (func_update_po_files): Remove the - use of --status in a way that will suppress all error messages, - but since this is only used to minimize updates, it shouldn't - cause an issue. - Look for a sha1 binary if the other SHA1SUM settings are not - found. - Also exit early if there is a problem updating the po file - checksums. - * bootstrap: Regenerate. - Ported from a gnulib patch by Padraig Brady. - -2013-08-23 Gary V. Vaughan - - bootstrap: support tools that don't accept '--version' in buildreq. - - * gl/build-aux/bootstrap.in (func_check_tool): Check whether there - is an executable as given or on the command PATH. - (func_check_version): Use func_check_tool to avoid invoking --version - when buildreq specifies '-' for the version number. - * bootstrap: Regenerate. - Reported by Mike Miller. - -2013-08-23 Gary V. Vaughan - - bootstrap: diagnose bad $buildreq formatting. - - Particularly when porting from gnulib bootstrap to libtool - bootstrap, it's easy to forget the extra URL column used for - error reporting. - * gl/build-aux/bootstrap.in (func_check_versions): A non-URL - pattern in the 3rd column of buildreq triggers a fatal error. - * bootstrap: Regenerate. - Reported by Mike Miller. - -2013-08-23 Gary V. Vaughan (tiny change) - - bootstrap: support OpenBSD sed. - - * gl/build-aux/bootstrap.in (func_insert_if_absent): Work around - the problem of OpenBSD sed not supporting '-' as a notation for - standard input. - * bootstrap: Regenerate. - * THANKS: Add Mike Miller. - Reported by Mike Miller. - -2013-08-23 Steve Ellcey - Gary V. Vaughan - - libtool: set correct linker ABI flags on mips64 linux. - - m4/libtool.m4 (_LT_ENABLE_LOCK): Select the n32 or n64 ABI when - linking to match the ABI produced with the user's compiler flags. - -2013-08-23 Gary V. Vaughan - - maint: correct many abuses of the word "which". - - * HACKING, NEWS, TODO, bootstrap, bootstrap.conf, - build-aux/ltmain.in, cfg.mk, configure.ac, doc/libtool.texi, - doc/notes.texi, gl/build-aux/bootstrap.in, - gl/build-aux/extract-trace, gl/build-aux/funclib.sh, - gl/doc/bootstrap.texi, libltdl/libltdl/lt_system.h, - libltdl/loaders/loadlibrary.c, libltdl/lt__strl.c, - libltdl/lt_dlloader.c, libltdl/ltdl.c, libtoolize.in, - m4/libtool.m4, m4/ltdl.m4, m4/ltsugar.m4, m4/lt~obsolete.m4, - tests/exceptions.at, tests/need_lib_prefix.at, tests/static.at: - Use "which" correctly, or replace with "that", "where" or "what" - as appropriate. - -2013-08-23 Brook Moses - - libtool: improve comments for _LT_ENABLE_LOCK implementation. - - * m4/libtool.m4 (_LT_ENABLE_LOCK): enhance comments to explain - why the code looks odd with 32bit flags in the 64bit section and - vice versa. - -2013-08-22 Alan Modra - - libtool: fix refixed unmangled powerpc*le-linux support patch - - * m4/libtool.m4: fix refixed badly unmangled hunks from earlier - powerpc*le changeset. - Reported by Peter Rosin. - -2013-08-22 Alan Modra - - libtool: refix unmangled powerpc*le-linux support patch - - * m4/libtool.m4: refix badly unmangled hunks from earlier - powerpc*le changeset. - Reported by Peter Rosin. - -2013-08-22 Gary V. Vaughan - - libltdl: don't trip subdir-objects warning from Automake >= 1.14. - - Latest Automake releases now warn when subdir-objects is not - specified in preparation for Automake 2.0. The option has been - in Automake for more than a decade, so there's minimal risk of - someone using the next release of Libtool alongside an ancient - release of Automake when bootstrapping libltdl client projects. - * libltdl/configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects. - -2013-08-22 Gary V. Vaughan - - libtool: refactor powerpc*le-linux case branch expressions. - - libtool (_LT_ENABLE_LOCK): make inner case branch expressions - consistent with outer case expression. - Reported by Peter Rosin. - -2013-08-22 Alan Modra - - libtool: fix mangled powerpc*le-linux support patch - - * m4/libtool.m4: unmangled badly pasted hunks from previous - changeset. - -2013-08-22 Alan Modra - - libtool: initial powerpc*le-linux support - - * m4/libtool.m4 (ld -m flags): Remove non-canonical ppc host match. - Support little-endian powerpc linux host. - -2013-06-17 Yaakov Selkowitz - - libtool: fix conversion warnings in cwrapper - - build-aux/ltmain.in (func_emit_cwrapperexe_src:main): XMALLOC wants a - size_t. Also use int instead of intptr_t for the return value (which - is fine since the _spawnv call is synchronous). - (func_emit_cwrapper_src) [MSVC]: Remove the intptr_t helper define. - (func_emit_cwrapperexe_src:find_executable): Use size_t for variables - involved in strlen computations. - (func_emit_cwrapperexe_src:lt_setenv): Likewise. - (func_emit_cwrapperexe_src:lt_extend_str): Likewise. - (func_emit_cwrapperexe_src:lt_update_exe_path): Likewise. - THANKS: Update. - -2013-04-28 Peter Rosin - - libtool: break all the way out when a good nm is found - - The current code tries to locate a compatible nm tool. It starts with - a prefixed nm tool (great!) and includes a plain nm too (that's fine). - The problem is that the code searches for the prefixed nm before the - plain nm (normally fine), but doesn't break once it has found a valid - match, and the plain nm ends up the winner. - - Report and analysis by Mike Frysinger. - - * m4/libtool.m4 (LT_PATH_NM): Break all the way out on a good match. - -2013-01-28 Peter Rosin - - maint: update email address... - - * THANKS: ...of Jan Engelhardt. - -2013-01-28 Jan Engelhardt - - doc: fix an orthographic error - - * doc/libtool.texi (Install mode): Ensure, not insure. - -2013-01-27 Gary V. Vaughan - - bootstrap: fix func_insert_if_absent bugs. - - * gl/build-aux/bootstrap.in (func_insert_if_absent): Print verbose - message when there is a new entry to add. - Also, make sure to update the .gitignore file when changed. - * bootstrap: Regenerate. - * THANKS: Add Pádraig Brady. - Reported by Pádraig Brady. - -2013-01-27 Gary V. Vaughan - - bootstrap: factor out gnulib-tool option calculations. - - * gl/build-aux/bootstrap.in (func_gnulib_tool): Factor base option - settings out... - (require_gnulib_tool_base_options): ...to here. - * bootstrap: Regenerate. - -2013-01-27 Gary V. Vaughan - - syntax-check: fix a quoted_test_operand violation. - - * gl/build-aux/bootstrap.in (func_insert_if_absent): Make sure - test operands are quoted correctly. - * bootstrap: Regenerate. - -2013-01-27 Gary V. Vaughan - - syntax-check: fix new SPACE-TAB violations. - - * build-aux/ltmain.in (func_dll_def_p): Replace SPACE-TAB by - TAB-SPACE. - * m4/libtool.m4 (_LT_DLL_DEF_P): Likewise. - -2013-01-26 Bernhard Voelker - Gary V. Vaughan - - bootstrap: always auto-add .gitignore files at the top. - - * gl/build-aux/bootstrap.in (func_gitignore_entries): New function. - Strip comments and blank lines. - (func_insert_sorted_if_absent): Renamed... - (func_insert_if_absent): ...to this. Adjust all callers. - Instead of comparing the sorted new file with the original, - compare the line count, being careful to diagnose duplicate - entries which would otherwise skew the count. - -2013-01-26 Gary V. Vaughan - - maint: patch gitlog-to-changelog to reduce bogus warnings. - - Rather than trying to find a new useful warning among the 55 - expected warnings from vanilla gitlog-to-changelog, patch it to - elide the bogus warnings from duplicate log entries. - * gl/bulid-aux/gitlog-to-changelog.diff: Omit-from-ChangeLog is - a new log entry tag to skip legitimate log duplicates. - * build-aux/git-log-fix: Instead of deleting all content of - duplicates and generating a warning, append the new - Omit-from-ChangeLog tag to elide silently. - * Makefile.am *($(changelog)): Remove the 'expect 55 warnings' - echo. - -2013-01-22 Peter Rosin - - libtool: factor out the dll .def file test and improve it - - Resolves bug#13414. Problem reported by Erik van Pienbroek - and Martin Doucha. - - build-aux/ltmain.in (func_mode_link): Factor out the test if a - given symbol file is a module-definition (.def) file into... - (func_dll_def_p): ...this function, which also improves the check. - m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - : Similarly, factor out the test if - a given symbol file is a module-definition (.def) file into... - (_LT_DLL_DEF_P): ...this macro, which also improves the check. - tests/export-def.at: New test. - Makefile.am (TESTSUITE_AT): Add above test. - NEWS: Update. - THANKS: Update. - -2013-01-21 Peter Rosin - - libtool: allow tabs in *_cmds variables - - This is in preparation for the next patch, which needs to have literal - tab characters survive the evaluation of the *_cmds variables. - - build-aux/ltmain.in (func_execute_cmds, func_mode_link): Don't collapse - tabs and surrounding whitespace into a single space when executing a - tilde-separated cmds construct, instead keep any tabs intact. - -2013-01-19 Peter Rosin - - libtool: avoid tabs in all *_cmds variables. - - This is in preparation for the next change, which will preserve - tabs when the *_cmds variables are evaluated. Removing tabs first - ensures that the libtool output stays the same when tabs are not - collapsed with surrounding whitespace. - - m4/libtool.m4: Convert indenting tabs to spaces for all *_cmds - variables. - -2013-01-16 Peter Rosin - - libtool: align archive_cmds with archive_expsym_cmds for MSVC - - m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] - : Specify the import library name, aligning with - archive_expsym_cmds. - -2013-01-16 Peter Rosin - - libtool: feed .def files verbatim to the MSVC linker - - m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] - : When the symbol list isn't really a symbol list, - but instead a .def file, copy it to a file with .def extension so that - MSVC recognizes it as a module-definition file and feed it verbatim. - NEWS: Update - -2013-01-15 Peter Rosin - - Revert "libtool: use false or : for $always_export_symbols, and simplify" - - This reverts commit 5ed7430fcb48c862c9d76ef497b73485d580338e, which is - totally bogus as the variable is also set in libtool.m4. Sorry for the - noise. - -2013-01-15 Peter Rosin - - libtool: use false or : for $always_export_symbols, and simplify - - * build-aux/ltmain.in (func_mode_link): Save a string comparison - by setting $lways_export_symbols to false or : and using it directly - as the first argument to if. Make sure that it is always initialized - while at it. - -2013-01-09 Peter Rosin - - tests: fix nits in path handling - - tests/bindir.at: func_save_and_prepend_path is already checking - $bindirneeded internally, so remove checks from call sites. Add - proper quoting while at it. - (func_save_and_prepend_path): Use $PATH_SEPARATOR instead of a literal - colon (in both instances). - -2013-01-08 Peter Rosin - - libtool: simplify quoting and code for symbols exporting sed programs - - * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] - : Make the sed programs easier to read (and - recover some backslashes for later in the process). - -2013-01-03 Peter Rosin - - tests: don't feed -no-undefined to the linker during configure. - - * tests/deplibs-mingw.at: Restore LDFLAGS for the configure run so that - the linker does not see -no-undefined. Makes the test pass instead of - skip on MinGW. - -2013-01-03 Gary V. Vaughan - - maint: note warnings during ChangeLog generation are normal. - - * Makefile.am ($(changelog)): Output a note that 55 empty commit - log warning messages during ChangeLog generation are expected. - -2013-01-03 Gary V. Vaughan - - git: ignore .serial file. - - * .gitignore: ignore .serial file. - -2013-01-03 Gary V. Vaughan - - maint: fix recent badly formatted ChangeLog entry. - - * build-aux/git-log-fix: No empty lines in a single commit. - -2013-01-03 Gary V. Vaughan - - syntax-check: fix a useless_quotes_in_assignment violation. - - * gl/build-aux/inline-source (func_require_AWK): Remove useless - quotes. - -2013-01-03 Gary V. Vaughan - - syntax-check: fix prohibit_strcmp syntax-check violation. - - * build-aux/ltmain.in (func_generate_dlsyms): Add a definition for - STREQ, and then use it in place of !strcmp. - -2013-01-03 Gary V. Vaughan - - docs: update copyright dates in libtool.texi. - - It seems `make update-copyright' missed the texinfo copyright - notice. - * doc/libtool.texi: Update copyright dates for 2013. - -2013-01-03 Brad Smith - - libtool: add bitrig support. - - * build-aux/ltmain.in (func_mode_link): Add bitrig support. - * m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE, LT_CMD_MAX_LEN) - (_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD) - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Ditto. - * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Ditto. - * tests/deplibs-ident.at(build tree relpaths): Ditto. - * NEWS: Updated. - -2013-01-01 Peter Rosin - - maint: check if git works before relying on it - - Makefile.am (m4/ltversion.m4): Take the opportunity to regenerate - $(srcdir)/.serial whenever git is actually working. - (git_version_gen): Provide a fallback version for the git-version-gen - script to use when .tarball-version does not exist and git is not - working. - -2013-01-01 Peter Rosin - - maint: really do update to latest upstream gnulib - Commit 9a7071e668d044c1c47c855d2f0bc7cadb235071 "maint: update - copyright notices to include 2013." states that this was done, but - it actually was not. - gnulib/: Update to latest upstream. - -2013-01-01 Gary V. Vaughan - - maint: remove unsupported Tested-by: tag. - - * build-aux/git-log-fix: Tested-by: line should not appear in the - ChangeLog. - -2013-01-01 Peter Rosin - - bootstrap: update README-release patch - - gl/top/README-release.diff: Update to match latest gnulib changes. - -2013-01-01 Gary V. Vaughan - - maint: update copyright notices to include 2013. - - * gnulib/: Update to latest upstream. - * AUTHORS, ChangeLog.old, HACKING, Makefile.am, NEWS, README, - THANKS, TODO, bootstrap, bootstrap.conf, - build-aux/edit-readme-alpha, build-aux/ltmain.in, cfg.mk, - configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in, - gl/build-aux/extract-trace, gl/build-aux/funclib.sh, - gl/build-aux/inline-source, gl/build-aux/options-parser, - libltdl/README, libltdl/argz.c, libltdl/argz_.h, - libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, - libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, - libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, - libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, - libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, - libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, - libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, - libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, - libltdl/loaders/shl_load.c, libltdl/lt__alloc.c, - libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, - libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, - libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4, - m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, - m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, - tests/am-subdir.at, tests/archive-in-archive.at, - tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, - tests/configure-iface.at, tests/convenience.at, tests/ctor.at, - tests/cwrapper.at, tests/darwin.at, tests/demo.at, - tests/depdemo.at, tests/deplib-in-subdir.at, - tests/deplibs-ident.at, tests/deplibs-mingw.at, - tests/destdir.at, tests/dlloader-api.at, - tests/dumpbin-symbols.at, tests/duplicate_conv.at, - tests/duplicate_deps.at, tests/duplicate_members.at, - tests/early-libtool.at, tests/exceptions.at, - tests/execute-mode.at, tests/exeext.at, tests/export.at, - tests/f77demo.at, tests/fail.at, tests/fcdemo.at, - tests/flags.at, tests/help.at, tests/indirect_deps.at, - tests/infer-tag.at, tests/inherited_flags.at, tests/install.at, - tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, - tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, - tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, - tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, - tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, - tests/need_lib_prefix.at, tests/no-executables.at, - tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, - tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, - tests/resident.at, tests/runpath-in-lalib.at, - tests/search-path.at, tests/shlibpath.at, tests/slist.at, - tests/standalone.at, tests/static.at, tests/stresstest.at, - tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, - tests/template.at, tests/testsuite.at, tests/versioning.at, - tests/with-pic.at: Bump copyright year. - -2012-12-19 Peter Rosin - - libtool: Drop $LDFLAGS when invoking the toolchain - - m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [Solaris] : Drop - $LDFLAGS as it is a user variable that is usually used when invoking - libtool. As such, it should not be used by libtool when it invokes the - toolchain as it contains options intended for libtool, not the - toolchain. Fixes export.at and other tests that add -no-undefined to - LDFLAGS. - -2012-12-19 Richard Palo (tiny change) - - libtool: Add SONAME to the so when exporting explicit symbols on Solaris - - m4/libtool.m (_LT_LANG_CXX_CONFIG) [Solaris] : Feed - -h $soname to the linker just as is done in archive_cmds. - THANKS: Update. - -2012-11-02 Peter Rosin - - libtool: add @INIT@ to the preloader, for data imports on Windows - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Adjust - lt_cv_sys_global_symbol_to_cdecl so that it declares imported - data symbols as __declspec(dllimport). Adjust - lt_cv_sys_global_symbol_to_c_name_address and - lt_cv_sys_global_symbol_to_c_name_address_lib_prefix so that they - fill in "(void*) 0" for imported data symbols. Add new - lt_cv_sys_global_symbol_to_import which finds imported data - symbols if non-empty and export this variable to the libtool script - in the global_symbol_to_import variable. Adjust - lt_cv_sys_global_symbol_pipe so that data imports can be located. - * build-aux/ltmain.in (func_generate_dlsyms): When data imports - are present, as indicated by global_symbol_to_import, generate - a relocation function lt_syminit that fills in the addresses - of data imports at runtime and point to the new function with a - new virtual @INIT@ entry in the symbol list. - * libltdl/loaders/preopen.c (add_symlist): Look for the virtual - @INIT@ symbol (i.e. lt_syminit) and call it. - (vm_sym): Step past the @INIT@ symbol, if present. - * tests/demo.at (dlmain.c): Call the @INIT@ symbol, if present. - * NEWS: Update. - -2012-11-02 Peter Rosin - - libtool: unify the global symbol transformations - - Since it is safe for $lt_cv_sys_global_symbol_to_cdecl to match - with a simple /^T .* .*$/ type expression, it is ok for the other - transformations as well. At least if you require at least one - $symcode at the start of the line, so that the just generated output - doesn't match the next sed expression. - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unify the matching expressions - in the sed programs that transform the extracted symbol lines. - -2012-11-02 Peter Rosin - - libtool: break up long lines - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Break up long lines when - assigning the sed scripts that transform the extracted symbol lines. - -2012-10-25 Gary V. Vaughan - - bootstrap: use a decent awk if /bin/awk is hopeless. - - Bootstrap used to fail without an explicit AWK environment - setting on machines with both nawk and awk, but where awk is a - museum piece. - * gl/build-aux/inline-source (AWK): Remove initial setting. - (require_awk): Search PATH for a gawk, mawk or nawk before - settling on awk, just like configure does. - (func_include): Use it. - -2012-10-25 Gary V. Vaughan - - bootstrap: be sure to register gnulib submodule. - - * gl/build-aux/bootstrap.in (require_gnulib_submodule): Register - the gnulib submodule before updating it, even with a shallow - clone of gnulib. - * bootstrap: Regenerate. - Reported by Robert Boehne. - -2012-10-25 Gary V. Vaughan - - bootstrap: fix a typo in a find invocation. - - * gl/build-aux/bootstrap.in (require_buildreq_patch): Fix a typo. - * bootstrap: Regenerate. - -2012-10-25 Gary V. Vaughan - - bootstrap: bash versions 3.00.x do not have += functionality. - - * gl/build-aux/funclib.sh: Fix a typo in fork minimisation for - bash versions 3.00.x. - * bootstrap: Regenerate. - -2012-10-25 Gary V. Vaughan - - maint: fix missing command error in make dist. - - * Makefile.am ($(readme)): Don't forget the 'test'! - -2012-10-25 Gary V. Vaughan - - tests: fixup experr for addition whitespace in error prefix. - - Fix spurious test failures due to unmatched experr output. - * tests/libtoolize.at, tests/old-ltdl-iface.at: Add the addition - 2 spaces now used to justify error prefixes. - -2012-10-25 Gary V. Vaughan - - bootstrap: use of ';' in sed scripts is not portable. - - * gl/build-aux/bootstrap.in (require_buildreq_automake) - (require_dotgitmodules_parameters, require_package) - (func_update_po_files): Use '\n' or -e to separate sed commands, - instead of ';'. - * gl/build-aux/extract-trace (func_autoconf_configure) - (func_extract_trace_first): Likewise. - * gl/funclib.sh: Likewise. - (func_tr_sh): Likewise. - * gl/build-aux/options-parser (func_usage_message): Likewise. - * bootstrap: Regenerate. - Reported by Robert Boehne. - -2012-10-25 Gary V. Vaughan - - bootstrap: don't $tc_standout spaces, it's ugly! - - * gl/build-aux/funclib.sh (func_error): Move the prefix indent - before $tc_standout to avoid bright red inverse spaces. - * bootstrap: Regenerate. - -2012-10-25 Gary V. Vaughan - - bootstrap: fix rectangle select induced trailing spaces. - - * gl/build-aux/funclib.sh (require_term_colors): Delete trailing - whitespace. - * bootstrap: Regenerate. - -2012-10-25 Gary V. Vaughan - - bootstrap: display prerequisite program environment vars. - - Be more helpful when a prerequisite program from $buildreq - cannot be located, by showing what variable to export if it - is already installed but not in PATH. - * gl/build-aux/bootstrap.in (func_check_versions): Display - associated environment variables for not found prerequisite - programs. - * bootstrap: Regenerate. - -2012-10-25 Gary V. Vaughan - - bootstrap: honor COLORTERM and USE_ANSI_COLORS. - - Plenty of machines use a terminfo database that doesn't have - entries for color escape sequences, even though the terminal - itself most likely supports ANSI color escapes. - * gl/build-aux/funclib.sh (require_term_colors): If COLORTERM - or USE_ANSI_COLORS are set, then ignore what terminfo says, - and use standard ANSI color escape sequences. - * bootstrap: Regenerate. - -2012-10-25 Gary V. Vaughan - - bootstrap: make error messages prettier. - - * gl/build-aux/funclib.sh (func_error): Indent 'error' prefix by - two additional spaces to line up nicely with 'warning' and - 'running'. - * bootstrap: Regenerate. - -2012-10-24 Gary V. Vaughan - - bootstrap: emphasize command executions with terminal bold. - - * bootstrap.in (func_show_eval): Use $require_term_colors to - embolden the command about to be executed in output. - * bootstrap: Regenerate. - * bootstrap.conf (libtool_build_prerequisites): Use the standard - (colorful!) bootstrap func_show_eval here too. - -2012-10-24 Gary V. Vaughan - - bootstrap: show output from 'make bootstrap-deps'. - - * bootstrap.conf (libtool_build_prerequisites): Add support for - AM_V_GEN and AM_V_at to the temporary pre-configure Makefile. - Instead of eliding non-error output from bootstrap-deps, show - the results, with verbosity set according to $opt_verbose. - * Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh, libtool) - (README): Fix the display rules to correctly fall-back to - AM_DEFAULT_VERBOSITY when V=1 is not passed to make invocation. - -2012-10-22 Gary V. Vaughan - - maint: fixup badly formatted ChangeLog entries. - - * build-aux/git-log-fix: Mostly missing category tags and refilling - to 64 columns, but also deleting duplicate entries from merging the - gary/reredo-test-operand-order branch. - * g/build-aux/gitlog-to-changelog.diff: Local patch to prevent - printing unqualified header lines for deleted duplicate patches. - * THANKS: Put email address for Paul Seidler here... - * build-aux/git-log-fix: ...and remove from ChangeLog here. - -2012-10-22 Gary V. Vaughan - - bootstrap: regenerate to propagate Bob's func_split_equals fix. - - * bootstrap: regenerate. - -2012-10-22 Mikhail Zabaluev (tiny change) - - configury: make LT_INIT options pic-only and no-pic work. - - * m4/ltoptions.m4 (_LT_WITH_PIC): Set pic_mode at m4 time. - -2012-10-21 Bob Friesenhahn - - options-parser: fix regexp quoting error. - * gl/build-aux/options-parser (func_split_equals): Fixed expr - regexp quoting syntax error encountered with non-XSI shells. - Problem was noticed under Solaris 10. - -2012-10-21 Gary V. Vaughan - - syntax-check: fix violations and implement sc_old_style_quoting. - - Modern GNU ASCII quoting in output and comments is done - 'like this'. - * cfg.mk (sc_old_style_quoting): Try to catch most instances - of `old style quoting' so that it is not accidentally re- - introduced to the code. - * HACKING, Makefile.am, NEWS, PORTING, README, TODO, bootstrap, - bootstrap.conf, build-aux/edit-readme-alpha, - build-aux/git-hooks/commit-msg, build-aux/ltmain.in, - doc/libtool.texi, gl/build-aux/bootstrap.in, - gl/build-aux/extract-trace, gl/build-aux/funclib.sh, - gl/build-aux/inline-source, gl/build-aux/options-parser, - libltdl/libltdl/slist.h, libltdl/loaders/loadlibrary.c, - libltdl/ltdl.c, libltdl/slist.c, libtoolize.in, m4/argz.m4, - m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, - tests/cmdline_wrap.at, tests/configure-iface.at, tests/demo.at, - tests/depdemo.at, tests/deplib-in-subdir.at, - tests/deplibs-mingw.at, tests/destdir.at, tests/execute-mode.at, - tests/f77demo.at, tests/fail.at, tests/inherited_flags.at, - tests/libtool.at, tests/libtoolize.at, tests/lt_dladvise.at, - tests/lt_dlexit.at, tests/mdemo.at, tests/need_lib_prefix.at, - tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/static.at, - tests/stresstest.at, tests/testsuite.at, tests/versioning.at: - Convert to upright quotes. - -2012-10-21 Gary V. Vaughan - - tests: remove spurious shell variable braces. - - * tests/testsuite.at: Allow the shell braces syntax check to pass - again. - -2012-10-21 Gary V. Vaughan - - bootstrap: add missing bootstrap override module file. - - * gl/modules/bootstrap: Forgot to add this file in a previous - commit. - -2012-10-21 Gary V. Vaughan - - bootstrap: allow bootstrap.texi to pass syntax-check. - - * cfg.mk (sc_require_function_nl_brace): Skip texi files. - * gl/doc/bootstrap.texi: Fix assorted syntax-check violations. - -2012-10-21 Gary V. Vaughan - - bootstrap: move into local gl overrides directory. - - In order to work as if it were already adopted by upstream - gnulib, put bootstrap and supporting scripts into the local - gnulib overrides directory. - * bootstrap, build-aux/extract-trace, build-aux/funclib.sh, - build-aux/inline-source, build-aux/options-parser: Move from - here... - * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, - gl/build-aux/funclib.sh, gl/build-aux/inline-source, - gl/build-aux/options-parser: ...to here. - * gl/build-aux/options-parser (func_version): Show only the - first copyright notice on files generated with inline-source. - * gl/doc/bootstrap.texi: Developer documentation for bootstrap. - * gl/modules/extract-trace, gl/modules/funclib.sh, - gl/modules/inline-source, gl/modules/options-parser: Describe - dependencies for gnulib-tool. - * bootstrap.conf (gnulib_modules): Add extract-trace, - inline-source and options-parser modules. - * bootstrap: Regenerated from gnulib overrides as a mono- - lithic script file using gl/build-aux/inline-source. - -2012-10-20 Gary V. Vaughan - - tests: make sure AC_CONFIG_MACRO_DIR is still supported. - - * tests/old-m4-iface.at (AC_CONFIG_MACRO_DIR support): New test. - Make sure we continue to support AC_CONFIG_MACRO_DIR using - projects. - -2012-10-20 Gary V. Vaughan - - libtoolize: select the first directory from AC_CONFIG_MACRO_DIRS. - - * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIRS directories): - New test to ensure multiple directory arguments mork correctly. - * libtoolize.in (func_require_ac_macro_dir): Use expr to discard - any additional space delimited entries in the first - AC_CONFIG_MACRO_DIRS argument. - * bootstrap (func_require_macro_dir): Likewise. - -2012-10-20 Gary V. Vaughan - - libtoolize: migrate to new AC_CONFIG_MACRO_DIRS api. - - * libtoolize.in (func_install_pkgmacro_files): Uee - AC_CONFIG_MACRO_DIRS. - (func_check_macros): Advise using AC_CONFIG_MACRO_DIRS. - (require_ac_macro_dir): Give priority to AC_CONFIG_MACRO_DIRS. - (require_macro_dir): Likewise. - * bootstrap: Give priority to AC_CONFIG_MACRO_DIRS. - * configure.ac: Define dummy AC_CONFIG_MACRO_DIRS for older - Autotools, that is allow bootstrap with current release versions. - Use AC_CONFIG_MACRO_DIRS instead of AC_CONFIG_MACRO_DIR. - * tests/testsuite.at: Source build-aux/extract-trace for access - to func_extract_trace. - (LT_AT_ACLOCAL): Use it to get the AC_CONFIG_MACRO_DIRS argument - to pass manually to aclocal for compatibility with old Automake. - Add a fallback AC_CONFIG_MACRO_DIRS definition to acinclude.m4 - in the test directory. - (LT_AT_AUTORECONF): Likewise. - * tests/cdemo.at, tests/configure-iface.at, tests/darwin.at, - tests/demo.at, tests/depdemo.at, tests/early-libtool.at, - tests/libtoolize.at, tests/mdemo.at, tests/no-executables.at, - tests/nonrecursive.at, tests/old-ltdl-iface.at, - tests/recursive.at, tests/subproject.at, tests/tagdemo.at, - tests/template.at: Likewise. - * doc/libtool.texi: Update. - * NEWS: Update. - -2012-10-19 Peter Rosin - - libtool: parse "dumpbin -headers" to get symbols exported from implibs - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [MSVC]: Extract symbols - imported from DLLs by import libraries in the Microsoft dumpbin - wrapper. - (LT_PATH_NM): Add -headers option if dumpbin is the located name - lister to feed the above new code. - * NEWS: Update. - -2012-10-19 Peter Rosin - - libtool: make func_win32_libid work when the name lister is MS dumpbin - - * m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [MSVC]: Use - func_win32_libid as file_magic_cmd when the name lister - is MS dumpbin. - (_LT_CMD_GLOBAL_SYMBOLS): Export the new veriable nm_interface - to the libtool script. - * build-aux/ltmain.in (func_cygming_gnu_implib_p) - (func_cygming_ms_implib_p): Move up to before... - (func_win32_libid): ...which now uses them to determine if - the object is an import library when the nm_interface is - "MS dumpbin". - * NEWS: Update. - -2012-10-19 Gary V. Vaughan - - bootstrap: always extract only the first AC_CONFIG_MACRO_DIR arg. - - Previous versions of bootstrap concatenated all the arguments to - multiple invocations of AC_CONFIG_MACRO_DIR when extracting the - macro_dir directory name. This change enforces correct and - consistent behaviour. - * libtoolize.in (func_require_macro_dir): Use the new - func_extract_trace_first function to make sure the first argument - is always used. - (func_require_aux_dir, func_require_gnulib_mk) - (func_require_source_base): Future proof these functions against - multiple invocations or additional arguments to the macros they - trace. - -2012-10-19 Gary V. Vaughan - - bootstrap: extract *first* ACLOCAL_AMFLAGS -I argument. - - * bootstrap (func_require_macro_dir): .* is greedy, so _G_sed_scan - as it was will always return the last -I argument, which is wrong. - Move to a shell loop to ensure we always get the first -I argument - if any. (code from libtoolize.in). - -2012-10-19 Gary V. Vaughan - - bootstrap: use short gnu.org urls consistently. - - * bootstrap.conf (buildreq): Use gnu.org/s/ style urls to match - the ones added automatically by the main bootstrap script. - -2012-10-19 Gary V. Vaughan - - libtoolize: fix a misspelled variable name. - - * libtoolize.in (func_require_am_macro_dir): The loop uses _G_arg - not _G_opt. Now spelled correctly. - -2012-10-19 Gary V. Vaughan - - tests: always extract only the first AC_CONFIG_MACRO_DIR arg. - - Previous releases of libtoolize used the final invocation when - there were several, and after the rewrite over extract-trace, - all the invocation directories were concatenated. This change - enforces correct and consistent behaviour. - * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIR invocation): - New test. - * build-aux/extract-trace (func_extract_trace_first): New function - for clients that source this file, which returns only the first - argument to the first invocation of the named macros. - * libtoolize.in (func_require_ac_macro_dir): Use it to make sure - the first argument is always used. - (func_require_ac_aux_dir, func_require_ac_ltdl_dir) - (func_require_ac_ltdl_options): Future proof these functions against - multiple invocations or additional arguments to the macros they - trace. - * News (Important incompatible changes): Note change in semantics. - Reported by Eric Blake. - -2012-10-19 Gary V. Vaughan - - tests: always extract only the first ACLOCAL_AMFLAGS include arg. - - * tests/libtoolize.at (libtoolize ACLOCAL_AMFLAGS extraction): - New test. - * libtoolize.in (func_check_macros): Display the correct advice - when ACLOCAL_AMFLAGS specifies a macrodir, but AC_CONFIG_MACRO_DIR - does not. - -2012-10-19 Gary V. Vaughan - - doc: add a missing period following @xref. - - * doc/libtool.texi: Silence a warning by adding back a missing - period. - -2012-10-19 Peter Rosin - - libtool: avoid non-underscore symbols in the "dumpbin -symbols" wrapper - - If an object has a symbol lacking an expected leading underscore, - the symbol name is not printed, but the symbol type is, leading - to output such as: - T _normal _normal - T T _another _another - when the expected output would have been something like: - T _normal _normal - T no_underscore no_underscore - T _another _another - However, symbols lacking an expected leading underscore are - not "real" symbols, they are internal symbols which we don't - care about, therefore drop them instead. - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [MSVC]: Output the whole - symbol line in one go. - * NEWS: Update. - -2012-10-18 Peter Rosin - - libtool: unbreak Windows path quoting - - The lt_sed_naive_backslashify variable lost its lt_ prefix - when m4sh was dropped. But not everywhere. - * build-aux/ltmain.in (func_convert_core_file_wine_to_w32) - (func_convert_core_msys_to_w32): Drop the lt_ prefix from - the lt_sed_naive_backslashify variable. - -2012-10-18 Peter Rosin - - libtool: kill leftover m4 quoting - - * build-aux/ltmain.in (func_mode_compile): Use literal ] and [. - -2012-10-18 Gary V. Vaughan - - syntax-check: exclude false positive nested quote test. - - * build-aux/funclib.sh (func_echo_infix_1): These quotes are not - actually nested, so add an exclude marker for the syntax-check. - -2012-10-18 Gary V. Vaughan - - libtool: don't set auxscriptsdir at bootstrap time. - - * build-aux/ltmain.in: Declare relative paths to aux scripts from - source commands, for early inlining during bootstrap. - * Makefile.am (bootstrap_edit): Move auxscriptsdir - substitution from here.... - (configure_edit): ...to here. - ($(ltmain_sh)): Feed ltmain.in through inline-source as ltmain.sh - is generated to remove relative paths to aux scripts. - (install-data-local): Simplify. No need for special treatment for - ltmain.sh during installation, since aux scripts have already - been inlined. - Reported by Peter Rosin. - -2012-10-18 Gary V. Vaughan - - extract-trace: only source funclib.sh when $progname is extract-trace. - - * build-aux/extract-trace: $usage is too generic, and can cause - sourced extract-trace to re-source options-parser. We already - require that funclib.sh be sourced before sourcing options-parser, - so it's safer to check that $progname is correct before sourcing - options-parser again from here. - -2012-10-18 Peter Rosin - - libtool: fix spelling nit - - * build-aux/ltmain.in (func_generate_dlsyms): Fix spelling nit. - * libltdl/libltdl/lt_system.h: Likewise. - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise. - -2012-10-12 Gary V. Vaughan - - maint: remove m4sh support. - - Now that the code base has coalesced around a single option - parser, there's no need for the unused getopt.m4sh and support. - * build-aux/getopt.m4sh, build-aux/general.m4sh, - tests/getopt-m4sh.at: Remove. - * Makefile.am (m4sh_dir, LT_M4SH, general_m4sh, getopt_m4sh) - (sh_files): Remove. - (TESTSUITE_AT): Remove tests/getopt-m4sh.at. - (TESTS_ENVIRONMENT): Remove M4SH. - * bootstrap.conf (libtool_build_prerequisites): Remove M4SH. - * configure.ac (M4SH): Remove. - * HACKING (Editing `.m4sh' Files): Remove and renumber following - sections. - -2012-10-12 Gary V. Vaughan - - libtool: rewritten over funclib.sh instead of general.m4sh. - - * Makefile.am (ltmain_m4sh, ltmain_sh_edit): Remove. - (ltmain_in): Path to ltmain.in. - (ltmain_sh): Generate ltmain.sh from ltmain.in using - $(bootstrap_edit). - * build-aux/ltmain.m4sh: Remove. - * build-aux/ltmain.in: Rewritten as a client of funclib.sh. - -2012-10-12 Gary V. Vaughan - - libtoolize: inline sourced helper scripts during install. - - * build-aux/inline-source: New file. - * Makefile.am (inline_source): Path to inline-source script. - (EXTRA_DIST): Distribute inline-source too. - (helper_scripts): Remove. - (install-data-local): Inline sourced helper scripts during - installation. - Don't install helper_scripts. - (uninstall-hook): Don't uninstall helper_scripts. - -2012-10-12 Gary V. Vaughan - - libtoolize: rewritten over funclib.sh instead of general.m4sh. - - * Makefile.am (libtoolize_m4sh): Remove. - (EXTRA_DIST): Delete libtoolize_m4sh. - (libtoolize_in): Remove rule. - (libtoolize): Apply bootstrap_edit to libtoolize.in too. - * configure.ac (AC_CONFIG_SRCDIR): Refer to libtoolize.in. - * libtoolize.m4sh: Remove. - * libtoolize.in: Rewrite as a client of options-parser and the - new funclib.sh, avoiding the m4sh expansion step. - * tests/libtoolize.at, tests/old-ltdl-iface.at (experr): adjust - to match funclib.sh error output. - -2012-10-12 Gary V. Vaughan - - options-parser: correctly quote shell meta-characters in arguments. - - When any argument contains a shell meta-character, it needs to be - quoted when passed around. We already pass parameter lists as - space delimited strings of arguments, and pass the string through - eval to turn it back into a list before re-assigning using `set'. - To prevent the shell from interpreting any meta-characters during - an `eval set dummy $argumentlist', they must be quoted again - inside the quoted argument list. - * build-aux/funclib.sh (func_quote_for_eval): Be careful to keep - a separate tally of quoted and unquoted argument lists, to - conform to the API of the single argument func_quote_for_eval - implementation in build-aux/general.m4sh. - * bulid-aux/options-parser (func_run_hooks): To account for the - doubly quoted meta-character argument lists, we must eval the - parameter reassignment `set' call separately from evaluating the - dynamically named hook results variable. - -2012-10-12 Gary V. Vaughan - - maint: factor common shell code into build-aux/funclib.sh. - - Moving potentially reusable code into a common file that can - be sourced by clients, and adjusting for impedance mismatch - or necessary renames during integration. - * build-aux/funclib.sh: New file. - * build-aux/options-parser (Shell normalisation) - (User overrideable command paths, Global variables, func_append) - (require_term_colors, func_echo, func_echo_infix_1, func_warn) - (func_error, func_fatal_error, func_quote_for_eval, func_verbose): - Move from here... - * build-aux/funclib.sh (Shell normalisation, User overrideable - command paths, Global variables, func_append) - (require_term_colors, func_echo, func_echo_infix_1) - (func_warn_and_continue, func_error, func_fatal_error) - (func_quote_for_eval, func_verbose): ...to here. - * build-aux/general.m4sh (func_arith, func_basename) - (func_dirname, func_dirname_and_basename, func_echo_all) - (func_grep, func_len, func_mkdir_p, func_mktempdir) - (func_normal_abspath, func_relative_path, func_quote_for_expand) - (func_stripname, func_show_eval, func_tr_sh): Move from here... - * build-aux/funclib.sh(func_arith, func_basename) - (func_dirname, func_dirname_and_basename, func_echo_all) - (func_grep, func_len, func_mkdir_p, func_mktempdir) - (func_normal_abspath, func_relative_path, func_quote_for_expand) - (func_stripname, func_show_eval, func_tr_sh): ...to here. - * bootstrap (usage message): Document `-no-warn' option. - (func_append_u, func_warning): Move from here... - * build-aux/funclib.sh (func_append_uniq, func_warning): ...to - here. - * bootstrap, build-aux/extract-trace: Source build-aux/funclib.sh - before build-aux/options-parser. - * build-aux/options-parser (usage, long_help_message): Set - default values to match what is parsed by the unmodified parser. - * build-aux/extract-trace (usage, long_help_message): Only set - from func_main, so that clients sourcing this file can still use - the correct defaults from build-aux/options-parser. - * bootstrap (bootstrap_options_prep, bootstrap_parse_options): - Move warning option parsing from here... - * build-aux/option-parser (func_options_prep) - (func_parse_options): ...to here, where all clients can benefit. - * Makefile.am (funclib_sh): New macro; path to funclib.sh. - (EXTRA_DIST): Add $(funclib_sh). - -2012-10-12 Gary V. Vaughan - - libtoolize: source extract-trace rather than fork and execute each call. - - Rather than forking and executing a full $SHELL for each macro - extraction, source the script and its dependencies into our - execution space and use the provided func_extract_trace API. - * libtoolize.m4sh: Source extract-trace from an appropriate - directory determined presently by make. - (func_extract_trace): Remove this wrapper. - * Makefile.am (abs_aux_dir): Absolute path to extract-trace - directory. - (configure_edit): Inject abs_aux_dir into uninstalled libtoolize. - (bin_SCRIPTS): Remove libtoolize. - (uninstall-hook): Manually uninstall libtoolize. - (install-data-local): Inject pkgauxdir into installed libtoolize - during installation. - -2012-10-12 Gary V. Vaughan - - options-parser: employ fork minimisation. - - * build-aux/options-parser (_G_HAVE_XSI_OPS): Environment - overrideable defaults for bash and zsh, which are known to - support XSI extensions. - (_G_HAVE_PLUSEQ_OP): Similarly for new enough versions of bash, - which are known to have += support. - (func_append): Only perform the shell += probe when state of - support is unknown. - (func_split_equals, func_split_short_opt): Similarly for XSI - probe to select fastest working implementation. - -2012-10-12 Gary V. Vaughan - - options-parser: keep non-option arguments separate! - - * build-aux/options-parser (func_parse_options): When there is - more than one non-option argument, "$*" forces all of them into - a single string. Use ${1+"$@"} to set arguments correctly. - -2012-10-12 Gary V. Vaughan - - options-parser: prefix usage message with "Usage: ". - - * build-aux/options-parser (func_usage_message): Prefix usage - message with "Usage: ". - -2012-10-12 Gary V. Vaughan - - bootstrap: work when using fallback shallow gnulib clone. - - Bootstrapping without --gnulib-srcdir creates a shallow gnulib - clone to run gnulib-tool out of, except that the parent package - is almost certainly using a revision of gnulib before just tha - most recent 2 gnulib revisions. - * bootstrap (func_require_gnulib_submodule): Pull the most - recent 365 revisions, which ought to be enough for a well- - maintained parent package. - Don't forget to run 'git submodule update' to select the correct - gnulib revision. - -2012-10-12 Gary V. Vaughan - - bootstrap: require GNU make to bootstrap. - - Make is not installed by default in some environments, such as - cygwin... which is slow enough already without having to wait - for gnulib-tool, bootstrap and half of configure to complete - before getting an error. - * bootstrap.conf (buildreq): Add recent GNU make to bootstrap - requirements. Now missing make is diagnosed in the earliest - part of bootstrap. - -2012-10-12 Gary V. Vaughan - - maint: simplify "Local variables:" footer with time-stamp-pattern. - - * bootstrap, build-aux/extract-trace, build-aux/options-parser - (Local variables): Use time-stamp-pattern to set number of - searched lines to 10, and to replace time-stamp-start, - time-stamp-end and time-stamp-format. - -2012-10-08 Peter Rosin - - tests: skip the with-pic test only if DLL_EXPORT is defined - For some systems with PIC as default, the test was inadvertently - skipped. Issue introduced in commit 4440d65. - * tests/with-pic.at: Skip the test for systems that define - DLL_EXPORT. - Reported by Roumen Petrov. - - tests: rerefix line ending problems on MinGW. - The previous commit broke Linux->MinGW cross-compiling. - * tests/mdemo.at: Normalize line endings after $EGREP. - Reported by Roumen Petrov. - -2012-10-06 Peter Rosin - - tests: refix line ending problems on MinGW. - In commit 22f5750, one of the hunks actually introduced - line ending problems. Revert that hunk. - * tests/mdemo.at: Use AT_DATA for expected output when the - output from compiled programs is fed through $EGREP. - - tests: use dry runs in both parts of 'check link mode operation' - MSVC exits with status 2 instead of the expected 1 when a - real link is attempted. - * tests/libtool.at (check link mode operation): Use a dry run and - expect a clean exit status instead of expecting a fail. - -2012-10-06 Gary V. Vaughan - - tests: sanitise the libtool quote checking Autotests. - - Carefully comment the maze of quoting and escaping needed to - pass through M4, $SHELL, and grep before regexp matching. - * tests/libtool.at (quote shell meta-characters in filenames): - Split backslash into a separate test group, because it needs - additional escaping. - Use grep consistently for the entire test group. - Use AT_CHECK rather than LT_AT_CHECK to avoid problems with - escaping literal $ correctly with LT_ESCAPE. - Use the correct number of backslashes for each sub-group. - Escape double-quote literals portably. - Reported by Peter Rosin. - -2012-10-06 Gary V. Vaughan - - tests: ensure mdemo.at doesn't rely on installed libltdl. - - * tests/mdemo.at (configuer.ac): Build an included convenience - libltdl. - (Makefile.am): Add subdir-objects. - Remove override rules from legacy mdemo tests to reuse parent - libltdlc.la. - (LT_AT_CHECK_CONFIG): Add --with-included-ltdl to configure - arguments so that test cases always use the subproject libltdl - in preference to any installed libltdl. - Reported by Peter Rosin. - -2012-10-06 Gary V. Vaughan - - tests: allow for unstable fortran output ordering. - - Due to differences in line-endings between C stdout and Fortran - stdout, as well as unpredictable output ordering between - platforms and runtimes, weaken success criteria to not require - the entire output of fortran programs to match a test case. - * itests/fcdemo.at, tests/f77demo.at (_LT_CHECK_EXECUTE): - Improve comments, and weaken test case to grep for a known line - in the f77 runtime output. - -2012-10-05 Peter Rosin - - tests: make LT_AT_HOST_DATA retain whitespace on MinGW - Fixes issues with depdemo.at, f77demo.at and fcdemo.at. - * tests/testsuite.at (LT_AT_HOST_DATA) [MinGW]: Keep leading - and trailing spaces and tabs when converting line endings. - -2012-10-05 Peter Rosin - - tests: fix line ending problems on MinGW - - * tests/cdemo.at: Use LT_AT_HOST_DATA for expected output from - compiled programs. - * tests/demo.at: Likewise. - * tests/depdemo.at: Likewise. - * tests/f77demo.at: Likewise. - * tests/fcdemo.at: Likewise. - * tests/mdemo.at: Likewise. - * tests/tagdemo.at: Likewise. - -2012-10-05 Gary V. Vaughan - - tests: remove last vestiges of the legacy test harness. - - All legacy tests have been fully migrated to Autotest, so - no need to cling to the legacy scaffolding any more. - * tests/defs.m4sh: Delete file. - * configure.ac (AM_INIT_AUTOMAKE): Remove unused color-tests and - parallel-tests options. - * Makefile.am (defs_m4sh, defs_in, defs, TESTS): Remove. - Adjust all dependencies. - -2012-10-05 Gary V. Vaughan - - tests: migrate legacy tagtrace.test to Autotest. - - * tests/tagtrace.test: Delete file. - * tests/libtool.at (test LT_SUPPORTED_TAG interface): Add - Autotest equivalent. - * Makefile.am (TESTS): Remove tests/tagtrace.test. - -2012-10-05 Gary V. Vaughan - - tests: migrate legacy objectlist.test to Autotest. - - * tests/objectlist.test: Delete file. - * tests/libtool.at (check objectlist file operation): Add - Autotest equivalent. - * Makefile.am (TESTS): Remove tests/objectlist.test. - -2012-10-05 Gary V. Vaughan - - tests: migrate legacy link.test and link-2.test to Autotest. - - * tests/link.test, tests/link-2.test: Delete files. - * tests/libtool.at (Check link operation): Add Autotest - equivalent. - * Makefile.am (TESTS): Remove tests/link.test and - tests/link-2.test. - -2012-10-05 Gary V. Vaughan - - tests: migrate legacy nomode.test to Autotest. - - * tests/nomode.test: Delete file. - * test/libtool.at (Check help output, No mode diagnostic): Add - equivalent tests in Autotest. - * Makefile.am (TESTS): Remove tests/nomode.test. - -2012-10-05 Gary V. Vaughan - - tests: migrate legacy suffix.test to Autotest. - - * tests/suffix.test: Delete file. - * tests/libtool.at (Transform source suffices): Add Autotest - equivalent. - * Makefile.am (TESTS): Remove tests/suffix.test. - -2012-10-05 Gary V. Vaughan - - tests: migrate legacy quote.test to Autotest. - - * tests/quote.test: Moved from here... - * tests/libtool.at: ...to here, and updated to Autotest. - * Makefile.am (TESTS): Remove tests/quote.test. - (TESTSUITE_AT): Add tests/libtool.at. - -2012-10-04 Gary V. Vaughan - - maint: add missing 2012 copyright to newly pushed old files. - - * tests/cdemo.at, tests/demo.at, tests/depdemo.at, - tests/f77demo.at, tests/fcdemo.at, tests/mdemo.at, - tests/tagdemo.at (Copyright): Update with missing 2012. - -2012-10-04 Gary V. Vaughan - - syntax-check: remove test/demo directories from exemption regexps. - - * cfg.mk (exclude_file_name_regex--sc_bindtextdomain) - (exclude_file_name_regexp--sc_program_name): Remove. The excluded - directories no longer exist. - (exclude_file_name_regexp--sc_prohibit_strcmp): Remove subexpression - for matching removed demo directories. - -2012-10-04 Gary V. Vaughan - - configure: remove unused conditionals and support for order only rules. - - Clean up some more unused cruft. - * configure.ac (HAVE_CXX, HAVE_F77, HAVE_FC, HAVE_GCJ, HAVE_RC): - Remove. These were only used by the recently removed legacy - tests. - [order-only prerequisites]: Ditto. - -2012-10-04 Gary V. Vaughan - - bootstrap: remove support for `-r' and `reconf_dirs'. - - With all those extra demo directories out of the way, we can - revert to a more canonical bootstrap process, and jettison the - cruft that was only there to work around the pain of - needing to autoreconf 11 directories. Bootstrap is now an order - of magnitude faster. - * bootstrap.conf (require_ltdl_dir): New function. Factored out - of `libtool_build_prerequisites'. - (libtool_build_prerequisites): Adjust. - (func_reconfigure): Use `require_ltdl_dir' to determine the name - of the other directory we need to autoreconf during bootstrap. - (libtool_options_prep, libtool_parse_options) - (libtool_validate_options): Remove. - -2012-10-04 Gary V. Vaughan - - tests: let pic_flag and with-pic Autotests work on non-VPATH builds. - - * tests/pic_flag.at: Use _LT_DEMO_SETUP to generate a demo style - project, rather than relying on $abs_top_srcdir/configure. - * tests/with-pic.at: Likewise. - * Makefile.am (TESTSUITE_AT): Move tests/pic_flag.at and - tests/with-pic.at so that they run immediately following - tests/demo.at. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/fcdemo tests to Autotest. - - Along with the demise of the last demo directory, so all the - cruft for re-autotooling and distributing the additional - directories is no longer necessary. - * tests/fcdemo.at: New autotest groups, based on... - * tests/fcdemo-conf.test, tests/fcdemo-exec.test, - tests/fcdemo-make.test, tests/fcdemo-shared-exec.test, - tests/fcdemo-shared-make.test, tests/fcdemo-shared.test, - tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, - tests/fcdemo-static.test: ...these legacy tests, now removed. - * tests/fcdemo/Makefile.am, tests/fcdemo/README, - tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, - tests/fcdemo/foo.h, tests/fcdemo/fooc.c, tests/fcdemo/foof.f90, - tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, - tests/fcdemo/fprogram.f90: Remove. - * configure.ac (CONF_SUBDIRS, DIST_MAKEFILE_LIST): Remove. - * Makefile.am (DIST_SUBDIRS, FC_TESTS, clean-local-legacy) - (configure-subdirs, distclean-recursive, distdir) - (fake-distclean-legacy, $(DIST_MAKEFILE_LIST)): Remove. - (COMMON_TESTS): Rename from this... - (TESTS): ...to this. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/f77demo tests to Autotest. - - * tests/f77demo.at: New autotest groups, based on... - * tests/f77demo-conf.test, tests/f77demo-exec.test, - tests/f77demo-make.test, tests/f77demo-shared-exec.test, - tests/f77demo-shared-make.test, tests/f77demo-shared.test, - tests/f77demo-static-exec.test, tests/f77demo-static-make.test, - tests/f77demo-static.test: ...these legacy tests, now removed. - * tests/f77demo/Makefile.am, tests/f77demo/README, - tests/f77demo/configure.ac, tests/f77demo/cprogram.c, - tests/f77demo/foo.h, tests/f77demo/fooc.c, tests/f77demo/foof.f, - tests/f77demo/foof2.f, tests/f77demo/foof3.f, - tests/f77demo/fprogram.f: Remove. - * configure.ac (CONF_SUBDIRS): Remove tests/f77demo. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/mdemo2 tests to Autotest. - - This test was just a small non-ltdl aware library to load a - library from the legacy mdemo test, which in turn used ltdl to - call functions from modules. No need to create a whole other - test group with copies of everything from mdemo setup - just - tack the additional test on the end of the mdemo group. - * tests/mdemo.at (link with library that loads ltdl modules): - New test, based on... - * tests/mdemo2-conf.test, tests/mdemo-exec.test, - tests/mdemo-make.test: ...these legacy tests, now removed. - * tests/mdemo2/Makefile.am, tests/mdemo2/README, - tests/mdemo2/configure.ac, tests/mdemo2/main.c: Remove. - * configure.ac (CONF_SUBDIRS): Remove tests/mdemo2. - * Makefile.am: Adjust. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/mdemo tests to Autotest. - - * tests/mdemo.at: New autotest groups, based on... - * tests/mdemo-conf.test, tests/mdemo-dryrun.test, - tests/mdemo-exec.test, tests/mdemo-inst.test, - tests/mdemo-make.test, tests/mdemo-shared-exec.test, - tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, - tests/mdemo-shared-unst.test, tests/mdemo-shared.test, - tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, - tests/mdemo-static-make.test, tests/mdemo-static-unst.test, - tests/mdemo-static.test, tests/mdemo-unst.test: ...these legacy - tests, now removed. - * tests/mdemo/Makefile.am, tests/mdemo/README, - tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c, - tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c, - tests/mdemo/sub.c: Remove. - * configure.ac (CONF_SUBDIRS): Remove tests/mdemo. - * Makefile.am: Adjust. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/pdemo tests to Autotest. - - This test was a thinly veiled copy of the basic legacy - demo-conf.test series, with the addition of long file names that - are not unique in the first 17 characters of their name, mashed - up with the cmdline_wrap.at max_cmd_len limits. Migrating to - Autotest means that this test will be automatically rerun with - max_cmd_len=24 as cmdline_wrap.at recurses through the whole - testsuite, so the migrated pdemo test is now simply another test - case in demo.at with longer file names. - * test/demo.at (linking with long file names): New test, based - on... - * tests/pdemo-conf.test, tests/pdemo-exec.test, - tests/pdemo-inst.test, tests/pdemo-make.test: ...these legacy - tests, now removed. - * tests/pdemo/Makefile.am, tests/pdemo/configure.ac, - tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c, - tests/pdemo/longer_file_name_foo.c, - tests/pdemo/longer_file_name_foo2.c, - tests/pdemo/longer_file_name_hell1.c, - tests/pdemo/longer_file_name_hell2.c, - tests/pdemo/longer_file_name_hello.c, - tests/pdemo/longer_file_name_main.c: Remove. - * configure.ac (CONF_SUBDIRS): Remove tests/pdemo. - * Makefile.am: Adjust. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/tagdemo tests to Autotest. - - * tests/tagdemo.at: New autotest groups, based on... - tests/tagdemo-conf.test, tests/tagdemo-exec.test, - tests/tagdemo-make.test, tests/tagdemo-shared-exec.test, - tests/tagdemo-shared-make.test, tests/tagdemo-shared.test, - tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, - tests/tagdemo-static.test, tests/tagdemo-undef-exec.test, - tests/tagdemo-undef-make.test, tests/tagdemo-undef.test: - ...these legacy tests, now removed. - * tests/tagdemo/.gitignore, tests/tagdemo/Makefile.am, - tests/tagdemo/README, tests/tagdemo/baz.cpp, - tests/tagdemo/baz.h, tests/tagdemo/configure.ac, - tests/tagdemo/conv.cpp, tests/tagdemo/conv.h, - tests/tagdemo/foo.cpp, tests/tagdemo/foo.h, - tests/tagdemo/main.cpp: Remove. - * configure.ac (CONF_SUBDIRS): Remove tests/tagdemo. - * Makefile.am: Adjust. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/depdemo tests to Autotest. - - * tests/depdemo.at: New autotest groups, based on... - * tests/depdemo-conf.test, tests/depdemo-exec.test, - tests/depdemo-inst.test, tests/depdemo-make.test, - tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, - tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, - tests/depdemo-nofast.test, tests/depdemo-relink.test, - tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, - tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, - tests/depdemo-shared.test, tests/depdemo-static-exec.test, - tests/depdemo-static-inst.test, tests/depdemo-static-make.test, - tests/depdemo-static-unst.test, tests/depdemo-static.test, - tests/depdemo-unst.test: ...these legacy test cases, now - removed. - * tests/depdemo/Makefile.am, tests/depdemo/README, - tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am, - tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h, - tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c, - tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am, - tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h, - tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c, - tests/depdemo/l4/l4.h, tests/depdemo/main.c, - tests/depdemo/sysdep.h: Remove. - * configure.ac (CONF_SUBDIRS): Remove tests/depdemo. - * Makefile.am: Adjust. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/demo tests to Autotest. - - * tests/demo.at: New autotest groups, based on... - * tests/demo-conf.test, tests/demo-deplibs.test, - tests/demo-exec.test, tests/demo-hardcode.test, - tests/demo-inst.test, tests/demo-make.test, - tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, - tests/demo-nofast-make.test, tests/demo-nofast-unst.test, - tests/demo-nofast.test, tests/demo-noinst-link.test, - tests/demo-nopic-exec.test, tests/demo-nopic-make.test, - tests/demo-nopic.test, tests/demo-pic-exec.test, - tests/demo-pic-make.test, tests/demo-pic.test, - tests/demo-relink.test, tests/demo-shared-exec.test, - tests/demo-shared-inst.test, tests/demo-shared-make.test, - tests/demo-shared-unst.test, tests/demo-shared.test, - tests/demo-static-exec.test, tests/demo-static-inst.test, - tests/demo-static-make.test, tests/demo-static-unst.test, - tests/demo-static.test, tests/demo-unst.test: ...these legacy - test cases, now removed. - * tests/demo/Makefile.am, tests/demo/README, - tests/demo/configure.ac, tests/demo/dlmain.c, tests/demo/foo.c, - tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c, - tests/demo/hello.c, tests/demo/main.c: Remove. - * configure.ac (CONF_SUBDIRS): Remove tests/demo. - * Makefile.am: Adjust. - -2012-10-04 Gary V. Vaughan - - tests: migrate legacy tests/cdemo tests to Autotest. - - * tests/cdemo.at: New Autotest groups, based on... - * tests/cdemo-conf.test, tests/cdemo-exec.test, - tests/cdemo-make.test, tests/cdemo-shared-exec.test, - tests/cdemo-shared-make.test, tests/cdemo-shared.test, - tests/cdemo-static-exec.test, tests/cdemo-static-make.test, - tests/cdemo-static.test, tests/cdemo-undef-exec.test, - tests/cdemo-undef-make.test, tests/cdemo-undef.test: ...these - legacy test cases, now removed. - tests/cdemo/Makefile.am, tests/cdemo/README, - tests/cdemo/configure.ac, tests/cdemo/foo.c, tests/cdemo/foo.h, - tests/cdemo/main.c: Remove. - * configure.ac (CONF_SUBDIRS): Remove tests/cdemo. - * Makefile.am: Adjust. - -2012-10-04 Gary V. Vaughan - - maint: distribute a single ChangeLog file. - - * ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, ChangeLog.1999, - ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, - ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, ChangeLog.2007, - ChangeLog.2008, ChangeLog.2009, ChangeLog.2010: Remove. Content - moved from here... - * ChangeLog.old: ...to here. - * Makefile.am (EXTRA_DIST): Update list of ChangeLog files. - (changelog_old): New variable to hold path to ChangeLog.old file. - ($(changelog)): Update to concatenate non-distributed - ChangeLog.old file to distributed ChangeLog after git log entries. - -2012-10-04 Gary V. Vaughan - - syntax-check: fix violations and implement sc_prohibit_space_semicolon. - - No need for a spurious space before a command ending semi-colon. - * cfg.mk (sc_prohibit_space_semicolon): New test to catch - accidental reintroduction of spurious spaces removed by this - changeset. - * bootstrap, build-aux/general.m4sh, build-aux/ltmain.m4sh, - libltdl/lt__strl.c, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at: - Remove spurious spaces. - -2012-10-03 Gary V. Vaughan - - Merge branch 'gary/reredo-test-operand-order' - The original manually applied changeset 962aa91 contained several - errors (some corrected by subsequent patches on master, others not) - and many unrelated (although in this case, correct) changes were also - committed in the same changeset. - The merged branch gary/reredo-test-operand-order factors the - unrelated changes out into separate commits, and performs the work - that should have been in 962aa91 with a script, the results of which - were then painstakingly inspected for errors. - This merge moves the corrections for errors made in the original - manual patch from the branch onto master. Please inspect the many - separate changesets on the branch rather than the original patch - when you bisect or otherwise find your way to an error caused by - 962aa91. - -2012-10-02 Gary V. Vaughan - - tests: simplify some shell code. - - * tests/fail.at: Simplify. - * tests/static.at: Likewise. - -2012-10-02 Gary V. Vaughan - - libtool: unroll complex nested compound statements - - * build-aux/ltmain.m4sh: Use an if statement instead of ugified - compound statements. - -2012-10-02 Gary V. Vaughan - - libtool: unroll nested if into a single case statement. - - * build-aux/ltmain.m4sh (func_mode_link): Unroll a hard to - understad nested if statement into a more readable single case - statement. - -2012-10-02 Gary V. Vaughan - - libtool: simplify $skipped_export blocks - - * build-aux/ltmain.m4sh (func_mode_link): Save an if statement - with '$skipped_export && { block; }' instead of 'if $skipped_export; - then block; fi'. - -2012-10-02 Gary V. Vaughan - - libtool: simplify an if statement - - * build-aux/ltmain.m4sh (func_mode_link): Reverse the branch - order for an if statement for readability. - * m4/libtool.m4: Likewise. - -2012-10-02 Gary V. Vaughan - - libtool: save an if statement, with a compound statement. - - * build-aux/ltmain.m4sh (func_mode_link): Simplify. - -2012-10-02 Gary V. Vaughan - - libtool: simplify multiple string tests - - * build-aux/ltmain.m4sh (func_mode_link): Save test invocations - by using 'test x,y = "$a,$b"' instead of 'test x = "$a" && test y - = "$b"'. - * m4/libtool.m4: Likewise. - -2012-10-02 Gary V. Vaughan - - libtool: fold if into a compound OR statement when more readable - - * build-aux/ltmain.m4sh (func_mode_link): For readability, use - 'test string = "$var" || { stuff; }' in preference to - 'if test string != "$var"; then stuff; fi'. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $rmforce, and simplify - - * build-aux/ltmain.m4sh (func_mode_uninstall): Save a string - comparison by setting $rmforce to false or : and using it - directly as the first argument to if. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $wrappers_required, and simplify - - * build-aux/ltmain.m4sh (func_mode_link): Save a string - comparison by setting $wrappers_required to false or : and using - it directly with a ored block rather than an if statement. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $linkalldeplibs, and simplify - - * build-aux/ltmain.m4sh (func_mode_link): Save a string - comparison by setting $linkalldeplibs to false or : and using it - directly as the first argument to if. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $valid_a_lib, and simplify - - * build-aux/ltmain.m4sh (func_mode_link): Save a string - comparison by setting $valid_a_lib to false or : and using it - directly as the first argument to if. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $found, and simplify - - * build-aux/ltmain.m4sh (func_mode_link): Save a string - comparison by setting $found to false or : and using it directly - as the first argument to if. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $alldeplibs, and simplify - - * build-aux/ltmain.m4sh (func_mode_link): Save a string - comparison by setting $alldeplibs to false or : and using it - directly as the first argument to if. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $preload, and simplify - - * build-aux/ltmain.m4sh (func_mode_link): Save a string - comparison by setting $preload to false or : and using it directly - instead of if statements. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $my_pic_p, and simplify - - * build-aux/ltmain.m4sh (func_generate_dlsyms): Save a string - comparison by setting $my_pic_p to false or : and using it directly - instead of calling if. - Adjust all callers. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $finalize, and simplify - - * build-aux/ltmain.m4sh (func_mode_install): Save a string - comparison by setting $finalize to false or : and using it - directly as the first argument to if. - -2012-10-02 Gary V. Vaughan - - libtool: use false or : for $isdir, and simplify - - * build-aux/ltmain.m4sh (func_mode_install): Save a string - comparison by setting $isdir to false or : and using it directly - as the first argument to if. - -2012-10-02 Gary V. Vaughan - - syntax-check: [REDO] fix violations and implement - sc_prohibit_test_const_follows_var. - - To safely use a non-literal fist argument to 'test', you must - always prepend a literal non-'-' character, but often the second - operand is a constant that doesn't begin with a '-' already, so - always use 'test a = "$b"' instead of the noisy 'test "X$b" = Xa'. - * cf.mk (sc_prohibit_test_const_follws_var): New syntax-check - rule to ensure we don't reintroduce noisy test operands. - bootstrap, build-aux/extract-trace, build-aux/general.m4sh, - build-aux/ltmain.m4sh, configure.ac, doc/libtool.texi, libtoolize.m4sh, - m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at, tests/defs.m4sh, - tests/demo-relink.test, tests/demo/configure.ac, - tests/depdemo-relink.test, tests/destdir.at, tests/duplicate_conv.at, - tests/fail.at, tests/getopt-m4sh.at, tests/help.at, tests/libtoolize.at, - tests/link-2.test, tests/link-order2.at, tests/lt_dlopenext.at, - tests/mdemo/configure.ac, tests/mdemo2/configure.ac, - tests/need_lib_prefix.at, tests/nocase.at, tests/pdemo/configure.ac, - tests/pic_flag.at, tests/search-path.at, tests/shlibpath.at, - tests/static.at, tests/sysroot.at, tests/tagtrace.test, - tests/testsuite.at, tests/with-pic.at: Swap operands to avoid useless - noise. - -2012-09-19 Peter Rosin - - tests: skip with-pic test when no "real" pic flag is used. - - * tests/with-pic.at: Windows uses "-DDLL_EXPORT -DPIC" as the pic - "flag", but never applies it to static libraries. Cater for this - and skip if no "real" pic flag is in use. - -2012-09-16 Gary V. Vaughan - - syntax-check: fix texinfo formatting flagged by - prohibit_undesirable_word_seq. - - * doc/libtool.text: Fix several misuses of @xref and @pxref so that - the prohibit_undesirable_word_seq syntax check passes again. - -2012-09-16 Gary V. Vaughan - - syntax-check: remove useless_braces_in_variable_derefs. - - * build-aux/general.m4sh: Remove spurious braces around - ${ZSH_VERSION} dereference. - * build-aux/ltmain.m4sh (func_mode_link): Likewise for ${wl}. - -2012-09-16 Gary V. Vaughan - - syntax-check: skip prohibit_strncpy. - - * cfg.mk (local-checks-to-skip): sc_prohibit_strncpy. - -2012-09-16 Gary V. Vaughan - - syntax-check: skip prohibit_always_true_header_tests rule. - - * cfg.mk (local-checks-to-skip): Add - sc_prohibit_always_true_header_tests. - -2012-09-16 Gary V. Vaughan - - maint: Revert "bootstrap: delete unneeded README-release patch" - This reverts commit 11cd425e7d47111956381dba28f8c1b34e14653f. - These instructions are hard to find for new maintainers, so it's - good to keep them to hand with the release notes. - And the additional distchecks are important prior to a release. - -2012-09-16 Gary V. Vaughan - - maint: remove unused cvsu script. - - * build-aux/cvsu: Remove. This script is not useful now that - Libtool's repository is hosted in git. - * Makefile.am (build_scripts): Remove cvsu reference. - -2012-09-16 Gary V. Vaughan - - maint: run update-copyright for missing 2011 and 2012 years. - - See maintain.texi (Copyright Notices) for rules for maintaining - the years in copyright notices. - * All Files (Copyright): Updated with missing 2011 and 2012. - -2012-09-16 Gary V. Vaughan - - bootstrap: use gnulib update-copyright script. - - See maintain.texi (Copyright Notices) for rules for maintaining - the years in copyright notices. - * bootstrap.conf (gnulib_modules): Add update-copyright. - * cfg.mk (update-copyright-env): Set environment variables for - update-copyright script. - -2012-09-16 Gary V. Vaughan - - bootstrap: update bootstrap script to latest upstream. - - * bootstrap, build-aux/options-parser: apply upstream fixes and - enhancements. - -2012-09-16 Gary V. Vaughan - - git: don't complain about new parallel tests driver and file droppings. - - * build-aux/.gitignore: Ignore parallel `test-driver' script. - * tests/.gitignore: Ignore `test-driver' .trs file droppings. - -2012-09-16 Gary V. Vaughan - - gnulib: update local gnulib patches. - - * gl/build-aux/announce-gen.diff: Remove hunks adopted upstream. - * gl/build-aux/do-release-commit-and-tag.diff: Refresh this patch - to match current gnulib. - -2012-09-16 Gary V. Vaughan - - gnulib: update gnulib submodule. - -2012-09-16 Gary V. Vaughan - - bootstrap: ensure there is a ChangeLog before running automake. - - Automake refuses to run in GNU-mode unless there is a ChangeLog file - in the top-level directory. - * bootstrap.conf (libtool_force_changelog): Create a dummy ChangeLog. - -2012-09-16 Gary V. Vaughan - - libtoolize: improve verbose mode output. - - * libtoolize (func_require_seen_ltdl) - (func_require_seen_libtool): Output success message in verbose - mode. - -2012-08-22 Peter O'Gorman - - libtool: Add the 'n' to then. - - * m4/libtool.m4: fix typo. - Reported by Brad Smith. - -2012-08-22 Andreas Schwab - - libtool: Pass through -g* so that debugging information is not dropped - - * ltmain.m4sh (func_mode_link): Pass through -g*. - -2012-08-22 David Edelsohn - - libtool: AIX PIC shared library support - - * m4/libtool.m4 (_LT_COMPILER_PIC): Add -fPIC to GCC and GXX for AIX. - -2012-08-22 Brad Smith - - libtool: Update/simplify OpenBSD support - - * m4/libtool.m4: Forget about 11 year old releases. - -2012-08-19 Peter Rosin - - libtool: quote progpath properly - Attempt to handle spaces in paths better. - * build-aux/ltmain.m4sh (func_mode_install, func_mode_link): Quote - $progpath. - * THANKS: Update. - -2012-04-19 Mike Frysinger - - libtool: Handle getconf returning "undefined". - - * m4/libtool.m4: Check for "undefined" from `getconf`. - -2012-03-17 Peter Rosin - - bootstrap: delete unneeded README-release patch - - * gl/top/README-release.diff: Delete. - -2012-03-16 Peter O'Gorman - - libtool: Fix typo that caused sys_lib_search_path_spec to be wrong. - - * m4/libtool.m4: s/lt_fooi/lt_foo/. - Reported by Paul Seidler. - -2012-02-21 Samuel Thibault - - libtool: Improve GNU/Hurd support. - - * m4/libtool.m4: Add gnu* match where it was missing. - -2012-02-19 Titus von Boxberg - - libtool: Accept clang's -stdlib linker flag. - - build-aux/ltmain.m4sh: Don't drop the -stdlib= flag. - -2012-02-19 Juergen Reuter - - libtool: Enable nagfor fortran compiler support - - * build-aux/ltmain.m4sh: nagfor compatible version string. - * m4/libtool.m4: nagfor support. - -2012-02-19 Juergen Reuter - - libtool: Fixing -shared error message for nagfor compiler. - - * m4/libtool.m4: Fix -shared. - -2012-02-19 Pavel (Pasha) Shamis - - ltdl: Improve debug error reporting in ltdl. - - * libltdl/ltdl.c: Print the error message if loading fails. - -2012-02-19 Peter O'Gorman - - maint: Deleted unneeded gitlog-to-changelog patch - - * gl/build-aux/gitlog-to-changelog.diff: Delete. - -2012-02-02 Roumen Petrov (tiny change) - - fixup: restore EXPORTS test - - Commit v2.4.2-120-g962aa91 - syntax-check: fix violations and implement sc_prohibit_test_const_follows_var - inadvertedly reversed the meaning of the comparison. - - * build-aux/ltmain.m4sh (func_mode_link) [cygwin|mingw|cegcc]: Restore - the EXPORTS test. We need to look at the symbols when it's _not_ - already a .def file (in which case we trust the user input blindly). - -2012-01-30 Peter Rosin - - cwrapper: avoid surplus strlen calculations. - - * build-aux/ltmain.m4sh (func_emit_cwrapperexe_src:lt_update_exe_path): - Avoid surplus strlen calculations. - -2011-12-24 Gary V. Vaughan - - bootstrap: fix Autoconf version typo. - - * build-aux/options-parser: s/2\.62/2.68/ - -2011-12-24 Gary V. Vaughan - - gnulib: update gnulib submodule. - - Among others, this fixes the reference to a local commit. - * gnulib: Updated to todays master HEAD revision. - * gl/top/README-release.diff: Update to account for changes to - gnulib/top/README-release since the last gnulib update. - -2011-12-18 Gary V. Vaughan - - libtool: make fork minimisation compatible with dash and zsh. - - * build-aub/general.m4sh (lt_HAVE_PLUSEQ_OP): Instead of using - $((..)) arithmetic, which causes an error on dash, use a case - based bash version check. - (lt_HAVE_ARITH_OP, lt_HAVE_XSI_OPS): Also short circuit the - feature probing forks and set these automatically when zsh is - detected. - Reported by Stefano Lattarini. - -2011-12-18 Gary V. Vaughan - - bootstrap: adopt autoconf echo normalization code. - - Dash shipped with Ubutu-11.10 as /bin/sh, among others, still - has a crippled echo builtin that mis-handles backslashes. - * build-aux/options-parser (bs_echo): Adopt the autoconf echo - normalization code to find a suitable replacement for buggy echo - commands. - Adjust all uses of echo to $bs_echo. - * build-aux/extract-trace (func_extract_trace, func_main): - Likewise. - * bootstrap: To retain some execution speed on platforms with - buggy builtin echo, replace most occurrences of `echo' with - `$bs_echo' - except where its arguments will obviously never - contain backslashes or be overly long. - Reported by Reuben Thomas. - -2011-12-18 Gary V. Vaughan - - libtool: minimise forks per invocation under bash. - - * build-aux/general.m4sh (lt_HAVE_PLUSEQ_OP, lt_HAVE_ARITH_OP) - (lt_HAVE_XSI_OPS): Set these without forking a test script when - running under bash, to avoid a few unnecessary forks. - -2011-12-13 H.J. Lu - - libtool: Support x32. - - * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32. - -2011-12-08 Gary V. Vaughan - - maint: disable prohibit_always-defined_macros syntax check. - - Aside from Apple grep silently failing to run this test and - report violations, libtool still uses non-gnulib versions of - dirent.h and argz.h which use the same macros, but are not - always-defined. - * cfg.mk (local-checks-to-fix): Move - sc_prohibit_always-defined_macros from here... - (local-checks-to-skip): ...to here. - Reported by Peter O'Gorman. - -2011-12-08 Gary V. Vaughan - - tests: s/snippit/snippet/. - - * tests/demo/foo.h, tests/pdemo/foo.h: Spell `snippet' correctly. - Reported by Stefano Lattarini. - -2011-12-08 Gary V. Vaughan - - tests: make sure file restore traps are called correctly on AIX. - - * tests/demo-noinst-link.test (func_save_files): set the restore - trap outside a function, otherwise AIX 5.3 /bin/sh will run the - trap at the end of the function, instead of when the script - exits. - * tests/demo-relink.test (func_save_files): Ditto. - * tests/depdemo-relink.test (func_save_files): Ditto. - Reported by Stefano Lattarini. - -2011-12-08 Gary V. Vaughan - - maint: eliminate some more spurious leading Xs. - - * m4/libtool.m4: Reverse argument order to eliminate spurious - leading X's. - -2011-12-08 Gary V. Vaughan - - bootstrap: put back missing spaces before parens. - - * bootstrap (func_require_buildreq_autobuild) - (func_require_buildreq_automake): Vi's delete word command is - too greedy and also eats trailing whitespace before following - non-word-chars. Put back the spaces it ate so that - syntax-checks pass once again. - -2011-12-08 Gary V. Vaughan - - libtoolize: refactor copying filter creation. - - Prevent the various require_filter functions from becoming too - long by factoring common code into new functions. - * libtoolize (func_make_relative_dir_filter) - (func_make_relative_ltdl_filter): New functions. Generalize and - consolidate the various similar snippets for concatenating - together the sed scripts for func_copy filtering. - (require_filter_Makefile_am, require_filter_aclocal_m4) - (require_filter_configure_ac): Simplify. - (require_ltdl_relative_aux_dir): Remove. - (require_ltdl_relative_macro_dir): Ditto. - -2011-12-08 Gary V. Vaughan - - maint: pick XSI funcs at runtime, not configure time. - - Determine, on a function by function basis, what XSI features - are available in the shell that is actually running the script, - rather than the one that was picked at configure time by the - re-execution engine. - * m4/libtool.m4 (_LT_PROG_FUNCTION_REPLACE) - (_LT_PROG_REPLACE_SHELLFNS): Remove. - (_LT_CHECK_SHELL_FEATURES): Remove tests for XSI and += support. - * build-aux/general.m4sh (func_append, func_append_quoted) - (func_arith, func_len, func_basename, func_dirname) - (func_dirname_and_basename, func_stripname): List both enhanced - and fallback implementations, and choose one based on whether - the enhanced features required by the fastest version are - available. - * build-aux/getopt.m4sh (func_split_short_opt) - (func_split_long_opt): Ditto. - * build-aux/ltmain.m4sh (func_lo2o, func_xform): Ditto. - * tests/getopt-m4sh.at: Add tests for enhanced and fallback - implementations of func_arith, func_len, func_stripname and - func_dirname_and_basename. - * NEWS: Updated. - -2011-12-08 Gary V. Vaughan - - maint: share useful functions from general.m4sh. - - * build-aux/ltmain.m4sh (func_append, func_append_quoted) - (func_arith, func_len): Removed from here... - * build-aux/general.m4sh (func_append, func_append_quoted) - (func_arith, func_len): ...and added to here. - (func_dirname, func_dirname_and_basename, func_normal_abspath) - (func_relative_path): Use func_append. - * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): Removed. - Fallback functions are now in any m4sh generated file - automatically. - -2011-12-08 Gary V. Vaughan - - libtoolize: reorder function definitions to keep func_filter_* together. - - * libtoolize: Restore asciibetical order, so that all the - filter function definitions are together. - -2011-12-08 Gary V. Vaughan - - libtoolize: use _filter as a prefix for better ordering. - - * libtoolize.m4sh (require_Makefile_am_filter) - (require_ltdl_mk_filter, require_aclocal_m4_filter) - (require_configure_ac_filter): Rename these functions from this... - (require_filter_Makefile_am, require_filter_ltdl_mk) - (require_filter_aclocal_m4, require_filter_configure_ac): ...to - this, respectively. Adjust all callers. - (Makefile_am_filter, ltdl_mk_filter, aclocal_m4_filter) - (configure_ac_filter): Rename these global variables from this... - (filter_Makefile_am, filter_ltdl_mk, filter_aclocal_m4) - (filter_configure_ac): ...to this, respectively. - -2011-12-08 Gary V. Vaughan - - libtoolize: rename ltdl.mk filter function. - - * libtoolize.m4sh (require_Makefile_inc_filter): Rename from - this... - (require_ltdl_mk_filter): ...to this. Adjust all callers. - -2011-12-08 Gary V. Vaughan - - bootstrap: escape quotes properly in generated functions. - - * bootstrap: Although not a real bug, for consistency, be sure - to correctly escape single quotes inside a single quoted - function generator. - -2011-12-08 Gary V. Vaughan - - bootstrap: reorder function definitions to keep func_buildreq_* together. - - * bootstrap: Restore asciibetical order, so that all the - buildreq function definitions are together. - -2011-12-08 Gary V. Vaughan - - bootstrap: use _buildreq as a prefix for better ordering. - - * bootstrap (require_autobuild_buildreq) - (require_autoconf_buildreq, require_automake_buildreq) - (require_autopoint_buildreq, require_libtoolize_buildreq) - (require_patch_buildreq): Rename from these... - (require_buildreq_autobuild, require_buildreq_autoconf) - (require_buildreq_automake, require_buildreq_autopoint) - (require_buildreq_libtoolize, require_buildreq_patch): ...to - these, respectively. Adjust all callers. - -2011-12-08 Gary V. Vaughan - - bootstrap: ensure consistent function header comments. - - * bootstrap (require_bootstrap_uptodate) - (require_buildtools_uptodate): Use `require_...' in header - comment for these functions to be consistent with the rest, - rather than `func_require_...'. - -2011-12-08 Gary V. Vaughan - - bootstrap: make sure patch is available to bootstrap if necessary. - - Make sure we're not lacking any functionality provided by the - incumbent gnulib bootstrap script, and where it's easy to do so - (like it is here), provide better functionality! - * bootstrap (require_patch): Make sure that PATCH expands to the - best `patch' command available on the system, honouring - overrides in the users environment. - (require_patch_buildreq): Automatically add a requirement for a - patch command to buildreq when there are diff files in - $local_gl_dir. - (func_require_buildtools_uptodate): Call require_patch_buildreq - before testing build tool versions. - (func_gnulib_tool_copy_file): Make sure PATCH is set before using - gnulib-tool to copy files. - -2011-11-26 Gary V. Vaughan - - m4: fix logic error leading to -fno-rtti being added wrongly. - - * m4/libtool.m4 (_LT_COMPILER_OPTION): Negate comparison so that - compiler flags are added correctly. - -2011-11-26 Gary V. Vaughan - - maint: Fix generated ChangeLog typos. - - * build-aux/git-log-fix: Spell Stefano Lattarini's name - correctly. - Don't use my home email address for GNU commits. - -2011-11-25 Gary V. Vaughan - - syntax-check: fix violations and implement sc_useless_braces_in_variable_derefs. - - Until now, libtool sources have used braced variable names - seemingly at random! Almost always the braces are just noise, so - remove all the unnecessary ones. - * cfg.mk (sc_useless_braces_in_variable_derefs): New syntax - check rule to ensure we only reintroduce braced variable - dereferences if they are followed by a valid variable name - character. - build-aux/general.m4sh, build-aux/git-hooks/commit-msg, - build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac, - libltdl/configure.ac, m4/libtool.m4, m4/ltdl.m4, - m4/ltoptions.m4, tests/defs.m4sh, tests/demo-nopic.test, - tests/depdemo/configure.ac, tests/flags.at, tests/link.test, - tests/objectlist.test, tests/quote.test, tests/static.at: Remove - spurious braces. - -2011-11-25 Gary V. Vaughan - - syntax-check: fix violations and implement sc_prohibit_sed_s_comma. - - I like to name temporary directories that I will remove shortly - with two leading commas so that they sort lexicographically at - the top of `ls' output. Now, `./configure - --prefix=`pwd`/,,inst' works again, for the first time in - several years. - * cfg.mk (sc_prohibit_sed_s_comma): Comma is too common a - character to use routinely as the separator for sed - substitutions on file paths and other variables determined by - the user, causing bugs like the one I describe above. Make sure - we don't accidentally reintroduce any comma separators in - future. - * Makefile.am, bootstrap, bootstrap.conf, build-aux/extract-trace, - build-aux/general.m4sh, build-aux/git-hooks/commit-msg, - build-aux/git-log-fix, build-aux/ltmain.m4sh, libtoolize.m4sh, - m4/libtool.m4, m4/ltdl.m4, tests/cdemo-undef.test, - tests/cmdline_wrap.at, tests/darwin.at, tests/defs.m4sh, - tests/getopt-m4sh.at, tests/install.at, tests/libtoolize.at, - tests/mdemo/Makefile.am, tests/need_lib_prefix.at, - tests/sysroot.at, tests/tagdemo-undef.test, tests/testsuite.at: - Try to use `|' as the default separator wherever possible, - otherwise something else that doesn't occur in the substitution - expression. - * NEWS: Updated. - -2011-11-25 Gary V. Vaughan - - syntax-check: fix violations and implement sc_prohibit_bare_basename. - - * cfg.mk (sc_prohibit_bare_basename, sc_prohibit_basename_with_sed): - Make sure not to go back to using occasional `|$basename' or - `|$dirname' syntax. - * build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh, - * build-aux/options-parser, tests/fcdemo-conf.test, - * tests/fcdemo-shared.test, tests/fcdemo-static.test, - * tests/libtoolize.at: Fix violations. - -2011-11-25 Gary V. Vaughan - - tests: migrate tests/sh.test checks to syntax-checks. - - Some modernization of the legacy testsuite. - * tests/sh.test: Remove. - * Makefile.am (COMMON_TESTS): Adjust. - * cfg.mk (sc_libtool_m4_cc_basename, sc_prohibit_bracket_as_test) - (sc_prohibit_nested_quotes, sc_prohibit_set_dummy_without_shift) - (sc_prohibit_set_minus_minus, sc_prohibit_test_binary_operators) - (sc_prohibit_test_dollar, sc_prohibit_test_minus_e) - (sc_prohibit_test_unary_operators, sc_prohibit_test_X) - (sc_prohibit_Xsed_withou_X, sc_require_function_nl_brace): - Functionally identical tests to what used to be performed by - sh.test, only with coverage of all files. - * bootstrap, build-aux/edit-readme-alpha, - build-aux/extract-trace, build-aux/getopt.m4sh, - build-aux/ltmain.m4sh, configure.ac, m4/libtool.m4, m4/ltdl.m4, - tests/bindir.at, tests/configure-iface.at, tests/cwrapper.at, - tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test, - tests/dlloader-api.at, tests/exceptions.at, - tests/getopt-m4sh.at, tests/lalib-syntax.at, tests/link-2.test, - tests/link-order2.at, tests/loadlibrary.at, - tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen_a.at, - tests/lt_dlopenext.at, tests/need_lib_prefix.at, - tests/nonrecursive.at, tests/recursive.at, tests/resident.at, - tests/standalone.at, tests/static.at, tests/stresstest.at, - tests/subproject.at, tests/sysroot.at, tests/tagtrace.test, - tests/testsuite.at: Fix violations of the new syntax checks. - -2011-11-25 Gary V. Vaughan - - syntax-check: fix violations and implement sc_useless_quotes_in_assignment. - - Contrary to popular belief, Bourne shell does not resplit RHS of - assignments after expansion, so if there are no unquoted shell - metacharacters or whitespace, the quotes are useless. - * cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's - _sc_search_regexp that also allows individual exclusions at the - site of what would otherwise match by adding a comment. - (sc_useless_quotes_in_assignment): New syntax-check rule to - ensure we don't reintroduce useless quoted assignments. - * bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, - build-aux/general.m4sh, build-aux/getopt.m4sh, - build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac, - doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4, - m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh, - tests/lalib-syntax.at, tests/libtoolize.at, - tests/lt_dlopenext.at, tests/mdemo/configure.ac, - tests/mdemo2/configure.ac, tests/need_lib_prefix.at, - tests/no-executables.at, tests/quote.test, tests/suffix.test: - Remove spurious quotes. - -2011-11-25 Gary V. Vaughan - - syntax-check: fix violations and implement sc_useless_quotes_in_case. - - Contrary to popular belief, Bourne shell does not resplit case - expressions after expansion, so if there are no unquoted shell - metacharacters or whitespace, the quotes are useless. - * cfg.mk (sc_useless_quotes_in_case): New syntax-check rule to - ensure we don't reintroduce useless quoted case expressions. - * build-aux/ltmain.m4sh, m4/libtool.m4, tests/bindir.at, - tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test, - tests/demo-nopic.test, tests/link-2.test, tests/quote.test, - tests/sysroot.at: Remove spurious quotes. - -2011-11-25 Gary V. Vaughan - - maint: quote $file correctly in bootstrap. - - * bootstrap (func_insert_sorted_if_absent): Don't forget the - double quotes, since we can't control the content of $file. - Reported by Stefano Lattarini. - -2011-11-25 Gary V. Vaughan - - build: fix a quoting bug when regenerating with bootstrap_edit. - - * Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh): The - bootstrap_edit make macro already contains double quotes, so - when echoing it, don't surround it with more double quotes since - it is not escaped. - -2011-11-17 Gary V. Vaughan - - dist: hook syntax-check into `make distcheck'. - - To make sure we don't accidentally release anything with - failing syntax-checks, have `make distcheck' run the - syntax-checks automatically. - * Makefile.am (distcheck-hook): New rule depending on - syntax-check. - -2011-11-17 Gary V. Vaughan - - syntax-check: enable sc_prohibit_always_true_header_tests. - - * cfg.mk (local-checks-to-fix): Remove - sc_prohibit_always_true_header_tests from list of disabled - checks, because it no longer flags any violations. - -2011-11-17 Gary V. Vaughan - - syntax-check: enable sc_program_name. - - * cfg.mk (local-checks-to-skip): Remove sc_program_name - list of disabled checks. - (exclude_file_name_regexp--sc_program_name): Don't check demo - programs for use of set_program_name. - -2011-11-17 Gary V. Vaughan - - syntax-check: enable sc_bindtextdomain. - - * cfg.mk (local-checks-to-skip): Remove sc_bindtextdomain - list of disabled checks. - (exclude_file_name_regexp--sc_bindtextdomain): Don't check demo - programs for use of bindtextdomain. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and implement sc_trailing_blank-non-rfc3676. - - * cfg.mk (local-checks-to-fix): Move sc_trailing_blank from - here... - (local-checks-to-skip): ...to here, because otherwise it flags - valid RFC3676 signature blocks. - (sc_trailing_blank-non-rfc3676): An improved sc_trailing_blank - implementation that doesn't flag signature blocks as violations. - * Makefile.am, bootstrap.conf, doc/PLATFORMS, - libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4, - libltdl/m4/lt~obsolete.m4, tests/archive-in-archive.at, - tests/convenience.at, tests/darwin.at, tests/depdemo/l1/l1.c, - tests/depdemo/l2/l2.c, tests/depdemo/l3/l3.c, - tests/depdemo/l4/l4.c, tests/f77demo/README, - tests/f77demo/cprogram.c, tests/f77demo/foof.f, - tests/f77demo/foof2.f, tests/f77demo/foof3.f, - tests/f77demo/fprogram.f, tests/fcdemo/README, - tests/fcdemo/cprogram.c, tests/fcdemo/foof.f90, - tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, - tests/fcdemo/fprogram.f90, tests/mdemo/README, - tests/mdemo/main.c, tests/mdemo/mlib.c, tests/objectlist.test, - tests/static.at, tests/template.at, tests/testsuite.at: Remove - trailing blanks. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_useless_cpp_parens. - - * cfg.mk (local-checks-to-fix): Remove sc_useless_cpp_parens - from list of disabled checks. - * doc/libtool.texi, libltdl/argz.c, libltdl/argz_.h, - build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h, - libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, - libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, - libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, - libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, - libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, - libltdl/loaders/dyld.c, libltdl/loaders/loadlibrary.c, - libltdl/loaders/shl_load.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, - libltdl/ltdl.c, libltdl/ltdl.h, libltdl/m4/libtool.m4, tests/demo/foo.h, - tests/depdemo/sysdep.h, tests/exceptions.at, tests/export.at, - tests/pdemo/foo.h, tests/stresstest.at: Remove useless parens in cpp - `#if defined(foo)' statements. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_space_tab. - - * cfg.mk (local-checks-to-fix): Remove sc_space_tab from list of - disabled checks. - (exclude_file_name_regexp--sc_space_tab): Don't flag space-tab - sequences in diff files as an error. - * Makefile.am, build-aux/general.m4sh, build-aux/git-hooks/commit-msg, - build-aux/ltmain.m4sh, libltdl/loaders/dyld.c, - libltdl/loaders/shl_load.c, libltdl/ltdl.h, libltdl/ltdl.mk, - libltdl/slist.c, libtoolize.m4sh, m4/ltoptions.m4, tests/demo/dlmain.c, - tests/depdemo/main.c, tests/libtoolize.at, tests/lt_dladvise.at, - tests/pdemo/longer_file_name_dlmain.c, tests/sh.test, tests/static.at, - tests/stresstest.at, tests/template.at: Fix space-tab sequences by - reversing them in regexps, and deleting leading spaces in indentation. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_prohibit_undesirable_word_seq. - - * cfg.mk (local-checks-to-fix): Remove - sc_prohibit_undesirable_word_seq from list of disabled checks. - * doc/libtool.texi, build-aux/ltmain.m4sh, - libltdl/m4/libtool.m4, libtoolize.m4sh: Replace all uses of "can - not" with "cannot". - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_probibit_test_minus_ao. - - * cfg.mk (local-checks-to-fix): Remove - sc_probhibit_test_minus_ao from list of disabled checks. - (exclude_file_name_regexp--sc_prohibit_tests_minus_ao): The - matches from this syntax-check in libtool.m4 are all bogus. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_prohibit_strcmp. - - * cfg.mk (local-checks-to-fix): Remove sc_prohibit_strcmp - from list of disabled checks. - (exclude_file_name_regexp--sc_prohibit_strcmp): Ignore - violations in libtool.texi and any demo C files. - * libltdl/libltdl/lt__private.h (strneq, streq): Renamed from - this... - (STRNEQ, STREQ): ..to this. Adjust all callers. - * tests/slist.at: Add STREQ definition. Change all !strcmp calls - to STREQ. - * build-aux/ltmain.m4sh (func_emit_cwrapperexe_src): Add and use - STREQ definition. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_prohibit_stddef_without_use. - - * cfg.mk (local-checks-to-fix): Remove - sc_prohibit_stddef_without_use from list of disabled checks. - * libltdl/argz.c, libltdl/lt__dirent.c, libltdl/slist.c: Remove - spurious stddef.h #include lines. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_prohibit_magic_number_exit. - - * cfg.mk (local-checks-to-fix): Remove sc_prohibit_magic_number_exit - from list of disabled checks. - * ltmain.c: Removed unused file. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_prohibit_have_config_h. - - * cfg.mk (local-checks-to-fix): Remove sc_prohibit_have_config_h - from list of disabled checks. - * tests/f77demo/foo.h, tests/fcdemo/foo.h: Remove spurious - HAVE_CONFIG_H guards for #include . - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_prohibit_empty_lines_at_EOF. - - * cfg.mk (local-checks-to-fix): Remove - sc_prohibit_empty_lines_at_EOF from list of disabled checks. - * THANKS, libltdl/argz.c, libltdl/config/getopt.m4sh, - tests/f77demo/README, tests/f77demo/cprogram.c, - tests/f77demo/fprogram.f, tests/fcdemo/README, - tests/fcdemo/cprogram.c, tests/libtoolize.at, - tests/mdemo/README, tests/mdemo2/README, tests/pdemo-inst.test: - Remove spurious empty lines from the end of these files. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_prohibit_doubled_word. - - * cfg.mk (local-checks-to-fix): Remove sc_prohibit_doubled_word - from list of disabled checks. - * build-aux/general.m4sh (func_quote_for_eval): Remove one of a - pair of "and"s in a comment. - * tests/lt_dladvise.at (hint_global): Remove one of a pair of - consecutive "to"s split across lines in a comment. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_prohibit_cvs_keyword. - - * cfg.mk (local-checks-to-fix): Remove sc_prohibit_cvs_keyword - from list of disabled checks. - * tests/tagdemo/README: Remove spurious CVS keyword. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_makefile_at_at_check. - - At some point we were supporting some undetermined `broken - make', as evidenced by having carried the following code since - 2003: - ## use @LIBLTDL@ because some broken makes do not accept - ## macros in targets, we can only do this because our LIBLTDL - ## does not contain $(top_builddir). - @LIBLTDL@: $(top_distdir)/libtool \ - ... - However, we've also had *many* cases of macros in targets for - just as long, so most likely we never fully supported makes - allegedly broken in this way. As of this release, we explicitly - no longer support make implementations that do not accept macros - in targets. - * cfg.mk (local-checks-to-fix): Remove sc_makefile_at_at_check - from list of disabled checks. - * configure.ac (order-only prerequisites): Test with the - order-only pipe symbol in a macro. - * Makefile.am, tests/mdemo/Makefile.am: Convert all @FOO@ to - $(FOO). - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_makefile_TAB_only_indentation. - - * cfg.mk (local-checks-to-fix): Remove - sc_makefile_TAB_only_indentation from list of disabled checks. - * Makefile.am (libltdl/Makefile.am): Replace leading spaces with - TABs. - * libltdl/Makefile.am (libltdl_libltdl_la_SOURCES): Ditto. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_m4_quote_check. - - * cfg.mk (local-checks-to-fix): Remove sc_m4_quote_check from - list of disabled checks. - * libltdl/m4/libtool.m4 (_LT_CHECK_OBJDIR): Quote LT_OBJDIR - correctly. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_file_system. - - * cfg.mk (local-checks-to-fix): Remove sc_file_system from list - of disabled checks. - (VC_LIST_ALWAYS_EXCLUDE_REGEX): Match mail directory correctly - to avoid running its contents through syntax-check. - * build-aux/ltmain.m4sh (func_mode_link): Use correct spelling - for "file system". - * libltdl/ltdl.c (try_dlopen): Ditto. - * tests/dlloader-api.at: Ditto. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_error_message_uppercase. - - * cfg.mk (local-checks-to-fix): Remove - sc_error_message_uppercase from list of disabled checks. - (exclude_file_name_regexp--sc_error_message_uppercase): Don't - match cvsu, which is not our file to edit. - * doc/libtool.texi: Use lowercase error message in example. - -2011-11-17 Gary V. Vaughan - - syntax-check: rationale for disabling sc_cast_of_x_alloc_return_value. - - * cfg.mk: Note that we support C++ compilation of libltdl, which - in turn requires that *alloc return values be cast correctly. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_cast_of_argument_to_free. - - * cfg.mk (local-checks-to-fix): Remove - sc_cast_of_argument_to_free from list of disabled checks. - * build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h, - libltdl/lt__dirent.c: Casting argument to free is never - necessary. - -2011-11-17 Gary V. Vaughan - - syntax-check: fix violations and re-enable sc_avoid_if_before_free. - - * cfg.mk (local-checks-to-fix): Remove sc_avoid_if_before_free - from list of disabled checks. - According to gnulib/doc/free.texi: "On old platforms such as - SunOS4, @code{free (NULL)} fails. However, since all such - systems are so old as to no longer be considered ``reasonable - portability targets,'' this module is no longer useful." - * libltdl/libltdl/lt__alloc.h (FREE, MEMREASSIGN): Don't protect - against freeing NULL bug on SunOS4. - -2011-11-17 Gary V. Vaughan - - syntax-check: skip sc_unmarked_diagnostics. - - * cfg.mk (local-checks-to-fix): Move sc_unmarked_diagnostics - from here... - (local-checks-to-skip): ...to here. - -2011-11-17 Gary V. Vaughan - - libtoolize: rename `libltdl/config' directory to standard `build-aux'. - - In addition to moving the autoconf auxiliary script directory - into the place expected by GNU developers ($top_srcdir/build-aux) - we also simplify libtoolize somewhat by having libltdl use - whatever directory was specified by the parent project. This is - much more flexible, allows libltdl client projects to also use a - single canonical `$top_srcdir/build-aux' auxiliary script - directory, and maintains backward compatibility with existing - projects that wish to continue using $ltdl_dir/config. - * libltdl/config: Moved whole directory from here... - * build-aux: ...to here. - * libtoolize.m4sh (func_install_pkgaux_subproject): Remove. - (func_install_pkgaux_parent): Remove. - (func_install_pkgaux_files): Considerably simplified now that we - have only a single auxiliary directory to worry about. - (subproject_aux_dir): Remove. - * bootstrap.conf (libtool_readme_release_package_substitutions): - No need to substitute our old unusual aux_dir location into - README-release any more. - * cfg.mk (_build-aux): Now that we use the standard location for - this directory, no need to set this variable either. - * configure.ac (AC_INIT): git-version-gen has moved. - (AC_CONFIG_AUX_DIR): Adjust. - * Makefile.am (stamp-mk, auxexefiles, auxfiles) - (install-data-local): Use build-aux instead of config. - (libltdl/stamp-mk): Ditto. - * libltdl/configure.ac, tests/cdemo/configure.ac, - tests/demo/configure.ac, tests/depdemo/configure.ac, - tests/f77demo/configure.ac, tests/fcdemo/configure.ac, - tests/mdemo/configure.ac, tests/mdemo2/configure.ac, - tests/pdemo/configure.ac, tests/tagdemo/configure.ac - (AC_CONFIG_AUX_DIR): Ditto. - * tests/defs.m4sh (aux_dir): Ditto. - * tests/configure-iface.at, tests/getopt-m4sh.at, - tests/libtoolize.at, tests/subproject.at, tests/testsuite.at: - Ditto. - * Makefile.am (ltdl_ac_aux_dir): Extract at build-time... - * libtoolize.m4sh (require_ltdl_ac_aux_dir): ...so that - libtoolize can access it at runtime without requiring GNU M4 via - the extract-trace script. - (require_Makefile_am_filter): Use it to determine whether the - aux_dir declared in the current (parent) project configure is - compatible with the declarations in installed ltdl autotools - source files. - (require_configure_ac_filter): New function to perform similar - checks and rewrite configure.ac during installation if necessary. - * NEWS: Updated. - -2011-11-17 Gary V. Vaughan - - libtoolize: aux scripts go in ltdl dir when parent has no configure. - - When using libtoolize to install subproject libltdl into a - parent project that does not use autotools, set the default - directory for auxiliary scripts inside libltdl rather than - littering the parent project with files it doesn't use. - * libtoolize.m4sh (func_require_ac_aux_dir): In verbose mode, - report results like other require_ funcs. - (func_require_aux_dir): Put subproject auxiliary files into ltdl - directory where libltdl/configure will be able to find - `install-sh' and others. - -2011-11-17 Gary V. Vaughan - - libtoolize: simplify runtime by substituting pkgauxdir. - - * Makefile.am (configure_edit): Substitute pkgauxdir. - * libtoolize.m4sh (func_install_pkgaux_subproject) - (func_install_pkgaux_parent, extract_trace): Use it. - -2011-11-17 Gary V. Vaughan - - libtoolize: generate require_ltdl_relative_aux_dir definition. - - * libtoolize.m4sh (require_ltdl_relative_macro_dir): Change to - be generated function... - (require_ltdl_relative_aux_dir): ...so that we can easily - generate this very similar function from the same code. - -2011-11-17 Gary V. Vaughan - - libtoolize: rename `libltdl/m4' directory to standard `m4'. - - In addition to moving the autoconf macro directory into the - place expected by GNU developers ($top_srcdir/m4), we also - simplify libtoolize somewhat by having libltdl use whatever - directory was specified by the parent project. This is much - more flexible, allows libltdl client projects to also use a - single canonical `$top_srcdir/m4' macro directory, and maintains - backward compatibility with existing projects that wish to - continue using $ltdl_dir/m4. - * libltdl/m4: Moved to it's parent directory. - * Makefile.am (ACLOCAL_AMFLAGS, BUILDCHECK_ENVIRONMENT) - (libltdl/Makefile.am, libltdl/aclocal.m4): Adjust. - * configure.ac (AC_CONFIG_MACRO_DIR): Adjust. - * libltdl/configure.ac (AC_CONFIG_MACRO_DIR): Remove. The - libtoolize script can pick up the project macro directory from - ACLOCAL_AMFLAGS in libltdl/Makefile.am, saving us from needing - to regenerate configure for the sake of a different macro - directory declared in the libltdl using client project. - * libtoolize.m4sh (func_install_pkgmacro_subproject): Remove. - (func_install_pkgmacro_parent): Remove. - (subproject_macro_dir): Remove. - (require_libltdl_Makefile_am, require_ltdl_aclocal_amflags) - (require_ltdl_am_macro_dir): New functions, generated at runtime - by adding libltdl/Makefile.am to the generation loop. - (func_install_pkgmacro_files): Considerably simplified now that - we have only a single macro directory to worry about. - (require_ltdl_relative_macro_dir): New function. Calculate the - relative path from $ltdl_dir to the parent project macro_dir. - (require_Makefile_am_filter): Depending on $ltdl_mode, edit - Makefile.am ACLOCAL_AMFLAGS to use the parent project macro - directory if necessary. - (require_aclocal_m4_filter): Make sure m4_includes point to the - correct macro directory by editing the file as it is copied - into the parent project. - (func_install_pkgltdl_files): Use the filters. - (func_check_macros): Remove various advice that no longer - applies with an always shared macro directory. - (func_require_ltdl_dir): Don't default ltdl_dir to subproject - when `--ltdl' was not given. - (func_require_ltdl_mode): Leave ltdl_mode empty when ltdl_dir is - not set. - (func_require_macro_dir): Default to $ltdl_dir/m4 in subproject - mode with no other directory implied by AC_CONFIG_MACRO_DIR or - ACLOCAL_AMFLAGS, otherwise m4 as before. - * tests/libtoolize.at: Match new "creating file `Makefile.am'" - messages correctly. - (subproject ltdl with non-shared directories): This test no - longer makes sense, so repurposed... - (subproject ltdl with non-canonical macro dir): ...this, to - ensure subproject ltdl continues to automatically share the - parent macro directory. - * tests/cdemo/Makefile.am, tests/demo/Makefile.am, - tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, - tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am, - tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, - tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Use new location - of macro_dir. - * NEWS: Updated. - -2011-11-17 Gary V. Vaughan - - libtoolize: rename `Makefile.inc' to standard `ltdl.mk'. - - * libltdl/Makefile.inc: Moved from here... - * libltdl/ltdl.mk: ...to here. - * Makefile.am, bootstrap.conf, tests/libtoolize.at, - tests/nonrecursive.at: Adjust. - * libtoolize.m4sh (func_install_pkgltdl_files): Set the - destination file to `Makefile.inc' if grep finds an include for - that name in a top-level Makefile.am. - (func_check_macros): Print a deprecation warning if use of the - old `Makefile.inc' convention is found. - * tests/old-ltdl-iface.at: New test for renaming and warning - correctly when `Makefile.inc' convention is still in use. - * NEWS: Updated. - -2011-11-17 Gary V. Vaughan - - libtoolize: refactor ACLOCAL_AMFLAGS extraction. - - Another simple refactor to simplify following changesets. - * libtoolize.m4sh (require_Makefile_am, require_aclocal_amflags) - (require_am_macro_dir): Generate these functions at runtime. - -2011-11-17 Gary V. Vaughan - - libtoolize: rename require_makefile_am to require_Makefile_am. - - A simple refactoring to keep the next change self-contained. - * libtoolize.m4sh (require_makefile_am): Renamed from this... - (require_Makefile_am): ...to this. - -2011-11-17 Gary V. Vaughan - - libtoolize: simplify copying of files that are edited during install. - - * libltdl/Makefile.inc (EXTRA_DIST): Don't list autotools files - that Automake automatically adds to a (subproject) - distribution... - * Makefile.am (EXTRA_DIST): ...although, our layout is a bit odd - because we reuse libltdl/Makefile.inc in non-recursive mode in - our own tree, so we do need to add those very same files here... - * libtoolize.m4sh (require_Makefile_am_filter) - (require_Makefile_inc_filter): ...all of which means we no - longer need to manually remove those files at libtoolize time. - These two new functions are factored out of... - (func_fixup_Makefile): ...this old function, now removed. - (func_copy): Add support for an optional sed script as the last - argument to filter the content of a file as it is copied. - (func_install_pkgltdl_files): Much simplified by $require_ - the relevant filter scripts and passing them to func_copy. - -2011-11-17 Gary V. Vaughan - - libtoolize: simplify file-copying and -linking call-graph. - - * libtoolize.m4sh (TAR): Remove. - (func_copy_some_files, func_copy_cb): Remove. - (func_copy): Refactor from all of the above, and simplify. No - need to use $TAR to preserve timestamps when copying, since - we've been running touch right afterwards anyway. Adjust all - callers to use the new argument footprint. - (func_serial_update, func_keyword_update): Delete any pre- - existing destination file when used with `--force' before - calling func_copy, now that the hardcoded special cases are not - in there any more. - (func_install_pkgmacro_subproject) - (func_install_pkgaux_subproject): Use our own file loop - - func_copy subsumes all the checks previously in - func_copy_some_files, but operates on only one file at a time. - (func_install_pkgltdl_files): Similarly, handle aclocal.m4 and - configure special cases here, before calling func_copy. - * tests/libtoolize.at: Make sure we match corrected "copying - `configure.ac'" output. - -2011-11-17 Gary V. Vaughan - - maint: generate full and correct ChangeLog. - - * gnulib: Updated to pick up gitlog-to-changelog multi-author - support. - * gl/build-aux/gitlog-to-changelog.diff: Use gnulib-rejected - patch for '(tiny change)' support. - * Makefile.am (ChangeLog): Use gitlog-to-changelog --amend=F - option. - * libltdl/config/git-hooks/commit-msg: New commit message hook - for git. - * libltdl/config/git-log-fix: New file, with ChangeLog fixes. - * HACKING (Using git): Update. - -2011-11-16 Gary V. Vaughan - - options-parser: provide a saner pluggable API. - - It's much too easy to forget that the functions you hook into - the option parser need to return unconsumed options in the - variable `func_run_hooks_result'; better to follow the - convention used in the rest of bootstrap and return results in a - variable named after the function with `_result' appended. - * libltdl/config/options-parser (func_run_hooks): implement this - new API. - (Option parsing): Update the example in the header comment for - this section to reflect the changes. - * bootstrap (bootstrap_options_prep, bootstrap_parse_options) - (bootstrap_validate_options): Adjust. - * bootstrap.conf (libtool_options_prep, libtool_parse_options) - (libtool_validate_options): Ditto. - -2011-11-16 Gary V. Vaughan - - bootstrap: display accurate usage message. - - After splitting bootstrap up, we also lost bootstrap's usage - message, and were incorrectly displaying a partial extract-trace - message. - * bootstrap (usage): Set appropriately. - -2011-11-16 Gary V. Vaughan - - bootstrap: accept --gnulib-srcdir=/path/to/gnulib again. - - During the split of bootstrap into options-parser and - extract-trace, the generic long-option splitting code got lost. - * libltdl/config/options-parser (func_parse_options): Add the - code to split any long option separated by an equals from its - optarg back in. - Reported by Roumen Petrov. - -2011-11-15 Gary V. Vaughan - - gnulib: update gnulib submodule. - - Among others, this fixes a bug in _build-aux expansion so that - `make syntax-check' works again. - * gnulib: Updated to today's master HEAD revision. - * gl/top/maint.mk.diff: Remove. This patch has been applied - upstream already. - -2011-11-15 Gary V. Vaughan - - libtoolize: remove NL2SP and initialisation. - - There's only a single use of NL2SP, and that is redundant. - * libtoolize.m4sh (func_serial_update): Factor away use of - NL2SP. - (NL2SP, SP2NL): Remove initialisation. - -2011-11-15 Gary V. Vaughan - - bootstrap: remove consumed options from the list to be processed. - - Fix a bug where processed bootstrap options were not removed - from the queue, and eventually flagged as unknown in the - pluggable option parser driver. - * bootstrap (bootstrap_parse_options) - (bootstrap_validate_options): Follow the pluggable option parser - API correctly, and set func_run_hooks_result to the list of - remaining unconsumed options. - Reported by Roumen Petrov. - -2011-11-14 Gary V. Vaughan - - libtoolize: refactor $opt_quiet, func_echo and func_echo_once. - - Instead of long sequences checking for setting of $opt_quiet, - followed by one or more func_echo variations, add and use a new - function func_whisper - the complement of func_verbose. - * libtoolize.m4sh (func_whisper): New function. Adjust all - callers previously using `$opt_quiet || func_echo ...'. - (func_whisper_once): Ditto, for `$opt_quiet || func_echo_once - ...'. - (func_whisper_hdr): New function, adjust all callers previously - using `func_whisper_once ...; func_whisper ...'. - (func_whisper_error_header): Ditto, but calling func_error. - (func_echo_once): Remove. - -2011-11-14 Gary V. Vaughan - - libtoolize: update a bit-rotted comment. - - * libtoolize (func_copy_cb): Since this comment was written, the - function has been changed to timestamp files as it copies. - Update the comment to reflect that. - -2011-11-14 Gary V. Vaughan - - general.m4sh: relative path to the same directory is `.'. - - * general.m4sh (func_relative_path): We sometimes want to use - the result of this function directly, rather than purely as a - prefix, so we need to return `.' when both directories end up at - the same location. - -2011-11-14 Gary V. Vaughan - - ltmain.sh: append relative path trailing slashes explicitly. - - In addition to being more idiomatic, and hence minimising - suprises, seeing the slash written explicity when appending to - the result of a relative path calculation is a lot more - readable. - * libltdl/config/general.m4sh (func_relative_path): Don't append - an implicit trailing slash... - * libltdl/config/ltmain.m4sh (func_mode_link): ...write it - explicitly at the time of use. - -2011-11-09 Gary V. Vaughan - - build: use pkgauxdir for local install and uninstall rules. - - * Makefile.am (pkgauxdir): Set it correctly. - (uninstall-hook): Use it for pkgaux_scripts and - pkgaux_data_files. - (install-data-local): Ditto. - Remove `config/' prefix from extract-trace and option-parser - items. - -2011-11-08 Gary V. Vaughan - - install: correct a typo in pkgaux_files location. - - * Makefile.am (install-data-local): Install pkgaux_files - directly from $(aux_dir) [./libltdl/config at the moment]. - -2011-11-08 Gary V. Vaughan - - libtoolize: order pkgltdl_files to avoid reconfiguration. - - * Makefile.am (pkgltdl_files): aclocal.m4 depends on - configure.ac, and will cause spurious reconfiguration of freshly - `libtoolize --ltdl' tree if we don't ensure configure.ac is the - older of these two files. - * tests/libtoolize.at: Adjust expout order to match. - -2011-11-08 Gary V. Vaughan - - build: remove an over-exuberant $(srcdir) prefix. - - * Makefile.am (git_version_gen): No need for an extra $(srcdir) - in the path when we always use after `cd $(srcdir). - -2011-11-08 Gary V. Vaughan - - libtoolize: massage installed auxiliary script list at make time. - - * Makefile.am (configure_edit): Rename pkgconfig_files - substitution to pkgaux_files, and add pkgaux_install_files and - pkgaux_parent_files substitutions for atlocal. - (pkgauxdir): Where to install pkgaux_files. - (auxfiles): Removed, and replaced by... - (pkgaux_parent_files, pkgaux_install_files, pkgaux_data_files): - ...these, which separate the files lists more logically for - easier installation, and use by libtoolize.m4sh. - (uninstall-hook): Adjust. - (tests/atlocal): Adjust. - * bootstrap.conf (libtool_link_libltdl_subdirs): Adjust. - * libtoolize.m4sh (func_install_pkgconfig_files) - (func_install_pkgconfig_subproject) - (func_install_pkgconfig_parent, func_install_pkgconfig_files) - (all_pkgconfig_files): Renamed to... - (func_install_pkgaux_files, unc_install_pkgaux_subproject) - (func_install_pkgaux_parent, func_install_pkgaux_files) - (all_pkgaux_files): ...these, resp. Adjust all callers. - (func_massage_pkgconfig_files): Removed. - (pkgaux_files): List of all auxiliary scripts substituted from - Makefile. - -2011-11-08 Gary V. Vaughan - - libtoolize: massage installed libltdl file list at make time. - - * libtoolize.m4sh (pkgltdldir, pkgdatadir): Put installable - libltdl files in pkgdatadir. When testing, and _lt_pkgdatadir - is set, adjust to look in libltdl subdirectory. - (func_massage_pkgltdl_files): Removed function and only caller, - because... - (pkgltdl_files): ...we substitute the pre-massaged files - directly... - (func_install_pkgltdl_files): ...from here. - Adjust installation of specially handled additional files. - * Makefile.am (ltdldir): Location of libltdl files in source - tree. - (ltdldest, ltdldatafiles): Removed. - (pkgltdl_files): New pre-massaged list of libltdl sources. - (install-data-local, uninstall-hook): Use it. - * tests/libtoolize.at: Reorder expected output to match actual - libtoolize output. - -2011-11-08 Gary V. Vaughan - - libtoolize: massage installed macro list at make time. - - * libtoolize.m4sh (func_massage_aclocal_DATA): Removed function - and only caller, because... - (pkgmacro_files): ...we substitute the pre-massaged files - directly... - (func_install_pkgmacro_files): ...from here. - * Makefile.am (pkgmacro_files): New pre-massaged list of aclocal - macros used by func_install_pkgmacro_files. - (configure_edit): Substitute pkgmacro_files instead of - aclocalfiles. - -2011-11-08 Gary V. Vaughan - - libtoolize: use only space delimited file lists. - - We don't install any files with whitespace in their file name, - so using colon delimited lists to make that possible was a - premature optimisation and an unneeded complication. - * libtoolize.m4sh (func_copy_some_files): Remove IFS twiddling, - and just pull space delimited files in a for loop idiomatically. - (func_massage_aclocal_DATA, func_install_pkgmacro_subproject) - (func_install_pkgmacro_parent, func_install_pkgmacro_files) - (func_massage_pkgltdl_files, func_massage_pkgconfig_files): - Append to file lists with space delimiter. - -2011-11-08 Gary V. Vaughan - - libtoolize: remove sed based configure scanning. - - * libtoolize (func_scan_files): Removed function and callers. - (require_seen_ltdl, require_seen_libtool): Factor out remaining - functionality of former sed based scanning. - (func_check_macros): Adjust. - * NEWS: Updated. - -2011-11-08 Gary V. Vaughan - - libtoolize: refactor ltdl_mode discovery. - - * libtoolize.m4sh (require_ac_ltdl_mode) - (require_ac_ltdl_options, require_ltdl_mode): New functions - factored out of func_scan_files for scanning and setting - ltdl_mode and friends. - (func_scan_files): Remove the factored out code. - (func_install_pkgmacro_files, func_install_pkgltdl_files) - (func_install_pkgconfig_files, func_check_macros): Adjust. - -2011-11-08 Gary V. Vaughan - - libtoolize: refactor ltdl_dir discovery. - - * libtoolize.m4sh (require_ac_ltdl_dir, require_ltdl_dir): - New functions factored out of func_scan_files for scanning and - setting ac_ltdl_dir and ltdl_dir resp. - (func_scan_files): Remove the factored out code. - (func_fixup_Makefile, func_serial_update_check) - (func_install_pkgltdl_files, func_install_pkgconfig_subproject) - (func_check_macros): Adjust. - -2011-11-08 Gary V. Vaughan - - libtoolize: refactor aux_dir discovery. - - * libtoolize.m4sh (require_ac_aux_dir, require_aux_dir): New - functions factored out of func_scan_files for scanning and - setting aux_dir and friends. - (func_scan_files): Remove the factored out code to scan - configure.ac with sed, and then set macro_dir appropriately. - (func_install_pkgconfig_subproject, func_install_pkgconfig_parent) - (func_install_pkgmacro_files, func_check_macros): Adjust. - -2011-11-08 Gary V. Vaughan - - libtoolize: install autoconf macros only if there is a $configure_ac. - - * libtoolize.m4sh (func_install_pkgmacro_files): If there is no - $configure_ac in the parent project directory, and libtoolize is - in subproject mode, then the parent project has no use for - autoconf macros, so don't install them. - * NEWS: Updated. - -2011-11-08 Gary V. Vaughan - - libtoolize: display aux files output header for non-autoconf parents. - - * libtoolize.m4sh (func_install_pkgconfig_subproject): When the - parent project does not use Autoconf, be sure to display an - output header before copying auxiliary files despite not being - able to scan for AC_CONFIG_AUX_DIR arguments. - * NEWS: Updated. - -2011-11-08 Gary V. Vaughan - - libtoolize: refactor macro_dir discovery around extract-trace script. - - * libtoolize.m4sh (func_extract_trace): Function to call - $aux_dir/extract-trace. The name and footprint are the same as - the core function in the extract-trace script file so that we - can choose to source that file when the option processing - becomes compatible with ours. - (require_ac_macro_dir, require_aclocal_amflags) - (require_am_macro_dir, require_macro_dir, require_makefile_am): - New functions factored out of func_scan_files for scanning and - setting macro_dir and friends. - (func_scan_files): Remove the factored out code to scan - configure.ac with sed, and then set macro_dir appropriately. - (func_serial_update_check, func_install_pkgmacro_subproject) - (func_install_pkgmacro_parent, func_install_pkgmacro_files) - (func_check_macros): Adjust. - * tests/libtoolize.at (Subproject ltdl without GNU M4): New test - to ensure `libtoolize --subproject' continues to work without a - GNU M4 dependency. - * NEWS: Updated. - -2011-11-08 Gary V. Vaughan - - libtoolize: refactor configure_ac discovery. - - Make a start on decomposing some of the giant functions at the - heart of libtoolize into the much more flexible and manageable - (albeit somewhat more verbose) model of self-organising - $require_ function pointers. - * libtoolize.m4sh (require_configure_ac): New function factored - out of func_scan_files for setting $configure_ac appropriately, - implementation taken from extract-trace script. - (func_autoconf_configure): And similarly for ensuring that a - filename which matches something Autoconf would read also has - content that appears to be destined for Autoconf processing. - (func_scan_files): Simplified the factored out code to a single - require_configure_ac call. - (func_install_pkgconfig_files, func_check_macros): Ditto. - (seen_autoconf): Removed. - -2011-11-08 Gary V. Vaughan - - bootstrap: split into reusable parts. - - * bootstrap: Bourne shell has no scoping, so be extremely - careful with namespaces, functions in `^func_' and `^require_'; - private variables in `^_G_', and public variables all well - documented by comments. - * libltdl/config/extract-trace: New file, containing the minimum - of code previously in bootstrap plus a little glue to make the - GNU M4 based autotools tracing function (as opposed to the - kludgy sed extraction currently used everywhere else) a - standalone script that can be executed or sourced. - * libltdl/config/options-parser: New file, containing the - pluggable options parser code shared between the other two. - * bootstrap.conf: Adjust. - * Makefile.am (EXTRA_DIST): Be sure to distribute the new - extract-trace and options-parser scripts. - (install-data-local): And install them where libtoolize can find - them. - -2011-11-08 Gary V. Vaughan - - tests: prefix absolute directory variables with 'abs_'. - - Avoid any possible confusion about the contests of thes - variables compared to $aux_dir, $macro_dir and $src_dir in - configure.ac, Makefile.am, libtoolize.m4sh and others. - * tests/defs.m4sh (aux_dir, macro_dir, srcdir): Rename these... - (abs_aux_dir, abs_macro_dir, abs_srcdir): ...to these resp. - * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, - tests/cdemo-static-exec.test, tests/cdemo-static-make.test, - tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, - tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, - tests/demo-nofast-make.test, tests/demo-nofast-unst.test, - tests/demo-nopic-exec.test, tests/demo-nopic-make.test, - tests/demo-pic-exec.test, tests/demo-pic-make.test, - tests/demo-shared-exec.test, tests/demo-shared-inst.test, - tests/demo-shared-make.test, tests/demo-shared-unst.test, - tests/demo-static-exec.test, tests/demo-static-inst.test, - tests/demo-static-make.test, tests/demo-static-unst.test, - tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, - tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, - tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, - tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, - tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, - tests/depdemo-static-make.test, tests/depdemo-static-unst.test, - tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, - tests/f77demo-static-exec.test, tests/f77demo-static-make.test, - tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, - tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, - tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, - tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, - tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, - tests/mdemo-static-make.test, tests/mdemo-static-unst.test, - tests/sh.test, tests/tagdemo-shared-exec.test, - tests/tagdemo-shared-make.test, tests/tagdemo-static-exec.test, - tests/tagdemo-static-make.test, tests/tagdemo-undef-exec.test, - tests/tagdemo-undef-make.test, tests/tagtrace.test: Adjust. - -2011-11-08 Gary V. Vaughan - - maint: calculate required mkinstalldirs calls during `make install'. - - * Makefile.am (install-data-local): Make sure all destination - directories are in place before copying files there, without - hardcoding them. - -2011-11-08 Gary V. Vaughan - - maint: substitute static directory names. - - By substituting just the directory name as passed to the macro, - aux_dir can be used with or without $srcdir prefix, which is - more flexible, and always means the same thing in each file, - rather than sometimes being a directory name, sometimes relative - to $top_srcdir. - * configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR) - (LT_CONFIG_LTDL_DIR): Don't force config.status substitutions - with unexpanded shell variables. - * Makefile.am, tests/defs.m4sh: Adjust. - -2011-11-07 Peter Rosin - - libtoolize: fix spelling nit. - - * libtoolize (M4SH_GETOPTS): Fix spelling nit. - -2011-11-07 Gary V. Vaughan - - tests: fix parsing of configure output by pic_flag.at. - - Close http://debbugs.gnu.org/9962. - * tests/pic_flag.at (LT_AT_CONFIGURE): Make sure to configure - with --disable-silent-rules so that the full output parsed by - the rest of the test is available. - Reported by Roumen Petrov. - -2011-11-07 Gary V. Vaughan - - libtoolize: rename `--subproject' option, and make it work. - - * libtoolize (M4SH_GETOPTS): Remove `--standalone', which never - worked, and add `--subproject' which sets ltdl_mode correctly. - -2011-11-05 Gary V. Vaughan - - libtoolize: fix a scoping bug in func_aclocal_update_check. - - libtoolize.m4sh (func_aclocal_update_check): This body of this - function used a global variable set by the outer loop of the - caller. Fix to Use the function argument correctly. - -2011-11-05 Gary V. Vaughan - - maint: rename the debug shell command variable to `debug_cmd'. - - Not only does it make more sense, it also matches bootstrap and - others. - * libtoolize.m4sh, libltdl/config/ltmain.m4sh, - libltdl/config/getopt.m4sh, tests/defs.m4sh (opt_debug): Rename - to debug_cmd. - -2011-11-05 Gary V. Vaughan - - maint: dynamically strip unused scripts from libltdl Makefile. - - * configure.ac (pkgaux_scripts): Centrally maintain the complete - list of aux scripts required to build libltdl, and which need to - be installed by libtoolize --ltdl, and consequently need to be - placed in $pkgdatadir by make install. - * Makefile.am (libltdl/stamp.mk): Improved to strip the unused - scripts not listed in pkgaux_scripts without the need for manual - synchronisation. - (auxexefiles): Removed. Replaced by new pkgaux_scripts - substitution. - (install-data-local): Adjust. - -2011-11-05 Gary V. Vaughan - - build: substitute paths into defs.m4sh instead of recalculating. - - * Makefile.am (configure_edit): Add substitutions for aux_dir, - macro_dir and srcdir. - * tests/defs.m4sh: Don't recalculate srcdir. - (aux_dir, macro_dir, srcdir): Convert to absolute paths. - -2011-11-05 Gary V. Vaughan - - build: support AM_SILENT_RULES - - * configure.ac: Add AM_SILENT_RULES. - * libltdl/configure.ac: Ditto, but only if defined. - * Makefile.am (.version, ChangeLog, README, doc/notes.txt) - (libtool, libtoolize, libtoolize.in, libltdl/Makefile.am) - (libltdl/stamp-mk, m4/ltversion.m4, tests/atconfig, tests/defs) - (tests/defs.in, tests/package.m4): Output an AM_SILENT_RULES-like - GEN when V==0. - * libltdl/Makfile.inc (libltdl/argz.h): Ditto. - -2011-10-31 Gary V. Vaughan - - maint: add autobuild prerequisite only if autobuild.m4 is absent. - - * bootstrap (func_require_autobuild_buildreq): Skip if autobuild.m4 - is already present. - * bootstrap.conf (require_autobuild_bulidreq): No need to set this - specially any more. - -2011-10-31 Gary V. Vaughan - - maint: ensure bootstrap runs from dist tarball. - - * bootstrap (func_gnulib_tool_copy_file): When gnulib-tool is - not available, check that there is a copy of the file from a - previous run available before bailing out with a diagnostic. - (func_install_gnulib_non_module_files): Don't diagnose missing - files explicitly - func_gnulib_tool_copy_file takes care of it - now. - (func_require_checkout_only_file): In the diagnostic for - not being in a source-controlled tree, note that `--force' must - be used to rebootstrap. - (func_require_gnulib_files_already_present): Removed. All the - necessary checks are correctly performed in - func_gnulib_tool_copy_file withot resorting to heuristics. - (func_require_gnulib_mk): Don't continue to try to access - gnulib-cache.m4 after discovering we're running from a dist - tarball. - (func_require_dotgitmodules_parameters): Skip if .gitmodules - file is missing and git binary is not available. - * bootstrap.conf (checkout_only_file): Set to HACKING, which is - a non-distributed file. - (libtool_cleanup_empty_dirs): Don't print spurious errors when - trying to delete gnulib-tool droppings, in case gnulib-tool is - not available on this run. - -2011-10-31 Gary V. Vaughan - - tests: add a keyword `expensive' to very long running tests. - - * tests/cmdline_wrap.at, tests/stresstest.at (AT_KEYWORDS): Add - `expensive'. - * NEWS: Updated. - -2011-10-31 Gary V. Vaughan - - libtoolize: fix some long-standing sed substitution bugs - - * libtoolize.m4sh (func_fixup_Makefile): `\\\\\$' in a " quoted - script that is evaluated twice before execution becomes a `\$', - which sed interprets as a literal $. The script will then delete - any lines with a first non-whitespace character of `$'. Instead - use `\\\\$' in single quotes, which sed eventually receives as - `\\$' and correctly interprets as part of an instruction to - delete otherwise empty lines ending with a `\'. - Additionally the rest of the same sed script is no longer - applied to comment lines to avoid munging the copyright header - among others. - * NEWS: Updated. - -2011-10-27 Gary V. Vaughan - - maint: use gnulib's gitlog-to-changelog instead of a ChangeLog file. - - * ChangeLog: Removed. - * HACKING (Editing 'ChangeLog'): Removed. Renumbered other sections to - compensate. - * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. - * Makefile.am (ChangeLog): Generate the ChangeLog for 2011... - (dist-hook): ...from the output of `git log' before rolling a - distribution tarball. - -2011-10-27 Gary V. Vaughan - - maint: use gnulib's git-version-gen instead of mkstamp. - - * libltdl/config/mkstamp: File removed. - * bootstrap.conf (gnulib_modules): Add git-version-gen. - * configure.ac (AC_INIT, package_revision): Use git-version-gen to - calculate version number. - (TIMESTAMP): Removed. - * libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 - (TIMESTAMP): Ditto. - * Makefile.am (TIMESTAMP): Ditto. - (MKSTAMP): Renamed from this... - (git_version_gen): ...to this. Set revision here. An alpha is now a - release with an odd micro relase number. - (rebuild): Don't reset revision here. - (build_scripts): Remove mkstamp, add git-version-gen. - (EXTRA_DIST, BUILT_SOURCES): Add .version. - (libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4, tests/package.m4): - Don't depend on configure.ac or ChangeLog to determine when the - version number has reved, use .version directly. - (.version): Flush most recent configure calculated VERSION to disk. - (dist-hook): Flush current VERSION to disk at dist time. - (dotserial): Distributed file to cache the serial number for - when git is not available to recalculate it when building from a - release tarball. - (dist-hook): Make sure .serial is created. - (libltdl/config/ltversion.m4): Use .serial when it is present - (in a dist tarball) or calculate with git otherwise (in a git - working directory). - (EXTRA_DIST): Add .serial file. - -2011-10-27 Gary V. Vaughan - - maint: use gnulib's maint.mk and support scripts release procedure. - - * Makefile.maint: Removed. - * configure.ac (LASTRELEASE, lt_major, lt_minor, lt_micro, lt_alpha): - All removed. Makefile.maint was the only client. - * HACKING (Release Procedure): Removed. - * bootstrap.conf (gnulib_modules): Add announce-gen, - do-release-commit-and-tag, gendocs, gnu-web-doc-update, gnupload and - readme-release. - * cfg.mk (manual_title): Set it for web-manual rule. - (announcement_Cc_): Release announcement email addresses. - * Makefile.am (build_scripts): Add to EXTRA_DIST additional files - imported from gnulib for maint.mk release procedure. - * NEWS: Updated. - -2011-10-24 Gary V. Vaughan - - tests: ensure VPATH autom4te search path can find autotests. - - * Makefile.am (tests/testsuite): Passing only $(srcdir) include path - to autom4te is unable to find tests/package.m4, and passing only - $(srcdir)/tests breaks VPATH build searches for TESTSUITE_AT files, - which are relative to $(srcdir)... so we pass both! - * NEWS: Updated. - Reported by Bob Friesenhahn. - -2011-10-24 Karl Berry - - doc: modernize libtool.texi. - - * libtool.texi (@copying): Use this instead of @ifnottex; format for - Texinfo; eliminate obsolete paragraph about TeX; use @insertcopying - instead of duplicating text. - (@syncodeindex): Move all to the Texinfo header, where they belong. - (@dircategory): Use "Software development" instead of "GNU programming - tools", for consistency; and align individual entries to avoid - multiple lines; and move to after the copyright message. - -2011-10-24 Gary V. Vaughan - - maint: don't make autobuild a hard bootstrap requirement. - - * bootstrap.conf (require_autobuild_buildreq): Reset this to ':' so - that bootstrap doesn't auto-add autobuild to $buildreq. - -2011-10-23 Gary V. Vaughan - - maint: use gnulib's maintainer-makefile module. - - * bootstrap.conf (gnulib_modules): Add maintainer-makefile. - (gnulib_tool_options): Add --avoid=dummy now that we have a real - module to import. - * cfg.mk: New file. Customize maint.mk for Libtool. - * Makefile.am (EXTRA_DIST): Add GNUmakefile, cfg.mk and maint.mk. - -2011-10-23 Gary V. Vaughan - - maint: use gnulib's canonical fdl.texi. - - * doc/fdl.texi: Removed. - * bootstrap.conf (gnulib_non_module_files): Add fdl.texi. - -2011-10-23 Gary V. Vaughan - - maint: use gnulib's canonical COPYING files. - - * COPYING, libltdl/COPYING.LIB: Removed. - * bootstrap.conf (gnulib_non_module_files): Add COPYING. - (libtool_add_libltdl_copying): New func_gnulib_tool hook - function to copy the canonical LGPL2 COPYING file from gnulib at - bootstrap. - -2011-10-23 Gary V. Vaughan - - maint: use gnulib's (pending saner) bootstrap script. - - * bootstrap: Replaced with gnulib script. - * bootstrap.conf: New file with Libtool specific bootstrap - configuration. - * Makefile.am (EXTRA_DIST): Add bootstrap.conf. - -2011-10-23 Gary V. Vaughan - - maint: add gnulib submodule. - - * configure.ac (GL_INIT, GL_EARLY): Initialise gnulib, and expand - its configure time checks. - * .gitmodules (gnulib): New file with configuration for our - gnulib git submodule. - -2011-10-22 Gary V. Vaughan - - maint: tidy, sort and consolidate .gitignore files. - - The `gnulib-tool' and gnulib `bootstrap' scripts maintain - `.gitignore' files in asciibetical order, so reorder them now - to avoid spurious patches later. - - Take advantage of putting recursive file ignore matches into - `$top_srcdir/.gitignore' and remove repetitions from other - `.gitignore' files. - -2011-10-22 Gary V. Vaughan - - maint: don't run help2man on programs not-yet-built. - - * Makefile.am (doc/libtool.1, doc/libtoolize.1): Added a - comment about why the dependencies here have to be a mite - bizarre. - -2011-10-22 Gary V. Vaughan - - tests: remove unused `aux_dir' variable from `getopt-m4sh.test'. - - * tests/getopt-m4sh.at (aux_dir): Remove unused variable. - -2011-10-22 Gary V. Vaughan - - tests: DRYing out `tests/sh.test'. - - * Makefile.am (libtool_m4): Canonical location of libtool.m4 file. - (lt_aclocal_m4_deps): Use it. - -2011-10-22 Gary V. Vaughan - - maint: pass directory declarations in configure.ac into Makefile. - - * configure.ac (AC_CONFIG_AUX_DIR, LT_CONFIG_LTDL_DIR) - (AC_CONFIG_MACRO_DIR): Append code to these functions to - capture and propagate their directory arguments to Makefile. - * Makefile.am (aux_dir, ltdl_dir, macro_dir): Remove declarations. - * bootstrap (my_sed_trace): Also capture LT_CONFIG_LTDL_DIR into - `$ltdl_dir'. - : Output the extracted values of `aux_dir', `ltdl_dir' - and `macro_dir' at the top of the quick'n'dirty bootstrap - Makefile. - -2011-10-22 Gary V. Vaughan - - maint: factor out ltmain.sh variable deletion. - - * Makefile.am (ltmain_sh_edit): Expand upon bootstrap edit by - adding the extra line to delete boilerplate variable settings - from libltdl/config/general.m4sh that don't apply here. - (libltdl/config/ltmain.sh): Use it. - -2011-10-22 Gary V. Vaughan - - maint: DRYing out `Makefile.am' file paths. - - * Makefile.am (aux_dir, macro_dir): Include `$(srcdir)' in - declaration. Adjust all references. - (doc_dir, ltdl_dir, m4sh_dir, tests_dir): New single location - to hold directory paths, all including `$(srcdir)', to reduce - typing. - (LT_M4SH): Use `$m4sh_dir' as include directory. - (defs): This one is for a file in the build-tree, so no - leading `$(srcdir)'. - -2011-10-22 Gary V. Vaughan - - CLEANUP: fix error from pushing too far up the branch. - - * Makefile.am (install-data-local): Undo character transposition - from too early push of untested v2.4-17-gaf74d58. - * ChangeLog (2010-09-16): Remove spurious entry. - -2011-10-22 Gary V. Vaughan - - maint: use macro_dir consistently in all files. - - * Makefile.am: Replace all uses of m4dir with macrodir to - match AC_CONFIG_MACRO_DIR. - * libltdl/config/libtoolize.m4sh: Replace all uses of macrodir - with macro_dir. - * tests/defs.m4sh, tests/sh.test: Likewise. - -2011-10-22 Gary V. Vaughan - - maint: use aux_dir consistently in all files. - - * Makefile.am, Makefile.maint: Replace all uses of auxdir - with aux_dir to match AC_CONFIG_AUX_DIR. - * libltdl/config/libtoolize.m4sh: Likewise. - * tests/defs.m4sh, tests/getopt-m4sh.at: Likewise. - -2011-10-22 Gary V. Vaughan - - Makefile: try to be robust against shell meta-chars in filenames. - - * Makefile.am: In each rule body, unless a make variable needs - to be seen as multiple words by the shell (for word-splitting - loops, or because it contains several commands), quote it. Use - single quotes unless the shell needs to perform variable inter- - polation, in which case use double quotes. - -2011-10-20 Gary V. Vaughan - - maint: let make employ user's `SED' setting. - - * Makefile.am: Replace hard-coded `sed' with `$(SED)' through- - out. - -2011-10-20 Gary V. Vaughan - - maint: simplify and improve safety of bootstrap process. - - * Makefile.am (bootstrap_files): List files that need to be - generated at bootstrap time before `./configure && make' can - work. It turns out that this is considerably fewer files than we - had thought necessary previously. - (bootstrap-deps-prep): Ensure minimum set of required substitution - variables are non-empty. - (bootstrap-deps): Depend on `bootstrap' files. - * bootstrap (Generate bootstrap dependencies): Now that - `Makefile.am' is entirely responsible for rebuilding files at - bootstrap time, we need only specify the new `bootstrap-deps' - target, and supply values for the substitutions checked by - `bootstrap-deps-prep'. - * configure.ac (AC_CONFIG_SRCDIR): `libtoolize.in' is not here yet - right after running `bootstrap'. So rely on the presence of - `libltdl/config/libtoolize.m4sh', which is always there. - -2011-10-20 Gary V. Vaughan - - build: eliminate superfluous temporary files from `Makefile.am'. - - * Makefile.am (CLEANFILES): Remove temporary file entries. - (libtoolize.in, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) - (tests/defs, tests/testsuite): Factor away temporary files. - -2011-10-20 Gary V. Vaughan - - build: eliminate `ltmain.in' and `libtoolize.in' intermediate files. - - * Makefile.am (libltdl/config/ltmain.sh, libtoolize.in): Pipe - the output of `$(LT_M4SH)' directly into `$(bootstrap_edit)' to - avoid use of superfluous intermediate file. - -2011-10-20 Gary V. Vaughan - - build: don't hardcode repeated long paths in Makefile rules. - - According to the DRY principle, scattering several copies of - something across a file or project leads to pain. Let's not - do that! - * Makefile.am (Makefile_in, Makefile_inc, defs_in, defs_m4sh), - (libtoolize_in, ltmain_m4sh, ltversion_in): New variables to - hold the location of important files and targets. - (EXTRA_DIST): Add the distributed ones by variable. - (libtoolize, libltdl/Makefile.am, libltdl/m4/ltversion.m4) - (libltdl/config/ltmain.sh, libltdl/stamp-mk, tests/defs) - (tests/defs.in): Use the new variables to reduce noise and - repetition. - -2011-10-20 Gary V. Vaughan - - build: make better use of automatic variables in `Makefile.am'. - - * Makefile.am (libtoolize, libtoolize.in, libltdl/Makefile.am) - (libltdl/config/mkstamp, libltdl/config/ltmain.m4sh) - (libltdl/m4/ltversion.m4, tests/testsuite, tests/defs.in): - Make better use of automatic variables. - -2011-10-20 Gary V. Vaughan - - build: name temporary files in `Makefile.am' consistently. - - Sadly, we still have to jump through hoops for MICROS~1's very - old, very broken 8.3 naming convention, so we have to be careful - to be unique in the first 8 letters, and not to use two periods - in a filename, otherwise we could use the much more elegent - `temporary files use "$@T"' idiom: - * Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file - to `ltversion.tmp'. - (libltdl/config/ltmain.sh): Rename temporary file to - `libltdl/config/ltmain.tmp'. - (libtoolize): Rename temporary file to `libtoolize.tmp'. - (tests/defs): Rename temporary file to `tests/defs.tmp' - (tests/testsuite): Rename temporary file to `tests/testsuite.tmp'. - (CLEANFILES): Append temporary files as we create rules that - use them. - -2011-10-20 Gary V. Vaughan - - build: factor Makefile.am `m4sh' invocations to LT_M4SH. - - * Makefile.am (LT_M4SH): Now that all directories are listed as - fully qualified paths, the search path argument to M4SH is always - the same, so factor it out into a variable. Adjust all callers. - -2011-10-20 Gary V. Vaughan - - build: avoid unnecessary directory changes in Makefile rules. - - * Makefile.am (doc/notes.txt, libltdl/m4/ltversion.m4, - (libltdl/config/ltmain.m4sh, libtoolize.in, libltdl/Makefile.am) - (libltdl/config/mkstamp, tests/testsuite, tests/defs.in): Avoid - unnecessary `cd' commands by using fully qualified paths to files - outside of current directory. - -2011-10-20 Gary V. Vaughan - - build: compare `revision' rather than `correctver' in Makefile.am. - - * Makefile.am (rebuild): Set the shell variable `revision' rather - than `correctver' for clarity of purpose. - (bootstrap_edit, libltdl/config/ltmain.sh): Adjust. - (libltdl/m4/ltversion.m4): Likewise, and alse, instead of munging - the serial number comment line with set, extract `macro_version' - from this file, and compare it directly with `revision'. - (libtool): Likewise for `package_revision'. - -2011-10-20 Gary V. Vaughan - - build: avoid spurious bootstrap_edit call. - - * Makefile.am (tests/package.m4): @FOO@ substitutions have already - been made by the time Makefile.am has been transformed into Makefile, - so don't try to rerun the substitutions manually with - $(bootstrap_edit) after the fact. - -2011-10-18 Gary V. Vaughan - - Post-release administrivia. - - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - numbers. - * NEWS: Add header line for next release. - -2011-10-18 Gary V. Vaughan - - Release 2.4.2. - - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - numbers. - * NEWS: Update version number. - -2011-10-17 Gary V. Vaughan - - Replace leading spaces with tabs. - * libltdl/m4/libtool.m4, libltdl/config/ltmain.m4sh: Replace leading - spaces in source code with tabs to match surrounding code. - Reported by Peter Rosin. - - Make a note to use gnu/linux for version_type. - * libltdl/m4/libtool.m4 (version_type): Add a comment to change - version_type setting from 'linux' to 'gnu/linux' during the next - destabilising code refactoring. - * libltdl/config/ltmain.m4sh: ditto. - Requested by Richard Stallman. - -2011-10-04 Bart Van Assche - - Typo fix - change func_apped into func_append - - * libltdl/config/ltmain.m4sh: Fix typo. - -2011-10-02 Xin LI - - Avoid problems when FreeBSD goes to version 10. - - * libltdl/m4/libtool.m4: Remove mentions of freebsd1. Use dots - for FreeBSD 2 and 3 detection to avoid future problems - * libltdl/m4/ltmain.m4sh: ditto. - -2011-09-25 Cristophe Jarry - - Avoid mentioning "Linux", use "GNU/Linux", if appropriate. - * TODO: Don't use bare "Linux". - * doc/libtool.texi: ditto. - * doc/notes.texi: ditto. - * libltdl/README: ditto. - * libltdl/m4/libtool.m4: ditto. - -2011-09-01 Peter O'Gorman - - Add flag to inhibit warnings. - - * libltdl/config/ltmain.m4sh: Add --no-warn, --no-warning flags. - Reported by John David Anglin. - -2011-04-10 Kurt Roeckx - - tagdemo: do not rely on picking up symbols from indirect deps. - - * tests/tagdemo/Makefile.am: Link to all libraries that the - demo application uses. - -2011-04-10 Svante Signell (tiny change) - - Set shlibpath_overrides_runpath for the Hurd. - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [gnu] - : Set to no. - * THANKS: Update. - -2011-03-22 Justin Lecher (tiny change) - Rhys Ulerich - - Don't filter OPENMP flags (-openmp & -fopenmp) from linker lines. - If -fopenmp if passed to gcc during linking, it will take care to - add all necessary libs to link correctly for openmp support. - Currently libtool filters those flags, similar as it was the - case with the threading flags. This change handles the situation - for the openmp support similar as before the thread support - was fixed. - http://lists.gnu.org/archive/html/bug-libtool/2010-12/msg00009.html - http://lists.gnu.org/archive/html/bug-libtool/2011-03/msg00014.html - * libltdl/config/ltmain.m4sh (func_mode_link): Treat OpenMP - flags like pthreads flags. - -2011-03-14 Ralf Wildenhues - - libtoolize: detect -I (without space) in ACLOCAL_AMFLAGS. - - * libtoolize.m4sh (func_scan_files): Also accept -I - (without intervening space) in ACLOCAL_AMFLAGS. - * THANKS: Update. - Report from Jan Engelhardt. - -2011-03-05 Peter O'Gorman - - On Mac OS X try .dylib as well as .so with lt_dlopenext - - * libltdl/m4/ltdl.m4: Define extra extension if module extension - differs from shared lib extension. - * libltdl/ltdl.c: Use it. - * tests/darwin.at: Test it. - * NEWS: Announce it. - Reported by Hans Aberg, Michael Ellis, and others. - -2011-02-14 Peter O'Gorman - - Install ltmain.sh without execute bit set. - - * Makefile.am: change install rule for ltmain.sh - Reported by KĹ™ištof Ĺ˝elechovski. - -2011-02-07 Ralf Wildenhues - - docs: fix copyright years in PDF version of the manual. - - * doc/libtool.texi: Fix copyright years. - -2011-02-01 Ralf Wildenhues - - fix typo in ChangeLog - -2011-02-01 Rainer Orth - - Fix LD setting for 64-bit Solaris 2/x86. - - * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [*-*-solaris*): - Determine GNU ld options for 64-bit Solaris 2/x86. Detect gld - 2.21 _sol2 emulations. - -2011-01-27 Peter O'Gorman - - Don't loop through wrapper script arguments unnecessarily. - - * libltdl/m4/ltmain.m4sh: Check that argv contains " --lt-" - before looping to remove wrapper script targetted arguments. - Performance regression reported by Dan McGee. - -2011-01-20 Gerald Pfeifer (tiny change) - - Remove support for FreeBSD 1.x. - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) - (_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which - soon would incorrectly match FreeBSD 10.0. - * NEWS, THANKS: Update. - -2011-01-19 Peter O'Gorman - - Don't let verbose linker messages influence test results. - - * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Ignore - stderr during tests for -flag unless it contains "flag". - * tests/darwin.at: Add test. - Reported by Jeremy Huddleston and also by David Fang. - -2011-01-09 John David Anglin (tiny change) - - Fix relink mode to use absolute path if hardcode_minus_L. - - * libltdl/config/ltmain.m4sh (func_mode_link): Use absolute path - when hardcoding with -L. - -2011-01-09 Ralf Wildenhues - - Fix $wl setting for Solaris Studio 12.2 f90 on GNU/Linux. - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] - : Set to '-Qoption ld ' if we - detect Sun Fortran version 8.4 or newer. - Report by Terry Dontje. - -2011-01-07 Peter Rosin - - Convert file name to toolchain format when blessing archives. - - * libltdl/config/ltmain.m4sh (func_mode_install): When executing - old_postinstall_cmds and old_archive_cmds, convert $oldlib to a - format appropriate for the tool and provide that in $tool_oldlib. - Also use $tool_oldlib when stripping old libraries. - * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Use $tool_oldlib - as argument to $RANLIB. - * THANKS: Update. - Report by Dan McMahill. - -2011-01-02 Ralf Wildenhues - - Bump copyright years. - - * ChangeLog.2010: New, rotated from ... - * ChangeLog: ... here. - * Makefile.am (EXTRA_DIST): Add ChangeLog.2010. - * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. - * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. - * libtoolize.m4sh: Likewise. - * doc/libtool.texi: Likewise. - -2010-12-20 Ian Lance Taylor - - * libltdl/m4/libtool.m4 (LT_LANG): Add Go. - (AC_PROG_GO): Provide. - (_LT_SYS_HIDDEN_LIBDEPS): Add Go case. - (_LT_LANG_GO_CONFIG): Define. - (LT_PROG_GO): Define. - (AC_PROG_GO): Define if not defined. - * libltdl/config/ltmain.m4sh: Match *.go. - * doc/libtool.texi (LT_INIT): Mention Go. - (Tags): Mention Go. - * configure.ac: Enable Go. - * NEWS: Update. - -2010-12-20 Brice De Bruyne (tiny change) - - Also turn off -fuse-linker-plugin for postdep_objects computation. - * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Add - -fno-use-linker-plugin to temporary compile flags if necessary, - to fix C++ postdep_objects setting with -flto - -fuse-linker-plugin. - * NEWS, THANKS: Update. - -2010-12-20 KO Myung-Hun (tiny change) - - Set command line length limit for OS/2. - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [os2] - : Set to 8192 to avoid long test. - -2010-12-20 Ralf Wildenhues - - Fix PIC flags with mpif77 using ifort on GNU/Linux. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: - Match Intel compiler also using $CC -V output, to avoid false - negatives with compiler drivers like mpif77. - Report by Christian Rössel. - -2010-12-16 Ralf Wildenhues - - Fix PIC flags with MPI wrappers using Portland on GNU/Linux. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: - Match Portland compilers also using $CC -V output, to avoid - false negatives with MPI compiler drivers. - Report by Christian Rössel. - - * libltdl/m4/libtool.m4 (_LT_SETUP): Fix quoting for - PATH_SEPARATOR. - -2010-12-15 KO Myung-Hun (tiny change) - Ralf Wildenhues - - Fix PATH_SEPARATOR handling for OS/2. - * Makefile.am (update_mans): Quote $(PATH_SEPARATOR). - * libltdl/m4/libtool.m4 (_LT_SETUP): Add _LT_DECL for - PATH_SEPARATOR. - * libltdl/config/general.m4sh: Use PATH_SEPARATOR when computing - $progpath. - * THANKS: Update. - -2010-12-10 Ralf Wildenhues - - Fix nvcc PIC setting on darwin. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) - : Prepend -Xcompiler to nonempty variable - setting rather than hard-coding -Xcompiler -fPIC, for darwin. - * NEWS, THANKS: Update. - Report by PaweĹ‚ Daniluk. - - Honor $AUTOCONF, $AUTOMAKE in --help output. - * libltdl/config/getopt.m4sh (func_help): Use $AUTOCONF and - $AUTOMAKE if set, for --version outout. - - docs: Libtool configuration diagram. - * doc/libtool.texi (Integrating libtool): Add diagrams - explaining the dependencies between Libtool files. - Suggestion by Ethan Mallove. - -2010-11-15 Ralf Wildenhues - - Eliminate hardcode_libdir_flag_spec_ld tag variable. - * libltdl/config/ltmain.m4sh (func_mode_link): Set $wl to empty - if $LD is used for creating shared libraries. Do not use - hardcode_libdir_flag_spec_ld any more. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG, _LT_SYS_DYNAMIC_LINKER) - : Remove all instances of the tag - variable. - (_LT_LINKER_SHLIBS) [linux, xlf] : - Set variable, including ${wl}. Fixes hardcoding in programs - created by XL Fortran on GNU/Linux. - * NEWS, THANKS: Update. - Report by Paul H. Hargrove. - - Rebuild menus in the manual. - * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs). - Thanks to Ian Lance Taylor for the suggestion. - -2010-11-07 Ollie Wild - - Modify --with-pic to support per-package configurations. - * libltdl/m4/libtool.m4: Modify --with-pic to accept a list of - package names. Modelled off --enable-shared. - * tests/with-pic.at: New test. - * Makefile.am (TESTSUITE_AT): Add tests/with-pic.at. - * doc/libtool.texi (LT_INIT): Enhance documentation of - --with-pic configure flag. - * NEWS (New features): Mention that --with-pic now accepts a - comma-separated list of package names. - -2010-11-10 Ralf Wildenhues - - Fix cwrapper test failure with --disable-static. - * tests/cwrapper.at (cwrapper and installed shared libraries): - Compile program source without libtool, so we can be sure a - non-PIC object will be created. - -2010-11-01 Peter Rosin - - docs: Windows DLLs and headers. - * doc/libtool.texi (Platform quirks): Add new subsection - 'Windows DLLs'. - - * doc/libtool.texi (Platform quirks): Fix typo. - -2010-10-30 Ralf Wildenhues - - docs: mention shell requirement for libtool script. - * doc/libtool.texi (Invoking libtool): Document that the shell - used to invoke libtool needs to be the same used to configure - it. - * THANKS: Update. - Report by Markus Duft. - -2010-10-15 Gary V. Vaughan - - libtool: remove redundant unsubstituted shell var defaults. - * Makefile.am (libltdl/config/ltmain.sh): Boilerplate code from - libltdl/config/general.m4 sets some default shell variables - designed to be substituted by `$(configure_edit)'. Actually, - `libtool' uses the language tag values for those variables, and - `ltmain.m4sh' is not passed through `$(configure_edit)', so they - are just noise. Edit them out at bootstrap time. - -2010-10-15 Gary V. Vaughan - - maint: don't leak developer GREP, SED etc into distribution file. - * Makefile.am: Having rearranged the file, now apply the actual - changes to follow-up. - (edit): Split into two parts... - (bootstrap_edit): ...substitutions that should happen at bootstrap - time... - (configure_edit): ...and substitutions that should not happen until - configure time. - * Makefile.am (libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh) - (libtoolize.in, tests/package.m4): Use bootstrap_edit. - (libtoolize, tests/defs): Use configure_edit. - * HACKING (Release Procedure): Remove the note to workaround the - bug fixed by this changeset. - * NEWS (Bug fixes): Mention that this bug is now fixed. - Reported by Joerg Sonnenberger. - - maint: rearrange Makefile.am in preparation for a follow-up patch. - * Makefile.am (Libtool scripts.): Move this section below the - `Bootstrap.' section... - (libtoolize.in): ...except this one which is generated at - bootstrap time, and was added into the `Bootstrap.' section. - (Libltdl.): Move this section below the `Libtool scripts.' - section. - -2010-10-15 Ralf Wildenhues - - Fix linking from only convenience archives with gfortran on Darwin. - * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Update - macro comment header. - [darwin, F77, FC] : Set to yes if - whole_archive_flag_spec is nonempty. Fixes convenience.at test - suite failures with gfortran 4.2 on Darwin. - * THANKS: Update. - Report by Paul Laight. - - Fix bindir check logic, and relax non-bindir case for AIX. - * tests/bindir.at (bindir install tests): Rewrite checks for - place of the installed shared library in two separate tests, - depending on whether -bindir is supposed to have an effect or - not. In the positive case, make the test stricter so that we - reject libraries in $libdir. In the negative case, do not - require a major version number in the $libdir file name, for AIX - without runtimelinking. If tmpdir creation fails, skip the - test. Use fewer bindir directory names for testing, to speed - up the test. Also mention MSVC style DLL name in comment. - Report by Peter Rosin. - - tests: remove unneeded 'bindir compile check' test. - * tests/bindir.at (bindir compile check): Remove. - -2010-10-14 Peter Rosin - - tests: fix $EXEEXT typo. - * tests/depdemo-relink.test (func_restore_files): Use $EXEEXT - instead of $EXEXT. - -2010-10-12 Simon Josefsson - MatÄ›j Týč - Ralf Wildenhues - - docs: improve description of -no-undefined. - * doc/libtool.texi (Link mode): Fix -no-undefined description. - (Inter-library dependencies): Use Windows not AIX as example - system. Clarify need for symbol resolution at library creation - time. - -2010-10-09 Paolo Bonzini - - Add missing sysroot resolution. - * libltdl/config/ltmain.m4sh (func_mode_link): Resolve sysroot - when fetching the install directory of dependent libraries. - Reported by Lionel Landwerlin , - patch by Khem Raj . - * THANKS: Reorder entries, add Khem and Lionel. - -2010-10-07 Roumen Petrov - - Add test case for 69e77671 (cwrapper PATH manipulation order) - * tests/cwrapper.at: Add new test 'cwrapper and installed shared - libraries.' - -2010-10-04 Peter Rosin - - cwrapper: split long lines when dumping the wrapper script. - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): If - the wrapper script contains long lines, split them for - readability and to conform with C standards. - * tests/cwrapper.at (cwrapper string length): New test, making - sure we don't regress. - - msvc: handle symbols from different files independently. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) - : Make all sections - viable for symbol extraction again when the symbols from a new - file starts. Fixes tests/tagdemo-make.test for MSVC 10. - * tests/dumpbin-symbols.at: New test, making sure we don't - regress. - * Makefile.am (TESTSUITE_AT): Update. - -2010-09-27 Peter Rosin - - tests: check if sys_lib_search_path_spec works on MSVC. - * tests/search-path.at (sys_lib_search_path on w32): New test, - making sure v2.2.10-207-g09142ea doesn't regress. - - Skip need_lib_prefix.at on systems without lib prefix on libraries. - * tests/need_lib_prefix.at [MSVC, OS/2]: Skip this test on - systems that do not have libraries prefixed with lib. - - tests: clean up importing and exporting on w32. - Makes the touched tests pass for MSVC when DLLs are built. - * tests/demo/Makefile.am, tests/pdemo/Makefile.am: Define - BUILDING_LIBHELLO when building libhello.la. - * tests/demo/foo.h, tests/pdemo/foo.h (nothing) : Export - variable when building the libhello dll and import when using - libhello. For GCC and non-w32, and when building a static - libhello, leave as an ordinary extern. - * tests/pdemo/foo.h [Cygwin]: Remove unneeded and "dead" export - and import logic (LIBFOO_DLL is always undefined). - * tests/pdemo/longer_file_name_foo.c, - tests/pdemo/longer_file_name_foo2.c (_LIBFOO_COMPILATION_): Not - useful before, even less so now. Removed. - * tests/depdemo/l1/Makefile.am: Define BUILDING_LIBL1 when - building libl1.la. - * tests/depdemo/l2/Makefile.am: Define BUILDING_LIBL2 when - building libl2.la. - * tests/depdemo/l3/Makefile.am: Define BUILDING_LIBL3 when - building libl3.la. - * tests/depdemo/l4/Makefile.am: Define BUILDING_LIBL4 when - building libl4.la. - * tests/depdemo/l1/l1.h, tests/depdemo/l2/l2.h, - tests/depdemo/l3/l3.h, tests/depdemo/l4/l4.h : Export - variables when building the associated library dll and import - when using the library. For GCC and non-w32, and when building - static libraries, leave as an ordinary extern. - -2010-09-26 Ralf Wildenhues - - docs: do not refer to Libtool version with dlopen functionality. - * doc/libtool.texi (Dlopened modules): Remove broken reference - to what should have been Libtool 0.9g. - Report by Roumen Petrov. - -2010-09-23 Peter Rosin - - msvc: don't try to export import descriptors. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw] - [pw32, cegcc] : Don't export symbols in - import libraries related to describing what dll(s) the import - library is importing. Fixes problem in tests/demo-make.test - and some other tests. - -2010-09-22 Ralf Wildenhues - - Fix regression in command-line length computation. - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Use `env echo' rather - than possibly-undefined func_fallback_echo, to ensure we fork - and exec for this test. - * NEWS: Update. - Regression introduced in v2.2.6-39-g9c3d4d8. - -2010-09-22 Gary V. Vaughan - - Post-release administrivia. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - numbers to 2.4.1a. - * NEWS: Add header line for next release. - - Release 2.4. - * libltdl/Makefile.inc (LTDL_VERSION_INFO): We've added the - static libprefix interface, so new version-info is C+1:0:R+1. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - numbers. - * NEWS: Update version number. - - manual: web-manual index.html clashes with @node Index. - * doc/libtool.texi (Index): Renamed to `Combined Index'. - - tests: ISO C++ forbids declaration of 'v1' with no type. - * tests/lt_dlexit.at (lt_dlexit unloading libs): Added an - explicit int type to declaration of 'v1' to prevent compilation - failure with C++. - -2010-09-22 Peter Rosin - - tests: reloadable objects do not work on MSVC, SKIP test. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) - [cygwin, mingw, pw32, cegcc] : Indicate that - reloadable objects do not work. - * tests/duplicate_conv.at: Skip last test if reloadable - objects do not work. - * doc/libtool.texi (libtool script contents) : - Document how to indicate that reloadable objects do not work. - -2010-09-21 Peter Rosin - - msvc: eliminate spaces in the library search path. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] - : The LIB path variable telling - where MSVC looks for libraries is likely to contain directory - names with spaces. Convert those directory names to the short - 8.3 DOS form (i.e. without spaces) when storing them in - sys_lib_search_path_spec, as that is a space separated variable. - -2010-09-21 Ralf Wildenhues - - Revert to per-language libpath computation on AIX. - * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Accept - tagname argument. Use global cache variable lt_cv_aix_libpath - to override per-language tag variables for the libpath value. - Fix the sed script to remove trailing space. - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Pass tag argument to - _LT_SYS_MODULE_PATH_AIX. - Tracked down and reported by Rainer Tammer. - -2010-09-21 Gary V. Vaughan - - maint: edit-readme-alpha shouldn't try to re-edit during dist. - * libltdl/config/edit-readme-alpha: If README is non-writable - assume that it is being run from distcheck, and skip the edit - with a warning (to help diagnose cases where the heuristic is - not correct). However, if README has already been edited to - the alpha text, quietly skip without an error message. - -2010-09-20 Eric Blake - - maint: drop autobuild requirement - * HACKING: Update. - - build: ship autobuild.m4, to reduce bootstrap requirement - * libltdl/m4/.gitignore: Drop autobuild.m4. - * libltdl/m4/autobuild.m4: New file, copied from autobuild. - * configure.ac (AB_INIT): Unconditionally call it. - -2010-09-20 Peter Rosin - Ralf Wildenhues - - libltdl: Make sure preloaded symbols are declared extern "C". - * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Move the - declaration of lt__PROGRAM__LTX_preloaded_symbols to global - scope and make sure it has "C" linkage. Makes exceptions.at - succeed on MSVC. - -2010-09-20 Peter Rosin - - tests: __declspec (dll{ex,im}port) in tests/exceptions.at - * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use - __declspec (dllimport) and __declspec (dllexport) instead of - the less portable __attribute__ ((dllimport)) and - __attribute__ ((dllexport)). Makes the test compile on MSVC. - -2010-09-19 Peter Rosin - - tests: Import items from liba1 for MSVC. - * tests/lt_dlexit.at (b1.c) [MSVC]: Import function f1 and - variable v1 from liba1 when using them from modb1. Makes the - test pass on MSVC. - -2010-09-18 Ralf Wildenhues - - tests: avoid distcheck failure with --disable-ltdl-install. - * tests/ltdl-libdir.at (libdir of installed modules): Skip if - $LIBLTDL does not exist. - -2010-09-18 Gary V. Vaughan - - maint: use sed instead of maintaining 2 README files. - * README.alpha: Deleted. It was mostly identical to README. - * libltdl/config/edit-readme-alpha: New script to edit the - contents of README in the dist tree prior to tarring up. - * Makefile.am (dist-hook): Run it before rolling alpha release - tarball. - - maint: improve README's `Obtaining the Latest Sources'. - * README (Obtaining the Latest Sources): Add instructions for - obtaining stable, alpha and nightly snapshot tarballs. - * README.alpha (Obtaining the Latest Sources): Adjust to match. - - maint: reformat README `The Test Suites' for consistency. - * README (The Test Suites): Reformatted for consistency. - * README.alpha (The Test Suites): Adjust to match. - - maint: improve `Reporting Bugs' in README and README.alpha. - * README (Reporting Bugs): Rewritten to a more complete and - concise guide to providing a good bug report. - * README.alpha (Reporting Bugs): Adjust to match. - - maint: consolidate Introductions of README and README.alpha. - * README (Introduction): Rewritten to a more logical order for - first time users, incorporating some additional text that was - previously only in README.alpha. - * README.alpha (Introduction): Adjust to match. - - maint: copy the Version Numbering section into README.alpha. - * README.alpha (Version Numbering): No less useful for users - of alpha releases. Copied from README. - -2010-09-17 Peter Rosin - - tests: actually detect missing 'test' in 'if "$foo" = ...'. - * tests/sh.test: Remove extra backslash in regex. - - Copy over DLL_EXPORT handling from C to C++ for non-GCC on w32. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [mingw, cygwin, os2] - [pw32, cegcc]: Copy over the DLL_EXPORT handling from C to C++. - -2010-09-17 Ralf Wildenhues - - LTO: consistently accept -fwhopr* and -flto* for GCC. - * libltdl/config/ltmain.m4sh (func_mode_link): Accept -fwhopr*. - * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Also match - -flto*. - -2010-09-17 Charles Wilson - - Fix order of PATH manipulation in cwrapper and shwrapper - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Call - lt_update_exe_path before lt_update_lib_path, to ensure that the - temporary rpath values (which include the OBJDIRs of uninstalled - libtool libraries) precede installation and final -rpath directories. - (func_emit_wrapper): Prepend $dllsearchpath to PATH before prepending - $temp_rpath to $shlibpath_var; similar rationale as above. - Reported by Jon Turney - -2010-09-17 Charles Wilson - - Document libtool variable to_host_file_cmd. - * doc/libtool.texi (libtool script contents:to_host_file_cmd): - Document variable. - (libtool script contents:to_tool_file_cmd): Prefer `build platform' - to `build system'; Ditto `host platform'. - -2010-09-16 Charles Wilson - - Fix sh.test failure introduced in 72064249 - * libltdl/config/ltmain.m4sh (func_mode_link): Avoid poor - syntax. - -2010-09-16 Ralf Wildenhues - - tests: avoid localization failure due to unstable compiler messages. - * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): - Attempt to normalize temporary file names in error messages. - Fixes 'localized compiler messages' test failure on Darwin when - creating fat (multi-ABI) libraries. - -2010-09-13 Peter Rosin - - Prefer $NM @file when the toolchain isn't native to $build. - * libltdl/config/ltmain.m4sh (func_mode_link): Avoid calculating - the command line length and take the @file branch *if* the file - names needs to be converted for the toolchain and the @file - branch works. Fixes problems in stresstest.at when doing a cross - from Cygwin to MinGW using MinGW native tools (a.k.a. a "faked" - cross), and for the specific case of MSVC on Cygwin it makes the - test pass. - -2010-09-15 Gary V. Vaughan - - maint: improve README instructions for fetching latest version. - * README, README-alpha (Obtaining the Latest Sources): New - section, describing use of savannah repositories and bootstrap. - * README.alpha (Reporting Bugs): Remove git instructions in - favour of a reference to the new `Obtaining the Latest Sources' - section. - -2010-09-14 Eric Blake - - maint: ship .xz, not .lzma - * configure.ac (AM_INIT_AUTOMAKE): Prefer better file format. - * Makefile.maint (git-release, git-dist, prev-tarball) - (new-tarball, diffs): Use correct extension. - * HACKING: Update instructions. - * .gitignore: Ignore .xz files. - -2010-09-13 Ralf Wildenhues - - doc: avoid long lines in input and output, indexing fixes. - * doc/libtool.texi (Linking libraries) - (Module loaders for libltdl): Manually line-wrap examples, to - avoid long lines. - (Libltdl interface, User defined module data) - (Module loaders for libltdl): Wrap long @deftypefun input lines - using trailing '@'. Use @deftypefun rather than @deftp where - appropriate, and add spaces in @deftypefun lines to fix the - index entries generated from these lines. - (Cheap tricks): Use @smallexample rather than @example, to avoid - long lines. - - docs: @file and @option markup fixes. - * doc/libtool.texi (Creating object files, Linking libraries) - (Linking executables, Link mode, Finish mode, Autoconf macros) - (Using Automake, Inter-library dependencies, Dlpreopening) - (Linking with dlopened modules, Finding the dlname) - (Libltdl interface, Test descriptions, Multiple dependencies): - Add @option where needed, replace @samp with @file as - appropriate. - -2010-09-12 Peter Rosin - - * .gitignore: Ignore *.obj files for MSVC (and w32 in general). - - Adjust to moved auxiliary files and add compile. - * HACKING (Maintenance Notes): Adjust to moved files. Add the - compile script. - * Makefile.maint (fetch): Also fetch the compile script. - -2010-09-12 Ralf Wildenhues - - tests: avoid empty AT_DATA contents, for zsh. - * tests/libtoolize.at (libtoolize macro serial update) - (libtoolize config files serial update, LIBTOOLIZE_OPTIONS): - Do not create empty files with AT_DATA, the latter is documented - to require a final newline. Fixes testsuite failures with zsh - 4.3.10. - -2010-09-12 Charles Wilson - - When assigning $linklib value, honor [-all]-static[-libtool-libs] - - * libltdl/config/ltmain.m4sh (func_mode_link): When prefer_static_libs - and static library exists, ensure old_library name is used as $linklib. - Fixes failure on mingw when both static and shared libraries are - present. - -2010-09-12 Ralf Wildenhues - - tests: work around zsh use of $options variable. - * tests/getopt-m4sh.at: Rename $options to $opts, the former is - special for zsh 4.3.10. - - Fix AC_NO_EXECUTABLES test failure on IRIX 6.5. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix]: Cache result - of link check for -Wl,-exported_symbol. - * tests/no-executables.at (AC_NO_EXECUTABLES): Set - lt_cv_irix_exported_symbol, to avoid link check. - -2010-09-12 JĂĽrgen Reuter (tiny change) - Ralf Wildenhues - - Initial support for the NAG Fortran compiler on GNU/Linux. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : - New set of entries, for NAG Fortran 5.1 and 5.2. - * NEWS: Update. - -2010-09-12 Ralf Wildenhues - - Fix getopt.m4sh to require Autoconf 2.62 or newer. - * libltdl/config/getopt.m4sh (m4_version_prereq): Require 2.62, - not 2.61. - -2010-09-11 Charles Wilson - - Correct typo: $sharedlib_from_linklib_cmd missing '_cmd' - - * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix obvious - typo, $sharedlib_from_linklib_cmd missing '_cmd'. - -2010-09-10 Peter Rosin - - Convert file name to toolchain format when invoking $NM. - * libltdl/config/ltmain.m4sh (func_generate_dlsyms) - (func_win32_libid, func_cygming_gnu_implib_p) - (func_cygming_ms_implib_p): When using the name lister to find - symbols in files, convert the file names to a format appropriate - for the tool. Fixes testsuite issues in mdemo-static-make.test - and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW - using MinGW native tools (a.k.a. a "faked" cross). - -2010-09-09 Peter Rosin - - Fix dependency tracking for MSYS/MinGW. - * libltdl/config/ltmain.m4sh (func_to_tool_file): Add lazy - argument which allows the user to specify conversions that are - not desired. - (func_mode_compile): Don't convert source files on MSYS, as - MSYS does it for us. This fixes a regression introduced by - "Use func_to_tool_file instead of fix_srcfile_path". - Reported by Charles Wilson. - -2010-09-08 Peter Rosin - - Mention adjustment of naming of MSVC import libraries in NEWS. - * NEWS: Mention the change in import library naming on MSVC. - -2010-09-07 Peter Rosin - - Adjust naming of MSVC import libraries. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] - [pw32, cegcc] : Adjust naming of the - import library from foo-.lib to foo.dll.lib, to - avoid clashes with the static library for unversioned libraries. - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin, pw32] - [cegcc] : Explicitely name the import - library to match the above. - - Fixup texi typo in previous. - * doc/libtool.texi (libtool script content) : - Add missing 'code' command. - - Convert POSIX file names to toolchain format for MSVC - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [cygwin, mingw, pw32, cegcc] : Make - sure the -outputresource: file name for the manifest tool is - in w32 format. - : Likewise for the MSVC command file - containing the exports and the output file name. - * libltdl/config/ltmain.m4sh (func_mode_link): Precalculate the - toolchain format of the output_objdir file name and store it in - the tool_output_objdir variable. Also replace any occurrence of - @TOOL_OUTPUT@ in postlink_cmds with the toolchain version of the - @OUTPUT@ content. - * doc/libtool.texi (libtool script content): Update description - of postlink_cmds to mention @TOOL_OUTPUT@. - -2010-09-06 Peter Rosin - - Use func_to_tool_file instead of fix_srcfile_path. - * libltdl/config/ltmain.m4sh (func_mode_compile): Replace the - fix_srcfile_path hook with a call to func_to_tool_file. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32] - [cegcc]: Drop fix_srcfile_path. - * doc/libtool.texi (libtool script contents): Likewise. - * NEWS: Mention that fix_srcfile_path has been replaced. - - Convert file names to toolchain format in $NM and $AR @files. - * libltdl/config/ltmain.m4sh (func_mode_link): When listing - symbols and when creating archives using command files (or - response files), make sure that both the name of the command - file and the content are made up of file names in a format - appropriate for the tool. Fixes stresstest.at on MSYS when - run with low command line length. - - Convert file names to toolchain format when linking. - * libltdl/config/ltmain.m4sh (func_mode_link): When exporting - symbols and when linking using command files (or response - files), make sure that both the name of the command file and - the content are made up of file names in a format appropriate - for the tool. Fixes problems in stresstest.at on MSYS when run - with low command line length. - - Add file name conversion from $build to toolchain. - * configure.ac: Ensure to_tool_file_cmd is available to Makefile. - * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add - cache variable lt_cv_to_tool_file_cmd that describes how to - convert file names from $build to toolchain format. - * libltdl/config/ltmain.m4sh (func_to_tool_file): New function - that utilizes the above. - * Makefile.am: Ensure to_tool_file_cmd is included in - TEST_ENVIRONMENT so that it is passed to (old testsuite) tests. - * testsuite.at: Ensure to_tool_file_cmd is passed as a variable - setting on the configure line for (new testsuite) tests. - * doc/libtool.texi (libtool script content): Update with - to_tool_file_cmd description. - (Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd. - -2010-09-02 Ralf Wildenhues - - tests: avoid spurious test failure due to library mode on HP-UX. - * tests/help.at (debug tracing): Use $lt_INSTALL not cp for - install mode, the latter will not overwrite an existing library - with mode 555. - -2010-09-01 Charles Wilson - - Path conversion documentation - * doc/libtool.texi (Platform quirks): Add new subsections - 'Cross compiling' and 'File name conversion'. - -2010-09-01 Ralf Wildenhues - - tests: avoid spurious pic_flag test failure on HP-UX 10.20. - * tests/pic_flag.at (override pic_flag at configure time): - Match HP-UX 10.20 cc warning about unknown options, to skip - the test. - - tests: fix localization test for GCC on HP-UX 11.00. - * tests/localization.at (localized compiler messages): Be sure - to switch the locale only for the actual compiler commands, so - we don't pick up warnings from helper tools such as diff which - may not have the locale installed. - - Avoid leaking make flags into testsuite results. - * tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__ - and MAKE_JOBS_FIFO. - * tests/testsuite.at: Likewise. - Fixes warnings in test logs when the user uses 'make -jN check' - and inner $MAKE invocations can't connect to the job server. - Fixes spurious failures of configure-iface.at and of - demo-noinst-link tests with BSD and Tru64 make if the user uses - 'make -k', as the exit status of the latter is not reliable. - -2010-09-01 Gary V. Vaughan - - Remove announce-gen.m4sh and mailnotify.m4sh. - * libltdl/config/announce-gen.m4sh: Removed. This script has - no apparent connection to libtool functionality, and mostly - duplicates the better maintained gnulib announce-gen script. - * libltdl/config/mailnotify.sh: Removed. This script was used - by only clcommit.m4sh and announce-gen.m4sh, both of which are - now removed too. - * Makefile.maint (announce-gen, libltdl/config/mailnotify): - Targets removed. - * bootstrap: Remove the mailnotify regeneration warning. - * HACKING (Release Procedure): Remove references to - announce-gen. - (Alpha release note template, Full release note template): - Reinstated from before announce-gen was introduced. - - Remove clcommit.m4sh. - * clcommit.m4sh: Removed. This script was written to help keep - ChangeLog and commit messages in sync when committing to CVS, - and is an anachronism now that Libtool uses git. - * Makefile.maint (commit): Target removed. - * bootstrap: Don't generate commit. - * HACKING (Release Procedure): Adjusted. - -2010-08-31 Peter Rosin - - archive-in-archive.at passes with Microsoft lib. - * tests/archive-in-archive.at: Tighten test to check that the desired - object files are indeed part of the archive. Microsoft lib still - passes, so remove the expected failure for that case. - - Dump archiver output to the log when testing @file support. - * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout to config.log - when testing for @file support. - Suggested by Ralf Wildenhues. - - Silence archiver output when testing @file support. - * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout and stderr - to the bit bucket when testing for @file support. - -2010-08-31 Gary V. Vaughan - - Remove double `Generated from foo.m4sh' lines. - We now require a modern Autoconf to bootstrap libtool, which - will add the `Generated by ...' boiler-plate automatically, - so we can remove the hand-rolled @configure_input@ - substitutions we had been doing: - * clcommit.m4sh, libtoolize.m4sh, tests/defs.sh, - libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh, - libltdl/config/mailnotify.m4sh: Remove @configure_input@. - * Makefile.am (edit): Remove configure_input substitution. - (libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) - (tests/defs): Don't set `$input' shell variable. - * Makefile.maint (announce_gen, libltdl/config/mailnotify) - (commit): Likewise. - -2010-08-31 Peter Rosin - - Extract the archive name from the .la file and use $AR (not ar). - * Makefile.am: Pass AR through to the testsuite. - * tests/archive-in-archive.at: Bump copyright year. Extract archive - name from the .la file instead of hardcoding the name, and allow - different archivers. Also clarify that the tested functionality is - currently broken. - -2010-08-30 Ralf Wildenhues - - tests: skip -Wall -Werror with Tru64 cc in cwrapper test. - * tests/cwrapper.at (cwrapper for uninstalled executables): - Use a link test rather than a compile test to flesh out unknown - compiler flags starting with -W; Tru64/OSF1 cc will happily - accept `-Wall -Werror' as indication to pass flags on to - subprocesses. - - tests: avoid getopt-m4sh failures when autom4te is not available. - * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): - Check $M4SH --version, skip on failure. - - tests: mark 'syntax of .la files' as XFAIL, expose failure. - * tests/lalib-syntax.at (syntax of .la files): Assert that the - string returned by lt_dlerror after a failure is non-NULL, so - the failure shows up on systems other than Solaris. Mark test - as expected to fail. - Suggested by Bob Friesenhahn. - -2010-08-30 Eric Blake - - Simplify recent configure quoting portability workaround. - * configure.ac: Simplify setting of timestamp_string. - -2010-08-30 Charles Wilson - - Update path conversion warning messages - * libltdl/config/ltmain.m4sh (func_convert_file_check): Update - comments and warning message. - (func_convert_path_check): Update warning message. - -2010-08-29 Peter Rosin - - Fix typo when renaming path conversion functions. - * tests/testsuite.at: Ensure to_host_file_cmd is passed as a - variable setting on the configure line for (new testsuite) tests. - -2010-08-29 Ralf Wildenhues - - Support GCC LTO on GNU/Linux. - * libltdl/config/ltmain.m4sh (func_mode_link): Allow through - flags matching -O*, -flto*, -fwhopr, -fuse-linker-plugin. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Drop symbols - starting with __gnu_lto. - (_LT_LINKER_SHLIBS) [linux] : - Add $pic_flag for GCC. - (_LT_LANG_CXX_CONFIG) [linux] : - Likewise. - (_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o. - * NEWS: Update. - - Disable GCC LTO for verbose library extraction. - * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Temporarily - append -fno-lto or -fno-whopr to CFLAGS if CC or CFLAGS (which - are substituted with the per-language variables here) contain - -flto or match -fwhopr*, respectively. - - Save and restore CFLAGS properly inside libtool.m4 macros. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Use different - temporary variables for saved and restored values of $LIBS, - $CFLAGS, to avoid overlap with the *_CONFIG macros. - (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) - (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Also save and restore - $CFLAGS, and override it with per-language flags, so that in - case output_verbose_link_cmd uses $CFLAGS, the right flags are - used. - - Work around yet another shell quoting portability issue. - * configure.ac: Avoid nonportable quoted alternate variable - value in unquoted here document, so Solaris 10 sh and Tru64 - ksh do not print spurious extra quotes. - - Silence order-only configure test for AIX make. - * configure.ac: Also drop standard output, for AIX 5.1 make. - -2010-08-28 Charles Wilson - - Minor sysroot fixups. - * libltdl/m4/libtool.m4 (_LT_WITH_SYSROOT): Fix typo. - * tests/sysroot.at: Search also for crt0.o to accommodate cygwin. - -2010-08-28 Charles Wilson - - [cygwin|mingw|cross-compile]: Path conversion support. - * configure.ac: Ensure to_host_file_cmd is available to Makefile. - * TODO: Document QoI issue with file name conversion functions. - * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): New function - sets libtool variable $to_host_file_cmd, and employs cache. - (_LT_SETUP): Require it. - * tests/testsuite.at: Ensure to_host_file_cmd is passed as a - variable setting on the configure line for (new testsuite) tests. - * Makefile.am (TESTS_ENVIRONMENT): Ensure to_host_file_cmd is - included so that it is passed to (old testsuite) tests. - * libltdl/config/general.m4sh: Define $lt_sed_naive_backslashify here. - * libltdl/config/ltmain.m4sh ($to_host_file_cmd, $to_host_path_cmd): - New variables. - (func_cygpath): New function. - (func_init_to_host_path_cmd): New function. - (func_to_host_path): Renamed to... - (func_to_host_file): Refactored to... (now uses $to_host_file_cmd). - (func_convert_core_file_wine_to_w32): Here. New function. - (func_convert_core_msys_to_w32): Here. New function. - (func_convert_file_check): Here. New function. - (func_convert_file_noop): Here. New function. - (func_convert_file_msys_to_w32): Here. New function. - (func_convert_file_cygwin_to_w32): Here. New function. - (func_convert_file_nix_to_w32): Here. New function. - (func_convert_file_msys_to_cygwin): New function. - (func_convert_file_nix_to_cygwin): New function. - (func_to_host_pathlist): Renamed to... - (func_to_host_path): Refactored to... (now uses $to_host_path_cmd - and func_init_to_host_path_cmd). - (func_convert_path_check): Here. New function. - (func_convert_path_front_back_pathsep): Here. New function. - (func_convert_core_path_wine_to_w32): Here. New function. - (func_convert_path_noop): Here. New function. - (func_convert_path_msys_to_w32): Here. New function. - (func_convert_path_cygwin_to_w32): Here. New function. - (func_convert_path_nix_to_w32): Here. New function. - (func_convert_path_msys_to_cygwin): New function. - (func_convert_path_nix_to_cygwin): New function. - -2010-08-28 Ralf Wildenhues - - Fix symlist variable path to use _WIN32 instead of __WINDOWS__. - * libltdl/config/ltmain.m4sh, libltdl/libltdl/lt_system.h, - libltdl/m4/libtool.m4, tests/demo/foo.h, tests/pdemo/foo.h: - Change __WINDOWS__ to _WIN32. - Report by Charles Wilson. - - Add $pic_flag to archive_cmds and archive_expsym_cmds. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) - - [GNU ld, netbsd]: Add $pic_flag if ELF. - [GNU ld, solaris]: Likewise. - [GNU ld, default case]: Likewise. - [!GNU ld, freebsd, dragonfly]: Add $pic_flag. - [!GNU ld, GCC, hpux9]: Add $pic_flag. - [!GNU ld, GCC, hpux10]: Replace -fPIC with $pic_flag - [!GNU ld, GCC, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. - [!GNU ld, GCC, irix5, irix6, nonstopux]: Add $pic_flag. - [!GNU ld, GCC, osf4, osf5]: Likewise. - [!GNU ld, GCC, solaris]: Likewise. - (_LT_LANG_CXX_CONFIG) - [hpux9]: Add $pic_flag if $GXX. - [hpux10, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. - [irix5, irix6]: Add $pic_flag if $GXX. - [osf4, osf5]: Likewise. - [solaris]: Add $pic_flag if $GXX and not GCC 2.7. - - Uniform const'ness of symlist variable lt_preloaded_symbols. - On some systems, lt_preloaded_symbols may not be declared - const due to relocation issues. C99 requires qualification to - match for compatible declarations, so ensure we declare - const'ness in the same way everywhere; link-time optimization - may otherwise rightfully complain about inconsistencies. - Since ltdl.h may not depend upon config.h, rely on system - defines for choosing const'ness. - * NEWS: Update. - * doc/libtool.texi (Dlpreopening): Document this issue. - * libltdl/config/ltmain.m4sh (func_generate_dlsyms): - [__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST - according to system defines. Remove old shell cruft. Use - LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols. - * libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise, - define LT_DLSYM_CONST according to system defines. - * tests/demo/foo.h (LT_DLSYM_CONST): Likewise. - * tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise. - * tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST. - * tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist): - Likewise. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise - for configure test code. - * libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST. - * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise. - -2010-08-28 Dave Korn - - Ensure cwrapper magic string is not optimized away. - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): - Declare MAGIC_EXE as volatile. - Report by Charles Wilson. - -2010-08-28 Ralf Wildenhues - - Fix quoting in non-XSI func_xform, for IRIX sh. - * libltdl/config/ltmain.m4sh (func_xform): Remove spurious extra - M4 quotes. - - Fix response file test for unreliable exit status of IRIX ar. - * libltdl/m4/libtool.m4 (_LT_PROG_AR): IRIX ar will not fail - over a command-line argument specifying a nonexistent file (such - as `@FILE'), so ensure failure with a reponse file containing - a nonexistent file. Also, use lt_* variable prefix for - temporary variables. - - Fix AC_LANG_PROGRAM warnings from git Autoconf. - * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Fix - underquoted AC_LANG_PROGRAM call. - (LT_PROG_AR): Use AC_LANG_PROGRAM. - (_LT_LINKER_SHLIBS) [irix, GCC]: Use the right source for the - given language. - * NEWS: Update. - -2010-08-22 Ralf Wildenhues - - fix AIX testsuite regression - * libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly - revert v2.2.10-83-gc45a288: Do not absolutize path here, only do - sysroot replacement. - (func_mode_link): Adjust. - -2010-08-22 Charles Wilson - - fix --mode=finish - * libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else - blocks of the "if $opt_dry_run" conditional. - -2010-08-15 Paolo Bonzini - - improve code for sysroot --mode=finish - * libltdl/config/ltmain.m4sh (func_mode_finish): Change sysroot_regex - and sysroot_cmd delimiter from pipe to slash. Wrap the entire for - loop with "if $opt_dry_run...fi" and print an explanatory message - for the --dry-run case. - -2010-08-12 Paolo Bonzini - - add libtool --mode=finish mode for sysroot - * doc/libtool.texi (Finish mode): Document behavior when *.la files - are passed. - * libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot - or `=' signs representing it from files in $libs. - * tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot - references before running libtool --mode=finish, and for absence - afterwards. - - reorganize parsing of --mode=finish arguments - * libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for - directories and *.la files. - - fix sysroot handling for deplibs of preopened libtool libs - * libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool - through func_resolve_sysroot. - - fix sysroot tests to pass on Fedora 13 - * tests/sysroot.at: Link $prefix/include into the sysroot as well, as - required by newer GCC. - -2010-07-29 Paolo Bonzini - - initial version of the NEWS entry - * NEWS: Document sysroot support. - - add sysroot test - * Makefile.am (TESTSUITE_AT): Add tests/sysroot.at. - * tests/sysroot.at: New. - - emit sysrooted paths when installing .la files - * libltdl/config/ltmain.m4sh (func_replace_sysroot): New. - (func_mode_link): Prepend paths in $libdir with the sysroot. Further, - replace the sysroot with = (using func_replace_sysroot) whenever - such a path is written in a .la file. - - process postdeps to include sysrooted paths - * libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson). - (_LT_SYS_HIDDEN_LIBDEPS): Require it. Use func_stripname_cnf to convert - sysroot (-L= and -R=) usage in postdeps. Adjust the code because -L, -R - and -l flags will now always be separated from the rest of the argument. - - handle sysrooted paths when reading dependencies to la files - * libltdl/config/ltmain.m4sh (func_mode_execute, func_mode_install, - func_mode_link): Whenever a .la file occurs in another .la file, - expand the sysroot path in it. - -2010-07-28 Paolo Bonzini - - teach libtool -L= and -R= - * libltdl/config/ltmain.m4sh (func_resolve_sysroot): New. - (func_mode_link): Always pass result of stripping -L and -R to - func_resolve_sysroot before using it. Remove absolute path expansion - when func_resolve_sysroot subsumes it. Expand sysroot in -rpath. - When processing dependent libraries also resolve sysroot paths there. - - add --with-sysroot - * libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New. - (LT_SETUP): Require _LT_WITH_SYSROOT. - - handle sysroot flags - * libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot - option. - -2010-08-27 Ralf Wildenhues - - * NEWS: Only bootstrapping needs new Automake and Autoconf. - - check-interactive and check-noninteractive for both testsuites. - * Makefile.am (COMMON_TESTS, TESTS): Split into ... - (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new - variables. - (check-interactive-new): Rename from check-interactive. - (check-noninteractive-new): Rename from check-noninteractive. - (check-interactive-old, check-noninteractive-old): New targets. - (check-interactive, check-noninteractive): Depend on the - respective targets for the old and the new test suites. - * doc/libtool.texi (Test descriptions): Simplify description - about check-interactive and check-noninteractive. Add index - entries. - - Adjust docs for renaming and for parallel-tests. - * README: Update example TESTS setting. - * README.alpha: Likewise. - * doc/libtool.texi (Test descriptions): Update for test renaming, - adjust descriptions accordingly. - - Update VERBOSE handling for parallel-tests driver. - * tests/defs.m4sh: Default to verbose output, drop now-unneeded - handling of 'VERBOSE=no'. - * README: Update example usage. - * README.alpha: Likewise. - * doc/libtool.texi (Test descriptions, When tests fail): Remove - unneeded VERBOSE recommendations. Point to per-test log files - and test-suite.log summary file. - - Enable parallel-tests test driver for the old testsuite. - * configure.ac: New configure test to find out whether `make' - supports order-only prerequisites; set @ORDER@ accordingly. - (AM_INIT_AUTOMAKE): Enable parallel-tests option. - * tests/defs.m4sh (prefix): Derive install prefix for tests - from the test name, to avoid clashes. - * Makefile.am (CXX_TESTS, F77_TESTS, FC_TESTS, COMMON_TESTS): - Reformat. Adjust for renamed tests. Add dependencies between - the respective log files of the tests, to ensure proper ordering. - Use order-only dependencies if possible, between test groups that - use the same directory. - (clean-local-legacy): Remove `_inst-*' directories as well. - Prompted by suggestion from Bob Friesenhahn. - - New alias scripts for old tests run more than once. - * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, - tests/cdemo-static-exec.test, tests/cdemo-static-make.test, - tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, - tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, - tests/demo-nofast-make.test, tests/demo-nofast-unst.test, - tests/demo-nopic-exec.test, tests/demo-nopic-make.test, - tests/demo-pic-exec.test, tests/demo-pic-make.test, - tests/demo-shared-exec.test, tests/demo-shared-inst.test, - tests/demo-shared-make.test, tests/demo-shared-unst.test, - tests/demo-static-exec.test, tests/demo-static-inst.test, - tests/demo-static-make.test, tests/demo-static-unst.test, - tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, - tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, - tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, - tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, - tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, - tests/depdemo-static-make.test, tests/depdemo-static-unst.test, - tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, - tests/f77demo-static-exec.test, tests/f77demo-static-make.test, - tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, - tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, - tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, - tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, - tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, - tests/mdemo-static-make.test, tests/mdemo-static-unst.test, - tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, - tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, - tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test: - New files. - - Require Automake 1.11.1 for Libtool, enable color-tests. - * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1. Enable - color-tests. - (LTDL_SUBDIR_LIBOBJS): Remove now-obsolete conditional and - feature test for Autoconf 2.59 and Automake 1.9.x workaround. - * Makefile.am: Simplify accordingly. - * bootstrap: Remove obsolete WORKING_LIBOBJ_SUPPORT workarounds - for Autoconf 2.59 and Automake 1.9.6. - -2010-08-23 Charles Wilson - - Fix syntax for cygwin-cross - libltdl/m4/argz.m4: Add quotes around variable, which - may contain the multiword value 'guessing no'. - -2010-08-22 Ralf Wildenhues - - configure: use Autobuild AB_INIT if available. - * configure.ac: Call AB_INIT if it is defined, with - $autobuild_mode as argument, to be set at configure time. - Set AB_VERSION to the Libtool version string. - * HACKING: Update. - - Fix getopt tests to skip with Autoconf < 2.61. - * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Skip the test - if 'autom4te --language=m4sh' exits 63 because version 2.61 is - required. Allows the testsuite to complete successfully with - Autoconf 2.59 and Automake 1.9.6. - - Tidy and fix clean and distclean rules for old testsuite. - * Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead - of hard-coding the list of test directories. Use - $(AM_MAKEFLAGS). - (fake-distclean-legacy): New phony rule, to create fake Makefile - files if needed so that the automake-generated - distclean-recursive rule can work properly. - (distclean_recursive): New helper variable. - (distclean-recursive): Depend on fake-distclean-legacy. - -2010-08-22 Paolo Bonzini - - Fix sed_make_literal_regex. - * libltdl/config/general.m4sh (sed_make_literal_regex): Fix - definition. - -2010-08-15 Paolo Bonzini - - Factor the sed command used to make a regex from a literal. - * libltdl/config/general.m4sh (sed_make_literal_regex): New. - * libltdl/config/ltmain.m4sh - (func_cygming_dll_for_implib_fallback_core): Use it. Suggested - by Ralf Wildenhues. - -2010-08-21 Rainer Tammer (tiny change) - - Avoid issues with AIX resident shared libraries in old testsuite. - * tests/defs.m4sh [aix]: Remove file mode permission for others, - so shared libraries are not kept in memory after execution. - Fixes failures of repeated mdemo-inst.test with on AIX 5.3. - -2010-08-21 Ralf Wildenhues - - Skip part of versioning test on AIX. - * tests/versioning.at (versioning): The AIX linker always - records the unversioned library name, even with runtimelinking, - so skip the execution test for the incompatibly upgraded - library. - Report by Rainer Tammer. - - Remove dead code from versioning test. - * tests/versioning.at (versioning): No need to build unused - prog3. - -2010-08-20 Ralf Wildenhues - - Don't hide the table of contents in the manual. - * doc/libtool.texi: Move the table of contents to the beginning. - Prompted by patch from Bruno Haible against Automake. - - Remove superfluous dependency in Makefile.am. - * Makefile.am (tests/demo-conf.test): Remove dependency on - libtool, this test is a primary source and not generated. - - Bump copyright years in manual. - * doc/libtool.texi: Bump copyright years. - -2010-08-13 Peter Rosin - - Allow the use of a listing file if the archiver supports it. - * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection - of a suitable archiver... - (_LT_PROG_AR): ...to here. New macro, also detect if the - archiver supports a listing file with the new variable - archiver_list_spec. - * libltdl/config/ltmain.m4sh: If the archiver supports a listing - file, use it when max_cmd_len is exceeded. This is needed for - tool chains such as MSVC which do not support piece by piece - linking (-r -o). - * doc/libtool.texi (libtool script contents): Update with - archiver_list_spec description. - -2010-08-10 Gary V. Vaughan (tiny change) - - Make testsuite compatible with Autoconf 2.62 again. - * tests/getopt-m4sh.at (AT_CHECK): Autotest 2.62 chokes on unquoted - '#' in AT_CHECK, so replace all uses with '@%:@' quadrigraph. - Suggested by Eric Blake - Reported by Ralf Wildenhues - -2010-08-09 Ralf Wildenhues - - Fix more problematic code from "Add func_append_quoted and do..." - * libltdl/config/ltmain.m4sh (func_mode_link): Revert back - func_append instances that as assignments relied on the shell - not performing word splitting on the right hand side of the - assignment. - - Fix another typo on "Add func_append_quoted and do..." - * libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in - computation of finalize_rpath introduced in v2.2.10-40-g0da7d80, - fixing several testsuite failures on AIX. - Report by Rainer Tammer. - -2010-08-07 Ralf Wildenhues - - Avoid unwanted error message in configure output. - * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Try print - in subshell, so eventual `print: not found' is hidden reliably. - - Fix compilation of program sources on AIX. - * tests/lt_dlopenext.at (lt_dlopenext error messages): Do not - use $LIBTOOL when compiling plain object, AIX by default does - not enable static archives. - * tests/ltdl-libdir.at (libdir of installed modules): Likewise. - Report by Rainer Tammer. - - Do not call toplevel configure in non-VPATH build. - * tests/deplibs-mingw.at (deplibs without file command): Use - LT_AT_CONFIGURE for consistency, update comment about why it - might fail. - * tests/pic_flag.at (override pic_flag at configure time): Skip - test if we are building in-tree. - Report by Rainer Tammer. - - Allow running pic_flag test with different shell. - * tests/testsuite.at (LT_AT_CONFIGURE): Accept optional second - argument specifying the configure script to run. - * tests/pic_flag.at (override pic_flag at configure time): - Use LT_AT_CONFIGURE. - - Ensure not to reverse preserving of --debug for relinking/finish. - * libltdl/config/ltmain.m4sh (func_check_version_match): Only - preserve '--debug' switch if $opt_debug is not equal to ':'. - * tests/help.at (debug tracing): New test group. - Report by Rainer Tammer. - -2010-08-06 Ralf Wildenhues - - Fix AC_NO_EXECUTABLES test failure on AIX. - * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link - test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath. - * tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to - avoid link test. - Bug report by Rainer Tammer. - - Fix ltdl-libdir test for C++ compilers. - * tests/ltdl-libdir.at (libdir of installed modules): Declare - module function as extern "C". - -2010-08-04 Ralf Wildenhues - - Let `libtool' without arguments point to `--help' again. - * libltdl/config/ltmain.m4sh (func_check_version_match): - Remove duplicate and wrong error check. - * tests/help.at (standard command line options): Extend test. - Report by Rainer Tammer. - - Avoid syntax error due to shift of nonexistent parameter. - * libltdl/config/ltmain.m4sh : Only shift - if there is a positional parameter to shift. Fixes `libtool - --help' when dash is used. - Report by Rainer Tammer. - - Fix testsuite errors due to shell quoted parameter expansion issue. - * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Insert space - between double-quoted and unquoted shell parameter, as bash - 4.0.28 doesn't add one in its output if the expansion of the - second one starts with a space. - (short option splitting, enhanced shell short option splitting) - (long option splitting, XSI long option splitting): Add space in - expected output. - Fixes testsuite failures on AIX, FreeBSD, etc. - Report by Rainer Tammer. - -2010-08-03 Ralf Wildenhues - - Fix build failure with AIX sh due to shell quoting error. - * libltdl/config/ltmain.m4sh (func_append_quoted): Document - that this function inserts a separator space. - (func_mode_compile): Do not pass extra space here. - Fixes regression introduced in v2.2.10-49-gc13532a. - Report by Rainer Tammer. - -2010-08-02 Ralf Wildenhues - - Fix pic_flag test unportabilities. - * tests/pic_flag.at (override pic_flag at configure time): Skip - test if the compiler produces a warning containing `fpic'. - Do not use nonportable `grep -e', for Solaris. - Report by Charles Wilson. - -2010-08-01 Paolo Bonzini - - Fix bug in postdeps computation - * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually - concatenate $prev and $p. - -2010-07-26 Charles Wilson - - Don't always skip XSI tests - * tests/getopt-m4sh.at: Use new signature as implemented by - de8a0992b21b76a13c302cf48588ad5f6042595c, when determining - whether to test Extended-shell functions. - -2010-07-18 Peter Rosin - - * tests/stresstest.at: Link with main.lo when liba is shared - and linking main with -no-install. - -2010-07-18 Peter Rosin - - * tests/stresstest.at [MSVC]: dllimport all imported - variables. - -2010-07-17 Peter Rosin - - dllimport the variable for MSVC in link-order.at - * tests/link-order.at [MSVC]: Makes the test pass by dllimporting - imported variables when working with shared libraries. - -2010-07-08 Peter Rosin - Ralf Wildenhues - - Make preloading heed libname_spec. - Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC. - * libltdl/ltdl.c (libprefix): New static variable describing - the prefix of static archives. - (try_dlopen): Use libprefix. - * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static - archives to config.h. Also fix assignment of LTDLOPEN to be more - efficient and less error prone while at it. - -2010-07-08 Gary V. Vaughan - - Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE. - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to - _LT_PROG_REPLACE_SHELLFNS. - (_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE. - (_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use - 'Extended shell' rather than 'XSI' on successful replacement. - * libltdl/config/general.m4sh (func_dirname, func_basename) - (func_dirname_and_basename, func_stripname): Change decorator - comment to use 'extended shell' rather than 'XSI' on fallback - implementations. - * libltdl/config/getopt.m4sh (func_split_short_opt) - (func_split_long_opt): Ditto. - * libltdl/config/ltmain.m4sh (func_append, func_append_quoted) - (func_arith, func_len, func_lo2o, func_xform): Ditto. - * tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to - _LT_AT_EXTENDED_SHELL_FUNC_EXTRACT. - (_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to - match new replacable function decorator comments. - -2010-07-08 Peter Rosin - - Optimize assignment of output_la. - * libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec - instances. - Report by Ralf Wildenhues. - -2010-07-08 Gary V. Vaughan - - Fix a cut-n-pasto in "2010-07-07 Charles Wilson" patch. - * libltdl/config/ltmain.m4sh (func_mode_link): Remove spurious - variable dereference. - -2010-07-07 Gary V. Vaughan - - Tidy m4 comment header underline. - * libltdl/m4/libtool.m4 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): Make - sure hyphens in function name comment header underline line up. - -2010-07-07 Charles Wilson - - [cygwin|mingw] fix dlpreopen with --disable-static - * libltdl/config/general.m4sh (func_tr_sh): New function. - * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]: - Obtain DLL name corresponding to import library by using value - stored in unique variable libfile_$(transliterated implib name). - If that fails, use $sharedlib_from_linklib_cmd to extract DLL - name from import library directly. Also, properly extract dlsyms - from the import library. - (func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs - over static libs when both are available. When dlpreopening - DLLs, use linklib (that is, import lib) as dlpreopen file, - rather than DLL. Store name of associated la file in - unique variable libfile_$(transliterated implib name) - for later use. - (func_win32_libid): Accomodate pei-i386 import libs - as well as pe-i386. - (func_cygming_dll_for_implib): New function. - (func_cygming_dll_for_implib_fallback): New function. - (func_cygming_dll_for_implib_fallback_core): New function. - (func_cygming_gnu_implib_p): New function. - (func_cygming_ms_implib_p): New function. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed - expressions for lt_cv_sys_global_symbol_to_c_name_address and - lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - as trailing space after module name is optional. - (_LT_LINKER_SHLIBS) [cygwin|mingw][C++]: - Set exclude_expsyms correctly for $host. Simplify regular - expression in export_symbols_cmds. - (_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms - correctly for $host. Enable export_symbols_cmds to identify - DATA exports by _nm_ prefix. - (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets - sharedlib_from_linklib_cmd variable. - (_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set. - -2010-07-05 Peter Rosin - - * tests/export.at [MSVC]: dllimport all imported variables. - -2010-07-01 Ralf Wildenhues - Peter Rosin - - Support for response files with $NM. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) - : New tag variable. Set it to '@' if input - files can be passed to $NM in a file named with the '@' option. - * libltdl/config/ltmain.m4sh (func_mode_link): When - nm_file_list_spec is nonempty, use it to avoid skipped_export. - * doc/libtool.texi (libtool script contents): Document - new variable. - -2010-07-04 Ralf Wildenhues - - Fix ccache test for MSVC. - * tests/static.at (ccache -all-static): Ignore compiler stderr. - Reported by Peter Rosin. - -2010-07-03 Charles Wilson - - Avoid false failures caused by filesystem interaction - * tests/dlloader-api.at (dlloader API): Use uglified names for - pseudo-modules. - -2010-07-03 Peter Rosin - - Fix typo in "Add func_append_quoted and do..." - * libltdl/config/ltmain.m4sh (func_mode_compile): Use - func_append_quoted instead of func_append. - -2010-07-02 Peter Rosin - - Don't trigger file name expansion when embedding manifests. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) - [ cygwin, mingw, cegcc ] : Remove all spaces in the - case statement of postlink_cmds to make file name expansion - more unlikely. - (_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |. - -2010-07-01 Peter Rosin - - Fix regression caused by "Add func_append_quoted and do..." - * libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover - "_libs" trash. - -2010-06-28 Peter Rosin - - For MSVC, embed the manifest as a resource in the executable. - Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and - above (and perhaps also MSVC .Net) related to running programs - that have been moved (e.g. installed) without their manifests - also having been moved. - * libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro - that locates the Manifest Tool (mt) and verifies that it is - indeed the manifest tool. The result is stored in the new - variable MANIFEST_TOOL. - (_LT_LINKER_SHLIBS) : New tag variable. - [ cygwin, mingw, cegcc ] : Embed the manifest file as a - resource. Make sure the embedding work regardless of if the - @OUTPUT@ file name includes a trailing $EXEEXT. - (_LT_LANG_CXX_CONFIG): Likewise. - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above - _LT_PATH_MANIFEST_TOOL. - * libltdl/config/ltmain.m4sh (func_mode_link): After linking - a program, replace @OUTPUT@ in $postlink_cmds and then execute - the commands. - * doc/libtool.texi (libtool script contents): Document - new postlink_cmds variable. - (LT_INIT): Add that the MANIFEST_TOOL environment variable can - be used to override the manifest tool to use. - * tests/exeext.at: New. Make sure linking with both -o prog - and -o prog$EXEEXT works. - * Makefile.am (TESTSUITE_AT): Update. - (TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the - testsuite. - * NEWS: Add note of the new MANIFEST_TOOL environment variable. - -2010-06-24 Peter Rosin - - Add MSVC support. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add - support for the Microsoft C/C++ Compiler (cl) relying on help - from the compile script in Automake. - * NEWS: Add note of the above. - -2010-07-01 Gary V. Vaughan - - Skip `enhanced shell option appending' test when not available. - * tests/getopt-m4sh.at [enhanced shell option appending]: - _LT_AT_XSI_FUNC_EXTRACT will not be able to find the enhanced - libtool func_append function if the replacement wasn't substituted - by configure, since the decorator comments will be different - in - that case simply skip the test. - -2010-06-30 Gary V. Vaughan - - Add func_append test cases for smart and retarded implementations. - * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New - macro to extract a fallback function implementation from - ltmain.m4sh. - [option appending]: Use it for a test of the fallback - implementation of func_append. - [enhanced shell option appending]: And also test the enhanced - implementation. - * libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \\ - to escape a quoted space for eval. - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in - dereference of func_append inline replacement for retarded - shells. - -2010-06-29 Gary V. Vaughan - - Correct func_split_short_opt comment cut-n-pasto. - * libtool/config/getopt.m4sh (func_split_short_opt): Fix - the function comment. - - Use a real XSI compliant func_split_short_opt substitution. - * libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove - test ${foo:n:m} substrings, instead adding a ${foo%??} check - to the existing XSI tests. - (_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based - func_split_short_opt substitution in favour of a properly - XSI compliant substitution. - Suggested by Paolo Bonzini. - -2010-06-28 Gary V. Vaughan - - Add func_append_quoted and do inline func_append substitutions. - * libtool/config/ltmain.m4sh: Replace all occurrences of - `foo="$foo bar"' with func_append. No decorator comment was - added since /func_append [a-zA-Z0-9_]* "/ is already an - excellent match regexp, and additional comments would only - complicate things. - (func_append_quoted): New function that quotes a value with - func_quote_for_eval before appending it. To avoid quoting the - whitespace in the passed value, a single whitespace is added - automatically. Changed callers where possible. - * libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a - `+=' implementation substitution for func_append_quoted. More - importantly, systematically replace matching func_append calls - with inline `+=' when supported (for maximum speed), and - longhand `foo="$foo bar"' otherwise to avoid the function - overhead. - - Add an XSI replacement for func_split_short_opt, with test cases. - * libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now - that getopt.m4sh doesn't steal that letter for the --version - short option. - * libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v' - as a short option for '--verbose'. - * libltdl/config/getopt.m4sh (m4go_printopts): Add back in the - leading '-' for remaining non-argument short options. - (func_split_short_opt): Use the correct sed script variable. - * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure - that XSI substring extraction is supported. - (_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split - short options to avoid unnecessary forks if the host shell - supports that. - * tests/getopt-m4sh.at: New tests for getopt.m4sh coverage. - * Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at. - (TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the - m4sh expansion performed in tests/getopt-m4sh.at. - -2010-06-27 Gary V. Vaughan - - Add missing case branch terminators. - * libltdl/config/ltmain.m4sh: Fixed everal case branches with - missing ';;' terminators. - - Use TAB-SPACE in preference to SPACE-TAB. - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors - might optimise away the SPACE in SPACE-TAB sequences, so use - TAB-SPACE just in case. - Reported by Ralf Wildenhues - - Amend a missed opt_mode rename instance in ltmain.m4sh. - * libltdl/config/ltmain.m4sh : Rename to opt_mode. - - Fix portability regressions in today's earlier changeset. - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not - portable; use `mv -f ...|| cp -f ...' instead. - Add an initial backslash to sed `c' substitutions with leading - whitespace, so that indentation is not removed by some non-POSIX - compliant sed implementations. - (_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if - one or more XSI function replacements failed. - - getopt.m4sh generated libtool option parser, and XSI improvements. - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable - shell versions of various utility functions from here... - * libltdl/config/getopt.m4sh (func_split_long_opt): ...to here... - * libltdl/config/general.m4sh (func_dirname, func_basename) - (func_dirname_and_basename, func_strip_name): ...here... - * libltdl/config/ltmain.m4sh (func_append, func_arith, func_len) - (func_lo2o, func_xform): ...and here. - * libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that - expands into a sed command for replacing the contents of a - suitably decorated shell function with an alternate XSI - implementation. - (_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell - versions of the functions above with equivalent XSI - implementations that avoid unnecessary forks if the host shell - supports that. - * libltdl/config/ltmain.m4sh: Replace hand written shell code - with a call to M4SH_GETOPTS. Rename some option variables in - the client code to match the generated option parser settings. - * libltdl/config/general.m4sh (func_echo, func_error) - (func_warning): Use $opt_mode instead of obsoleted $mode in - message leader. - * libltdl/config/getopt.m4sh (m4_version_prereq): This file - requires m4sugar.m4 from Autoconf-2.61 or newer. - -2010-06-24 Charles Wilson - - [cygwin] Refactor C++ exception handling for Win32 correctness - * tests/exception.at (common.h): New file, refactored from - (module.h): Move declaration of modexc to libcommon. - Include common.h. Use explicit import/export markings for - symbols when building on win32 or cygwin. - (common.cpp): New file. - (module.cpp): Ensure correct symbols markings when including - module.h. - (lib.h): Use explicit import/export markings for symbols - when building on win32 or cygwin. - (lib.cpp): Ensure correct symbol markings when including lib.h. - (main.cpp): Include common.h. - (commands): Ensure correct symbol markings when compiling - main.cpp, and lib.cpp, and module.cpp. Add command to compile - common.cpp, and to link libcommon.la. Add libcommon.la when - linking module.la and main. Add command to install libcommon.la. - -2010-06-21 Gary V. Vaughan - - Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer. - * libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is - implemented even if Autoconf's m4sugar.m4 doesn't provide it. - (m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use - it everywhere incase m4sugar.m4 doesn't have an implementation. - (m4_ifnblank): Replace all uses with m4_ifval, which was - available long before m4_ifnblank was introduced. - -2010-06-20 Ralf Wildenhues - - Fix clean mode for HP-UX 11.31 sh. - * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try - to match a null string in a case pattern, even with surrounding - spaces. Fixes `lt_dlopenadvise library loading' test. - - Add comment for exception handling module unloading issue. - * tests/exceptions.at (C++ exception handling): Add comment - for last patch. - - Fix flags test failure when ld is used as linker. - * tests/flags.at (passing CC flags through libtool): When $LD - is used for linking libraries, ensure flags passed with `-Wc,' - are not passed through to $LD, but flags passed with `-Wl,' use - $wl when linking programs. Fixed testsuite failure on HP-UX - 10.20. - -2010-06-19 Charles Wilson - - [cygwin] Fix segfault in C++ exception handling test - * tests/exceptions.at (main.cpp:exceptions_in_module): - Move dlclose outside catch block; otherwise __cxa_end_catch - (part of the cygwin g++ ABI) accesses pointers to data inside - unloaded DLL. This is a platform ABI-specific bug, but is - likely common to many platforms' g++ and/or other C++ - compilers. - -2010-06-19 Ralf Wildenhues - - Fix srcdir computation for manual runs of old tests. - * tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow - `$srcdir/tests/FOO.test' to be run from the top build directory. - - Clean up @var handling in the manual. - * doc/libtool.texi: Throughout the manual, replace @var with - @samp or @code as appropriate, ensure the argument of remaining - @var uses are lower-case. - - Let the bootstrap script fail upon errors. - * bootstrap: Enable errexit. - - Fix execute mode test for OSF/1 5.1. - * tests/execute-mode.at (execute mode): Do not use grep -F - with an empty pattern. - * THANKS: Update. - Report by Jay K. - - Use config.cache variable for PIC flag, to allow override. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) : - Save result, and allow override, through cache variable - lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable - needs to contain an eventual -DPIC. - * tests/pic_flag.at (override pic_flag at configure time): - New file, new test. - * Makefile.am (TESTSUITE_AT): Update. - * NEWS, THANKS: Update. - Suggestion by Joakim Tjernlund and Paolo Bonzini. - -2010-06-16 Ralf Wildenhues - - Optimize func_ltwrapper_scriptname to assume a cwrapper. - * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not - call func_ltwrapper_executable_p again here, this function is - documented to allow being called with wrapper executables. - - Fix bootstrap script to cope with changed AC_INIT arguments. - * bootstrap: When extracting PACKAGE and VERSION from AC_INIT - arguments, be sure to remove a 'GNU ' prefix and lowercase the - package name for PACKAGE. Also set PACKAGE_NAME and PACKAGE_URL - appropriately for GNU software. Pass these variables to the - make commands creating tests/package.m4 and other files. - * Makefile.am (edit): Fix substitution of PACKAGE_NAME and - PACKAGE_STRING. - * libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not - @PACKAGE_STRING@. - -2010-06-15 Peter Rosin - - On Windows, find potential libs regardless of file name case. - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD), - libltdl/config/ltmain.m4sh (func_mode_link): On Windows, - find potential libs regardless of file name case. - * tests/nocase.at: New test, to check for regressions - of the above. - * Makefile.am: Add above new test. - * doc/libtool.texi (libtool script contents): Document - new variables. - * NEWS: Updated. - -2010-06-15 Philip Allison (tiny change) - - Avoid GCC -Wall compiler warning in dlopen self test. - * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Fix unused - variable warning in test program. - * THANKS: Update. - -2010-06-15 Ralf Wildenhues - - Fix cleaning of uninstalled w32 shell wrapper in subdirs. - * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not - override global objdir variable, instead use odir for the - directory of to-be-removed files. Drop unneeded origobjdir. - Report by Charles Wilson. - -2010-06-14 Ralf Wildenhues - - Enable colored Autotest testsuite output if available. - * tests/testsuite.at: Move AT_INIT call down to late in the - file, all prior code can go beforehand. - Call AT_COLOR_TESTS if defined. - -2010-06-14 Peter O'Gorman - - Pass resident test with --disable-shared too. - * tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS. - -2010-06-13 Peter O'Gorman - - Test with --disable-shared at release time too. - * HACKING: Note it. - - Avoid failure for --disable-shared. - * tests/lt_dladvise.at: Hack. - - Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure. - * tests/exceptions.at: Use it. - -2010-06-13 Ralf Wildenhues - - Print Libtool project URL in program --help output. - * configure.ac (AC_INIT): Set PACKAGE argument to `GNU Libtool', - so Autoconf knows this is GNU software. For Autoconf < 2.64, - if AC_PACKAGE_URL is not defined, substitute PACKAGE_URL. - * Makefile.am (edit): Substitute PACKAGE_URL. - ($(srcdir)/tests/package.m4): Also depend on Makefile.am. - Define AT_PACKAGE_URL, for `tests/testsuite --help' output. - * libltdl/config/getopt.m4sh (func_help): Also extract comment - lines that mention a home page and general GNU help. - * libltdl/config/ltmain.m4sh: Use @PACKAGE_BUGREPORT@ instead of - hard-coded list address. Also mention Libtool home page and - general GNU help web page. - * libtoolize.m4sh: Likewise. - -2010-06-12 Peter Rosin - Ralf Wildenhues - - Improve libdir usage from within ltdl on MinGW. - * libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the - libdir entry in the .la file, but accept it only if it is not - a unix-style absolute name. - * tests/ltdl-libdir.at: New test that checks if ltdl finds an - installed module via the libdir variable in the .la file. On - MinGW, use a Windows-style libdir name including drive spec. - * Makefile.am: Add above. - -2010-06-11 Peter O'Gorman - - Skip bindir install test if we're not building shared. - * tests/bindir.at: Skip install test if necessary. - * THANKS: Update. - Report by Michael E Faenza. - -2010-06-11 Gary V. Vaughan - - Use getopt.m4sh to generate libtoolize option parser. - * libtoolize.m4sh: Replace hand written shell code with a - call to M4SH_GETOPTS. Move some premature initialization - from the preamble to the main part of the script. Exit with - an error on spurious additional non-option arguments. - (envopts): Integrate LIBTOOLIZE_OPTIONS pre-parsing into the - main option parsing loop. - (opt_copy): Use in place of and in the reverse sense of the - old opt_link variable. - -2010-06-10 Peter O'Gorman - - Create reloadable object files with non-pic objects too. - * libltdl/config/ltmain.m4sh: When not building a shared - library, use the non-pic objects to create a reloadable - object, because pic objects do not exist. - -2010-06-10 Ralf Wildenhues - - Ensure libltdl is up to date for check-local. - * Makefile.am (LTDL_BOOTSTRAP_DEPS): New variable. - (all-local): Use it to simplify dependencies. - (testsuite_deps_uninstalled): Add $(LTDL_BOOTSTRAP_DEPS). - Report by Peter Rosin. - -2010-06-10 Gary V. Vaughan - - Support shell tracing inside functions even with ksh. - * libltdl/config/getopt.m4sh: Set $opt_debug to be either `:' - or `set -x' depending on whether --debug was parsed to match - usage in libtoolize.m4sh and ltmain.m4sh. - * clcommit.m4sh, libltdl/config/announce-gen.sh: Instead of - `$opt_debug && ...', use `test "$opt_debug" != ":" && ...'. - * clcommit.m4sh, libltdl/config/announce-gen.m4sh, - libltdl/config/getopt.m4sh, libltdl/connfig/mailnotify.m4sh: - Execute at the start of functions to cater to ksh, which - resets `-x' inside shell functions. - - Fix a typu in HACKING. - * HACKING (Release Procedure): s/Makeflie/Makefile/. - -2010-06-09 Ralf Wildenhues - - Factorize testing gcj installation in the testsuite. - * tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually - try to compile a .java file when deciding whether to skip. - (LT_AT_EXEC_TAG): New macro, to also ensure runnability. - * tests/convenience.at (Java convenience archives): Use - LT_AT_EXEC_TAG, simplify accordingly. - * tests/flags.at (passing lt_tag flags through libtool): Use - m4_defn for tag so LT_AT_TAG works. - * tests/infer-tag.at (GCJ inferred tag): Simplify. - * THANKS: Update. - Report by Warren Dodge. - -2010-06-09 Peter O'Gorman - - Skip demo-nopic tests if SELinux policy will cause failure. - * tests/demo-nopic.test: Check SELinux policy and skip if - necessary. - -2010-06-09 Gary V. Vaughan - - Set SCM version number to 2.2.11a. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.11a. - * NEWS: Updated. - - GNU Libtool 2.2.10 was released. - - Prepare for next release. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number - to 2.2.10. - * NEWS: Update version number. - - Fix a quoting bug with ./commit -a 'A U Thor'. - * clcommit.m4sh (func_commit): Use func_show_eval when calling - git, so that the previously func_quote_for_eval()ed $git_flags is - expanded properly. - -2009-09-15 Peter Rosin - - Don't try the MSYS libdir path on MinGW. - * libltdl/ltdl.c (parse_dotla_file) [mingw]: The absolute - libdir path in the .la file is recorded as an MSYS (POSIX - style) path. Make sure it isn't tried when locating the - shared library. - * NEWS: Updated. - -2010-06-09 Gary V. Vaughan - - Simplify license variations, and add missing license texts. - * ChangeLog, ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, - ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, - ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, - ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, NEWS: Add - all-permissive license. - * HACKING, README, README.alpha, TODO: Relax license to RMS - encouraged all-permissive terms. - * libltdl/README: Ditto. I added the original license text in - 2007, and there's no need for it to be so long for such a trivial - file. - * libltdl/config/getopt.m4sh, libltdl/general.m4sh: Cvs-utils is - dead, and I am the author of these files, so consolidated license - terms to match regular Libtool licensing. - * HACKING (Licensing Rules): Update wording, and list of files for - the all permissive license. - (GPL with CVS-Utils exception clause): Removed. No files have these - license any more. - (GPL with Libtool exception clause): Ditto, only libltdl/README - used to be distributed with this variation. - * AUTHORS: Add GPL license text. - - Fix a type in the 2.2.8 release notes. - * NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes. - - Don't warn about the blank line inserted into git commit message. - * clcommit.m4sh: When searching for accidental commits of mutliple - changes, ignore the second line of the message, which we inserted - earlier to support "git log --oneline". - - Enable correct extraction of multiline copyright from --version. - * libltdl/config/getopt.m4sh: Wrap copyright notice at 76 - columns. - (func_version): Don't omit spaces when merging multiline copyright - notices. - * clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76 - columns. - - * NEWS (2.2.8): BlueGene compiler tests were performed on BG/P - systems, not BG/L. - Reported by Christian Rössel - -2010-06-08 Ralf Wildenhues - - Fix testsuite helper macros to not hide failure. - * tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE): - Do not wrap AT_CHECK in a subshell, so that failures are - properly propagated; instead, move environment changes inside - the AT_CHECK code. - Report and analysis by Peter Rosin. - - Avoid autom4te warning about unnamed diversion. - * libltdl/config/getopt.m4sh: Use diversion name KILL not -1. - -2010-06-07 Ralf Wildenhues - - Make versioning test stricter for w32, enable shared libs. - * tests/versioning.at (versioning): Add -no-undefined to - LDFLAGS. - (test_uninstalled): Also move $bindir out of the way - temporarily. - - Fix versioning test for LDFLAGS=-Wl,--as-needed. - * tests/versioning.at (versioning): For the library update - hypotheses, ensure the unchanged library libb isn't accidentally - relinked against the new liba, by not reinstalling libb. - Fixes testsuite failure for the incompatible update case with - LDFLAGS=-Wl,--as-needed. - * THANKS: Update. - Report by Ryan Hill. - -2010-06-06 Ralf Wildenhues - - Rewrite manual intro to be gender-neutral. - * doc/libtool.texi (Introduction): Use gender-neutral - formulation when addressing developers. - -2010-06-05 Gary V. Vaughan - - Update and simplify all m4sh scripts to use latest getopt.m4sh. - * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Rewrite option - parsing loop over M4SH_GETOPTS macro, and adjust all clients of - option variables to use generated option names. - - Add missing quote for literal ? in a shell case statement. - * libltdl/config/getopt.m4sh (m4go_shortnoargs): Quote initial ? - correctly for use in a shell case statement. - - Quote command line arguments after --rcfile properly. - * libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining - arguments shell variable expression correctly for eval. - - Shift correctly in numbered option argument collection. - * libltdl/config/getopt.m4sh (_m4go_option): Argument list also - needs to be `shift'ed in the shell option loop after processing a - numbered argument collection. - - Fetch from new upstream host for config.guess and config.sub. - * Makefile.maint (WGET_CGIT): Location of newest config.guess and - config.sub upstream. - (fetch): Fetch config.guess and config.sub from WGET_CGIT, rather - than no-longer-updating WGET_SGO location. - - Update generated upload directive file format to v1.1. - * Makefile.maint (git-dist, diffs): Update to generate v1.1 format - directive files for ftp://ftp-upload.gnu.org/incoming/ftp. - - Fix web manual generation details in release instructions. - * HACKING (Release Procedure): Move the instruction for generating - web manuals for a new release to before the instruction that bumps - the version numbers to the post release values. - - Set SCM version number to 2.2.9a. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.9a. - * NEWS: Updated. - - GNU Libtool 2.2.8 was released. - - Prepare for next release. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.8. - * NEWS: Update version number. - * INSTALL, libltdl/config/install-sh, libltdl/config/config.guess, - libltdl/config/config.sub, libltdl/config/texinfo.tex: Updated - from canonical source. - - Provide an m4sh reimplementation of announce-gen. - * libltdl/config/getopt.m4sh (M4SH_GETOPTS): New macro that takes - a quoted m4 list of command line options to be parsed, and - generates the shell code to parse those options and collect the - results into appropriately named 'opt_xxx' shell variables. Also, - add some private supporting macros, and improve the comments - radically. - * libltdl/config/announce-gen.m4sh: New file, to generate and - optionally post (an enhancement over the gnulib perl script of the - same name) a release announcement. - * Makefile.maint (announce-gen): Build a new announce-gen script - in the build directory, from the contents of - libltdl/config/announce-gen.m4sh. - * HACKING (Release Procedure): Update the instructions to use - announce-gen. - (Alpha release note template, Full release note template): - Removed. - -2010-05-22 Gary V. Vaughan - - Support "git log --oneline" in generated commit messages. - * clcommit.m4sh (func_check_commit_msg): Insert an empty line - between the ChangeLog entry summary line and the ChangeLog entry - body, so that "git log --oneline" works properly. - Bump copyright and version number. - Reported by Ralf Wildenhues - -2010-05-22 Ralf Wildenhues - - * HACKING: Set Reply-To: in announcement emails. - -2010-05-21 Gary V. Vaughan - - Set SCM version number to 2.2.7c. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.7c. - * NEWS: Updated. - - GNU Libtool 2.2.7b was released. - - Prepare for next release candidate. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.7b. - * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, - libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: These files - have been updated without a serial bump since the last release. - * libltdl/Makefile.inc (LTDL_VERSION_INFO): Bump Revision, to - account for bugfixes since the last release. - * libltdl/config/install-sh, libltdl/config/config.guess, - libltdl/config/config.sub, libltdl/config/texinfo.tex, - INSTALL: Updated from canonical source. - * NEWS: Update with missing entries from ChangeLog. - * HACKING: Note workaround for developer tool-path leakage bug. - - Skip some tests in --disable-ltdl-install mode. - * tests/dlloader-api.at, tests/exceptions.at, - tests/lalib-syntax.at, tests/loadlibrary.at, - tests/lt_dlopenext.at, tests/resident.at: Detect when these - tests try to link against the not installed libltdl.la, and - skip rather than FAIL. - -2010-05-05 Peter Rosin - - Clarify versioning algorithm documentation. - * doc/libtool.texi (Updating version info): Be explicit - about setting age to zero on interface change. - Reported by Jef Driesen - -2010-05-04 Peter O'Gorman - - Ranlib is required with -force_load and fat archives. - * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run - ranlib. - Reported by Jeremy Huddleston - -2010-04-09 Ralf Wildenhues - - Fix incompatible struct declarations. - * doc/libtool.texi (Dlpreopening): Remove broken documentation - of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist - and symbol lt_preloaded_symbols according to the implementation. - * tests/demo/dlmain.c (lt_symlist): Make struct anonymous ... - (lt_dlsymlist): ... and typedef to this name. - (lt_preloaded_symbols, main): Adjust. - * tests/pdemo/longer_file_name_dlmain.c: Likewise. - -2010-04-04 Ralf Wildenhues - - Use linker_flags not compiler_flags with $LD. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux] - : With xlf and bgxlf - compilers, when linking with $LD, use $linker_flags not - $compiler_flags. - -2010-03-31 Ralf Wildenhues - - Add FAQ, and FAQ entry for flags stripped at library link time. - * doc/libtool.texi (FAQ, Stripped link flags): New nodes. - (Wrapper executables): Replace bug address with macro. - (Compile mode, Link mode): Document `-Wc,' and `-Xcompiler ' - semantics better. - * libltdl/config/ltmain.m4sh (func_mode_link): Rewrite comment - for the flags that are passed through. - Prompted by reports from Simon Richter , - Török Edwin and - Ă…ke Sandgren . - -2010-03-28 Ralf Wildenhues - - Fix preloader symbol list declaration in libltdl. - * libltdl/ltdl.c (preloaded_symbols): Fix declaration to include - array brackets. - (lt_dlinit): Do not take address of preloaded_symbols. - - Fix typo in libtool --help output. - * libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help - output. - - Fix a couple of documentation errors. - * doc/libtool.texi (Autoconf macros): Improve hyphenation. - (Using libltdl): libltdl uses the Lesser General Public License, - not the Library General Public License. - - Do not use @sc nor @acronym in the manual. - * doc/libtool.texi: Remove all usage of @sc. - -2010-03-19 Chris Demetriou - - Sort output of 'find' to enable deterministic builds. - * libltdl/config/ltmain.m4sh (func_extract_archives): Sort - output of 'find'. - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise. - * THANKS: Update. - -2010-03-19 Ralf Wildenhues - - Unconditionally normalize LC_ALL, LANGUAGE in libtool script. - * libltdl/config/ltmain.m4sh: Unconditionally set LC_ALL and - LANGUAGE to 'C', to avoid semantic differences on MinGW under - Chines locale. SCO issues with e.g. LANG=C are not known to - be relevant today any more. - Report by Pete Batard and Xiaofan Chen - . - -2010-03-17 Peter Rosin - - Preserve the last error when restoring the error mode. - * libltdl/loaders/loadlibrary.c (wm_open): Don't rely on - SetThreadErrorMode (or SetErrorMode) to not clobber the last - error. - Report by Ralf Wildenhues. - - Use Get/SetThreadErrorMode if they are available. - * libltdl/loaders/loadlibrary.c (wrap_geterrormode): Replaced... - (wrap_getthreaderrormode): ...by this function that checks - first for GetThreadErrorMode, then GetErrorMode and makes use - of either of those or... - (fallback_getthreaderrormode): ...else falls back to this - replacement function that implements the old workaround, which - was previously implemented in... - (fallback_geterrormode): ...this now renamed function. - (geterrormode): Replaced... - (getthreaderrormode): ...by this function pointer that points - at either of wrap_getthreaderrormode, GetThreadErrorMode, - GetErrorMode or fallback_getthreaderrormode. - (wrap_setthreaderrormode): New function that checks if - SetThreadErrorMode is supported by the system and makes use of - it if it is. - (fallback_setthreaderrormode): New function that is used - otherwise that implements the old version using SetErrorMode. - (setthreaderrormode): New function pointer that points at - either of wrap_setthreaderrormode, SetThreadErrorMode or - fallback_setthreaderrormode. - (vm_open): Adjust to the above. - -2010-02-28 Ralf Wildenhues - - Detect Sun compiler suite with 'sun'-prefixed names. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) - (_LT_SYS_HIDDEN_LIBDEPS) [solaris]: Accept compiler names sunCC, - sunf77, sunf90, sunf95 in addition to CC, f77, f90, f95. - * NEWS: Update. - Report by Vadim Zeitlin. - -2010-02-28 Pierre Ossman (tiny change) - Ralf Wildenhues - - Fix deplibs check fallback for 64-bit Windows and Windows CE. - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats - 'pe-arm-wince' and 'pe-x86-64'. Add note about consistency with ... - * libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective - pattern here; sync pattern from the former. - * tests/deplibs-mingw.at (deplibs without file command): New - file, new test. - * Makefile.am (TESTSUITE_AT): Update. - * NEWS: Update. - -2010-02-24 Scott McCreary (tiny change) - - Update search path on Haiku for legacy system directory. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku] - : Replace legacy - /boot/beos/system/lib directory with /boot/system/lib. - * THANKS: Update. - -2010-02-22 Ralf Wildenhues - - manual: fix detailmenu ordering. - * doc/libtool.texi (Top): Add section for `Linking executables' - in the detailmenu. - -2010-02-21 Charles Wilson - - Guard against strerror()==NULL - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): - Check return value of strerror() using nonnull(). - (func_emit_cwrapperexe_src:find_executable): Ditto. - (func_emit_cwrapperexe_src:chase_symlinks): Ditto. - -2010-02-21 Charles Wilson - - Document wrapper changes. - * NEWS: Indicate new feature and incompatibility. - * doc/libtool.texi [detailmenu]: Add reference to subsection - 'Wrapper executables for programs', in Platform Quirks category. - [Linking executables]: Mention wrapper executables, in - addition to wrapper scripts. Add menu referencing subsection - 'Wrapper executables for programs'. - [Wrapper executables for programs]: New subsection. Documents - cwrapper rationale and command line options. - -2010-02-21 Charles Wilson - - Add --lt-* options to shell wrapper - * libltdl/config/ltmain.m4sh (func_emit_wrapper): Call - func_parse_lt_options early. Use func_exec_program. - (func_emit_wrapper:func_parse_lt_options): New function. - (func_emit_wrapper:func_lt_dump_args): New function. - (func_emit_wrapper:func_exec_program_core): New function. - (func_emit_wrapper:func_exec_program): New function. - -2010-02-21 Charles Wilson - - Enable runtime cwrapper debugging; add tests - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): - Update comments. Initialize program_name. Eliminate _LENGTH - variables for string constants. In debug mode, print a - banner with known content before any other output. Remove - LTWRAPPER_DEBUGPRINTF macro. Add constants and variables - to support new --lt-debug option. - (func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to... - (func_emit_cwrapperexe_src:lt_debugprintf): this. Only print - messages if lt_debug != 0. Ensure appearance of messages - conforms to GCS. - (func_emit_cwrapperexe_src:lt_fatal): Ditto. - (func_emit_cwrapperexe_src:lt_error_core): Ditto. - (func_emit_cwrapperexe_src): Update all callers to lt_fatal. - Update all users of LTWRAPPER_DEBUGPRINTF (()) to call - lt_debugprintf () directly. - (func_emit_cwrapperexe_src:main): Consolidate option parsing. - Ensure first use of lt_debugprintf occurs after option parsing. - Add stanza to parse for --lt-debug and set lt_debug variable. - Use strcmp rather than strncmp, where safe. - * tests/cwrapper.at: Add new tests for --lt-debug and - -DLT_DEBUGWRAPPER. - -2010-01-31 Ralf Wildenhues - - Use --email with gendocs.sh. - * Makefile.maint (web-manual): Pass bug reporting address to - gendocs.sh. - - Make testsuite code C++ clean again. - * tests/resident.at (resident modules): Fix for C++. - -2010-01-29 Peter Rosin - Ralf Wildenhues - - Testsuite exposure for dlloader API. - * tests/dlloader-api.at: New file, new test. - * Makefile.am (TESTSUITE_AT): Update. - -2010-01-29 Peter Rosin - - * tests/loadlibrary.at: Fix C++ issues. - -2010-01-20 Peter Rosin - - Report proper errors from the loadlibrary loader. - * libltdl/loaders/loadlibrary.c (loadlibraryerror): New - helper function that returns the latest Windows error as a - string, or the provided default string on failure to do so. - (LOADLIB_SETERROR): New macro that wraps previous to make it - easy to use. - (vm_open, vm_close, vm_sym): Make use of previous. - (LOCALFREE): New macro to help free the Windows error string. - (vl_exit): Make use of previous. - * tests/loadlibarry.at: New file, new test that makes sure - the loadlibrary loader reports non-standard error messages. - * Makefile.am (TESTSUITE_AT): Add above test. - -2010-01-02 Peter Rosin - - Use GetErrorMode if it is available. - * libltdl/loaders/loadlibrary.c (wrap_geterrormode): New - function that checks if GetErrorMode is supported by the - system and makes use of it if it is. - (fallback_geterrormode): New function that is used otherwise - that implements the old workaround. - (geterrormode): New function pointer that points at either - of the above or directly at GetErrorMode. - (vm_open): Make use of the above. - -2010-01-11 Ralf Wildenhues - - Ensure functions from resident modules work in atexit handlers. - * tests/resident.at (resident modules): New file, new test. - * Makefile.am (TESTSUITE_AT): Adjust. - Report by Bob Friesenhahn. - - Testsuite exposure for relative output file names and deplibs. - * tests/deplib-in-subdir.at (deplib in subdir): New file, new - test. - * Makefile.am (TESTSUITE_AT): Update. - Prompted by report from Bob Friesenhahn. - -2010-01-11 Ralf Wildenhues - Bob Friesenhahn - - Testsuite exposure for C++ exception handling. - * tests/exceptions.at (C++ exception handling): New file, new - test. - * Makefile.am (TESTSUITE_AT): Update. - Report by Bob Friesenhahn. - -2010-01-06 Ralf Wildenhues - - Bump copyright years. - * ChangeLog.2009: New, rotated from ... - * ChangeLog: ... here. - * Makefile.am (EXTRA_DIST): Add ChangeLog.2009. - * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. - * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. - * libtoolize.m4sh: Likewise. - -2009-12-30 Peter Rosin - - * libltdl/ltdl.c (lt_dlerror): Remove meaningless conditional. - -2009-12-29 Peter Rosin - - * libltdl/ltdl.c (file_not_found): Fix typos in code comment. - -2009-12-12 Ralf Wildenhues - - Replace last __oline__ instance. - * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Replace last - __oline__ instance with $LINENO. - -2009-12-09 Ralf Wildenhues - - Improve parsing of .la files in libltdl. - * libltdl/ltdl.c (trim): Do not dump core upon missing quote in - module .la file. - * tests/lalib-syntax.at (syntax of .la files): New file, new - test. - * Makefile.am (TESTSUITE_AT): Add tests/lalib-syntax.at. - Report by Bob Friesenhahn. - -2009-12-05 Ralf Wildenhues - - Sane fallback initialization of $ECHO from $as_echo. - * libltdl/config/general.m4sh: Use 'printf %s\n' if $as_echo is - unset. - * tests/testsuite.at: Likewise. - * THANKS: Update. - Report by Vadim Zeitlin and Peter Rosin. - -2009-12-02 Ralf Wildenhues - - lt_dlloader_remove and lt_dlloader_find accept const arguments. - * libltdl/lt_dlloader.c (lt_dlloader_remove, lt_dlloader_find): - Accept `const char *' arguments, as documented. Cast them to - `void *' for the slist machinery. - * libltdl/libltdl/lt_dlloader.h: Adjust prototypes. - - Test and fix slist.c. - * libltdl/libltdl/slist.h: Include stddef.h, for size_t. - (slist_remove): Return pointer to SList, not void. - * libltdl/slist.c: Include stdlib.h, for malloc and free. - (slist_remove): Adjust prototype as above. - (slist_sort): Do not loop forever on one-item list. - * tests/slist.at (SList functionality): New file, new test. - * Makefile.am (TESTSUITE_AT): Add tests/slist.at. - -2009-11-30 Peter Rosin - - Please C++ compilers when calling strrchr. - * libltdl/ltdl.c (has_library_ext): Match the return type of - strrchr with the first argument to please C++ compilers. - Report by Peter O'Gorman. - -2009-11-29 Ralf Wildenhues - - Fix bindir and dlopen tests for C++ compilers (CC=g++). - * tests/bindir.at (bindir basic lib test, bindir install tests): - Include stdlib.h rather than declaring abort. - * tests/lt_dlopenext.at (lt_dlopenext error messages): Use - `extern "C"' annotation for dlsym'ed function in C++ mode. - -2009-11-25 Peter Rosin - - Fix cross build issue in execute mode test. - * tests/execute-mode.at: Skip test for cross builds. - -2009-11-24 Ralf Wildenhues - - Enable symbol versioning with the GNU gold linker. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Accept 'GNU gold' - in the version string. - * NEWS, THANKS: Update. - Report by Peter Fritzsche. - - Tighten regex for Portland C++ compiler for version 10. - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [linux]: - Match a dot after version 1 through 5, so 10 and up don't match, - and use weak symbols. - * THANKS: Update. - Report by Jeff Squyres and Brent Leback. - -2009-11-16 Peter O'Gorman - - Update libltdl version to match 2.2.6b release. - * libltdl/Makefile.inc: Make version 9:1:2 - -2009-11-14 Bob Friesenhahn - - Don't load module.la from current directory by default. - * libltdl/ltdl.c (try_dlopen): Do not attempt to load an - unqualified module.la file from the current directory (by - default) since doing so is insecure and is not compliant with - the documentation. - * tests/testsuite.at: Qualify access to module.la file in - current directory so that test passes. - -2009-11-14 Peter O'Gorman - - Only use preopen loader to load preopened archives - * libltdl/ltdl.c: Limit checking of .a to preopen loader. - * tests/lt_dlopen_a.at: Add test. - * Makefile.am: Add test. - -2009-11-14 Ralf Wildenhues - - Recognize `pgfortran' as Portland compiler. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS): - Accept `pgfortran*' too. - Report by Jeff Squyres. - -2009-11-04 Alexandre Oliva - Ralf Wildenhues - - Fix verbose link extraction for multiply reconfigured GCC. - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) - : Drop GCC lines "Configured with" that - may contain unrelated flags. - -2009-11-02 Eric Blake - - Allow gcc builds with -Wall -Werror. - * libltdl/ltdl.c (try_dlopen): Use strlen rather than LT_STRLEN on - an array that will never be NULL. - -2009-11-01 Ralf Wildenhues - - Fix func_normal_abspath sed script for Solaris. - * libltdl/config/general.m4sh (pathcar, pathcdr, removedotparts) - (collapseslashes, finalslash): Use single quotes, for clarity. - (removedotparts): Avoid \{N,M\} after subexpression \(...\), for - Solaris /bin/sed. - - Improve versioning algorithm documentation. - * doc/libtool.texi (Updating version info): Repeat the - algorithms in different, hopefully simpler terms. - * THANKS: Update. - Prompted by Richard B. Kreckel. - -2009-11-01 Ingo Weinhold (tiny change) - - Support for the Haiku operating system. - * libltdl/config/ltmain.m4sh (func_mode_link): Add cases for - `*-*-haiku*' alongside `*-*-beos*'. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_CHECK_MAGIC_METHOD, LT_LIB_M, _LT_COMPILER_PIC) - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Add cases for - `haiku*'. - * NEWS, THANKS: Update. - -2009-11-01 Ralf Wildenhues - - Fix quoting of AS, DLLTOOL, and OBJDUMP for the libtool script. - * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Quote values of - $AS, $DLLTOOL, and $OBJDUMP, so they can contain arguments. - * THANKS: Update. - Report by Matthijs Kooijman. - -2009-09-18 Ralf Wildenhues - - Initial support for the Cuda Compiler Driver on Linux. - * libltdl/config/ltmain.m4sh (func_mode_compile): Accept source - file extensions `.cu' and `.cup'. - * libltdl/m4/libtool.m4 (_LT_COMPILER_NO_RTTI, _LT_COMPILER_PIC) - (_LT_LINKER_SHLIBS): Support for `nvcc' compiler driver. - * NEWS, THANKS: Update. - Report by Mahesh Narayanamurthi. - -2009-09-12 Dave Korn - - Control where win32 DLLs get installed. - * libltdl/config/general.m4sh (func_normal_abspath): New function. - (func_relative_path): Likewise. - * libltdl/config/ltmain.m4sh (func_mode_help): Document "-bindir". - (func_mode_link): Accept new "-bindir" option and use it, if - supplied, to place Windows DLLs. - * tests/bindir.at: New file for install tests using "-bindir". - * Makefile.am (TESTSUITE_AT): Add bindir.at. - * doc/libtool.texi (Link Mode): Update documentation. - * NEWS, THANKS: Update. - -2009-09-11 Akim Demaille - - libtool: clean libconftest.a. - * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Here. - -2009-09-10 Peter Rosin - - func_win32_libid doesn't work with MS dumpbin - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): The $NM - interface is assumed to be BSD nm in func_win32_libid, so - check for that before using it. - -2009-09-07 Ralf Wildenhues - - Allow dlopen self test to work with gcc's -fvisibility=hidden. - * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Declare default - visibility for the symbol we are going to test dlopen (NULL) - when a GCC version is used that understands the visibility - attribute, under the assumption that if -fvisibility=hidden - will be used, the user code will be sufficiently annotated - for visibility of needed symbols from the main executable. - * THANKS: Update. - Report by Josh Hursey against OpenMPI. - - Fix and split recent testsuite addition for compile/link flags. - * tests/flags.at (passing flags through libtool): Split into ... - (passing CC flags through libtool) - (passing CXX flags through libtool) - (passing F77 flags through libtool) - (passing FC flags through libtool) - (passing GCJ flags through libtool): ... these five tests, - factorized with m4_foreach. Fix F77 and FC compile and link - commands; add GCJ tag. Use LT_AT_TAG to correctly skip tags - for which no compiler exists. Use $EXEEXT where appropriate. - Drop unneeded use of reload_cmds. - Reports by Peter Rosin and Peter O'Gorman. - -2009-09-07 Peter O'Gorman - - Testsuite keyword 'interactive' and check-* rules. - * Makefile.am (testsuite_deps, testsuite_deps_uninstalled): - New variables. - (check-local, installcheck-local): Use them. - (check-interactive, check-noninteractive): New rules. - * tests/link-order2.at (Link order of deplibs), - tests/static.at (static linking flags for programs): Add keyword - `interactive'. - * doc/libtool.texi (Test descriptions): Document all keywords - used in the Libtool test suite. - * NEWS: Update. - - Fix failure test in the presence of --with-pic or -prefer-pic. - * tests/fail.at (Failure tests): Run non-PIC failure test only - if pic_mode is 'default' or 'no', rather than 'default' or 'yes' - and also -prefer-pic has not been passed in $CFLAGS. - * THANKS: Update. - Report by Donn Washburn. - - Add testsuite exposure for passing of compiler and linker flags. - * tests/flags.at (passing flags through libtool): New file, new - test, for bug fixed in previous commit. - * Makefile.am (TESTSUITE_AT): Add tests/flags.at. - -2009-09-04 Peter Rosin - - Make -Wc,FLAG behave like -Xcompiler FLAG in link mode. - * libltdl/config/ltmain.m4sh (func_mode_link): Remove "-Wc," - instead of replacing it with "$wl" when linking programs - through the compiler driver, just as is the case when linking - libraries. - * NEWS: Update. - -2009-08-23 Lennart Poettering (tiny change) - - Shut up prototype warnings with recent GCC and -Wstrict-prototypes. - * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Use recent - GCC's diagnostic pragma to override a -Wstrict-prototypes - setting for the symbol list code. - * THANKS: Update. - -2009-08-23 Ralf Wildenhues - - Remove __oline__ from macros, for less spurious configure diffs. - * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION) - (_LT_COMPILER_C_O, LT_PATH_NM): Replace __oline__ instances with - $LINENO. - * NEWS: Update. - -2009-07-24 Roumen Petrov (tiny change) - - Fixup 'execute mode' test for w32. - * tests/execute-mode.at (execute mode): Add missing $EXEEXT. - (LDFLAGS): Add -no-undefined. - -2009-07-01 Yaakov Selkowitz (tiny change) - Charles Wilson - - [CXX] Use correct export_dynamic_flag_spec for PE-COFF $hosts - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [cygwin*|mingw*|pw32*|cegcc*]: - Define export_dynamic_flag_spec as -Wl,--export-all-symbols here as well - (see commit 5f2bbb494a2753afb2878c399cfd8316b7403a5b). - -2009-06-29 Charles Wilson - - [mingw] Improve sys_lib_search_path_spec detection. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix handling - of dos-style paths when parsing $CC -print-search-dirs output. - -2009-06-28 Charles Wilson - - Finish adding alias for obsoleted AC_LIBTOOL_RC macro. - * libltdl/m4/libtool.m4: Add reminder comment concerning - aclocal-1.4 backwards compatibility. - * libltdl/m4/lt~obsolete.m4: Remove unnecessary AC_DEFUN. - -2009-06-27 Charles Wilson - - Add alias for obsoleted AC_LIBTOOL_RC macro. - * libltdl/m4/libtool.m4: Add alias for obsoleted - macro AC_LIBTOOL_RC. - -2009-06-21 Charles Wilson - - Remove unneeded functions and options from cwrapper - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) - [lt_opt_process_env_set]: Remove. - [lt_opt_process_env_prepend]: Remove. - [lt_opt_process_env_append]: Remove. - [lt_split_name_value]: Remove. - [file scope]: Don't declare removed functions. Remove - constants and defines related to eliminated commandline - options. - [main]: Remove code related to eliminated commandline - options --lt-env-set, --lt-env-prepend, --lt-env-append. - -2009-06-19 Yaakov Selkowitz (tiny change) - Charles Wilson - - Ensure LT_PATH_LD works when called before LT_INIT - * libltdl/m4/libtool.m4 (LT_PATH_LD): AC_REQUIRE _LT_PROG_ECHO_BACKSLASH. - -2009-06-14 Ralf Wildenhues - - Add versioning tests. - * tests/versioning.at (versioning): New file, new test. - * Makefile.am (TESTSUITE_AT): Adjust. - Prompted by bug report from Mike Gorchak. - -2009-06-14 Mike Gorchak (tiny change) - Ralf Wildenhues - - Fix versioning computation for QNX. - * libltdl/config/ltmain.m4sh (func_mode_link): Set `$current' - and `$age' properly for version_type `qnx'. - -2009-06-14 Ralf Wildenhues - - Avoid spurious localization testsuite failure on HP-UX/ia64. - * tests/localization.at (localized compiler messages): Skip test - if the compiler warning output contains `locale', for HP-UX. - -2009-06-10 Ralf Wildenhues - - Fix concurrent extraction of convenience libraries on Darwin. - * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): New libtool - variable `lock_old_archive_extraction', set to `yes' on darwin. - * doc/libtool.texi (libtool script contents): Document it. - * libltdl/config/ltmain.m4sh (func_extract_an_archive): Lock - `ar x' invocation if `lock_old_archive_extraction' is yes. - * tests/darwin.at (darwin concurrent library extraction): New - test. - * NEWS: Update. - Report by Akim Demaille. - -2009-06-07 Ralf Wildenhues - - Fix testsuite failure of lt_dlopenadvise test on FreeMiNT. - * tests/lt_dladvise.at (lt_dlopenadvise library loading): Do not - build moddepend for systems without shared libraries. - Report by Alan Hourihane. - - testsuite: avoid failures due to old Automake. - * tests/configure-iface.at (installable libltdl) - (--with-ltdl-include/lib, --with-included-ltdl): - Speficy libmodule_la_SOURCES in Makefile.am as the default - source file naming scheme changed in Automake 1.8. - * tests/nonrecursive.at (_LT_AT_LTDL_SETUP): Require Automake - 1.9.6. - * THANKS: Update. - Report by Robert Garron. - - testsuite: add missing @LIBS@ in a link command line. - * tests/old-m4-iface.at (AC_WITH_LTDL): Use @LIBS@ when linking. - Report by Patrice Fromy. - - testsuite: cope when some installed libltdl.la has been removed. - * tests/old-m4-iface.at (AC_WITH_LTDL): Pass --with-included-ltdl - to configure, to ensure we do not accidentally link against a - previously installed libltdl.so where the corresponding .la - file has been removed, thus we do not add a run path, and the - runtime linker then fails to find libltdl.so.7. - * tests/configure-iface.at (--with-ltdl-include/lib): Remove -L - flags from LDFLAGS to avoid picking up an installed libltdl - outside of the default locations. - * THANKS: Update. - Prompted by report from Patrice Fromy. - -2009-06-07 Vincent Torri (tiny change) - - Fix C wrapper invocation for ceGCC hosts (cegcc and mingw32ce). - * libltdl/config/ltmain.m4sh (func_mode_link): do not generate - C wrapper for cegcc and mingw32ce hosts. - (func_emit_cwrapperexe_src): remove useless check on - __MINGW32CE__. - -2009-06-07 Ralf Wildenhues - - Don't pick up double-quotes from /etc/ld.so.conf on Ubuntu. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] - : Remove embedded double quotes from - paths picked up from /etc/ld.so.conf. Fixes libltdl compile - failure on Ubuntu 7.10. - * THANKS: Update. - Report by Camilo La Rota. - -2009-06-06 Richard Sandiford - - Fix GNU nm invocation for AIX. - * libldtl/m4/libtool.m4 (_LT_LINKER_SHLIBS) - : Modify the GNU-nm-on-AIX version so that - it adds weak defined symbols to the export list. - - Build AIX shared libraries with binutils 2.19.50+. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - : New variable to control whether the - GNU ld or native ld interface is used. Set to "no" for GNU ld - 2.19.50+ on AIX, otherwise mirror $with_gnu_ld. Update the - warning message that is printed when using GNU ld on AIX. - Adjust the whole_archive_flag_spec value for GNU ld on AIX. - * NEWS, THANKS: Update. - -2009-05-27 Peter O'Gorman - - Don't run compiler checks twice. - libltdl/m4/libtool.m4 (_LT_PROG_FC, _LT_PROG_F77, - _LT_PROG_CXX): Remove these macros. - libltdl/m4/lt~obsolete.m4: Add removed macros here. - libltdl/m4/libtool.m4 (_LT_LANG_FC_CONFIG, _LT_LANG_F77_CONFIG, - _LT_LANG_CXX_CONFIG): Remove references to removed macros, and - move functionality here. - NEWS: Update. - -2009-05-05 Rainer Emrich (tiny change) - Peter Rosin - Ralf Wildenhues - - Fix cross compilation for HPPA/64 with a BSD file command. - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) - [hpux10.20*, hpux11*, !ia64] : - Match the dot in `PA-RISC 2.0' literally. Adjust hppa*64* - pattern to also match BSD `file' output, used in cross - compilation setups. - * THANKS: Update. - Report and initial patch by Rainer Emrich, refined by Peter - Rosin. - -2009-05-05 Ralf Wildenhues - - libtoolize: ignore trailing junk on scriptversion line. - * libtoolize.m4sh (func_install_update): Ignore semi-colon or - comment-sign and all following characters when parsing a - `scriptversion' line in one of the auxiliary scripts; recent - Automake-provided script have a stylized comment to induce - Emacs to use UTC. - Exposed by the `libtoolize config files serial update' test. - -2009-05-02 Ralf Wildenhues - - Skip localization test when setlocale is not functional. - * tests/localization.at (localized compiler messages): Skip - test when there is a warning about `LC_ALL'. - * THANKS: Update. - Report by Maciej Helminiak. - -2009-05-02 Alan Hourihane (tiny change) - - Improved support for FreeMiNT. - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [mint]: Hard-code - command line length limit to 8192, to avoid long test. - * NEWS, THANKS: Update. - -2009-05-02 Ralf Wildenhues - - Initial port for BlueGene BG/L. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) [linux]: Detect bgxl*, bgf*, mpixl* - compilers. - * NEWS, THANKS: Update. - Report, feedback and testing by John R. Cary and Christian - Rössel. - - manual: fix grammaros. - * doc/libtool.texi (Dlpreopening): Fix grammaro. - (C header files): Remove duplicate word. - - Allow through -tp=* at link time, for pgcc. - * libltdl/config/ltmain.m4sh (func_mode_link): Portlant Group - pgcc uses `-tp=PROCESSOR' for target processor selection; allow - the flag through at link time. - Report by Ethan Mallove. - - Fix quoting of eval'ed variable. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Double-quote - $lt_cv_sys_global_symbol_pipe for eval, like we do in ltmain, - in order to preserve TABs and multiple adjacent whitespace. - Report by Bruno Haible. - -2009-04-22 Ralf Wildenhues - - Cope better with missing `makeinfo' in `bootstrap'. - * bootstrap: Update `./doc/notes.txt' last so missing `makeinfo' - does not cause a broken tree. - * THANKS: Update. - Report by Christian Rössel. - -2009-03-29 Yaakov Selkowitz (tiny change) - Charles Wilson - - [cygwin] Improve operation with gcc4 - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [cygwin*]: - Add w32api to sys_lib_search_path_spec without overriding gcc's - own search path. - -2009-03-29 Yaakov Selkowitz (tiny change) - Charles Wilson - - Use correct export_dynamic_flag_spec for PE-COFF $hosts - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) - [cygwin*|mingw*|pw32*|cegcc*]: Define export_dynamic_flag_spec - as -Wl,--export-all-symbols, as required by GNU ld for PE-COFF. - -2009-03-29 Charles Wilson - - Improve compatibility with older automake - * libltdl/m4/lt~obsolete.m4: Add AC_DEFUNs for - _LT_PREPARE_SED_QUOTE_VARS and _LT_PROG_ECHO_BACKSLASH. - Report by Yaakov Selkowitz. - -2009-03-20 Peter Rosin - - LT_OUTPUT should always create the libtool script. - * libltdl/m4/libtool.m4 (LT_OUTPUT): Make LT_OUTPUT ignore the - --no-create configure option, and assume that the user wants - to use an up-to-date libtool script if the LT_OUTPUT macro is - present. - * tests/early-libtool.at: Make sure we do not regress. - -2009-01-26 Peter Rosin - - Don't settle for any dumpbin/link program as name lister. - * libltdl/m4/libtool.m4 (LT_PATH_NM): When locating dumpbin or - link -dump, check if they appear to really be capable of name - listing, in order to eliminate e.g. link from coreutils. This - makes the name lister decision fall back on nm as the default if - no acceptable candidate is found, which mainly happens on - (arguably broken) cross compiles. - * NEWS: Update - * THANKS: Update - Reports by Rudolf Leitgeb and Peter Kjellerstedt. - -2009-03-03 Ralf Wildenhues - - Document INNER_TESTSUITEFLAGS, drop leading space. - * README: Document INNER_TESTSUITEFLAGS. - * tests/cmdline_wrap.at (Run tests with low max_cmd_len): - When using INNER_TESTSUITEFLAGS on the testsuite invocation, - drop leading space after "-k libtool", so that the user may - further limit the set of tests to be run. - -2009-03-02 Ralf Wildenhues - - Fix low max_cmd_len template test on UnixWare. - * libltdl/config/ltmain.m4sh (func_mode_link): When expanding - $reload_cmds, always put objects in $reload_objs rather than - adding them to the command line, to allow more general command - lines in reload_cmds. Ensure $reload_objs contains a leading - space. - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*, - sco3.2v5*, sco5v6*] : For CC, invoke prelinker - before creating reloadable object. - (_LT_CMD_RELOAD) : Declare as - _LT_TAGDECL, not _LC_DECL. - (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) - (_LT_LANG_GCJ_CONFIG) : Initialize - from default (C tag) value. - * THANKS: Update. - Report and analysis by Tim Rice and John Wolfe. - -2009-02-28 Ralf Wildenhues - - * doc/libtool.texi (Distributing libltdl, Test descriptions): - Add missing parentheses. - -2009-02-28 Tim Rice - - Fix C++ template handling for old archives on UnixWare 7.1.4. - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*, - sco3.2v5*, sco5v6*] : For CC, add template - prelink step before archiving. Fixes template.at test failures. - -2009-02-28 Török Edwin (tiny change) - Ralf Wildenhues - - Do not add bogus directory arguments to link command lines. - * libltdl/config/ltmain.m4sh (func_mode_link): Ensure $path is - always initialized before it is used. Reported for zsh, for - which $path contains $PATH entries even after "emulate sh", see - . - -2009-02-28 Andreas Schwab - Ralf Wildenhues - - Remove remaining references to CVS. - * bootstrap: Remove references to CVS. - * README.alpha: Likewise. - * clcommit.m4sh: Likewise. - * doc/libtool.texi: Bump copyright years. - (libtool script contents): Describe macro_revision as revision - without reference to CVS. - -2009-02-16 Ralf Wildenhues - - Do not pass $INSTALL via TESTS_ENVIRONMENT. - * Makefile.am (TESTS_ENVIRONMENT): Set lt_INSTALL, not INSTALL, - so that a bogus relative path to the install-sh script in the - source tree is not propagated to the configure scripts of the - old test suite. - * tests/testsuite.at: Adjust. - * tests/install.at (Install tests): Likewise. - -2009-02-03 Ralf Wildenhues - Kurt Roeckx - - New test for lt_dlopenext error message. - * tests/lt_dlopenext.at (lt_dlopenext error messages): New file, - with new test, with sources taken from the Autobook example. - * Makefile.am: Update. - -2009-02-03 Kurt Roeckx - - lt_dlopenext sets error upon successful library load. - * libltdl/ltdl.c (lt_dlopenadvise): Fix bogus error on - successful loading of library with lt_dlopenext. - Report by Kaiwang Chen in . - -2009-02-01 Ralf Wildenhues - - Fix sed script in install.at. - * tests/install.at (Install tests): Fix typo in sed script, - fixes test failure on HP-UX. - - Fix $INSTALL in testsuite with relative path to install-sh. - * tests/testsuite.at: If `$INSTALL' points to in-tree - install-sh, override a possibly-relative path to it with an - absolute one. - - install mode: do not pass `-m $install_override_mode' to cp. - * libltdl/config/ltmain.m4sh (func_mode_install): New variable - $install_cp, factor test when `cp' is used for installation. - Do not pass mode override to cp. Fixes `libtool --mode=install - cp ...' on HP-UX; cp should not be used for libraries that might - be needed by programs invoked during the installation process. - - Fix sed script portability issue in func_version. - * libltdl/config/getopt.m4sh (func_version): Remove space in - `/\./! {' sed command, to please HP-UX sed. - -2009-01-31 Jeff Squyres - Ralf Wildenhues - - New test for bogus lt_dlopen error message. - * tests/lt_dlopen.at (lt_dlopen error messages): New file, new - test, marked as XFAIL for now. - * Makefile.am: Adjust. - Report and reproducible test case by Jeff Squyres. - -2009-01-31 Ralf Wildenhues - - execute mode: do not transform *.lo or *.la arguments. - * libltdl/config/ltmain.m4sh (func_mode_execute): Do not check - arguments matching *.lo or *.la for script wrappers. - * tests/execute-mode.at (execute mode): Add tests. - * NEWS, THANKS: Update. - Report by Paul Biggar. - - Nonexistent `main' does not guarantee link failure. - * tests/fail.at (Failure tests): Use an unresolved symbol, - rather than non-presence of `main', to provoke a link failure - also on QNX. Only check for failure of the libtool script if - the link without libtool would have failed, too. - Report by Mike Gorchak. - - Use AT_CHECK more liberally in duplicate members test. - * tests/duplicate_members.at (duplicate members in archive - tests): Wrap link commands in AT_CHECK, they might fail, as seen - on QNX. - * THANKS: Update. - Report by Mike Gorchak. - -2009-01-30 Akim Demaille - - Fix cwrapper warnings from MSVC 2005. - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) - [file scope]: define _CRT_SECURE_NO_DEPRECATE. - -2009-01-29 Akim Demaille - - Fix bootstrap with older libtool.m4 in reach of aclocal. - * libltdl/m4/lt~obsolete.m4: Add stub definitions for - _LT_REQUIRED_DARWIN_CHECKS and _LT_AC_PROG_CXXCPP. - - Fix func_exec_init. - * tests/defs.m4sh (func_exec_init): Instead of using the undefined - my_dir, call func_dirname_and_basename and use its result. - (func_make): For consistency, don't use the useless local variable - my_dir. - -2009-01-29 Ralf Wildenhues - - Document --mode short-hands better, and test them. - * doc/libtool.texi (Invoking libtool): Give examples for using - the `--mode=MODE' short-hand `MODE', or abbreviations thereof. - * libltdl/config/ltmain.m4sh: Mention the short-hand for MODE - in the --help output. - * tests/help.at (mode short-hands): New test group. - Suggestion by Bruno Haible. - - func_version copes with multi-line copyright headers. - * libltdl/config/getopt.m4sh (func_version): Slurp in copyright - lines until a period is found. - * libltdl/config/ltmain.m4sh: Multi-line copyright is ok to use - now. - * tests/help.at (standard command line options): New file, new - tests. Make this test group the first one for libtool tests, - moving the banner ... - * tests/duplicate_members.at: ... from here. - * Makefile.am (TESTSUITE_AT): Add tests/help.at. - -2009-01-29 Akim Demaille - Ralf Wildenhues - - Normalize compiler output due to compiler wrappers. - * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): New - macro, to normalize ccache and distcc output. - * tests/localization.at (localized compiler messages): Use it. - -2009-01-29 Peter Rosin - - Make modified libtool script in cwrapper test executable - * tests/cwrapper.at: Make modified libtool script executable. - Report by Roumen Petrov. - -2009-01-28 Akim Demaille - - Clean space uses. - * libtoolize.m4sh: Remove trailing spaces. - Use , as some editors remove "useless" spaces in - . - -2009-01-26 Peter Rosin - - AWK is required, make sure it is set. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS: Make sure - AWK is set (automake brings it in, but is not always used). - Fixes old-m4-iface.at on MSYS/MSVC. - -2009-01-25 Mike Frysinger - - Fix typo in libtool install mode documentation. - * libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix - to -inst-prefix-dir. - * doc/libtool.texi (Install mode): Likewise. - -2009-01-24 Charles Wilson - - Add -Wall to cwrapper tests. - * tests/cwrapper.at: Add -Wall existing tests. Add additional - round of tests with -Wall alone. - -2009-01-24 Charles Wilson - - [cygwin|mingw] cwrapper cleanups. - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) - [file scope]: re-organized includes and portability - macros. Avoid oldnames on MINGW32 and MSVC for - setmode/stat/chmod/getcwd/putenv. Declare _putenv on - MINGW32 when -ansi. Use namespaced macro LT_DEBUGWRAPPER. - -2009-01-24 Peter Rosin - - Expand exit status test in LT_AT_NOINST_EXEC_CHECK correctly - * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): STATUS is - argument $3, not $2. - -2009-01-23 Charles Wilson - - Add tests for cwrapper with -std=c89 and -std=c99 - * tests/cwrapper.at: New file. - * Makefile.am: Add tests/cwrapper.at. - -2009-01-22 Peter Rosin - - Unify line endings in localization test. - * tests/testsuite.at: Update copyright year. - (LT_AT_UNIFY_NL): Add macro that unifies line endings on - platforms that suffer from such confusion. - * tests/localization.at: Use it. Update copyright year. Fixes - the test on MSYS/MSVC. - -2009-01-21 Charles Wilson - - [cygwin|mingw] Fix compile warnings when -std=c89. - * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1): - move contents to... - (func_emit_wrapper_part2): move contents to... - (func_emit_wrapper): here. - (func_emit_cwrapperexe_src) [file scope]: Remove - variables script_text_part1 and script_text_part2. - (func_emit_cwrapperexe_src) [lt_dump_script]: New function. - (func_emit_cwrapperexe_src) [main]: Call it. - -2009-01-21 Charles Wilson - - Minor cygwin cleanup - * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Correct - case pattern for cygwin. - -2009-01-19 Ralf Wildenhues - - Avoid failure due to Cygwin path detection bug. - * tests/execute-mode.at (execute mode): Ignore noise on stderr; - Cygwin might consider `d\"e' to be a DOS-style path and warn. - Report by Charles Wilson. - -2009-01-19 Robert Millan - - Support GNU/kOpenSolaris. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) [kopensolaris*-gnu]: Recognize - GNU/kOpenSolaris. - * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. - * NEWS, THANKS: Update. - -2009-01-19 Ralf Wildenhues - - Another LT_AT_EXEC_CHECK fixup. - * tests/shlibpath.at (shlibpath_overrides_runpath): Use - LT_AT_EXEC_CHECK instead of AT_CHECK. - -2009-01-19 Roumen Petrov (tiny change) - - Add missing $EXEEXT to java test. - * tests/convenience.at (Java convenience archives): Add $EXEEXT. - -2009-01-19 Ralf Wildenhues - - Bump copyright years. - * ChangeLog.2008: New, rotated from ... - * ChangeLog: ... here. - * Makefile.am (EXTRA_DIST): Add ChangeLog.2008. - * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. - * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. - * libtoolize.m4sh: Likewise. - -2009-01-14 Peter Rosin - - Fix flakey mdemo-dryrun test on MSYS (again!) - * tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year, - not time, for really fresh files. Add sleep 1 call at yet another - strategic position. Makes the test pass reliably for MSYS/MinGW. - -2008-12-19 Akim Demaille - - Fix copyright notice. - * libltdl/config/ltmain.m4sh: Add missing comma. - -2008-12-17 Ralf Wildenhues - - Add cache variables to link tests. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_LINKER_SHLIBS): Add cache variables to tests that - require the linker to work. For shlibpath_overrides_runpath, - this also changes the semantics to let the result from the C - compiler take precedence. - * tests/no-executables.at (AC_NO_EXECUTABLES): New file. - * Makefile.am: Update. - * NEWS: Update. - Report of shlibpath_overrides_runpath issue by Mike Frysinger, - report of GCC issue by Andreas Schwab. - -2008-11-28 Paolo Bonzini - - Fix inadvertent commit. - * bootstrap: Revert. - -2008-11-28 Paolo Bonzini - - Fix manual typo. - * doc/libtool.texi (LT_INIT): Use correct config.status - invocation. Reported by Akim Demaille. - -2008-11-28 Paolo Bonzini - - Do not use $ECHO within eval-ed `...`, as %s\\n becomes %s\n. - * HACKING: Document func_echo_all. - * libltdl/m4/libtool.m4: Use it within backticks that appear in - eval-ed variables. Reported by Akim Demaille. - -2008-11-24 Ralf Wildenhues - - Fix func_infer_tag $ECHO usage; some testsuite exposure. - * libltdl/config/ltmain.m4sh (func_infer_tag): Use func_echo_all - rather than $ECHO for possibly multiple arguments. - * tests/infer-tag.at (inferred tag, CXX inferred tag) - (F77 inferred tag, FC inferred tag, GCJ inferred tag): New file, - new tests. - * Makefile.am: Adjust. - - * tests/runpath-in-lalib.at (Runpath in libtool library files): - Add $EXEEXT overlooked in patch yesterday. - -2008-11-23 Ralf Wildenhues - - Fix expout and experr line ending issues. - * tests/testsuite.at (LT_AT_HOST_DATA): Renamed from.. - (_LT_AT_TRANSLATE_TEXT_OUTPUT): ..this. - (LT_AT_EXEC_CHECK, LT_AT_NOINST_EXEC_CHECK): Do not use - _LT_AT_TRANSLATE_TEXT_OUTPUT any more. - * tests/configure-iface.at: Use LT_AT_HOST_DATA instead of - AT_DATA for `expout' files. - * tests/lt_dladvise.at (lt_dlopenadvise library loading): - Likewise. - * tests/need_lib_prefix.at (enforced lib prefix): Likewise. - Report by Roumen Petrov. - - Relax link-order2 test for systems with partial wrong order. - * tests/link-order2.at (Link order of deplibs.): On w32 (and - others, e.g., AIX), the wrongly linked executable picks up only - one instance of the bad function instead of two; relax the test - to accept this; we still require the right link order with the - correctly linked executable. - Reported by Roumen Petrov and others. - -2008-11-23 Roumen Petrov - Ralf Wildenhues - - Add $EXEEXT to all linked programs in the new testsuite. - * tests/convenience.at, tests/ctor.at, tests/darwin.at, - tests/deplibs-ident.at, tests/duplicate_conv.at, - tests/duplicate_deps.at, tests/duplicate_members.at, - tests/export.at, tests/fail.at, tests/indirect_deps.at, - tests/inherited_flags.at, tests/link-order.at, - tests/link-order2.at, tests/lt_dladvise.at, tests/lt_dlexit.at, - tests/need_lib_prefix.at, tests/runpath-in-lalib.at, - tests/search-path.at, tests/shlibpath.at, tests/static.at, - tests/stresstest.at, tests/template.at, tests/testsuite.at: - Use $EXEEXT throughout, except in Makefile.am snippets where - automake takes care of it, and in testsuite macros that take - care of the extension. - Reports by Roumen Petrov and Alon Bar-Lev. - -2008-11-23 Ralf Wildenhues - - Adjust executable run tests to cwrapper changes. - * tests/testsuite.at (LT_AT_EXEC_CHECK): Accept fifth argument - ARGS-OR-STATUS-ADJUST, for command-line arguments and/or exit - status flattening. Rewrite to prefer the executable with the - `.exe' prefix over one without. Test exit status against - expected exit status, not against zero, when determining whether - this may be a cross-compilation-induced result. - (LT_AT_NOINST_EXEC_CHECK): Likewise. - * tests/static.at (static linking flags for programs): Adjust - calls. - Report by Roumen Petrov. - - No trailing period in Autotest test group names. - * tests/link-order.at (Link order test): Drop trailing period - from test name. - * tests/link-order2.at (Link order of deplibs): Likewise. - -2008-11-23 Vincent Torri (tiny change) - - Fix func_emit_cwrapperexe_src for WinCE: no errno support. - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) - [__MINGW32CE__]: Do not use errno, do not include errno.h and - remove calls related to errno when using the mingw32ce compiler. - -2008-11-23 Ralf Wildenhues - - No libm in WinCE. - * libltdl/m4/libtool.m4 (LT_LIB_M) [cegcc*]: This system has - only a dummy libm, ignore. - Report by Vincent Torri. - - Fix import library detection for WinCE. - * libltdl/config/ltmain.m4sh (func_win32_libid): Work for - pe-arm-wince import libraries. - * NEWS: Update. - Report by Vincent Torri. - -2008-11-23 Ralf Wildenhues - Eric Blake - - Fix $ECHO test to not influence other _AS_DETECT_SUGGESTED code. - * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix test to - not influence further tests registered with _AS_DETECT_SUGGESTED - and do not use a PATH below /tmp, to avoid influence by a third - party. - -2008-11-23 Alon Bar-Lev (tiny change) - - Fix func_win32_libid for 64-bit Windows. - * libltdl/config/ltmain.m4sh (func_win32_libid): Accept file - format 'pe-x86-64'. - * NEWS: Update. - -2008-11-23 Ralf Wildenhues - - Avoid newlines in some AT_CHECK commands. - * tests/standalone.at (linking libltdl without autotools): Wrap - lines with dnl, to avoid turning off tracing of AT_CHECK. - * tests/subproject.at (linking libltdl without autotools): - Likewise. - - Replace uses of $SED $basename. - * libltdl/config/ltmain.m4sh (func_mode_link): Replace instances - of `$ECHO ... | $SED' with calls to func_basename. - * libtoolize.m4sh (func_copy, func_serial) - (func_massage_aclocal_DATA): Likewise, replace with - func_dirname_and_basename. - * tests/defs.m4sh (func_configure_nofail, func_make, func_exec): - Likewise. - - No need to prepend $progname with './'. - * libltdl/config/general.m4sh (func_dirname_and_basename): $ECHO - copes with leading hyphens now, so do not mangle $progname any - more. - - Revenge of the $ECHO. Kill most uses of Xsed. - * libltdl/config/general.m4sh: Replace all uses of `$ECHO "X..." - | $Xsed' with `$ECHO "..." | $SED', and employ further trivial - simplifications. Replace $ECHO with echo where appropriate. - (func_echo_all): New function. - * libltdl/config/getopt.m4sh: Likewise simplifications. - * libltdl/config/ltmain.m4sh: Likewise. - * libltdl/m4/libtool.m4: Likewise. - (LT_CMD_MAX_LEN): Use func_fallback_echo, to ensure that the - command line is passed through an exec* function. - * libtoolize.m4sh: Likewise simplifications. Use func_echo_all - to implement --dry-run. - * tests/defs.m4sh: Likewise simplifications. - * tests/quote.test: Likewise simplifications. - - Fix matching of Sun Fortran compiler on Linux. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: Also - match `Sun Ceres Fortran' compiler; reorder with C compiler - matching. - * THANKS: Update. - Report by Ethan Mallove. - -2008-11-21 Charles Wilson - - Fix --verbose option; add new --no-{silent|quiet|verbose} options. - - * libltdl/config/ltmain.m4sh (usage): Document - new options --no-silent/--no-quiet and --no-verbose. - (func_enable_tag): Handle new options. - Modified --verbose to actually activate opt_verbose. - New behavior: --silent disables both "normal" output and - func_verbose output. --verbose enables both "normal" - output and func_verbose output. --no-silent enables - "normal" output, but does not affect func_verbose output. - --no-verbose disables func_verbose output, but does not - affect "normal" output. - * NEWS: announce new options --no-silent/--no-quiet, and - --no-verbose. - * doc/libtool.texi: document new options --no-silent/--no-quiet - and --no-verbose. - -2008-11-20 Ralf Wildenhues - - Fix match patterns for cegcc*. - * libltdl/config/ltmain.m4sh (func_mode_link): Match '*cegcc*' - instead of '*cegcc' for $host_os. - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Likewise. - * tests/lt_dladvise.at (lt_dlopenadvise library loading): - Likewise. - * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Match - '*-*-cegcc*' for $host. - - Ensure $ac_aux_dir is initialized for LIBTOOL_DEPS. - * libltdl/m4/libtool.m4 (LT_INIT): Require - AC_CONFIG_AUX_DIR_DEFAULT. - * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Amend test to - expose this. - Report, analysis, and test example by Jakub Bogusz. - - Check for bogus aclocal.m4 contents in bootstrap and dist-hook. - * Makefile.am (dist-hook): Bail out if shipped aclocal.m4 files - contain LT_INIT, AC_PROG_LIBTOOL, or AM_PROG_LIBTOOL macro - definitions. These can only come from bogus pull-ins from older - installed Libtool macro files. - * bootstrap: Likewise. - Report by Akim Demaille. - -2008-11-16 Ralf Wildenhues - - Fix $ECHO abuse exposed by recent patch. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Require - _LT_CHECK_SHELL_FEATURES, for $lt_NL2SP. Always quote argument - to $ECHO. - - Skip sys_lib_search_path on systems without libz. - * tests/search-path.at (sys_lib_search_path): Autotest needs at - least one AT_CHECK executed in a test group. So if we haven't - found -lz anywhere, as may happen with cross-compilers, skip the - test. - * THANKS: Update. - Report by Alon Bar-Lev. - - Fix execute mode test to actually expose cwrapper failures. - * tests/execute-mode.at (execute mode): Actually also test the - cwrapper on the arguments. - Report by Bruno Haible. - -2008-11-15 Charles Wilson - - Add func_win32_import_lib_p. - * libltdl/config/ltmain.m4sh (func_win32_import_lib_p): - New function. - -2008-11-12 Ralf Wildenhues - - Fix archive_cmds for older cc on HP-UX 11. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hp-ux11*, !GCC] - [!hppa*64*, !ia64*] : Older releases of the HP-UX - 11.00 C compiler do not support -b yet; use a link test to - decide whether $LD should be used for library creation. - * THANKS: Update. - Report by Daniel Richard G. - -2008-11-12 Paolo Bonzini - - * configure.ac: Bump Autoconf requirement. - * libltdl/config/general.m4sh: Use $as_echo as default $ECHO. - * tests/testsuite.at: Use $as_echo as default $ECHO. - - * libltdl/m4/libtool.m4 (LT_INIT): Add _LT_SHELL_INIT to - work around Autoconf <2.64 bug. - (_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Add func_fallback_echo. - Eliminate lt_ECHO requoting. - (_LT_SHELL_INIT): Use a public M4sh diversion. - (_LT_PROG_ECHO_BACKSLASH): Rewrite. - (LT_CMD_MAX_LEN): Do not use --fallback-echo. - * libltdl/config/ltmain.m4sh: Remove --no-reexec and --fallback-echo - handling. - (func_fallback_echo): New. - (func_emit_wrapper_part1): Quote ECHO. Remove --no-reexec and - --fallback-echo handling. - (Execute mode): Do not set qecho. - -2008-11-12 Ralf Wildenhues - - Use -no-undefined in install tests. - * tests/install.at (Install tests): Use `-no-undefined'. - -2008-11-11 Ralf Wildenhues - - Do not use `test ... -a ...'. - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hpux10, hpux11]: - Replace test -a with test && test. - -2008-11-11 Roumen Petrov (tiny change) - - Fix destdir tests in cross compile mode. - * tests/destdir.at (Simple DESTDIR install) - (DESTDIR with in-package deplibs): Use $EXEEXT throughout. - * THANKS: Update. - -2008-11-11 Ralf Wildenhues - - Simplify cwrapper handling a bit. - * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1) - (func_emit_wrapper_part2, func_to_host_path) - (func_to_host_pathlist, func_emit_wrapper): Simplify using - default argument, func_append. - -2008-11-10 Paolo Bonzini - - Separate part of _LT_SETUP into other macros, detect ECHO sooner. - * libltdl/m4/libtool.m4 (_LT_PREPARE_SED_QUOTE_VARS): New macro, - extracted from... - (_LT_SETUP): ... here. Require _LT_PROG_ECHO_BACKSLASH sooner. - -2008-11-10 Paolo Bonzini - - Fix quoting when config.status generates libtool config. - * libltdl/m4libtool.m4 (_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): - Double quote ECHO-ed variables. - -2008-11-10 Paolo Bonzini - - Use documented M4sh interfaces. - * clcommit.m4sh: Do not unset CDPATH, use AS_INIT and M4sh diversions. - * libltdl/config/mailnotify.m4sh: Likewise. - * libtoolize.m4sh: Likewise. - * tests/defs.m4sh: Likewise. - * tests/testsuite.at: Move AT_INIT invocation at the top. - - * libltdl/m4/libtool.m4 (_LT_INIT_GENERATED): New. - (LT_OUTPUT): Use it. - - * libltdl/config/general.m4sh (M4SH_IN_HEADER): New. - (progpath): Move setting before $0 could be clobbered. - * libltdl/config/ltmain.m4sh (M4SH_IN_HEADER): New. - -2008-11-10 Paolo Bonzini - - Run sh.test on the M4sh source. - * tests/defs.m4sh (scripts): Point to pre-m4 sources. - -2008-11-10 Paolo Bonzini - - Avoid that autom4te complains about unexpanded macros. - * libtoolize.m4sh: Allow occurrences of "dnl" and use quadrigraphs - to protect other m4 macros. - -2008-11-11 Bruno Haible - Ralf Wildenhues - - Fix cwrapper argument mangling on w32. - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): On - mingw, preprocess the argument vector through prepare_spawn. - * tests/execute-mode.at (execute mode): Output args - newline-separated. Extend tests by more argument pairs that - contain special characters, where the w32 cwrapper fails. - Also test a real compiled program, linked against an uninstalled - library, to expose cwrapper issues. - * NEWS: Update. - -2008-11-10 Ralf Wildenhues - - Update to GFDL 1.3. - * doc/fdl.texi: Update to GFDL 1.3. - * doc/libtool.texi: Adjust. - * NEWS: Update. - -2008-11-09 Alexei Sheplyakov (tiny change) - - Fix cross compilation with wine for the case SHELL != bash. - * libltdl/config/ltmain.m4sh (func_to_host_path): Avoid escape - sequence interpretation by 'echo', for w32-style paths. - * THANKS: Update. - -2008-10-28 Michael Haubenwallner (tiny change) - - Fix checks for unsupported allow_undefined_flag. - * tests/tagdemo-undef.test: Match allow_undefined_flag - correctly, for SKIPping. - * tests/cdemo-undef.test: Likewise. - -2008-10-26 Ralf Wildenhues - - * tests/testsuite.at (_LTDL_PROJECT_FILES): Fix dependencies for - parallel make. - - * libtoolize.m4sh (func_nonemptydir_p): Fix typo in error - message. - -2008-10-15 Ralf Wildenhues - - Fix Autoconf 2.59 incompatibilty. - * libltdl/m4/ltdl.m4 (_LTDL_SETUP): m4_pattern_allow - `LT_LIBEXT'; Autoconf 2.59's AC_DEFINE* macros didn't do this - automatically yet. - * NEWS, THANKS: Update. - Report by Marcel Loose. - -2008-10-05 Ralf Wildenhues - - Atomic shared library install permissions on HP-UX. - The HP-UX 11 runtime linker fails to mmap shared libraries - without execute permissions. Fixing them with postinstall_cmds - may be too late, as ln, sed, and chmod may link against the - library being installed. - - * libltdl/m4/libtool.m4 (install_override_mode): New LT_DECL. - (_LT_SYS_DYNAMIC_LINKER) [hpux9*, hpux10*, hpux11*]: Set it. - * libltdl/config/ltmain.m4sh (func_mode_install): Build a second - command line, $install_shared_prog, for the installation of the - shared library. Override resp. set the permission mode if - install_override_mode is nonempty. - * doc/libtool.texi (libtool script contents): Document it. - * tests/install.at (Install tests): New test. - * Makefile.am (TESTSUITE_AT): Adjust. - (TESTS_ENVIRONMENT): Pass INSTALL. - Report by Bruno Haible. - -2008-09-26 Eric Blake - - Avoid gcc warning. - * libltdl/loaders/loadlibrary.c (vm_open): Don't check for array - being a NULL pointer. - -2008-09-20 Ralf Wildenhues - - Man pages for libtoolize and libtool, new command line option - --help-all. - * Makefile.am (dist_man1_MANS, update_mans): New macros. - ($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New - rules. Use --help-all for libtool. - (MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS. - (BUILT_SOURCES): Add libtoolize. - * configure.ac: Check for help2man, set HELP2MAN. - * doc/libtool.texi: Add @direntry for libtool-invocation. - (Invoking libtool): Document -h, --help-all. Reorder mode - description for consistency. - (Compile mode): Do not document -Wl,FLAG and -XCClinker here. - (Link mode): Document -Wc,FLAG here, reformat a bit. - * libtoolize.m4sh: Reformat --help output a bit, to help - help2man. - * libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to - `libtool', not `ltmain.sh', so the former is used in the man - page. - New argument `--help-all'. If given, call func_help and - func_mode_help several times, beating output in shape with sed. - (func_mode_help): Do not exit here. - * libltdl/config/getopt.m4sh (func_usage): Work with different - indentations, but require comment hash in first column, when - grepping for '-h' in usage to end short help. - (func_help): Accept optional argument to not exit. - * NEWS, THANKS: Update. - Suggestion by Karl Berry. - -2008-09-08 Gary V. Vaughan - - Use `-version-info 9:0:2' for one added iface since 2.2.4. - * libltdl/Makefile.inc (LTDL_VERSION_INFO): Make the libltdl - version number match 2.2.6a rerelease. - - Add ./commit option for pushing tags back to origin. - * clcommit.m4sh (opt_tags): New --tags push option. - (func_commit): Run `$GIT push --tags' if --tags was passed. - * HACKING (Release Procedure): Note the requirement to pass - --tags to ./commit for new release tag to be push back to - origin. - -2008-09-07 Gary V. Vaughan - - Retire gnu.org news.html in favour of savannah news. - * HACKING (Release Procedure): Add instructions for sending - a web release announcement to http://planet.gnu.org via - the savannah news manager. - - Add untested git push conflict testing to commit script. - * clcommit.m4sh (func_check_conflicts): Test return status - of 'git push --dry-run', and display an error on non-zero. - - Enable release procedure to work with lzma OLDRELEASE file. - * Makefile.maint (diffs, prev-tarball, new-tarball): If lzma - tarballs are present use them to generate the diffs, otherwise - use gz tarballs if they are present, or else complain if both - are missing. - - Set SCM version number to 2.2.7a. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.7a. - * NEWS: Updated. - - GNU Libtool 2.2.6 was released. - - Fix typo in Makefile.maint. - * Makefile.maint (git-news): Renamed to check-news, since it - doesn't actually run git. Adjust all dependees. - - Run `git commit -a' when no files are passed. - * clcommit.m4sh (func_commit): Add -a argument if necessary. - - Prepare for next stable release. - * libltdl/Makefile.inc (LTDL_VERSION_INFO): Update. - * libltdl/m4/libtool.m4: Bump serial number to account for - changes since 2.2.4 release. - * INSTALL, config/config.guess, config/texinfo.tex: Updated - from canonical source. - * configure.ac (AM_INIT_AUTOMAKE): Specify dist-lzma, which - was introduced after automake-1.10 was released. - (abs_top_srcdir, abs_top_builddir): No need to substitute these - from configure anymore, since we require automake 1.10.1, which - does perform the substitutions properly. - (TIMESTAMP): Normal releases were displaying the long-form - timestamp. Fix to show the short release timestamp as per - alpha release numbers. - * NEWS: Update with missing entries from ChangeLog. - * HACKING (Release Procedure): We release lzma tarballs now - but no xdeltas. - * Makefile.maint: Updated to match Release Procedure - instructions in HACKING. - - Convert mailnotify headers to git. - * clcommit.m4sh: Improve mailnotify contents. - - Make ./commit useful again. - * clcommit.m4sh: Major overhaul and simplification for git. - -2008-09-06 Gary V. Vaughan - - Fix 'DISTCHECK_CONFIGURE_FLAGS=--program-prefix=g' bug. - * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Fix test failures - with --program-prefix, where the test case output contains the - transformed name somewhere other than the beginning of a line. - * libtoolize.m4sh (func_check_macros): Be sure to always use - the transformed name in output messages. - -2008-09-04 Ralf Wildenhues - - Do not remove .gcno files when linking. - * libltdl/config/ltmain.m4sh (func_mode_link): When removing - potential output files before linking, do not remove *.gcno - profile information GCC outputs next to object files in `.libs'. - Report by Vincent Torri. - -2008-09-01 Peter O'Gorman - - Revert 75142db4f8afc65ba7aae0ed80ea0b35bd9cc382 (AIX libltdl - dlopen(NULL) - - * libltdl/m4/ltdl.m4: Remove LTDL_DLOPEN_SELF_WORKS define. - * libltdl/loaders/dlopen.c: Remove LTDL_DLOPEN_SELF_WORKS check. - * libltdl/m4/libtool.m4 [aix]: Set export_dynamic_flag_spec to - -Wl,-bexpall. This is a temporary workaround until a real fix - is implemented. - * NEWS: document it. - -2008-08-26 Peter O'Gorman - - Allow for extensions other than .a for preloaded modules. - * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LT_LIBEXT. - * libltdl/ltdl.c (lt_dladvise_preload): Use it. - Reported by Ralf Wildenhues. - -2008-08-26 Peter O'Gorman , - Ralf Wildenhues - - Remove unnecessary global argz functions. - * libltdl/argz.c (argz_add,argz_count): Remove. - * libltdl/argz_.h (argz_add,argz_count): Remove. - * NEWS: Announce it. - * tests/ltdl-api.at: Test so we don't repeat it. - * Makefile.am: Add new test. - -2008-08-22 Ralf Wildenhues - - Initial support for Lahey Fortran on GNU/Linux. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - [linux] : Add support for Lahey Fortran 8.1. - * NEWS, THANKS: Update. - Suggested by Craig Tierney. - -2008-08-21 Sam Thursfield (tiny change) - - Avoid leading separator in PATH for DLL search. - * libltdl/config/ltmain.m4sh (func_mode_link) [cygwin, mingw] - [ pw32, os2, cegcc]: Fix dllsearchpath not to contain leading - separator. - * THANKS: Update. - -2008-08-21 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Quote $#. - - Disallow `-L path', do not misparse it silently. - * libltdl/config/ltmain.m4sh (func_mode_link): Diagnose `-L' - without argument, and `-L path', i.e., with a space. - * tests/fail.at (Failure tests): Test for these failures. - * THANKS: Update. - Report by Olaf Lenz. - -2008-08-16 Ralf Wildenhues - - Avoid test failure due to broken dlpreloading of shared library. - * tests/lt_dladvise.at (lt_dlopenadvise library loading): Drop - some newlines in AT_CHECK commands, for better 'testsuite -x' - output. Only create a static installable libpreload.la, to - avoid exposing the bug libtool currently has with preloading of - shared libraries. Add a note to revisit this later. - -2008-08-12 Ralf Wildenhues - - Parallel make testsuite fixes. - * tests/configure-iface.at (installable libltdl) - (--with-ltdl-include/lib, --with-included-ltdl): Add dlopened - libmodule.la to main_DEPENDENCIES. - * tests/old-m4-iface.at (AC_WITH_LTDL): Likewise, let ltdldemo - depend upon module.la and libltdl/libltdlc.la. - * tests/testsuite.at (LT_AT_MAKE): Invoke each target in turn, - default to 'all'. - * tests/early-libtool.at (config.lt): Define 'all' target. - - * HACKING: Update for git, fix some minor nits. - -2008-08-11 Ralf Wildenhues - - Remove use of exit in configure test sources. - * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Return from main, - to avoid using undeclared exit. - Report against OpenMPI from Coverity via Jeff Squyres. - - * tests/configure-iface.at (convenience libltdl): Ignore warning - from parallel make. - -2008-08-07 DJ Delorie - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [tpf] - : Fix typo in variable name. - -2008-08-06 Steve Ellcey - - Use -fPIC with GCC on HP-UX/ia64. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - [ia64-*-hpux*]: Specify -fPIC when using GCC to build shared - libraries. - -2008-08-01 Ralf Wildenhues - - * NEWS: Minor fixups. - -2008-08-01 Gary V. Vaughan - - Bring NEWS up to date. - * NEWS: Add missing summaries since 2.2.4 release. - - Implement lt_dlopening of only preloaded modules. - * libltdl/m4/ltdl.m4 (LTDL_INIT): Check for a libltdl that - provides lt_dladvise_preopen when deciding if installed libltdl - is 'new enough'. - * libltdl/libltdl/lt__private.h (lt__advise): Add a new - is_preload flag. - * libltdl/ltdl.c (lt_dladvise_preload): New api call to set it. - (try_dlopen): If it is set, and the search of preloaded modules - didn't return a match, don't bother searching the filesystem. - * libltdl/ltdl.h (lt_dladvise_preload): Declare it. - * doc/libtool.texi (Libltdl Interface): Document it. - * tests/lt_dladvise.at: Test it (and incidentally add some test - coverage for `libtool -dlpreopen'). - * NEWS: Announce it. - -2008-08-01 Vincent Torri - - Add cegcc (Windows CE/PocketPC) support. - * libltdl/config/ltmain.m4sh: Add 'cegcc' case where needed. - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, LT_SYS_DLOPEN_SELF) - (_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD) - (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG): Likewise. - * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Likewise. - * NEWS: Update. - * THANKS: Update. - -2008-07-31 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_to_host_path): Fix sh.test - failure. - Report by Paolo Bonzini. - -2008-07-31 Paolo Bonzini - - * ltmain.m4sh (func_emit_cwrapperexe_src): Factor - multiple closed braces into the next cat command. - -2008-06-19 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : - Use -fPIC, newer Intel compilers (icc 10, ifort 9) reject -KPIC. - * tests/localization.at: Skip test if the compiler fails merely - due to the locale setting. - * THANKS: Update. - Report by Vincent Lefevre. - -2008-06-17 Ralf Wildenhues - - * doc/libtool.texi (Linking executables, Static libraries) - (Modules for libltdl, Distributing libltdl): Remove TABs from - the manual. - -2008-06-13 Peter O'Gorman - - Support ifort on darwin. - * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Build - shared libraries with ifort. - Reported by Christopher Hulbert. - -2008-06-01 Charles Wilson - - [mingw] fix cross-compile-with-wine case - * libltdl/config/ltmain.m4sh (func_to_host_path) - [host=mingw, build!=mingw|cygwin]: check that winepath - stdout is non-empty and exit code is 0, instead of checking - stderr. - Reported by: Roumen Petrov - -2006-06-01 Stas Maximov (tiny change) - - Check only regular files, not devices, for lalibs. - * libltdl/config/ltmain.m4sh (functions func_lalib_p) - (func_lalib_unsafe_p): Only read regular files and not device - files. Avoids blocking libtool executing gdb, when a - pseudo-terminal device /dev/pts/NN is given as one of the - arguments to gdb, as in: - libtool --mode=execute gdb -q -nw -i mi -tty /dev/pts/4 prog - -2008-05-31 Peter O'Gorman - - Skip darwin test if fat link fails. - * tests/darwin.at: Skip if we can not link a fat program. - Reported by Daniel Macks - -2008-05-26 Ralf Wildenhues - - libtoolize should not remove config.guess, config.sub. - * libtoolize.m4sh (all_pkgconfig_files): Do not list - config.guess nor config.sub. We don't install them without - --install, and the project may not be using Automake. - Report by Andreas Schwab. - - Simplify argument parsing in cwrapper. - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): - Use NULL where appropriate. Do not compute length of arguments - needlessly. - -2008-05-25 Charles Wilson - - [mingw] Add cross-compile support to cwrapper - * libltdl/config/ltmain.m4sh (func_to_host_path) [$host=mingw]: - If present, use winepath to convert from $build to $host - if $build is neither mingw (msys) nor cygwin. Use unconverted - path as fallback when conversion fails. Also update comments. - (func_to_host_pathlist) [$host=mingw]: Ditto. For fallback case, - use simplistic ':' to ';' path separator translation. - -2008-05-25 Charles Wilson - - Cwrapper should not eat -- arguments - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) - [file scope]: Defined all option strings in terms of macro - LTWRAPPER_OPTION_PREFIX. Similarly defined all option string - lengths in terms of macro LTWRAPPER_OPTION_PREFIX_LENGTH. - [main]: Modified option parsing algorithm to pass -- on to - target, and to not stop processing arguments when -- is seen. - Added check for unrecognized options in reserved namespace - defined by LTWRAPPER_OPTION_PREFIX. - -2008-05-25 Ralf Wildenhues - - Fix ifort settings again. - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : - Unlike icc and ecc, not all ifort versions understand `-KPIC', - e.g. version 10.1, so use `-fPIC' instead. - Report by Jeff Squyres. - -2008-05-20 Eric Blake - - Resynchronize argz whitespace changes from gnulib. - * libltdl/m4/argz.m4: Kill trailing whitespace. - * libltdl/argz.c: Likewise. - -2008-05-19 Eric Blake - - Fix regression from two days ago. - * libltdl/m4/ltdl.m4 (_LT_LIBOBJ): Don't refer to deleted macro. - -2008-05-17 Eric Blake - - Speed up bootstrap by improving lt_combine. - * libltdl/m4/ltsugar.m4 (lt_combine): Mirror Autoconf 2.62 - improvements. Includes a semantic change where the separator can - now be empty, and where an empty fourth argument is now treated as - a valid suffix. - * libltdl/m4/libtool.m4 (_lt_decl_varnames_tagged): Adjust to new - semantics of lt_combine. - (lt_decl_varnames_tagged): Fix quoting and optimize. - - Kill _LT_LIBSOURCES; it wasn't checking anything useful. - * libltdl/m4/ltdl.m4 (_LT_LIBSOURCES): Delete. - (LTDL_INIT): Ignore arguments to AC_LIBSOURCES during _LTDL_SETUP, - on the assumption that libtoolize correctly installed them. - -2008-05-13 Charles Wilson - - [mingw|cygwin] Modify cwrapper to invoke target directly. - * libltdl/config/ltmain.m4sh (func_to_native_path): - New function. If $host is mingw, and $build is mingw - or cygwin, convert path to mingw native format. - (func_to_native_pathlist): New function. Ditto, for - :-separated pathlists. - (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]: - Ensure putenv and setenv are declared. Define HAVE_SETENV. - (func_emit_cwrapperexe_src) [main]: Add new constants to - hold desired PATH settings; initialize and use functions - above to convert to $host format if necessary. Add new - command-line options --lt-env-set, --lt-env-prepend, and - --lt-env-append. No longer emit wrapper script as integral - part of launching child. Remove support for (now) unnecessary - $TARGETSHELL. Exec actual target executable directly. - (func_emit_cwrapperexe_src) [lt_setenv, lt_extend_str] - [lt_split_name_value, lt_opt_process_env_set] - [lt_opt_process_env_prepend, lt_opt_process_env_append] - [lt_update_exe_path, lt_update_lib_path]: New functions. - -2008-05-11 Charles Wilson - - Ensure cwrapper compiles without warnings under -std=c99. - * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1): - new function. - (func_emit_wrapper_part2): new function. - (func_emit_wrapper): delegate to new functions. - (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]: - ensure realpath is declared. - (func_emit_cwrapperexe_src): declare two different strings - to each hold part of the wrapper script content. Initialize - using new func_emit_wrapper_partX functions. - (func_emit_cwrapperexe_src) [main]: when emitting wrapper - script content, use both strings. - Reported by Yaakov Selkowitz. - -2008-05-06 Charles Wilson - - Ensure $OBJDUMP is defined - * libltdl/m4/libtool.m4 (_LT_DECL_OBJDUMP): new macro ensures - that $OBJDUMP is always defined sanely. - (_LT_SYS_DYNAMIC_LINKER): call it. - (_LT_CHECK_MAGIC_METHOD): call it. - -2008-05-05 Gary V. Vaughan - - Fix libtoolize test failure with aclocal < 1.10.1 - * tests/libtoolize.at - (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Older aclocal - requires a space between -I and the directory argument. - Reported by Daniel Macks - -2008-05-04 Gary V. Vaughan - - Set SCM version number to 2.2.5a. - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.5a. - * NEWS: Updated. - - GNU Libtool 2.2.4 was released. - - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.4. - * libltdl/Makefile.inc (LTDL_VERSION_INFO): C:R+1:A because the - interfaces are unchanged, even though we improved the code some - more. - * NEWS: Updated. - - Macro file serial updates for next stable release. - * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, - libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: Bump serial - numbers to account for changes since 2.2.2 release. - - Make libtoolize tests work with distcheck. - * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): When $tst_aclocal - is set, transform paths that use it to generic - /usr/local/share/aclocal in time for AT_CHECK comparisons. - -2008-05-03 Gary V. Vaughan - - Don't trip over outdated acinclude.m4. - * libtoolize.m4sh (all_pkgconfig_files, all_pkgmacro_files) - (all_pkgltdl_files): New variables listing all files ever - maintained by any release of libtoolize. - (func_install_pkgconfig_parent, func_install_pkgltdl_files) - (func_install_pkgconfig_subproject, func_install_pkgmacro_parent) - (func_install_pkgmacro_subproject): Carefully clean up any files - that may have been installed by previous libtoolize releases. - * tests/libtoolize.at: New test for libltdl/acinclude.m4 removal. - Reported by Andreas Schwab . - -2008-05-02 Peter O'Gorman - - It helps to close quotes. - * libltdl/config/ltmain.m4sh (func_mode_link): Add closing '. - -2008-05-01 Peter O'Gorman - - Use AC_CHECK_TOOL for otool and otool64. - * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. - * libltdl/config/ltmain.m4sh (func_mode_link): Use. - Reported by Richard Purdie - -2008-04-30 Eric Blake - - Support cygwin 1.7.0 in loadlibrary loader. - * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD) : Check for modern - function. - * libltdl/loaders/loadlibrary.c (vm_open): Avoid deprecated - cygwin_conv_to_full_win32_path. - -2008-04-29 Gary V. Vaughan - - New libtoolize --no-warn option and LIBTOOLIZE_OPTIONS parsing. - * libltdl/config/general.m4sh (opt_warning): New option. - (func_warning): Only display a warning message if $opt_warning - is true. - * libtoolize.m4sh: Accept options in LIBTOOLIZE_OPTIONS - environment variable. - (--no-warn): Parse new option. - (func_serial_update_check, func_keyword_update): Use func_warning. - (func_check_macros): Bail out before style issues nags when - $opt_warning is false. - * doc/libtool.texi (Invoking Libtoolize): Document it. - * tests/libtoolize.at: Test it. - * NEWS: Updated. - - Fix libtoolize test failure with aclocal-1.10.1. - * tests/libtoolize.at - (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Force aclocal to - search the source tree for latest libtool macros. - -2008-04-24 Eric Blake - - Fix bug in 2008-04-21 type improvements. - * libltdl/ltdl.c (load_deplibs): Fix casting bug. - -2008-04-23 Michael Haubenwallner - - Use /nonexistent as destination for files not to be installed. - * tests/darwin.at (darwin fat compile): Fix typo. - * tests/inherited_flags.at (inherited_linker_flags): Change - -rpath to /nonexistent. This helps to avoid accidentally - picking up libraries below /usr/local. - * tests/template.at (simple template test): Likewise. Fixes - test failure for additional incompatible libstdc++ in - /usr/local. - * tests/testsuite.at (configure_options): Add - --prefix=/nonexistent. - -2008-04-23 Gary V. Vaughan - - * libtoolize.m4sh (rerun_aclocal): Remove unused variable. - Reported by Olly Betts - -2008-04-23 Ralf Wildenhues - - * tests/static.at (ccache -all-static): Ignore link warnings. - Report by Gary V. Vaughan. - -2008-04-22 Gary V. Vaughan - - Libtoolize now advises AC_CONFIG_MACRO_DIR use where appropriate. - * libtoolize.m4sh (func_check_macros): Always advise use of - AC_CONFIG_MACRO_DIR when not able to copy libtool macros into - the project tree. - * tests/libtoolize.at: New test for correct diagnosis of mismatch - between AC_CONFIG_MACRO_DIR and ACLOCAL_AMFLAGS. - Update expected output of other tests. - * NEWS: Updated. - -2008-04-22 Ralf Wildenhues - - Fix regression over 1.5.26 with ccache $CC -all-static. - * libltdl/config/ltmain.m4sh (func_mode_link): Add - $link_static_flag to compile_command and link_command only - later, instead of right after a possible compiler wrapper. - * tests/static.at (ccache -all-static): New test. - * THANKS: Update. - Report by Richard Purdie. - -2008-04-22 Andreas Schwab - Ralf Wildenhues - - Fix default argument for AC_LIBLTDL_CONVENIENCE. - * libltdl/m4/ltdl.m4 (AC_LIBLTDL_CONVENIENCE): Default argument - to libltdl. - (AC_LIBLTDL_INSTALLABLE): Likewise. - * tests/configure-iface.at (convenience libltdl): New test. - -2008-04-21 Gary V. Vaughan - - Only complain that files are up-to-date with --force. - As a side effect, this also means that when `aclocal' copies the - libtool macros into `aclocal.m4' libtoolize complains only about - the macro files that are missing or not up-to-date. - * libtoolize.m4sh (func_echo_once): New function that prints - the contents of a named variable only on the first call. - (func_aclocal_update_check): New function that compares serial - numbers of libtool macros in aclocal.m4 and only diagnoses the - missing files. - (func_copy, func_copy_cb, func_copy_some_files, func_serial_update) - (func_keyword_update, func_ltmain_update, func_config_update) - (func_install_update): Accept a new argument naming a variable - containing a header string to print with func_echo_once iff any - body text is output by this function. - (func_install_pkgmacro_subproject, func_install_pkgmacro_parent) - (func_install_pkgltdl_files, func_install_pkgconfig_subproject) - (func_install_pkgconfig_parent: Set and pass a suitable - header string variable for the above functions. - (func_serial_update_check): Don't advise rerunning `libtoolize - --force' when aclocal.m4 is not m4_including libtoolize installed - macro files. - * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Transform generic - /usr/local/share/aclocal paths to point into the uninstalled - libtool macro directory. - * tests/libtoolize.at: Update tests that were checking for old - behaviour of outputing `file is already up to date' even when - --force was not passed. - * tests/libtoolize.at: New tests to prevent regressions of these - smarter messages. - * NEWS: Updated. - Reported by Olly Betts - - Capture lt~obsolete.m4 serial number correctly in libtoolize. - * libltdl/m4/lt~obsolete.m4: Add the filename to the #serial - marker so that libtoolize's serial number checks can find it - in a non-include using aclocal.m4. - * NEWS: Updated. - Reported by Olly Betts - - Allow better compile time type checking for lt_dladvise. - * libltdl/lt__private.h (lt__handle, lt__advise): Typedefs - removed in favour of... - * libltdl/ltdl.h (lt_dlhandle), - libltdl/libltdl/lt_dlloader.h (lt_dladvise): ...changing from - void* to forward declarations. - * libltdl/loaders/dlopen.c, libltdl/loaders/loadlibrary.c, - libltdl/lt_dlloader.c, libltdl/ltdl.c: Remove many redundant - type casts. - * NEWS: Updated. - Suggested by Bob Friesenhahn - -2008-04-21 Peter O'Gorman - - basename does not take a list of strings. - * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed - $basename. - * tests/darwin.at: New. Check that we can built fat program, - shared library and convenience library. - * Makefile.am: Add test. - Reported by LiKai Liu - - Use AC_CHECK_TOOL for lipo too. - * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. - * libltdl/config/ltmain.m4sh (func_extract_archives): Use. - -2008-04-20 Gary V. Vaughan - - Fix misleading lt_dlopenadvise documentation. - * doc/libtool.texi (lt_dlopenadvise): The last parameter is of - type lt_dladvise, not lt_dladvise*. - (my_dlopenext): Correct the example too. - * NEWS: Updated. - Reported by Gary Kumfert - -2008-04-19 Ralf Wildenhues - - Fix testsuite cleanup warnings on AIX with NFS. - * tests/testsuite.at [ aix ]: Set file mode creation so that - 'others' have no permissions. Shared libraries are kept in - memory on AIX after use if they are world-readable, which means - on NFS mounts cleanup of test group directories will fail later. - * THANKS: Update. - Report and analysis by Michael Haubenwallner. - - Fix nonportable use of expr. - * libltdl/config/ltmain.m4sh (func_mode_link) : Fix expr portability issues, - noted on FreeBSD. While at it, simplify and avoid forking. - Report by Bob Friesenhahn. - - Exploit shell arithmetic expansion and ${#var}. - * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also check - for arithmetic expansion, and ${#var}. - (_LT_PROG_XSI_SHELLFNS): Define func_arith and func_len - accordingly, falling back on 'expr'. Note that the argument to - func_len may not start with a hyphen. In the pre-Posix - fallback, take care not to rely on the exit status of the - variable assignment (not portable), but set the length to - $max_cmd_len instead. - * libltdl/config/ltmain.m4sh (func_mode_link): Use func_arith - and func_len throughout for integer arithmetic, fixing - quadratical amount of counting for reloadable object and - piecewise archive linking. Change all comparisons with - max_cmd_len to test for smaller, non-equal length. - * THANKS: Update. - Suggested by Roland Mainz. - - * libltdl/config/ltmain.m4sh (func_mode_compile): Avoid - redundant removal of old output files before compilation. - Do not remove $obj until we have successfully grabbed the - lockfile (in case the compiler doesn't grok `-c -o'), because - it might be identical to $output_obj. - At the end of the function, before we remove the lockfile, - update $removelist so that if the trap hits after the lockfile - has been removed, we do not accidentally remove $output_obj that - does not belong to us. - (func_write_libtool_object): Use $MV instead of mv. - -2008-04-18 Andreas Schwab - - * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Check optional - argument. - (AC_ENABLE_STATIC): Likewise. - (AC_ENABLE_FAST_INSTALL): Likewise. - -2008-04-16 Eric Blake - - Make ChangeLog merges easier. - * .gitattributes: New file. - * HACKING: Mention how it helps. - -2008-04-15 Peter O'Gorman - - Allow bootstrap from git repository. - * Makefile.am: Pass srcdir as an argument to mkstamp and expect - only 2 fields in mkstamps output. - * clcommit.m4sh: Ditto. - * configure.ac: Ditto. - * libltdl/config/mkstamp: return a revision and date based on - the number of lines which look like dates in all the ChangeLog* - files in the directory we got as arg 1. - -2008-04-11 Eric Blake - - Fix usage of setmode without declaration on cygwin. - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Ensure - setmode has prototype for both mingw and cygwin. - -2008-04-10 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Move non-XSI - definition of func_dirname_and_basename ... - * libltdl/config/general.m4sh (func_dirname_and_basename): - ... here, to use it for the other scripts that use general.m4sh - (and as portable fallback for libtool). Add marker for early - insertion of generated shell functions (into libtool, not the - other scripts) here. - Use func_dirname_and_basename to compute progname, progpath. - * libltdl/config/ltmain.m4sh (func_mode_help): Remove marker - for insertion of generated shell functions. - * tests/sh.test: Adjust function definition test to not match - function call. - - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS) : - New function. - * libltdl/config/ltmain.m4sh (func_mode_compile): Use it to - avoid two forks with XSI shells. - * tests/suffix.test: Also test a file with multiple dots. - -2008-04-10 Peter O'Gorman - - * libltdl/config/ltmain.m4sh (func_win32_libid, - func_generate_dlsyms, func_extract_an_archive, - func_extract_archives, func_mode_help): move these so they - appear after func_mode_compile. - * tests/nomode.test: Check that --mode=link --help works. - Reported by Josh Triplett - -2008-04-07 Gary V. Vaughan - - * doc/libtool.texi (Libltdl interface): Add missing - documentation for lt_dlopenavise. - Reported by Anton Erti - - * configure.ac, libltdl/configure.ac (AM_INIT_AUTOMAKE): Use - gnu rather than gnits standards so that version number 2.2.3a - is not rejected! - Reported by Olly Betts - -2008-04-01 Gary V. Vaughan - - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.3a. - - GNU Libtool 2.2.2 was released. - - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2.2. - * libltdl/Makefile.in (LTDL_VERSION_INFO): C:R+1:A because the - interfaces are unchanged, even though we improved the code some - more. - * NEWS: Updated. - - * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, - libltdl/m4/ltoptions.m4: Bump serial numbers to account for - changes since 2.2 release. - -2008-03-27 Peter O'Gorman - - * libltdl/m4/libtool.m4 [_LT_REQUIRED_DARWIN_CHECKS]: Fix the - test for -single_module and log it to config.log. - Reported by Torok Edwin and Nigel Home. - -2008-03-24 Ralf Wildenhues - - Document that disable-static plus -all-static is not portable. - * doc/libtool.texi (Link mode): -all-static does not go well - with disable-static on most systems. - * tests/static.at (static linking flags for programs) [!aix]: - With --disable-static but nonempty link_static_flag, skip the - m-all-static link. Do not skip it on AIX, as there the - enable_static is self-inflicted, and thus expected to work. - * THANKS: Update. - Report by Nix. - -2008-03-17 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): No need to escape - backticks in argument to AC_MSG_WARN or AC_MSG_ERROR. - * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE, LTDL_INIT): Likewise. - -2008-03-16 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (NLS nuisances): Fix quoting of - localization variables for shell-active characters. - * tests/localization.at (localized compiler messages): Extend - test. - * THANKS: Update. - Report by Mike Frysinger. - -2008-03-15 Ralf Wildenhues - - * tests/defs.m4sh (func_get_config): Build egrep regex to speed - up extracting several variables at once. Use it to extract all - default variables at once. Also extract build_alias and - host_alias from the libtool script. - (func_configure_nofail): Use build_alias and host_alias for - --build and --host, respectively. Pass each if nonempty. - * tests/testsuite.at: Pass --build if build_alias is nonemtpy. - * tests/quote.test: Extract ECHO and wl at once. - - * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_WIN32_DLL): Require - AC_CANONICAL_HOST. - * THANKS: Update. - Report by Jakub Bogusz. - -2008-03-14 Ralf Wildenhues - - * NEWS: Update. - -2008-03-12 Charles Wilson - - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file - scope]: additional #includes and #defines to support... - (func_emit_cwrapperexe_src) [main]: ensure stdout is set to - binary mode for cygwin|mingw builds. Ensure temporary script - file is written in binary mode for cygwin|mingw builds. - (func_mode_link) [cygwin|mingw]: cross-build support - only - use cwrapper to generate shell wrapper if building native; - otherwise use func_emit_wrapper() - -2008-03-12 Henning Nielsen Lund - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [amigaos]: Port to - AmigaOS4 shared libraries on powerpc. - * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [amigaos]: - Likewise. - * THANKS, NEWS: Update. - -2008-03-09 Bruno Haible - and Ralf Wildenhues - - Fix compiler output to be in the user locale. - * libltdl/config/general.m4sh (func_show_eval_locale): New - function, for running commands in the user locale. - * libltdl/config/ltmain.m4sh (func_mode_compile): Use it for - compiling. - * tests/localization.at (localized compiler messages): New test. - * Makefile.am: Adjust. - Report by Bruno Haible. - -2008-03-08 Ralf Wildenhues - - Fix several test failures on Cygwin and MinGW. - * tests/nonrecursive.at: Use -no-undefined for foo.la. - * tests/recursive.at: Likewise. - * tests/subproject.at: Likewise. - * tests/lt_dladvise.at: For systems where undefined symbols are - not allowed, to not try to load the module libdepend. - [ mingw ]: Add to list of such systems. - * tests/testsuite.at (_LT_AT_TRANSLATE_TEXT_OUTPUT): New macro, - to translate line ending of expout and experr files suitable for - host executables. - (LT_AT_CHECK, LT_AT_NOINST_EXEC_CHECK): Use it. - Report by Bob Friesenhahn. - - Fix installcheck dependencies, fix for --program-transform-name. - * Makefile.am (installcheck-local): Depend upon tests/atconfig - and $(srcdir)/$(TESTSUITE). - * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): New macro. - (LT_AT_CHECK_LIBTOOLIZE): Use it to transform expout and experr - files suitably. - * HACKING: Update. - - Drop usage of obsolete macros AC_EXEEXT and AC_OBJEXT. - * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION) - (_LT_COMPILER_C_O, LT_PATH_NM, _LT_CMD_GLOBAL_SYMBOLS, _LT_SETUP): - Drop usage of obsolete AC_OBJEXT and AC_EXEEXT. - * tests/am-subdir.at (C++ subdir-objects): Likewise. - -2008-03-07 Peter O'Gorman - - * tests/convenience.at (Java convenience archives): Skip test if - gcj cannot compile a working executable from .java files. - Report by Nelson H. F. Beebe. - - * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Need to set LD. - Reported by Nelson H. F. Beebe. - -2008-03-06 Peter O'Gorman - - * libltdl/m4/libtool.m4 (_LT_PROG_FC): Undo commit - bad idea. - - * libltdl/m4/libtool.m4 (_LT_PROG_FC): Report FC=no if the FC - compiler is not a GNU compiler and the CXX compiler is a GNU - compiler. - Reported by Nelson H. F. Beebe. - -2008-03-06 Gary V. Vaughan - - * Makefile.maint (TSDEPS_DIST): Removed. No longer used. - (TSDEPS): libtool.m4 has long since moved to libltdl. - (cvs-dist): Don't put the suffix dot in twice. - -2008-03-06 Ralf Wildenhues - - * tests/convenience.at (Java convenience archives): Skip test if - gcj cannot compile a .java file. - Report by Nelson H. F. Beebe. - -2008-03-05 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p): redirect - and restore from stdin, not stdout. - * tests/execute-mode.at (execute mode): Adjust test to catch - this. - Report by Roberto Bagnara. - -2008-03-04 Ralf Wildenhues - - Fix libltdl to not skip dlopen on systems with several loaders, - such as HP-UX, Cygwin. - * libltdl/slist.c (slist_concat): When appending to the tail - of a list, do not drop items off the beginning of the list. - * NEWS: Update. - - * libltdl/config/ltmain.m4sh (func_mode_execute): Replace only - arguments we have identified as shell or C wrappers. - (func_emit_wrapper): Output error message on stderr. - * tests/execute-mode.at: New file, with --mode=execute tests. - * Makefile.am: Adjust. - * NEWS: Update. - Fixes 2.2 regression. Report by Roberto Bagnara. - - * libltdl/m4/libtool.m4 (_LT_CONFIG): Drop misleading `GNU' - prefix before the host package name in the "Generated by" line - for the libtool script. - * THANKS: Update. - Reports by Peter Rosin and Roberto Bagnara. - - * doc/libtool.texi (Module loaders for libltdl): Fix typo. - - * libltdl/loaders/dld_link.c (vl_exit): New function, zero out ... - (vtable): ... this new file static variable split out from ... - (get_vtable): ... here. Initialize vtable, register vl_exit as - dlloader_exit function. - * libltdl/loaders/dlopen.c: Likewise. - * libltdl/loaders/dyld.c: Likewise. - * libltdl/loaders/load_add_on.c: Likewise. - * libltdl/loaders/loadlibrary.c: Likewise. - * libltdl/loaders/shl_load.c: Likewise. - * libltdl/loaders/preopen.c: Likewise; vl_exit existed here - already. - * tests/lt_dlexit.at (lt_dlexit unloading libs): Update test. - * NEWS: Update. - Report by Andreas Schwab. - -2008-03-01 Gary V. Vaughan - - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.3a. - - GNU Libtool 2.2 was released. - - * configure.ac, libltdl/configure.ac (AC_INIT): Bump version - number to 2.2. - * NEWS: Updated. - - * tests/lt_dladvise.at, tests/lt_dlexit.at, - tests/need_lib_prefix.at: Skip these tests when called from - `make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install'. - The tests try to link against the dummy installed libltdl.la - from .../_inst/lib/libltdl.la, which does not exist when - configured with --disable-ltdl-install. - -2008-02-29 Gary V. Vaughan - - * libltdl/m4/argz.m4 (AC_CHECK_FUNCS): Also use our replacement - argz if the system argz_add or argz_count are missing. - Report by Juan Manuel Guerrero . - -2008-02-26 Karl Berry - - * libltdl/argz.c (argz_add, argz_count): New functions. - * libltdl/argz_.h: Declare them. - Report by Juan Manuel Guerrero . - -2008-02-20 Peter O'Gorman - - * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Do not call the - _LT_SYS_DYNAMIC_LINKER macro here. - Reported by Mike Frysinger - -2008-02-15 Peter O'Gorman - - * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix typo. - -2008-02-14 Peter Breitenlohner - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better handling - of predefined values for lt_cv_sys_lib_search_path_spec and - lt_cv_sys_lib_dlsearch_path_spec. - -2008-02-14 Ralf Wildenhues - - * libtoolize.m4sh (func_install_pkgconfig_files): Only call - func_install_pkgconfig_parent if $seen_autoconf. - * tests/standalone.at (compiling softlinked libltdl) - (compiling copied libltdl, installable libltdl) - (linking libltdl without autotools): Use checked libtoolize - calls to catch warnings. - -2008-02-13 Ralf Wildenhues - - * libltdl/configure.ac: Bump package version. - * HACKING: Reminder to do it next time, too. - -2008-02-11 Ralf Wildenhues - - * tests/mdemo/Makefile.am (@LIBLTDL@): Update outdated - dependencies. - ($(top_distdir)/libltdl/libtool): Remove. - Fixes spurious mdemo-dryrun failure with OpenBSD make. - -2008-02-09 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : - Treat like icc and ecc, for fixed `-Wl,' and `-KPIC' settings. - -2008-02-08 Ralf Wildenhues - - * tests/archive-in-archive.at - (static library contains static library): Test also the actual - broken link command, and the following install command, as - UnixWare ar rightly refuses to put an archive into an archive. - Report by Tim Rice. - -2008-02-06 Peter O'Gorman - - * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Only set default - LT_INIT values for LT_INIT, not LTDL_INIT. - Reported by Jochem Huhmann - -2008-02-01 Ralf Wildenhues - - * tests/testsuite.at (LT_AT_TAG): For the CXX tag, if $CXX is - g++, check that `g++ -v' works; AC_PROG_CXX may have set that - as default value even if it found no C++ compiler. - Report by Andreas Schwab. - -2008-02-02 Gary V. Vaughan - - * libltdl/Makefile.inc (EXTRA_DIST): Now that we're not using - Autoconf's AC_SOURCES macro, Automake can't trace our extra - source files argz, lt__dirent.c and lt__strl.c. List them - manually here to make sure they are distributed. - * NEWS: Updated. - Reported by Bob Friesenhahn - -2008-02-01 Gary V. Vaughan - - * configure.ac (AC_INIT): Bump version number to 2.1c. - - GNU Libtool 2.1b was released. - - * configure.ac (AC_INIT): Bump version number to 2.1b. - * libltdl/Makefile.inc (LTDL_VERSION_INFO): Increment to account - for new interfaces since the last libltdl update. - * HACKING (Release Procedure): Note that LTDL_VERSION_INFO is now - kept in libltdl/Makefile.inc. - -2008-02-01 Gary V. Vaughan - - * tests/cdemo, tests/depdemo, tests/fcdemo, tests/pdemo, - tests/demo, tests/f77demo, tests/mdemo, tests/tagdemo - (distclean-local): Remove compiler file droppings left by - Autoconf tests that prevent make dist from finishing on - several machines including Mac OS 10.5. - -2008-02-01 Gary V. Vaughan - - Unfortunately, the autoconf implementation of AC_LIBOBJ and - friends requires all libobjs to be in the same directory, as - declared by AC_CONFIG_LIBOBJ_DIR. That might prevent using - either recursive or nonrecursive libltdl if the parent project - has libobjs of its own, except that this patch tracks libltdl's - libobjs in another namespace: - - * libltdl/m4/ltdl.m4 (_LT_LIBOBJ, _LT_LIBSOURCES): Versions of - AC_LIBOBJ and AC_LIBSOURCES that save missing sources in a - ltdl_LIBOBJS automake macro, instead of the global LIBOBJS - automake macro. Content of the macros inspired by code from - gnulib-tool. - (_LTDL_MODE_DISPATCH): Initialise lt_libobj_prefix in - nonrecursive mode. - (LTDL_INIT): Push and pop the new definitions around potential - sites that call AC_LIBOBJ. Also, using lt_libobj_prefix, - initialise ltdl_LIBOBJS and ltdl_LTLIBOBJS. - * libtoolize.m4sh (func_fixup_Makefile): Substitute ltdl_LIBOBJS - and ltdl_LTLIBOBJS for LIBOBJS and LTLIBOBJS during copying - either Makefile.am or Makefile.inc, depending on ltdl_mode. - Reported by Eric Blake - -2008-01-30 Gary V. Vaughan - - There are 5 distinct batches of files that libtoolize might - install into a project, depending on whether libltdl is - being installed in subproject mode, and in that case whether - the parent project shares the config and macro directories - with the subproject ltdl. Make a separate function for each - of those 5 batches (4 new functions below, plus the recently - factored func_install_pkgltdl_files), and make a clearer - distinction between when each of them is needed: - - * libtoolize.m4sh (func_install_pkgmacro_subproject): - New function for installing and reporting on m4 files copied - to a subproject ltdl directory. - (func_install_pkgmacro_parent): Similar new function for m4 - files copied solely for the use of the parent project, - including serial checking. - (func_install_pkgconfig_subproject): New function for - installing and reporting on config helper files copied to a - subproject ltdl directory. - (func_install_pkgconfig_parent): Similar new function for - config helper files copied solely for the use of the parent - project, including serial checking. - (func_install_pkgmacro_files, func_install_pkgconfig_files): - Rewritten in terms of the above functions. - * tests/libtoolize.at: Adjust test expout's to match newly - regularized libtoolize output. - Move parent project pkgconfig files to build-aux directory - so that progress messages show an obvious difference to - pkgconfig files installed to subproject `config' directory. - (nonrecursive ltdl with AC_CONFIG_MACRO_DIR): New test. - (diagnose missing LT_CONFIG_LTDL_DIR): New test. - (subproject ltdl with non-shared directories): New test. - Reported by Eric Blake - -2008-01-29 Peter O'Gorman - - * libltdl/m4/libtool.m4 [darwin]: Changes to glob pattern matching - to be safer. - - Search the compiler path too. - * libltdl/m4/libtool.m4 (compiler_lib_search_dirs): New variable. - * libltdl/config/ltmain.m4sh: Use it. - Reported by Maynard Johnson - -2008-01-28 Gary V. Vaughan - - * libtoolize.m4sh (func_check_macros): Correct typo with - '$opt_quiet ||' where '$opt_quiet &&' that was preventing - func_check_macros from running! - - * libtoolize.m4sh: Set opt_ltdl whenever seen_ltdl is set - so that libtoolize behaves as though --ltdl was passed even - if it wasn't as long as LTDL_INIT (or equivalent) was seen - in configure.ac. Adjust redundant '$opt_ltdl || $seen_ltdl' - to simply '$opt_ltdl'. - Reported by Eric Blake - - * libtoolize.m4sh (func_check_macros): Check opt_quiet - in the function itself to simplify calling it. Also move - the definition of the function. - - * libtoolize.m4sh (func_scan_files): Be sure to set the - default libltdl mode to 'subproject' when libtoolize is - executed before configure.ac has been updated. - -2008-01-27 Gary V. Vaughan - - * libtoolize.m4sh (func_install_pkgconfig_files) - (func_install_pkgmacro_files, func_install_pkgltdl_files): - Factored out from the 'Main' section of the file. - - * libtoolize.m4sh (subproject_auxdir, subproject_macrodir): - New variables to hold the default locations for auxfiles - and macrofiles in a subproject libltdl. - (ac_auxdir, ac_macrodir): New variables to hold the values - passed by AC_CONFIG_AUX_DIR and AC_CONFIG_MACRO_DIR resp. - (auxdir, macrodir): Adjust to contain the values to be - used by libtoolize at runtime. - - * libtoolize.m4sh (func_fixup_Makefile) - (func_massage_aclocal_DATA, func_massage_pkgltdl_files) - (func_massage_pkgconfig_files): Add missing $opt_debug. - -2008-01-27 Gary V. Vaughan - - * libtoolize (func_fixup_Makefile, func_massage_aclocal_DATA) - (func_massage_pkgltdl_files, func_massage_pkgconfig_files): - Add missing $opt_debug. - -2008-01-26 Gary V. Vaughan - - * libtoolize.m4sh (Main): Copy (or link) libltdl sources - into project tree when LTDL_INIT was seen, whether or not - `--ltdl' is passed. - (func_check_macros): Recommend LTDL_INIT instead of - LT_WITH_LTDL when `--ltdl' is used before configure.ac is - upgraded. - * tests/libtoolize.at: Test that it works. - (_LT_AT_LTDL_SETUP): Factor out some common test setup. - Reported by Eric Blake - -2008-01-24 Peter O'Gorman - - * doc/notes.texi: Fix errors in previous commit. - - * libltdl/m4/libtool.m4 (sys_lib_search_path_spec, - sys_lib_dlsearch_path_spec): Allow for a cache variable - lt_cv_sys_lib_... to set these at configure time. - * doc/notes.texi: Short note about the above change. - -2008-01-24 Eric Blake - - Add proper quoting to doc examples. - * doc/libtool.texi: Use m4 quotes where appropriate. - (Test descriptions): Fix truncated sentence. - -2008-01-18 Gary V. Vaughan - - * Makefile.am (DISTCLEANFILES): Remove libtool.dvi generated - by 'make dvi'. - -2008-01-17 Ralf Wildenhues - - * libtoolize.m4sh (func_scan_files): Avoid matching our own - macro code when scanning configure.ac and aclocal.m4. - Don't produce spurious output if AC_PROG_RANLIB is found. - * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Add a (weak) check - that we don't match our own macro code when searching for user - code calling us. - * TODO: Updated. - -2008-01-17 Ralf Wildenhues - - New variable LTDLDEPS for use in output_DEPENDENCIES. - - * libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE, _LTDL_INSTALLABLE) - (LTDL_INIT): Set and substitute LTDLDEPS according to chosen - method. - * tests/configure-iface.at (installable libltdl) - (--with-ltdl-include/lib, --with-included-ltdl): Test it. - * doc/libtool.texi (Distributing libltdl): Document LTDLDEPS. - * NEWS: Updated. - Dependency bug exposed by Eric Blake in M4, found by Bob Proulx - build daemon. - -2008-01-17 Ralf Wildenhues - - * doc/libtool.texi (Distributing libltdl): Clarify that - `${top_build_prefix}' may be used in place of `${top_builddir}/'. - - * doc/libtool.texi (Distributing libltdl): Clarify that - LTDL_INIT goes after LT_INIT; also show the latter in the - respective examples. - * tests/subproject.at: Adjust order. - -2008-01-16 Ralf Wildenhues - - * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Use AM_CONDITIONAL - only if defined. Allows to use libltdl without aclocal. - -2008-01-16 Peter O'Gorman - - * libltdl/m4/libtool.m4: Set GCC var for every tag, avoids need - to set withGCC var. - -2008-01-15 Ralf Wildenhues - - * configure.ac: Set libltdl nonrecursive option, to avoid - configuring libltdl inside the Libtool package. - -2008-01-14 Ralf Wildenhues - - Silence all non-warning output from `libtool --silent'. - * libltdl/config/ltmain.m4sh (func_generate_dlsyms) - (func_extract_archives, func_mode_link): Use func_verbose - instead of func_echo for all non-warning output. - - * Makefile.maint (fetch): Update to match upstream git sources. - Pull `INSTALL' from gnulib instead of from Autoconf. - - * doc/notes.texi: Mention AIX binutils deficiency for C++ code. - Report by Rainer Tammer. - Suggest using bash for configure. - - * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Fix to use - new _LT_SET_OPTION semantics. - -2008-01-12 Ralf Wildenhues - - * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define - LTDL_DLOPEN_SELF_WORKS, depending upon lt_cv_dlopen_self. - * libltdl/loaders/dlopen.c (vm_open) [!LTDL_DLOPEN_SELF_WORKS]: - Fail for dlopen(NULL), so that the preopen loader is used. This - fixes mdemo-exec.test failures on AIX where dlopen(NULL) - succeeds but dlsym resolves no symbol. - * NEWS: Update. - Report by Rainer Tammer. - - * tests/am-subdir.at: Drop unused variables. - * tests/configure-iface.at: Likewise. - * tests/ctor.at: Likewise. - * tests/early-libtool.at: Likewise. - * tests/lt_dladvise.at: Likewise. - * tests/old-m4-iface.at: Likewise. - * tests/lt_dlexit.at: Likewise. Also drop unused functions. - - * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Also copy needed - lt~obsolete.m4. - - * libltdl/config/ltmain.m4sh (func_mode_link): Fix warning - about -l and -L for archives and objects as output, to not - trigger for *.la files. Non-convenience archives are diagnosed - later on. - - * tests/configure-iface.at: Ensure LTDLINCL is expanded - before CPPFLAGS, so that even CPPFLAGS=-I/usr/local/include - won't make the tests prefer an installed ltdl.h over the - in-package one. - * tests/lt_dladvise.at, tests/lt_dlexit.at: Likewise. - * tests/need_lib_prefix.at, tests/old-m4-iface.at: Likewise. - Report by Bob Friesenhahn. - -2008-01-11 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) : - Also exclude `_GLOBAL__F[ID]_.*'. Also set for the C++ tag. - Fixes esp. demo/helldl build failure with GCC on AIX. - Report by Rainer Tammer. - -2008-01-11 Peter O'Gorman - - * libltdl/m4/libtool.m4 [darwin]: Reorganize darwin support, use - dsymutil if it is available so that debugging is possible, check - for nmedit and dsymutil with AC_CHECK_TOOL, use the linker flag - -exported_symbols_list in preference to nmedit if it is available. - Drop support for xlc, it is probably broken. - * tests/template.at [darwin]: Skip this test, I can not find a way - to make it work on darwin9 with Xcode-3.0. - * NEWS: Note the dropping of xlc support. - -2008-01-08 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (LT_INIT): m4_require, not AC_REQUIRE - _LT_CHECK_BUILDDIR, as it's m4_defun'ed, not AC_DEFUN'ed. - Report by Peter O'Gorman. - - * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE): Restore correct - _LT_BUILD_PREFIX-using code. - -2008-01-08 Gary V. Vaughan - - * tests/recursive.at: Remove bogus --debug option. - Reported by Ralf Wildenhues - - * tests/configure-iface.at: Build libltdl in a subdir so that - it can be easily removed without trying to remove config.log - on windows (which can't delete a file until it is closed). - Reported by Ralf Wildenhues - - * libltdl/m4/ltdl.m4 (LTDL_INSTALLABLE): Use _LT_BUILD_PREFIX - instead of ${top_builddir} for Autoconf-2.62. - Reported by Ralf Wildenhues - - * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Correct closing - comment. - Reported by Ralf Wildenhues - - * NEWS: Grammar nit. - - * tests/configure-iface.at, tests/nonrecursive.at, - tests/recursive.at, tests/subproject.at (_LTDL_SETUP): - Renamed to _LT_AT_LTDL_SETUP to avoid a nameclash with - libltdl/m4/ltoptions.m4:_LTDL_SETUP from yesterday's patch. - Reported by Ralf Wildenhues - -2008-01-07 Ralf Wildenhues - - * tests/runpath-in-lalib.at (Runpath in libtool library files): - Compile program file without libtool. - Report by Rainer Tammer. - -2008-01-07 Rainer Tammer (tiny change) - Ralf Wildenhues - - Support AIX 6.1. - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) - (_LT_LANG_FC_CONFIG): Adjust case patterns to match AIX 6 - through 9 as well. - * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. - * NEWS: Update. - * THANKS: Update. - -2008-01-07 Gary V. Vaughan - - Move libltdl build mode options from LT_CONFIG_LTDL_DIR to - LTDL_INIT. Accept (optional) new 'convenience' and 'installable' - options in lieu of LTDL_CONVENIENCE and LTDL_INSTALL macros. And - also, implement --with-included-ltdl, --with-ltdl-lib and - --with-ltdl-include configure-time options: - - * libltdl/m4/ltoptions.m4: Associate existing option settings with - LT_INIT. - (LT_OPTION_DEFINE): Associate options 'nonrecursive', 'recursive', - 'subproject', 'installable' and 'convenience' with LTDL_INIT. - (_LT_MANGLE_OPTION, _LT_SET_OPTION, _LT_IF_OPTION) - (_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Add MACRO-NAME argument to - support options to named macros instead of hardcoding only LT_INIT - options. - * libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE): Factor common code from - LTDL_CONVENIENCE and LTDL_INIT([convenience]). - (_LTDL_INSTALLABLE): Factor out common code from LTDL_INSTALLABLE - and LTDL_INIT([installable]). - (_LTDL_SETUP): Renamed from LTDL_INIT. Support new configure-time - options: --with-included-ltdl, --with-ltdl-lib, - --with-ltdl-include. - (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust. - (LT_WITH_LTDL): Removed. - (LTDL_INIT): Parse caller options. - * libltdl/m4/libtool.m4 (LT_INIT): Declare that this macro must be - expanded before LTDL_INIT, and be sure to parse caller options. - * configure.ac: Call directly into internal _LTDL_SETUP macro. - * libtoolize.m4sh (func_scan_files): Ltdl mode argument moved from - LT_CONFIG_LTDL_DIR to LTDL_INIT. - * tests/nonrecursive.at, tests/recursive.at: Use new interfaces. - * tests/configure-iface.at: Test it. - * Makefile.am (TESTSUITE_AT): Add configure-iface.at. - * doc/libtool.texi (Distributing libltdl): Document improved - LTDL_INIT interfaces. - * NEWS: Updated. - -2008-01-02 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): When creating - reloadable object files, avoid issuing plain `rm -f' without - further arguments, even if the line length limit is ridiculously - low as in the `Run tests with low max_cmd_len' test. This - failure is exposed on NetBSD. - Report by Patrick Welche. - - * Makefile.am (EXTRA_DIST): Add ChangeLog.2007. - * ChangeLog.2007: New, rotated, from... - * ChangeLog: ...here. - * NEWS, README, README.alpha, Makefile.am, libtoolize.m4sh, - libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, - libltdl/m4/libtool.m4: Bump copyright years. - -2007-11-30 Stefan Sperling (tiny change) - - * doc/libtool.texi (Linking executables): Reorder paragraphs. - -2007-11-26 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: The IBM - XL 8.0 C++ compiler may also be called xlc++*, not only xlC*. - Report by Nysal K Jan . - -2007-11-24 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): New macro. - Warn about whitespace in the absolute build tree name. - (LT_INIT): Use it. - * THANKS: Update. - Report by Jim Meyering. - - * libltdl/config/ltmain.m4sh (func_extract_an_archive) - (func_extract_archives): Add some quoting. - -2007-11-16 Ralf Wildenhues - - Use `${top_build_prefix}' for better compatibility with non-GNU make. - * libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro. - If the Autoconf version used is >= 2.62, then expand to - `${top_build_prefix}', otherwise to `${top_builddir}/'. - (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining - LIBLTDL. Fixes a build failure with AIX make in a package - using convenience libltdl in nonrecursive mode. - * doc/libtool.texi (Distributing libltdl): Document requirements - to define `top_build_prefix' if Automake is not used. - Report by Bob Friesenhahn. - -2007-11-12 Ralf Wildenhues - - Avoid warnings about conftest.dSYM directories on Mac OS X Leopard. - * libltdl/m4/libtool.m4 (_LT_LINKER_BOILERPLATE) - (_LT_LINKER_OPTION, _LT_CMD_GLOBAL_SYMBOLS): Remove - conftest.dSYM directory. - Report and analysis by Jeff Squyres and Peter O'Gorman. - -2007-11-09 Ralf Wildenhues - - * libltdl/configure.ac: Drop the broken and long-disabled code - to output a banner for the libltdl configure. Avoids the need - to ship mkstamp with libltdl. - -2007-11-08 Ralf Wildenhues - - * tests/runpath-in-lalib.at: New test. - * Makefile.am: Update. - Report by Benoit SIGOURE . - -2007-10-16 Eric Blake - - Speed up bootstrap by improving lt_join. - * libltdl/m4/ltsugar.m4 (lt_join, _lt_join): Rewrite to mirror - Autoconf 2.62's faster implementation. - -2007-10-12 Eric Blake - - Whitespace cleanup. - * libltdl/m4/ltsugar.m4: Avoid space-tab in indents. - * libltdl/m4/libtool.m4: Avoid trailing space. - - Deal with Autoconf 2.62's semantic change in m4_append. - * libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of - m4_append. - (lt_if_append_uniq): Don't require separator to be overquoted, and - avoid broken m4_append. - (lt_dict_add): Fix typo. - * libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator. - -2007-10-12 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh: Also sanitize `LANGUAGE'. - (func_mode_execute): Also restore `LANGUAGE', for old glibc. - Report by Paul Eggert against Autoconf. - -2007-10-11 Eric Blake - - * libltdl/.cvsignore: Ignore argz.h. - -2007-10-11 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) - : Renamed from - lt_prog_compiler_pic_works. - : Renamed from - lt_prog_compiler_static_works. - * NEWS: Update. - -2007-10-09 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_compile): Accept - extension `.sx'. - * tests/suffix.test: Test it. - -2007-09-07 Ralf Wildenhues - - * libltdl/lt_dlloader.c (loader_callback, lt_dlloader_get): Use - NULL, not 0, for the benefit of too picky compilers like PGI. - * slist.c (slist_tail): Likewise. Include stddef.h, for NULL. - Report by Jeff Squyres. - -2007-09-05 Eric Blake - - * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller - has set data. - -2007-09-04 Ralf Wildenhues - - * doc/libtool.texi (User defined module data) - : Document that a NULL place matches - all modules. - * libltdl/lt_dlloader.c (lt_dlloader_remove): Actually iterate - over all open modules when looking for modules that use it. - If a resident module is found, return but do not set the error - string. - * libltdl/ltdl.c (lt_dlexit): When removing dlloaders, ignore - errors that stem from earlier failed commands. Exposed by the - lt_dladvise test. - Fixes regression over branch-1-5. - Memleak report as Coverity CID 19 via Jeff Squyres. - -2007-09-01 Ralf Wildenhues - - * NEWS: Update. - - * libltdl/ltdl.c (trim): Fix possible write beyond array bound. - - * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return - FILE_NOT_FOUND if the filename is "". - - * libltdl/ltdl.c (try_dlopen): Fix computation of extension, - avoids subtracting pointer from NULL pointer. - - * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Do not test - array address of sys_dlsearch_path against NULL, rather test for - nonempty contents. - Coverity reports CID 148 and CID 149 via Jeff Squyres. - - * libltdl/ltdl.c (tryall_dlopen_module): Fix string length - computation: do not allocate more than needed. - -2007-08-30 Ralf Wildenhues - - * libltdl/loaders/preopen.c (vm_close): `module' is unused. - Coverity report CID 158 via Jeff Squyres. - - * libltdl/ltdl.c (parse_dotla_file): If we run out of memory, - do not close the .la file twice. - Coverity report CID 440 via Jeff Squyres. - - * libltdl/ltdl.c (has_library_ext): Remove dead code. - Coverity report CID 561 against Open MPI via Jeff Squyres. - -2007-08-29 Ralf Wildenhues - - * libltdl/slist.c (slist_remove): When a matching item is found, - break out of the loop to return the first match; also fixes - possible NULL dereference. - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) [ linux ]: Add support for IBM XL 8.0 - C/C++ (xlc*, xlC*) and IBM XL Fortran 10.1 (xlf*) on GNU/Linux, - tested on ppc, pending a $shlibpath_var related fix. - (_LT_SYS_HIDDEN_LIBDEPS): Double-quote $output_verbose_link_cmd - properly during evaluation, obsoleting $no_glob_subst mangling. - * NEWS: Update. - -2007-08-18 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] - [ k*bsd*-gnu ] : Avoid spurious - output in runpath test. - -2007-08-16 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ mingw, cygwin ] - : Do not use -DDLL_EXPORT. - Report by Ross Ridge . - - * Makefile.am (edit): Do not warn against manual editing for the - generated files libtool, libtoolize, libltdl/m4/ltversion.m4, - tests/defs, as they are still in a preferred source code form as - required by GPL. - Report by DJ Delorie. - -2007-08-15 Dirk Mueller (tiny change) - Ralf Wildenhues - - * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen. When - reading .la files, cope with files that are not - newline-terminated. - -2007-08-05 Tilman Koschnick (tiny change) - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) - [ linux ]: Treat pgcpp as Portland Group C++ compiler as well. - -2007-08-05 Ralf Wildenhues - - * libltdl/ltdl.c (try_dlopen): Use `attempt' rather than - `filename', as the former has the needed extension when called - by lt_dlopenext. - Report by Brian Barrett. - -2007-07-27 Peter Rosin - - * Makefile.am: Pass STRIP through to the testsuite, so that - tests that run configure will use the same strip program. - -2007-07-24 Ralf Wildenhues - - * tests/mdemo-exec.test: Also try absolute library names. - * tests/mdemo/main.c (test_dl, main): Try lt_dlopenext as well. - * THANKS: Update. - Report by Brian Barrett. - -2007-07-23 Ralf Wildenhues - - * doc/fdl.texi: Update to GFDL 1.2. - * doc/libtool.texi: Adjust. Put License in Appendix. - - * libltdl/config/ltmain.m4sh (func_mode_link): Remove each - intermediate relinked object after use, to avoid quadratic space - complexity when linking partially. - Report by Isidor Zeuner . - -2007-07-23 Eric Blake - - * libltdl/config/ltmain.m4sh: Whitespace cleanup. - - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) - : Avoid compiler warning. - -2007-07-22 Peter Rosin - - * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Add - support for Microsoft Visual C. Also, older MinGW versions - seem to need stdint.h to find intptr_t. - -2007-07-22 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: - Ignore lines in ld.so.conf starting with 'hwcap '. - -2007-07-16 Charles Wilson - - * tests/cdemo-exec.test: use $EXEEXT where appropriate - to correct mingw cross-compile issues. - * demo-deplibs.test: Ditto. - * demo-exec.test: Ditto. - * demo-inst.test: Ditto. - * demo-relink.test: Ditto. - * depdemo-exec.test: Ditto. - * depdemo-inst.test: Ditto. - * depdemo-relink.test: Ditto. - * f77demo-exec.test: Ditto. - * fcdemo-exec.test: Ditto. - * mdemo-exec.test: Ditto. - * mdemo-inst.test: Ditto. - * mdemo2-exec.test: Ditto. - * pdemo-exec.test: Ditto. - * pdemo-inst.test: Ditto. - * tagdemo-exec.test: Ditto. - -2007-07-14 Peter Rosin - - * AUTHORS, THANKS: Peter Ekberg got married, now Peter Rosin. - -2007-07-13 Charles Wilson - - * libltdl/m4/libtool.m4 (func_dirname_and_basename) : - New function. - (func_dirname_and_basename) : New function. - * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): - Call it. Also, take advantage of missed optimization using - func_dirname's additional arguments. - (func_mode_compile): Call it. - (func_mode_install): Call it. - (func_mode_link): Call it. - -2007-07-12 Peter Rosin - - * libltdl/config/ltmain.m4sh (func_mode_link): Strip the cwrapper - using $STRIP instead of relying on the tools to support -s, which - MSVC doesn't. - -2007-07-06 Peter O'Gorman - - * libltdl/config/libtool.m4sh: Don't pass -msg_* through to the - linker. - Reported by Bob Friesenhahn - -2007-07-04 Bob Friesenhahn - - * libltdl/lt__alloc.c, libltdl/loaders/preopen.c, - libltdl/loaders/dyld.c, libltdl/loaders/dlopen.c, libltdl/ltdl.c, - libltdl/lt_error.c, libltdl/lt_dlloader.c, libltdl/lt__dirent.c: - Include lt__private.h prior to any system headers. - * libltdl/lt__alloc.c: Remove redundant inclusion of configuration - header. - -2007-07-04 Eric Blake - - * libltdl/ltdl.c (advise_dup): Delete function no longer used - after memleak fix three days ago. - -2007-07-03 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Cater to - old Sparc Solaris 7 ld that does not understand `-64'. - Report by Vincent Lefevre . - -2007-07-01 Ralf Wildenhues - - * libltdl/m4/lt~obsolete.m4 (LTOBSOLETE_VERSION): New macro, to - force-pull in this file by aclocal. - * libltdl/m4/libtool.m4 (LT_INIT): Require LTOBSOLETE_VERSION. - * tests/libtoolize.at (upgrading verbatim style aclocal.m4): - Adjust. - Report by H. J. Lu . - - * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed - alias of `advise' instead of allocating a copy. Fixes memleak. - -2007-06-30 Peter Breitenlohner - - * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Correct a typo - ("-dld" instead of "-ldld"). - -2007-06-24 Gary V. Vaughan - - Add a test to simulate a failure visible on systems which - need a library prefix like 'lib', such as BeOS. Fix a number - of bugs exposed by this test in order for it to pass. - Currently the prefix is hardcoded as 'lib', as I am not aware - of systems that require a different prefix: - - * libltdl/loaders/preopen.c (lt_dlpreload_open): Move error - condition out of test loop to be sure that each originator is - tried, instead of erroring out if the first doesn't match. - Support passing NULL as the originator to load all preloaded - modules originating in the program itself. - * libltdl/lt_dlloader.c (lt_dlloader_dump): New debug function. - * libltdl/libltdl/lt_dlloader.h (lt_dlloader_dump): Declare it - when LT_DEBUG_LOADERS is defined at compile time. - * libltdl/ltdl.c (lt_dlinit): Dump loader list after successful - initialisation. - (tryall_dlopen): Add a new VTABLE parameter to force use of a - specific loader in preference to trying every loader in turn. - Adjust all callers. - (try_dlopen): Always see whether a module was preloaded for - module names with no directory component before searching the - filesystem for a match. - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Declare - a new global_symbol_to_c_name_address_lib_prefix variable. - (global_symbol_to_c_name_address_lib_prefix): The sed - expressions to use when a lib prefix is enforced need to be - slightly different to work with preloaded modules. - * libltdl/config/ltmain.m4sh (func_generate_dlsyms): In order - to name preloaded symbols correctly for the lookup algorithm - to work when the loaded module file must be prefixed with lib. - Use global_symbol_to_c_name_address_lib_prefix when - need_lib_prefix is other than no. - * tests/need_lib_prefix.at: New test to check for breakage on - hosts where need_lib_prefix is unknown. - * Makefile.am (TESTSUITE_AT): Add new test. - * tests/TODO: Note missing tests that would have caught some - of the latent bugs fixed by this patch. - * HACKING: Document libltdl keyword. - * NEWS: Updated. - -2007-06-24 Gary V. Vaughan - - Reenable compilation of libltdl with C++: - - * libltdl/ltdl.c (tryall_dlopen): Rename the try variable to - attempt, and cast explicitly. - (advise_dup): Add explicit cast. - -2007-06-22 Peter O'Gorman - - * libltdl/config/ltmain.m4sh (version-number) [irix]: Don't subtract - 1 from major as it may be less than age. - -2007-06-21 Noah Misch - - * tests/f77demo/configure.ac [--with-dist]: New option. Skip most - Fortran checks when given. - * tests/fcdemo/configure.ac [--with-dist]: Likewise. - * Makefile.am (@DIST_MAKEFILE_LIST@): Pass --with-dist. - Reported by Benoit Sigoure . - -2007-06-19 Charles Wilson - - * AUTHORS: Add myself. - -2007-06-18 Charles Wilson - - * libltdl/config/ltmain.m4sh: Add new magic variable - for use with cwrapper. - (func_ltwrapper_script_p): New function. - (func_ltwrapper_executable_p): New function. - (func_ltwrapper_scriptname): New function. - (func_ltwrapper_p): Accomodate both wrapper scripts and - wrapper executables. - (func_mode_execute): Handle $file that is a wrapper - script and $file that is a wrapper executable differently. - (func_mode_install) [cygwin|mingw]: If $file is a wrapper - executable, use func_ltwrapper_scriptname to determine - wrapper script name. Afterwards, always use - func_ltwrapper_script_p instead of func_ltwrapper_p. - (func_emit_libtool_wrapper_script): Rename to... - (func_emit_wrapper): ...this. All callers changed. - (func_emit_libtool_cwrapperexe_source): Rename to... - (func_emit_cwrapperexe_src): ...this. All callers changed. - Embed new magic_exe variable into source. Private transient - wrapper script now called foo_ltshwrapperTMP, not - foo_ltshwrapper. - (func_emit_cwrapperexe_src) [main, mingw]: Use _spawnv - and return child's exit code manually rather than rely on - broken execv. - (func_mode_link) [cygwin|mingw]: Don't call dirname and - basename directly; use func_dirname and func_basename - when computing cwrapper names. Use cwrapper to generate - wrapper script, and use pathname returned by - func_ltwrapper_scriptname instead of $output. - (func_mode_link) [NOT cygwin|mingw]: move wrapper script - generation for non-win32 inside case statement, as default - case. - (func_mode_uninstall) [$name's extension != .lo|.la]: - 'clean' mode must handle $file differently if it is a libtool - wrapper script, or if it is a libtool wrapper executable. - * tests/destdir.at [Simple DESTDIR install]: $EXEEXT fixups. - * tests/destdir.at [DESTDIR with in-package deplibs]: Ditto. - -2007-06-17 Noah Misch - - * AUTHORS: Add myself. - -2007-06-17 Peter O'Gorman - - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): add quotes to - the test -n. - -2007-06-17 Charles Wilson - - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): ensure stderr - is redirected even when getconf does not exist. - -2007-06-09 Charles Wilson - - * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script): - Take an argument to specify value assigned to - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR in the emitted - script. - (func_emit_libtool_cwrapperexe_source) [file scope]: - define permission flags S_IXGRP and S_IXOTH if not - already defined. - (func_emit_libtool_cwrapperexe_source) [LTWRAPPER_DEBUGPRINTF]: - Use C89-compatible syntax to mimic variadic macros. - Adjust all callers. - (func_emit_libtool_cwrapperexe_source) [check_executable]: - avoid embedded #ifdefs; use S_IXGRP and S_IXOTH - unconditionally. - (func_emit_libtool_cwrapperexe_source) [make_executable]: - ditto. - (func_emit_libtool_cwrapperexe_source): don't rewrite - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR posthoc; instead pass - correct argument when calling func_emit_libtool_wrapper_script. - (func_mode_link): pass correct argument when calling - func_emit_libtool_wrapper_script. - -2007-06-07 Charles Wilson - - * libltdl/config/ltmain.m4sh (func_emit_libtool_cwrapperexe_source): - ensure that generated source follows GCS as nearly as - possible. - -2007-06-07 Charles Wilson - - * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script): - add code block to handle cases when wrapper script is in $objdir. - (func_emit_libtool_cwrapperexe_source): replace DEBUG() macro - with namespace-safe LTWRAPPER_DEBUGPRINTF(). Call - func_emit_libtool_wrapper_script() with appropriate filters to - embed script text in C char* static variable. - (f_e_l_c_s: main): add new option --lt-dump-script, parse argv[] - for it, and take appropriate action. Call chase_symlinks() - on argv[0], in case this.exe was launched via one. Use chased - value to determine full absolute pathname of wrapper script, in - $objdir. Unconditionally write script out to this pathname and - set permission bits. Remove extraneous ';' from debugging loop. - (f_e_l_c_s: main) [mingw]: DOS-ize $SHELL before populating - newargv[0]; if $TARGETSHELL environment variable is set, use - it instead of $SHELL and do not DOS-ize. Ensure newargv[1] - (wrapper script absolute path) uses only '/', not '\'. Make - sure to call execv() with DOS-ized $SHELL (or un-DOS-ized - $TARGETSHELL, if set) - (f_e_l_c_s: make_executable): new function - (f_e_l_c_s: chase_symlinks): new function (no-op if !S_ISLNK) - -2007-06-03 Peter O'Gorman - - * libltdl/m4/libtool.m4 (old_archive_cmds): Remove - old_deplibs. - * tests/archive-in-archive.at: Check for archives as members - of static archives. Currently XFAILS, above only eliminates - one of the two static archives. - * Makefile.am: Add test. - Reported by Daniel Macks - -2007-06-01 Steve Ellcey - - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf - to set lt_cv_sys_max_cmd_len. - -2007-05-28 Peter O'Gorman - - * libltdl/config/ltmain.m4sh (func_mode_link), - libltdl/m4/libtool.m4 [darwin]: Only use ${wl} in verstring - with xlc. - -2007-05-22 Gary V. Vaughan - - * tests/lt_dladvise.at: Use the lib prefix throughout for - better portability - testing whether modules build and load - without that prefix is not the domain of this test. - Also, only run the test of the global hint with the depend - module on hosts that can compile a module without passing - -no-undefined in link mode. - -2007-05-10 Noah Misch - - * tests/duplicate_deps.at: Make the XFAIL unconditional, but - skip the test if the test link would succeed even without - --preserve-dup-deps. - - * libltdl/config/general.m4sh (func_echo): Use $* instead of - ${1+"$@"}. - -2007-05-09 Eric Blake - - * libltdl/libltdl/lt_error.h (LT_ERROR_LEN_MAX): Adjust, to fix - buffer overflow in previous patch. - -2007-05-09 Gary V. Vaughan - - * tests/lt_dladvise.at: Commit missing file from below. - -2007-05-08 Gary V. Vaughan - - Without this patch, lt_dlopen always opens modules with symbol - visibility set according to the underlying implementation. - Here, we add lt_dlopenadvise() to allow callers to request, - among other things, local or global symbol visibility from the - underlying dlloader: - - * libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed. - (LT_DLIS_RESIDENT): Use public is_resident info field. - (LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for - module symbol visibility status. - (tryall_dlopen): If vtable->module_open() was able to act on - either is_symlocal or is_symglobal hints, store that in - the handle flags. - (lt_dlopenadvise): New function that works like lt_dlopen(), - but accepts an advise type to determine whether to ask - dlloaders to change default symbol visibility. - (lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with - the correct parameters. - (lt_dladvise_init, lt_dladvise_destroy): New functions to - initialize and destroy an advise type hint. - (lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local) - (lt_dladvise_global): Set hints on an advise type. - (openadvise): Factored out of lt_dlopenadvise. - (has_library_ext): Factored out of lt_dlopenadvise. - * libltdl/ltdl.h: Declare all of the above. - (lt_dlinfo): New fields for advise hints. - * libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new - advise parameter. Adjust all callers. - (lt_dladvise): New opaque type for advise hints. - * libltdl/libltdl/lt__private.h (lt__advise): Declare - contents of opaque lt_dladvise type. - * libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error - for attempts to have local and global symbol visibility at the - same time. - * libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c, - libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, - libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust. - * libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to - define these symbols if the system has equivalents. - (vmopen): If unable to act on a caller request to set symbol - visibility, then unset the relevant hints in the advise type. - * tests/lt_dladvise.at: New tests for the above. - * doc/libtool.texi (Libltdl Interface): Updated. - * NEWS: Updated. - -2007-05-03 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): When adding - new_inherited_linker_flags to compiler_flags, remember to - translate .ltframework back. Fixes bug introduced 2007-04-23. - * THANKS: Update. - * tests/inherited_flags.at: Amend test. - Report by Christoph Egger. - -2007-05-03 Reuben Thomas (tiny change) - - * doc/libtool.texi (Libltdl interface): Fix typo. - -2007-05-01 Ralf Wildenhues - - * Makefile.am (clean-ltmain-sh): Removed. - (libtool, $(srcdir)/$(m4dir)/ltversion.m4) - ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any - phony rules. Test `$?' for prerequisites that should always - cause us to update the target. Fixes rebuilding rules, at the - cost of sometimes updating too much with non-GNU make. - -2007-04-27 Noah Misch - - * tests/ctor.at: New file. - * Makefile.am (TESTSUITE_AT): Add tests/ctor.at. - -2007-04-27 Charles Wilson - - * libltdl/libltdl/lt__glibc.h: Use !HAVE_WORKING_ARGZ - instead of SYSTEM_ARGZ_IS_BROKEN. - * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Ditto. Also, minor - stylistic improvements. - Report by Bruno Haible . - -2007-04-25 Charles Wilson - Ralf Wildenhues - - * libltdl/argz_.h: ensure error_t definition is obtained - in same mechanism system argz.h would have. - * libltdl/libltdl/lt__glibc.h: also detect if - SYSTEM_ARGZ_IS_BROKEN when determining whether to re#def - argz* functions. - * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): add new test to check - if $host's argz facilities are known bad. Err on the side - of caution if cross-compiling. - -2007-04-25 Ralf Wildenhues - - * README, README.alpha: Document how to test an arbitrary - installed libtool script. - -2007-04-24 Ralf Wildenhues - - * tests/cmdline_wrap.at: Avoid `AT_CAPTURE_FILE' if it not - defined (Autoconf < 2.60). - * tests/shlibpath.at: Add `libtool' keyword. - - * tests/indirect_deps.at: New file, with tests to ensure - `link_all_deplibs=no' does not break functionality. - * Makefile.am: Adjust. - -2007-04-23 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Fix accumulation - of `inherited_linker_flags' entries from multiple deplibs, by - adding $new_inherited_linker_flags only once, only in link pass. - * tests/inherited_flags: Amend test to expose this. - * NEWS: Adjust: kill one regression, but add note about the - feature new in 1.9b. - Report by Jeff Squyres and others. - -2007-04-23 Charles Wilson - - * libltdl/config/ltmain.m4sh (func_mode_link): move wrapper - script generation from here... - (func_emit_libtool_wrapper_script): to this new function, and - write to stdout - (func_mode_link): move cwrapper source code generation from - here... - (func_emit_libtool_cwrapperexe_source): to this new function, - and write to stdout - (func_mode_link): call the two new functions and redirect - output to appropriate file. - -2007-04-10 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link) <-no-install> - [ darwin ]: Treat like `-no-fast-install', as we cannot - hardcode. Report by Simon Josefsson. - -2007-04-03 Ralf Wildenhues - - * doc/libtool.texi (Link mode) <-no-install>: Mention that this - still generates a wrapper script on systems without hardcoding. - * tests/stresstest.at: Test `-no-install'. - * THANKS: Update. - Report by Simon Josefsson. - -2007-03-30 Matthieu Herrb - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [ openbsd ]: Add an explicit check for shared libraries support. - -2007-03-29 Ralf Wildenhues - - * Makefile.am ($(srcdir)/$(m4dir)/ltversion.m4): Fix quoting - error. - -2007-03-28 Gary V. Vaughan - - * HACKING (Abstraction layers in libltdl): Rewritten somewhat - for (hopefully) better clarity. - -2007-03-26 Gary V. Vaughan - - The stamp-vcl file rules caused non-gnu make programs to rerun - parts of the configuration process on each invocation. Instead - of relying on a stamp file, we now compare version numbers of - generated files with the ChangeLog timestamp manually in the - affected make rules to decide whether regenerating is necessary: - - * Makefile.am (EXTRA_DIST): Remove stamp-vcl. - (clean-ltmain-sh): Also remove users' obsolescent stamp-vcl. - (rebuild): Keep some common code here for... - (libtool, libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh): - Rewritten to work without reference to intermediate stamp-vcl - file. - * configure.ac (CONFIG_STATUS_DEPENDENCIES): Change from - stamp-vcl to ChangeLog. - * NEWS: Removed entry saying this fix is needed. - -2007-03-25 Gary V. Vaughan - - * HACKING (LGPL with Libtool exception clause): Typo. - Reported by Tim Van Holder - - * HACKING (Licensing Rules): Explain the various license texts - used for files distributed with Libtool, and update license text - to match. - * Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO, - bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc, - libltdl/README, libltdl/argz.c, libltdl/argz_.h, - libltdl/config/general.m4sh, libltdl/config/getopt.m4sh, - libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh, - libltdl/config/mkstamp, libltdl/configure.ac, - libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, - libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, - libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, - libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, - libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, - libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, - libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, - libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c, - libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, - libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, - libltdl/ltdl.h, libltdl/m4/argz.m4, libltdl/m4/libtool.m4, - libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, - libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in, - libltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4, - libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at, - tests/cdemo-conf.test, tests/cdemo-exec.test, - tests/cdemo-make.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/cdemo-undef.test, - tests/cdemo/Makefile.am, tests/cdemo/configure.ac, - tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c, - tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh, - tests/demo-conf.test, tests/demo-deplibs.test, - tests/demo-exec.test, tests/demo-hardcode.test, - tests/demo-inst.test, tests/demo-make.test, - tests/demo-nofast.test, tests/demo-noinst-link.test, - tests/demo-nopic.test, tests/demo-pic.test, - tests/demo-relink.test, tests/demo-shared.test, - tests/demo-static.test, tests/demo-unst.test, - tests/demo/Makefile.am, tests/demo/configure.ac, - tests/demo/dlmain.c, tests/demo/foo.c, - tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c, - tests/demo/hello.c, tests/demo/main.c, - tests/depdemo-conf.test, tests/depdemo-exec.test, - tests/depdemo-inst.test, tests/depdemo-make.test, - tests/depdemo-nofast.test, tests/depdemo-relink.test, - tests/depdemo-shared.test, tests/depdemo-static.test, - tests/depdemo-unst.test, tests/depdemo/Makefile.am, - tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am, - tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h, - tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c, - tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am, - tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h, - tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c, - tests/depdemo/l4/l4.h, tests/depdemo/main.c, - tests/depdemo/sysdep.h, tests/deplibs-ident.at, - tests/destdir.at, tests/duplicate_conv.at, - tests/duplicate_deps.at, tests/duplicate_members.at, - tests/early-libtool.at, tests/export.at, - tests/f77demo-conf.test, tests/f77demo-exec.test, - tests/f77demo-make.test, tests/f77demo-shared.test, - tests/f77demo-static.test, tests/f77demo/Makefile.am, - tests/f77demo/configure.ac, tests/f77demo/cprogram.c, - tests/f77demo/foo.h, tests/f77demo/fooc.c, - tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test, - tests/fcdemo-make.test, tests/fcdemo-shared.test, - tests/fcdemo-static.test, tests/fcdemo/Makefile.am, - tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, - tests/fcdemo/foo.h, tests/fcdemo/fooc.c, - tests/inherited_flags.at, tests/libtoolize.at, - tests/link-2.test, tests/link-order.at, tests/link-order2.at, - tests/link.test, tests/lt_dlexit.at, tests/mdemo-conf.test, - tests/mdemo-dryrun.test, tests/mdemo-exec.test, - tests/mdemo-inst.test, tests/mdemo-make.test, - tests/mdemo-shared.test, tests/mdemo-static.test, - tests/mdemo-unst.test, tests/mdemo/Makefile.am, - tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c, - tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c, - tests/mdemo/sub.c, tests/mdemo2-conf.test, - tests/mdemo2-exec.test, tests/mdemo2-make.test, - tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac, - tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at, - tests/objectlist.test, tests/old-m4-iface.at, - tests/pdemo-conf.test, tests/pdemo-exec.test, - tests/pdemo-inst.test, tests/pdemo-make.test, - tests/pdemo/Makefile.am, tests/pdemo/configure.ac, - tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c, - tests/pdemo/longer_file_name_foo.c, - tests/pdemo/longer_file_name_foo2.c, - tests/pdemo/longer_file_name_hell1.c, - tests/pdemo/longer_file_name_hell2.c, - tests/pdemo/longer_file_name_hello.c, - tests/pdemo/longer_file_name_main.c, tests/quote.test, - tests/recursive.at, tests/search-path.at, tests/sh.test, - tests/shlibpath.at, tests/standalone.at, tests/static.at, - tests/stresstest.at, tests/subproject.at, tests/suffix.test, - tests/tagdemo-conf.test, tests/tagdemo-exec.test, - tests/tagdemo-make.test, tests/tagdemo-shared.test, - tests/tagdemo-static.test, tests/tagdemo-undef.test, - tests/tagdemo/Makefile.am, tests/tagdemo/baz.cpp, - tests/tagdemo/baz.h, tests/tagdemo/configure.ac, - tests/tagdemo/conv.cpp, tests/tagdemo/conv.h, - tests/tagdemo/foo.cpp, tests/tagdemo/foo.h, - tests/tagdemo/main.cpp, tests/tagtrace.test, - tests/template.at, tests/testsuite.at: Apply correct license - text according to the new rules set out in HACKING. - -2007-03-19 Gary V. Vaughan - - * libtoolize.m4sh: Handle argz.m4 specially like ltdl.m4, so - that it isn't copied unless libltdl is being used. Copy other - macro files according to their tagged serial numbers. - * tests/libtoolize.at: Adjust. - -2007-03-18 Ralf Wildenhues - - * tests/mdemo/Makefile.am (libmlib_la_LDFLAGS): Add - `-export-symbols-regex ".*"' because the convenience libltdl - uses export markers and thus turns off autoexport on w32. Fixes - test failures for Cygwin and MinGW. - Bug analysis by Charles Wilson. - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ interix ]: When - matching for interix, accept version range [3-9] instead of 3. - * NEWS: Update. - Report by Martin Koeppe . - - * libltdl/m4/libtool.m4 (LT_PROG_GCJ): Avoid M4 expansion error - that caused `dnl' to be merged to the previous word. - * THANKS: Update. - Report by Steve Ellcey. - -2007-03-09 Gary V. Vaughan - - * libtoolize.m4sh: Replace literal tab chars in help comment - with spaces to align columns in --help output. - -2007-03-06 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Also apply the - symbol filtering for w32 and the include_expsyms feature in the - case of exceeded command line length. Fixes test failure on - MinGW. - - * tests/stresstest.at: For const data object imported from - shared library, define appropriate macros to expand - __declspec(dllimport) on w32. Use two different main objects - and pick the right one for the link flags we are about to test. - Fixes test failure on MinGW. - - * tests/export.at: For const data object imported from shared - library, define appropriate macros to expand - __declspec(dllimport) on w32. Fixes test failure on MinGW. - -2007-03-05 Gary V. Vaughan - - * libtoolize.m4sh (func_check_macros): Display m4 quotes correctly - in AC_CONFIG_MACRO_DIR diagnostics. - - * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to - simplify m4sh quote quoting in blocks of raw shell code. - * clcommit.m4sh, libtoolize.m4sh, libltdl/config/getopt.m4sh, - libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh, - tests/defs.m4sh: Use it. - * HACKING (Editing `.m4sh' Files): Mention M4SH_VERBATIM Macro. - -2007-02-27 Ralf Wildenhues - - * tests/lt_dlexit.at: Allow test to pass on static-only systems - and with disable-shared. - - * NEWS: Rewrite all news since 1.9f and put in categories, - update. - - * libltdl/Makefile.inc: Fix the file description, so that it - matches recursive and nonrecursive libltdl setup. - * Makefile.am ($(srcdir)/libltdl/Makefile.am): Do not depend - upon the exact text of the copyright header, just copy until - the marker line. Remove the marker lines in the output, and - adjust the description for subpackage setup. - -2007-02-26 Gary V. Vaughan - - * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fix regexp typo. - - * clcommit.m4sh: Look in the right directory for helper scripts. - -2007-02-25 Gary V. Vaughan - - * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fixup regex to - match Copyright notice change below. - - * HACKING, Makefile.am, Makefile.maint, bootstrap, - libltdl/Makefile.am, libltdl/Makefile.inc, libltdl/m4/libtool.m4, - ltmain.c, tests/cdemo/Makefile.am, tests/demo/Makefile.am, - tests/depdemo/Makefile.am, tests/depdemo/l1/Makefile.am, - tests/depdemo/l2/Makefile.am, tests/depdemo/l3/Makefile.am, - tests/depdemo/l4/Makefile.am, tests/f77demo/Makefile.am, - tests/fcdemo/Makefile.am, tests/libtoolize.at, - tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, - tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Update - Copyright notice text to include URL for canonical GPL document. - -2007-02-25 Ralf Wildenhues - - * tests/static.at: Forgot to fix PATH for the first - func_test_exec invocation. So factor out into new functions - func_fix_path and func_restore_path and use those. - - * README: Document the need for GNU make to build Libtool. - Point the user to the doc/notes.txt file. In the examples, use - `gmake' throughout to make it more obvious. Explain simpler way - to run both testsuites and either one. Referring to individual - tests needs the `tests/' prefix. - * README.alpha: Likewise. - * doc/notes.texi: Likewise, document need for GNU make. - Comment out the FreeBSD make issue for now. - - * tests/static.at: Larger rewrite to make work on w32: Use three - different prefixes instead of three libdirs, so the moving of - the DLLs works as expected. Adjust all code. Since now - $libdirI/../bin is distinct from the directory of the installed - program, take care than on w32 PATH contains the needed bindirs, - in appropriate order. - Report by Charles Wilson. - - * Makefile.am (INSTALLCHECK_ENVIRONMENT): Point LTDLINCL and - LIBLTDL to installed libltdl, so that it is being used by - the lt_dlexit test. - -2007-02-24 Ralf Wildenhues - - * doc/libtool.texi (Install mode, libtool script contents): - Describe current and system-specific DESTDIR limitations. - * tests/destdir.at: XFAIL if `fast_install' is no. - - * doc/libtool.texi (LT_INIT): Fix typo. - - * doc/libtool.texi (Libtool test suite): Mention the new - testsuite. Point to README rather than INSTALL for testing - instructions. - (Test descriptions): Fix more file names. Also mention - cdemo-undef.test, mdemo2-conf.test, mdemo2-exec.test, - mdemo2-make.test, objectlist.test, pdemo-conf.test, - pdemo-exec.test, pdemo-inst.test, pdemo-make.test, - tagdemo-conf.test, tagdemo-exec.test, tagdemo-make.test, - tagdemo-static.test, tagdemo-shared.test, tagdemo-undef.test, - f77demo-conf.test, f77demo-exec.test, f77demo-make.test, - f77demo-static.test, f77demo-shared.test, fcdemo-conf.test, - fcdemo-exec.test, fcdemo-make.test, fcdemo-static.test, - fcdemo-shared.test. Describe what they do. - (When tests fail, Troubleshooting): Mention how to pass options - to the new test suite. - * tests/tagdemo/README: Fix description. - - * bootstrap: Also set GREP, FGREP, EGREP, LN_S, when creating a - preliminary ltmain.sh script. - - * doc/libtool.texi (Test descriptions): Track the grand test - suite renaming from 2003-10-14 in the tests documentation. - assign.test is merged into sh.test. Fix description of sh.test. - * tests/sh.test: Likewise. - - * doc/libtool.texi (LT_INIT): Fix wording of intro a bit. - : Also describe these default LT_INIT options. - - : Mention deprecated macro names, - including the respective LT_INIT replacement. - - : Document, un-deprecate. Suggest the - respective LT_INIT replacement. - - : Document deprecated aliases. - (Distributing libltdl) - : Document deprecated aliases. - * libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED) - (AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of - the respective AC_* macros, so we do not recommend LT_INIT(*) in - this case. - (AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC) - (AC_DISABLE_STATIC): Un-deprecate these. Remove now-superfluous - aclocal-1.4 backwards compatibility comments. - - * tests/link-order2.at: Rewrite completely. Do not use `sin' - from the math library, there are too many problems with this. - Instead, use a self-written library, install it without the - Libtool library file, to emulate a native library in a system - directory, and adjust $shlibpat_var. Try overriding its symbol. - Further, also try an installed `wrong' binary. - Avoid failing test bits on AIX without runtimelinking and on - Darwin in some cases, SKIP at the end in this case. - Analysis by Peter O'Gorman. - - * doc/notes.texi: Mention MACOSX_DEPLOYMENT_TARGET issue. - * tests/template.at: Only skip those tests failing on Darwin - if `-flat_namespace' is used by libtool. In that case, SKIP - at the end. Analysis by Peter O'Gorman. - -2007-02-23 Ralf Wildenhues - - Fix -export-symbols and -export-symbols-regex for links that - exceed the command line length and use convenience archives. - - * libltdl/config/ltmain.m4sh (func_mode_link): Avoid grepping a - nonexistent file if using reloadable objects. Do not create a - linker script nor a linker input file if no objects are passed. - Apply export_symbols_regex in case the command line length is - exceeded. - Report by Bob Friesenhahn. - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) - : New tag variable. Default to `no'. - (_LT_LINKER_SHLIBS) [ linux ]: Set it to yes for Sun C 5.9. - (_LT_LANG_CXX_CONFIG): Also default it to `no'. - [ linux ]: Set it to `yes' for Sun C++ 5.9. - * libltdl/config/ltmain.m4sh (func_mode_link): If we link - no objects but only convenience archives into a library, - force expansion if `compiler_needs_object' is yes. - For creating a linker input filelist due to long cmdline, - extract the first object if `compiler_needs_object' is yes. - * doc/libtool.texi (libtool script contents): Document it. - Fixes test failures of Sun compilers on GNU/Linux. - Report by Terry D. Dontje. - - * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting - `$libobjs' to a single space; set it to empty in that case. - -2007-02-23 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [ osf5 ]: - On Tru64 5.1, const relocations do not work well. Omit the - const here. Fixes failure of demo-make after demo-shared with - link editor error `seg_info_ptr: Couldnt find a seg type 2'. - - * Makefile.am (doc_libtool_TEXINFOS): Renamed from... - (libtool_TEXINFOS): ...this, to fix dependencies. Omit from - EXTRA_DIST. - (check-local): Also depend upon $(bin_SCRIPTS). - -2007-02-23 Ralf Menzel (tiny change) - - * libltdl/config/general.m4sh (sed_double_backslash): Fix - hacky sed script to avoid limitations but retain portability to - Solaris /bin/sed. Remove old obsolete cruft. - -2007-02-22 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Fix the check for - convenience archives when warning about linking against static - libraries: test against $deplib rather than empty $lib. - -2007-02-19 Ralf Wildenhues - - * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Fix detection of new enough - libltdl by actually checking for the declaration of - lt_dlinterface_register in ltdl.h with AC_CHECK_DECL. - Remove redundant configure output line. - - * tests/template.at: Reformat, add M4 quoting. Use $LDFLAGS - consistently for link mode. - -2007-02-18 Ralf Wildenhues - - * tests/static.at: Use the right names for the broken libs. - -2007-02-17 Ralf Wildenhues - - * tests/deplibs-ident.at [aix, hppa*-*-hpux*, interix, openbsd]: - Do not XFAIL, on these systems we happen to pass. - * tests/duplicate_deps.at [aix]: Likewise. - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux | - k*bsd*-gnu ]: Fix eval quoting in the DT_RUNPATH test. - - * HACKING: Update. - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ linux ] - : For Sun C/C++ 5.9, do not add - /dev/null as dummy object, it fails with GNU ld version - 2.16.91.0.7-amd-sles9. Report by Terry D. Dontje. - * THANKS: Update. - -2007-02-14 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ osf4, osf5 ] - : Use `${wl}-input' not `-input', for - cc. Could use `-input_to_ld'. - (_LT_LANG_CXX_CONFIG) [ osf4, osf5 ] : - Use `${wl}' instead of `-Wl,', for consistency. - -2007-02-12 Ralf Wildenhues - - Fix spurious testsuite failures on AIX due on NFS mounts due to - shared library images that cannot be removed without `slibclean' - which needs superuser privileges. - - * tests/testsuite.at (PREPARE_TESTS): Define $mkdir_p globally. - (LT_AT_MVDIR): New macro to emulate `mv dir dest'. - * tests/destdir.at: Use LT_AT_MVDIR. - * tests/shlibpath.at: Likewise. - * tests/static.at: Likewise. - -2007-02-12 Ralf Wildenhues - - * tests/export.at: Exporting is not fully functional with - -retain-symbols-file. Do not test for failure to link `broken' - in this case. At the end of the test, SKIP if we are not fully - functional. - - * tests/lt_dlexit.at: Add casts and `extern "C"' to let the test - pass with a C++ compiler. - - * libltdl/config/ltmain.m4sh: Remove duplicate marker for - generated shell functions. - - * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): New macro, like - LT_AT_EXEC_CHECK but uses `$LIBTOOL --mode=execute' and allows - to pass `-dlopen MODULE' arguments. - * tests/lt_dlexit.at: Use it. Also, do not test `-dlpreopen', - that currently needs library names to begin with `lib'. - -2007-02-11 Ralf Wildenhues - - * tests/export.at: New test: expose -export-symbols failure - when the input consists solely of convenience archives, and - failure to not export all symbols when the command line length - is exceeded. - * Makefile.am: Adjust. - - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New substituted - function `func_lo2o', saving two fork&exec with XSI shells. - * libltdl/config/ltmain.m4sh (func_mode_compile) - (func_mode_install, func_mode_link): Use it for rewrites of - single files. - - * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New function - func_opt_split, for XSI and portable shell. - * libltdl/config/ltmain.m4sh: Move the insertion point for the - configure-generated shell functions to before the first option - parsing loop. Rewrite the separation of the long options to use - func_opt_split. - -2007-02-11 Ralf Wildenhues - - Eliminate roughly a third of the script execution time overhead - for all modes except for link/relink and uninstall/clean. - - * libltdl/m4/libtool.m4 (_LT_CONFIG): Remove unused `TEST SUITE - MARKER', obsolete since 2005-04-17. - * libltdl/config/ltmain.m4sh: Likewise, several instances. - (Main): Tear apart, moving individual bits up as early in the - script as possible, to help the shell to avoid parsing the rest. - -2007-02-11 Ralf Wildenhues - - * doc/libtool.texi: Update copyright years. - -2007-02-11 Ralf Wildenhues - - * libltdl/config/general.m4sh (sed_double_backslash): Replace - POSIX sed script with a hack that treats up to 10 backslashes - in the input correctly and is portable to Solaris /bin/sed. - -2007-02-08 Ralf Wildenhues - - * tests/testsuite.at (LT_AT_TAG): Skip also if the compiler - variable is set to `no', not only if it is empty. - -2007-02-06 Ralf Wildenhues - - * tests/lt_dlexit.at: Do not compile main object with libtool. - - * tests/cmdline_wrap.at: Pass $abs_top_srcdir and $abs_builddir - to inner testsuite. - - * Makefile.am (TESTSUITE_AT): Move destdir.at after - search-path.at so the banners fit better. - - * tests/convenience.at: Use $CPPFLAGS for compilation. - * tests/deplibs-ident.at: Likewise. - * tests/duplicate_members.at: Likewise. - * tests/inherited_flags.at: Likewise. - * tests/link-order.at: Likewise. - * tests/stresstest.at: Likewise. - * tests/early-libtool.at: Likewise. Do not quote $CC. - - * libltdl/ltdl.c (lt_dlexit): Add casts to fix compilation with - C++ compiler again. - - * tests/destdir.at: Add `libtool' keyword to tests. - -2007-02-05 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) - (_LT_LINKER_BOILERPLATE, _LT_SYS_MODULE_PATH_AIX) - (_LT_COMPILER_C_O): Require _LT_DECL_SED. - * THANKS: Update. - Report by Maciej W. Rozycki. - -2007-01-29 Ralf Wildenhues - - * tests/lt_dlexit.at: Use $abs_top_srcdir, not $top_srcdir, - in the new testsuite. - -2007-01-29 Samuel Thibault - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ gnu ] - : Behave like Linux, so that - --version-script is used for Hurd as well. - -2007-01-28 Charles Wilson - - * NEWS: Update for Cygwin changes. - -2007-01-28 Brian W. Barrett - - * libltdl/config/ltmain.m4sh [darwin]: Use otool64 if otool fails. - -2007-01-28 Dave Brolley , - Ralf Wildenhues - - * libltdl/ltdl.c (lt_dlexit): Make sure that 'cur' is not NULL - before checking that it is still in the list. - * tests/lt_dlexit.at: New test. - * Makefile.am (TESTSUITE_AT): Adjust. - (check-local): Also depend on libltdl/libltdlc.la. - (check-recursive): Removed, unnecessary use of Automake - internals. - -2007-01-28 Mike Frysinger - - * libltdl/config/ltmain.m4sh (func_mode_link): Pass through - `-p' and `-fprofile-*' for GCC. - -2007-01-28 Ralf Wildenhues - - * libltdl/libltdl/lt_system.h: Adjust copyright years. - -2007-01-28 Charles Wilson - - * libltdl/libltdl/lt__private.h (LT_GLOBAL_DATA) [__CYGWIN__]: - Also define on Cygwin. - * libltdl/libltdl/lt_system.h (LT_SCOPE) [__CYGWIN__]: Likewise. - -2007-01-28 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw ] - : Avoid shell expansion of '/s/.*' through - double expansion, in case there is a 'S:' drive. - Report by Charles Wilson. - -2007-01-28 Ralf Wildenhues - - Introduce a new test keyword `recursive' for tests that create a - modified `libtool' script and run the suite on this script. All - tests with the keyword `libtool' are (by definition) suitable to - be used here. - - * tests/cmdline_wrap.at: New test. - * Makefile.am: Adjust. - * tests/testsuite.at (LT_ESCAPE): New macro: clone of Autoconf - AS_ESCAPE that does not escape `$'. - (LT_AT_CHECK): New macro: print a command-to-be-run while - expanding parameters but nothing else. - * tests/stresstest.at: Use LT_AT_CHECK. Create some files to - expose erroneous globbing errors with `-export-symbols-regex', - similar to those reported by Charles Wilson. Use `eval' and - adjusted quoting so the expansion doesn't already happen in the - testsuite commands. - * HACKING: Update. - -2007-01-27 Ralf Wildenhues - - Assume C89 for included headers, and throughout the testsuite. - - * NEWS: Update. - * libltdl/argz.c: Do not include strings.h nor memory.h, include - string.h unconditionally. - Patch by Simon Josefsson . - * libltdl/libltdl/lt__private.h: Likewise. - * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not check for string.h, - strings.h, memory.h. - * tests/cdemo/configure.ac: Assume presence of math.h. - * tests/cdemo/foo.c: Likewise. - * tests/demo/configure.ac: Likewise for math.h, string.h. - Assume 'const'. Drop obsolete AC_EXEEXT. - * tests/demo/dlmain.c: Likewise. - * tests/demo/foo.c: Likewise. - * tests/depdemo/configure.ac: Likewise. - * tests/depdemo/l4/l4.c: Likewise. - * tests/f77demo/configure.ac: Likewise. Also drop obsolete - AC_OBJEXT. - * tests/fcdemo/configure.ac: Likewise. - * tests/mdemo/configure.ac: Likewise. - * tests/mdemo/foo1.c: Likewise. - * tests/mdemo/foo2.c: Likewise. - * tests/mdemo2/configure.ac: Likewise. - * tests/pdemo/configure.ac: Likewise. - * tests/pdemo/longer_file_name_dlmain.c: - * tests/pdemo/longer_file_name_foo.c: Likewise. - * tests/pdemo/longer_file_name_foo2.c: Likewise. - * tests/tagdemo/configure.ac: Likewise. - * tests/tagdemo/foo.cpp: Likewise. - -2007-01-24 Reuben Thomas (tiny change) - - * doc/libtool.texi (Inter-library dependencies): Fix typo. - -2007-01-21 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]: - Use `lib -OUT' rather than `lib /OUT' to avoid MSYS path - translation mangling. Report by Christopher Hulbert. - * THANKS: Update. - - * libltdl/config/ltmain.m4sh (func_mode_compile): Accept - suffixes matching `[fF][09].', for Fortran. - * tests/suffix.test: Also test F90, F95, f03, F03. - - * Makefile.am (EXTRA_DIST): Add ChangeLog.2006. - * ChangeLog.2006: New, rotated, from... - * ChangeLog: ...here. - -2007-01-21 Ralf Wildenhues - - * doc/libtool.texi: Typo fixes. - * TODO: Likewise. - -2006-12-14 Ralf Wildenhues - - * tests/link-order2.at: Define our override `sin' function with - C binding even if $CC is a C++ compiler. Skip the test with g++ - as its command line driver reorders `-lm'. - * tests/search-path.at: Declare `inflate' with C binding. - * tests/stresstest.at: Avoid unused variable warnings. - -2006-11-07 Ralf Wildenhues - - * tests/link-order2.at: Simplify logic to be a bit more self - documenting. Suggested by Gary V. Vaughan. - -2006-10-28 Ralf Wildenhues - - * tests/link-order2.at: Add missing $bindir setting. Prevent - compiler optimization of sqrt call. Fix logic inversion and - add some comments about this stunt. Add a test with reversed - library link order that should fail if the system has a libm. - Report by Patrick Welche. - -2006-10-26 Ralf Wildenhues - - Assume presence of a config header in all files, to provoke - test failures on all systems. - * libltdl/lt__alloc.c: Likewise. - * libltdl/libltdl/lt__dirent.h: Likewise. - * libltdl/libltdl/lt__glibc.h: Likewise. - * libltdl/libltdl/lt__private.h: Likewise. - * libltdl/libltdl/lt__strl.h: Likewise. - * tests/recursive.at: Use AC_CONFIG_HEADERS. - * tests/nonrecursive.at: Likewise. Invoke autoheader. - * HACKING: Adjust. - Report by Patrick Welche. - -2006-10-24 Paul Eggert , - Ralf Wildenhues - - * doc/libtool.texi (Distributing libltdl): In recursive and - nonrecursive mode, a config header is now required. - * libltdl/argz.c: Remove check for HAVE_CONFIG_H, to conform - to gnulib's policy of including config.h unconditionally. - -2006-10-24 Ralf Wildenhues - - * tests/link-order2.at: New test to show one case where ordering - of depdepls on the command line matters. - * Makefile.am: Adjust. - - * tests/tagtrace.test: SKIP if `autoconf --trace' exits 63 or 1, - for various possible (valid) error cases. Also output stderr, - to help with analysis. - - * NEWS: Account for recent multilib fix. - * tests/search-path.at: New test, to provide at least a weak - test. - * Makefile.am: Update. - - * libtoolize.m4sh (func_fixup_Makefile): Fix missing - substitution for nonrecursive mode. Remove otherwise-empty - continuation lines in the output file. - Report by Bob Friesenhahn. - -2006-10-22 Peter O'Gorman - - * libltdl/config/ltmain.m4sh: Add -F* to flags that are passed - to the linker. - Reported by SIGOURE Benoit - -2006-10-19 Peter O'Gorman - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Improve - multilib support. - Reported by Kate Minola and others. - -2006-10-13 Eric Blake - - * libltdl/ltdl.c (load_deplibs): Avoid memory leak on failure. - (unload_deplibs): Avoid memory leak on cleanup. - -2006-09-20 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (func_mode_compile): Accept files with - extension `.f9?'. - * tests/suffix.test: Test `f95'. - - * libltdl/config/ltmain.m4sh (func_mode_uninstall): Use - `func_source' consistently. - -2006-09-18 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] - [k*bsd*-gnu ]: Fix brown paper bag: save and restore `libdir'. - -2006-09-17 Ralf Wildenhues - - * tests/duplicate_deps.at: New file. Test circular depending - convenience archives (currently failing). - * Makefile.am: Update. - Report by Stefan Traby . - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [ openbsd ]: Set `hardcode_direct_absolute', to prefer rpath - over putting absolute file names in NEEDED entries. - * NEWS: Update. - Reported by Jake Meuser and others. - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] - [ k*bsd*-gnu ]: Test if ld sets DT_RUNPATH; in that case, set - shlib_overrides_runpath to `yes'. Fixes test failure of new - test on Gentoo GNU/Linux. - - * tests/shlibpath.at: New file, with... - (shlibpath_overrides_runpath): ...new test. - * Makefile.am: Update. - -2006-09-12 Ralf Wildenhues - - * tests/destdir.at: New file. - * Makefile.am: Adjust. - -2006-09-11 Ralf Wildenhues - - * tests/inherited_flags.at: Drop `${parameter}' for `$parameter' - where appropriate, for improved `testsuite -x' output. - -2006-09-04 Ralf Wildenhues - - * libltdl/ltdl.c: Move LT__UNUSED before parameter name, for g++ - 3.2.3 (on MinGW). - * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, - libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, - libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise. - -2006-09-04 George Bosilca - and Ralf Wildenhues - - Make libltdl work when compiled with a C++ compiler. - - * libltdl/lt__alloc.c, libltdl/lt_dlloader.c, libltdl/ltdl.c, - libltdl/slist.c, libltdl/libltdl/lt__alloc.h, - libltdl/libltdl/lt_error.h, libltdl/libltdl/slist.h, - libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, - libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, - libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, - libltdl/loaders/shl_load.c, tests/stresstest.at, - tests/testsuite.at, tests/f77demo/foo.h, tests/fcdemo/foo.h, - tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c, - tests/mdemo/main.c: Allow sources to be compiled by a C++ - compiler: Cast appropriately, add C linkage for `get_vtable' - functions, do not use C++ keyword `delete'. - - * libltdl/config/ltmain.m4sh (func_mode_link): In the dlsym - file, define a type for the symbol list, and declare the list - `extern', so that it is extern even if compiled by a C++ - compiler. The type definition helps avoid a compiler warning - against anonymous extern struct. - * libltdl/libltdl/lt_system.h: Add `extern' to `LT_SCOPE' for - the same reason. - - * libltdl/argz_.h: It's __cplusplus, not _cplusplus. - * libltdl/libltdl/slist.h: Likewise. - - * libltdl/libltdl/lt__glibc.h: Wrap included argz.h in - `extern "C"', for broken headers on Cygwin. - -2006-09-03 Ralf Wildenhues - - * tests/testsuite.at: Test `unset' on a set variable; older - bash versions return 1 if the variable was not set. - - * tests/am-subdir.at, tests/early-libtool.at: Fix the LF vs. - CRLF related failures on MinGW by grepping for good output - instead of using AT_CHECK's `expout'. - -2006-09-01 Ralf Wildenhues - - Drop K&R support from testsuite in favor of C89. - - * tests/duplicate_members.at: provide declarations of used - functions. - * tests/testsuite.at: Drop unneeded arguments. - * tests/cdemo/main.c: Assume C89. - * tests/demo/dlmain.c: Likewise. - * tests/demo/main.c: Likewise. - * tests/depdemo/main.c: Likewise. - * tests/depdemo/l1/l1.c: Likewise. - * tests/depdemo/l2/l2.c: Likewise. - * tests/depdemo/l3/l3.c: Likewise. - * tests/depdemo/l4/l4.c: Likewise. - * tests/f77demo/cprogram.c: Likewise. - * tests/fcdemo/cprogram.c: Likewise. - * tests/mdemo/mlib.c: Likewise. - * tests/mdemo2/main.c: Likewise. - * tests/pdemo/longer_file_name_dlmain.c: Likewise. - * tests/pdemo/longer_file_name_main.c: Likewise. - * tests/fcdemo/fooc.c: Reformat. - * tests/mdemo/sub.c: Likewise. - -2006-08-31 Ralf Wildenhues - - * tests/mdemo/main.c: Fix bogus line in last patch. - -2006-08-31 Ralf Wildenhues - - Avoid mixing functions and data pointers in callback functions. - - * libltdl/ltdl.c (file_worker_func): New type. - (lt_dlforeachfile): Instead of passing a function pointer as a - data pointer, pass a pointer to a file_worker_func pointer. - (foreach_callback_func): Adjust. - * tests/mdemo/main.c: Assume C89. Exercise lt_dlforeachfile. - (callback, try_iterate, my_dirname): New functions. - * tests/mdemo-exec.test: Check for its output. - -2006-08-30 Ralf Wildenhues - - * libltdl/libltdl/lt__private.h (__attribute__, LT__UNUSED): - New macros. - * libltdl/loaders/dld_link.c: Use LT__UNUSED where - appropriate. - * libltdl/loaders/dlopen.c, libltdl/loaders/load_add_on.c, - libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, - libltdl/loaders/shl_load.c: Likewise. - * libltdl/ltdl.c: Likewise. - (find_file_callback): Fix declaration names to match definition. - (load_deplibs) [!LTDL_DLOPEN_DEPLIBS]: Use separate definition - for less preprocessor clutter. - - * Makefile.am (check-local, installcheck-local): Use - `TESTSUITEFLAGS' rather than `TESTSUITE_FLAGS', like Autoconf. - * HACKING, README, README.alpha: All uses changed. - -2006-08-28 Ralf Wildenhues - - * libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code - sharing with gnulib. Report by Eric Blake. - * libltdl/lt__alloc.c, libltdl/libltdl/lt__dirent.h, - libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, - libltdl/libltdl/lt__strl.h: Likewise. - * HACKING: Update. - -2006-08-25 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Pass through - `--coverage' and `-pg', for GCC. Report by Rainer Keller - and Tor Lillqvist . - -2006-08-25 Kurt Roeckx , - Aurelien Jarno - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) [k*bsd*-gnu]: kfreebsd*-gnu and - knetbsd*-gnu behave like linux-gnu. - * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. - * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) - [x86_64-*kfreebsd*-gnu]: Add 32/64 bit bi-arch support. - * NEWS: Update. - -2006-08-25 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ mingw,pw32 ]: - If `file' is present, use `func_win32_libid' rather than - `objdump -f', to facilitate cross-compilation. - Reported by Pierre Ossman . - -2006-08-23 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): In GNU ld script, - do not quote object file names, for Intel icc 9.0 IPO link. - -2006-08-22 Eric Blake - - * libltdl/m4/ltdl.m4 (LTDL_INIT): Avoid macros marked obsolete in - latest autoconf. - * libltdl/m4/libtool.m4 (_lt_cv_sys_global_symbol_pipe): Work in - spite of -Wmissing-prototypes. - * libltdl/libltdl/lt__dirent.h: Rewrite to accomodate loss of - AC_HEADER_DIRENT. - - * libltdl/m4/libtool.m4: Avoid space-tab. - -2006-08-07 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_execute): Also search - the directory above `$objdir' for the argument of "-dlopen", as - mentioned in the error message. - -2006-08-03 Ralf Menzel - - * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix issues - with previous patch. for ... do' line is superflous. Need - _LT_TAGVAR not _LT_AC_TAGVAR, should be for both linux and - solaris with Sun compiler. - -2006-08-01 Albert Chin - - * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS) [ solaris ]: - Don't set $postdeps to "-lCstd -lCrun" if - "-library=stlport4" set in CXXFLAGS as stlport4 C++ - library incompatible with Cstd C++ library. Use - '-library=Cstd -library=Crun' instead of '-lCstd -lCrun'. - -2006-07-28 Eric Blake - - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD, LT_OUTPUT): - s/recognise/recognize/. - -2006-07-22 Eric Blake - - * libltdl/ltdl.c (loader_init_callback) [HAVE_LIBDLLOADER]: - Protect definition to avoid compiler warnings about unused - function. - -2006-07-21 Eric Blake - - * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD): Search for dlopen without - depending on -ldl, required by cygwin 1.5.20. - -2006-06-24 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) - ( _LT_LINKER_BOILERPLATE): Rewrite to not use unchecked - `printf', for old systems like SunOS 4.1. - (_LT_COMPILER_OPTION, _LT_LINKER_OPTION) - (_LT_COMPILER_C_O, _LT_LINKER_SHLIBS): Likewise. - (_LT_LANG_C_CONFIG): Adjust: use literal newlines in - `lt_simple_compile_test_code' and `lt_simple_link_test_code'. - (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) - (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Likewise. - Bug report by Bruce Becker and Mark Andrews. - -2006-06-13 Ralf Wildenhues - - Fix the bugs where libtoolize needs to use `dir/file' instead of - `./dir/file', where ltdldir is `.', so that libtoolize correctly - checks for (and suggests) `config' and `m4' instead of - `./config' and `./m4' as auxiliary resp. macro directories. - The change is necessary for unambiguous naming, the chosen way - plays better with non-GNU make in VPATH builds. - - * libtoolize.m4sh (ltdlprefix): New variable, to use as prefix - instead of `$ltdldir/'. - (func_check_macros): Use it. Bug report by Eric Blake. - -2006-06-12 Ralf Wildenhues - - Fix several libtoolize-related bugs: - - Do not symlink aclocal.m4, to work around a bug in aclocal - overwriting the linked-to file instead of removing the symlink. - - Have `libtoolize --copy' cause current time stamps, so that - dependents will be rebuilt; for this, install files in order. - - Fix list of distribution files for (non)recursive libltdl. - - Fix some failure cases. - - * libtoolize.m4sh (func_copy_cb): - If `$opt_link', still copy `aclocal.m4', so a subsequent - `aclocal' will not overwrite the symlink target. - In `--copy' mode, do `cp -p' and `touch' for each file, so - timestamps are updated but permissions preserved. - (main): Reorder installing of files to match logical order - and timestamp requirements. - (func_fixup_Makefile_inc): Renamed to - (func_fixup_Makefile): this. Add sed scriptlet to remove - non-existent files from EXTRA_DIST, for either nonrecursive - or recursive mode. - (main): call it to mangle also in recursive mode. - * tests/libtoolize.at (expout): Adjusted. - * tests/testsuite.at (tst_dist): Default to `dist'. - -2006-06-10 Ralf Wildenhues - - Fix libltdl to always have all generated files up to date. - - * Makefile.am (all-local): Depend on all generated files in - libltdl, namely... - (libltdl/aclocal.m4, libltdl/configure, libltdl/config-h.in): - ...these. List explicitly, including dependencies and - rebuilding rules, using... - (sub_aclocal_m4_deps, sub_configure_deps): ...these new - variables. - Report by Dan Lacher . - -2006-06-09 Ralf Wildenhues - - * Makefile.am (install-data-local): Do not use $(INSTALL_DATA) - from another directory: it may use a relative path to - `install-sh'. - Bug report by Dan Lacher . - -2006-06-08 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Honor `-threads', - similar to `-mt'. - Report by Eric Paire . - -2006-06-01 Charles Wilson - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ cygwin ]: - define DLL_EXPORT for PIC objects on cygwin. - -2006-05-24 Albert Chin - - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) - [ aix4*, aix5*, hpux10*, hpux11* ]: Set hardcode_direct_absolute - for CXX tag too! - -2006-05-19 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link, shell wrapper): - Do not put `"$@"' in argument to $ECHO. - -2006-05-18 Ralf Wildenhues - - * libltdl/m4/libtool.m4: Bump serial, necessary because of - _LT_CHECK_SHELL_FEATURES changes. - -2006-05-18 Albert Chin-A-Young - - * tests/early-libtool.at: Pass $CPPFLAGS and $CFLAGS to - compiler when compiling for extra flags that might be - needed for ANSI-compliance, 64-bit, etc. The environment - we compile with should match the environment libtool was - compiled with. - -2006-05-18 Ralf Wildenhues - - Fix mode=compile time regression of CVS HEAD over branch-1-5. - - * libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Rename to... - (_LT_CHECK_SHELL_FEATURES): ...this. - (_LT_SETUP): Adjust caller. - (_LT_CHECK_XSI_SHELL): New libtool variables `lt_unset', - `SP2NL', `NL2SP', to contain results from tests for unset, - taken from AS_BOURNE_COMPATIBLE, and ASCII vs EBCDIC, taken... - * libltdl/config/general.m4sh: ...from here, and used... - * libltdl/config/ltmain.m4sh: ...here everywhere now. - * (AS_SHELL_SANITIZE): Replace by faster, actually necessary - part of its expansion, taken from current Autoconf CVS. Do not - save and set all locale variables any more, but only LANG, - LC_ALL, LC_CTYPE, LC_COLLATE, LC_MESSAGES. - (func_mode_execute): Adjust. - * libltdl/m4/libtool.m4 (_LT_CONFIG): No need to unset CDPATH - here any more. - * libtoolize.m4sh: Compute `SP2NL' and `NL2SP' here, too. - -2006-05-17 Gary V. Vaughan - - * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, - _LT_LANG_FC_CONFIG), tests/link-order.at - [ aix4*, aix5*, hpux10*, hpux11* ]: rename - hardcode_direct_static to hardcode_direct_absolute. - * doc/libtool.texi (libtool script contents): Adjust. - - * libltdl/ltdl.c (lt_dlhandle_fetch): Arguments to - lt_dlhandle_iterate were in the wrong order. - -2006-05-17 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LINKER_OPTION): Require - _LT_DECL_SED. - (_LT_CMD_GLOBAL_SYMBOLS, _LT_LINKER_SHLIBS): Likewise. - * libltdl/m4/ltdl.m4 (LTDL_INIT): Likewise. - (_LT_DECL_SED): Set $Xsed here, using $SED. Moved from... - (_LT_SETUP): ...here. - Report by Eric Blake. - -2006-05-17 Gary V. Vaughan - - * doc/libtool.texi (libtool script contents): Document new - hardcode_direct_static variable. - - * tests/link-order.at: Be careful about usage of shrext_cmds. - - * libltdl/m4/libtool.m4 (LT_AC_PROG_SED): Declarations for - compatibility with old versions of libtool, and old versions - of aclocal. - -2006-05-17 Albert Chin-A-Young - - * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, - _LT_LANG_FC_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]: - Introduce a new variable, hardcode_direct_static, which - would ignore hardcode_direct=yes if the result would create a - static library dependency. Static library dependencies are - immune to $shlibpath_var. - * tests/link-order.at: Take hardcode_direct and - hardcode_direct_static into consideration when testing - link order. - -2006-05-17 Ralf Wildenhues - - Eliminate quadratic scaling in argument parsing loop, for - shells that understand `var+=value', such as Bash-3.1, or Zsh. - - * libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Test whether - the shell understands `var+=value'. - (_LT_PROG_XSI_SHELLFNS): Define `func_append' based on this. - * config/ltmain.m4sh (func_mode_link): Use `func_append' for - compile_command, finalize_command, libtool_args, libobjs, - non_pic_objects. - -2006-05-15 Bruno Haible , - Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]: - Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on - GNU/Linux. - * NEWS: Update. - -2006-05-15 Ralf Wildenhues - - * Makefile.am (check-local): Move `$(TESTS_ENVIRONMENT)' and - `$(BUILDCHECK_ENVIRONMENT)' to be arguments of `testsuite', so - that reruns will remember it; set enviroment variable - `CONFIG_SHELL' so the suite will know which shell it was started - with. - (installcheck-local): Likewise, for `$(TESTS_ENVIRONMENT)' and - `$(INSTALLCHECK_ENVIRONMENT)'. - * tests/testsuite.at (LT_AT_TAG): Do not set the compiler - variable here. - -2006-05-14 Albert Chin-A-Young - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [ aix ]: $hardcode_direct is set twice. - -2005-05-14 John Bowler - - * libltdl/config/ltmain.m4sh (func_mode_link): For version_type - `none', we still need to set `current', `age', and `revision', - so that our checks don't barf. The values won't be used later. - Apparently reported by several people, several times, for BeOS. - * NEWS, THANKS: Update. - -2006-05-13 Ralf Wildenhues - - * tests/fail.at: Use "test -x" if available, for testing of - executables; code modified from Autoconf's AS_EXECUTABLE_P. - Reported by Albert Chin . - -2006-04-22 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_write_libtool_object): - New function, factored out from.. - (func_mode_compile): .. here. Call it to generate the libtool - object file (the `.lo' file) in one step. - -2006-04-03 Peter O'Gorman - - * libltdl/loaders/preopen.c: Don't allow lt_dlopen if the - module has no symbols. - -2006-03-28 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: - Avoid warning when "parsing" `/etc/ld.so.conf' and empty - `/etc/ld.so.conf.d'. - Reported by Orion Poplawski . - -2006-03-27 Ralf Wildenhues - - * bootstrap: Actually use the correct version of the last patch. - -2006-03-25 Ralf Wildenhues - - * bootstrap: Enable `WORKING_LIBOBJ_SUPPORT' if we detect - Autoconf-2.60+ and Automake-1.10+, or CVS versions. - - * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Sync with gnulib: If we - define `error_t', also define `__error_t_defined', so argp.h - will not typedef the former. - -2006-03-23 Ralf Wildenhues - - * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [ freebsd ] - [ dragonfly ]: Set libltdl_cv_sys_dlopen_deplibs to yes. - Fixes excessive lt_dlopen times on these systems. - * NEWS, THANKS: Update. - Bug reported by Peter Jeremy , - patch by Joerg Sonnenberger . - -2006-03-20 Ralf Wildenhues - - * tests/static.at: New tests for comprehensive test exposure of - all current and proposed static linking flags for programs. - * Makefile.am: Updated. - - * libltdl/config/ltmain.m4sh (func_mode_link) - < -static-libtool-libs >: New option. - * doc/libtool.texi (Link mode, Distributing libltdl): - Document it. - Suggested by Gary Kumfert . - -2006-03-17 Ralf Wildenhues - - * tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp [ hpux ] : - The HPPA C++ compiler has namespace support but provides no - `std' namespace; just provide it with a dummy. - - * libltdl/m4/libtool.m4 (AC_PROG_SED): Do not forget to reset - IFS even in case of empty `$PATH'. - -2006-03-16 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Comment out the - code to remove uninstalled paths, as it is wrong here. Change - the wrong shell quoting that kept it from "working" before. - * THANKS: Updated. - - * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) - [ freebsd, dragonfly ]: Fix 1.5.22 regression caused by too - strict $host_os match that stopped DragonFly from working. - * THANKS: Updated. - Reported by Jeremy C. Reed , - patch by Todd Vierling . - -2006-02-24 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (startup): save all locale specific - environment, variables:, LANG, LANGUAGE, LC_ADDRESS, LC_ALL - LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT, - LC_MESSAGES LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER, - LC_TELEPHONE, LC_TIME. - (func_mode_execute): Restore them. - -2006-02-15 Ralf Wildenhues - - * doc/libtool.texi (Tags): Mention `FC'. - (libtool script contents) : Specify more precisely as the - compiler of the current tag. - : - Document these variables. - -2006-02-15 Ralf Wildenhues - - * doc/libtool.texi: Update copyright years. - - * libltdl/config/getopt.m4sh (func_help): Substitute `$host'. - * libltdl/config/ltmain.m4sh (help message): Use $host not - @host_triplet@, as the `@..@' substitution is done at bootstrap - time already. - Reported by Julien Lecomte . - - * doc/libtool.texi (Implementation issues): Note that both - prefix and suffix of a library may differ. - (Using libtool, Creating object files, Linking libraries): - Remove last documentation traces of the age when `foo.lo' was - the PIC object file and not the `libtool object' text file. - (libtool script contents) : Remove description - of this variable. It was removed from libtool in 1.5 times. - -2006-02-13 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link) [ linux ]: - PGI: for `reload_cmds', we not only need to get rid of `$wl', - but also turn comma into space so $LD understands - whole_archive_flag_spec correctly. - - * libltdl/config/ltmain.m4sh (func_mode_link) : - Add _AS_BOURNE_COMPATIBLE code from Autoconf, to fix issues - with zsh and other shells. - Reported by David GĂłmez Espinosa . - -2006-02-09 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (AC_PROG_SED): m4_defun this rather - than AC_DEFUN, so that old aclocal does not pick this up. - - * Makefile.am ($(TESTSUITE)): Also depend on `Makefile.am'. - Write to temporary file and rename. - -2006-02-05 Ralf Wildenhues - - * Makefile.am (EXTRA_DIST): Add `$(srcdir)/' to all generated - files so that non-GNU make programs will use the rebuilding - rules. - - * tests/testsuite.at: Add new keyword `libtoolize' for tests - that exercise the `libtoolize' script that is generated at build - time. - * HACKING: Update testsuite mention, explain keywords. - - * libltdl/config/ltmain.m4sh (extracted_archives) - (extracted_serial): New globals. - (func_extract_archives): Use them to rename extraction archives - for linking against multiple convenience libraries with the same - name. - * tests/duplicate_conv.at: New tests. - * Makefile.am: Adjusted. - Reported by Carlo Contavalli . - - * libltdl/config/ltmain.m4sh (func_mode_link) < test_compile >: - Fix a couple of instances where `test .. -ne ..' would possibly - compare non-numbers. Clean up a bit. - - * tests/convenience.at, tests/deplibs-ident.at: Add new keyword - `libtool' for tests that exercise the unmodified `libtool' - script that is generated at build time. - * tests/duplicate_members.at, tests/fail.at: Likewise. - * tests/inherited_flags.at, tests/link-order.at: Likewise. - * tests/stresstest.at, tests/template.at: Likewise. - -2006-02-03 Ralf Wildenhues - - * tests/fail.at: Also pass a bogus object file to the linker so - it fails more reliably; AIX and IRIX linkers ignore duplicate - symbol definitions. - - * libltdl/m4/libtool.m4 [ solaris ] (_LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) < whole_archive_flag_spec >: - Fix this once and for all, for both the SUN compiler suite - (cc/CC/f77/f90/f95) and GCC. - Reported by Yuri Pukhalsky . - - * tests/cdemo/Makefile.am: Remove broken use of undocumented - Automake variable `$(OBJECTS)'. - * tests/demo/Makefile.am, tests/depdemo/Makefile.am: Likewise. - * tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am: Likewise. - * tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am: Likewise. - * tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Likewise. - - * libltdl/config/ltmain.m4sh (func_mode_link): Fix logic for - adding run paths to also add paths for installed libtool - libraries in case `-static' is used. - -2006-02-01 Ralf Wildenhues - - * Makefile.am (TESTSUITE_AT): List testsuite files in the order - in which they are to be expanded in the suite. - (tests/TESTSUITE): Rebuild by passing all $(TESTSUITE_AT) files, - with their path suitably adjusted. This enables us to.. - * tests/testsuite.at: ..get rid of their redundant mention here. - -2006-01-30 Ralf Wildenhues - - * doc/libtool.texi (titlepage): Remove superfluous word. - - * libltdl/config/ltmain.m4sh (func_mode_link): Fix matching - duplicate run path entries with the correct separator. - - * tests/testsuite.at (PREPARE_TESTS): Escape `^' for some older - shells. - - * ChangeLog, HACKING, README, README.alpha, - libltdl/config/ltmain.m4sh: Add vi(m) modelines, to match emacs - formatting variables. - -2006-01-24 Ralf Wildenhues - - * Makefile.am (libltdl/Makefile.am): Fixup sed script. - Reported by Bob Friesenhahn . - -2006-01-23 Ralf Wildenhues - - * Makefile.am, bootstrap, clcommit.m4sh, - libltdl/config/getopt.m4sh, libltdl/config/mailnotify.m4sh, - tests/sh.test, tests/testsuite.at: Bump copyright years. - -2006-01-21 Eric Blake - - * THANKS: Move myself to contributor. - -2006-01-21 Ralf Wildenhues - - * bootstrap: Don't use semicolons inside { } in sed scripts, as - Posix says it's not portable. - * Makefile.am (libltdl/Makefile.am): Likewise. - * libtoolize.m4sh (all over the map): Likewise. - * libltdl/config/getopt.m4sh (func_version, func_usage) - (func_help): Likewise. - * libltdl/config/ltmain.m4sh (func_win32_libid): Likewise. - * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Likewise. - * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Likewise. - * tests/sh.test, tests/testsuite.at (LT_AT_TAG): Likewise. - Noted by Paul Eggert . - - * libltdl/config/ltmain.m4sh (func_mode_compile): Also transform - `.obj' correctly. - Reported by George Bosilca . - -2006-01-13 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): Fix my forward port - error of last commit. - -2006-01-12 Leif Ekblad - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC): Added support for - RDOS. - * NEWS: Updated. - -2006-01-11 Ralf Wildenhues - - * libtoolize.m4sh, libltdl/config/general.m4sh, - libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, - libltdl/m4/libtool.m4: Bump copyright years. - -2006-01-03 Ralf Wildenhues - - * Makefile.am (EXTRA_DIST): Add ChangeLog.2005. - - * README, README.alpha: Adjust copyright years. - * ChangeLog.2005: New, rotated, from.. - * ChangeLog: ..here. - -2005-12-29 Ralf Wildenhues - - * Makefile.am (libtoolize): Also depend on `config.status'. - (tests/atconfig): Normalize path, for non-GNU make. - Reported by Bob Friesenhahn . - - * libltdl/config/ltmain.m4sh (func_mode_link) : - Fix position of separator for shlibpath_var setting in shell - wrapper. - - * libltdl/lt_error.c (error_strings): Remove parentheses around - string literal initializers, uncovered by `tcc'. - Reported by Edward Chernenko . - -2005-12-21 Gary V. Vaughan - - * .cvsignore, libltdl/.cvsignore, tests/.cvsignore: Ignore - +build, +dest, +inst, .cvslog-tlasync, .gdb_history, .pc, - libltdl/INSTALL, libltdl/stamp-mk and tests/testsuite.log. - -2005-12-20 Eric Blake - - * README.alpha: Really commit. - -2005-12-19 Eric Blake - - * HACKING (release note templates): Update anon cvs location. - * README.alpha (Reporting Bugs): Likewise. - -2005-12-18 Jacob Meuser , - Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Move library - search paths that coincide with paths to not yet installed - libraries to the beginning of the library search list. - -2005-12-18 Ralf Wildenhues - - * THANKS: Updated. - - * HACKING: `./libtool --config' is more helpful than `--help'. - - * libltdl/config/ltmain.m4sh : - Initialize properly. - -2005-12-18 Kean Johnston , - Ralf Wildenhues - - * libltdl/m4/libtool.m4 (LT_PATH_NM): Also look in - /usr/ccs/bin/elf, for SCO. If we are not cross-compiling, but - $ac_tool_prefix is set, also try an un-prefixed `nm'. - -2005-12-18 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) - : Initialize, to `unsupported'. - -2005-12-18 Marc Espie - - * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) - [ openbsd ] : Set to `/usr/lib' - only. - -2005-12-16 Ralf Wildenhues - - * tests/old-m4-iface.at: Require Autoconf-2.50, so that - Debian's autoconf wrapper will not cause 2.13 to barf over - `--force'. - Reported by Kurt Roeckx . - - * README.alpha (Reporting bugs): Suggest to also bootstrap the - libltdl subdirectory -- the Makefile will enforce it anyway. - (The Test Suite): Renamed to.. - (The Test Suites): ..this. Introduce the new Autotest test - suite, how to run each one individually, and what to report. - * README (The Test Suite): Likewise. - -2005-12-16 Ralf Wildenhues - - In the subpackage case, we do not install Makefile.inc. Since - we have to be correct for this case, remove `Makefile.inc' from - EXTRA_DIST. Recursive mode does not use it either. Since - nonrecursive mode requires an Automake >= 1.7 anyway, and those - versions automatically distribute included makefile fragments, - we don't need to cater for that one either. - - * libltdl/Makefile.inc (EXTRA_DIST): Remove Makefile.inc. - Reorder other entries. - -2005-12-16 Ralf Wildenhues - - * Makefile.am (libltdl/Makefile.in): also depend on - libltdl/aclocal.m4, so that we guarantee timestamp consistency. - (libltdl/stamp-mk): New target, to fix `libltdl/Makefile.in'. - (EXTRA_DIST): Distribute `libltdl/stamp-mk' and - `libltdl/m4/lt~obsolete.m4'. - (all-local): Ensure the stamp files is up to date. - (libltdl/aclocal.m4): New target, to ensure timestamp - consistency. Depend on all m4 files. - * HACKING: Updated. - - * tests/testsuite.at (PREPARE_TESTS): New variable `tst_dist', - default to empty. - * tests/nonrecursive.at, tests/recursive.at, - tests/standalone.at, tests/subproject.at: Use it in - LT_AT_BOOTSTRAP or LT_AT_MAKE, so that you can optionally test - redistribution within the tests. - - * libltdl/m4/lt~obsolete.m4: Update documentation for aclocal - versions before 1.7. Change all macros to use AC_DEFUN instead - of AU_DEFUN. - * (_AC_PROG_LIBTOOL, AC_LIBTOOL_SETUP, _LT_AC_CHECK_DLFCN) - (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_TAGCONFIG) - (AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_CXX, _LT_AC_LANG_F77) - (_LT_AC_LANG_GCJ, AC_LIBTOOL_RC, AC_LIBTOOL_LANG_C_CONFIG) - (_LT_AC_LANG_C_CONFIG, AC_LIBTOOL_LANG_CXX_CONFIG) - (_LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_LANG_F77_CONFIG) - (_LT_AC_LANG_F77_CONFIG, AC_LIBTOOL_LANG_GCJ_CONFIG) - (_LT_AC_LANG_GCJ_CONFIG, AC_LIBTOOL_LANG_RC_CONFIG) - (_LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG) - (_LT_AC_FILE_LTDLL_C): Add new fake macros for these, they - were used at one time in libtool.m4. - - * tests/am-subdir.at (Makefile.am): Put automake options here, - in AUTOMAKE_OPTIONS. Require 1.6 because of the newer - `AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' scheme. - * tests/nonrecursive.at, tests/recursive.at: Require 1.7, - because libltdl rules use `+=' in conditionals. - * tests/testsuite.at (LT_AT_AUTOMAKE): Fix indenting. - (LT_AT_AUTORECONF): also detect too old Automake. - -2005-12-08 Eric Blake - - * libltdl/libltdl/lt__alloc.h (FREE): Cast away constness of - argument to `free' to avoid compiler warning. - -2005-12-08 Peter O'Gorman - - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_LINKER_SHLIBS) - [darwin]: Use $LTCC $LTCFLAGS to check for -single_module. - Reported by Ralf Wildenhues - -2005-12-07 Ralf Wildenhues - - * bootstrap: always remove Makefile, to avoid triggering the - autotools rebuild rules before autoreconf builds these. - Reported by Bob Friesenhahn . - -2005-12-07 Peter O'Gorman - - * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 [darwin]: - Use -single_module by default when linking shared libraries. Can - be overridden by specifying -multi-module or by setting the env - var LT_MULTI_MODULE before configure. - * libltdl/m4/libtool.m4 (archive_expsyms_cmds) [darwin]: - Simplify. - Reported by Ralf Wildenhues - -2005-12-04 Ralf Wildenhues - - * doc/libtool.texi (References): Do not use `@/' for the benefit - of older `makeinfo', break lines instead. - - * Makefile.am (install-data-local): No continuation here. - (dist-hook): Fix copying of README.alpha to README. - * tests/early-libtool.at (configure.ac): Remove - `AM_INIT_AUTOMAKE', we do not use automake in these tests. - - * README, README.alpha, libtoolize.m4sh: Typos. - * tests/am-subdir.at, tests/duplicate_members.at: Make all - banners end with a dot, for symmetry. - - * libtoolize.m4sh (func_copy_all_files) - (glob_exclude_pkgaux_files): Removed, since unused. - - * libtoolize.m4sh (func_copy_cb, func_copy_some_files) - (func_serial_update, func_keyword_update): Fail immediately - if some file we may install does not exist. - Reported by Troy Benjegerdes . - -2005-12-03 Ralf Wildenhues - - * TODO: A bunch of items fixed. :) - - * tests/convenience.at: Updated to expose more corner cases. - - * doc/libtool.texi (Invoking libtoolize): Remove mention of - the nonrecursive restriction to name the directory `libltdl'. - - * libtoolize.m4sh (func_fixup_Makefile_inc): New function. - (main): Call it in nonrecursive mode to mangle Makefile.inc. - * tests/nonrecursive.at: adjusted to test this. - -2005-12-03 Ralf Wildenhues - - Basic support for PIE (position-independent executables). - - * libltdl/config/ltmain.m4sh (func_generate_dlsyms): - Don't pass PIE flag for compilation of the symbol file object. - (func_mode_compile): Pass PIE flag only for non-PIC objects. - * NEWS: Updated. - -2005-12-03 Ralf Wildenhues - - * libltdl/config/general.m4sh (func_show_eval): Rewrite use of - the failure expression, because the exit status of the previous - command may not be preserved in the next `eval' by some shells, - such as pdksh. - * libltdl/config/ltmain.m4sh (func_extract_an_archive): - Use func_show_eval correctly. - (func_mode_link): Likewise. Also, do not use `$status'. - * tests/fail.at: New set of tests to ensure libtool fails. - * Makefile.am, tests/testsuite.at: Adjusted. - -2005-11-26 Peter O'Gorman - - * libltdl/m4/libtool.m4 [darwin]: Use $LTCC $LTCFLAGS to create - reloadable objects. - -2005-11-25 Ralf Wildenhues - - * libltdl/Makefile.inc (libltdl/argz.h): Create libltdl - directory if it does not exist yet. Take care that munging - of the file will not mess up the build rule. - Reported by Peter O'Gorman . - -2005-11-25 Eric Blake , - Ralf Wildenhues - - * libltdl/loaders/loadlibrary.c (iface_id): New variable. - (get_vtable): Get an `iface_id' from `lt_dlinterface_register'. - (get_vtable): Rewrite to catch up with lt_dlhandle_iterate - interface change. Append dot only after w32 path conversion - so it works on cygwin managed mounts. - - * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlinterface_free): New - function. - * doc/libtool.texi (User defined module data): Document it. - -2005-11-25 Ralf Wildenhues - - * libltdl/m4/libtool.m4 [aix] - (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Always move -bnoentry - before $compiler_flags, so it can be overridden. - - * libltdl/config/ltmain.m4sh (func_mode_link): Allow GCC - response files through. - -2005-11-25 Peter O'Gorman - - * libltdl/config/ltmain.m4sh (func_mode_link): Pass through - -isysroot for cross architecture builds on darwin. - -2005-11-24 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_uninstall): In clean - mode, don't remove non-existent libfoo.lai. - -2005-11-20 Ralf Wildenhues - - * Makefile.am (aclocalfiles): Also install lt~obsolete.m4. - * libtoolize.m4sh (func_check_macros): Updated. - * tests/libtoolize.at: Adjusted. - -2005-11-20 Eric Blake , - Ralf Wildenhues - - * bootstrap (--help): Provide some help. - -2005-11-20 Todd Vierling , - Thorsten Glaser - - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, _LT_SYS_DYNAMIC_LINKER) - (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) [ interix3 ]: Support for Interix/Microsoft - Services for Unix. - * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. - * NEWS: Updated. - -2005-11-20 Ralf Wildenhues - - * tests/link-order.at [ interix ]: Skip command line grep. - * tests/deplibs-ident.at [ interix ]: Not broken here. - Reported by Thorsten Glaser . - -2005-11-18 Ralf Wildenhues - - * libtoolize.m4sh (func_copy_all_files) - (func_massage_aclocal_DATA, func_massage_pkgltdl_files) - (func_massage_pkgconfig_files): Work around ksh limitation. - Reported by Thorsten Glaser . - -2005-11-14 Albert Chin - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [ hpux11 ]: Pass +nodefaultrpath when linking on ia64*. - -2005-11-14 Ralf Wildenhues - - Testsuite portability update round. - - * tests/inherited_flags: skip when shared libs are disabled. - * tests/deplibs-ident.at [ aix ]: No unexpected failure here. - * tests/libtoolize.at: Fix for distcheck (readonly sources). - * tests/nonrecursive.at, tests/recursive.at, tests/subproject.at - (foo.c): Actually export a symbol, for AIX. - * tests/old-m4-iface.at: Use AC_LIBTOOL_DLOPEN, for AIX. - * tests/nonrecursive.at: Set foo_la_SOURCES, for automake-1.7. - * tests/subproject.at: Require automake-1.9, we use indirect - subdirs. - * tests/am-subdir.at: Move AT_KEYWORDS settings.. - * tests/testsuite.at: ..here, in respective macros. - (LT_AT_AUTOMAKE): Skip if we detect failure due to old version. - (PREPARE_TESTS): Set autotool variables to `no' if not present. - (LT_AT_ACLOCAL, LT_AT_AUTOCONF, LT_AT_AUTOMAKE) - (LT_AT_AUTOHEADER, LT_AT_AUTORECONF): Use to XFAIL tests. - Reported by Tim Rice . - (LT_AT_MAKE): Do not use `make -e'. - (_LTDL_PROJECT_FILES): Adjust sub-make call. Work around `make' - which does not set `MAKE' or `SHELL'. Fix for user-set - `CONFIG_SHELL'. - Reported by Charles Wilson . - - * libltdl/m4/lt~obsolete.m4 (_LT_CC_BASENAME) - (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE): - Added because they were added to branch-1-5 AC_DEFUNed. - * HACKING: Add note about lt~obsolete.m4. - - * Makefile.am, libltdl/Makefile.inc (INSTALL_LTDL): - For nonrecursive mode, add to include_HEADERS as well. - * doc/libtool.texi (Invoking libtoolize, Distributing libltdl), - tests/nonrecursive.at: Adjusted, and removed TABS from .texi. - - * libtoolize.m4sh: Revert use of `$tst_aclocaldir'. - -2005-11-13 Eric Blake - - * libltdl/ltdl.c (lt_dlhandle_iterate): Fix endless loop. - (lt_dlinterface_register): Fail if lt__strdup did. - -2005-11-13 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LANG_C_CONFIG): - Removed `lt_prog_cc_shlib' cruft, not needed any more. - -2005-11-13 Kean Johnston , - Tim Rice - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG) - [ sco3.2v5, sysv4, sysv4.3, sysv5, sco3.2v5, sco5v6, unixware, - OpenUNIX, sysv4*uw2 ]: Complete overhaul of SCO support. - * THANKS: Updated. - -2005-11-13 Ralf Wildenhues - - * tests/quote.test: Do not fail on harmless shell bug present - in some ksh versions. - Reported by Tim Rice and others. - -2005-11-12 Ralf Wildenhues - - * libltdl/m4/ltoptions.m4 (_LT_SET_OPTION): Use m4_warning - instead of m4_warn. - - * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): `wl' is tagged here. - - * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF, _LT_COMPILER_PIC): - Make sure `$wl' is properly expanded for tests involving - `export_dynamic_flag_spec', `lt_prog_compiler_static'. - - * tests/defs.m4sh (func_configure): Actually pass - options (like --disable-shared) to func_configure_nofail. - -2005-11-11 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ freebsd ]: - Fix shlibpath_overrides_runpath settings. - Reported by Dave Benson . - -2005-09-10 Charles Wilson - - * libltdl/config/ltmain.m4sh (func_win32_libid): use $SED not - sed. - -2005-11-10 Albert Chin-A-Young - - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ] - : - Use C++ compiler for linking rather than ld. - -2005-11-10 Ralf Wildenhues - - * libltdl/m4/ltsugar.m4 (lt_join, lt_combine, lt_dict_filter): - Rewrite to eliminate tail recursion; use .. - (lt_unquote): New trivial helper macro. - * libltdl/m4/libtool.m4 (_lt_decl_filter): Document. - -2005-11-10 Gary V. Vaughan - - * tests/testsuite.ac (macrodir): Don't set it here... - * Makefile.am (BUILDCHECK_ENVIRONMENT, INSTALLCHECK_ENVIRONMENT): - ...set it here to pick up files from the right place in context. - * tests/libtoolize.at, tests/old-m4-iface.at: Adjust. - * libtoolize.m4sh: Take tst_aclocaldir into account when running - inside the test harness. - -2005-11-10 Gary V. Vaughan - - * tests/am-subdir.at: Now that we don't run autoreconf, we have to - explicitly tell aclocal what flags to use. - - * tests/testsuite.at (LT_AT_BOOTSTRAP): Allow passing arguments to - configure. - * tests/am-subdir.at, tests/nonrecursive.at, tests/old-m4-iface.at, - tests/subproject.at: Use LT_AT_BOOTSTRAP. - -2005-11-09 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Also set pic_flag. - (_LT_LANG_CXX_CONFIG): Use $as_unset, not unset. - (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG): Remove bogus - ld_shlibs tests. - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Move setting of - `variables_saved_for_relink'.. - (_LT_SYS_DYNAMIC_LINKER): here, when both `shlibpath_var' - and `runpath_var' have been set. - Reported by Mike Frysinger . - - * libltdl/Makefile.inc (AM_CPPFLAGS): Do not define - HAVE_CONFIG_H. - * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not invoke - AC_CONFIG_HEADERS ourselves, we can build with or without now. - -2005-11-07 Kean Johnston - - * libltdl/config/ltmain.m4sh (func_mode_link) [ sysv4*uw2*, - unixware7* ]: Work around linker bug on older SCO systems. - -2005-11-07 Albert Chin-A-Young - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ]: - hardcode_libdir_flag_spec and hardcode_minus_L are the same for - hppa*64 and ia64*. Don't set - hardcode_libdir_flag_spec='-L$libdir' on ia64* because if you - specify +b and -L, +b overrides what is set into DT_RPATH. - -2005-11-07 Gary V. Vaughan - - * tests/testsuite.at (_LTDL_PROJECT_FILES): Factored out from - common code to build a basic libltdl using project. - * tests/old-m4-iface.at, tests/standalone.at, tests/subproject.at: - Use it. - - * doc/libtool.texi (Distributing libltdl): Document correct use of - LT_CONFIG_LTDL_DIR mode argument with Autoconf and Automake. - -2005-11-07 Gary V. Vaughan - - Support 'recursive' mode for building libltdl: Automake will - recursively descend into the libltdl directory, and use libltdl's - Makefile.am code to build libltdl: - - * ltdl.m4 (LT_CONFIG_LTDL_DIR): Don't barf on 'recursive' mode - for 2nd argument. - (_LTDL_MODE_DISPATCH): Handle recursive mode. - -2005-11-07 Gary V. Vaughan - - * tests/recursive.at: New tests for libltdl as a subdirectory, - configured and compiled from the toplevel project using a - recursive make.. - * tests/testsuite.at: Use it. - * Makefile.am (TESTSUITE_AT): Depend on it. - - * libltdl/m4/ltdl.m4 (LTDL_INIT): Don't force running - AC_CONFIG_HEADERS for subproject ltdl. - * tests/old-m4-iface.at, tests/subproject.at: Remove workaround. - - * libltdl/m4/ltdl.m4 (LT_CONFIG_LTDL_DIR): Add LTDL-MODE - argument. - * configure.ac: Use it. - -2005-11-06 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): lt_unknown is - lt_dlunknown. - - * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Revert - expansion of `$wl'. - (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_GCJ_CONFIG): - Do not require LT_SYS_DLOPEN_SELF. - (_LT_LANG_C_CONFIG): Instead call it at the right time. - (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) - (_LT_LANG_GCJ_CONFIG): Do not call _LT_CMD_STRIPLIB. - - * Makefile.am: `2>&1' as suggested by Albert Chin. - * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4: - Two newlines before each macro, fix underlines. - -2005-11-05 Kean Johnston , - Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link) [*-*-sco3.2v5*]: - Don't pass through -lc, nor add it to deplibs. - [*-*-sysv5*]: Ditto. - [*-*-openbsd*, *-*-freebsd*, *-*-dragonfly*]: Remove bogus - `$arg'. - -2005-11-04 Ralf Wildenhues - - * THANKS: Updated. - -2005-11-02 Gary V. Vaughan - - * tests/nonrecursive.at: New tests for libltdl as a subdirectory, - configured and compiled from the toplevel project. - * tests/testsuite.at: Use it. - (LT_AT_AUTOHEADER): New macro. - * Makefile.am (TESTSUITE_AT): Depend on nonrecursive.at. - -2005-11-01 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Add `-64' - to $LD if necessary, to permit combining of several convenience - libs without any further objects added. - Reported by Brian Barrett . - -2005-11-01 Kean Johnston , - Ralf Wildenhues - - * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Use - `lt_prog_compile_static', not `link_static_flag'. Expand `$wl' - so expansion of `export_dynamic_flag_spec' works. - (_LT_TRY_DLOPEN_SELF): Show dlerror() in case of failure. - (_LT_LINKER_SHLIBS) [ aix3 ]: Likewise. - (_LT_COMPILER_PIC) [ hpux* ]: Use `${wl}'. - -2005-11-01 Ralf Wildenhues - - * THANKS: Updated. - -2005-11-01 Gary V. Vaughan - - * libltdl/m4/ltdl.m4 (LTDL_INIT): Call _LT_ENABLE_INSTALL directly - instead of m4_requiring it, as it relies on enable_ltdl_install - and enable_ltdl_convenience to have been initialised first. - - * libtoolize.m4sh: Use serial tags to locate the correct serial - numbers when deciding whether to update. - (func_serial): Allow for macro_regex argument to be originating - file name. - (func_serial_update): Use NL2SP to flatten list of extracted - m4_include files. - * tests/libtoolize.at: More tests for old-style verbatim copying - of macros into aclocal.m4. - - * libltdl/m4/argz.m4, libltdl/m4/ltoptions.m4, libltdl/ltsugar.m4, - libltdl/m4/ltversion.in: Add serial number tags, and bump serial - number. - -2005-10-31 Kean Johnston - - [ sysv5*, sco3.2v5*, sco5v6*, unixware*, OpenUNIX*, sysv4*uw2* ] - Patches for various bug fixes, small improvements and updating - the SCO platform support. - - * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Set correctly for SCO. - - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Set correct - symcode values for the native nm on SCO platforms. - - * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): All SCO platforms - open dependency libraries when you dlopen a module. - -2005-10-31 Albert Chin-A-Young - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [ aix ]: Remove duplicate always_export_symbols=yes for AIX. - -2005-10-29 Howard Chu - - * libltdl/config/ltmain.m4sh (func_mode_link): - With `-static', only link statically against uninstalled - libtool libraries. Fixes 1.5.x regression to match documented - behavior. - * NEWS: Updated. - -2005-10-27 Stepan Kasal - - * HACKING: Update note about use of `$#' in m4 macros. - -2005-10-27 Ralf Wildenhues - - * tests/tagtrace.test: Allow `$AUTOCONF' to contain arguments. - Skip if the running `autoconf' version is older than the one - used to bootstrap Libtool. - -2005-10-26 Eric Blake , - Ralf Wildenhues - - * Makefile.am (vcl-tmp): Avoid warnings from diff. - * bootstrap: Avoid warnings from find. - (lt_tab): Use to prevent editor whitespace "cleanup". - -2005-10-26 Gary V. Vaughan - - * libtoolize.m4sh: Put back the func_serial_update callback for - func_copy_some_files so that the testsuite passes again. We'll - have to find a better way of handling serial numbers in libtool - macro files. - - * libltdl/Makefile.inc: New file, factored out of Makefile.am for - use in non-recursive libltdl installations. - * bootstrap: Adjust. - * Makefile.am: include it. - (libltdl/Makefile.am): Adjust to build from the new - libltdl/Makefile.inc. - (SUBDIR_LIBOBJS): Renamed from this... - (LTDL_SUBDIR_LIBOBJS): ...to this. - * configure.ac: Adjust. - * doc/libtool.texi (Invoking libtoolize): Document the new modes - and libtoolize option to select them. - * libtoolize.m4sh: Parse new options, --nonrecursive, --recursive - and --subproject. Install the appropriate files with --ltdl - according to the selected mode. - (func_scan_files): If --subproject, --recursive or --nonrecursive - options were not given, use the value from LT_CONFIG_LTDL_DIR; if - a mode was given, and there is also an argument to - LT_CONFIG_LTDL_DIR, ensure they are the same. - * NEWS: Updated. - - * libtoolize.m4sh: Don't use func_serial_update as a copy - function for libtool m4 files with no macro_regex. If the - files are copied directly into aclocal.m4, because - AC_CONFIG_MACRO_DIR isn't set for example, there is no way - to tell what serial number goes with what source file. - (func_serial_update): For future-proofing, only make the second - serial number check if the destination file wasn't m4_included - into aclocal.m4 (and hence updated automatically by the cat of - copying a new version to the dest directory). - - * libtoolize.m4sh: Move the consistency checks... - (func_check_macros): ...into here. Also suggest LT_WITH_LTDL if - appropriate. - - * libtoolize.m4sh: Copying just libtool.m4 for hand maintained - aclocal.m4 doesn't work. List all required files in that case, - using the files from installed libltdl if available. Also, list - the additional files required when using libltdl. - Reported by Patrick Welche . - - * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_first): Removed. - * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_next) - (lt_dlhandle_find, lt_dlforeach): Removed... - (lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map): Similar - functions that are multi-loader safe, and require a registered - interface validator argument. - * doc/libtool.texi: Updated. - * NEWS: Updated. - - * libtoolize.m4sh: Always copy pkgconfig_files for --ltdl, incase - ltdl needs additional things not found by automake when looking at - the parent project configury. - * tests/libtoolize.at: Adjust. - -2005-10-17 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh [darwin]: Don't check for "bundle" - in file path. - Reported by Christoph Egger . - -2005-10-14 Gary V. Vaughan - - * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Don't nest AC_MSG_CHECKING/ - AC_MSG_RESULT pairs. - -2005-10-14 Gary V. Vaughan - - * tests/subproject.at: Move 'touch config.h.in' invocation. - - * tests/subproject.at (_LTDL_SETUP): Use pushdef/popdef to - simulate file-local scope. Empty source file compilation is not - portable, so add minimal code to generated foo.c file. - -2005-10-13 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (LT_PATH_NM): End test source with - newline. - Reported by Charles Wilson . - -2005-10-13 Peter O'Gorman - - * libltdl/ltdl.c (find_module): Check that dir is set. - (load_deplibs): Don't free the user search paths too early. - -2005-10-11 Ralf Wildenhues - - * tests/testsuite.at (LT_AT_AUTOMAKE): New macro. - * tests/subproject.at: Use it. Do not call `autoreconf' in - tests, since it will try to reconfigure `sub/ltdl', which - breaks `make check' during `distcheck' because of a readonly - source tree. - - * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Also set INCLTDL. - - * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE) - (LT_WITH_LTDL): Revert Gary's 2005-10-10 patch. - - * tests/stresstest.at: Use `allow_undefined_flag' instead of - host_os setting. - -2005-10-10 Gary V. Vaughan - - * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Remove bogus extra - closing brackets. - -2005-10-10 Gary V. Vaughan - - * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Remove - AC_SUBST of LIBLTDL, LTDLINCL, and all mention of INCLTDL. - (LT_WITH_LTDL): Due to order constraints between LTDL_CONVENIENCE, - LTDL_INSTALLABLE, LT_WITH_LTDL & LTDL_INIT, we can safely AC_SUBST - LIBLTDL and LTDLINCL here. Also, remember to synch INCLTDL. - -2005-10-10 Ralf Wildenhues - - * tests/stresstest.at [ aix3, beos, os2 ]: Always use - `-no-undefined'. - -2005-10-09 Christian Biesinger - - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ beos ]: - Initial shared library support for C++. - -2005-10-07 Ralf Wildenhues - - * configure.ac (abs_top_builddir, abs_top_srcdir): always - substitute. - * Makefile.am (BUILDCHECK_ENVIRONMENT) - (INSTALLCHECK_ENVIRONMENT): New macros. Set _lt_pkgdatadir, - LIBTOOL, LIBTOOLIZE accordingly, by using above, and - program_transform_name. - * tests/testsuite.at (TESTS_PREPARE): Do not set them anymore. - Set $unset. - (LT_AT_MAKE): Use to unset LIBTOOL and LIBTOOLIZE. - -2005-10-05 Gary V. Vaughan - - * tests/subproject.at: Commit the right file this time. - -2005-10-05 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Fix m4 quoting - for lt_simple_link_test_code. - Reported by Nicolas Joly . - -2005-10-05 Gary V. Vaughan - - * tests/subproject.at: New tests for libltdl as a subproject with - its own configuration. - * tests/testsuite.at: Use it. - * Makefile.am (TESTSUITE_AT): Depend on it. - -2005-10-05 Ralf Wildenhues - - * Makefile.am: Simplify. Do not use abs_top_srcdir. - Reported by Gary V. Vaughan . - -2005-10-05 Gary V. Vaughan - - * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Spurious './' prefixes - upset BSD pmake, don't set lt_ltdl_dir in this case. - (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust. - -2005-10-05 Ralf Wildenhues - - * Makefile.am (BUILDCHECK_ENVIRONMENT) - (INSTALLCHECK_ENVIRONMENT): New macros. - (check-local, installcheck-local): Use them. - * tests/testsuite.at (PREPARE_TESTS): Extract host_alias, ECHO. - Set configure_options appropriately. - (LT_AT_CONFIGURE, LT_AT_AUTORECONF, LT_AT_MAKE): New macros. - (LT_AT_BOOTSTRAP): Use them. - * tests/am-subdir.at, tests/early-libtool.at, - tests/old-m4-iface.at, tests/standalone.at: Likewise. - * tests/link-order.test: Do not extract ECHO any more. - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Require - AC_CANONICAL_HOST and _LT_DECL_SED. - -2005-10-03 Gary V. Vaughan - - * libltdl/m4/ltdl.m4: Bump serial as we are changing the - interface. - (LT_CONFIG_LTDL_DIR): New macro to centralise setting the - subdirectory used for libltdl. - (LTDL_CONVENIENCE): Continue backwards compatibility support for - declaring the libltdl source subdirectory with an argument, but - defer to LT_CONFIG_LTDL_DIR. - (AC_LIBLTDL_CONVENIENCE): Adjust to upgrade to the new style. - (LTDL_INSTALLABLE, AC_LIBLTDL_INSTALLABLE): Ditto. - (LTDL_INIT): lt_ltdl_dir is set by LT_CONFIG_LTDL_DIR now, and - even `./' needs trailing slashes trimming! If the user didn't - upgrade their configure.ac yet, call LT_CONFIG_LTDL_DIR for them. - * libtoolize.m4sh (func_scan_files): If --ltdl option is given - without a directory argument, use the value from - LT_CONFIG_LTDL_DIR; if the argument is given, and there is also a - value in LT_CONFIG_LTDL_DIR, ensure they are the same. - * libltdl/configure.ac: Use it. - * NEWS: Updated. - -2005-10-02 Ralf Wildenhues - - * tests/old-m4-iface.at (Makefile.in): Do not reconfigure - libltdl directory. - -2005-09-30 Ralf Wildenhues - - * tests/deplibs-ident.at: New file with XFAIL test to expose - wrong multiple listing of a deplib on the command line. - * Makefile.am, tests/testsuite.at: Updated. - Reported by Brian Barrett . - - * tests/old-m4-iface.at: Define top_srcdir, work around current - ltdl.m4 bug. - - * libltdl/config/ltmain.m4sh (func_mode_link): - Fix wrong logic introduced in last commit. - -2005-09-30 Gary V. Vaughan - - * tests/libtoolize.at: Add a new test to catch a regression I - almost introduced with respect to copying macro files when - AC_CONFIG_MACRO_DIR is shared with libltdl subproject. - -2005-09-30 Gary V. Vaughan - - * tests/old-m4-iface.at: Start of a new test series for m4 - interface backwards compatibility. - * tests/testsuite.at: Use it. - (macrodir): Declare the location of uninstalled libtool m4 macros. - * Makefile.am (TESTSUITE_AT): Depend on it. - -2005-09-29 Tim Rice (tiny change) - - * tests/early-libtool.at (Makefile.in): Set $(SHELL). - -2005-09-29 Peter Ekberg - - * libltdl/config/ltmain.m4sh (func_mode_link): Don't modify - user provided symbols file. Adjust removal of temporary files - and also remove temporary files used during symbols file - filtering. - -2005-09-29 Ralf Wildenhues - - * libtoolize.m4sh (func_included_files): Do not recurse - non-existent files. - -2005-09-27 Gary V. Vaughan - - * libtoolize.m4sh (func_scan_files): Support projects that have - upgraded libtool, but still use an old autoconf. When the libtool - macros are not copied (because of missing ACLOCAL_AMFLAGS and - AC_CONFIG_MACRO_DIR ), point them at the libtoolize master tree - for files to manually copy into acinclude.m4 or aclocal.m4. - - * libltdl/lt_error.c (lt__last_error, lt__error_strings): The lt__ - prefix is used to indicate internal symbols that are only exported - for use by other parts of libltdl. These are now static, so... - (last_error, error_strings): ...renamed to this. Changed all - callers. - - * libltdl/ltdl.h (lt_dlmutex_register, lt_dlmutex_lock) - (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror) - (lt_dlmalloc, lt_dlrealloc, lt_dlfree): Remove deprecated APIs. - * doc/libtool.tex: Updated. - * NEWS: Updated. - - * libltdl/ltdl.c (lt_dlcaller_register): Renamed to avoid problems - with module visibilty when linked with programs written for the - old API. - (lt_dlinterface_register): New name. - * Makefile.am (VERSION_INFO): Bumped. - * doc/libtool.texi (User defined module data): Updated. - -2005-09-27 Tim Rice - - * tests/defs.m4sh, tests/testsuite.at (PREPARE_TESTS) - : Allow variable override. - -2005-09-26 Ralf Wildenhues - - * HACKING: Only update libltdl version info before release. - -2005-09-26 Tim Rice - - * configure.ac : Allow variable override. - -2005-09-25 Alan W. Irwin , - Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_win32_libid) - [ cygwin, mingw ]: Robustify sed script to determine - win32_libid_type. - (func_mode_link) [ mingw ]: Ignore `-lm'. - -2005-09-25 Peter Ekberg - - * libltdl/libltdl/lt__private.h, libltdl/lt_error.c: - Don't export the lt__last_error and lt__error_strings - variables. Define lt__error_strings so that no relocations - are needed. - * libltdl/libltdl/lt__private.h (LT__STRERROR, LT__GETERROR) - (LT__SETERRORSTR): Adjust to not use the above variables, - instead use the following functions... - * libltdl/lt_error.c: (lt__error_string, lt__get_last_error) - (lt__set_last_error): Reimplement the functionality in - these functions instead. - * libltdl/libltdl/lt_error.h: Add LT_ERROR_LEN_MAX define for - max error string length. - (lt_dlerror_table): Append explicit nul terminators so that - compilers warn more reliably if the above define is too small. - -2005-09-23 Ralf Wildenhues - - * tests/link-order.at [ aix* ]: skip path syntax grep. - -2005-09-23 Peter Ekberg - - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Fix awk - script to be a single line so that the cache variable isn't - multiline. - -2005-09-23 Eric Blake (tiny change) - - * libltdl/loaders/loadlibrary.c (vm_open): Silence gcc warnings. - [__CYGWIN__]: Include for prototype. - -2005-09-22 Gary V. Vaughan - - * bootstrap: Don't clobber the working copy metadata in - ./{arch}/libtool during bootstrap. - -2005-09-22 Peter Ekberg , - Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Filter - user supplied symfile to tag relevant symbols as data - symbols. Fixes segfault in stresstest.at on Cygwin and - makes the test pass. - -2005-09-22 Peter Ekberg - - * tests/link-order.test: Clean up the uninstalled libraries - before linking the test executables so that they don't pick - up the dlls from the current dir on Cygwin and MinGW. - -2005-09-22 Tim Rice - - * libltdl/m4/libtool.m4 (LT_PATH_NM, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS): - Add missing `;;' after case list. - -2005-09-22 Peter Ekberg , - Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC) - (_LT_LINKER_SHLIBS): Require _LT_TAG_COMPILER to make sure that - $compiler is assigned. Fixes crippled configure output. - -2005-09-21 Peter Ekberg - - * libltdl/m4/libtool.m4 (LT_PATH_NM): Fix autodetection of - dumpbin and also check for "link -dump -symbols" as a synonym - for "dumpbin -symbols". - - * libltdl/config/ltmain.m4sh (func_mode_uninstall): Clean - up $dlname as well when cleaning a uninstalled libtool - library. Fixes -mode=clean on Cygwin and MinGW to actually - remove the dll when cleaning up an uninstalled library. - -2005-09-20 Peter Ekberg - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): - Split up --out-implib option for linker in separate args so that - the MSYS path translation can do its magic on the provided path - to the import library. Fixes problem in stresstest.at on MinGW. - -2005-09-19 Ralf Wildenhues - - * Makefile.am (ltdldatafiles): Fix installation order to match - dependency order. - (libltdl/Makefile.in): Use $(srcdir) for non-GNU make. - -2005-09-17 Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_mode_link): Allow some - ARM gcc ABI flags through. - Reported by AndrĂ©s MorĂ© . - - * Makefile.am (all-local): Rebuild libltdl/Makefile.in. - - * libltdl/m4/ltdl.m4 (LTDL_INIT) : Rename to.. - : this, to contain the name of the config - header. - * Makefile.am : Use it to define LT_CONFIG_H. - * HACKING, libltdl/argz.c, libltdl/lt__alloc.c, - libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, - libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h: - Adjusted. - -2005-09-16 Peter Ekberg - - * tests/testsuite.at (LT_AT_EXEC_CHECK): Make sure - that the exit status of the tested program is - propagated as the exit status of the expression - fed to AT_CHECK. - -2005-09-14 Ralf Wildenhues - - * libltdl/argz.c : Avoid redefinition warning. - - * libltdl/ltdl.c (lt_argz_insert): Work around newlib - argz_insert bug. - * Makefile.am (VERSION_INFO): Bumped revision. - Reported by Eric Blake . - -2005-09-13 Peter Ekberg , - Ralf Wildenhues - - * libltdl/config/ltmain.m4sh (func_generate_dlsyms): - Fix escape expression to actually escape relevant - characters from the following grep. Fix Cygwin and - MinGW to use the filtered symbol list when exporting - from self, and not the symbol filter. - * tests/stresstest.at: Export w8, not w8$ - -2005-09-12 Ralf Wildenhues - - Make tagdemo work smoothly with both pre- and ISO C++ compilers, - and remove all use of libstdc from other tests. - - * tests/tagdemo/configure.ac (HAVE_NAMESPACES, HAVE_IOSTREAM): - New tests for ISO C++ features. Reimplementation of similar - macros from the autoconf archive. - * tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp: Adjusted. - * tests/am-subdir.at, tests/template.at: Do not use iostream. - -2005-09-12 Peter Ekberg , - Ralf Wildenhues - - * tests/testsuite.at (host_os): Pull from `libtool --config'. - * tests/stresstest.at [ cygwin, mingw, pw32 ]: Use it to fix - setting of `-no-undefined'. - -2005-09-12 Ralf Wildenhues - - * libltdl/m4/ltdl.m4 (LT_WITH_LTDL, LTDL_CONVENIENCE) - (LTDL_INSTALLABLE): Use less quoting for expanded LIBLTDL, - LTDLINCL. Use m4_default instead of m4_if, to work - around AU_ALIAS bug with empty macro arguments. - (LTDL_INIT): Likewise. - * libltdl/m4/ltoptions.m4 (_LT_WITH_PIC): Likewise. - * TODO, HACKING: Updated. - -2005-09-10 Gary V. Vaughan - - * libtoolize.m4sh (TAR): Allow the user to override the tar - command. - -2005-09-09 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) - (_LT_LINKER_BOILERPLATE, _LT_COMPILER_OPTION, _LT_LINKER_OPTION) - (_LT_COMPILER_C_O): When comparing expected and actual compiler/ - linker output for warnings, weed out both empty lines as well as - lines starting with possibly indented `+', to allow for shell - debugging with `set -x'. - Check the weeded instead of unweeded contents for emptiness. - - * libltdl/config/ltmain.m4sh (func_mode_link): Actually provide - a useful error message. Fixes long-standing shameful user - neglection. - Reported by Martin Paljak . - -2005-09-08 Peter Ekberg - - * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: - Symbols in "pick any" sections are not global. Use - awk, not sed, in the global_symbol_pipe so that keeping - track of sections is easier. - * doc/libtool.texi (libtool script contents): Update to hint - at new findings concerning "pick any" sections. - -2005-09-08 Ralf Wildenhues - - * tests/early-libtool.at (config.status): Use EXEEXT - consistently. - Reported by Charles Wilson . - -2005-09-08 Charles Wilson - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [ cygwin, mingw, pw32 ]: Use --enable-auto-image-base instead of - a fixed image base address. - -2005-09-06 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ sysv4*uw2*, - sysv4.2uw2* ]: Fix my last checkin to really match the more special - case before the general case. - Reported by Stepan Kasal . - -2005-09-06 Roger Cornelius - - * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) - [ sysv5OpenUNIX8, sysv5UnixWare7, sysv5uw[78], unixware7, - sysv4*uw2* ]: Match special cases before general case. - -2005-09-05 Ralf Wildenhues - - * bootstrap: another AIX sed fix. - - * Makefile.am (TESTS_ENVIRONMENT): Export SHELL. - * bootstrap (SHELL): Set to $CONFIG_SHELL or /bin/sh. - Name `make' targets in portable fashion. Work around `rm' - warnings. Unconditionally create fake `libtoolize'. - Reported by Patrick Welche . - - * Makefile.am (doc/notes.txt): Use --no-headers instead of - --plaintext for makeinfo. - Reported by Peter O'Gorman . - -2005-09-04 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ aix ] - : Work around shell expansion issue in - func_show_eval by separating `$' and field number; drop then - unnecessary m4 quoting. - -2005-09-02 Gary V. Vaughan - - AC_BEFORE only works if declarations are made inside the macro - cited as the first argument: - - * libltdl/m4/libtool.m4 (LT_OUTPUT): Move AC_BEFORE decls... - (LT_INIT, LT_LANG): ...to the macro that has to come first. - -2005-09-01 Peter O'Gorman - - * libltdl/m4/libtool.m4 (old_postintall_cmds): chmod 644 before - running ranlib. - Reported by Gerald Pfeifer - -2005-09-01 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77) - (_LT_PROG_FC): aclocal-1.4 compatibility workaround. - - * bootstrap: Do not use nonportable -path. - Reported by Ralf Menzel . - -2005-09-01 Gary V. Vaughan - - * doc/libtool.texi (LT_INIT): Fix a logical error with - documentation of --with-pic vs --without-pic. - -2005-09-01 Ralf Wildenhues - - * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): m4_defun this.. - * libltdl/m4/libtool.m4 (LT_INIT): so it can be m4_require'd - from here with user-supplied options. Fixes output macro - ordering issue. - -2005-09-01 Gary V. Vaughan - - * libtoolize.m4sh (func_scan_files): When searching for evidence - of Autotools in aclocal.m4, be careful not to trip over requires - and defuns. - -2005-08-31 Gary V. Vaughan , - Ralf Wildenhues - - * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Move option macro - dipatch.. - (_LT_SET_OPTION): here. Do not fail but warn on unknown - options. - (_LT_UNLESS_OPTIONS(win32-dll), LT_OPTION_DEFINE(dlopen)): - Add whitespace. - Reported by Robert Ă–gren and - Akim Demaille . - -2005-08-31 Ralf Wildenhues - - * libltdl/m4/libtool.m4 [ solaris CC ]: Document issue with C++ - standard libraries. - -2005-08-30 Gary V. Vaughan - - * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_PIC_MODE): Renamed... - (AC_LIBTOOL_PICMODE): ...this in the backwards compatibility - code. There never was an AC_LIBTOOL_PIC_MODE macro. - - * libltdl/m4/libtool.m4 (_LT_SETUP): Remove duplicate - --enable-libtool-lock declaration. - -2005-08-29 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_PATH_TOOL_PREFIX, _LT_SYS_HIDDEN_LIBDEPS, _LT_DECL_EGREP): - Fix typos. - - * Makefile.am: Install libltdl data files in correct order. - Use pre-defined programs for installation; use NORMAL_INSTALL - and NORMAL_UNINSTALL. Really fix ownership and timestamp - problems. Fix typo in uninstallation of aclocal files. - Reported by Peter Breitenlohner and - Charles Wilson . - -2005-08-29 Gary V. Vaughan , - Ralf Wildenhues - - Allow for portability with Autoconf 2.59, Automake 1.9.6, - which lack AC_CONFIG_LIBOBJ_DIR support. - - * bootstrap: Unless environment variable WORKING_LIBOBJS_SUPPORT - is set to true aka `:', symlink .. - * argz.c lt__dirent.c lt__strl.c: .. these from the copies in - libltdl. - * configure.ac (SUBDIR_LIBOBJS): Automake conditional, set if - bootstrap didn't make the extra copies of libobj sources in - top srcdir... - * Makefile.am: Add these to EXTRA_DIST if SUBDIR_OBJS is not set, - as well as the originals in libltdl/, in order to work when - bootstrapped both with old and newer Automake/Autoconf. - -2005-08-29 Gary V. Vaughan - - * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE): Fix the comment to not - pretend that LIBLTDL and LTDLINCL are not AC_SUBSTed here. - -2005-08-29 Gary V. Vaughan - - Some macros had relied on accidentally correct ordering in order - for $MV to be defined before use. Factor out setting of some - common file commands and m4_require it before use: - - * libltdl/m4/libtool.m4 (_LT_FILEUTILS_DEFAULTS): Allow user to - override some common file commands at configure time. - (_LT_SETUP, _LT_CONFIG, _LT_COMPILER_OPTION, _LT_LINKER_OPTION) - (_LT_COMPILER_C_O, _LT_COMPILER_FILE_LOCKS) - (_LT_SYS_DYNAMIC_LINKER, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - (_LT_SYS_HIDDEN_DEPLIBS): m4_require it to ensure the commands are - defined before they are called. - -2005-08-28 Gary V. Vaughan - - * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4: AU_DEFUN doesn't pass - arguments. Use AU_ALIAS instead! - -2005-08-28 Ralf Wildenhues , - Gary V. Vaughan - - * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p) [osf]: - Save file descriptor to original STDIN, and restore after - redirection. Fixes memory corruption with Tru64 and OSF sh. - Reported by Nicolas Joly . - -2005-08-26 Ralf Wildenhues , - Peter Ekberg - - * tests/early-libtool.at: Fix goofed up make rules in - previous commit. - - * tests/inherited_flags.at: Weaken for MSVC. - * tests/early-libtool.at, tests/template.at: Fix for compiler - that do not understand '-c -o'. - -2005-08-26 Ralf Wildenhues - - * tests/standalone.at, tests/template.at: Do not compare - output because of EOL issues. Resolve warnings, make cross- - compilation aware. - Reported by Peter Ekberg . - - * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - (_LT_LINKER_SHLIBS): Double-quote unsafe tag variable - descriptions: they are literals. - -2005-08-25 Peter Ekberg , - Ralf Wildenhues - - * tests/standalone.at: (without autotools): Add - $(CFLAGS) to LTCOMPILE and LTLINK. Separate compiling - and linking. Remove compiling flags from link. Add - --tag. Add -no-undefined flag. - -2005-08-24 Bruno Haible - - * libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f" - and "rm -f && ln -s" to make a symlink for a shared library: the - former is needed for libraries `ln' depends on, the latter for - Solaris /bin/ln. - Reported by Nelson H. F. Beebe . - - * libltdl/config/ltmain.sh (cwrappersource): return 127 if exec - failed. - -2005-08-24 Ralf Wildenhues - - * libltdl/m4/libtool.m4 (_LT_COMPILER_C_O): Send chmod warning to log. - - * tests/defs.m4sh (m4dir, auxdir, scripts): Fix for source tree - reorganization. - * tests/sh.test: Adjust. Also barf on sed diagnostics so this - test will not fail again silently. - - * libltdl/m4/ltdl.m4 (LT_SYS_SYMBOL_USCORE): Use _LT_EOF, not - EOF. - - * tests/fcdemo/Makefile.am (suffix rules): Explicitly add - $(FCFLAGS_f90) so the tests can pass on AIX. - -2005-08-24 Peter O'Gorman - - * libltdl/config/ltmain.m4sh (inherited_linker_flags): Work when - output is an application too. - Reported by Christopher Egger - -2005-08-23 Stepan Kasal , - Ralf Wildenhues - - * libltdl/m4/ltdl.m4 (LTDL_INIT): Use AH_HEADER if defined. - Compute CONFIG_H only before creating config.status. - Reported by Peter Ekberg . - -2005-08-23 Ralf Wildenhues - - * Makefile.maint (web-manual): Fix $(LN_S) to use absolute path. - Fix creating the manual for VPATH build. - - * bootstrap: Fix missing replace config -> $auxdir. ltmain.m4sh - is prerequisite to ltmain.sh. Improve warning message. - -2005-08-22 Gary V. Vaughan - - Reorganise the libtool tree to create a bootstrapped libltdl for - installation to the libtoolize master tree, so that libltdl is - useable even in the extreme case of when automake and autoconf are - not installed on the developers machine. Part of this change - requires some duplication of rules between Makefile.am (which - builds libltdl for this distribution) and libltdl/Makefile.am - (which is used by projects that libltoolize --ltdl --copy), so - libtool now really does use a single toplevel Makefile.am, and we - generate libltdl/Makefile.am from that: - - * m4, config: Moved from here... - * libltdl/m4, libltdl/config: ...to here, to reduce the amount of - kludging needed in bootstrap for autoreconf to run. - * tests/cdemo/Makefile.am, tests/demo/Makefile.am, - tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, - tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am, - tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, - tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to - compensate. - * tests/cdemo/configure.ac, tests/demo/configure.ac, - tests/depdemo/configure.ac, tests/f77demo/configure.ac, - tests/fcdemo/configure.ac, tests/mdemo/configure.ac, - tests/mdemo2/configure.ac, tests/pdemo/configure.ac, - tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto. - * libltdl/m4/ltdl.m4: Increment serial number. - (LTDL_INIT): Accept an optional directory argument to prefix each - of the LD_DLLOADERS locations. Default to empty for backwards - compatibility. - * Makefile.maint: Adjust to compensate. - * configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust. - (AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS - from in a subdirectory from the amalgamated Makefile.am. - (AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects. - (AC_CONFIG_FILES): Remove libltdl/Makefile.am. - * libltdl/Makefile.am: Removed from repository, and merged into - Makefile.am as we now generate it... - * Makefile.am (libltdl/Makefile.am): ...from here, by extracting - the merged rules, and tweaking paths to accomodate the difference - in directory from Makefile.am to libltdl/Makefile.am. - (nobase_dist_pkgdata_DATA): Automake generated installation rules - change timestamps of installed files, so renamed this... - (configauxfiles): ...to this... - (libtoolize): ...substitute it... - (install-data-local): ...install manually, preserving - timestamps... - (install-data-hook): ...and set execute bit as appropriate. - (uninstall-hook): Not forgetting to remove them at uninstall. - (libltdl/Makefile.in): New rule. Called from... - * bootstrap: ...here to avoid relying on config.status at - bootstrap time. - (auxdir, m4dir): Extract from configure.ac for ease of future - maintenance. Adjust all references. - (reconfdirs): Call autoreconf for libltdl too -- even - though we don't use it for the build, libltdl/configure and - friends are installed with `libtoolize --ltdl --copy'. - * libtoolize.m4sh: Add files from the installed config master tree - to libtoolize --ltdl project subdirectory. - Diagnose duplicated files when --ltdl is used in an autotooled - project. - It's perfectly fine to run `libtoolize --ltdl --copy' in a tree - that has no configure.ac or configure.in; we want libltdl to be - useful even to projects that don't use autotools themselves. - (libtoolize_flags): Removed. Changed all callers. - (func_massage_pkgconfig_files): New function. - * tests/standalone.at: New tests for using libltdl without - supporting configury in the parent project. - * tests/testsuite.at: Run them! - * NEWS: Updated. - -2005-08-22 Peter Ekberg - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Add - forgotten end bracket. - - * doc/libtool.texi: Shorten the lines describing the - output from MS dumpbin, and align the columns. - - * m4/libtool.m4: Bump serial number. - (LT_PATH_NM): If nm is not found on the path, look for - dumpbin. Then check if $NM responds as dumpbin would - and if not, assume the name lister is BSD nm compatible. - (_LT_CMD_GLOBAL_SYMBOLS): If the name lister uses the - dumpbin interface, adjust the test to find a working - global_symbol_pipe. - * doc/libtool.texi: Document $NM to possibly be MS - dumpbin compatible, and also document the format of the - relevant output from MS dumpbin. - -2005-08-21 Gary V. Vaughan - - * libltdl/Makefile.am: revert mistaken commit. - - * tests/template.at [darwin]: Some of these tests result in - unresolved symbols on darwin, so don't run those test on that - host! - -2005-08-18 Gary V. Vaughan , - Ralf Wildenhues - - * m4/libtool.m4 (LT_OUTPUT): New macro to generate - libtool before config.status. - (_LT_CONFIG_COMMANDS): If LT_OUTPUT has been invoked, then - generate code in config.status to call config.lt instead of - generating libtool directly. - * doc/libtool.texi (LT_INIT): Document LT_OUTPUT. - * tests/early-libtool.at: New test. - * Makefile.am (TESTSUITE_AT): Updated. - * tests/testsuite.at: Updated. Define defaults for $ACLOCAL, - $AUTOCONF. - -2005-08-18 Ralf Wildenhues - - * TODO: Actually updated now. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ freebsd ]: Do not - assume `aout' for modern FreeBSD by absence of deprecated - `objformat'. - - * m4/libtool.m4 [sun, CC] (_LT_LANG_CXX_CONFIG): Move postdeps - override .. - (_LT_SYS_HIDDEN_LIBDEPS): ..here. - * TODO: Updated. - -2005-08-18 Stepan Kasal - - * config/general.m4sh (SP2NL, NL2SP): Simplify. - -2005-08-17 Gary V. Vaughan - - * m4/ltdl.m4 (LTDL_INIT): Fix mismatched parens. - -2005-08-13 Ralf Wildenhues - - * tests/inherited_flags.at: Store intermediate libtool output - for better debugging. - - * tests/link-order.at: Add -no-undefined to LDFLAGS. - - * tests/convenience.at, tests/template.at: Change suffix of C++ - files to .cpp, for compatibility with MSVC. - Reported by Peter Ekberg . - -2005-08-12 Jeremie LE HEN , - Ralf Wildenhues - - * doc/libtool.texi (Creating object files, Linking libraries): - Update description of library object (.lo) and libtoo library - (.la) files. - (all over): Replace MODE with --mode=MODE in examples. - -2005-08-12 Ralf Wildenhues - - * config/ltmain.m4sh (func_source): New function. - (func_mode_execute, func_mode_install, func_mode_link): Use it. - Do not append a dot to a file name to source, it breaks on - cygwin managed mounts and is not necessary anywhere. - Reported by Eric Blake . - - * config/ltmain.m4sh (func_execute_cmds): New function. - (func_mode_finish, func_mode_install, func_mode_link) - (func_mode_uninstall): Use it. - - * tests/defs.m4sh (func_configure): Rename to .. - (func_configure_nofail): this, call from old. - * tests/fcdemo-conf.test, tests/fcdemo-shared.test, - tests/fcdemo-static.test: Use. Do not fail gratuitously but - SKIP on compilers that look like they could be Fortran 77-only. - Reported by Patrick Welche . - - * config/ltmain.m4sh (mode): Do not initialize, for nicer error - messages. - -2005-08-10 Peter Ekberg - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Set ac_ext to cpp, not cc. - -2005-08-08 Ralf Wildenhues - - * config/ltmain.m4sh (inherited_linker_flags): Backed out broken - patch. - -2005-08-08 Peter O'Gorman - - * config/ltmain.m4sh (inherited_linker_flags): Work when output - is an application too. - Reported by Christopher Egger - -2005-08-08 Ralf Wildenhues - - * m4/libtool.m4 (_LT_PROG_FC, _LT_LANG_FC_CONFIG): New macros - for modern Fortran. - (LT_LANG, _LT_LANG_DEFAULT_CONFIG, _LT_SYS_DYNAMIC_LINKER, - _LT_SYS_HIDDEN_LIBDEPS): Adjusted. - * tests/fcdemo-conf.test, tests/fcdemo-exec.test, - tests/fcdemo-make.test, tests/fcdemo-shared.test, - tests/fcdemo-static.test, tests/fcdemo/Makefile.am, - tests/fcdemo/README, tests/fcdemo/configure.ac, - tests/fcdemo/cprogram.c, tests/fcdemo/foo.h, tests/fcdemo/fooc.c, - tests/fcdemo/foof.f90, tests/fcdemo/foof2.f90, - tests/fcdemo/foof3.f90, tests/fcdemo/fprogram.f90: New tests for - Fortran. - * tests/convenience.at: Extended. - * Makefile.am, configure.ac: Adjusted. - * NEWS: Updated. - - * AUTHORS, HACKING: Updated. - -2005-08-05 Albert Chin-A-Young - - * config/ltmain.m4sh (func_mode_link): Ignore errors from expr - when determining if piece-wise linking should be done. - -2005-08-04 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_link) : Add - missing bit from Christoph's patch. - - * m4/libtool.m4 (_LT_LINKER_HARDCODE_LIBPATH, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG): Comment typos. - -2005-08-04 Christoph Egger - - * config/ltmain.m4sh (func_mode_link) : Change - basename() to base_name() and have it return a pointer to const, - fix compilation warnings. - -2005-07-30 Peter Ekberg - - * m4/libtool.m4 (_LT_PROG_F77): Set it up so that saying F77=no - to configure disables the fortran tests in the testsuite. - -2005-07-29 Richard Moseley - - * m4/ltdl.m4 (LTDL_INIT): Handle in addition the new name for - AC_LIST_HEADERS which is _AC_LIST_TAGS. - -2005-07-28 Peter Ekberg - - * libltdl/Makefile.am: Make the LTDLOPEN define controllable - from the configure script. - * m4/ltdl.m4 (LTDL_INIT): Set the LTDLOPEN define according - to libname_spec. - - * tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year, - not time, for really fresh files. Add sleep 1 calls at - strategic places. Makes the test pass for MinGW. - - * m4/libtool.m4 (_LT_LINKER_OPTION): Fix copy-paste bug, it is - the linker that is tested. - - * tests/demo-noinst-link.test: $make is empty on MSYS, replace - with $MAKE. Makes the test pass for MinGW. - - * config/ltmain.m4sh (func_generate_dlsyms): Properly remove - the fake symbol line ": @PROGRAM@ " from the list of exported - symbols. - - * libltdl/loaders/loadlibrary.c (vm_open): Set the error mode so - that no dialog is popped up in case the file given to - LoadLibrary is not a dll. - - * config/ltmain.m4sh (func_mode_link) : Make sure - skipped_export is set to colon if _some_ cmd of - export_symbols_cmds is too long. - - * libltdl/ltdl.c: The linker is confused by having one - definition of lt_libltdlc_LTX_preloaded_symbols tagged with - __declspec(dllexport) in ltdl.c and one definition with an - initial value in libltdlcS.c. So, just say extern in ltdl.c. - Fixes the mdemo-exec.test for MinGW. - - * config/ltmain.m4sh (func_mode_link) : Zap duplicate - message "creating reloadable object files..." - -2005-07-23 Peter O'Gorman - - * m4/libtool.m4 (CXX, archive_cmds) [sun]: Add -lCstd, -lCrun - and -lc for c++ builds with Sun C++ and Centerline C++.. - Reported by Albert Chin-A-Young - -2005-07-11 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Fix bogus merge. - Reported by Patrick Welche . - -2005-07-08 Ralf Wildenhues - - * libltdl/Makefile.am (libltdl_la_DEPENDENCIES): Depend on - $(BUILT_SOURCES) as well, so that argz.h gets created through - `make libltdlc.la'. - Reported by Sven Verdoolaege . - -2005-07-08 Peter Breitenlohner - - * Makefile.am (install-data-local): Have root own of installed - files (but do not fail, for user installs). - -2005-07-08 Bruno Haible - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - [cygwin,mingw,pw32]: Make DLL executable after installing it. - -2005-07-08 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_install): Do not assume `-f' - needs an argument if the install program is `cp'. Cleanup - install mode somewhat. - Reported by Juergen Leising . - -2005-07-03 Thorsten Glaser - - * m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Quieten configure - output for corner cases on some BSDs. - (LT_CMD_MAX_LEN): Another comment cleanup. - - * config/ltmain.m4sh (func_extract_archives, func_mode_install), - m4/libtool.m4 (_LT_SETUP, _LT_SYS_DYNAMIC_LINKER, LT_PATH_LD) - (_LT_PATH_LD_GNU, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): - Comment language, indentation, and backquote cleanup. - * THANKS: Updated. - -2005-07-02 Peter O'Gorman - - * tests/inherited_flags.at: Use -no-undefined. - Reported by Chris Oxenreider - -2005-07-02 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_compile, func_mode_link), - m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH, _LT_ENABLE_LOCK): - Remove some unnecessary quotes. - - * tests/convenience.at : Fix java test. - Reported by Eric Blake . - -2005-07-01 Derek R. Price - - * config/ltmain.m4sh (func_mode_link) : Handle - spaces in paths to executed programs. Quote path in error message. - -2005-06-29 Ralf Wildenhues - - * THANKS: Updated. - -2005-06-28 Stepan Kasal - - * clcommit.m4sh: "grep|sed" can be replaced by mere "sed". - * m4/libtool.m4 (_LT_LIBTOOL_TAGS): Remove unnnecessary "[]". - * m4/lt~obsolete.m4: Use m4_ifndef. - -2005-06-27 Stepan Kasal - - * m4/ltsugar.m4 (lt_combine, _lt_combine): Fix default separator. - - * m4/ltoptions.m4 (_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Replace - AC_FOREACH by a combination of m4_foreach/m4_split/m4_normalize. - -2005-06-27 Ralf Wildenhues - - * m4/ltoptions.m4 (_LT_SET_OPTIONS): Remove unnecessary workaround - for CVS Automake bug (fixed). - Reported by Stepan Kasal . - -2005-06-21 Peter O'Gorman - - * conig/ltmain.m4sh [darwin]: Accept -arch flag. - -2005-06-18 Ralf Wildenhues - - * m4/libtool.m4 (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE): - New macros: save warnings and boilerplate of simple compile/link - tests. - (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) - (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Call. - (_LT_COMPILER_OPTION, _LT_LINKER_OPTION, _LT_COMPILER_C_O, ): - Fail only if nonempty warnings different from default - compile/link. - -2005-06-17 Ralf Wildenhues - - * m4/ltsugar.m4 (lt_car, lt_cdr): New macros, clones of - m4_car/m4_cdr with the fixed semantics of Autoconf-2.59c CVS, in - order to work with 2.59. - (lt_combine): Use it. - Reported by Christoph Egger . - -2005-06-11 Ralf Menzel , - Ralf Wildenhues - - * m4/ltoptions.m4 (_LT_SET_OPTIONS): Loop options only if - nonempty. - * m4/ltsugar.m4 (lt_combine): Don't test against empty quotes, - test against empty arg. Fixes infinite m4 loop with CVS - Autoconf. - -2005-06-11 Ralf Wildenhues - - * m4/libtool.m4 (_LT_COMPILER_OPTION, _LT_LINKER_OPTION): No - need for $ECHO here. Fix sed script syntax to be portable. - This should now put the pic-flag right after the last $*FLAGS - variable again, if any. Necessary for Fortran AC_FC_SRCEXT. - -2005-06-09 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CONFIG_COMMANDS): Remove long lines. - -2005-06-06 Ralf Wildenhues - - * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS, - _LT_LANG_CXX_CONFIG): PGI also has pgf95. PGI static flag is - `-Bstatic'. Remove harmless extra comma from whole_archive - output. - -2005-06-05 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_compile): In order to find out - about forbidden characters in output, check with grep after - checking func_quote_for_eval result. Also, warn instead of fail. - * config/general.m4sh (func_quote_for_eval) - (func_quote_for_expand): Revert SunOS sh bug workaround patch from - 2004-12-28 as it triggers bugs in the Tru64 5.1B shell. - Reported by Albert Chin and - Nicolas Joly . - -2005-06-01 Olly Betts (tiny change) - - * libltdl/argz.c (argz_create_sep): Fix typo. - -2005-05-31 Peter O'Gorman - - * config/ltmain.m4sh: Do not add installed static litool libraries - to convenience, they are not convenience libraries. - Reported by Chen-Mou Cheng - -2005-05-16 Ralf Wildenhues - - * THANKS: Updated. - -2005-05-15 Ralf Wildenhues - - * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [aix]: - Fix wrong $ECHO use overlooked in 2005-04-27. Simplify slightly. - - * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS, - _LT_LANG_CXX_CONFIG) [linux]: PGI: - Add $pic_flag to archive_cmds and archive_expsyms_cmds. - Bug reported against LAM by Troy Telford . - -2005-05-13 Ralf Wildenhues - - * THANKS: Updated. - -2005-05-06 Gary V. Vaughan - - * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Propogate ltdl directory. - -2005-05-02 Ralf Wildenhues - - * Makefile.am (stamp-vcl): Use `diff' instead of `cmp'. - -2005-04-30 Gary V. Vaughan - - Revert the parallel installation changes from November last year: - - * libtoolize.m4sh (pkgdatadir, aclocaldir): Substituted from - configure. - (func_copy_all_from_path): Removed. No longer used. - (func_copy_some_files): Simplify now that nothing is copied from a - list of possible directories now. - (func_scan_files): Remove directory readability check... - (func_nonemptydir_p): ...in favour of a dedicated sanity check - function called from the main body. - (_lt_pkgvdatadir): Set pkgdatadir and aclocaldir appropriately if - this is in the environment. - * configure.ac: Tests for `ln' removed. - (APIVERSION): Removed. - * Makefile.am (pkgvdatadir, nobase_dist_pkgvdata_DATA) - (nobase_pkgvdata_DATA): Renamed to... - (pkgdatadir, nobase_dist_pkgdata_DATA, aclocalfiles): ...these - respectively. - (edit): Adjust for new variable names. - (install-data-local): Don't bother to remove old macro files that - will be overwritten by the installation, and perform a manual - installation of $(aclocalfiles) to preserve timestamps. - (install-exec-hook): Removed. No need to make versioned links. - (uninstall-hook): No need to remove versioned links, but now we - need to manually remove the manually installed $(aclocalfiles). - * doc/libtool.texi: Remove bogus notes about setting - ACLOCAL_AMFLAGS for versioned libtool installations. - * NEWS: Remove parallel installation item. - -2005-04-29 Ralf Wildenhues - - * m4/ltdl.m4 (all over): Quote all arguments to AC_DEFINE and - AC_DEFINE_UNQUOTED consistently. Reported by - Michael Koch , Riccardo Mottola , - and Dalibor Topic . - - * HACKING: Updated. - -2005-04-27 Ralf Wildenhues - - * tests/convenience.at: Actually add. - - * tests/convenience.at: New. Test convenience archives. - * Makefile.am, tests/testsuite.at: Adjust. - * tests/testsuite.at: Reorder tests. Suspend AT_TESTED. - (PREPARE_TESTS): Define EGREP, host, build, LIBTOOL. - (LT_AT_BOOTSTRAP): Fail if autoreconf fails. - (LT_AT_EXEC_CHECK): New macro for execution of $build binaries. - (LT_AT_TAG): New macro to test tag availability or skip test. - * tests/am-subdir.at, tests/duplicate_members.at, - tests/inherited_flags.at, tests/link-order.at, - tests/stresstest.at, tests/template.at: Adjust. Use LT_AT_TAG, - LT_AT_EXEC_CHECK, AT_KEYWORDS. Use compiler/linker flags - consistently. - * tests/link-order.at: Fix use of AT_DATA, bogus redirection - inside AT_CHECK. - * tests/stresstest.at: Do not use wildcards/regex in symbol files, - they are not portable. Use -no-undefined on win32. Fix to ignore - compile/link warnings. - - * tests/f77demo/foo.h, tests/f77demo/fooc.c, - tests/f77demo/cprogram.c, tests/mdemo2/main.c, tests/pdemo/foo.h: - Make declarations available. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: sed 3.02 does - not understand \t in regex. - Reported by Tim Van Holder . - - * tests/defs.m4sh (func_configure): Don't run the whole configure - script with -x. - - * config/ltmain.m4sh: Audit use of echo vs $ECHO. - Reported by Robert Ă–gren and others. - - * TODO: Updated. - -2005-04-26 Ralf Wildenhues , - Gary V. Vaughan - - * HACKING, THANKS: Updated. - -2005-04-25 David Edelsohn - - * m4/libtool.m4 (_LT_LINKER_SHLIBS): _LT_TAGDECL(file_list_spec). - * config/ltmain.m4sh (func_mode_link): Change $filelist to - $output. - -2005-04-24 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CC_BASENAME): Ignore `compile'. - -2005-04-23 Ralf Wildenhues - - * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [solaris]: - Update wl for Sun Studio f77/f90/f95. Fix whole_archive_flag_spec - for cc and f77/f90/f95 to prevent reordering in case we link with - $CC. - - * m4/libtool.m4: Audit use of echo vs $ECHO. - * TODO: Update. - Reported by Robert Ă–gren and others. - -2005-04-23 Gary Kumfert - - * m4/libtool.m4 (_LT_LANG_F77_CONFIG) [aix4, aix5]: - Adjust logic to match the C case: Only disable static if not - on ia64 nor runtimelinking. - -2005-04-22 Ralf Wildenhues (tiny change) - - * Makefile.am, HACKING: Use lt__cd throughout. - -2005-04-22 Gary V. Vaughan - - The FSF are moving offices today. Changed their contact address - in all files from `59 Temple Place, Suite 330, MA 02111-1307' to - `51 Franklin Street, Fifth Floor, MA 02110-1301'. - -2005-04-19 Ralf Wildenhues - - * libtoolize.m4sh (func_scan_files, func_serial, - func_ltmain_update, func_config_update, func_install_update): - Placate AIX sed. - -2005-04-19 David Edelsohn - - * config/ltmain.m4sh (func_mode_link): If command exceeds - max_cmd_len and file_list_spec exists, write list of input files - to temporary file. - * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [aix4,aix5]: Define file_list_spec. - -2005-04-18 Ralf Wildenhues - - * tests/demo-hardcode.test: Fix typo. - -2005-04-17 Alexandre Oliva , - Peter O'Gorman - - * config/ltmain.m4sh: Don't add files with the same base name to - an archive; rename duplicates instead. - (func_extract_an_archive): Remove section to deal with duplicate - base names in an archive. - * tests/functests.at: remove. - * tests/duplicate_members.at: new test. - * tests/testsuite.at: Add new test, remove old. - * Makefile.am: Add new test, remove old. - -2005-04-17 Ralf Wildenhues - - * tests/demo-hardcode.test [solaris]: Use dumpstabs if available, - to avoid false failure caused by debug section which contains - command line (Solaris cc). - Reported by Ralf Menzel . - -2005-04-17 Ralf Wildenhues (tiny change) - - * libtoolize.m4sh (func_copy_cb): Fix syntax typo. - -2005-04-15 Maciej W. Rozycki - - * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Add old_archive_cmds - definition. - -2005-04-15 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CC_BASENAME): New macro to figure out - $cc_basename. Skip ccache, distcc, purify, cmdline options, - `$host_alias-' prefix. - (_LT_SETUP, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) - (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Use. - * NEWS, TODO: Update. - -2005-04-15 Gary V. Vaughan - - * libltdl/configure.ac (AC_OUTPUT): loaders/Makefile is no longer - used. - - * Makefile.am (lt__cd, CD_TESTDIR): New make macros to work around - problems with CDPATH in some shells. - (check-local, installcheck-local, clean-local): Use them. - -2005-04-14 Ralf Wildenhues (tiny change) - - * bootstrap: Define srcdir for making `commit'. - -2005-04-14 Alexandre Oliva , - Ralf Wildenhues - - * config/ltmain.m4sh (link mode): Add to tmp_libs paths for - libtool dep libs in reverse order as well. - * Makefile.am, tests/testsuite.at, tests/link-order.at: New test. - -2005-04-13 Gary V. Vaughan - - Since the bootstrap process requires that several of the rules for - files generated in doc and tests already lived in - $top_srcdir/Makefile.am, along with proxy rules in sub-Makefiles, - this changeset consolidates almost everything into the top - Makefile.am, simplifying things considerably: - - * doc/Makefile.am, tests/Makefile.am: Removed. All rules moved... - * Makefile.am: ...to here and adjusted to run from $top_builddir. - Some reformatting to group rules and declarations by purpose, and - simplify with respect to removing much of the make recursion. - Add `doc/PLATFORMS', `doc/fdl.texi' and `doc/notes.texi'. - `defs.in' and `defs.m4sh' are in directory `tests'. - (uninstall-hook): Don't forget to uninstall libtoolize's libltdl - source tree. - * bootstrap: Simplified dirty makefile management, and bootstrap - file creation in light of having only a single pertinent - Makefile. - * configure.ac (CONF_SUBDIRS): Add tests/ prefix to each subdir to - compensate. - (DIST_MAKEFILE_LIST): Adjust. - (AC_CONFIG_FILES): Remove doc/Makefile and tests/Makefile. - * tests/defs.m4sh (LIBTOOL, scripts): Adjust paths. - * tests/cdemo-conf.test, tests/cdemo-exec.test, - tests/cdemo-make.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/cdemo-undef.test, - tests/demo-conf.test, tests/demo-deplibs.test, - tests/demo-exec.test, tests/demo-hardcode.test, - tests/demo-inst.test, tests/demo-make.test, - tests/demo-nofast.test, tests/demo-noinst-link.test, - tests/demo-nopic.test, tests/demo-pic.test, - tests/demo-relink.test, tests/demo-shared.test, - tests/demo-static.test, tests/demo-unst.test, - tests/depdemo-conf.test, tests/depdemo-exec.test, - tests/depdemo-inst.test, tests/depdemo-make.test, - tests/depdemo-nofast.test, tests/depdemo-relink.test, - tests/depdemo-shared.test, tests/depdemo-static.test, - tests/depdemo-unst.test, tests/f77demo-conf.test, - tests/f77demo-exec.test, tests/f77demo-make.test, - tests/f77demo-shared.test, tests/f77demo-static.test, - tests/link-2.test, tests/link.test, tests/mdemo-conf.test, - tests/mdemo-dryrun.test, tests/mdemo-exec.test, - tests/mdemo-inst.test, tests/mdemo-make.test, - tests/mdemo-shared.test, tests/mdemo-static.test, - tests/mdemo-unst.test, tests/mdemo2-conf.test, - tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, - tests/objectlist.test, tests/pdemo-conf.test, - tests/pdemo-exec.test, tests/pdemo-inst.test, - tests/pdemo-make.test, tests/quote.test, tests/sh.test, - tests/suffix.test, tests/tagdemo-conf.test, - tests/tagdemo-exec.test, tests/tagdemo-make.test, - tests/tagdemo-shared.test, tests/tagdemo-static.test, - tests/tagdemo-undef.test, tests/tagtrace.test (func_cd, - func_require): Adjust paths. - -2005-04-12 Ralf Wildenhues - - * config/general.m4sh, libtool.m4 (_LT_SETUP), tests/defs.m4sh, - tests/functests.at: Fix definition of $Xsed. - -2005-04-07 Ralf Wildenhues - - Improved Portland support: prelinking of C++ templates and - whole_archive. - - * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [linux]: - Reinstate formatted whole_archive_flag_spec for PGI compilers. - * config/ltmain.m4sh (func_mode_link), m4/libtool.m4 - (_LT_LINKER_SHLIBS): New tag prelink_cmds, to be executed before - linking a program. - (_LT_LANG_CXX_CONFIG) [linux]: Use for pgCC. - (_LT_COMPILER_C_O): conftest might be nonempty, clean up more - thoroughly. - - * tests/testsuite.at (LT_AT_BOOTSTRAP): Temporary fix for testing - in-tree libtoolize. - - * m4/libtool.m4 (_LT_CONFIG_COMMANDS): Only call sed if - necessary while quoting all libtool variables. - Reported by Robert Ă–gren . - -2005-04-05 Ralf Wildenhues - - * tests/Makefile.am: Typo. - -2005-04-04 Ralf Wildenhues - - * notes.texi: Platform-specific configuration notes. - * doc/libtool.texi: Include as section. - * bootstrap, doc/Makefile.am: build also as notes.txt and - distribute. - -2005-04-04 Gary V. Vaughan - - Under certain circumstances, not all of the macro files were - copied into the destination directory. This changeset fixes - that bug: - - * libtoolize.m4sh (func_serial_update): Renamed local variable - `my_update_p' to `my_serial_update_p', and initialise it correctly - even when the destination file is not yet there. - Reported by Ralf Wildenhues - -2005-04-04 Gary V. Vaughan - - * tests/libtoolize.at: New tests for basic libtoolize - functionality and reporting. - * tests/testsuite.at: Call them. - * tests/Makefile.am: Distribute them. - - * libtoolize.m4sh (pkgvdatadir): Renamed from this... - (_lt_pkgvdatadir): ...to this. - * tests/testsuite.at (LT_AT_LIBTOOLIZE): The `-I' option is no - longer supported by libtoolize. Set _lt_pkgvdatadir in the - environment of the invocation instead. - -2005-04-04 Ralf Wildenhues - - * tests/template.at: New Autotest tests for C++ with templates. - First test provided by - Markus Christen . - * tests/Makefile.am, tests/testsuite.at: Use and distribute. - -2005-04-04 Gary V. Vaughan - - * libtoolize.m4sh (func_serial_update): Replace missing - destination serial calculation line, presumably lost due to a bad - merge. - - * libltdl/loaders/Makefile.am: Removed actually. - -2005-04-04 Gary V. Vaughan - - Getting the value of ltdldatafiles from a submake was not - portable, and had problems with GNU make-3.80 at least. This - changeset pulls the installation rules for libtoolize's copy of - the libltdl sources out of libltdl/Makefile.am so that - ltdldatafiles is defined in the same Makefile that uses it. Also, - this makes a start at cleaning up libltdl/Makefile.am so that it - is useful in a package that uses `libtoolize --ltdl': - - * libltdl/loaders/Makefile.am: Removed entirely. - * libltdl/Makefile.am (dlopen.la, dld_link.la, dyld.la) - (load_add_on.la, loadlibrary.la, shl_load.la): All built from here - now that the loaders submake has gone. - (show-ltdldatafiles): Removed. No longer required. - (ltdldatadir, ltdldatafiles, install-local): Moved from here... - * Makefile.am (ltdldatadir, ltdldatafiles, install-local): ..to - here. - (libtoolize): Substitute $(ltdldatafiles) directly without calling - make to get the value from libltdl/Makefile. - -2005-04-01 Gary V. Vaughan - - * Makefile.am (libtoolize): Substitute $(nobase_pkgvdata_DATA). - pkgvmacro_DATA is no longer set in the makefile. - * libtoolize.m4sh (func_massage_pkgvmacro_DATA): Use it and, for - consistency, renamed from this... - (func_massage_nobase_pkgvdata_DATA): ...to this. Adjust all - callers. - -2005-04-01 Gary V. Vaughan - - Fix problems with serial comparison sed scripts, and factor out - common code from similar serial comparison functions: - - * libtoolize.m4sh (func_keyword_update): Common code factored out - of func_ltmain_update and func_config_update. - (func_ltmain_update, func_config_update): Adjust, and fix sed - expressions to not use unportable ? modifier. - (func_install_update): New serial number based file updater keyed - off 'scriptversion' variable in install-sh. Adjust all callers. - -2005-04-01 Gary V. Vaughan - - Most of the hair introduced ostensibly to enable testing of - uninstalled libtoolize isn't necessary if we allow overriding of - the libtool master copy directory: - - * configure.ac (pkvmacrodir): No need to substitute this. - * Makefile.am (edit): No need to substitute pkgvmacrodir. - (dist_pkgvdata_DATA): Use nobase_ prefix so that these files are - installed to $(pkgvdatadir)/config. - (pkgvmacro_DATA): Renamed to... - (nobase_pkgvdata_DATA): ...this, so that files are installed to - $(pkgvdatadir)/m4. - (install-data-hook): Adjust. - * libtoolize.m4sh: Remove -I processing. - (func_filename_path_search): No longer required without -I. - Adjust all callers. - (pkgvltdldirs, pkgvmacrodirs): Deleted. - (pkgvdatadir): Allow overriding from the environment so that we - can write tests for uninstalled libtoolize. - (func_serial_update, func_ltmain_update, func_config_update): - Rename srcdirs parameter to srcdir, and don't call the path_search - function anymore. Adjust all callers. - (--install): Don't blindly copy all config files. - -2005-04-01 Mike Stump - - * m4/libtool.m4 (LT_CMD_MAX_LEN) [netbsd, freebsd, openbsd - darwin, dragonfly]: Use 3/4 of argmax, instead of 1/4. - -2005-03-28 Ralf Wildenhues - - * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): - Set $cc_basename. - - * HACKING: echo vs $ECHO. - -2005-03-28 Ralf Wildenhues (tiny change) - - * doc/libtool.texi: Minor formatting cleanups. - -2005-03-24 Gary V. Vaughan - - * libtoolize.m4sh: Propogate --debug flag to sub-libtoolizes. - - * libtoolize.m4sh: Fix a typo, s/pkgvltdldirs/pkgvdatadirs/. - When using -I to test an uninstalled libtoolize, we need to add - the config subdirectory to the search path so that ltmain.sh can - be found in the source tree. - - * libtoolize.m4sh (func_copy_some_files): IFS needs to be set to - path delimiter for all inner loop iterations. - Once a matching file has been copied, no need to keep searching - the path for another -- move on to the next file! - - * libtoolize.m4sh: For verbose mode, explain why macro files are - not installed without an AC_CONFIG_MACRO_DIR declaration. - -2005-03-24 Gary V. Vaughan - - As a prerequisite for being able to test an uninstalled libtoolize - for copying files correctly from the source tree, we must know - exactly which files should be copied by the --ltdl option to avoid - accidentally picking up compilation objects and other noise when - $builddir == $srcdir: - - * libltdl/loaders/Makefile.am (ltdldatadir, ltdldatafiles) - (install-data-local): Removed... - * libltdl/Makefile.am (ltdldatafiles): ...and consolidated here. - (show-ltdldatafiles): New rule... - * Makefile.am (ltdldatafiles, libtoolize): ...used to substitute - exactly which files are installed by libtoolize --ltdl. - (edit): Move pkgvmacro_DATA substitution expression... - (libtoolize): ...to here. - * libtoolize.m4sh: Use func_copy_some_files() instead of - func_copy_all_from_path() to copy the --ltdl option installed - files. - (pkgvltdldirs): New path variable to search for files installed by - --ltdl option. - (func_massage_pkgvltdl_files): New function to calculate the list - of ltdl installation files. - -2005-03-22 Ralf Wildenhues (tiny change) - - * m4/libtool.m4, m4/ltdl.m4: Indentation and quoting cleanup. - -2005-03-22 Ralf Wildenhues - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Use ${wlarc} - and set to empty when using $LD for linking. Fixes regression - introduced in 2004-11-17. - Reported by Ralf Menzel and - ĐźŃхальŃкий Юрий Đндреевич . - -2005-03-21 Gary V. Vaughan , - Ralf Wildenhues - - * m4/libtool.m4 (_LT_SETUP, _LT_LANG_CXX_CONFIG) - (_LT_LANG_F77_CONFIG): For matching compiler names -- Pick only - first word, allow leading white space. - * tests/sh.test: ..and test for missing `*' at end of patterns. - -2005-03-21 Ralf Wildenhues - - * TODO: Update. - -2005-03-20 Peter Ekberg - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix5, irix6, nonstopux]: - Test if it is possible to use the -exports_file linker option on - irix with gcc, as the gcc specs file may include a -hidden_symbol - option that is clashing with the -exports_file option. - See this gcc bugzilla entry for further details: - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15288 - * THANKS: Update. - -2005-03-19 Ralf Wildenhues - - * tests/demo-nopic.test: Enhance status output - noted by Tom Burger . - -2005-03-18 Ralf Wildenhues - - * config/ltmain.m4sh, tests/defs.m4sh: Typos. - -2005-03-18 Peter O'Gorman , - Ralf Wildenhues - - * m4/libtool.m4: The compiler can be a program name with args, so - always check cc_basename against compiler name and a wildcard. - Also, drop unnecessary quotes in `case' argument. - -2005-03-16 Ralf Wildenhues - - * Makefile.am: tests/defs.in depends on config/general.m4sh. - - * config/general.m4sh: unconditionally set IFS, and set it - to the one true right sequence: space, tab, newline. - * m4/libtool.m4: remove IFS setting and as_* namespace - infringement. - - * m4/libtool.m4 (_LT_CONFIG): Reset IFS to fix failure with ash. - - * configure.ac, libltdl/configure.ac: s/##/dnl/ for comments - that are meaningless in configure. - Reported by Alexandre Duret-Lutz . - -2005-03-15 Ralf Wildenhues - - * libltdl/configure.ac: Update version; require Autoconf >= 2.59. - - * bootstrap: Allow to override tools. - -2005-03-15 Gary V. Vaughan - - * libtoolize.m4sh (func_massage_pkgvmacro_DATA): New function - to calculate the macro filenames to be copied by libtoolize. - * Makefile.am (edit): Substitute pkgvmacro_DATA. - - * bootstrap: Need to generate tests/package.m4 from Makefile.am - before generating tests/testsuite from tests/Makefile.am, or - else bootstrap of a fresh checkout fails. - -2005-03-14 Ralf Wildenhues - - * m4/libtool.m4 (_LT_COPYING): Update Copyright year. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]: Remove MAIN_ - dependency when creating shared libraries with Portland pgf77. - -2005-03-12 Ralf Wildenhues - - * configure.ac: stamp-vcl is in $top_srcdir, not $top_builddir. - -2005-03-12 Per Bothner , - Ralf Wildenhues - - Allow special characters in source file names. Will break unless - `-o target' is also given, which must not contain special - characters. En passant, fix source file quoting broken for - cygwin/MSVC: - - * config/ltmain.m4sh (func_mode_compile): Use new variable - qsrcfile for quoted source file name for compile $command. Fix - missing quotes for _c_o lockfile. - * NEWS: Update. - -2005-03-12 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_link): Reword double negation in - error message. - Reported by Jesper Louis Andersen . - - * bootstrap: really remove bogus files Makefile tests/Makefile. - - * doc/libtool.texi: Replace wicked whiches by thats or other - better-sounding constructs. - -2005-03-11 Ralf Wildenhues (tiny change) - - * tests/Makefile (clean-local): Ignore testsuite cleanup - failures. - -2005-03-11 Per Bothner (tiny change) - - * tests/Makefile (clean-local): Only run the testsuite cleanup - if the testsuite has been generated. - -2005-03-10 Gary V. Vaughan - - * libltdl/Makefile.am (install-data-local): Don't force v7 tar - format with the `o' flag in create mode. - Set the umask to 0 when untarring to avoid copied files taking - their mode from the installer's umask. - * libltdl/loaders/Makefile.am (install-data-local): Ditto. - * libtoolize.m4sh (func_copy_cb): Ditto. - Ignore errors from failed `cd' in the tar processes, since we - may be running in dryrun mode. - Reported by Noah Misch , - Bob Friesenhahn - -2005-03-10 Ralf Wildenhues - - * libltdl/Makefile.am: $(builddir) is not defined, replace by - `.'. - -2005-03-08 Albert Chin-A-Young - - * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [irix*, osf*]: Output -update_registry information to - ${output_objdir} directory, not ${objdir}. ${output_objdir} - will work when a project has a single Makefile and performs - builds in subdirectories. ${objdir} expects the source in - the current directory, breaking single-Makefile builds. - -2005-03-08 Ralf Wildenhues - - * tests/stresstest.at: Remove multiple variable definition. - - * TODO: Update. - - * THANKS: Update. - -2005-03-02 Gary V. Vaughan - - * libtoolize.m4sh (func_copy_cb): Use tar chof to avoid symlink - attacks. - * libltdl/Makefile.am, libltdl/loaders/Makefile.am - (install-data-local): Ditto. - -2005-02-27 Gary V. Vaughan - - In branch-2-0 (and in time, others) ltversion.m4 has a dot - delimited serial number that didn't used to be processed - correctly by libtoolize. This changeset fixes that, and - leverages those changes to check versions of ltmain.sh and - config.sub, config.guess before overwriting when --force is - not given: - - * libtoolize.m4sh: Don't overwrite pkgaux files with --force - unless --install is given too. - (func_serial): Fix underquoting in regexp. - (func_serial_max): New function to compare serial numbers. - (func_serial_update_check): New function factored out of - func_serial_update(). - (func_serial_update): Bail if SRCFILE is missing. - Don't display both 'already up to date' and 'use --force to - update' messages for the same file. - Use func_serial_max to cope with `.' delimited serial numbers. - (func_ltmain_update): Use func_serial_update_check and - func_serial_max to do version checking with $package_revision. - (func_config_update): Ditto with $timestamp. - -2005-02-26 Gary V. Vaughan - - * libltdl/Makefile.am (install-data-local): cd to $(srcdir) - before tarring up the files for installation to - $(DESTDIR)$(ltdldatadir). Don't remove the destination directory, - since that interacts badly with the multi-Makefile installation. - * libltdl/loaders/Makefile.am (install-data-local): Ditto. - -2005-02-26 Gary V. Vaughan - - I assume that it is okay to have undefined symbols in convenience - libraries that will be used as modules -- the pic objects are - built normally, and are not expected to resolve all their symbols - until they are linked into a library; convenience libraries are - then rolled using 'ar' and 'ranlib' (or equivalent) which also do - not check whether symbols are resolved. We now build each of the - loaders as a convenience library module under these assumptions, - and link libltdl.la with selected modules, at which time all of - the symbols *are* resolved: - - * TODO: Remove item addressed by this changeset. - * libltdl/Makefile.am (lib_LTLIBRARIES): Remove libdlloader.la. - (libdlloader_la_SOURCES): Declaration removed. Changed all - clients. Source files.. - (libltdl_la_SOURCES): ...added back in here. - (libdlloader_LDFLAGS, libdlloader_la_LIBADD): Removed. - (libltdl_la_LIBADD): Remove libdlloader.la; add $(LTLIBOBJS). - * libltdl/loaders/Makefile.am: Removed all references to - libdlloader.la. - -2005-02-25 Gary V. Vaughan - - * libtoolize.m4sh (func_copy): Split arguments to func_copy_cb - calls across lines so that quote.test doesn't misdiagnose nested - quotes. - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): - Fix some typos -- s/_LT_AC_TAGVAR/_LT_TAGVAR/g. - -2005-02-24 Peter O'Gorman - - * m4/libtool.m4 (_LT_LINKER_SHLIBS): The Portland group's - compiler does not pass --whole-archive. Move gnu ld check for - the flag to the top so it can be overridden. - (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): Unset - whole_archive_flag_spec for the portland group's c++ compiler - too. - Reported by Jeff Squyres - -2005-02-23 Gary V. Vaughan - - * libltdl/Makefile.am (install-data-local): Don't forget about - $(DESTDIR). - * libltdl/loaders/Makefile.am (install-data-local): Ditto. - -2005-02-23 Gary V. Vaughan - - Preserving the installed timestamps for libltdl sources from - `libtoolize --ltdl --copy' is pointless if they are not preserved - from the libtool source tree at install time: - - * libltdl/Makefile.am, libltdl/loaders/Makefile.am - (nobase_ltdldata_DATA): Renamed to... - (ltdldatafiles): ...this. - (install-data-local): New rule to install libltdl tree with tar to - preserve timestamps. - -2005-02-23 Christoph Egger (tiny change) - - * config/ltmain.m4sh (func_mode_link): Add -pthread like flags to - inherited_linker_flags. - -2005-02-22 Gary V. Vaughan - - * libtoolize.m4sh (func_copy_cb): self.leg->shoot_off() :-/ - Let's not redirect stdout to null when sending tar output to a - pipe. - -2005-02-22 Gary V. Vaughan - - Using `libtoolize --copy --ltdl' was not preserving timestamps, so - parts of the autoconf bootstrap would be rerun spuriously after - the files had been copied into the source tree: - - * libtoolize.m4sh (TAR): New default tar command. - (func_copy_cb): Move the core copying internals to here, using - $TAR to transfer files if possible when --copy was specified. - (func_copy): Adjust to call func_copy_cb. - * TODO: Remember to refactor this fix in due course. - Reported by Jeff Squyres - -2005-02-21 Peter O'Gorman - - * config/ltmain.m4sh (func_extract_archives) [darwin]: This didn't - actually work on a real fat archive, should do now. - * tests/functests.at [darwin]: remove darwin fat tests which - did not actually work. - -2005-02-07 Peter O'Gorman - - * config/ltmain.m4sh: Add -pthread like flags when linking - executables too. - Reported by Andreas Schwab - -2005-02-04 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_link): Allow five digits in - version-info. - - * NEWS: s/Linux/GNU &/. - -2005-02-03 Ralf Wildenhues - - * tests/Makefile.am, tests/testsuite.at, tests/stresstest.at: - New test. Stresses several combinations of link flags and - path specifications. Uses several data types to test linkage - against symbols in all kinds of (e.g., ELF) sections. - -2005-02-03 Reid Spencer , - Ralf Wildenhues - - * config/ltmain.m4sh (func_generate_dlsyms): Fix broken subdir - path computation, exposed by using `-dlopen self'. Fix broken - sed script exposed by additionally using `-export-symbols FILE'. - -2005-02-03 Ralf Wildenhues - - * THANKS: Update. - - * THANKS: Update. - -2005-02-03 Peter O'Gorman - - * config/ltmain.m4sh [darwin]: Don't add installed libs to - temp_rpath when building executables on darwin, or other systems - which use hardcode_automatic. It may break our wrapper scripts. - -2005-02-02 Ralf Wildenhues - - * config/getopt.m4sh (func_version, func_usage, func_help): - Exit with nonzero status on write failures. - * config/ltmain.m4sh (func_mode_help, func_config, func_features): - Ditto. - - * tests/sh.test: Check for preferred function definition layout. - -2005-02-01 Ralf Wildenhues - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) - [pw32, freebsd3.[01], freebsdelf3.[01]]: Fix [] quoting. Should - fix various spurious failures. - (_LT_LINKER_SHLIBS) [linux with GNU ld < 2.11, aix4.[012]*]: - Ditto. - (_LT_LANG_CXX_CONFIG) [aix4.[012]*, freebsd[12], solaris2.[0-5]]: - Ditto. - (_LT_LANG_GCJ_CONFIG): Ditto. - - * tests/Makefile.am: Add `atconfig' to DISTCLEANFILES. - - * clcommit.m4sh: Test whether the shell understands `read -r'. - Use as `$read_r' if available, so `\' is preserved in commit - notices. - - * HACKING (Editing `.m4sh' Files): Document preferred function - header layout. - * config/ltmain.m4sh (func_win32_libid, func_infer_tag) - (func_generate_dlsyms, func_extract_an_archive) - (func_extract_archives): Adjust to fit. - -2005-01-31 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unicos 9 sed rejects - empty parentheses as in 's/x\(\)/\1/'. - (_LT_COMPILER_PIC) [unicos*]: wl=-Wl,. - * tests/sh.test: Not all sed's like '/.*\n.*/' (Unicos 9 sed - loops endlessly). - - * tests/quote.test: Match link quoting against `"$wl"', not - `-Wl,'. - - * tests/quote.test: Check for `--no-reexec' in $1 to avoid one - reexec. - - * m4/libtool.m4 (_LT_COMPILER_C_O): _LT_TAGDECL(lt_compiler_c_o), - not _LT_DECL, since this is tag-dependent. - - * config/ltmain.m4sh, m4/libtool.m4: Change `( cmd ) 2>/dev/null' - to `{ cmd; } 2>/dev/null', when cmd has no side effects and might - be a builtin. Note that it is unspecified whether cmd will run - within a subshell (e.g. Bourne shells) or within the current shell - (most modern shells). - -2005-01-29 Ralf Wildenhues - - * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [linux]: - Update for Intel Compiler icc/icpc/ifort: add -i_dynamic and - -nofor_main, if necessary. Simplify logic somewhat. - -2005-01-26 Ralf Wildenhues - - * tests/Makefile.am: also re-export CPP, CXXCPP, and the value of - SHELL as CONFIG_SHELL. - Reported by Heinz Salzmann . - -2005-01-26 Craig Dooley , - Ralf Wildenhues - - * NEWS, m4/libtool.m4, config/ltmain.m4sh [dragonfly]: - Add support for DragonFly. - -2005-01-26 Ralf Wildenhues - - * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Work around pdksh - positional parameter expansion bug. - -2005-01-25 Ralf Wildenhues - - * config/ltmain.m4sh: Fix endless loop in cmdline parsing. - -2005-01-25 Albert Chin-A-Young - - * config/ltmain.m4sh (func_mode_link) [irix]: Preserve processor - option for SGI Compiler (-r[0-9][0-9]*). - -2005-01-24 Ralf Wildenhues - - * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Define Bourne and XSI - variants of new function func_stripname for stripping literal - prefixes and suffixes. - * config/ltmain.m4sh (all over): Use func_stripname. - - * tests/defs.m4sh: Extract $build from $LIBTOOL. - (func_configure): Pass --host if $host != $build. - (func_exec): Try executing cross-compiled binaries (e.g. i686 -> - i386), but SKIP rather than FAIL. - * tests/depdemo-relink.test: Do not try to access possibly non- - existent files. SKIP rather than FAIL or PASS falsely when - cross-compiling. - - * m4/libtool.m4 (_LT_SETUP) [mingw, cygwin, pw32, os2]: - Add _LT_DECLs for host_os, build_alias, build and build_os. - host_os and build were used in a few occasions in ltmain.m4sh - and affect above-mentioned systems, the others are added for - symmetry and in order to be able to detect cross-compiling. - -2005-01-23 Ralf Wildenhues - - * libltdl/Makefile.am: Add $(AM_LDFLAGS) to all per-target - variables *_LDFLAGS as per CVS Automake semantic change. - -2005-01-16 Peter O'Gorman - - * config/ltmain.m4sh (func_mode_link): Don't pass through - compiler-like thread flags when using $LD to do the linking. - Use compiler_flags instead. - Reported by Mark_Andrews@isc.org. - - * m4/libtool.m4 (LT_CMD_MAX_LEN) [osf]: On Tru64 there could - be a kernel panic when testing the maximum command line length - if exec_disable_arg_limit=1. Don't do the tests to figure it - out on *-osf*. - Reported by Dr. Hans Ekkehard Plesser - - -2005-01-14 Guido Draheim (tiny change) - - * m4/libtool.m4 (AC_PROG_SED): Don't break test loop early. - -2005-01-12 Ralf Wildenhues - - * TODO: Update. - - * libltdl/ltdl.c: Whitespace cleanup. - - * config/ltmain.m4sh: New option `--verbose'/`-v' to enable - override of `--silent'. Verbose is the default behavior. - * doc/libtool.texi (Invoking libtool): Document it. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: While "parsing" - /etc/ld.so.conf, skip comments. - Reported by Jens Elkner . - -2005-01-10 Ralf Wildenhues - - * libltdl/libltdl/lt__glibc.h: Move all exported slist - symbols into the lt__* namespace. - * libltdl/libltdl/lt__private.h, libltdl/libltdl/slist.h: - Adjust includes. - -2005-01-10 Peter O'Gorman - - * config/ltmain.m4sh (func_mode_link): Fix - inherited_linker_flags so it puts it on the link line when - linking shared libraries as well as when linking executables. - * tests/inherited_flags.at: test inherited_linker_flags. - * tests/Makefile.am: Add test. - * tests/testsuite.at: Add test. - Reported by: Albert Chin-A-Young - -2005-01-10 Ralf Wildenhues - - * tests/sh.test: After `set dummy [...]', check for `shift' - within the same and following line. - * config/ltmain.m4sh (func_enable_tag, func_mode_install) - (func_mode_link): Sprinkle `shift's all over to conform to this. - -2005-01-09 Gary V. Vaughan - - * HACKING (Editing 'ChangeLog'): Follow the GCS with respect to - attributions, and mention how to handle tiny changes. - Reported by Alexandre Duret-Lutz . - - * ChangeLog.2004: Trim 2005 entries. - * ChangeLog: Add missing entries. - -2005-01-08 Gary V. Vaughan - - * ChangeLog: Move 2004 change logs from here... - * ChangeLog.2004: ...to here. - - * m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, - m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4: RMS says, - 'I think the [license of autoconf macro files] should be: - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is - # preserved.'. - - * ChangeLog: Reformatting. - * HACKING: Fix section numbering. - (Editing 'ChangeLog'): New notes on ChangeLog entry format. - -2005-01-03 Ralf Wildenhues - - * tests/am-subdir.at tests/testsuite.at (AT_BOOTSTRAP, - AT_LIBTOOLIZE, AT_CHECK_LIBTOOLIZE): Rename to ... - (LT_AT_BOOTSTRAP, LT_AT_LIBTOOLIZE, LT_AT_CHECK_LIBTOOLIZE): - ...and make use of new names. - -2004-12-30 Ralf Wildenhues - - * config/getopt.m4sh (func_version, func_usage, func_help): - Use `$SED -n' instead of `$SED RANGE {..}; d' as AIX sed cannot - handle the latter. - (func_help): start autoconf and automake in subshells to avoid - error messages from ash or Bourne shell if not available. - -2004-12-28 Ralf Wildenhues - - * config/general.m4sh (func_quote_for_eval): Move backslash to - beginning of character class, to work around old Bash bug. - (func_quote_for_expand): Also test to avoid unnecessary fork. - -2004-12-28 Ralf Wildenhues , - Gary V. Vaughan - - * Makefile.am, bootstrap, clcommit.m4sh, libtoolize.m4sh, - config/ltmain.m4sh: Replace `set --' with `set dummy [...]; shift' - for portability. - * tests/sh.test: Test for this. - -2004-12-28 Ralf Wildenhues - - * libtoolize.m4sh, config/ltmain.m4sh (most functions): New - variable $opt_debug is either `:' or `set -x' depending on - --debug. Execute at most function entries to cater for ksh which - resets `-x'. - * tests/defs.m4sh: Ditto for VERBOSE=debug. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: - _LT_TAGVAR missing for `fix_srcfile_path'. - [sysv4, sysv5]: _LT_TAGVAR missing for - `export_dynamic_flag_spec'. - - * doc/libtool.texi (all over): Use @option and @command. - Some more minor formatting updates, typos. - - * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix variable quoting; - allows lt_ECHO to match --fallback-echo again. - - * config/ltmain.m4sh (func_extract_archives): Not all shells grok - `read -r' (unnecessary in this case). - Reported by Ralf Menzel . - - * config/general.m4sh: New variable quote_scanset... - (func_quote_for_eval, func_quote_for_expand): ...use it to work - around SunOS ksh `case' backslash-escaping bug: protect character - class by variable expansion. - Reported by Alexander Kurz . - - * tests/quote.test: Restart under the correct shell (the one - $ECHO was computed for). - -2004-12-21 Ralf Wildenhues - - * libltdl/lt__dirent.c: Include lt__private.h. - * libltdl/libltdl/lt__private.h: Include lt__strl.h. - -2004-12-20 Peter O'Gorman - - * config/ltmain.m4sh (func_extract_archives) - (func_extract_an_archive): On darwin, uniq can not take the flags - -cd together, thanks to Ralf for the fix, also ar does not accept - N, so we use the fact that ar x libfoo.a foo.o will always extract - the first foo.o in the archive and we then delete foo.o from the - archive, which will also delete only the first foo.o, then rinse - and repeat. Also add markers for the testuite. - * m4/libtool.m4 (_LT_CONFIG): Add a marker so that we can use a - sed expression to find the shell functions in libtool. - * tests/functests.at: Test this feature. - * tests/testsuite.at: Add the test. - * tests/Makefile.am: Add the test. - -2004-12-20 Ralf Wildenhues - - * libtoolize.m4sh: Install `install-sh' as well, needed for - configure. - * Makefile.am, Makefile.maint: Install, update it. - * NEWS, doc/libtool.texi (Distributing): Document it. - Reported by Ross Boylan . - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Add '${wl}-z - ${wl}text' to archive_cmds and archive_expsyms_cmds. I.e., do not - allow nopic in shared libraries. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Change - no_undefined_flag back to ' -z defs'. Problems with linking - against libgcc.a will have to be resolved differently. - - * tests/demo-nopic.test [solaris, sunos]: Skip test. - -2004-12-18 Ralf Wildenhues - - * libtool.m4 [linux] (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG): - Match icpc* and ecpc* (ia64 version of icpc) instead of only icpc. - - * libltdl/lt__dirent.c (opendir) [mingw]: Fix write of constant - strings past end of buffer. - (opendir, readdir): Fix read past end of buffer. - -2004-12-17 Ralf Wildenhues - - * HACKING: Update list of non-Libtool-owned files. - -2004-12-17 Akim Demaille - - * libtoolize.m4sh (func_copy_all_from_path): Remove spurious eval. - -2004-12-16 Ralf Wildenhues - - * libltdl/ltdl.c (trim): Return error rather than do bogus - null pointer arithmetic when parsing a malformed .la file. - -2004-12-13 Bob Friesenhahn - - * libltdl/lt__strl.c, libltdl/libltdl/lt__strl.h: New files to - emulate strlcat and strlcpy, which support size-bounded string - copying and concatenation for improved security. - * libltdl/Makefile.am: Optionally build source files - libltdl/lt__strl.c and libltdl/libltdl/lt__strl.h. - * m4/ltdl.m4 (LTDL_INIT): Add checks for strlcat and strlcpy. - -2004-12-13 Albert Chin-A-Young - - * libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): - Append -G to link command-line on AIX to honor -brtl on - command-line (runtime linking). Already done for IBM C/C++ - compilers. - -2004-12-12 Patrick Welche - - * configure.ac: Fix aclocaldir to use ${datadir}, not ${prefix}. - Necessary for removal of old libtool.m4 files. - -2004-12-10 Ralf Wildenhues - - * config/ltmain.m4sh (func_extract_archive): Send stderr of $NM - to /dev/null. - Reported by Martin Waitz . - -2004-12-09 Albert Chin-A-Young - - * config/ltmain.m4sh: Preserve -model [arg] option, used - with the Tru64 UNIX C++ compiler. This option selects the - layout of C++ classes, name mangling, and exception handling. - -2004-12-09 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_finish) [solaris]: Fix [] escaping - bug. - - * config/ltmain.m4sh (all over the map): Make use of func_basename - and func_dirname in most occasions. - - * m4/libtool.m4 (_LT_CHECK_XSI_SHELL, _LT_PROG_XSI_SHELLFNS): New - macros to detect at `configure' time whether the shell supports - some XSI extensions and to copy appropriate versions of new shell - functions into `libtool' through `config.status'. Copied - functions are Bourne and XSI variants of func_basename, - func_dirname (a variant of `dirname' suitable for libtool). - (_LT_SETUP): Require _LT_CHECK_XSI_SHELL. - (_LT_CONFIG): Use _LT_PROG_XSI_SHELLFNS to insert into `libtool' - at marker. - - * config/ltmain.m4sh: Set marker for insertion of shell functions. - - * config/general.m4sh (func_quote_for_eval): Only fork if the - substitution matches. - -2004-12-03 Gary V. Vaughan - - * TODO: Paste Peter's summary of the TODO thread starting at - http://lists.gnu.org/archive/html/libtool/2004-11/msg00130.html. - -2004-12-02 Bob Friesenhahn - - * config/ltmain.m4sh: Remove code which is no longer needed - now that temp_rpath only contains fully-qualified elements. - -2004-11-30 Ralf Wildenhues - - * config/general.m4sh: basename sed-subst is anchored and thus - does not need the `g' flag. - (func_quote_for_eval): Return both the possibly double-quoted - backslashified as well as only the backslashified argument. - * config/ltmain.m4sh (func_mode_link): Use both return values, - to save another sed_quote_subst application per cmdline arg. - -2004-11-29 Ralf Wildenhues - - * config/ltmain.m4sh (func_lalib_p): Update function - description. - (func_lalib_unsafe_p): New function with same functionality but - written without forks; this function is safe to use for cases - where the argument either does not exist or is required to be a - lalib for correct operation. - * NEWS: Mention the fact that stdin is not to be used. - * config/ltmain.m4sh (func_mode_execute, func_mode_install) - (func_mode_link): Use func_lalib_unsafe_p where appropriate. - (func_mode_execute): For the program wrapper, use - func_ltwrapper_p instead of func_lalib_p. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS): Treat linux-dietlibc with - the `diet' compiler wrapper (as opposed to the `diet-dyn' wrapper) - as a static-only platform. - * NEWS: Updated. - - * libltdl/ltdl.c (trim): Use memcpy instead of strncpy here, to - avoid problems with non-conforming strncpy. This is safe here. - - * m4/ltdl.m4 (LT_LIB_DLLOAD): Define HAVE_LIBDLLOADER if we - have a dlloader to preload. - * libltdl/ltdl.c (lt_dlinit): Only preload if HAVE_LIBDLLOADER, only - declare preloaded_symbols then. Fixes libltdl on static platforms. - * NEWS: Updated. - -2004-11-29 Gary V. Vaughan - - Add a search path option to libtoolize so that we can run it from - the testsuite without pulling in the last installed macros and - ltdl sources: - - * libtoolize.m4sh: Add a -I option to change libtoolize's search - path for macro files, and libltdl master sources. - (pkgvdatadir, pkgvmacrodir): Renamed... - (pkgvdatadirs, pkgvmacrodirs): ...as they can now contain a ':' - delimited list of directories. Adjust all callers. - (func_copy_all_from_path): New function to search a ':' delimited - search path for a directory to copy. - (func_serial_update, func_ltmain_update, func_config_update): New - first parameter is a filename to search for. srcdir parameter can - now be a ':' delimited search path. Adjust all callers. - (func_copy_some_files): Ditto. - Put srcfile_spec first in parameter list for consistency with - other functions. Adjust all callers. - (func_copy_cb): func_copy adapter function to call func_copy - correctly from func_copy_some_files. - (func_filename_path_search): Return the full path to the first - occurence of a named file found in a list of directories. - * tests/testsuite.at (LIBTOOLIZE): Wrap exported LIBTOOLIZE - initialisation in PREPARE_TESTS diversion to stop it being - discarded when testsuite is generated. - (AT_LIBTOOLIZE): Factor out libtoolize calls, - and set search path to find macros and libltdl source files from - the source tree. - (AT_CHECK_LIBTOOLIZE): Test it. - (AT_BOOTSTRAP): Adjust. Split out call to make. - * tests/am-subdir.at: Call make explicitly. - (Makefile.am): Fix typo in ACLOCAL_AMFLAGS, - -2004-11-28 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_link): $dlsymsobj is really - $symfileobj, bug exposed only in the static preloading case - (symfileobj is created, but not linked into output). - - * tests/demo-relink.test, tests/depdemo-relink.test: SKIP, don't - FAIL if no shared libs available in demo/. Do not try to access - nonexistent files. - - * libltdl/loaders/loadlibrary.c: Remove unneeded - file-static variable. - -2004-11-27 Bob Friesenhahn - - * config/ltmain.m4sh: Add fully-qualified paths to temp_rpath - rather than unqualified paths in order to avoid possible errors - when computing the fully-qualified path later. - -2004-11-24 Jeff Squyres - - * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) [linux]: Support for Portland Group (aka - "pgi") compilers. - * NEWS, THANKS: Updated. - -2004-11-24 Gary V. Vaughan - - * Makefile.am: Move Autotest rules from here... - * tests/Makefile.am: ...to here. - * bootstrap: Adjust. Also, create temporary Makefile from - tests/Makefile.am so that bootstrap can create the Autotest - testsuite. - -2004-11-23 Gary V. Vaughan - - If the user's login shell is something crazy like, oooh, - /bin/tcsh, trying to execute bourne shell helper scripts with - the `$SHELL /path/to/helper $helper_flags' idiom incase the - execute bits were lost by say, eeer, cvs, is gonna blow up in - our faces. This changeset tries to save these people from - their shells^H^H^H^H^H^H^H^H^Hmselves :-> - - * tests/defs.m4sh (SHELL): Move definition from here... - * config/general.m4sh (SHELL): ...to here. - -2004-11-23 Gary V. Vaughan - - The ltdl.h header is the published interface to libltdl, and - is thus not installed to $prefix/include/libltdl. It has always - been used with `#include ', so move just that one file - back to where it was before: - - * libltdl/libltdl/ltdl.h: Moved from here... - * libltdl/ltdl.h: ...to here. - * libltdl/Makefile.am: Adjust. - -2004-11-23 Peter O'Gorman - - Do not require that libtoolize --ltdl=/some/path end in libltdl. - Move most libltdl headers to libltdl/libltdl to allow - `#include ' to always work: - - * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for includes - in the new location. - * libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, - libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, - libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, - libltdl/libltdl/lt_system.h, libltdl/libltdl/ltdl.h, - libltdl/libltdl/slist.h: Added files, moved from libtdl/. - * libltdl/lt__alloc.h, libltdl/lt__dirent.h, libltdl/lt__glibc.h, - libltdl/lt__private.h, libltdl/lt_dlloader.h, libltdl/lt_error.h, - libltdl/lt_system.h, libltdl/ltdl.h, libltdl/slist.h: Removed, moved - to libltdl/libltdl. - -2004-11-23 Ralf Wildenhues - - * doc/libtool.texi (LT_INIT): s/libtool 1.6/libtool 2.0/. - (Invoking libtoolize): Fix typo. - -2004-11-22 Gary V. Vaughan - - * config/ltmain.m4sh (func_mode_install): Now that func_mktempdir - has been improved, the default directory template is perfectly - fine. - - * doc/libtool.texi (Invoking libtoolize): Improve documentation - for use of ACLOCAL_AMFLAGS and AC_CONFIG_MACRO_DIR. - -2004-11-22 Ralf Wildenhues - - * m4/libtool.m4 (_LT_TAG_COMPILER): Document that with_gcc is - tag-dependent. - - * m4/libtool.m4, tests/demo-nopic.test: Undo bogus commit. - - * config/ltmain.m4sh (func_mode_link), tests/objectlist.test: - Make sure the argument to `-objectlist' may contain spaces. - -2004-11-19 Gary V. Vaughan - - * config/m4general.m4sh, config/mailnotify.m4sh, - clcommit.m4sh: Updated from cvs-utils--tla--1.0 to allow - parallel commits, and use safer tmpfiles. - -2004-11-19 Ralf Wildenhues - - * doc/libtool.texi (Libltdl interface): Typos. - - * doc/libtool.texi (Libltdl interface): Document public macros - LT_PATHSEP_CHAR, LT_DIRSEP_CHAR, use in path descriptions. - -2004-11-18 Daniel Reed - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Interpret - `include' statements in toplevel ld.so.conf file. - -2004-11-18 Ralf Wildenhues - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: - tag-protect setting of ld_shlibs. - -2004-11-17 Ralf Wildenhues - - * doc/libtool.texi (Libltdl interface): The path separator - is system-dependent. - - * doc/libtool.texi (Linking static libraries): Typo. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [aix4/aix5 !ia64]: Set whole_archive_flag_spec to '$convenience' - so convenience libs are really added to the link cmdline. - -2004-11-17 Mats Rynge - - * libtool.m4 [linux]: Use only the CC basename in case statment - when checking for icc/ecc. Allows for setting CC to the full path - to the compiler. - - * libtool.m4 [solaris]: Added missing 'with linker' flags to - -z allextract ... -z defaultextract flags - -2004-11-14 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LINKER_SHLIBS): Typo: s/--rpath/-rpath/g. - (_LT_LANG_CXX_CONFIG): Ditto. - - * configure.ac (APIVERSION): New substituted variable. - (pkgvdatadir): Ditto. Versioned data directory. - (pkgvmacrodir): Ditto. Versioned aclocal directory. - (LN): New check for LN command. - * Makefile.am (aclocal_DATA): Replaced with... - (pkgvmacro_DATA): ...this. - (install-data-local): Remove old shared resources. - (install-exec-hook): Make versioned links to executables. - (uninstall-hook): Remove versioned files. - * libltdl/Makefile.am (ltdldatadir): Redefine in terms of - pkgvdatadir. - * libltdl/loaders/Makefile.am (ltdldatadir): Ditto. - * libtoolize.m4sh: Copy macro files from versioned macro directory - instead of shared aclocal directory. - * doc/libtool.texi: Document it. - * NEWS: Updated. - -2004-11-10 Gary V. Vaughan - - From James Henstridge : - * m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4: Added commented out - empty macro definitions to match each AU_DEFUN to help aclocal - from automake-1.4 regexps find the right libtool macro files. - -2004-11-10 James E Wilson , - Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_link), tests/Makefile.am, - Fix error message with `-objectlist' file that does not exist. - * tests/objectlist.test: New test for this. - - * Makefile.am: config/ltmain.sh is generated by - config/ltmain.m4sh. - -2004-11-09 Ralf Wildenhues - - * doc/libtool.texi (Compile mode, Link mode, - Libltdl interface, Test descriptions, libtool script - contents): Some quote cleanup, more use of texinfo types. - - * doc/libtool.texi (libtool script contents): - echo is now ECHO; mention argument restriction. - - * doc/libtool.texi (Multiple dependencies): Minor rewording. - - * doc/libtool.texi (User defined module data, References): - indentation and word-wrap cleanup. - - * doc/libtool.texi (all over): White space cleanup: - two spaces at start of sentence, no TABs. - -2004-11-09 Gary V. Vaughan , - Ralf Wildenhues - - * doc/libtool.texi (libtool script contents): Fix description - of need_lib_prefix. - -2004-11-08 Peter Ekberg - - * config/ltmain.m4sh (func_mode_link): forward thread - related flags to dependent applications and libraries - by adding them to `inherited_linker_flags'. - -2004-11-07 Ralf Wildenhues - - * m4/ltoptions.m4: Change all references of LT_LIBTOOL_INIT - to LT_INIT. - -2004-11-05 Peter Ekberg - - * ltmain.m4sh (cwrappersource): clean up other warning on MinGW. - -2004-11-04 Bernhard Fischer , - Ralf Wildenhues - - * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS), m4/ltoptions.m4 - (_LT_SET_OPTIONS), README, README.alpha: Typos. - -2004-11-03 Ralf Wildenhues - - * libltdl/ltdl.c (parse_dotla_file): Fix memleak. - - * ltmain.m4sh (cwrappersource): Cast isalpha arguments correctly. - -2004-11-03 Peter Ekberg - - * ltmain.m4sh (cwrappersource): clean up warnings and - #include errors on MinGW. - -2004-11-01 Peter Ekberg - - * config/ltmain.m4sh (cwrappersource): clean up warnings and - #include errors. - -2004-11-01 Peter Ekberg - - Sometimes, a wrapper script is generated for an executable that, - itself, does not link against an uninstalled library. It appears - that this can happen if you are building a project where: - - (1) there is a library - (2) there is an executable that does not, itself, link against - that library - - In this case, notinst_deplibs is empty, and when the wrapper - script is loaded by libtool during ./libtool mode=install, there - is a check for "is notinst_deplibs empty". In this case, it is, - so libtool reports an error. - - I don't think it is wrong to have a wrapper script for an exe that - *technically* doesn't need it. But instead of checking for - notinst_deplib nonempty as a proxy for "did wrapper script get - sourced into my environment properly" a different var should be - used. - - * config/ltmain.m4sh (func_mode_install): set new variable - `generated_by_libtool_version' in wrapper script when using - libtool_install_magic. When verifying that wrapper script was - properly sourced, check that `generated_by_libtool_version' is - non-empty, instead of using notinst_deplibs. - -2004-11-01 Charles Wilson , - Peter Ekberg - - * config/ltmain.m4sh (func_mode_install): On Windows based hosts, - ensure that import libraries don't get stripped. - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): On Windows based hosts, - use postinstall_cmds to strip DLL (not import lib!) when symbol - stripped installation was requested. - -2004-10-30 Ralf Wildenhues - - * libltdl/ltdl.c (loader_init_callback): Back out broken cast. - - * libltdl/ltdl.c (loader_init_callback, lt_dlexit): Add casts to - target type. - - * tests/defs.m4sh (func_exec): `shift'ing when there is nothing - to shift is non-portable. - -2004-10-28 Patrick Welche , - Ralf Wildenhues - - * Makefile.am, Makefile.maint: Use path for dependencies built - in the source tree, to cater for BSD make. - -2004-10-24 Noah Misch - - * config/ltmain.m4sh (func_lalib_p, func_ltwrapper_p): New - functions that abstract .la sanity checking. - (func_mode_execute, func_mode_install, func_mode_link) - (func_mode_uninstall): Use them. - -2004-10-24 Gary V. Vaughan - - * config/ltmain.m4sh (opt_silent): Whether --silent was given. - (run, show): Deleted. All callers converted to opt_dry_run, - opt_silent or calls to func_show_eval. - * tests/mdemo-dryrun.test: Adjust. - - * HACKING: Fix a typo in the gpg --verify instructions. - - * Makefile.maint (cvs-dist): Generate signatures and directives - for bz2 upload. - -2004-10-23 Peter O'Gorman - - * config/ltmain.m4sh (func_mode_link): Make Gary's new tests - pass. When the output wrapper script is not in the current - directory, we can not use an rpath which is relative to the - current directory. Use an absolute path instead. - -2004-10-22 Gary V. Vaughan - - * clcommit.m4sh: Add --rcfile option. - - * clcommit.m4sh: Updated again, to support file list limited - commits to CVS, and to fix another occurence of the bash bug - that was preventing non-tla users from sending a commit mail. - -2004-10-22 Ralf Wildenhues - - * TODO, libltdl/lt_error.h, libltdl/ltdl.c, libltdl/ltdl.h: - Undo accidental commit. - - * Makefile.maint: Fix typo. - -2004-10-22 Gary V. Vaughan - - * clcommit.m4sh, config/mailnotify.m4sh: Updated from - cvs-utils--tla--1.0 to fix quoting of metachars in patch names. - - * HACKING: Updated: `.in' files are now `.m4sh'; document some - more coding standards for these files. - - * config/general.m4sh (sed_double_backslash): Undo an - over-optimisation. - -2004-10-21 Gary V. Vaughan - - * AUTHORS: Reformatted to better reflect the current state of - Libtool maintainership. - * THANKS: Reformatted to give maintainers a quick way to look - up who has supplied FSF paperwork. - -2004-10-21 Noah Misch , - Gary V. Vaughan - - * config/general.m4sh (sed_double_backslash): Improve this sed - expression to correct left anchored \$ input to - double_quote_subst, as well as backslash escaped $ preceded by - any odd-numbered amount of \ characters. - -2004-10-20 Gary V. Vaughan - - * config/general.m4sh (sed_double_backslash): New sed expression - to escape \$ properly in combination with double_quote_subst. - (func_quote_for_eval): Four space indent margin for functions! - (func_quote_for_expand): Use $sed_double_backslash. - (func_show_eval): New function that echos an escaped but variable - expanded command, and then evaluates it. - -2004-10-20 Noah Misch , - Gary V. Vaughan - - * m4/libtool.m4 (sed_quote_subst): Remove superfluous backslashes - from the match character set. - (double_quote_subst): Ditto. - * config/general.m4sh (sed_quote_subst): Ditto. - (double_quote_subst): New variable, copied from - m4/libtool.m4. Much the same as sed_quote_subst, but variable - references are not quoted. - (func_quote_for_eval): Given any $foo; $bar and - $foo must be identical after the following commands: - func_quote_for_eval "$foo" - eval "bar=$func_quote_for_eval_result" - (func_quote_for_expand): In a similar vein to to func_quote_for_eval, - except that variable expansions are not protected when quoting the - command for subsequent display. - * config/ltmain.m4sh: Factor away use of $sed_quote_subst now that - it has been subsumed into func_quote_for_eval. - (func_mode_link): Instead of `2004-10-14 Peter O'Gorman' below, - use func_quote_for_expand so that ${wl} is expanded properly in - the $show expression. - -2004-10-16 Gary V. Vaughan - - * config/ltmain.m4sh (func_mode_finish): solaris-2.6 also has - crle(1). - Reported by Albert Chin-A-Young - -2004-10-16 Gary V. Vaughan - - Add some new tests for Libtool's support of Automake - subdir-objects builds. This marks the beginning of a move to an - Autotest driven test framework, which will eventually allow us to - trim away many of the generated files in the current test demo - subdirectories: - - * configure.ac (AC_CONFIG_TESTDIR): Re-enable commented out - Autotest macros. - (AUTOTEST, M4SH): Use --language long hand. - * bootstrap: Generate tests/testsuite, and by implication - tests/package.m4. - * Makefile.am (edit): Add substitutions needed to generate - tests/package.m4 from bootstrap. - (check-recursive): Add tests/testsuite. - (TESTSUITE): The new Autotest testsuite target. - (TESTSUITE_AT): The Autotest sources. - (EXTRA_DIST): Distribute the generated testsuite and sources. - (tests/package.m4): Use $(edit) to propagate package metadata to - the new tests. - (tests/testsuite): Build the testsuite. - (tests/atconfig): How to regenerate the file. - (check-local): Hook Autotest into `make check'. - (installcheck-local): Run the testsuite on the installed tree. - (clean-local): Tidy our file droppings. - * tests/Makefile.am: Remove bitrotted code from Autotest - experiments in Autoconf 2.52 era. Updated the rest and moved into - Makefile.am. - * tests/testsuite.at: New container for Autotest test groups. - * tests/am-subdir.at: New test group for compatibility with - Automake's subdir-objects builds. Currently holds two tests, one - for a C project and another similar project in C++. - * TODO: Add an entry to remind us that these new tests expose a - bug in libtool. - * NEWS: Updated. - -2004-10-14 Peter O'Gorman - - * config/ltmain.m4sh: Revert most of my last commit, only eval - \$show \"$cmds\", and only when building a library. I'm a wimp. - Thanks Gary for pointing out errors in previous commit. - -2004-10-13 Gary V. Vaughan - - * config/ltmain.m4sh (func_mode_finish): Mention crle(1) on - solaris 2.7 and higher in the finalisation notes. - Reported by Kurt J. Lidl - - * tests/cdemo-undef.test: New test for hosts that allow shared - libraries with undefined symbols, but have no C++ compiler - installed. - * tests/Makefile.am (COMMON_TESTS): Add it. - -2004-10-13 Peter O'Gorman - - * config/ltmain.m4sh: Make sure that we $show what we will $run, - use eval $show if we do $run eval. - -2004-10-13 Charles Wilson - - * config/ltmain.m4sh: add foo/bin for every foo/lib - in dllsearchpath when creating wrapper script. Fixes - depdemo-relink test failure. - -2004-10-12 Charles Wilson - - * config/ltmain.m4sh (func_mode_link): don't relink - on cygwin/mingw; no need. But do ensure that wrappers - are created unless doing a purely static build. - -2004-10-13 Gary V. Vaughan - - * tests/tagdemo-undef.test: New test for hosts that allow shared - libraries with undefined symbols. - * tests/Makefile.am (CXX_TESTS): Add it. - -2004-10-11 Charles Wilson - - * tests/link.test: Fix check for use of libnlsut.a under - Cygwin. - -2004-10-11 Noah Misch - - * tests/quote.test: Do not look for $preargs in the output, - because libtool may change them. - -2004-10-10 Charles Wilson - - * config/ltmain.m4sh: Really don't require versions of GNU - sed newer than 3.02 for Cygwin and MinGW, and don't break - dryrun mode. - -2004-10-10 Bob Friesenhahn - - * config/getopt.m4sh: Under MinGW, reported paths may include ':' - so ':' should not be used as the sed delimiter. Use '*' instead - since it is very unlikely to appear in a path. - -2004-10-10 Albert Chin-A-Young - - * config/ltmain.m4sh: Don't require versions of GNU sed newer than - 3.02 for Cygwin and MinGW. - -2004-10-10 Bob Friesenhahn - - * tests/pdemo-inst.test: Correction for mis-application of - Charles Wilson's earlier patch. - -2004-10-09 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LANG_F77_CONFIG): Make sure the save and - restore code for CC is nested at the same depth. - (_LT_LANG_CXX_CONFIG): Ditto, but for several variables. - -2004-10-08 Gary V. Vaughan - - Update to the latest commit and mailnotify scripts from - gary@gnu.org--2004/cvs-utils--tla--1.0: - - * commit, config/mailnotify: Removed. Now built from... - * clcommit.m4sh, config/mailnotify.m4sh: ...these new sources. - * Makefile.maint (commit, config/mailnotify): How to build them. - * bootstrap: If we have a checked out tree (i.e. clcommit.m4sh - is present), then build them. - -2004-10-08 Gary V. Vaughan - - Fix some issues that mangled the reexecution path to a script, - and thus prevented it from finding itself: - - * config/general.m4sh (progname): Don't actually change the name - of the script if it begins with a `-', just prepend `./'. - (progpath): Add a new clause that first searches the execution - PATH, and then finally assumes this script is in the current - working directory if $progname has no directory separators (e.g - when invoked as `$SHELL progname'). - -2004-10-08 Gary V. Vaughan - - * config/general.m4sh (func_verbose): Work around a bash bug in - shell functions. - -2004-10-08 Charles Wilson - - * tests/pdemo-inst.test: pdemo-inst should depend on pdemo-make. - * config/ltmain.m4sh: Windows and Cygwin reserve the .lnk - extension to represent shortcuts. Use the extension ".lnkscript" - rather than ".lnk" for the piecewise linking ld script in order to - avoid the conflict. - -2004-10-07 Ralf Wildenhues - - * libltdl/ltdl.c (lt_dlexit, lt_dlpath_insertdir): Fix memleaks, - free user_search_path on lt_dlexit. - -2004-10-07 Ralf Wildenhues - - * tests/sh.test: Remove tests which fail on AS_SHELL_SANITIZE - from autoconf >= 2.59. - - * TODO: Remove item: no need for a libltdl without stdio. - -2004-10-07 Gary V. Vaughan - - * tests/defs.m4sh (scripts): Actually scan the generated ltmain.sh - for shell portability problems. - - * m4/libtool.m4 (_LT_FORMAT_COMMENT): Shell meta-characters in - _LT_DECL descriptions were not being escaped before injection into - TAG CONFIG here documents in config.status. - -2004-10-06 Peter O'Gorman - - * m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77): New macros to work - around the deficiencies in AC_PROG_CXX and AC_PROG_F77. - * configure.ac: Cleaned up, having moved the checks for compilers - which do not exist to libtool.m4. - -2004-10-05 Ralf Wildenhues - - * libltdl/ltdl.c (try_dlopen): Move .la file parsing - part.. (parse_dotla_file): ..here. Adjust. - - * libltdl/ltdl.c (load_deplibs, try_dlopen): Revert unnecessary casts - to int from my patch from 2004-10-01. - - * AUTHORS: Add myself. - -2004-10-05 Peter O'Gorman - - * config/ltmain.m4sh [darwin]: Make the -dylib_file flag work on - older darwins too. Reported by Christoph Egger. - -2004-10-05 Gary V. Vaughan - - * configure.ac: Bumped version to 2.1a. - -2004-10-04 Gary V. Vaughan - - * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO - with $lt_ECHO, or we always get a libtool with ECHO=echo, rather - than testing for a mechanism that quotes \ properly. - * NEWS: Updated. - - * config/ltmain.m4sh: Need to include getopt.m4sh earlier so that - progpath is set before it is called to --no-reexec. - * NEWS: Updated. - -2004-10-04 Gary V. Vaughan - - Without this change, the distributed libtool tarball has a - dependency on autom4te. There was some inconsistency in the - filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure - -> foo[.sh]. Bootstrap runs the m4sh steps and the resulting .in - files are distributed: - - * tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh. - * Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh. - (libtoolize.in, libtoolize): Split into bootstrap and runtime - stages. - ($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto. - ($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in - names. - * bootstrap: Make libtoolize.in and tests/defs.in. - * NEWS: Updated. - -2004-10-03 Bob Friesenhahn - - * README, README.alpha: Update notes regarding available VERBOSE - settings. - -2004-10-03 Bob Friesenhahn - - * config/ltmain.in: Change $XSED to $Xsed to fix hang noticed - under MinGW. - * tests/defs.in: Support VERBOSE=debug to enable shell tracing - while running tests. - -2004-10-03 Gary V. Vaughan - - * NEWS: Updated. - * configure.ac: Bumped version to 1.9e. - - GNU libtool 1.9d was released. - - * configure.ac: Bumped version to 1.9d. - * NEWS: Updated. - - * libltdl/lt__alloc.h (lt__alloc_die): Declare with LT_SCOPE as - per Ralf's original patch. - Reported by Bob Friesenhahn - - * libltdl/Makefile.am (libltdlc_la_LIBADD): Don't use - libdlloader_la_OBJECTS, an undocumented Automake internal - variable... - (libltdlc_la_SOURCES): ...use libdlloader_la_SOURCES here - instead. - Reported by Bob Friesenhahn - - * libltdl/argz_.h: Forgot to spell lt_system.h with just one `_'. - - * libltdl/argz_.h: Forgot to include lt__system.h for LT_SCOPE - definition. - -2004-10-03 Ralf Wildenhues , - Gary V. Vaughan - - * libltdl/lt__alloc.h: Declare exported functions with LT_SCOPE - for mingw32. - * libltdl/lt__dirent.h: Ditto. - * libltdl/argz._h: Ditto. Be careful about not requiring - additional libltdl files when used outside of libltdl. - * libltdl/slist.h: Ditto. - * HACKING: Add a section on libltdl implementation layering. - -2004-10-03 Gary V. Vaughan - - * tests/quote.test: echo is called ECHO now. Make sure we extract - the value of ECHO from the libtool script. - Reported by Bob Friesenhahn - -2004-10-02 Gary V. Vaughan - - * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7*]: Revert my - hack from 2004-09-30 now that I've removed /lib/hello.la and the - tests work properly for me again. - -2004-10-02 Jim Tison - - Initial support for s390x-ibm-tpf: - - * m4/libtool.m4: Correct obvious spelling errors in remarks. - (_LT_ENABLE_LOCK): Make s390x-ibm-tpf hosts adopt elf64_s390 - conventions. - (_LT_SYS_DYNAMIC_LINKER): Set defaults for s390x-ibm-tpf host. - (_LT_CHECK_MAGIC_METHOD): Skip all dependency checks for - s390x-ibm-tpf hosts. - (_LT_LINKER_SHLIBS): Make s390x-ibm-tpf hosts adopt GNU/Linux OS - attributes. - * NEWS: Updated. - -2004-10-01 Ralf Wildenhues - - * config/ltmain.in (func_mode_install): Need to set $tmpdir before - using it. - - * config/ltmain.in (func_mode_link): Fix quoting bug. Fixes - e.g. the quoting of the -export-symbols-regex argument in .la - files' relink_command. - - * libltdl/lt__alloc.c (lt__memdup): Allocation can fail, so we - need to guard against null pointer dereference here. - * libltdl/ltdl.c (lt_dlcaller_register): Ditto. - - * libltdl/slist.c (slist_foreach): result was declared as - inner variable, shadowing the actually returned value. - - * libltdl/ltdl.c (load_deplibs, try_dlopen): Cast argument - to isspace/isalnum to the correct range. Also, cast to int to - avoid compiler warnings. - -2004-09-30 Ralf Wildenhues - - * libltdl/ltdl.c (try_dlopen): Fix null pointer dereference in - case the name given to lt_dlopen contains no extension. - - * libltdl/lt_dlloader.c (lt_dlloader_remove), libltdl/ltdl.c - (tryall_dlopen, lt_dlhandle_next): Show usage of function pointers. - - * doc/libtool.texi (LT_INIT, Using libltdl) - (Module loaders for libltdl, Multiple dependencies) - (libtool script contents): Fix several typos (trivial change). - Also, libltdl consists of more than two small files. - -2004-09-30 Gary V. Vaughan - - * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7]: My Panther - workstation doesn't hardcode the shared library path, although it - used to, so this is more likely a function of the binutils and/or - gcc I am using at the moment. The hardcode value setting code for - the configure script sucks at the moment though... - * TODO: ...and needs to do a test compile instead of a table - lookup before 2.0 final. - - * m4/libtool.m4 (echo): Use ECHO throughout for consistency with - config/ltmain.in. - Reported by Ralf Wildenhues - - * m4/libtool.m4 (rm): Use RM throughout for consistency with - config/ltmain.in. - Reported by Charles Wilson - -2004-09-27 Peter O'Gorman - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v - output during configure. (Really this time, honest) - -2004-09-26 Albert Chin-A-Young - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [aix]: In archive_expsym_cmds, - move -bnoentry linker option before $compiler_flags to honor any - possible -e entries in LDFLAGS. - -2004-09-25 Gary V. Vaughan - - * config/ltmain.in (func_mode_link): When linking an installed - libtool library on the command line using -lfoo we need to find - the library in the search paths and add it's dependency_libs to - the link in the conv pass so that any libtool libs listed are - correctly expanded in the link pass. - -2004-09-24 Charles Wilson - - * libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Revert changeset from - `2004-09-22 Charles Wilson '. - -2004-09-24 Gary V. Vaughan - - * config/general.m4sh (Xsed): Set a default when not used from - ltmain.in. - (ECHO): Audit for (and correct!) uses of $ECHO with more than one - argument, which breaks when ECHO='printf %s\n', and with possible - `-' as first character of the argument, which breaks `print -r' - and some implementations of `echo'. - * config/ltmain.in, tests/defs.in, libtoolize.in (ECHO): Ditto. - Reported by Albert Chin-A-Young - -2004-09-24 Peter O'Gorman - - * m4/libtool.m4 (_LT_CMD_STRIPLIB) [darwin]: strip archives too. - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v - output during configure. - -2004-09-24 Gary V. Vaughan - - * m4/libtool.m4 (_LT_DECL_EGREP): Only the newest CVS autoconf - AC_SUBSTs for GREP. Do our own here too to cater for release - autoconfen. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [openbsd3.3]: Set - need_version to yes or no depending on the os release. - Reported by Dalibor Topic - -2004-09-23 Gary V. Vaughan - - * tests/cdemo-conf.test, tests/cdemo-exec.test, - tests/cdemo-make.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/demo-conf.test, - tests/demo-deplibs.test, tests/demo-exec.test, - tests/demo-hardcode.test, tests/demo-inst.test, - tests/demo-make.test, tests/demo-nofast.test, - tests/demo-noinst-link.test, tests/demo-nopic.test, - tests/demo-pic.test, tests/demo-relink.test, - tests/demo-shared.test, tests/demo-static.test, - tests/demo-unst.test, tests/depdemo-conf.test, - tests/depdemo-exec.test, tests/depdemo-inst.test, - tests/depdemo-make.test, tests/depdemo-nofast.test, - tests/depdemo-relink.test, tests/depdemo-shared.test, - tests/depdemo-static.test, tests/depdemo-unst.test, - tests/f77demo-conf.test, tests/f77demo-exec.test, - tests/f77demo-make.test, tests/f77demo-shared.test, - tests/f77demo-static.test, tests/link-2.test, tests/link.test, - tests/mdemo-conf.test, tests/mdemo-dryrun.test, - tests/mdemo-exec.test, tests/mdemo-inst.test, - tests/mdemo-make.test, tests/mdemo-shared.test, - tests/mdemo-static.test, tests/mdemo-unst.test, - tests/mdemo2-conf.test, tests/mdemo2-exec.test, - tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, - tests/pdemo-exec.test, tests/pdemo-inst.test, - tests/pdemo-make.test, tests/quote.test, tests/sh.test, - tests/suffix.test, tests/tagdemo-conf.test, - tests/tagdemo-exec.test, tests/tagdemo-make.test, - tests/tagdemo-shared.test, tests/tagdemo-static.test, - tests/tagtrace.test: POSIX `.' searches only in user's $PATH, so - we must use `. ./defs' to source the common code. - Reported by Alexandre Duret-Lutz - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Gah. Merge error - corrected. - -2004-09-23 Gary V. Vaughan - - Since defs can change (path to grep for example) when it is made - for a different host, it can't be shipped. That also means that - defs will always be generated in the build tree, so each test case - can have the srcdir discovery factored away into tests/defs.in: - - * Makefile.am (EXTRA_DIST): s/defs/defs.in/g - * tests/Makefile.am (defs): New rule to remake defs from the - parent directory's Makefile. - * tests/cdemo-conf.test, tests/cdemo-exec.test, - tests/cdemo-make.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/demo-conf.test, - tests/demo-deplibs.test, tests/demo-exec.test, - tests/demo-hardcode.test, tests/demo-inst.test, - tests/demo-make.test, tests/demo-nofast.test, - tests/demo-noinst-link.test, tests/demo-nopic.test, - tests/demo-pic.test, tests/demo-relink.test, - tests/demo-shared.test, tests/demo-static.test, - tests/demo-unst.test, tests/depdemo-conf.test, - tests/depdemo-exec.test, tests/depdemo-inst.test, - tests/depdemo-make.test, tests/depdemo-nofast.test, - tests/depdemo-relink.test, tests/depdemo-shared.test, - tests/depdemo-static.test, tests/depdemo-unst.test, - tests/f77demo-conf.test, tests/f77demo-exec.test, - tests/f77demo-make.test, tests/f77demo-shared.test, - tests/f77demo-static.test, tests/link-2.test, tests/link.test, - tests/mdemo-conf.test, tests/mdemo-dryrun.test, - tests/mdemo-exec.test, tests/mdemo-inst.test, - tests/mdemo-make.test, tests/mdemo-shared.test, - tests/mdemo-static.test, tests/mdemo-unst.test, - tests/mdemo2-conf.test, tests/mdemo2-exec.test, - tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, - tests/pdemo-exec.test, tests/pdemo-inst.test, - tests/pdemo-make.test, tests/quote.test, tests/sh.test, - tests/suffix.test, tests/tagdemo-conf.test, - tests/tagdemo-exec.test, tests/tagdemo-make.test, - tests/tagdemo-shared.test, tests/tagdemo-static.test, - tests/tagtrace.test: Removed srcdir discovery boilerplate... - * tests/defs.in: ...and put it here. - -2004-09-23 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): move symcode calculation - to correct place. - * doc/libtool.texi (libtool script contents): update description - of global_symbol_to_cdecl. - -2004-09-23 Gary V. Vaughan - - * configure.ac (M4SH): AC_SUBST m4sh expander. - * config/general.m4sh, config/getopt.m4sh: New files with factored - out functionality from... - * config/ltmain.in, libtoolize.in: ...here. m4_include the shared - code, and call AS_SHELL_SANITIZE. Also quote all `[' and `]' to - survive m4 run. - (func_serial): No need to double up m4sh quotes after a `#'. - (func_check_macros): Escape `dnl' to stop m4sh interpreting it as - a macro. - * tests/defs.in: New file expanded into tests/defs by autom4te. - * m4/libtool.m4 (_LT_DECL_EGREP): Also require fgrep for the tests - that use it. - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Now built with - M4SH. - (libtoolize): Ditto. - * bootstrap: Set M4SH for call to make. - * HACKING: No need to sync to AS_SHELL_SANITIZE by hand any more. - - * m4/libtool.m4: _LT_DECL uppercase ECHO. - * config/ltmain.in: Use it throughout. - (func_mkdir_p): Now matches the other implementations in - tests/defs and libtoolize.in. - * tests/sh.test: Updated to detect ECHO misuse. - -2004-09-22 Gary V. Vaughan - - * config/ltmain.in (func_mode_link): Propagate a convenience - library's dependency libs correctly when it is being linked into a - libtool library. Deplibs are now propagated whether libdir is set - or not. - -2004-09-22 Andreas Schwab - - The dlpreopen pass over libraries reverses the elements in the - $deplibs list. This causes problems when the link pass tries to - find libraries when they are located in non-standard places - denoted by -L options. Due to the reversed order these -L options - occur after the libraries that need them, and they are not found: - - * config/ltmain.in: (Un)Reverse $deplibs list at the start of the - link pass in lib mode. - -2004-09-22 Charles Wilson - - * ltmain.in (func_generate_dlsyms) [cygwin, mingw]: when creating - a .exp file for an executable, also create a .def file, and add - that file to the link command via SYMFILES. This causes binutils - to generate an .edata section, and allows self dlopening to work. - * NEWS: Updated. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better quoting for - postinstall_cmds and postuninstall_cmds to allow spaces in install - paths. - - * config/ltmain.in (func_generate_dlsyms): Addresses in - _preloaded_symbols[] cannot go into .rdata section if symbols are - DATA imported from DLL, on windows, because runtime relocations - must happen. - * m4/libtool.m4 (_LT_LINKER_SHLIBS([TAGNAME])): Build exports for - symbols in .rdata sections. - -2004-09-19 Gary V. Vaughan - - The checks in assign.test are trying to catch case of this ilk: - `foo=bar break', but unfortunately they also choke on `foo=bar; - break' and `foo=bar && break'. Writing a sophisticated test to - catch just the intended case seems like more trouble than it's - worth, but leaving the test in causes the testsuite to fail on - valid m4sh output: - - * tests/assign.test: Removed; chokes on perfectly valid shell - syntax. - * tests/Makefile.am (COMMON_TESTS): Remove assign.test. - * tests/defs.in (scripts): Don't check the m4sh inputs, go back - to checking the generated ltmain.sh script. - -2004-09-17 Gary V. Vaughan - - * config/ltmain.in (func_echo): Except for multi-line warnings and - errors, always use func_echo. $show is for command output, and - $echo is for internal use in backtick expressions and similar. - -2004-09-17 Gary V. Vaughan - - Missed a couple of MKDIR_P references in ltmain.in in my last - patch; fix them carefully. Introduce an opt_dry_run to ltmain.in - so that the implementations of func_mkdir_p can converge, and a - func_mktempdir to do a better job of temporary directory creation: - - * libtoolize.in (func_mkdir_p): Don't fail if the directory wasn't - created in dry run mode. - * tests/defs (func_mkdir_p): Ditto. We don't actually have a dry - run mode for the tests, but the function is written carefully to - be kept in synch and work correctly here too. - * config/ltmain.in (func_mkdir_p): Ditto. This copy of the - function now only differs in its use of $echo over $ECHO. - (func_extract_archive): Removed first redundant mkdir call. - (func_mktempdir): New function that tries to avoid races when - making temporary directories. - (opt_dry_run): Set this if --dry-run is given at the CLI, or if - tests/mdemo-dryrun.test has forced the value of $run. - (func_mode_install): Call $MKDIR directly and error out if the - directory cannot be created. - (func_mode_link): Rather than copying func_mkdir_p into the - wrapper script as a replacement for $MKDIR_P, we know that the - script won't be called my `make -j', so write the current value of - $MKDIR. - -2004-09-17 Peter O'Gorman - - * m4/libtool.m4: remove an extra "]" - - * m4/libtool.m4 [darwin] (_LT_LANG_CXX_CONFIG): Changes for 10.4. - * config/libtool.in [darwin]: ditto. - -2004-09-16 Gary V. Vaughan - - My most recent `2004-09-02 Gary V. Vaughan' patch for mkdir_p - below is horrendously broken since it makes the installed libtool - try to run the mkinstalldirs or install-sh helper scripts. This - patch fixes the `make -j' mkdir race condition internally: - - * libtoolize.in (func_mkdir_p): New slice and dice algorithm - to build the directory tree one dir at a time, ignoring errors - until the end incase they are transient due to a concurrent - identical mkdir. - * tests/defs (func_mkdir_p): Ditto. - * config/ltmain.in (func_mkdir_p): Ditto, except that ltmain.in - uses $echo rather than $ECHO, and uses $show and $run to interact - correctly with the command line. - * configure.ac (AM_INIT_AUTOMAKE): 1.8 is sufficient again. - * Makefile.am (edit): Don't substitute automake's $(mkdir_p). - * NEWS: Updated. - -2004-09-15 Bob Friesenhahn - - * libltdl/loaders/loadlibrary.c: Compilation fixes (originally - from Gary V. Vaughan) to compile under MinGW. - * config/mkstamp: Translate input data so that it is assured to - use the Unix line terminations. This is necessary under Windows if - the files are checked out with CR/NL line terminations. A - side-effect of this change is that input must always be from - stdin. Previously a filename argument was accepted as well. - -2004-09-15 Ralf Wildenhues - - * tests/Makefile.am: Use the same CPP, F77, CXX and CXXFLAGS - for the test suite. - -2004-09-15 Ralf Wildenhues - - * m4/libtool.m4 (_LT_ENABLE_LOCK):Replace AC_TRY_LINK with - AC_LINK_IFELSE to get rid of `autoconf -Wobsolete' warning. - * m4/ltdl.m4 (LT_LIB_DLLOAD): Ditto. - -2004-09-15 Gary V. Vaughan - - * config/ltmain.in (func_quote_for_eval): Set a return value to - avoid forking at every call. Changed all callers. - (func_mode_link): Simplified, and removed the final non-portable - nested escaped double quotes in back quotes usage in the process. - -2004-09-14 Gary V. Vaughan - - * config/ltmain.in (func_quote_for_eval): Factor out the ugly - shell meta-character quoting. Changed all callers. - -2004-09-14 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Simplification: - distinguish between data and code symbols on every system. - -2004-09-14 Albert Chin-A-Young - - Unfortunately, libtool has no way of telling if unrecognized - compiler flags need an argument or not, and can disect options and - pass parts through incorrectly. This changeset reverts both - 2004-09-06 Albert Chin-A-Young (topmost) and 2004-09-05 Albert - Chin-A-Young below, and recognises more options explicitly: - - * config/ltmain.in (func_mode_link): Pass through options needed - to compile in 64-bit mode with gcc, and the SGI, Sun, HP and IBM - compilers. - -2004-09-13 Gary V. Vaughan - - * m4/libtool.m4 (_LT_CMD_GLOBALS_SYMBOLS): Fix a typo I made when - applying 2004-09-11 Ralf Wildenhues. - -2004-09-12 Brad - - * libtool.m4: Fixes for the OpenBSD support - -2004-09-12 Peter O'Gorman - - Our fortran tests were not very good. All the libraries created - were convenience libs, so we did not test the creation of shared - libraries on any platform. Also none of the libs used any actual - fortran library calls, adding a call to write(*,*) in each lib - causes the tests to fail on darwin (and presumably other platforms). - These new tests would likely cause many more fortran test failures, - so if there is an error during make it is reported as SKIP. - - * tests/f77demo-make.test: Don't fail hard, skip on failure. - * tests/f77demo/foof2.f: New file. - * tests/f77demo/foof3.f: New file. - * tests/f77demo/fprogram.f: Call routine in new lib. - * tests/f77demo/foof.f: Call routine in another new lib. - * tests/f77demo/Makefile.am: Make a couple of new libraries, add - $(FLIBS) to cprogram LDADD. - -2004-09-11 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes - data and code symbols on linux-gnu/ia64. Fixes multiple testsuite - failures. - * NEWS: Updated. - -2004-09-06 Gary V. Vaughan - - * libltdl/loaders/shl_load.c (get_vtable): Typo. - -2004-09-06 Albert Chin-A-Young - - Hopefully, passing unrecognised compiler arguments through - unmolested will prove to be a good plan for the 2.0 release. If - it goes awry, we can get back to where we were by reverting this - patch and the 2004-09-05 Albert Chin-A-Young patch, aka - gary@gnu.org--2004/libtool--devo--1.0--patch-169,172: - - * config/ltmain.in (func_mode_link): Because we now pass through - compiler arguments we doesn't recognize, the code to pass - through GCC's -m* arguments is not needed. - -2004-09-06 Albert Chin-A-Young - - * Makefile.am (clean-ltmain-sh): Using '==' to test for equality - in a shell script is not portable. Use '=' instead. - -2004-09-05 Andreas Schwab - - * m4/ltdl.m4 (LT_WITH_LTDL): Remove excess quoting in argument of - AC_CONFIG_SUBDIRS. - -2004-09-05 Albert Chin-A-Young - - * config/ltmain.in (func_mode_link): Pass otherwise unrecognised + - and - style switches to the compiler. - * NEWS: Updated. - -2004-09-05 Gary V. Vaughan - - * Makefile.am (libtool): Force libtool to be regenerated if - stamp-vcl has changed. - -2004-09-05 Albert Chin-A-Young - - * m4/libtool.m4, config/ltmain.in: When calling $LTCC, - pass default $CFLAGS through with $LTCFLAGS. - -2004-09-03 David Edelsohn - - * config/ltmain.in (func_mode_link): Use $pic_object as - $non_pic_object if $non_pic_object=none. - * NEWS: Updated. - -2004-09-03 Gary V. Vaughan - - * bootstrap: Remember that the ltmain.sh generated by bootstrap - is missing most of its substitution values, so force it to be - rebuilt at make time by touching $(top_srcdir)/config/ltmain.in. - - From Martin Quinson - * m4/libtool.m4 (_LT_SETUP, _LT_ENABLE_LOCK, LT_PATH_LD): Use - AS_HELP_STRING to get rid of autoconf -Wobsolete warning - messages. - * m4/ltdl.m4 (LT_WITH_LTDL, _LT_ENABLE_INSTALL): Ditto. - * m4/ltoptions.m4 (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC) - (_LT_ENABLE_FAST_INSTALL, _LT_WITH_PIC): Ditto. - * TODO: Updated - -2004-09-03 Ralf Wildenhues - - * libltdl/slist.c (slist_cons): Don't leak the tail of a list. - -2004-09-03 Albert Chin-A-Young - - * m4/libtool.m4 (_LT_ENABLE_LOCK): Reformatted. - -2004-09-03 Gary V. Vaughan - - * HACKING: Explain how to verify detached signatures with gpg in - the release announcement templates. - - * AUTHORS: Fix typo in my address. - -2004-09-02 Gary V. Vaughan , - - Builds of packages that use libtool and make -j produce "directory - already exists warnings" for .lib directory. Build on automake - wisdom to support make -j builds where a suitable mkdir is - available: - - * configure.ac (AM_INIT_AUTOMAKE): Require 1.9, which goes to some - trouble to find a $(mkdir_p) that doesn't interfere with make -j. - * Makefile.am (edit): Substitute for @mkdir_p@. - * config/ltmain.in (MKDIR_P): Take @mkdir_p@ value. - (mkdir): Removed. - (func_mkdir_p): New function to use $MKDIR_P. Factor out all - previous mkdir calls to use this function. - (RM, MV): Declared as in libtoolize.in. Changed all callers. - * libtoolize.in (MKDIR_P): Take @mkdir_p@ value from automake. - (func_mkdir_p): Use it, similarly to new config/ltmain.in. - * tests/defs: Synchronize boiler plate code with ltmain.in. - Adjust all callers. - Add missing copyright preamble. - * tests/demo-static.test: Add missing copyright preamble. - * NEWS: Updated. - Reported by Daniel Reed - -2004-09-02 Gary V. Vaughan , - - * Makefile.am (clean-ltmain-sh): Quote $(top_builddir) for the - shell, incase it is not set when running maintainer rules with - `make -fMakefile.maint'. - Don't show the shell commands. - - * AUTHORS: Fix my email address. - -2004-09-02 Ralf Wildenhues - - * libltdl/ltdl.c (try_dlopen): Fix memory leak. - * NEWS: Updated. - -2004-09-02 Gary V. Vaughan , - Ralf Wildenhues - - * libltdl/slist.c, libltdl/slist.h: Merge in changes from latest - upstream. Mostly comments, formal item boxing, a sort function, - and const madness reduction. - (slist_new): Removed. - (slist_box, slist_unbox, slist_sort): New. - (SListCompare, SListCallback): Swapped! - (slist_remove, slist_find): Change order of parameters for - orthogonality with slist_foreach. Changed all callers. - * libltdl/lt_dlloader.c (loader_cmp): Renamed to... - (loader_callback): ...this. Return boxed item. - (lt_dlloader_remove): Adjust to new loader_callback semantics; - unbox each removed item before returning. - Remove unused variable. - Remove const from name parameter, since the slist API cannot - guarantee userdata const-ancy for its callback functions. - (lt_dlloader_find): Adjust to new loader_callback semantics; need - to return the contents of the boxed item. - Remove const from name parameter, since the slist API cannot - guarantee userdata const-ancy for its callback functions. - * libltdl/lt_dlloader.h (lt_dlloader_find, lt_dlloader_remove): - Adjust to new constless footprint. - * libltdl/ltdl.c (ltdl_exit): The global `loaders' list is changed - by `lt_dlloader_remove' while cleaning up, so the address in local - variable `loader' is invalidated. Since some loaders may be - resident modules that cannot be unloaded (though we have none - yet), we must save each `next' address before calling - `lt_dlloader_remove'. - * NEWS: Updated. - * THANKS: Added Ralf. - -2004-09-01 Gary V. Vaughan - - * libltdl/lt_dlloader.c (lt_dlloader_add): Handle malloc failure - from slist_new. - * libltdl/ltdl.c (loader_init): Trust lt_dlloader_add(), don't - overwrite its error type, and simplify. - Reported by Ralf Wildenhues - -2004-09-01 Ralf Wildenhues - - * libltdl/slist.c (slist_new): Handle malloc failure gracefully. - -2004-09-01 Gary V. Vaughan - - * libtoolize.in, config/ltmain.in: Add CDPATH protection to - preamble. - * tests/defs: Put a full m4sh.m4 style 'Be Bourne compatible' - preamble in here too. - * HACKING: Note that tests/defs needs synching with m4sh.m4 too. - * TODO: Add new item. - - * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Use correct cpp - macro name, LT_DLSEARCH_PATH. - - * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Fix gcc parentheses - warning. - (foreach_dirinpath, try_dlopen, lt_dlpath_insertdir): Fix gcc - signed vs unsigned warning. - Reported by Bob Friesenhahn - - * m4/libtool.m4 (_LT_PROG_LTMAIN): Simplified in light of - ltmain.sh no longer being in the build tree. - Reported by Ralf Wildenhues - -2004-09-01 Ralf Wildenhues - - * libltdl/loaders/preopen.c: Initialise memory in get_vtable. - - * tests/sh.test: Look in the source tree for ltmain.sh. - -2004-09-01 Gary V. Vaughan - - Don't use C99 flexible array types as we want to be C89 - compatible. Instead, revert to the old way of doing things with - an array of symbol name vs. address, and adding the originator as - the first symbol but with a NULL address: - - * config/ltmain.in (func_extract_dlsyms): Store originator as a - NULL address symbol. - * libltdl/ltdl.h (lt_dlsymbol): Removed. - (lt_dlsymlist): Remove originator field. - (LTDL_SET_PRELOADED_SYMBOLS): Adjust. - * libltdl/loaders/preopen.c (vm_open, lt_dlpreload_open): Adjust - for new types. - (vm_sym): Skip the new originator symbol when scanning symbol - names. - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust preloaded symbols - test file to match. - * NEWS: Updated. - Reported by Andreas Schwab - -2004-09-01 Gary V. Vaughan - - Libtool currently assumes that certain characteristics, such as - enable_shared, apply to the host architecture rather than per- - language. Running the tests over a broken compiler can corrupt - these values, when there is no C++ compiler for example, so we - skip most of the tests in those cases. - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): If caught_CXX_compiler was - set from configure.ac, then don't run all the compiler tests. - (_LT_LANG_F77_CONFIG): Similarly for caught_F77_compiler. - -2004-08-31 Gary V. Vaughan - - * Makefile.am (clean-ltmain-sh): Remove stale config/ltmain.sh - from the build tree that were left behind by previous versions of - libtool. - ($top_srcdir)/stamp-vcl: Since this rule is already called on - every invocation of make, hook clean-ltmain-sh in here too. - Suggested by Ralf Wildenhues - -2004-08-31 Ralf Wildenhues - - * bootstrap: Update warning message to reflect having split - libtool.m4 into several files. - Also, add config/ltmain.sh to list of stale files from previous - versions to be removed before bootstrap. - - * libltdl/ltdl.c: Replace strdup with lt__strdup. - -2004-08-30 Gary V. Vaughan - - * config/ltmain.in: Double quote even $# for the sake of sh.test. - (exec_cmd): Be careful about "`\"foo\"`" quoting, even in comments - to avoid triggering the tests in sh.test. - - * configure.ac: Because of the way the autoconf C++ testing - works, we need to call the C test first to work in an environment - that has no C++ compiler. - - * libltdl/lt_dlloader.c (lt_dlloader_remove): Since the return - value of this function is often passed to free, don't declare it - `const'. Responsibility for this memory is given back to the - caller on return. - * libltdl/lt_dlloader.h (lt_dlloader_remove): Ditto. - * libltdl/ltdl.c (lt_dlexit): Adjust. - * NEWS: Updated. - -2004-08-30 Andreas Schwab - - * libltdl/ltdl.c (lt_dlexit): Remove lvalue cast. - - * libltdl/slist.h (SListCallback): Fix missing type. - - * config/ltmain.in: Accept --mode=relink. - -2004-08-29 Gary V. Vaughan - - * NEWS: Updated. - * configure.ac: Bumped version to 1.9c. - - GNU libtool 1.9b was released. - - * configure.ac: Bumped version to 1.9b. - * NEWS: Updated. - * INSTALL, config/config.guess, config/config.sub, - config/texinfo.tex: Updated from canonical source. - * Makefile.maint, HACKING: Update instructions for releasing in a - VPATH build. - - * Makefile.am (dist-hook): Only run if README-alpha exists. - * README.alpha: Renamed from README-alpha to stop automake from - automatically adding it to DIST_COMMON. - - * NEWS: Merge changes from branch-1-5. - - * Makefile.am (dist-hook): Always distribute just a README file, - but take its contents from README-alpha for alpha releases. - - * TODO: Reformat. Removed some items that have been implemented. - -2004-08-29 Gary V. Vaughan - - Add a new `-weak' flag to tell libtool when not to propogate - dependency libraries from dlpreopened modules to libraries: - - * config/ltmain.in: Support new -weak link mode option. Adjust - help message. - * libltdl/Makefile.am (libltdlc_la_LDFLAGS): Use it. - * doc/libtool.texi (Linking with dlopened modules): Document it. - (Link mode): Mention -weak. - * NEWS: Updated. - -2004-08-29 Gary V. Vaughan - - * config/ltmain.in (opt_help): Defer showing help messages until - after a possible following --mode argument has been parsed, so we - can handle `libtool --help --mode=foo'. - -2004-08-29 Gary V. Vaughan - - We have had shell functions in ltmain.in for a few years without - complaint now, and recently a few more have crept in. Make a - start at refactoring the code with shell functions, and - standardising on option parsing style: - - * config/ltmain.in (func_echo, func_verbose, func_error) - (func_fatal_error, func_fatal_help, func_missing_arg) - (func_version, func_usage, func_help): Boiler plate shell - functions mostly copied from libtoolize.in. Changed *lots* of - shell snippets to call these functions as appropriate, rather than - inlining the same code over and over. - (func_config, func_features, func_enable_tag, func_mode_help): - Factored out from the shared option parsing loop. Write a new - shared option parser based on the one in libtoolize.in. - (func_check_version_match): Factored out from global scope. - (func_mode_compile, func_mode_execute, func_mode_finish) - (func_mode_install, func_mode_link, func_mode_uninstall): Break - each of the top level mode handlers out into a function. Adjust - main loop. - (modename, prevopt, prev, optarg, show_help): Removed in the - course of cleaning up the shared option parser. - (opt_duplicate_deps): Use `:' and `false' instead of `yes' and `', - so we can run it directly, rather than calling test. - -2004-08-28 Gary V. Vaughan - - To help users submit better bug reports, improve the general - instructions, and provide additional useful info alongside the bug - reporting address in --help output: - - * Makefile.am (edit): Substitute $host_triplet. - * libtoolize.in: Output useful debug info with --help. - * config/ltmain.in: Ditto. - * README: Rewritten. Added copyright info. - * README-alpha: Rewritten. Added copyright info. - * HACKING: New file, partly taken from old README-alpha. - -2004-08-27 Gary V. Vaughan - - Two things to stop `make distcheck' from trying to rebuild - distributed files (m4/ltversion.m4 and config/ltmain.in) in the - readonly source tree: - - * Makefile.am (stamp-vcl): Keep only one copy of stamp-vcl; in - $(top_srcdir), so that an up-to-date version is rolled into the - dist tarball even from a VPATH build. - ($(top_srcdir)/config/ltmain.sh): Don't depend on Makefile, - otherwise ltmain.sh needs to be rebuilt after every config.status - run, and then configure needs to be rebuilt, and it all goes - horribly wrong :-/ Unfortunately, we can't depend on Makefile.am - either, because that is a circular dependency. The downside of - this change is that it is now possible to edit Makefile.am to - change the way ltmain.sh is generated, and the dependency - information can't tell that ltmain.sh needs regenerating. - -2004-08-27 Gary V. Vaughan - - * doc/libtool.texi (Cheap tricks): Escape the `@' for texinfo. - -2004-08-27 Gary V. Vaughan - - * doc/libtool.texi (Cheap tricks): Fix the instructions for making - a ltmain.in wrapping libtool in light of recent changes to the - version checking code. - -2004-08-26 Peter O'Gorman - - * config/ltmain.in [darwin]: Use the -dylib_file flag and avoid - linking to so many libraries on darwin. - - * m4/libtool.m4 [darwin]: Don't use a libname triplet, a couplet - is perfectly fine. - - * m4/ltdl.m4: Don't use the dyld loader on darwin 8 or later. - -2004-08-25 Paolo Bonzini - - * config/ltmain.in (piecewise linking): Use a GNU ld script if - possible. - * m4/libtool.m4 (_LT_LINKER_SHLIBS): Add per-tag variable - with_gnu_ld. - (_LT_LANG_CXX_CONFIG): Don't set unused variable with_gnu_ldcxx. - -2004-08-22 Gary V. Vaughan - - The Grand Renaming. In preparation for libtool-2.0, move all of - the many and varied m4 symbols accumulated by libtool over the - years, considering also that modern autoconf can detect unexpanded - macros even without AC in the macro name: - - * bootstrap: Remove libltdl/config.h from previous releases. - * m4/libtool.m4, m4/ltdl.m4, doc/libtool.texi: Basically, run a - giant sed transformation like this: - s,AC_LIB_LTDL,LTDL_INIT,g - s,AC_LIBLTDL_CONVENIENCE,LTDL_CONVENIENCE,g - s,AC_LIBLTDL_INSTALLABLE,LTDL_INSTALLABLE,g - s,AC_WITH_LTDL,LT_WITH_LTDL,g - s,AC_LTDL_ENABLE_INSTALL,_LT_ENABLE_INSTALL,g - s,AC_DEPLIBS_CHECK_METHOD,_LT_CHECK_MAGIC_METHOD,g - s,AC_LIBTOOL_OBJDIR,_LT_CHECK_OBJDIR,g - s,AC_LTDL_OBJDIR,_LT_CHECK_OBJDIR,g - s,AC_LTDL_DLPREOPEN,_LT_CHECK_DLPREOPEN,g - s,AC_LIBTOOL_SYS_MAX_CMD_LEN,LT_CMD_MAX_LEN,g - s,AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE,_LT_CMD_GLOBAL_SYMBOLS,g - s,AC_LIBTOOL_SYS_OLD_ARCHIVE,_LT_CMD_OLD_ARCHIVE,g - s,AC_PROG_LD_RELOAD_FLAG,_LT_CMD_RELOAD,g - s,AC_LIBTOOL_SYS_LIB_STRIP,_LT_CMD_STRIPLIB,g - s,AC_CHECK_LIBM,LT_LIB_M,g - s,AC_LTDL_DLLIB,LT_LIB_DLLOAD,g - s,AC_LIBTOOL_COMPILER_OPTION,_LT_COMPILER_OPTION,g - s,AC_LIBTOOL_PROG_CC_C_O,_LT_COMPILER_C_O,g - s,AC_LIBTOOL_PROG_COMPILER_NO_RTTI,_LT_COMPILER_NO_RTTI,g - s,AC_LIBTOOL_PROG_COMPILER_PIC,_LT_COMPILER_PIC,g - s,AC_LIBTOOL_SYS_HARD_LINK_LOCKS,_LT_COMPILER_FILE_LOCKS,g - s,AC_LTDL_DLSYM_USCORE,LT_FUNC_DLSYM_USCORE,g - s,AC_LIBTOOL_LINKER_OPTION,_LT_LINKER_OPTION,g - s,AC_LIBTOOL_PROG_LD_SHLIBS,_LT_LINKER_SHLIBS,g - s,AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH,_LT_LINKER_HARDCODE_LIBPATH,g - s,AC_PATH_MAGIC,_LT_PATH_MAGIC,g - s,AC_PATH_TOOL_PREFIX,_LT_PATH_TOOL_PREFIX,g - s,AC_PROG_LD,LT_PATH_LD,g - s,AC_PROG_LD_GNU,_LT_PATH_LD_GNU,g - s,AC_PROG_NM,LT_PATH_NM,g - s,AC_LTDL_SYS_DLOPEN_DEPLIBS,LT_SYS_DLOPEN_DEPLIBS,g - s,AC_LIBTOOL_DLOPEN_SELF,LT_SYS_DLOPEN_SELF,g - s,AC_LIBTOOL_POSTDEP_PREDEP,_LT_SYS_HIDDEN_LIBDEPS,g - s,AC_LTDL_SYSSEARCHPATH,LT_SYS_DLSEARCH_PATH,g - s,AC_LTDL_SHLIBEXT,LT_SYS_MODULE_EXT,g - s,AC_LTDL_SHLIBPATH,LT_SYS_MODULE_PATH,g - s,AC_LTDL_SYMBOL_USCORE,LT_SYS_SYMBOL_USCORE,g - s,AC_LIBTOOL_SYS_DYNAMIC_LINKER,_LT_SYS_DYNAMIC_LINKER,g - s,_LT_AC_TAGVAR,_LT_TAGVAR,g - s,_LT_AC_SYS_COMPILER,_LT_TAG_COMPILER,g - s,_LT_AC_PROG_ECHO_BACKSLASH,_LT_PROG_ECHO_BACKSLASH,g - s,_LT_AC_SYS_LIBPATH_AIX,_LT_SYS_MODULE_PATH_AIX,g - s,_LT_AC_SHELL_INIT,_LT_SHELL_INIT,g - s,_LT_AC_LOCK,_LT_ENABLE_LOCK,g - s,_LT_AC_CHECK_DLFCN,_LT_HEADER_DLFCN,g - s,_LT_AC_TRY_DLOPEN_SELF,_LT_TRY_DLOPEN_SELF,g - s,LT_AC_PROG_EGREP,_LT_DECL_EGREP,g - s,LT_AC_PROG_SED,_LT_DECL_SED,g - * doc/libtool.texi (Autoconf macros): Document exported macros. - * libtoolize.in: Compare ltdl.m4 serial numbers for LTDL_INIT - instead of newly obsoleted AC_LIB_LTDL. - (func_scan_files): Also set seen_ltdl for LTDL_INIT and - LT_WITH_LTDL. - -2004-08-12 Peter O'Gorman - - * m4/libtool.m4 [GNU/linux] (AC_DEPLIBS_CHECK_METHOD): Cleanup, - thanks to Daniel Reed. - -2004-08-11 Daniel Reed - - * tests/demo-nopic.test: Do not run on x86_64 or s390* - -2004-08-06 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dlforeachfile): LT_SYS_LIBSEARCH_PATH is not - an environment variable, it is an actual path. - - * bootstrap: Remove `-f Makefile.am' now that we have an actual - Makefile to build ltmain.sh. - Reported by Noah Mish - -2004-08-05 Gary V. Vaughan - - * bootstrap: Run the bootstrap rules from a file named Makefile, - copied from Makefile.am for fresh checkouts. - -2004-08-05 Alexandre Duret-Lutz - - * m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using - using Autoconf's new AC_REQUIRE_AUX_FILE. - -2004-08-05 Gary V. Vaughan - - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Depends on - Makefile. - (timestamp): Factor out timestamp setting and edit it based on the - version number, so that it is empty for release versions. - ($(top_srcdir)/config/ltmain.sh): Use it. - (libtoolize): Ditto. - - * Makefile.am (libtool): Depends on ltmain.sh. - (libtoolize): Set and substitute TIMESTAMP. - - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Actually run - $(MKSTAMP) before changing directories, or it won't be found. - Forgot to save before my last commit :-( - - * Makefile.am ($(top_srcdir)/m4/ltversion.m4): Since we already did - `cd $(top_srcdir)' for this rule, we can't mv ltversion.tmp to the - relative $(top_srcdir) again! Also, run $(MKSTAMP) before changing - directories, or it won't be found. - ($(top_srcdir)/config/ltmain.sh): Ditto. - (EXTRA_DIST): We should distribute ltversion.m4 too. - -2004-08-04 Peter O'Gorman - - * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Since CONFIG_SHELL may - not actually be set, we should use SHELL here, also make darn sure - that SHELL is set to something. Bug from Willem Jan Palenstijn - . - -2004-08-03 Jacob Meuser - - * ltmain.in: Allow some static libraries to be used in generating a - shared library on NetBSD and OpenBSD. match-pattern_regex decides - which are good. - -2004-08-02 Geoffrey Keating - - * m4/libtool.m4 [darwin]: Don't use -all_load. - -2004-08-01 Maciej W. Rozycki - - * m4/libtool.m4 (LT_AC_PROG_SED): Set SED when running from cache as - well. - -2004-07-31 Gary V. Vaughan - - Although libtool is optimised to not need to subconfigure libltdl, - the installed libltdl sources for libtoolize need to put - libltdl/configure.ac in the parent package so that *it* can - subconfigure libltdl. That way we don't put any constraints on - the build system used by the parent package because the - libtoolized libltdl subtree is a self-contained sub-project: - - * libltdl/Makefile.am (EXTRA_DIST): Add configure.ac. - (nobase_ltdldata_DATA): Change back to libltdl's own - configure.ac. - -2004-07-30 Gary V. Vaughan - - My thanks to Alexandre Duret-Lutz for the insight - required to write this changeset -- especially that ltmain.sh is - the same on any machine for a given release, which I hadn't - noticed for some bizarre reason: It turns out that generating - distributed files from configure causes no end of hassle, as - evidenced by the many patches I've generated over the last few - days to try and get the dist and distcheck make rules to work. - Instead of all that hair, we now simply generate our distributed - files (now including ltmain.sh) with make rules -- and since - automake creates make variables for all AC_SUBSTs, that is really - easy. The code looks a lot more like automake and autoconf - Makefile.ams now, and doesn't have all the rough edges the earlier - hacky solution suffered from. We still generate libtool from - config.status, but that is not a distributed file, and doesn't - break the golden rule. Besides, there is way more going on there - than a bunch of substitutions: - - * Makefile.am (edit): New common sed substitutions for files now - generated by make instead of config.status. - (CLEANFILES): Clean new tmp files. - (EXTRA_DIST): Add ltmain.sh. - (vcl-tmp): Reinstated. - (m4/ltversion.m4, config/ltmain.sh): New rules. Generate from - here instead of config.status. - (libtoolize): Ditto. - (libtool): Call config.status to regenerate if necessary. - (dist-hook): Removed. - * config/ltmain.in: Moved here from top_srcdir. - * README-alpha: Update instructions to check AS_SHELL_SANITIZE is - up to date. - * bootstrap: Rewritten. Generate m4/ltversion.m4 and - config/ltmain.sh because configure depends on them. - * configure.ac (AC_CONFIG_SRCDIR): Use libtoolize.in now that - ltmain.in has moved. - (AC_CONFIG_FILES): Don't generate distributed files, - config/ltmain.sh and libtoolize from config.status. We have make - rules to do that now. - -2004-07-30 Peter O'Gorman - - * m4/libtool.m4, ltmain.in: readd the comments that I erased. - - * ltmain.in [darwin]: We already had a module var, there can be - only one. - - * m4/libtool.m4, ltmain.in: autoconf now says the best thing to do - with CDPATH is to (unset CDPATH) >/dev/null 2>&1 && unset CDPATH, - so do it. - -2004-07-29 Gary V. Vaughan - - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Ugh. More hair to - help `make distcheck'; not only do we have to make a copy of - ltmain.sh available in the source tree, but we have to be really - careful about permission bit twiddling when we copy it across into - the possible read-only $(top_srcdir)/config directory! - - * tests/tagtrace.test: Skip this test when running a VPATH build - against a read-only source tree (as in distcheck for example), - since autoconf wants to write temporary files in $top_srcdir - otherwise. - - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Automake assumes, - quite rightly for every project except libtool, that there will be - an ltmain.sh in the source tree. - (EXTRA_DIST): As do the dist rules it generates. - (dist-hook): Even though we definitely don't want to distribute - our local ltmain.sh. - - * config/config.guess, config/config.sub: Don't check these in, - they cause spurious conflicts on cvs commit and update, and are - added by bootstrap in any case. - - * configure.ac (AC_INIT): Revert an accidental commit from my - testing of package_revision. - -2004-07-29 Alexandre Duret-Lutz - - * doc/libtool.texi (Tags): Document CC. - * m4/libtool.m4 (_LT_SETUP): Register CC as supported tag so that - Automake uses it. - -2004-07-28 Gary V. Vaughan - - Fix a long-standing bug where macro_version was always empty in - the generated m4/ltversion.m4. Except for CVS revisions: - - * ltmain.in (package_revision): Don't try to deduce it from - TIMESTAMP, since that is empty for release versions; simply - substitute it... - * configure.ac (package_revision): ...from here, having - precalculated it before resetting TIMESTAMP for release versions. - * bootstrap: Force regeneration of m4/ltversion.m4, but retain - timestamps if there is no change to the content. - -2004-07-28 Gary V. Vaughan - - To take full advantage of this, libtool must be bootstrapped with - CVS autoconf, otherwise pdksh chokes on some nested escaped quotes - from libtool.m4. Using CVS autoconf protects configure from - non-bourne compatible shells in the same way this changeset - protects libtool and libtoolize: - - * libtoolize.in: Include latest CVS autoconf AS_SHELL_SANITIZE - expansion to make various shells fully bourne compatible. - * ltmain.in: Ditto. - * m4/libtool.m4 (AC_PATH_TOOL_PREFIX): Remove spurious quotes, the - RHS of = assignment is not IFS split. - (_LT_LANG_CXX_CONFIG): Ditto. - (AC_LIBTOOL_POSTDEP_PREDEP): Ditto. - -2004-07-27 Gary V. Vaughan - - This change fixes another VPATH build bug, where the vcl.tmp - target forced a rebuild of stamp-vcl in the build tree (and - hence regeneration of m4/ltversion.m4, thus an automake driven - rebootstrap that doesn't know about $fakes) requiring a fresh - ./bootstrap after every cvs/tla update: - - * Makefile.am (vcl.tmp): Removed. - (stamp-vcl): Adopt former vcl.tmp target rules. - -2004-07-25 Gary V. Vaughan - - * ltmain.in: Make sure that dependency libraries of -dlpreopened - libraries are propogated properly. - -2004-07-23 Joe Orton - - * libtool.m4: Treat bsdi5* like bsdi4*. - -2004-07-22 Peter O'Gorman - - * ltmain.in [darwin](func_extract_archives): $SED not sed. - - * ltmain.in [darwin](func_extract_archives): Clean up last commit - a little, some suggestions are from Albert Chin, those that are - broken are mine. - - * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for - included files in the right places. - -2004-07-18 Peter O'Gorman - - * ltmain.in [darwin](func_extract_archives): Because fat archives - on darwin can not be extracted using ar, we need to use lipo to - extract the thin archives and then use lipo again to generate the - individual fat objects. This should allow people to run configure - with CC set to "cc -arch ppc -arch ppc64" or "cc -arch ppc -arch - i386" or whatever to match the toolchain they have available. - -2004-07-18 Greg Eisenhauer - - * libltdl/loaders/Makefile.am: Use AM_MAKEFLAGS not MAKEFLAGS. - -2004-07-18 Peter O'Gorman - - * libltdl/Makefile.am: Ensure that lt__dirent.h is part of the dist, - also make failed looking for configure.ac, look for - $(top_srcdir)/configure.ac instead. - -2004-07-15 Gary V. Vaughan - - * libltdl/lt__private.h (lt_dlhandle_struct): Renamed to - lt__handle to better reflect the naming scheme. - * libltdl/ltdl.h (lt_dlhandle): Be truly opaque with a void *. - * libltdl/lt_dlloader.c (lt_dlloader_remove): Party to - lt__private.h, so use internal lt__handle instead of opaque - lt_dlhandle. - * libltdl/ltdl.c (LT_DLGET_FLAG, LT_DLSET_FLAG): Add a cast to - internal lt__handle type. - (try_dlopen, tryall_dlopen, load_deplibs, unload_deplibs): Ditto. - (lt_dlexit, lt_dlclose, lt_dlsym): Use lt__handle to iterate - throught the handle list. - (try_dlopen): Use lt__zalloc instead of MALLOC and memset. - * libltdl/ltdl.h (lt_dlcaller_id): Be truly opaque with a void *. - (lt_dlhandle_interface): New callback type for filtering handles - according to the interface they present. - * libltdl/ltdl.c (lt_dlcaller_register): Take an id and an - interface check callback, and generate a caller_id. - (iterator): New static variable for the use of... - (lt_dlhandle_first): New function. Set the iterator for - subsequent calls to lt_dlhandle_next. - (lt_dlhandle_next): Either work as before when iterator is unset, - or else skip handles that fail the interface check in iterator set - by lt_dlhandle_first. - * libltdl/ltdl.h (lt_dlhandle_first): Declaration. - * doc/libtool.texi (User defined module data): Document the new - APIs. - * NEWS: Updated. - -2004-07-15 Gary V. Vaughan - - Split lt_dlloader management into a separate file, and factor - `loaders' list management into a new SList ADT. In the process, - the API for writing loaders is a little cleaner, so all the - existing loaders were tweaked to take advantage of that: - - * libltdl/slist.h, libltdl/slist.c: New files implementing a - generic singly linked list container ADT. The ADT is purely - internal, and none of its API's are visible from an installed - libltdl. - * libltdl/lt_dlloader.h (lt_dlloader): Removed next field again - :-) Renamed to lt_dlvtable for API. Changed all callers. - (lt_dlloader_get): New function to turn an lt_dlloader into its - associated lt_dlvtable. - (lt_dlloader_add): Removed unused data parameter. The caller - data belongs to (and is set by) the loader itself, not the - loader's client. Changed all callers. - (lt_dlloader_name, lt_dlloader_data): Removed. Use - lt_dlloader_get instead! - * libltdl/lt__private.h: Include slist.h. - (lt__alloc_die_callback): Add missing LT_SCOPE to declaration. - (lt_dlhandle_struct): Use lt_dlvtable instead of opaque - lt_dlloader. - * libltdl/ltdl.c (lt_dlexit): Rewritten for the new loader API. - (loaders, lt_dlloader_add, lt_dlloader_remove, lt_dlloader_next, - lt_dlloader_find): Moved from here... - * libltdl/lt_dlloader.c ((loaders, lt_dlloader_add, - lt_dlloader_remove, lt_dlloader_next, lt_dlloader_find): ...to - here. And rewritten in terms of new SList interface. - * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Rewritten in terms of - new lt_dlloader interface. - * libltdl/Makefile.am (libdlloader_la_SOURCES): Add slist.h and - slist.c. Move lt_dlloader.h from here... - (pkginclude_HEADERS): ...to here. - (libltdl_la_SOURCES): Add lt_dlloader.c and lt_dlloader.h. - -2004-07-15 Gary V. Vaughan - - Collapse two almost identical structures into one: - - * libltdl/lt_dlloader.h (lt_dlloader): Add next field. - * libltdl/ltdl.c (lt_user_dlloader): Remove entirely. Change all - callers to use lt_dlloader instead. Add a compatibility macro. - (lt_dlloader_add): Remove copy and allocate stage, just hook - directly into the loaders list. - -2004-07-15 Gary V. Vaughan - - A cleaner way to access the private fields of an lt_dlhandle - than my move of the module field into lt_dlinfo: - - * libltdl/ltdl.c (lt_caller_data, lt_dlhandle_struct): Move from - here... - * libltdl/lt__private.h (lt_caller_data, lt_dlhandle_struct): - ...to here. And put the module field back here... - * libltdl/ltdl.h (lt_dlinfo): ...instead of here. - * libltdl/loaders/loadlibrary.c (vm_open): Adjust. - -2004-07-15 Gary V. Vaughan - - * libltdl/lt__private.h (streq, strneq): New macros to make strcmp - calls as used for simple comparison easier to read. - * libltdl/loaders/dyld.c, libltdl/loaders/preopen.c, - libltdl/ltdl.c: Use them! - -2004-07-15 Gary V. Vaughan - - This pervasive changeset makes two intertwined deep changes to the - operation of libtool (neither would work alone). First, there is - a new feature that allows libraries to preopen modules. This - entails a backwards incompatible change to the libltdl API for - separating out the preloaded symbol lists by owner. Second, in - the tradition of "eating our own dogfood", libltdl now preloads - its own dlloaders. The internal API for dlloaders has also had to - change in a backwards incompatible way in support of the new - library preloading feature. If you don't use preloaded libraries, - you needn't change your project sources, though you will need to - recompile against the new libltdl. The API changes are mostly - confined to dlloaders, so you probably needn't worry about those - (unless you have written a custom loader that you want libltdl to - use): - - * configure.ac (AC_CONFIG_FILES): Add libltdl/loaders/Makefile. - * libltdl/configure.ac (AC_CONFIG_FILES): Add loaders/Makefile. - * libltdl/loaders: New directory for module loaders, to simplify - Makefile rules, and to give the loaders themselves names that are - unique in the first few characters. - * libtoolize.in (func_copy_all_files): Copy recursively to pick up - the loaders directory contents. - * libltdl/loaders/Makefile.am: New file. Move module building - rules to here... - * libltdl/Makefile.am: ...from here. - (VERSION_INFO): Bumped version info to signify interface changes. - (libltdl_la_CPPFLAGS, libltdlc_la_CPPFLAGS): Set LTDLOPEN - appropriately for each library. - * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, - libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, - libltdl/loader-loadlibrary.c libltdl/loader-preopen.c, - libltdl/loader-shl_load.c: Moved from here... - * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, - libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, - libltdl/loaders/loadlibrary.c libltdl/loaders/preopen.c, - libltdl/loaders/shl_load.c: ...to here. - (get_vtable): New entry function for each. - * libltdl/loaders/preopen.c (lt_dlsymlists_t): Replaced by... - (symlist_chain): ...a new structure which maps lists of preloaded - symbols from the object that loads them. - (lt_dlpreload_open): New function to automatically open all - preloaded modules belonging to a named object (ORIGINATOR). - * libltdl/lt__alloc.c (lt__zalloc): New function to return a block - of zeroed out new memory. - * libltdl/lt__alloc.h (lt__zalloc): Prototype it. - * libltdl/lt__private.h (lt__alloc_die_callback): Add missing - prototype. - (lt__error_strings): Make this opaque to callers. - * libltdl/lt_error.c (lt__error_strings): Move the implementation - to here. - * libltdl/lt_dlloader.h (lt_user_dlloader): Add extra fields to - make originator focused preloading possible. *BREAKS BACKWARDS - COMPATIBILITY* - (lt_dlloader_add): Take advantage of new fields to simplify - paramater list. - * libltdl/lt_system.h (LT_STR): New ANSI stringification macro. - (LT_CONC): Fix it to work from within macros. - * libltdl/ltdl.c (loader_init, loader_init_callback): Simplify - dlloader loading. - (get_vtable, preloaded_symbols): Point these at the preopen.c - symbols to bootstrap the loader chain. - (lt_dlinit): Load the preopen dlloader manually, and then use it - to load any other preloaded dlloaders. - (lt_dlloader_add): Simplify parameter list. Populate new - fields. Chain new loaders according to priority field. - * libltdl/ltdl.h (lt_dlsymlist): Add a new originator field. - (lt_dlpreload_callback_func): Type of a callback for automatic - lt_dlpreload_open loading. - (LTDL_SET_PRELOADED_SYMBOLS): Adjust to hook into preloaded - symbols from the "@PROGRAM@" originator. - * tests/demo/dlmain.c (main): Use mangled preloaded_symbols symbol. - * tests/pdemo/longer_file_name_dlmain.c (main): Ditto. - * ltmain.in: Don't spew spurious warnings when dlopening and - dlpreopening modules. - (func_generate_dlsyms): Factored out from multiple copies in the - rest of the code. Generate originator keyed symbol lists. - (func_extract_archives): Also factored. Extract the contents of - convenience archives for linking with dependent libraries when - --whole-archive is not available. - [darwin]: Don't try to link $old_library unless it exists, and - $lib is a bundle. - * m4/ltdl.m4 (AC_LTDL_DLLIB): Check for all possible dynamic - loading libraries/apis rather that stopping when an acceptable one - is discovered. - (LT_DLLOADERS): New variable for holding dlloaders that can be - preloaded. - * doc/libtool.texi: Document interface changes. - * NEWS: Updated. - -2004-07-12 Peter O'Gorman - - * m4/libtool.m4 [darwin]: Set whole_archive_flag_spec to '' for xlc, - or it does not pass it's tests. xlc passes -noall_load (the default) - and when -all_load is also specified Apple's /usr/bin/libtool barfs - and dies. - -2004-07-07 Gary V. Vaughan - - * libltdl/ltdl.h (lt_dlinfo): Move private module field to here... - * libltdl/ltdl.c (lt_dlhandle_struct): ...from here. Changed all - callers. - * libltdl/loader-loadlibrary.c (sys_wll_open): Use new inteface to - scan loaded handle->info.module fields for previously loaded - modules. - * doc/libtool.texi (User defined module data): Document changes to - the interface. - * NEWS: Updated. - Reported by Chuck Wilson - -2004-07-07 Brad - - * m4/libtool.m4: Fixes for the OpenBSD support - -2004-06-24 Noah Misch - - * ltmain.in: Unset the zsh GLOB_SUBST option, which makes zsh - handle backslash quoting poorly, before doing anything else. - * tests/defs: Likewise. - -2004-06-21 Gary V. Vaughan - - * libtoolize.in (libtoolize_flags): With the --ltdl option, we - libtoolize the libltdl subdirectory automatically. - * m4/ltdl.m4 (AC_WITH_LTDL): Fix overquoted args. - -2004-06-21 Peter O'Gorman - - * ltmain.in (dependency_libs) [darwin]: Remove -framework stuff from - dependency_libs. Instead, invent a new .la var "inherited_linker_flags" - to keep any linker flags which should be used when linking the library, - but are outside the usual -L -l, -R etc that can be used in - dependency_libs. Any unusual flags in dependency_libs cause recent - versions of libtool to die with "cannot find the library `'", so - it is required to move frameworks out of there. :( - -2004-06-21 Gary V. Vaughan - - From Ralf Wildenhues : - * libtoolize.in: Quote $# to make sh.test happy again. - - * m4/ltdl.m4 (AC_WITH_LTDL): Remove redundant AC_REQUIRE calls. - Either set variables to allow a client to link with the installed - libltdl, or else compile a local libltdl as a convenience library. - * libtoolize.in (opt_ltdl): Removed in favour of... - (ltdldir): ...this, which is defaulted to "libltdl" or can be set - by the user with an argument to --ltdl. - (Main): Use it! - * doc/libtool.texi (Distributing libltdl): Improved documentation - on libltdl. - (Invoking libtoolize): Document new optional --ltdl target - directory argument. - -2004-06-17 Gary V. Vaughan - - * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Fix a typo - in allow_undefined_flag: s,${Wl},${wl},g - - * libtoolize.in (func_scan_files): Accept AC_WITH_LTDL as an - indication that libltdl is being used. - (Main): Without AC_CONFIG_MACRO_DIR, don't just dump all the - macro files in `.' since they are never used, and aclocal will - copy them from $aclocaldir into aclocal.m4 anyway. - Reported by Alexandre Duret-Lutz - -2004-06-16 Brad - - * m4/libtool.m4: More improvements to OpenBSD support. - * NEWS: Updated. - -2004-06-16 Gary V. Vaughan - - libltdl uses LIBOBJS, which leak out into a parent project if both - share the same configure.ac. Libtool itself doesn't compile any - code, so it is okay to do it during bootstrap, but other projects - need to treat libltdl as a configurable subproject to keep their - respective LIBOBJS separate: - - * libltdl/configure.ac: New file, based on configure.ac. - * libltdl/Makefile.am (AC_LOCAL_AMFLAGS): Use our own m4 - directory. - (ltdldata_DATA): List *all* the files that libtoolize --ltdl will - install. - -2004-06-16 Gary V. Vaughan - - Automake 1.9 won't have the AC_PROG_EGREP bug (aclocal used to - pull an old installed libtool.m4 as well as the bootstrap - m4/libtool.m4 if an AC_DEFUN was removed), and we have - lt~obsolete.m4 to work around it in the mean time. libtoolize - can install macro files from $prefix/share/aclocal perfectly well - without us needing to move to a whole other directory: - - * Makefile.am (pkgmacro_DATA): Renamed to aclocal_DATA, so m4 - files are installed to $prefix/share/aclocal again. - (install-data-local): Don't remove just installed macros! - * libtoolize.in (pkgmacrodir): Renamed to aclocaldir. - (func_copy_some_files): New function factored out of... - (func_copy_all_files): ...here. Adjust to use func_copy_some_files. - (re_pkgaux_files): Renamed to glob_pkgaux_files, since it is not - a regular expression. - (re_pkgmagro_files): Replaced with... - (pkgmacro_files): ...a colon delimited list of libtool installed - m4 files from aclocaldir. - (Main): Copy macro files from aclocaldir again. - * NEWS: Updated. - -2004-05-21 Bob Friesenhahn - - * ltmain.sh (check_executable): The WIN32 API and MinGW do not support - S_IXOTH and S_IXGRP so use of these modes should be conditional. - -2004-05-21 Gary V. Vaughan - - * tests/tagtrace.test: Forgot to add this file to the repository - for Alexandre's 2004-05-16 patch below. - -2004-05-18 Peter O'Gorman - - * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Make this an m4_defun, - test the tags compiler to see if it is GCC, not the CC compiler. - -2004-05-16 Alexandre Duret-Lutz - - * doc/libtool.texi (Invoking libtool): Mention --tag=TAG. - (Tags, Trace interface): New nodes. - * m4/libtool.m4 (LT_SUPPORTED_TAG): New macro. - (_LT_LANG): Call it. - * tests/tagtrace.test: New file. - * tests/Makefile.am - (TESTS): Add tagtrace.test. - * tests/defs: Define AUTOCONF. - -2004-05-14 Mike Gorchak - - * ltmain.in: Add new qnx version type support. - * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it. Set - ldqnx.so linker type. - (AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib - checking, so use pass_all. - (AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX. - (_LT_LANG_CXX_CONFIG): QNX can make shared libraries. - * m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on - dlopen. - * NEWS: Updated. - -2004-05-05 Peter O'Gorman - - * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space - around = for a test and a comma between runpath_var and $1. Bug - reported by Max Bowsher. - -2004-04-22 Gary V. Vaughan - - * libltdl/argz.h: Moved from here... - * libltdl/argz_.h: ...to here, so as not to shadow system - argz.h when we `#include ' for example. - #include stdlib.h and sys/types.h to ensure we get a size_t - definition. - * libltdl/argz.c (HAVE_CONFIG_H): Set it up how ltdl likes it when - used by another client. - * m4/argz.m4: New file. - (gl_FUNC_ARGZ): Try to find an error_t definition, and a system - argz.h. - * m4/ltdl.m4: Use it. - (AC_LTDL_FUNC_ARGZ): Removed. - * libltdl/lt__glibc.h: #include to pick up either the - system argz.h or our libltdl/argz.h if necessary. - * libltdl/Makefile.am (libltdl_la_SOURCES): Move argz.h from - here... - (ltdldata_DATA): ...here. Along with argz.c. - (argz.h): Generate from argz_.h if the system file is missing. - Reported by Ralf Wildenhues - -2004-04-22 Gary V. Vaughan - - According to Howard Chu : - Applications should assume that the native dlopen is NOT - thread-safe, and take care of locking themselves. All application - calls into libltdl should thus be protected by the caller. - - * libltdl/lt_mutex.c, libltdl/lt_mutex.h: Removed. - * libltdl/Makefile.am (pkginclude_HEADERS): Removed lt_mutex.h. - (libltdl_la_SOURCES): Removed lt_mutex.c and lt_mutex.h. - * libltdl/ltdl.h: Don't include lt_mutex.h. - * libltdl/lt__private.h (LT__MUTEX_GETERROR, LT__MUTEX_SETERROR) - (LT__MUTEX_SETERRORSTR): Renamed to... - (LT__GETERROR, LT__SETERROR, LT__SETERRORSTR): ...this. Changed - all callers. - (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, lt_dlmutex_lock) - (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror): - Removed. Changed all callers. - * doc/libtool.texi (Thread Saftey in libltdl): - * NEWS: Updated. - -2004-04-19 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Detect Intel C++ compiler - version more idiomatically. - -2004-04-19 Albert Chin-A-Young - - * m4/libtool.m4: Use cc rather than ld to created - a shared library on HP-UX 11.x. On HP-UX 10.x, the - C compiler doesn't grok -b so we continue to use ld. - - * m4/libtool.m4: Use cc rather than ld to create a - shared library on Solaris. When using the Sun - Workshop compiler 5.0 (and I presume any previous - version), revert to ld due to compiler errors. - - * m4/libtool.m4: Use cc rather than ld to created - a shared library on Tru64 UNIX. - - * m4/libtool.m4: Use cc rather than ld to created - a shared library on IRIX. - - * libltdl/loader-shl_load.c: Fix typos during reorg. - -2004-04-19 Alexandre Duret-Lutz - - * doc/libtool.texi (LT_INIT): Properly display options in a table. - -2004-04-19 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and - newer adds predep_objects and postdep_objects itself, so don't - duplicate them in $archive_cmds and $archive_expsym_cmds. - * NEWS: Updated. - Reported by Roberto Bagnara - -2004-04-17 Peter O'Gorman - - * libltdl/loader-dyld.c: Fix compilation issues. Set Original author - to me. - -2004-04-17 Todd Vierling , - Peter O'Gorman - - * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use sysctl to get the - max cmd length on BSD* and darwin. Make sure that there is a safety - factor too. - -2004-04-15 Scott James Remnant - - * m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none' - and 'all' options, this now always assumes automatic mode as that - works so well. - (_LT_LANG_DEFAULT): Remove definition - * m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options. - * configure.ac: Invoke LT_LANG for each desired supported language. - * doc/libtool.texi: Remove documentation for the LT_INIT options, - rewrite LT_LANG documentation. - -2004-04-14 Alexandre Duret-Lutz - - * bootstrap: Delete acinclude.m4. - -2004-04-14 Gary V. Vaughan - - * libtoolize.in (configure_ac): Don't complain about the lack of - aclocal.m4. - Reported by Alexandre Duret-Lutz - -2004-04-13 Gary V. Vaughan - - * m4/ltdl.m4 (AC_LIB_LTDL): Remove AC_REPLACE_FUNCS for memmove - and strcpy. - - * libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c, - libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove - half-assed pre-c89 support entirely. - * libltdl/lt__private.h: Don't refer to lt__pre89.h. - * libltdl/Makefile.am (ltdldata_DATA): Remove references to - deleted files. - * NEWS: Mention it. - - * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c, - libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h, - libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h, - libltdl/lt__alloc.c, libltdl/lt__alloc.h, libltdl/lt_system.h, - libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, - libltdl/loader-dyld.c, libltdl/loader-loadlibrary.c, - libltdl/loader-shl_load.c, libltdl/lt_error.h, libltdl/lt_mutex.h: - Autoconf either defines to 1 or undefs the discovery macros it - puts in config.h, and many (non-GNU) compilers throw a spurious - warning when testing an #undef macro with #if. For consistency, - while we are touching all these lines, use defined(MACRO) style - throughout. - Reported by Bob Friesenhahn - -2004-04-13 Gary V. Vaughan - - Factor out the individual loaders, in preparation for preloading - them as libtool modules. Currently loader-preopen.c is linked - unconditionally and other appropriate loaders discovered by - AC_LTDL_DLLIB are built and linked in: - - * libltdl/Makefile.am (libltdl_la_SOURCES): Add loader-preopen - module. - * m4/ltdl.m4 (AC_LTDL_DLLIB): Use AC_LIBOBJ to add appropriate - loaders to libltdl. - * libltdl/lt_system.h (LT_SCOPE): Moved to here. - * libltdl/ltdl.h (lt_dlloader, lt_user_data, lt_module) - (lt_module_open, lt_module_close, lt_find_sym, lt_dlloader_exit) - (struct lt_user_dlloader, lt_dlloader_next, lt_dlloader_find) - (lt_dlloader_name, lt_dlloader_data, lt_dlloader_add) - (lt_dlloader_remove): Moved declarations... - * libltdl/lt_loader.h: ...to here. - * libltdl/ltdl.c: Include lt_loader.h. Move loader implementation - code from here... - * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, - libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, - libltdl/loader-loadlibrary.c, libltdl/loader-preopen.c, - libltdl/loader-shl_load.c: ...to here. - * tests/cdemo/Makefile.am, tests/demo/Makefile.am, - tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, - tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, - tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (AM_CPPFLAGS): - Add -I$(top_srcdir)/../.. so that libltdl include files can be - written as #include and found correctly. - -2004-04-13 Gary V. Vaughan - - Factor out the mutex handling and error handling into their own - modules. Mutex handling is not currently useful in combination - with posix threads, and should be easier to replace if it is in a - separate module. Additionally, we can factor out the loaders in - such a way as to depend on only the portability layer and these - new mutex and error modules now: - - * libltdl/Makefile.am (pkginclude_HEADERS): Install lt_error.h and - lt_mutex.h to $includedir/libltdl. - (libltdl_la_SOURCES): Build lt_error and lt_mutex objects. - * libltdl/ltdl.h (LT_SCOPE): Moved from here... - * libltdl/lt_system.h (LT_SCOPE): ...to here. - * libltdl/ltdl.c (lt_dlerror_strings, LT_DLSTRERROR): Moved from - here... - * libltdl/lt__private.h (lt__error_strings, LT__STRERROR): ...to - here as additional internal interfaces to lt_error. Changed all - callers. - * libltdl/ltdl.c (LT_DLMUTEX_LOCK, LT_DLMUTEX_UNLOCK) - (LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR, lt_dlmutex_lock_func) - (lt_dlmutex_unlock_func, lt_dlmutex_geterror_func) - (lt_dllast_error): Moved from here... - (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, LT__MUTEX_SETERRORSTR) - (LT__MUTEX_GETERROR, lt__mutex_lock_func, lt__mutex_unlock_func) - (lt__mutex_geterror_func, lt__last_error): ...to here as - additional internal interfaces to lt_mutex. Changed all callers. - (LT_MUTEX_SETERROR): Take an errorcode rather than a string. - Changed all callers. - * libltdl/ltdl.c, libltdl/ltdl.h (lt_dlmutex_register): Moved from - here... - * libltdl/lt_mutex.c, libltdl/lt_mutex.h (lt_dlmutex_register): - ...to here. New files. - * libltdl/ltdl.c, libltdl/ltdl.h (lt_dladderror, lt_dlseterror) - (lt_dlerror_table): - Moved from here... - * libltdl/lt_error.c, libltdl/lt_error.h (lt_dladderror) - (lt_dlseterror, lt_dlerror_table): ...to here. New files. - -2004-04-13 Scott James Remnant - - * Makefile.am (XDELTA_OPTIONS): Remove --pristine as that - generates huge xdeltas. - -2004-04-08 Gary V. Vaughan - - * libltdl/ltdl.c (argz_append, argz_create_sep, argz_insert) - (argz_next, argz_stringify): Move from here... - * libltdl/argz.c: New file. ...to here. - * libltdl/lt__glibc.h: New file. Rename global symbols into the - lt__ namespace. - * libltdl/lt__private.h: Include lt__glibc.h. - * libltdl/Makefile.am (libltdl_la_SOURCES): Add new files. - (AM_CPPFLAGS): Add -DLTDL. - * libltdl/argz.h (argz_append, argz_create_sep, argz_insert) - (argz_next, argz_stringify): New file. Declare argz functions - here, including lt__glibc.h when LTDL is defined to rename global - symbols for libltdl. - * m4/ltdl.m4 (AC_LTDL_FUNC_ARGZ): Add argz to AC_LIBOBJ if any of - our argz_* functions are missing from the system libraries. - - * libltdl/ltdl.c: Move standard headers and preprocessor guards - from here... - * libltdl/lt__private.h: ...to here. New file to declare ltdl's - internal interfaces. - * libltdl/ltdl.c: Include lt__private.h. - * m4/ltdl.m4 (AC_LIB_LTDL): Add lt_dirent to AC_LIBOBJ if all of - opendir, readdir and closedir are missing. - (AC_CHECK_HEADERS): Remove assert.h, ctype.h, errno.h, malloc.h, - stdio.h and stdlib.h; these headers are all available in standard - c89 environments and newer. - * libltdl/lt__private.h: Include them here unconditionally. - * libltdl/lt__dirent.c (opendir, readdir, closedir): New file. - Windows dirent emulation functions moved to here... - * libltdl/ltdl.c (opendir, readdir, closedir): ...from here. - * libltdl/lt__dirent.h: New file. Rename the global symbols from - lt__dirent.c into the lt__ namespace so they don't clash with - other libraries. - -2004-04-08 Gary V. Vaughan - - Factor out the bottom portability layer from ltdl. Code in this - layer has global symbols renamed by lt__pre89.h, and may not - refer to any symbols except those provided by the system libraries - or other code in the portability layer: - - * libltdl/lt__pre89.h: New file. Rename all the symbols from - LTLIBOBJS into the lt__ namespace so that they don't clash with - other libraries. - * libltdl/ltdl.c (rpl_memcpy, rpl_memmove, rpl_strchr, rpl_strcmp) - (rpl_strrchr): Moved from here... - * libltdl/memcpy.c (memcpy): ...to here, and fixed void * - dereference bug... - * libltdl/memmove.c (memmove): ...to here, and fixed void * - dereference bug... - * libltdl/strchr.c (strchr): ...to here... - * libltdl/strcmp.c (strcmp): ...here... - * libltdl/strrchr.c (strrchr): ...and here. - * libltdl/Makefile.am (libltdl_la_SOURCES): Add lt__pre89.h. - (libltdl_la_LIBADD, libltdlc_la_LIBADD): Add $(LTLIBOBJS). - (ltdldata_DATA): Add replacement sources files. - * m4/ltdl.m4 (AC_LIB_LTDL): Do careful config.h and LTLIBOBJ - setting for missing pre89 functions. - -2004-04-08 Gary V. Vaughan - - * libltdl/ltdl.h (LT_PARAMS): Removed. Changed all users to - ANSI prototypes. - (lt_ptr): Keep backwards compatibility stub. - * libltdl/ltdl.c, libltdl/ltdl.h: Use ANSI function declarations - throughout. s/lt_ptr/void */g. - -2004-04-08 Fredrik Estreen - - * m4/ltdl.m4: Rename shrext to shrext_cmds here too. - -2004-04-06 Gary V. Vaughan - - There was no clean separation of abstraction layers in libltdl. - The first step in fixing this is to factor out the memory - management abstraction, making a start on removing promiscuity - from the underlying portability layer: - - * doc/libtool.texi (Libltdl interface): Remove lt_dlmalloc, - lt_dlrealloc and lt_dlfree references. The memory management - layer used by libltdl is now private. - * libltdl/lt_system.h: New installed header for system portability - abstraction. - * libltdl/ltdl.h: Use it. - * libltdl/lt__alloc.c, libltdl/lt__alloc.h: New module above - system portability layer to abstract ltdl's memory management. - * libltdl/ltdl.c: Use lt__alloc.h. - (closedir): Use free. - (opendir): Use malloc/free. - (lt__xalloc_die_callback): Report memory failures through - lt_dlerror. - (lt_dlinit): Use it to initialise memory management. - (LT_DLMALLOC, LT_DLREALLOC, LT_DLFREE, LT_EMALLOC, LT_EREALLOC) - (rpl_strdup, rpl_realloc, lt_estrdup, lt_emalloc, lt_erealloc): - Removed in favour of... - (lt__strdup, lt__memdup, MALLOC, REALLOC, FREE): ...these calls - from libltdl/lt__alloc.h. Changed all callers. - (rpl_argz_append, rpl_argz_create_sep, rpl_argz_insert): As part - of the portability layer, these functions no longer use libltdl - memory management API. - (free_vars): Factored out. - (LT_DLMEM_REASSIGN): While redoing memory handling, renamed... - * libltdl/lt__alloc.h (MEMREASSIGN): ...to this. - * libltdl/Makefile.am (AUTOMAKE_OPTIONS): Let automake track - dependencies automatically. - (pkgincludedir): Override from parent package's setting. - (pkginclude_HEADERS): Install lt_system.h. - (libltdl_la_SOURCES): Add new files. - * NEWS: Updated. - Reported by Dalibor Topic - -2004-04-01 Peter O'Gorman - - * ltmain.in: Remove an extra eval concat_cmds that some idiot added. - Fixes double eval on AIX, reported by Albert Chin and Uwe Moeller. - - * NEWS: Add a news item about xlc support that I forgot yesterday. - -2004-03-31 Peter O'Gorman - - * m4/libtool.m4, ltmain.in (darwin): Support IBM's xlc and xlc++. - -2004-03-31 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LANG_C_CONFIG): If $compiler is not set, then - don't call the macros that test it. - (_LT_LANG_CXX_CONFIG): Ditto. - (_LT_LANG_F77_CONFIG): Ditto. - (_LT_LANG_GCJ_CONFIG): Ditto. - (_LT_LANG_RC_CONFIG): Ditto. - -2004-03-30 Gary V. Vaughan - - * libtoolize.in (func_scan_files): sed BRE have no alternation, so - break LT_INIT matcher out. - (func_serial): Don't escape literal parens for grep BRE. - - * m4/libtool.m4 (LT_INIT): aclocal can't see AC_DEFUN_ONCE, so use - AC_DEFUN and m4_define. - * libtoolize.in (func_serial): No longer accept AC_DEFUN_ONCE... - (func_grep): ...so mere grep is sufficient again... - (EGREP): ...and this is no longer required. - -2004-03-29 Gary V. Vaughan - - * m4/libtool.m4: Use LT_INIT as #serial tag. - * libtoolize.in: Grok LT_INIT! Pass A[CM]_PROG_LIBTOOL to... - (func_serial_update): ...here, we now take an additional parameter - containing another regex to match ancient serialed files. - (func_serial): Accept AC_DEFUN_ONCE of the #serial tag... - (func_grep): ...which requires egrep... - (EGREP): ...substituted by config.status. - (func_scan_files): Set seen_libtool if LT_INIT goes by. - - * Makefile.am (pkgmacro_DATA): Install ltoptions.m4. - - * libltdl/Makefile.am (AM_CPPFLAGS): Also check $top_builddir for - config.h. - (ltdl.o): config.h is in $top_builddir. - -2004-03-24 Scott James Remnant - - * NEWS: Explain more fully why we no longer load libraries - with global symbol resolution. - * doc/libtool.texi (libtool script contents): Add missing - documentation for 'inherit_rpath' variable. - - * configure.ac: Catch errors during calls to AC_PROG_CXX, - AC_PROG_CXXCPP and AC_PROG_F77 before LT_INIT. Only set the - HAVE_CXX and HAVE_F77 conditions to true if an error didn't - occur (AC_PROG_CXX leaves CXX="g++" even if it didn't find one). - Set HAVE_GCJ and HAVE_RC to true correctly as well. - * m4/libtool.m4 (LT_PROG_GCJ): If AC_PROG_GCJ or AM_PROG_GCJ are - defined, expand to the definition of those instead of our own. - Define GCJ to '' instead of 'no' if not found. - (LT_PROG_RC) Define RC to '' instead of 'no' if not found. - (_LT_LANG_GCJ_CONFIG): Require LT_PROG_GCJ to be expanded first. - (_LT_LANG_RC_CONFIG): Require LT_PROG_RC to be expanded first. - - * libltdl/ltdl.c (sys_dl_open): Don't load libraries with global - symbol resolution. - * NEWS: Updated. - -2004-03-24 Albert Chin-A-Young - - * m4/libtool.m4: Add new variable, inherit_rpath, if the - RPATHs of the libraries being linked are inherited in - the output file. For systems with a linker exhibiting - this feature, programs/libraries must be relinked at - installation time. - - * m4/libtool.m4: When linking convenience libraries on Solaris - with the Sun C++ compiler, pass convenience libraries through - to the linker with -Qoption between allextract/defaultextract. - The Sun C++ compiler bundles -Qoption arguments so - convenience libraries are linked with defaultextract - otherwise. - * tagdemo/Makefile.am, tagdemo/main.cpp, tagdemo/conv.h, - tagdemo/conv.cpp: Augment tagdemo test to link a convenience - library with a libtool library. - - * ltmain.in: Piecewise linking doesn't work when the output - file is an absolute path, use the basename only instead. - - * ltmain.in: When a library is installed, dependent on a - convenience library, and it involves relinking, the object - files extracted from the convenience library are not removed - after the relink. This is a problem if you build as non-root, - install as root, then try to remove the build directory as - non-root; Clean up properly if relink fails; Change - "$realname"U to ${realname}T to be consistent. - -2004-03-24 Scott James Remnant - - * ltmain.in : Always add -L options to - $newlib_search_path instead of just in scan mode to ensure that - non-libtool libraries in user-specified directories can be found. - -2004-03-22 Scott James Remnant - - * m4/libtool.m4 (_LT_CONFIG): Remove unneeded else condition - code, now the support determination is done in m4. - (_LT_LANG): Correct comment, unexpected leak from keybuk-lt-tag.patch. - -2004-03-21 Scott James Remnant - - * libltdl/Makefile.am (libltdl_la_LDFLAGS): Increment CURRENT - and AGE of libltdl, warranted by the addition of lt_dlhandle_find() - since 1.5.2. - -2004-03-21 Scott James Remnant - - Further sweeping changes to the user interface to libtool from - `configure.ac' to allow users to better control the list of - supported languages. Three LT_INIT options 'no-lang', 'all-lang' - and 'auto-lang' (the default) control the initial list and others - may be added with LT_LANG. - - * m4/libtool.m4 (_LT_CONFIG): Renamed AC_LIBTOOL_CONFIG to _LT_CONFIG - which is more consistent with our own namespace and gets us further out - of Autoconf's. - (_LT_LIBTOOL_TAGS): Output available_tags variable based entirely - on the value of _LT_TAGS. - (_LT_COPYING): Call _LT_LIBTOOL_TAGS to output available tags, - always append tag configuration if the tag is available. - (LT_LANG): New macro to enable support for a language that accepts - tag names (eg. "CXX") or human language names (eg. "C++"). - (_LT_LANG): Internal support macro for above that appends the - tag to _LT_TAGS and calls the appropriate config macro. - (LT_INIT): Ensure that LT_LANG is not called before LT_INIT. - (AC_LIBTOOL_TAGS): Removed, call LT_LANG for each language now. - (_LT_AC_TAG_CHECK): Removed, _LT_LANG handles duplicate calls. - (_LT_LANG_DEFAULT_CONFIG): Macro to set initial language support - based on options passed to LT_INIT. - (_LT_SETUP): Call _LT_LANG_DEFAULT_CONFIG. - (_LT_AC_TAG_CONFIG): Removed, handled by _LT_LANG_DEFAULT_CONFIG. - (_LT_AC_LANG_CXX, _LT_AC_LANG_F77, _LT_AC_LANG_GCJ): Removed, - automatic language support inclusion now handled by - _LT_LANG_DEFAULT_CONFIG. - (AC_LIBTOOL_CXX): Obsolete macro, update to LT_LANG(C++). - (AC_LIBTOOL_F77): Obsolete macro, update to LT_LANG(Fortran 77). - (AC_LIBTOOL_GCJ): Obsolete macro, update to LT_LANG(Java). - (AC_LIBTOOL_LANG_C_CONFIG_: Removed. - (_LT_AC_LANG_C_CONFIG): Renamed to _LT_LANG_C_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (_LT_SETUP): Replace call to AC_LIBTOOL_LANG_C_CONFIG with call to - new _LT_LANG_C_CONFIG macro. - (AC_LIBTOOL_LANG_CXX_CONFIG): Removed. - (_LT_AC_LANG_CXX_CONFIG): Renamed to _LT_LANG_CXX_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (AC_LIBTOOL_LANG_F77_CONFIG): Removed. - (_LT_AC_LANG_F77_CONFIG): Renamed to _LT_LANG_F77_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (AC_LIBTOOL_LANG_GCJ_CONFIG): Removed. - (_LT_AC_LANG_GCJ_CONFIG): Renamed to _LT_LANG_GCJ_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (AC_LIBTOOL_LANG_RC_CONFIG): Removed. - (_LT_AC_LANG_RC_CONFIG): Renamed to _LT_LANG_RC_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (LT_AC_PROG_GCJ): Renamed to LT_PROG_GCJ. - (LT_AC_PROG_RC): Renamed to LT_PROG_RC. - * m4/ltoptions.m4: Define new 'no-lang', 'auto-lang' and 'all-lang' - options which set the default for _LT_LANG_DEFAULT_CONFIG. - * m4/lt~obsolete.m4: Removed AC_LIBTOOL_CONFIG, _LT_AC_LANG_C_CONFIG, - _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG; all of which are no - long referenced in any way. - * configure.ac: Enable all languages. - * tests/cdemo/configure.ac, tests/demo/configure,ac, - tests/depdemo/configure.ac, tests/f77demo/configure.ac, - tests/mdemo/configure.ac, tests/pdemo/configure,ac, - tests/tagdemo/configure.ac: Remove calls to AC_LIBTOOL_TAGS, - the default 'auto-lang' mode now does the right thing. - * doc/libtool.texi (The LT_INIT macro): Add documentation for - new LT_INIT options and the LT_LANG macro, replacing the old - documentation of AC_LIBTOOL_TAGS which is no more. - * NEWS: Updated. - -2004-03-17 Scott James Remnant - - * m4/libtool.m4: Removed AC_BEFORE references to AC_LIBTOOL_SETUP - which is no more. - * m4/lt~obsolete.m4: As AC_LIBTOOL_SETUP is no longer referenced, - it can be removed from this file. Remove _AC_PROG_LIBTOOL also. - -2004-03-14 Ralf Wildenhues - - * m4/libtool.m4: Remove newlines from lt_ld_extra, so - variable can safely be stored in config.cache. - -2004-03-14 Michael Pruett - - * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS0 [irix]: Define - archive_expsym_cmds so that --export-symbols will work. - -2004-03-11 Peter O'Gorman - - * ltmain.in (link_all_deplibs,darwin): Link libraries in the - correct order. Bug from Zachary Pincus . - -2004-03-14 Scott James Remnant - - * m4/ltmain.in: Only check precious_files_regex if it is not empty. - -2004-03-14 Gary V. Vaughan - - * doc/libtool.texi (Autoconf and LTLIBOBJS): The correct version - of Autoconf is 2.54. - From Alexandre Duret-Lutz - -2004-03-13 Gary V. Vaughan - - * doc/libtool.texi (Using Automake): Cite correct Automake version - for -dlopen quoting. - (Autoconf and LTLIBOBJS): Cite correct Autoconf versions - throughout. - (Distributing libltdl): Use AM_CPPFLAGS; INCLUDES is deprecated. - From Alexandre Duret-Lutz - -2004-03-05 David Edelsohn - - * m4/libtool.m4: Disable building static libraries if building - shared libraries on AIX 5L. - -2004-03-05 Gary V. Vaughan - - * libtoolize.in: Remove --ltdl-tar. It doesn't work with the - current implementation, and seems more or less pointless. - * doc/libtool.texi (Invoking libtoolize): Updated. - * NEWS: Updated. - - * doc/libtool.texi: This manual has not been maintained properly - for a number of years. Much of what it said was outdated, or - plain wrong with reference to modern autotools. This change - represents a first pass edit to clean up the obviously wrong. - -2004-03-02 Gary V. Vaughan - - * bootstrap: Prune out my arch mirror dir before running - amok through the tree with 'rm -rf'! - -2004-03-02 Patrick Welche - - * doc/libtool.texi (LT_INIT): Dumb typos fixed. - -2004-02-23 Gary V. Vaughan - - * ltmain.in : Add missing --help doc for - -inst-prefix option. - - * ltmain.in : Add missing --help doc for -shrext - option. - - * ltmain.in (IFS): Move '\n' to beginning of IFS so that emacs - doesn't offer to strip trailing ' \t' on every save. - - * ltmain.in: Add missing --help doc for --preserve-dup-deps. - -2004-02-22 Gary V. Vaughan - - * Makefile.maint (web-manual): Generate the web manual carefully - so that links will still work when it is uploaded to gnu.org. - * README-alpha: Note that this rule should be used at release - time. - -2004-02-20 Gary V. Vaughan - - Sweeping changes to the user interface to libtool from - `configure.ac' to be more like AC_INIT and accept a space - delimited list of options. Instead of calling `AC_LIBTOOL_DLOPEN; - AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])': - - * m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL) - (AC_LIBTOOL_SETUP): Removed. Added AU_DEFUNs. - (LT_INIT): Replace with an Autoconf like interface which accepts a - version number as a minimum required libtool release at configure - time. - * m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4, - which additionally flags an error if the configuring libtool - macros are not new enough according to LT_INIT. - (LT_OPTION_DEFINE): New macro to declare option handlers. - (dlopen, win32-dll, shared, disable-shared, static) - (disable-static, fast-install, disable-fast-install, pic-only) - (no-pic): Newly LT_OPTION_DEFINEd option handlers that use... - (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL) - (_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle - LT_LIBTOOL_INIT options... - * m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC) - (AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL): - ...to replace these user interface macros, now defined as - AU_DEFUNs. - (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): - Removed. No longer required with LT_INIT_LIBTOOL interface. - Added AU_DEFUNs. - (AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC) - (AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface. - (_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP. - * m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL) - (_LT_PROG_LTMAIN): More AC_DEFUNs that have been retracted. - * configure.ac: Use new interface. - * doc/libtool.texi: Document new interface. - * NEWS: Updated. - -2004-02-18 Gary V. Vaughan - - * commit (SHELL): Set it explicitly, incase some madman is using - tcsh as their login shell :-b - -2004-02-15 Scott James Remnant - - * Makefile.am (m4/ltversion.m4): Generate serial number by - removing initial '1.' from the revision, replace @MACRO_SERIAL@ - with this new variable. - * m4/ltversion.in: Use @MACRO_SERIAL@ for the serial number - as some shells don't like a '.' when using test. - - * m4/ltversion.in: Add a serial number to this file otherwise - libtoolize will refuse to copy it into $pkgdatadir, where it - is needed by m4/libtool.m4. - -2004-02-15 Peter O'Gorman - - * m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds. - -2004-02-13 Scott James Remnant - - * ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly - quote usage of $basename and $dirname to avoid (unlikely) path - expansion. - - * tests/sh.test: Test the config/ltmain.sh and libtoolize in the - build directory not the source directory, where they won't exist - during 'make distcheck'. - * ltmain.in: Revert one line of previous intendation clean-up - to enable one of the sh.test checks to pass. - - * tests/cdemo/configure.ac: Drop AC_PREREQ back to 2.54, this - was debris from Gary's cvsapply going mad and wasn't backed - out. - - * Makefile.am (pkgmacro_DATA): We have to distribute - m4/ltversion.m4 because it can be needed before the Makefile - that generates it exists. - -2004-02-13 Gary V. Vaughan - - * commit (MKSTAMP): Look for mkstamp in the right place. - -2004-02-12 Scott James Remnant - - * Makefile.maint, Makefile: Move rules intended for Libtool - maintainers only out of the Makefile we distribute and into one - that we only need keep in CVS. - * README-alpha: Add -fMakefile.maint to the instructions where - needed. - -2004-02-12 Albert Chin-A-Young - Scott James Remnant - - * ltmain.in: Fix typo: duplcations -> duplications, - Fix indentation of a handful of badly indented blocks, - Fix last remaining use of 'grep' to $GREP, - Remove unnecessary trailing slash where we break a line on a - command separator. - * m4/libtool.m4: Also remove unnecessary trailing slash where - we break a line on a command separator. - -2004-02-12 Scott James Remnant - - * m4/ltoptions.m4: This got committed by an over-keen Gary, - but the support for this isn't ready yet and if aclocal decides - to m4_include this (which it will) you'll get a non-functioning - libtool. Removed. - - * ltmain.in: Remove duplicated version checking block. - - * bootstrap, m4/libtool.m4: Argh, Gary went crazy after cvsapply - went crazy and backed out more than he should've. This patch puts - some of it back again. - - * ltmain.in, libtoolize.in, commit, config/mailnotify: Remove - $SED from definitions of $dirname and $basename and prefix each - use with it instead. Some shells (zsh) treat the expansion as - a single command instead of a command with arguments. - - * config/mailnotify (func_sendmail): Look for sendmail in a - couple of common non-PATH locations as well. - - * ltmain.in: Fix typo: macro's -> macros. - - * ltmain.in: Correct definition of basename sed expression to - not include single quotes. - -2004-02-12 Gary V. Vaughan - - * libtoolize.in: Use $progpath as for ltmain.in to work around the - IRIX bug described below. - * commit, config/mailnotify: Ditto. Resynch with cvs-utils HEAD. - -2004-02-12 Albert Chin-A-Young , - Gary V. Vaughan - - * ltmain.in (progpath): Work around backward compatibility issue - on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked - as "sh" and the current value of the _XPG environment variable is - not equal to 1 (one), the special positional parameter $0, within - a function call, is the name of the function. So, rather than - using "$0" in functions, we set $progpath in the body and use that - everywhere instead (incase of code refactoring later). - (EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity. - -2004-02-12 Gary V. Vaughan - - * Makefile.am (EXTRA_DIST): Remove config/mailnotify after all; it - is of no use in a distribution tarball. - -2004-02-11 Gary V. Vaughan - - * commit: Fix cut-n-paste error. - - * commit: Completely change CVS/Root->name sed script to actually - work when :ext: is not shown. - - * commit: Improve CVS/Root->name sed script to work when :ext: is - not shown. - -2004-02-11 Albert Chin-A-Young - - * m4/libtool.m4: Fix typo: testring -> teststring. - -2004-02-11 Gary V. Vaughan - - * commit: Mail a nicer commit notification. - -2004-02-10 Gary V. Vaughan - - * NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4: - * m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh. cvsapply just - went crazy and committed a bunch of stuff that shouldn't have been - in the last changeset. The patch backs it all out. - - * config/mailnotify: New file for mailing commit notifications, - imported from cvs-utils. - * commit: Updated from cvs-utils and tweaked for libtool. - * Makefile.am (EXTRA_DIST): Add config/mailnotify. - -2004-02-06 Gary V. Vaughan - - * bootstrap: Remove vcl.tmp, otherwise it can interfere with make. - * Makefile.am (vcl.tmp): Move comment out of multi-line command, - as this rule is called from bootstrap as if it were a Makefile. - - * m4/ltversion.in: New file to capture what version number macros - are being used. - * Makefile.am (m4/ltversion.m4): New rule to create it from - m4/ltversion.in. - (nodist_pkgmacro_DATA): Add m4/ltversion.m4. - (EXTRA_DIST): Add m4/ltversion.in. - * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION - from ltversion.m4. - * bootstrap: Call the Makefile.am to create an initial - m4/ltversion.m4. - * ltmain.in: Diagnose version mismatches of various flavours. - * TODO: Remove mismatch item. - * NEWS: Updated. - - * Makefile.am ($(top_builddir)/config.status): Removed. - * configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is - how automake-1.8 now informs all Makefiles when config.status - needs to be rebuilt. - Reported by Alexandre Duret-Lutz - - * configure.ac (AC_CONFIG_FILES): Generate libtoolize from here. - * Makefile.am (libtool, libtoolize): These rules are redundant. - Automake generates better rules for remaking these files. - - * m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with - beginning with LT_ and _LT_. - * configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed - to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the - unexpanded macros error. - - * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require - Autoconf 2.58, which ships this macro anyway. - - * Makefile.am: Comment typo. - - * m4/libtool.m4 (LT_PREREQ): Declare the minimum release number - that is required for the calling code. - * doc/libtool.texi (AC_PROG_LIBTOOL): Document it. - * NEWS: Updated. - -2004-02-05 Peter O'Gorman - - * ltmain.in (infer_tag, win32_libid): Style changes. Rename - infer_tag to func_infer_tag and win32_libid to func_win32_libid. - * m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid. - -2004-02-04 Peter O'Gorman - - * ltmain.in (infer_tag): Move tag inferrence to a shell function. - Also test $base_compile against $CC with escaped arguments. Bug - reported by Geoff Keating . - -2004-02-03 Scott James Remnant - - * Makefile.am (install-data-hook): Manually make config.guess - and config.sub executable after they are installed as _DATA. - We can't use _SCRIPTS because the various program name - transforms may be applied to them. - (dist_pkgdata_DATA): List config.guess and config.sub here - (pkgdata_SCRIPTS): instead of here. - -2003-02-03 Scott James Remnant - - * ltmain.in: Create temporary directory under a strict umask - rather than running chmod afterwards, preventing a race - condition where the directory could be replaced with a symbolic - link in the time between the two commands. - -2004-01-31 Peter O'Gorman - - * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to - `$echo, causes problems when builtin echo is broken. Reported - by Ralf Wildenhues . - -2004-01-27 Scott James Remnant - - This fixes release procedure problems discovered whilst making - the 1.5.2 release. - - * Makefile.am (cvs-dist): Because we check whether ChangeLog - has been committed, this rule can't be run with uncommitted - source so we can't run 'commit' and don't need to run - 'make dist' a second time. Fix CVS tag as it should be - "release-X" not "Release-X". - (cvs_commit): New rule for the cvs-release chain that runs - 'commit' - (cvs-release): Depend on cvs-commit, depend on deltas instead of - cvs-diff and xdelta. - (cvs-diff): Removed, replaced with delta-diff. - (delta-diff): Unpack and diff the old and new tarballs rather - than using CVS, so we get a genuinely complete diff. - (xdelta): Removed, replaced with delta-xdelta. - (got-xdelta): New rule for improved reading. - (delta-xdiff): Copied and cleaned up version of old xdelta rule. - (deltas): Depends on delta-diff and delta-xdelta (make deltas). - (cvs-news): Don't depend on timestamps, cvs-dist itself does now. - (prev-tarball): This is the only place we need a LASTRELEASE check - so copy the code here and remove the CHECK_RELEASE variable. - (new-tarball): Check there's a new tarball (did cvs-dist work?) - (FETCHFILES): Remove obsolete libltdl mentions. - * README-alpha: Update CVS instructions as everything's changed - on Savannah. - (Release procedure): Update NEWS and ChangeLog after changing - the version number (both times); Run 'make fetch' after running - 'configure' (difficult to do it beforehand); Require 'commit' - before 'make cvs-dist' as that checks ChangeLog is committed; - 'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE - to make instead of OLDVERSION (and it's mandatory); Clean up - uploading paragraph; Clearer announcement sending instruction; - Removed ftp-upload@gnu.org mail as that's not necessary now; - Make web page updating instructions a bit clearer; Add an instruction - to update the manual for non-alphas. - (Alpha release note template): Add a Subject; update CVS instructions. - (Full release note template): Add a Subject; update CVS instructions. - * configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk - about bz2 files in our release announcements; remove old reference - to OLDVERSION. - -2004-01-25 Scott James Remnant - - * NEWS: Include 1.5.2 release information. - -2004-01-22 Gary V. Vaughan - - This fixes a bug in the libtoolize ltdl source installation rules, - which were copying Makefile.in from the libtool tree into the - package running libtoolize. Now we explicitly list the files to - copy to force the package to generate its own Makefile.in: - - * libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES): - Add ltdl.h. - (ltdldatadir): New variable for installation directory of - libtoolize --ltdl files. - (ltdldata_DATA): Tell automake what files to copy there at install - time (and remove at unistall time!). - (local-install-files): Removed. This hack is not required - anymore, the automake generated install rules are much more - advanced than this. - * Makefile.am (install-data-hook, uninstall-local): Removed. - Libltdl files for libtoolize are installed by their own Makefile - now. - -2004-01-22 Jeff Squyres - - * m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers - (e.g. Intel Linux icc compiler) write temporary files to the current - directory. These compilers do support -c and -o simultaneously but - wrongly fail the test due to the failure to create temporary - files. It is incorrect to penalize compilers which write temporary - files to the current directory so the 'chmod -w .' is therefore - removed. - -2004-01-22 Gary V. Vaughan - - * m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP. - AIX has a brain-dead grep that only handles lines < 2048 - characters. Default GREP incase we are not using a future - autoconf that sets it for us :-) Changed all callers to use $GREP - instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP. - Declare GREP as a libtool config var. - * ltmain.in: Use it. - * tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by - tightening the regexp. - Reported by Albert Chin-A-Young - -2004-01-21 Nick Hudson - - * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove - gratuitous ${libname}${release}${shared_ext} from - library_names_spec. - -2004-01-21 Peter O'Gorman - - * m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the - reload_cmds to use $CC, otherwise ld will thin out any fat - objects. - -2004-01-18 Benjamin Reed - - * ltmain.in: Fix handling of frameworks in search paths. Also - a one-liner fix to eval shrext in the libtool library search. - -2004-01-16 Gary V. Vaughan - - * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or - else aclocal.m4 is huge, and m4 directory is not distributed. - - * configure.ac (AC_CONFIG_HEADERS): Create config.h in - $top_srcdir. - * m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if - necessary. Calculate filename from first argument to - AC_CONFIG_HEADERS, and substitute as CONFIG_H. - * libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in - $top_srcdir for headers. - (DEFS): Override the default HAVE_CONFIG_H with the config.h - filename. - (ltdl.lo): Reference config.h via $(CONFIG_H). - * libltdl/ltdl.c (HAVE_CONFIG_H): Ditto. - -2004-01-15 Scott James Remnant - - * m4/lt~obsolete.m4: Add a file containing aclocal-fooling - macro definitions which stop the contents of an installed - libtool.m4 ending up in our aclocal.m4 when we bootstrap. - * Makefile.am (pkgmacro_DATA): Note that we don't need to add - lt~obsolete.m4 to this list. - -2004-01-12 Gary V. Vaughan - - * m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it - only needs to be updated in one place. - (AC_LIBTOOL_CONFIG): Refactor to be more readable. Only add - tags if a compiler was found; ie if you have no gcj compiler, - don't tack the GCJ tag onto the generated libtool script. - -2004-01-13 Peter O'Gorman - - * m4/libtool.m4: Quote shrext as it is evaled in ltmain. - -2004-01-11 Scott James Remnant - - * ltmain.in: new -precious-files-regex link mode option - to prevent removal of matching files from the temporary - output directory. - (Debian Bug #221420) - * doc/libtool.texi: document the new option. - * NEWS: announce the new option. - -2004-01-11 Gary V. Vaughan - - * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy. - Now the test can actually succeed sometimes. - -2004-01-09 Gary V. Vaughan - - * libtoolize.in: Break out of the command argument parse loop when - -- is encountered. - -2004-01-08 Gary V. Vaughan - - * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep - tests/sh.test happy. - -2004-01-07 Gary V. Vaughan - - * Makefile.am (aclocal_macros, aclocal_DATA): Removed. - (EXTRA_DIST): Remove m4 macro files; they are automatically - added by automake. - (pkgmacrodir): Where to install libtool macro files. - (pkgmacro_DATA): List installable libtool macro files. - (install-data-local): Remove previous versions of ltdl.m4 and - libtool.m4 from their old location. - * libtoolize.in: Use new pkgmacrodir installed macros when - libtoolizing a project. Treat libtool.m4 and ltdl.m4 specially, - and func_serial_update() any other files from pkgmacrodir. - (pkgmacrodir): Where to find installed libtool macro files. - (aclocaldir): Removed. - (func_copy_all_files): Add an optional callback parameter to - control how files are copied. If the callback is passed, don't - tell it whether it can copy or not. - (func_serial): Exchange parameters and make macro_regex optional, - so that this function can be used to extract serial numbers from - files with the traditional /^# serial [1-9][0-9]*$/ syntax. - Changed all callers. - (func_serial_update): Make macro_regex optional last parameter, so - that this function can be used as a callback for - func_copy_all_files(). Changed all callers. - * m4/ltsugar.m4: Add a serial number. - -2004-01-07 Gary V. Vaughan - - A complete rewrite of the m4 code involved in the generation of - libtool via config.status. The old way involved manually - synchronising disparate bits of shell code in several macros, to - quote a copy of a shell variable, put that in config.status, maybe - add it to some quotation loops to prevent early expansion, and - then add a block to _LT_CONFIG_COMMANDS to bring it into the - libtool script. The new way is to mark shell variables for - propogation using _LT_DECL for language independent variables, or - _LT_TAGDECL for those that need to be propogated in several - language flavours. The marking can be done in the macro that - probes the variables, and this new m4 machinery takes care of - synchronising all the other bits of code at autoconf time: - - * m4/ltsugar.m4: New file. Macros that are useful outside the - context of libtool. Initially, contains some generalised list - management macros, and the scaffolding for dictionary type data - storage and retrieval. - * Makefile.am (aclocal_macros): Install ltsugar.m4. - * m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to - the libtool script, along with a comment, and hints for quoting - and renaming. - (_LT_TAGDECL): Similarly mark a tagged shell variable for export - in each tag. - (lt_decl_tag_varnames, lt_decl_quote_varnames) - (lt_decl_dquote_varnames, lt_decl_varnames_tagged) - (lt_decl_all_varnames): New utility macros for managing lists of - shell variable names from _LT_DECL and _LT_TAGDECL. - (_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE): - Expand to correctly quoted variable declarations in config.status - from all marked shell variables. - (_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable - declaration for libtool tag section. - (_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked - variables to _LT_LIBTOOL_DECLARE. - (_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and - friends to generate all the variable passing shell code for - config.status, to get marked variables from libtool.m4 into - libtool itself eventually. - (AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag - configuration. Changed all client macros to mark variables - suitably rather than the hand pasting that was necessary - previously. - (AC_PROG_SED): Renamed from LT_AC_PROG_SED. - (LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for - propogation to the libtool script. - -2004-01-07 Gary V. Vaughan - - * libtoolize.in (seen_gettext): Removed unused variable. - -2004-01-06 Gary V. Vaughan - - * libtoolize.in (func_scan_files): Don't assume the existence of - aclocal.m4. Make the comment more descriptive. - Reported by Alexandre Duret-Lutz - - * NEWS: Note libtoolize changes. - - * ChangeLog.2003: New file, containing all the ChangeLog entries - from 2003. Trimmed ChangeLog accordingly. - - * ltmain.in: Output 2004 in the copyright from libtool --version. - -2004-01-03 Stefan Nordhausen - Scott James Remnant - - * ltmain.in: Don't use the mkdir -p option when creating a - temporary output directory so a symlink attack can't be used to - arbitrarily chmod other directories on the system if libtool - gets run as root. - -2004-01-02 Peter O'Gorman - - * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped. - - * m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it - allows for zsh differences, as noted in the autoconf manual's - Portable Shell - Special Shell Variables section. - -2004-01-02 Scott James Remnant - - * .cvsignore: Ignore stamp-vcl created by the Makefile. - -2004-01-02 Bob Friesenhahn - Joe Orton - - * m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash - in front of all the inner double-quotes as this is removed - on Solaris, IRIX and AIX leading to broken definitions - in config.status. - -2004-01-02 Scott James Remnant - - * NEWS: Next release will be in 2004. - -2003-12-31 Scott James Remnant - - * ltmain.sh: Infer tagged configuration for link mode with the - full compiler arguments available rather than only the first. - -2003-12-31 Alexandre Duret-Lutz - - * ltmain.sh: Quote $exec_cmd before it is eval'ed, so that - libtool --mode=execute echo '4 * 5' does not expand the `*'. - -2003-11-28 Peter O'Gorman - - * m4/libtool.m4: Move things around so that "setopt NO_GLOB_SUBST" - to make zsh behave wrt \ escapes happens early in config.status. - -2003-11-27 Gary V. Vaughan - - * libltdl/configure.ac: Removed. - * configure.ac (AC_CONFIG_HEADERS): Merged from - libltdl/configure.ac. - (AC_LIB_LTDL): Ditto. - (AC_CONFIG_FILES): Add libltdl/Makefile. - (AC_CONFIG_SUBDIRS): Removed. - (AC_CONFIG_COMMANDS): Remove generation of libltdl/ltmain.sh. - * libltdl/Makefile.am (libtool): Removed references, since we now - share $(top_builddir)/libtool. - * NEWS: Updated. - -2003-11-26 Gary V. Vaughan - - * Makefile.am (vcl.tmp): Be careful of VPATH builds. - - * Makefile.am (EXTRA_DIST): Add stamp-vcl, or we go back to a - double configure run from a distributed tarball :-? - -2003-11-26 Gary V. Vaughan - - Okay, the problem I am trying to solve is that when a change (say, - bumping the version to 1.6 for the next release) is committed, the - timestamp in ChangeLog is updated, but ltmain.sh and libtoolize - inherit the pre-commit build number from config.status. This - delta notes the change in build number in the unstamped ChangeLog - and forces a rerun of configure etc. to roll a new ltmain.sh with - the correct TIMESTAMP: - - * Makefile.am (stamp-vcl): We actually need a new config.status to - force the correct timestamp into libtoolize and ltmain.sh, - rerunning autoconf has no effect at all if configure.ac hasn't - changed. - -2003-11-26 Gary V. Vaughan - - * Makefile.am (stamp-vcl): New rules to force libtool and - libtoolize scripts to update when the TIMESTAMP changes in - ChangeLog, but the file modification time doesn't (e.g in cvs - commit). Otherwise we'll carry on releasing tarballs with the - wrong version numbers in the tools! - - * config/mkstamp: Change output format to ` $rev $date'. - * configure.ac: Make the banner more like suggestions in - http://www.gnu.org/prep/standards_toc.html Section 4.6. - * libtoolize.in: Make --version output conform to the GNU - standard. - * ltmain.in: Ditto. And tweak the generated file headers to - match. - -2003-11-25 Gary V. Vaughan - - * Makefile.am (config.status): Removed. Rebuilding config.status - isn't enough, because the TIMESTAMP in configure is still out - of date. - (configure): We actually need a new configure to force the - correct timestamp into ltmain.sh. - - * Makefile.am (config/ltmain.sh): Removed. Rebuilding ltmain.sh - isn't enough, because the TIMESTAMP in config.status is still out - of date. - (config.status): We actually need a new config.status to force the - correct timestamp into ltmain.sh. - - * Makefile.am (config/ltmain.sh): Note the dependency on the - timestamp in ChangeLog so we don't ship libtools that report the - wrong version number :-/ - - * bootstrap: Explain automake and autoconf version dependencies - truthfully, and the difference between bootstrap and user - dependencies. - * configure.ac (AM_INIT_AUTOMAKE): List AUTOMAKE_OPTIONS here. - * Makefile.am, doc/Makefile.am, tests/Makefile.am - (AUTOMAKE_OPTIONS): Removed from here. - -2003-11-24 Gary V. Vaughan - - * tests/defs (func_configure): cdemo, demo and mdemo are shows - signs of indeterminacy for some users. Be more verbose during - failure to help track down the cause. - -2003-11-22 Peter O'Gorman - - * ltmain.in: Check for module_cmds if max_cmd_len is exceeded too. - - * ltmain.in: Move eval to after command separation to allow ~ in paths. - - * tests/demo-hardcode.test: Call ./libtool not libtool. - - * ltmain.in: Test $old_striplib before using it, not $striplib. - -2003-11-22 Gary V. Vaughan - - * configure.ac (LASTRELEASE): Calculate it as best as we can from - AC_PACKAGE_VERSION. - * Makefile.am (distdir): Remove dependency on timestamps so that - it is possible to roll a dist without contacting the cvs server. - Use `make cvs-release' for that. - (cvs-news): Extracted from cvs-dist. - (cvs-dist): Depend on cvs-news. - (CHECK_LASTRELEASE): Check LASTRELEASE has been set. - (prev-tarball): New rule. Use LASTRELEASE to make sure the - previous release tarball is present. - (cvs-diff): Use CHECK_LASTRELEASE. - (xdelta): Ditto. - (cvs-release): Depend on prev-tarball, timestamps, cvs-news and - fetch. Provided you set LASTRELEASE appropriately, making a full - cvs release is just a matter of `make cvs-release', and submitting - the files to ftp-upload. - -2003-11-19 Gary V. Vaughan - - * m4/libtool.m4 (_LT_PROG_LTMAIN): Ensure config.status has a - value for `ac_aux_dir' when automake is not used. - Reported by Patrick Welche . - - * configure.ac (AC_PREREQ): AS_HELP_STRING was introduced after - autoconf-2.57 was released. - -2003-11-18 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dlhandle_find): New function to find a handle - by module name. - * libltdl/ltdl.h (lt_dlhandle_find): Declare it. - * doc/libtool.texi (User defined module data): Document it. - * NEWS: Updated. - -2003-11-17 Gary V. Vaughan - - * m4/libtool.m4 (AC_LIBTOOL_SETUP): Uncomment call to - _LT_CONFIG_COMMANDS. - (_LT_AC_TAG_CONFIG, AC_LIBTOOL_CONFIG): Accumulate tag generation - for `config.status' using _LT_CONFIG_SAVE_COMMANDS. Remove - AC_MSG_NOTICE noise now that libtool is generated by a single - config.status tag. - * Makefile.am (libtool): Specify CONFIG_COMMANDS properly now that - libtool is generated in one pass. - - * configure.ac (CONF_SUBDIRS): Make these relative to - tests/Makefile.am. - (DIST_MAKEFILE_LIST): Adjust to compensate for having removed the - `tests/' part in CONF_SUBDIRS. - * tests/Makefile.am (DIST_SUBDIRS): Distribute these directories. - (SUBDIRS): Set to `.', a NOP, to workaround an automake bug which - ignores DIST_SUBDIRS unless SUBDIRS is also set. - * Makefile.am (DIST_SUBDIRS): Don't try to distribute the tests - subdirectories from here, since the recursive automake dist rule - only works with direct child directories. Defer to - tests/Makefile.am in this case. - -2003-11-15 Scott James Remnant - - * ltmain.in: In compile mode, delay parsing of -shared, -static, - -prefer-pic and -prefer-non-pic until after tagged configuration - has been read. In link mode, read tagged configuration before - parsing any arguments. These arguments will now work when using - a non-C compiler. - -2003-11-14 Gary V. Vaughan - - * NEWS: Mention AC_LIBTOOL_TAGS. - - * Makefile.am (EXTRA_DIST): List ChangeLog files correctly. - - * tests/cdemo/configure.ac, tests/demo/configure.ac, - tests/depdemo/configure.ac, tests/f77demo/configure.ac, - tests/mdemo/configure.ac, tests/mdemo2/configure.ac, - tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Declare just - the tags we need using AC_LIBTOOL_TAGS, reducing the size of the - configure script by 50% in most cases. - -2003-11-14 Marius Vollmer - - * doc/libtool.texi (Libltdl interface): libltdl does in fact load - dependency libs for lt_dlopen()ed modules. - -2003-11-14 Gary V. Vaughan - - Run our configure.ac files through Autoconf 2.59's autoupdate, and - then tweak the results by hand: - - * m4/libtool.m4 (AC_PROG_LD): In common with all the other - AC_PROG_ macros, AC_SUBST the discovered LD. - (AC_PROG_NM): Similarly for NM. - (LT_AC_PROG_SED): Similarly for SED. - * configure.ac: No need to SUBST NM and LD manually any more. - (AC_PREREQ): Conservatively downgrade from 2.59 to 2.54. - * tests/cdemo/configure.ac, tests/demo/configure.ac, - tests/depdemo/configure.ac, tests/f77demo/configure.ac, - tests/mdemo/configure.ac, tests/mdemo2/configure.ac, - tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Ditto. - * m4/libtool.m4 (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, - AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC, - AM_PROG_LD, AM_PROG_NM): AU_DEFUN these macros so autoupdate can - use the newer definitions. - -2003-11-12 Gary V. Vaughan - - The rules for uploading releases to gnu.org have been updated, and - are in fact now rather complicated. This delta updates the - release instructions to the describe the new process, and updates - the maintainer rules to help automate many of the steps: - - * README-alpha: Updated release instructions. - * Makefile.am (GPG): Name of the program for generating signatures - for files to be uploaded. - (XDELTA, XDELTA_OPTIONS): Invocation of xdelta. - (cvs-dist): Run distcheck before tagging the cvs tree incase - distcheck fails, and then generate the gpg signature files. - (cvs-diff): Generate the gpg signature files for the diff. - (xdelta): New rule for generating the xdelta diffs and associated - gpg signature files. - (cvs-release): New rule to do all of the above, if you don't mind - typing your gpg passphrase over and over again. :-) - (fetch): New rule inspired by automakes similar rule for updating - files maintained outside the project. - * config/config.guess, config/config.sub: Updated with the new - fetch rule. - -2003-11-11 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dlinit): Save a function call for each loader - added to the list, in exchange for appending loaders to the list - with O(N) rather than O(1). The longest the loader list can ever - get is 4 (on cygwin with dld installed) so it probably constitutes - a small speedup, in addition to making the code much more readable. - - * m4/libtool.m4 (AC_LIBTOOL_SETUP): Don't define the value for - ltmain unconditionally. - (_LT_PROG_LTMAIN): New macro to ensure that the - shell variable `ltmain' actually points at a suitable `ltmain.sh'. - (_AC_PROG_LIBTOOL): Require it. - (AC_LIBTOOL_CONFIG, _LT_AC_TAG_CONFIG): Invoke it. - * Makefile.am (libtool): ltmain.sh is in the build tree. - * libltdl/configure.ac: Ditto. - -2003-11-10 Scott James Remnant - - * ltmain.in: Add -pthread and similar to $deplibs ($compile_deplibs - and $finalize_deplibs for programs) when found on the command line - or in a .la file's dependency_libs (but don't place them there) so - they are honoured when linking both programs and libraries. - -2003-11-10 Scott James Remnant - - * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [linux]: Include - directories found in /etc/ld.so.conf in sys_lib_dlsearch_path_spec. - -2003-11-09 Peter O'Gorman - - * ltmain.in (linkalldeplibs,darwin): Fix a bug reported by Idar - Tollefsen where a dir could be added to the link line with no '-L' - on darwin. - -2003-11-07 Gary V. Vaughan - - * tests/cdemo/configure.ac, tests/demo/configure.ac, - tests/depdemo/configure.ac, tests/f77demo/configure.ac, - tests/mdemo/configure.ac, tests/mdemo2/configure.ac, - tests/pdemo/configure.ac, tests/tagdemo/configure.ac: - s/AM_PROG_LIBTOOL/AC_PROG_LIBTOOL/. Marching boldly into the 21th - century :-$ - - * m4/libtool.m4 (AC_LIBTOOL_TAGS, AC_ENABLE_SHARED, - AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, - AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AM_PROG_LIBTOOL, - AM_ENABLE_SHARED, AM_ENABLE_STATIC, AM_DISABLE_SHARED, - AM_DISABLE_STATIC): These macros must be AC_DEFUNed after all, - otherwise aclocal can't find them when it tries to construct - `aclocal.m4'. - - * Makefile.am (install-data-local): Wipe out old installation - pkgdatadir before installing new files. - * NEWS: Updated. - - * libtoolize.in (func_scan_files): If libtoolize is run before - automake has created install-sh and configure.ac does not mention - AC_CONFIG_AUX_DIR, fall back to the current directory for auxdir. - -2003-11-07 Robert Millan - - * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD) [GNU/KNetBSD]: Detect - inter-library dependencies. - -2003-11-06 Gary V. Vaughan - - * m4/libtool.m4 (_LT_AC_FILE_LTDLL_C): Removed; no longer in use. - - * m4/libtool.m4: s/ifelse(/m4_if(/g - (_LT_AC_SYS_LIBPATH_AIX, _LT_AC_SHELL_INIT, - _LT_AC_PROG_ECHO_BACKSLASH, AC_LIBTOOL_LINKER_OPTION, - AC_LIBTOOL_TAGS, _LT_AC_TAG_CHECK, _LT_AC_TAG_CONFIG, - AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, - AC_DISABLE_STATIC, AC_ENABLE_FAST_INSTALL, - AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_C_CONFIG, - _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG, - _LT_AC_TAGVAR, AM_PROG_LIBTOOL, AM_ENABLE_SHARED, - AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC): Use - m4_define instead of AC_DEFUN for internal macros that do not - AC_PROVIDE or AC_REQUIRE, and documented user macros that cannot - be AC_REQUIREd because they need arguments, or because that would - violate the documented API. - - * m4/libtool.m4 (AC_LIBTOOL_SETUP): Add a new - delay_single_quote_subst sed script to quote single quotes in - variables that are copied to `config.status'. - (_LT_CONFIG_STATUS_DECLARE): New macro to apply - delay_single_quote_subst to a named variable. - (AC_LIBTOOL_CONFIG): Use _LT_CONFIG_STATUS_DECLARE to declare all - `configure' variables that are copied to `config.status'. - (AC_LIBTOOL_PROG_COMPILER_PIC): Fix a quoting bug exposed by - _LT_CONFIG_STATUS_DECLARE using the null quadrigraph in the - rvalues of lt_prog_compiler_pic. - -2003-11-06 Owen Taylor - - * m4/libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Recognise the - 'R' symbol type so read-only symbols can be exported when combining - GCC and Solaris LD. - -2003-11-06 James Henstridge , - Scott James Remnant - - * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [Linux]: Fix the - -export-symbols and -export-symbols-regex options. - -2003-11-06 Scott James Remnant - - * tests/demo-nopic.test: Skip test on hppa, which don't like - non-PIC shared libraries. - -2003-11-06 Charles Wilson - - * tests/depdemo/configure.ac, tests/mdemo/configure.ac, - tests/mdemo2/configure.ac: process 'libtool --features' - from Makefile, not configure -- because libtool doesn't - exist at configure time. - - * ltmain.in (find_executable, check_executable) [cygwin*, mingw*]: - binary wrapper used with uninstalled executables breaks when - invoked via execlp/execvp (that is, via $PATH). Handle that case. - (fnqualify): Subsumed into find_executable. - - * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin*, mingw*]: - when extracting symbols from an import lib (occurs if - --enable-shared --disable-static), the output of - $global_symbol_pipe is not the same as when extracting from a - static library (the default case). Add extra filters to - $export_symbols_cmds to process this sort of output in addition to - 'normal' static-lib output. - * NEWS: Updated. - -2003-11-06 Charles Wilson , - Gary V. Vaughan - - * libltdl/ltdl.c (LT_USE_POSIX_DIRENT): Factored out. - (LT_USE_WINDOWS_DIRENT_EMULATION): Move to after include "ltdl.h", - as they are affected by __WINDOWS__ definition. - (LT_READTEXT_MODE): Use textmode to read .la files. - (lt_dlinit): Use LoadLibrary loader as a fallback on cygwin. - -2003-11-06 Gary V. Vaughan - - * libltdl/ltdl.h (__WINDOWS__): Define this if _WIN32 or WIN32 are - defined, unless __CYGWIN__ or __CYGWIN32__ are defined. - (LT_SCOPE): Now set without reference to __CYGWIN__ definition, - since __WINDOWS__ now implies !__CYGWIN__ after canonicalisation. - (LT_PARAMS, lt_ptr): Use canonicalised __WINDOWS__ to determine - which values to set these macros to. - -2003-11-05 Gary V. Vaughan - - * README-alpha: Mention autotools-announce@gnu.org, and update release - note templates. - -2003-11-01 Scott James Remnant - - * ltmain.in: When relinking, place the -L parameter containing - the installation prefix directory after the intended destination, - so we don't accidentally link against an older installed library. - -2003-11-01 Peter O'Gorman - - * tests/mdemo2/Makefile.am: Let mdemo2 find ltdl.h again. - -2003-10-30 Peter O'Gorman - - * m4/libtool.m4 (Darwin): Fix stupidities for darwin tags support. - Makes it work again if AC_LIBTOOL_TAGS is specified in configure.ac. - Bug reported by Joe Orton and Christian Schaffner. - -2003-10-21 Gary V. Vaughan - - Start to eliminate the double run of configure in a fresh CVS - checkout by generating ltmain.sh, using that to create libtool, - and then adding the tags to that, all from config.status. - - * configure.ac (AC_CONFIG_FILES): Make config/ltmain.sh, and copy - it to libltdl. - * Makefile.am ($(srcdir)/config/ltmain.sh): This file is now - created by config.status. Adjust this rule. - (libtoolize): Set CONFIG_COMMANDS to empty to prevent regenerating - the libtool script as a side effect of running this rule. - * libtool.m4: Bump serial number. Fix comment typos. - (_LT_CONFIG_LIBTOOL_INIT, _LT_CONFIG_LIBTOOL, - _LT_CONFIG_SAVE_COMMANDS, _LT_CONFIG_COMMANDS: New macros. They - don't work for some reason - the variable value quoting in the - init section is all wrong. Not used at the moment. - (AC_LIBTOOL_CONFIG): Generate libtool from config.status. - (_LT_AC_TAG_CONFIG): Add the tags in config.status. - (compiler_DEFAULT): Save the compiler value for the DEFAULT tag, - or it gets overwritten by the other macros. - (EOF): Globally replace with _LT_EOF to avoid namespace pollution. - * tests/demo/configure.ac (STATIC): Check $enable_static instead - of running ./libtool which doesn't exist yet. - (BINARY_HELLDL): Check $lt_cv_sys_global_symbol_pipe with case - instead of grepping ./libtool which doesn't exist yet. - * tests/pdemo/configure.ac (STATIC, BINARY_HELLDL): Ditto. - * doc/libtool.texi (AC_PROG_LIBTOOL): Add some notes about trying - to get config details from `libtool --config'. - * NEWS: Updated. - -2003-10-21 Gary V. Vaughan - - * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... - * ChangeLog, ChangeLog.2002, ChangeLog.2001, ChangeLog.2000, - ChangeLog.1999, ChangeLog.1998, ChangeLog.1997, ChangeLog.1996: - ...into entries by year for easier copyright confirmation. - - * configure.ac, libltdl/configure.ac, tests/cdemo/configure.ac, - tests/demo/configure.ac, tests/depdemo/configure.ac, - tests/f77demo/configure.ac, tests/mdemo/configure.ac, - tests/mdemo2/configure.ac, tests/pdemo/configure.ac, - tests/tagdemo/configure.ac (AM_INIT_AUTOMAKE): Remove redundant - arguments. - * libltdl/configure.ac: Use quadrigraphs to escape macronames. - - * bootstrap (reconfdirs): Same as yesterday, only with portable - bourne shell syntax. :-/ - -2003-10-20 Gary V. Vaughan - - * bootstrap (reconfdirs): Overridable top dirs for bootstrap, for - those times when you don't want to wait for all of the test - directories to be rebootstrapped! - -2003-10-19 Kevin P. Fleming - Charles Wilson - - * ltmain.in: include --tag options, if specified, in the - relink_command in uninstalled .la files. Also, preserve --silent, - --debug options when libtool re-execs itself. - * NEWS: Updated. - -2003-10-19 Charles Wilson - - * libtoolize.in: protect sed expression against - AC_CONFIG_AUX_DIR_DEFAULT. - -2003-10-16 Bob Friesenhahn - - * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): For MinGW, reverted DLL - check method back to a working objdump-based test. This is not as - concrete a test as using the 'file' command, but it does not - require that the 'file' command be available. - -2003-10-15 Bob Friesenhahn - - * doc/libtool.texi (AC_LIBTOOL_TAGS): Incorporate documentation - for AC_LIBTOOL_TAGS macro to specifify libtool tags. The now - defunct --with-tags option was never documented. - -2003-10-15 Albert Chin-A-Young - - * m4/libtool.m4: Restrict the list of tags that can be created - with a new AC_LIBTOOL_TAGS([tag1 tag2 ...]) macro. Deprecate - --with-tags. - -2003-10-15 Gary V. Vaughan - - * libtoolize.in: Typo when copying config.sub. - From Patrick Welche - - * demo/Makefile.am (libhell0_a_SOURCES): Do not name sources - already built with libtool... - (libhell0_a_LIBADD): ...instead name the objects directly. This - prevents a long standing warning from automake 1.7+. - * pdemo/Makefile.am (libhell0_a_SOURCES, libhell0_a_LIBADD): - Ditto. - - * bootstrap: Make the fake files valid shell scripts with a - comment incase they get left around. - (LIBTOOLIZE): Use a dummy script to prevent the installed - `libtoolize' from trashing the distributed libtool.m4, - config.guess and config.sub. - - * configure.ac (AC_CONFIG_TESTDIR, AC_CONFIG_TESTFILES): Comment - this out for now, the autotest testsuite rewrite is not ready - yet. - - * tests/cdemo/Makefile.am, tests/demo/Makefile.am, - tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, - tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, - tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (top_distdir): - Removed. `autoreconf' needs literals in ACLOCAL_AMFLAGS. - -2003-10-14 Gary V. Vaughan - - * libtoolize.in (func_mkdir_p): Synch with tests/defs; if there - are no more directories in the stack, break out of the loop. - - * tests/Makefile.am (COMMON_TESTS): Remove pdemo-unst.test, which - isn't a real test. - -2003-10-14 Gary V. Vaughan - - Refactor all the test case common code into shell functions in - tests/defs, and move the various demo directories out of - $top_srcdir, and into tests too. The refactoring showed up a - number of inconsistencies and latent bugs, as well as fixing (I - think!!) the long-standing annoyance with some of the tests giving - spurious failures intermittently. While I was here, emacs kindly - removed a lot of bogus whitespace and added copyright notices for - us: - - * cdemo, demo, depdemo, f77demo, mdemo, mdemo2, pdemo, tagdemo: - Moved from here... - * tests/cdemo, tests/demo, tests/depdemo, tests/f77demo, - tests/mdemo, tests/mdemo2, tests/pdemo, tests/tagdemo: ...to - here. - * tests/defs: Factor much common functionality from the test - scripts into shell functions. Added a copyright notice. - * tests/assign.test, tests/cdemo-conf.test, tests/cdemo-exec.test, - tests/cdemo-make.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/demo-conf.test, - tests/demo-deplibs.test, tests/demo-exec.test, - tests/demo-inst.test, tests/demo-make.test, - tests/demo-nofast.test, tests/demo-nopic.test, - tests/demo-pic.test, tests/demo-shared.test, - tests/demo-static.test, tests/demo-unst.test, - tests/depdemo-conf.test, tests/depdemo-exec.test, - tests/depdemo-inst.test, tests/depdemo-make.test, - tests/depdemo-nofast.test, tests/depdemo-shared.test, - tests/depdemo-static.test, tests/depdemo-unst.test, - tests/f77demo-conf.test, tests/f77demo-exec.test, - tests/f77demo-make.test, tests/f77demo-shared.test, - tests/f77demo-static.test, tests/link-2.test, tests/link.test, - tests/mdemo-conf.test, tests/mdemo-exec.test, - tests/mdemo-inst.test, tests/mdemo-make.test, - tests/mdemo-shared.test, tests/mdemo-static.test, - tests/mdemo-unst.test, tests/mdemo2-conf.test, - tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, - tests/pdemo-conf.test, tests/pdemo-exec.test, - tests/pdemo-inst.test, tests/pdemo-make.test, - tests/pdemo-unst.test, tests/quote.test, tests/sh.test, - tests/suffix.test, tests/tagdemo-conf.test, - tests/tagdemo-exec.test, tests/tagdemo-make.test, - tests/tagdemo-shared.test, tests/tagdemo-static.test: Refactored - to use new functions in tests/defs. Added a copyright notice. - * tests/hardcode.test, noinst-link.test, - tests/relink.test, tests/relink.test, - tests/mdryrun.test: Ditto. Moved from here... - * tests/demo-hardcode.test, demo-noinst-link.test, - tests/demo-relink.test, tests/depdemo-relink.test, - tests/mdemo-dryrun.test: ...to here respectively. - * Makefile.am: Added a copyright notice. - * tests/sh.test: Check libtoolize.in for non-portabilities too. - * libtoolize.in: Fix non-portabilities found by tests/sh.test. - -2003-10-12 Peter O'Gorman - - * m4/libtool.m4: Speed up max_cmd_len check. - -2003-10-08 Gary V. Vaughan - - * libtoolize.in: AC_CONFIG_M4_DIR has landed in CVS autoconf. - Only it's called AC_CONFIG_MACRO_DIR. Search and replace. - Grumble. ;-) - -2003-10-08 Scott James Remnant - - * libltdl/ltdl.c (lt_dlerror): change return value when - no error has occured to NULL to match documentation. - (Debian Bug #157229) - -2003-10-07 Gary V. Vaughan - - * ltmain.in: Don't suppress output of PIC mode compile if - -no-suppress option is given. - * doc/libtool.texi (Invoking libtool): Document it. - * NEWS: Updated. - -2003-10-07 Marcus Comstedt - - * m4/libtool.m4 [amigaos-ppc, amigaos-m68k]: Differentiate between - amigaos on ppc and m68k. - * NEWS: Updated. - -2003-10-07 Ralph Schleicher - - * ltmain.in: Do not create `.o' objects when `-shared' is - specified in compile mode. - Do not make a static library when `-shared' is specified in link - mode. - * doc/libtool.texi (Compile mode): Document it. - * NEWS: Updated. - - * doc/libtool.texi (Compile mode): Be more specific about the - effect of `-static'. - * ltmain.in: Do not create `.lo' objects when `-static' is - specified. - * NEWS: Updated. - -2003-10-07 Gary V. Vaughan - - * doc/libtool.texi (Invoking libtool): Updated. - * ltmain.in: Add missing clean and finish modes to the shorthand - options. - - * ltmain.in: Typo in the --mode shorthand. - -2003-10-07 Scott James Remnant - - * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Remove dead code - for platforms that have been using pass_all for some time now. - -2003-10-07 Gary V. Vaughan - - * libtoolize.in: Completely rewritten. - * Makefile.am (AUTOMAKE_OPTIONS): Reduced to 1.7. The 1.8 - requirement just made the distribution much smaller due to - m4_includes. 1.7 will bootstrap libtool just fine. - * NEWS: Updated. - -2003-10-05 Peter O'Gorman , - Gary V. Vaughan - - * ltmain.in: Remove inferrence of mode, add shorthand for mode - choice. - - * ltmain.in: Specifying -allow-undefined is now an error. - -2003-09-29 Scott James Remnant - - * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for linux* - solving many build problems on ARM, and hopefully preventing any - future ones. - (Debian Bug #191133 and #190569) - -2003-09-29 Bob Friesenhahn , - Dalibor Topic - - * libltdl/ltdl.c: Only include malloc.h if stdlib.h can not be - found. - -2003-09-26 Alfred M. Szmidt - - * mdemo2/Makefile.am (INCLUDES): Include `$(top_srcdir)/../libltdl' - instead of `../libltdl'. - -2003-09-24 Gary V. Vaughan - - * bootstrap: Rewritten to use autoreconf. - * config.guess, config.sub, mkstamp: Moved from here... - * config/config.guess, config/config.sub, config/mkstamp: ...to - here, respectively. - * libtool.m4, ltdl.m4: Moved from here... - * m4/libtool.m4, m4/ltdl.m4: ...to here, respectively. - * configure.ac: Removed various acinclude.m4 hackery, as these - files are no longer needed with automake 1.8. - * Makefile.am: Removed various acinclude.m4 hackery, as these - files are no longer needed with automake 1.8. - (AUTOMAKE_OPTIONS): Require CVS automake. - (CONF_SUBDIRS, CFLAGS, CPPFLAGS, LDFLAGS, LIBS, FFLAGS, FLIBS): - Automake now makes a Make variable from every AC_SUBST, so these - are NOP. - (aclocal_macros): These files are now in their own m4 subdir. - Changed all clients. - (EXTRA_DIST): mkstamp has moved to the new config subdir. Changed - all clients. - (pkgdata_SCRIPTS): Ditto wrt config.guess and config.sub. - (pkgdata_DATA): Ditto wrt ltmain.sh. - * f77demo/configure.ac, libltdl/configure.ac (AM_CONFIG_HEADER): - Is deprecated in favour of AC_CONFIG_HEADERS. Updated to the - latter. - * Makefile.am, cdemo/Makefile.am, demo/Makefile.am, - depdemo/Makefile.am, f77demo/Makefile.am, mdemo/Makefile.am, - mdemo2/Makefile.am, pdemo/Makefile.am, tagdemo/Makefile.am - (EXTRA_DIST): Remove acinclude.m4. - (ACLOCAL_AMFLAGS): Search new `m4' macro directory. - * configure.ac, cdemo/configure.ac, demo/configure.ac, - depdemo/configure.ac, f77demo/configure.ac, mdemo/configure.ac, - mdemo2/configure.ac, pdemo/configure.ac, tagdemo/configure.ac - (AC_CONFIG_AUX_DIR): Declare that config helper scripts are now - kept in the new config subdir. - * libltdl/configure.ac (AC_CONFIG_AUX_DIR): Removed. Defaults to - `.' anyway. - -2003-09-21 Robert Millan - - * libtool.m4: Add GNU/KNetBSD support. - * ltdl.m4: Likewise. - -2003-09-13 Scott James Remnant - - * libtool.m4: allow STRIP to contain spaces and additional - arguments. (Debian Bug #183055) - * ltmain.in: include newline in "sensible default" for IFS. - (Debian Bug #98492 and #95447) - -2003-09-11 Peter O'Gorman - - * AUTHORS, THANKS: Added myself to AUTHORS, removed from THANKS. - -2003-09-10 Peter O'Gorman - - * mdemo2/configure.ac: Use AC_LIBTOOL_DLOPEN. - * mdemo2/main.c: Use LTDL_SET_PRELOADED_SYMBOLS(). - * mdemo2/Makefile.am: Set INCLUDES properly and add -dlopen force - to make sure the symbols file is included in the link line. - - * ltmain.in: Accept -framework for darwin and put it in - dependency_libs. For non-installed .la's try to avoid having - ./.libs/.libs/libfoo.so on the link line. - -2003-09-10 Arne Woerner - - * libtool.m4 [openbsd]: openbsd 3.x needs versioning information. - -2003-08-29 Gary V. Vaughan - - * bootstrap: Typo. - -2003-08-29 Alexandre Duret-Lutz - - * libtool.m4 (_LT_AC_LANG_C_CONFIG): Fix unquoted call to - _LT_AC_LANG_C_CONFIG. - (AC_PROG_EGREP): Remove, now that Libtool requires Autoconf 2.56. - * bootstrap: Issue an upgrade warning. - -2003-08-27 Gary V. Vaughan - - * libtool.m4 (_LT_AC_CHECK_DLFCN): Use the interrim new - AC_CHECK_HEADER with compiler rather than preprocessor. - (AC_LIBTOOL_SETUP): ...which was introduced in autoconf-2.56, so - we AC_PREREQ that version. - * ltdl.m4 (AC_WITH_LTDL, AC_LIB_LTDL, AC_LTDL_FUNC_ARGZ): Ditto. - -2003-08-27 Gary V. Vaughan - - Work around a bug in AU_ALIAS in CVS Autoconf that inserts a - newline just before AC_FD_CC, by hand updating: - - * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): s/AC_FD_CC/AS_MESSAGE_LOG_FD/g. - -2003-08-05 Jim Pick , - Ito Kazumitsu , - Gary V. Vaughan - - Much as we have tried not to make it the callers' responsibility - to maintain an lt_dlrealloc function pointer, it is too difficult - to implement realloc as malloc/memcpy/free without knowing the - size of the original block. rpl_realloc has been deprecated since - 2002-10-30, but kaffe has real failures with that so it's time to - bite the bullet. Caller gets to maintain lt_dlrealloc: - - * NEWS (1.5.1): Updated. - * libltdl/ltdl.c (LT_DLREALLOC): Use lt_dlrealloc so the user can - update the function pointer to match lt_dlmalloc. - (lt_emalloc): Use lt_dlrealloc rather than hardcoding realloc. - * doc/libtool.texi (Libltdl interface): Describe lt_dlrealloc now - that it too has become part of the exported interface to libltdl. - -2003-08-01 Peter O'Gorman - - * libtool.m4 (darwin): Use "-undefined dynamic_lookup" if the - user set MACOSX_DEPLOYMENT_TARGET to 10.3 or greater. - * libltdl/ltdl.c (dyld): Save the error from the first lookup - to report in lt_dlerror(). Otherwise the error is always - "Symbol _foo not in /usr/lib/libSystem.dylib". - Thanks to Chris Zubrzycki for reporting this. - -2003-08-01 Robert Boehne - - * libltdl/ltdl.h: Tweak the header to support visual studio. - -2003-07-31 Greg Eisenhauer - - * ltmain.in: Provide absolute paths for dlopen and dlpreopen - files in generating uninstalled libtool libraries. - * mdemo2/main.c, mdemo2/Makefile.am, mdemo2/README, - mdemo2/configure.ac, mdemo2/.cvsignore, mdemo/mlib.c, - tests/mdemo2-conf.test, tests/mdemo2-exec.test, - tests/mdemo2-make.test: New files for testing above feature. - * configure.ac, bootstrap, tests/Makefile.am: Accomodate new - test directory. - * mdemo/Makefile.am: Build libmlib.la for mdemo2 tests. - -2003-07-30 Tony Wyatt - - * libtool.m4: Remove parentheses around finish_eval part which - broke on amigaos pdksh. - -2003-07-30 Christiaan Welvaart - - * tests/dryrun.test: Ignore any 'total' line from "ls -l" output. - -2003-07-30 Albert Chin-A-Young - - * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Correctly remove IRIX C++ - template files. - -2003-07-24 Robert Millan - - * libtool.m4: More fixes for the new GNU/FreeBSD triplet. - -2003-07-14 Bob Friesenhahn - - * config.guess, config.sub: Synchronized from ftp.gnu.org since - Robert Millan's patch requires it. - -2003-07-14 Robert Millan - - * libtool.m4: Fixed to use the new GNU/FreeBSD triplet. - * ltdl.m4: Fixed to use the new GNU/FreeBSD triplet. - * ltmain.in: Remove GNU/FreeBSD cases, which are no longer needed. - -2003-07-14 Andreas Schwab - - * libtool.m4 (_LT_AC_LOCK): Also match powerpc64-*linux* in - addition to ppc64-*linux*. From Markus Meissner - . - -2003-07-14 Dalibor Topic - - * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): For AmigaOS with pdksh, - set the maximum command line length to 8K since otherwise the test - takes over an hour to run. - -2003-06-25 Alexandre Oliva , Tim Waugh - - * libtool.m4: Replace mis-uses of path with pathname. - (AC_PROG_LD_GNU): Don't quote $LD when running it. - (_LT_AC_LANG_CXX_CONFIG): Use -nostdlib also when linking with g++ - and non-GNU ld. - -2003-06-11 Gary V. Vaughan - - * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION): Require LT_AC_PROG_SED to - ensure $SED is set by the time it is used. - - * ChangeLog: Restore missing entries from 2003-04-22. - - * NEWS: Sychronised from branch-1-5. - -2003-06-03 Benjamin Reed - - * ltmain.in: search libraries in the order of preference, rather - than picking .la's even if they're in a less preferred directory. - -2003-06-03 Robert Millan - - * ltdl.m4: Add support for GNU/FreeBSD. - * ltmain.in: Add support for GNU/FreeBSD. - -2003-06-03 Albert Chin-A-Young - - * libtool.m4: No need to use sed to remove leading comma when - appending to $tagnames. - -2003-06-03 Albert Chin-A-Young - - * tests/defs, tests/demo-conf.test, tests/demo-nofast.test, - tests/demo-nopic.test, tests/demo-pic.test, - tests/demo-shared.test, tests/demo-static.test, - tests/depdemo-conf.test, tests/depdemo-nofast.test, - tests/depdemo-shared.test, tests/depdemo-static.test: - Pass build system type to tests to support environment - where default system type not equal to build system type - (eg. 64-bit HP-UX). - -2003-06-03 Peter O'Gorman - - * libtool.m4 (darwin): Remove checks for Apple-specific gcc. - * libltdl/ltdl.c (HAVE_MACH_O_DYLD_H): #define - __private_extern__ for fsf gcc. - * ltmain.in (darwin): Only add new paths to newlib_search_path. - -2003-06-03 Max Bowsher - - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Reorder cygwin's - system library search path. - -2003-06-01 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match all qnx-nto - as recent config.guess returns a slightly different string. - * ltmain.in: Replace use of "od" with tr. - -2003-05-30 Gary V. Vaughan - - * libltdl/ltdl.c (argz_insert): Corrected an off by one error when - checking that before is not out of range. - -2003-05-29 Gary V. Vaughan - - * libltdl/ltdl.c (lt_int_dyld_lib_install_name): Removed unused - variable mh1. - (sys_dyld_close): Removed unused variable size. - -2003-05-21 Bruno Haible - - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Add support for - GNU/FreeBSD. - -2003-04-22 Alexandre Oliva - - * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all - mips*-linux* variants. - -2003-04-22 Samuel Meder - - * libtool.m4 Switch on $CC and add paterns to cases. - -2003-04-22 Peter O'Gorman - - * libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check - to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the - value of shlibpath_overrides_runpath is used in the HARDCODE - test and is set in the DYNAMIC_LINKER test. - * ltmain.in [darwin]: We never need to relink on darwin. - -2003-04-22 Samuel Meder - - * libtool.m4: Switch on $CC and add patterns to cases. - -2003-04-21 Richard Dawe - - * doc/libtool.texi: Use @ifnottex instead of @ifinfo, - to allow production of HTML documentation using makeinfo. - -2003-04-14 Robert Boehne - - * NEWS: Updated. - * configure.ac: Bumped version to 1.5a. - - GNU libtool 1.5 was released. - - * configure.ac: Bumped version to 1.5. - * NEWS: updated. - * README-alpha: Updated upload instructions. - * README: Changed typo in version description. - * config.guess, config.sub, texinfo.tex: Synchronized from - ftp.gnu.org. - - -2003-04-10 Alexandre Oliva - - * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all - mips*-linux* variants. - -2003-04-09 Samuel Meder - - * libtool.m4 Switch on $CC and add paterns to cases. - -2003-04-09 Peter O'Gorman - - * libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check - to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the - value of shlibpath_overrides_runpath is used in the HARDCODE - test and is set in the DYNAMIC_LINKER test. - * ltmain.in(darwin): We never need to relink on darwin. - -2003-04-09 Samuel Meder - - * libtool.m4 Switch on `basename $CC` not $CC - -2003-04-05 Peter O'Gorman - - * libtool.m4: if ZSH_VERSION is set then setopt NO_GLOB_SUBST so - libtool works. Remove zsh echo test code, don't bother checking - for zsh anymore in the darwin archive_expsym_cmds. - -2003-04-05 Allan Sandfeld Jensen - - * libtool.m4: Switch on $CC not $cc_basename. - -2003-04-02 Robert Boehne - - * tests/defs: Quote $DJGPP to prevent problems with some shells. - Pointed out by Albert Chin - -2003-04-01 Peter O'Gorman - - * libtool.m4: Fix the echo test which I broke earlier. - * ltmain.in: Make DESTDIR work on darwin, don't use otool. - -2003-03-31 Keith Packard - - * ltmain.in: New flag -version-number to be used for maintaining - compatability with a previously non-Libtool versioning scheme. - * doc/libtool.texi: Document it. - -2003-03-31 Naofumi Yasufuku - - * ltmain.in (win32_libid): Fixed sed expression error in - win32_nmres evaluation. - -2003-03-31 Albert Chin - - * ltmain.in: Don't pass -R flags found in a .la's dependency_libs - variable directly down to the linker. - Reported by Tim Mooney . - -2003-03-28 Richard Dawe - - * Makefile.am: Define CONF_SUBDIRS. - * tests/defs: Set CONFIG_SITE to /nonexistent, except on DJGPP, - which requires its config.site, to work correctly. - * tests/cdemo-conf.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/demo-conf.test, - tests/demo-nofast.test, tests/demo-nopic.test, - tests/demo-pic.test, tests/demo-shared.test, - tests/demo-static.test, tests/depdemo-conf.test, - tests/depdemo-nofast.test, tests/depdemo-shared.test, - tests/depdemo-static.test, tests/f77demo-conf.test, - tests/f77demo-shared.test, tests/f77demo-static.test, - tests/mdemo-conf.test, tests/mdemo-shared.test, - tests/mdemo-static.test, tests/pdemo-conf.test, - tests/tagdemo-conf.test, tests/tagdemo-shared.test, - tests/tagdemo-static.test: Don't set CONFIG_SITE, now that - tests/defs sets it. - * tests/cdemo-exec.test, tests/demo-exec.test, - tests/demo-inst.test, tests/depdemo-exec.test, - tests/depdemo-inst.test, tests/f77demo-exec.test, - tests/mdemo-exec.test, tests/mdemo-inst.test, - tests/pdemo-exec.test, tests/pdemo-inst.test, - tests/tagdemo-exec.test: When checking for the existence - of executables, use the executable file extension from $EXEEXT. - -2003-03-28 Peter O'Gorman - - * libltdl/ltdl.c (dyld): Remove some debug printf's, fix a bug. - * ltmain.in (darwin): Only link against shared libraries when doing - link_all_deplibs. - -2003-03-25 Robert Boehne - - * bootstrap: Add f77demo to the directories that AUTOHEADER - is run in. - -2003-03-21 Wesley W. Terpstra - - * ltmain.in: Don't accumulate directory information in clean mode. - Include properly pathed wrapper script. - -2003-03-21 Peter O'Gorman - - * README: Remove "Important" information about patching automake. - * configure.ac: Fix misapplied patch in last commit - * libtool.m4 (darwin): Check compiler is apple gcc, add -single_module - support so that dyloading c++ shared libraries will work. - * libtool.m4 (_LT_AC_TAGCONFIG): Add test -n to the tests so that - it will work outside of libtool. - * doc/PLATFORMS: Add darwin - * f77demo/configure.ac: Add config.h which was misapplied previously. - -2003-03-20 Peter O'Gorman - - * ltmain.in: Always use $echo not echo for consistency. - Changes for darwin building. Warn if linking against libs linked - with -module. Use module_cmds if available and building a module, - move convenience double lib check, - * libltdl/ltdl.c: ltdl support for darwin (first blush) - * libltdl/README: note that darwin is supported - * ltdl.m4: Changes for darwin, and for new shrext - * libtool.m4: Changed the way darwin builds stuff (make check passes) - added module_cmds, module_expsym_cmds and hardcode_automatic and put - them in the libtool script. check for zsh's removal of escapes. Allow - libraries to be stripped on darwin. - * TODO: Remove the todo about zsh's removal of excapes. note that zsh - echo works perfectly well, eval is screwed up. Seems to be fixed in - latest zsh. - * THANKS: added self :) - * f77demo/configure.ac: Use config.h or it doesn't work. - -2003-03-19 Robert Boehne - - * libtool.m4 (_LT_AC_TAGCONFIG): Add test around the macro that - adds tags to the libtool script so that they won't run when not - needed. - * configure.ac: Set F77 to no when no Fortran compiler is found. - -2003-03-16 Charles Wilson - - * ltmain.in (win32_libid): use $SED, not head. - -2003-03-02 Alexandre Oliva - - * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. - (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, - and reset them for a C++ environment. Use the with_gnu_ld setting - from AC_PROG_LD. - -2003-02-28 Ralph Schleicher - - * ltmain.in: Only append a dot to the wrapper script when - building on cygwin/MSYS (check for $build, not $host). - -2003-02-27 Samuel Meder - - * libtool.m4 (ia64): Add support for Intel compiler (ecc) on IA64 - Linux. - -2003-02-27 Benjamin Reed - - * THANKS: Added people who have submitted 3 or more patches - to libtool to the THANKS file. - * README: Added notes about the Darwin (MacOSX) support. - -2003-02-25 Bob McElrath - - * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Add support for - the Compaq C compiler for Alpha Linux. - -2003-02-25 Benjamin Reed - - * libtool.m4 (darwin): Disable hardcoding library paths to - make relinking unnecessary. - -2003-02-24 Robert Boehne - - * libltdl/configure.ac: Use AC_CONFIG_AUX_DIR([.]) to place - auxilary files in the libltdl directory. - * Makefile.am: Add to the ltmain.sh rule to copy it into the - libltdl subdirectory. - * bootstrap: Explicitly handle ltmain.sh in libltdl, and pass - --copy to automake. - -2003-02-24 Ralph Schleicher - - * libtool.m4 (AC_LIBTOOL_SETUP): Check for ar. - -2003-02-23 Peter O'Gorman - - * libtool.m4 (darwin): Revamp darwin platform support. - * ltdl.m4 (darwin): Support dlcompat if found. - * ltmain.in: Make sure ranlib is run if needed when piecewise - linking. - -2003-02-23 Alexandre Duret-Lutz - - * ltmain.in (--help): Show mailing-address for bug reports. - (--version): Mention only the most recent copyright year. - * libtoolize.in (--help): Show mailing-address for bug reports. - (--version): Mention only the most recent copyright year. - -2003-02-19 Alexandre Oliva - - * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. - (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, - and reset them for a C++ environment. Use the with_gnu_ld setting - from AC_PROG_LD. - - * libtool.m4: Replace $linker_flags with $compiler_flags wherever - it is used as argument to $CC. - - * libtool.m4: Use linux version_type on IRIX with GNU ld. - Prefix -soname, -set_version and their arguments with ${wl}. Add - -melf* linker scripts to LD, and use them to determine libsuff, - shlibsuff and libmagic. - -2003-02-17 Allan Sandfeld Jensen - - * libtool.m4: Intel icc fixups for version 7.0. - -2003-02-17 Ralph Schleicher - - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Prepend a dot to - the value of the shrext (aka shared_ext) variable and delete it - from the library_names_spec and soname_spec definitions. That - way the user can omit the shared library suffix by setting it - to the empty string. - (AC_LIBTOOL_LANG_CXX_CONFIG): Strengthen renaming commands for - the KCC compiler. - * doc/libtool.texi (Link mode): Update the manual. - -2003-02-17 Charles Wilson - - * ltmain.in (win32_libid): Rewritten to improve speed. - -2003-02-11 Richard Dawe - - * libtoolize.in: Use the program found by AC_PROG_LN_S - to create symlinks. - -2003-02-08 Jan Kratochvil - - * ltmain.in: Handle duplicate object file names when performing - piecewise archive linking by renaming object files when needed. - -2003-02-05 Robert Boehne - - * libtool.m4 (AC_CHECK_LIBM): Search for a real symbol in - the math library rather than 'main', it causes problems for - C++ compilers with certain Auto* tools. - (AC_LIBLTDL_INSTALLABLE): ditto. - -2003-02-05 Christian Cornelssen - - * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) - (AC_LIBTOOL_PROG_LD_SHLIBS): Rewrite printf commands so - that the format string cannot be mistaken as an option. - Reported by Martin MOKREJS. - -2003-02-05 Robert Boehne - - * libtool.m4: Modify the sys_lib_search_path_spec to allow - for either native sed or GNU sed to be used. - -2003-02-04 Nick Hudson - - * libtool.m4: don't use -nodefaultlibs in archive_commands - or archive_expsym_commands on NetBSD. - -2003-02-04 Albert Chin-A-Young - - * libtool.m4: Change setting of archive_cmds_need_lc - so that it doesn't overwrite the previous setting. - -2003-01-28 Albert Chin-A-Young - - * libtool.m4: Allow compiler variable, CC, CXX, etc. to - be a program name with arguments. Original version stripped - arguments for CC. - -2003-01-28 Charles Wilson - - * ltmain.in: add code for a binary wrapper - to use with uninstalled executables on cygwin/mingw. - Make sure that --mode=clean gets shell wrapper and - binary wrapper. When sourcing the shell wrapper, - invoke using a terminal `.' on cygwin/mingw to - avoid the automatic append-.exe behavior. - -2003-01-28 Albert Chin-A-Young - - * libtool.m4: Hardcode library paths into libraries on IRIX. - -2003-01-18 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Don't add -DPIC - for languages other than C and C++. - -2003-01-13 Albert Chin-A-Young - - * libtool.m4, ltmain.in: Add support for hppa*64* based on - a patch by Ross Alexander . - Credit to Ross! Use +b to hardcode library runtime path. - Add new variable, $hardcode_libdir_flag_spec_ld, that - is equivalent to $hardcode_libdir_flag_spec but is used - when ld is used for linking. This works around having to - set wl=''. - -2003-01-12 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Revert an - accidental rearranging of dylib and so for darwin. - -2003-01-10 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Modify the - "-shrext" option so that is works properly under Darwin. - Modify the processing of 'gcc -print-search-dirs' under - Darwin to make it behave like GNU gcc does. - (AC_LIBTOOL_CONFIG): Single quote $shrext. - * ltimain.in: Expand shared_ext just before it is used - so that it can be conditional on the value of $module. - -2002-12-31 Benjamin Reed - - * ltmain.in [darwin]: disable lazy linking, needed - to resolve C++ global constructor issues - -2002-12-30 Ralph Schleicher - - Rework by Robert Boehne - * ltmain.in: New link option -shrext. - * libtool.m4 (AC_LIBTOOL_CONFIG): New libtool variable shrext. - (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Replace all hard coded shared - library file name extensions in library_names_spec and - soname_spec with $shrext. - * doc/libtool.texi (Link mode): Document it. - -2002-12-30 Charles Wilson - - * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): modify - $archive_expsym_cmds to restore support for using - .def files via the -export-symbols switch. - (AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]): in both the [CXX] - branch and the default branch, improve $export_symbols_cmds - so that DATA symbols are properly labelled. In the default - branch, duplicate the _CXX_CONFIG correction for - $archive_expsym_cmds. - -2002-12-30 Charles Wilson - - * libtool.m4 (AC_LIBTOOL_RC): AC_PROG_RC doesn't exist -- - but we do AC_DEFUN something called LT_AC_PROG_RC. - Call that instead. - -2002-12-30 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Copy the section - for Darwin from AC_LIBTOOL_PROG_LD_SHLIBS so that the CXX - tag doesn't use the g++ defaults for the OS X compiler. - -2002-12-30 Albert Chin-A-Young - - * libtool.m4: Sync methods used to detect GNU ld. - -2002-12-20 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, - AC_LIBTOOL_PROG_CC_C_O): Do not escape } or ? in sed argument. - -2002-12-19 Robert Boehne - - * ltmain.in: Use the sed program found by LT_AC_PROG_SED - so that relink commands don't get truncated. - -2002-12-18 Robert Boehne - - * libtool.m4: Move AC_REQUIRE([LT_AC_PROG_SED]) to AC_PROG_LD - so it is invoked earlier. - -2002-12-11 Allan Sandfeld Jensen - - * libtool.m4: Add support for Intel icc compiler for Linux. - -2002-12-11 Robert Boehne - - * ltmain.in: Revert the version +1 change for IRIX, it could - cause compatibility problems. - -2002-11-22 Christian Cornelssen - - * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, - AC_LIBTOOL_PROG_CC_C_O): Changed method for compilation with - custom flags to be language-independent. Thereby removed - CFLAGS/GCJFLAGS mixup bug. Imitate Autoconf-style logging. - Log entries no longer discarded by compilation failures. - (_LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG, - _LT_AC_LANG_GCJ_CONFIG): Tuned settings of - lt_simple_compile_test_code and lt_simple_link_test_code - to avoid warnings that could break some option detections. - (AC_LIBTOOL_PROG_COMPILER_NO_RTTI): Removed - redundant "-c conftest.$ac_ext" in the argument to - AC_LIBTOOL_COMPILER_OPTION. - (AC_LIBTOOL_PROG_LD_SHLIBS): Replaced C-specific conftest - source code with $lt_simple_compile_test_code, to support - the "-lc" test with other languages. - -2002-11-19 Paul Eggert - - Don't assume that egrep and fgrep exist. POSIX 1003.1-2001 no - longer requires them; you're supposed to use grep -E and grep -F - instead. Also, don't assume that "test -a" works, since POSIX - doesn't require it. - - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_LANG_C_CONFIG, - _LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE, - AC_LIBTOOL_PROG_LD_SHLIBS): - egrep -> grep, when that makes no difference. - * libtoolize.in: Likewise. - * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Likewise. - * ltmain.in: Likewise. - * demo/Makefile.am (hc-direct): Likewise. - * pdemo/Makefile.am (hc-direct): Likewise. - * tests/build-relink.test, tests/build-relink2.test, - tests/cdemo-conf.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/demo-conf.test, - tests/demo-nofast.test, tests/demo-shared.test, - tests/demo-static.test, tests/depdemo-conf.test, - tests/depdemo-nofast.test, tests/depdemo-shared.test, - tests/depdemo-static.test, tests/hardcode.test, - tests/mdemo-conf.test, tests/mdemo-shared.test, - tests/mdemo-static.test, tests/pdemo-conf.test, - tests/tagdemo-conf.test, tests/tagdemo-shared.test, - tests/tagdemo-static.test: Likewise. - - * libtool.m4 (AC_PROG_EGREP): - New macro, defined if Autoconf doesn't define. - (AC_PATH_TOOL_PREFIX, AC_PROG_LD_GNU): Use it. - (AC_PROG_LD, AC_PROG_NM, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): - Use shell pattern matching rather than egrep. - (AC_LIBTOOL_CONFIG): Set lt_EGREP and EGREP. - - * demo/Makefile.am (SET_HARDCODE_FLAGS): Use sed instead of egrep. - * pdemo/Makefile.am (SET_HARDCODE_FLAGS): Likewise. - - * tests/defs (EGREP, FGREP): New vars. - - * ltmain.in: egrep -> $EGREP - * tests/assign.test, tests/demo-exec.test, tests/demo-inst.test, - tests/pdemo-exec.test, tests/pdemo-inst.test, tests/sh.test: - Likewise. - - * tests/hardcode.test: fgrep -> $FGREP - - * tests/f77demo-exec.test: test -a -> test && - -2002-11-18 Bob Friesenhahn - - * ltmain.in: When using gcc, pass -mfoo to the linker - via $compiler_flags in order to pass architecture information to - the linker (e.g. 32 vs 64-bit). This may also be accomplished via - -Wl,-mfoo but this is not reliable with gcc because gcc may use - -mfoo to select a different linker, different libraries, etc, while - -Wl,-mfoo simply passes -mfoo to the linker. If there is a better - solution, please let me know what it is. - -2002-11-18 Bob Friesenhahn - - * tests/Makefile.am: Conditional assignment of FFLAGS = @FFLAGS@ - does not appear to be necessary given that Automake makes this - assignment by default. The condition is removed since Automake - 1.7.1 complains about it. - -2002-11-18 Jakub Jelinek - - * libtool.m4: Support linking of 64-bit libraries on - sparc{,v[789]}-*linux*, s390*-*linux*, ppc*-*linux* - GNU/Linux systems when the platform default is to build - 32-bit libraries. - -2002-11-18 Andreas Jaeger , Bo Thorsen - - * libtool.m4: Support linking of 32-bit libraries with ld - on the x86-64, ppc64, s390x and sparc64 GNU/Linux systems. - -2002-11-18 Akim Demaille - - * ltmain.in: Do not change the PATH in the wrappers: let them - launch the real binary using its path. - -2002-11-18 Kevin Ryde - - * doc/libtool.texi (Library tips): Note array dimensions. - -2002-11-18 Bob Friesenhahn - - * tests/*.test: MinGW's MSYS treats files under /dev - specially. This causes 'test -r /dev/null/config/site' to - improperly report success, causing configure to fail. Change the - CONFIG_SITE definition from "/dev/null/config/site" to - "/nonexistent" to avoid this problem. - -2002-11-18 Charles Wilson - - * libtool.m4 (_LT_AC_LOCK): remove support for ancient - versions of mingw and cygwin. - (AC_LIBTOOL_POSTDEP_PREDEP): new function. - moved the "find hidden library dependencies" code here - from AC_LIBTOOL_LANG_CXX_CONFIG. Attempted to make it - multi-tag compatible, but currently only CXX calls it. - (AC_LIBTOOL_LANG_CXX_CONFIG): set - enable_shared_with_satic_runtimes to 'no' by default - Set it to 'yes' for cygwin, mingw, pw32. Replace - "find hidden library dependencies" code with a call - to the new function AC_LIBTOOL_POSTDEP_PREDEP. - Consolidate cygwin and mingw/pw32 stanzas. - (AC_LIBTOOL_LANG_F77_CONFIG): set - enable_shared_with_static_runtimes to 'no' by default - (AC_LIBTOOL_CONFIG): add - enable_shared_with_static_runtimes to the list of variables - to write into ltmain.sh; include it in the libtool script - template as allow_libtool_libs_with_static_runtimes. - (AC_LIBTOOL_PROG_LD_SHLIBS): set - enable_shared_with_static_runtimes to 'no' by default - Set it to 'yes' for cygwin, mingw, pw32. - (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): only put cr in regexp - if the build_os is mingw, not host_os - - * ltmain.in (case deplibs_check_method): for all appropriate - cases, if allow_libtool_libs_with_static_runtimes, then remove - predeps and postdeps from the list of dependencies that must - be checked for "dynamicness". For the "none" case, the - presence of compiler-generated postdeps and predeps should - not trigger "inter-library dependencies not supported" error. - (initial setup after arg processing): on cygwin/mingw, allow - compiler-generated dependent libs to be duplicated without - elimination. - (initial search loop for deplibs): if the deplib in question - is a libtool lib, then if - allow_libtool_libs_with_static_runtimes then parse the .la file. - If the .la file only has an "old_library", add the deplib - directly to the deplibs list (-lstdc++) and DON'T use the .la - file; this allows the (case deplibs_check_method) change above - to take effect. - * ltmain.in (for pass in $passes loop): remove predeps, - postdeps, and compiler_lib_search_path from dependency_libs. - -2002-11-08 Robert Boehne - - * doc/libtool.texi: Add --mode=* to every example using libtool. - -2002-11-03 Ossama Othman - - * ltmain.in: add support for installing into temporary - staging area (e.g. 'make install DESTDIR=...') - -2002-11-03 Charles Wilson - - * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): restore setting - allow_undefined_flag=unsupported for cygwin and mingw. - (AC_LIBTOOL_PROG_LD_SHLIBS): ditto, for both "normal" gcc/ld - and for the (unmaintained?) MSVC case. - -2002-11-03 Charles Wilson - - * doc/libtool.texi (Install mode): document new - -inst-prefix option. - -2002-11-02 Robert Boehne - - * ltmain.in: Print a warning if the mode is not specified. - * doc/libtool.texi: Document the change that the mode must be - specified. - -2002-10-30 Charles Wilson - - * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not - echo. (AC_DEPLIBS_CHECK_METHOD): use new shell function - win32_libid on w32 platforms - * ltmain.in: add new section for shell functions. Add - win32_libid() shell function. - * f77demo/Makefile.am: add -no-undefined flag - -2002-10-30 Rob Browning - - * ltdl.c (realloc): Remove custom realloc. (#define - rpl_realloc realloc) and comment out later code for custom - realloc. You can't define your own malloc unless you know - enough about the malloc in use to be able to tell how big - the src ptr is. The disabled code incorrectly used the - *destination* ptr to decide how much to copy. This - sometimes results in out-of-bound accesses which cause - segfaults. This is a quick hack for now; we may want - something cleaner later. - (tryall_dlopen_module): check to be sure (dirname_len > 0) before - testing first character against '/'. - (try_dlopen): check for feof(file) in read loop -- otherwise - infinite loop? - -2002-10-25 Robert Boehne - - * ltmain.in (-XCClinker): New flag passes a linking option - directly to the compiler driver without appending ${wl}. - -2002-10-25 Gary V. Vaughan - - * README-alpha: Add some release note templates for inspiration - and consistency at release time. - - * Makefile.am (cvs-diff): Compress the generated diff file, ready - for upload to ftp.gnu.org. - -2002-10-25 Howard Chu - - * ltmain.in [aix]: Be sure to deal with xlc_r, cc_r and other - compiler variants. - -2002-10-25 Gary V. Vaughan - - * libtool.m4 (_LT_AC_FILE_IMPGEN_C): Removed. No longer used. - (_LT_AC_FILE_LTDLL_C): Ditto. - (AC_LIBTOOL_CONFIG) [cygwin, mingw, pw32, os2]: Don't call - _LT_AC_FILE_LTDLL_C or _LT_AC_FILE_IMPGEN_C. - -2002-10-25 Albert Chin-A-Young - - * libtool.m4: When LDFLAGS="-Wl,-brtl,[other options]", the - -brtl special-case code for AIX never gets triggered because - were are being too specific about how we search for -brtl. - Use case statement to avoid this. Remove extraneous - semicolon. - * ltmain.in: Recognize the IBM xlc compiler. - -2002-10-24 Andrew Suffield - - * libltdl/ltdl.c (lt_dlopenext): Corrected sense of "file not - found" check. - -2002-10-24 Ossama Othman - - * ltmain.in: Support compiler names matching g++* - -2002-10-23 Bob Friesenhahn - - * libtool.m4: Removed old Windows cruft. - * libtool.m4: Adapted pw32 to be like Cygwin/MinGW. - -2002-10-23 Robert Boehne - - ltmain.in: Do not add 1 to the version under IRIX, it is - not necessary. - -2002-10-15 Charles Wilson - - * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): avoid long delay on - cygwin/Win9x when computing commandline length. - (AC_LIBTOOL_SYS_DYNAMIC_LINKER): fix postinstall_cmds when - sources are in a subdirectory - * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): use $PATH_SEPARATOR, not - $ac_path_separator - * configure.ac: move depdemo-specific stuff. You must configure - libtool before you can try './libtool --features'. - * mdemo-inst.test: set $PATH to include the directory in which - the modules are installed (on cygwin, DLL search path is the - $PATH) - -2002-10-15 Bob Friesenhahn - - * ltmain.in: MinGW works identically to Cygwin. - * libtool.m4: lt_cv_sys_max_cmd_len hard-coded to 8192 - * Model MinGW configuration after Cygwin configuration. - Some portions share implementation. - -2002-10-15 Elizabeth Barham - - * libtool.m4: Pattern MinGW library naming after that - used by Cygwin except use 'lib' prefix rather than 'cyg'. - * Transfer some configuration from Cygwin with adjustments - for MinGW. - -2002-10-15 Albert Chin-A-Young - - * libtool.m4: When a module is built for AIX, the 'lib' - prefix isn't needed, neither is the version. AIX dlopen - will honor the RPATH in a library. - -2002-10-11 Christoph Egger - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS, darwin): Add - -install_name to the link line only when -dynamiclib is - specified for a module. Use -bind_at_load when linking C++ - shared libraries. - -2002-10-04 Elizabeth Barham - - * libtool.m4 (AC_LIBTOOL_SETUP): GCC now checks -shared to - create a dll for Windows targets. - -2002-09-24 Robert Boehne - - * ltmain.in: Fixed a few spelling errors. - -2002-09-17 Robert Boehne - - * libltdl/ltdl.c: Commented out access() call that checks for a - library file's existence and permissions, as it appears to fail - in every case. - -2002-09-09 Albert Chin-A-Young - - * libtool.m4: Custom $symcode for Tru64 UNIX to catch 'Q', - read-only constants. - -2002-09-09 Rainer Orth - - * libtool.m4 (osf[345]): Append $major to soname_spec. - Reflect this in library_names_spec. - * ltmain.in (osf): Prefix $major with '.' for use as extension. - -2002-08-28 Bob Friesenhahn - - * ltdl.m4 & libltdl/ltdl.c: Port fully to native Win32 API. - -2002-07-31 Robert Boehne - - * f77demo/.cvsignore: New file, forgotten in the last commit. - -2002-07-31 Eric Lindahl - - * libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77 - Fortran support tag. - (AC_LIBTOOL_PROG_CC_C_O, _LT_AC_TAGCONFIG): Support F77 tag. - (AC_LIBTOOL_F77, _LT_AC_LANG_F77, AC_LIBTOOL_LANG_F77_CONFIG): - New macros for F77 tag Fortran support. - * configure.ac: Add support for creating the new F77 tag. - * bootstrap: Add f77demo directory to the list to be processed. - * Makefile.am: Add support for FFLAGS and FLIBS. - * tests/Makefile.am: Add new Fortran tests. - * tests/f77demo-*.test: New files. - * f77demo/configure.ac, f77demo/cprogram.c, f77demo/fooc.c - * f77demo/foof.f, f77demo/foo.h, f77demo/fprogram.f - * f77demo/Makefile.am, f77demo/README: New files. - -2002-07-16 Gary V. Vaughan - - * libltdl/ltdl.c (tryall_dlopen): We need to catch missing file - errors early so that file_not_found() can detect what happened. - -2002-06-26 Bob Friesenhahn - - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Remove - extraneous '=' character which appears in gcc 3.1 - -print-search-dirs output. - Handle both upper and lower case drive letters when testing for - Windows vs POSIX style path output from -print-search-dirs - output. - -2002-06-24 Robert Boehne - - * ltmain.in (Piecewise linking): Add a clause to skip creating - the export file until the reloadable object file(s) have been - created, then use them as input for $export_symbols_cmds. - -2002-06-23 Albert Chin-A-Young - - * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Need to quote [ and ] for - Autoconf. - - * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): HP/UX needs - libltdl_cv_sys_dlopen_deplibs set to yes. - -2002-06-23 Kevin Ryde - - * libtool.m4 (AC_LIBTOOL_SETUP, _LT_AC_LOCK): Use - AC_PROVIDE_IFELSE to test AC_LIBTOOL_WIN32_DLL and - AC_LIBTOOL_DLOPEN, necessary for autoconf 2.53. - -2002-06-23 Gary V. Vaughan - - * libltdl/ltdl.c (argz_insert): Actually, BEFORE can be NULL - when *PARGZ_LEN is non-NULL, so the assertion to the contrary was - bogus. - Reported by Bob Friesenhahn - and Albert Chin-A-Young - -2002-06-21 Gary V. Vaughan - - * libltdl/ltdl.c (foreach_dirinpath): Ensure that filename is '\0' - terminated by all code paths. - Reported by Lutz Müller - -2002-06-20 Gary V. Vaughan - - From Kevin Ryde : - * doc/libtool.texi (Platform quirks): s/dependan/dependen/ - * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Ditto. - * TODO: Ditto. - -2002-06-13 Rainer Orth - - * ltmain.in (irix, nonstopux): Set major before use. - -2002-06-11 Daniel Kobras - - * libltdl/ltdl.c (try_dlopen): Don't return bogus handle to user - if tryall_dlopen() fails. - -2002-06-01 Gary V. Vaughan - - * tests/pdemo-exec.test: Typo. s/hell-static/hell_static/ - -2002-05-31 Charles Wilson - - * NEWS: Updated. - * libtool.m4: use $NM to create the symbol list on cygwin, not - $ltdll_cmds as on mingw. For all tags, (and host=cygwin) set - allow_undefined_flag="" so that the --auto-import magic - works properly. For all tags (and host=cygiwn) set - always_export_symbols=no -- it is unnecessary thanks to - binutils' auto-export magic. - * libltdl/ltdl.c: Don't force cygwin to use the LoadLibrary - wrapper; use cygwin's builtin implementatino of dl*. - * cdemo/Makefile.am: the downside of unsetting - 'allow_undefined_flag' -- we must include -no-undefined - in the _la_LDFLAGS variable. - * depdemo/l1/Makefile.am: ditto. - * depdemo/l2/Makefile.am: ditto. - * depdemo/l3/Makefile.am: ditto. - * depdemo/l4/Makefile.am: ditto. - * mdemo/Makefile.am: ditto. - * tagdemo/Makefile.am: ditto. - * demo/Makefile.am: ditto. But also, we must make special - provision to clean up the hell0 wrapper script. - * pdemo/Makefile.am: ditto -no-undefined. ditto hell0. - And use 'hell_static' instead of 'hell.static'. - * tests/pdemo-inst.test: use 'hell_static' instead - of 'hell.static'. - * tests/pdemo-exec.test: ditto. - -2002-05-30 Charles Wilson - - * tests/build-relink2.test: look for installed libl3.la - in $prefix/lib/ as well as $prefix/lib/extra/. - -2002-05-30 Gary V. Vaughan - - * tests/hardcode.test: Use libtool --config to collect the - variable values for the test, otherwise the tag values interfere - with a straight grep. - -2002-05-30 Gary V. Vaughan - - Finally fix the annoying bug which always adds all tags to the - libtool script built by your project configure. Now we set the - default tags depending on whether AC_PROG_CXX et. al. are actually - called from configure.ac. - - * libtool.m4 (_LT_AC_TAGCONFIG): Don't default the tagnames when - no --with-tags argument is given. - (_LT_AC_SHELL_INIT): Factored out from the AC_DIVERT_PUSH code - in... - (_LT_AC_PROG_ECHO_BACKSLASH): ...which now calls the macro - instead. - (AC_LIBTOOL_CXX): Use _LT_AC_SHELL_INIT to add CXX to the - initialisation sequence for tagnames. - (AC_LIBTOOL_GCJ): Similarly for GCJ tag. - (AC_LIBTOOL_RC): Likewise for RC tag. - -2002-05-21 Jon Meredith - - * ltmain.in: Fix a problem on SCO OpenServer5 that caused a - failure in three depdemo-make tests. For some reason the linker - tries to find the dependent libraries using the library search - path before it has read the libraries specified with absolute - paths in the full commandline. This patch add -L's for each of - the dependent library directories so that they can be resolved. - -2002-05-09 Nick Hudson - - * libtool.m4: Update support for NetBSD - * ltdl.m4: Make sure that libltdl_cv_func_dlopen and - libltdl_cv_lib_dl_dlopen are set and used instead of the - ac_cv_ versions. Also, use lt_cv_sys_global_symbol_pipe - instread of global_symbol_pipe. This fixes the detection of - dlopen on BSD derived plaforms and more importantly fixes - need_uscore detection. - -2002-05-06 Paul Eggert - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): head -1 -> sed 1q to - port to POSIX 1003.1-2001 hosts, like textutils 2.0.21 with - _POSIX2_VERSION=200112. - -2002-05-06 Paul Eggert - - * ltmain.in: Don't assume that "sort +2" works, as POSIX - 1003.1-2001 says that "sort +2" is supposed to sort the file - named "+2". An example host that behaves like this is - textutils 2.0.21 with _POSIX2_VERSION=200112. - -2002-05-06 Loren James Rittle - - * ltmain.in: Detect and handle object name conflicts while - piecewise linking a static library. - -2002-05-02 Dave Vasilevsky - - * ltmain.in: Remove convenience libraries from deplibs for Darwin. - -2002-05-02 Fritz Elfert - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Modify archive_expsym_cmds - to catch properly handle dll alias symbols. - -2002-04-24 Kevin Ryde - - * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use $build_os not $host_os. - -2002-04-14 Robert Boehne - - * doc/libtool.texi (C++ libraries): Finally updated to reflect - Libtool's support for C++. - -2002-04-14 Jean-Frederic Clere - - * libtool.m4: Update support for Fujistu-Siemens Computers (FSC). - * ltmain.in: Add support for EBCDIC based systems. - -2002-04-07 Robert Boehne - - * libtool.m4 (LT_AC_PROG_SED): Refactor, removing temporary directory - and consistent use of the shell variable namespace "lt_ac_". - -2002-04-02 Robert Boehne - - * ltmain.in: Finish the tag matching logic started yesterday and - refactor it a bit. - -2002-04-01 Robert Boehne - - * ltmain.in: Handle the case when no tag is explicitly set, and - $base_compile has a space in front of $CC, and revert the setting - of tagname checked in on 2002-3-14. - -2002-04-01 Robert Boehne - - * tagdemo/foo.cpp: Use C++ IO to catch problems linking to C++ - runtime libraries. - * tagdemo/main.cpp: Ditto. - -2002-03-16 Gary V. Vaughan - - * TODO: Removed obsolete comments about RMS' package system. - -2002-03-14 Robert Boehne - - ltmain.in: Touch-up to make testsuite pass, and default tagname - to CC when it isn't explicitly set. - -2002-03-14 Anthony Green - - * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Albert Chin's gcj fix. - (AC_LIBTOOL_PROG_COMPILER_PIC): Per Bothner's change for not - using -DPIC with gcj. - -2002-03-11 Bruce Korb - - * ltmain.in(compile): bring a touch of order to the option processing - -2002-02-09 Gary V. Vaughan - - * NEWS: Updated. - * THANKS: Added Rob Collins and Chuck Wilson for their cygwin - work. - - From Robert Collins : - * configure.ac (AC_EXEEXT): Needed for DOSish systems. - * libtool.m4 (shlibpath_overrides_runpath) [cygwin]: Set to yes - when compiling with gcc. - (lt_prog_compiler_pic) [cygwin]: No longer needs the -DDLL_EXPORT - hack, so we just say the pic is the default. - (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin]: Extract symbols from a - library normally. - [cygwin]: Declare C++ compiler characterisics for g++, taking into - account the new auto-import support in cygwin ld. - * ltmain.in (specialdeplibs) [cygwin]: Be careful about - eliminating duplicate -lgcc's from the link line. - [cygwin]: Be smarter about .exe suffixes. - * demo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Support - DOSish systems properly. - * depdemo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Ditto. - * demo/Makefile.am (deplibs-check): Allow for .exe suffix. Use - hell_static instead of hell.static for multi-`.' inhibited OSes. - * tests/demo-exec.test: Ditto. - * tests/demo-inst.test: Ditto. - * demo/foo.h [cygwin]: Sanitize cygwin dll support. - * demo/foo.c (_LIBFOO_COMPILATION_): No longer required. - * demo/hello.c (_LIBFOO_COMPILATION_): Ditto. - * depdemo/Makefile.am (bin_PROGRAMS): Use depdemo_static instead - of depdemo.static for multi-`.' inhibited OSes. - * tests/depdemo-exec.test: Ditto. - * tests/depdemo-inst.test: Ditto. - * mdemo/Makefile.am (bin_PROGRAMS): Ditto for mdemo.static. - * tests/dryrun.test: Ditto. - * tests/mdemo-exec.test: Ditto. - * tests/mdemo-inst.test: Ditto. - * tests/build-relink.test: Be careful about possible .exe - suffixes. - * tests/noinst-link.test: Allow for .exe suffix. - -2002-02-07 Alexandre Oliva - - Reverted incorrect patch: - 2001-10-24 H.J. Lu - * ltmain.sh: Allow link against an archive when building a - shared library. - * libtool.m4 (lt_cv_deplibs_check_method): Always use - file_magic for Linux ELF. - -2002-01-30 Robert Boehne - - * libtool.m4 (LT_AC_PROG_SED): Removed a mysterious newline. - -2002-01-28 Robert Boehne - - * libtool.m4 (LT_AC_PROG_SED): New macro tests sed for truncation of - output. AC_REQUIRE the new macro. - * ltmain.in: Use $SED rather than plan old sed, as set by the new - macro LT_AC_PROG_SED. - -2002-01-10 Volker Christian - - * libltdl/ltdl.c (find_handle_callback): treat the result of a call - to access(2) correctly when deciding whether a library can be found - in a directory from user_search_path. - -2002-01-07 Robert Boehne - - * NEWS: Fixed wrong path for texinfo.tex. - * configure.ac: Bumped version to 1.4e. - - GNU libtool 1.4d was released. - - * configure.ac: Bumped version to 1.4d. - * NEWS: updated. - * config.guess, config.sub, texinfo.tex: Synchronised from - ftp.gnu.org. - -2001-12-06 Jens Petersen - - * ltmain.in: Replace all test "-a"s by "&& test" - for portability. - -2001-11-28 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Change the - factor of saftey as 3/4 of the result was not low enough. - -2001-11-28 Gary V. Vaughan - - * libtoolize.in: The test for whether AC_PROG_LIBTOOL is defined - in aclocal.m4 had bitrotted slightly. - Reported by Takahiko Kawasaki - -2001-11-27 Donald D. Anderson - - * ltmain.in: Treat freebsd like openbsd, in that -lc/-lc_r should - not be explicitly used. ld handles this depending on the presence - of the -pthread option. - -2001-11-27 Robert Boehne - - With help from Michael Matz : - * ltmain.in: Add a new command line argument - --preserve-dup-deps for preserving duplicate - dependent libraries. - * libtool.texi: Document it. - -2001-11-27 Kevin Ryde - - * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Send "test" - warnings to /dev/null, helps FreeBSD and maybe others. - -2001-11-15 Albert Chin-A-Young - - * libtool.m4: quote LTCC because autoconf AC_PROG_CC_STDC - macro might add to $CC if options needed by compiler to - grok ANSI. - -2001-11-15 Gary V. Vaughan - - From Joseph S. Myers : - * ltmain.in: Typo. - -2001-11-15 Mo DeJong - - * ltmain.in: Place parens around a generated relink_command - so it is run is a subshell. This avoids an install error - where libtool ended up in the wrong directory after - relinking a .la file. - -2001-10-31 Raja R Harinath - - * configure.ac (pkgdatadir): Move the invocation of AC_INIT_AUTOMAKE - before the use of $PACKAGE in $pkgdatadir. - Reported by Bob Friesenhahn - -2001-10-28 Gary V. Vaughan - - From Tom Bates : - * libtool.m4 [mips-compaq-nonstopux]: New port. - * ltmain.in [mips-compaq-nonstopux]: Support - $version_type == nonstopux. - -2001-10-28 Albert Chin-A-Young - - * libltdl/ltdl.c (foreach_dirinpath): change some types to size_t - from int because strlen() returns size_t. argz_len changed to - size_t because argzize_path() takes 3rd argument as size_t, not - int. - Based on lint run from Bob Friesenhahn - -2001-10-27 Gary V. Vaughan - - * libtool.m4 (_LT_AC_TAGCONFIG): Cray sed does not allow character - sets to contain the separator character. - Reported by Kevin Ryde - - * ltdl.m4 (AC_WITH_LTDL): New macro to add `--with-included-ltdl' - option to configure, but to find an appropriate ltdl library and - append the right options to link it. - -2001-10-24 Kevin Ryde - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Remove a stray ' quote. - -2001-10-24 H.J. Lu - - * ltmain.sh: Allow link against an archive when building a - shared library. - * libtool.m4 (lt_cv_deplibs_check_method): Always use - file_magic for Linux ELF. - -2001-10-12 Guido Draheim - - * ltdl.m4: Changed "underscode to underscore". - -2001-10-06 Gary V. Vaughan - - * configure.ac: General modernisation and cleanup. - * cdemo/configure.ac: Ditto. - * demo/configure.ac: Ditto. - * depdemo/configrue.ac: Ditto. - * ltdl/configure.ac: Ditto. - * ltdldemo/configure.ac: Ditto. - * mdemo/configure.ac: Ditto. - * pdemo/configure.ac: Ditto. - * tagdemo/configure.ac: Ditto. - -2001-10-04 Albert Chin-A-Young - - * libltdl/ltdl.c: Match function return type with prototype - (add static initializer to file_not_found). - -2001-09-30 Gary V. Vaughan - - * libtool.m4 (AC_LIBLTDL_CONVENIENCE): s/INCLTDL/LTDLINCL/ for - consistency with gettext's INTLINCL. Keep the old symbol too for - backwards compatibility. - (AC_LIBLTDL_INSTALLABLE): Ditto. - * doc/libtool.texi (Distributing libltdl): Adjust documentation. - -2001-09-22 Albert Chin-A-Young - - * ltdl.m4 (AC_LTDL_DLLIB): Even though HP-UX 10.20 and 11.00 - support shl_load *and* dlopen, dlopen works correctly only - with a patch. Because we want to avoid the situation where we - build on a system with the patch but deploy on a system without, - use shl_load exclusively if found. - -2001-09-22 Gary V. Vaughan - - * libtool.m4 (_LT_AC_FILE_LTDLL_C): Be carefule that the start - marker searched for by sed must start in column 0. - (_LT_AC_FILE_IMPGEN_C): Ditto. - Reported by Tor Lillqvist - -2001-09-22 Tor Lillqvist - - * libtool.m4 [mingw* cygwin*]: Small improvement for mingw-hosted - tool support (while still running libtool on cygwin). In that case - PATH_SEPARATOR is ':', but gcc -print-search-dirs still prints its - search path with ';' as separator. - (AC_LIBTOOL_RC, AC_LIBTOOL_LANG_RC_CONFIG): Add support for .rc - files (Windows resource files), compiled by the resource compiler - (windres in mingw) to .o files. - (AC_PROG_NM): Minor bug fix for $PATH elements with spaces in - them. - * configure.ac: Use LT_AC_PROG_RC. - * ltmain.in: Check for .rc files. - * NEWS: Updated. - - * ltmain.in: Add a space to $base_compile in the case statement, - as the case labels checks for trailing spaces, but there aren't - necessarily in $base_compile. - -2001-09-22 Albert Chin-A-Young - - * libtool.m4: When setting archive_cmds for CC, don't - test for $GXX but for $GCC on HP-UX. Indentation fixes. - -2001-09-21 Gary V. Vaughan - - From Tor Lillqvist : - * ltmain.in [cygwin* mingw*]: Take care of the difference between - wrapper script name and executable name. - - * libtool.m4 (archive_cmds) [darwin1.[0-2]]: Darwin uses zsh-3.1.6 - for /bin/sh, and that shell does not handle escaped quotes - properly yet. - Reported by Christopher Pfisterer - -2001-09-21 Albert Chin-A-Young - - * libltdl/ltdl.c: Match function return type with prototype - (add static initializer to some functions) to prevent warnings - from HP-UX cc. - -2001-09-21 Gary V. Vaughan - - * libltdl/ltdl.c: Added support for dmalloc, and uncovered some - memory bugs as a result. - -2001-09-21 Albert Chin - - * libtool.m4: Don't include main() when testing for command to - parse $NM output because some C++ compilers don't allow you to - take the address of main (e.g. HP-UX aCC). - - * libtool.m4: Some uses of $GXX were unquoted, but GXX is either - NULL or yes. Use "$GXX". - -2001-09-13 Assar Westerlund - - * ltdl.m4 (AC_LTDL_DLLIB): call dlopen with arguments so the test - does not fail due to a prototype in dlfcn.h - -2001-09-13 Gary V. Vaughan - - * ltdl.m4 (AC_CHECK_HEADERS): Check for assert.h. - * libltdl/ltdl.c: If not, disable assertions manually. - -2001-09-11 Gary V. Vaughan - - * bootstrap: Be robust to having no files that need removing. - - * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump libltdl version to - 1.2. - * libltdl/Makefile.am (libltdl_la_LDFLAGS): Bump libtool library - version info to 4:0:1. - -2001-09-11 Gary V. Vaughan - - * libtool.m4: No need to undefine([symbols]), proper quotation is - enough. - -2001-09-10 Gary V. Vaughan - - * libtool.m4: CVS Autoconf guarantees a decent default IFS, so - there is no need for us to preset it anymore. - Be careful not to set IFS="${IFS}$PATH_SEPARATOR" for PATH - splitting, otherwise spaces in directory names will be lost. - Use $PATH_SEPARATOR... don't rely on $ac_path_separator, which was - an autoconf internal until just now, when it disappeared! - * ltmain.in: Default IFS once, at the start. - Reported by Akim Demaille - -2001-09-10 Brad - - * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Missed an instance of - Autoconf square bracket quoting style normalisation. - - * ltmain.in (-lc_r): Style improvement. - - * doc/libtool.texi: Remove obsolete references to ltconfig. - * tests/quote.test: s/ltconfig/\$0/ - -2001-09-09 Gary V. Vaughan - - * libtool.m4: Use Autoconf square bracket quoting style - consistently throughout. - -2001-09-08 Gary V. Vaughan - - * bootstrap: Cleanup `autom4te' and `libtool' so that we don't - get caught by something from a previous build. - - * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Revert - my 2001-09-06 patch. - (no_undefined_flag)i [solaris*]: Revert Alexandre's 2001-04-11 patch. - -2001-09-07 Gary V. Vaughan - - * libltdl/ltdl.c (foreach_dirinpath): argz_len should be a size_t. - Reported by Albert Chin - -2001-09-06 Gary V. Vaughan - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [solaris*]: Typo. s/GXX/GCC/. - - * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing - no_undefined_flag from `-z text' to `-z defs' (see entry below at - 2001-04-11 Alexandre Oliva ) has a problem. - when linking a shared library with gcc calling /usr/ccs/bin/ld (eg. - the gcc supplied with Solaris 8 companion CD), using the flag - -no-undefined, shared library linking will always fail because of - the unresolved symbols from libgcc.a. Consequently we have to - provide a path to libgcc.a when linking shared libraries in - conjunction with -no-undefined! - - From Michael Pruett : - * libltdl/ltdl.c (find_module): `0' valued arguments to - tryall_dlopen_module() must be explicitly cast to avoid compiler - warnings on some environments. - - From Daniel Johnson : - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Move from GNU - ld section to non-GNU ld section. - -2001-09-05 Robert Boehne - - * pdemo/Makefile.am (helldl): Automake 1.4 can't find the target - if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. - Using both targets to the left of the colon seems to work though! - -2001-09-03 Gary V. Vaughan - - * demo/Makefile.am (helldl): Automake 1.4 can't find the target - if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. - Using both targets to the left of the colon seems to work though! - -2001-09-03 Brad - - * ltdl.m4 [AC_LTDL_SYS_DLOPEN_DEPLIBS]: Teach ltdl about the - behavior of OpenBSD's dlopen(). - -2001-09-03 Gary V. Vaughan - - From Marius Vollmer : - * libltdl/ltdl.c (tryall_dlopen_module): Don't forget to propogate - errors over recurse levels. - -2001-09-03 Brad - - * libtool.m4 [openbsd*]: More improvements to the OpenBSD port. - -2001-09-02 Gary V. Vaughan - - From Albert Chin : - * libtool.m4 (_LT_AC_LANG_C_CONFIG) [aix4*]: Be careful with - shared namespaces for static and shared libs. - (AC_LIBTOOL_DLOPEN_SELF): If all else fails, try dld_link from GNU - DLD. - -2001-09-02 Christopher Pfisterer - - * libtool.m4, ltmain.in: Linker flag and version numbering fixes - for darwin. - -2001-09-02 Gary V. Vaughan - - Based on a patch from Marius Vollmer : - * NEWS: updated. - * ltdl.m4 (AC_LIB_LTDL): Check for unistd.h. - * ltdl.c: Include unistd.h if it exists. - (LTDL_SEARCHPATH_VAR): Macro to prevent hardcoding - "LTDL_LIBRARY_PATH". - (LTDL_ARCHIVE_EXT): Macro to prevent hardcoding ".la". - (archive_ext): Have only one copy of ".la" in the readonly - segment of the compiled library. - (find_handle_callback): Don't bother trying to dlopen the file if - it doesn't exist. - (find_handle): Don't bother searching for files if no search_path - was supplied. - (file_not_found): A new function to determine whether the last - error was due to a file not found condition. - (try_dlopen): Renamed from lt_dlopen() and changed to have the - same footprint as tryall_dlopen. This involved a minor rewrite of - much of the internals of this function. - (lt_dlopen): A new function wrapped arounf try_dlopen(). - (lt_dlopenext): If a file already has a suitable extension, don't - bother adding additional extensions and trying to open those. - Tidy up the rest of the code to prevent continued searching with - an eventual FILE_NOT_FOUND when a genuine failure earlier in the - search process could be legitimately reported. - - * demo/Makefile.am (helldl$(EXEEXT)): Automake-1.5 made me change - this from just `helldl'. - -2001-07-31 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) Fixed a problem - with export_symbols_cmds not being set for CXX tags, and - not being properly set for any tag under AIX/Power. - -2001-08-19 Ossama Othman - - * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Corrected and improved - error message that is displayed when there was a problem - compiling the C++ test program. It still mentioned the now - non-existent `ltcf-cxx.sh' file. - - * doc/libtool.texi (LTDL_SET_PRELOADED_SYMBOLS): Removed - parentheses at end of starting "defmac" line, as pointed out by - makeinfo. - -2001-08-18 Brad - - * ltmain.in: Do not remove -lm from deplibs for OpenBSD. - -2001-08-16 Gary V. Vaughan - - * libltdl/ltdl.c (argz_create_sep): Don't forget to include the - terminating '\0' when counting argz_len. - (argz_create_sep): When canonicalizing argz, don't forget to copy - the terminating '\0', incase canonicalization has shortened argz. - (argz_stringify): Don't covert the final '\0' to a separator. - -2001-08-15 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dlhandle_next): Now we can loop through all - loaded module handles as originally intended. - - * libltdl/ltdl.c (lt_dlseterror): Oops. This never worked - either, due to a pair of typos. Now fixed. - - * libltdl/ltdl.c (N_ELEMENTS): Deleted. How come nobody noticed - there was no way this could have ever worked? - (lt_dlcaller_set_data): Now that valid caller_ids must be - non-zero, allocate an addition entry in the caller_data vector and - use a zero valued key as the end marker. - (lt_dlcaller_get_data): Iterate up to the end marker in one pass. - -2001-08-14 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dlcaller_register): Caller ids are allocated - starting from value `1', so that clients can use a value of zero - to indicate that libltdl has not yet initialised. - - * ltmain.in (exec_cmd): Fix quoting in execute mode so that the - double quotes added by libtool (to prevent lossage with embedded - spaces in filenames etc.) are not interpreted as literals by the - shell. - -2001-08-13 Gary V. Vaughan - - * libltdl/ltdl.c (find_file_callback): Fix a multiple free() - bug. - (tryall_dlopen_module): Remove some unused variables. - - * libltdl/ltdl.c (lt_dlinsertsearchdir): Calculate the address - of the end of user_search_path correctly. - - * libltdl/ltdl.c (rpl_argz_stringify): New fallback implementation. - * ltdl.m4 (AC_LTDL_FUNC_ARGZ): Test for argz_stringify in libc. - * libltdl/ltdl.c (lt_argz_insertinorder): Renamed from - lt_argz_insert to make room for... - (lt_argz_insert): Wraps argz_insert with libltdl error handling. - (lt_dlpath_insertdir): Insert new path elements into an - argzized path. - (lt_dlinsertsearchdir): New function to insert new search - directories anywhere into user_search_path using the above. - (lt_dladdsearchdir): Rewritten to use lt_dlpath_insertdir. - * libltdl/ltdl.h (lt_dlinsertsearchdir): Prototype for export. - * doc/libtool.texi (Libltdl interface): Document it. - * NEWS: Updated, - -2001-08-07 Gary V. Vaughan - - From Albert Chin : - * ltmain.in [irix*]: $with_gcc is either "yes" or "" (empty string) - with current autoconf, so we need to be robust to that when testing - it, - -2001-08-06 Gary V. Vaughan - - From Brad : - * libtool.m4 (deplibs_check_method) [aix*]: Removed redundant setting - of this variable. - -2001-08-05 Gary V. Vaughan - - * libltdl/ltdl.c (load_deplibs): Insert missing 1st argument to - LT_EMALLOC. - -2001-08-05 Tim Van Holder - - * ltdl.m4: Canonicalize descriptive text used with - AC_DEFINE. - - * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Remove. - (_LT_AC_PROG_ECHO_BACKSLASH): Use $ac_path_separator - instead of $PATH_SEPARATOR. - (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Ditto. - (_LT_AC_TAGCONFIG): Ditto. - (AC_ENABLE_SHARED): Ditto. - (AC_ENABLE_STATIC): Ditto. - (AC_ENABLE_FAST_INSTALL): Ditto. - (AC_PATH_TOOL_PREFIX): Ditto. - (AC_PATH_MAGIC): Ditto. - (AC_PROG_LD): Ditto. - (AC_PROG_NM): Ditto. - * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): Ditto. - -2001-08-05 Gary V. Vaughan - - From Brad : - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: OpenBSD - can build modules without a `lib' prefix and version number. - Move the deplibs check code from here... - (AC_DEPLIBS_CHECK_METHOD): ...to here. - -2001-08-05 Tim Mooney - - * libtool.m4 [osf3*, osf4*, osf5*]: Tru64 *can* build modules - without a `lib' prefix to the module name. - -2001-08-05 Gary V. Vuaghan - - From Guido Draheim : - * ltmain.in: Display better and different error messages when - library linkage fails in various ways. - -2001-08-05 Albert Chin-A-Young - - * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Add newline after - terminating '}' grouping character. Change '[0-9][0-9]' - to '0' as we've already matched it. - -2001-08-05 Gary V. Vaughan - - From Brad : - * libtool.m4 (archive_cmds) [darwin, newsos, sysv4]: Replace - 1.3 era $linkopts references with $linker_flags. - - * libltdl/ltdl.c: Fixed several careless mistakes in the - foreach_dirinpath support functions. - (foreach_dirinpath): Walk path elements with the argz API. - -2001-08-04 Gary V. Vaughan - - From Sedi Master Albert Chin : - * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Replace the awk invocation - with an equivalent bit of sed wizardry. - - From Edouard G. Parmelan - * libtool.m4 [darwin, openbsd]: Fix quoting problems with - unquoted [] expressions. - -2001-08-03 Gary V. Vaughan - - * bootstrap: s/ltdldemo // -- This demo soesn't work properly, - so I haven't committed it yet. - -2001-08-01 Ossama Othman - - * libtool.m4 (AC_LIBTOOL_SETUP): Require Autoconf-2.50 via the - AC_PREREQ autoconf macro since the new libtool macros utilize - macros from that version of Autoconf. - -2001-08-01 Gary V. Vaughan - - * ltdl.m4: Bump serial number. - General reformat and tify up in line with Autoconf-2.50 support. - (AC_LTDL_FUNC_ARGZ): Test for system implementations of a - handful of argz API calls, the error_t type, and the argz.h - header. - * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump version number. - * libltdl/ltdl.c (rpl_argz_append, rpl_argz_create_sep. - rpl_argz_insert, rpl_rgz_next): Fallback implementations of - the similarly named functions for machines that don;t use glibc. - (lt_dlrealloc): New memory function pointer that can be set by - the client. Defaults to rpl_realloc, which in turn uses only - lt_dlmalloc and lt_dlfree. - (LT_EMALLOC, LT_EREALLOC): Set internal out-of-memory error - inside the functions called by these new macros. Simplified all - callers by removing explicit client error reporting. - (memmove): Fallback implementation of overlap safe memory copy - function. - (tryall_dlopen): Factorized common code into... - (tryall_dlopen_module): ...this new helper function. - (canonicalize_path): Changed function signature to return success - or failure. Updated all callers. - (foreachfile_callback): Make use of argz API. - (LT_DLSTRLEN): Moved from here... - * libltdl/ltdl.h (LT_STRLEN): ...to here. Updated all callers. - (lt_dlrealloc): Declare new memory management handle. - -2001-07-31 Robert Boehne - - * libtool.m4 (mingw*) Revert the previous change as it was - applied by mistake. - -2001-07-31 Guido Draheim - - * libtool.m4 (mingw*) sys_lib_search_path_spec: - Sets the proper path separator for cross-compiling. - -2001-07-30 Steve Ellcey - - * libtool.m4 (ia64-*-hpux*) Add support for ia64*-*-hpux* platform. - -2001-07-30 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Fixed an - incorrect resetting of lt_prog_compiler_static when using gcc - under AIX Power. - -2001-07-31 Gary V. Vaughan - - * bootstrap: Remove generated files (incase they are links) before - rerunning the autotools to regenerate them. - -2001-07-30 Gary V. Vaughan - - * libtool.m4 (AC_LIBTOOL_SETUP): Use Autoconf-2.50 era - quadrigraphs and AC_HELP_STRING to bring AC_ARG_WITH/ENABLE - macros up to date. - (_LT_AC_LOCK): Ditto. - (_LT_AC_TAGCONFIG): Ditto. - (AC_PROG_LD): Ditto. - (AC_ENABLE_SHARED): Ditto. And eliminate the last remaining - changequote invocations. - (AC_ENABLE_STATIC): Ditto. And Ditto. - (AC_ENABLE_FAST_INSTALL): Ditto. And Ditto. - * ltdl.m4 (AC_LTDL_ENABLE_INSTALL): Use Autoconf-2.50 era - quadrigraphs and AC_HELP_STRING to bring AC_ARG_ENABLE - macro up to date. - * NEWS: Updated. - - * libtool.m4 [UnixWare7, OpenUNIX8]: Initial support for - UnixWare7 and OpenUNIX8. Accept these identifiers from the - latest config.guess/config.sub as pseudonyms for sysv5uw[78]. - * NEWS: Updated. - Reported by Boyd Lynn Gerber - -2001-07-29 Gary V. Vaughan - - * tests/sh.test: Add a new test to enforce X as the fill - character in `test "X...'. - Beef up the `test' tests to also check `test -.' and `test ! -.' - phrases for compliance. - * ltmain.in: Fix quoting problems uncovered by the new tests. - -2001-07-29 Andrew C. Feren - - * tests/sh.test: New test to disallow `test $foo', where - `test "$foo"' is much safer. - * ltmain.in: Fix quoting problems uncovered by the new test. - -2001-07-29 Steve Ellcey - - * libtool.m4 (lt_cv_sys_global_symbol_to_cdecl): Change it from - "extern char" to "extern int" so that GCC 3.0 won't complain and - refuse to compile programs containing "extern char main()". - -2001-07-29 Gary V. Vaughan - - From Guido Draheim : - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Support - cross compilation to mingw by allowing `:' or ';' as a path - separator. - * NEWS: Updated. - -2001-07-27 NIIBE Yutaka - - * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all - for sh*-*-linux* (SuperH) too. - -2001-07-25 Ossama Othman - - From Thomas Poindessous - * ltmain.in (pic_mode): Added missing quotes around shell - variable in "if test" conditional. - - From Peter Moulder - * ltmain.in (xform): Add support for pre-processed - (e.g. `*.{i,ii}' sources). - -2001-07-25 Gary V. Vaughan - - From Steve Ellcey : - * libltdl/ltdl.c (foreach_dirinpath): Free unassigned pointer - fix for `canonical'. - -2001-07-23 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG, AC_LIBTOOL_PROG_LD_SHLIBS) - [aix4*, aix5*]: Fixed a mispelled binder option under AIX. - The option to throw errors for unresolved external references is - -bernotok, not -bnoerok. - -2001-07-23 Gary V. Vaughan - - * Makefile.am (EXTRA_DIST): Don't forget to distribute - ChangeLog.1. - - From Erik Lindahl - * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Used on aix to discover - the compiler's default library search path so that the MPI - compiler suite is not hosed by the previously hardcoded path. - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [aix4*, aix5*]: Use it. - -2001-07-23 Andreas Schwab - - * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for - s390*-*-linux* and m68*-*-linux*. - -2001-07-19 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix tag support - problems with CXX variables being overwritten by the individual - macros. - (AC_LIBTOOL_PROG_CC_C_O): Ditto. - (AC_LIBTOOL_PROG_COMPILER_PIC): Ditto. - (AC_LIBTOOL_LANG_CXX_CONFIG): Moved call to - AC_LIBTOOL_SYS_HARD_LINK_LOCKS after the call to - AC_LIBTOOL_PROG_CC_C_O as it depends on the result. - (AC_LIBTOOL_LANG_GCJ_CONFIG): Ditto. - (AC_LIBTOOL_LANG_C_CONFIG): Ditto. - (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Used the macro - _LT_AC_TAGVAR to ensure the correct variable is being queried. - (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Changed the naming of shared - objects under IRIX back to what it was in the MLB. - -2001-07-23 Mark Kettenis - - * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN) [gnu*]: Remove spurious - "break" and bogus comment - (_LT_AC_LANG_CXX_CONFIG): Add support for the Hurd. - * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Add support for the Hurd. - -2001-07-16 Robert Boehne , Tim Mooney - - * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): add cases and comments for - more platforms, including AIX, Digital/Tru64 UNIX and IRIX. - -2001-07-16 Gary V. Vaughan - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix ia64 AIX - run-time-linking when not using gcc. - (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. - Reported by Dan McNichol - -2001-07-12 Gary V. Vaughan - - From dda@sleepycat.com (Don Anderson): - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [qnx]: New - supported architecture. - (AC_DEPLIBS_CHECK_METHOD) [qnx]: Ditto. - * NEWS: Updated. - - From Stefan Ondrejicka : - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [cygwin*]: Make - sure that /lib/w32api is searched for system libraries to - match recent versions of cygwin. - * NEWS: Updated. - -2001-07-12 Dan McNichol - - From albert chin - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix AIX - run-time-linking when using gcc. - (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. - -2001-07-11 Gary V. Vaughan - - * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, - solaris]: Doh! the evalled variable shouldn't have been - quoted. - - * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, - solaris]: output_verbose_link_cmd have unquoted `*' in case - statements for these architectures. Be sure to quote them - with a sed expression before passing to eval. - Reported by Tim Mooney - -2001-07-09 Gary V. Vaughan - - * README-alpha: s/configure.in/configure.ac. - * configure.ac: Bumped version to 1.4c. - - GNU libtool 1.4b was released. - - * configure.ac: Bumped version to 1.4b. - * NEWS: updated. - * config.guess, config.sub, texinfo.tex: Synchronised from - ftp.gnu.org. - -2001-07-09 Robert Boehne - - From Michael Elizabeth Chastain : - * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len - to a maximum of 512Kb, as it seems some HPUX 11.0 systems - have trouble with 1MB. - -2001-07-09 Gary V. Vaughan - - * README-alpha: Upgrade distribution instructions to include - canonical location of texinfo.tex. - -2001-07-09 Timothy Wall - - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Don't disable shlibs - on AIX5/IA64 with GNU ld. Keep gnu defaults if using gnu tools - on AIX5/IA64. - -2001-07-09 Robert Boehne - - * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len - to -1 on hurd, it has no command line argument limits. - * ltmain.in Handle max_cmd_len=-1 for systems that don't have - command line argument limits. - -2001-07-05 Gary V. Vaughan - - * libtool.m4 (_LT_AC_LANG_C_CONFIG): Revert to 1.3.x - sematics, and always build static libs when the host machine - cannot build shared libs. Even if static libs were explicitly - disabled. - -2001-07-02 Gary V. Vaughan - - Cleanup of libltdl: - * ltdl.c (lt_dladderror): Don't use `index' as a variable name, - since it is a function on BSD based boxes. - (lt_dlseterror): Ditto. - (lt_dlexit): Remove unused errormsg declaration. - (foreach_dirinpath): Make sure filename is initialised. - (find_handle): Return NULL for a failed search. - (foreachfile_callback): Don't reuse data2 symbol from prototype - in func declaration to prevent symbol shadowing. - * ltdl.h (lt_dlmutex_seterror): Don't use `error' as a parameter - name, since it is a function on glibc boxes. - - * libtoolize.in: Display --version in the same format as - autoconf and automake. - * ltmain.in: Ditto. - -2001-06-30 Gary V. Vaughan - - Merge test improvements from multi-language-branch: - * tests/defs: Find and set the value of CC probed by libtool.m4 - * tests/link-2.test: Use a .lo wrapper script, and the value of - CC set by defs instead of hardcoding gcc. - * tests/link.test: Use the value of CC set by defs instead of - hardcoding gcc. - * tests/quote.test: Ditto. - * tests/suffix.test: Ditto. - - * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Always set - lt_prog_compiler_wl to `-Wl'. - Reported by Albert Chin-A-Young - - * ltdl.m4 (AC_LTDL_DLLIB) [sco3.2*]: When searching for a dlopen - implementation, and adding `-ldl' has failed, try linking a call - to dlopen, #including dlfcn.h, and without -ldl. On sco3.2 the - header files redefines the interface symbols to point at the - implementation symbols in libc. - Reported by "Golubev I. N." - -2001-06-29 Tim Van Holder - - General cleanup of autoconf-2.50 upgrade: - * configure.ac: Mark as needing autoconf-mode in - emacs. Pass arguments to AC_INIT. - * cdemo/configure.ac: Ditto. - * demo/configure.ac: Ditto. - * depdemo/configure.ac: Ditto. - * libltdl/configure.ac: Ditto. - * mdemo/configure.ac: Ditto. - * pdemo/configure.ac: Ditto. - * tagdemo/configure.ac: Ditto. - * ltdl.m4: Mark as needing autoconf-mode in - emacs. - * libtool.m4: Mark as needing autoconf-mode in - emacs. Don't add () to AS_MESSAGE_LOG_FD. - * libltdl/configure.ac: Use config-h.in as - template for config.h. - * tagdemo/configure.ac: Drop the AC_DIAGNOSTIC. Move - AC_LANG([C++]) after the OBJEXT/EXEEXT check. - -2001-06-29 Gary V. Vaughan - - From Tim Van Holder - * tests/suffix.test: Typo in 2nd for loop. - - From Tim Van Holder - * libltdl/Makefile.am (OBJECTS): This was an implicit variable. - instead state the list of object variables explicitly. - - From Bruno Haible - * libtool.m4: undefine the m4 builtin `symbols', so that the - string `symbols' can be used in the rest of the code without - causing errors with autoconf-2.13. - - From "Golubev I. N." - * tests/Makefile.am (CPPLAGS): Typo. s/CPPLAGS/CPPFLAGS. - - * mdemo/Makefile,am (foo1_la_LIBADD): Add libsub.la, since foo1 - does use symbols from libsub.la -- only platforms that allow - undefined symbols in libraries were able to cope with this - previously. - Reported by Robert Collins - - From "Golubev I. N." - * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [sco3.2v5*]: Needs - -wl,-Bexport to make self dlopen work. - -2001-06-28 Gary V. Vaughan - - From Alexander Bluhm - * libltdl/ltdl.c (lt_dlopen): Fix bad memory initialisation - assumptions. - - * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE) [HPUX]: Define - lt_cv_sys_global_symbol_to_c_name_address to be a sed expression - for mangling the output of the symbol pipe into a brace delimited - C declaration of symbol name and address. - * ltmain.in: Use it to generate the fooS.c symbol name - Reported by Albert Chin-A-Young - -2001-06-28 Tim Van Holder , Gary V. Vaughan - - * bootstrap: Use cp instead of ln -s, for systems without - symlinks. Reorder the statements to avoid repetition outside - the loop. - -2001-06-28 Paolo Bonzini , Gary V. Vaughan - - Libtool now builds with the help of Autoconf-2.50! - * configure.ac (AC_PREREQ): Require Autoconf-2.50 or newer. - (AC_PROG_CPP, AC_EXEEXT, AC_OBJEXT): Removed. Autoconf-2.50 - doesn't have the AC_REQUIRE bug that required these to be called - explicitly from here. Autoconf-2.50 uses this file instead of... - * configure.in: ...this, which is now deleted. - * cdemo/configure.ac, cdemo/configure.in: Ditto. - * demo/configure.ac, demo/configure.in: Ditto. - * depdemo/configure.ac, depdemo/configure.in: Ditto. - * libltdl/configure.ac, libltdl/configure.in: Ditto. - * mdemo/configure.ac, mdemo/configure.in: Ditto. - * pdemo/configure.ac, pdemo/configure.in: Ditto. - * tagdemo/configure.ac, tagdemo/configure.in: Ditto. - * libltdl/acconfig.h: Deleted. - * Makefile.am (libtool): libtool now depends on configure.ac. - * libtool.m4 (_LT_AC_LOCK): Use 2.50's AC_LANG_PUSH/AC_LANG_POP - instead of 2.13's AC_LANG_SAVE/AC_LANG_RESTORE. - (AC_LIBTOOL_LANG_C_CONFIG): Ditto. - (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. - * libtoolize.in: Use $configure_ac, instead of hardcoding - configure.in. - -2001-06-28 Tim Van Holder - - * pdemo/Makefile.am: Use '=' instead of '+=' to shut up - automake. - -2001-06-27 Gary V. Vaughan - - From brad@openbsd.org: - * NEWS: Updated. - * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: Improved - support for various openbsd platforms. - (AC_LIBTOOL_PROG_LD_SHLIBS): Ditto. - * ltmain.in: Ditto, - -2001-06-26 Gary V. Vaughan - - * NEWS: Updated. - * libltdl/ltdl,c (LT_DLMUTEX_LOCK): Renamed from MUTEX_LOCK to - avoid potential namespace clash. - (LT_DLMUTEX_UNLOCK, LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR): - Ditto. - (lt_dlmutex_lock_func): Renamed from mutex_lock to avoid a - namespace clash of NCR MP-RAS. - (lt_dlmutex_unlock_func, lt_dlmutex_seterror_func, - lt_dlmutex_geterror_func): Ditto. - Reported by Edouard G. Parmelan - - * libltdl/ltdl.c (LT_DLSTRLEN): Call strlen only if the argument - is non-NULL and non-zero in length. Changed all calls to strlen - appropriately. - - * libltdl/ltdl.c: Prototype all static functions. - - * ltdl.m4: Bump serial number to 3. - (AC_LIB_LTDL): Require AC_HEADER_DIRENT for ltdl.c. - * libltdl/ltdl.h (lt_dlforeachfile): Prototype for new function. - * libltdl/ltdl.c: Include an appropriate header for the - opendir/dirent api. - (foreach_dirinpath): Visit each file in a list of directories. - (find_file_callback): Factor out the core of find_file() to make - use of foreach_dirinpath(). - (find_file): Use it! - (find_handle_callback, find_handle): Ditto. - (lt_dlforeachfile): New function to find files in a searchpath.,, - (foreachfile_callback): ...using this callback. - * doc/libtool.texi (Libltdl interface): Document new - lt_dlforeachfile api call. - -2001-06-25 Gary V. Vaughan - - * THANKS: Added Albert Chin-A-Young. - - * libtool.m4 (IFS): When IFS is changed to split a string for - examination in a loop, restore it inside the loop as well as - outside incase IFS is needed by commands in that loop. - Reported by Pavel Roskin - -2001-06-25 Albert Chin-A-Young - - * libtool.m4: Prefer shl_load to dlopen on HP-UX because dlopen - won't work properly without a patch. - -2001-06-25 Daniel Harvey - - * libtool.m4 (ltdll_cmds): [$]0 doesn't appear to translate through - the script correctly, change to $''0 - -2001-06-25 Maciej W. Rozycki - - * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for - mips-*-linux* and mipsel-*-linux*. - -2001-06-24 Andreas Schwab - - * libtool.m4 (AC_LIBTOOL_SETUP): Remove failed try to - transform linux to linux-gnu in $host. - (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match $host_os against - linux*, not linux-gnu*. - (AC_DEPLIBS_CHECK_METHOD): Likewise. - -2001-06-24 Gary V. Vaughan - - * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Set - PATH_SEPARATOR appropriately if it is not set already, - (_LT_AC_TAGCONFIG): Use it. - (AC_ENABLE_SHARED): Ditto. - (AC_ENABLE_STATIC): Ditto. - (AC_ENABLE_FAST_INSTALL): Ditto. - (AC_PATH_TOOL_PREFIX): Ditto. - (AC_PATH_MAGIC): Ditto. - (AC_PATH_PROG_NM): Ditto. - - From Tim Van Holder : - * libtool.m4: Use the canonical absolute path test - ([\\/]* | ?:[\\/]) and $PATH_SEPARATOR wherever - appropriate. - (AC_LIBTOOL_PROG_CC_PIC): Properly recognize DJGPP as a - platform that doesn't support shared libraries. - (AC_LIBTOOL_SYS_MAX_CMD_LEN): Avoid this test on DJGPP; use a - fixed value (12K) instead. - (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't forget $ac_exeext - when testing for link success. - - * configure.in (AM_INIT_AUTOMAKE): Bumped version to 1.4a. - - Complete the new configure time tags creation facility based on - the ltcf-*.sh and ltconfig.in files from multi-language-branch: - * libtool.m4: More refactoring and reformatting. - (_LT_AC_LANG_GCJ_CONFIG): Merged ltcf-gcj.sh from - multi-language-branch. - (_LT_AC_LANG_CXX_CONFIG): Merged ltcf-cxx.sh from - multi-language-branch. - * configure.in (AC_PROG_CXX, LT_AC_PROG_GCJ): Compiler checks must - be done before AC_PROG_LIBTOOL which appends tags based on their - results. - -2001-06-12 Robert Boehne - - * docs/libtool.texi: Updated the libltdl interface documentation - to bring it up to date. - -2001-06-06 Gary V. Vaughan - - * demo/Makefile.am (objdir): Use `libtool --config' for - extracting configuration values, since a given value may - be present in each tag. - (hc-libpath): Ditto. - (hc-minusL): Ditto. - * libtool.m4 (_LT_AC_TAGCONFIG): Add tagged configurations from - the --with-tags option. - (_LT_AC_LTCONFIG_HACK): Factored out into separate configuration - macros -- The interdependencies and running order are still - immutable, and need a lot of work to fix. - (AC_LIBTOOL_CONFIG): Taken from the previous incarnation of - _LT_AC_LTCONFIG_HACK -- this macro is used both to create the - primary (C language) libtool configuration from - _LT_AC_LTCONFIG_HACK and also to append tagged configurations from - _LT_AC_TAGCONFIG. - * NEWS: Merged from multi-language-branch. - -2001-06-06 Robert Boehne - - * bootstrap: Added tagdemo and pdemo tests from - multi-language-branch. - * configure.in: Added pdemo and tagdemo to CONF_SUBDIRS - and merged references to CXX and GCJ from multi-language-branch. - * pdemo: Added test directory from multi-language-branch. - * tagdemo: Added test directory from multi-language-branch. - * tests/Makefile.am: Merged additional tests from - multi-language-branch. - * tests/pdemo-*.test: ditto. - * tests/tagdemo-*.test: ditto. - -2001-05-30 Gary V. Vaughan - - * libtool.m4: Merged ltconfig.in from multi-language-branch. - -2001-05-28 Gary V. Vaughan - - * libtool.m4: Reformatting for consistency, and some refactoring - in preparation for ltcf-*.sh merge. - -2001-05-27 Gary V. Vaughan - - * ltmain.in: Merged from multi-language-branch. - * libtool.m4: Merged from multi-language-branch. - * ChangeLog: Started afresh. Old ChangeLog history moved to... - * ChangeLog.1: ...here. - -2000-06-04 Mark Mitchell - - * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris, - with_gcc]: Use `gcc -shared' to build a shared library. - -2001-06-04 John David Anglin - - * ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared - archives. - -2001-05-28 Simon Patarin - - * ltcf-cxx.sh (osf3/osf4/osf5): Support creation of C++ shared - libraries when using g++ with native linker. - -2001-05-28 Albert Chin - - * ltconfig.in (version_type, soname_spec) [aix4* | aix5*]: Use - linux-style versioning, and remove trailing .o from soname_spec. - -2001-05-22 Alexandre Oliva - - * ltcf-cxx.sh (allow_undefined_flag, no_undefined_flag) - [aix4*|aix5*]: Prepend blank. - -2001-05-20 Alexandre Oliva - - * configure.in: Reverted to 1.4, to avoid confusion with MLB. - Mainline is the release snapshot, except for the ChangeLog version - number, until the multi-language branch is merged into it. - - * ltconfig.in: Fix sh.test regression introduced in previous patch. - - * ltconfig.in (lt_cv_sys_max_cmd_len): Improve test to work better - in case of non-built-in echo. Set bounds correctly. - - * ltcf-cxx.sh (allow_undefined_flag) [aix4* | aix5*]: Fix quote - error. - - * ltmain.in (exec_cmd): New variable. Don't exec programs within - the big `case'; set the variable instead, and exec the cmd - afterwards, so that the shell gets a chance to clean up here-doc - files. - * NEWS: Update. - -2001-05-16 Alan Modra - - * libtool.m4 (lt_cv_deplibs_check_method): pass_all for hppa*-linux. - -2001-05-03 Andreas Jaeger , Andreas Schwab - - * ltmain.in (relink_command): Arrange for wrapper script to save - output to a variable and display it only if relinking fails. - -2001-04-25 Gary V. Vaughan - - * configure.in: bumped version to 1.4a. - - GNU libtool 1.4 was released. - - * configure.in: Bumped version to 1.4. - * config.sub, config.guess: Synchronised from ftp.gnu.org. - * NEWS: updated. - -2001-04-24 Peter Eisentraut - - * libtool.m4: Support $host_os as /sysv5uw7*/ from newer - config.guess in addition to older /unixware*/. Use compiler - driver, not linker, for linking shared libraries. - -2001-04-24 Gary V. Vaughan - - * libtool.m4, ltmain.in, libltdl/configure.in, - tests/quote.test: Remove stale references to ltconfig. - - * ltdl.m4 (AC_C_INLINE): No longer required. - * libltdl/ltdl.c (strdup, strcmp, strchr, strrchr, memcpy, trim, - free_vars): Revoke inline keyword from declarations. `static - inline' is not very portable, and in addition Unixware 7.1.1's - compiler says you can't access static variables from inline - functions. - Reported by Peter Eisentraut - -2001-04-24 Albert Chin-A-Young - - * libtool.m4: Handle case where /bin/nm -p outputs multiple - symbol types (like under HP-UX 11.00). - -2001-04-24 Thomas Tanner - - * TODO: describe problems with libltdl - * ltmain.in (ILD): tidy up, add comments, remove dead code, - merge duplicate code - * ltmain.in (ILD): don't touch newdependency_libs after scan or - dlopen pass - * ltmain.in (ILD): don't dlpreopen dependency_libs of a dlopened - module (remove absolutely wrong quick hack) - * ltmain.in (ILD): remove wrong comments about duplicate removal - * ltmain.in (ILD): build a static-only module if it has - static libraries in its dependencies (so that libltdl can - safely load dependency_libs) - * ltmain.in (argument parsing): prefix comparsions of -l args with X, - replace -lc with `-framework System' _after_ the ILD passes - * ltmain.in (argument parsing): support dl[pre]open - for both .o and .lo files - * ltmain.in (deplibs_check): use portable test syntax - * ltmain.in (help): document -prefer-[non-]pic flags - * ltmain.in: improve readablity by adding some comments, - rename uninst_* to notinst_* (more adequate name) - -2001-04-24 Gary V. Vaughan - - * doc/PLATFORMS: More updates from subscribers to - libtool@gnu.org. - - From Tim Mooney - * tests/Makefile.am (TESTS_ENVIRONMENT): Make sure the *.test - scripts get the same make that was used in the top level - directory. - -2001-04-23 Gary V. Vaughan - - * doc/PLATFORMS: Updated with more platforms successfully - tested by members of libtool@gnu.org. - -2001-04-23 Peter Eisentraut - - * doc/PLATFORMS: With this patch, freebsd4.3 passes the test - suite. - * libltdl/ltdl.c (lt_dlexit): Quit loop if only resident modules - are left. - -2001-04-23 Gary V. Vaughan - - * doc/PLATFORMS: With this patch, my Solaris boxes now pass the - test suite, Yay! - From Albert Chin-A-Young - * ltmain.in: `test -L' is not portable, and infact breaks uninstall - mode on Solaris. Fallback to `test -h' and finally `test -f', - but be careful not to let the failure status cause libtool to - stop. - - From Simon Spero - * ltdl.m4 (AC_LTDL_DLSYM_USCORE): Add $LIBADD_DL while - checking for dlsym _. - - From Simon Spero - * libtool.m4 (lt_cv_deplibs_check_method) [darwin]: Set it! - - * TODO: Make a note to undo this later. - From Christoph Pfisterer - * libtool.m4: Use $() execution substitution quotation to work - around zsh builtin echo \ escape removal. - -2001-04-22 Peter Eisentraut - - * bootstrap: Allow overriding the location aclocal, automake, - autoconf, autoheader from the environment. - - * demo/Makefile.am: Automake 1.4e does not allow `+=' assignments - if the variable was not set with `=' earlier. `+=' was not useful - here anyway. - -2001-04-22 Gary V. Vaughan - - * ltdl.m4 (AC_CHECK_HEADERS): UW7 has sys/dl.h, so we must - check for that here. - * libltdl/ltdl.c (HAVE_SYS_DL_H): Include it if necessary for - the dlopen loader. - Reported by Matthew Schalit - - * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for - various releases of UnixWare and OpenServer that support it. - Reported by Matthew Schalit - - * doc/PLATFORMS: Updated with various platforms successfully - tested by members of libtool@gnu.org. - -2001-04-21 Gary V. Vaughan - - * TODO: propose pkg-config merge. - -2001-04-21 Nick Hudson - - * ltmain.in: Correct an error in yesterday's patch. - -2001-04-20 Nick Hudson - - * libtool.m4: Improve NetBSD support. - * ltmain.in: ditto. - -2001-04-19 Dan McNichol - - * libtool.m4: Build standard shared libraries on AIX POWER - more like AIX does, with a shared object archived into lib.a. - On AIX -bexpall flag does strange things... Don't use it. - Fix quotes around -berok flag. Add support for AIX 5. - Add support for run time linking on AIX POWER. (should work - on AIX 4.2 and up). Turn this feature on by adding -brtl flag - to LD_FLAGS. Add support for AIX on IA64. Note: AIX on IA64 - uses a SYSV type linker. Add a comment telling what to do if the - TOC starts getting too large on AIX. - * NEWS: mention aix5 support. - -2001-04-18 Alexandre Oliva - - * TODO: Add -L- flag. - -2001-04-11 Alexandre Oliva - - * libtool.m4 (no_undefined_flag) [Solaris ld]: Change to -zdefs. - -2001-04-11 Ossama Othman - - * AUTHORS: Added myself to the list of maintainers. - -2001-04-08 Gary V. Vaughan - - * libtool.m4 (hardcode_libdir_flag_spec, osf4/osf5): Use ${wl} - to pass -rpath when compiling with gcc. - Reported by Tim Mooney - - * libltdl/ltdl.c (sys_shl_open): Cache a handle for the `self' - module, since HPUX adds module symbols into the `self' pool if - it is opened later. Return the cached pointer if the caller - subsequently tries to open `self'. - (sys_shl_sym): Diagnose NULL modules. - - From Peter Eisentraut - * ltmain.in (clean,uninstall): test -e is not portable. Well, - neither is -L, but I'm hoping that redirecting error messages - to /dev/null and relying on non-zero exit status will work okay - on the few hosts that don't support -L. - -2001-04-08 Nick Hudson - - * ltmain.in: Improve check for valid -version-info parameter. - -2001-04-08 Gary V. Vaughan - - From Nick Hudson - * doc/Makefile.am (libtool_TEXINFOS): Add fdl.texi so that it - is included in the distribution. - -2001-04-07 Peter Eisentraut - - * ltmain.in (clean,uninstall): Do not error if the file doesn't - exist and 'rm -f' was used. Exit with status 1 on error. - -2001-04-06 Nick Hudson - - * ltmain.in: Implement a new deplibs_check_method called - match_pattern that does pattern matching on filenames... - * libtool.m4: ...use it with NetBSD - -2001-04-05 Gary V. Vaughan - - * doc/libtool.texi (Multiple dependencies): A note about the - problems I've reintroduced by reverting the my patch of 2001-03-31. - - From Edward Lee - * libtool.m4: Typos. - - * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test. - * tests/depdemo-dups.test: Removed, as part of the patch - reversion below. - * ltmain.in: Revert my change from 2001-03-31. Although it - was technically correct, it opens a whole can of worms we don't - want to deal with right now. - - From Ahmed Masud - * libltdl/ltdl.c (sys_shl_open): Return a NULL module handle - for self opening. - (sys_shl_close): Be careful not to close a NULL module handle. - (sys_shl_sym): Allow shl_findsym() to open NULL modules, but - discard the modified module address it returns. - - * libltdl/ltdl.c (lt_dlopen): When reading the .la file, - reallocate the line buffer size if the line overflows the - original buffer. - Reported by Nick Hudson - - * NEWS (1.3d) Removed bogus ltconfig reference. - -2001-04-03 Gary V. Vaughan - - * libtool.m4 (_LT_AC_LTCONFIG_HACK): Remove the spurious - `dnl' from the help text of --with-pic. - Reported by stefan - -2001-04-02 Gary V. Vaughan - - * configure.in: bumped version to 1.3e. - - GNU libtool 1.3d was released. - - * NEWS: inserted todays date. - -2001-04-01 Christoph Pfisterer - - * libtool.m4: Fixed support for Darwin and Rhapsody. Now correctly - hardcodes the library path and adds versioning. Other small - fixes. - * ltmain.in: Fixed special cases for libc and libm on Rhapsody and - Darwin. One of them was misplaced. Added version_type case for - Rhapsody and Darwin, named "darwin". - -2001-03-31 Gary V. Vaughan - - * ltmain.in: Remove the code for stripping duplicate deplibs - from libtool link lines -- duplicates are somtimes necessary - to satisfy inter-library dependencies, and never cause link to - fail even if they are spurious. - * tests/depdemo-dups.test: New file. Make sure this bug doesn't - creep back in again! - * tests/Makefile.am (TESTS): Use the new test above. - -2001-03-29 Edward M. Lee - - * libtoolize.in: Check configure.ac and prefer configure.ac to - configure.in. - - * libtoolize.in: change recommendation from AM_PROG_LIBTOOL to - AC_PROG_LIBTOOL. - - * libtool.m4: Generate dll/import libraries for cygwin according - to the following: libFOO.a (static lib), libFOO.dll.a (import - lib), cygFOO-version.dll (dll). Update postinstall_cmds and - postuninstall_cmds to reflect this. - * ltmain.in: Generate installed .la files with dlnames set to - ../bin/cygFOO-version.dll for normal dlls. dlls for modules - remain with the .la file. - - * libltdl/ltdl.c: Use windows paths while calling LoadLibrary. - -2001-03-16 Albert Chin - - * libtool.m4 (save_CPPFLAGS): Fix typo. - -2001-03-13 Alexandre Oliva - - * libtool.m4 (lt_cv_compiler_c_o): Cache it. - (lt_cv_compiler_o_lo): Likewise. - -2001-03-09 Peter Eisentraut - - * ltmain.in (clean): Automatically remove $objdir (usually '.libs'). - -2001-03-08 Gary V. Vaughan - - * ltconfig.in (library_names_spec): Undo latin-1 spaces I pasted - in yesterday by mistake. - -2001-03-07 Gary V. Vaughan - - From Tor Lillqvist - * libtool.m4 (export_symbols): On Windows, if the export_symbols - file (which has been passed to libtool with the -export-symbols - command line switch) already is a .def file, use it as is. - - * libtool.m4 (library_names_spec): Using m4 quotes correctly this - time around! - - From Tor Lillqvist - * libtool.m4 (library_names_spec): Use an appropriate filename - prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32. - -2001-03-06 Alexandre Oliva - - * libtool.m4 (can_build_shared) [AIX 4.[01], GCC]: GCC up to - 2.96 can't build shared libraries reliably. Disable them. - - * ltmain.in: When dropping dependencies of a -no-undefined - library, give up on building a shared library. - -2001-03-05 Akim Demaille - - * ltmain.sh: Don't quote the argument of case/esac and - assignments. - * libtool.m4: Likewise. - -2001-03-03 Markus F.X.J. Oberhumer , - Alexandre Oliva - - * libtool.m4: Added explicit return type to all C functions. - -2001-02-22 Gary Vaughan - - * NEWS: Updated. - * doc/libtool.texi (Thread Safety in libltdl): New node describing - the application the new MT API. - * libltdl/ltdl.h: Prototypes. - * libltdl/ltdl.c: Use these functions throughout the rest of - the file to provide thread locking. - (lt_dlmutex_register): New function to set callbacks for - multi-threaded calls into libltdl. - (lt_dl_mutex_lock): Type of a locking callback function. - (lt_dl_mutex_lock): Type of an unlocking callback function. - (lt_dl_mutex_seterror): Type of a callback function to save the - last libltdl error message in thread local storage. - (lt_dl_mutex_geterror): Type of a callback function to retrieve - the last saved error message from thread local storage. - -2001-02-20 Gary Vaughan - - * libltdl/ltdl.c (lt_dlcaller_register): dont set an unsigned - type to a negative number. - Reported by Guenter Millahn - -2001-02-05 Gary V. Vaughan - - From Nick Hudson - * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): netbsd* is able to - automatically load module deplibs without assistance from - libltdl. - -2001-02-02 Gary V. Vaughan - - * libltdl/ltdl.c (load_deplibs): Make sure the depcount is reset, - even when deplibs are not used because of the patch below. - - * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): If we know that the host - architecture automatically loads deplibs, then... - * libltdl/ltdl.c (load_deplibs): ...don't manually load each one. - -2001-01-31 Gary V. Vaughan - - * TODO: Updated. - - * libltdl/ltdl.c (load_deplibs): If loading a deplib fails, - don't sweat -- it may be a lib that is already statically linked - into the loading application. - - * libltdl/ltdl.c: Clean up the shadowing of the global handles - variable. - (LT_DLRESIDENT_FLAGS): Add extra parens to satisfy -Wall. - (load_deplibs): Cast isspace() argument to an int to satisfy - -Wall. - -2001-01-30 Robert Boehne - - * AUTHORS: added myself to the list of maintainers. - -2001-01-28 Alexandre Oliva - - * libltdl/Makefile.am (CLEANFILES): Clean conditionally-built - libraries. - -2001-01-27 Alexandre Oliva - - * libtool.m4 (ld_shlibs) [aix4*]: Disable on unknown CPU types. - -2001-01-07 Gary V. Vaughan - - * NEWS: Updated. - * doc/libtool.texi (User defined module data): Updated. - * libltdl/ltdl.c (lt_dlhandle_next): New function. - * libltdl/ltdl.h (lt_dlhandle_next): Prototypes. - -2001-01-05 Gary V. Vaughan - - * NEWS: Updated. - * doc/libtool.texi (User defined module data): Document it all. - * ltdl.m4: Check for memcpy, or else bcopy. - * ltdl.c (lt_caller_data): New type. - (lt_dl_handle_struct): Add an lt_caller_data field. - (lt_dlcaller_register, lt_dlcaller_set_data, - lt_dlcaller_get_data): New functions. - (rpl_memcpy): A minimal fallback implementation. - (rpl_realloc): A realloc implemented with lt_dlmalloc and - lt_dlfree. - (LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN): - New memory handling convenience macros. Use them - appropriately throughout the rest of this file. - * ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data, - lt_dlcaller_get_data): Prototyped. - -2001-01-04 Gary V. Vaughan - - * libltdl/ltdl.h: formatting change. - -2000-12-23 Gary V. Vaughan - - From vvv@vsu.ru: - * doc/fdl.texi (GNU Free Documentation License): contained @bye - command which prevented part of document to be generated (indices, - etc). - * doc/libtool.texi (Dlpreopening): the @deftypevar did not contain - a space after a type. - -2000-12-22 Akim Demaille - - * libtool.m4: s/[ \t]*$// - -2000-12-22 Aneesh Kumar K.V - - * libtool.m4 (OSF/1): Revert my patch of 2000-12-16. - -2000-12-20 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dlexit): Was checking for residency of the - wrong module. - Reported by Robert Boehne - - * ltmain.in (dlprefiles): Now that `2000-12-15 Utz-Uwe Haus' patch - below can detect preopened library deplibs correctly in libltdl, - we need to ensure that libtool library deplibs are also preloaded - into the binary for that phase to work. - -2000-12-16 Aneesh Kumar K.V - - * libtool.m4 (OSF/1): Change the way to pass linker flags through - compiler on a Tru64 machine. - -2000-12-16 Gary V. Vaughan - - * libtool.m4 (sys_lib_search_path_spec): Use test instead of - `['. - (archive_cmds): And another one. - - * libtool.m4 (darwin*): Fixed a pair of stupid typos I made in the - last patch. - - * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): moved rogue settings from - sequent, ncr and newos6 back into here from other macros. - -2000-12-16 Wilfredo Sanchez - - * libtool.m4: (dyld/darwin*) Much improved port. - * ltmain.in: (dyld/darwin*) Much improved port. - -2000-12-16 Sascha Schumann - - * libtool.m4: Accept darwin as an alias for rhapsody. - * ltmain.in: ditto. - - * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use the HPUX 10.20 - methods to check for library dependencies on HPUX 11. - -2000-12-16 Nick Hudson - - * libtool.m4 (netbsd*, deplibs_check_method): Enable ILD support - for NetBSD a.out. - -2000-12-15 Akim Demaille - - * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Rename - `ac_cv_sys_global_symbol_pipe' as `lt_cv_sys_global_symbol_pipe'. - Similarly with `lt_cv_global_symbol_to_cdecl - (_LT_AC_LTCONFIG_HACK): Similarly with `ac_cv_prog_cc_pic', - `ac_cv_prog_cc_shlib', `ac_cv_prog_cc_wl', `ac_cv_prog_cc_static', - `ac_cv_prog_cc_no_builtin', `ac_cv_prog_cc_can_build_shared', - `ac_cv_prog_cc_static_works', `ac_cv_archive_cmds_need_lc'. - (AC_PATH_TOOL_PREFIX): Similarly with `ac_cv_path_MAGIC_CMD' - (AC_PROG_LD) : Likewise. - (AC_PROG_LD_GNU) : Likewise. - (AC_PROG_NM) : Likewise. - -2000-12-15 Utz-Uwe Haus - - * libltdl/ltdl.c (lt_dlopen): Changed "dl_dependency_libs" keyword - to "dependency_libs". - -2000-12-14 Tod Milam - - * libltdl/ltdl.c (lt_dlexit): Reset the loaders value to zero when - the last module has been unloaded. - -2000-12-14 Michael Schmitz - - * libtool.m4: Port to *-sni-sysv4 (Reliant Unix) - * README: added Reliant Unix to hte list of supported platforms - * doc/PLATFORMS: added note on tests on Reliant Unix - -2000-12-14 Masahiro Nobori - - * README: Updated. - * NEWS: Updated. - * libtool.m4: New port to NEWS-OS Release 6. - -2000-12-14 Nick Hudson - - * libtool.m4 (hardcode_libdir_flag_spec): Remove linker - specification for netbsd. - -2000-12-14 Akim Demaille - - * libtool.m4: Don't depend on Autoconf internals: - s/ac_cv_prog_gcc/GCC/. - -2000-12-14 Gary V. Vaughan - - * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't empty - out ac_cv_global_symbol_to_cdecl inside the loop, incase we - need to go around again and try with underscore prefix. - (_LT_AC_TRY_DLOPEN_SELF): On some hosts (cygwin for instance) - self dlclosing unloads the main program and causes a SIGSEGV. So - don't do it for now. - -2000-12-05 Gary V. Vaughan - - Oh My! Cygwin support has bitrotted while I was looking the other - way. This should fix it some: - * libtool.m4 (extract_expsyms_cmds): There is a quoting problem - with autoconf-2.13 that prevents [$]0 from expanding. Use shell - quotes instead to delay eval of $0. - (impgen.c) The '# ' sequence stripped by sed works again. - -2000-12-01 Gary V. Vaughan - - * doc/libtool.texi (Libltdl interface): Add documentation. - * libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add - prototypes. - (LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status. - * libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow - making and testing of resident module status, which prevents a - module from being lt_dlclosed. - (lt_dlopen): If lt_dlopen()ing self, make the module resident. - (lt_dlclose): Return an error if the module is resident. - - * libtool.m4 (_LT_AC_LTCONFIG_HACK): Move the tests for dlopen - from here... - (AC_LIBTOOL_DLOPEN_SELF): ...to here. - (_LT_AC_CHECK_DLFCN): Factor out repeated code for dlfcn.h - (_LT_AC_TRY_DLOPEN_SELF): Factor out repeated code for - checking dlopen status. - * ltdl.m4 (AC_LIB_LTDL): Use _LT_AC_CHECK_DLFCN. - dlopen compile time checking. Use _LT_AC_CHECK_DLFCN. - (AC_LTDL_DLSYM_USCORE): Use _LT_AC_TRY_DLOPEN_SELF. - -2000-11-29 Gary V. Vaughan - - * libltdl/ltdl.h (lt_dlhandle): Rename the wrapped structure - to prevent nameclash when used from C++. - * libltdl/ltdl.c: Fixed all references. - -2000-11-25 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dlopen): Change the default search order - for modules. If the named module has no directory component, - always start the search with the user_search_path directories, - and then fall back on the current directory only if that fails. - -2000-11-20 Gary V. Vaughan - - * libltdl/Makefile.am (libltdl_la_LDFLAGS): increment the version - number to reflect the breakage of binary compatibility. - * doc/libtool.texi (Libltdl interface): Document - LT_NON_POSIX_NAMESPACE. - * libltdl/ltdl.h (LT_POSIX_NAMESPACE): Deleted. The default is - now to use this namespace, so the cpp macro is no longer - necessary. - -2000-11-20 Morten Eriksen - - * ltdl.m4 (AC_LIB_LTDL, AC_LTDL_SYMBOL_USCORE): Break a circular - dependency between AC_LTDL_SYMBOL_USCORE and AC_LTDL_DLSYM_USCORE. - -2000-11-20 Paul Berrevoets - - * ltmain.in: Some versions of expr respond with "0" if a - regexp fails to match. - -2000-11-19 Paul Berrevoets - - * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote the $ in $#, $2 and - $3 in variable 'archive_expsym_cmds' for cygwin. - -2000-11-19 Gary V. Vaughan - - * ltdl.c: Relegate non-POSIX-compliant symbols (e.g. those - ending in ``_t'') to deprecated #define compatibility macros. - Also ease up on the namespace pollution, so that only ``lt_'' - and ``LT_'' prefixes are taken from the global namespace. - * ltdl.h: ditto. - -2000-11-17 Gary V. Vaughan - - * ltdl.c: Reformatted. - * ltdl.h: ditto. - -2000-11-11 Gary V. Vaughan - - * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Use $ac_ext for conftest - sourcefile. - * libtool.m4: Use $ac_ext and $ac_objext respectively for conftest - sources and objects. - Reported by Carlo Wood - - * doc/fdl.texi: New file. The license for distributing the - libtool manual. - * doc/libtool.texi: Reference the new license. - -2000-10-31 Morten Eriksen - - * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote argument to avoid - error output from cygpath when $srcdir is empty. - -2000-10-31 Gary V. Vaughan - - * bootstrap: rm Makefiles to prevent infinite loop during - configure when libtool.m4 is newer than Makefile. - -2000-10-31 Akim Demaille - - * libtool.m4: Adjust the copyright notice. - Quote all the macro names when defined. - Some minor formatting changes. - (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC) - (AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM): - Don't use indir when useless. Don't add trailing `dnl' either. - -2000-10-30 Gary V. Vaughan - - * doc/libtool.texi: Corrected another attack of CRLF line - endings. - -2000-10-30 Ossama Othman - - * libtool.m4 (archive_expsym_cmds): Fix typo where line was broken - in the middle of an expression. - -2000-10-30 Aneesh Kumar K.V - - * libtool.m4 (archive_expsym_cmds): Support for -export-symbol - option on Tru64. - (hardcode_libdir_flag_spec): Fixed cxx throwing error while using - libtool. Done by passing -rpath directlty to the compiler. - -2000-10-27 Robert Boehne - - * docs/libtool.texi: Added pointers to documentation - of Hewlett-Packard, Compaq Tru64 and IBM AIX systems. - -2000-10-02 Gary V. Vaughan - - From Bruce Korb - * ltmain.in (execute_dlfiles): Reduce obfuscation. - -2000-09-30 Alexandre Oliva - - * libtool.m4 [netbsd*] (deplibs_check_method, file_magic_cmd, - file_magic_test_file): Removed inappropriate duplicate - definitions; these variables are set in AC_DEPLIBS_CHECK_METHOD. - - * libtool.m4 (lt_cv_file_magic_cmd): Don't use '${MAGIC_CMD}' or - '${OBJDUMP}'; Solaris' /bin/sh loses with `}' in cache files. - (ac_cv_path_MAGIC_CMD): Renamed to lt_cv_path_MAGIC_CMD. - -2000-09-28 Gary V. Vaughan - - * libtool.m4 (MAGIC_CMD): Don't use MAGIC, since BSD versions of - the file command use this environment variable to hold the - location of the magic database. - Reported by Marc Espie - -2000-09-19 Gary V. Vaughan - - * doc/PLATFORMS: Updated. - * demo/configure.in: Revert to the `libtool --features' test. - * Makefile.am (libtool): This needs to rerun configure now that - libtool is generated entirely by AC_PROG_LIBTOOL again. - (ltconfig): Removed. - (ltmain.sh): Is now regenerated when ltmain.in changes. - * libtool.m4 (_LT_AC_LTCONFIG_HACK): Now does all of the work for - generating libtool immediately in configure.in, rather than - deferring part of the creation until config.status runs. - -2000-09-17 Gary V. Vaughan - - * bootstrap: Backed out yesterdays patch which is no longer - necessary. - * Makefile.am (libtool): Reworked rule for regeneration of libtool, - now that it is built entirely withing config.status. - (libtoolize): Tidied for orthogonality with the other generation - rules. - (ltconfig): This is now generated by AC_PROG_LIBTOOL, called from - make by running config.status --recheck. - (ltmain.sh): Moved primary generation of this file into here... - * configure.in (AC_OUTPUT): ...instead of here. - * libtool.m4 (AC_OUTPUT_COMMANDS): Write the config to ltconfig - where it can be reused, rather than directly to libtool. - * demo/configure.in: libtool is no longer present immediately - after AC_LIBTOOL_M4 has completed, so the tests now grep through - ltconfig instead -- which *will* be present. - -2000-09-16 Gary V. Vaughan - - * TODO: Removed the item describing the change below, and added a - similar item to remind us to change the ltdl.m4 macros again when - _LT_AC_LTCONFIG_HACK is divided into proper macros. - * ltdl.m4 (AC_LTDL_SNARF_CONFIG): Removed. No longet required - now that ltconfig has migrated to libtool.m4. - (AC_LTDL_SHLIBEXT): Require _LT_AC_LTCONFIG_HACK. - (AC_LTDL_SHLIBPATH): ditto. - (AC_LTDL_SYSSEARCHPATH): ditto. - - * ltdl.m4 (AC_LTDL_DLPREOPEN): Require the libtool.m4 symbol_pipe - macro. - (AC_LTDL_SYMBOL_USCORE): ditto. - (AC_LTDL_GLOBAL_SYMBOL_PIPE): Removed, since it is a duplicate - of... - * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): ...this new - macro, extracted from _LT_AC_LTCONFIG_HACK. - - * ltdl.m4 (changequote): An audit of changequote and m4 - quote usage -- all changequotes have been removed, and some - latent unquoted `[' and `]' bugs have been fixed. - - * configure.in (AC_OUTPUT): ltmain.sh must be generated in the - source tree since this is where it would be found in a freshly - unrolled tarball. - - * configure.in: Replace `dnl' comments with `#' comments for - more conformity with cvs autoconf. - Removed emacs hack-local-variables, since there is now a - proper Autoconf major mode. - Removed a couple of changequote()s. - - * bootstrap (ltconfig): When bootstrapping libtool with a - stock automake (i.e. without the README patch applied), - references to ltconfig are manually removed from the generated - Makefile.in files. - -2000-09-15 Gary V. Vaughan - - * doc/libtool.texi: Removes references to ltconfig, and a small - amount of tidying up to compensate. - -2000-09-15 Nick Hudson - - * libtool.m4 (netbsd): Improved support. - -2000-09-15 Gary V. Vaughan - - * ltmain.in (version_type): Use "-iface" as the windows - versioning scheme, where iface is the number of the oldest - interface supported. - -2000-09-14 Gary V. Vaughan - - From Paul Sokolovsky - * libtool.m4 (pw32): Initial support for pw32, assuming that - libtool's behaviour in this environment is identical to under - cygwin. - * ltmain.in (pw32): ditto. - * NEWS: Updated. - - * libtool.m4 (changequote): An audit of changequote and m4 - quote usage -- all changequotes (except a few with non-nesting - square brackets) have been removed. - - * Makefile.am (EXTRA_DIST): The bootstrap script should be - distributed with libtool. - -2000-09-13 Gary V. Vaughan - - libtool.m4 (_LT_AC_LTCONFIG_HACK): Oh man! Third time lucky. - I just discovered that '&' needs to be escaped inside - AC_TRY_EVAL. - -2000-09-12 Michael Matz - - * ltmain.in: Be careful about filenames with multiple `.'s in - them when calculating file extensions. - Reported by Joel Reed - -2000-09-12 Gary V. Vaughan - - libtool.m4 (AC_PROG_LIBTOOL): Removed, as it was triggering a - bug in Autoconf-2.13 AC_REQUIRE implementation which inserted - some of the expanded tests too early in the generaated configure. - (_AC_PROG_LIBTOOL): renamed to AC_PROG_LIBTOOL, and defines - itself to an empty expansion to prevent multiple expansions. - configure.in (AC_LIBTOOL_SETUP): Replaced by a call to - AC_PROG_LIBTOOL now that the AC_REQUIRE bug has been worked - around. - -2000-09-09 Gary V. Vaughan - - libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to escape the - redirections inside AC_TRY_EVAL in the need_lc tests. Doh! - - libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to redirect the - output of grep to /dev/null in the need_lc tests. - - configure.in (AC_PROG_LIBTOOL): Using this in libtools own - configure.in interacts badly with the AC_PROVIDE calls and - results in several tests being inserted into configure too - early. Use AC_LIBTOOL_SETUP instead. - -2000-09-08 Gary V. Vaughan - - libtool.m4 (_LT_AC_LTCONFIG_HACK): The ltconfig.in code I - ported from ltconfig.in was incomplete -- this is a backport - of the missing code taken from the multi-language branch. - -2000-09-07 Pavel Roskin - - * libtool.m4 (_LT_AC_LTCONFIG_HACK): Fixed incorrect use of - changequote - -2000-09-07 Gary V. Vaughan - - * NEWS: Updated. - * TODO: Add a reminder to get rid of ltconfig in mlb. - * README: Until things even out, I have added a note and a - patch to make the installed automake cooperate with the new - ltconfig free libtool. - - * libtool.m4 (_LT_AC_LTCONFIG_HACK): with_gcc is only useful in - ltmain.sh as it has not yet been set in libtool.m4. Use - $ac_cv_prog_gcc instead. - - * doc/PLATFORMS: Updated. - - * configure.in (AC_PROG_AWK): Removed -- no longer required by - the build process. - * lineno: ditto. - - * libtoolize.in (files): Don't try to install ltconfig -- it - doesn't exist!! - * bootstrap: Fake an ltconfig incase the installed automake - calls an installed libtoolize (as part of its --add-missing - process) which thinks ltconfig should be there. - - * libtool.m4 (_LT_AC_LTCONFIG_HACK): Deleted a vital `;;' - terminator from a case statement by mistake. - - * Makefile.am (ltmain.sh): Make this depend on TSDEPS again - so that the Changelog timestamp is used for ltmain.sh at `make - dist' time. - -2000-09-06 Gary V. Vaughan - - libtool.m4 now contains a version of the code that used to run - from ltconfig, so that ltmain.sh and then libtool are - generated at configure time. - - * Makefile.am: Don't generate ltmain.sh or ltconfig anymore. - * bootstrap: ltconfig is no more! - * configure.in: Call AC_PROG_LIBTOOL directly. - (AC_OUTPUT): Generate tmain.sh. - * libtool.m4: Don't build an argument list for ltconfig. - (_LT_AC_LTCONFIG_HACK): Refactoring of the former contents of - ltconfig.in to take advantage of the m4 macros from autoconf. - * ltmain.in: Don't do a version check against ltconfig. - * tests/assign.test: Remove reference to ltconfig. - * tests/hardcode.test: ditto. - * tests/sh.test: ditto. - -2000-09-05 Alexandre Oliva - - * depdemo/main.c: Support -alt. - * tests/build-relink2.test: Try it. - - * ltconfig.in: Removed all references to what used to be - hardcode_into_libs=all. 2000-09-03's patch was wrong. - * ltmain.in: Likewise. - * tests/build-relink.test, tests/build-relink2.test: Adjust. - * mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before - libfoo2.la, so that they're installed in the right order. - -2000-09-04 Alexandre Oliva - - * tests/dryrun.test: Build libsub.la along with the object files, - since it is needed by libfoo2.la. - - * mdemo/Makefile.am: Mark only libfoo2 as -no-undefined. - Explicitly link it with libsub.la. - - * ltconfig.in (need_lc): Preserve allow_undefined_flag. - - * tests/*.test (CONFIG_SITE): Ultrix's /bin/sh fails on - `. /dev/null'. Set CONFIG_SITE to /dev/null/config/site, to make - sure we pick a non-existent file. - - * Makefile.am (libtool, clibtool): Pass CONFIG_SHELL along with - ECHO down to ltconfig. - - * ltconfig.in (hardcode_libdir_flag_spec, export_dynamic_flag_spec): - Use ${wl}, not ${wlarc}. - - * ltmain.in (compile, need_lock): Don't create nor remove lock - files in dry runs. - - * libltdl/ltdl.c (load_deplibs): Don't append shlib_ext; use - lt_dlopenext() instead. - - * ltmain.in (link -static): Don't add $link_static_flag; only - -all-static should do that. - * mdemo/configure.in: Revert part of the previous delta. - - * mdemo/configure.in: Don't use -static on AIX4.1. - * mdemo/Makefile.am: Likewise. - -2000-09-03 Alexandre Oliva - - * ltconfig.in: Get rid of hardcode_into_libs=all; use - hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes - instead. - [FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no. - * ltmain.in: Likewise. - * tests/build-relink.test, tests/build-relink2.test: Adjust. - - * libtool.m4: Fix typo I introduced in yesterday's patch. - - * libltdl/ltdl.c (lt_dlopen): Set dlname from library_names if - dlname is empty. - - * ltdl.m4 (HAVE_LIBDL): Look for dlopen in -lsvld. - * ltconfig.in: Likewise. - - * tests/mdemo-exec.test: Modify failure message. - - * ltmain.in (newdlprefiles): Use dlname if it's available and - old_library isn't; use linklib only if dlname is not available. - - * ltconfig.in (enable_dlopen): Set to no when lt_cv_dlopen is no. - - * libtool.m4: Don't quote CONFIG_SHELL nor ORIGINAL_CONFIG_SHELL. - Quote $@ properly so that the shell expands it, not m4. - - * libtool.m4: Don't quote SHELL when `re-exec'ing, so that SHELL - can be `/path/to/shell -x'. - - * tests/quote.test: Move the match test out of case statements, to - work around bug in /bin/sh of several OSs. - - * ltmain.in (variables_saved_for_relink): Attempt to unset them - instead of setting them to an empty string. - -2000-09-02 Alexandre Oliva - - * ltconfig.in [with_gnu_ld] (archive_cmds, archive_expsym_cmds) - : Use compiler_flags instead of linker - flags. - Reported by Alex Hornby - -2000-09-02 Makoto Ishisone - - * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Fix typo, - add support for compact format library. - -2000-09-02 Alexandre Oliva - - * ltdl.m4: Oops, I had forgotten to commit this part of Syd Polk's - patch from 2000-06-17. - -2000-09-02 Tom Kacvinsky , Tim Mooney - - * libtool.m4: Ignore Tru64's nm's complaint. - -2000-09-02 Pavel Roskin - - * ltconfig.in: only load $cache_file if it's a regular file - -2000-09-02 Assar Westerlund - - * ltconfig.in: Add back ranlib calls for static libraries if there - is a ranlib. - -2000-08-31 Gary V. Vaughan - - Move the echo detection code to a macro in libtool.m4. The code - at the top ofltconfig.in is ugly, but will go away when the rest - of ltconfig is migrated. - - * Makefile.am (libtool): Pass the value of $ECHO to ltconfig as - an environment variable. - * libtool.m4 (_LT_AC_PROG_ECHO_BACKSLASH): Quote the ECHO value - correctly so that it inserts the correct code into configure.in - suitably quoted for M4 expansion. This code needs to be near - the top of configure.in as it calls itself recursively, so I - am using AC_DIVERSION_NOTICE (or simply NOTICE on CVS - Autoconf). The value of ECHO is also substitued into the - Makefile to be used when Make calls ltconfig to generate - libtool, so another layer of quotation is required for the - Makefile. - (AC_LIBTOOL_SETUP): Use it. - * ltconfig.in: Accept a value for ECHO from the environment, and - carefully substitue for $0 if it is present in the ECHO value. - Because ECHO was quoted for Make, when ltconfig is called by - configure, it is overquoted, and one layer of quotes must be - stripped. - -2000-08-27 Gary V. Vaughan - - * ltconfig.in (with_gcc): Make the value of this option - available to the generated libtool script. - * ltmain.in (compile_command, finalize_command): The native C - and C++ compilers on IRIX require the -LANG:std in order to to - compile correctly. The same options should _not_ be passed - through to gcc on IRIX, or at all on other architectures for - backwards compatibility (among others). - Reported by Bob Friesenhahn - Reported by Albert Chin-A-Young - -2000-08-26 Gary V. Vaughan - - * ltconfig.in (old_reload_flag): typo. - -2000-08-01 Alexandre Oliva - - * ltmain.in (shtool): Use echo|grep instead of expr, as in the - original patch. - -2000-08-01 Alexandre Oliva - - * ltconfig.in (need_lc): Fix test message. - -2000-07-24 Mocha - - * ltconfig.in (NetBSD, deplibs_check_method): Use file_magic. - (NetBSD, file_magic_cmd, file_magic_test_file): Set. - -2000-07-24 Alexandre Oliva , David Kaelbling - - * ltmain.in (irix, major): Prepend a `.'. - * ltconfig.in (irix, soname_spec, library_names_spec): Adjust. - -2000-07-24 Alexandre Oliva , Ralf S. Engelschall - - * ltmain.in: Support GNU shtool's install. - -2000-07-24 Alexandre Oliva - - * ltconfig.in (linkopts): Don't set for test. - -2000-07-24 Nick Hudson - - * ltconfig.in (linkopts): Replace with linker_flags. - - * ltmain.in (ILD): Fix addition of deplibs in relink case. - -2000-07-18 H.J. Lu - - * ltconfig.in: Check if -lc is necessary for building shared - library. Set build_libtool_need_lc to indicate it. - * ltmain.in: Add -lc when building shared library only if - necessary. - -2000-07-10 Mo DeJong - - * libtool.m4 (AC_PROG_NM): Fix macro so that it - finds a cross NM on the PATH. - -2000-07-10 Ken Block - - * libltdl/ltdl.h: Also check for __cplusplus, __STDC__ is not - by Compaq C++ compiler - -2000-07-10 Alexandre Oliva - - * ltconfig.in (wlarc, netbsd, aout): Set to empty. - (hardcode_dynamic_flag_spec, export_dynamic_flag_spec): Use it. - - * ltconfig.in (dynamic_linker, linux, powerpc): Do not disable - shared libraries just because of MkLinux. - - * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Do not depend - on $version_type; check for ELF support as in other BSDs. - -2000-06-17 Syd Polk - - * libtool.m4 (AC_LIBTOOL_SETUP): Do not generate a libtool based - on target; use host instead. - -2000-05-30 Gary V. Vaughan - - * ltconfig.in (ORIGINAL_CONFIG_SHELL): Prevent lossage when - the echo probing code falls into this branch without setting - this variable. - - * ltconfig.in (netbsd*): archive_cmds and archive_expsym_cmds - were reversed with respect to definition of __ELF__. - From Keisuke Inoue - -2000-05-29 Gary V. Vaughan - - * libtool.m4 (netbsd*): Use -L option to file_magic_cmd as for - freebsd (below). - * libtool.m4 (netbsd ELF): support file_magic. - From Dan Winship . - -2000-05-29 Steven M. Schultz - - * libtool.m4 (bsdi4*): Add -L option to bsdi4's file_magic_cmd - command. Under BSD/OS 4.1 several libraries are now symlinks - rather than regular files. Adding -L tells the file program - to follow the symlink. - -2000-05-29 Gary V. Vaughan - - * libtool.m4 (i*86-*-freebsd*): Forgot to changequote(,). - - * NEWS: Updated. - * libtool.m4 (i*86-*-freebsd*): Support a.out shared libs. - From - -2000-05-29 Fred Fish - - Support AR=mwld AR_FLAGS='-xml -o' for PPC Beos. - * ltconfig (old_AR_FLAGS): Add. - (old_archive_cmds): Use AR_FLAGS rather than hardcoding "cru". - (archive_cmds): Use AR_FLAGS rather than hardcoding "cru". - (AR_FLAGS): Default to "cru" if not set. - -2000-05-29 Gary V. Vaughan - - * ltconfig.in (echo): The following code actually prints the - double quotes -- so I removed them: - echo='printf "%s\n"' /bin/ksh -c '$echo \\t' - From Tuukka Toivonen - - * NEWS: Updated. - -2000-05-29 Bernhard Rosenkraenzer - - * libtool.m4: adding ia64 as supported linux platform - -2000-05-29 Michael Matz - - * ltmain.in: fix quoting for $var_value. - - * ltconfig.in: check for dlfcn.h: include return value - to make -Wall in CFLAGS work. - -2000-05-27 Gary V. Vaughan - - * README-alpha: note new location of config.(guess|sub). - -2000-05-27 Chad Cunningham - - * ltconfig.in (rhapsody*): New Port. - * ltmain.in (rhapsody*): ditto. - -2000-05-27 Chris Lattner - - * ltconfig.in (*-sequent-sysv4): New Port. - -2000-05-17 Gary V. Vaughan - - * ltmain.in: cygwin-1.1.0 and higher no longer grok backslash path - separators. - -2000-05-14 Alexandre Oliva - - * libtool.m4 (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): - Pick LIBLTLD from top_builddir and INCLTDL from top_srcdir. - * mdemo/configure.in: Remove comments on - AC_LIBLTLD_CONVENIENCE. - - * libtool.m4 (_AC_PROG_LIBTOOL): Renamed from... - (AC_PROG_LIBTOOL): Just AC_REQUIRE(_AC_PROG_LIBTOOL), to avoid - effects of multiple runs. - -2000-05-11 Thomas Tanner - - * NEWS: update - * doc/libtool.texi (libltdl): rename lt_(find|next|add|remove)_dlloader - to lt_dlloader_* - * libltdl/ltdl.c: ditto - * libltdl/ltdl.h: ditto, add declaration of lt_dlloader_(find|remove) - -2000-05-06 Pavel Roskin - - * libltdl/ltdl.c: Typo. - - * libtool.m4 (AC_LIBTOOL_SETUP): CVS autoconf no longer sets - target to "NONE", but to an empty string. - -2000-05-05 Paul Sokolovsky - - * ltdl.c: support lt_dlopen(0) for win32 - -2000-05-03 Thomas Tanner - - * doc/libtool.texi (libltdl): fix typos, - INCLTDL starts with top_srcdir, replace NULL with @code{NULL} - - * ltmain.in (ILD): search in newlib_search_path, too - - * ltmain.in (ILD): fix bugs in conv pass, expand convenience - libs to deplibs and link them later on - - * ltmain.in (ILD): don't allow convenience libs to be - -dlopen/preopen'ed - - * ltmain.in (ILD): it's not required to link all deplibs - in fast-install mode - - * ltmain.in (ILD): if hardcode_into_libs=all, only relink - a library if it is linked against uninstalled libtool libraries, - rename link_against_libtool_libs to uninst_deplibs - - * ltmain.in (ILD): tidy up, add some comments - -2000-05-03 John Wehle (john@feith.com) - - * libtool.m4 (hpux10.20*): use file_magic for - inter-library dependency tracking. - -2000-05-02 Gary V. Vaughan - - * AUTHORS: Update my email address. - * commit: ditto. - -2000-04-11 Thomas Tanner - - * NEWS: update - * libtool.m4: add AC_LIBTOOL_PICMODE - * ltconfig.in: move pic_mode checks to ltmain.in - * ltmain.in: add -prefer-pic and -prefer-non-pic - -2000-03-29 Alexandre Oliva - - * ltmain.in (tmpdir): Do not accept an existing directory, and - force its mode to 700, for security reasons. - Reported by Joseph S. Myers - -2000-03-27 Thomas Tanner - - * NEWS: reformatting - - * ltmain.in (ILD): add extra convenience library scanning pass - - * ltmain.in (ILD): accept -R flags for libraries, too - - * ltmain.in (ILD): correclty merge the dlpreopened libraries - with deplibs - - * ltmain.in (install mode): remove directories from filenames - before relinking (reported by Elrond ) - - * doc/libtool.texi (libltdl): rename Library -> Lesser, - clarify exception clause - * libltdl/ltdl.c, libltdl.h (License): ditto - -2000-03-21 Alexandre Oliva - - * ltconfig.in (variables_saved_for_relink): Set to `PATH - $shlibpath_var $runpath_var'. If with_gcc, add gcc-related - environment variables. Add it to the configuration section. - * ltmain.in (relink_command): Expand those variables. - -2000-03-14 Christopher A. Knight - - * ltconfig.in: added main() definition in compile - check for header `dlfcn.h' to fix link errors - when built with Sun Workshop Pro CC 4.2 (and perhaps - others). - -2000-02-03 Gary V. Vaughan - - * libltdl/ltdl.c (lt_find_dlhandle): Deleted. This was B.S. - far cleaner to use lt_dlforeach and lt_dlgetinfo. - * libltdl/ltdl.h: Prototype deleted. - * doc/libtool.texi: Documentation deleted. - * NEWS: annoncement deleted. - -2000-02-23 Thomas Tanner - - * ltmain.in: remove duplicates from deplibs, handle - interdependent libraries (e.g. -la -lb -la), - this requires adding deplibs in reverse order - - * ltmain.in: link dlpreopened libraries before other libraries - (reported by Pavel Roskin) - * mdemo/Makefile.am: build and link libsub.la - * mdemo/sub.c: new file used by both dlopened modules - * mdemo/foo*: use sub() defined in libsub - * tests/dryrun.test: build libsub.la - - * mdemo/Makefile.am: always link mdemo.static with -static - * mdemo/configure.in: ditto - - * ltmain.in: fix dlopen/dlpreopening of objects - - * ltmain.in (ILD): fix misplaced `continue' in -R* argument handler - - * ltmain.in: merge duplicated code of clean and uninstall mode - - * libtool.m4: recognize powerpc*linux* (reported by - Dirk A. Mueller ) - -2000-02-23 Gary V. Vaughan - - * ltconfig.in (old_MAGIC, old_STRIP, old_reload_flag, - old_deplibs_check_method, old_file_magic_cmd): New variabes. - Treat these as old_CC etc. - (STRIP, MAGIC): Create and set these variables in the generated - libtool script. - Reported by Pavel Roskin - - * configure.in: Due to a bug in autoconf-2.13 implementation of - AC_SUBST, `AC_SUBST(FILE)' can never work. Use MAGIC as the - holder of the command to run in file_magic_cmd instead. - * ltconfig.in: s/FILE/MAGIC/g. - * libtool.m4 (AC_PROG_LIBTOOL): set MAGIC in the environment when - calling ltconfig. - (AC_PATH_MAGIC): renamed from AC_PATH_FILE. - (AC_PATH_TOOL_PREFIX): s/FILE/MAGIC/g. Also set file_magic_cmd - to '${MAGIC}' so that make can grok it. - * Makefile.am (libtool): - (clibtool): ditto. - -2000-02-21 Gary V. Vaughan - - * libltdl/ltdl.c (lt_find_dlhandle): New function. - (tryall_dlopen): Use it. - * libltdl/ltdl.h: Prototype it. - * doc/libtool.texi: Document it. - * NEWS: updated. - - * libltdl/ltdl.c (lt_dlinit): removed unused variable, `loader'. - - * libltdl/ltdl.c (lt_remove_dlloader): typo, s/=/==/g. - -2000-02-03 Gary V. Vaughan - - * libltdl/ltdl.h (lt_dlloader_data_t): New type for loader - instance data. - (lt_user_dlloader): New lt_dlloader_data_t field. - (lt_module_open_t): Add lt_dlloader_data_t parameter. - (lt_module_close_t): Add lt_dlloader_data_t parameter. - (lt_find_sym_t): Add lt_dlloader_data_t parameter. - (lt_dlloader_exit_t): Add lt_dlloader_data_t parameter. - * libltdl/ltdl.c: A sprinkling of /*ARGSUSED*/ markers to - reassure lint that the unused arguments are intentional. - (lt_dlloader_t): New lt_dlloader_data_t field. - (lt_dlloader_data): New function to return the contents of the - dlloader_data field. - (sys_dl_open): Take an additional lt_dlloader_data_t argument. - (sys_dl_close): Ditto. - (sys_dl_sym): Ditto. - (sys_dl): Initialise lt_dlloader_data_t field. - (sys_shl_open, sys_shl_close, sys_shl_sym, sys_shl): As above. - (sys_wll_open, sys_wll_close, sys_wll_sym, sys_wll): As above. - (sys_bedl_open, sys_bedl_close, sys_bedl_sym, sys_bedl): As - above. - (sys_dld_open, sys_dld_close, sys_dld_sym, sys_dld): As above. - (presym_init, presym_exit, presym_open, presym_close, presym_sym, - presym): As above. - (lt_dlinit): Call presym_init with additional argument. - (lt_dlexit): Call dlloader_exit method with additional argument. - (tryall_dlopen): Call module_open method with additional argument. - (lt_dlclose): Call module_close method with additional argument. - (lt_dlsym): Call find_sym method with additional argument. - (lt_add_dlloader): Initialise dlloader_data field. - (lt_remove_dlloader): Call dlloader_exit method with additional - argument. - - * libltdl/ltdl.c (find_file): Prevent early release of memory - in filename/*pdir. - From Jon Leichter - - (sys_wll_init): Deleted. No longer required. And this time, - with feeling! - (sys_wll_exit): Ditto. - -2000-02-02 Gary V. Vaughan - - * NEWS: updated. - * doc/libtool.texi (Libltdl interface): Moved user defined module - loader documentation from here... - (Module loaders for libltdl) ...to here, and updated the text and - added examples. - * ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader. - * libltdl/ltdl.h: Reformatted and commented for readability. - (struct lt_user_dlloader): New data type for passing - initialisation pointers to lt_add_dlloader. - (LTDL_ERROR_INVALID_LOADER): New error message when non loader - handles are passed to the user loader API. - (LTDL_ERROR_INIT_LOADER): New error when loader initialisation - fails. - (LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails. - (lt_module_open_t): renamed from lt_lib_open_t. - (lt_module_close_t): renamed from lt_lib_close_t. - (lt_dlloader_exit_t): renamed from lt_dlloader_exit_t. - * libltdl/ltdl.c: Reordered builtin loaders so that the "dld" - loader no longer occurs before "dlopen" on some platforms and - after it on others. - (lt_dlloader_t): Moved here from ltdl.h, added a field, - "loader_name", for identifying the loader, and renamed from - lt_dltype_t. Renamed type variables to loader IFF of type - lt_dlloader_t. - (lt_module_t): Renamed from lt_syshandle. Renamed handle variables - to module IFF of type lt_module_t. - (LTDL_TYPE_TOP): Deleted. No longer required. - (sys_dl): Initialised as a struct lt_user_dlloader. - (sys_dl_init): Deleted. No longer required. - (sys_dl_exit): Ditto. - (sys_shl): Initialised as a struct lt_user_dlloader. - (sys_shl_init): Deleted. No longer required. - (sys_shl_exit): Ditto. - (sys_wll): Initialised as a struct lt_user_dlloader. - (sys_wll_init): Deleted. No longer required. - (sys_wll_exit): Ditto. - (sys_bedl): Initialised as a struct lt_user_dlloader. - (sys_bedl_init): Deleted. No longer required. - (sys_bedl_exit): Ditto. - (sys_dld): Initialised as a struct lt_user_dlloader. - (sys_dld_init): Deleted. No longer required. - (sys_dld_exit): Ditto. - (sys_presym): Initialised as a struct lt_user_dlloader. - (lt_mod_init_t): Moved to here from ltdl.h. - (lt_dlinit): Add builtin loaders using the user loader API. - (lt_dlexit): Unregister and free all loaders. - (lt_add_dlloader): New function to add a new module loader after the - loader specified in the argument. - (lt_remove_dlloader): New function to remove a module loader. - (lt_next_dlloader): New function for iterating over module loaders. - (lt_dlloader_name): Accessor function for name of dlloader. - (lt_find_dlloader): New function to get a reference to a registered - module loader. - (strcmp): static implementation incase the host has none. - (lt_dlgettypes, lt_dlsettypes): Removed. - -2000-02-02 Thomas Tanner - - * libltdl/ltdl.c: replace NULL with 0, remove unused system - and app_private pointers from lt_dlhandle_t - * libltdl/ltdl.c (presym_add_list): new preloaded symbols - don't need to be added to the end - - * libltdl/ltdl.c (lt_dlgetdata, lt_dlsetdata): removed - * libltdl/ltdl.h: ditto - * doc/libtool.texi (libltdl interface): ditto - -2000-02-01 Thomas Tanner - - * ltmain.in: support -dlopen/dlpreopen for libraries - * NEWS: updated - * TODO: updated - * ltmain.in: rename dlopen to dlopen_support - * ltconfig.in: ditto - * doc/libtool.texi: ditto - - * ltmain.in: check whether libraries are moved out of $libdir, - replace .a and .lib with .$libext, .o and .obj with .$objext - -2000-01-31 Gary V. Vaughan - - * libltdl/ltdl.h (lt_dlrealloc): removed declaration. - * libltdl/ltdl.c (lt_dlrealloc): removed definition. - (lt_dladderror): Instead of calling lt_dlrealloc, use lt_dlmalloc, - and lt_dlfree. - -2000-01-30 Ossama Othman - - * libtool.m4 (lt_cv_cc_needs_belf): Set the test language to C - prior to executing the test that checks if the C compiler needs - "-belf." - Reported by Chris Butler - -2000-01-28 Gary V. Vaughan - - * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use changequote to - protect `[' and `]' in deplibs_check_method. - - * libltdl/ltdl.h (lt_dlrealloc): Added declaration. - * libltdl/ltdl.c (lt_dlrealloc): Added default definition. - - * libltdl/ltdl.c (lt_dlseterror): Catch errorcodes below 0 as - invalid. - * libltdl/ltdl.h (LTDL_ERROR): Added missing '_' in K&R - definition. - - * libltdl/ltdl.h (ltdl_error_table): Added missing error code, and - fixed typo in another code. - * doc/libtool.texi (Libltdl interface): Added missing @end - clause. - -2000-01-27 Thomas Tanner - - * ltconfig.in: Oops, replace the remaining $objdir's - - * ltmain.in: merge library linking code of programs and libraries, - some cleanups - -2000-01-27 Gary V. Vaughan - - * NEWS: Updated. - * doc/libtool.texi (Libltdl interface): Document new entry - points. - * libltdl/ltdl.c (lt_dladderror): New function to add a user - defined error message to the tables used by lt_dlerror(). - (lt_dlseterror): New function to allow setting of last_error by - user modules. - (ltdl_error_strings): New preprocessor generated table of internal - error diagnostic strings. - (user_error_strings): New internal list of registered user error - diagnostic strings. - (throughout!): Use error messages from ltdl_error_strings. - * libltdl/ltdl.h (ltdl_error_table): New macro to tabulate - internal diagnostic error strings alongside enum keys. - - * NEWS: Updated. - * doc/libtool.texi (Libltdl interface): Document new entry - points. - * libltdl/ltdl.c (lt_dltype_t): Use new type definitions for - existing fields. - (lt_dladdtype): New function to add a new ltdl dynamic loader - type to the end of the list of valid types.. - (lt_dlgettypes): New function to return the complete list of ltdl - dynamic loader types. - (lt_dlsettypes): New function to replace the list of ltdl dynamic - loader types entirely -- e.g. to prepend a new type to the - existing list. - (sys_dl_open, sys_dl_close, sys_dl_sym): Work with lt_syshandle. - (sys_shl_open, sys_shl_close, sys_shl_sym): ditto. - (sys_dld_open, sys_dld_close, sys_dld_sym): ditto. - (sys_wll_open, sys_wll_close, sys_wll_sym): ditto. - (sys_bedl_open, sys_bedl_close, sys_bedl_sym): ditto. - (presym_open, presym_close, presym_sym): ditto. - (tryall_dlopen): Call lt_lib_open_t functions lt_syshandle - compatibly. - (lt_dlclose): Call lt_lib_close_t functions lt_syshandle - compatibly. - (lt_dlsym): Call lt_find_sym_t functions lt_syshandle compatibly. - (lt_dltype_t): moved type declaration from here... - * libltdl/ltdl.h (lt_dltype_t): ...to here. - (lt_syshandle): new type for low level system handles passed by - loader functions - (lt_mod_init_t): New type for functions implementing the - initialisation for an ltdl dynamic loader. - (lt_mod_exit_t): Type of exit functions for the same. - (lt_lib_open_t): Type of loader functions for the same. - (lt_lib_close_t): Type of unloader functions for the same. - (lt_find_sym_t): Type of symbol resolver functions for the same. - - * libltdl/ltdl.c (sys_dl_init, sys_dl_exit, sys_dl_open, - sys_dl_close, sys_dl_sym): Preprocess these away on cygwin to - avoid spurious error messages. - -2000-01-24 Thomas Tanner - - fix severe bugs reported by Elrond - - * ltconfig.in: replace $objdir with $output_objdir - - * ltmain.in: change to the builddir before relinking programs - - * ltmain.in, ltconfig.in, libtool.m4, ltdl.m4: - remove unnessary spaces from line endings - -2000-01-19 Thomas Tanner - - * ltmain.in: rewrite of the ILD code, merge linking code for - programs, libraries and objects, allow linking of shared libraries - against static libraries/objects on platforms that support it - but print a warning, fix some typos - - * partially revert my previous change and - update only copyright notices of files that were actually modified - - * NEWS: update - - * libltdl/Makefile.am: version number was wrong - - * libltdl/ltdl.c (tryall_dlopen): revert Gary's change - since it breaks dlpreopening - * ltdl.m4: ditto - - * libltdl/ltdl.c (sys_search_path): search in the system default - library search path, too - * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path - - * libltdl/ltdl.c (find_module): remove bogus file_not_found_error - - * libltdl/ltdl.c (load_deplibs): implement loading of dependency - libraries - * libltdl/ltdl.c (unload_deplibs): implement unloading of dependency - libraries - * libltdl/ltdl.c (lt_dlexit): correctly close all modules and - their dependencies - - * libltdl/ltdl.c (lt_dlforeach): new function - * libltdl/ltdl.h: ditto - * doc/libtool.texi (using libltdl): document it - - * libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to - INCLTDL - - * libtoolize.in: reformatting - * ltconfig.in: reformatting - * ltmain.in: reformatting - - * mdemo/configure.in: AC_SUBST INCLTDL - * mdemo/Makefile.am: use INCLTDL - - * tests/Makefile.am: reexport OBJEXT and EXEEXT - * tests/dryrun.test: use them for building main.obj and mdemo.exe - -2000-01-17 Gary V. Vaughan - - * libltdl/ltdl.c (tryall_dlopen): Abort with - file_not_found_error before trying all lib_open() methods - if the file to be dlopened doesn't exist. - * ltdl.m4 (AC_HAVE_HEADERS): add unistd.h. - -2000-01-16 Gary V. Vaughan - - * libltdl/ltdl.c (find_file): memory error fixed. - -2000-01-14 Gary V. Vaughan - - * ltconfig.in (Usage): Now it matches the code! - Reported by Jon Leichter - - * README: Some notes about libtool release numbers. - - * mdemo/README: Explain the deliberate incompleteness of the - Windows port. - * mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL. - * mdemo/Makefile.am (LDFLAGS): Add -no-undefined. - - * libltdl/ltdl.h (LTDL_STMT_START, LTDL_STMT_END): Macros for - wrapping other macros to make a portable compound statement from - multiple C statements in the expansion. - (LTDL_SET_PRELOADED_SYMBOLS): Use the above macros to add an - extern declaration for lt_preloaded_symbols, to remove - dependency on undefined symbol from libltdl.dll on cygwin (and - other -no-undefined architectures). - * libltdl/ltdl.c (lt_preloaded_symbols): No longer defined here. - - * libtool,m4 (AC_LIBTOOL_SETUP): The result of lt_cv_need_dllmain - was set to the opposite of what it should be. - * configure.in (AC_LIBTOOL_WIN32_DLL): Call to this macro is - required for libtool configury to test lt_cv_need_dllmain on - Windows. - - * ltconfig.in (opt_cr, mingw*): replace unescaped ? with correctly - escaped and portable \{0,1\} in sed expression. - From Jon Leichter - -2000-01-13 Gary V. Vaughan - - * libtool.m4 (AC_LIBLTDL_CONVENIENCE): Add -I${top_srcdir}/libltdl - to default INCLTDL for VPATH. - (AC_LIBLTDL_INSTALLABLE): ditto. - Reported by Tom Tromey - -2000-01-12 Thomas Tanner - - * update all copyright notices to 2000 - - * doc/libtool.texi (using libltdl): document new lt_dlinfo struct, - replace NULL with @code{NULL}, document lt_dlsetdata(), - lt_dlgetdata() and lt_dlgetinfo() - * libltdl/Makefile.am: increment interface version number - * libltdl/configure.in: set version number to 1.1 - * libltdl/ltdl.c: make some variables public by moving them - to the info struct, add support for application specific data - within module handles, new lt_dlsetdata(), lt_dlgetdata() and - lt_dlgetinfo() functions, - fix memory leaks, minor cleanups - * libltdl/ltdl.h: ditto - * mdemo/main.c: demonstrate use of lt_dlgetinfo, - improved handling of errors - - * ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux - and Solaris, only hardcode *all* run-paths if hardcode_into_libs - is set to 'all', otherwise hardcode only user-specified rpaths - into libraries - * ltmain.in: minor cleanups, we don't need to add user-specified - rpaths to compile_rpath, finalize_rpath is sufficient - - * ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has - been set! (reported by Bruno Haible ) - - * configure.in: AC_SUBST reload_flag, deplibs_check_method - and file_magic_cmd - - * README: use 'libtool --version' instead of 'ltconfig --version' - (suggested by Francios Pinard - -2000-01-10 Gary V. Vaughan - - * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Leave undefined when - not compiling for a Windows target. - * libltdl/ltdl.c (canonicalize_path): New function to - ensure internal paths use '/' directory separators. - (find_file): use canonicalize_path. Memory management - changed to cope. - (lt_dlopen): ditto. - (free_vars): Removed `dir' and `name', which are now handled - internally. - - * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Define to '/' or '\\', - as suitable for the target host. - (LTDL_PATHSEP_CHAR): Similarly with ':' or ';'. - * libltdl/ltdl.c: Use LTDL_DIRSEP_CHAR and LTDL_PATHSEP_CHAR - instead of hardcoding throughout. - Reported by Jon Leichter - -1999-12-18 Alexandre Oliva - - * ltmain.in: Oops, `largarg' -> `lastarg'. - - * ltmain.in (-Wc, -Xcompiler): Implemented in compile mode. - - * ltmain.in (-Xcompiler, -Xlinker): Add to compile_command and - finalize_command. - (-Wc, -Wl): Likewise. - - * tests/quote.test: Adjust quoting style of -Wl. - - * ltmain.in: Oops, `echo' -> `$echo'. - - * ltmain.in (-Wl, -Wc): Make commas argument separators, just like - in gcc. - - * ltmain.in (libtool_args): Get all arguments properly enclosed in - quotes and backslash-protected when needed. - -1999-12-16 Alexandre Oliva - - * ltdl.m4: Renamed from... - * libltdl/ltdl.m4: that no longer exists. - * configure.in (ACINCLUDE_M4_LIST): Removed libltdl/acinclude.m4. - * Makefile.am (aclocal_macros): Added ltdl.m4. - (libltdl/acinclude.m4): Concatenate libtool.m4 and ltdl.m4. - * bootstrap: Likewise. - * libltdl/Makefile.am (ACLOCAL): Remove the definition. Relying - upon -I may lead to duplicates. - * doc/libtool.texi: Suggest appending ltdl.m4 to acinclude.m4. - * libtoolize.in: Check AC_LIB_LTDL version number in aclocal.m4. - - * libltdl/configure.in (with_auxdir): Do not use it as the - argument of AC_CONFIG_AUX_DIR, automake requires a literal here. - Use AC_CONFIG_AUX_DIRS/DIR_DEFAULT instead. - - * libltdl/Makefile.am (ACLOCAL): Define with `-I .', as in - bootstrap. - -1999-12-15 Thomas Tanner - - * libltdl/configure.in: path to auxiliary files can be specified - using --with-auxdir (idea by Howard Chu ) - - * ltmain.in: don't remove multiple occurences from dependency_libs - of a library, otherwise many dependencies would get lost - - * bootstrap: use "aclocal -I ." instead of adding the contents - of ltdl.m4 to acinclude.m4 - -1999-12-13 Gary V. Vaughan - - * NEWS: updated. - * libltdl/Makefile.am: Use -no-undefined for dll compliance. - * libltdl/configure.in: Use AC_LIBTOOL_WIN32_DLL for dll - compliance. - * libltdl/ltdl.c: Define and use LTDL_GLOBAL_DATA to correctly - export global data symbols from libltdl.dll. - * libltdl/ltdl.h: Define and use LTDL_SCOPE to declare data - symbols as dllexport, dllimport or plain ornary extern depending - in the context in which it is used. - - * doc/libtool.texi (Distributing libltdl): document use of - ltdl.m4. - * libltdl/configure.in: Removed header checks, as they are - automatically performed by AC_LIB_LTDL. - * libltdl/ltdl.m4: Added header checks from configure.in, so that - AC_LIB_LTDL is sufficient to compile ltdl.c. - Reported by Stephan Kulow . - - * ltconfig.in (ltdll_obj): fixed typo: objdir -> $objdir - -1999-12-12 Gary V. Vaughan - - * ltconfig.in (cygwin*, mingw*, export_symbols_cmds): keep any - DATA tags associated with symbols by recent dlltool. - (cygwin*, mingw*, archive_expsym_cmds): Honor any DATA tags - found in the symbol list. - Reported by Jon Leichter . - -1999-12-10 Gary V. Vaughan - - From Stephan Kulow - * libltdl/ltdl.m4: Add arg 3 to AC_DEFINE's to save the user - from having to hack acconfig.h. - -1999-12-06 Gary V. Vaughan - - * NEWS: Updated. - * TODO: Note some cleanups that are now needed. - * libltdl/configure.in: Use the new macroised tests. - * libltdl/ltdl.m4: New file, macroised tests formerly in - libltdl/configure.in. - Reported by Stephan Kulow . - - From Tim Mooney - * ltconfig.in: split off the osf3 section, so that the osf4 and - osf5 sections can add `-msym' to arguments passed to the linker - for shared libs. - -1999-12-03 Alexandre Oliva - - * ltconfig.in (ac_compile): Use $ac_ext instead of .c. - (ac_link): Likewise. - (dlfcn.h, ac_try): Do not add filename, it is already in - ac_compile. - Reported by Stephane Conversy - - * ltconfig.in (linux-gnu*): Disable hardcode_into_libs until it - works together with fast_install. - - * libtool.m4: Use host when --target is not specified. - - * configure.in: AC_SUBST variables that are used by ltconfig to - build libtool. - - * ltconfig.in (irix6*): Do not override deplibs_check_method - here. - - * libtool.m4: Do not AC_SUBST anything other than LIBTOOL. - -1999-11-20 Michael Forster - - * ltconfig.in (linux-gnu*): Set hardcode_into_libs=yes. - -1999-11-29 Gary V. Vaughan - - * ltconfig.in: Be friendlier to C++ compilers when testing - for dlopen support. - Reported by Stephan Kulow - -1999-11-26 Gary V. Vaughan - - * libtool.m4: better use of $target instead of $host to support - cross compilation. - Reported by Sam Latinga - -1999-11-16 Thomas Tanner - - * configure.in: generate ltconfig and ltmain.sh before configuring - libltdl - -1999-11-04 Alexandre Oliva - - * tests/sh.test: New test to detect uses of quotes within - backticks within quotes. - * ltconfig.in, ltmain.in: Fix detected errors. Mark false - positives with a comment that disables the detector. - Reported by Akim Demaille - - * configure.in: Move ltconfig and ltmain.sh generation back... - * Makefile.am: here. - -1999-11-02 Thomas Tanner - - * NEWS: updated - * THANKS: added Olly Betts and Pavel Roskin - * doc/libtool.texi: fix typo - - * fix major bugs which rendered libtool virtually - unusable (i.e. not portable): - * ltconfig.in: don't hardcode system dependent variables in ltconfig!! - but set sane defaults - * Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig - * libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG - - * ltconfig.in: use old_deplibs for archives, too - remove second occurence of sysv5 - * ltmain.in: fix typo, fix the second occurence of -DPIC, too - - * libltdl/Makefile.am: increment version number, fix typo - * libltdl/ltdl.c (lt_dlsym): don't report an error if the - libltdl-style symbol name wasn't found - -1999-11-02 Wolfgang Rapp - - * ltconfig.in: add support for Unixware (sysv4.2uw2*) - -1999-10-29 Gary V. Vaughan - - * ltmain.in: Damnit! Cygwin cvs committed all the - dos line endings. - -1999-10-28 Stephane Conversy - - * ltmain.in (-DPIC): changed the order of pic flags a little to - prevent upsetting the sgi c++ compiler. - -1999-10-28 Olly Betts - - * ltconfig.in (opt_cr): Handle crlf sequences output by the - mingw toolchain. - - * libtool.m4: Third time lucky, with Tor's patch. - -1999-10-19 Tor Lillqvist - - * libtool.m4: these was a missing `*' in the -mno-cygwin - match. - * ltconfig.in (cygwin, ltdll_obj): fixed a quoting error. - (export_symbols_cmds): added missing cosmetic newline. - -1999-10-18 Tor Lillqvist - - * libtool.m4: test command used == which should be =. - Support -mno-cygwin flag for building mingw32 dlls. - * ltconfig.in (file_magic_cmd): add missing quotes. - (deplibs_check_method): and here. - -1999-10-16 Alexandre Oliva - - * libltdl/ltdl.c (lt_dlopen): Do not search paths when the - specified library is not just a basename. - -1999-10-10 Gary V. Vaughan - - * libtool.m4 (AC_PATH_FILE): new macro replaces - AC_PATH_TOOL_GREP_OUTPUT. - (AC_PATH_TOOL_PREFIX): new macro replaces - AC_PATH_PROG_GREP_OUTPUT. - (AC_LD_RELOAD_FLAG): migrated from ltconfig.in. - (AC_DEPLIBS_CHECK_METHOD): ditto. - * ltconfig.in (reload_flag): moved to libtool.m4. - (deplbs_check_method): ditto. - -1999-10-07 Gary V. Vaughan - - * libtool.m4 (AC_PATH_PROG_VERSION_GREP): removed in favour of the - more general AC_PATH_PROG_GREP_OUTPUT. - (AC_PATH_TOOL_VERSION_GREP): removed in favour of the more general - AC_PATH_TOOL_GREP_OUTPUT. - (AC_PROG_LIBTOOL): Search for a working find program in the - user's PATH using the new macros. - -1999-10-06 Gary V. Vaughan - - * NEWS: updtaed. - * ltconfig.in: Accept osf5. - Reported by Sascha Schumann - -1999-10-04 Gary V. Vaughan - - * ltmain.in (-no-install): This doesn't work on win32 since - the search path for libraries is not encoded in the binary, - and dlls not in $PATH won't be found. Fall back to -no-fast-install - instead. - - * ltmain.in (-no-fast-install): Wrapper script used to add the - exeext on again when naming the wrapped executable. - -1999-10-03 Gary V. Vaughan - - * ltconfig.in: Set $FILE to @FILE@ for substitution with - the value found in libtool.m4 at configure time. - * libtool.m4 (AC_PATH_TOOL_GREP_VERSION): New macro, combines - AC_PATH_PROG and AC_CHECK_TOOL with a test which greps the - output of $ac_dir/${ac_prefix} --version for a - given regex. - (AC_PATH_PROG_GREP_VERSION): New macro used by the above. - (AC_LIBTOOL_SETUP): Use the new macros to search the PATH - [starting at /usr/bin] for a file program which accepts - --version and has "file" in its --version output. - -1999-10-03 Thomas Tanner - - * NEWS: new -no-install flag - * configure.in: fix typo - * doc/libtool.texi(Link mode): document -no-install flag, - correct -no-fast-install docs - * libtool.m4: check for "file" command - * ltconfig.in: don't hardcode /usr/bin/file, remove second - definition of sysv5, replace linkopts -> linker_flags - * ltmain.in: add new -no-install flag, print help for -no-install - and -no-fast-install flags - -1999-10-03 Olly Betts - - * ltmain.in: always create output_objdir - -1999-10-03 Pavel Roskin - - * libltdl/Makefile.am: don't preserve file attributes when - installing the libltdl sources - -1999-10-01 Gary V. Vaughan - - * configure.in (AC_OUTPUT_COMMANDS): generate ltmain.sh - * Makefile.am (ltmain.sh ltconfig): removed. Automake inserts the - rules to automatically call config.status. - - * libtool.m4: be sure to AC_SUBST values no longer tested in - ltconfig.in. - * ltconfig.in: replaced several of the simple feature tests with - substitutions from config.status. - * Makefile.am (ltconfig): generate ltconfig with config.status. - * configure.in (AC_OUTPUT): generate ltconfig with config.status. - -1999-09-30 Donald Anderson - - * ltconfig.in (sco3.2v5): use pass_all deplibs_check_method - for SCO3.2. - -1999-09-29 Gary V. Vaughan - - * ltconfig.in (whole-archive-flag-spec): I had been - wondering why my file system was filling up with empty - files named `71'... seems I forgot to hold in the - shift key when redirecting stderr, 2>&1. Doh! - -1999-09-29 Vadim - - * ltconfig.in (sysv): More UW7 support. - -1999-09-28 Albert Cheng - - * ltmain.in (shlibpath_var): ensure the variable is non-empty before - exporting it. - -1999-09-27 Manfred Weichel - - * ltconfig.in (sysv5): Added support required for shared - library linking on SCO UW7. - -1999-09-22 Gary V. Vaughan - - * ltconfig.in (whole-archive-flag-spec): test whether the - version of GNU ld being used understands --whole-archive - before using it. - -1999-09-19 Thomas Tanner - - * ltmain.in: don't ignore convenience libraries for objects/archives - (temporary hack) - -1999-09-14 Alexandre Oliva - - * ltconfig.in (CDPATH): Set to `:' instead of empty. - * ltmain.in (CDPATH): Likewise. - Reported by Greg McGary - -1999-08-24 Gary V. Vaughan - - * ltconfig.in (ltdll.c, impgen.c): Prevent the shell from - expanding variables & backslash escapes when writing these - files to the libtool script. - -1999-08-24 Thomas Tanner - - * NEWS: mention fixes - * doc/PLATFORMS: GNU/Hurd update - * depdemo: make use of variables - * ltconfig.in: use CC -E when checking for ELF support - on NetBSD (reported by Todd Vierling ), - replace all occurences of 'linkopts' with 'linker_flags' - * ltmain.in: move ltdll.c and impgen.c to ltconfig.in and - only add them to the libtool script if it's necessary - -1999-08-24 Boyd Gerber - - * ltconfig.in: add support for UnixWare 7.X.X - * doc/PLATFORMS: add new platforms - -1999-08-24 Pavel Roskin - - * doc/libtool.texi: document use of noinst_LTLIBRARIES for - convenience libraries - - * ltconfig.in: check for freebsdelf3, not just freebsd3. - Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1 - - * ltmain.in: enable workaround for freebsdelf3.0 - -1999-08-24 Bert Driehuis - - * ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS - -1999-08-07 Alexandre Oliva - - * libltdl/COPYING.LIB: Update to version 2.1. - * libltdl/ltdl.h, libltdl/ltdl.c: Update FSF address. - -1999-08-03 Gary V. Vaughan - - * libtool.m4 (mingw*, AC_PROG_LD): use tr for carriage return - stripping. - * ltconfig.in: ditto. - From Olly Betts - -1999-08-02 Olly Betts - - * doc/libtool.texi (Compile mode): typo correction. - (Link mode): and another. - (Release numbers): and another. - (Distributing libltdl): and another. - (Test descriptions): and another. - (libtool script contents): and one more. - - * libtool.m4 (AC_PROG_LD): strip carriage returns from the - output of gcc -print-prog-name=ld. - * ltconfig.in: ditto. - -1999-07-30 Pavel Roskin - - * ltmain.in: Ensure that gcc on HPsUX uses -fPIC, or else - initialised structures are sometimes emitted in the code section. - -1999-07-30 Mumit Khan - - * ltconfig.in: Read line at a time to avoid tokenisation by - shell. - -1999-07-29 Alexandre Oliva - - * ltmain.in: Fix creation of relative links to object files in - sub-dirs. - -1999-07-29 Olly Betts - - * ltconfig.in(cygwin mingw32, archive_expsym_cmds): Only compile - and link ltdll.c if the libtool.m4 macros discovered that it is - required. - -1999-07-26 Olly Betts - - * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): Oops. Fix some - typos made by Evil Gary while (mis)applying my patch :-). - - * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): On second - thoughts, only probe for -mdll vs -dll on mingw, and revert to - the old `-Wl,--dll -nostartfiles' on cygwin. - -1999-07-24 Erez Zadok - - * doc/PLATFORMS (i*86-*openbsd2.5): New platform. - Slight reordering of other bsd entries. - -1999-07-24 Olly Betts - - * NEWS: Note new user visible changes. - * libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll - under cygwin/mingw. - probe whether the cygwin/mingw library supplies a stub DllMain - (but this information isn't yet used). - * ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set, - use that to build impgen so we can use it when cross-compiling. - use correct entry points for mingw so static C++ constructors get - called for code in the DLL. - * ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the - system headers. - -1999-07-24 Bert Driehuis - - * ltconfig.in: Updated bsdi4 soname specs to be more like - linux as discussed on the bsdi mailing list. - -1999-07-20 Gary V. Vaughan - - * configure.in (AC_PROG_RANLIB): No longer required as we now use - AC_CHECK_TOOL in AC_LIBTOOL_SETUP. - * libtool.m4 (AC_PROG_LIBTOOL): Pass the $build variable to - ltconfig. - (AC_PROG_RANLIB): replaced with AC_CHECK_TOOL. - * ltconfig.in (build): new variable to hold the build triplet - which is now checked for unless --no-verify is specified. - (--build): new argument to set the build triplet. - (ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different - to $host. - * doc/libtool.texi (Invoking ltconfig): Document --build option. - * NEWS: Note --build option. - -1999-07-19 Erez Zadok - - * doc/PLATFORMS: Updated mostly *bsd platforms. - -1999-07-19 Alexandre Oliva - - * doc/libtool.texi (Porting inter-library dependencies): Typos - Reported by Petter Reinholdtsen - -1999-07-17 Thomas Tanner - - * NEWS, TODO: updated (pic flags) - * libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag - * ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags, - fixed the strip check (reported by Keith Bostic ) - * ltmain.in (compile mode): build only PIC/non-PIC code depending - on pic_mode - * libltdl/README: document the supported dlopen interfaces - * doc/libtool.texi (tests): documented new tests - * tests/Makefile.am: added new tests - * tests/demo-pic.test: new test to test --with-pic - * tests/demo-nopic.test: new test to test --without-pic - * tests/build-relink2.test: variant of build-relink.test that - uses depdemo - -1999-07-09 Olly Betts - - * doc/libtool.texi (C++ Libraries): fixed a typo. - -1999-07-06 Gary V. Vaughan - - * README-alpha: improved the release instructions to mention - actual list addresses for announcements, and urls for upload - locations. - -1999-07-03 Thomas Tanner - - * doc/PLATFORMS: 1.3b passes all tests on cygwin - -1999-07-03 Pavel Roskin - - * ltconfig.in: finish_cmds for FreeBSD removed - * depdemo/l3/Makefile.am: install libl3.la into an extra directory - -1999-07-02 Gary V. Vaughan - - * configure.in: bumped version to 1.3c. - - GNU libtool 1.3b was released. - - * NEWS: inserted todays date. - -1999-07-02 Alexandre Oliva - - * doc/PLATFORMS: Tested on as many platforms as possible for me. - -1999-07-01 Thomas Tanner - - * NEWS: updated - * doc/PLATFORMS: updated - * changed my email address - -1999-06-30 Thomas Tanner - - * demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl) - * tests/build-relink.test: also check for hardcode_into_libs = yes, - if set, we need to relink at install-time - -1999-06-29 Thomas Tanner - - * NEWS: mention -no-fast-install, rename dummy to force - * doc/PLATFORMS: 1.3b passes all tests on GNU/Linux, - FreeBSD (2.2.6 and 3.1) - * doc/libtool.texi: it's possible to link libtool libraries - using -L and -l, better documentation of uninstall and clean mode, - rename dummy to force, documented -no-fast-install, - AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL, - documented hardcode_into_libs and striplib/old_striplib, - * ltconfig.in: search for strip program, added hardcode_into_libs - and striplib/old_striplib variables, set strip commands for GNU strip, - on FreeBSD >= 3.2 set hardcode_into_libs to yes, - fast-install mode doesn't work if hardcode_into_libs = yes - * ltmain.in: reimplemented hardcoding into libraries: - new relink mode, preserve all libtool args, relink libraries - when installing if necessary - added -no-fast-install flag, removed unnecessary `dlname' - initialization, use striplib/old_striplib for stripping libraries, - dlname is always soname or in library_names so we don't need - to handle different file names - -1999-06-29 Alexandre Oliva - - * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes - up to release 3.1, and to no from 3.2 on. - Reported by Pavel Roskin - -1999-06-29 Pavel Roskin , Alexandre Oliva - - * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to - yes; tested on 3.1-ELF by Pavel and on 2.2.6 by Alexandre. - -1999-06-25 Alexandre Oliva - - * ltconfig.in (linux-gnu*, deplibs_check_method): Use pass_all on - alpha, x86 and sparc architectures by now, reverting to file_magic - at least on ARM, where it breaks. - -1999-06-23 Thomas Tanner - - * NEWS: updated - * README: added GNU Hurd to the supported platforms - * doc/libtool.texi: document `-dlpreopen dummy' - instead of `-dlopen dummy' - * libltdl/ltdl.c (strchr): fixed typo (missing star) - -1999-06-23 Stephan Kulow - - * libltdl/ltdl.c (strrchr): fixed typo (missing star) - * libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings - -1999-06-23 Olly Betts - - * ltmain.in (ltdll.c): Support for crosscompiling from linux to - mingw32. - -1999-06-23 Gary V. Vaughan - - * ltconfig.in (cygwin, export_symbols_cmds): If there is already - an extracted and compiled ltdll.c, then don't delete, reextract - and recompile. - (cygwin, archive_expsym_cmds): Make sure the ltdll source has been - extracted and compiled before referencing the object, since there - are paths through the code which run archive_expsym_cmds without - running export_symbols_cmds. - -1999-06-20 Gary V. Vaughan - - * ltconfig.in: moved the test for NM after the test for - no_builtin_flag. - -1999-06-20 Alexandre Oliva - - * ltconfig.in: Use sed '$q' instead of sed "" for copying ltmain, - just in case some sed does not support an empty command. - - * ltconfig.in (link_static_flag, ac_cv_prog_cc_static): Use the - latter in the test. - -1999-06-18 Thomas Tanner - - * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive - regex (reported by Chris P. Ross ) - * ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols - if dlself != no - * doc/libtool.texi (Compile and Link mode): document it, - documented the -Wc, -Wl flags, libtool does also support non C - source code - -1999-06-18 Teun Burgers - - * ltconfig.in: CR/LF fix for broken DJGPP bash - * ltmain.in: CR/LF fix for DJGPP - -1999-06-18 Gary V. Vaughan - - * ltmain.in (outputname): When generating the executable wrapper - script, $outputname already has the $exeext suffix, so we needn't - add it again. - -1999-06-16 Gary V. Vaughan - - * libltdl/configure.in (ac_cv_lib_dl_dlopen): missing "x" in test - comparison corrected. - - * libltdl/ltdl.c (sys_wll_open): libltdl expects this function to - fail if it is unable to physically load the library. Sadly, - LoadLibrary will search the loaded libraries for a match and - return one of them if the path search load fails. Simulate a - failure in this case for compatibility with the other APIs. - Also, LoadLibrary takes the liberty of adding `.dll' to library - names passed without an extension, we now add a trailing `.' to - prevent this from happening. - -1999-06-15 Gary V. Vaughan - - * libltdl/ltdl.c (sys_wll_close): Strangely enough, Microsoft have - decided that LoadLibrary returns `0' for success, yet FreeLibrary - returns `0' for failure! The FreeLibrary call used to interpret - `0' as success for both functions. - -1999-06-14 Thomas Tanner - - * ltconfig.in: use eval when setting have_dlfcn_h, reformatting - -1999-06-12 Thomas Tanner - - * ltmain.in: store old archives in deplibs and old_deplibs, - retain the order of dependency libraries (even old archives), - determining the absolute directory name didn't work due to a typo, - add the library search paths of all dependency libraries when - linking a library (fixes IRIX 5.2 bug) - -1999-06-10 Alexandre Oliva - - * ltconfig.in: Reverted June 6's patch for new GNU ld output, it - is no longer needed, as ld reverted to the original format. - * NEWS: Likewise. - - * ltconfig.in: When testing self-dlopening, test whether dlclose - crashes. On FreeBSD 3.1, it does. :-( - * libltdl/configure.in: Likewise. - * NEWS: Note work-around. - Reported by Pavel Roskin - -1999-06-09 Gary V. Vaughan - - * ltconfig.in (exeext): autoconf's AC_EXEEXT uses "no" to indicate - no extension, and we must do the same in order to share the cache - value. Also we must ignore conftest.err which HPsUX (at least) - fills with gratuitous warnings. - (objext): for consistency, do the same as above. - Reported by Pavel Roskin - -1999-06-09 Pavel Roskin - - * ltconfig.in (exeext): Use quotes in the test, to prevent a - failure in sh.test. - -1999-06-09 Gary V. Vaughan - - * ltconfig.in: Reordered tests to be more like configure.in's - recommended order (programs first, then libraries, etc.). - Performed a manual ``constant folding pass'' (eg: s/eval "test - \"echo '$''{'lt_cv_dlopen'+set}'`\" != set/test - "${lt_cv_dlopen+set}" != set/). - s/test "${foo+set}" = "set"/test "X${foo+set}" = Xset/g - - * ltconfig.in (link_static_flag): Accept, in order of decreasing - preference: the cached value; the default value for the current - host. Also test that the compiler accepts the flag, and cache - that result too. - - * ltconfig.in (pic_flag): Accept, in order of decreasing - preference: the cached value; the default value for the current - host. Also test that the compiler accepts the flag, and cache - that result too. - -1999-06-08 Gary V. Vaughan - - * ltconfig.in (LN_S): Accept, in order of decreasing preference: - the cached value; an environment setting; ``ln -s'' if it works; - ``ln'' if ``ln -s'' doesn't appear to work. - - * ltconfig.in (objext): Accept, in order of decreasing preference: - the cached value; the result of a test object compilation. - - * ltconfig.in (RANLIB): Accept, in order of decreasing preference: - the cached value; an environment setting; the first file called - ``ranlib'' in the user's path. - - * ltmain.in (exeext): Use $exeext when working out the names of - programs (but not the wrapper script itself due to a stupidity in - win32 which hardwires the .exe extension to the binary loader!). - * ltconfig.in (exeext): Now that the wrapper script tries to move - executables, we need to know whether they have an extension (ala - AC_EXEEXT). Since we can't rely on AC_EXEEXT having been called - in configure.in, we must be able to check for ourselves, though we - can look for a cached result incase AC_EXEEXT was called. - - * ltconfig.in (cygwin, pic_flag): Force separate compilation of - objects for dlls vs. objects for static archives. Using a cpp - macro also allows us to decide whether or not we need to use - dllexport/import declarations. - - * ltconfig.in (cygwin, need_version): Set to no, otherwise module - dll's end up with mighty long names! - -1999-06-06 Alexandre Oliva - - * ltconfig.in: Support new GNU ld --help output format. - * NEWS: Likewise. - Reported by Gaël Quéri and - H.J. Lu . - -1999-06-05 Mark Kettenis - - * ltconfig.in: Update support for the Hurd. Make sure that the - soname includes the major version number and create the right - links. Allow shared objects without the `lib' prefix and without - version information. - -1999-06-02 Nick Rasmussen - - * ltmain.in (link): use "$nonopt" as the compiler for - compile/finalize_command - -1999-05-27 Alexandre Oliva - - * TODO: Remove the short list of people interested in C++ - constructors; it's not meaningful, since there are so many more - people requesting this feature, and we just can't maintain it - accurate. - -1999-05-27 Pavel Roskin - - * ltconfig.in (GNU Hurd, deplibs_check_method): Use pass_all. - -1999-05-27 Alexandre Oliva , Olly Betts - - * ltmain.in: Expand convenience libraries when creating reloadable - objects. - * NEWS: Ditto. - -1999-05-27 Alexandre Oliva - - * NEWS: Mention the two bugfixes below. - - * ltmain.in: Only create directory into which to extract - convenience libraries when $convenience is not empty. It would - always be created on systems that did not support - whole_archive_flag_spec. - - * ltconfig.in (export_symbols_cmds): Add $convenience. - (cygwin, export_symbols_cmds): Ditto. - * ltmain.in: Generate export symbol list before expanding - convenience libraries, to avoid passing whole_archive_flag_spec to - $NM. - Reported by Godmar Back - -1999-05-27 David Jones - - * libltdl/ltdl.c (LTDL_BIND_FLAGS): Remove BIND_VERBOSE, to avoid - printing error messages. - -1999-05-26 Alexandre Oliva - - GNU libtool 1.3.2 was released. - -1999-05-25 Alexandre Oliva - - * NEWS: List fixed problems. - * doc/PLATFORMS: Tested for 1.3.2. - - * config.guess: Synch with GNU common. - - * ltmain.in: Revert to stripping .exe on all platforms. - * TODO: Note about this problem. Demo is fixed on win32. Support - `empty' convenience libraries. - - * ltconfig.in (solaris*, ld_shlibs): Do not enable shared - libraries with GNU ld 2.8.*, it's broken. Emit a warning - suggesting an upgrade. - Reported by Brian Ford and Ronald Pijnacker - - -1999-05-25 Frank Ch. Eigler - - * ltmain.in: file_magic check would not avoid cyclic links. - -1999-05-25 Alexandre Oliva - - * depdemo/main.c, depdemo/l1/l1.c, depdemo/l2/l2.c: K&R-ize. - * depdemo/l3/l3.c, depdemo/l4/l4.c: Likewise. - - * ltmain.in: Remove object files before writing to them, to avoid - circular links. - Reported by Ron O'Hara - -1999-05-24 Thomas Tanner - - * NEWS: support for installing stripped libraries using GNU strip - * ltconfig.in: set deplibs_check_method=pass_all on FreeBSD, - Linux and Solaris since no one can reproduce the famous deplibs - bug - * ltmain.in: preserve $CC (reported by Tom Tromey), - strip libraries using GNU strip if it's available and the - -s flag was passed to "install" - -1999-05-23 Alexandre Oliva - - * doc/PLATFORMS: Release 1.3.1 passes on GNU Hurd/x86. - Reported by Pavel Roskin - -1999-05-23 Thomas Tanner - - * ltmain.in: strip off the .exe suffix only on *Win - (Reported by Matthew D. Langston ) - -1999-05-22 Thomas Tanner - - * NEWS: updated - * TODO: -Wc, -Wl, implemented - * AUTHORS: changed my email address - * doc/libtool.texi: fix "wierd" typo :) - * ltmain.in: linking against convenience libraries was broken, - implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for - compiler and linker-specific flags, - add -lc before we do the deplibs check - * ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags - for $LD, link_all_deplibs=yes on IRIX - -1999-05-22 Gary V. Vaughan - - * NEWS: insert todays date alongside 1.3.1 release. - * Makefile.in: use gnu not gnits rules - * config.guess: synch with gnu common & apply Takabatake-san's - MIPS *000 patch. - * config.sub: synch with gnu common. - -1999-05-22 Doug Evans - - * libltdl/configure.in (dlerror): Fix typo in dlopen found in -ldl - test. - -1999-05-21 Pavel Roskin - - * Makefile.am (EXTRA_DIST): Don't distribute instutils. - (install-data-hook): use libltdl/Makefile.am's local-install files - rule. - * libltdl/Makefile.am (local-install-files): New rule to install - libltdl without creating links or mode 777 directories. - * instutil/*: deleted. - -1999-05-21 Alexandre Oliva - - * doc/PLATFORMS: Updated to 1.3.1 for all platforms I've got. - Added sparc-unknown-linux-gnu. - -1999-05-21 Gary V. Vaughan - - * demo/foo.h: s/PARAMS/LTDL_PARAMS/g - * libltdl/ltdl.h: ditto. - * libltdl/ltdl.c: ditto. - - * demo/foo.h: s/__P/PARAMS/g - * libltdl/ltdl.h: ditto. - * libltdl/ltdl.c: ditto. - Reported by Akim Demaille - -1999-05-20 Alexandre Oliva - - * NEWS: Updated docs. - * TODO: Recommend libtool.m4 to be inserted in acinclude.m4. AIX - 4.3.2.0 no longer fails on static dlopening. GNU DLD no longer - has to support .la files, since libltdl already does. Convenience - libraries and reloadable objects should be tested in the - testsuite. We could support some amount of control on the soname - of libraries. - * doc/libtool.texi: Notes about convenience libraries and - automake. Documented INCLTDL. - -1999-05-20 Thomas Tanner - - * cdemo/main.c: "Welcome _to_ ..." - * mdemo/main.c: ditto - * libltdl/configure.in: support multiple dlopening mechanisms - at once - * libltdl/ltdl.c: prefix system dependent functions with "sys_" - to avoid symbol conflicts (libdld didn't work) - * libtool.m4 (AC_LIBLTDL_*): set INCLTDL to the path of ltdl.h - * ltconfig.in: check for dlopen with -ldl first - -1999-05-19 Gary V. Vaughan - - * NEWS: Added 1.3.1 news items. - * doc/PLATFORMS: updated the boxes I have access to, to 1.3.1 - in preparation for the next release. - -1999-05-18 Gary V. Vaughan - - * ltconfig.in (cygwin*, whole_archive_flag_spec): dlltool chokes - on this, so leave it unset in this case so that the ltmain code - knows it has to unpack convenience archives by itself. - -1999-05-17 Gary V. Vaughan - - * ltmain.in: Do not exit when an unknown library name is passed - passed in, simply warn and continue since some compilers require - -LANG:* like options to work. - Reported by Adam C. Powell, IV - -1999-05-17 Jiro Takabatake - - * ltconfig.in: port to NEC UX/4800. - * NEWS: updated. - -1999-05-17 Gary V. Vaughan - - * ltconfig.in (beos*, deplibs_check_method): set to pass_all. BeOS - is PIC by default. - Reported by "Shawn T . Amundson" - - * libltdl/configure.in: Fix test failures on AIX 4.3.2 by checking - for dlopen *with* -ldl first. - Reported by Greg Wooledge - - * demo/foo.h: Don't set any declspecs until we have full dll - support. - -1999-05-16 Alexandre Oliva - - * ltconfig.in (solaris2.6, whole_archive_flag_spec): Do not use - -Wl for allextract. - -1999-05-14 Alexandre Oliva - - * instutil/chmod: New script to avoid chmod'ing files while - installing libltdl's sources. - * instutil/ln: New script to avoid hard-linking libltdl's sources - in the install tree. - * Makefile.am (EXTRA_DIST): Dist them. - (instal-data-hook): Add srcdir/instutil to the beginning of the - PATH before installing libltdl's sources. - -1999-05-09 Gary V. Vaughan - - * TODO: updated. - -1999-05-06 Gary V. Vaughan - - * Makefile.am (install-data-hook): make sure the install directory - is not left world writable. - Reported by Andreas Schwab - -1999-04-30 Alexandre Oliva - - * libtool.m4: Use ifelse instead of if. - Reported by David Mazieres - -1999-04-29 Alexandre Oliva - - GNU Libtool 1.3 was released. - - * NEWS: Summarize news from 1.2 to 1.3. - - * ltmain.in: Save exit status of link_command before removing - symbol table object file. - -1999-04-29 Gary V. Vaughan - - * doc/PLATFORMS: updated my hpux-10.20 and cygwin box entries. - -1999-04-29 Alexandre Oliva - - * NEWS: Improved support for DU and IRIX too. - - * config.sub, config.guess: Updated from GNU common. - - * mdemo/configure.in: Move AC_LIBLTDL_CONVENIENCE before - AM_PROG_LIBTOOL, as suggested by autoconf. - - * doc/libtool.texi (Distributing libltdl): Document that -static - may cause the same problems on libltdl as -all-static. - * TODO: We might want to fix this in the future. - - * doc/libtool.texi: Clear up overfull hbox. - - * libltdl/Makefile.am (ltdl.lo): Add dependencies. - * libltdl/configure.in: Clean up some duplicate defines. Enable - support for multiple dlopening mechanisms. - * libltdl/acconfig.h: New file. Add #undefs for defines that - would be duplicated. - -1999-04-29 Gary V. Vaughan - - * libtool.m4 (cygwin*|mingw*, DLLTOOL, OBJDUMP, AS): Only expand the - code that makes these configure time checks on hosts that need the - tools *and* if the AC_LIBTOOL_WIN32_DLL macro is used. - -1999-04-29 Alexandre Oliva - - * ltmain.in (nlist, SYMFILE): Use outputname instead of output for - names within output_objdir. - -1999-04-28 Alexandre Oliva - - * libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC, - AC_ENABLE_FAST_INSTALL): Do not call AC_BEFORE here, they're - AC_REQUIREd by AC_LIBTOOL_SETUP. - (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): - Call AC_BEFORE here, and now with two arguments, since these do - change the default. - (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Fix calls to - AC_BEFORE. - -1999-04-28 Gary V. Vaughan - - * libtool.m4 (ltconfig_enable_win32_dll): pass --enable-win32-dll to - ltconfig if this is set. - (AC_LIBTOOL_WIN32_DLL): New macro required for libtool to attempt - a dll build on win32 hosts. - * ltconfig.in (--enable-win32-dll): new flag for the cli. - (cygwin*|mingw*|os2*, ltconfig_enable_win32_dll): if this is not set - to yes, then do not attempt to build shared libraries. - * doc/libtool.texi: document AC_LIBTOOL_WIN32_DLL. - * NEWS: noted new macro. - -1999-04-27 Alexandre Oliva - - * libtool.m4 (AC_LIBTOOL_DLOPEN, AC_ENABLE_SHARED, - AC_ENABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_LIBLTDL_CONVENIENCE, - AC_LIBLTDL_INSTALLABLE): Warn if they appear after - AC_PROG_LIBTOOL. AC_LIBTOOL_SETUP, actually. - (AC_LIBTOOL_SETUP): Check whether DLOPEN support is to be enabled - at autoconf time, not configure time. Simplify code and - improve (?) help message about --disable-libtool-lock. - -1999-04-27 Thomas Tanner - - * NEWS: new clean mode - * THANKS: added Ossama Othman - * doc/libtool.texi: documented the new `clean' mode - * ltconfig.in: set need_version=no on OSF (reported by - Marcus Sundberg ) - * ltmain.in: allow absolute non-existant -L paths, - always use output_objdir instead of objdir for temporary files, - delete generated temporary symbol lists, - don't add .la twice in the pseudo-library header, - implemented and documented clean mode (deletes libraries, - programs and object files and the files associated with them), - if build_libtool_libs=no and no static library is available, - try to link the program against the shared library, - don't add a statically linked library to the dependency_libs - * ltmain.in (help uninstall): added a missing backslash - after echo (reported by Ossama Othman) - -1999-04-27 Alexandre Oliva - - * ltmain.in (old_archive_cmds): Iterate on oldobjs to find out - which links to object files we must create. Do not test for empty - pic_flag to create such links. Use objext when searching for - object files extracted from convenience library. - - * ltconfig.in (compiler_c_o): Make sure the compiler does not - create temporaries in the current directory when output should go - elsewhere. We must perform locking if it does. - -1999-04-27 Gary V. Vaughan - - * ltmain.in (old_archive_cmds): Ensure that there are always .o - objects available before running old_archive_cmds. - -1999-04-26 Erez Zadok - - * doc/PLATFORMS: Updates for netbsd 1.3.3 and 1.4. - -1999-04-26 Alexandre Oliva - - * ltconfig.in (aix4.[01], always_export_symbols): The case pattern - would never match; fixed. - Reported by Stephan Kulow - -1999-04-25 Alexandre Oliva - - * libtool.m4 (OBJDUMP): Pass it to ltconfig. - * configure.in: AC_SUBST DLLTOOL, OBJDUMP and AS. - * Makefile.am (libtool, clibtool): Pass them to ltconfig. - -1999-04-25 Frank Ch. Eigler - - * libtool.m4 (cygwin*): Look for target objdump tool. - * ltconfig.in (cygwin*, file_magic_cmd): Use autoconf-located target - objdump tool. Track OBJDUMP like DLLTOOL and AS. - - * ltconfig.in (cygwin*, deplibs_check_method): Accept - "architecture: i386" as optional suffix, for it is printed on a - separate line sometimes. - - * ltmain.in (cygwin*, ltdll.c): Wrap DllMain declaration in extern "C". - - * ltmain.in (deplibs_check_method=file_magic): Redirect stderr to - /dev/null, to suppress error messages from target objdump. - -1999-04-25 Alexandre Oliva - - * ltconfig.in (irix*, soname_spec, library_names_spec): Missing - dots before $versuffix and $major. - - * ltconfig.in (solaris*, whole_archive_flag_spec): Use -z - allextract/defaultextract from Solaris 2.6 on. - Reported by Brian Ford - - * ltconfig.in (beos*, allow_undefined_flag): Do not build shared - libraries with undefined symbols. - - * ltconfig.in (aix4*, allow_undefined_flag): Set to -berok. - (aix4*, shared_flag): Set to -shared or ${wl}-bM:SRE. - (aix4*, archive_cmds): Use -bexpall. - (aix4*, archive_cmds, archive_expsym_cmds): Use shared_flag and - allow_undefined_flag. - (aix4*, always_export_symbols): Set to yes up to AIX 4.1.*, - because -bexpall is supported from 4.2 on. - Reported by Greg Wooledge - - - * ltconfig.in (hpux*, hardcode_minus_L): Set to yes. - (hpux*, hardcode_libdir_flag_spec): Do not use +s by default. - (hpux*, shlibpath_overrides_runpath): Set to no. - - * ltconfig.in (irix*, osf*, archive_cmds): Write so_locations - within objdir. - - * ltconfig.in (irix*, soname_spec): Append $major. - (irix*, library_names_spec): Add new soname. - Reported by David Kaelbling - - * ltconfig.in (irix*, sys_lib_dlsearch_path_spec): /usr/local/lib - is not searched by default. /usr/lib is searched before /lib. - * ltconfig.in (irix*, sys_lib_search_path_spec): /usr/lib is - searched before /lib. - - * ltconfig.in (irix5*, need_lib_prefix, need_version): Set to no, - by unifying with irix6*. - - * ltconfig.in (irix*, osf*, deplibs_check_method): Use pass_all. - - * ltconfig.in (old_LDFLAGS, old_LIBS): Save and write to comments - in output file. - - * ltmain.in (prefer_static_libs): New variable, set to no by - default, but set to yes by -static and -all-static. Used instead - of build_libtool_libs to decide whether to use a shared or static - version of a library, when both versions are available. - -1999-04-25 Boyd Lynn Gerber - - * ltconfig.in (sco3.2v5*): Use LD_RUN_PATH for hard-coding. - -1999-04-25 Pavel Roskin - - * Makefile.am (uninstall-local): Remove installed libltdl tree. - -1999-04-25 Alexandre Oliva - - * demo/Makefile.am (hc-direct, hc-libflag, hc-libpath, hc-minusl): - Added CFLAGS to link commands; SCO OSR needs it for -belf. - - * TODO: -Wl and -Wc options. - -1999-04-12 Alexandre Oliva - - * libltdl/ltdl.c: Remove trivial warnings. - -1999-04-22 Frank Ch. Eigler - - * ltconfig.in: Correct sed expression that extracts symbols - from cygwin def files. Ignore demangled C++ names, if any. - -1999-04-12 John David Anglin - - * libltdl/ltdl.c (shl_close): shl_t was correct here... - (shl_sym): ... but we have to pass the handle by reference here. - -1999-04-12 Alexandre Oliva - - * doc/libtool.texi (Invoking ltconfig): Document environment - variables used. - - * doc/libtool.texi (Invoking ltconfig): Document --cache-file. - - * doc/libtool.texi (Invoking ltconfig): Document - --disable-fast-install, --enable-dlopen, --with-gnu-ld and - --disable-lock. - -1999-04-11 Thomas Tanner - - * libltdl/configure.in: check for shl_load in libdld - * libltdl/ltdl.c (shl_close, shl_sym): use (shl_t *) instead of shl_t - * ltconfig.in (check for gcc): removed a bogus line, - check for shl_load in libdld - * ltmain.in: added a warning to the header of the .la file - to warn users against deleting the file, - link shared against static libraries if - deplibs_check_method == pass_all - -1999-04-10 Alexandre Oliva - - * libtool.m4 (AC_PROG_LD, AC_PROG_NM): When looking for programs, - try $ac_exeext too, so that they're found on DJGPP/MS-DOS. - * ltconfig.in: Likewise. - Reported by Robert S. Maier - - * ltconfig.in (Usage): Removed --enable-dlopen-self. - Reported by Pavel Roskin - - * ltconfig.in: Moved sysv4 before sysv4.*. - (symcode): Brian's overrider is specific to sysv4, not sysv4*. - -1999-04-09 Thomas Tanner - - * NEWS, README: Motorola System V 4 support - * doc/PLATFORMS: added mk88-motorola-sysv4 - * ltconfig.in: installed patch from Brian Ford - to support mk88-motorola-sysv4 - - * doc/libtool.texi: some cleanups in the libltdl documentation - -1999-04-07 Alexandre Oliva - - * ltconfig.in (--fallback-echo): Do not put an inline document and - an exec in the same if construct; otherwise the inline document - may not be removed. - * ltmain.in (--fallback-echo): Likewise. - Reported by John David Anglin - - * dryrun.test: It would still fail at random times, because `cp' - and `mv' are not guaranteed to preserve the timestamps of the - installed files. Instead of preserving them, just remove them - before the dry uninstall test. Redirect dry-run output to stderr, - so that it can be easily separated from the regular output. - -1999-04-07 Thomas Tanner - - * NEWS: support for moved libraries - * libtool.m4: another DJGPP fix - -1999-04-07 Alexandre Oliva - - * doc/PLATFORMS: Updated to 1.3 for all platforms I've got. I'll - make sure 1.3 won't be released unless it passes all tests on - those platforms. - - * doc/libtool.texi (Compile mode): Document potential problem and - work-around for `-c -o dir/foo.lo'. - - * tests/dryrun.test: The constant modifications of libtool would - cause main.o to be updated at the wrong time; the new approach is - to modify the libtool script so that it enables dry run depending - on whether an environment variable is set or not. I've also moved - `after' and `before' to a directory deep within $objdir, instead - of creating it in ../tests. - * tests/Makefile.am (CLEANFILES): Removed. - -1999-04-06 Alexandre Oliva - - * tests/dryrun.test: We cannot rely on setting LIBTOOL, because - automake may use sub-makes, and the setting will not be propagated - to them on some makes. Instead, create a dry version of libtool - and switch between it and the original one before and after dry - runs. - * tests/Makefile.am (CLEANFILES): Added libtool-*, created by - dryrun.test. - - * tests/dryrun.test: Use cmp instead of diff. - (before, after): Create them within ../tests. - (libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL, - SHELL and top_builddir from the environment if available. For dry - runs, use "$libtool -n". - * tests/Makefile.am (CLEANFILES): Added before and after. - * ltmain.in: Do not create links to object files in dry runs. - -1999-04-06 Thomas Tanner - - * ltmain.in: added a missing line of the ILD patch - - * NEWS: improved DJGPP support - * doc/libtool.texi: removed hardcode_into_libs documentation - * libtool.m4: some DJGPP fixes - * ltconfig.in: ditto, reverted one of my previous patches: we need - to check for NM, removed the hardcode_into_libs support since - no platform seems to support it - * ltmain.in: some DJGPP fixes, removed the hardcode_into_libs support - -1999-04-05 Alexandre Oliva - - * ltconfig.in (netbsd*, GNU ld): Support a.out shared libraries - - * Makefile.am (CVS): allow command-line overriding of cvs - - * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by - default, as most a.out platforms use it, and end up in trouble if - we preload it, so it's safer to rule it out by default, and - special case its removal from exclude_expsyms if someone ever - complains. - -1999-04-05 Thomas Tanner - - * doc/libtool.texi: reorder tests to reflect execution order, - documented dryrun.test and depdemo* - * ltmain.in (lt_preloaded_symbols): dry-run mode bugfix - * tests/dryrun.test: new test to check whether the dry-run - mode works properly - - * demo/run.test: removed the unnecessary test - * demo/Makefile.am: ditto - * ltmain.in: set the DLL search path on cygwin,mingw and os2 - -1999-04-04 Alexandre Oliva - - * ltconfig.in (sunos4*, GNU ld): -Bstatic is not enough for - deplibs.test to work with GNU ld; -Bshareable is needed here. - - * ltconfig.in (ld_shlibs, amigaos*): Disable shared libs with - native ld too. - - * ltconfig.in (sunos4*, GNU ld): Reordered. - - * ltconfig.in (archive_cmds, sunos4*): Revert to -Bstatic; the - native linker doesn't even support -Bshareable, only GNU ld does. - Do not use `gcc -shared' in archive_cmds, it breaks deplibs.test. - - * ltconfig.in: if ld_shlibs=no, set can_build_shared=no too, - otherwise it will just be disregarded. This would cause - netbsd/m68k with GNU ld a.out, and certainly many other platforms, - to incorrectly believe that shared libraries were supported, while - archive_cmds was empty, causing shared libraries not to be created - -1999-04-03 Alexandre Oliva - - * NEWS: improved support for AIX and HP/UX - -1999-04-03 Thomas Tanner - - * NEWS: updated - * libtool.m4: check for main in libm instead of cos - * ltmain.in: cosmetic fixes, don't try to link libraries only once - (although it's not necessary on many platforms and looks ugly...), - -1999-04-02 Alexandre Oliva - - * ltmain.in (convenience): fixed race condition when more than one - library was linked with the same convenience library by - uniquifying the extract directory. It is now named after the new - library *and* the old one, and lives in the objdir of the new one. - - * ltmain.in (-L*): do not abort just because a directory specified - with -L does not exist; just warn and discard it - - * depdemo/l1/Makefile.am (AUTOMAKE_OPTIONS): no-dependencies - * depdemo/l2/Makefile.am (AUTOMAKE_OPTIONS): ditto - * depdemo/l3/Makefile.am (AUTOMAKE_OPTIONS): ditto - * depdemo/l4/Makefile.am (AUTOMAKE_OPTIONS): ditto - - * ltconfig.in (archive_cmds, sunos4*): where we used -Bstatic, we - should have been using -Bshareable - - * demo/Makefile.am (CLEANFILES): clean EXTRA_* from deplibs-check - - * libtool.m4 (LDFLAGS, LIBS): pass them to ltconfig, for the tests - that involve linking - * Makefile.am (LDFLAGS, LIBS, libtool, clibtool): ditto - * tests/Makefile.am (CFLAGS, CPPFLAGS, LDFLAGS, LIBS): set - (LDFLAGS, LIBS, TESTS_ENVIRONMENT): pass them down - -1999-04-02 Erez Zadok - - * doc/PLATFORMS: 1.2f ok on various versions of hpux cc - -1999-04-02 Alexandre Oliva - - * ltconfig.in (link_all_deplibs): set to unknown by default - * ltmain.in: test != no, not = yes - * doc/libtool.texi: document unknown - -1999-04-01 Thomas Tanner - - * doc/libtool.texi: documented deplibs.test - - * demo/Makefile.am: moved testsuite specific declarations to the end, - the deplibs check is now optional - * libltdl/configure.in: read libtool --config only once, - merged AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE from libtool.m4 - * libtool.m4: AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE were not - used, lt_dlopen and silent may be empty, AC_SYS_LIBTOOL_CYGWIN - no longer necessary - * ltconfig.in: NM is already checked in libtool.m4, - * ltmain.in: always link all static dependency_libs - * tests/Makefile.am: added deplibs.test - * tests/demo-exec.test, demo-inst.test: removed hell0 - * tests/deplibs.test: new test to test the deplibs_check_method - -1999-03-31 Thomas Tanner - - * ltmain.in: always link a library before its dependency libs - * mdemo/Makefile.am: test -export-symbols-regex - -1999-03-30 Thomas Tanner - - * doc/libtool.texi: fixed a typo - * libtoolize.in: add the libtool scripts to libltdl.tar.gz - * libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE), - AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work - when libltdl is already installed - * *demo/Makefile.am: use LIBM - * *demo/configure.in: AC_SUBST LIBM - * libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of - USE_SYMBOL_UNDERSCORE - * ltconfig.in: added link_all_deplibs variable - * doc/libtool.texi: document it - * ltmain.in: always search for libname.la - don't eval libname_spec, - when linking libraries against static ones just print a warning - and add them to dependency_libs, add -lc before deplibs, - always link all dependencies of a static library or if - link_all_deplibs is yes, hardcode library paths if - hardcode_into_libs is no, don't link against dependency_libs - that already are deplibs - -1999-03-30 Alexandre Oliva - - * ltconfig.in (aix4*, collect2name): make sure collect2 exists - before running string on it, to avoid errors on old gccs - Reported by Erez Zadok - - * ltconfig.in (aix4*, hardcode_libdir_flag_spec): unless we're - using gcc with old collect2, use -b libpath to hardcode the - library search path - - * ltmain.in, ltconfig.in: reverted most of the quoting changes - from 1999-03-25; Gary's delay_variable_subst patch from 1999-02-19 - obviates it. Keep only quoting of $PATH, for uniformity with - other systems that already did it - -1999-03-29 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dladdsearchdir): Forgot to mallocate the - extra byte of memory for the teminating NUL, and forgot to - strcpy the original path in to the new memory before appending - the new path compononent. - -1999-03-27 Thomas Tanner - - * NEWS: updated - * README: updated (BeOS support, no longer shared libraries - support for AmigaOS), cleanups, we have now two mailing lists - * REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists - * THANKS: added Xavier Pianet - * doc/PLATFORMS: BeOS works - * doc/libtool.texi: we have now to two mailing lists, - updated -dlopen self documentation, documented libltdl's license, - put each author in a separate line, - inter-library dependencies on uninstalled libtool libraries are - now supported, cleanups and minor corrections - * libltdl/COPYING.LIB: new file - * libltdl/ltdl.[ch]: added special exception to the LGPL license - * libtool.spec: removed, it was outdated - * Makefile.am: removed libtool.spec - * ltmain.in: use TMPDIR when possible, create a subdirectory - in the temporary directory, added -export-symbols-regex to the help, - -1999-03-25 Alexandre Oliva - - * demo/Makefile.am: create a static library, link two libtool - archives with it, then link the program hell0 with both - * demo/hell1.c, demo/hell2.c: dummy files used to create the - libtool archives without introducing symbol conflicts - * tests/demo-exec.test, tests/demo-inst.test: run the new program - * ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all - - * ltmain.in ($PATH): instead of modifying the PATH, better prevent - its expansion the first time *_cmds variables are eval'ed. Modify - $show within loops that eval them so as to expand variables - * ltconfig.in (*_cmds): quote $ so that they're not expanded by - the first eval - -1999-03-25 Gary V. Vaughan - - * ltmain.in ($PATH): Expand any tildes in the users path to the - contents of $HOME to avoid problems with *_cmds splitting and - evaluation. - -1999-03-24 Thomas Tanner - - * TODO: support -dlopen for libraries - * doc/PLATFORMS: Erez Zadok reported that libtool works on bsdi 4.0.1 - * doc/libtool.texi (libltdl): libltdl supports BeOS - * libltdl/ltdl.c: shlib_ext was declared even if LTDL_SHLIB_EXT - didn't exist, partially reverted my previous patch: BeOS will - automatically search in ADDON_PATH - * ltmain.in: don't allow relative run-paths, fixed a typo in a warning, - ignore -dlopen self for libraries and objects, - only accept -L paths that exist, minor cleanups, - bugfix: add -lc for normal libraries, not convenicence libraries - removed offensive warnings/comments - -1999-03-24 Alexandre Oliva - - * ltconfig.in (ld_shlibs, amigaos*): disable shared libraries - -1999-03-23 Gary V. Vaughan - - * libltdl/configure.in: the sed expression for finding the shared - library extension used to think the . in [.] for the cygwin - shared_library_names_spec was the start of the extension!! We now - remove anything in square brackets (assuming that the square - brackets delimit a sed or expr expression which is not part of the - extension) before looking for the extension. - - * TODO (cygwin): food for thought re: mutually dependant dlls. - -1999-03-21 Alexandre Oliva - - * tests/build-relink.test: if we relink and have hardcode_direct, - removing an uninstalled library breaks an uninstalled program - - * doc/libtool.texi: documented convenience libraries - * TODO: removed entry about it - - * tests/*-unst.test: if directory is not configured, skip it - * tests/demo.test, tests/mdemo.test: unused, removed - * tests/depdemo.test: ditto - -1999-03-20 Thomas Tanner - - * doc/libtool.texi (link mode): documentation for -module updated - * ltconfig.in: fast-install mode doesn't work for - hardcode_into_libs=yes - * ltmain.in: bugfix: "-dlopen self [-all]-static" wouldn't use - dlopen_self_static, automatically enable -export-dynamic when - using "-dlopen self", always make run-paths absolute, - ignore -lc only on platforms that don't have such a library, - cleanups in the ILD code, find even installed libtool libraries - that were moved, before generating the DLL-import library we need - to set libname, improved hardcoding of shlibpath for libraries, - don't generate an installable pseudo-library for convenience - libraries, bugfix: export_symbols would be removed immediately - before it is used - -1999-03-19 Thomas Tanner - - * use the same header in all configure.in's and Makefile.am's - * NEWS: improved support for BeOS and Cygwin - * TODO: ILD branch was merged, all internal variables and macros - are now documented - * demo/Makefile.am: use $(LIBS) instead of -lm - * doc/libtool.texi: documented new variable hardcode_into_libs - and thread_safe_flag_spec, renamed all AM_ENABLE/DISABLE_* macros - to AC_*, documented AC_DISABLE_FAST_INSTALL and AC_LIBTOOL_DLOPEN - * libltdl/ltdl.c: added two new error messages (cannot_open_error, - cannot_close_error), use them where approriate, - BeOS support (thanks to Xavier Pianet), on BeOS search modules - additionally in ADDON_PATH - * libtool.m4: rewrote AC_CHECK_LIBM: BeOS and Cygwin don't have - libm and *-ncr-sysv4.3* requires libmw - * ltconfig.in: don't check for LoadLibrary, hardcode dlopen - configuration for BeOS and Cygwin - * ltmain.in: fix sourcing of .la files on Solaris - (patch by Raja R Harinath) - -1999-03-19 Alexandre Oliva - - * ltconfig.in (sunos4*, with_gnu_ld, hardcode_minus_L): remove, we - have -rpath - (aix4*, without_gnu_ld, hardcode_shlibpath_var): unsupported is - default - (hpux9*, hpux10*, hpux11*, archive_cmds): drop +s, unneeded here - (hpux9*, hpux10*, hpux11*, hardcode_libdir_flag_spec): add +s - before +b - (hpux9*, hpux10*, hpux11*, shlibpath_overrides_runpath): since +s - appears before +b, set it to yes - (hardcode_shlibpath_var, hardcode_action): do not use - shlibpath_var to specify the compile-time search path; it loses, - and we may end up linking with pre-installed older versions of - libraries instead of yet-to-be-installed ones - (*, hardcode_direct, hardcode_minus_L): remove entries that set - them to no, that is default - - * demo/Makefile.am (hc-direct, hc-libpath, hc-minusL): link with - $$hardcode_libdir_flag_spec, if available, with libdir=$(libdir), - to make sure the hardcode_* variables will produce the expected - results even in the presence of a hardcoding flag; depend on - libhello.la having been installed already - (hc-libflag): link with the installed library, but try to - hard-code the uninstalled one - * doc/libtool.texi: document the changes - - * tests/*.test: when a test fails, skip tests that depend on it. - If a certain configuration is not supported, skip all its tests. - - * doc/libtool.texi: reorder tests to reflect execution order - - * tests/noinst-link.test: new test - * tests/Makefile.am (TESTS): added noinst-link.test - * doc/libtool.texi: document it - -1999-03-19 Gary V. Vaughan - - * ltmain.in (dependency_libs): There is no reason to infer that - the pseudo library is invalid if dependency_libs='' at - install-time, or else libltdl/libltdl.la is invalid!! - -1999-03-18 Thomas Tanner - - * merged my inter-library dependencies code from the ILD branch: - * NEWS: inter-library dependencies are now supported - * configure.in: add the depdemo subdirectory - * depdemo/*: new demo to demonstrate inter-library dependencies - * tests/depdemo*: new tests for depdemo - * ltconfig.in: added hardcode_into_libs (whether library paths - should be hardcoded into the libraries), - it currently defaults to 'no' - * ltmain.in: new internal 'relink' mode to relink libraries - on platforms with hardcode_into_libs=yes, save command line - arguments in libtool_args, accept relative -L directories, - ignore -lm on BeOS and Cygwin, always ignore -lc, - handle -l, -L and .la arguments later, always make the library - installation directory (-rpath) absolute, in relink mode don't - delete the not-relinked library and exit immediately after relinking, - try to find already-installed libtool libraries that were specified - using -l, support hardcoding of library paths into libraries too, - export shlibpath before linking libraries, and a lot of other - big changes that I don't want to describe here... please read - the source. - - * merged Gary's Win32 code from the ILD branch: - * NEWS: Win32 DLLs are now supported - * TODO: removed .a library namespace clash for win32. It is - now resolved. - * ltconfig.in (cygwin, library_names_spec): removed $libname.a. - Creating a dll with libtool no longer creates an import library. - * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does - not exist -- i.e. we need to generate import an import library - in a directory which has no libs of its own. - * doc/libtool.texi (old_archive_from_expsyms_cmds, - extract_expsyms_cmds): documented these new variables. - * ltconfig.in (extract_expsyms_cmds): New variable. Commands to - extract the exported symbol list from a dll. - (old_archive_from_expsyms_cmds): New variable. Commands to build - an old archive from the extracted expsyms list. - * ltmain.in: run the cmds in extract_expsyms_cmds and - old_archive_from_expsyms_cmds as necessary. - * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer - required. - * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even - sure whether win32 honours the runpath at all when searching for - a dll to load! Anyway, when set to yes this prevents a gratuitous - warning. - * ltmain.in (deplib): The cygwin environment doesn't actually have - -lm, and although the linker fakes having one, specifiying it to - libtool will break ILD, so we ignore it when generating - dependencies. - -1999-03-17 Gary V. Vaughan - - * doc/PLATFORMS: Thanks to Alexandres changes below, both my - hp boxes pass the entire test suite. - -1999-03-17 Alexandre Oliva - - * ltconfig.in (hpux*, hardcode_minus_L): should be no, we have +b - (hpux*, hardcode_libdir_separator): set to colon - -1999-03-17 Alexandre Oliva - - * doc/PLATFORMS: egcs is gcc; updates from Erez Zadok - -1999-03-16 Alexandre Oliva - - * ltmain.in (deplibs, beos*): don't append -lc - Reported by Xavier Pianet - - * tests/build-relink.test (hardcode_action): when set to relink, - skip the test with lt-hell - - * Makefile.am (EXTRA_DIST): add mkstamp - Reported by Xavier Pianet - - * Makefile.am (EXTRA_DIST): add ChangeLog.0 - -1999-03-16 Thomas Tanner - - * doc/libtool.texi: some minor corrections to the "-dlopen self" - documentation - * tests/Makefile.am: sorted by name, added assign.test - * ChangeLog: started new file - - * ltconfig.in: some cosmetical changes - * ltmain.in: ditto - -1999-03-15 Alexandre Oliva - - * configure.in, libtool.spec, NEWS: bump to 1.3a - * Branched for release 1.3 (branch-1-3) - * configure.in, libtool.spec, NEWS: bump to 1.2g - - * configure.in, libtool.spec: bump to 1.2f - * doc/PLATFORMS: ditto - * NEWS: libtool 1.2f released - - * ltmain.in: silence ``unbug'' :-) detected by sh.test - -1999-03-14 Alexandre Oliva - - * TODO: we now use full pathnames for `file' - -1999-03-14 Thomas Tanner - - * TODO: libltdl is now documented - * doc/libltdl.texi (linking with installed libtool libraries): - fixed typo - * doc/libltdl.texi (libltdl): added documentation for building - libtool modules and examples how to embed libltdl - * ltmain.in: don't ignore user-specified run-paths (fixed it - at the right place) - -1999-03-14 Alexandre Oliva - - * ltmain.in (deplibs_check_method=none): discard -L and -R - switches when testing whether deplibs contains some library - -1999-03-14 Erez Zadok - - * config.sub: recognize hppa2.0w, yet to be installed at GNU - - * config.guess: minor update for FreeBSD-elf, yet to be installed - at GNU - -1999-03-14 Alexandre Oliva - - * ltconfig.in (bsdi4*, sys_lib_search_path_spec, - sys_lib_dlsearch_path_spec): fix thinko in variable names; add - standard directories - - * ltmain.in (exclude_expsyms): exclude symbols before sorting, - otherwise only the sorted list will have them excluded - - * ltconfig.in (file_magic_cmd, file_magic_test_file, freebsd-elf*, - bsdi4*): use full pathnames when possible - - * Makefile.am (all-recursive): depend on ACINCLUDE_M4_LIST - (all-local, check-local): remove, unused - - * doc/PLATFORMS: updated platforms tested on 1.2f-pre; clean up; - reorder; untabify - - * config.guess, config.sub: updated from GNU common - - * doc/libtool.texi: notes on thread-safety problems of - libltdl/dlopen on GNU/Linux and FreeBSD - - * ltconfig.in (aix3*, aix4*): GNU ld on AIX is very broken: it - cannot create working shared libraries. Print a warning - suggesting the user not to use it and disable shared libraries. - -1999-03-13 Alexandre Oliva - - * ltconfig.in (global_symbol_to_cdecl): was reset before trying - `symprfx=_', rendering the test with `_' useless - - * doc/libtool.texi (AM_PROG_LIBTOOL): eliminate overfull boxes - - * doc/libtool.texi: complete dlopening/libltdl documentation - - * ltconfig.in (osf3*, osf4*, deplibs_check_method): pass_all does - not really work; use file_magic instead. - (osf3*, osf4*): customize sys_lib_[dl]search_path_spec - - * ltconfig.in (file_magic_test_file): new variable; if set, it - will be used as an argument for $file_magic_cmd to test whether - the regex in deplibs_check_method matches its output - (file_magic_cmd): use full pathnames whenever possible - - * ltconfig.in (sys_lib_dlsearch_path_spec): new variable, that - lists the system *run-time* search path. Listed directories are - not implicitly hard-coded into executables. - * ltmain.in: use it, but *never* discard -R flags - * doc/libtool.texi: document it - * NEWS: ditto - Reported by Bob Friesenhahn - - * tests/sh.test: look for `$Xsed' without `$echo "X...' - * ltconfig.in, ltmain.in: fixed a few such occurrences - - * ltmain.in (-static, -all-static): revert March 11's patch, I was - barking up the wrong tree - -1999-03-12 Thomas Tanner - - * libltdl/ltdl.c: removed FILENAME_MAX since LTDL_FILENAME_MAX - is sufficient and doesn't break HP/UX - -1999-03-11 Alexandre Oliva - - * ltconfig.in: (global_symbol_pipe) extract symbol tag from the - output of NM too - (global_symbol_to_cdecl): new variable; convert the output of - global_symbol_pipe to valid C declarations; on HP/UX, convert - text symbols to function declarations - * libtool.m4: similar modifications - * doc/libtool.texi: document new variable - * ltmain.in: use global_symbol_to_cdecl to generate lt_dlpreopened - symbols; avoid extracting symbol lists from dlpreopened files - twice; do not filter symbols from dlpreopened libraries - * TODO: fixed HP/UX dlpreopening problem - - * ltmain.in (-static, -all-static): set dlopen_self to - $dlopen_self_static regardless of link_static_flag or pic_flag - - * ltmain.in: FreeBSD bug that needs symbol table compiled with - -fPIC is fixed in release 3.1; use it only for 2.* and 3.0 - -1999-03-11 Thomas Tanner - - * ltmain.in: when building a library it doesn't make - sense to remove a relinked program ("lt-" prefix) - -1999-03-11 Alexandre Oliva - - * mdemo/main.c (main, test_dl, test_dlself): propagate error - conditions better, to avoid false positives - - * */configure.in: AC_SUBST(LIBTOOL_DEPS) - * */Makefile.am $(OBJECTS): depend on libtool - (libtool): rebuild automatically - - * ltconfig.in: set dlopen_* variables to unknown when appropriate - * ltmain.in: only emit warning about lack of AC_LIBTOOL_DLOPEN if - *all* dlopen_* variables are set to unknown - -1999-03-11 Thomas Tanner - - * ltmain.in: delete the old output files (incl. the relinked binary) - before linking. - - * ltconfig.in: replaced `configure' with $progname and all - line numbers with @LINENO@ - -1999-03-11 Alexandre Oliva - - * libltdl/ltdl.c (strdup): cannot return str when it's NULL - because of const correctness - -1999-03-10 Alexandre Oliva - - * libltdl/ltdl.c (strdup): always use our own, because the - standard strdup won't use lt_dlmalloc - - * ltconfig.in (dlfcn.h): function definition may cause warnings; - define variable instead - - * ltmain.in: properly create an export file for a program, - avoiding error messages about not finding it - - * TODO: need to document AC_LIBLTDL_*; static self dlopening - problem fixed - - * libtool.m4 (AC_LIBTOOL_DLOPEN): just set lt_dlopen=yes - (AC_LIBTOOL_SETUP): if lt_dlopen=yes, add --enable-dlopen to - libtool_flags; drop --enable-dlopen-self - * ltconfig.in: perform all the dirty work of testing for dlopening - support, because we need platform-dependent equivalents for - -export-dynamic, for self dlopening, and -static, for static self - dlopening - (dlopen_self_static): new configuration variable that is set to - yes only if static programs can dlopen themselves - * ltmain.in (-static, -all-static): dlopen_self=dlopen_self_static - - * libltdl/configure.in (libltdl_cv_need_uscore): do not assume - dlfcn.h and LTDL_LAZY exist; use LTDL_GLOBAL and LTDL_LAZY_OR_NOW. - This test is likely to fail if self-dlopening does not work, - especially because we do not link the program with - -export-dynamic. Let's just hope that platforms whose symbol - names start with underscores will also accept underscores for - dlopen. We should probably use libtool to compile and link this - test, so that we can use -export-dynamic. - - * mdemo/Makefile.am (@LIBLTDL@): depend on ../libltdl/config.h - - * configure.in: fix AC_OUTPUT_COMMANDS for ltconfig and ltmain.sh - so that they work if srcdir is relative too - - * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): - avoid introducing multiple --enable options when re-running - config.status - * libltdl/configure.in: if enable_ltdl_* is not set, assume no - * configure.in: if enable_ltdl_install is not set, enable it - - * libltdl/configure.in: only assume implicit installation if - libltdl was libtoolized. If not, print a warning message - suggesting the use of --enable-ltdl-install or of one of the - AC_LIBLTDL_* macros. - - * libtool.m4 (AC_LIBTOOL_SETUP): new macro, that does all the - configure-work that AC_PROG_LIBTOOL used to do; add - --cache-file=$cache_file to libtool_flags - (AC_PROG_LIBTOOL): call AC_LIBTOOL_SETUP, save the cache, run - ltconfig and reload the cache - * configure.in: run AC_LIBTOOL_SETUP, then set LIBTOOL_FLAGS to - libtool_flags - * ltconfig.in: support --cache-file switch. If it is used, load - the cache in the beginning and save it just before terminating - - * tests/Makefile.am (TESTS): run demo-nofast before demo-shared - - * configure.in: create ltconfig and ltmain.sh at the end of - config.status, if they do not exist. This fixes the bootstrap - problem reported by Erez Zadok - -1999-03-10 Thomas Tanner - - * NEWS: sorted by importance - * Makefile.am: set LIBTOOL_FLAGS when generating libtool - * configure.in: check for dlopen support and set LIBTOOL_FLAGS - accordingly - - * configure.in: fix spacing for --disable-ltdl-install, - always configure libltdl, add libltdl/acinclude.m4 to - ACINCLUDE_M4_LIST, disable installation of libltdl if necessary - * libltdl/Makefile.am: set version info for libltdl.la - * libltdl/configure.in: don't check whether - enable_ltdl_convenience/install was set so that libltdl - can be used as independent package (libltdl.tar.gz) without - the need to use --enable-ltdl* - * libltdl/ltdl.c: minor cleanups, allocate the line cache - dynamically (lt_dlopen) - -1999-03-10 Alexandre Oliva - - * libltdl/ltdl.c (lt_dlopen): some preprocessors choke if the `#' - of `#define' is not in column 1; let's go back to fortran! :-) - Add #undefs too, to avoid potential warnings or errors. - -1999-03-09 Alexandre Oliva - - * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): - renamed convenience libltdl, dropped toinst hack for installable - * libltdl/Makefile.am: ditto - * libltdl/configure.in: ditto; abort if none of the macros is used - - * ltmain.in: $output_objdir/$objdir/ -> $output_objdir/lt- - -1999-03-09 Thomas Tanner - - * libltdl/ltdl.c (lt_dlopen): don't hardcode the length of the - constant strings - -1999-03-09 Alexandre Oliva - - * Makefile.am (install-data-hook): install libltdl as a directory, - not as a tar-file, so that we do not modify the build tree at make - install time - * libtoolize.in (ltdl, ltdl_tar): update - - * configure.in, Makefile.am, NEWS: install libltdl by default - - * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): - new macros - * NEWS: ditto - * libltdl/configure.in: if none of the new macros or configure - arguments are used, warn and build convenience library only - * libltdl/Makefile.am: conditionally build convenience libltdl.la - * mdemo/configure.in: use AC_LIBLTDL_CONVENIENCE - * mdemo/Makefile.am: refer to @LIBLTDL@ - -1999-03-09 Gary V. Vaughan - - * NEWS: updated. - -1999-03-08 Alexandre Oliva - - * ltmain.in: extract symbols from program objects to nlist first, - then translate them to the export_symbols format. Now it works, - but it appears to be needlessly extracting the symbol list from - dlpreopened libraries twice - - * ltmain.in: temporarily disable dlopen_self when linking with - -static or -all-static, until we figure out how to test whether it - works at configure time - - * TODO: remember to fix this later - - * tests/build-relink.test: when hell is expected to fail, run it - within a subshell and redirect stderr to stdout, so that dynamic - linker errors are only printed in verbose mode - - * ltmain.in (hardcode_libdir_separator, compile_rpath, - finalize_rpath): only substitute hardcode_libdir_flag_spec if - hardcode_libdirs is non-empty - - * libtool.m4 (AC_LIBTOOL_DLOPEN): do not depend on the existence - of dlfcn.h nor on the definition of RTLD_LAZY - - * tests/build-relink.test: hellT was renamed to lt-hell - - * libltdl/Makefile.am (@TOINST@/libltdl.la): do not hide the - command that creates the TOINST directory; remove `-o $@' from the - LINK command, $(LINK) already contains it. - -1999-03-08 Thomas Tanner - - * doc/libtool.texi (tests): documented demo-nofast.test and - renamed cdemo* to demo* - -1999-03-08 Alexandre Oliva - - * libltdl/Makefile.am, libltdl/configure.in, mdemo/Makefile.am: - libltdl must not be renamed; if there's a problem with the install - option, let's fix it, not just work around it by breaking code of - users of the convenience library - - * tests/build-relink.test: link broken libhello.la with at least - one libtool object - -1999-03-08 Thomas Tanner - - * TODO: updated (libltdl build problem fixed) - * doc/libtool.texi (libltdl interface): removed the line which - promised that lt_dlopen will return NULL if it can't resolve all - symbols - * libltdl/Makefile.am, libltdl/configure.in: fixed build problem: - renamed the convenience library to libltdlc.la and the - installed version to libltdl.la - * ltmain.in (wrapper script): replaced the "T" suffix of the program - file name with a "lt-" prefix - * mdemo/Makefile.am: use libltdlc.la - * tests/Makefile.am, tests/demo-nofast.test: added demo to - test --enable-fast-install=no - -1999-03-07 Alexandre Oliva - - * tests/Makefile.am (TESTS): run hardcode before build-relink - trashes libhello.la - * tests/hardcode.test (need_prefix): set to yes so that _inst is - not removed - - * ltmain.in (compile_command): append finalize search path to - compile search path - - * tests/build-relink.test: new; check shlibpath_overrides_runpath - * tests/Makefile.am (TESTS): add build-relink.test; remove - hardcode.test duplicates - * doc/libtool.texi: document it - - * ltmain.in (relink_command): do not prepend cd `pwd` to it, the - scripts already enters the correct directory, and expanding the - pathname would prevent the build tree from moving - - * ltconfig.in (enable_fast_install): force it to no only if we - need relink; in the other cases, set it to needless - * ltmain.in (fast_install): if needless, set relink_command empty - * doc/libtool.texi (fast_install, shlibpath_overrides_runpath): - document the new behavior - - * ltconfig.in (enable_fast_install): test whether it can be forced - off after shlibpath_overrides_runpath and enable_shared are set - -1999-03-07 Thomas Tanner - - * TODO: updated - * NEWS: updated - - * TODO: scheduled some items for next release/future - * demo/configure.in: use AC_LIBTOOL_DLOPEN - * libtool.m4: added AC_ENABLE/DISABLE_FAST_INSTALL macro - * ltconfig.in: added --disable-fast-install flag - * ltmain.in: partially reverted Alexandre's patch and implemented - on-demand linking in such a way that the old developer-friendly - linking style is optional, - don't hardcode library paths that are in the system search path, - fixed a typo in lib_search_path, - implemented -export-symbols-regex for programs - -1999-03-06 Alexandre Oliva - - * libltdl/ltdl.c (LTDL_LAZY_OR_NOW): renamed from LTDL_NOW; prefer - LAZY loading because it's much faster and NOW is apparently - partially broken on FreeBSD - Reported by Archie Cobbs - - * ltconfig.in (archive_expsym_cmds, solaris, without_gnu_ld): - $lib.exp already starts with $objdir/ - Reported by Godmar Back - - * ltmain.in (freebsd): compile symbol table file with pic_flag - only on FreeBSD and when not static linking; it's been causing - trouble on platforms such as OpenBSD. - -1999-02-26 Gary V. Vaughan - - * libtool.m4 (cygwin): s/\\(mingw\\|cygwin\\)32/\\1/g. Must've - missed this file when I changed to cygnus' new sanction name. - - * ltconfig.in (sub_uncdrive): removed. This won't work with - the next version of cygwin. - (sub_uncdir): removed. We use :/path/to/executable now. - * libtool.m4 (AC_PROG_LD): removed sub_uncdrive and sub_uncdir. - -1999-02-25 Thomas Tanner - - * TODO: added items for next alpha release, ILD etc. - * libltdl/ltdl.c: removed unnecessary check from presym_sym, - fixed bug in lt_dlclose, allow lt_dlopenext(NULL), - set deplibs for lt_dlopen(NULL) - -1999-02-24 Alexandre Oliva - - * ltmain.in (file_magic_regex): sed `10q' is faster than `11,$d' - -1999-02-22 Thomas Tanner - - * ltconfig.in (dlopen, dlopen_self): default is unknown - * ltmain.in: fixed -dlopen self, print a warning - if -dlopen is used without AC_LIBTOOL_DLOPEN - * mdemo/Makefile.am: use -dlopen self - -1999-02-22 Alexandre Oliva - - * ltmain.in: added missing mkdir $progdir for on-demand executable - - * ltmain.in: create on-demand executable as $progdir/$$-$program, - and rename it to $progdir/$program only when it's finished, to - avoid race conditions. We can still get the program linked - multiple times, if multiple instances are started simultaneously - and the program does not exist, but they are very unlikely to - interfere with each other. There's still a possibility that one - process removes the $program another has just created, and doesn't - replace it before the other tries to run it, in a system whose - `mv' is not atomic, so it will $rm then $mv, but so what? :-) - Locking files have been avoided to prevent dead-locks in case they - are left over after a reboot or crash. - - * TODO: removed ILD, soon to be merged, and added convenience - libraries docs - - * ltconfig.in (irix5*, irix6*, shlibpath_overides_runpath): yes - - * ltmain.in: remove on-demand executable in the proper place, and - just warn if it can't be removed; add wrapper code to test whether - the install-executable is newer than the build-executable, to - relink it when it appears to be out-of-date - - * libltdl/configure.in: check for dld.h - * libltdl/ltdl.c: include dld.h - (dld_open) it's spelled memory_error, not no_memory_error - Reported by Stefan Burstroem - - * ltmain.in: fix typos in my last change (s/ocmpile/compile/) - -1999-02-21 Thomas Tanner - - * libltdl/ltdl.c (lt_dlopen): use newhandle instead of handle - when dlopening the executable - * libtool.m4 (AC_LIBTOOL_DLOPEN): removed the redundant "yes: " - prefix for lt_cv_dlopen, renamed lt_cv_dlopen_LIBS - to lt_cv_dlopen_libs (more consistent) - * ltmain.in: implemented -dl[pre]open self, necessary for - lt_dlopen(NULL), generation of exported symbols was broken - -1999-02-20 Alexandre Oliva - - * ltmain.in: avoid duplication of -L switches, it sometimes breaks - IRIX 5.2's linker - - * ltconfig.in (freebsd*, finish_cmds): expand objformat here - Reported by Vladimir Kushnir - -1999-02-20 Vladimir Kushnir - - * ltconfig.in (freebsd-elf*, need_version, need_lib_prefix): no - (freebsd-elf*, library_names_spec): add $libname.so instead of - $libname.so$versuffix; add $libname$release.so - -1999-02-20 Alexandre Oliva - - * doc/libtool.texi: remove ticks from menu items; it breaks TeX - Reported by Erez Zadok - - * ltmain.in: fixes for export-symbols dry-run - - * ltconfig.in (shlibpath_overrides_runpath): new variable; - determines whether LD_LIBRARY_PATH or equivalent can be used to - override a hard-coded library search path; default to unknown - (linux-gnu*): set it to no - (solaris*, sunos4*): set it to yes - * ltmain.in (build_libdirs_flags, build_libdirs, build_rpath): if - shlibpath_overrides_runpath is not yes, arrange that wrapper - scripts create, on demand, programs that use uninstalled libraries - - * doc/libtool.texi: document it - - * libtool.m4 (AC_LIBTOOL_DLOPEN): check for dlopen in libc before - trying in dl. Add the actual dlopening type to lt_cv_dlopen, and - add any needed libraries to lt_cv_dlopen_LIBS. Add test for - MS-Windows' LoadLibrary. Check whether a program can dlopen - itself only if we really have dlopen(), not some equivalent - function, but leave room for testing with other mechanisms. - (AC_PROG_LIBTOOL): assume some form of dlopen, but not - dlopen(NULL), is available if AC_LIBTOOL_DLOPEN is not used, for - backward compatibility. - -1999-02-20 Archie Cobbs - - * libltdl/ltdl.c (lt_dlopen): use newhandle instead of handle - where appropriate, when dlopening a non-libtool library - -1999-02-19 Gary V. Vaughan - - * ltconfig.in (export_symbols_cmds): renamed from - export_symbols_cmd. - (cygwin, mingw): Be sure to compile the ltdll.c object before - extracting the exported symbol list. Extract only the names - of the exported symbols from the def file [otherwise we might - run into trouble with -export-symbols-regex]. - (archive_expsym_cmds): Regenerate the def file from the symbol - export list. - (delay_variable_subst): New sed expression to allow us to delay - evaluation of $foo in a double_quote_subst evaluated variable by - using \$. - * ltmain.in (export_symbols_cmds): evaluate each ~ delimitted cmd - separately. - * doc/libtool.texi (libtool script contents): new paragraph to - explain the difference between _cmd and _cmds suffixes for - variable names. - (export_symbols_cmds): renamed from export_symbols_cmd. - -1999-02-18 Alexandre Oliva - - * ltconfig.in (ld_shlibs): move -soname and similar flags to the - end of archive_cmds and archive_expsym_cmds, so as to prevent - gcc's collect2 from inserting an object file between -soname and - the library name - - * ltconfig.in (openbsd*, netbsd*, library_names_spec): append - alternate name without ${release}, otherwise build fails when - -release is used - -1999-02-18 Gary V. Vaughan - - * ltconfig.in (archive{,_sym}_commands): Be careful not to - re-export the dll entry points DllMain@12, _cygwin_dll_entry@12 and - _cygwin_noncygwin_dll_entry@12 to avoid bugs with the wrong entry - function being called with inter-dll dependencies. - Reported by DJ Delorie - * THANKS: Added DJ Delorie, since his code inspired the impgen.c - program and because he has patiently answered all of the - irritating dll and win32 questions I have fired at him. - - * ltmain.in (version_type): Oops. Irix versioning implies that - major version numbers are 1 based (not zero based). Fixed. - - * ltmain.in (version_type): Implement irix versioning. - * ltconfig.in (irix{5,6}*): Use new irix shared object versioning. - * TODO: remove irix versioning from TODO list. - - * ltmain.in (impgen.c): Added a new embedded C file that can be - used under win32 to extract a def file (symbol export list) from a - dll that has none. Code to use it might need to wait for the ILD - merge before it will be useful... - -1999-02-18 Thomas Tanner - - * TODO: updated - * autogen: only libltdl needs autoheader - * doc/libtool.texi (link mode): documented -export-symbols-regex - and updated -export-symbols - * doc/libtool.texi (script contents): documented - always_export_symbols, export_symbols_cmd, exclude_expsyms, - include_expsyms, dlopen and dlopen_self - more detailed description of need_lib_prefix - * ltconfig.in: a "'" was missing in the default value - of export_symbols_cmd - * ltmain.in: implemented -export-symbols-regex - -1999-02-17 Alexandre Oliva - - * ltconfig.in: (freebsd2*, sunos4*, exclude_expsyms): exclude - _GLOBAL_OFFSET_TABLE_ - * ltmain.in: implement exclude_expsyms with egrep - - * libltdl/ltdl.c (lt_dlmalloc, lt_dlfree): SunOS' cc can't cope - with argument lists, we __P even in the definition - -1999-02-15 Thomas Tanner - - * cdemo/Makefile.am: renamed *foo1 to *foo, removed $(MATH_LIB) - * cdemo/foo1.c: renamed to foo.c - * libltdl/ltdl.c: eliminated lt_dltype, in presym_open(): - search for @PROGRAM@ if filename == 0, in lt_dlopen(): - fixed bug for filename == 0 - * libltdl/ltdl.h: use __P macro for lt_dlmalloc/free - * libtool.m4: new macro AC_LIBTOOL_DLOPEN: checks for dlopen - and dlopen(NULL) support - * ltconfig.in: added new variables dlopen and dlopen_self, - --enable-dlopen[-self] flags for AC_LIBTOOL_DLOPEN - * ltmain.in: use dlopen[_self], dlpreopen files if there's no - dlopen support, build lt_preloaded_symbols only if - -dl[pre]open was used, include program symbols if -export-dynamic - was specified and there's no dlopen(NULL) support - * mdemo/configure.in: use AC_LIBTOOL_DLOPEN - * mdemo/main.c: demonstrate lt_dlopen(0) - -1999-02-15 Gary V. Vaughan - - * demo/dlmain.c (_WIN32): The lt_symlist structure is now const, - so my original horrible temporary win32 hack no longer worked. - Here is a new horrible temporary hack to prevent helldl from SEGVing - on win32. I will fix this properly when we figure out how to do - data exports from dlls. - -1999-02-14 Alexandre Oliva - - * libtool.m4 (AC_CHECK_LIBM): do not set MATHLIB or AC_SUBST it, - this has a negative side-effect of causing automake to add MATHLIB - to every single Makefile. Let's use plain AC_CHECK_LIB, so that - LIBS get set, until we find a better alternative - * *demo/Makefile.am: remove $(MATHLIB) - - * libltdl/configure.in: add a DESCRIPTION argument to AC_DEFINEs - where appropriate, so as to get rid of acconfig.h - * libltdl/acconfig.h: removed - -1999-02-13 Thomas Tanner - - * *demo/Makefile.am: use $(MATHLIB) - * *demo/configure.in: use AC_CHECK_LIBM - * doc/libtool.texi: renamed file_magic_command to file_magic_cmd, - renamed archive_sym_cmds to archive_expsym_cmds - * ltconfig.in: ditto - * ltmain.in: ditto - * libltdl/ltdl.c: use lt_dlmalloc/free - * libltdl/ltdl.h: define lt_dlmalloc/free - * libtool.m4: added AC_CHECK_LIBM macro - * ltconfig.in: renamed archive_sym_cmds to archive_expsym_cmds, - added always_export_symbols, export_symbols_cmd, exclude_expsyms, - include_expsyms, removed archive_cmds for cygwin/mingw and AIX, - on Solaris store the exported symbols list in objdir - * ltmain.in: allow -export-symbols for modules, use thread_safe flag, - add include_expsyms to the exported symbols - -1999-02-12 Gary V. Vaughan - - * libltdl/ltdl.h (_LTDLL_EXTERN): libltdl is no longer linked as a - shared library, so the _declspec's were preventing the linker from - resolving symbols on win32. They have been removed now. - -1999-02-12 Alexandre Oliva - - * ltmain.in: don't try to read objdir/libname.la before it is - created! - - * ltmain.in: create libname.lai at link time, not at install time, - but still create it at install time if it is missing - Reported by Akim Demaille - - * libltdl/ltdl.c (tryall_dlopen): strcmp filenames was reversed - -1999-02-11 Thomas Tanner - - * autogen: libltdl needs autoheader - * demo/Makefile.am: renamed hell.debug to hell.static - (we're demonstrating static linking, not debugging) - * tests/demo*: ditto - * doc/libtool.texi (libltdl): documented new lt_dlopen(NULL) - feature - * libltdl/acconfig.h: required for config.h - * libltdl/configure.in: use config.h - * libltdl/ltdl.c: use config.h, support lt_dlopen(NULL) - (returns a handle for the program itself) - * ltconfig.in: minor reformatting - * ltmain.in: in lt_preloaded_symbols always define - the program's symbols first, for -export-dynamic list all - program symbols together, -export-symbols was broken for - programs, minor reformatting - * mdemo/Makefile.am: renamed mdemo.debug to mdemo.static - * tests/mdemo*: ditto, mdemo.test was completely broken - -1999-02-10 Alexandre Oliva - - * ltconfig.in (irix5*, irix6*, osf3*, osf4*): do not use - -set_version in archive_cmds if verstring is empty - (irix6*, shlibpath_var, sys_lib_search_path-spec, - deplibs_check_method): set appropriate values depending on - selected ABI, -32, -n32 or -64, as set in LD by libtool.m4 - (uts4*): remove dot between .so and versuffix - -1999-02-08 Alexandre Oliva - - * ltconfig.in (irix5*, irix6*, deplibs_check_method): use - file_magic for inter-library dependency tracking - - * ltconfig.in (irix5*, hardcode_libdir_separator): set it to a - colon, because on IRIX 5 only the last -rpath switch prevails, and - it can be a list of colon-separated directories. This change will - affect irix6 too, but that's not a problem. - - * ltconfig.in (irix5*, library_names_spec): add soname_spec, - otherwise we can't dlopen - -1999-02-08 Thomas Tanner - - * ltconfig.in: according to Marcus Sundberg - HP/UX, IRIX, OpenBSD, Digital Unix and SunOS support - need_version=no and need_lib_prefix=no, - fixed a bug in Solaris' archive_sym_cmds - -1999-02-04 Alexandre Oliva - - * libtool.m4 (ac_cv_sys_global_symbol_pipe): accept TAB in - addition to space as separator, and allow more than one space - between the symbol code and the symbol name; HP/UX's nm, for - example, uses two spaces - * ltconfig.in (global_symbol_pipe): ditto - (bsdi4, deplibs_check_method): variable name was misspelled - * libltdl/configure.in (libltdl_cv_preloaded_symbols): rewrite - test, so as not to depend on the way global_symbol_pipe is - initialized; the current test would get false positives, as - global_symbol_pipe was initialized `x=""', not `x=' - - * libltdl/ltdl.c (find_module): initialize filename if dir is NULL - Reported by Godmar Back - -1999-02-04 Godmar Back - - * libltdl/ltdl.c (lt_dlopenext): missing space for terminator when - allocating memory for shlib_ext - -1999-02-03 Alexandre Oliva - - * libltdl/ltdl.c (lt_dlopenext): tmp would be trashed if shlib_ext - was longer than 3 characters - -1999-02-02 Gary V. Vaughan - - * ltconfig.in: new config.guess returns *-*-cygwin now instead of - *-*-cygwin32. sed -e 's%\(cygwin\|mingw\)32%\1%g' ltconfig.in - * ltmain.in: sed -e 's%\(cygwin\|mingw\)32%\1%g' ltmain.in - - * ltconfig.in (hardcode_libdir_flag_spec, allow_undefined_flag, - archive_cmds, archive_sym_cmds, old_archive_from_new_cmds): - removed duplication of config by assuming that `test $with_gcc = - yes' implies gnu ld, otherwise MSVC++ (which I haven't tested - since I inheritted the code from Ian Lance Taylor btw!) is implied. - -1999-01-28 Gary V. Vaughan - - * ltmain.in: Reverted this change of Alexandre's from the - 1999-01-25; "don't try to use .o instead of .lo just because - there's no PIC flag. It loses if --disable-static, and there's - not much point if we're referring to the same file anyway...", - because not all linkers will accept .lo object names. - * ltmain.in: In the case where --disable-static is specified (as - noted in Alexandre's log entry), we just link some .o files to - prevent the original error. - Reported by Andrey Slepuhin - -1999-01-27 Alexandre Oliva - - * libtoolize.in: search for A[MC]_PROG_LIBTOOL, not - AM_PROG_LIBTOOL - Reported by Jeff Garzik - -1999-01-27 Gary V. Vaughan - - * THANKS: Now that we have a policy, applied it to the existing - list. This in no way demeans the work of those people removed - from the THANKS file, who are still credited in the ChangeLogs and - without who's work, libtool would not work so well on many - platforms, but serves to highlight the outstanding and continued - contribution the remaining people have made. And I quote, "We - reserve THANKS for people who have made major contributions, and - leave the credit to the others for the ChangeLog only." - - * THANKS: added Sam Vilain. - * ltconfig.in ($echo): When using printf to replace echo the shell - expands %s\n to %sn. Changed to use "%s\n" (with quotes). - Reported by Sam Vilain - -1999-01-27 Alexandre Oliva - - * libltdl/ltdl.c (find_file): fix endless loop condition - (find_module): filename allocation was off by 1 - - * libltdl/Makefile.am (distclean-local): renamed from - distclean-hook, that didn't work - - * libltdl/ltdl.c (lt_dlopen, non-.la): find_file now returns 0 on - failure - - * Makefile.am (ltconfig, ltmain.sh): some broken makes don't like - macros in targets; replace $(srcdir) with @srcdir@ - * configure.in (ACINCLUDE_M4_LIST): same problem; expand $srcdir - - * libltdl/Makefile.am (@TOINST@/libltdl.la): if installation is - enabled, create to-be-installed libltdl.la within @TOINST@ - directory - (noinst_LTLIBRARIES): even if installation is enabled, build - convenience libltdl.la, otherwise builds of random packages may - fail if the user happens to enable installation - (distclean-hook): wipe out $(TOINST) - * libltdl/configure.in: set TOINST and LIBLIBS as appropriate; - don't set NOINSTLIBS any more - * mdemo/Makefile.am: use libltdl.la - - * libltdl/ltdl.c (find_file): oops, filenamesize was miscomputed - - * libltdl/ltdl.c (find_file): allocate filename dynamically - - * libltdl/configure.in (AC_PROG_LIBTOOL): automake does not - recognize it and fail, better keep using AM_PROG_LIBTOOL until the - next release of automake - * demo/configure.in, cdemo/configure.in: ditto - * depdemo/configure.in, mdemo/configure.in: ditto - - * libltdl/ltdl.c: make all global strings char[], not char*; check - that all calls to malloc() are properly cast - (strdup, strchr, strrchr, trim, free_vars): declare as inline - (find_module): allocate filename dynamically; support null dir - (free_vars): free dir and name only if non-null - (lt_dlopen): keep dir as NULL if not given; fix expression that - calculated the size of name; only free and name if non-null - (lt_dlopenext): allocate tmp dynamically - - * configure.in (pkgdatadir): expand ${PACKAGE} at configure-time, - just like automake does - - * configure.in (pkgdatadir): define pkgdatadir explicitly, and - comment that automake does not need it, but libtoolize does - - * Makefile.am (aclocaldir): do not set it explicitly, automake - does already - - * configure.in (TIMESTAMP): use mkstamp here too - -1999-01-27 Thomas Tanner - - * cdemo/configure.in: renamed AM_PROG_LIBTOOL to AC_PROG_LIBTOOL - * demo/configure.in: likewise - * depdemo/configure.in: likewise - * libltdl/configure.in: likewise - * mdemo/configure.in: likewise - * libltdl/ltdl.c: in find_module() check whether libdir is defined, - tryall_dlopen(): move deallocation of an already opened handle - to lt_dlopen(), allocate the directory in lt_dlopen() dynamically, - minor cleanups, fixed memory leak (name) - * libtool.m4: renamed all AM_ macros to AC_ and added aliases for - compatibilty, updated AC_SYS_NM_PARSE (no undefined symbols, - don't count the symbols) - * ltconfig.in: added thread_safe_flag_spec (not used yet), - added generic variable for linker options "linkopts" in - all archive_cmds - * ltmain.in: added -thread-safe flag (unused) - -1999-01-26 Alexandre Oliva - - * ltconfig.in (LTCONFIG_VERSION): damn!, adding TIMESTAMP doesn't - always work, because then different ChangeLog timestamps fail to - pass the version test. Instead of forcing both ltconfig and - ltmain.sh to be updated every time ChangeLog changes, better - revert it - - * ltconfig.in (LTCONFIG_VERSION): add TIMESTAMP, remove - explicit quotes and add it to the list of variables to quote - - * ltmain.in: reworded `dropped inter-library dependencies' - message, and added a warning about inter-library dependencies even - for non-module builds - -1999-01-26 Gary V. Vaughan - - * Makefile.am (install-data-hook): Don't show the if expression - that tests for gzip with a conditional error message; just do it - quietly and show the error if it fails, or the next action if it - succeeds. - - * configure.in: It seems Alexandre accidentally removed the - AC_SUBST(pkgdatadir) line recently which breaks libtoolize. - Reverted that small change. - -1999-01-25 Alexandre Oliva - - * libltdl/ltdl.c (find_module): test old_name and dlname for NULL, - not len==0 - - * libltdl/configure.in (libltdl_cv_objdir): yes, appending the "/" - in configure.in was much simpler - * libltdl/ltdl.c (objdir): ditto - - * libltdl/ltdl.c (objdir): string collation isn't portable; strcat - "/" explicitly. Or should this be moved to configure.in? - -1999-01-25 Thomas Tanner - - * libltdl/ltdl.c: allocate the variables in lt_dlopen() dynamically - -1999-01-25 Alexandre Oliva - - * ltmain.in (file_magic): use egrep instead of expr to support - more general regular expressions - (file_regex): remove it; the name is misleading, it's not used - anywhere, and probably will never be - * ltconfig.in, doc/libtool.texi: ditto - * ltconfig.in (linux-gnu*, deplibs_check_method): extend regex to - support `LSB dynamic lib' in the output of `file' - Reported by Scott D. Heavner - - * ltmain.in (dependency_libs, xrpath): add -R switches to - dependency_libs only just before creating the .la file; they - should not be passed to the C compiler or linker at - library-creation time, since we don't know whether it is supported - - * ltconfig.in (freebsd2.2*, hardcode_minus_L): for FreeBSD 2.2.6, - this must be `no' - - * mkstamp: move the sed script to extract revision and date - information into a separate shell-script, so that we can break - lines between commands; FreeBSD's sed doesn't like `;' after `t' - Reported by Axel Thimm - * Makefile.am: use mkstamp - * THANKS: added Axel Thimm - - * ltmain.in: don't try to use .o instead of .lo just because - there's no PIC flag. It loses if --disable-static, and there's - not much point if we're referring to the same file anyway... - - * ltmain.in (pass_all=none, droppeddeps): set only if deplibs was - non-empty - -1999-01-24 Thomas Tanner - - * libltdl/ltdl.c: minor bugfixes, append a "/" the search - directory only if necessary - * ltconfig.in: added support for FreeBSD >= 3.0 - (patch from Kurt D. Zeilenga) - * THANKS: added Kurt D. Zeilenga - -1999-01-24 Thomas Tanner - - * doc/libtool.texi (libltdl): list supported dlopen mechanisms, - added function lt_dlopenext(), removed reference to - LTDL_PRELOADED_SYMBOLS in LTDL_SET_PRELOADED_SYMBOLS - * libltdl/ltdl.c: partially reverted Alexandre's dynamic string - allocation change (it was not necessary and the code was unreadable), - cleanups, removed usr_search_path_size, renamed usr_search_path - to user_search_path, in find_module() also check for moved - modules, merged find_file() and find_library(), - added lt_dlopenext(), in lt_dladdsearchdir() no longer reset - the search path if 'search_dir' == NULL and don't use realloc() - (might not be available on all platforms), - removed __P((void)) in the declaration of lt_dlgetsearchpath() - * libltdl/ltdl.h: added lt_dlopenext() - * ltconfig.in: AIX archive commands were broken, - fixed a MAJOR bug in global_symbol_pipe which caused - "demo-shared.test;demo-make.test" to fail (libtool must not extract - undefined symbols of libraries, i.e. symcode must not contain 'U') - * tests/Makefile.am (clean-local): "make distclean" in cdemo, too - -1999-01-22 Alexandre Oliva - - * Makefile.am (ltconfig, ltmain.sh): add ChangeLog Revision to - TIMESTAMP - * configure.in: get values of PACKAGE and VERSION set by - AM_INIT_AUTOMAKE, and extract only TIMESTAMP from the ChangeLog - - * libltdl/ltdl.c (lt_dlopen): if we're reusing a previously opened - handle, don't reset its name nor add it to the list, and free the - name we have allocated - Reported by Edouard G. Parmelan - - * Makefile.am (ltconfig, ltmain.sh, TIMESTAMP): let's not assume - anything about the format of the date, just that it does not - contain `$' - -1999-01-22 Gary V. Vaughan - - * configure.in (date): echo the version number during - configuration, and show $date for cvs versions. - - * Makefile.am ($(srcdir)/ltconfig): Oops. cvs co keyword - expansion ate the sed expression! Changed sed separator to '%' - because there are '/' in the date. Added missing '\(' to search - expression. Inserted a null string to stop cvs from expanding it - next time =)O| - ($(srcdir)/ltmain.sh): ditto. - -1999-01-22 Alexandre Oliva - - * Makefile.am (TSDEPS_DIST): dist-time dependencies for timestamps - (timestamps, update-timestamps): check whether TSDEPS_DIST are - up-to-date and update ltconfig and ltmain.sh if needed - (ltconfig, ltmain.sh): depend on TSDEPS; replace @TIMESTAMP@ with - the Date tag in the ChangeLog - (TSDEPS): empty unless overridden by update-timestamps - * ltconfig.in, ltmain.in (TIMESTAMP): append timestamp to most - references to VERSION - -1999-01-22 Gary V. Vaughan - - * ltmain.in (ild): Revert the change which allowed libtool to - link libraries with dependencies on .la libs. - * NEWS: Removed reference to win32, incase 1.3 ships before - ild is ready. - * doc/PLATFORMS: Removed i686-pc-cygwin32, for the same reason. - * doc/libtool.texi: Removed win32 refs, for the same reason. - -1999-01-22 Alexandre Oliva - - * ltmain.in (Xsed): add 1 to Xsed definition that goes into - temporary wrapper scripts - * libtool.m4: we don't have Xsed here, expand it manually - Reported by Pavel Roskin - -1999-01-22 Edouard G. Parmelan - - * ltmain.in (finalize_hardcode_libdirs, finalize_rpath): in - platforms that use -rpath, programs must be finalized at - installation time, otherwise build-tree programs will - prefer installed libraries over build-tree ones - -1999-01-22 Alexandre Oliva - - * mdemo/Makefile.am (../libltdl/libtool): if it does not exist, - the sub-make for libltdlc.la will take care of it, but we must at - least provide an empty rule for it, otherwise the sub-make will - never run - - * demo/configure.in, demo/Makefile.am (DLPREOPEN): reverted; it - didn't make any difference. - -1999-01-21 Gary V. Vaughan - - * THANKS: Added Chris Laas - - From Chris Laas - * ltmain.in (compile): corrected a typo in compile mode which - caused "gcc: unrecognized option -c-fPIC" errors due to a missing - space. - -1999-01-21 Alexandre Oliva - - * libltdl/configure.in: reintroduce code to detect native library - extension - * libltdl/ltdl.c (lt_dlopen): if a .la file name is given, that's - all. Otherwise, lt_dlopen now tries to append .la first. If this - fails, it tries the given filename, and, at last, tries to append - the native library extension to the given filename. - * doc/libtool.texi (lt_dlopen): explain new lookup strategy - - * libltdl/ltdl.c: major rewrite to avoid almost all fixed-size - buffers; only `tmp' in lt_dlopen remained. But the code got ugly - :-( - - * ltconfig.in (linux-gnu*, finish_cmds): remove erroneous backslash - - * demo/configure.in: set DLPREOPEN to -dlopen if we don't have - shared libraries - * demo/Makefile.am (DLPREOPEN): use instead of -dlpreopen - (STATIC): use $(STATIC), not @STATIC@ - * mdemo/Makefile.am (STATIC): ditto - - * tests/demo-shared.test, tests/demo-static.test: new tests - * tests/mdemo-shared.test, tests/mdemo-static.test: ditto - * tests/Makefile.am: ditto - * doc/libtool.texi: document them - * demo/Makefile.am, mdemo/Makefile.am (STATIC): do not use - -static unconditionally, it can't work with --disable-static - * demo/configure.in, mdemo/configure.in: check whether libtool was - configured to build static libraries and, if not, set STATIC to an - empty string - -1999-01-20 Alexandre Oliva - - * ltmain.in (module, droppeddeps): if libtool could not satisfy - all dependencies of a module, it will only build a static version - of it, and display a warning message - -1999-01-20 Erez Zadok - - * ltconfig.in (aix4*, with_gcc, archive_cmds): fix typo in Andrey - Slepuhin's last patch - -1999-01-20 Alexandre Oliva - - * Makefile.am (@DIST_MAKEFILE_LIST@): work around Ultrix /bin/sh bug - * tests/nomode.test (must specify a MODE): ditto - Reported by Rainer Orth - * THANKS: Added Rainer Orth - -1999-01-20 Rainer Orth - - * ltconfig.in: No known version of Solaris 2 hardcoded -L paths. - -1999-01-20 Erez Zadok - - * ltmain.in: s/n\'t/ not/ - * doc/PLATFORMS: updates for sunos4/m68k and aix - -1999-01-20 Andrey Slepuhin - - * ltconfig.in (aix4*): check for reworked collect2, always pass - -bnoentry option to linker when building a shared library - -1999-01-20 Alexandre Oliva - - * ltmain.in (file_magic): follow soft-links before running `file' - on the candidate library; try to avoid entering endless loop - Suggested by Nix - - * ltconfig.in (linux*, solaris*, bsdi4*, sys_lib_search_path): - remove expansion of $LD_LIBRARY_PATH - * ltmain.in (lib_search_path): append the expansion of $shlibpath_var - * doc/libtool.texi: document it - - * THANKS: Added Steven Schultz - -1999-01-20 Steven M. Schultz - - * ltconfig.in (bsdi4*, check_shared_deplibs_method): file_magic - (bsdi4*, sys_lib_search_path): add /shlib and other dirs - -1999-01-20 Alexandre Oliva - - * cdemo/main.c (main): use K&R definition syntax - * mdemo/main.c (test_dl, main): ditto - (test_dl): casts return value of lt_dlsym to appropriate types - - * ltmain.in (dlsyms): #define const to nothing if not __STDC__ - - * ltconfig.in (global_symbol_pipe): #define const to nothing if - not __STDC__ - - * demo/dlmain.c (main): cast s->address to the appropriate pointer - types, otherwise StunOS4's cc refuses to compile it - - * ltconfig.in (sunos4*, without_gnu_ld, with_gcc, archive_cmds): - add -fPIC, because libgcc is multilibbed, and we want the PIC - version of it for shared libraries, otherwise ld complains - - * demo/dlmain.c (main): add missing const to declaration of name - - * libltdl/ltdl.c (find_module): remove the libdir argument, and - try to open library only as old_name and dir/dlname - (lt_dlopen): use `installed' variable in .la file to decide - whether to use libdir or objdir - - * demo/configure.in (AC_C_CONST): added, for portability - * mdemo/configure.in (AC_C_CONST): ditto - * libltdl/configure.in (AC_C_CONST, AC_C_INLINE): ditto - * libltdl/ltdl.c (LTDL_FILENAME_MAX): use FILENAME_MAX if defined - (FILENAME_MAX): replace all explicit uses with LTDL_FILENAME_MAX - (presym_free_symlists, trim): don't return void, for portability - (lt_dlgetsearchpath): replace (void) with __P((void)) - - * ltmain.in (compile): when compiling both PIC and non-PIC, write - the PIC object to .libs/.lo and only rename it to .lo after - compiling the .o, to avoid fooling make dependencies - - * mdemo/main.c (LTDL_PREOPENED_SYMBOLS): remove - -1999-01-20 Gary V. Vaughan - - * TODO: Added inter-library deps for ltlibs. - - * THANKS: Added Vladimir Kushnir. - -1999-01-20 Vladimir Kushnir - - * ltconfig.in (freebsd3*): Define `deplibs_check_method' and - `file_magic_command' for freebsd-elf. - -1999-01-20 Alexandre Oliva - - * TODO: should we also build a `static' copy of a convenience - library out of .o files? - - * ltconfig.in (bsdi4*, netbsd*, uts4*, library_names_spec, - soname_spec): removed duplicate dot before $major - Reported by Steven M. Schultz (bsdi4*) - - * THANKS: added Manfred Weichel - -1999-01-20 Manfred Weichel - - * ltconfig.in (sysv5*): same as sysv4.3* - -1999-01-20 Alexandre Oliva - - * libltdl/ltdl.c (lt_dlopen): properly detect error condition when - full pathname of non-libtool library is provided - - * libltdl/configure.in (libltdl_cv_preloaded_symbols, - HAVE_PRELOADED_SYMBOLS): test whether we support -dl*open - * libltdl/ltdl.c (!HAVE_PRELOADED_SYMBOLS, lt_preloaded_symbols): - define it to an empty list if libtool won't generate it, so as to - avoid link errors. This will cause silent dlopening failures, but - maybe this is better than failing to link the program... - - * libltdl/ltdl.h (LTDL_PRELOADED_SYMBOLS): remove it; better to - declare lt_preloaded_symbols - * doc/libtool.texi (LTDL_PRELOADED_SYMBOLS): ditto - - * ltmain.in (dlpredeps): removed, reverting 1999-01-17's change - -1999-01-19 Alexandre Oliva - - * libltdl/Makefile.am (Makefile): depend on libtool - - * ltmain.in (lt_preloaded_setup): function added to symbol list - source file to work around FreeBSD problem - - * Makefile.am (check-local): depend on libltdl/Makefile - - * mdemo/Makefile.am (mdemo_LDFLAGS, mdemo_LDADD): moved -dlopen - flags to LDADD - * doc/libtool.texi (Using Automake): how to add -dlopen to LDADD - -1999-01-19 Gary V. Vaughan - - From Andrey Slepuhin - * ltmain.in (hardcode_action) Oops, misapplied the patch! - - * ltconfig.in (compile_dependencylbs): removed this - variable and pick up the library dependencies from $deplibs. - * ltmain.in (compile_dependencylibs): removed this - variable, use deplibs to hold these dependencies. - - From Andrey Slepuhin - * ltmain.in (hardcode_action) make sure deplibs is set to include - all the extra libs added to compile_command. - -1999-01-18 Alexandre Oliva - - * libtool.m4 (LIBTOOL_DEPS): set it - * libltdl/configure.in (LIBTOOL_DEPS): AC_SUBST it - * libltdl/Makefile.am (libtool): use it - * doc/libtool.texi (AM_PROG_LIBTOOL): document it - - * Makefile.am (libltdl.tar.gz): don't create it as part of the - build, since it is likely to become stale if we do - (install-data-hook): create and install libltdl.tar.gz, without - depending on GNU tar - Reported by Manfred Weichel - -1999-01-17 Thomas Tanner - - * Makefile.am: added libltdl.tar.gz to CLEANFILES - * ChangeLog: some reformatting - * TODO: documentation updates - * doc/libtool.texi: added preliminary libltdl documentation, - updated dlopen and -module documentation, - renamed -avoid-versioning to -avoid-version - documented the libtool script variables compiler_c_o, - compiler_o_lo, need_locks, old_postuninstall_cmds, - postuninstall_cmds, sys_lib_search_path_spec, - fix_srcfile_path, objdir, objext, libext, - documented the two new flags (--ltdl[-tar]) of libtoolize - * libltdl/Makefile.am: incremented the version, removed - libtool dependency so that it can be build independently - * libltdl/configure.in: removed LTDL_SHLIB_EXT hack, - set version to 1.0, use AM_MAINTAINER_MODE, - DLPREOPEN is always supported, check for libtool's objdir variable - (LTDL_OBJDIR) - * libltdl/ltdl.c: some cleanups (moved constants to the beginning - of the file and prefixed all of them with LTDL_, minor optimizations - in find_file() and find_module()), renamed lt_dlpreopen* to - lt_dlpreload* for consistency, removed LTDL_SHLIB_EXT hack, - we don't need unistd.h, DLPREOPEN is _always_ supported, - reverted Alexandre's lt_dlpreopen_default_ change, - try to open the not-installed module before the installed one, - replaced lt_dlsearchpath() with lt_dladdsearchdir(), - lt_dlsetsearchpath() and lt_dlgetsearchpath() - * libltdl/ltdl.h: renamed lt_dlpreopen* to lt_dlpreload* - for consistency, removed the declaration of lt_preloaded_symbols - (should be imported by programs), - reverted Alexandre's lt_dlpreopen_default_ change and added - two new macros LTDL_PRELOADED_SYMBOLS and - LTDL_SET_PRELOADED_SYMBOLS(), - added lt_dladdsearchdir(), lt_dlsetsearchpath() and - lt_dlgetsearchpath() - * libtool.m4: some reformatting - * libtoolize.in: implemented --ltdl, bugfix when checking for - the libtool package directory - * ltconfig.in: removed $thread_safe_flags from Andrey Slepuhin's - AIX patch, renamed sys_lib_search_path to sys_lib_search_path_spec, - some reformatting, fixed typo in deplibs_check_method (unkwnon) - * ltmain.in: documented -o for compile mode, some reformatting, - renamed -avoid-versioning to -avoid-version - renamed sys_lib_search_path to sys_lib_search_path_spec - * mdemo/Makefile.am: use -avoid-version - * mdemo/main.c: use LTDL_PRELOADED_SYMBOLS and - LTDL_SET_PRELOADED_SYMBOLS() - -1999-01-17 Alexandre Oliva - - * ltconfig.in (wlarc): set to either '${wl}' or an empty string, - depending on whether archive_cmds runs CC or LD - (gnu_ld=yes, whole_archive_flag_spec): "$wlarc" instead of '${wl}' - - * mdemo/Makefile.am (../libltdl/libltdlc.la): depend on - ../libtool, because ../libltdl/libtool depends on it - (mdemo_debug_*): copy from mdemo_*, adding -static to LDFLAGS - - * ltmain.in (dlpredeps): append dependencies from dlopened modules - (but not dlpreopened ones) after all explicitly linked libraries - - * ltconfig.in (need_lib_prefix, need_version, - deplibs_check_method): default to unknown, so that we're - remembered that this needs porting; unknown is interpreted as yes, - yes and none, respectively - (freebsd2*, freebsd3*, sunos4*, need_version): set to yes - (freebsd2*, freebsd3*, library_names_spec): libraries without a - version number are not used by `ld'; add $versuffix; - Reported by Ben Jackson - * ltmain.in (deplibs_check_method): alias unknown to none - (need_version): if vinfo was not provided and release info was, - zero out versuffix only if we don't need_version. - * doc/libtool.texi: document what `unknown' means - - * libltdl/ltdl.h (lt_dlpreopen_default): reverted to a macro - without arguments, that calls lt_dlpreopen_default_ with - lt_dlpreloaded_symbols - * libltdl/ltdl.c (lt_dlpreopen_default_): renamed from - lt_dlpreopen_default - (find_module) tryall_dlopen old_name first, so that we don't - override statically linked symbols with dlopened ones - -1999-01-15 Gary V. Vaughan - - From Andrey Slepuhin - * libtoolize.in (cd $pkgdatadir): Make sure we return the the - working directory when this is done. - - From Andrey Slepuhin - * ltconfig.in (aix): Use shared library support correctly on - aix4*, and tweak the config for aix3. - * NEWS: added aix3 and aix4 to list of hosts with improved - support. - * THANKS: added Andrey Slepuhin . - -1999-01-15 Thomas Tanner - - * Makefile.am (@DIST_MAKEFILE_LIST@): added a second '$' - before abs_scrdir, removed ltconfig and ltmain.sh from - EXTRA_DIST (automake distributes them by default) - -1999-01-14 Thomas Tanner - - * autogen: moved faking of the libtool scripts before - the call of automake, so that ltconfig and ltmain.sh - are included in the distribution - * ltconfig.in: when checking whether PIC is supported assume - only on HP/UX that warnings during compilation mean that - PIC is not supported (Thanks to Ron O'Hara) - * THANKS: added Ron O'Hara - -1999-01-14 Alexandre Oliva - - * Makefile.am: Moved ltconfig and ltmain.sh back into srcdir, and - add them to the distribution. Added work-around if `mv -f' fails. - fix @AINCLUDE_M4_LIST@ and @DIST_MAKEFILE_LIST@ for relative and - absolute specifications of srcdir - -1999-01-14 Thomas Tanner - - * libltdl/ltdl.c: added variable symbol prefix, added user-defined - library search path (can be set using lt_dlsearchpath()), - added default_preloaded_symbols which are independent of - lt_dlinit/exit - * libltdl/ltdl.h: added lt_dlsearchpath() and - lt_dlpreopen_default() - * mdemo/Makefile.am: use -export-dynamic until libtool - and libltdl are able to handle module dependencies - -1999-01-14 Gary V. Vaughan - - * THANKS: added Mark Elbrecht. - * ltconfig.in (PATH_SEPARATOR): new variable to hold valid $PATH - separator characters for the build host, to support DJGPP - environment. - * ltconfig.in: Use PATH_SEPARATOR instead of hardcoded `:'. - Reported by Mark Elbrecht - - * cdemo/README: typo: mdemo->cdemo - -1999-01-14 Thomas Tanner - - * autogen: fake the libtool scripts to help fixing - the bootstrapping problem - * Makefile.am: always configure libltdl, however after building - the libtool scripts, - build the libtool scripts in builddir, not srcdir - (unfortunately this breaks building when srcdir!=objdir, - but it was just plain wrong - needs to be fixed), - build and install libltdl.tar.gz, - copy acinclude.m4 instead of linking them, so that we - can 'make dist' in libltdl, - fixed configuring of subdirectories - * configure.in: removed --enable-ltdl-install - libltdl is supposed - to be installed by packages, not by libtool itself - * libtoolize.in: new flags --ltdl and --ltdl-tar to install libltdl - in packages (--ltdl doesn't work yet), - install only the necessary libtool scripts, not just all - files in pkgdatadir - * mdemo/Makefile.am: removed the rule for libltdl configuration - -1999-01-13 Alexandre Oliva - - * mdemo/Makefile.am (../libltdl/libtool): mkdir and configure - ../libltdl - -1999-01-13 Thomas Tanner - - * demo/dlmain.c, libltdl/ltdl.c, ltconfig.in, ltmain.in, - doc/libtool.texi: renamed dld_preloaded_symbols to - lt_preloaded_symbols, symbol lists are 'const' - * cdemo/configure.in: don't check for string.h - * demo/dlmain.c: renamed dld_symlist to lt_symlist, - preloaded symbols are 'const', use lt_ptr_t instead of void* - * demo/foo.h: define lt_ptr_t - * doc/libtool.texi: document lt_preloaded_symbols correctly - * libltdl/Makefile.am, mdemo/Makefile.am: renamed libtest to libltdlc - * libltdl/ltdl.c: fixed some minor typos, renamed dldpre to presym, - bugfix: search in search_path only if we have no directory - and a search_path, in lt_dlsym() check whether symbol != 0 - * libltdl/ltdl.h: removed lt_dlpreopen_default() - * ltconfig.in (dlpreopen): removed dld_preloaded_symbol_count - * ltmain.in: added help for -avoid-versioning, -export-symbols, - -module, add @SYMFILE@ if one of -export-dynamic, -dlopen or - -dlpreopen is used - * mail/deplibs.html: added Gordon Matzigkeit's inter-library - dependencies article - * mdemo/Makefile.am: removed -export-dynamic from LDFLAGS - (no longer necessary, since libtool defines lt_preloaded_symbols - when -dlopen is used), initialize with lt_preloaded_symbols - -1999-01-13 Alexandre Oliva - - * doc/libtool.texi (Test descriptions): cdemo-static works, thanks - to Edouard Parmelan! - - * THANKS: added Sebastian Wilhelmi - - * ltconfig.in (solaris): define `need_version' to no - -1999-01-13 Sebastian Wilhelmi - - * ltconfig.in (solaris): Define `deplibs_check_method', - `file_magic_command', `need_lib_prefix' and `sys_lib_search_path' - * ltmain.in (file_magic_regex): Add space before matching pattern, - such that it works on solaris (solaris has a tab between the - library name (including the colon) and the `ELF' and such the - `ELF' will never be matched). - -1999-01-13 Edouard G. Parmelan - - * ltconfig.in (NM): PATH search was not updated like in - libtool.m4, in last Alexandre Oliva's change to it - (sysv4*, ncr): pass all library dependencies - * ltmain.in (dependency_libs, -R): use `deplib' instead of `arg' to - iterate, otherwise we'd overwrite `arg' - (convenience, old_libs): if --disable-shared, convenience - libraries are just old archives, as .lo's are of no use - * tests/cdemo-static.test: print --disable-shared here - -1999-01-13 Alexandre Oliva - - * libltdl/configure.in (libltdl_cv_shlibext, LTDL_SHLIB_EXT): - system-dependent extension of shared libraries - (libltdl_cv_shlibpath_var, LTDL_SHLIBPATH_VAR): system-dependent - run-time shared library search path - * libltdl/ltdl.c (dldpre_init, dldpre_exit): unrelate init/exit - from add/remove symlists, so one may add dld_preloaded_symbols - from main(), when only a library will call dldpre_init - (lt_dlopen): use LTDL_SHLIBPATH_VAR, if defined, as secondary - search path. Also, if a requested .la file cannot be found, try - with the LTDL_SHLIB_EXTension instead. - - * ltmain.in (old_archives, oldobjs): use find to SYMDEF here too - - * Makefile.am (@DIST_MAKEFILE_LIST@): `$' must be doubled - - * configure.in (AC_CONFIG_DIRS): configure only libltdl, and then, - only if --enable-ltdl-install - (CONF_SUBDIRS): list directories that are configured on demand, - but that must be included in the distribution - (ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS - * Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and - readme-alpha, to handle README-alpha automatically - (EXTRA_DIST): removed README-alpha - (BUILD_SUBDIRS): subdirectories that are always built - (SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL - (DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure - (all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from - configure, and libtool, so that it is built before subdirs - (configure-subdirs): new target - (configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST), - from configure - (@DIST_MAKEFILE_LIST@): create subdir if needed, then run - configure. - On-demand configuration of subdirs at distribution time was - suggested by Gary V. Vaughan - - * libtool.m4, ltconfig.in (NM): search for NM in PATH before - /usr/ccs/bin, /usr/ucb and /bin. However, if the found one isn't - BSD-compat keep searching. If no BSD-compat is found, use the - first we found. - - * THANKS: added Raffaele Sena - -1999-01-13 Raffaele Sena - - * libltdl/ltdl.c: replaced RTDL with RTLD - -1999-01-13 Manish Singh - - * ltconfig.in (osf3*, osf4*, irix6*): include - ${libname}{release}.so for library_names_spec - -1999-01-13 Alexandre Oliva - - * configure.in (AC_CONFIG_SUBDIRS): added cdemo - * Makefile.am (DIST_SUBDIRS): ditto - (ACINCLUDE_M4_LIST): ditto - * tests/Makefile.am (TESTS): added cdemo-shared.test - * tests/cdemo-static.test: disable shared libraries here - * tests/cdemo-shared.test: disable static libraries here - * doc/libtool.texi (Test descriptions): added cdemo tests - * THANKS: added Edouard G. Parmelan - -1999-01-13 Edouard G. Parmelan - - * ltmain.in: fix convenience libraries when static libraries - are disables. - * cdemo/README, cdemo/Makefile.am, cdemo/configure.in, cdemo/foo.h, - cdemo/foo1.c, cdemo/main.c, cdemo/.cvsignore, test/cdemo-conf.test, - test/cdemo-make.test, test/cdemo-exec.test, test/cdemo-static.test: - new tests for convenience libraries. - * autogen, Makefile.am, test/Makefile.am: ditto. - - * ltconfig.in, doc/PLATFORMS: Added support for NCR MP-RAS - (i586-ncr-sysv4.3*) with native compiler. - * README, doc/libtool.texi: Added note for NCR MP-RAS compiler. - -1999-01-12 Thomas Tanner - - * ltmain.in: before using LN_S remove the symlink - * libltdl/ltdl.c: support multiple symbol lists, moved library- - and file searching to separate functions, renamed "preload_libs" - to "dl_dependency_libs", set the LT_SYMBOL_OVERHEAD to the correct - value (7), fix to support lt_dlsym() for not-libtool modules again, - check for invalid handles, when using strdup() check whether - it fails - * libltdl/ltdl.h: declare the lt_dlsymlist type for lt_dlpreopen() - * mdemo/README: rewritten - * mdemo/configure.in: check only for math.h (string.h is no longer - necessary) - -1999-01-12 Gary V. Vaughan - - * configure.in (ltdl-install): Fixed up the indentation so that - `configure --help' is pretty again. - -1999-01-11 Alexandre Oliva - - * ltmain.in, NEWS, doc/libtool.texi: Added support for -R flag - * ltmain.in, doc/libtool.texi: documented that -rpath is the same - as -R for programs - * ltmain.in: softened the instructions for linking with installed - libraries, and noted that libtool can be used to link with them; - documented that -rpath is not required for convenience libraries - - * ltconfig.in (symxfrm): don't print $pipe_works twice, once for - each $ac_symprfx - Reported by Godmar Back - - * ltmain.in (convenience, libobjs): get only .o and .lo files from - the files extract from the convenience library. Some systems, - such as FreeBSD2, will add a SYMDEF file, that is not an object - file, and therefore should not be fed to the linker - - * libtool.m4 (AM_SYS_NM_PARSE): while we are at it, we may well - cache the value of ac_cv_sys_symbol_underscore - - * libtool.m4 (AM_SYS_NM_PARSE): need for underscore prefix is now - auto-detected, by trying first without, then with it. - - * ltconfig.in: ditto - -1999-01-10 Alexandre Oliva - - * configure.in (AC_CONFIG_SUBDIRS): add libltdl, demo, mdemo and - depdemo commented out, so that `dist' works before `check' - (BUILD_LTDL): will contain libltdl if --enable-ltdl-install - * Makefile.am (DIST_SUBDIRS): expand SUBDIRS and add depdemo, - commented out - (SUBDIRS): add $(BUILT_LTDL) - * libltdl/Makefile.am (EXTRA_LTLIBRARIES): add libtest.la, the - same as libltdl but always a convenience library. Not built by - default. Both libraries now depend on the libtool script, that - depends on ../libtool and is rebuilt when needed - * mdemo/Makefile.am (mdemo, mdemo.debug): depend on and link with - ../libltdl/libtest.la, that is rebuilt if needed - (mdemo_LDADD): removed $(LIBADD_M), to avoid silent failures - (foo1.la): renamed from libfoo1.la; test removing the lib prefix - * mdemo/foo1.c: renamed libfoo1_LTX symbols to foo1_LTX - * mdemo/main.c: don't include string.h nor math.h, nor refer to - sin nor cos - * tests/mdemo-exec.test: renamed libfoo1.la to foo1.la - * tests/mdemo-inst.test: ditto - - * libltdl/ltdl.c (FILENAME_MAX): use it instead of MAX_FILENAME, - and don't redefine it if already defined; default to 1024, as on - most systems - (LT_SYMBOL_LENGTH): renamed from MAX_SYMBOL_LENGTH - (LT_SYMBOL_OVERHEAD): new macro, that accounts for the size of - the _LTX_ separator and the initial underscore - (lt_dlsym): sym now points to a stack buffer (lsym) if possible, - or is dynamically allocated. If allocation fails, a - buffer_overflow_error is returned. - -1999-01-10 Thomas Tanner - - * ltmain.in: define dld_preloaded_symbols if at least one of - -export-dynamic, -dlopen or -dlpreopen was specified, - do not include program objects in the symbol list - if -export-dynamic was not enabled - * libltdl/ltdl.c: limit symbols to max. 256 bytes - * mdemo/Makefile.am: build libltdl in a subdirectory, - do not use -export-dynamic for mdemo and mdemo.debug - * tests/mdemo-conf.test,tests/mdemo-make.test,tests/mdemo-inst.test: - do not check for libltdl - -1999-01-09 Alexandre Oliva - - * libltdl/ltdl.c (lt_dlopen): missing strlen in bound test - -1999-01-09 Thomas Tanner - - * NEWS: support for BSD/OS 4.x was not documented - * demo/Makefile.am: link against libm only if available - * mdemo/Makefile.am: likewise, use -avoid-versioning flag - instead of -avoid-version (typo) - * demo/configure.in: check for libm, string.h and math.h - * mdemo/configure.in: likewise - * depdemo/configure.in: check for libm and math.h - * libltdl/configure.in: check for dlerror - * libltdl/ltdl.c: check for buffer overflows, implemented - dlerror, fixed a severe bug which occured when opening - non-libtool modules, dlopen with the flags GLOBAL and NOW - * mdemo/main.c: report the error using lt_dlerror() - -1999-01-08 Gary V. Vaughan - - * doc/libtool.texi (old_archive_from_new_commands): Documented - this ltcofig variable. - -1999-01-07 Gary V. Vaughan - - * ltmain.sh (cygwin, allow_undefined): Unfortunately, there are - problems with this variable when trying to make a dll which has - undefined symbols, in which case not even a static library is - built. For now, we need to specify -no-undefined on the libtool - link line when we can be certain that all symbols are satisfied, - otherwise we get a static library. - -1999-01-06 Thomas Tanner - - * ChangeLog: merged in tests/ChangeLog - * tests/ChangeLog: deleted - * libltdl/ltdl.c: assigned copyright to the FSF - * libltdl/ltdl.h, mdemo/foo*,main.c: likewise - -1999-01-06 Gary V. Vaughan - - * ltmain.in (dllsearchpath): add absolute directory paths to - dllsearchpath so that the wrapper scripts can be called from any - directory (e.g. tests) on cygwin. - - * ltconfig.in (cygwin, library_names_spec): revert Alexandre's - change from yesterday to use `-dll.a' suffix. That change caused - $libname-dll.a to be a symlink to $soname, which isn't even an - `ar' archive. Before the import library suffix can be changed, we - need to figure out how to handle building objects differently for - linking with an import library versus an equivalent static library. - - * TODO: Added details of a Linux wrapper script bug. - Reported by Jeff Garzik . - -1999-01-05 Alexandre Oliva - - * ltmain.in (libobjs_save, oldobjs): when building an - old-fashioned archive, use a copy of libobjs saved before - convenience libraries are appended - - * libltdl/ltdl.h (_LTDLL_EXPORT, _LTDLL_IMPORT): use cygwin or - unix library import/export primitives; this may be convenient for - people willing to create DLLs - (_LTDLL_EXTERN): select _LTDLL_EXPORT or _LTDLL_IMPORT depending - on _LTDL_COMPILE_ - * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlpreopen): new function, - that replaces the current preloaded_symbols list with its - argument, and returns the old value, initially NULL - (dldpre_init): don't refer to dld_preloaded_symbols any more - (dldpre_open, dldpre_sym): search preloaded_symbols - (lt_dlpreopen_default): call lt_dlpreopen with - dld_preloaded_symbols, that is declared as extern; it should be - called from the main program or from some static library without - -no-undefined - (lt_dlerror): new function, that returns the error message for the - last error occurred; the error message is kept in the static - variable last_error - * libltdl/configure.in (enable-ltdl-install): moved back from - enable-install; other packages might use enable-install already, - better have fine grained control over this. - * libltdl/Makefile.am (libltdls.la): discarded - -1999-01-05 Thomas Tanner - - * configure.in: do not configure libltdl by default - * Makefile.am: do not build libltdl by default - * libltdl/Makefile.am: ltdls.lo depends on libtool - * tests/Makefile.am: before starting the tests - make sure that libtool was build - * tests/mdemo-conf.test: configure libltdl - * tests/mdemo-make.test: build libltdl - -1999-01-05 Alexandre Oliva - - * ltmain.in (SP2NL, NL2SP): Don't delete empty lines, as this - would lose for files with embedded blanks. - - * ltconfig.in (cygwin, archive_cmds, archive_sym_cmds): Moved - ltdll.c into ltmain.in, to avoid its duplication, and added a sed - script to extract it. Also, create def and base files in $objdir, - and don't remove them after the compilation. - (cygwin, library_names_spec): Create static part of the dll with - suffix -dll.a, to avoid conflicts with actual static libraries. - * ltmain.in: Added ltdll.c, as commented out text - -1999-01-01 Thomas Tanner - - * NEWS: new BeOS support - * THANKS: added Joseph Beckenbach - * libltdl/ltdl.h: use dllimport/export on Win32 - -1998-12-31 Joseph Beckenbach III - - * ltconfig.in: added support for BeOS - * ltmain.in (shlibpath_var): added a workaround for - an odd bug in the BeOS R4 sed - -1998-12-31 Thomas Tanner - - * verified all copyright notices - and updated them to 1999 - * TODO: added some things that need to documented - * doc/libtool.texi: -export-symbols is not - supported on all platforms - * doc/PLATFORMS: added a few new platforms - -1998-12-30 Thomas Tanner - - * NEWS: updated - * THANKS: added Todd Vierling - -1998-12-30 Todd Vierling - - * ltconfig.in: improved shared object handling on both - a.out and ELF platforms for NetBSD - -1998-12-29 Thomas Tanner - - * ltconfig.in: do not rely on a leading space when concatenating - variables as suggested by Erez Zadok - * ltmain.in: likewise - * doc/PLATFORMS: updated and reformatted - (thanks to Erez Zadok for the testing) - -1998-12-27 Thomas Tanner - - * THANKS: added Erez Zadok - -1998-12-26 Erez Zadok - - * ltconfig.in: support i486-ncr-sysv4.3.03 - shared libraries. - - * ltmain.in: before every ln -s, remove the link name - -1998-12-25 Thomas Tanner - - * depdemo/configure.in: removed last relics of demo - * depdemo/sysdep.h: ditto - * mdemo/Makefile.am: ditto - * libltdl/Makefile.am: fixed the version number, build libltdls if - -enable-install and -enable-dlpreopen are enabled - * libltdl/configure.in: libltdl is version 0.1, not 1.0, - renamed -enable-ltdl-install to -enable-install, - conditionals for libltdls, check for strchr and index, - replaced NULL with 0 - * libltdl/ltdl.c: replaced NULL with 0, dlpreopen only if - USE_DLPREOPEN was defined, integrated shl_load code from GModule - (still untested) - -1998-12-24 Gary V. Vaughan - - * libltdl/configure.in: fixup spacing in --enable-ltdl-install - help string so that it lines up nicely for configure --help. - - * ltmain.in (dllsearchpath): keep track of what the dll search path - will need to be in the wrapper scripts as deplibs are calculated. - Make sure the wrapper script doesn't end in `.exr', which makes - win32 try to execute it as a binary! - Add the contents of dllsearchpath to $PATH in the wrapper script. - Use the relative path to the wrapped program so that the dll - search path is calculated properly by win32 OSes. - * TODO: removed the item for making wrapper scripts work on win32. - - * TODO: removed the reference to making libltdl and demo work on - win32. They *do* work now that wrapper scripts are functioning. - - * ltmain.in (file_magic_command): It turns out that if the - file_magic_command generates huge output (e.g. running `objdump - -f' over a large import lib [say libX11.a]) the expr to check it - against the file_magic_regex blows up. There is now an optimistic - heuristic, to save only the first 10 lines of running - file_magic_command which (at risk of sounding like Bill) should be - enough for anyone =)O|. - - * ltmain.in: Set the compile_dependencylibs and dllsearchpath for - non-libtool libs, or else libdeps only works between ltlibs for - cygwin32. - -1998-12-23 Alexandre Oliva - - * ltmain.in (SP2NL, NL2SP): use `tr' magic to avoid passing very - long lines to sed - * doc/libtool.texi (sed): very long lines are no longer a problem - - * libltdl/Makefile.am: install libltdl conditionally... - * libltdl/configure.in: ... if --enable-ltdl-install is issued - * libltdl/ltdl.c: removed #ifdef DEBUG - * mdemo/Makefile.am (mdemo_debug_LDADD, mdemo_debug_DEPENDENCIES): - use libltdl.la - -1998-12-23 Gary V. Vaughan - - * doc/PLATFORMS: added my cygwin32 box (i686-pc-cygwin32). - - * TODO: remind myself of the win32 tasks remaining. - - * ltconfig.in (archive_cmds, archive_sym_cmds, - old_archive_from_new_cmds): Fixed a bug which left an a.exe in the - build directory. Fixed a bug where $soname-def was never deleted. - - * ltconfig.in (file_magic_command): new variable holds the command - (including any args) to run to generate the string to match - against the regex in $file_magic. Use the variable where - necessary. Added to libtool header output. - (deplibs_check_method): use file_magic for win32, but compare the - output of `objdump -f' with the regex (see below). - (archive_cmds, archive_sym_cmds): use compile_dependencylibs for - each $CC invokation (see below). - - * ltmain.in: Set allow_undefined to `no' for win32 variants by - default, otherwise it is impossible to link a dll without forcing - the makefile maintainer to figure out whether to pass - --no-undefined at every libtool invokation. - (compile_dependencylibs): save the list of dependency library - flags needed for a deplib build on win32. - (link_against_libtool_libs): commented out the check for this; if - it is left in, then ltlibs (i.e. *.la files) cannot be deplibs for - subsequent links. - Don't add -lc to the deplibs line for win32 platforms (which don't - have a libc as such). - (file_magic_command): use this to get some output to compare with - the file_magic regex (instead of hardcoding `file' which doesn't - exist on win32. - * doc/libtool.texi (Porting inter-library dependencies): Updated - to document the changes above. - - * ltconfig.in (deplibs_check_method): Changed the file_magic regex - to match more linux variants. This is less lenient than Thomas - Tanner's commit to fix the same problem below. - Reported by Joel Klecker - * THANKS: added Joel Klecker - -1998-12-23 Thomas Tanner - - * ltconfig.in: fixed file-magic for Linux shared libraries - * ltmain.in: removed the unused -force-static flag - * libltdl/ltdl.c: added strchr, search modules in LTDL_LIBRARY_PATH, - check whether actual module was already dlopened, - read in preload_libs rather than dependency_libs - -1998-12-23 Thomas Tanner - - * libltdl/Makefile.am: build two versions of libltdl: - libltdl (support native dlopen if available, otherwise dlpreopen), - libltdls (like libltdl, but always support for dlpreopen) - * libltdl/ltdl.c: ditto - * libltdl/configure.in: warn if dlopen is not supported - * mdemo/Makefile.am (mdemo.debug): use libltdls - -1998-12-22 Gary V. Vaughan - - * ltconfig.in: revert Thomas Tanners change to create all - libraries without the `lib' prefix on win32, otherwise `gcc foo.c - -lbar' can't find libbar.a. - -1998-12-22 Alexandre Oliva - - * Makefile.am (SUBDIRS): prepend `.' to avoid am-recursive - dependency hack - -1998-12-21 Thomas Tanner - - * ltconfig.in: indentation is now 8 character wide tabs - * ltmain.in: ditto - * ChangeLog: ditto - * ltmain.in: renamed check_shared_deplibs_method to - deplibs_check_method (we_dont_want_too_long_variable_names :) - * doc/libtool.texi (Porting inter-library dependencies): ditto - * depdemo/.cvsignore: renamed hell* to depdemo*, added *.lo,*.la - * mdemo/.cvsignore: ditto - -1998-12-21 Gary V. Vaughan - - * libtool.m4 (AM_SYS_NM_PARSE): apparently __ptr_t is predefined - on some systems - use lt_ptr_t instead. - * ltconfig.in: ditto. - * ltmain.in: ditto. - - * libtool.m4 (AM_SYS_SYMBOL_UNDERSCORE): use an AC_SUBST to pass - the result of this into the compile rather than AC_DEFINE which - breaks when building with older versions of autoconf. - * ltconfig.in (symxfrm): Don't put the leading underscore back - with the global_symbol_pipe. - * demo/dlmain.c (main): No need to specialcase underscores in - dld_preloaded_symbols - it is fixed by symxfrm above! - * libltdl/configure.in: use AM_SYS_SYMBOL_UNDERSCORE from - libtool.m4 rather than reinvent the wheel here =)O| - - * ltmain.in: Fix deplibs methods to not rely on a.out (cygwin - uses a.exe!). - - * libltdl/configure.in: Cleanups - fix header comment and emacs - local-vars. - - * demo/dlmain.c (win32_force_data_import_address): a nasty hack - to force the address of imported data symbols into - dld_preloaded_symbols on win32, which does data imports - differently to function imports (sheesh!). This functionality - needs to be moved into the dld_preloaded_symbols generation code. - demo/helldl with static linking is broken on win32 by this change, - probably until after libtool-1.3 =(O| - * demo/foo.h: make sure __CYGWIN32__ is always defined on cygwin32 - systems. Use the correct __declspec macro for lib exports/imports - on cygwin32. - * demo/foo.c, demo/hello.c: Make sure we tell foo.h that these - sources are inside libfoo, and want to export symbols. - -1998-12-20 Thomas Tanner - - * autogen: configure demo, depdemo, libltdl and mdemo - * tests/mdemo-exec.test: renamed hell* to mdemo* - * tests/mdemo-inst.test: ditto - -1998-12-19 Thomas Tanner - - * libltdl/Makefile.am: build a normal libtool library - * libltdl/ltdl.c: get LTDL_LIBRARY_PATH but don't make use of it yet, - some reformatting - * ltmain.in: fixed a bug which listed symbols in - dld_preloaded_symbols twice - * TODO: removed symbol export lists and deplibs - -1998-12-18 Thomas Tanner - - * ltconfig.in: added need_lib_prefix and need_version, - which determine whether we must prefix modules with 'lib' - and whether versioning is required for libraries. - * ltmain.in: allow modules names without 'lib' prefix, - new -avoid-versioning option - * doc/libtool.texi (link flags): updated documentation for -module, - added -avoid-versioning - * doc/libtool.texi (libtool script contents): - documented the two new flags and archive_sym_cmds - * doc/libtool.texi (tests): - added (partially very short) documentation for assign.test, - nomode.test, quote.test, sh.test - * libltdl/ltdl.c: canonicalize module names, - some cleanups and bugfixes, __ptr_t is predefined on - some systems - use lt_ptr_t instead - * mdemo/: renamed hell* to mdemo* (hell is already used in - demo), updated the documentation, import sin and cos in main - program rather than linking libfoo1 statically - -1998-12-17 Gary V. Vaughan - - * libtool.m4 (AM_PROG_LIBTOOL): Added AC_PREREQ(2.12) to prevent - people using libtool with old autoconfs that don't provide the - features we need. - -1998-12-16 Alexandre Oliva - - * NEWS, configure.in, libtool.spec: Bumped to 1.2e for CVS - - * NEWS, configure.in, libtool.spec: Bumped to 1.2d for release - - * Makefile.am (cvs-dist): our release tags are in lower case - (cvs-diff): ditto - (EXTRA_DIST): added README-alpha - * README-alpha: minor adaptations - * demo/Makefile.am, mdemo/Makefile.am, depdemo/Makefile.am: - removed comment about special needs for distribution - * depdemo/Makefile.am: don't generate dependencies - * depdemo/configure.in: modified version number - - * ltmain.in (-force-static, force_static): removed - * libltdl/Makefile.am (CFLAGS): ditto - * libltdl/configure.in: check for memory.h, rindex() and - dlpreopening. Fixed NEED_USCORE caching policy. - * libltdl/ltdl.h (lt_dlsym): make the name argument const - * libltdl/ltdl.c (types): new variable: head of list of available - dlopening mechanisms - (lt_dltype_t): interface of a dlopening mechanism, with pointers - to functions for init, exit, open, close and sym - (lt_dlhandle_t): added pointer to interface type - (strdup): don't name it strdup; it can be troublesome - (strrchr): ditto; use rindex if available - (LIBTOOL_STATIC): check HAVE_DLPREOPEN instead, and move to the - end of the file, so that it becomes the header of the list - (all): renamed all interface-implementation functions, to avoid - name clashes, and created lt_dltype_t nodes for all of them - (lt_dlinit): initialize all available interfaces; remove those - that fail from the list. Return failure only if no interfaces - could be initialized. - (lt_dlexit): return number of failures - (tryall_dlopen): try to open the library with all available - interfaces - (lt_dlopen): use tryall_dlopen; increased size of fixed buffers. - We should probably make these bound-checked or dynamically - allocated for the final release! Fix bug when filename did not - contain slashes; should we check for `\\' too? Try old_library if - everything else fails. - (lt_dlclose): use the interface type for closing - (lt_dlsym): make `symbol' const, use interface type for looking up - * mdemo/Makefile.am: moved mdemo/modules/* back into mdemo - (SUBDIRS): removed - (libfoo2_la_LDFLAGS): added -static; nice test. However, since it - causes -lm to linked into hell*, it causes tests that should fail - to pass - (noinst_HEADERS): no need to install foo.h - * mdemo/configure.in: remove modules/Makefile - tests/mdemo-exec.test: updated accordingly - - * NEWS: Added Thomas Tanner and Gary V. Vaughan to the list of new - maintainers. Detailed expected failures of libltdl+mdemo. Listed - recent ports. Added full URL for the home page. Note that - libtool C program is unusable. - -1998-12-16 Bruno Haible - - * doc/libtool.texi (Tested platforms): broken `sed' programs - -1998-12-16 Alexandre Oliva - - * THANKS: added Stephan Kulow; removed Gary V. Vaughan and Thomas - Tanner, now that they're AUTHORS - -1998-12-16 Stephan Kulow - - * ltmain.in (freebsd-aout, freebsd-elf): added missing dot to - versuffix - -1998-12-16 Alexandre Oliva - - * libltdl/Makefile.am (EXTRA_DIST): removed, nothing needed - (libtool): automatically update - - * libltdl/configure.in (stdlib.h, unistd.h, stdio.h): check - * libltdl/ltdl.c: include them - - * demo/configure.in (BINARY_HELLDL): test whether dlopen is - supported at configure time - * demo/Makefile.am (helldl): use automake conditionals to build - helldl as a script or as a binary program - - * tests/Makefile.am (EXTRA_DIST): remove ltdl-*.test - (clean-local): don't clean libltdl any more - * tests/ltdl-conf.test: removed - * tests/ltdl-inst.test: ditto - * tests/ltdl-make.test: ditto - * tests/ltdl-unst.test: ditto - * tests/mdemo-make.test: updated accordingly - * tests/mdemo-inst.test: ditto - * tests/mdemo-unst.test: ditto - * doc/libtool.texi: ditto - - * ltmain.in (-DSTATIC): changed to -DLIBTOOL_STATIC, and defined - only for -force-static; it should be removed soon, before people - start to use it - - * configure.in (AC_CONFIG_SUBDIRS): added libltdl - * Makefile.am (SUBDIRS): build libltdl by default - (DIST_SUBDIRS): simplify distribution of demo and mdemo - (libtool, clibtool, libtoolize, ltconfig, ltmain.sh): add - srcdir where appropriate - (ACINCLUDE_M4_LIST): new rule for maintaining links from - acinclude.m4 to libtool.m4 - (*demo/Makefile.in): don't update autoconf/automake files any - more; make check is needed - -1998-12-14 Gary V. Vaughan - - * ltconfig.in (archive_cmds): tweaked for cygwin b18->b20.1 - compatibility and fixed a bug with generating the export - definitions file. This is only tested on b20.1, but should - work back to b18 at least. - -1998-12-11 Thomas Tanner - - * ltmain.in: -module implies now -export-dynamic, - dlpreopen files if we're linking statically - * doc/libtool.texi (link flags): added documentation for -module - and the tests for mdemo and libltdl - * mdemo/Makefile.am: replaced -dlpreopen with -dlopen - -1998-12-09 Alexandre Oliva - - * PORTING: removed the text Akim Demaille converted to .texi - -1998-12-09 Akim Demaille - - * doc/libtool.texi: converted inter-library dependencies - instructions from PORTING - -1998-12-09 Alexandre Oliva - - * ltmain.in (convenience, deplibs): propagate dependencies - * libltdl/Makefile.am (noinst_HEADERS): don't install ltdl.h yet - (noinst_LTLIBRARIES): ditto for libltdl.la - -1998-12-08 Gary V. Vaughan - - * README-alpha: adapted the release procedure from - automake/HACKING. - * Makefile.am: adapted the cvs-dist and cvs-diff rules from - automake/Makefile.am. I guess this is probably safe to use - already, but I didn't test it as it tags the CVS tree. If - it needs tweaking, we'll find out come 1.2d. - -1998-12-08 Thomas Tanner - - * ltconfig.in: fixed some typos in archive_sym_cmds - * ltmain.in: replaced basename with a sed expression - -1998-12-07 Alexandre Oliva - - * configure.in: we no longer use PRCS - - * doc/libtool.texi (author): listed all the AUTHORS - (Dlopen issues): added reference to libltdl, still undocumented - (C++ libraries): it's not *that* simple, after all :-( - (Inter-library dependencies): they're back! - -1998-12-04 Alexandre Oliva - - * libtool.m4 (ac_cv_sys_symbol_underscore): `test a == b' doesn't - work, use `test a = b' instead - - * Makefile.am (mdemo_distfiles): libfoo[12].sym no longer exist - - * ltconfig.in (solaris): do not use $CC for linking if GNU ld is - not available - -1998-12-04 Manfred Weichel - - * ltconfig.in: Port to SCO UnixWare 7.x. - -1998-12-03 Thomas Tanner - - * ChangeLog: converted CR/LF back to CR format - * ltconfig.in: new variable sys_lib_search_path for searching - of installed libraries, export archive_sym_cmds and - sys_lib_search_path - * ltmain.in: use sys_lib_search_path, removed extradeplibs - (they're not portable) - -1998-12-02 Gary V. Vaughan - - * libltdl/configure.in: look for string.h or else strings.h, and - also check for ANSI strrchr() function. Fix `undescore before - symbols' macro to not rely on a.out (cygwin uses a.exe!). Fix - `underscore for dlsym' to set cache variable properly, not just in - environment of AC_DEFINE(NEED_USCORE). - * libltdl/ltdl.h (__ptr_t): for K&R compatibility using char*. - * libltdl/ltdl.c (strrchr): fallback function incase none is - defined in libc. - (trim, ltdlopen): replace rindex with ANSI strrchr. - Add static function declarations so that we get type checking with - ANSI compilers. Use __ptr_t instead of void*. - -1998-12-01 Thomas Tanner - - * ltconfig.in: added -export-symbols support for GNU ld and - Solaris (untested), archive_sym_cmds for -export-symbols - * doc/libtool.texi, ltmain.in: -export-symbols is now - independent from -export-dynamic and does not work for modules - anymore - * ltmain.in: added some checks for -export-symbols - * mdemo/modules/Makefile.am: replaced -export-symbols with - -export-dynamic since it doesn't work for modules - -1998-12-01 Gary V. Vaughan - - * README: Updated homepage pointer to gnu libtool page. - - * ltconfig.in (ltdll.c): update the ltdll.c file for cygwinb20. - Based on code from Mumit Khan . - (archive_cmds): correct typo libtool.c->ltdll.c. Update shell - commands for cygwin32. - - * libtool.m4 (AM_SYS_SYMBOL_UNDERSCORE): New macro; find out - whether compiled symbols have an extra leading underscore. - (AM_SYS_NM_PARSE): New macro (converted to m4 from ltconfig.in); - find a sed expression to parse global symbols from the output of - $NM. - (AM_PROG_LIBTOOL): require AM_SYS_NM_PARSE and - AM_SYS_SYMBOL_UNDERSCORE. - * demo/dlmain.c (main): Remove a single leading underscore from - compiled symbol names if necessary. - -1998-12-01 Alexandre Oliva - - * config.guess, config.sub: imported from autoconf pre-2.13 - -1998-11-27 Gary V. Vaughan - - * libtool (AM_PROG_LD): Oops... we need to know the host_os for - the changes below. I'm not sure whether mingw32 and os2 support - UNC paths, if they did we wouldn't need the check, we could use - UNC paths on all three; or if the bug with $LD not being - shell-meta escaped was fixed, we could use '\\' separators on all - three. AC_REQUIRE'ed AC_CANONICAL_HOST. - - * libtool.m4 (AM_PROG_LD): Cannonicalize the absolute path for the - ld program; The order is funny to provide canonicalization to - paths with '\\' separators as well as '/'. - * ltconfig.in: ditto. - - * AUTHORS: Added myself as a co-maintainer. - - * ltconfig.in (archive_cmds): The `;\' in a compound statement is - expanded wrongly for cygwin32, mingw32, aix3 and aix4. Changed to - `;'. - -1998-11-25 Alexandre Oliva - - * libtool.spec (URL): point to www.gnu.org - (Source): point to ftp.gnu.org - - * Makefile.am (EXTRA_DIST): removed libtool.prj - Reported by Akim Demaille - -1998-11-24 Alexandre Oliva - - * ltconfig.in (echo): avoid shell error messages when we're - testing for large command line support - Reported by Axel Thimm - - * doc/PLATFORMS: updated last-tested release for platforms I've - got access to - - * THANKS: added Chris P. Ross - -1998-11-24 Chris P. Ross - - * ltconfig.in: added recognition of the dynamic linker on BSD/OS 4.x - * README: added BSD/OS 4.x to the list of supported platforms - * doc/PLATFORMS: added BSD/OS 4.x support for various host id's - -1998-11-24 David Heine - - * ltmain.in (pass_all): actively pass the flags - -1998-11-24 Thomas Tanner - - * depdemo: added inter-library dependencies demo (doesn't work yet!) - * AUTHORS: added myself to the list of maintainers - -1998-11-22 Thomas Tanner - - * libltdl: added support for .la files, LGPL license, - K&R compatibility, some API changes and bugfixes - * ltmain.in: renamed -module flag (for compiling) to -force-static, - define -DSTATIC when compiling static .o files, - do not include directories in dld_preloaded_symbols - * mdemo: modified mdemo to work with the new libltdl - * tests/mdemo-exec.test, tests/mdemo-inst.test: use .la files - -1998-11-21 Alexandre Oliva - - * libltdl/ltdl.c: replace NULL with 0, so that we don't depend on - header files defining it. - - * ltconfig.in (archive_cmds, osf3, osf4, solaris, sunos4): create - libraries with gcc -shared if using gcc without GNU ld. - - * ltconfig.in: replaced occurrences of solaris2 with solaris, to - prepare for Solaris 7 - -1998-11-19 Alexandre Oliva - - * mdemo/Makefile.am (hell_debug_LDFLAGS): -dlpreopen -> -dlopen - (hell_LDFLAGS): added -export-dynamic and -dlopen - (SUBDIRS, INCLUDES): added modules directory - (foo1.c, foo2.c, foo.h, libfoo1.sym, libfoo2.sym): moved to modules - * Makefile.am: ditto - * tests/mdemo-exec.test, tests/mdemo-inst.test: libraries moved - * mdemo/modules/Makefile.am: new file - - * */Makefile.am (AUTOMAKE_OPTIONS): added no-dependencies - - * ltmain.in: missing `test' between `&&' and `"$module"' - - * ltconfig.in (echo_test_string): the whole ltconfig script was - too much for DU4.0's ksh, but the first 50 lines will be enough. - - * ltmain.in (installed): new variable defined within a .la file, - so that libtool can now link already-installed libraries into a - program. - * NEWS: ditto - * doc/libtool.texi (Linking executables): document it - - * ltmain.in (output_objdir): compute it from $output, not $arg - - * tests/mdemo-inst.test (libltdl): install it - * tests/mdemo-unst.test (libltdl): uninstall it - * tests/Makefile.am (TESTS): list ltdl-unst.test before mdemo-conf.test - -1998-11-18 Alexandre Oliva - - * NEWS: -module and libltdl - * mdemo/Makefile.am: ../libltdl is within $(srcdir) - -1998-11-18 Thomas Tanner - - * libltdl, Makefile.am: added libltdl (a system independent - dlopen wrapper library extracted from mdemo) - * ltmain.in: added -module flag for compiling and linking of - modules. If enabled it compiles always both .o (with -DLT_RENAME) - and .lo files - * mdemo: modified mdemo to work with libltdl - * tests/ltdl*: added tests for libltdl - -1998-11-16 Steve Price - - * ltconfig.in: when $host_os is freebsd[23]* determine whether - the current linker format is a.out or ELF - * ltmain.in: add two new $version_type's, freebsd-aout and - freebsd-elf, to support above change - -1998-11-16 Stephan Kulow - - * ltconfig.in: extent no_builtin_flag to contain -fno-rtti and - -fno-exceptions in case we compile with a gcc, that supports - this options (egcs and gcc >= 2.8) - -1998-11-16 Alexandre Oliva - - * ltmain.in (C_compiler): copy $CC before it is overwritten with - command-line compiler, so that we can use it to compile C sources - generated during the build. This fixes the problem that showed up - with -export-dynamic of C++ programs in egcs 1.1. - * NEWS: ditto - -1998-11-12 Alexandre Oliva - - * PORTING: Porting instructions are in the libtool manual already - - * NEWS: Mention -export-symbols and new dlpreopen - -1998-11-11 Alexandre Oliva - - * ltmain.in (IFS): revert Gary's patch when parsing version - information; we still use `:' here :-) - - * NEWS: updated - * PORTING: new file, with general instructions and inter-library - dependencies tips - -1998-11-11 Gary V. Vaughan - - * ltconfig.in: make use of '~' field separator in reload_cmds, - old_archive_from_new_cmds, old_archive_cmds, archive_cmds, - old_postinstall_cmds, postinstall_cmds, old_postuninstall_cmds, - postuninstall_cmds and finish_cmds, so that the semi-colons inside - if/then/else/fi and for/do/done etc. do not break the eval loop in - ltmain.in (below). - * ltmain.in: changed all of the eval loops to use an IFS of `~', - to allow differentiation between the end-of-statement-; - (now `~' is used) and end-of-substatement-; (still `;'). This - fixes AIX and win32 at least. - -1998-11-11 Alexandre Oliva - - * ltconfig.in (sunos*, sympat, symxfrm): remove underscore - prepended by the compiler - -1998-11-10 Toshio Kuratomi - - * ltconfig.in: re-enable deplibs - * ltmain.in: support deplibs, at least for GNU/Linux/x86 - Updated to current libtool by Thomas Tanner - -1998-11-10 Gordon Matzigkeit - - * ltmain.in (link): Make the relink warning less harsh. - -1998-11-07 William M. Perry - - * ltconfig.in (aix3, aix4): uniquify symbol names in archive_cmds - -1998-11-07 Alexandre Oliva - - * ltconfig.in: add --falback-echo, to be used if everything else - fails. The tests now check the behavior of $echo for very large - strings, because some echo commands would just core dump (e.g., - Solaris' printf). If too large strings fail, smaller ones are - tested. - (ltecho): arrange that, if the --fallback-echo method is selected, - echo will be defined in the libtool script so as to re-run itself, - not ltconfig - * ltmain.in: add --fallback-echo - (qecho) ensure that, if --falback-echo is being used, qecho is - defined with the full pathname of the libtool script - - * tests/sh.test (test X): ensure that the double-quote supposed to be - reported is really reported - -1998-11-07 Thomas Tanner - - * mdemo/main.c: removed hardcoded library names; link against -lm - * tests/mdemo-exec, tests/mdemo-inst: pass the library names - to the program - -1998-11-07 Marc J. Fraioli - - * README: Added DG/UX - * doc/PLATFORMS: ditto - -1998-11-04 Michael Tiemann - - * ltconfig.in (irix6): it's a little bit different from irix5 - -1998-11-04 Alexandre Oliva - - * THANKS: Added Thomas Tanner and Gary V. Vaughan - - * ltconfig.in, ltmain.in: updated and fixed the patches below - -1998-11-04 Thomas Tanner - - * mdemo/*: added new demo to demonstrate building of dlopenend - modules - * tests/Makefile.am, tests/mdemo*: added some tests for mdemo - -1998-11-04 Gary V. Vaughan - - * demo/configure.in: added AC_EXEEXT macro so that the tests can - work on cywin32/mingw32 hosts. This requires the current CVS - autoconf - -1998-11-04 Thomas Tanner - - * ltmain.in: New flag -export-symbols; new dlpreopen system - * demo/dlmain.c: removed dld_preloaded_symbol_count - -1998-11-04 Ian Lance Taylor - - * ltmain.in: On installation, don't get confused if the same name - appears more than once in the list of library names. - -1998-11-04 Ian Lance Taylor - - * ltconfig.in: Add objext and libext variables. Check for object - suffix. Check for mingw32* as well as cygwin32*. Use objext when - testing compiler. Add support for Visual C++ on cygwin32 when not - using gcc. Add objext, libext, and fix_srcfile_path to generated - libtool script. - * ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path - if it is set. Check for .obj as well as for .o, and for .lib as - well as for .a. Use .${libext} rather than .a when creating old - libraries. - * libtoolize.in: Change initial /bin/sh to @SHELL@. - * libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for - AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the - AC_REQUIRE in AC_CHECK_TOOL. - -1998-11-04 Ian Lance Taylor - - * ltconfig.in: Look in the right directory for libtool.c in - archive_cmds for cygwin32. - -1998-11-04 Ian Lance Taylor - - * ltconfig.in: Fix cygwin32 support to avoid using a double - extension, to delete the def file, to set version_type to windows, - and to include versuffix in the DLL name. - * ltmain.in: Add support for a version_type of windows. - -1998-11-04 Ian Lance Taylor - - * ltconfig.in: Add cygwin32 support. - * libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a - cygwin32 host. Pass DLLTOOL and AS to ltconfig. - (AM_SYS_LIBTOOL_CYGWIN32): New macro. - -1998-11-04 Alexandre Oliva - - * libtool.m4 (sco): fix typo - -1998-11-04 Ian Lance Taylor - - * ltconfig.in: On AIX, don't treat GNU ld specially. - -1998-11-04 Alexandre Oliva - - * ltconfig.in (hardcode_minus_L): Revert Ian's patch for - ltconfig.in. Although -L hardcoding is not used with GNU ld, it - does happen, so hardcode_minus_L must be set to yes. - - * ltconfig.in (compiler_o_lo): check whether we can write directly - to a .lo - - * ltmain.in (compiler_o_lo): if not, write to .o and rename it - -1998-11-04 Ian Lance Taylor - - * ltconfig.in: For sunos4 using GNU ld, set hardcode_minus_L to - no. - * ltmain.in: Add some hacks to make SunOS --enable-shared work - when using GNU ld. - -1998-11-04 Alexandre Oliva - - * THANKS: Added Marc J. Fraioli - -1998-11-04 Marc J. Fraioli - - * ltconfig.in (dgux): new supported platforms - -1998-11-04 Alexandre Oliva - - * ltconfig.in (need_locks): if neither `-c -o' nor hard links are - available, fallback to not so safe mechanism, by setting - need_locks to warn - * ltmain.in (need_locks): when need_locks is set to warn, use the - lockfile to try to fail in case of incorrect concurrent builds - - * THANKS: Added Eric Estievenart - -1998-11-04 Eric Estievenart - - * doc/libtool.texi (Compile mode): Document that -o is fully - supported. - - * libtool.m4 (libtool-lock): new ARG_ENABLE; sets (need_locks) - * ltconfig.in (disable-lock): control need_locks - (hard_links): check whether hard-links can be used for locking - * ltmain.in (need_locks): use $output_obj.lock for locking - -1998-11-03 Alexandre Oliva - - * ltmain.in: correctly create libraries and programs with - directory components in their names - -1998-11-03 Eric Estievenart - - * ltmain.in (output_obj): typo - -1998-11-02 Ian Lance Taylor - - * ltconfig.in: For sunos4, add ${libname}.so$versuffix to - library_names_spec. - * ltmain.in: For version_type of sunos, set versuffix even if - -version-info was not used. - -1998-11-02 Alexandre Oliva - - * ltmain.in (libobj): default value must not contain directory - components - -1998-11-02 Eric Estievenart - - * ltconfig.in (compiler): detect if the compiler supports - -c and -o flags, create a variable compiler_c_o. Also issue - a big warning if it is not supported - - * ltmain.in (compile): enable the -o option as input for libtool. - The objects are not moved if the compiler supports -o with -c. - Sources and objects can contain relative directories. - (link): enable the linking of executables into relative directories - -1998-11-02 Alexandre Oliva - - * AUTHORS: added myself as a co-maintainer - * THANKS: and removed my name from here - - * autogen: new script; run it to bootstrap libtool after checking - it out from CVS - - * libtool.m4 (CFLAGS): check whether -belf is needed on SCO, as - suggested by Robert Lipe - -1998-10-31 Gordon Matzigkeit - - * demo/Makefile.am (hc-libpath): Use parameters from the libtool - in the top build directory, since the one in the demo directory is - not guaranteed to exist. - -1998-10-27 Alexandre Oliva - - * demo/Makefile.am (objdir): there are no longer quotes around - objdir in the libtool script - -1998-10-27 Gordon Matzigkeit - - * ltconfig.in (dynamic_linker): Echo the result to fd 6, so that - --silent works correctly. From William M. Perry. - -1998-09-24 Gordon Matzigkeit - - * ltmain.in (link): Fix problems when building only static - libraries. From Owen Taylor. - -1998-08-20 Gordon Matzigkeit - - * ltmain.in (install): When library_names_spec has redundancies, - avoid deleting the main library when installing symlinks. From - Jeff Dairiki. - (link): Get rid of backticks in a here doc comment. - This causes segfaults on Solaris 2. From Aleksandar Bakic. - (finish): Don't display messages - - * ltconfig.in (archive_cmds): On HP-UX 9, make sure we don't try - to move a file to itself. From Jeff Dairiki. - -1998-08-19 Gordon Matzigkeit - - * ltconfig.in: Make changes to accomodate ltmain.c. - - * Makefile.am (clibtool): New target for the C version of libtool. - - * ltmain.c: Experimental C version of libtool. - -1998-07-10 Ian Lance Taylor - - * ltmain.in (install): Test against both $SHELL and /bin/sh. - -1998-06-30 Gordon Matzigkeit - - * ltmain.in: Convenience archive support. From Ulrich Drepper. - - * ltconfig.in (postinstall_commands): Change libraries to be - executable on Solaris in order to prevent ldd from moaning. From - Julian Gosnell. - (whole_archive_flag_spec): New variable to shortcut convenience - archive expansion. From Ulrich Drepper. - -1998-06-11 Gordon Matzigkeit - - * ltconfig.in, ltmain.in: Change globs to accept forward slashes - in absolute directory names used on DOS-like systems. From Robert - S. Maier. - -Thu May 28 18:59:08 1998 Ian Lance Taylor - - * ltconfig.in: Use $SHELL when invoking shell scripts. - -1998-05-21 Gordon Matzigkeit - - * ltmain.in (compile): Don't have `-static' turn off libtool - libraries, so that people can use it just to guarantee that `.o' - files exist. Suggested by David Mosberger-Tang. - -1998-05-18 Gordon Matzigkeit - - * ltmain.in (link): Possibly reexec the shell from within the - wrapper script. - Allow `-version-info' and `-release' to coexist again. If people - want to shoot themselves in the foot, I'd better let them do so, - so that people who are smart enough not to can squeeze out another - ounce of functionality. From Tim Janik. - (version_vars): Delete dead variable. - - * ltconfig.in (hardcode_minus_L): FreeBSD 3.0 doesn't hardcode, at - last. Reported by Jason Nordwick. - - * libtoolize.in, ltconfig.in, ltmain.in: Change a bunch of `if - test ...; then : ; else ...' constructs to `if test ! ...; then - ...', for clarity. - -1998-05-17 Gordon Matzigkeit - - * ltmain.in (LC_ALL, LANG): Save these values and restore them - during execute mode. From Pavel Kankovsky. - (mode): Accept strace and truss as programs that throw us into - execute mode. From Pavel Kankovsky. - -1998-05-07 Ian Lance Taylor - - * ltconfig.in: Don't use .$versuffix or .$major. Instead, assume - the variable will include any required prefix. - * ltmain.in: If no -version-info option was used, produce empty - version strings rather than 0.0.0. When making library symlinks, - avoid making a symlink if the name would be the same. - -1998-04-27 Gordon Matzigkeit - - * ltmain.in (link): Support `unsupported' as a hardcode_action. - Reported by Lars Hecking. - (lib_linked): Do some sanity checking to make sure that we - actually do link libtool libraries into the program to prevent the - above problem from happening again. - -1998-04-20 Gordon Matzigkeit - - * ltmain.in: Maybe reexec under $SHELL, if $echo doesn't work. - Reported by Lars Hecking. - -1998-04-19 Gordon Matzigkeit - - * Makefile.am (maintainer-rekey): New rule to force us to change - Project-Version after we make a release. This keeps all version - numbers in sync, rather than branching just before the release. - (maintainer-release, maintainer-checkin): Use maintainer-rekey. - - * ltmain.in (finish): Notice when a finish command fails, so that - we can add it to the list of recommendations. - -1998-04-17 Gordon Matzigkeit - - * libtool.m4 (AM_PROG_LIBTOOL): Append file descriptor 5 to - config.log, so that configure doesn't clobber the messages that - ltconfig put there. From David Taylor. - -1998-04-15 Gordon Matzigkeit - - * ltconfig.in (archive_cmds): Try using `$CC -shared' when - configuring for GCC under irix5 and irix6. From Wolfram Gloger. - (ofile): Add `--output' flag to change the name of the generated - libtool. Suggested by Wolfram Gloger. - -1998-04-14 Gordon Matzigkeit - - * ltmain.in: Remove all hardcoded references to ltmain.in in - favour of $PACKAGE and $PROGRAM. - (install): Compute the installation name for programs, in case we - install a relinked file which has a different name. Reported by - Pieter Schoenmakers. - - * ltconfig.in (echo): Try using the ksh(1) `print -r' builtin - command, before reverting to printf(1). - - * Makefile.am (libtool): Use $(SHELL) when invoking ltconfig. - - * ltconfig.in (echo): Rewrite the test for a working echo so that - we win on Solaris by avoiding printf(1), if possible. - - * tests/quote.test (echo): Update the echo test from ../ltconfig.in. - -1998-04-13 Ian Lance Taylor - - * libtool.m4 (AM_PROG_NM): Don't override NM in the environment. - -1998-04-13 Gordon Matzigkeit - - * ltmain.in: New `--config' flag to print out all configured - variables. - - * libtool.m4: Pass ltconfig the undocumented --no-reexec flag, - since we call it explicitly using CONFIG_SHELL. - - * ltconfig.in: Restart the script under a different shell if - CONFIG_SHELL is not /bin/sh. This way, people can use Bash if - they don't have a working echo program. - - * ltmain.in, ltconfig.in: Use $SHELL instead of /bin/sh when - generating executable scripts. - - * libtoolize.in, ltconfig.in, ltmain.in: Implement the `--debug' - flag to begin shell tracing. - - * ltconfig.in (archive_cmds): Don't use `gcc -shared', even if we - have GNU ld. Reported by Robert S. Maier. - -1998-04-06 Gordon Matzigkeit - - * ltconfig.in (pic_flag): Create more than just a null C file, so - that the SunPRO 4.2 cc doesn't complain. From Bob Friesenhahn. - (gnu_ld_acts_native): Delete this variable. There is just too - much version skew to try to pretend GNU ld is the same as the - system ld. Reported by Ian Lance Taylor. - (hardcode_action): Don't bother relinking or aborting on systems - that are too dynamic to have a consistent hardcode method. - Reported by Doug Winterburn. - -1998-03-24 Gordon Matzigkeit - - * doc/libtool.texi: A little proofreading. From Albert - Chin-A-Young. - -1998-03-23 Gordon Matzigkeit - - * ltconfig.in: Treat HP-UX 11 just like HP-UX 10. From Jeff Law. - -1998-03-21 Gordon Matzigkeit - - * ltconfig.in (reload_flag): Correct a tiny bug where `--silent' - would still print out the reload flag. From Stephan Kulow. - -1998-03-20 Ian Lance Taylor - - * libtool.m4: Use changequote to avoid problems with square - bracket patterns. - -1998-03-20 Gordon Matzigkeit - - * Release 1.2. - -1998-03-18 Gordon Matzigkeit - - * ltmain.in: Rearrange some of the echos to make them more - consistent. - -1998-03-14 Gordon Matzigkeit - - * ltmain.in: Break up an echo command that causes Solaris printf - to dump core. Apparently the Solaris people hardcoded a 2110-byte - buffer into their printf(1). Feh. From John Judge. - -1998-03-11 Gordon Matzigkeit - - * ltconfig.in: Change the test for the PIC compiler flag so that - we assume it doesn't work if there are any warning messages. This - fixes a bug using old GCC's on HP-UX. Reported by Akim Demaille. - -1998-03-10 Andreas Schwab - - * Makefile.am ($(srcdir)/ltconfig): Remove bogus command to create - a file ltconfig in the build directory. - -1998-03-09 Andreas Schwab - - * ltmain.in: Avoid unnecessary use of command substitution, - replacing foo=`eval \\$echo \"$mumble\"` by eval foo=\"$mumble\". - - (link): Use ${1+"$@"} in wrapper scripts in order to pass - arguments safely to a program. - - * ltconfig.in: Use -fpic instead of -fPIC if $host_cpu matches - m68*. - -1998-03-08 Gordon Matzigkeit - - * Release 1.1. - - * ltmain.in: I like `here documents' a lot, but apparently - they are so badly handled by old and buggy /bin/sh's, that - replacing `cat < - - * ltconfig.in: Copy the contents of ltmain.sh into the generated - libtool. This should more than halve the execution times on old - or buggy /bin/sh systems, such as HP-UX 9 and SunOS 4.1.4. From - Tom Lane. - -1998-03-05 Gordon Matzigkeit - - * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): Add support for - the `default' package, so that people can control unnamed - packages. - (LD): Only add an ABI flag under IRIX 6.x, since IRIX 5.x doesn't - support them. From Alexandre Oliva. - -1998-03-01 Gordon Matzigkeit - - * ltconfig.in: Port to UnixWare 2.x. From Christopher Olsen. - -1998-02-25 Gordon Matzigkeit - - * ltmain.in (compile): For consistency, honour the `-static' flag - during compilation. - -1998-02-23 Brendan Kehoe - - * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): For - --enable-shared, heed the value of $PACKAGE from AM_INIT_AUTOMAKE - if given as the argument for the library to be built shared. - -1998-02-20 Gordon Matzigkeit - - * libtool.m4, ltconfig.in (NM): Fix up a typo confusion between - $ac_dir and $dir. Reported by Akim Demaille. - - * ltmain.in (link): Don't allow both `-version-info' and - `-release'. Reported by Danny Backx. - -1998-02-18 Gordon Matzigkeit - - * Makefile.am (noinst_SCRIPTS): Remove lineno from distribution. - - * lineno: Remove from distribution, as it is no longer needed. - - * Makefile.am ($(srcdir)/ltconfig.in, $(srcdir)/ltmain.sh): - Rewrite these rules not to use config.status or lineno. This - makes things simpler, and reduces dependencies, so that the - scripts are rebuilt and installed in srcdir only when necessary. - Reported by Stephan Kulow. - - * tests/sh.test (scripts): Remove the lineno script, since it is no - longer distributed. - - * tests/assign.test, if.test, test-e.test: Even though 15 tests looks - impressive, these are now redundant. Remove them from the - distribution. - - * tests/sh.test: Do what assign.test, if.test, and test-e.test used to - do. - -1998-02-16 Gordon Matzigkeit - - * libtool.m4, ltmain.in, ltconfig.in: Correctly identify absolute - directory names on MS-DOS. Suggested by Bob Friesenhahn. - - * ltconfig.in, ltmain.in, libtool.m4: Change a bunch of `sed N!d' - commands to `sed Nq', for efficiency. - - * ltmain.in: Only egrep the first few lines of files in order to - determine if they were libtool-generated. This prevents egrep(1) - from taking forever to look at a 10MB binary on Solaris. From - Stephan Kulow. - - * tests/defs: Correctly identify absolute directory names on MS-DOS. - Suggested by Bob Friesenhahn. - -1998-02-11 Gordon Matzigkeit - - * ltconfig.in (no_undefined_flag): Add a flag to declare under - Solaris that the library should not have any undefined - references. Suggested by Bob Friesenhahn. - - * ltmain.in (mkdir): Fix one more mkdir race. From H.J. Lu. - -1998-02-08 Gordon Matzigkeit - - * ltconfig.in, ltmain.in (striplib, old_striplib): Ditto. - - * ltconfig.in (profile_flag_pattern): Get rid of dead code. - -1998-02-07 Gordon Matzigkeit - - * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): New macros to - modify the `--enable-shared' and `--enable-static' defaults in the - configure script. This works a lot better than the old - `enable_shared' and `enable_static' variables did. Reported by - Bob Friesenhahn. - - * tests/suffix.test (extensions): Added GNAT (GNU Ada Translator) - suffices, `.ada', `.ads', `.adb'. From Samuel Tardieu. - -1998-02-07 Samuel Tardieu - - * ltmain.in: Recognize .ada, .ads and .adb as known suffixes (they - are used by GNAT, the GNU Ada compiler). - -1998-02-06 Gordon Matzigkeit - - * ltconfig.in: Turn on IRIX shared libraries again! - - * libtool.m4 (LD): Use file(1) to discover which ABI we're using - on IRIX, and propagate the correct linker flag. From Jim Wilson. - - * ltconfig.in, ltmain.in (Xsed): `arg=-n; echo "$arg" | sed ...' - gives problems, because the `-n' is interpreted as an option to - echo(1). So, use `echo "X$arg" | sed -e 's/^X//' ...' everywhere, - via the $Xsed convenience variable. Suggested by H.J. Lu. - -1998-02-02 Gordon Matzigkeit - - * ltconfig.in: Turn off IRIX shared library support until 32-bit - and 64-bit ABI differences can be resolved. - -1998-01-28 Gordon Matzigkeit - - * libtool.m4 (LD): Reverse yesterday's change because `-old_ld' - isn't accepted by GCC. - -1998-01-27 Gordon Matzigkeit - - * ltconfig.in (soname_spec): Add in user-specified release numbers - for every host system that supports an soname that differs from - the linkname. - - * libtool.m4 (LD): Add `-old_ld' to the list of flags that need to - be passed through on SGI. Reported by Chris Lee. - - * ltmain.in (release): Prepend a hyphen to the release number, and - fix a typo because `-version-info' takes only 3 args. From - H.J. Lu. - -1998-01-25 Gordon Matzigkeit - - * ltconfig.in (library_names_spec): On Linux, use the - user-specified release. - - * ltmain.in (link): Allow the user to specify a release number for - the library using the `-release' flag. Suggested by H.J. Lu and - Ian Lance Taylor. - -1998-01-23 Gordon Matzigkeit - - * tests/Makefile.am (TESTS_ENVIRONMENT): Export some important - environment variables. Reported by Ian Haggard. - -1998-01-19 Gordon Matzigkeit - - * ltconfig.in (old_postuninstall_cmds): Reorder so that chmod - happens after ranlib. From Markus F.X.J. Oberhumer. - - * ltmain.in (mode): Added `gcc*' and `*-gcc*' to the patterns that - recognize compilers. From Pieter Schoenmakers. - (link): Recognize `.a' files again. Suggested by Pieter - Schoenmakers. - -1998-01-18 Gordon Matzigkeit - - * ltmain.in (compile): Recognize `.asm' extension, for use with - the nasm assembler. From Markus F.X.J. Oberhumer. - - * tests/suffix.test (extensions): Recognize `.asm'. From Markus - F.X.J. Oberhumer. - -1998-01-12 Gordon Matzigkeit - - * ltconfig.in (runpath_var): Use instead of - `hardcode_runpath_var'. - -1998-01-11 Gordon Matzigkeit - - * ltmain.in (finish): Add a better --finish message. Suggested by - Kenneth Albanowski. - - * ltconfig.in, ltmain.in: Fix a few typos. - -1998-01-03 Gordon Matzigkeit - - * ltmain.in (link): Quote the definition of $echo in the wrapper - script. - - * ltconfig.in (export_dynamic_flag_spec): Use `--export-dynamic' - instead of `-export-dynamic', which is not accepted by all GNU - ld's. From Eiichi Takamori. - - * ltmain.in (install): Don't print silly `library stripping' - warnings. Reported by François Pinard. - -1997-12-19 Gordon Matzigkeit - - * ltmain.in: Don't forget to quote the CDPATH substitution. From - Tor Lillqvist. - -1997-12-18 Gordon Matzigkeit - - * ltconfig.in, ltmain.in (CDPATH): Unset this environment variable - so that HP-UX shells, at least, don't print out the directory name - after a `cd' command. From Tor Lillqvist. - -1997-12-10 Gordon Matzigkeit - - * demo/Makefile.am (hardcode): Change a bunch of references to - `$(LIBS)' to `-lm', since we no longer put -lm in LIBS. - - * demo/configure.in: Delete the test for libm, since it is - standard on every system. - - * demo/Makefile.am (libhello_la_LDFLAGS): Change to include -lm, - in accordance with new inter-library dependency code. - - * ltmain.in (dependency_libs): Added to help people link programs - without having to explicitly specify inter-library dependencies. - - * ltconfig.in (COLLECT_NAMES): Oops... I forgot to apply the AIX 3 - restriction to the generated libtool script. Reported by Stefan - Westerfeld. - -1997-12-05 Gordon Matzigkeit - - * ltconfig.in (thisdir): Quote $echo in the generated libtool - script for HP-UX. From Markus F.X.J. Oberhumer. - - * ltmain.in (link): Recognize the `.s' suffix. From Markus - F.X.J. Oberhumer. - - * ltconfig.in (link_static_flag): Don't quote ${wl} on HP-UX - because link_static_flag is never evaled. From Eric Backus. - - * tests/suffix.test (extensions): Recognize `.s'. From Markus - F.X.J. Oberhumer. - -1997-12-01 Gordon Matzigkeit - - * demo/Makefile.am (helldl_DEPENDENCIES): Add `libhello.la' to our - dependencies so that parallel builds work correctly. From Jim - Meyering. - - * Makefile.am ($(srcdir)/ltconfig, $(srcdir)/ltmain.sh): Rewrite - these rules so that they are parallelizable. Reported by Jim - Meyering. - - * ltconfig.in (ltecho): We need special handling to quote the - `echo' variable itself. From Alexandre Oliva. - -1997-11-29 Gordon Matzigkeit - - * ltconfig.in (COLLECT_NAMES): Enable this workaround for a broken - collect2 only on AIX 3. This avoids problems on other AIX - versions. Reported by Stefan Westerfeld. - - * ltmain.in, ltconfig.in (finish_eval): Variable like finish_cmds, - except it is a single command which is evaled, and not shown. - - * ltconfig.in: Port to AmigaOS. From Joop van de Wege. - - * ltmain.in (echo): Delete preamble to check for a working echo, - since we just use the one included in the generated libtool. - - * ltconfig.in (echo): Include this definition in the generated - libtool script. - -1997-11-28 Gordon Matzigkeit - - * ltconfig.in, libtool.m4 (NM): Add /usr/ccs/bin to the PATH - before checking. From Kaveh R. Ghazi. - (NM): Delete an extraneous egrep from ltconfig. - - * ltconfig.in (finish_cmds): Change back to using `ldconfig -n'. - This makes Linux behave like other systems, which is more in line - with what libtool needs. - -1997-11-27 Gordon Matzigkeit - - * ltmain.in: Change a whole bunch of `progname' variables to - `modename'. This is for clarity, and to fix a tiny typo in finish - mode. - - * libtool.spec (Name, Version): Ditto. - - * configure.in (AM_INIT_AUTOMAKE): Use PRCS to automatically generate - the proper package name and version number. - - * ltconfig.in (gnu_ld_acts_native): Treat GNU ld like the native - linker on SunOS 4.x. Suggested by Alexandre Oliva. - (deplibs): Change the defaults all over, since most systems cannot - handle inter-library dependencies. - - * libtool.m4, ltconfig.in (NM): Only look at the first line of the - output from NM when determining whether it supports a command line - option. This prevents false positives on OSes which ignore - invalid flags, like HP-UX, which prints `nm: unknown option "B" - ignored'. Reported by Kaveh R. Ghazi. - - * ltconfig.in (finish_cmds): On Linux, update ld.so.cache by - removing the `-n' flag from ldconfig. Suggested by Kenneth - Albanowski. - - * Makefile.am (maintainer-checkin, maintainer-release): New - commands to reap the full benefit of using PRCS to maintain - libtool version numbers. - - * ltconfig.in, ltmain.in (global_symbol_pipe): Explicitly cast all - addresses to __ptr_t. This fixes a bug due to a strict IRIX - compiler. Suggested by Kaveh R. Ghazi. - -1997-11-23 Gordon Matzigkeit - - * ltmain.in (echo): For aesthetics, avoid using `$echo' when - `echo' will do *exactly* the same thing. This prevents ugly - `printf %s\n timestamp > some.lo' commands from appearing in the - libtool output. - (link): Delete the `-allow-undefined' flag because it is now the - default. Make `-no-undefined' in order for people to declare that - a library is entirely self-contained. This prevents maintainers - from accidentally creating shared libraries that won't work on - AIX. Reported by Stefan Westerfeld and Danny Backx. - - * ltconfig.in (echo): Use an echo variable, just as in ltmain.in, - because we need it for quoting substitutions. For most of the - script, though, use the default echo, just like Autoconf does. - Without this patch, character \001 ends up in global_symbol_pipe. - Reported by Lars Hecking and Jürgen Fluk. - - * ltmain.in (echo): Set default to `echo=echo'. Ooops. That's - what you get for testing obscure code paths and forgetting to - revert to the original version. Reported by Danny Backx. - -1997-11-14 Gordon Matzigkeit - - * ltconfig.in (hardcode_libdir_flag_spec): Set to `-R' for FreeBSD - 2.2. From Sean Kelly. - (postuninstall_cmds, old_postuninstall_cmds): Commands to run - after uninstall mode deletes the libraries. Suggested by Joop van - de Wege. - (export_dynamic_flag_spec): On HP-UX, add the `${wl}-E' - export_dynamic_flag_spec. Reported by Matthias Hoelzer. - -1997-11-11 Gordon Matzigkeit - - * ltconfig.in, ltmain.in (sed_quote_subst): Oops. We forgot to - quote backticks. Reported by Joop van de Wege. - - * tests/quote.test: Add backticks to the backslashify test. - -1997-11-09 Gordon Matzigkeit - - * ltconfig.in (symcode): On IRIX, don't extract undefined - symbols. When a function is inlined by G++, references to it are - still marked as undefined in the object file. This means that our - symbol file causes undefined references, because there are - actually no matching global symbols. Reported by Paul Kendall. - -1997-11-08 Gordon Matzigkeit - - * ltconfig.in: Don't forget to redirect the COLLECT_NAMES libtool - script fragment to the generated libtool, rather than to stdout. - -1997-11-07 Gordon Matzigkeit - - * libtool.m4 (LD): Add a more sophisticated test to determine the - ABI flag on IRIX 6. Suggested by Lars Hecking and Ian Lance - Taylor. - - * ltconfig.in, ltmain.in (COLLECT_NAMES): Only export this - variable if we are running under AIX. Otherwise, we tickle a g++ - bug under IRIX. From Paul Kendall. - - * Change bug reporting address to . - - * ltconfig.in (allow_undefined_flag): OSF/1 3.x also requires a - wildcard argument to `-expect_unresolved'. From Stephan Kulow. - -1997-11-06 Gordon Matzigkeit - - * ltmain.in (link): Use libname_spec. - - * ltconfig.in (pic_flag): Somehow, the HP-UX pic_flag (`+Z') was - dropped between libtool-1.0 and now. Add it back in. Reported by - Akim Demaille. - Integrated more patches for OS/2. From Jeff Freedman. - (libname_spec): New variable for OSes that don't require their - libraries to look like `libNAME.a'. - - * ltmain.in (link): Only use global_symbol_pipe if it has been - defined. From Stephan Kulow. - - * ltconfig.in (global_symbol_pipe): Protect C fragment under C++ - compilers. From Stephan Kulow. - - * Makefile.am ($(srcdir)/acinclude.m4, - $(srcdir)/demo/acinclude.m4): Change rules to use LN_S so that - they can be run on any system. - - * ltconfig.in (archive_cmds): For NetBSD, don't include deplibs. - From Dieter Baron. - - * ltmain.in (mkdir): Check that the directory doesn't exist before - we exit with error, so that we don't get races during parallel - builds. From H.J. Lu. - (fbsd_hideous_sh_bug): Apparently, some FreeBSD /bin/sh's have a - bug that will empty base_compile unless we do this dummy - assignment. From Marc van Kempen. - -1997-10-22 Gordon Matzigkeit - - * libtool.m4 (libtool_shared, libtool_static): Fixed logic error - to reenable override of libtool's defaults by setting - enable_shared or enable_static in configure.in. Reported by Tom - Tromey and Stephan Kulow. - - * ltmain.in (link): Add explicit support for compiler options that - begin with `+'. Reported by Aubert Pierre. - -1997-10-20 Gordon Matzigkeit - - * ltmain.in: Silly me. Change a bunch of occurances of "* $dir *" - into *" $dir "*. - - * ltconfig.in (pic_flag): PIC is the default for AIX. From Mark - Kettenis. It is also the default for OSF/1. - - * demo/Makefile.am (objdir): Quote double-quotes. From Mark - Kettenis. - - * ltconfig.in (global_symbol_pipe): This variable is not - double-evaled, so it should not be double quoted. From Mark - Kettenis. - -1997-10-19 Gordon Matzigkeit - - * ltconfig.in (LD): Same as below. - - * libtool.m4 (LD): Set LD if we discover an absolute path to GNU - ld. This prevents breakage when `$CC -print-prog-name=ld' returns - an absolute directory name. Reported by Ulrich Drepper. - - * ltconfig.in: Port to OS/2 using EMX. From Jeff Freedman. - - * ltmain.in (link): Use old_archive_from_new_cmds. - - * ltconfig.in (old_archive_from_new_cmds): New variable to - support DLL libraries. - - * ltmain.in (link): Only `eval' export_dynamic_flag_spec if it is - not empty. Reported by Stephan Kulow. - -1997-10-18 Gordon Matzigkeit - - * ltconfig.in (objdir): Use the .libs directory on all systems for - which that name is valid, and _libs on the others (like MS-DOS). - Suggested by Juergen Erhard. - -1997-10-14 Gordon Matzigkeit - - * ltmain.in (link): Added a bit more inter-language support to the - symbol file generation process. - Instead of complaining about unrecognized argument suffices, pass - them to the linker. This prevents libtool from barfing on - mandatory arguments to linker flags. Reported by Michael - Tiemann. - -1997-10-09 Gordon Matzigkeit - - * ltmain.in (link): Change the wrapper script to follow symlinks - in order to find thisdir. This should put the final nail in the - coffin for problems with wrapper scripts. From Ian Lance Taylor. - -1997-10-07 Gordon Matzigkeit - - * ltmain.in: Change a few `$echo' commands into `$show' to make - --silent mode behave as advertised. - - * ltconfig.in (allow_undefined_flag): On OSF/1 4.x, use - `-expect_unresolved \*'. From Christian Mondrup. - - * ltmain.in (install): Change install mode to allow a specified - /bin/sh argument at the beginning of the install_prog. Also, - specify the shell to run when invoking libtool recursively for - finish mode. From Chris Provenzano. - - * libtool.m4 (LIBTOOL): Change definition to include $(SHELL). - From Chris Provenzano. - - * ltconfig.in: Port to UTS 4.x. From Alistair Crooks. - - * demo/Makefile.am (hc-libflag): Add rules to make this binary for - hardcode.test. - - * tests/hardcode.test (hardcode_libdir_flag_spec): Check the hardcoding - properties of the flag_spec, too. - -1997-09-24 Gordon Matzigkeit - - * ltconfig.in (LD): As with libtool.m4, don't override LD. - Do a whole bunch of ac_t quoting. - -1997-09-24 Ian Lance Taylor - - * libtool.m4 (AM_PROG_LD): Don't override LD in the environment. - -1997-09-21 Gordon Matzigkeit - - * libtool.m4, ltconfig.in (NM): Arguments to the for loop must be - whitespace separated. This fixes a bug under FreeBSD's /bin/sh. - From George Scott. - - * tests/defs, tests/Makefile.am (clean-local): Change =inst to - _inst to fix portability on MS-DOS. From Robert Hoehne. - -1997-09-20 Gordon Matzigkeit - - * ltmain.in (deplibs): When building shared libraries, always add - -lc to deplibs. Reported by Andreas Jellinghaus. - -1997-09-15 Gordon Matzigkeit - - * ltconfig.in, ltmain.in (COLLECT_NAMES): If the COLLECT_NAMES - environment variable has not been set, set it to empty. This - apparently fixes the AIX bug with GCC's collect2. Reported by - Mark Kettenis. - - * demo/Makefile.am, ltmain.in, tests/hardcode.test (objdir): - Changed objdir variable .libs to _libs. This is another MS-DOS - portability fix. Suggested by Robert Hoehne. - - * tests/hardcode.test (objdir): New variable to simplify change from - .libs to _libs (MS-DOS portability fix). - -1997-09-13 Gordon Matzigkeit - - * ltconfig.in, ltmain.in (hardcode_minusL): Fix typo by renaming - hardcode_minusL to hardcode_minus_L. Also add FreeBSD - hardcode_libdir_flag_spec. From Paul Traina. - - * ltmain.in (link): Honour multiple `-rpath' flags when linking - programs. Suggested by Bengt Martensson. - Quote appearances of $echo in the wrapper script. From Alexandre - Oliva. - - * Makefile.am, configure.in, tests/tlibtool: Use ltmain.in instead - of ltmain.sh.in. - - * ltmain.in: Rename ltmain.sh.in to ltmain.in. This fixes a - portability problem (on MS-DOS, of all places!). From Robert - Hoehne. - -1997-09-11 Gordon Matzigkeit - - * ltmain.sh.in (link): Do not transform libtool objects to regular - objects if we did not build old libs. Reported by Tomas Hiller. - -1997-09-05 Gordon Matzigkeit - - * demo/Makefile.am (hell_debug_LDFLAGS): Change hell.static to - hell.debug in order to reflect the new static linking semantics. - - * ltmain.sh.in (link): Add new `-all-static' flag to prevent all - dynamic linking. The old `-static' flag just prevents dynamic - linking against libtool libraries. Suggested by Bengt - Martensson. - - * ltconfig.in (with_gnu_ld): Add a test to make sure that we are - actually using GNU ld. This fixes an inconsistency when running - ltconfig without using libtool.m4. Reported by Ulrich Drepper. - (global_symbol_pipe): Delete symbols that are not valid C - identifiers. Reported by Johan Danielsson and Bengt Martensson. - - * tests/demo-exec.test, tests/demo-inst.test: Change references from - hell.static to hell.debug. - - * tests/quote.test (echo): Add the same Digital Unix echo test fixes as - the ones to ltmain.sh.in from Todd Kover. - - * tests/if.test, tests/test-e.test (scripts): Add ../lineno to - the scripts we check. - * tests/if.test: Check for accidental use of test X$something rather - than test "X$something". - -1997-09-04 Gordon Matzigkeit - - * ltmain.sh.in (echo): Quote all the uses of `echo' in all eval - statements. Reported by Bengt Martensson and Alexandre Oliva. - (echo): Need to surround test args with double quotes, or the echo - test fails on Digital Unix 4.0. From Todd Kover. - -1997-08-28 Gordon Matzigkeit - - * ltmain.sh.in (echo): Change test to one that uses printf. - This works on AIX, which has the same problems that Solaris does, - but no working echo program. - - * tests/quote.test (echo): Change test to version that uses printf. - Be less strict about return results. - -1997-08-27 Gordon Matzigkeit - - * ltmain.sh.in (link): Make sure that compile_command and - finalize_command are always evaled. Quote any unknown linker - flags we need to pass through. - (compile): Use quoting for flags we pass. - (echo): I hate Sun! The /usr/bin/echo on Solaris handles - backslash sequences, which makes it impossible to do backslash - quoting using echo and sed. So, we search for an echo that obeys - the `echo '\t'` = '\t' equality. Then we use `$echo' everywhere - in ltmain.sh. - Put tabs back into the ${IFS= } sequences. Emacs untabify is - libtool bane. - - * ltconfig.in: Quote all variable values that may contain - metacharacters creating the libtool script. This provides - complete protection, so that even single-quotes may appear inside - a libtool variable value. - - * ltmain.sh.in (link): Quote finalize_command before putting it in - the wrapper script. - - * tests/quote.test (echo): Add the test for a non-backslash-mangling - echo. - -1997-08-26 Gordon Matzigkeit - - * ltmain.sh.in (sed_quote_subst): Change the quoting procedure - again. I think that the new one is robust for *all* characters, - including whitespace and metacharacters. - - * tests/quote.test: New torture test for libtool metacharacter quoting. - -1997-08-25 Gordon Matzigkeit - - * ltmain.sh.in: Change quoting procedure because some shells - cannot handle `]' in scan sets. From Ian Dall. - -1997-08-22 Gordon Matzigkeit - - * ltmain.sh.in (execute): Added -dlopen flag handling. Suggested - by Alexandre Oliva. - -1997-08-21 Gordon Matzigkeit - - * ltmain.sh.in (link): Change executable wrapper to fix up value - of thisdir, as well as progdir, if the $0 path doesn't work. This - guarantees that shlibpath_var is set correctly. Add support for - execute mode. - - * ltmain.sh.in (execute): New mode to automatically set - shlibpath_var, which allows easy debugging of uninstalled - executables and libraries. Suggested by Kenneth Albanowski. - -1997-08-20 Gordon Matzigkeit - - * Makefile.am ($(srcdir)/ltconfig): Use lineno. - - * configure.in: Add AM_PROG_AWK for lineno. - - * lineno: New program to automatically put line numbers in - ltconfig. - - * libtool.m4, ltconfig.in (AM_PROG_LD): Yet Another Rewrite, which - incorporates the results of `gcc -print-program-name=ld'. - Suggested by Alexandre Oliva. - -1997-08-14 Gordon Matzigkeit - - * ltmain.sh.in: Accept `--quiet' and `--silent' flags to turn off - command echoing. From Juergen A. Erhard. - - (compile): Recognize the Objective C `.m' extension. From Juergen - A. Erhard. - - (compile): Suppress error output from the second compilation (if - any) so that we don't get those frustrating duplicate error - messages. - - * tests/suffix.test (extensions): Added Objective C extension, `.m'. - -1997-08-12 Gordon Matzigkeit - - * ltconfig.in: Added messages to config.log to describe what sort - of test we are running. - (pic_flag): Added a sanity check for pic_flag. This should fix - bugs reported using the cc bundled with HP-UX 10. Suggested by - Bruno Haible and Akim Demaille. - -1997-08-01 Gordon Matzigkeit - - * ltmain.sh.in (link): Add -dlopen and -dlpreopen support for - libtool objects. This means that dlopened modules no longer need - to be shared libraries. - - * ltconfig.in (pic_flag): GCC on IRIX 6 always builds PIC. - Reported by Ian Lance Taylor. - - * libtool.m4 (LD): Always add `-n32' to the linker if we are using - GCC on IRIX 6. Reported by Ian Lance Taylor. - -1997-07-30 Gordon Matzigkeit - - * libtool.m4 (AM_PROG_LIBTOOL): Explicitly check enable_shared and - enable_static rather than just enableval. This allows - configure.in scripts to set their own defaults. Suggested by - Tommy Reilly. - -1997-07-29 Gordon Matzigkeit - - * ltmain.sh.in: Add NLS environment variable handling copied from - ltconfig.in. Reported by Akim Demaille. - (link): If allow_undefined_flag is not supported, then turn on old - libraries. Reported by Akim Demaille. - - * demo/dlmain.c (main): Use dld_preloaded_symbol_count to display - a message about the sortedness of the symbol table. - - * ltconfig.in (nlist): Use an nlist convenience variable, so that - code can be shared directly with ltmain.sh.in. - - * ltconfig.in, ltmain.sh.in (dld_preloaded_symbol_count): Count up - the number of symbols in the dld_preloaded_symbols. Set to `-1' - if the list wasn't both sorted and counted. This allows - applications to do a quick binary search, if they are so inclined. - -1997-07-25 Gordon Matzigkeit - - * ltmain.sh.in (link): Remove code for `-version-file', since it - has been long-deprecated. - - Disable static linking if hardcode_direct is unsupported and there - is no working link_static_flag. This provides correct behaviour - for all cases on AIX 3, regardless of whether collect2 is broken - or not. Reported by Mark Kettenis. - - * ltconfig.in: Fix typo in test polarity. From Mark Kettenis. - -1997-07-24 Gordon Matzigkeit - - * ltconfig.in (hardcode_direct): Set to `unsupported' if aix3 uses - a broken collect2. Adapted out of test results from Mark - Kettenis. - (link_static_flag): Make sure the link_static_flag actually works - with a trivial binary. - - * ltmain.sh.in, ltconfig.in (export_dynamic_flag_spec): Renamed - from export_dynamic_flag because we eval it in ltmain.sh. - - * ltmain.sh.in (link_static): Don't eval link_static_flag. - - * demo/dlmain.c (main): Change function prototype to be KNR - compatible. From Kaveh R. Ghazi. - - * ltmain.sh.in (link): Use no_builtin_flag. This works around - conflicting definitions of builtin functions with at least GCC. - Reported by Kazuhiro Sasayama. - - * ltconfig.in (no_builtin_flag): New flag to turn off builtin - functions when compiling an object file. - (pipe_works): Use it. - - * tests/demo-exec.test (status): Use status variables so that we try to - execute all the programs. - -1997-07-23 Gordon Matzigkeit - - * ltconfig.in (pic_flag): According to the libg++ 2.7.2 configure - script, DEC alpha CPUs are PIC-only, as well. Reported by Kevin - Jacobs. - -1997-07-21 Gordon Matzigkeit - - * ltconfig.in, ltmain.sh.in: Replace all occurances of "sed 'X; - Y'" with "sed -e 'X' -e 'Y'". - - * ltmain.sh.in (link): Finish full integration for `-dlopen' and - `-dlpreopen'. - - Fix two silly typos where I used a compile_command in place of a - finalize_command, and vice versa. - - Change the wrapper script to check a hardcoded path only if the - argv[0] method fails. This is a compromise for the previous two - patches, and should solve the majority of problems with wrapper - scripts. From Kenneth Albanowski. - - (link): Change a reference to hardcode_libdir_colon_separated to - use the new hardcode_libdir_separator variable. - - * demo/Makefile.am (helldl_LDFLAGS): Add `-export-dynamic' and - `-dlpreopen' for building helldl. - - * demo/dlmain.c (main): Succeed, even if none of the libhello - symbols have been preloaded. - -1997-07-20 Gordon Matzigkeit - - * ltconfig.in (global_symbol_pipe): Add `U' to the accepted global - symbol types. This means that we will get duplicate symbols, but - we'll also be sure to get all global symbols used by the program. - - * ltconfig.in (pipe_works), ltmain.sh.in (link): Sort and make - symbol output unique. - -1997-07-19 Gordon Matzigkeit - - * ltconfig.in (pipe_works): Check to make sure our guessed - global_symbol_pipe actually works. - - * ltmain.sh.in (link): Revert change from Kenneth Albanowski. The - wrapper scripts are more reliable when they just use the argv[0] - value. Generally, when the argv[0] method doesn't work, the user - is trying to do something weird with an uninstalled binary, and - should try a different approach. - - * ltconfig.in, ltmain.sh.in (CC): Always use `$CC' instead of - `$cc'. This fixes a FreeBSD bug. Reported by Chuck Robey, and - others. - -1997-07-14 Gordon Matzigkeit - - * ltmain.sh.in (link): In wrapper scripts, hardcode the current - directory to prevent phony argv[0] values from screwing up our - program. From Kenneth Albanowski. - -1997-07-13 Gordon Matzigkeit - - * Makefile.am (demo_distfiles): Add demo/dlmain.c to the - distribution. - -1997-07-12 Gordon Matzigkeit - - * demo/Makefile.am: Add helldl, made from dlmain.c, to demostrate - `-dlopen' usage. - - * demo/dlmain.c: New file to demonstrate preloaded modules. - - * ltmain.sh.in (link): Add `-dlopen' flag to preload dynamic - modules, even on static platforms. Use `$NM' and - `$global_symbol_cmd' to extract symbols from required files. - (dlname): Delete dlname mode entirely. It is rendered obsolete - because the `.la' file format is now a public interface. - - * ltconfig.in (NM): New variable for BSD-compatible nm program. - (global_symbol_cmd): Pipeline to extract global symbols from the - nm output. - - * ltmain.sh.in: The .la file header should depend on `ltmain.sh', - not `$PROGRAM'. - (link): Make sure $export_dynamic_flag is eval'ed before it is - used. - - * tests/demo-exec.test, tests/demo-inst.test: Check the new - helldl program, too. - -1997-07-11 Gordon Matzigkeit - - * libtool.spec: New Red Hat Package Manager specification file in - order to help people prepare distributions of libtool for Linux. - - * ltmain.sh.in: Eliminate two accidental uses of the NONE magic - value. These were breaking libtool's behaviour when no mode is - specified. - - * tests/nomode.test: New test to make sure there is correct behaviour - when we don't specify a mode. - -1997-07-08 Gordon Matzigkeit - - * Release 1.0. - - * ltconfig.in: On SunOS, append /usr/etc to the PATH before - running ldconfig; on *BSD, append /sbin. This was done in line - with the Linux change suggested by Kenneth Albanowski. - - * demo/Makefile.am (hardcode_tests): Aesthetic change to - alphabetize order of compiling the hardcode tests. - - * Makefile.am (EXTRA_DIST): Delete README-automake. - - * README-automake: Remove from distribution. - -1997-07-02 Gordon Matzigkeit - - * ltmain.sh.in (link): In the executable wrapper, strip trailing - colons from the shlibpath_var because some ld.so's, notably - OpenBSD 2.0's (!), don't parse colon-terminated values correctly. - From Tim Pierce. - -1997-07-01 Gordon Matzigkeit - - * ltmain.sh.in, ltconfig.in: Eliminate uses of the NONE magic - variable value. Use an empty variable instead. - - * ltconfig.in (with_gcc, with_gnu_ld): Do the tests for the C - compiler and linker if the variables are unset, or if they are not - GNU C and ld. - (RANLIB): Eliminate redundant `if' statement. - - * configure.in: Use AM_PROG_LD. - - * libtool.m4 (AM_PROG_LD_GNU): New macro to determine if LD is GNU - ld. - (AM_PROG_LD): Rename AM_PATH_PROG_LD to AM_PROG_LD. Parameterize - so that the user can specify `--with-gnu-ld' or `--without-gnu-ld' - to indicate his preference. - (AM_PROG_LIBTOOL): Use it. - -1997-06-30 Gordon Matzigkeit - - * ltconfig.in: Append /sbin to the path before running ldconfig on - Linux. This helps superusers who haven't set their PATH - correctly. Suggested by Kenneth Albanowski. - - * tests/if.test: New test to make sure that we haven't forgotten to - follow an `if' statement with a `test' command. This should avoid - the majority of hard-to-track bugs. - -1997-06-29 Gordon Matzigkeit - - * ltmain.sh.in: Change all the `eval "$run ..."' sequences to - `$run "eval ..."'. - - Change all `$ln_s ...' sequences to use `(cd /dir && $LN_S ...)'. - This is the sequence recommended by the Autoconf manual, and - should avoid any problems on older machines. Eliminate all uses - of `cp -p'. Reported by Akim Demaille. - - (install): Use `test $# -gt 0' instead of `test -n "$1"'. - - * ltconfig.in (LN_S): Add test to see if `ln -s' works. - - * libtool.m4: Increment serial number, and require AC_PROG_LN_S. - -1997-06-26 Gordon Matzigkeit - - * ltmain.sh.in (link): Add missing `test' statement. Reported by - Akim Demaille. - -1997-06-24 Gordon Matzigkeit - - * libtool.m4 (LD): Consistently use ac_cv_path_ld instead of - am_cv_path_ld. From Tim Pierce. - -1997-06-20 Gordon Matzigkeit - - * ltmain.sh.in: Redo two robustness fixes. Alexandre had the - correct approach, but I botched them. - - * ltconfig.in (dynamic_linker): Disable shared libraries on - MkLinux unless GNU libc is in use. Reported by Akim Demaille. - -1997-06-19 Gordon Matzigkeit - - * ltmain.sh.in (install): Add a missing `test' command. Reported - by Joel Weber. - Miscellaneous fixes to improve robustness. From Alexandre Oliva. - - * tests/demo-conf.test (CONFIG_SITE): Set to /dev/null, so that the - config.site file doesn't mess up our prefix. Reported by Joel - Weber. - - * tests/demo-inst.test: Always run both hell.static and hell. - - * tests/demo-conf.test: Always remove the local config.cache, but run - `make distclean' only if the Makefile exists. Otherwise, the demo - directory is not cleaned up if a user uses their own config.cache. - Reported by Joel Weber. - -1997-06-14 Gordon Matzigkeit - - * ltmain.sh.in (link): Create invalid libtool objects when partial - linking if we don't have PIC. From Jeff Dairiki. - (install): Fix bug if libtool object is installed to a file name - without directory components. From Jeff Dairiki. - -1997-06-13 Gordon Matzigkeit - - * Makefile.am (demo/configure): Fix up rules to run autoconf. - (aclocal.m4): Now we depend on our own libtool.m4. - - * configure.in (AM_PATH_PROG_LD): Use it. - - * libtool.m4 (AM_PATH_PROG_LD): New macro to find the linker used - by the C compiler. - (AM_PROG_LIBTOOL): Use it. - - * ltmain.sh.in (install, uninstall): Support installing and - uninstalling `.lo' files. From Jeff Dairiki. - -1997-06-11 Gordon Matzigkeit - - * Makefile.am (ltconfig, ltmain.sh): Only move if $(srcdir) is not - the current directory. Don't regenerate every time the package is - reconfigured. Reported by Tom Tromey. - (MAINTAINERCLEANFILES): Added ltconfig, ltmain.sh, so that - $(srcdir) is not messed with during a regular clean. - -1997-06-10 Gordon Matzigkeit - - * Makefile.am (ltconfig, ltmain.sh): Be sure to move these files - into $(srcdir) once they are created. - - * ltmain.sh.in (link): Disable building static libraries. - People should use their favourite AR and RANLIB commands. - Disable building old-style objects if `--disable-static' is - given. Suggested by Tom Lees and Stephan Kulow. - -1997-06-08 Gordon Matzigkeit - - * ltconfig.in (host_cpu, host_vendor, host_os): Patch up - definitions, to allow for the fact that the host_os may contain - hyphens (as in linux-gnu). From Scott Goehring. - - * ltmain.sh.in (link): Move the `dlname' setting closer to the top - of the file. Suggested by David Mosberger-Tang. - Symlink the libtool archive into the `.libs' directory so that it - can be found by programs that want to find a library's dlname by - searching LD_LIBRARY_PATH. Reported by David Mosberger-Tang. - -1997-06-06 Gordon Matzigkeit - - * Tell people to report bugs to the new libtool mailing list, - . - -1997-06-05 Gordon Matzigkeit - - * ltconfig.in (allow_undefined_flag): New variable that implements - `-allow-undefined'. - (archive_cmds): Enable C++ constructors for FreeBSD 2.2. From - David Nugent. - - * ltmain.sh.in (link): Accept new `-allow-undefined' flag when - building libtool libraries. This tells libtool to allow - unresolved symbols to exist in shared libraries. Basically, this - turns off shared libraries on AIX. Suggested by Ian Lance Taylor. - -1997-05-26 Gordon Matzigkeit - - * libtool.m4 (LD): On at least IRIX, many different flags need to - be propagated to the linker if they are part of the compiler - command line. Reported by Anthony Green. - -1997-05-10 Gordon Matzigkeit - - * ltconfig.in: Trivial port to FreeBSD 3. From David Nugent. - -1997-04-25 Gordon Matzigkeit - - * ltmain.sh.in (link): Remove all traces of `-whole-archive', - `-no-whole-archive', and libtool convenience libraries. They were - more trouble than they're worth. If these are ever reimplemented, - they need more careful attention to make portable. - - * libtool.m4, ltconfig.in: Added a `--disable-static' flag to turn - off static library creation. From Tom Lees (who finally convinced - me that it was the Right Thing to do). - -1997-04-22 Gordon Matzigkeit - - * ltmain.sh.in (hardcode_runpath_var, runpath_var): Use them, if - the linker has no -rpath flag. - Quote the values we use to set runpath_var and shlibpath_var. - (link): Use libobjlibs for libtool convenience libraries. - - * ltconfig.in (hardcode_runpath_var, runpath_var): Add new - variables to describe linkers that honour `LD_RUN_PATH'. - (host_cpu, host_os): Use these more specific variables, rather - than the full canonical host system name. - - * ltmain.sh.in (dlname): Distinguish between missing - `-export-dynamic' and when the library is only statically linked. - -1997-04-21 Gordon Matzigkeit - - * ltconfig.in: Trivial port to OpenBSD by making it an alias for - NetBSD. From Tim Pierce. - -1997-04-16 Gordon Matzigkeit - - * ltconfig.in: Temporary measures to check for a broken collect2 - program. Right now, we just see if we're using GCC on AIX 3. - - * tests/hardcode.test: AIX also has arbitrary limits on the line length - of input to fgrep(1), so we need to translate NUL characters to - newlines in order to properly detect embedded `.libs'. From Bruno - Haible. - Also redirect stderr to /dev/null, so that AIX users don't get - worried by `fgrep: Maximum line length of 2048 exceeded.'. - -1997-04-13 Gordon Matzigkeit - - * ltmain.sh.in (mode): Use `egrep -e' when inferring the operation - mode. - -1997-04-12 Gordon Matzigkeit - - * ltconfig.in (linker): Some GNU ld's don't accept `--version', - but do accept `-v'. From Jukka Honkela. - (ld_shlibs): AIX lossage may be settling down. AIX 3.2.5 ld does - *not* hardcode direct libraries, but AIX 4.1.[45] ld does. - -1997-04-07 Gordon Matzigkeit - - * ltconfig.in (hardcode_action): Fix silly logic error. From - Bruno Haible. - -1997-04-05 Gordon Matzigkeit - - * ltmain.sh.in (install): Relink if hardcode_action is `relink', - rather than using complex conditionals based on the other - hardcode variables. - - * ltconfig.in (hardcode_action): Set to `relink', not `immediate', - if we can only hardcode existing directories. Rearrange - conditionals to make the intent clearer, otherwise this can be one - hellish piece of code for the already-dizzy libtool maintainer. - -1997-04-02 Gordon Matzigkeit - - * replfunc.m4: Delete from the distribution. Documentation now - describes how to set LTALLOCA and LTLIBOBJS in your own - configure.in. - - * ltmain.sh.in (link): Make sure a libtool library only counts as - a shared library if its library_names are non-null. - Use timestamps for .lo's when PIC is turned off, rather than - symlinking to the real object. This helps invalid mixtures of PIC - and non-PIC to fail. - -1997-04-01 Gordon Matzigkeit - - * Makefile.am (EXTRA_DIST): Distribute libtool.prj. - - * Shameless plug: Changed source code management system from CVS - to PRCS. - - * libtool.scm: Initial Guile implementation of libtool. - - * ltmain.sh.in: An unexpected inconsistency in my whole approach - to shared libraries has proven that libtool needs to be completely - rewritten if I'm going to give full shared library support for - platforms that don't use the GNU C library version 2 (which to my - knowledge currently only works on GNU Hurd and Linux/GNU systems). - Porting the GNU C library should not be difficult, though. - - Platforms that don't have the dlopen(3) family of functions will - need to install GNU DLD version 4 in order to build any kind of - libraries at all. Unfortunately, DLD 4 won't be released for a - while, because I maintain it, and I'm too busy working on libtool. - - I'll keep the old ltconfig/ltmain.sh implementation around for as - long as I can, and continue applying bug fixes, so that I'll have - a reasonable starting point for this new libtool implementation. - - It looks like this implementation will be even more complex than - the original (pre-0.7) libtool. Initial estimates show that it - may be up to 3 times slower, and 5 times larger than libtool-0.9. - I'll probably have to rewrite it in Guile to get reasonable - performance, which will severely limit its portability for a - while. - - That will also introduce a bootstrapping issue, since the next - release of Guile will use libtool to build shared libraries. So, - if users want to have shared Guile libraries, they will have to - configure Guile with `--disable-shared', compile it, install it, - then reconfigure Guile with `--enable-shared' and repeat. - - I was hoping to get libtool 1.0 out the door by early April, but - now it looks like it will take at least another year before it'll - be usable by the public at large. April fools. libtool.scm - doesn't exist yet, either. - - * ltconfig.in (verify_host): Remove redundant `Transform *-*-linux* - to *-*-linux-gnu*'. From Bruno Haible. - - * tests/hardcode.test: AIX 3 doesn't have strings(1) so we need to do a - funny tr and pipe the output to fgrep. From Bruno Haible. - -1997-03-31 Gordon Matzigkeit - - * Makefile.am: Use the new AUTOMAKE and ACLOCAL variables. - - * ltmain.sh.in (link): Only fail if a convenience library doesn't - exist, and the user specified -whole-archive. - Fix shell quoting that was breaking @OUTPUT@ substitution. - -1997-03-28 Gordon Matzigkeit - - * ltmain.sh.in (link): Use the hardcode_libdir_separator. - Convenience libraries are libtool objects if we're not building - libtool libs. - - * ltconfig.in (hardcode_libdir_separator): Added in case the - linker only honours the last of the -rpath flags (but it can - contain multiple colon-separated directories), such as on OSF/1. - Reported by Carl D. Roth. - - * ltmain.sh.in (link): Set the dlname if -export-dynamic is given. - (install, uninstall): Handle the dlname file separately. - - * ltconfig.in (export_dynamic_flag): Added to allow programs to - use reflexive dlopens. - - * ltmain.sh.in: Include the mode name in any help messages. - (dlname): New mode to give the name to be used with dlopen(3). - - * ltconfig.in (AR): Allow AR to be set by the user, and export it - to ltmain.sh. - - * ltmain.sh.in: Remove broken profiled library support. - Added `-whole-archive' and `-no-whole-archive' to manipulate - convenience libraries. - -1997-03-27 Gordon Matzigkeit - - * ltmain.sh.in (link): Allow the creation of static convenience - libraries made of libtool objects. Suggested by David - Mosberger-Tang. - -1997-03-25 Gordon Matzigkeit - - * ltconfig.in: On AIX, libtool also needs to look for `B' symbols - in nm output. These are global variable definitions. - - * ltmain.sh.in: Linking with -static should link against the - linklib if old_library is empty (like it is on AIX). - - * ltconfig.in: Change the order of OS detection, so that - linux-gnu* is detected before gnu*. - - * Makefile.am (libtool): Use the correct CC, RANLIB, LD, when - generating libtool. From Carl D. Roth. - - * configure.in: Find out the user-supplied CC, LD, RANLIB. From - Carl D. Roth. - -1997-03-24 Gordon Matzigkeit - - * ltmain.sh.in: Linking with -static should link against the old - library, not linklib. - - * README-automake: Updated to point to Automake 1.1m. - -1997-03-15 Gordon Matzigkeit - - * demo/main.c: Use it. - - * demo/foo.h: Declare it. - - * demo/foo.c: Added definition of `nothing' so that we have an - global variable definition, as well as functions. - -1997-03-12 Gordon Matzigkeit - - * ltconfig.in: Make sure either enable_shared or enable_static is - configured. Reported by Tom Tromey. - - * ltmain.sh.in: Bomb out if no library types are configured. - -1997-02-22 Gordon Matzigkeit - - * ltconfig.in, ltmain.sh.in (hardcode_libdir_flag_spec): Renamed - from `hardcode_libdir_flag'. - (library_names_spec): Renamed from `lib_names'. - - * ltconfig.in, ltmain.sh.in (hardcode_action): Change value from - `rpath' to `immediate'. - - * replfunc.m4: Add AM_FUNC_ALLOCA, AM_FUNC_MEMCMP, and - AM_STRUCT_ST_BLOCKS. - -1997-02-18 Gordon Matzigkeit - - * ltconfig.in: Transform *-*-linux* to *-*-linux-gnu* to support - old-style config.guess scripts. - -1997-02-17 Gordon Matzigkeit - - * ltmain.sh.in: Create objdir *before* linking a program into it. - -1997-02-12 Gordon Matzigkeit - - * ltconfig.in: Any ld --version that returns GNU is probably a GNU - ld. From Marcus Daniels. - - * libtool.m4: Added AM_REPLACE_FUNCS. - -1997-02-11 Gordon Matzigkeit - - * ltconfig.in: Trivial port to *-*-osf4. From Bruno Haible. - -1997-02-10 Gordon Matzigkeit - - * ltconfig.in: AIX 3 and 4 ld only hardcodes LIBPATH if -L is not - specified. This behaviour is the same with both xlc and gcc. - -1997-02-07 Gordon Matzigkeit - - * doc/platforms.texi: Yaay! We found a workaround for HP-UX - /bin/sh buffer overflows. From Eric Backus. - -1997-02-03 Gordon Matzigkeit - - * Release 0.9. - - * PLATFORMS, doc/platforms.texi, Makefile.am, doc/Makefile.am: - Move PLATFORMS to doc/platforms.texi. - - * ltmain.sh.in (link): Use hardcode_libdir_flag to get a library - directory into the resulting binary. - Use hardcode_action, and make many simplifying changes to have - compilation and finalization be consistent with each other. - - * ltconfig.in: Not so amazing! It's AIX cc that hardcodes direct - libraries... gcc doesn't, though. - (link_rpath_flag): Change link_rpath_flag to be - hardcode_libdir_flag. - (hardcode_action): New variable to simplify ltmain.sh. - - * tests/Makefile.am (TESTS): Do the full make sequence with - --disable-shared, then without. - - * tests/demo-sttc.test: Configure the demo directory with - --disable-shared. - -1997-01-29 Gordon Matzigkeit - - * ltmain.sh.in: Change to take advantage of linkers that don't - hardcode direct libraries. - - * ltconfig.in: Amazing! AIX 3 linker doesn't hardcode direct - libraries, which makes it less buggy than AIX 4. Reported by Mark - Kettenis. - - * demo/configure.in: Check for the math library. - - * demo/foo.c (foo): Change to use the `cos' function, so that we - need to link against another library. - - * tests/hardcode.test: Rewrite to use fgrep on output from ``strings - -a'' if using fgrep directly on the binary files fails. From Mark - Kettenis. - -1997-01-28 Gordon Matzigkeit - - * ltmain.sh.in (link): Export the PATH variable in order to find - the program, rather than giving a full path. This helps give the - program a less confusing value for argv[0]. - - * tests/hardcode.test: Make sure that ../demo/libhello.la really is a - shared library before running hardcoding tests. - -1997-01-26 Gordon Matzigkeit - - * Release 0.8. - -1997-01-24 Gordon Matzigkeit - - * Makefile.am (demo_distfiles): Add demo/acinclude.m4 to the - distribution. - -1997-01-22 Gordon Matzigkeit - - * libtool.m4: For IRIX 6, ld needs -n32 if cc uses it. Reported - by Bruno Haible. - - * ltconfig.in: IRIX ld does not hardcode direct libraries. - Reported by Bruno Haible. - -1997-01-18 Gordon Matzigkeit - - * ltconfig.in, ltmain.sh.in (hardcode_shlibpath_var): Allow new - value, `unsupported', since most linkers do not allow you to use - shlibpath_var for initial linking. - - * ltconfig.in: Lots of bug fixes from Bruno Haible. Set wl on - OSF/1, fix definitions of hardcode_* variables. - (archive_cmds): Fix not to use +h on HP-UX 9.x. Reported by Bruno - Haible. - - * tests/demo-conf.test: Use the CONFIG_SHELL environment variable when - running configure in the demo directory. From Bruno Haible. - - * tests/Makefile.am (clean-local): Make distclean in the demo directory, - so that ``make clean; env CC=cc make check'' works as one would - expect. - - * tests/demo-make.test: Fix typo (use $make instead of make). Reported - by Akim Demaille. - -1997-01-17 Gordon Matzigkeit - - * libtoolize.in: Handle explicit AC_CONFIG_AUX_DIR settings. - Suggested by Akim Demaille. - - * libtool.m4: Change ltconfig line to use $CONFIG_SHELL when it is - specified. Reported by Bruno Haible. - -1997-01-16 Gordon Matzigkeit - - * demo/Makefile.am (hc-direct): Do better searching for the proper - name to do a direct link. - (hc-libpath): Make allowances if shlibpath_var cannot be used - to find libraries at link time, such as on AIX. - - * Makefile.am (demo_distfiles): Remove ansi2knr.1 and ansi2knr.c. - - * demo/foo.c, demo/hello.c, demo/main.c: Change ANSI prototypes to - KNR form, for better portability, and less ansi2knr hair. - - * demo/configure.in: Remove AM_FUNC_PROTOTYPES. - - * demo/Makefile.am: Remove ansi2knr from the AUTOMAKE_OPTIONS. - - * demo/ansi2knr.1, demo/ansi2knr.c: Removed these files. - - * ltmain.sh.in: Use 1>&2 consistently to direct errors and - warnings to stderr. - (compile): Fix missing single quote. - - * ltconfig.in (hardcode_direct): On Solaris at least, using - DIR/libNAME.so does not hardcode DIR, so introduce a new hardcode - variable to reflect that. - - * ltmain.sh.in (link): If linking with $link_static_flag fails, - then retry without it, but still use the .a versions of - uninstalled libtool archives. - - * tests/tlibtool: Rewrote to grab all the settings from the generated - libtool script. - - * tests/hardcode.test: Make allowances if shlibpath_var cannot be used - to find libraries at link time, such as on AIX. - -1997-01-15 Gordon Matzigkeit - - * ltmain.sh.in (link): Eval $link_static_flag. Reported by Bruno - Haible. - - * PLATFORMS: Add to distribution. Suggested by Bruno Haible. - -1997-01-14 Gordon Matzigkeit - - * tests/demo-conf.test, tests/demo-inst.test, tests/demo-unst.test, - tests/hardcode.test: - Use $make instead of make. - - * tests/defs (make): Add definition of $make that uses the $MAKE - environment variable, if set. Suggested by Bruno Haible. - - * tests/demo-unst.test (leftovers): Change the find command to ignore - files beginning with a dot, as egrep -v doesn't seem to do the - trick. Reported by Bruno Haible. - -1997-01-13 Gordon Matzigkeit - - * ltconfig.in: Add support for SCO OpenServer 5.x. From - Christopher Olsen. - - (can_build_shared): Initialize at the top of the file, so that - shared libraries aren't built on platforms that don't support - them. - - * tests/hardcode.test: Added a test to make sure that libtool's idea of - hardcoding system linkers is correct. - -1997-01-11 Gordon Matzigkeit - - * ltmain.sh.in, ltconfig.in, libtoolize.in, doc/libtool.texi: - Update the copyright completion years. - -1997-01-08 Gordon Matzigkeit - - * ltconfig.in: Port to IRIX 5.3, 6.2. - -1997-01-06 Gordon Matzigkeit - - * ltconfig.in: HP-UX 9 support is the same as HP-UX 10, so the - port is trivial. - - * libtoolize.in: Add --dry-run option, -n for short. - -1997-01-03 Gordon Matzigkeit - - * ltmain.sh.in (link): On at least SunOS, /bin/sh doesn't - understand "export something=val". From Bruno Haible. - - * tests/Makefile.am (distclean-local): Remove all files that the tests - may have created. Reported by Bruno Haible. - - * For all tests, discover srcdir when running from the command - line. - - * tests/demo-unst.test: Don't fail if make uninstall doesn't delete - files beginning with a dot, since spurious .nfsXXX files may be - present when running NFS. Reported by Bruno Haible. - -1997-01-02 Gordon Matzigkeit - - * ltmain.sh.in (compile): Recognize valid source file suffixes for - Fortran and C++. - - * tests/suffix.test: New test to guarantee that libtool compile - recognizes valid source file suffices. - -1996-12-17 Gordon Matzigkeit - - * ltmain.sh.in (link): Don't allow *._o and *.l_o to be valid - object type suffixes, in spite of Automake's current ansi2knr - implementation. Not all compilers allow non-`.o' suffixes. - -1996-12-16 Gordon Matzigkeit - - * ltmain.sh.in (link): Delete the `libtool' version type. - -1996-12-12 Gordon Matzigkeit - - * ltconfig.in: Use the full autoconf syntax when checking for GNU - C. Delete library stripping program, until we have a correct - test. - -1996-12-11 Gordon Matzigkeit - - * ltconfig.in: On AIX 3, use /usr/ucb/nm, not /ucb/nm. From Mark - Kettenis. - -1996-12-09 Gordon Matzigkeit - - Reported by Charles Kerr: - * doc/libtool.texi (Creating Object Files): Doc fix independant -> - independent. - - * ltconfig.in (ld_shlibs): SunOS 4 doesn't support shared library - dependencies. - -1996-12-08 Gordon Matzigkeit - - * Release 0.7. - - * Makefile.am (EXTRA_DIST): Add README-automake to the - distribution. - - * ltmain.sh.in (link): When linking libtool libraries, use - standard objects if they are PIC. This prevents spurious warnings - about invalid suffixes on AIX. - - * demo/Makefile.am: Rename libhell to libhello, so that we're not - quite as offensive. - - * ltconfig.in: Remove unnecessary host validity checking. - - * ltmain.sh.in: Don't force people to use libNAME.la: SOMETHING.la - is good enough (for consistency with *.a handling). - - * tests/demo.test: Break up into demo-conf.test, demo-make.test, - demo-exec.test, demo-inst.test, and demo-unst.test, so that passes - and failures are reported more quickly. - - * tests/link-2.test: Test to make sure that .lo files don't get built - directly into programs. - -1996-12-07 Gordon Matzigkeit - - * ltmain.sh.in (link): Accept files ending in .a as standard - object files. Reported by Ulrich Drepper. - Remove support for creating profiled libraries (for now). - Transform all library objects into standard objects when linking a - program. - - * ltconfig.in (thisdir): How embarrassing! An error in the regexp - for finding the directory component of the script path. - - * tests/tlibtool: A typically-configured libtool script, that uses - ../ltmain.sh.in for its backend. - - * tests/link.test: Make sure that it is legal to link against .a files. - -1996-12-05 Gordon Matzigkeit - - * ltmain.sh.in (compile): Support `.S' (preprocessed assembler) - files. Reported by Anthony Green. - - * libtoolize.in: Give clearer instrutions for how to update - aclocal.m4. - - * ltconfig.in, ltmain.sh.in (link): Add support for creating - reloadable objects. - -1996-12-04 Gordon Matzigkeit - - * ltmain.sh.in (install): Fix passing -n flag to `libtool - --finish'. - (compile): Compile `.lo' and `.o' objects at the same time so that - non-PIC objects (if they are available) can be used for linking - into programs and creating static archives. Suggested by Ulrich - Drepper. - -1996-12-03 Gordon Matzigkeit - - * ltmain.sh.in (link): Give the full path to the libtool library - when sourcing it. - - * ltconfig.in (old_striplib): Do a configuration test to determine - if old-style libraries actually can be stripped or not. - -1996-12-02 Gordon Matzigkeit - - * tests/demo.test: Try compiling the ../demo subdirectory, with no - special options. - - * test-e.test: Check that we haven't used `test -e' anywhere in - our portable shell scripts. - -1996-12-02 Gordon Matzigkeit - - * ltconfig.in: Delete reference to ABOUT-LIBS. - - * tests: Added new subdirectory. - - * doc/libtool.texi: Doc fixes, and finished up the Configuring - chapter. - - * ltmain.sh.in (link): Allow *._o and *.l_o to be valid object - file suffixes, for Automake's ansi2knr implementation. - New option -version-info replaces -version-file. - - [help]: Give a pointer to mode-specific help when appropriate. - - * ltconfig.in: Changed messages to correspond to AM_PROG_CC_STDC. - - * demo: Also test Automake's ansi2knr support. - -1996-11-19 Gordon Matzigkeit - - * ltconfig.in: Bug fixes for AIX 4, and for static platforms. - - * ltmain.sh.in (install): Fix for loops over arguments. - Need to quote ${IFS= } -> "${IFS= }". - (link): Fix soname_spec bug. Create objdir whether or not we have - shared libraries. - - * ltconfig.in: Check for library stripping program. - Use test -f instead of test -e. - -1996-11-18 Gordon Matzigkeit - - * ltconfig.in: Don't run the RANLIB test unless RANLIB wasn't - set. - Be verbose about the environment variables we were configured - with. - - * ltmain.sh.in (objdir): change to .libs. - -1996-11-16 Gordon Matzigkeit - - * ltmain.sh.in (install): Just plunge ahead with the - installation... don't try to enforce dependencies. - -1996-11-15 Gordon Matzigkeit - - * ltmain.sh.in: Fix up $libdir to be $dest in install mode. - -1996-11-10 Gordon Matzigkeit - - * ltmain.sh: Finished rewrite of compile, link, and install - modes. - - * New ChangeLog file for libtool-0.7, since I've totally rewritten - libtool. - -1996-03-15 Gordon Matzigkeit - - * For historical reasons: this is when I started writing libtool. --- - Copyright (C) 1996-2010 Free Software Foundation, Inc. - - This file is part of GNU Libtool. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. diff --git a/BUILD/libtool-2.4.7/GNUmakefile b/BUILD/libtool-2.4.7/GNUmakefile deleted file mode 100644 index 7a08c9d..0000000 --- a/BUILD/libtool-2.4.7/GNUmakefile +++ /dev/null @@ -1,127 +0,0 @@ -# Having a separate GNUmakefile lets me 'include' the dynamically -# generated rules created via cfg.mk (package-local configuration) -# as well as maint.mk (generic maintainer rules). -# This makefile is used only if you run GNU Make. -# It is necessary if you want to build targets usually of interest -# only to the maintainer. - -# Copyright (C) 2001, 2003, 2006-2022 Free Software Foundation, Inc. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# If the user runs GNU make but has not yet run ./configure, -# give them a diagnostic. -_gl-Makefile := $(wildcard [M]akefile) -ifneq ($(_gl-Makefile),) - -# Make tar archive easier to reproduce. -export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner - -# Allow the user to add to this in the Makefile. -ALL_RECURSIVE_TARGETS = - -include Makefile - -# Some projects override e.g., _autoreconf here. --include $(srcdir)/cfg.mk - -# Allow cfg.mk to override these. -_build-aux ?= build-aux -_autoreconf ?= autoreconf -v - -include $(srcdir)/maint.mk - -# Ensure that $(VERSION) is up to date for dist-related targets, but not -# for others: rerunning autoreconf and recompiling everything isn't cheap. -_have-git-version-gen := \ - $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) -ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) - _is-dist-target ?= $(filter-out %clean, \ - $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS))) - _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) - ifneq (,$(_is-dist-target)$(_is-install-target)) - _curr-ver := $(shell cd $(srcdir) \ - && $(_build-aux)/git-version-gen \ - .tarball-version \ - $(git-version-gen-tag-sed-script)) - ifneq ($(_curr-ver),$(VERSION)) - ifeq ($(_curr-ver),UNKNOWN) - $(info WARNING: unable to verify if $(VERSION) is the correct version) - else - ifneq (,$(_is-install-target)) - # GNU Coding Standards state that 'make install' should not cause - # recompilation after 'make all'. But as long as changing the version - # string alters config.h, the cost of having 'make all' always have an - # up-to-date version is prohibitive. So, as a compromise, we merely - # warn when installing a version string that is out of date; the user - # should run 'autoreconf' (or something like 'make distcheck') to - # fix the version, 'make all' to propagate it, then 'make install'. - $(info WARNING: version string $(VERSION) is out of date;) - $(info run '$(MAKE) _version' to fix it) - else - $(info INFO: running autoreconf for new version string: $(_curr-ver)) -GNUmakefile: _version - touch GNUmakefile - endif - endif - endif - endif -endif - -.PHONY: _version -_version: - cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf) - $(MAKE) $(AM_MAKEFLAGS) Makefile - -else - -.DEFAULT_GOAL := abort-due-to-no-makefile -srcdir = . - -# The package can override .DEFAULT_GOAL to run actions like autoreconf. --include ./cfg.mk - -# Allow cfg.mk to override these. -_build-aux ?= build-aux -_autoreconf ?= autoreconf -v - -include ./maint.mk - -ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) -$(MAKECMDGOALS): abort-due-to-no-makefile -endif - -abort-due-to-no-makefile: - @echo There seems to be no Makefile in this directory. 1>&2 - @echo "You must run ./configure before running '$(MAKE)'." 1>&2 - @exit 1 - -endif - -# Tell version 3.79 and up of GNU make to not build goals in this -# directory in parallel, in case someone tries to build multiple -# targets, and one of them can cause a recursive target to be invoked. - -# Only set this if Automake doesn't provide it. -AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) \ - dist distcheck tags ctags - -ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS) - -ifneq ($(word 2, $(MAKECMDGOALS)), ) -ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), ) -.NOTPARALLEL: -endif -endif diff --git a/BUILD/libtool-2.4.7/INSTALL b/BUILD/libtool-2.4.7/INSTALL deleted file mode 100644 index e82fd21..0000000 --- a/BUILD/libtool-2.4.7/INSTALL +++ /dev/null @@ -1,368 +0,0 @@ -Installation Instructions -************************* - - Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free -Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell command './configure && make && make install' -should configure, build, and install this package. The following -more-detailed instructions are generic; see the 'README' file for -instructions specific to this package. Some packages provide this -'INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The 'configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a 'Makefile' in each directory of the package. -It may also create one or more '.h' files containing system-dependent -definitions. Finally, it creates a shell script 'config.status' that -you can run in the future to recreate the current configuration, and a -file 'config.log' containing compiler output (useful mainly for -debugging 'configure'). - - It can also use an optional file (typically called 'config.cache' and -enabled with '--cache-file=config.cache' or simply '-C') that saves the -results of its tests to speed up reconfiguring. Caching is disabled by -default to prevent problems with accidental use of stale cache files. - - If you need to do unusual things to compile the package, please try -to figure out how 'configure' could check whether to do them, and mail -diffs or instructions to the address given in the 'README' so they can -be considered for the next release. If you are using the cache, and at -some point 'config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file 'configure.ac' (or 'configure.in') is used to create -'configure' by a program called 'autoconf'. You need 'configure.ac' if -you want to change it or regenerate 'configure' using a newer version of -'autoconf'. - - The simplest way to compile this package is: - - 1. 'cd' to the directory containing the package's source code and type - './configure' to configure the package for your system. - - Running 'configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type 'make' to compile the package. - - 3. Optionally, type 'make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type 'make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the 'make install' phase executed with root - privileges. - - 5. Optionally, type 'make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior 'make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing 'make clean'. To also remove the - files that 'configure' created (so you can compile the package for - a different kind of computer), type 'make distclean'. There is - also a 'make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type 'make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide 'make - distcheck', which can by used by developers to test that all other - targets like 'make install' and 'make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the 'configure' script does not know about. Run './configure --help' -for details on some of the pertinent environment variables. - - You can give 'configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here is -an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU 'make'. 'cd' to the -directory where you want the object files and executables to go and run -the 'configure' script. 'configure' automatically checks for the source -code in the directory that 'configure' is in and in '..'. This is known -as a "VPATH" build. - - With a non-GNU 'make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use 'make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple '-arch' options to the -compiler but only a single '-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the 'lipo' tool if you have problems. - -Installation Names -================== - - By default, 'make install' installs the package's commands under -'/usr/local/bin', include files under '/usr/local/include', etc. You -can specify an installation prefix other than '/usr/local' by giving -'configure' the option '--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option '--exec-prefix=PREFIX' to 'configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like '--bindir=DIR' to specify different values for particular -kinds of files. Run 'configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the default -for these options is expressed in terms of '${prefix}', so that -specifying just '--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to 'configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -'make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, 'make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -'${prefix}'. Any directories that were specified during 'configure', -but not in terms of '${prefix}', must each be overridden at install time -for the entire installation to be relocated. The approach of makefile -variable overrides for each directory variable is required by the GNU -Coding Standards, and ideally causes no recompilation. However, some -platforms have known limitations with the semantics of shared libraries -that end up requiring recompilation when using this method, particularly -noticeable in packages that use GNU Libtool. - - The second method involves providing the 'DESTDIR' variable. For -example, 'make install DESTDIR=/alternate/directory' will prepend -'/alternate/directory' before all installation names. The approach of -'DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of '${prefix}' -at 'configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving 'configure' the -option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. - - Some packages pay attention to '--enable-FEATURE' options to -'configure', where FEATURE indicates an optional part of the package. -They may also pay attention to '--with-PACKAGE' options, where PACKAGE -is something like 'gnu-as' or 'x' (for the X Window System). The -'README' should mention any '--enable-' and '--with-' options that the -package recognizes. - - For packages that use the X Window System, 'configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the 'configure' options '--x-includes=DIR' and -'--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of 'make' will be. For these packages, running './configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with 'make V=1'; while running './configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with 'make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC -is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - HP-UX 'make' updates targets which have the same timestamps as their -prerequisites, which makes it generally unusable when shipped generated -files such as 'configure' are involved. Use GNU 'make' instead. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its '' header file. The option '-nodtk' can be used as a -workaround. If GNU CC is not installed, it is therefore recommended to -try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put '/usr/ucb' early in your 'PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in '/usr/bin'. So, if you need '/usr/ucb' -in your 'PATH', put it _after_ '/usr/bin'. - - On Haiku, software installed for all users goes in '/boot/common', -not '/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features 'configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, 'configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -'--build=TYPE' option. TYPE can either be a short name for the system -type, such as 'sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file 'config.sub' for the possible values of each field. If -'config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option '--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with '--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for 'configure' scripts to share, -you can create a site shell script called 'config.site' that gives -default values for variables like 'CC', 'cache_file', and 'prefix'. -'configure' looks for 'PREFIX/share/config.site' if it exists, then -'PREFIX/etc/config.site' if it exists. Or, you can set the -'CONFIG_SITE' environment variable to the location of the site script. -A warning: not all 'configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to 'configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the 'configure' command line, using 'VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified 'gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an -Autoconf limitation. Until the limitation is lifted, you can use this -workaround: - - CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash - -'configure' Invocation -====================== - - 'configure' recognizes the following options to control how it -operates. - -'--help' -'-h' - Print a summary of all of the options to 'configure', and exit. - -'--help=short' -'--help=recursive' - Print a summary of the options unique to this package's - 'configure', and exit. The 'short' variant lists options used only - in the top level, while the 'recursive' variant lists options also - present in any nested packages. - -'--version' -'-V' - Print the version of Autoconf used to generate the 'configure' - script, and exit. - -'--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally 'config.cache'. FILE defaults to '/dev/null' to - disable caching. - -'--config-cache' -'-C' - Alias for '--cache-file=config.cache'. - -'--quiet' -'--silent' -'-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to '/dev/null' (any error - messages will still be shown). - -'--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - 'configure' can determine that directory automatically. - -'--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: for - more details, including other options available for fine-tuning the - installation locations. - -'--no-create' -'-n' - Run the configure checks, but stop before creating any output - files. - -'configure' also accepts some other, not widely useful, options. Run -'configure --help' for more details. diff --git a/BUILD/libtool-2.4.7/Makefile.am b/BUILD/libtool-2.4.7/Makefile.am deleted file mode 100644 index 7bd7f72..0000000 --- a/BUILD/libtool-2.4.7/Makefile.am +++ /dev/null @@ -1,835 +0,0 @@ -## Makefile.am -- Process this file with automake to produce Makefile.in -## -## Copyright (C) 2003-2019, 2021-2022 Free Software Foundation, Inc. -## Written by Gary V. Vaughan, 2003 -## -## This file is part of GNU Libtool. -## -## GNU Libtool is free software; you can redistribute it and/or -## modify it under the terms of the GNU General Public License as -## published by the Free Software Foundation; either version 2 of -## the License, or (at your option) any later version. -## -## GNU Libtool is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with GNU Libtool; see the file COPYING. If not, a copy -## can be downloaded from http://www.gnu.org/licenses/gpl.html, -## or obtained by writing to the Free Software Foundation, Inc., -## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -##### - -ACLOCAL_AMFLAGS = -I m4 - -AM_CPPFLAGS = -AM_LDFLAGS = - -SUBDIRS = . gnulib-tests -DIST_SUBDIRS = $(SUBDIRS) -EXTRA_DIST = - -BUILT_SOURCES = libtool libtoolize - -CLEANFILES = -MOSTLYCLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = - -include_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -# Using 'cd' in backquotes may print the directory name, use this instead: -lt__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd - -git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version' -rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'` - - -# ---------- # -# Bootstrap. # -# ---------- # - -SCRIPT_ENV = GREP='$(GREP)' SED='$(SED)' - -build_scripts = $(srcdir)/$(aux_dir)/announce-gen \ - $(srcdir)/$(aux_dir)/do-release-commit-and-tag \ - $(srcdir)/$(aux_dir)/gendocs.sh \ - $(srcdir)/$(aux_dir)/git-version-gen \ - $(srcdir)/$(aux_dir)/gnu-web-doc-update \ - $(srcdir)/$(aux_dir)/gnupload \ - $(srcdir)/$(aux_dir)/useless-if-before-free \ - $(srcdir)/$(aux_dir)/vc-list-files - -EXTRA_DIST += bootstrap bootstrap.conf $(build_scripts) cfg.mk maint.mk \ - GNUmakefile -CLEANFILES += libtool libtoolize - -## If a file is named several times below, and especially if it -## is a distributed file created during Libtool bootstrap, we -## put it in a variable in accordance with the DRY principle. -## Use '$(srcdir)' for the benefit of non-GNU makes: referring -## to them by their variable makes sure they appear as targets -## and dependencies with '$(srcdir)' consistently. -configure_ac = $(srcdir)/configure.ac -config_status = $(top_builddir)/config.status -extract_trace = $(srcdir)/$(aux_dir)/extract-trace -funclib_sh = $(srcdir)/$(aux_dir)/funclib.sh -inline_source = $(srcdir)/$(aux_dir)/inline-source -libtoolize_in = $(srcdir)/libtoolize.in -ltmain_sh = $(srcdir)/$(aux_dir)/ltmain.sh -ltmain_in = $(srcdir)/$(aux_dir)/ltmain.in -libtool_m4 = $(srcdir)/$(macro_dir)/libtool.m4 -ltversion_in = $(srcdir)/$(macro_dir)/ltversion.in -ltversion_m4 = $(srcdir)/$(macro_dir)/ltversion.m4 -no_bogus_macros = $(srcdir)/$(aux_dir)/no-bogus-m4-defines -options_parser = $(srcdir)/$(aux_dir)/options-parser -u2d_copyright = $(srcdir)/$(aux_dir)/update-copyright - -EXTRA_DIST += $(extract_trace) $(funclib_sh) $(inline_source) \ - $(libtoolize_in) $(ltmain_in) $(ltmain_sh) \ - $(ltversion_in) $(ltversion_m4) $(no_bogus_macros) \ - $(options_parser) $(u2d_copyright) - -## These are the replacements that need to be made at bootstrap time, -## because they must be static in distributed files, and not accidentally -## changed by configure running on the build machine. -bootstrap_edit = $(SED) \ - -e 's|@MACRO_VERSION\@|$(VERSION)|g' \ - -e "s|@MACRO_REVISION\@|$$revision|g" \ - -e "s|@MACRO_SERIAL\@|$$serial|g" \ - -e 's|@PACKAGE\@|$(PACKAGE)|g' \ - -e 's|@PACKAGE_BUGREPORT\@|$(PACKAGE_BUGREPORT)|g' \ - -e 's|@PACKAGE_URL\@|$(PACKAGE_URL)|g' \ - -e 's|@PACKAGE_NAME\@|$(PACKAGE_NAME)|g' \ - -e "s|@package_revision\@|$$revision|g" \ - -e 's|@PACKAGE_STRING\@|$(PACKAGE_NAME) $(VERSION)|g' \ - -e 's|@PACKAGE_TARNAME\@|$(PACKAGE)|g' \ - -e 's|@PACKAGE_VERSION\@|$(VERSION)|g' \ - -e 's|@VERSION\@|$(VERSION)|g' - -## We build ltversion.m4 here, instead of from config.status, -## because config.status is rerun each time one of configure's -## dependencies change and ltversion.m4 happens to be a configure -## dependency. configure and ltversion.m4 would be rebuilt in -## a loop otherwise. -## We used to do this with a 'stamp-vcl' file, but non-gmake builds -## would rerun configure on every invocation, so now we manually -## check the version numbers from the build rule when necessary. -$(ltversion_m4): $(ltversion_in) $(dotversion) - @$(rebuild); \ - if test -f '$@'; then \ - eval `'$(SED)' -n '/^macro_revision=/p' '$@'`; \ - test "x$$macro_revision" = "x$$revision" && rebuild=false; \ - fi; \ - for prereq in $?; do \ - case $$prereq in *.version);; *) rebuild=:;; esac; \ - done; \ - if $$rebuild; then \ - rm -f '$@'; \ - if test -d '$(srcdir)/.git' && git --version >/dev/null 2>&1; then \ - $(git_commit_count) > '$(srcdir)/.serial'; \ - fi; \ - serial=`cat '$(srcdir)/.serial'`; \ - if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ - then echo " GEN " $@; \ - else echo $(bootstrap_edit) "'$(ltversion_in)' > '$@'"; fi; \ - $(bootstrap_edit) '$(ltversion_in)' > '$@'; \ - chmod a-w '$@'; \ - fi - -## And for similar reasons, ltmain.sh can't be built from config.status. -## We used to do this with a 'stamp-vcl' file, but non-gmake builds -## would rerun configure on every invocation, so now we manually -## check the version numbers from the build rule when necessary. -## !WARNING! If you edit this rule to change the contents of ltmain.sh, -## you must 'touch $(aux_dir)/ltmain.in' from the -## shell if you need ltmain.sh to be regenerated. Ideally, we -## should make this rule depend on Makefile but that will break -## distcheck (at least) by rebuilding ltmain.sh in the source -## tree whenever config.status regenerates the Makefile. -$(ltmain_sh): $(ltmain_in) $(dotversion) - @$(rebuild); \ - if test -f '$@'; then \ - eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ - test "x$$package_revision" = "x$$revision" && rebuild=false; \ - fi; \ - for prereq in $?; do \ - case $$prereq in *.version);; *) rebuild=:;; esac; \ - done; \ - if $$rebuild; then \ - rm -f '$@'; \ - if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ - then echo " GEN " $@; \ - else echo "$(inline_source) '$(ltmain_in)' |" $(bootstrap_edit) "> '$@'"; fi; \ - $(SCRIPT_ENV) '$(inline_source)' '$(ltmain_in)' | $(bootstrap_edit) > '$@'; \ - chmod a-w '$@'; \ - fi - -lt_Makefile_am = $(srcdir)/$(ltdl_dir)/Makefile.am -lt_Makefile_in = $(srcdir)/$(ltdl_dir)/Makefile.in -ltdl_mk = $(srcdir)/$(ltdl_dir)/ltdl.mk - -$(lt_Makefile_am): $(ltdl_mk) - $(AM_V_at)rm -f '$@' - $(AM_V_GEN)( '$(SED)' -n '1,/^.. DO NOT REMOVE THIS LINE -- /p' \ - '$(ltdl_mk)'; \ - { echo 'ACLOCAL_AMFLAGS = -I ../m4'; \ - echo 'AUTOMAKE_OPTIONS = foreign'; \ - echo 'AM_CPPFLAGS ='; \ - echo 'AM_LDFLAGS ='; \ - echo 'BUILT_SOURCES ='; \ - echo 'include_HEADERS ='; \ - echo 'noinst_LTLIBRARIES ='; \ - echo 'lib_LTLIBRARIES ='; \ - echo 'EXTRA_LTLIBRARIES ='; \ - echo 'EXTRA_DIST ='; \ - echo 'CLEANFILES ='; \ - echo 'MOSTLYCLEANFILES ='; \ - }; \ - '$(SED)' -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' \ - '$(ltdl_mk)' \ - |'$(SED)' -e 's|libltdl_||; s|libltdl/||; s|: libltdl/|: |' \ - -e '/^[ ]*-I\$$(srcdir)\/libltdl -Ilibltdl \\/d' \ - -e 's|\$$(libltdl_|$$(|' \ - ) |'$(SED)' -e '/^.. DO NOT REMOVE THIS LINE -- /d' \ - -e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with automake to produce Makefile.in,' > '$@' - $(AM_V_at)chmod a-w '$@' - -## Document the make macros that are needed to build bootstrap-deps -## dependencies when called from 'bootstrap' (developer's machine), -## where the Makefile.am is fed to make in its raw format before -## 'configure' has found the correct values (on the build machine). -bootstrap_files = \ - $(lt_Makefile_am) \ - $(ltmain_sh) \ - $(ltversion_m4) - -.PHONY: bootstrap-deps bootstrap-deps-prep -bootstrap-deps: bootstrap-deps-prep - $(MAKE) $(bootstrap_files) - -bootstrap-deps-prep: -## The following variables are substituted by 'bootstrap-dep-preps' - @exit_cmd=:; \ - test -z '$(srcdir)' \ - && echo "ERROR: don't call $(MAKE) with srcdir unset." \ - && exit_cmd=exit; \ - test -z '$(PACKAGE)' \ - && echo "ERROR: don't call $(MAKE) with PACKAGE unset." \ - && exit_cmd=exit; \ - test -z '$(PACKAGE_BUGREPORT)' \ - && echo "ERROR: don't call $(MAKE) with PACKAGE_BUGREPORT unset." \ - && exit_cmd=exit; \ - test -z '$(PACKAGE_NAME)' \ - && echo "ERROR: don't call $(MAKE) with PACKAGE_NAME unset." \ - && exit_cmd=exit; \ - test -z '$(PACKAGE_URL)' \ - && echo "ERROR: don't call $(MAKE) with PACKAGE_URL unset." \ - && exit_cmd=exit; \ - test -z '$(SED)' \ - && echo "ERROR: don't call $(MAKE) with SED unset." \ - && exit_cmd=exit; \ - test -z '$(VERSION)' \ - && echo "ERROR: don't call $(MAKE) with VERSION unset." \ - && exit_cmd=exit; \ - $$exit_cmd 1 - $(AM_V_at)rm -f $(bootstrap_files) - -## Unfortunately, all this bogeyness means that we have to manually -## keep the generated files in libltdl up to date. -LTDL_BOOTSTRAP_DEPS = \ - $(stamp_mk) \ - $(lt_aclocal_m4) \ - $(lt_config_h_in) \ - $(lt_configure) - -all-local: $(LTDL_BOOTSTRAP_DEPS) - - -## ---------------- ## -## Libtool scripts. ## -## ---------------- ## - -abs_aux_dir = `$(lt__cd) '$(srcdir)/$(aux_dir)' && pwd` -ltdl_ac_aux_dir = `$(SCRIPT_ENV) $(extract_trace) AC_CONFIG_AUX_DIR $(srcdir)/libltdl/configure.ac` - -configure_edit = $(bootstrap_edit) \ - -e '/^\. /s|@auxscriptsdir\@|'$(abs_aux_dir)'|g' \ - -e 's|@aclocaldir\@|$(aclocaldir)|g' \ - -e 's|@aux_dir\@|$(aux_dir)|g' \ - -e 's|@datadir\@|$(datadir)|g' \ - -e 's|@EGREP\@|$(EGREP)|g' \ - -e 's|@FGREP\@|$(FGREP)|g' \ - -e 's|@GREP\@|$(GREP)|g' \ - -e 's|@host_triplet\@|$(host_triplet)|g' \ - -e 's|@LN_S\@|$(LN_S)|g' \ - -e "s|@ltdl_ac_aux_dir\@|$(ltdl_ac_aux_dir)|g" \ - -e 's|@macro_dir\@|$(macro_dir)|g' \ - -e 's|@pkgauxdir\@|$(pkgauxdir)|g' \ - -e 's|@pkgaux_files\@|$(pkgaux_scripts) $(pkgaux_data_files)|g' \ - -e 's|@pkgaux_install_files\@|$(pkgaux_install_files)|g' \ - -e 's|@pkgaux_parent_files\@|$(pkgaux_parent_files)|g' \ - -e 's|@pkgdatadir\@|$(pkgdatadir)|g' \ - -e 's|@pkgltdl_files\@|$(pkgltdl_files)|g' \ - -e 's|@pkgmacro_files\@|$(pkgmacro_files)|g' \ - -e 's|@prefix\@|$(prefix)|g' \ - -e 's|@SED\@|$(SED)|g' \ - -e 's|@srcdir\@|$(srcdir)|g' - -# The libtool distributor and the standalone libtool script. -bin_SCRIPTS = libtool - -libtoolize: $(libtoolize_in) $(config_status) - $(AM_V_at)rm -f '$@' - $(AM_V_GEN)$(configure_edit) '$(libtoolize_in)' > '$@' - $(AM_V_at)chmod a+x '$@' - $(AM_V_at)chmod a-w '$@' - -# We used to do this with a 'stamp-vcl' file, but non-gmake builds -# would rerun configure on every invocation, so now we manually -# check the version numbers from the build rule when necessary. -libtool: $(ltmain_sh) $(config_status) $(dotversion) - @$(rebuild); \ - if test -f '$@'; then \ - eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ - test "$$package_revision" = "$$revision" && rebuild=false; \ - fi; \ - for prereq in $?; do \ - case $$prereq in *.version);; *) rebuild=:;; esac; \ - done; \ - if $$rebuild; then \ - if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ - then echo " GEN " $@; \ - else echo '$(SHELL) $(top_builddir)/config.status "$@"'; fi; \ - cd '$(top_builddir)' && '$(SHELL)' ./config.status '$@'; \ - fi - - -## -------- ## -## Libltdl. ## -## -------- ## - -include libltdl/ltdl.mk - -lt_aclocal_m4 = $(srcdir)/$(ltdl_dir)/aclocal.m4 -lt_config_h_in = $(srcdir)/$(ltdl_dir)/config-h.in -lt_configure = $(srcdir)/$(ltdl_dir)/configure -lt_configure_ac = $(srcdir)/$(ltdl_dir)/configure.ac -stamp_mk = $(srcdir)/$(ltdl_dir)/stamp-mk - -lt_obsolete_m4 = $(srcdir)/$(macro_dir)/lt~obsolete.m4 - -EXTRA_DIST += $(lt_aclocal_m4) \ - $(lt_configure) \ - $(lt_configure_ac) \ - $(lt_config_h_in) \ - $(lt_Makefile_am) \ - $(lt_Makefile_in) \ - $(lt_obsolete_m4) \ - $(stamp_mk) - -$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) - $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile - -# Don't let unused scripts leak into the libltdl Makefile -$(stamp_mk): $(lt_Makefile_in) - $(AM_V_at)T='$(srcdir)/$(aux_dir)/Makefile.tmp'; \ - for p in $(srcdir)/$(aux_dir)/*; do \ - test -f "$$p" || continue; \ - f=`echo "$$p" | $(SED) 's|^$(srcdir)/$(aux_dir)/||'`; \ - case " $(pkgaux_scripts) ltmain.sh " in \ - *" $$f "*) ;; \ - *) '$(SED)' \ - -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"'\$$||' \ - -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"' ||' \ - -e '/^[ ]*\\$$/d' \ - '$(lt_Makefile_in)' > "$$T" \ - && mv -f "$$T" '$(lt_Makefile_in)';; \ - esac; \ - done - $(AM_V_GEN)echo stamp > '$@' - -lt_aclocal_m4_deps = \ - $(lt_obsolete_m4) \ - $(ltversion_m4) \ - $(libtool_m4) \ - $(srcdir)/$(macro_dir)/ltargz.m4 \ - $(srcdir)/$(macro_dir)/ltdl.m4 \ - $(srcdir)/$(macro_dir)/ltoptions.m4 \ - $(srcdir)/$(macro_dir)/ltsugar.m4 \ - $(srcdir)/$(macro_dir)/m4.m4 \ - $(srcdir)/$(ltdl_dir)/configure.ac - -lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps) - -$(lt_aclocal_m4): $(lt_aclocal_m4_deps) - $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4 - -$(lt_configure): $(lt_configure_deps) - $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF) - -$(lt_config_h_in): $(lt_configure_deps) - $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOHEADER) - $(AM_V_at)touch '$@' - - -## -------------- ## -## Documentation. ## -## -------------- ## - -doc_dir = $(srcdir)/doc - -libtool_1 = $(doc_dir)/libtool.1 -libtoolize_1 = $(doc_dir)/libtoolize.1 -notes_texi = $(doc_dir)/notes.texi -notes_txt = $(doc_dir)/notes.txt - -EXTRA_DIST += $(doc_dir)/gendocs_template - -# A bug in automake 1.11.1 (at least) prevents us from using: -# -# info_TEXINFOS = $(doc_dir)/libtool.texi -# -# Producing the following error, even though srcdir is implicitly set: -# "cannot open < ./$(srcdir)/doc/libtool.texi: No such file or directory" -info_TEXINFOS = doc/libtool.texi -doc_libtool_TEXINFOS = $(doc_dir)/PLATFORMS $(doc_dir)/fdl.texi \ - $(notes_texi) -EXTRA_DIST += $(notes_txt) -## Workaround for a texinfo bug described here: -## http://thread.gmane.org/gmane.comp.tex.texinfo.bugs/3930 -DISTCLEANFILES += libtool.dvi - -all-local: $(notes_txt) - -$(notes_txt): $(notes_texi) - $(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \ - $(MAKEINFOFLAGS) -o '$@' '$(notes_texi)' - -dist_man1_MANS = $(libtool_1) $(libtoolize_1) -MAINTAINERCLEANFILES += $(dist_man1_MANS) -update_mans = \ - PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \ - $(HELP2MAN) --output='$@' - -# It's wrong to make distributed files (e.g. $(libtool_1)) rely on -# files created in the build tree, so instead we regenerate the -# manual pages if the sources for the build-tree files we want to -# run have changed. -$(libtool_1): $(ltmain_sh) - $(AM_V_GEN)$(update_mans) --help-option=--help-all libtool -$(libtoolize_1): $(libtoolize_in) - $(AM_V_GEN)$(update_mans) libtoolize - - -## ------------- ## -## Installation. ## -## ------------- ## - -ltdldir = $(srcdir)/libltdl -pkgauxdir = $(pkgdatadir)/build-aux - -# The timestamps on these files must be preserved carefully so we install, -# uninstall and set executable with custom rules here. -pkgaux_parent_files = ltmain.sh -pkgaux_install_files = config.guess config.sub install-sh -pkgaux_data_files = $(pkgaux_parent_files) - -# Everything that gets picked up by aclocal is automatically distributed, -# this is the list of macro files we install on the user's system. -pkgmacro_files = libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 \ - ltversion.m4 lt~obsolete.m4 - -## These are installed as a subdirectory of pkgdatadir so that -## libtoolize --ltdl can find them later. Note that this list requires -## specific order to avoid unnecessary re-autotooling after libtoolize run. -pkgltdl_files = COPYING.LIB \ - Makefile.am \ - README \ - configure.ac \ - aclocal.m4 \ - Makefile.in \ - config-h.in \ - configure \ - libltdl/lt__alloc.h \ - libltdl/lt__argz_.h \ - libltdl/lt__dirent.h \ - libltdl/lt__glibc.h \ - libltdl/lt__private.h \ - libltdl/lt__strl.h \ - libltdl/lt_dlloader.h \ - libltdl/lt_error.h \ - libltdl/lt_system.h \ - libltdl/slist.h \ - loaders/dld_link.c \ - loaders/dlopen.c \ - loaders/dyld.c \ - loaders/load_add_on.c \ - loaders/loadlibrary.c \ - loaders/preopen.c \ - loaders/shl_load.c \ - lt__alloc.c \ - lt__argz.c \ - lt__dirent.c \ - lt__strl.c \ - lt_dlloader.c \ - lt_error.c \ - ltdl.c \ - ltdl.h \ - ltdl.mk \ - slist.c - -install-data-local: $(lt_Makefile_in) install-scripts-local - @$(NORMAL_INSTALL) -## Don't install over the top of an old pkgdatadir - -rm -rf '$(DESTDIR)$(pkgdatadir)'/* -## First, put a copy of the libtool m4 macros in the aclocal dir - @list='$(pkgmacro_files)'; for p in $$list; do \ - d=`echo "$(DESTDIR)$(aclocaldir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - echo " $(INSTALL_DATA) '$(srcdir)/$(macro_dir)/$$p' '$(DESTDIR)$(aclocaldir)/$$p'"; \ - $(INSTALL_DATA) "$(srcdir)/$(macro_dir)/$$p" "$(DESTDIR)$(aclocaldir)/$$p"; \ - done -## install the helper scripts - @list='$(pkgaux_scripts)' && \ - for p in $$list; do \ - d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - echo " $(INSTALL_SCRIPT) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ - $(INSTALL_SCRIPT) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ - done - @list='$(pkgaux_data_files)' && for p in $$list; do \ - d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - echo " $(INSTALL_DATA) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ - $(INSTALL_DATA) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ - done -## install the libltdl files - @list='$(pkgltdl_files)' && for p in $$list; do \ - d=`echo "$(DESTDIR)$(pkgdatadir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - echo " $(INSTALL_DATA) '$(ltdldir)/$$p' '$(DESTDIR)$(pkgdatadir)/$$p'"; \ - $(INSTALL_DATA) "$(ltdldir)/$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \ - done - chmod a+x '$(DESTDIR)$(pkgdatadir)/configure' - -.PHONY: install-scripts-local -install-scripts-local: $(lt_Makefile_in) -## Inline helper-scripts for installed libtoolize script - @p=`echo libtoolize |sed -e '$(transform)'`; \ - echo " $(SCRIPT_ENV) '$(inline_source)' libtoolize > '$(DESTDIR)$(bindir)/$$p'"; \ - d=`echo "$(DESTDIR)$(bindir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - $(SCRIPT_ENV) '$(inline_source)' libtoolize > "$(DESTDIR)$(bindir)/$$p"; \ - chmod a+x "$(DESTDIR)$(bindir)/$$p" - - -## ------------- ## -## Distribution. ## -## ------------- ## - -edit_readme_alpha = $(srcdir)/$(aux_dir)/edit-readme-alpha -gitlog_to_changelog = $(srcdir)/$(aux_dir)/gitlog-to-changelog -git_log_fix = $(srcdir)/$(aux_dir)/git-log-fix -thanks_gen = $(srcdir)/$(aux_dir)/thanks-gen - -dotserial = $(distdir)/.serial -dotversion = $(top_srcdir)/.version -tarball_version = $(distdir)/.tarball-version -readme = $(distdir)/README -changelog = $(distdir)/ChangeLog -changelog_old = $(srcdir)/ChangeLog.old -thanks = $(distdir)/THANKS -no_thanks = $(srcdir)/NO-THANKS - -# Generate ChangeLog using git log entries for as far back as -# they are in good shape, appending manual records from earlier. -changelog_start_date = 2011-01-01 -$(changelog): FORCE - $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ - TZ=UTC $(gitlog_to_changelog) --amend=$(git_log_fix) \ - --ignore-matching=Omit-from-ChangeLog. \ - --format='%s%n%n%b%n' \ - --since=$(changelog_start_date) > '$@T'; \ - rm -f '$@'; mv '$@T' '$@'; \ - cat '$(changelog_old)' >> '$@'; \ - fi - -# Sort in traditional ASCII order, regardless of the current locale; -# otherwise we may get into trouble with distinct strings that the -# current locale considers to be equal. -ASSORT = LC_ALL=C sort - -# Extract all lines up to the first one starting with "##". -prologue = perl -ne '/^\#\#/ and exit; print' $(no_thanks) - -# Generate THANKS using git log entries as far as possible, fixing -# up ommisions and errors from NO-THANKS configuration. -$(thanks): FORCE - $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ - { \ - $(prologue); echo; \ - { perl -ne '/^$$/.../^$$/ and print' $(no_thanks) \ - | grep -v '^$$' | perl -pe 's/ +/\0/'; \ - { sed -e '1,/\#\# /d' -e '/^\#\# /d' \ - -e 's|[ ][ ]*| |' < $(no_thanks) \ - | tr '\t' '\0'; \ - git log --pretty=format:'%aN%x00%aE'; \ - } | $(ASSORT) -u; \ - } | $(thanks_gen) \ - | LC_ALL=en_US.UTF-8 sort -f; \ - echo; \ - printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \ - } > '$@'; \ - fi - -## Arrange so that .version appears only in the distribution -## tarball, and never in a checked-out repository. -EXTRA_DIST += $(dotversion) -BUILT_SOURCES += $(dotversion) -$(dotversion): - $(AM_V_GEN)echo '$(VERSION)' > '$@T' && mv '$@T' '$@' - -## Edit the README file for alpha releases. -EXTRA_DIST += $(edit_readme_alpha) -re_alpha_version = '\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*[-\.][-\.0-9a-z]*\)' -$(readme): FORCE - @if test -n "`expr $(VERSION) : $(re_alpha_version)`"; then \ - if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ - then echo " GEN " $@; \ - else echo "$(SHELL) $(edit_readme_alpha) $@"; fi; \ - $(SHELL) $(edit_readme_alpha) '$@'; \ - fi - -git_commit_count = git log --pretty=oneline |wc -l |$(SED) 's|[ ]||g' - -dist-hook: $(changelog) $(thanks) $(dotversion) $(readme) -## Arrange so that .tarball-version appears only in the distribution -## tarball, and never in a checked-out repository. - echo '$(VERSION)' > $(tarball_version) -## ...and similarly for .serial. - $(git_commit_count) > $(dotserial) -## Ensure aclocal has not wrongly picked up old macro definitions. - $(no_bogus_macros) - -distcheck-hook: syntax-check - -uninstall-hook: - @$(NORMAL_UNINSTALL) - @list='$(pkgltdl_files)'; \ - for f in $$list; do \ - echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ - rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ - done - @list='$(pkgaux_scripts) $(pkgaux_data_files)'; \ - for f in $$list; do \ - echo " rm -f '$(DESTDIR)$(pkgauxdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pkgauxdir)/$$f"; \ - done - @for p in $(pkgmacro_files); do \ - f=`echo "$$p" |$(SED) 's|^.*/||'`; \ - echo " rm -f '$(DESTDIR)$(aclocaldir)/$$f'"; \ - rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \ - done - @p=`echo libtoolize |sed -e '$(transform)'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$p'"; \ - rm -f "$(DESTDIR)$(bindir)/$$p" - - -## ----------- ## -## Test suite. ## -## ----------- ## - -tests_dir = $(top_srcdir)/tests -package_m4 = $(tests_dir)/package.m4 -testsuite = $(tests_dir)/testsuite - -# The testsuite files are evaluated in the order given here. When -# adding new tests, make sure cmdline_wrap.at stays at the end so -# that it can check for previous failures and skip if necessary. -TESTSUITE = tests/testsuite -TESTSUITE_AT = tests/testsuite.at \ - tests/configure-funcs.at \ - tests/libtoolize.at \ - tests/libtool.at \ - tests/demo.at \ - tests/pic_flag.at \ - tests/with-pic.at \ - tests/cdemo.at \ - tests/convenience.at \ - tests/depdemo.at \ - tests/help.at \ - tests/duplicate_members.at \ - tests/duplicate_conv.at \ - tests/duplicate_deps.at \ - tests/flags.at \ - tests/inherited_flags.at \ - tests/link-order.at \ - tests/link-order2.at \ - tests/fail.at \ - tests/shlibpath.at \ - tests/runpath-in-lalib.at \ - tests/static.at \ - tests/export.at \ - tests/export-def.at \ - tests/search-path.at \ - tests/indirect_deps.at \ - tests/archive-in-archive.at \ - tests/exeext.at \ - tests/execute-mode.at \ - tests/bindir.at \ - tests/cwrapper.at \ - tests/deplib-in-subdir.at \ - tests/infer-tag.at \ - tests/localization.at \ - tests/nocase.at \ - tests/install.at \ - tests/versioning.at \ - tests/destdir.at \ - tests/old-m4-iface.at \ - tests/am-subdir.at \ - tests/lt_dlexit.at \ - tests/lt_dladvise.at \ - tests/lt_dlopen.at \ - tests/lt_dlopen_a.at \ - tests/lt_dlopenext.at \ - tests/ltdl-libdir.at \ - tests/ltdl-api.at \ - tests/dlloader-api.at \ - tests/loadlibrary.at \ - tests/lalib-syntax.at \ - tests/resident.at \ - tests/slist.at \ - tests/need_lib_prefix.at \ - tests/mdemo.at \ - tests/standalone.at \ - tests/subproject.at \ - tests/nonrecursive.at \ - tests/recursive.at \ - tests/tagdemo.at \ - tests/template.at \ - tests/ctor.at \ - tests/exceptions.at \ - tests/early-libtool.at \ - tests/no-executables.at \ - tests/deplibs-ident.at \ - tests/configure-iface.at \ - tests/f77demo.at \ - tests/fcdemo.at \ - tests/darwin.at \ - tests/dumpbin-symbols.at \ - tests/deplibs-mingw.at \ - tests/sysroot.at \ - tests/stresstest.at \ - tests/cmdline_wrap.at \ - $(NOTHING_ELSE) - -EXTRA_DIST += $(testsuite) $(TESTSUITE_AT) $(package_m4) - -# Be sure to reexport important environment variables: -TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ - CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ - LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ - AR="$(AR)" \ - EGREP="$(EGREP)" FGREP="$(FGREP)" GREP="$(GREP)" SED="$(SED)" \ - STRIP="$(STRIP)" lt_INSTALL="$(INSTALL)" \ - MANIFEST_TOOL="$(MANIFEST_TOOL)" \ - OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" \ - SHELL="$(SHELL)" CONFIG_SHELL="$(SHELL)" \ - CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CXXCPP="$(CXXCPP)" \ - F77="$(F77)" FFLAGS="$(FFLAGS)" \ - FC="$(FC)" FCFLAGS="$(FCFLAGS)" \ - GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \ - lt_cv_with_aix_soname="$(with_aix_soname)" \ - lt_cv_to_host_file_cmd="$(to_host_file_cmd)" \ - lt_cv_to_tool_file_cmd="$(to_tool_file_cmd)" - -BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \ - LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \ - LIBTOOL="$(abs_top_builddir)/libtool" \ - tst_aclocaldir="$(abs_top_srcdir)/m4" - -INSTALLCHECK_ENVIRONMENT = \ - LIBTOOLIZE="$(bindir)/`echo libtoolize |$(SED) '$(program_transform_name)'`" \ - LIBTOOL="$(bindir)/`echo libtool |$(SED) '$(program_transform_name)'`" \ - LTDLINCL="-I$(includedir)" \ - LIBLTDL="$(libdir)/libltdl.la" \ - tst_aclocaldir="$(aclocaldir)" - -$(testsuite): $(package_m4) $(TESTSUITE_AT) Makefile.am - $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -I '$(srcdir)/tests' $(TESTSUITE_AT) -o '$@' - -$(package_m4): $(dotversion) Makefile.am - $(AM_V_GEN){ \ - echo '# Signature of the current package.'; \ - echo 'm4_define([AT_PACKAGE_NAME], [$(PACKAGE_NAME)])'; \ - echo 'm4_define([AT_PACKAGE_TARNAME], [$(PACKAGE_TARNAME)])'; \ - echo 'm4_define([AT_PACKAGE_VERSION], [$(PACKAGE_VERSION)])'; \ - echo 'm4_define([AT_PACKAGE_STRING], [$(PACKAGE_STRING)])'; \ - echo 'm4_define([AT_PACKAGE_BUGREPORT], [$(PACKAGE_BUGREPORT)])'; \ - echo 'm4_define([AT_PACKAGE_URL], [$(PACKAGE_URL)])'; \ - } > '$@' - -tests/atconfig: $(config_status) - $(AM_V_GEN)$(SHELL) '$(config_status)' '$@' - -DISTCLEANFILES += tests/atconfig - -CD_TESTDIR = abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; cd tests - -testsuite_deps = tests/atconfig $(srcdir)/$(TESTSUITE) -testsuite_deps_uninstalled = $(testsuite_deps) libltdl/libltdlc.la \ - $(bin_SCRIPTS) $(LTDL_BOOTSTRAP_DEPS) - -# Hook the test suite into the check rule -check-local: $(testsuite_deps_uninstalled) - $(AM_V_at)$(CD_TESTDIR); \ - CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ - $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) - -# Run the test suite on the *installed* tree. -installcheck-local: $(testsuite_deps) - $(AM_V_at)$(CD_TESTDIR); \ - CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ - $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ - AUTOTEST_PATH='$(exec_prefix)/bin' - -.PHONY: check-noninteractive-old -check-noninteractive-old: - $(AM_V_at)'$(MAKE)' $(AM_MAKEFLAGS) check-TESTS TESTS='$(TESTS)' - -# Run only noninteractive parts of the new testsuite. -.PHONY: check-noninteractive-new -check-noninteractive-new: $(testsuite_deps_uninstalled) - $(AM_V_at)$(CD_TESTDIR); \ - CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ - $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ - -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \ - $(TESTSUITEFLAGS) - -# Run only interactive parts of the new testsuite. -.PHONY: check-interactive -check-interactive: $(testsuite_deps_uninstalled) - $(AM_V_at)$(CD_TESTDIR); \ - CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ - $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ - -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \ - $(TESTSUITEFLAGS) - -.PHONY: check-noninteractive -check-noninteractive: check-noninteractive-old check-noninteractive-new - -# We need to remove any file droppings left behind by testsuite -clean-local: - -$(CD_TESTDIR); \ - test -f "$$abs_srcdir/$(TESTSUITE)" && \ - '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" --clean - -## An empty target to depend on when a rule needs to always run -## whenever it is visited. -FORCE: diff --git a/BUILD/libtool-2.4.7/Makefile.in b/BUILD/libtool-2.4.7/Makefile.in deleted file mode 100644 index a6a0178..0000000 --- a/BUILD/libtool-2.4.7/Makefile.in +++ /dev/null @@ -1,2592 +0,0 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -##### - -##### - - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@INSTALL_LTDL_TRUE@am__append_1 = libltdl/ltdl.h -@INSTALL_LTDL_TRUE@am__append_2 = libltdl/libltdl.la -@CONVENIENCE_LTDL_TRUE@am__append_3 = libltdl/libltdlc.la -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/autobuild.m4 \ - $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/zzgnulib.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(srcdir)/doc/version.texi \ - $(srcdir)/doc/stamp-vti $(am__include_HEADERS_DIST) \ - $(am__ltdlinclude_HEADERS_DIST) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \ - "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) -libltdl_dld_link_la_DEPENDENCIES = -am__dirstamp = $(am__leading_dot)dirstamp -am_libltdl_dld_link_la_OBJECTS = libltdl/loaders/dld_link.lo -libltdl_dld_link_la_OBJECTS = $(am_libltdl_dld_link_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -libltdl_dld_link_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libltdl_dld_link_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__DEPENDENCIES_1 = -libltdl_dlopen_la_DEPENDENCIES = $(am__DEPENDENCIES_1) -am_libltdl_dlopen_la_OBJECTS = libltdl/loaders/dlopen.lo -libltdl_dlopen_la_OBJECTS = $(am_libltdl_dlopen_la_OBJECTS) -libltdl_dlopen_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libltdl_dlopen_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -libltdl_dyld_la_LIBADD = -am_libltdl_dyld_la_OBJECTS = libltdl/loaders/dyld.lo -libltdl_dyld_la_OBJECTS = $(am_libltdl_dyld_la_OBJECTS) -libltdl_dyld_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libltdl_dyld_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -LIBOBJDIR = libltdl/ -am_libltdl_libltdl_la_OBJECTS = libltdl/loaders/libltdl_la-preopen.lo \ - libltdl/libltdl_la-lt__alloc.lo \ - libltdl/libltdl_la-lt_dlloader.lo \ - libltdl/libltdl_la-lt_error.lo libltdl/libltdl_la-ltdl.lo \ - libltdl/libltdl_la-slist.lo -libltdl_libltdl_la_OBJECTS = $(am_libltdl_libltdl_la_OBJECTS) -libltdl_libltdl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libltdl_libltdl_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -@INSTALL_LTDL_TRUE@am_libltdl_libltdl_la_rpath = -rpath $(libdir) -am__objects_1 = libltdl/loaders/libltdlc_la-preopen.lo \ - libltdl/libltdlc_la-lt__alloc.lo \ - libltdl/libltdlc_la-lt_dlloader.lo \ - libltdl/libltdlc_la-lt_error.lo libltdl/libltdlc_la-ltdl.lo \ - libltdl/libltdlc_la-slist.lo -am_libltdl_libltdlc_la_OBJECTS = $(am__objects_1) -libltdl_libltdlc_la_OBJECTS = $(am_libltdl_libltdlc_la_OBJECTS) -libltdl_libltdlc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libltdl_libltdlc_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -@CONVENIENCE_LTDL_TRUE@am_libltdl_libltdlc_la_rpath = -libltdl_load_add_on_la_LIBADD = -am_libltdl_load_add_on_la_OBJECTS = libltdl/loaders/load_add_on.lo -libltdl_load_add_on_la_OBJECTS = $(am_libltdl_load_add_on_la_OBJECTS) -libltdl_load_add_on_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libltdl_load_add_on_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libltdl_loadlibrary_la_LIBADD = -am_libltdl_loadlibrary_la_OBJECTS = libltdl/loaders/loadlibrary.lo -libltdl_loadlibrary_la_OBJECTS = $(am_libltdl_loadlibrary_la_OBJECTS) -libltdl_loadlibrary_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libltdl_loadlibrary_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libltdl_shl_load_la_DEPENDENCIES = $(am__DEPENDENCIES_1) -am_libltdl_shl_load_la_OBJECTS = libltdl/loaders/shl_load.lo -libltdl_shl_load_la_OBJECTS = $(am_libltdl_shl_load_la_OBJECTS) -libltdl_shl_load_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libltdl_shl_load_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -SCRIPTS = $(bin_SCRIPTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo \ - libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo \ - libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo \ - libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo \ - libltdl/$(DEPDIR)/libltdl_la-slist.Plo \ - libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo \ - libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo \ - libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo \ - libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo \ - libltdl/$(DEPDIR)/libltdlc_la-slist.Plo \ - libltdl/$(DEPDIR)/lt__argz.Plo \ - libltdl/$(DEPDIR)/lt__dirent.Plo \ - libltdl/$(DEPDIR)/lt__strl.Plo \ - libltdl/loaders/$(DEPDIR)/dld_link.Plo \ - libltdl/loaders/$(DEPDIR)/dlopen.Plo \ - libltdl/loaders/$(DEPDIR)/dyld.Plo \ - libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo \ - libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo \ - libltdl/loaders/$(DEPDIR)/load_add_on.Plo \ - libltdl/loaders/$(DEPDIR)/loadlibrary.Plo \ - libltdl/loaders/$(DEPDIR)/shl_load.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libltdl_dld_link_la_SOURCES) $(libltdl_dlopen_la_SOURCES) \ - $(libltdl_dyld_la_SOURCES) $(libltdl_libltdl_la_SOURCES) \ - $(libltdl_libltdlc_la_SOURCES) \ - $(libltdl_load_add_on_la_SOURCES) \ - $(libltdl_loadlibrary_la_SOURCES) \ - $(libltdl_shl_load_la_SOURCES) -DIST_SOURCES = $(libltdl_dld_link_la_SOURCES) \ - $(libltdl_dlopen_la_SOURCES) $(libltdl_dyld_la_SOURCES) \ - $(libltdl_libltdl_la_SOURCES) $(libltdl_libltdlc_la_SOURCES) \ - $(libltdl_load_add_on_la_SOURCES) \ - $(libltdl_loadlibrary_la_SOURCES) \ - $(libltdl_shl_load_la_SOURCES) -AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) -am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) -am__v_DVIPS_0 = @echo " DVIPS " $@; -am__v_DVIPS_1 = -AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@) -am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@) -am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; -am__v_MAKEINFO_1 = -AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@) -am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@) -am__v_INFOHTML_0 = @echo " INFOHTML" $@; -am__v_INFOHTML_1 = -AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@) -am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@) -am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@; -am__v_TEXI2DVI_1 = -AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@) -am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@) -am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@; -am__v_TEXI2PDF_1 = -AM_V_texinfo = $(am__v_texinfo_@AM_V@) -am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@) -am__v_texinfo_0 = -q -am__v_texinfo_1 = -AM_V_texidevnull = $(am__v_texidevnull_@AM_V@) -am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) -am__v_texidevnull_0 = > /dev/null -am__v_texidevnull_1 = -INFO_DEPS = $(srcdir)/doc/libtool.info -TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex -am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux -DVIS = doc/libtool.dvi -PDFS = doc/libtool.pdf -PSS = doc/libtool.ps -HTMLS = doc/libtool.html -TEXINFOS = doc/libtool.texi -TEXI2DVI = texi2dvi -TEXI2PDF = $(TEXI2DVI) --pdf --batch -MAKEINFOHTML = $(MAKEINFO) --html -AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) -DVIPS = dvips -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(dist_man1_MANS) -am__include_HEADERS_DIST = libltdl/ltdl.h -am__ltdlinclude_HEADERS_DIST = libltdl/libltdl/lt_system.h \ - libltdl/libltdl/lt_error.h libltdl/libltdl/lt_dlloader.h -HEADERS = $(include_HEADERS) $(ltdlinclude_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config-h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -am__DIST_COMMON = $(dist_man1_MANS) $(doc_libtool_TEXINFOS) \ - $(srcdir)/Makefile.in $(srcdir)/config-h.in \ - $(srcdir)/libltdl/ltdl.mk $(top_srcdir)/build-aux/compile \ - $(top_srcdir)/build-aux/config.guess \ - $(top_srcdir)/build-aux/config.sub \ - $(top_srcdir)/build-aux/depcomp \ - $(top_srcdir)/build-aux/install-sh \ - $(top_srcdir)/build-aux/ltmain.sh \ - $(top_srcdir)/build-aux/mdate-sh \ - $(top_srcdir)/build-aux/missing \ - $(top_srcdir)/build-aux/texinfo.tex \ - $(top_srcdir)/libltdl/lt__argz.c \ - $(top_srcdir)/libltdl/lt__dirent.c \ - $(top_srcdir)/libltdl/lt__strl.c AUTHORS COPYING ChangeLog \ - INSTALL NEWS README THANKS TODO build-aux/compile \ - build-aux/config.guess build-aux/config.sub build-aux/depcomp \ - build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \ - build-aux/missing build-aux/texinfo.tex -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz -GZIP_ENV = --best -DIST_TARGETS = dist-xz dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -pkgdatadir = @pkgdatadir@ -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ARFLAGS = @ARFLAGS@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AUTOTEST = @AUTOTEST@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_INCLUDE = @CONFIG_INCLUDE@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FC = @FC@ -FCFLAGS = @FCFLAGS@ -FFLAGS = @FFLAGS@ -FGREP = @FGREP@ -FILECMD = @FILECMD@ -GCJ = @GCJ@ -GCJFLAGS = @GCJFLAGS@ -GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@ -GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@ -GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@ -GL_LIBOBJDEPS = @GL_LIBOBJDEPS@ -GL_LIBOBJS = @GL_LIBOBJS@ -GL_LTLIBOBJS = @GL_LTLIBOBJS@ -GLtests_LIBOBJDEPS = @GLtests_LIBOBJDEPS@ -GLtests_LIBOBJS = @GLtests_LIBOBJS@ -GLtests_LTLIBOBJS = @GLtests_LTLIBOBJS@ -GLtests_WITNESS = @GLtests_WITNESS@ -GOC = @GOC@ -GREP = @GREP@ -HELP2MAN = @HELP2MAN@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBADD_DL = @LIBADD_DL@ -LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ -LIBADD_DLOPEN = @LIBADD_DLOPEN@ -LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTDLOPEN = @LTDLOPEN@ -LTLIBOBJS = @LTLIBOBJS@ -LT_ARGZ_H = @LT_ARGZ_H@ -LT_CONFIG_H = @LT_CONFIG_H@ -LT_DLLOADERS = @LT_DLLOADERS@ -LT_DLPREOPEN = @LT_DLPREOPEN@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -M4 = @M4@ -M4_DEBUGFILE = @M4_DEBUGFILE@ -M4_GNU = @M4_GNU@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_aux_dir = `$(lt__cd) '$(srcdir)/$(aux_dir)' && pwd` -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_FC = @ac_ct_FC@ -aclocaldir = @aclocaldir@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -aux_dir = @aux_dir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -ltdl_dir = @ltdl_dir@ -macro_dir = @macro_dir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -package_revision = @package_revision@ -pdfdir = @pdfdir@ -pkgaux_scripts = @pkgaux_scripts@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sys_symbol_underscore = @sys_symbol_underscore@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -to_host_file_cmd = @to_host_file_cmd@ -to_tool_file_cmd = @to_tool_file_cmd@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -with_aix_soname = @with_aix_soname@ -ACLOCAL_AMFLAGS = -I m4 - -# -I$(srcdir) is needed for user that built libltdl with a sub-Automake -# (not as a sub-package!) using 'nostdinc': -AM_CPPFLAGS = -DLT_CONFIG_H='<$(LT_CONFIG_H)>' -DLTDL -I. -I$(srcdir) \ - -Ilibltdl -I$(srcdir)/libltdl -Ilibltdl/libltdl \ - -I$(srcdir)/libltdl/libltdl -AM_LDFLAGS = -no-undefined -SUBDIRS = . gnulib-tests -DIST_SUBDIRS = $(SUBDIRS) -EXTRA_DIST = bootstrap bootstrap.conf $(build_scripts) cfg.mk maint.mk \ - GNUmakefile $(extract_trace) $(funclib_sh) $(inline_source) \ - $(libtoolize_in) $(ltmain_in) $(ltmain_sh) $(ltversion_in) \ - $(ltversion_m4) $(no_bogus_macros) $(options_parser) \ - $(u2d_copyright) libltdl/lt__dirent.c libltdl/lt__strl.c \ - libltdl/COPYING.LIB libltdl/README libltdl/libltdl/lt__argz_.h \ - libltdl/lt__argz.c $(lt_aclocal_m4) $(lt_configure) \ - $(lt_configure_ac) $(lt_config_h_in) $(lt_Makefile_am) \ - $(lt_Makefile_in) $(lt_obsolete_m4) $(stamp_mk) \ - $(doc_dir)/gendocs_template $(notes_txt) $(dotversion) \ - $(edit_readme_alpha) $(testsuite) $(TESTSUITE_AT) \ - $(package_m4) -BUILT_SOURCES = libtool libtoolize libltdl/libltdl/$(LT_ARGZ_H) \ - $(dotversion) -CLEANFILES = libtool libtoolize libltdl/libltdl.la libltdl/libltdlc.la \ - libltdl/libdlloader.la $(LIBOBJS) $(LTLIBOBJS) -MOSTLYCLEANFILES = libltdl/libltdl/lt__argz.h \ - libltdl/libltdl/lt__argz.h-t -DISTCLEANFILES = libtool.dvi tests/atconfig -MAINTAINERCLEANFILES = $(dist_man1_MANS) -include_HEADERS = $(am__append_1) -noinst_LTLIBRARIES = $(LT_DLLOADERS) $(am__append_3) -lib_LTLIBRARIES = $(am__append_2) -EXTRA_LTLIBRARIES = libltdl/dlopen.la libltdl/dld_link.la \ - libltdl/dyld.la libltdl/load_add_on.la libltdl/loadlibrary.la \ - libltdl/shl_load.la - -# Using 'cd' in backquotes may print the directory name, use this instead: -lt__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version' -rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'` - -# ---------- # -# Bootstrap. # -# ---------- # -SCRIPT_ENV = GREP='$(GREP)' SED='$(SED)' -build_scripts = $(srcdir)/$(aux_dir)/announce-gen \ - $(srcdir)/$(aux_dir)/do-release-commit-and-tag \ - $(srcdir)/$(aux_dir)/gendocs.sh \ - $(srcdir)/$(aux_dir)/git-version-gen \ - $(srcdir)/$(aux_dir)/gnu-web-doc-update \ - $(srcdir)/$(aux_dir)/gnupload \ - $(srcdir)/$(aux_dir)/useless-if-before-free \ - $(srcdir)/$(aux_dir)/vc-list-files - -configure_ac = $(srcdir)/configure.ac -config_status = $(top_builddir)/config.status -extract_trace = $(srcdir)/$(aux_dir)/extract-trace -funclib_sh = $(srcdir)/$(aux_dir)/funclib.sh -inline_source = $(srcdir)/$(aux_dir)/inline-source -libtoolize_in = $(srcdir)/libtoolize.in -ltmain_sh = $(srcdir)/$(aux_dir)/ltmain.sh -ltmain_in = $(srcdir)/$(aux_dir)/ltmain.in -libtool_m4 = $(srcdir)/$(macro_dir)/libtool.m4 -ltversion_in = $(srcdir)/$(macro_dir)/ltversion.in -ltversion_m4 = $(srcdir)/$(macro_dir)/ltversion.m4 -no_bogus_macros = $(srcdir)/$(aux_dir)/no-bogus-m4-defines -options_parser = $(srcdir)/$(aux_dir)/options-parser -u2d_copyright = $(srcdir)/$(aux_dir)/update-copyright -bootstrap_edit = $(SED) \ - -e 's|@MACRO_VERSION\@|$(VERSION)|g' \ - -e "s|@MACRO_REVISION\@|$$revision|g" \ - -e "s|@MACRO_SERIAL\@|$$serial|g" \ - -e 's|@PACKAGE\@|$(PACKAGE)|g' \ - -e 's|@PACKAGE_BUGREPORT\@|$(PACKAGE_BUGREPORT)|g' \ - -e 's|@PACKAGE_URL\@|$(PACKAGE_URL)|g' \ - -e 's|@PACKAGE_NAME\@|$(PACKAGE_NAME)|g' \ - -e "s|@package_revision\@|$$revision|g" \ - -e 's|@PACKAGE_STRING\@|$(PACKAGE_NAME) $(VERSION)|g' \ - -e 's|@PACKAGE_TARNAME\@|$(PACKAGE)|g' \ - -e 's|@PACKAGE_VERSION\@|$(VERSION)|g' \ - -e 's|@VERSION\@|$(VERSION)|g' - -lt_Makefile_am = $(srcdir)/$(ltdl_dir)/Makefile.am -lt_Makefile_in = $(srcdir)/$(ltdl_dir)/Makefile.in -ltdl_mk = $(srcdir)/$(ltdl_dir)/ltdl.mk -bootstrap_files = \ - $(lt_Makefile_am) \ - $(ltmain_sh) \ - $(ltversion_m4) - -LTDL_BOOTSTRAP_DEPS = \ - $(stamp_mk) \ - $(lt_aclocal_m4) \ - $(lt_config_h_in) \ - $(lt_configure) - -ltdl_ac_aux_dir = `$(SCRIPT_ENV) $(extract_trace) AC_CONFIG_AUX_DIR $(srcdir)/libltdl/configure.ac` -configure_edit = $(bootstrap_edit) \ - -e '/^\. /s|@auxscriptsdir\@|'$(abs_aux_dir)'|g' \ - -e 's|@aclocaldir\@|$(aclocaldir)|g' \ - -e 's|@aux_dir\@|$(aux_dir)|g' \ - -e 's|@datadir\@|$(datadir)|g' \ - -e 's|@EGREP\@|$(EGREP)|g' \ - -e 's|@FGREP\@|$(FGREP)|g' \ - -e 's|@GREP\@|$(GREP)|g' \ - -e 's|@host_triplet\@|$(host_triplet)|g' \ - -e 's|@LN_S\@|$(LN_S)|g' \ - -e "s|@ltdl_ac_aux_dir\@|$(ltdl_ac_aux_dir)|g" \ - -e 's|@macro_dir\@|$(macro_dir)|g' \ - -e 's|@pkgauxdir\@|$(pkgauxdir)|g' \ - -e 's|@pkgaux_files\@|$(pkgaux_scripts) $(pkgaux_data_files)|g' \ - -e 's|@pkgaux_install_files\@|$(pkgaux_install_files)|g' \ - -e 's|@pkgaux_parent_files\@|$(pkgaux_parent_files)|g' \ - -e 's|@pkgdatadir\@|$(pkgdatadir)|g' \ - -e 's|@pkgltdl_files\@|$(pkgltdl_files)|g' \ - -e 's|@pkgmacro_files\@|$(pkgmacro_files)|g' \ - -e 's|@prefix\@|$(prefix)|g' \ - -e 's|@SED\@|$(SED)|g' \ - -e 's|@srcdir\@|$(srcdir)|g' - - -# The libtool distributor and the standalone libtool script. -bin_SCRIPTS = libtool -LTDL_VERSION_INFO = -version-info 10:2:3 -@INSTALL_LTDL_TRUE@ltdlincludedir = $(includedir)/libltdl -@INSTALL_LTDL_TRUE@ltdlinclude_HEADERS = libltdl/libltdl/lt_system.h \ -@INSTALL_LTDL_TRUE@ libltdl/libltdl/lt_error.h \ -@INSTALL_LTDL_TRUE@ libltdl/libltdl/lt_dlloader.h - -libltdl_libltdl_la_SOURCES = libltdl/libltdl/lt__alloc.h \ - libltdl/libltdl/lt__dirent.h \ - libltdl/libltdl/lt__glibc.h \ - libltdl/libltdl/lt__private.h \ - libltdl/libltdl/lt__strl.h \ - libltdl/libltdl/lt_dlloader.h \ - libltdl/libltdl/lt_error.h \ - libltdl/libltdl/lt_system.h \ - libltdl/libltdl/slist.h \ - libltdl/loaders/preopen.c \ - libltdl/lt__alloc.c \ - libltdl/lt_dlloader.c \ - libltdl/lt_error.c \ - libltdl/ltdl.c \ - libltdl/ltdl.h \ - libltdl/slist.c - -libltdl_libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS) -libltdl_libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN) -libltdl_libltdl_la_LIBADD = $(LTLIBOBJS) -libltdl_libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS) -libltdl_libltdlc_la_SOURCES = $(libltdl_libltdl_la_SOURCES) -libltdl_libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS) -libltdl_libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN) -libltdl_libltdlc_la_LIBADD = $(libltdl_libltdl_la_LIBADD) -libltdl_libltdlc_la_DEPENDENCIES = $(libltdl_libltdl_la_DEPENDENCIES) -libltdl_dlopen_la_SOURCES = libltdl/loaders/dlopen.c -libltdl_dlopen_la_LDFLAGS = -module -avoid-version -libltdl_dlopen_la_LIBADD = $(LIBADD_DLOPEN) -libltdl_dld_link_la_SOURCES = libltdl/loaders/dld_link.c -libltdl_dld_link_la_LDFLAGS = -module -avoid-version -libltdl_dld_link_la_LIBADD = -ldld -libltdl_dyld_la_SOURCES = libltdl/loaders/dyld.c -libltdl_dyld_la_LDFLAGS = -module -avoid-version -libltdl_load_add_on_la_SOURCES = libltdl/loaders/load_add_on.c -libltdl_load_add_on_la_LDFLAGS = -module -avoid-version -libltdl_loadlibrary_la_SOURCES = libltdl/loaders/loadlibrary.c -libltdl_loadlibrary_la_LDFLAGS = -module -avoid-version -libltdl_shl_load_la_SOURCES = libltdl/loaders/shl_load.c -libltdl_shl_load_la_LDFLAGS = -module -avoid-version -libltdl_shl_load_la_LIBADD = $(LIBADD_SHL_LOAD) -lt_aclocal_m4 = $(srcdir)/$(ltdl_dir)/aclocal.m4 -lt_config_h_in = $(srcdir)/$(ltdl_dir)/config-h.in -lt_configure = $(srcdir)/$(ltdl_dir)/configure -lt_configure_ac = $(srcdir)/$(ltdl_dir)/configure.ac -stamp_mk = $(srcdir)/$(ltdl_dir)/stamp-mk -lt_obsolete_m4 = $(srcdir)/$(macro_dir)/lt~obsolete.m4 -lt_aclocal_m4_deps = \ - $(lt_obsolete_m4) \ - $(ltversion_m4) \ - $(libtool_m4) \ - $(srcdir)/$(macro_dir)/ltargz.m4 \ - $(srcdir)/$(macro_dir)/ltdl.m4 \ - $(srcdir)/$(macro_dir)/ltoptions.m4 \ - $(srcdir)/$(macro_dir)/ltsugar.m4 \ - $(srcdir)/$(macro_dir)/m4.m4 \ - $(srcdir)/$(ltdl_dir)/configure.ac - -lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps) -doc_dir = $(srcdir)/doc -libtool_1 = $(doc_dir)/libtool.1 -libtoolize_1 = $(doc_dir)/libtoolize.1 -notes_texi = $(doc_dir)/notes.texi -notes_txt = $(doc_dir)/notes.txt - -# A bug in automake 1.11.1 (at least) prevents us from using: -# -# info_TEXINFOS = $(doc_dir)/libtool.texi -# -# Producing the following error, even though srcdir is implicitly set: -# "cannot open < ./$(srcdir)/doc/libtool.texi: No such file or directory" -info_TEXINFOS = doc/libtool.texi -doc_libtool_TEXINFOS = $(doc_dir)/PLATFORMS $(doc_dir)/fdl.texi \ - $(notes_texi) - -dist_man1_MANS = $(libtool_1) $(libtoolize_1) -update_mans = \ - PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \ - $(HELP2MAN) --output='$@' - -ltdldir = $(srcdir)/libltdl -pkgauxdir = $(pkgdatadir)/build-aux - -# The timestamps on these files must be preserved carefully so we install, -# uninstall and set executable with custom rules here. -pkgaux_parent_files = ltmain.sh -pkgaux_install_files = config.guess config.sub install-sh -pkgaux_data_files = $(pkgaux_parent_files) - -# Everything that gets picked up by aclocal is automatically distributed, -# this is the list of macro files we install on the user's system. -pkgmacro_files = libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 \ - ltversion.m4 lt~obsolete.m4 - -pkgltdl_files = COPYING.LIB \ - Makefile.am \ - README \ - configure.ac \ - aclocal.m4 \ - Makefile.in \ - config-h.in \ - configure \ - libltdl/lt__alloc.h \ - libltdl/lt__argz_.h \ - libltdl/lt__dirent.h \ - libltdl/lt__glibc.h \ - libltdl/lt__private.h \ - libltdl/lt__strl.h \ - libltdl/lt_dlloader.h \ - libltdl/lt_error.h \ - libltdl/lt_system.h \ - libltdl/slist.h \ - loaders/dld_link.c \ - loaders/dlopen.c \ - loaders/dyld.c \ - loaders/load_add_on.c \ - loaders/loadlibrary.c \ - loaders/preopen.c \ - loaders/shl_load.c \ - lt__alloc.c \ - lt__argz.c \ - lt__dirent.c \ - lt__strl.c \ - lt_dlloader.c \ - lt_error.c \ - ltdl.c \ - ltdl.h \ - ltdl.mk \ - slist.c - -edit_readme_alpha = $(srcdir)/$(aux_dir)/edit-readme-alpha -gitlog_to_changelog = $(srcdir)/$(aux_dir)/gitlog-to-changelog -git_log_fix = $(srcdir)/$(aux_dir)/git-log-fix -thanks_gen = $(srcdir)/$(aux_dir)/thanks-gen -dotserial = $(distdir)/.serial -dotversion = $(top_srcdir)/.version -tarball_version = $(distdir)/.tarball-version -readme = $(distdir)/README -changelog = $(distdir)/ChangeLog -changelog_old = $(srcdir)/ChangeLog.old -thanks = $(distdir)/THANKS -no_thanks = $(srcdir)/NO-THANKS - -# Generate ChangeLog using git log entries for as far back as -# they are in good shape, appending manual records from earlier. -changelog_start_date = 2011-01-01 - -# Sort in traditional ASCII order, regardless of the current locale; -# otherwise we may get into trouble with distinct strings that the -# current locale considers to be equal. -ASSORT = LC_ALL=C sort - -# Extract all lines up to the first one starting with "##". -prologue = perl -ne '/^\#\#/ and exit; print' $(no_thanks) -re_alpha_version = '\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*[-\.][-\.0-9a-z]*\)' -git_commit_count = git log --pretty=oneline |wc -l |$(SED) 's|[ ]||g' -tests_dir = $(top_srcdir)/tests -package_m4 = $(tests_dir)/package.m4 -testsuite = $(tests_dir)/testsuite - -# The testsuite files are evaluated in the order given here. When -# adding new tests, make sure cmdline_wrap.at stays at the end so -# that it can check for previous failures and skip if necessary. -TESTSUITE = tests/testsuite -TESTSUITE_AT = tests/testsuite.at \ - tests/configure-funcs.at \ - tests/libtoolize.at \ - tests/libtool.at \ - tests/demo.at \ - tests/pic_flag.at \ - tests/with-pic.at \ - tests/cdemo.at \ - tests/convenience.at \ - tests/depdemo.at \ - tests/help.at \ - tests/duplicate_members.at \ - tests/duplicate_conv.at \ - tests/duplicate_deps.at \ - tests/flags.at \ - tests/inherited_flags.at \ - tests/link-order.at \ - tests/link-order2.at \ - tests/fail.at \ - tests/shlibpath.at \ - tests/runpath-in-lalib.at \ - tests/static.at \ - tests/export.at \ - tests/export-def.at \ - tests/search-path.at \ - tests/indirect_deps.at \ - tests/archive-in-archive.at \ - tests/exeext.at \ - tests/execute-mode.at \ - tests/bindir.at \ - tests/cwrapper.at \ - tests/deplib-in-subdir.at \ - tests/infer-tag.at \ - tests/localization.at \ - tests/nocase.at \ - tests/install.at \ - tests/versioning.at \ - tests/destdir.at \ - tests/old-m4-iface.at \ - tests/am-subdir.at \ - tests/lt_dlexit.at \ - tests/lt_dladvise.at \ - tests/lt_dlopen.at \ - tests/lt_dlopen_a.at \ - tests/lt_dlopenext.at \ - tests/ltdl-libdir.at \ - tests/ltdl-api.at \ - tests/dlloader-api.at \ - tests/loadlibrary.at \ - tests/lalib-syntax.at \ - tests/resident.at \ - tests/slist.at \ - tests/need_lib_prefix.at \ - tests/mdemo.at \ - tests/standalone.at \ - tests/subproject.at \ - tests/nonrecursive.at \ - tests/recursive.at \ - tests/tagdemo.at \ - tests/template.at \ - tests/ctor.at \ - tests/exceptions.at \ - tests/early-libtool.at \ - tests/no-executables.at \ - tests/deplibs-ident.at \ - tests/configure-iface.at \ - tests/f77demo.at \ - tests/fcdemo.at \ - tests/darwin.at \ - tests/dumpbin-symbols.at \ - tests/deplibs-mingw.at \ - tests/sysroot.at \ - tests/stresstest.at \ - tests/cmdline_wrap.at \ - $(NOTHING_ELSE) - - -# Be sure to reexport important environment variables: -TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \ - CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \ - LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \ - AR="$(AR)" \ - EGREP="$(EGREP)" FGREP="$(FGREP)" GREP="$(GREP)" SED="$(SED)" \ - STRIP="$(STRIP)" lt_INSTALL="$(INSTALL)" \ - MANIFEST_TOOL="$(MANIFEST_TOOL)" \ - OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" \ - SHELL="$(SHELL)" CONFIG_SHELL="$(SHELL)" \ - CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CXXCPP="$(CXXCPP)" \ - F77="$(F77)" FFLAGS="$(FFLAGS)" \ - FC="$(FC)" FCFLAGS="$(FCFLAGS)" \ - GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)" \ - lt_cv_with_aix_soname="$(with_aix_soname)" \ - lt_cv_to_host_file_cmd="$(to_host_file_cmd)" \ - lt_cv_to_tool_file_cmd="$(to_tool_file_cmd)" - -BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \ - LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \ - LIBTOOL="$(abs_top_builddir)/libtool" \ - tst_aclocaldir="$(abs_top_srcdir)/m4" - -INSTALLCHECK_ENVIRONMENT = \ - LIBTOOLIZE="$(bindir)/`echo libtoolize |$(SED) '$(program_transform_name)'`" \ - LIBTOOL="$(bindir)/`echo libtool |$(SED) '$(program_transform_name)'`" \ - LTDLINCL="-I$(includedir)" \ - LIBLTDL="$(libdir)/libltdl.la" \ - tst_aclocaldir="$(aclocaldir)" - -CD_TESTDIR = abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; cd tests -testsuite_deps = tests/atconfig $(srcdir)/$(TESTSUITE) -testsuite_deps_uninstalled = $(testsuite_deps) libltdl/libltdlc.la \ - $(bin_SCRIPTS) $(LTDL_BOOTSTRAP_DEPS) - -all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .c .dvi .lo .o .obj .ps -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/libltdl/ltdl.mk $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; -$(srcdir)/libltdl/ltdl.mk $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config-h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config-h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libltdl/loaders/$(am__dirstamp): - @$(MKDIR_P) libltdl/loaders - @: > libltdl/loaders/$(am__dirstamp) -libltdl/loaders/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) libltdl/loaders/$(DEPDIR) - @: > libltdl/loaders/$(DEPDIR)/$(am__dirstamp) -libltdl/loaders/dld_link.lo: libltdl/loaders/$(am__dirstamp) \ - libltdl/loaders/$(DEPDIR)/$(am__dirstamp) -libltdl/$(am__dirstamp): - @$(MKDIR_P) libltdl - @: > libltdl/$(am__dirstamp) - -libltdl/dld_link.la: $(libltdl_dld_link_la_OBJECTS) $(libltdl_dld_link_la_DEPENDENCIES) $(EXTRA_libltdl_dld_link_la_DEPENDENCIES) libltdl/$(am__dirstamp) - $(AM_V_CCLD)$(libltdl_dld_link_la_LINK) $(libltdl_dld_link_la_OBJECTS) $(libltdl_dld_link_la_LIBADD) $(LIBS) -libltdl/loaders/dlopen.lo: libltdl/loaders/$(am__dirstamp) \ - libltdl/loaders/$(DEPDIR)/$(am__dirstamp) - -libltdl/dlopen.la: $(libltdl_dlopen_la_OBJECTS) $(libltdl_dlopen_la_DEPENDENCIES) $(EXTRA_libltdl_dlopen_la_DEPENDENCIES) libltdl/$(am__dirstamp) - $(AM_V_CCLD)$(libltdl_dlopen_la_LINK) $(libltdl_dlopen_la_OBJECTS) $(libltdl_dlopen_la_LIBADD) $(LIBS) -libltdl/loaders/dyld.lo: libltdl/loaders/$(am__dirstamp) \ - libltdl/loaders/$(DEPDIR)/$(am__dirstamp) - -libltdl/dyld.la: $(libltdl_dyld_la_OBJECTS) $(libltdl_dyld_la_DEPENDENCIES) $(EXTRA_libltdl_dyld_la_DEPENDENCIES) libltdl/$(am__dirstamp) - $(AM_V_CCLD)$(libltdl_dyld_la_LINK) $(libltdl_dyld_la_OBJECTS) $(libltdl_dyld_la_LIBADD) $(LIBS) -libltdl/lt__argz.$(OBJEXT): libltdl/$(am__dirstamp) -libltdl/lt__argz.lo: libltdl/$(am__dirstamp) -libltdl/lt__strl.$(OBJEXT): libltdl/$(am__dirstamp) -libltdl/lt__strl.lo: libltdl/$(am__dirstamp) -libltdl/lt__dirent.$(OBJEXT): libltdl/$(am__dirstamp) -libltdl/lt__dirent.lo: libltdl/$(am__dirstamp) -libltdl/loaders/libltdl_la-preopen.lo: \ - libltdl/loaders/$(am__dirstamp) \ - libltdl/loaders/$(DEPDIR)/$(am__dirstamp) -libltdl/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) libltdl/$(DEPDIR) - @: > libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdl_la-lt__alloc.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdl_la-lt_dlloader.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdl_la-lt_error.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdl_la-ltdl.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdl_la-slist.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) - -libltdl/libltdl.la: $(libltdl_libltdl_la_OBJECTS) $(libltdl_libltdl_la_DEPENDENCIES) $(EXTRA_libltdl_libltdl_la_DEPENDENCIES) libltdl/$(am__dirstamp) - $(AM_V_CCLD)$(libltdl_libltdl_la_LINK) $(am_libltdl_libltdl_la_rpath) $(libltdl_libltdl_la_OBJECTS) $(libltdl_libltdl_la_LIBADD) $(LIBS) -libltdl/loaders/libltdlc_la-preopen.lo: \ - libltdl/loaders/$(am__dirstamp) \ - libltdl/loaders/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdlc_la-lt__alloc.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdlc_la-lt_dlloader.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdlc_la-lt_error.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdlc_la-ltdl.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) -libltdl/libltdlc_la-slist.lo: libltdl/$(am__dirstamp) \ - libltdl/$(DEPDIR)/$(am__dirstamp) - -libltdl/libltdlc.la: $(libltdl_libltdlc_la_OBJECTS) $(libltdl_libltdlc_la_DEPENDENCIES) $(EXTRA_libltdl_libltdlc_la_DEPENDENCIES) libltdl/$(am__dirstamp) - $(AM_V_CCLD)$(libltdl_libltdlc_la_LINK) $(am_libltdl_libltdlc_la_rpath) $(libltdl_libltdlc_la_OBJECTS) $(libltdl_libltdlc_la_LIBADD) $(LIBS) -libltdl/loaders/load_add_on.lo: libltdl/loaders/$(am__dirstamp) \ - libltdl/loaders/$(DEPDIR)/$(am__dirstamp) - -libltdl/load_add_on.la: $(libltdl_load_add_on_la_OBJECTS) $(libltdl_load_add_on_la_DEPENDENCIES) $(EXTRA_libltdl_load_add_on_la_DEPENDENCIES) libltdl/$(am__dirstamp) - $(AM_V_CCLD)$(libltdl_load_add_on_la_LINK) $(libltdl_load_add_on_la_OBJECTS) $(libltdl_load_add_on_la_LIBADD) $(LIBS) -libltdl/loaders/loadlibrary.lo: libltdl/loaders/$(am__dirstamp) \ - libltdl/loaders/$(DEPDIR)/$(am__dirstamp) - -libltdl/loadlibrary.la: $(libltdl_loadlibrary_la_OBJECTS) $(libltdl_loadlibrary_la_DEPENDENCIES) $(EXTRA_libltdl_loadlibrary_la_DEPENDENCIES) libltdl/$(am__dirstamp) - $(AM_V_CCLD)$(libltdl_loadlibrary_la_LINK) $(libltdl_loadlibrary_la_OBJECTS) $(libltdl_loadlibrary_la_LIBADD) $(LIBS) -libltdl/loaders/shl_load.lo: libltdl/loaders/$(am__dirstamp) \ - libltdl/loaders/$(DEPDIR)/$(am__dirstamp) - -libltdl/shl_load.la: $(libltdl_shl_load_la_OBJECTS) $(libltdl_shl_load_la_DEPENDENCIES) $(EXTRA_libltdl_shl_load_la_DEPENDENCIES) libltdl/$(am__dirstamp) - $(AM_V_CCLD)$(libltdl_shl_load_la_LINK) $(libltdl_shl_load_la_OBJECTS) $(libltdl_shl_load_la_LIBADD) $(LIBS) -install-binSCRIPTS: $(bin_SCRIPTS) - @$(NORMAL_INSTALL) - @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f libltdl/*.$(OBJEXT) - -rm -f libltdl/*.lo - -rm -f libltdl/loaders/*.$(OBJEXT) - -rm -f libltdl/loaders/*.lo - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdl_la-slist.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/libltdlc_la-slist.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/lt__argz.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/lt__dirent.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/$(DEPDIR)/lt__strl.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/dld_link.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/dlopen.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/dyld.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/load_add_on.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/loadlibrary.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@libltdl/loaders/$(DEPDIR)/shl_load.Plo@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -libltdl/loaders/libltdl_la-preopen.lo: libltdl/loaders/preopen.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/loaders/libltdl_la-preopen.lo -MD -MP -MF libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Tpo -c -o libltdl/loaders/libltdl_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo '$(srcdir)/'`libltdl/loaders/preopen.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Tpo libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/loaders/preopen.c' object='libltdl/loaders/libltdl_la-preopen.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/loaders/libltdl_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo '$(srcdir)/'`libltdl/loaders/preopen.c - -libltdl/libltdl_la-lt__alloc.lo: libltdl/lt__alloc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-lt__alloc.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Tpo -c -o libltdl/libltdl_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo '$(srcdir)/'`libltdl/lt__alloc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Tpo libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt__alloc.c' object='libltdl/libltdl_la-lt__alloc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo '$(srcdir)/'`libltdl/lt__alloc.c - -libltdl/libltdl_la-lt_dlloader.lo: libltdl/lt_dlloader.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-lt_dlloader.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Tpo -c -o libltdl/libltdl_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo '$(srcdir)/'`libltdl/lt_dlloader.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Tpo libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt_dlloader.c' object='libltdl/libltdl_la-lt_dlloader.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo '$(srcdir)/'`libltdl/lt_dlloader.c - -libltdl/libltdl_la-lt_error.lo: libltdl/lt_error.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-lt_error.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-lt_error.Tpo -c -o libltdl/libltdl_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo '$(srcdir)/'`libltdl/lt_error.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-lt_error.Tpo libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt_error.c' object='libltdl/libltdl_la-lt_error.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo '$(srcdir)/'`libltdl/lt_error.c - -libltdl/libltdl_la-ltdl.lo: libltdl/ltdl.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-ltdl.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-ltdl.Tpo -c -o libltdl/libltdl_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo '$(srcdir)/'`libltdl/ltdl.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-ltdl.Tpo libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/ltdl.c' object='libltdl/libltdl_la-ltdl.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo '$(srcdir)/'`libltdl/ltdl.c - -libltdl/libltdl_la-slist.lo: libltdl/slist.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdl_la-slist.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdl_la-slist.Tpo -c -o libltdl/libltdl_la-slist.lo `test -f 'libltdl/slist.c' || echo '$(srcdir)/'`libltdl/slist.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdl_la-slist.Tpo libltdl/$(DEPDIR)/libltdl_la-slist.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/slist.c' object='libltdl/libltdl_la-slist.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdl_la-slist.lo `test -f 'libltdl/slist.c' || echo '$(srcdir)/'`libltdl/slist.c - -libltdl/loaders/libltdlc_la-preopen.lo: libltdl/loaders/preopen.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/loaders/libltdlc_la-preopen.lo -MD -MP -MF libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Tpo -c -o libltdl/loaders/libltdlc_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo '$(srcdir)/'`libltdl/loaders/preopen.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Tpo libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/loaders/preopen.c' object='libltdl/loaders/libltdlc_la-preopen.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/loaders/libltdlc_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo '$(srcdir)/'`libltdl/loaders/preopen.c - -libltdl/libltdlc_la-lt__alloc.lo: libltdl/lt__alloc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-lt__alloc.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Tpo -c -o libltdl/libltdlc_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo '$(srcdir)/'`libltdl/lt__alloc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Tpo libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt__alloc.c' object='libltdl/libltdlc_la-lt__alloc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo '$(srcdir)/'`libltdl/lt__alloc.c - -libltdl/libltdlc_la-lt_dlloader.lo: libltdl/lt_dlloader.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-lt_dlloader.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Tpo -c -o libltdl/libltdlc_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo '$(srcdir)/'`libltdl/lt_dlloader.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Tpo libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt_dlloader.c' object='libltdl/libltdlc_la-lt_dlloader.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo '$(srcdir)/'`libltdl/lt_dlloader.c - -libltdl/libltdlc_la-lt_error.lo: libltdl/lt_error.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-lt_error.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-lt_error.Tpo -c -o libltdl/libltdlc_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo '$(srcdir)/'`libltdl/lt_error.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-lt_error.Tpo libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/lt_error.c' object='libltdl/libltdlc_la-lt_error.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo '$(srcdir)/'`libltdl/lt_error.c - -libltdl/libltdlc_la-ltdl.lo: libltdl/ltdl.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-ltdl.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-ltdl.Tpo -c -o libltdl/libltdlc_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo '$(srcdir)/'`libltdl/ltdl.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-ltdl.Tpo libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/ltdl.c' object='libltdl/libltdlc_la-ltdl.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo '$(srcdir)/'`libltdl/ltdl.c - -libltdl/libltdlc_la-slist.lo: libltdl/slist.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl/libltdlc_la-slist.lo -MD -MP -MF libltdl/$(DEPDIR)/libltdlc_la-slist.Tpo -c -o libltdl/libltdlc_la-slist.lo `test -f 'libltdl/slist.c' || echo '$(srcdir)/'`libltdl/slist.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libltdl/$(DEPDIR)/libltdlc_la-slist.Tpo libltdl/$(DEPDIR)/libltdlc_la-slist.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libltdl/slist.c' object='libltdl/libltdlc_la-slist.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl/libltdlc_la-slist.lo `test -f 'libltdl/slist.c' || echo '$(srcdir)/'`libltdl/slist.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf libltdl/.libs libltdl/_libs - -rm -rf libltdl/loaders/.libs libltdl/loaders/_libs - -distclean-libtool: - -rm -f libtool config.lt -doc/$(am__dirstamp): - @$(MKDIR_P) doc - @: > doc/$(am__dirstamp) - -$(srcdir)/doc/libtool.info: doc/libtool.texi $(srcdir)/doc/version.texi $(doc_libtool_TEXINFOS) - $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - am__cwd=`pwd` && $(am__cd) $(srcdir) && \ - rm -rf $$backupdir && mkdir $$backupdir && \ - if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ - for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ - if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ - done; \ - else :; fi && \ - cd "$$am__cwd"; \ - if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ - -o $@ $(srcdir)/doc/libtool.texi; \ - then \ - rc=0; \ - $(am__cd) $(srcdir); \ - else \ - rc=$$?; \ - $(am__cd) $(srcdir) && \ - $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ - fi; \ - rm -rf $$backupdir; exit $$rc - -doc/libtool.dvi: doc/libtool.texi $(srcdir)/doc/version.texi $(doc_libtool_TEXINFOS) doc/$(am__dirstamp) - $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ - $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ - `test -f 'doc/libtool.texi' || echo '$(srcdir)/'`doc/libtool.texi - -doc/libtool.pdf: doc/libtool.texi $(srcdir)/doc/version.texi $(doc_libtool_TEXINFOS) doc/$(am__dirstamp) - $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \ - $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ - `test -f 'doc/libtool.texi' || echo '$(srcdir)/'`doc/libtool.texi - -doc/libtool.html: doc/libtool.texi $(srcdir)/doc/version.texi $(doc_libtool_TEXINFOS) doc/$(am__dirstamp) - $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) - $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \ - -o $(@:.html=.htp) `test -f 'doc/libtool.texi' || echo '$(srcdir)/'`doc/libtool.texi; \ - then \ - rm -rf $@ && mv $(@:.html=.htp) $@; \ - else \ - rm -rf $(@:.html=.htp); exit 1; \ - fi -$(srcdir)/doc/version.texi: $(srcdir)/doc/stamp-vti -$(srcdir)/doc/stamp-vti: doc/libtool.texi $(top_srcdir)/configure - @test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp) - @(dir=.; test -f ./doc/libtool.texi || dir=$(srcdir); \ - set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/libtool.texi`; \ - echo "@set UPDATED $$1 $$2 $$3"; \ - echo "@set UPDATED-MONTH $$2 $$3"; \ - echo "@set EDITION $(VERSION)"; \ - echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \ - (cmp -s vti.tmp$$$$ $(srcdir)/doc/version.texi \ - || (echo "Updating $(srcdir)/doc/version.texi" && \ - cp vti.tmp$$$$ $(srcdir)/doc/version.texi.tmp$$$$ && \ - mv $(srcdir)/doc/version.texi.tmp$$$$ $(srcdir)/doc/version.texi)) && \ - rm -f vti.tmp$$$$ $(srcdir)/doc/version.texi.$$$$ - @cp $(srcdir)/doc/version.texi $@ - -mostlyclean-vti: - -rm -f vti.tmp* $(srcdir)/doc/version.texi.tmp* - -maintainer-clean-vti: - -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi -.dvi.ps: - $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) $(AM_V_texinfo) -o $@ $< - -uninstall-dvi-am: - @$(NORMAL_UNINSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ - rm -f "$(DESTDIR)$(dvidir)/$$f"; \ - done - -uninstall-html-am: - @$(NORMAL_UNINSTALL) - @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ - rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ - done - -uninstall-info-am: - @$(PRE_UNINSTALL) - @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ - if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ - then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ - done; \ - else :; fi - @$(NORMAL_UNINSTALL) - @list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ - (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ - echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ - rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ - else :; fi); \ - done - -uninstall-pdf-am: - @$(NORMAL_UNINSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ - done - -uninstall-ps-am: - @$(NORMAL_UNINSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ - rm -f "$(DESTDIR)$(psdir)/$$f"; \ - done - -dist-info: $(INFO_DEPS) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; \ - for base in $$list; do \ - case $$base in \ - $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$base; then d=.; else d=$(srcdir); fi; \ - base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ - for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ - if test -f $$file; then \ - relfile=`expr "$$file" : "$$d/\(.*\)"`; \ - test -f "$(distdir)/$$relfile" || \ - cp -p $$file "$(distdir)/$$relfile"; \ - else :; fi; \ - done; \ - done - -mostlyclean-aminfo: - -rm -rf doc/libtool.t2d doc/libtool.t2p - -clean-aminfo: - -test -z "doc/libtool.dvi doc/libtool.pdf doc/libtool.ps doc/libtool.html" \ - || rm -rf doc/libtool.dvi doc/libtool.pdf doc/libtool.ps doc/libtool.html - -maintainer-clean-aminfo: - @list='$(INFO_DEPS)'; for i in $$list; do \ - i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ - echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ - rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ - done -install-man1: $(dist_man1_MANS) - @$(NORMAL_INSTALL) - @list1='$(dist_man1_MANS)'; \ - list2=''; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-includeHEADERS: $(include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ - done - -uninstall-includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) -install-ltdlincludeHEADERS: $(ltdlinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(ltdlincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(ltdlincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(ltdlincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(ltdlincludedir)" || exit $$?; \ - done - -uninstall-ltdlincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(ltdlincludedir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-info dist-hook - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-local -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(SCRIPTS) $(MANS) \ - $(HEADERS) config.h all-local -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -rm -f libltdl/lt__argz.$(OBJEXT) - -rm -f libltdl/lt__argz.lo - -rm -f libltdl/lt__dirent.$(OBJEXT) - -rm -f libltdl/lt__dirent.lo - -rm -f libltdl/lt__strl.$(OBJEXT) - -rm -f libltdl/lt__strl.lo - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f doc/$(am__dirstamp) - -rm -f libltdl/$(DEPDIR)/$(am__dirstamp) - -rm -f libltdl/$(am__dirstamp) - -rm -f libltdl/loaders/$(DEPDIR)/$(am__dirstamp) - -rm -f libltdl/loaders/$(am__dirstamp) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive - -clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \ - clean-libtool clean-local clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo - -rm -f libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo - -rm -f libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo - -rm -f libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo - -rm -f libltdl/$(DEPDIR)/libltdl_la-slist.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-slist.Plo - -rm -f libltdl/$(DEPDIR)/lt__argz.Plo - -rm -f libltdl/$(DEPDIR)/lt__dirent.Plo - -rm -f libltdl/$(DEPDIR)/lt__strl.Plo - -rm -f libltdl/loaders/$(DEPDIR)/dld_link.Plo - -rm -f libltdl/loaders/$(DEPDIR)/dlopen.Plo - -rm -f libltdl/loaders/$(DEPDIR)/dyld.Plo - -rm -f libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo - -rm -f libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo - -rm -f libltdl/loaders/$(DEPDIR)/load_add_on.Plo - -rm -f libltdl/loaders/$(DEPDIR)/loadlibrary.Plo - -rm -f libltdl/loaders/$(DEPDIR)/shl_load.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: $(DVIS) - -html: html-recursive - -html-am: $(HTMLS) - -info: info-recursive - -info-am: $(INFO_DEPS) - -install-data-am: install-data-local install-includeHEADERS \ - install-info-am install-ltdlincludeHEADERS install-man - -install-dvi: install-dvi-recursive - -install-dvi-am: $(DVIS) - @$(NORMAL_INSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ - done -install-exec-am: install-binSCRIPTS install-libLTLIBRARIES - -install-html: install-html-recursive - -install-html-am: $(HTMLS) - @$(NORMAL_INSTALL) - @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ - $(am__strip_dir) \ - d2=$$d$$p; \ - if test -d "$$d2"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ - echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ - else \ - list2="$$list2 $$d2"; \ - fi; \ - done; \ - test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ - done; } -install-info: install-info-recursive - -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ - fi; \ - for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ - for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ - $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ - if test -f $$ifile; then \ - echo "$$ifile"; \ - else : ; fi; \ - done; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done - @$(POST_INSTALL) - @if $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ - install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ - done; \ - else : ; fi -install-man: install-man1 - -install-pdf: install-pdf-recursive - -install-pdf-am: $(PDFS) - @$(NORMAL_INSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done -install-ps: install-ps-recursive - -install-ps-am: $(PSS) - @$(NORMAL_INSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done -installcheck-am: installcheck-local - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f libltdl/$(DEPDIR)/libltdl_la-lt__alloc.Plo - -rm -f libltdl/$(DEPDIR)/libltdl_la-lt_dlloader.Plo - -rm -f libltdl/$(DEPDIR)/libltdl_la-lt_error.Plo - -rm -f libltdl/$(DEPDIR)/libltdl_la-ltdl.Plo - -rm -f libltdl/$(DEPDIR)/libltdl_la-slist.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt__alloc.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt_dlloader.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-lt_error.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-ltdl.Plo - -rm -f libltdl/$(DEPDIR)/libltdlc_la-slist.Plo - -rm -f libltdl/$(DEPDIR)/lt__argz.Plo - -rm -f libltdl/$(DEPDIR)/lt__dirent.Plo - -rm -f libltdl/$(DEPDIR)/lt__strl.Plo - -rm -f libltdl/loaders/$(DEPDIR)/dld_link.Plo - -rm -f libltdl/loaders/$(DEPDIR)/dlopen.Plo - -rm -f libltdl/loaders/$(DEPDIR)/dyld.Plo - -rm -f libltdl/loaders/$(DEPDIR)/libltdl_la-preopen.Plo - -rm -f libltdl/loaders/$(DEPDIR)/libltdlc_la-preopen.Plo - -rm -f libltdl/loaders/$(DEPDIR)/load_add_on.Plo - -rm -f libltdl/loaders/$(DEPDIR)/loadlibrary.Plo - -rm -f libltdl/loaders/$(DEPDIR)/shl_load.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-vti - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-vti - -pdf: pdf-recursive - -pdf-am: $(PDFS) - -ps: ps-recursive - -ps-am: $(PSS) - -uninstall-am: uninstall-binSCRIPTS uninstall-dvi-am uninstall-html-am \ - uninstall-includeHEADERS uninstall-info-am \ - uninstall-libLTLIBRARIES uninstall-ltdlincludeHEADERS \ - uninstall-man uninstall-pdf-am uninstall-ps-am - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -uninstall-man: uninstall-man1 - -.MAKE: $(am__recursive_targets) all check check-am install install-am \ - install-strip uninstall-am - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ - am--depfiles am--refresh check check-am check-local clean \ - clean-aminfo clean-cscope clean-generic clean-libLTLIBRARIES \ - clean-libtool clean-local clean-noinstLTLIBRARIES cscope \ - cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ - dist-gzip dist-hook dist-info dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-compile \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-binSCRIPTS install-data install-data-am \ - install-data-local install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am \ - install-includeHEADERS install-info install-info-am \ - install-libLTLIBRARIES install-ltdlincludeHEADERS install-man \ - install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installcheck-local installdirs installdirs-am maintainer-clean \ - maintainer-clean-aminfo maintainer-clean-generic \ - maintainer-clean-vti mostlyclean mostlyclean-aminfo \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - mostlyclean-vti pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-binSCRIPTS uninstall-dvi-am \ - uninstall-hook uninstall-html-am uninstall-includeHEADERS \ - uninstall-info-am uninstall-libLTLIBRARIES \ - uninstall-ltdlincludeHEADERS uninstall-man uninstall-man1 \ - uninstall-pdf-am uninstall-ps-am - -.PRECIOUS: Makefile - - -$(ltversion_m4): $(ltversion_in) $(dotversion) - @$(rebuild); \ - if test -f '$@'; then \ - eval `'$(SED)' -n '/^macro_revision=/p' '$@'`; \ - test "x$$macro_revision" = "x$$revision" && rebuild=false; \ - fi; \ - for prereq in $?; do \ - case $$prereq in *.version);; *) rebuild=:;; esac; \ - done; \ - if $$rebuild; then \ - rm -f '$@'; \ - if test -d '$(srcdir)/.git' && git --version >/dev/null 2>&1; then \ - $(git_commit_count) > '$(srcdir)/.serial'; \ - fi; \ - serial=`cat '$(srcdir)/.serial'`; \ - if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ - then echo " GEN " $@; \ - else echo $(bootstrap_edit) "'$(ltversion_in)' > '$@'"; fi; \ - $(bootstrap_edit) '$(ltversion_in)' > '$@'; \ - chmod a-w '$@'; \ - fi - -$(ltmain_sh): $(ltmain_in) $(dotversion) - @$(rebuild); \ - if test -f '$@'; then \ - eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ - test "x$$package_revision" = "x$$revision" && rebuild=false; \ - fi; \ - for prereq in $?; do \ - case $$prereq in *.version);; *) rebuild=:;; esac; \ - done; \ - if $$rebuild; then \ - rm -f '$@'; \ - if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ - then echo " GEN " $@; \ - else echo "$(inline_source) '$(ltmain_in)' |" $(bootstrap_edit) "> '$@'"; fi; \ - $(SCRIPT_ENV) '$(inline_source)' '$(ltmain_in)' | $(bootstrap_edit) > '$@'; \ - chmod a-w '$@'; \ - fi - -$(lt_Makefile_am): $(ltdl_mk) - $(AM_V_at)rm -f '$@' - $(AM_V_GEN)( '$(SED)' -n '1,/^.. DO NOT REMOVE THIS LINE -- /p' \ - '$(ltdl_mk)'; \ - { echo 'ACLOCAL_AMFLAGS = -I ../m4'; \ - echo 'AUTOMAKE_OPTIONS = foreign'; \ - echo 'AM_CPPFLAGS ='; \ - echo 'AM_LDFLAGS ='; \ - echo 'BUILT_SOURCES ='; \ - echo 'include_HEADERS ='; \ - echo 'noinst_LTLIBRARIES ='; \ - echo 'lib_LTLIBRARIES ='; \ - echo 'EXTRA_LTLIBRARIES ='; \ - echo 'EXTRA_DIST ='; \ - echo 'CLEANFILES ='; \ - echo 'MOSTLYCLEANFILES ='; \ - }; \ - '$(SED)' -n '/^.. DO NOT REMOVE THIS LINE -- /,$$p' \ - '$(ltdl_mk)' \ - |'$(SED)' -e 's|libltdl_||; s|libltdl/||; s|: libltdl/|: |' \ - -e '/^[ ]*-I\$$(srcdir)\/libltdl -Ilibltdl \\/d' \ - -e 's|\$$(libltdl_|$$(|' \ - ) |'$(SED)' -e '/^.. DO NOT REMOVE THIS LINE -- /d' \ - -e '1s,^\(.. Makefile.\)inc.*,\1am -- Process this file with automake to produce Makefile.in,' > '$@' - $(AM_V_at)chmod a-w '$@' - -.PHONY: bootstrap-deps bootstrap-deps-prep -bootstrap-deps: bootstrap-deps-prep - $(MAKE) $(bootstrap_files) - -bootstrap-deps-prep: - @exit_cmd=:; \ - test -z '$(srcdir)' \ - && echo "ERROR: don't call $(MAKE) with srcdir unset." \ - && exit_cmd=exit; \ - test -z '$(PACKAGE)' \ - && echo "ERROR: don't call $(MAKE) with PACKAGE unset." \ - && exit_cmd=exit; \ - test -z '$(PACKAGE_BUGREPORT)' \ - && echo "ERROR: don't call $(MAKE) with PACKAGE_BUGREPORT unset." \ - && exit_cmd=exit; \ - test -z '$(PACKAGE_NAME)' \ - && echo "ERROR: don't call $(MAKE) with PACKAGE_NAME unset." \ - && exit_cmd=exit; \ - test -z '$(PACKAGE_URL)' \ - && echo "ERROR: don't call $(MAKE) with PACKAGE_URL unset." \ - && exit_cmd=exit; \ - test -z '$(SED)' \ - && echo "ERROR: don't call $(MAKE) with SED unset." \ - && exit_cmd=exit; \ - test -z '$(VERSION)' \ - && echo "ERROR: don't call $(MAKE) with VERSION unset." \ - && exit_cmd=exit; \ - $$exit_cmd 1 - $(AM_V_at)rm -f $(bootstrap_files) - -all-local: $(LTDL_BOOTSTRAP_DEPS) - -libtoolize: $(libtoolize_in) $(config_status) - $(AM_V_at)rm -f '$@' - $(AM_V_GEN)$(configure_edit) '$(libtoolize_in)' > '$@' - $(AM_V_at)chmod a+x '$@' - $(AM_V_at)chmod a-w '$@' - -# We used to do this with a 'stamp-vcl' file, but non-gmake builds -# would rerun configure on every invocation, so now we manually -# check the version numbers from the build rule when necessary. -libtool: $(ltmain_sh) $(config_status) $(dotversion) - @$(rebuild); \ - if test -f '$@'; then \ - eval `'$(SED)' -n '/^package_revision=/p' '$@'`; \ - test "$$package_revision" = "$$revision" && rebuild=false; \ - fi; \ - for prereq in $?; do \ - case $$prereq in *.version);; *) rebuild=:;; esac; \ - done; \ - if $$rebuild; then \ - if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ - then echo " GEN " $@; \ - else echo '$(SHELL) $(top_builddir)/config.status "$@"'; fi; \ - cd '$(top_builddir)' && '$(SHELL)' ./config.status '$@'; \ - fi - -# We need the following in order to create an when the system -# doesn't have one that works with the given compiler. -all-local $(lib_OBJECTS): libltdl/libltdl/$(LT_ARGZ_H) -libltdl/libltdl/lt__argz.h: libltdl/libltdl/lt__argz_.h - $(AM_V_at)$(mkinstalldirs) . libltdl/libltdl - $(AM_V_GEN)cp $(srcdir)/libltdl/libltdl/lt__argz_.h $@-t - $(AM_V_at)mv $@-t $@ - -$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) - $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile - -# Don't let unused scripts leak into the libltdl Makefile -$(stamp_mk): $(lt_Makefile_in) - $(AM_V_at)T='$(srcdir)/$(aux_dir)/Makefile.tmp'; \ - for p in $(srcdir)/$(aux_dir)/*; do \ - test -f "$$p" || continue; \ - f=`echo "$$p" | $(SED) 's|^$(srcdir)/$(aux_dir)/||'`; \ - case " $(pkgaux_scripts) ltmain.sh " in \ - *" $$f "*) ;; \ - *) '$(SED)' \ - -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"'\$$||' \ - -e 's|\(\$$([^)]*)/\)*'"$(ltdl_ac_aux_dir)/$$f"' ||' \ - -e '/^[ ]*\\$$/d' \ - '$(lt_Makefile_in)' > "$$T" \ - && mv -f "$$T" '$(lt_Makefile_in)';; \ - esac; \ - done - $(AM_V_GEN)echo stamp > '$@' - -$(lt_aclocal_m4): $(lt_aclocal_m4_deps) - $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4 - -$(lt_configure): $(lt_configure_deps) - $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOCONF) - -$(lt_config_h_in): $(lt_configure_deps) - $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOHEADER) - $(AM_V_at)touch '$@' - -all-local: $(notes_txt) - -$(notes_txt): $(notes_texi) - $(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \ - $(MAKEINFOFLAGS) -o '$@' '$(notes_texi)' - -# It's wrong to make distributed files (e.g. $(libtool_1)) rely on -# files created in the build tree, so instead we regenerate the -# manual pages if the sources for the build-tree files we want to -# run have changed. -$(libtool_1): $(ltmain_sh) - $(AM_V_GEN)$(update_mans) --help-option=--help-all libtool -$(libtoolize_1): $(libtoolize_in) - $(AM_V_GEN)$(update_mans) libtoolize - -install-data-local: $(lt_Makefile_in) install-scripts-local - @$(NORMAL_INSTALL) - -rm -rf '$(DESTDIR)$(pkgdatadir)'/* - @list='$(pkgmacro_files)'; for p in $$list; do \ - d=`echo "$(DESTDIR)$(aclocaldir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - echo " $(INSTALL_DATA) '$(srcdir)/$(macro_dir)/$$p' '$(DESTDIR)$(aclocaldir)/$$p'"; \ - $(INSTALL_DATA) "$(srcdir)/$(macro_dir)/$$p" "$(DESTDIR)$(aclocaldir)/$$p"; \ - done - @list='$(pkgaux_scripts)' && \ - for p in $$list; do \ - d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - echo " $(INSTALL_SCRIPT) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ - $(INSTALL_SCRIPT) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ - done - @list='$(pkgaux_data_files)' && for p in $$list; do \ - d=`echo "$(DESTDIR)$(pkgauxdir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - echo " $(INSTALL_DATA) '$(srcdir)/$(aux_dir)/$$p' '$(DESTDIR)$(pkgauxdir)/$$p'"; \ - $(INSTALL_DATA) "$(srcdir)/$(aux_dir)/$$p" "$(DESTDIR)$(pkgauxdir)/$$p"; \ - done - @list='$(pkgltdl_files)' && for p in $$list; do \ - d=`echo "$(DESTDIR)$(pkgdatadir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - echo " $(INSTALL_DATA) '$(ltdldir)/$$p' '$(DESTDIR)$(pkgdatadir)/$$p'"; \ - $(INSTALL_DATA) "$(ltdldir)/$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \ - done - chmod a+x '$(DESTDIR)$(pkgdatadir)/configure' - -.PHONY: install-scripts-local -install-scripts-local: $(lt_Makefile_in) - @p=`echo libtoolize |sed -e '$(transform)'`; \ - echo " $(SCRIPT_ENV) '$(inline_source)' libtoolize > '$(DESTDIR)$(bindir)/$$p'"; \ - d=`echo "$(DESTDIR)$(bindir)/$$p" |$(SED) 's|[^/]*$$||'`; \ - test -d "$$d" || $(mkinstalldirs) "$$d"; \ - $(SCRIPT_ENV) '$(inline_source)' libtoolize > "$(DESTDIR)$(bindir)/$$p"; \ - chmod a+x "$(DESTDIR)$(bindir)/$$p" -$(changelog): FORCE - $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ - TZ=UTC $(gitlog_to_changelog) --amend=$(git_log_fix) \ - --ignore-matching=Omit-from-ChangeLog. \ - --format='%s%n%n%b%n' \ - --since=$(changelog_start_date) > '$@T'; \ - rm -f '$@'; mv '$@T' '$@'; \ - cat '$(changelog_old)' >> '$@'; \ - fi - -# Generate THANKS using git log entries as far as possible, fixing -# up ommisions and errors from NO-THANKS configuration. -$(thanks): FORCE - $(AM_V_GEN)if test -d '$(srcdir)/.git'; then \ - { \ - $(prologue); echo; \ - { perl -ne '/^$$/.../^$$/ and print' $(no_thanks) \ - | grep -v '^$$' | perl -pe 's/ +/\0/'; \ - { sed -e '1,/\#\# /d' -e '/^\#\# /d' \ - -e 's|[ ][ ]*| |' < $(no_thanks) \ - | tr '\t' '\0'; \ - git log --pretty=format:'%aN%x00%aE'; \ - } | $(ASSORT) -u; \ - } | $(thanks_gen) \ - | LC_ALL=en_US.UTF-8 sort -f; \ - echo; \ - printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \ - } > '$@'; \ - fi -$(dotversion): - $(AM_V_GEN)echo '$(VERSION)' > '$@T' && mv '$@T' '$@' -$(readme): FORCE - @if test -n "`expr $(VERSION) : $(re_alpha_version)`"; then \ - if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ - then echo " GEN " $@; \ - else echo "$(SHELL) $(edit_readme_alpha) $@"; fi; \ - $(SHELL) $(edit_readme_alpha) '$@'; \ - fi - -dist-hook: $(changelog) $(thanks) $(dotversion) $(readme) - echo '$(VERSION)' > $(tarball_version) - $(git_commit_count) > $(dotserial) - $(no_bogus_macros) - -distcheck-hook: syntax-check - -uninstall-hook: - @$(NORMAL_UNINSTALL) - @list='$(pkgltdl_files)'; \ - for f in $$list; do \ - echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ - rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ - done - @list='$(pkgaux_scripts) $(pkgaux_data_files)'; \ - for f in $$list; do \ - echo " rm -f '$(DESTDIR)$(pkgauxdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pkgauxdir)/$$f"; \ - done - @for p in $(pkgmacro_files); do \ - f=`echo "$$p" |$(SED) 's|^.*/||'`; \ - echo " rm -f '$(DESTDIR)$(aclocaldir)/$$f'"; \ - rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \ - done - @p=`echo libtoolize |sed -e '$(transform)'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$p'"; \ - rm -f "$(DESTDIR)$(bindir)/$$p" - -$(testsuite): $(package_m4) $(TESTSUITE_AT) Makefile.am - $(AM_V_GEN)$(AUTOTEST) -I '$(srcdir)' -I '$(srcdir)/tests' $(TESTSUITE_AT) -o '$@' - -$(package_m4): $(dotversion) Makefile.am - $(AM_V_GEN){ \ - echo '# Signature of the current package.'; \ - echo 'm4_define([AT_PACKAGE_NAME], [$(PACKAGE_NAME)])'; \ - echo 'm4_define([AT_PACKAGE_TARNAME], [$(PACKAGE_TARNAME)])'; \ - echo 'm4_define([AT_PACKAGE_VERSION], [$(PACKAGE_VERSION)])'; \ - echo 'm4_define([AT_PACKAGE_STRING], [$(PACKAGE_STRING)])'; \ - echo 'm4_define([AT_PACKAGE_BUGREPORT], [$(PACKAGE_BUGREPORT)])'; \ - echo 'm4_define([AT_PACKAGE_URL], [$(PACKAGE_URL)])'; \ - } > '$@' - -tests/atconfig: $(config_status) - $(AM_V_GEN)$(SHELL) '$(config_status)' '$@' - -# Hook the test suite into the check rule -check-local: $(testsuite_deps_uninstalled) - $(AM_V_at)$(CD_TESTDIR); \ - CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ - $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) - -# Run the test suite on the *installed* tree. -installcheck-local: $(testsuite_deps) - $(AM_V_at)$(CD_TESTDIR); \ - CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ - $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ - AUTOTEST_PATH='$(exec_prefix)/bin' - -.PHONY: check-noninteractive-old -check-noninteractive-old: - $(AM_V_at)'$(MAKE)' $(AM_MAKEFLAGS) check-TESTS TESTS='$(TESTS)' - -# Run only noninteractive parts of the new testsuite. -.PHONY: check-noninteractive-new -check-noninteractive-new: $(testsuite_deps_uninstalled) - $(AM_V_at)$(CD_TESTDIR); \ - CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ - $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ - -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \ - $(TESTSUITEFLAGS) - -# Run only interactive parts of the new testsuite. -.PHONY: check-interactive -check-interactive: $(testsuite_deps_uninstalled) - $(AM_V_at)$(CD_TESTDIR); \ - CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ - $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ - -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \ - $(TESTSUITEFLAGS) - -.PHONY: check-noninteractive -check-noninteractive: check-noninteractive-old check-noninteractive-new - -# We need to remove any file droppings left behind by testsuite -clean-local: - -$(CD_TESTDIR); \ - test -f "$$abs_srcdir/$(TESTSUITE)" && \ - '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" --clean - -FORCE: - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/BUILD/libtool-2.4.7/NEWS b/BUILD/libtool-2.4.7/NEWS deleted file mode 100644 index ba99fbe..0000000 --- a/BUILD/libtool-2.4.7/NEWS +++ /dev/null @@ -1,1251 +0,0 @@ -NEWS - list of user-visible changes between releases of GNU Libtool - -* Noteworthy changes in release 2.4.7 (2022-03-16) [stable] - -** New features: - - - Libtool script now supports (configure-time and runtime) ARFLAGS - variable, which obsoletes AR_FLAGS. This is due to naming conventions - among other *FLAGS and to be consistent with Automake's ARFLAGS. - - - Gnulib testsuite is enabled and run during 'make check'. - - - Support the Windows version of the Intel C Compiler (icl) in - libtool script. - - - Pass '-fsanitize=*' flags for GCC and LLVM, and '-specs=*' for GCC - to linker. - - - Pass '-Xassembler=*' and '-Wa,*' flag to compilers and linkers. - - - The variable 'FILECMD' with default value of '/usr/bin/file' was used to - replace existing hard coded references to '/usr/bin/file'. - - - Add MidnightBSD support. - -** Important incompatible changes: - - - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'. - - - Do not pass '-pthread' to Solaris linker. - - - 'libtool' and 'libtoolize' scripts now use '#! /usr/bin/env sh' shebang. - Previously '#! /bin/sh' was used, which presents challenges for - containerized environments. - -** Bug fixes: - - - Fix significant slowdown of libtoolize for certain projects (regression - introduced in 2.4.3 release) caused by infinite m4 macro recursion. - - - Mitigate the slowdown of libtool script (introduced in v2.4.3) caused by - increased number of calls to '$SED $sed_quote_subst' (bug#20006). - - - Properly parse and export TLS symbols on AIX. - - - Various bug fixes surrounding use of 'sed'. - - - Darwin systems set proper "allow undefined" flag on OSX 11, and - PowerPC 10.5. - - - Removed some deprecated tests related to 'Makefile.inc' files. - -* Noteworthy changes in release 2.4.6 (2015-02-15) [stable] - -** New features: - - - LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time - and persists correctly in the generated libtool script. - -** Bug fixes: - - - Fix a race condition in ltdl dryrun test that would cause spurious - random failures of that test. - - - LT_SYS_DLSEARCH_PATH is munged correctly. - - -* Noteworthy changes in release 2.4.5 (2015-01-19) [stable] - -** New features: - - - Libtoolize searches for the best available M4 on the user PATH at - runtime, rather than settling for the first one found. - - - Support munging sys_lib_dlsearch_path_spec with LT_SYS_LIBRARY_PATH - environment variable. - -** Bug fixes: - - - Bail out at configure time if the installed M4 is not sufficient - for the purposes of libtoolize. - - - freebsd-elf library versioning was upgraded incorrectly in 2.4.4, - but now works properly again. - - - Fix a 2.4.4 regression so that libltdl subprojects do not warn - about missing libltdl/libltdl directory as in prior releases. - - - When using Sun C++ on Solaris or GNU/Linux we used to set libtool's - postdeps permanently, based on the contents of $CXX and $CXXFLAGS at - configure time, which was brittle and error-prone. Now, we no - longer check for a SunCC ABI at configure time, but augment the - postdeps at libtool time based on the current invocation flags on - each call. - -** Changes in supported systems or compilers: - - - /usr/local prefixed rpaths are now added to the link-line on - ia64-hp-hpux*, because the default system runtime loader path does - not contain them. - - - Previously, when using Sun C++ on Solaris or GNU/Linux, `-Cstd -Crun` - flags were added to $postdeps unless CXX or CXXFLAGS contained - `-library=stlport4`. Newer releases have added other compiler flags - that are also incompatible with `-Cstd -Crun`, so now we don't add - them if any of `-std=c++[0-9][0-9]`, `-library=stdcxx4` or - `-compat=g` were found in CXX or CXXFLAGS when the Sun C++ compiler - is detected. - - -* Noteworthy changes in release 2.4.4 (2014-11-29) [stable] - -** New features: - - - Libltdl maintains its own fork of argz, with macros and files in - the LT_ and lt__ namespaces (resp.) where they cannot clash with - client projects' use of gnulib argz. - -** Bug fixes: - - - Installation of 'libtoolize' once again obeys '--program-prefix', - '--program-suffix' and '--program-transform-name' configure options. - - - `libtoolize` doesn't remove any files that it can't reinstall, - including old versions of the snippet directory, and gnulib's - version of the argz module and supporting files. - - - LT_FUNC_DLYSM_USCORE now works correctly on systems that don't - support self dlopen()ing. - -** Important incompatible changes: - - - LT_LIB_DLLOAD no longer prepends -ldl or -ldld to LIBS, causing - duplicate occurrences in libltdl link lines. If you need to - add a library for dlopen() or shl_load() in your Makefile, then - use $(LIBADD_DLOPEN) or $(LIBADD_SHL_LOAD) respectively. If you - are using libltdl, this all happens automatically, and the only - difference you'll see is no more duplicated library names in the - verbose link line. - -** Changes in supported systems or compilers: - - - Preliminary support for tcc on linux*. Although it already worked - sometimes in previous releases, making sure to set LD correctly now - avoids mis-matching GNU ld with tcc: - - ./configure CC=tcc LD=tcc - - - Added -os2dllname option to work around 8 character base name - limit on OS/2. The option has no effect on other systems. - - - Support for DLL versioning, -export-symbols and -export-symbols-regex - on OS/2. - - - Support filename-based shared library versioning on AIX. See manual - for details. - - -* Noteworthy changes in release 2.4.3 (2014-10-27) [stable] - -** New features: - - - Moved to gnulib release infrastructure. - - - M4 is now used for scanning the M4 macros in your configure.ac that - 'libtoolize' looks at to determine what files you want, and where you - would like them installed. This means that you can compose your - version number or any other argument that Libtoolize needs to know at - M4 time using git-version-gen from gnulib, for example. - - - Invoking 'libtoolize --ltdl' no longer maintains a separate autoconf - macro directory in the libltdl tree, but automatically adjusts the - installed libltdl configuration files to share whatever macro - directory is declared by the parent project. (Note: if you were - already sharing a macro directory with AC_CONFIG_MACRO_DIR(ltdl/m4) - or similar, that still works as does any other directory choice). - - - Invoking 'libtoolize --ltdl' no longer maintains a separate auxiliary - scripts directory in the libltdl tree, but automatically adjusts the - installed libltdl configuration files to share whatever auxiliary - scripts directory is declared by the parent project. (Note: if you - were already sharing an auxiliary directory with subproject libltdl - using AC_CONFIG_AUX_DIR(ltdl/config) or similar, that still works as - does any other directory choice). - - - The legacy tests have all been migrated to the Autotest harness. - - - The Autotest testsuite can be run without the especially time consuming - tests with: - - make check-local TESTSUITEFLAGS='-k "!expensive"' - -** Bug fixes: - - - Fix a long-standing latent bug in autom4te include path for autotests - with VPATH builds. - - Fix a long-standing latent bug in libtoolize that could delete lines - from libltdl/Makefile.am in recursive mode due to underquoting in a - sed script. - - Fix a long-standing bug in libtoolize, by outputting the 'putting - auxiliary files in' header with 'libtoolize --ltdl --subproject'. - - Fix a long-standing bug in libtoolize subproject installation, by not - installing a set of autoconf macro files into the parent project if - there is no configure.ac present to use them. - - The libtoolize subproject mode selector is now named '--subproject' - and is equivalent to the implied '--subproject' mode when no other - mode is selected; '--standalone' never worked, and is no longer - accepted. - - Libtool and libtoolize no longer choke on paths with a comma in them. - - In the case where $SHELL does not have the same enhanced features - (e.g. the ability to parse 'var+=append') as $CONFIG_SHELL, libtool - will now correctly fallback to using only vanilla shell features - instead of failing with a parse at startup. - - Correctly recognize import libraries when Microsoft dumpbin is used - as the name lister and extend the dumpbin wrapper to find symbols - in import libraries using the -headers option of dumpbin. Also fix a - bug in the dumpbin wrapper that could lead to broken symbol listings - in some corner cases. - - Use the improved Microsoft dumpbin support to mend preloading of - import libraries for Microsoft Visual C/C++. - - No longer mangle module-definition (.def) files when feeding them to - the Microsoft Visual C/C++ linker via the -export-symbols argument to - the libtool script, thus matching how .def files are handled when - using GNU tools. - - Recognize more variants (e.g. those starting with a LIBRARY statement) - of module-definitions (.def) files when using them instead of a raw - list of symbols to export. - - Fix a long-standing bug when using libtoolize without automake; we - no longer remove install-sh with --force, since it's not a file - libtoolize will reinstall without --install.. - -** Important incompatible changes: - - - GNU M4 is required to run libtoolize in a directory with a - 'configure.ac' (or 'configure.in') that needs tracing to determine - what modes and directories have been specified. - - - The use of the idiosyncratically named 'Makefile.inc' in nonrecursive - libltdl builds is deprecated, although it will be supported for one - more year or until the next release, whichever takes longer. Please - upgrade to the more standard naming of 'ltdl.mk' in keeping with other - GNU projects. - - - libtoolize now behaves consistenty in respect of multiple directory - arguments to ACLOCAL_AMFLAGS and multiple invocations of AC_CONFIG- - _MACRO_DIRS, where the first directory is always selected. Previous - releases took the first ACLOCAL_AMFLAGS argument, but the last - invocation of AC_CONFIG_MACRO_DIRS. - - - The libtoolize program now advises use of the new Autoconf - AC_CONFIG_MACRO_DIRS declaration. If you follow that advice, all - your developers will need at least autoconf-2.70 and automake-1.13 - to rebootstrap your probject. If you still need to support - bootstrap with older Autotools, then you should add the following - to your configure.ac file: - - m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], - m4_defn([AC_CONFIG_MACRO_DIR]))]) - - - Overhead of probing for a non-backslash crippled echo equivalent - during initialization of every script has been removed in favor of - trusting that "printf %s\n" works out of the box on all non-museum - host architectures. Manually setting ECHO appropriately in the - build environment will be necessary on some ancient architectures. - -** Changes in supported systems or compilers: - - - Support for bitrig (*-*-bitrig*). - - - Solaris 7 and earlier requires ECHO=/usr/ucb/echo in the build - environment, to build and use libtool. - -New in 2.4.2 2011-10-17: git version 2.4.1a, Libtool team: - -* New features: - - - The --with-pic configure option now supports a list of comma-separated - package names. This can be used to build some static libraries with PIC - objects while building others with non-PIC objects. - - - Initial support for Go, using the gccgo compiler. - - - On Mac OS X .dylib is now tried as well as .so with - lt_dlopenext(). - -* Bug fixes: - - - The generic approximation of the command line length limit (when getconf is - not available) works again. Regression introduced in v2.2.6-39-g9c3d4d8. - - The bug that leaked developer tool paths into the release tarballs - from ./bootstrap is fixed. - - Improved support for the Cuda Compiler Driver (nvcc) on Darwin. - - For GCC LTO support, the -fuse-linker-plugin switch is now also removed - when computing compiler postdeps. - -* Important incompatible changes: - - - The undocumented hardcode_libdir_flag_spec_ld tag variable has been - removed in favor of using hardcode_libdir_flag_spec with $wl set to empty. - -* Changes in supported systems or compilers: - - - Fixes for gfortran on Darwin, XL Fortran on GNU/Linux. - - Support for FreeBSD 1.x (outdated since 1994) has been removed. - -New in 2.4 2010-09-22: git version 2.2.11a, Libtool team: - -* New features: - - - Sysroot support. This allows you to build cross-compiled packages - with the same prefix that will be used on the destination machine, - and still find dependent libraries under the compiler's "sysroot". - Without sysroot support, paths internal to the build system may leak - into the product of the build. - - Sysroot support is disabled unless the --with-sysroot configure - option is passed to configure, because .la files generated with - sysroot support will _not_ be usable in general with older Libtools. - - - On non-cygwin Windows systems, we now lookup potential library - file names without regard to file name case. - - The old testsuite now uses the 'parallel-tests' Automake test driver - now for more concurrency and better test logging. For this, tests are - run in verbose mode by default now. - -* Important incompatible changes: - - - Autoconf 2.62 and Automake 1.11.1 or newer are now required for - bootstrapping Libtool. For using Libtool in your own projects, - Autoconf 2.59 and Automake 1.9.6 should still work. - - The fix_srcfile_path variable has been replaced by a more thorough - mechanism triggered by the to_tool_file_cmd variable. - -* Changes in supported systems or compilers: - - - Initial support for the Microsoft C/C++ Compiler, with help from - the compile script in unreleased Automake 1.12. Override the manifest - tool used to embed the manifest resource through the environment - variable MANIFEST_TOOL. Please note that the import library naming - has changed (from foo-2.lib to foo.dll.lib) from when the code lived - in its own git branch. - - Initial support for the NAG Fortran compiler on GNU/Linux. - -* Bug fixes: - - - The 'check-interactive' and 'check-noninteractive' convenience make - targets now also work for the old testsuite. - - Warnings from Autoconf v2.67-36-g1e604ec about incomplete programs - passed to AC_*_IFELSE tests have been fixed. - - On IRIX, the test for -Wl,-exported_symbol now also works with gfortran. - -New in 2.2.10 2010-06-10: git version 2.2.9a, Libtool team: - -* New features: - - - On non-cygwin Windows systems, we no longer try to lookup the POSIX - format path recorded in $libdir of a pseudo-library when looking up - the location of the library with the native tools. - -New in 2.2.8 2010-06-05: git version 2.2.7c, Libtool team: - -* No new features: - - - Bumped version number and promoted 2.2.7b release candidate to a full - stable release. - -New in 2.2.7b 2010-05-20: git version 2.2.7a, Libtool team: - -* New features: - - - Libtool ships and installs man pages for libtool and libtoolize now. - - New libtool command line flag --help-all. - - New libtool command line flag --no-silent (with alternate spelling - --no-quiet). This flag (re)enables the default informational messages, - but has no effect on so-called "verbose" output messages. - - New libtool command line flag --no-verbose, which disables only - the extra "verbose" output messages and has no effect on the - default informational messages. - - New convenience make targets 'check-noninteractive' to avoid long testsuite - runs on Windows with popup windows in the middle, and 'check-interactive' - for the complement set of tests. - - New link mode flag -bindir to specify the location for installed PE DLLs. - - Wrapper scripts and wrapper executables for programs linked against - uninstalled shared libraries now support command-line options --lt-debug - and --lt-dump-script. - -* Important incompatible changes: - - - The wrapper command line option support described above introduces the - following incompatibility: the wrapper will remove any command line - options that begin with '--lt-*' from the argument list before launching - (uninstalled) programs. Any '--lt-*' option on the command line not - recognized by the wrapper will result in an error. - - The type of the symbol lists variables (lt_*_LTX_preloaded_symbols) has - been fixed in the manual and in a couple of tests to match the actual - implementation. - -* Changes in supported systems or compilers: - - - Improved support for 64bit Windows (mingw64). - - Improved support for cegcc (Windows CE/PocketPC). - - Support for GNU/kOpenSolaris (kopensolaris*-gnu). - - Initial support for compilers on BlueGene BG/P. - - Improved support for Atari FreeMiNT. - - With binutils 2.19.50+, shared libraries can be built on AIX. - - Initial support for the Cuda Compiler Driver on GNU/Linux. - - Support for Haiku (i586-pc-haiku). - - Initial support for GCC link-time optimization (LTO) flags. - -* Bug fixes: - - - Fix 2.2.6 regression that prevented using the libltdl macros together - with Autoconf 2.59 ('possibly undefined macro: LT_LIBEXT'). - - Fix 2.2.4 regression that caused arguments with special characters - to be mangled by the compile wrapper for uninstalled programs on MinGW. - - libtool command line flag --verbose now also enables explicit - verbose output, in addition to its previous behavior of (re)enabling - only the default informational output. See New Features, --no-silent. - - Link tests are guarded by cache variables so they can be avoided for - bootstrapping purposes (e.g., when link tests are not possible). - - Argument mangling of execute mode has been improved (i.e., lessened). - - Fix 2.1b regression that caused nm to not be the default name lister. - The regression affected mainly (arguably broken) cross compiles. - - Fix long standing bug that caused compiler checks for Fortran and - C++ compilers to run twice. - - Link mode works around a parallel build failure on Darwin 9.6.0 due - to the 'ar' 'flock'ing an archive upon extraction, by protecting the - extraction of convenience archives with a lock. - - The Libtool macro files do not contain instances of __oline__ any more, - easing merges for configure scripts that are added to version control. - - Fix ancient bug where "-Wc," was turned into "$wl" (typically "-Wl,") - when using the compiler driver to link programs. Now "-Wc," is stripped - just as it is when linking libraries through the compiler driver. - - Symbol versioning works with the GNU gold linker now. - - Fixes for detection of shared library dependencies on MinGW systems. - - Fixed Sun compiler detection on Solaris with sunCC, sunf77 etc. names. - -* Miscellaneous changes: - - - The manual is distributed under the terms of the GNU FDL 1.3 now. - -New in 2.2.6 2008-09-05: git version 2.2.5a, Libtool team: - -* New features: - - - New lt_dloadvise_preload() call to set a hint that only preloadeded - modules can be opened. - - libtoolize no longer removes config.guess and config.sub, even when - --install is passed. - -* Changes in supported systems or compilers: - - - Fixes for ifort on Darwin, and newer Intel compilers (icc 10, ifort 9) - on GNU/Linux. - - Fixes for cwrapper (cygwin/mingw) under -stdc=c99. - - Support cross compile of MinGW with Wine. - - Initial support for cegcc (Windows CE/PocketPC) cross compilation. - - Initial support for lf95 (Lahey Fortran 8.1) on GNU/Linux. - -* Bug fixes: - - - Several testsuite issues have been fixed, thanks to user feedback. - - - Fix 2.2 regression that caused argz symbols to be exported from - libltdl unrenamed on systems that do not have working argz. - - - Revert "lt_dlopen(NULL) works on AIX again.". It was not the - correct fix. - - - Diagnose '-L' arguments correctly. - - - Libtool no longer tries to open devices as files in execute mode. - - - Libtool no longer removes *.gcno profile information from GCC. - -New in 2.2.4: 2008-05-04: git version 2.2.3a, Libtool team: - -* New features: - - - New libtoolize option --no-warn, for users that want to continue to - use old libtool style without being nagged. - - Options --debug, --no-warn, --quiet and --verbose can be passed to - libtoolize through the environment variable LIBTOOLIZE_OPTIONS, for - cleaner interaction between the user and libtoolize when called by - autoreconf. - -* Bug fixes: - - - The documentation for lt_dlopenadvise showed the wrong type for - the lt_dladvise parameter. - - The public declarations for lt_dlhandle and lt_dladvise are now - incomplete struct types rather than void*, which means that nearly - all casting is eliminated allowing the compiler to provide more - type checking. - - libtoolize no longer reports up-to-date files that it would have - copied, unless --force is passed. - - No longer reports that lt~obsolete.m4 needs to be added to aclocal.m4 - when it is already there. - - When 'aclocal' copied the libtool macros directly into 'aclocal.m4' - (i.e. AC_CONFIG_MACRO_DIR is not being used), libtoolize no longer - reports that all macros need to be added to 'aclocal.m4', and - diagnoses only the macro files that are missing or not up-to-date. - - libtoolize now advises use of AC_CONFIG_MACRO_DIR to keep matching - libtool macros in-tree where appropriate. - - libtoolize now advises use of 'ACLOCAL_AMFLAGS = -I m4' (or - equivalent) where appropriate, and errors out when ACLOCAL_AMFLAGS - names a different directory to AC_CONFIG_MACRO_DIR. - -New in 2.2.2: 2008-04-01: CVS version 2.2.1a, Libtool team: - -* New features: - - - In compile mode, compiler output occurs in the user locale. This - feature has been present in 1.5.26 but not in 2.2. - -* Changes in supported systems or compilers: - - - Initial shared library support for AmigaOS4 on powerpc. - -* Bug fixes: - - - Fix 2.2 regression in libltdl that causes memory corruption upon - repeated 'lt_dlinit(); lt_dlexit()'. - - Fix 2.2 regression in libltdl that skipped the dlopen loader if - the system also supports other loaders (e.g., Cygwin, HP-UX). - - Fix 2.2 regression in that 'libtool --mode=execute CMD ARGS' does not - transform ARGS that do not look like shell or C wrappers of libtool - programs. - - Fix 2.2 regression that kept cross-compiling to w32 from working. - - Several testsuite issues have been fixed, thanks to user feedback. - -New in 2.2: 2008-03-01; CVS version 2.1c, Libtool team: - -* Bug fixes: - - - argz.c, lt__dirent.c and lt__strl.c are correctly distributed with - parent projects using nonrecursive libltdl. - - libtoolize no longer tries to install libtool files when libltdl is - used in a non-autoconf parent package. - - Don't add the CXX tag to libtool when there is no C++ compiler, even - if AC_PROG_CXX sets a default g++ compiler where no such compiler - actually exists. - - make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install - works again. - -New in 2.1b: 2008-02-01; CVS version 2.1a, Libtool team: - -* Important incompatible changes and obsoleted features: - - - Removed deprecated APIs from libltdl: lt_dlcaller_register, - lt_dlhandle_next, lt_dlhandle_find, lt_dlforeach, lt_dlmutex_register, - lt_dlmutex_lock, lt_dlmutex_unlock, lt_dlmutex_seterror, - lt_dlmutex_geterror, lt_dlmalloc, lt_dlrealloc, lt_dlfree. - - The Libtool and libltdl macros and the testsuite now assume a C89 - environment, consequently do not test for headers such as string.h, - strings.h, memory.h any more. - - Fix regression in libltdl symbol exports on Cygwin. Side effect: - LT_GLOBAL_DATA and LT_SCOPE are now explicitly defined as - declspec(dllexport), bypassing auto-export logic on Cygwin. - This tracks existing behavior on MinGW. - - The libtool script has been optimized a bit for more modern shells. - This breaks use of the stdin file descriptor in libtool, and can - break if a different shell is used to execute the libtool script - than the one it was configured for. - - The macros AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, and - AC_DISABLE_STATIC have been un-deprecated after deprecation in - 1.9b. - - The macro LT_WITH_LTDL has been renamed to LTDL_INIT. - - Fixed a branch-1-5/HEAD regression to only link uninstalled libraries - statically with '-static'. In order to compensate for this, there - is a new link flag '-static-libtool-libs' to provide the previous - '-static' semantics. - -* New features: - - - Fix installation of libltdl so that it does not need Autoconf and - Automake installed, in order to be usable in another package. This - lifts the restrictions introduced in 1.9b. - - Default convenience or installable libltdl builds can optionally - be declared using new 'convenience' or 'installable' options to the - LTDL_INIT macro (as an alternative to individual LTDL_CONVENIENCE - or LTDL_INSTALLABLE invocations). - - New configure-time options to allow libltdl parent project builder - to choose between installed and shipped libltdl, when invoking - LTDL_INIT: --with-included-ltdl, --with-ltdl-include, - --with-ltdl-lib. - - New LT_CONFIG_LTDL_DIR macro to specify a different directory name - for a convenience libltdl. - - libtoolize has been completely overhauled. - - 'libtoolize --install' now also installs 'install-sh'. - - New libtoolize options: --non-recursive, --recursive, --subproject. - These options control the way libltdl is installed into a package by - libtoolize. The new recursive and non-recursive build modes for - libltdl don't require a subconfigure any more. - The Libtool package itself builds libltdl nonrecursively. - - The 'nonrecursive', 'recursive' and 'subproject' libltdl build - modes are given as LTDL_INIT options. - - New make variable LTDLDEPS for use in output_DEPENDENCIES. - - New multi-module-loader safe libltdl handle iteration APIs: - lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map. - - New lt_dlinterface_register to maintain separation of concerns - between modules loaded by different libraries. - - New lt_dlopenadvise takes a new lt_dladvise type argument, which - lets the caller request local or global symbol visibility from the - module loader with lt_dladvise_local and lt_dladvise_global - respectively. If neither is given, or if lt_dlopen (or lt_dlopenext) - are called, then the system default module symbol visibility is used. - - The new lt_dladvise_init/lt_dladvise_destroy based APIs also allow - caller requests for a filename extension search with lt_dladvise_ext, - and for marking a module unloadable with lt_dladvise_resident. - - Allow shell special characters like '$' in source file names, but - not in object names, to enhance GCJ support. - - An entire new Autotest-based testsuite in addition to the old one. - Both testsuites have been made more useful for testing - cross-compilers. The new testsuite exposes many more issues, but - may also be a little rocky on exotic systems. - - In 1.9b, a new variable inherited_linker_flags has been added to the - libtool library files. This variable takes flags that should be - used by dependent libraries and programs, but that do not fit into - 'dependency_libs' for both clarity and backward-compatibility. - -* Changes in supported systems or compilers: - - - Removed bitrotted support for xlc on Mac OS X. - - Detection of compiler wrappers distcc/ccache and $host_alias prefix. - - Basic support for PIE (position-independent executables). - - Support for DragonFly BSD, improved support for FreeBSD. - - Improved support for GNU/kFreeBSD and GNU/NetBSD. - - Support for Interix 3 (Windows SFU) and newer versions. - - Support for AIX 6.1. - - Improved support for UnixWare. - - Initial support for RDOS. - - Initial Support for FC (modern Fortran). - - Support for Portland Group compiler, the Sun compiler suite on GNU/Linux, - and initial support for the IBM compiler suite on GNU/Linux/ppc. - - Support for linux-dietlibc ('diet' as well as 'diet-dyn', separately). - - Building libltdl with a C++ compiler has been undusted. - - On (AIX?,) HP-UX, and OpenBSD, hardcoding has been changed to prefer - rpath over absolute dependent library names. This fixes DESTDIR - installs, among others, on the non-HP-UX/PA systems. - - Use of C++ templates together with shared libraries has been - improved on some systems and with some compilers, but is still - ongoing work. Feedback is desirable here. - -* Bug fixes: - - - Fix libltdl on static platforms. - - Search paths with GCC on multilib systems like x86_64 have been fixed. - - Fixed a regression that prevented use of libltdl without autotools. - - Fix error with -version-info on systems with version_type=none, such - as BeOS. - - Fix symbol exporting for cases where command line length limits are - exceeded. - - Improve linking with C++ libraries on Solaris with Sun compiler. - - Fix installation of libraries that are required by installation - commands such as 'ln' or 'rm'. - - More robust parsing of mangled '.la' files inside libltdl, fixing a - possible overrun and a crash due to memory exhaustion. - - Fix compile command line for gcj on MinGW. - - Some configure variables have been renamed to fix caching: - lt_prog_compiler_pic_works to lt_cv_prog_compiler_pic_works - lt_prog_compiler_static_works to lt_cv_prog_compiler_static_works. - - Fix 1.9b regression: lt_dlopen(NULL) works on AIX again. - - Loads of smaller bug fixes. - - -New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team: -* Fix a regression in 1.9d, where ECHO was always set to 'echo' and the - backslash quoting tests were never run. -* Fix a regression in 1.9d, where progpath was used for --no-reexec before it - was set. -* Fix a regression in 1.9d, which required an installed automake to build the - bootstrapped tarball. -* Fix hanging bug on MinGW. - -New in 1.9d: 2004-10-03; CVS version 1.9c, Libtool team: -* If non-pic objects were not compiled, and libtool is called in link mode, - libtool no longer silently creates an empty archive, but rather falls - back to pic objects. -* When compiling C glue code with $LTCC, libtool now saves the setting of - $compiler_flags from the C tag, and passes those flags to $LTCC. -* libtool no longer dies when concurrently creating directories with - 'make -j' on multi-processor hosts. -* Return type, and name parameter of lt_dlloader_remove are no longer - 'const'. -* Name parameter of lt_dlloader_find is no longer 'const'. -* The API for the slist ADT has been updated: slist_new has been replaced - by slist_box; slist_unbox and slist_sort are new; the footprint of - slist_remove and slist_fnid have changed; SListCallback and SListCompare - types have been exchanged. See libltdl/slist.c for documentation. -* libltdl is C89 compatible again. lt_dlsymbol type removed, and lt_dlsymlist - structure changed to avoid using C99 flexible arrays. -* Support self dlopening for executables on cygwin and mingw. -* Improved support for linux-gnu/ia64. -* Initial support for s390x-ibm-tpf. -* Fixed some memory leaks in libltdl. -* Improved support for OpenBSD (use rpath instead of hardcoding absolute - file names). - -New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team: -* The /^_?LT_[A-Z_]+$/ namespace is now reserved for Libtool's own macros. - If you have any shell variables in this namespace they will need to be - renamed. If you have any macros in this namespace please rename them to - prevent any possible future clash with libtool supplied macros. -* New LT_PREREQ macro for specifying minimum libtool requirement. -* New LT_INIT interface replaces AC_PROG_LIBTOOL, AC_ENABLE_SHARED, - AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, - AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, - AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_PIC_MODE. Use autoupdate to modernise - your configure.ac files after installing this release. -* New LT_LANG interface to enable libtool support for a specific language. -* Language support is now only included if your configure.ac enables it, - either through a call to AC_PROG_CXX etc. or LT_LANG. -* The libtool script will complain if it was built from mismatched ltmain.sh - and libtool m4 macro versions. -* Like automake, libtoolize no longer installs config.guess and config.sub by - default. Use new --install option to get the old behaviour. -* libtoolize no longer supports the --ltdl-tar option. -* libtool script is now created by config.status. Instead of interrogating - './libtool' from configure.ac after calling AC_PROG_LIBTOOL, use the - variable names directly. -* libltdl is no longer a self-contained package, and shares configury with - the top level directory now. -* Shared objects (.lo) are no longer created when '-static' is passed in - compile mode. -* New compile mode option '-shared' prevents creation of static objects (.o). -* New link mode option '-shared' creates only shared libraries at link time. -* If you configure libtool with --disable-shared (or if libtool does not - support shared libraries on your platform) trying to build a library using - '-shared' is a fatal error. -* New link mode option '-weak' tells libtool when not to propagate dependency - libraries from dlpreopened modules. -* libtoolize installs libtool.m4, (ltdl.m4 if used,) and various supporting - m4 definitions to AC_CONFIG_MACRO_DIR. -* Mode inferrence removed, shorthand for choosing modes added. -* Specifying -allow-undefined is now an error. -* Speed up max_cmd_len check. -* libltdl can now preopen modules from within a library, and libtool will - accept -dlpreopen options when linking either a shared library or a - convenience library. -* New function in libltdl: lt_dlhandle_find provides access to module handles - by module name. -* New function in libltdl: lt_dlpreload_open opens all preloaded modules. -* libltdl no longer loads shared libraries with global symbol resolution, - this caused problems when the symbols were intended to be overriden further - up the stack; it is also not recommended practice. -* New function in libltdl: lt_dlhandle_first, primes handle iterations (using - lt_dlhandle_next) to filter by module interface. -* libltdl no longer tries to support multi-threaded programming with - lt_dlmutex_register(), which was unusable with POSIX threads anyway. - The symbols are deprecated but exported for backwards compatibility. -* libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols - are still exported for backwards compatibility. -* The lt_dlinfo struct has a new module field that can be used by dlloaders. -* libltdl no longer supports pre-c89 compilers. Some of the pre89 portability - functions had compile time bugs in them anyway, so you guys can't have been - using it :-) -* make install now deletes preexisting $prefix/share/libtool before installing - latest files. -* Extracting symbols from an import library on cygwin and win32 now works. -* Initial support for amigaos-ppc. -* Improved support for OpenBSD. -* Support for Intel C++ version 8.0. -* New support for IBM's xlc and xlc++ on Mac OS X. -* Finished support for QNX RTOS. -* Bug fixes. - -New in 1.5.8: 2004-08-07; CVS version 1.5.7a, Libtool team: -* Support for Intel C++ version 8.0. -* Improved support for OpenBSD. -* Support for xlc on Mac OS X. -* Better support for zsh as /bin/sh. -* Much faster check for command line length on all BSD systems. -* Better Mac OS X/darwin support. -* Bug Fixes. - -New in 1.5.6: 2004-04-11; CVS version 1.5.5a, Libtool team: -* Installs libltdl files properly in $prefix/share/libtool/libltdl. 1.5.4 - did not install them at all. -* libltdl correctly guesses the extension for loadable modules again. - -New in 1.5.4: 2004-04-03; CVS version 1.5.3a, Libtool team: -* Bug fixes. - -New in 1.5.2: 2004-01-25; CVS version 1.5.0a, Libtool team: -* lt_dlrealloc is an official part of the libltdl API. -* --tag, --silent and --debug options are preserved and reused when libtool - calls itself for relinking etc. -* '-pthread' and similar options are honoured when linking shared libraries. -* -no-suppress in compile mode shows compiler output for both PIC and non-PIC - object compilation. -* New link mode option '-precious-files-regex' to prevent accidental removal - of files you want to keep, such as test coverage data, from the temporary - output directory. -* Directories specified in /etc/ld.so.conf are no longer hardcoded on GNU/Linux. -* Recognises the 'R' symbol type on Solaris so read-only symbols can be - exported. -* Bug fixes. - -New in 1.5.1: 2003-??-??; CVS version 1.5.0a, Libtool team: -* lt_dlrealloc is an official part of the libltdl API. -* Bug fixes. - -New in 1.5: 2003-04-14; CVS version 1.4e, Libtool team: -* First stable release of multi-language architecture. -* libtool and libltdl support for Mac OS/X. -* libltdl will now use cygwins dlopen API instead of always forcing - LoadLibrary. -* Support auto-import patch to binutils on cygwin for much improved dll - support. -* Bug fixes. - -New in 1.4.3: 2002-10-13; CVS version 1.4.2a, Robert Boehne: -* The libltdl subdirectory now bootstraps correctly with Automake 1.5. -* srcdir != builddir builds with Automake 1.5 work correctly. -* Support for mips-compaq-nonstopux. -* New command line argument, --preserve-dup-deps prevents removal of - duplicate dependent libraries. - -New in 1.4d: 2002-01-07; CVS version 1.4c, Libtool team: -* Help strings display correctly again. -* Better error messages when library linking fails. -* Better error messages from libltdl when loading fails. -* Better search path management in libltdl with 'lt_dlinsertsearchdir' call. -* Support /lib/w32api in recent cygwin releases. -* Support cross compilation to mingw. -* Support for .rc files (Windows resource compiler). -* Improved handling of mingw gcc. -* Improved handling of $PATH with entries containing spaces. -* Improved support for linking with gcc on aix4* and aix5*. -* Improved support for GCC 3.0. -* Initial support for QNX RTOS, UnixWare 7 and OpenUNIX 8. -* Bug fixes to the OpenBSD port. -* Bug fixes. - -New in 1.4.2: 2001-09-11; CVS version 1.4.1a, Gary V. Vaughan: -* libltdl now builds on solaris again -* diagnose and warn about not-quite-working combinations of gcc and - ld on solaris. -* Improved OpenBSD support. -* Improved cygwin support. -* Bugfixes. - -New in 1.4.1: 2001-09-03; CVS version 1.4.0a, Libtool team: -* Better error messages from libltdl when loading fails. -* Don't leave here-doc files behind. -* Improved support for OpenBSD. -* Libtool will build with autoconf-2.50 and higher. -* Plug memory management bugs in libltdl. -* Prefer shl_load to dlopen for better operation on HP-UX. - -New in 1.4b: 2001-07-09; CVS version 1.4a, Libtool team: -* Now bootstraps with autoconf-2.50 and automake-1.4-p4. -* Always try to build at least a static lib, even if both static and - shared libs were disabled. -* Full support for C++ compiler. -* Support for GNU gcj compiler. -* libltdl can now load all modules in a given path according to user - supplied criteria with 'lt_dlforeachfile' call. -* Improved support for AIX ia64, djgpp, HPUX, hurd, OpenBSD, sco3.2*. -* Internal mutex handling no longer has namespace clashes on NCR MP-RAS. -* New pdemo and tagdemo tests. -* Bug fixes. - -New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team: -* Support for aix5*. -* Bugfixes. - -New in 1.3d: 2001-04-02; CVS version 1.3c, Libtool team: -* ltconfig is no more. Generation of libtool happens directly from - the configure file. -* Multithread safe with lt_dlmutex_register callback registration. -* New -no-install flag to avoid the use of executable wrapper scripts. -* New --with-pic, -prefer-pic and -prefer-non-pic flags to control - the generation of PIC/non-PIC code. -* Support for hardcoding run-time paths (-R) into libraries. -* Support -dlopen and -dlpreopen for libraries. -* Libtool now allows you to link shared libraries against static code. -* New functions in libltdl: - lt_dlgetinfo, lt_dlhandle_next and lt_dlforeach provide access to module - specific data in handles. - lt_dlcaller_register, lt_dlcaller_set_data and lt_dlcaller_get_data provide - management for user storage of per module data. - lt_dlloader_next, lt_dlloader_name, lt_dlloader_find, lt_dlloader_add and - lt_dlloader_remove can be used for adding new types of module loaders. - lt_dladderror, lt_dlseterror integrate user module loaders with lt_dlerror. -* "-Xcompiler" and "-Wc," does now work in compile mode, too. -* Support recent dlltool formats. -* Start of support code for cross-compiling to win32. -* libltdl can now be built as a dll with win32. -* m4 macros needed to configure libltdl split out into libltdl/ltdl.m4. -* New port to NEWS-OS Release 6. -* Improved support for darwin (rhapsody), mingw32, NetBSD, Compaq Tru64 V5.0 - and Digital Unix V4.*. -* Initial support for ia64 linux. -* Initial support for a.out freebsd shared libs. -* Initial support for Paul Sokolovsky's pw32 POSIX over win32 layer. -* Many bugfixes (especially in libltdl) - -New in 1.3b: 1999-07-02; CVS version 1.3a, Libtool team: -* Complete inter-library dependencies support. It's now possible - to link libtool libraries against other libtool libraries. -* Libtool is able to find already-installed libtool libraries, - even if they were moved out of their installation directory. -* New "-Wc,flag" and "-Xcompiler flag" flags to pass flags - directly to the compiler -* New "-Wl,flag" and "-Xlinker flag" flags to pass flags - directly to the linker -* New "-no-fast-install" flag to selectively disable fast-install mode. -* Support for installing stripped libraries using GNU strip (install -s). - Automake >= 1.5 will install stripped libraries with "make install-strip". -* Allow linking shared libraries against static ones - on FreeBSD, GNU/Linux, GNU Hurd and Solaris -* Support for linking DLLs on Win32 -* New 'clean' mode to delete uninstalled files. -* New demos and tests -* Various bugfixes - -New in 1.3.5: 2000-05-27, CVS version 1.3.4a, Libtool team: -* Support for mac OS X (rhapsody). -* Support for *-sequent-sysv4. -* Support for Cygwin-1.1.0. -* Support recent dlltool formats. -* Bugfixes. - -New in 1.3.4: 1999-12-08, CVS version 1.3.3a, Libtool team: -* Support for Compaq Tru64 V5.0. -* Improved support for Digital Unix V4.*. -* Improved support for NetBSD, FreeBSD and Unixware. -* Many fine bugfixes. - -New in 1.3.3: 1999-07-02, CVS version 1.3.2a, Libtool team: -* New '-dlpreopen force' flag to ensure that - lt_preloaded_symbols is always defined. -* Work around self-dlclose bug in FreeBSD 3.1. -* Expand convenience libraries when creating reloadable objects. -* Do not forget to import -L flags of convenience libraries. -* Do not pass -whole-archive or equivalent to symbol extractor. -* Create directory to expand convenience libraries only when needed. -* Improved support for Cygwin, DJGPP and NetBSD -* Various bugfixes - -New in 1.3.2: 1999-05-26, CVS version 1.3.1a, Libtool team: -* Avoid circular links of objects and libraries. -* Look for dlerror when dlopen was found in -ldl (typo). -* Disable shared libraries with broken GNU ld on Solaris. - -New in 1.3.1: 1999-05-21, CVS version 1.3.0a, Libtool team: -* Documentation improvements; recommend automake users to insert libtool.m4 - in acinclude.m4 -* AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE now set INCLTDL. -* New port to NEC UX/4800. -* cygwin-b20.1 passes all tests. -* Slightly improved BeOS support. -* Many AIX 4.3.2 test failures have gone. -* Pass unknown -L arguments through to the linker (for -LANG:* support). -* Close a security hole with mode 777 directory during libltdl installation. -* Fixed the infamous 'ifelse' bug in libtool.m4 - -New in 1.3: 1999-04-29, Libtool team: -* This is just a summary of the changes since 1.2. - See the news of intermediate alpha releases below for details. -* Support for convenience archives. -* New maintainers. Anonymous CVS and home page at gnu.org. -* Portable dlopening interface with libltdl, new -module flag. -* Correctly link installed libtool libraries into programs and other - libtool libraries. Linking of uninstalled libtool libraries into - libraries is under development for 1.4. -* Do not drop library dependencies on platforms that allow them. -* Linking with uninstalled libraries no longer picks installed ones by - mistake. -* Use libraries from the build tree when running uninstalled - executables (may require double linking). -* Allow developers to optimize for build-tree executions. -* Support -export-symbols-regex for controlled symbol exporting. -* Support -R to hardcode directories in library search paths. -* New ports, demos and tests. Lots of improvements and bug fixes. - -New in CVS version 1.2g, Libtool team: -* AM_PROG_LIBTOOL is smaller and faster -* AC_LIBTL_L_WIN32_DLL is required in configure.in for libtool to - attempt to build dlls on win32 hosts -* Shared libraries on AmigaOS up to version 4 are now disabled - since they don't meet libtool's requirements for shared libraries -* -L supports now relative directories -* Libltdl has a new license: LGPL with a special exception -* Libltdl can be used as stand-alone package -* dlopen support for BeOS -* Partial support for Motorola System V 4 -* Improved support for AIX, BeOS, Cygwin, DJGPP, DU, IRIX and HP/UX -* Documentation updates -* New tests -* Bugfixes - -New in 1.2f: 1999-03-15; CVS version 1.2e, Libtool team: -* libtool will correctly link uninstalled libraries into programs - and prefer uninstalled libraries to installed ones -* Library paths that are in the system default run-time search path - are no longer hardcoded into executables. -* New fast installation mode, which links the final executable - in order to avoid relinking during installation. - Programs in the build-tree are relinked when executed. -* New AC_DISABLE_FAST_INSTALL macro to set the default for - the fast-install mode to disabled -* New -export-symbols-regex flag, to export symbols selectively by - a regular expression -* Support -R for specifying run-time path of programs and library dependencies -* New -avoid-version option to avoid versioning for libraries -* libtool module names no longer need to have a "lib" prefix - (requires automake 1.4). -* New -thread-safe flag, to build thread-safe libraries -* Major improvements in libltdl: API documentation, installable version, - support for module search paths, support for lt_dlopen(0), - can be embedded into packages as a tar file (libltdl.tar.gz), - dynamic buffer allocation and buffer overflow checks, - new macro LTDL_SET_PRELOADED_SYMBOLS() which must be used in the - main program, dynamic memory allocation functions are user-defineable -* New AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE macros, to select - convenience and/or installable versions of libltdl. -* libltdl is now built and installed unless --disable-ltdl-install -* New "-dlopen self" flag for dlopening the executable itself -* New AC_LIBTOOL_DLOPEN macro to check for dlopen support, - required if you use -dlopen or -dlpreopen -* If libtool could not satisfy all dependencies of a module - it will only build a static version of it -* dld_preloaded_symbols was renamed to lt_preloaded_symbols -* Support for BeOS -* Improved support for FreeBSD, AIX, IRIX, OSF, SysV 4.3, HP/UX, DJGPP - BSD/OS 4.x and NetBSD -* In order for libtool to attempt to link a shared library (dll) on win32 - platforms, you must pass the -no-undefined flag to libtool in link mode. -* The path to GNU ld now works on cygwin-b18 to cygwin-b20.2 at least. -* Support for IRIX library versioning. -* New demos and tests -* Various bugfixes - -New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team: -* libtool will correctly link already-installed libraries into programs. -* New -module flag, to create loadable modules. -* New libltdl, a small library for portable dlopening of modules. - It is still undocumented, but you can already find some examples in: -* New mdemo directory, with tests of -module and dlopening examples. - Be aware that libltdl is only known to work on a few platforms such as - GNU/Linux and Solaris2. Some mdemo tests are known to FAIL on several - other platforms; please ignore these failures by now (or work to fix - them :-). -* Inter-library dependencies patch finally integrated, but there's - still much porting to do. See PORTING for details (some plans for the - future in mail/deplibs in the CVS tree). -* New option -export-symbols to control symbol exporting when possible. -* Fixed -export-dynamic problem with C++ programs in egcs 1.1. -* New dlpreopen structure. -* libtool now supports '-c -o' and subdirectories in sources and - target object names even in platforms whose compilers do not support - this. In this case, file locking occurs to avoid problems with - parallel builds. -* New 'echo' variant that should fix most problems with long command - lines and broken printf programs. -* Support for DG/UX, UnixWare 7.x and FreeBSD 3.0, and improved - support for Microsoft Windows -* Various bugfixes -* We now have anonymous CVS access to GNU libtool. CVSROOT is - :pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot. The password - is empty. The directory is libtool. Check our home-page at - http://www.gnu.org/software/libtool/libtool.html for details. -* Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over - the maintenance of libtool. -* Arguments to ltconfig have been changed to allow creation of a - libtool C program, totally unusable as of this release. - -New in 1.2b - 1998-07-01, Gordon Matzigkeit: -* Libtool needs a new maintainer, since Gordon Matzigkeit has quit. - If you think you can do the job, send mail to bug-libtool@gnu.org. -* Bug fixes. -* Support for libtool convenience archives. - -New in 1.2a - 1998-04-19, Gordon Matzigkeit: -* Bug fixes. -* ltconfig accepts an '--output' option to specify the name of the - generated libtool. -* New '--debug' flag to turn on shell script tracing for libtool, - libtoolize, and ltconfig. -* Added 'libtool --config' to print out all configuration variables. -* Support for *-*-hpux11*. - -New in 1.2 - 1998-03-20, Gordon Matzigkeit: -* Minor bug fixes to provide a stable public release. -* Libtool no longer cseses Solaris printf to barf due to silly - 2110-byte static buffers. - -New in 1.1 - 1998-03-08, Gordon Matzigkeit: -* Bug fixes. -* http://www.profitpress.com/libtool/ is libtool's homepage. -* 'AM_PROG_LIBTOOL' supports turning shared or static libraries off - with the '--enable-shared=PKGS' and '--enable-static=PKGS' configure - flags. See (libtool)AM_PROG_LIBTOOL. -* Use the 'AM_DISABLE_SHARED' or 'AM_DISABLE_STATIC' macros if you - wish to modify the default behaviour of 'AM_PROG_LIBTOOL' for your - package. -* New rules for 'AM_PROG_LD' to use gcc's '-print-prog-name' flag in - order to find ld, if possible. -* Suppress duplicate compiler output during 'compile' mode. -* Deleted 'dlname' mode. Dlopen applications should only use the - runtime search method described in (libtool)Finding the dlname. -* Experimental support for dynamically loaded modules, even on - static-only platforms, via new '-dlopen' and '-dlpreopen' link - flags. -* 'compile' mode honours the '-static' flag to prevent libtool - from building PIC objects. -* New 'execute' mode to support debugging uninstalled libtool - libraries and executables. -* '-allow-undefined' is now the default. You can use '-no-undefined' - to declare that a shared library is completely self-contained. -* Inter-library dependencies are automatically handled when linking - against an uninstalled '.la' file. -* New '-all-static' flag to prevent any dynamic linking. The regular - '-static' flag now just prevents dynamic linking of libtool libraries. -* New '-release' flag to encode release numbers into libtool - libraries. This breaks binary compatibility, but is useful for - libraries whose interfaces change very frequently. See - (libtool)Versioning. -* The '-rpath' flag can be used to hardcode absolute directories when - linking executables using libtool. -* New robust quoting code to handle any metacharacters passed in - arguments to libtool commands. -* Full support for broken collect2 on AIX 3. Shared libraries - can now be built with all working versions of GCC on AIX. -* Shell script speed optimizations for old and buggy /bin/sh systems, - such as HP-UX 9 and SunOS 4.1.4. -* Maybe use '_libs' as a temporary libtool directory instead of '.libs' - in order to cope with MS-DOS filenames. -* Portability fixes for Windows NT. -* Refuse to create libtool libraries that don't begin with 'lib'. - This allows us to correctly handle OSes that don't have the 'lib' - prefix by default, such as OS/2. -* Support for *-*-amigaos*, *-*-os2*, *-*-sysv4.2uw2*, and *-*-uts4*. - -New in 1.0 - 1997-07-08, Gordon Matzigkeit: -* Bug fixes. -* Better configuration test to find the system linker. The old test - was failing because people frequently install GNU ld, but don't - necessarily configure GCC to use it. -* Automake support for Libtool now uses the LTLIBRARIES primary. See - the Automake documentation for more information. -* Added new '--disable-static' flag to disable building static - libraries on platforms that have shared libs. -* New '-allow-undefined' link flag to build shared libs that contain - references to unresolved symbols. -* Removed all support for creating static-only libraries. -* Basic support for dynamically loaded modules: new '-export-dynamic' - linking flag and corresponding 'dlname' mode. -* New '--features' flag to display configured libtool attributes. -* Added support for installing libtool objects, both in absolute and - relative directories. -* Support *-*-linux-gnu* as an alias for *-*-linux*. -* Support for *-*-openbsd* and *-*-freebsd3*. - -New in 0.9 - 1997-02-03, Gordon Matzigkeit: -* Bug fixes. -* The libtool demo now uses the libm cos(3) function, to demonstrate - inter-library dependencies. -* The PLATFORMS file has been moved to doc/platforms.texi. - -New in 0.8 - 1997-01-26, Gordon Matzigkeit: -* Bug fixes, and more documentation. -* Basic support for other language compilers (C++, Fortran, and - preprocessed assembler). -* Libtool is now more persistent when linking with the '-static' - flag fails. -* New test for hardcoding system linkers, to verify that libtool - neither creates incorrect binaries, nor takes unnecessary - precautions while linking against uninstalled shared libraries. -* For clarity, the demo subdirectory no longer uses ansi2knr, and has - been rewritten to avoid ANSI-only constructs. -* Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*. - -New in 0.7 - 1996-12-08, Gordon Matzigkeit: -* Total rewrite of libtool, along with a new model for library building. -* Completely rewritten documentation for the new paradigm. -* Sane handling of broken system linkers, such as the ones on AIX - and HP-UX. -* configure mode is now a separate program, 'ltconfig' -* The libinfo helper script has been incorporated into the main - libtool program. -* Automatic mode guessing, based on the command line. -* Full support for Automake 1.2 (including ansi2knr features). -* Support to create reloadable objects using link mode. -* Support for new '-static' linking flag. -* Support for stripping libraries during installation. -* Library version information is now passed on the command line, not - through a version file. - -Version 0.6 was never released. - -New in 0.5: -* Disabled install-progs until next version, when it will be correctly - implemented. -* Clearer library versioning documentation. See (libtool)Versioning. -* Renamed gm_PROG_LIBTOOL to AM_PROG_LIBTOOL -* Libtool now creates pseudo-objects named foo.lo and pseudo-archives named - libfoo.la instead of foo.o and libfoo.a. See the documentation. -* libtool compile doesn't interfere with user CFLAGS if they don't - conflict with the current objtype. From Karl Berry. -* Created new libinfo helper script. -* libversion.in files are obsolete -- libtool uses libinfo to read the - new LIBINFO files. -* Libtool is better at finding its config file and helper scripts. -* Support for *-*-gnu* - -New in 0.4: -* Bug fixes and new regression tests -* On unsupported configurations, 'libtool configure' demotes OBJTYPES to - 'standard' instead of aborting -* Added new object type, 't', for tcov(1) support -* Support for *-*-aix3*, *-*-aix4*, *-*-hpux10*, *-*-osf3*, and *-*-solaris2* - -New in 0.3: -* Bug fixes and new regression tests -* Added new uninstall-libs mode -* Added a host argument to configure mode -* Fixed debugging/hyper-optimizing flags conflict (from Karl Berry) -* Support for --no-whole-archive when needed by GNU ld (from Ulrich Drepper) -* Implementation of --enable-linktype, --enable-profile, --enable-shared, - --enable-static in gm_PROG_LIBTOOL macro -* New 'libtoolize' program (modeled after GNU gettext's 'gettextize') to help - conversion to libtool -* New ABOUT-LIBS document for inclusion with libtool-supported packages - -New in 0.2: -* Support for *-*-linux -* Better checking for GNU ld -* Reimplemented the config file so that it corresponds more closely to the - variables listed in (libtool)Porting Libtool. -* Reimplemented the shared library version scheme. See (libtool)Versioning. -* Replaced '--config-file' and '--version-file' options with '--confdir' -* Added new install-libs and install-progs modes - -New in 0.1: -* First release of libtool -* Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4* --- - -Copyright (C) 1996, 1998-2019, 2021-2022 Free Software Foundation, Inc. - -This file is part of GNU Libtool. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. diff --git a/BUILD/libtool-2.4.7/README b/BUILD/libtool-2.4.7/README deleted file mode 100644 index 0984306..0000000 --- a/BUILD/libtool-2.4.7/README +++ /dev/null @@ -1,261 +0,0 @@ -# GNU Libtool - -1. Introduction -=============== - -[GNU Libtool][libtool] is a generic library support script. -[Libtool][] hides the complexity of using shared libraries behind a -consistent, portable interface. - -Libtool's home page is: - - http://www.gnu.org/software/libtool/libtool.html - -See the file [NEWS][] for a description of recent changes to Libtool. - -Please note that you can build GNU Libtool from this directory using a -vendor Make program as long as this is an official release tarball; -otherwise you will need GNU Make for sane VPATH support. See the file -[INSTALL][] for complete generic instructions on how to build and install -Libtool. Also, see the file [doc/notes.txt][notes] for some platform- -specific information. - -See the info node (libtool)Tested Platforms. (or the file -[doc/PLATFORMS][platforms]) for a list of platforms that Libtool already -supports. - -Please try it on all the platforms you have access to: - - * If it builds and passes the test suite (`gmake check`), please send - a short note to the [libtool mailing list][libtool list] with a - subject line including the string `[PLATFORM]`, and containing the - details from the end of `./libtool --help` in the body. - * Otherwise, see _Reporting Bugs_ below for how to help us fix any - problems you discover. - -To use Libtool, add the new generic library building commands to your -`Makefile`, `Makefile.in`, or `Makefile.am`. See the documentation for -details. - -[install]: http://git.savannah.gnu.org/cgit/libtool.git/tree/INSTALL -[libtool]: http://www.gnu.org/s/libtool -[libtool list]: mailto:libtool@gnu.org -[news]: http://git.savannah.gnu.org/cgit/libtool.git/tree/NEWS -[notes]: http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/notes.texi -[platforms]: http://git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS - - -2. Reporting Bugs -================= - -If this distribution doesn't work for you, before you report the -problem, at least try upgrading to the latest released version first, -and see whether the issue persists. If you feel able, you can also -check whether the issue has been fixed in the development sources for -the next release (see _Obtaining the Latest Sources_ below). - -Once you've determined that your bug is still not fixed in the latest -version, please send a full report to the libtool [bug mailing list][], -including: - - 1. the information from the end of the help message given by - `./libtool --help`, and the verbose output of any failed tests - (see _The Test Suites_ immediately below); - 2. complete instructions for how to reproduce your bug, along with - the results you were expecting, and how they differ from what you - actually see; - 3. a workaround or full fix for the bug, if you have it; - 4. a copy of `tests/testsuite.log` if you are experiencing failures - in the Autotest testsuite. - 5. new test cases for the testsuite that demonstrate the bug are - especially welcome, and will help to ensure that future releases - don't reintroduce the problem - if you're not able to write a - complete testsuite case, a simple standalone shell script is - usually good enough to help us write a test for you. - -If you have any other suggestions, or if you wish to port Libtool to a -new platform, please send email to the [mailing list][libtool list]. - -Please note that if you send us an non-trivial code for inclusion in a -future release, we may ask you for a copyright assignment (for brief -details see the 'Copyright Assignment' section on our -[Contributing][contribute] webpage. - -[bug mailing list]: mailto:bug-libtool@gnu.org -[contribute]: http://www.gnu.org/software/libtool/contribute.html - - -3. The Test Suite -================= - -Libtool comes an integrated sets of tests to check that your build -is sane. You can run like this, assuming that `gmake` refers to GNU -make: - - gmake check - -The new, Autotest-driven testsuite is documented in: - - info Autoconf 'testsuite Invocation' - -but simple help may also be obtained through: - - gmake check TESTSUITEFLAGS='--help' - -For verbose output, add the flag '-v', for running only a subset of the -independent tests, merely specify them by number or by keyword, both of -which are displayed with the '--list' flag. For example, the 'libtool' -keyword is used for the tests that exercise only this script. So it is -possible to test an installed script, possibly from a different Libtool -release, with: - - gmake check \ - TESTSUITEFLAGS="-k libtool LIBTOOL=/path/to/libtool" - -Some tests, like the one exercising `max_cmd_len` limits, make use of -this to invoke the testsuite recursively on a subset of tests. For these -tests, the variable `INNER_TESTSUITEFLAGS` may be used. It will be -expanded right after the `-k libtool`, without separating whitespace, so -that further limiting of the recursive set of tests is possible. For -example, to run only the template tests within the `max_cmd_len`, use: - - gmake check TESTSUITEFLAGS="-v -x -k max_cmd_len \ - INNER_TESTSUITEFLAGS=',template -v -x'" - -If you wish to report test failures to the libtool list, you need to -send the file `tests/testsuite.log` to the [bug mailing list][]. - - -4. Obtaining the Latest Sources -=============================== - -* With the exception of ancient releases, all official GNU Libtool - releases have a detached GPG signature file. With this you can verify - that the corresponding file (i.e. without the `.sig` suffix) is the - same file that was released by the owner of it's GPG key ID. First, - be sure to download both the .sig file and the corresponding release, - then run a command like this: - - gpg --verify libtool-x.y.z.tar.gz.sig - - If that command fails because you don't have the required public key, - then run this command to import it: - - gpg --keyserver keys.gnupg.net --recv-keys 2983D606 - - and then rerun the `gpg --verify` command. - -* Official stable releases of GNU Libtool, along with these detached - signature files are available from: - - ftp://ftp.gnu.org/gnu/libtool - - To reduce load on the main server, please use one of the mirrors - listed at: - - http://www.gnu.org/order/ftp.html - -* Alpha quality pre-releases of GNU Libtool, also with detached - signature files are available from: - - ftp://alpha.gnu.org/gnu/libtool - - and some of the mirrors listed at: - - http://www.gnu.org/order/ftp.html - -* The master libtool repository is stored in git. - - If you are a member of the savannah group for GNU Libtool, a writable - copy of the libtool repository can be obtained by: - - git clone @git.sv.gnu.org:/srv/git/libtool.git - - If you are behind a firewall that blocks the git protocol, you may - find it useful to use - - git config --global url.http://git.sv.gnu.org/r/.insteadof \ - git://git.sv.gnu.org/ - - to force git to transparently rewrite all savannah git references to - use http. - - If you are not a member of the savannah group for GNU Libtool, you can - still fetch a read-only copy with either: - - git clone git://git.sv.gnu.org/libtool.git - - or using the CVS pserver protocol: - - cvs -d:pserver:anonymous@pserver.git.sv.gnu.org:/srv/git/libtool.git \ - co -d libtool HEAD - -* Before you can build from git, you need to bootstrap. This requires: - - Autoconf 2.64 or later - - Automake 1.11.1 or later - - Help2man 1.29 or later - - Xz 4.999.8beta or later (from [tukaani.org](http://tukaani.org/xz)) - - Texinfo 4.8 or later - - Any prerequisites of the above (such as m4, perl, tex) - - Note that these bootstrapping dependencies are much stricter than - those required to use a destributed release for your own packages. - After installation, GNU Libtool is designed to work either standalone, - or optionally with: - - Autoconf 2.59 or later - - Automake 1.9.6 or later - -* The `bootstrap` script sets up the source directory for you to hack. - - -5. Version Numbering -==================== - -People have complained that they find the version numbering scheme under -which libtool is released confusing... so we've changed it! - -It works like this: - - . - -Releases with a **major-number** less than 1 were not yet feature -complete. Releases with a **major-number** of 1 used the old numbering -scheme that everyone disliked so much. Releases with a **major-number** -of 2 us the new scheme described here. If libtool ever undergoes a -major rewrite or substantial restructuring, the **major-number** will be -incremented again. - -If we make a patch release to fix bugs in a stable release, we use a -third number, so: - - 2.4.2 - -If we make an alpha quality prerelease, we use a fourth number for the -number of changsets applied since the version it's based on: - - 2.4.2.418 - -And finally, if you build an unreleased version it will have a short git -revision hash string in hexadecimal appended to all of that: - - 2.4.2.418.3-30eaa - --- - Copyright (C) 2004-2010, 2015-2019, 2021-2022 Free Software - Foundation, Inc. - - Written by Gary V. Vaughan, 2004 - - This file is part of GNU Libtool. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - - -Local Variables: -mode: text -fill-column: 72 -End: -vim:tw=72 diff --git a/BUILD/libtool-2.4.7/THANKS b/BUILD/libtool-2.4.7/THANKS deleted file mode 100644 index fa5f6ee..0000000 --- a/BUILD/libtool-2.4.7/THANKS +++ /dev/null @@ -1,342 +0,0 @@ -These people have contributed to GNU Libtool. Some have reported problems, -others have contributed improvements to the documentation and actual code. -The particular contributions are described in the version control logs and -ChangeLog files. If your name has been left out, if you'd rather not be -listed, or if you'd prefer a different address be used, please send a -note to the bug-report mailing list (as seen at end of e.g., libtool --help). - -## -aakropotkin alex.ameen.tx@gmail.com -Akim Demaille akim@epita.fr -Alan Hourihane alanh@fairlite.co.uk -Alan Modra amodra@bigpond.net.au -Alan W. Irwin irwin@beluga.phys.uvic.ca -Albert Cheng acheng@ncsa.uiuc.edu -Albert Chin-A-Young china@thewrittenword.com -Alex Ameen alex.ameen.tx@gmail.com -Alexander Hass alexander.hass@sap.com -Alexander Shevchenko sav_ix@ukr.net -Alexandre Duret-Lutz adl@gnu.org -Alexei Sheplyakov varg@theor.jinr.ru -Alex Potapenko opotapeno@gmail.com -Alfred M. Szmidt ams@kemisten.nu -Allan McRae allan@archlinux.org -Allan Sandfeld Jensen snowwolf@one2one-networks.com -Alon Bar-Lev alon.barlev@gmail.com -Andreas Jaeger aj@suse.de -Andreas Schiffler aschiffler@ferzkopp.net -Andreas Schwab schwab@linux-m68k.org -Andrew C. Feren aferen@CetaceanNetworks.com -Andrew Suffield asuffield@debian.org -Andrey Slepuhin pooh@msu.ru -Aneesh Kumar K.V kvaneesh@hotmail.com -Anthony Green green@redhat.com -Archie Cobbs archie@whistle.com -Arkadiusz MiĹ›kiewicz arekm@maven.pl -Arne Woerner woerner@mediabase-gmbh.de -Assar Westerlund assar@sics.se -Bart Van Assche bvanassche@acm.org -Benjamin Reed ranger@befunk.com -Bernhard Fischer spam.protected -Bernhard Rosenkraenzer bero@redhat.de -Bernhard Voelker mail@bernhard-voelker.de -Bert Driehuis bert_driehuis@compuware.com -Bert Wesarg bert.wesarg@googlemail.com -Bob McElrath bob+libtool@mcelrath.org -Boyd Lynn Gerber gerberb@zenez.com -Brad brad@comstyle.com -Brad Smith brad@comstyle.com -Brent Leback brent.leback@st.com -Brian Barrett brbarret@osl.iu.edu -Brian W. Barrett bbarrett@lanl.gov -Brice De Bruyne bricedb@gmail.com -Brook Moses bmoses@google.com -Brooks Moses bmoses@google.com -Bruce Korb bkorb@gnu.org -Bruno Haible bruno@clisp.org -Camilo La Rota camilo.larota@ens-lyon.fr -Carl D. Roth roth@cse.ucsc.edu -Chad Cunningham ccunning@math.ohio-state.edu -Chris Demetriou cgd@google.com -Chris Lattner sabre@skylab.org -Chris P. Ross cross@eng.us.uu.net -Christiaan Welvaart cjw@daneel.dyndns.org -Christian Biesinger cbiesinger@web.de -Christian Cornelssen ccorn@cs.tu-berlin.de -Christian Rössel christian.roessel@gmx.de -Christoph Egger Christoph_Egger@gmx.de -Christopher A. Knight chriskn@crt.com -Christopher Hulbert cchgroupmail@gmail.com -Christopher Pfisterer cp@chrisp.de -Christoph Pfisterer cp@chrisp.de -Craig Dooley xlnxminusx@gmail.com -Craig Tierney Craig.Tierney@noaa.gov -Cristophe Jarry christophe.jarry@ouvaton.org -Dalibor Topic robilad@kaffe.org -Daniel Harvey daniel@amristar.com.au -Daniel Kobras kobras@linux.de -Daniel Reed djr@redhat.com -Daniel Richard G. skunk@iSKUNK.ORG -Dan McMahill mcmahill@mtl.mit.edu -Dan McNichol mcnichol@austin.ibm.com -Dave Brolley brolley@redhat.com -Dave Korn dave.korn.cygwin@googlemail.com -Dave Vasilevsky thevas@mac.com -Dave Yost Dave@Yost.com -David 'Digit' Turner digit@google.com -David Edelsohn dje.gcc@gmail.com -David Heine dlheine@truffle.Stanford.EDU -David Jones jones@mosaid.com -Derek R. Price derek@ximbiot.com -Dirk Mueller dmueller@suse.de -DJ Delorie dj@delorie.com -Donald Anderson dda@world.std.com -Donald D. Anderson dda@sleepycat.com -Donn Washburn n5xwb@comcast.net -Doug Evans devans@casey.cygnus.com -Ed Maste emaste@freebsd.org -Edouard G. Parmelan Edouard.Parmelan@France.NCR.COM -Edward M. Lee tailbert@yahoo.com -Elizabeth Barham soggytrousers@yahoo.com -Erez Zadok ezk@cs.columbia.edu -Eric Bavier bavier@cray.com -Eric Blake ebb9@byu.net -Eric Estievenart eric@via.ecp.fr -Eric Lindahl erik@theophys.kth.se -Erik van Pienbroek erik-gnu@vanpienbroek.nl -Ethan Mallove ethan.mallove@sun.com -Fabian Groffen grobian@gentoo.org -Frank Ch. Eigler fche@cygnus.com -Fred Cox sailorfred@yahoo.com -Fred Fish fnf@be.com -Fredrik Estreen estreen@algonet.se -Fritz Elfert felfert@to.com -Gary Kumfert kumfert@llnl.gov -Geoffrey Keating geoffk@apple.com -George Bosilca bosilca@cs.utk.edu -Gerald Pfeifer gerald@pfeifer.com -Greg Eisenhauer eisen@cc.gatech.edu -Guido Draheim guidod-2001q3@gmx.de -Henning Nielsen Lund hnl_dk@amigaos.dk -Hiroyuki Sato hiroysato@gmail.com -H.J. Lu hjl@gnu.org -Howard Chu hyc@highlandsun.com -Ian Lance Taylor ian@cygnus.com -Ingo Weinhold ingo_weinhold@gmx.de -Jacob Meuser jakemsr@jakemsr.com -Jakub Bogusz qboosh@pld-linux.org -Jakub Jelinek jakub@redhat.com -James E Wilson wilson@specifixinc.com -James Su james.su@gmail.com -Jan Engelhardt jengelh@inai.de -Jan Kratochvil project-libtool@jankratochvil.net -Jay Krell jay.krell@cornell.edu -Jean-Frederic Clere jfrederic.clere@fujitsu-siemens.com -Jeff Squyres jsquyres@cisco.com -Jens Petersen petersen@redhat.com -Jeremie LE HEN tataz@sitadelle.com -Jeremy C. Reed reed@reedmedia.net -Jeremy Huddleston Sequoia jeremyhu@macports.org -Jim Meyering jim@meyering.net -Jim Pick jim@kaffe.org -Jim Tison jtison@us.ibm.com -Jiro Takabatake jiro@din.or.jp -Joakim Tjernlund joakim.tjernlund@transmode.se -Joel N. Weber II devnull@gnu.org -Joe Orton joe@manyfish.co.uk -Joerg Sonnenberger joerg@netbsd.org -John Bowler jbowler@acm.org -John David Anglin dave.anglin@nrc-cnrc.gc.ca -John R. Cary cary@txcorp.com -John Wehle john@feith.com -John Wolfe jlw@sco.com -Jon Meredith jonm@alchemetrics.co.uk -Joseph Beckenbach III jrb3@best.com -Joseph Prostko joe.prostko@gmail.com -Juergen Reuter reuter@t00pcx17094.desy.de -JĂĽrgen Reuter juergen.reuter@physik.uni-freiburg.de -Justin Lecher jlec@gentoo.org -Karl Berry karl@freefriends.org -Kean Johnston jkj@sco.com -Keith Packard keithp@keithp.com -Ken Block block@zk3.dec.com -Kenneth Albanowski kjahds@kjahds.com -Kevin P. Fleming kpfleming@backtobasicsmgmt.com -Kevin Ryde user42@zip.com.au -Khem Raj raj.khem@gmail.com -KO Myung-Hun komh78@gmail.com -Kurt D. Zeilenga Kurt@OpenLDAP.Org -Kurt Roeckx kurt@roeckx.be -Lawrence Velázquez larryv@macports.org -Leif Ekblad leif@rdos.net -Lennart Poettering lennart@poettering.net -Lionel Landwerlin llandwerlin@gmail.com -Loren James Rittle rittle@latour.rsch.comm.mot.com -Lucas Holt luke@foolishgames.com -Maciej Helminiak dion2@wp.pl -Maciej W. Rozycki macro@ds2.pg.gda.pl -Mahesh Narayanamurthi mahesh.mach@gmail.com -Makoto Ishisone ishisone@sra.co.jp -Manfred Weichel Manfred.Weichel@pdb.siemens.de -Manish Singh yosh@gimp.org -Marcel Loose loose@astron.nl -Marc Espie espie@nerim.net -Marc Glisse marc.glisse@inria.fr -Marc J. Fraioli fraioli@dg-rtp.dg.com -Marcus Comstedt marcus@mc.pp.se -Marius Vollmer mvo@zagadka.de -Mark Kettenis kettenis@gnu.org -Markus Duft markus.duft@salomon.at -Markus F.X.J. Oberhumer markus@oberhumer.com -Martin Doucha doucha@integri.cz -Masahiro Nobori nobori@ss.titech.ac.jp -Mats Rynge rynge@isi.edu -Matthieu Herrb matthieu.herrb@laas.fr -Matthijs Kooijman matthijs@stdin.nl -Max Bowsher maxb@ukf.net -Michael Forster email@michael-forster.de -Michael Haubenwallner michael.haubenwallner@salomon.at -Michael Matz matz@ifh.de -Michael Pruett michael@68k.org -Michael Schmitz mschmitz@iname.com -Michael Tiemann tiemann@cygnus.com -Micheal E. Faenza mfaenza@mitre.org -Mike Frysinger vapier@gentoo.org -Mike Gorchak lestat@i.com.ua -Mike Miller mtmiller@ieee.org -Mike Stump mrs@apple.com -Mikhail Zabaluev mikhail.zabaluev@gmail.com -Misty De Meo misty@brew.sh -Mocha netbsd_alpha@yahoo.com -Mo DeJong mdejong@redhat.com -Morten Eriksen mortene@sim.no -Mumit Khan khan@xraylith.wisc.edu -Naofumi Yasufuku naofumi@yasufuku.net -Nick Bowler nbowler@draconx.ca -Nick Hudson nick@nthcliff.demon.co.uk -Nick Rasmussen nick@jive.org -NIIBE Yutaka gniibe@m17n.org -Nix nix@esperi.org.uk -Noah Misch noah@cs.caltech.edu -Norihiro Tanaka noritnk@kcn.ne.jp -Olaf Lenz olenz@fias.uni-frankfurt.de -Olivier Blin olivier.blin@softathome.com -Ollie Wild aaw@google.com -Olly Betts olly@muscat.co.uk -OndĹ™ej BĂ­lka neleai@seznam.cz -Ozkan Sezer sezeroz@gmail.com -Pádraig Brady P@draigBrady.com -Paolo Bonzini bonzini@gnu.org -Patrice Fromy patrice.fromy@u-psud.fr -Patrick Welche prlw1@newn.cam.ac.uk -Paul Berrevoets paul@swi.com -Paul Biggar paul.biggar@gmail.com -Paul Eggert eggert@cs.ucla.edu -Paul Laight plaight@quantxautomation.co.uk -Paul Seidler sepek@lavabit.com -Paul Sokolovsky Paul.Sokolovsky@technologist.com -Pavel (Pasha) Shamis shamisp@ornl.gov -Pavel Raiskup praiskup@redhat.com -Pavel Roskin pavel_roskin@geocities.com -PaweĹ‚ Daniluk pawel@bioexploratorium.pl -Per Bothner per@bothner.com -Peter Breitenlohner peb@mppmu.mpg.de -Peter Eisentraut peter_e@gmx.net -Peter Ekberg peda@axentia.se -Peter Fritzsche peter.fritzsche@gmx.de -Peter Jeremy peterjeremy@optushome.com.au -Peter Johansson trojkan@gmail.com -Peter Kjellerstedt peter.kjellerstedt@axis.com -Peter Rosin peda@lysator.liu.se -Philip Allison philip.allison@smoothwall.net -Pierre Ossman ossman@ossman.lkpg.cendio.se -Rainer Emrich r.emrich@de.tecosim.com -Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE -Rainer Tammer tammer@tammer.net -Raja R Harinath harinath@cs.umn.edu -Ralf Menzel menzel@ls6.cs.uni-dortmund.de -Ralph Schleicher rs@nunatak.allgaeu.org -Reid Spencer reid@x10sys.com -Reuben Thomas rrt@sc3d.org -Richard B. Kreckel kreckel@ginac.de -Richard Dawe rich@phekda.freeserve.co.uk -Richard Moseley dickie.moseley@virgin.net -Richard Palo richard.palo@baou.fr -Richard Purdie rpurdie@rpsys.net -Richard Sandiford richards@transitive.com -Richard W.M. Jones rjones@redhat.com -Rico Tzschichholz ricotz@ubuntu.com -Robert Garron Robert.Garron@Access3000.net -Robert Millan rmh@aybabtu.com -Roberto Bagnara bagnara@cs.unipr.it -Robert Ă–gren lists@roboros.com -Robert Yang liezhi.yang@windriver.com -Roger Cornelius rac@tenzing.org -Roland Mainz roland.mainz@nrubsig.org -Roumen Petrov bugtrack@roumenpetrov.info -Rudolf Leitgeb r.leitgeb@x-pin.com -Ryan Hill dirtyepic@gentoo.org -Ryan Schmidt libtool@ryandesign.com -Sam Thursfield ssssam@gmail.com -Samuel Meder meder@mcs.anl.gov -Samuel Thibault samuel.thibault@ens-lyon.org -Sascha Schumann sascha@schumann.cx -Scott McCreary scottmc2@gmail.com -Sebastian Wilhelmi wilhelmi@ira.uka.de -Simon Josefsson jas@extundo.com -Stacey Marshall stacey.marshall@oracle.com -Stas Maximov smaximov@ieee.org -Stefan Nordhausen nordhaus@informatik.hu-berlin.de -Stefan Sperling stsp@elego.de -Stepan Kasal kasal@ucw.cz -Stephane Conversy Stephane.Conversy@lri.fr -Stephan Kulow coolo@kde.org -Steve Ellcey sellcey@mips.com -Steven M. Schultz sms@moe.2bsd.com -Steve Price sprice@hiwaay.net -Svante Signell srs@kth.se -Sven Verdoolaege skimo@liacs.nl -Syd Polk spolk@redhat.com -Terry D. Dontje Terry.Dontje@Sun.COM -Thorsten Glaser tg@66h.42h.de -Tijl Coosemans tijl@FreeBSD.org -Tilman Koschnick til@subnetz.org -Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu -Timothy Wall twall@oculustech.com -Tim Rice tim@multitalents.net -Tim Van Holder tim.van.holder@pandora.be -Titus von Boxberg titus@v9g.de -Tobias Stoeckmann tobias@stoeckmann.org -Todd C. Miller Todd.Miller@courtesan.com -Todd Vierling tv@duh.org -Tod Milam tmilam@traclabs.com -Tom Kacvinsky tjk@ams.org -Tom Tromey tromey@cygnus.com -Tony Wyatt wyattaw@optushome.com.au -Tor Lillqvist tml@iki.fi -Török Edwin edwintorok@gmail.com -Toshio Kuratomi badger@prtr-13.ucsc.edu -Ulrich Drepper drepper@ipd.info.uni-karlsruhe.de -Utz-Uwe Haus haus@mail.math.uni-magdeburg.de -Václav Haisman vhaisman@gmail.com -Václav Zeman vhaisman@gmail.com -Vadim vadim@olly.ru -Vadim Zeitlin vz-libtool@zeitlins.org -Vincent Lefevre vincent@vinc17.net -Vincent Torri doursse@users.sf.net -Vladimir Kushnir kushn@mail.kar.net -Volker Christian voc@soft.uni-linz.ac.at -Warren Dodge warren.l.dodge@Tektronix.com -Wesley W. Terpstra terpstra@ito.tu-darmstadt.de -Wilfredo Sanchez wsanchez@apple.com -William M. Perry wmperry@aventail.com -Xavier Pianet xavier@xingo.com -Xin Li -Xin LI d@delphij.net -Yaakov Selkowitz yselkowitz@users.sourceforge.net -Дилян ПалаŃзов dilyan.palauzov@aegee.org -Юрий Đндреевич ĐźŃхальŃкий pooh@cryptopro.ru - -;; Local Variables: -;; coding: utf-8 -;; End: diff --git a/BUILD/libtool-2.4.7/TODO b/BUILD/libtool-2.4.7/TODO deleted file mode 100644 index e915ac9..0000000 --- a/BUILD/libtool-2.4.7/TODO +++ /dev/null @@ -1,346 +0,0 @@ -GNU Libtool -*********** - -1. In the near future -===================== - -1.1. libtool ------------- - -* Rather than looking up the linker's hardcode characteristics in a - table of shell code, use objdump or equivalent to probe a test program - at configure time. - -* Eliminate the warnings from autoconf -Wobsolete. - -* Hook the various language dependencies into the autoconf _AC_LANG - framework. - -* Work out what to do when the dynamic linker loads needed dependencies. - -* We could have an option to hardcode paths into libraries, as well as - binaries: '... -Wl,-soname -Wl,/tmp/libtest.so.0 ...'. This is not - possible on all platforms, and is in part obviated by the ability of - linking libtool libraries specified with -lname, but it might still - be desirable. - -* Lists of exported symbols should be stored in the pseudo library - so that the size of lt_preloaded_symbols can be reduced. - -* Have some option to tell libtool not to include -L flags that point - into a certain tree in the dependence list of an installed library. - For example: -L-$top_builddir would let one link with libtool - libraries in sibling subdirectories within a project, using the -L - notation, without getting builddir pathnames ever mentioned in .la - files that get installed. - -* Eric Lemings writes: - Because of a growing number of config scripts for packages in GNOME 1.2 - (e.g. glib-config, xml-config, orbit-config. etc), development of GNOME - 2.0 spawned a separate tool called pkg-config that allows all packages - to use one tool rather than several different scripts to query compile - flags, link flags, and other configuration data. - - The functionality of pkg-config seems to me to have a lot of overlap - with the goals of libtool. I was wondering if anyone had considered - adding an eighth mode to libtool that just queries the installed - library for the same information that pkg-config provides. Since - most packages that use pkg-config also use libtool, I think this - would be a good way to reduce maintainer and developer dependencies. - -* Have libtoolize install 'install-sh' if a newer version is available, - and/or Automake is not used. - -* Allow to specify linking some dependent libraries statically and some - dynamically, where possible. - -* Improve support for C++ with templates. - -* Audit file listing in libtool.m4. - -* Fix deplibs_check_method=pass_all (which is wrong!) on GNU/Linux. - -* Fix -dlopen "self" on AIX. Reported by Gary Kumfert . - -* Fix denial of service if using installed 'libtool' on a different mount point - together with a compiler that does not understand '-c -o'. - Reported by Marcin Siennicki. - -* Look at better -no-undefined support, maybe along the idea of - [support #103719] for CC. - - -1.2. libltdl ------------- - -* Change libltdl interface: add separate functions for function - pointers. This will allow porting to systems where function pointers - are incompatible with data pointer C-wise. - -* Fix the following bugs in libltdl: - - error reporting of tryall_dlopen(): - if the file actually doesn't exist (stat() fails or it wasn't dlpreopened) - -> report 'file not found' - if it cannot be loaded (e.g. due to missing dependencies) - -> report dlerror - open question: what error should be reported if all dlloaders fail - or if a specific module type can only be loaded by one of them, how report its dlerror? - Also report dlerror() for dlclose and dlsym if available - - Make sure that the dependency_libs of a dlpreopened module won't be loaded. - - - Fix mdemo failures on mingw. - - - Fix the last memleak. Reported by Jeff Squyres . - - - Fix LTDL_CONVENIENCE. Reported by Bob Friesenhahn - and Patrick Welche . - - -1.3. libtoolize ---------------- - -* Rewrite the func_copy_* functions so that instead of forking 2 tar - processes per copied file, a list of files to copy is built and all - files copied with a single pair of tar processes. - -* Write test case that adds libtool macros to aclocal.m4. - - -2. In the future -================ - -2.1. Documentation ------------------- - -* Need to finalize the documentation, and give a specification of - '.la' files so that people can depend on their format. This would be - a good thing to put before the maintainance notes. - -* Document the installed 'libtool' and its limitations clearly (maybe implement - --disable-script-install as well). Or, even better, remove its limitations. - -* Platform notes redo. - -2.2. test suite ---------------- - -* Rewrite the whole thing in Autotest. This will enable us to remove - all the tests/*demo noise, and duplication; and thus speed up bootstrap - and make writing new tests a whole lot more pleasant. - -* We should include tests with reloadable objects in the testsuite. - -* Write a test case for linkage with gnu ld scripts (per 2004-08-25 patch - from Paolo Bonzini). - -* Test everything: - - cross compile - - dirs with ~ - - multiple input files - -2.3. libtool ------------- - -* Fix cross-compiling. - -* Fix threads. - -* Support multilibbing. - -* If not cross-compiling, have the static flag test run the resulting - binary to make sure everything works. - -* Another form of convenience library is to have undocumented utility - libraries, where only the shared version is installed. - -* We could use libtool object convenience libraries that resolve - symbols to be included in a libtool archive. This would require some - sort of -whole-archive option, as well. - -* Currently, convenience libraries (.al) are built from .lo objects, - except when --disable-shared. When we can build both shared and - static libraries, we should probably create a .al out of .lo objects - and also a .a out of .o objects. The .al would only be used to create - shared libraries, whereas the .a would be used for creating static - libraries and programs. We could also explicitly support 'empty' - convenience libraries, that behave as macros that expand to a set of - -Rs, -Ls and -ls switches. - -* Audit use of object names so we can allow '$' not only within - source file names. Necessary especially for java. - -* We could introduce a mechanism to allow for soname rewriting, to - ease multi-libc support. Installers could specify a prefix, suffix or - sed command to modify the soname, and libtool would create the - corresponding link. This would allow for rebuilding a library with - the same version number, but depending on different versions of libc, - for example. In the future, we might even have an option to encode - the sonames of all dependencies of a library into its soname. - -* Look again at a binary C libtool, or byte-compiled libtool to improve - speed. - -* Generate some "platform specific" shell functions with config.status, - for example, there is no need to have the C source code for the - wrapper script on non-windows platforms, this will make the generated - libtool script smaller and easier to follow, maybe a little faster - too? - -* Audit the GCJ tag section in libtool.m4. - -* Add caching mechanism. Look at 'libtool-cache' from Robert Ă–gren. - - -2.4. libtool autoconf macros ----------------------------- - -* Sort out the macro mess in libtool.m4. We've started this already - by refactoring chunks into separate files, but I never did completely - untangle the mess of macros imported from ltconfig. - -* The definitions for LT_SYS_MODULE_EXT, LT_SYS_MODULE_PATH and - LT_SYS_DLSEARCH_PATH should not rely on the _LT_SYS_DYNAMIC_LINKER - macro. This involves moving the code that sets the variables - library_names_spec, shlibpath_var and sys_lib_dlsearch_path_spec from - into a separate macro, and AC_REQUIRING the newly extracted macro in the - respective ltdl.m4 macros. - -2.5. libtool automake integration ---------------------------------- - -* Unify locks between libtool and compile. - -* Fix relinking. - -2.6. libltdl ------------- - -* Finish the rewrite of the core libltdl. The loaders are fine, and - the outlying code is now good. Ralf is starting to pick away at a lot - of the remaining nasties already, but the code for finding .la/.so files - and reading/loading them could use a lot more improvement. - -* I think we could factor out a little path management support module - from existing libltdl. This would be useful for M4 at least -- keeping - track of FOO_PATH environment contents, searching for files in paths - etc. - -* Try to find a work-around for -[all-]static and libltdl on platforms - that will fail to find dlopening functions in this case. Maybe - creating an alternate libltdl that provides only for dlpreopening, or - creating an additional static library to provide dummy implementations - of the functions that can't be linked statically. This could hardly - be made completely transparent, though. - -* In conjunction with above, fix the failures on *BSD when linked to - static libc. Reported by Guilhem Lavaux . - -* Add i18n strings to libltdl, ensuring that package developers can - ignore any i18n when they libtoolize. - -2.7. win32 support ------------------- - -* Arrange that EXEEXT suffixes are stripped from wrapper script names - only when needed, and that a timestamp file or a wrapper program is - created with the EXEEXT suffix, so that 'make' doesn't build it every - time. - -* Figure out how to use data items in dlls with win32. - The difficult part is compiling each object that will be linked with an - import lib differently than if it will be linked with a static lib. This - will almost definitely require that automake pass some hints about linkage - in to each object compilation line. - -* jeffdb@goodnet.com writes: - all you need to do for mutually dependent .dll's is to create an implib from - a .def file so it appears that we might need to detect and handle mutual - dependencies specially on win32 =(O| - -* QoI for file name and path conversion functions. Currently, these are - implemented as MxN different functions; this has quadratic complexity. If - possible, it would be preferred to implement then as M+N functions. However: - http://lists.gnu.org/archive/html/libtool-patches/2010-08/msg00224.html - The main issue is you don't know what the "native" (e.g. "central") - path-type is; e.g. "from-X (to what?)" and "(from what?) to-Y". Right - now there are only four "platforms" involved: *nix, mingw, msys, and - cygwin. That's actually the break-even point, given the vagaries and - optimizations involved in these particular four platforms. - - We have exactly five basic file name conversion functions (not counting - the wrappers that handle paths). For a non-quadratic M+N (from-X|to-Y) - solution, we'd need, I think, the same number of conversion functions: brute - force suggests nine (four to_*, four from_*, plus the noop), but then many - of the from_* and to_* would actually BE noop. - - I'm assuming here that the "central" path-type is implicitly some sort of - unixish -- maybe cyg, maybe msys, maybe unix -- path-type. The issue is - that each of the five conversion functions use a different TOOL to perform - the conversion, with different syntax. So, trying to combine, e.g. - msys_to_mingw - cygwin_to_mingw - unix_to_mingw - into an all-encompassing "central_unixish_to_mingw" would require additional - m4 magic to basically replace the guts depending on whether $build was msys, - cygwin, or unix. Worse, you can't really do a set of - {msys|cygwin|unix}_to_central_unixish that isn't simply a no-op -- because - (A) they already are all unixish, and (B) what tool would you use? How would - the later to_mingw function "know" how to covert this new representation to - mingw. So, {msys|cygwin|unix}_to_central_unixish would simply be a no-op - and central_unixish_to_mingw would still do all the work (with its guts - customized based on $build). - - For more reasonable cross environments (e.g. linux-gnu->some_embedded) I - think you could probably work out a general M+N scheme, since most embedded - $hosts aren't as strange as the win32 variants -- even VxWorks and INTEGRITY - have basic, unix-like file systems (although INTEGRITY does have multiple - roots). Aggressive use of the m4 function_replace machinery WOULD be - appropriate for /these/ conversion functions. OTOH...(a) you can't run the - $host apps on $build anyway, in these embedded situations. At best you'd use - $TARGETSHELL and "run" them via a remote connection, and (b) they don't use - the C wrapper! - - So...I don't think it makes much difference *right now* in the amount of - code required, or the number of functions implemented. At some point in the - future we might want to generalize to an M+N scheme. For the existing win32 - $hosts, all of the funtionality would be on "one side" of the 2-step - conversion; the "other side" would be noop. But we won't worry about the - implicit quadratic complexity of the existing scheme for now. - -3. Wish List -============ - -* Maybe implement full support for other orthogonal library types - (libhello_g, libhello_p, 64 vs 32-bit ABI's, etc). Make these types - configurable. - -* Perhaps the use of libltdl could be made cleaner by allowing - registration of hook functions to call at various points. This would - hopefully free the user from having to maintain a parallel module - list with user data. This would likely involve being able to carry - additional per user module data in the lt_dlmodule structure -- perhaps - in the form of an associative array keyed by user name? - -* Figure out how to make pkg-config aware of the information libtool - knows about libraries and their dependencies, and send a patch. - -* Generate a libtool.m4 from a bunch of individual files, one per - platform, to make the job of a "platform maintainer" easier and make - it easier to add new platforms. - --- - Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - This file is part of GNU Libtool. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Local Variables: -mode: text -fill-column: 72 -End: diff --git a/BUILD/libtool-2.4.7/aclocal.m4 b/BUILD/libtool-2.4.7/aclocal.m4 deleted file mode 100644 index da31bc9..0000000 --- a/BUILD/libtool-2.4.7/aclocal.m4 +++ /dev/null @@ -1,1148 +0,0 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# Copyright (C) 2002-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.16' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - AS_CASE([$CONFIG_FILES], - [*\'*], [eval set x "$CONFIG_FILES"], - [*], [set x $CONFIG_FILES]) - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`AS_DIRNAME(["$am_mf"])` - am_filepart=`AS_BASENAME(["$am_mf"])` - AM_RUN_LOG([cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles]) || am_rc=$? - done - if test $am_rc -ne 0; then - AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking).]) - fi - AS_UNSET([am_dirpart]) - AS_UNSET([am_filepart]) - AS_UNSET([am_mf]) - AS_UNSET([am_rc]) - rm -f conftest-deps.mk -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking is enabled. -# This creates each '.Po' and '.Plo' makefile fragment that we'll need in -# order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAKE_INCLUDE() -# ----------------- -# Check whether make has an 'include' directive that can support all -# the idioms we need for our automatic dependency tracking code. -AC_DEFUN([AM_MAKE_INCLUDE], -[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) - AS_CASE([$?:`cat confinc.out 2>/dev/null`], - ['0:this is the am__doit target'], - [AS_CASE([$s], - [BSD], [am__include='.include' am__quote='"'], - [am__include='include' am__quote=''])]) - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -AC_MSG_RESULT([${_am_result}]) -AC_SUBST([am__include])]) -AC_SUBST([am__quote])]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2018 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([m4/00gnulib.m4]) -m4_include([m4/autobuild.m4]) -m4_include([m4/gnulib-common.m4]) -m4_include([m4/gnulib-comp.m4]) -m4_include([m4/libtool.m4]) -m4_include([m4/ltargz.m4]) -m4_include([m4/ltdl.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) -m4_include([m4/m4.m4]) -m4_include([m4/zzgnulib.m4]) diff --git a/BUILD/libtool-2.4.7/autom4te.cache/output.0 b/BUILD/libtool-2.4.7/autom4te.cache/output.0 deleted file mode 100644 index 29075a6..0000000 --- a/BUILD/libtool-2.4.7/autom4te.cache/output.0 +++ /dev/null @@ -1,33382 +0,0 @@ -@%:@! /bin/sh -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.69 for GNU Libtool 2.4.7. -@%:@ -@%:@ Report bugs to . -@%:@ -@%:@ -@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -@%:@ -@%:@ -@%:@ This configure script is free software; the Free Software Foundation -@%:@ gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in @%:@( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: bug-libtool@gnu.org about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -lt_ltdl_dir='libltdl' - -SHELL=${CONFIG_SHELL-/bin/sh} - -lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/ - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIB@&t@OBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='GNU Libtool' -PACKAGE_TARNAME='libtool' -PACKAGE_VERSION='2.4.7' -PACKAGE_STRING='GNU Libtool 2.4.7' -PACKAGE_BUGREPORT='bug-libtool@gnu.org' -PACKAGE_URL='http://www.gnu.org/software/libtool/' - -ac_unique_file="libtoolize.in" -ac_config_libobj_dir=libltdl -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='GLtests_LIBOBJDEPS -GLtests_LTLIBOBJS -GLtests_LIBOBJS -GL_LIBOBJDEPS -GL_LTLIBOBJS -GL_LIBOBJS -CONFIG_INCLUDE -am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -HELP2MAN -GL_CFLAG_GNULIB_WARNINGS -abs_aux_dir -GLtests_WITNESS -GL_CXXFLAG_ALLOW_WARNINGS -GL_CFLAG_ALLOW_WARNINGS -GL_COND_LIBTOOL_FALSE -GL_COND_LIBTOOL_TRUE -with_aix_soname -to_tool_file_cmd -to_host_file_cmd -RC -GCJFLAGS -GCJ -GOC -ac_ct_FC -FCFLAGS -FC -ac_ct_F77 -FFLAGS -F77 -CXXCPP -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -LTDLOPEN -LT_CONFIG_H -CONVENIENCE_LTDL_FALSE -CONVENIENCE_LTDL_TRUE -INSTALL_LTDL_FALSE -INSTALL_LTDL_TRUE -LT_ARGZ_H -LIB@&t@OBJS -sys_symbol_underscore -LIBADD_DL -LT_DLPREOPEN -LIBADD_DLD_LINK -LIBADD_SHL_LOAD -LIBADD_DLOPEN -LT_DLLOADERS -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -ac_ct_AR -FILECMD -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -RANLIB -ARFLAGS -AR -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -pkgaux_scripts -pkgdatadir -aclocaldir -CONFIG_STATUS_DEPENDENCIES -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -M4_DEBUGFILE -M4_GNU -M4 -AUTOTEST -AUTOM4TE -package_revision -macro_dir -aux_dir -ltdl_dir -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL -am__quote' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_ltdl_install -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_cross_guesses -' - ac_precious_vars='build_alias -host_alias -target_alias -M4 -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -LT_SYS_LIBRARY_PATH -CXX -CXXFLAGS -CCC -CXXCPP -F77 -FFLAGS -FC -FCFLAGS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures GNU Libtool 2.4.7 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - @<:@@S|@ac_default_prefix@:>@ - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - @<:@PREFIX@:>@ - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/libtool@:>@ - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of GNU Libtool 2.4.7:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --disable-ltdl-install do not install libltdl - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ - --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ - --enable-fast-install@<:@=PKGS@:>@ - optimize for fast installation @<:@default=yes@:>@ - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-ltdl-install install libltdl - --enable-cross-guesses={conservative|risky} - specify policy for cross-compilation guesses - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use - both@:>@ - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, @<:@default=aix@:>@. - --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ - --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - -Some influential environment variables: - M4 Location of GNU M4 1.4.6 or later. Defaults to the first program - of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs. - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - FC Fortran compiler command - FCFLAGS Fortran compiler flags - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -GNU Libtool home page: . -General help using GNU software: . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -GNU Libtool configure 2.4.7 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -@%:@ ac_fn_c_try_compile LINENO -@%:@ -------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_compile - -@%:@ ac_fn_c_try_cpp LINENO -@%:@ ---------------------- -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_cpp - -@%:@ ac_fn_c_try_link LINENO -@%:@ ----------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_link - -@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists and can be compiled using the include files in -@%:@ INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_header_compile - -@%:@ ac_fn_c_try_run LINENO -@%:@ ---------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes -@%:@ that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_run - -@%:@ ac_fn_c_check_func LINENO FUNC VAR -@%:@ ---------------------------------- -@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_func - -@%:@ ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -@%:@ --------------------------------------------- -@%:@ Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -@%:@ accordingly. -ac_fn_c_check_decl () -{ - ac_save_ac_compile="$ac_compile" - if test -n "$ac_compile_for_check_decl"; then - ac_compile="$ac_compile_for_check_decl" - fi - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -@%:@ifndef $as_decl_name -@%:@ifdef __cplusplus - (void) $as_decl_use; -@%:@else - (void) $as_decl_name; -@%:@endif -@%:@endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - ac_compile="$ac_save_ac_compile" - -} @%:@ ac_fn_c_check_decl - -@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES -@%:@ ------------------------------------------- -@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache -@%:@ variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_type - -@%:@ ac_fn_cxx_try_compile LINENO -@%:@ ---------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_compile - -@%:@ ac_fn_cxx_try_cpp LINENO -@%:@ ------------------------ -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_cpp - -@%:@ ac_fn_cxx_try_link LINENO -@%:@ ------------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_link - -@%:@ ac_fn_f77_try_compile LINENO -@%:@ ---------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_f77_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_f77_try_compile - -@%:@ ac_fn_f77_try_link LINENO -@%:@ ------------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_f77_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_f77_try_link - -@%:@ ac_fn_fc_try_compile LINENO -@%:@ --------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_fc_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_fc_try_compile - -@%:@ ac_fn_fc_try_link LINENO -@%:@ ------------------------ -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_fc_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_fc_try_link -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by GNU Libtool $as_me 2.4.7, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in @%:@(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - -# Remove this when a released Autoconf is capable of bootstrapping -# Libtool without it (probably after autoconf-2.70). - - -# Since we already declare these directories in this file, save those -# choices, and push the results into Makefile.am to avoid declaring -# them in two places making renames error prone, and where copies -# might get out of sync. - - - - -ac_config_headers="$ac_config_headers config.h:config-h.in" - - - - - - - - -ltdl_dir=libltdl - -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - -aux_dir=build-aux - -macro_dir=m4 - - - -package_revision=`$SHELL $ac_aux_dir/git-version-gen .tarball-version` - - -## ------------------------ ## -## Autotest initialisation. ## -## ------------------------ ## - -ac_config_commands="$ac_config_commands tests/atconfig" - -AUTOM4TE=${AUTOM4TE=autom4te} - -AUTOTEST='$(AUTOM4TE) --language=autotest' - - - -## ---------------------------------------- ## -## Display a configure time version banner. ## -## ---------------------------------------- ## - -# This is a sanity check so we can see what version is used in bug reports. -$as_echo "## ------------------------- ## -## Configuring libtool 2.4.7 ## -## ------------------------- ##" -echo - - -## ------------ ## -## Shell tools. ## -## ------------ ## - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU M4 that supports accurate traces" >&5 -$as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; } -if ${ac_cv_path_M4+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest.m4f -ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} -{ POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} -if test -z "$M4"; then - ac_path_M4_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in m4 gm4 gnum4; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_M4" || continue - # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. - # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. - # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy - # false positive strstr. - ac_snippet=change'quote(<,>)in''dir(,mac,bug)' - ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' - test -z "`$ac_path_M4 -F conftest.m4f &1`" \ - && test -z "`$as_echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \ - && test -f conftest.m4f \ - && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: - rm -f conftest.m4f - $ac_path_M4_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_M4"; then - as_fn_error $? "no acceptable m4 could be found in \$PATH. -GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. -GNU M4 1.4.15 uses a buggy replacement strstr on some systems. -Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug." "$LINENO" 5 - fi -else - ac_cv_path_M4=$M4 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 -$as_echo "$ac_cv_path_M4" >&6; } - M4=$ac_cv_path_M4 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_cv_path_M4 accepts --gnu" >&5 -$as_echo_n "checking whether $ac_cv_path_M4 accepts --gnu... " >&6; } -if ${ac_cv_prog_gnu_m4_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - case `$M4 --help < /dev/null 2>&1` in - *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; - *) ac_cv_prog_gnu_m4_gnu=no ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_gnu" >&5 -$as_echo "$ac_cv_prog_gnu_m4_gnu" >&6; } - if test yes = "$ac_cv_prog_gnu_m4_gnu"; then - M4_GNU=--gnu - else - M4_GNU= - fi - - if test yes = "$ac_had_posixly_correct"; then - POSIXLY_CORRECT=: - if test no = $ac_cv_prog_gnu_m4_gnu; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the version of M4 that was found does not support -g" >&5 -$as_echo "$as_me: WARNING: the version of M4 that was found does not support -g" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&5 -$as_echo "$as_me: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&2;} - fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how m4 supports trace files" >&5 -$as_echo_n "checking how m4 supports trace files... " >&6; } -if ${ac_cv_prog_gnu_m4_debugfile+:} false; then : - $as_echo_n "(cached) " >&6 -else - case `$M4 --help < /dev/null 2>&1` in - *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; - *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_debugfile" >&5 -$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; } - M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile - - - - -## ------------------------ ## -## Automake Initialisation. ## -## ------------------------ ## - -am__api_version='1.16' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in @%:@(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='libtool' - VERSION='2.4.7' - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - - -## ------------------------- ## -## Autobuild initialisation. ## -## ------------------------- ## - -# You can set autobuild_mode at configure time to specify a "unique" -# string for this build. -: ${autobuild_mode=default} -AB_VERSION='2.4.7' -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - - - - - if test -z "$AB_PACKAGE"; then - AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5 -$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} - - if test -z "$AB_VERSION"; then - AB_VERSION=${PACKAGE_VERSION:-$VERSION} - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5 -$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} - - hostname=`hostname` - if test "$hostname"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5 -$as_echo "$as_me: autobuild hostname... $hostname" >&6;} - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild mode... $autobuild_mode" >&5 -$as_echo "$as_me: autobuild mode... $autobuild_mode" >&6;} - - date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` - if test "$?" != 0; then - date=`date` - fi - if test "$date"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5 -$as_echo "$as_me: autobuild timestamp... $date" >&6;} - fi - - - -CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/.version' - - - -## ------------------------------- ## -## Libtool specific configuration. ## -## ------------------------------- ## - -aclocaldir="\$(datadir)/aclocal" - -pkgdatadir="\$(datadir)/$PACKAGE" - - -@%:@ Check whether --enable-ltdl-install was given. -if test "${enable_ltdl_install+set}" = set; then : - enableval=$enable_ltdl_install; -fi - -if test set != "${enable_ltdl_install+set}"; then - enable_ltdl_install=yes -fi - -# The list of scripts required to build libltdl, and which need to be -# installed by libtoolize --ltdl, and consequently need to be placed in -# $pkgdatadir by our make install rule. -pkgaux_scripts="compile config.guess config.sub depcomp install-sh missing" - - - -## ---------------- ## -## compiler checks. ## -## ---------------- ## - -# Need to be sure that we have a working C compiler, otherwise even with -# a good C compiler: if the following C++ tests fail, the whole libtool -# build fails! -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $@%:@ != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5 -$as_echo_n "checking whether the compiler is clang... " >&6; } -if ${gl_cv_compiler_clang+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #ifdef __clang__ - barfbarf - #endif - -int -main () -{ - - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_compiler_clang=no -else - gl_cv_compiler_clang=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5 -$as_echo "$gl_cv_compiler_clang" >&6; } - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5 -$as_echo_n "checking for compiler option needed when checking for declarations... " >&6; } -if ${gl_cv_compiler_check_decl_option+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $gl_cv_compiler_clang = yes; then - save_ac_compile="$ac_compile" - ac_compile="$ac_compile -Werror=implicit-function-declaration" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration' -else - gl_cv_compiler_check_decl_option=none -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_compile="$save_ac_compile" - else - gl_cv_compiler_check_decl_option=none - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5 -$as_echo "$gl_cv_compiler_check_decl_option" >&6; } - if test "x$gl_cv_compiler_check_decl_option" != xnone; then - ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" - else - ac_compile_for_check_decl="$ac_compile" - fi - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 - (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - case $?:`cat confinc.out 2>/dev/null` in @%:@( - '0:this is the am__doit target') : - case $s in @%:@( - BSD) : - am__include='.include' am__quote='"' ;; @%:@( - *) : - am__include='include' am__quote='' ;; -esac ;; @%:@( - *) : - ;; -esac - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } - -@%:@ Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 -$as_echo_n "checking for Minix Amsterdam compiler... " >&6; } -if ${gl_cv_c_amsterdam_compiler+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef __ACK__ -Amsterdam -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Amsterdam" >/dev/null 2>&1; then : - gl_cv_c_amsterdam_compiler=yes -else - gl_cv_c_amsterdam_compiler=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 -$as_echo "$gl_cv_c_amsterdam_compiler" >&6; } - - if test $gl_cv_c_amsterdam_compiler = yes; then - if test -z "$AR"; then - AR='cc -c.a' - fi - if test -z "$ARFLAGS"; then - ARFLAGS='-o' - fi - else - : - fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="ar" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - - if test -z "$ARFLAGS"; then - ARFLAGS='cr' - fi - - - - if test -z "$RANLIB"; then - if test $gl_cv_c_amsterdam_compiler = yes; then - RANLIB=':' - else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - - fi - fi - - - - - # Pre-early section. - - - # Code from module all-shells-tests: - # Code from module announce-gen: - # Code from module bootstrap: - # Code from module do-release-commit-and-tag: - # Code from module extract-trace: - # Code from module funclib.sh: - # Code from module funclib.sh-tests: - # Code from module gendocs: - # Code from module git-version-gen: - # Code from module gitlog-to-changelog: - # Code from module gnu-web-doc-update: - # Code from module gnumakefile: - # Code from module gnupload: - # Code from module inline-source: - # Code from module maintainer-makefile: - # Code from module options-parser: - # Code from module options-parser-tests: - # Code from module readme-release: - # Code from module test-framework-sh: - # Code from module test-framework-sh-tests: - # Code from module update-copyright: - # Code from module update-copyright-tests: - # Code from module useless-if-before-free: - # Code from module vc-list-files: - # Code from module vc-list-files-tests: - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -## ----------------------- ## -## Libtool initialisation. ## -## ----------------------- ## -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.7' -macro_revision='2.4.7' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. -set dummy ${ac_tool_prefix}file; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FILECMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$FILECMD"; then - ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_FILECMD="${ac_tool_prefix}file" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FILECMD=$ac_cv_prog_FILECMD -if test -n "$FILECMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 -$as_echo "$FILECMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_FILECMD"; then - ac_ct_FILECMD=$FILECMD - # Extract the first word of "file", so it can be a program name with args. -set dummy file; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FILECMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_FILECMD"; then - ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FILECMD="file" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD -if test -n "$ac_ct_FILECMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 -$as_echo "$ac_ct_FILECMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_FILECMD" = x; then - FILECMD=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FILECMD=$ac_ct_FILECMD - fi -else - FILECMD="$ac_cv_prog_FILECMD" -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='$FILECMD -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly* | midnightbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=$FILECMD - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - 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]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - 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]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - - - - - - -# Use ARFLAGS variable as AR's operation code to sync the variable naming with -# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -# higher priority because thats what people were doing historically (setting -# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -# variable obsoleted/removed. - -test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} -lt_ar_flags=$AR_FLAGS - - - - - - -# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -# by AR_FLAGS because that was never working and AR_FLAGS is about to die. - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++ or ICC, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -@%:@ Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -@%:@ Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `$FILECMD conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 - $AR $AR_FLAGS libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) - case $MACOSX_DEPLOYMENT_TARGET,$host in - 10.[012],*|,*powerpc*-darwin[5-8]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - *) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options -enable_dlopen=yes -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - - @%:@ Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - @%:@ Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -@%:@ Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - @%:@ Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -@%:@ Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -@%:@define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC and -# ICC, which need '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$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)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - file_list_spec='@' - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$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' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$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' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$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' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$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)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="$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" - module_expsym_cmds="$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" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$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' - else - archive_cmds='$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' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$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' - fi - else - archive_cmds='$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' - archive_expsym_cmds='$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' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - file_list_spec='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$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' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$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' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$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' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$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' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -z "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -else - if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - case $host_os in - darwin*) - # FIXME - insert some real tests, host_os isn't really good enough - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ;; - freebsd*) - if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac - fi -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 -$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } -if ${libltdl_cv_shlibext+:} false; then : - $as_echo_n "(cached) " >&6 -else - -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_shlibext" >&5 -$as_echo "$libltdl_cv_shlibext" >&6; } -if test -n "$libltdl_cv_shlibext"; then - -cat >>confdefs.h <<_ACEOF -@%:@define LT_MODULE_EXT "$libltdl_cv_shlibext" -_ACEOF - -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - -cat >>confdefs.h <<_ACEOF -@%:@define LT_SHARED_EXT "$libltdl_cv_shrext" -_ACEOF - -fi -if test -n "$shared_archive_member_spec"; then - -cat >>confdefs.h <<_ACEOF -@%:@define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 -$as_echo_n "checking what variable specifies run-time module search path... " >&6; } -if ${lt_cv_module_path_var+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_module_path_var=$shlibpath_var -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 -$as_echo "$lt_cv_module_path_var" >&6; } -if test -n "$lt_cv_module_path_var"; then - -cat >>confdefs.h <<_ACEOF -@%:@define LT_MODULE_PATH_VAR "$lt_cv_module_path_var" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the default library search path" >&5 -$as_echo_n "checking for the default library search path... " >&6; } -if ${lt_cv_sys_dlsearch_path+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 -$as_echo "$lt_cv_sys_dlsearch_path" >&6; } -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path=$dir - else - sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir - fi - done - -cat >>confdefs.h <<_ACEOF -@%:@define LT_DLSEARCH_PATH "$sys_dlsearch_path" -_ACEOF - -fi - - -LT_DLLOADERS= - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -lt_dlload_save_LIBS=$LIBS - -LIBADD_DLOPEN= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 -$as_echo_n "checking for library containing dlopen... " >&6; } -if ${ac_cv_search_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_dlopen=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_dlopen+:} false; then : - break -fi -done -if ${ac_cv_search_dlopen+:} false; then : - -else - ac_cv_search_dlopen=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 -$as_echo "$ac_cv_search_dlopen" >&6; } -ac_res=$ac_cv_search_dlopen -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h - - if test "$ac_cv_search_dlopen" != "none required"; then - LIBADD_DLOPEN=-ldl - fi - libltdl_cv_lib_dl_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_DLFCN_H -# include -#endif - -int -main () -{ -dlopen(0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h - - libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - -$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h - - LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" -then - lt_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - for ac_func in dlerror -do : - ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" -if test "x$ac_cv_func_dlerror" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DLERROR 1 -_ACEOF - -fi -done - - LIBS=$lt_save_LIBS -fi - - -LIBADD_SHL_LOAD= -ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - -$as_echo "@%:@define HAVE_SHL_LOAD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - -$as_echo "@%:@define HAVE_SHL_LOAD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD=-ldld -fi - -fi - - - -case $host_os in -darwin[1567].*) -# We only want this for pre-Mac OS X 10.4. - ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" -if test "x$ac_cv_func__dyld_func_lookup" = xyes; then : - -$as_echo "@%:@define HAVE_DYLD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" -fi - - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | pw32*) - ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include -" -if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl -_ACEOF - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - -$as_echo "@%:@define HAVE_DLD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" -fi - - - - -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - -$as_echo "@%:@define HAVE_LIBDLLOADER 1" >>confdefs.h - -fi - - -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" - - -LIBS=$lt_dlload_save_LIBS -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5 -$as_echo_n "checking for _ prefix in compiled symbols... " >&6; } -if ${lt_cv_sys_symbol_underscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&5 - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "configure: failed program was:" >&5 - cat conftest.c >&5 - fi - rm -rf conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5 -$as_echo "$lt_cv_sys_symbol_underscore" >&6; } - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - - -if test yes = "$lt_cv_sys_symbol_underscore"; then - if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 -$as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } -if ${libltdl_cv_need_uscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - libltdl_cv_need_uscore=unknown - dlsym_uscore_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - libname=conftmod # stay within 8.3 filename limits! - cat >$libname.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; } -_LT_EOF - - # ltfn_module_cmds module_cmds - # Execute tilde-delimited MODULE_CMDS with environment primed for - # $module_cmds or $archive_cmds type content. - ltfn_module_cmds () - {( # subshell avoids polluting parent global environment - module_cmds_save_ifs=$IFS; IFS='~' - for cmd in @S|@1; do - IFS=$module_cmds_save_ifs - libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext - rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. - major=; versuffix=; verstring=; deplibs= - ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= - eval $cmd - done - IFS=$module_cmds_save_ifs - )} - - # Compile a loadable module using libtool macro expansion results. - $CC $pic_flag -c $libname.$ac_ext - ltfn_module_cmds "${module_cmds:-$archive_cmds}" - - # Try to fetch fnord with dlsym(). - libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 - cat >conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifndef RTLD_GLOBAL -# ifdef DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# else -# define RTLD_GLOBAL 0 -# endif -#endif -#ifndef RTLD_NOW -# ifdef DL_NOW -# define RTLD_NOW DL_NOW -# else -# define RTLD_NOW 0 -# endif -#endif -int main () { - void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); - int status = $libltdl_dlunknown; - if (handle) { - if (dlsym (handle, "fnord")) - status = $libltdl_dlnouscore; - else { - if (dlsym (handle, "_fnord")) - status = $libltdl_dluscore; - else - puts (dlerror ()); - } - dlclose (handle); - } else - puts (dlerror ()); - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - libltdl_status=$? - case x$libltdl_status in - x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; - x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; - x*) libltdl_cv_need_uscore=unknown ;; - esac - fi - rm -rf conftest* $libname* - LIBS=$dlsym_uscore_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 -$as_echo "$libltdl_cv_need_uscore" >&6; } - fi -fi - -if test yes = "$libltdl_cv_need_uscore"; then - -$as_echo "@%:@define NEED_USCORE 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether deplibs are loaded by dlopen" >&5 -$as_echo_n "checking whether deplibs are loaded by dlopen... " >&6; } -if ${lt_cv_sys_dlopen_deplibs+:} false; then : - $as_echo_n "(cached) " >&6 -else - # PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this 'case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[4-9]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly* | midnightbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[12345]*|irix6.[01]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[1234]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say 'no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to 'yes'. Without it, it would be 'no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say 'yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 -$as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } -if test yes != "$lt_cv_sys_dlopen_deplibs"; then - -$as_echo "@%:@define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h - -fi - - -for ac_header in argz.h -do : - ac_fn_c_check_header_compile "$LINENO" "argz.h" "ac_cv_header_argz_h" "$ac_includes_default -" -if test "x$ac_cv_header_argz_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_ARGZ_H 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if defined(HAVE_ARGZ_H) -# include -#endif -" -if test "x$ac_cv_type_error_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_ERROR_T 1 -_ACEOF - - -else - -$as_echo "@%:@define error_t int" >>confdefs.h - - -$as_echo "@%:@define __error_t_defined 1" >>confdefs.h - -fi - - -LT_ARGZ_H= -for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - LT_ARGZ_H=lt__argz.h; case " $LIB@&t@OBJS " in - *" lt__argz.$ac_objext "* ) ;; - *) LIB@&t@OBJS="$LIB@&t@OBJS lt__argz.$ac_objext" - ;; -esac - -fi -done - - -if test -z "$LT_ARGZ_H"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 -$as_echo_n "checking if argz actually works... " >&6; } -if ${lt_cv_sys_argz_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test no != "$cross_compiling"; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test 1 -lt "$lt_os_major" \ - || { test 1 -eq "$lt_os_major" \ - && { test 5 -lt "$lt_os_minor" \ - || { test 5 -eq "$lt_os_minor" \ - && test 24 -lt "$lt_os_micro"; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 -$as_echo "$lt_cv_sys_argz_works" >&6; } - if test yes = "$lt_cv_sys_argz_works"; then : - -$as_echo "@%:@define HAVE_WORKING_ARGZ 1" >>confdefs.h - -else - LT_ARGZ_H=lt__argz.h - case " $LIB@&t@OBJS " in - *" lt__argz.$ac_objext "* ) ;; - *) LIB@&t@OBJS="$LIB@&t@OBJS lt__argz.$ac_objext" - ;; -esac - -fi -fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libtool supports -dlopen/-dlpreopen" >&5 -$as_echo_n "checking whether libtool supports -dlopen/-dlpreopen... " >&6; } -if ${libltdl_cv_preloaded_symbols+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$lt_cv_sys_global_symbol_pipe"; then - libltdl_cv_preloaded_symbols=yes - else - libltdl_cv_preloaded_symbols=no - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 -$as_echo "$libltdl_cv_preloaded_symbols" >&6; } -if test yes = "$libltdl_cv_preloaded_symbols"; then - -$as_echo "@%:@define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h - -fi - - - -@%:@ Check whether --enable-ltdl-install was given. -if test "${enable_ltdl_install+set}" = set; then : - enableval=$enable_ltdl_install; -fi - - -case ,$enable_ltdl_install,$enable_ltdl_convenience in - *yes*) ;; - *) enable_ltdl_convenience=yes ;; -esac - - if test no != "${enable_ltdl_install-no}"; then - INSTALL_LTDL_TRUE= - INSTALL_LTDL_FALSE='#' -else - INSTALL_LTDL_TRUE='#' - INSTALL_LTDL_FALSE= -fi - - if test no != "${enable_ltdl_convenience-no}"; then - CONVENIENCE_LTDL_TRUE= - CONVENIENCE_LTDL_FALSE='#' -else - CONVENIENCE_LTDL_TRUE='#' - CONVENIENCE_LTDL_FALSE= -fi - - - - - - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). - - - -for ac_header in unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_func in closedir opendir readdir -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIB@&t@OBJS " in - *" lt__dirent.$ac_objext "* ) ;; - *) LIB@&t@OBJS="$LIB@&t@OBJS lt__dirent.$ac_objext" - ;; -esac - -fi -done - -for ac_func in strlcat strlcpy -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIB@&t@OBJS " in - *" lt__strl.$ac_objext "* ) ;; - *) LIB@&t@OBJS="$LIB@&t@OBJS lt__strl.$ac_objext" - ;; -esac - -fi -done - - - -cat >>confdefs.h <<_ACEOF -@%:@define LT_LIBEXT "$libext" -_ACEOF - - -name= -eval "lt_libprefix=\"$libname_spec\"" - -cat >>confdefs.h <<_ACEOF -@%:@define LT_LIBPREFIX "$lt_libprefix" -_ACEOF - - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" - - - -# Enable all the language support we can -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - - - - -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf - - if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - _lt_caught_CXX_error=yes -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$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' - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_CXX=no - hardcode_direct_absolute_CXX=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_CXX='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - no_undefined_flag_CXX='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' $wl-bernotok' - allow_undefined_flag_CXX=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl* | ,icl* | no,icl*) - # Native MSVC or ICC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='$wl--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$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' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $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' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_CXX="$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" - module_expsym_cmds_CXX="$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" - if test yes != "$lt_cv_apple_cc_single_mod"; then - archive_cmds_CXX="\$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" - archive_expsym_cmds_CXX="$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" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - os2*) - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_minus_L_CXX=yes - allow_undefined_flag_CXX=unsupported - shrext_cmds=.dll - archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_CXX=yes - file_list_spec_CXX='@' - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly* | midnightbsd*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='$wl-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$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' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes = "$GXX"; then - archive_cmds_CXX='$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' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='$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' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$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' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - archive_cmds_CXX='$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' - else - archive_cmds_CXX='$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' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='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' - archive_expsym_cmds_CXX='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' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $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' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$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' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$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' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='$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' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='$wl-E' - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='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' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - archive_cmds_CXX='$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' - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$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' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $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~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - archive_cmds_CXX='$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' - ;; - *) - archive_cmds_CXX='$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' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - no_undefined_flag_CXX=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='$wl-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='$wl-z,text' - allow_undefined_flag_CXX='$wl-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test no = "$ld_shlibs_CXX" && can_build_shared=no - - GCC_CXX=$GXX - LD_CXX=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX=$prev$p - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX=$prev$p - else - postdeps_CXX="${postdeps_CXX} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX=$p - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX=$p - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - - - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - lt_prog_compiler_pic_CXX='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_CXX='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly* | midnightbsd*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$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' - else - export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - ;; - pw32*) - export_symbols_cmds_CXX=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl* | icl*) - exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test no = "$ld_shlibs_CXX" && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_CXX='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test yes = "$hardcode_automatic_CXX"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_CXX" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && - test no != "$hardcode_minus_L_CXX"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test relink = "$hardcode_action_CXX" || - test yes = "$inherit_rpath_CXX"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 -$as_echo "$F77" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_F77="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 -$as_echo "$ac_ct_F77" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - F77=$ac_ct_F77 - fi -fi - - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 -$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } -if ${ac_cv_f77_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 -$as_echo "$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 -$as_echo_n "checking whether $F77 accepts -g... " >&6; } -if ${ac_cv_prog_f77_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - FFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : - ac_cv_prog_f77_g=yes -else - ac_cv_prog_f77_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 -$as_echo "$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - G77=yes -else - G77= -fi -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - - ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - -if test -z "$F77" || test no = "$F77"; then - _lt_disable_F77=yes -fi - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_direct_absolute_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -inherit_rpath_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -reload_flag_F77=$reload_flag -reload_cmds_F77=$reload_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_F77"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - compiler_F77=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - GCC=$G77 - if test -n "$compiler"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - GCC_F77=$G77 - LD_F77=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - lt_prog_compiler_pic_F77='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_F77='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_F77='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_F77= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_F77='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_F77='-Xlinker ' - if test -n "$lt_prog_compiler_pic_F77"; then - lt_prog_compiler_pic_F77="-Xcompiler $lt_prog_compiler_pic_F77" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_F77='-Wl,-Wl,,' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_F77='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='--shared' - lt_prog_compiler_static_F77='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_F77='-Wl,-Wl,,' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-qpic' - lt_prog_compiler_static_F77='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_F77='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_F77='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77@&t@" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_F77=$lt_prog_compiler_pic_F77 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_F77" >&5 -$as_echo "$lt_cv_prog_compiler_pic_F77" >&6; } -lt_prog_compiler_pic_F77=$lt_cv_prog_compiler_pic_F77 - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77@&t@" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_F77=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_F77"; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_F77=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_F77=yes - fi - else - lt_cv_prog_compiler_static_works_F77=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_F77"; then - : -else - lt_prog_compiler_static_F77= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_F77" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_F77= - always_export_symbols_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - compiler_needs_object_F77=no - enable_shared_with_static_runtimes_F77=no - export_dynamic_flag_spec_F77= - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_F77=no - hardcode_direct_F77=no - hardcode_direct_absolute_F77=no - hardcode_libdir_flag_spec_F77= - hardcode_libdir_separator_F77= - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - inherit_rpath_F77=no - link_all_deplibs_F77=unknown - module_cmds_F77= - module_expsym_cmds_F77= - old_archive_from_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - thread_safe_flag_spec_F77= - whole_archive_flag_spec_F77= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_F77=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_F77='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='' - ;; - m68k) - archive_cmds_F77='$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)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - export_dynamic_flag_spec_F77='$wl--export-all-symbols' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_F77='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_F77=no - fi - ;; - - haiku*) - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_F77=yes - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - shrext_cmds=.dll - archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_F77=yes - file_list_spec_F77='@' - ;; - - interix[3-9]*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - export_dynamic_flag_spec_F77='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_F77= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_F77='$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' - compiler_needs_object_F77=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_F77='$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' - compiler_needs_object_F77=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_F77='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_F77='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_F77=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - - if test no = "$ld_shlibs_F77"; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_F77='$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' - else - export_symbols_cmds_F77='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - file_list_spec_F77='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_F77=no - hardcode_direct_absolute_F77=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_F77='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__F77 -fi - - hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_F77='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__F77 -fi - - hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' $wl-bernotok' - allow_undefined_flag_F77=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_F77='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - fi - archive_cmds_need_lc_F77=yes - archive_expsym_cmds_F77='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='' - ;; - m68k) - archive_cmds_F77='$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)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - file_list_spec_F77='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, F77)='true' - enable_shared_with_static_runtimes_F77=yes - exclude_expsyms_F77='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_F77='chmod 644 $oldlib' - postlink_cmds_F77='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_F77=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_F77='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - compiler_needs_object_F77=yes - else - whole_archive_flag_spec_F77='' - fi - link_all_deplibs_F77=yes - allow_undefined_flag_F77=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_F77="$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" - module_expsym_cmds_F77="$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" - - else - ld_shlibs_F77=no - fi - - ;; - - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_F77='$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' - else - archive_cmds_F77='$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' - fi - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_F77='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat > conftest.$ac_ext <<_ACEOF - - subroutine foo - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_F77='$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' - fi - else - archive_cmds_F77='$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' - archive_expsym_cmds_F77='$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' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - inherit_rpath_F77=yes - link_all_deplibs_F77=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_F77=yes - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - hardcode_direct_absolute_F77=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - export_dynamic_flag_spec_F77='$wl-E' - else - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - fi - else - ld_shlibs_F77=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - shrext_cmds=.dll - archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_F77=yes - file_list_spec_F77='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' - archive_cmds_F77='$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' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$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' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' - archive_cmds_F77='$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' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$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' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_separator_F77=: - ;; - - solaris*) - no_undefined_flag_F77=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_F77='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_F77='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_F77='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_F77='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_F77=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_F77='$wl-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='$wl-z,text' - allow_undefined_flag_F77='$wl-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='$wl-R,$libdir' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - *) - ld_shlibs_F77=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_F77='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5 -$as_echo "$ld_shlibs_F77" >&6; } -test no = "$ld_shlibs_F77" && can_build_shared=no - -with_gnu_ld_F77=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_F77=no - else - lt_cv_archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_F77" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_F77" >&6; } - archive_cmds_need_lc_F77=$lt_cv_archive_cmds_need_lc_F77 - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_F77='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_F77\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_F77\"" - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || - test -n "$runpath_var_F77" || - test yes = "$hardcode_automatic_F77"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_F77" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, F77)" && - test no != "$hardcode_minus_L_F77"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5 -$as_echo "$hardcode_action_F77" >&6; } - -if test relink = "$hardcode_action_F77" || - test yes = "$inherit_rpath_F77"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_F77" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$FC"; then - ac_cv_prog_FC="$FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_FC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FC=$ac_cv_prog_FC -if test -n "$FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 -$as_echo "$FC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$FC" && break - done -fi -if test -z "$FC"; then - ac_ct_FC=$FC - for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_FC"; then - ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FC=$ac_cv_prog_ac_ct_FC -if test -n "$ac_ct_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 -$as_echo "$ac_ct_FC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_FC" && break -done - - if test "x$ac_ct_FC" = x; then - FC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FC=$ac_ct_FC - fi -fi - - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 -$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } -if ${ac_cv_fc_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_fc_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 -$as_echo "$ac_cv_fc_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FCFLAGS=${FCFLAGS+set} -ac_save_FCFLAGS=$FCFLAGS -FCFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 -$as_echo_n "checking whether $FC accepts -g... " >&6; } -if ${ac_cv_prog_fc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - FCFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_cv_prog_fc_g=yes -else - ac_cv_prog_fc_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 -$as_echo "$ac_cv_prog_fc_g" >&6; } -if test "$ac_test_FCFLAGS" = set; then - FCFLAGS=$ac_save_FCFLAGS -elif test $ac_cv_prog_fc_g = yes; then - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-g -O2" - else - FCFLAGS="-g" - fi -else - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-O2" - else - FCFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - GFC=yes -else - GFC= -fi -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - -if test -z "$FC" || test no = "$FC"; then - _lt_disable_FC=yes -fi - -archive_cmds_need_lc_FC=no -allow_undefined_flag_FC= -always_export_symbols_FC=no -archive_expsym_cmds_FC= -export_dynamic_flag_spec_FC= -hardcode_direct_FC=no -hardcode_direct_absolute_FC=no -hardcode_libdir_flag_spec_FC= -hardcode_libdir_separator_FC= -hardcode_minus_L_FC=no -hardcode_automatic_FC=no -inherit_rpath_FC=no -module_cmds_FC= -module_expsym_cmds_FC= -link_all_deplibs_FC=unknown -old_archive_cmds_FC=$old_archive_cmds -reload_flag_FC=$reload_flag -reload_cmds_FC=$reload_cmds -no_undefined_flag_FC= -whole_archive_flag_spec_FC= -enable_shared_with_static_runtimes_FC=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -objext_FC=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_FC"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - compiler_FC=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - GCC_FC=$ac_cv_fc_compiler_gnu - LD_FC=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_FC= -postdep_objects_FC= -predeps_FC= -postdeps_FC= -compiler_lib_search_path_FC= - -cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_FC"; then - compiler_lib_search_path_FC=$prev$p - else - compiler_lib_search_path_FC="${compiler_lib_search_path_FC} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_FC"; then - postdeps_FC=$prev$p - else - postdeps_FC="${postdeps_FC} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_FC"; then - predep_objects_FC=$p - else - predep_objects_FC="$predep_objects_FC $p" - fi - else - if test -z "$postdep_objects_FC"; then - postdep_objects_FC=$p - else - postdep_objects_FC="$postdep_objects_FC $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling FC test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken - - -case " $postdeps_FC " in -*" -lc "*) archive_cmds_need_lc_FC=no ;; -esac - compiler_lib_search_dirs_FC= -if test -n "${compiler_lib_search_path_FC}"; then - compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - lt_prog_compiler_wl_FC= -lt_prog_compiler_pic_FC= -lt_prog_compiler_static_FC= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_static_FC='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_FC='-Bstatic' - fi - lt_prog_compiler_pic_FC='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_FC='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_FC='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_FC='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_FC='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_FC= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_FC='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_FC=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_FC='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_FC=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_FC='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_FC='-Xlinker ' - if test -n "$lt_prog_compiler_pic_FC"; then - lt_prog_compiler_pic_FC="-Xcompiler $lt_prog_compiler_pic_FC" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_FC='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_FC='-Bstatic' - else - lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_FC='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_FC='-Wl,-Wl,,' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_FC='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_FC='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_FC='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_FC='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_FC='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_FC='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_FC='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='--shared' - lt_prog_compiler_static_FC='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_FC='-Wl,-Wl,,' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fpic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_FC='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_FC='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-qpic' - lt_prog_compiler_static_FC='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fpic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_FC='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_FC='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_FC='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_FC='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_FC='-Qoption ld ';; - *) - lt_prog_compiler_wl_FC='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_FC='-Qoption ld ' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_FC='-Kconform_pic' - lt_prog_compiler_static_FC='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_can_build_shared_FC=no - ;; - - uts4*) - lt_prog_compiler_pic_FC='-pic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_FC=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_FC= - ;; - *) - lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC@&t@" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 -$as_echo "$lt_cv_prog_compiler_pic_FC" >&6; } -lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_FC=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_FC@&t@" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_FC=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_FC" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then - case $lt_prog_compiler_pic_FC in - "" | " "*) ;; - *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;; - esac -else - lt_prog_compiler_pic_FC= - lt_prog_compiler_can_build_shared_FC=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_FC=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_FC=yes - fi - else - lt_cv_prog_compiler_static_works_FC=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_FC" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_FC"; then - : -else - lt_prog_compiler_static_FC= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_FC=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_FC=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_FC=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_FC=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_FC= - always_export_symbols_FC=no - archive_cmds_FC= - archive_expsym_cmds_FC= - compiler_needs_object_FC=no - enable_shared_with_static_runtimes_FC=no - export_dynamic_flag_spec_FC= - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_FC=no - hardcode_direct_FC=no - hardcode_direct_absolute_FC=no - hardcode_libdir_flag_spec_FC= - hardcode_libdir_separator_FC= - hardcode_minus_L_FC=no - hardcode_shlibpath_var_FC=unsupported - inherit_rpath_FC=no - link_all_deplibs_FC=unknown - module_cmds_FC= - module_expsym_cmds_FC= - old_archive_from_new_cmds_FC= - old_archive_from_expsyms_cmds_FC= - thread_safe_flag_spec_FC= - whole_archive_flag_spec_FC= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_FC= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_FC=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_FC='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_FC=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_FC= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='' - ;; - m68k) - archive_cmds_FC='$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)' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_FC=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_FC=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_FC='-L$libdir' - export_dynamic_flag_spec_FC='$wl--export-all-symbols' - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=no - enable_shared_with_static_runtimes_FC=yes - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_FC='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_FC=no - fi - ;; - - haiku*) - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_FC=yes - ;; - - os2*) - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - allow_undefined_flag_FC=unsupported - shrext_cmds=.dll - archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_FC=yes - file_list_spec_FC='@' - ;; - - interix[3-9]*) - hardcode_direct_FC=no - hardcode_shlibpath_var_FC=no - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - export_dynamic_flag_spec_FC='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_FC='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_FC='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_FC='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_FC= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_FC='$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' - compiler_needs_object_FC=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_FC='$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' - compiler_needs_object_FC=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_FC='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - archive_cmds_FC='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_FC=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - esac - - if test no = "$ld_shlibs_FC"; then - runpath_var= - hardcode_libdir_flag_spec_FC= - export_dynamic_flag_spec_FC= - whole_archive_flag_spec_FC= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=yes - archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_FC=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_FC=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_FC='$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' - else - export_symbols_cmds_FC='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_FC='' - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - hardcode_libdir_separator_FC=':' - link_all_deplibs_FC=yes - file_list_spec_FC='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_FC=no - hardcode_direct_absolute_FC=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_FC=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_FC=yes - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_libdir_separator_FC= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_FC='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_FC=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_FC='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__FC -fi - - hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_FC='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_FC='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_FC="-z nodefs" - archive_expsym_cmds_FC="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__FC -fi - - hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_FC=' $wl-bernotok' - allow_undefined_flag_FC=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_FC='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_FC='$convenience' - fi - archive_cmds_need_lc_FC=yes - archive_expsym_cmds_FC='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='' - ;; - m68k) - archive_cmds_FC='$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)' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_FC=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_FC=' ' - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=yes - file_list_spec_FC='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_FC='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, FC)='true' - enable_shared_with_static_runtimes_FC=yes - exclude_expsyms_FC='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_FC='chmod 644 $oldlib' - postlink_cmds_FC='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_FC=' ' - allow_undefined_flag_FC=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_FC='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_FC=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_FC=no - hardcode_direct_FC=no - hardcode_automatic_FC=yes - hardcode_shlibpath_var_FC=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_FC='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - compiler_needs_object_FC=yes - else - whole_archive_flag_spec_FC='' - fi - link_all_deplibs_FC=yes - allow_undefined_flag_FC=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_FC="$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" - module_expsym_cmds_FC="$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" - - else - ld_shlibs_FC=no - fi - - ;; - - dgux*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_shlibpath_var_FC=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes - hardcode_minus_L_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_FC='$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' - else - archive_cmds_FC='$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' - fi - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_direct_FC=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_FC='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_FC='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_FC=no - hardcode_shlibpath_var_FC=no - ;; - *) - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_FC='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat > conftest.$ac_ext <<_ACEOF - - subroutine foo - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_FC='$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' - fi - else - archive_cmds_FC='$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' - archive_expsym_cmds_FC='$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' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - inherit_rpath_FC=yes - link_all_deplibs_FC=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_FC=yes - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - newsos6) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_shlibpath_var_FC=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - hardcode_direct_absolute_FC=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - export_dynamic_flag_spec_FC='$wl-E' - else - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - fi - else - ld_shlibs_FC=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - allow_undefined_flag_FC=unsupported - shrext_cmds=.dll - archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_FC=yes - file_list_spec_FC='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' - archive_cmds_FC='$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' - else - allow_undefined_flag_FC=' -expect_unresolved \*' - archive_cmds_FC='$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' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' - archive_cmds_FC='$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' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - else - allow_undefined_flag_FC=' -expect_unresolved \*' - archive_cmds_FC='$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' - archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_FC='-rpath $libdir' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_separator_FC=: - ;; - - solaris*) - no_undefined_flag_FC=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_FC='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_FC='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_FC='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_shlibpath_var_FC=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_FC='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_FC=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_FC='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_direct_FC=yes - hardcode_minus_L_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_FC='$CC -r -o $output$reload_objs' - hardcode_direct_FC=no - ;; - motorola) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_FC=no - ;; - - sysv4.3*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_FC=no - export_dynamic_flag_spec_FC='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_FC=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_FC=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_FC='$wl-z,text' - archive_cmds_need_lc_FC=no - hardcode_shlibpath_var_FC=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_FC='$wl-z,text' - allow_undefined_flag_FC='$wl-z,nodefs' - archive_cmds_need_lc_FC=no - hardcode_shlibpath_var_FC=no - hardcode_libdir_flag_spec_FC='$wl-R,$libdir' - hardcode_libdir_separator_FC=':' - link_all_deplibs_FC=yes - export_dynamic_flag_spec_FC='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_shlibpath_var_FC=no - ;; - - *) - ld_shlibs_FC=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_FC='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 -$as_echo "$ld_shlibs_FC" >&6; } -test no = "$ld_shlibs_FC" && can_build_shared=no - -with_gnu_ld_FC=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_FC" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_FC=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_FC in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_FC - pic_flag=$lt_prog_compiler_pic_FC - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_FC - allow_undefined_flag_FC= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_FC=no - else - lt_cv_archive_cmds_need_lc_FC=yes - fi - allow_undefined_flag_FC=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_FC" >&6; } - archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_FC='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\"" - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_FC= -if test -n "$hardcode_libdir_flag_spec_FC" || - test -n "$runpath_var_FC" || - test yes = "$hardcode_automatic_FC"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_FC" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" && - test no != "$hardcode_minus_L_FC"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_FC=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_FC=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_FC=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 -$as_echo "$hardcode_action_FC" >&6; } - -if test relink = "$hardcode_action_FC" || - test yes = "$inherit_rpath_FC"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_FC" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gccgo", so it can be a program name with args. -set dummy ${ac_tool_prefix}gccgo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GOC"; then - ac_cv_prog_GOC="$GOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GOC="${ac_tool_prefix}gccgo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GOC=$ac_cv_prog_GOC -if test -n "$GOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC" >&5 -$as_echo "$GOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GOC"; then - ac_ct_GOC=$GOC - # Extract the first word of "gccgo", so it can be a program name with args. -set dummy gccgo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GOC"; then - ac_cv_prog_ac_ct_GOC="$ac_ct_GOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GOC="gccgo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GOC=$ac_cv_prog_ac_ct_GOC -if test -n "$ac_ct_GOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GOC" >&5 -$as_echo "$ac_ct_GOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GOC" = x; then - GOC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GOC=$ac_ct_GOC - fi -else - GOC="$ac_cv_prog_GOC" -fi - - - - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -objext_GO=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -compiler_GO=$CC -LD_GO=$LD -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Go did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GO=no - -old_archive_cmds_GO=$old_archive_cmds -reload_flag_GO=$reload_flag -reload_cmds_GO=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag_GO= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag_GO=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag_GO=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag_GO="$lt_prog_compiler_no_builtin_flag_GO -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - lt_prog_compiler_wl_GO= -lt_prog_compiler_pic_GO= -lt_prog_compiler_static_GO= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_static_GO='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GO='-Bstatic' - fi - lt_prog_compiler_pic_GO='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_GO='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_GO='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_GO='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_GO='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GO='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_GO= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GO='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GO=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GO='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GO=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_GO='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_GO='-Xlinker ' - if test -n "$lt_prog_compiler_pic_GO"; then - lt_prog_compiler_pic_GO="-Xcompiler $lt_prog_compiler_pic_GO" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GO='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GO='-Bstatic' - else - lt_prog_compiler_static_GO='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GO='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GO='-Wl,-Wl,,' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GO='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_GO='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GO='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GO='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GO='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GO='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GO='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='--shared' - lt_prog_compiler_static_GO='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GO='-Wl,-Wl,,' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fpic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GO='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GO='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-qpic' - lt_prog_compiler_static_GO='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fpic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GO='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GO='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GO='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GO='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_GO='-Qoption ld ';; - *) - lt_prog_compiler_wl_GO='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GO='-Qoption ld ' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GO='-Kconform_pic' - lt_prog_compiler_static_GO='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_can_build_shared_GO=no - ;; - - uts4*) - lt_prog_compiler_pic_GO='-pic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GO=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GO= - ;; - *) - lt_prog_compiler_pic_GO="$lt_prog_compiler_pic_GO@&t@" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_GO=$lt_prog_compiler_pic_GO -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GO" >&5 -$as_echo "$lt_cv_prog_compiler_pic_GO" >&6; } -lt_prog_compiler_pic_GO=$lt_cv_prog_compiler_pic_GO - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GO works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GO works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_GO=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GO@&t@" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_GO=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GO" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_GO" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_GO"; then - case $lt_prog_compiler_pic_GO in - "" | " "*) ;; - *) lt_prog_compiler_pic_GO=" $lt_prog_compiler_pic_GO" ;; - esac -else - lt_prog_compiler_pic_GO= - lt_prog_compiler_can_build_shared_GO=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GO eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GO\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_GO=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_GO=yes - fi - else - lt_cv_prog_compiler_static_works_GO=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GO" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_GO" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_GO"; then - : -else - lt_prog_compiler_static_GO= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GO=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GO=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GO=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GO=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_GO" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_GO= - always_export_symbols_GO=no - archive_cmds_GO= - archive_expsym_cmds_GO= - compiler_needs_object_GO=no - enable_shared_with_static_runtimes_GO=no - export_dynamic_flag_spec_GO= - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_GO=no - hardcode_direct_GO=no - hardcode_direct_absolute_GO=no - hardcode_libdir_flag_spec_GO= - hardcode_libdir_separator_GO= - hardcode_minus_L_GO=no - hardcode_shlibpath_var_GO=unsupported - inherit_rpath_GO=no - link_all_deplibs_GO=unknown - module_cmds_GO= - module_expsym_cmds_GO= - old_archive_from_new_cmds_GO= - old_archive_from_expsyms_cmds_GO= - thread_safe_flag_spec_GO= - whole_archive_flag_spec_GO= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GO= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_GO='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GO=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_GO='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GO=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_GO= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='' - ;; - m68k) - archive_cmds_GO='$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)' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GO=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GO='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_GO=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, GO) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GO='-L$libdir' - export_dynamic_flag_spec_GO='$wl--export-all-symbols' - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=no - enable_shared_with_static_runtimes_GO=yes - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_GO='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GO=no - fi - ;; - - haiku*) - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_GO=yes - ;; - - os2*) - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - allow_undefined_flag_GO=unsupported - shrext_cmds=.dll - archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GO=yes - file_list_spec_GO='@' - ;; - - interix[3-9]*) - hardcode_direct_GO=no - hardcode_shlibpath_var_GO=no - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - export_dynamic_flag_spec_GO='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GO='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GO='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GO='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_GO= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_GO='$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' - compiler_needs_object_GO=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GO='$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' - compiler_needs_object_GO=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_GO='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_GO='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_GO='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - archive_cmds_GO='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_GO=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GO='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GO='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - esac - - if test no = "$ld_shlibs_GO"; then - runpath_var= - hardcode_libdir_flag_spec_GO= - export_dynamic_flag_spec_GO= - whole_archive_flag_spec_GO= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=yes - archive_expsym_cmds_GO='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GO=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GO=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_GO='$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' - else - export_symbols_cmds_GO='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GO='' - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - hardcode_libdir_separator_GO=':' - link_all_deplibs_GO=yes - file_list_spec_GO='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_GO=no - hardcode_direct_absolute_GO=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GO=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GO=yes - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_libdir_separator_GO= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_GO='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GO=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GO='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GO -fi - - hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GO='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_GO='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GO="-z nodefs" - archive_expsym_cmds_GO="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GO -fi - - hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GO=' $wl-bernotok' - allow_undefined_flag_GO=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_GO='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GO='$convenience' - fi - archive_cmds_need_lc_GO=yes - archive_expsym_cmds_GO='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='' - ;; - m68k) - archive_cmds_GO='$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)' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GO=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_GO=' ' - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=yes - file_list_spec_GO='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GO='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, GO)='true' - enable_shared_with_static_runtimes_GO=yes - exclude_expsyms_GO='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_GO='chmod 644 $oldlib' - postlink_cmds_GO='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_GO=' ' - allow_undefined_flag_GO=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GO='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_GO='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GO='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_GO=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_GO=no - hardcode_direct_GO=no - hardcode_automatic_GO=yes - hardcode_shlibpath_var_GO=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_GO='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_GO='' - fi - link_all_deplibs_GO=yes - allow_undefined_flag_GO=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_GO="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_GO="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_GO="$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" - module_expsym_cmds_GO="$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" - - else - ld_shlibs_GO=no - fi - - ;; - - dgux*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_shlibpath_var_GO=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes - hardcode_minus_L_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_GO='$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' - else - archive_cmds_GO='$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' - fi - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_direct_GO=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_GO='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GO='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_GO=no - hardcode_shlibpath_var_GO=no - ;; - *) - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_GO='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_GO='$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' - fi - else - archive_cmds_GO='$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' - archive_expsym_cmds_GO='$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' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - inherit_rpath_GO=yes - link_all_deplibs_GO=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_GO=yes - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GO='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - newsos6) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_shlibpath_var_GO=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - hardcode_direct_absolute_GO=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - export_dynamic_flag_spec_GO='$wl-E' - else - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - fi - else - ld_shlibs_GO=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - allow_undefined_flag_GO=unsupported - shrext_cmds=.dll - archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GO=yes - file_list_spec_GO='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' - archive_cmds_GO='$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' - else - allow_undefined_flag_GO=' -expect_unresolved \*' - archive_cmds_GO='$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' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' - archive_cmds_GO='$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' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - else - allow_undefined_flag_GO=' -expect_unresolved \*' - archive_cmds_GO='$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' - archive_expsym_cmds_GO='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GO='-rpath $libdir' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_separator_GO=: - ;; - - solaris*) - no_undefined_flag_GO=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_GO='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_GO='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_GO='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_shlibpath_var_GO=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_GO='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_GO='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GO=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GO='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_direct_GO=yes - hardcode_minus_L_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GO='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GO='$CC -r -o $output$reload_objs' - hardcode_direct_GO=no - ;; - motorola) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GO=no - ;; - - sysv4.3*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GO=no - export_dynamic_flag_spec_GO='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GO=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GO=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GO='$wl-z,text' - archive_cmds_need_lc_GO=no - hardcode_shlibpath_var_GO=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GO='$wl-z,text' - allow_undefined_flag_GO='$wl-z,nodefs' - archive_cmds_need_lc_GO=no - hardcode_shlibpath_var_GO=no - hardcode_libdir_flag_spec_GO='$wl-R,$libdir' - hardcode_libdir_separator_GO=':' - link_all_deplibs_GO=yes - export_dynamic_flag_spec_GO='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_shlibpath_var_GO=no - ;; - - *) - ld_shlibs_GO=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_GO='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GO" >&5 -$as_echo "$ld_shlibs_GO" >&6; } -test no = "$ld_shlibs_GO" && can_build_shared=no - -with_gnu_ld_GO=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GO" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GO=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_GO in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GO - pic_flag=$lt_prog_compiler_pic_GO - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GO - allow_undefined_flag_GO= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_GO=no - else - lt_cv_archive_cmds_need_lc_GO=yes - fi - allow_undefined_flag_GO=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GO" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_GO" >&6; } - archive_cmds_need_lc_GO=$lt_cv_archive_cmds_need_lc_GO - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_GO= -if test -n "$hardcode_libdir_flag_spec_GO" || - test -n "$runpath_var_GO" || - test yes = "$hardcode_automatic_GO"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_GO" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GO)" && - test no != "$hardcode_minus_L_GO"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GO=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GO=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GO=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GO" >&5 -$as_echo "$hardcode_action_GO" >&6; } - -if test relink = "$hardcode_action_GO" || - test yes = "$inherit_rpath_GO"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcj", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcj; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GCJ"; then - ac_cv_prog_GCJ="$GCJ" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GCJ="${ac_tool_prefix}gcj" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GCJ=$ac_cv_prog_GCJ -if test -n "$GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ" >&5 -$as_echo "$GCJ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GCJ"; then - ac_ct_GCJ=$GCJ - # Extract the first word of "gcj", so it can be a program name with args. -set dummy gcj; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GCJ"; then - ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GCJ="gcj" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ -if test -n "$ac_ct_GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5 -$as_echo "$ac_ct_GCJ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GCJ" = x; then - GCJ="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GCJ=$ac_ct_GCJ - fi -else - GCJ="$ac_cv_prog_GCJ" -fi - - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - - - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -compiler_GCJ=$CC -LD_GCJ=$LD -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no - -old_archive_cmds_GCJ=$old_archive_cmds -reload_flag_GCJ=$reload_flag -reload_cmds_GCJ=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag_GCJ= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag_GCJ=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - - case $host_os in - os2*) - lt_prog_compiler_static_GCJ='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_GCJ= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GCJ='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_GCJ='-Xlinker ' - if test -n "$lt_prog_compiler_pic_GCJ"; then - lt_prog_compiler_pic_GCJ="-Xcompiler $lt_prog_compiler_pic_GCJ" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - - case $host_os in - os2*) - lt_prog_compiler_static_GCJ='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='--shared' - lt_prog_compiler_static_GCJ='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-qpic' - lt_prog_compiler_static_GCJ='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GCJ='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ@&t@" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_GCJ=$lt_prog_compiler_pic_GCJ -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_pic_GCJ" >&6; } -lt_prog_compiler_pic_GCJ=$lt_cv_prog_compiler_pic_GCJ - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ@&t@" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_GCJ=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_GCJ"; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_GCJ=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_GCJ=yes - fi - else - lt_cv_prog_compiler_static_works_GCJ=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_GCJ"; then - : -else - lt_prog_compiler_static_GCJ= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_GCJ" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_GCJ= - always_export_symbols_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - compiler_needs_object_GCJ=no - enable_shared_with_static_runtimes_GCJ=no - export_dynamic_flag_spec_GCJ= - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_GCJ=no - hardcode_direct_GCJ=no - hardcode_direct_absolute_GCJ=no - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - inherit_rpath_GCJ=no - link_all_deplibs_GCJ=unknown - module_cmds_GCJ= - module_expsym_cmds_GCJ= - old_archive_from_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - thread_safe_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_GCJ='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='' - ;; - m68k) - archive_cmds_GCJ='$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)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - export_dynamic_flag_spec_GCJ='$wl--export-all-symbols' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_GCJ='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - haiku*) - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_GCJ=yes - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - shrext_cmds=.dll - archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GCJ=yes - file_list_spec_GCJ='@' - ;; - - interix[3-9]*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - export_dynamic_flag_spec_GCJ='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_GCJ= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_GCJ='$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' - compiler_needs_object_GCJ=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GCJ='$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' - compiler_needs_object_GCJ=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_GCJ='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_GCJ='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_GCJ=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - - if test no = "$ld_shlibs_GCJ"; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$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' - else - export_symbols_cmds_GCJ='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - file_list_spec_GCJ='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_GCJ=no - hardcode_direct_absolute_GCJ=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_GCJ='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GCJ -fi - - hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_GCJ='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GCJ -fi - - hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' $wl-bernotok' - allow_undefined_flag_GCJ=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_GCJ='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - fi - archive_cmds_need_lc_GCJ=yes - archive_expsym_cmds_GCJ='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='' - ;; - m68k) - archive_cmds_GCJ='$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)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - file_list_spec_GCJ='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, GCJ)='true' - enable_shared_with_static_runtimes_GCJ=yes - exclude_expsyms_GCJ='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_GCJ='chmod 644 $oldlib' - postlink_cmds_GCJ='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_GCJ=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_GCJ='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_GCJ='' - fi - link_all_deplibs_GCJ=yes - allow_undefined_flag_GCJ=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_GCJ="$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" - module_expsym_cmds_GCJ="$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" - - else - ld_shlibs_GCJ=no - fi - - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_GCJ='$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' - else - archive_cmds_GCJ='$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' - fi - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_GCJ='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_GCJ='$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' - fi - else - archive_cmds_GCJ='$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' - archive_expsym_cmds_GCJ='$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' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - inherit_rpath_GCJ=yes - link_all_deplibs_GCJ=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_GCJ=yes - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - hardcode_direct_absolute_GCJ=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - export_dynamic_flag_spec_GCJ='$wl-E' - else - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - fi - else - ld_shlibs_GCJ=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - shrext_cmds=.dll - archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GCJ=yes - file_list_spec_GCJ='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' - archive_cmds_GCJ='$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' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$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' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' - archive_cmds_GCJ='$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' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$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' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_separator_GCJ=: - ;; - - solaris*) - no_undefined_flag_GCJ=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_GCJ='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_GCJ='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_GCJ='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_GCJ='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GCJ='$wl-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='$wl-z,text' - allow_undefined_flag_GCJ='$wl-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='$wl-R,$libdir' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - *) - ld_shlibs_GCJ=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_GCJ='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GCJ" >&5 -$as_echo "$ld_shlibs_GCJ" >&6; } -test no = "$ld_shlibs_GCJ" && can_build_shared=no - -with_gnu_ld_GCJ=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_GCJ=no - else - lt_cv_archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GCJ" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_GCJ" >&6; } - archive_cmds_need_lc_GCJ=$lt_cv_archive_cmds_need_lc_GCJ - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || - test -n "$runpath_var_GCJ" || - test yes = "$hardcode_automatic_GCJ"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_GCJ" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GCJ)" && - test no != "$hardcode_minus_L_GCJ"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GCJ" >&5 -$as_echo "$hardcode_action_GCJ" >&6; } - -if test relink = "$hardcode_action_GCJ" || - test yes = "$inherit_rpath_GCJ"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. -set dummy ${ac_tool_prefix}windres; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RC"; then - ac_cv_prog_RC="$RC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RC="${ac_tool_prefix}windres" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RC=$ac_cv_prog_RC -if test -n "$RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 -$as_echo "$RC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RC"; then - ac_ct_RC=$RC - # Extract the first word of "windres", so it can be a program name with args. -set dummy windres; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RC"; then - ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RC="windres" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RC=$ac_cv_prog_ac_ct_RC -if test -n "$ac_ct_RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 -$as_echo "$ac_ct_RC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RC" = x; then - RC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RC=$ac_ct_RC - fi -else - RC="$ac_cv_prog_RC" -fi - - - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code=$lt_simple_compile_test_code - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -compiler_RC=$CC -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - -lt_cv_prog_compiler_c_o_RC=yes - -if test -n "$compiler"; then - : - - - -fi - -GCC=$lt_save_GCC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - - -# Ensure the correct file name (and path) conversion function -# is available to the test suite. - -# Propagate --with-aix-soname option to the testsuite. - -## ---------------------- ## -## Gnulib initialisation. ## -## ---------------------- ## - - - - - - - - - @%:@ Check whether --enable-cross-guesses was given. -if test "${enable_cross_guesses+set}" = set; then : - enableval=$enable_cross_guesses; if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-cross-guesses" >&5 -$as_echo "$as_me: WARNING: invalid argument supplied to --enable-cross-guesses" >&2;} - enableval=conservative - fi - gl_cross_guesses="$enableval" -else - gl_cross_guesses=conservative -fi - - if test $gl_cross_guesses = risky; then - gl_cross_guess_normal="guessing yes" - gl_cross_guess_inverted="guessing no" - else - gl_cross_guess_normal="guessing no" - gl_cross_guess_inverted="guessing yes" - fi - LIBC_FATAL_STDERR_=1 - export LIBC_FATAL_STDERR_ - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5 -$as_echo_n "checking for C compiler option to allow warnings... " >&6; } -if ${gl_cv_cc_wallow+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest* - echo 'int dummy;' > conftest.c - { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cc_wallow='-Wno-error' - else - gl_cv_cc_wallow=none - fi - rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5 -$as_echo "$gl_cv_cc_wallow" >&6; } - case "$gl_cv_cc_wallow" in - none) GL_CFLAG_ALLOW_WARNINGS='' ;; - *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; - esac - - - - if test -n "$CXX" && test "$CXX" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler option to allow warnings" >&5 -$as_echo_n "checking for C++ compiler option to allow warnings... " >&6; } -if ${gl_cv_cxx_wallow+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest* - echo 'int dummy;' > conftest.cc - { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cxx_wallow='-Wno-error' - else - gl_cv_cxx_wallow=none - fi - rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5 -$as_echo "$gl_cv_cxx_wallow" >&6; } - case "$gl_cv_cxx_wallow" in - none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; - *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; - esac - else - GL_CXXFLAG_ALLOW_WARNINGS='' - fi - - - - - GL_CFLAG_GNULIB_WARNINGS='' - if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then - cat > conftest.c <<\EOF - #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-cast-qual - -Wno-conversion - -Wno-float-equal - -Wno-sign-compare - -Wno-undef - -Wno-unused-function - -Wno-unused-parameter - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-float-conversion - #endif - #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wimplicit-fallthrough - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-pedantic - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-sign-conversion - -Wno-type-limits - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 - -Wno-unsuffixed-float-constants - #endif -EOF - gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5 - (eval $gl_command) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - gl_options=`grep -v '#' conftest.out` - for word in $gl_options; do - GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" - done - fi - rm -f conftest.c conftest.out - fi - - - - if true; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi - - gl_cond_libtool=true - gl_m4_base='m4' - - - - - - - - - - - - - gl_source_base='lib' - gl_source_base_prefix= - # Autoconf 2.61a.99 and earlier don't support linking a file only - # in VPATH builds. But since GNUmakefile is for maintainer use - # only, it does not matter if we skip the link with older autoconf. - # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH - # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" - - - - - # End of code from modules - - - - - - - - - - gltests_libdeps= - gltests_ltlibdeps= - - - - - - - - - - - - - - - gl_source_base='gnulib-tests' - gl_source_base_prefix= - GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS - - gl_module_indicator_condition=$GLtests_WITNESS - - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - - - - - - - - - - - - - - -## ------------- ## -## Documentation ## -## ------------- ## - -HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} - - -## -------- ## -## Outputs. ## -## -------- ## -ac_config_files="$ac_config_files Makefile gnulib-tests/Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then - as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then - as_fn_error $? "conditional \"CONVENIENCE_LTDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -LT_CONFIG_H=config.h -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then - as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -CONFIG_INCLUDE=config.h - - - GL_libobjs= - GL_ltlibobjs= - GL_libobjdeps= - if test -n "$GL_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' - for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GL_libobjs="$GL_libobjs $i.$ac_objext" - GL_ltlibobjs="$GL_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - GL_LIBOBJS=$GL_libobjs - - GL_LTLIBOBJS=$GL_ltlibobjs - - GL_LIBOBJDEPS=$GL_libobjdeps - - - - GLtests_libobjs= - GLtests_ltlibobjs= - GLtests_libobjdeps= - if test -n "$GLtests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' - for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" - GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - GLtests_LIBOBJS=$GLtests_libobjs - - GLtests_LTLIBOBJS=$GLtests_ltlibobjs - - GLtests_LIBOBJDEPS=$GLtests_libobjdeps - - - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by GNU Libtool $as_me 2.4.7, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_links="$ac_config_links" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration links: -$config_links - -Configuration commands: -$config_commands - -Report bugs to . -GNU Libtool home page: . -General help using GNU software: ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -GNU Libtool config.status 2.4.7 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# - -AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' -predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' -predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' -postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' -LD_F77='`$ECHO "$LD_F77" | $SED "$delay_single_quote_subst"`' -LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`' -LD_GO='`$ECHO "$LD_GO" | $SED "$delay_single_quote_subst"`' -LD_GCJ='`$ECHO "$LD_GCJ" | $SED "$delay_single_quote_subst"`' -LD_RC='`$ECHO "$LD_RC" | $SED "$delay_single_quote_subst"`' -reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' -reload_flag_F77='`$ECHO "$reload_flag_F77" | $SED "$delay_single_quote_subst"`' -reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`' -reload_flag_GO='`$ECHO "$reload_flag_GO" | $SED "$delay_single_quote_subst"`' -reload_flag_GCJ='`$ECHO "$reload_flag_GCJ" | $SED "$delay_single_quote_subst"`' -reload_flag_RC='`$ECHO "$reload_flag_RC" | $SED "$delay_single_quote_subst"`' -reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' -reload_cmds_F77='`$ECHO "$reload_cmds_F77" | $SED "$delay_single_quote_subst"`' -reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`' -reload_cmds_GO='`$ECHO "$reload_cmds_GO" | $SED "$delay_single_quote_subst"`' -reload_cmds_GCJ='`$ECHO "$reload_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -reload_cmds_RC='`$ECHO "$reload_cmds_RC" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_F77='`$ECHO "$old_archive_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_GO='`$ECHO "$old_archive_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_GCJ='`$ECHO "$old_archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_RC='`$ECHO "$old_archive_cmds_RC" | $SED "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' -compiler_F77='`$ECHO "$compiler_F77" | $SED "$delay_single_quote_subst"`' -compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`' -compiler_GO='`$ECHO "$compiler_GO" | $SED "$delay_single_quote_subst"`' -compiler_GCJ='`$ECHO "$compiler_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_RC='`$ECHO "$compiler_RC" | $SED "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' -GCC_F77='`$ECHO "$GCC_F77" | $SED "$delay_single_quote_subst"`' -GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`' -GCC_GO='`$ECHO "$GCC_GO" | $SED "$delay_single_quote_subst"`' -GCC_GCJ='`$ECHO "$GCC_GCJ" | $SED "$delay_single_quote_subst"`' -GCC_RC='`$ECHO "$GCC_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_F77='`$ECHO "$lt_prog_compiler_no_builtin_flag_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_GO='`$ECHO "$lt_prog_compiler_no_builtin_flag_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "$lt_prog_compiler_no_builtin_flag_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_RC='`$ECHO "$lt_prog_compiler_no_builtin_flag_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_F77='`$ECHO "$lt_prog_compiler_pic_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_GO='`$ECHO "$lt_prog_compiler_pic_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_GCJ='`$ECHO "$lt_prog_compiler_pic_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_RC='`$ECHO "$lt_prog_compiler_pic_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_F77='`$ECHO "$lt_prog_compiler_wl_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_GO='`$ECHO "$lt_prog_compiler_wl_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_GCJ='`$ECHO "$lt_prog_compiler_wl_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_RC='`$ECHO "$lt_prog_compiler_wl_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_F77='`$ECHO "$lt_prog_compiler_static_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_GO='`$ECHO "$lt_prog_compiler_static_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_GCJ='`$ECHO "$lt_prog_compiler_static_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_RC='`$ECHO "$lt_prog_compiler_static_RC" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_F77='`$ECHO "$lt_cv_prog_compiler_c_o_F77" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_GO='`$ECHO "$lt_cv_prog_compiler_c_o_GO" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_GCJ='`$ECHO "$lt_cv_prog_compiler_c_o_GCJ" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_RC='`$ECHO "$lt_cv_prog_compiler_c_o_RC" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_F77='`$ECHO "$archive_cmds_need_lc_F77" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_GO='`$ECHO "$archive_cmds_need_lc_GO" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_GCJ='`$ECHO "$archive_cmds_need_lc_GCJ" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_RC='`$ECHO "$archive_cmds_need_lc_RC" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_F77='`$ECHO "$enable_shared_with_static_runtimes_F77" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_GO='`$ECHO "$enable_shared_with_static_runtimes_GO" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_GCJ='`$ECHO "$enable_shared_with_static_runtimes_GCJ" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_RC='`$ECHO "$enable_shared_with_static_runtimes_RC" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_F77='`$ECHO "$export_dynamic_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_GO='`$ECHO "$export_dynamic_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_GCJ='`$ECHO "$export_dynamic_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_RC='`$ECHO "$export_dynamic_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_F77='`$ECHO "$whole_archive_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_GO='`$ECHO "$whole_archive_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_GCJ='`$ECHO "$whole_archive_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_RC='`$ECHO "$whole_archive_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_F77='`$ECHO "$compiler_needs_object_F77" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_GO='`$ECHO "$compiler_needs_object_GO" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_GCJ='`$ECHO "$compiler_needs_object_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_RC='`$ECHO "$compiler_needs_object_RC" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_F77='`$ECHO "$old_archive_from_new_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_GO='`$ECHO "$old_archive_from_new_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_GCJ='`$ECHO "$old_archive_from_new_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_RC='`$ECHO "$old_archive_from_new_cmds_RC" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_F77='`$ECHO "$old_archive_from_expsyms_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_GO='`$ECHO "$old_archive_from_expsyms_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_GCJ='`$ECHO "$old_archive_from_expsyms_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_RC='`$ECHO "$old_archive_from_expsyms_cmds_RC" | $SED "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_F77='`$ECHO "$archive_cmds_F77" | $SED "$delay_single_quote_subst"`' -archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`' -archive_cmds_GO='`$ECHO "$archive_cmds_GO" | $SED "$delay_single_quote_subst"`' -archive_cmds_GCJ='`$ECHO "$archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -archive_cmds_RC='`$ECHO "$archive_cmds_RC" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_F77='`$ECHO "$archive_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_GO='`$ECHO "$archive_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_GCJ='`$ECHO "$archive_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_RC='`$ECHO "$archive_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_cmds_F77='`$ECHO "$module_cmds_F77" | $SED "$delay_single_quote_subst"`' -module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`' -module_cmds_GO='`$ECHO "$module_cmds_GO" | $SED "$delay_single_quote_subst"`' -module_cmds_GCJ='`$ECHO "$module_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -module_cmds_RC='`$ECHO "$module_cmds_RC" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_F77='`$ECHO "$module_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_GO='`$ECHO "$module_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_GCJ='`$ECHO "$module_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_RC='`$ECHO "$module_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_F77='`$ECHO "$with_gnu_ld_F77" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_GO='`$ECHO "$with_gnu_ld_GO" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_GCJ='`$ECHO "$with_gnu_ld_GCJ" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_RC='`$ECHO "$with_gnu_ld_RC" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_F77='`$ECHO "$allow_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_GO='`$ECHO "$allow_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_GCJ='`$ECHO "$allow_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_RC='`$ECHO "$allow_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_F77='`$ECHO "$no_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_GO='`$ECHO "$no_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_GCJ='`$ECHO "$no_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_RC='`$ECHO "$no_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_F77='`$ECHO "$hardcode_libdir_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_GO='`$ECHO "$hardcode_libdir_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_GCJ='`$ECHO "$hardcode_libdir_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_RC='`$ECHO "$hardcode_libdir_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_F77='`$ECHO "$hardcode_libdir_separator_F77" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_GO='`$ECHO "$hardcode_libdir_separator_GO" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_GCJ='`$ECHO "$hardcode_libdir_separator_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_RC='`$ECHO "$hardcode_libdir_separator_RC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_F77='`$ECHO "$hardcode_direct_F77" | $SED "$delay_single_quote_subst"`' -hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_GO='`$ECHO "$hardcode_direct_GO" | $SED "$delay_single_quote_subst"`' -hardcode_direct_GCJ='`$ECHO "$hardcode_direct_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_direct_RC='`$ECHO "$hardcode_direct_RC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_F77='`$ECHO "$hardcode_direct_absolute_F77" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_GO='`$ECHO "$hardcode_direct_absolute_GO" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_GCJ='`$ECHO "$hardcode_direct_absolute_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_RC='`$ECHO "$hardcode_direct_absolute_RC" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_F77='`$ECHO "$hardcode_minus_L_F77" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_GO='`$ECHO "$hardcode_minus_L_GO" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_GCJ='`$ECHO "$hardcode_minus_L_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_RC='`$ECHO "$hardcode_minus_L_RC" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_F77='`$ECHO "$hardcode_shlibpath_var_F77" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_GO='`$ECHO "$hardcode_shlibpath_var_GO" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_GCJ='`$ECHO "$hardcode_shlibpath_var_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_RC='`$ECHO "$hardcode_shlibpath_var_RC" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_F77='`$ECHO "$hardcode_automatic_F77" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_GO='`$ECHO "$hardcode_automatic_GO" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_GCJ='`$ECHO "$hardcode_automatic_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_RC='`$ECHO "$hardcode_automatic_RC" | $SED "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' -inherit_rpath_F77='`$ECHO "$inherit_rpath_F77" | $SED "$delay_single_quote_subst"`' -inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`' -inherit_rpath_GO='`$ECHO "$inherit_rpath_GO" | $SED "$delay_single_quote_subst"`' -inherit_rpath_GCJ='`$ECHO "$inherit_rpath_GCJ" | $SED "$delay_single_quote_subst"`' -inherit_rpath_RC='`$ECHO "$inherit_rpath_RC" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_F77='`$ECHO "$link_all_deplibs_F77" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_GO='`$ECHO "$link_all_deplibs_GO" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_GCJ='`$ECHO "$link_all_deplibs_GCJ" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_RC='`$ECHO "$link_all_deplibs_RC" | $SED "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' -always_export_symbols_F77='`$ECHO "$always_export_symbols_F77" | $SED "$delay_single_quote_subst"`' -always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`' -always_export_symbols_GO='`$ECHO "$always_export_symbols_GO" | $SED "$delay_single_quote_subst"`' -always_export_symbols_GCJ='`$ECHO "$always_export_symbols_GCJ" | $SED "$delay_single_quote_subst"`' -always_export_symbols_RC='`$ECHO "$always_export_symbols_RC" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_F77='`$ECHO "$export_symbols_cmds_F77" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_GO='`$ECHO "$export_symbols_cmds_GO" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_GCJ='`$ECHO "$export_symbols_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_RC='`$ECHO "$export_symbols_cmds_RC" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_F77='`$ECHO "$exclude_expsyms_F77" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_GO='`$ECHO "$exclude_expsyms_GO" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_GCJ='`$ECHO "$exclude_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_RC='`$ECHO "$exclude_expsyms_RC" | $SED "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -include_expsyms_F77='`$ECHO "$include_expsyms_F77" | $SED "$delay_single_quote_subst"`' -include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`' -include_expsyms_GO='`$ECHO "$include_expsyms_GO" | $SED "$delay_single_quote_subst"`' -include_expsyms_GCJ='`$ECHO "$include_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' -include_expsyms_RC='`$ECHO "$include_expsyms_RC" | $SED "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -prelink_cmds_F77='`$ECHO "$prelink_cmds_F77" | $SED "$delay_single_quote_subst"`' -prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`' -prelink_cmds_GO='`$ECHO "$prelink_cmds_GO" | $SED "$delay_single_quote_subst"`' -prelink_cmds_GCJ='`$ECHO "$prelink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -prelink_cmds_RC='`$ECHO "$prelink_cmds_RC" | $SED "$delay_single_quote_subst"`' -postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -postlink_cmds_F77='`$ECHO "$postlink_cmds_F77" | $SED "$delay_single_quote_subst"`' -postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`' -postlink_cmds_GO='`$ECHO "$postlink_cmds_GO" | $SED "$delay_single_quote_subst"`' -postlink_cmds_GCJ='`$ECHO "$postlink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -postlink_cmds_RC='`$ECHO "$postlink_cmds_RC" | $SED "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' -file_list_spec_F77='`$ECHO "$file_list_spec_F77" | $SED "$delay_single_quote_subst"`' -file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`' -file_list_spec_GO='`$ECHO "$file_list_spec_GO" | $SED "$delay_single_quote_subst"`' -file_list_spec_GCJ='`$ECHO "$file_list_spec_GCJ" | $SED "$delay_single_quote_subst"`' -file_list_spec_RC='`$ECHO "$file_list_spec_RC" | $SED "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_action_F77='`$ECHO "$hardcode_action_F77" | $SED "$delay_single_quote_subst"`' -hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`' -hardcode_action_GO='`$ECHO "$hardcode_action_GO" | $SED "$delay_single_quote_subst"`' -hardcode_action_GCJ='`$ECHO "$hardcode_action_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_action_RC='`$ECHO "$hardcode_action_RC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_F77='`$ECHO "$compiler_lib_search_dirs_F77" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_GO='`$ECHO "$compiler_lib_search_dirs_GO" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_GCJ='`$ECHO "$compiler_lib_search_dirs_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_RC='`$ECHO "$compiler_lib_search_dirs_RC" | $SED "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' -predep_objects_F77='`$ECHO "$predep_objects_F77" | $SED "$delay_single_quote_subst"`' -predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`' -predep_objects_GO='`$ECHO "$predep_objects_GO" | $SED "$delay_single_quote_subst"`' -predep_objects_GCJ='`$ECHO "$predep_objects_GCJ" | $SED "$delay_single_quote_subst"`' -predep_objects_RC='`$ECHO "$predep_objects_RC" | $SED "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' -postdep_objects_F77='`$ECHO "$postdep_objects_F77" | $SED "$delay_single_quote_subst"`' -postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`' -postdep_objects_GO='`$ECHO "$postdep_objects_GO" | $SED "$delay_single_quote_subst"`' -postdep_objects_GCJ='`$ECHO "$postdep_objects_GCJ" | $SED "$delay_single_quote_subst"`' -postdep_objects_RC='`$ECHO "$postdep_objects_RC" | $SED "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' -predeps_F77='`$ECHO "$predeps_F77" | $SED "$delay_single_quote_subst"`' -predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`' -predeps_GO='`$ECHO "$predeps_GO" | $SED "$delay_single_quote_subst"`' -predeps_GCJ='`$ECHO "$predeps_GCJ" | $SED "$delay_single_quote_subst"`' -predeps_RC='`$ECHO "$predeps_RC" | $SED "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' -postdeps_F77='`$ECHO "$postdeps_F77" | $SED "$delay_single_quote_subst"`' -postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`' -postdeps_GO='`$ECHO "$postdeps_GO" | $SED "$delay_single_quote_subst"`' -postdeps_GCJ='`$ECHO "$postdeps_GCJ" | $SED "$delay_single_quote_subst"`' -postdeps_RC='`$ECHO "$postdeps_RC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_F77='`$ECHO "$compiler_lib_search_path_F77" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_GO='`$ECHO "$compiler_lib_search_path_GO" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_GCJ='`$ECHO "$compiler_lib_search_path_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_RC='`$ECHO "$compiler_lib_search_path_RC" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -FILECMD \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -sharedlib_from_linklib_cmd \ -AR \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -LD_F77 \ -LD_FC \ -LD_GO \ -LD_GCJ \ -LD_RC \ -reload_flag_CXX \ -reload_flag_F77 \ -reload_flag_FC \ -reload_flag_GO \ -reload_flag_GCJ \ -reload_flag_RC \ -compiler_CXX \ -compiler_F77 \ -compiler_FC \ -compiler_GO \ -compiler_GCJ \ -compiler_RC \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_no_builtin_flag_F77 \ -lt_prog_compiler_no_builtin_flag_FC \ -lt_prog_compiler_no_builtin_flag_GO \ -lt_prog_compiler_no_builtin_flag_GCJ \ -lt_prog_compiler_no_builtin_flag_RC \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_pic_F77 \ -lt_prog_compiler_pic_FC \ -lt_prog_compiler_pic_GO \ -lt_prog_compiler_pic_GCJ \ -lt_prog_compiler_pic_RC \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_wl_F77 \ -lt_prog_compiler_wl_FC \ -lt_prog_compiler_wl_GO \ -lt_prog_compiler_wl_GCJ \ -lt_prog_compiler_wl_RC \ -lt_prog_compiler_static_CXX \ -lt_prog_compiler_static_F77 \ -lt_prog_compiler_static_FC \ -lt_prog_compiler_static_GO \ -lt_prog_compiler_static_GCJ \ -lt_prog_compiler_static_RC \ -lt_cv_prog_compiler_c_o_CXX \ -lt_cv_prog_compiler_c_o_F77 \ -lt_cv_prog_compiler_c_o_FC \ -lt_cv_prog_compiler_c_o_GO \ -lt_cv_prog_compiler_c_o_GCJ \ -lt_cv_prog_compiler_c_o_RC \ -export_dynamic_flag_spec_CXX \ -export_dynamic_flag_spec_F77 \ -export_dynamic_flag_spec_FC \ -export_dynamic_flag_spec_GO \ -export_dynamic_flag_spec_GCJ \ -export_dynamic_flag_spec_RC \ -whole_archive_flag_spec_CXX \ -whole_archive_flag_spec_F77 \ -whole_archive_flag_spec_FC \ -whole_archive_flag_spec_GO \ -whole_archive_flag_spec_GCJ \ -whole_archive_flag_spec_RC \ -compiler_needs_object_CXX \ -compiler_needs_object_F77 \ -compiler_needs_object_FC \ -compiler_needs_object_GO \ -compiler_needs_object_GCJ \ -compiler_needs_object_RC \ -with_gnu_ld_CXX \ -with_gnu_ld_F77 \ -with_gnu_ld_FC \ -with_gnu_ld_GO \ -with_gnu_ld_GCJ \ -with_gnu_ld_RC \ -allow_undefined_flag_CXX \ -allow_undefined_flag_F77 \ -allow_undefined_flag_FC \ -allow_undefined_flag_GO \ -allow_undefined_flag_GCJ \ -allow_undefined_flag_RC \ -no_undefined_flag_CXX \ -no_undefined_flag_F77 \ -no_undefined_flag_FC \ -no_undefined_flag_GO \ -no_undefined_flag_GCJ \ -no_undefined_flag_RC \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_flag_spec_F77 \ -hardcode_libdir_flag_spec_FC \ -hardcode_libdir_flag_spec_GO \ -hardcode_libdir_flag_spec_GCJ \ -hardcode_libdir_flag_spec_RC \ -hardcode_libdir_separator_CXX \ -hardcode_libdir_separator_F77 \ -hardcode_libdir_separator_FC \ -hardcode_libdir_separator_GO \ -hardcode_libdir_separator_GCJ \ -hardcode_libdir_separator_RC \ -exclude_expsyms_CXX \ -exclude_expsyms_F77 \ -exclude_expsyms_FC \ -exclude_expsyms_GO \ -exclude_expsyms_GCJ \ -exclude_expsyms_RC \ -include_expsyms_CXX \ -include_expsyms_F77 \ -include_expsyms_FC \ -include_expsyms_GO \ -include_expsyms_GCJ \ -include_expsyms_RC \ -file_list_spec_CXX \ -file_list_spec_F77 \ -file_list_spec_FC \ -file_list_spec_GO \ -file_list_spec_GCJ \ -file_list_spec_RC \ -compiler_lib_search_dirs_CXX \ -compiler_lib_search_dirs_F77 \ -compiler_lib_search_dirs_FC \ -compiler_lib_search_dirs_GO \ -compiler_lib_search_dirs_GCJ \ -compiler_lib_search_dirs_RC \ -predep_objects_CXX \ -predep_objects_F77 \ -predep_objects_FC \ -predep_objects_GO \ -predep_objects_GCJ \ -predep_objects_RC \ -postdep_objects_CXX \ -postdep_objects_F77 \ -postdep_objects_FC \ -postdep_objects_GO \ -postdep_objects_GCJ \ -postdep_objects_RC \ -predeps_CXX \ -predeps_F77 \ -predeps_FC \ -predeps_GO \ -predeps_GCJ \ -predeps_RC \ -postdeps_CXX \ -postdeps_F77 \ -postdeps_FC \ -postdeps_GO \ -postdeps_GCJ \ -postdeps_RC \ -compiler_lib_search_path_CXX \ -compiler_lib_search_path_F77 \ -compiler_lib_search_path_FC \ -compiler_lib_search_path_GO \ -compiler_lib_search_path_GCJ \ -compiler_lib_search_path_RC; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path \ -reload_cmds_CXX \ -reload_cmds_F77 \ -reload_cmds_FC \ -reload_cmds_GO \ -reload_cmds_GCJ \ -reload_cmds_RC \ -old_archive_cmds_CXX \ -old_archive_cmds_F77 \ -old_archive_cmds_FC \ -old_archive_cmds_GO \ -old_archive_cmds_GCJ \ -old_archive_cmds_RC \ -old_archive_from_new_cmds_CXX \ -old_archive_from_new_cmds_F77 \ -old_archive_from_new_cmds_FC \ -old_archive_from_new_cmds_GO \ -old_archive_from_new_cmds_GCJ \ -old_archive_from_new_cmds_RC \ -old_archive_from_expsyms_cmds_CXX \ -old_archive_from_expsyms_cmds_F77 \ -old_archive_from_expsyms_cmds_FC \ -old_archive_from_expsyms_cmds_GO \ -old_archive_from_expsyms_cmds_GCJ \ -old_archive_from_expsyms_cmds_RC \ -archive_cmds_CXX \ -archive_cmds_F77 \ -archive_cmds_FC \ -archive_cmds_GO \ -archive_cmds_GCJ \ -archive_cmds_RC \ -archive_expsym_cmds_CXX \ -archive_expsym_cmds_F77 \ -archive_expsym_cmds_FC \ -archive_expsym_cmds_GO \ -archive_expsym_cmds_GCJ \ -archive_expsym_cmds_RC \ -module_cmds_CXX \ -module_cmds_F77 \ -module_cmds_FC \ -module_cmds_GO \ -module_cmds_GCJ \ -module_cmds_RC \ -module_expsym_cmds_CXX \ -module_expsym_cmds_F77 \ -module_expsym_cmds_FC \ -module_expsym_cmds_GO \ -module_expsym_cmds_GCJ \ -module_expsym_cmds_RC \ -export_symbols_cmds_CXX \ -export_symbols_cmds_F77 \ -export_symbols_cmds_FC \ -export_symbols_cmds_GO \ -export_symbols_cmds_GCJ \ -export_symbols_cmds_RC \ -prelink_cmds_CXX \ -prelink_cmds_F77 \ -prelink_cmds_FC \ -prelink_cmds_GO \ -prelink_cmds_GCJ \ -prelink_cmds_RC \ -postlink_cmds_CXX \ -postlink_cmds_F77 \ -postlink_cmds_FC \ -postlink_cmds_GO \ -postlink_cmds_GCJ \ -postlink_cmds_RC; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - - - - - - - - - - - - - -GNUmakefile=$GNUmakefile - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; - "tests/atconfig") CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - :L) - # - # CONFIG_LINK - # - - if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then - : - else - # Prefer the file from the source tree if names are identical. - if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then - ac_source=$srcdir/$ac_source - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 -$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} - - if test ! -r "$ac_source"; then - as_fn_error $? "$ac_source: file not found" "$LINENO" 5 - fi - rm -f "$ac_file" - - # Try a relative symlink, then a hard link, then a copy. - case $ac_source in - [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; - *) ac_rel_source=$ac_top_build_prefix$ac_source ;; - esac - ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || - ln "$ac_source" "$ac_file" 2>/dev/null || - cp -p "$ac_source" "$ac_file" || - as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 - fi - ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "tests/atconfig":C) cat >tests/atconfig </dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='CXX F77 FC GO GCJ RC ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Assembler program. -AS=$lt_AS - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Object dumper program. -OBJDUMP=$lt_OBJDUMP - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# A file(cmd) program that detects file types. -FILECMD=$lt_FILECMD - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive (by configure). -lt_ar_flags=$lt_ar_flags - -# Flags to create an archive. -AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - $SED '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: F77 - -# The linker used to build libraries. -LD=$lt_LD_F77 - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_F77 -reload_cmds=$lt_reload_cmds_F77 - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_F77 - -# A language specific compiler. -CC=$lt_compiler_F77 - -# Is the compiler the GNU compiler? -with_gcc=$GCC_F77 - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_F77 - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_F77 - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_F77 - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_F77 - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_F77 - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_F77 - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_F77 - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_F77 - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77 - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_F77 -postdep_objects=$lt_postdep_objects_F77 -predeps=$lt_predeps_F77 -postdeps=$lt_postdeps_F77 - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 - -# ### END LIBTOOL TAG CONFIG: F77 -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: FC - -# The linker used to build libraries. -LD=$lt_LD_FC - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_FC -reload_cmds=$lt_reload_cmds_FC - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_FC - -# A language specific compiler. -CC=$lt_compiler_FC - -# Is the compiler the GNU compiler? -with_gcc=$GCC_FC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_FC - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_FC - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_FC - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_FC - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_FC - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_FC -archive_expsym_cmds=$lt_archive_expsym_cmds_FC - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_FC -module_expsym_cmds=$lt_module_expsym_cmds_FC - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_FC - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_FC - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_FC - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_FC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_FC - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_FC - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_FC - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_FC - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_FC - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_FC - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_FC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_FC - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_FC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_FC - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_FC - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_FC - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_FC - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_FC - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_FC -postdep_objects=$lt_postdep_objects_FC -predeps=$lt_predeps_FC -postdeps=$lt_postdeps_FC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_FC - -# ### END LIBTOOL TAG CONFIG: FC -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: GO - -# The linker used to build libraries. -LD=$lt_LD_GO - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_GO -reload_cmds=$lt_reload_cmds_GO - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_GO - -# A language specific compiler. -CC=$lt_compiler_GO - -# Is the compiler the GNU compiler? -with_gcc=$GCC_GO - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GO - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GO - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GO - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GO - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GO - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GO - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GO - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GO - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GO - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_GO - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GO - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GO - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_GO -archive_expsym_cmds=$lt_archive_expsym_cmds_GO - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_GO -module_expsym_cmds=$lt_module_expsym_cmds_GO - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_GO - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GO - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GO - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GO - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GO - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_GO - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_GO - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_GO - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GO - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_GO - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_GO - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GO - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_GO - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GO - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GO - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GO - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_GO - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_GO - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_GO - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GO - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GO - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_GO -postdep_objects=$lt_postdep_objects_GO -predeps=$lt_predeps_GO -postdeps=$lt_postdeps_GO - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GO - -# ### END LIBTOOL TAG CONFIG: GO -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: GCJ - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_GCJ -reload_cmds=$lt_reload_cmds_GCJ - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_GCJ - -# A language specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU compiler? -with_gcc=$GCC_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_GCJ - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_GCJ - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_GCJ - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_GCJ - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_GCJ - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_GCJ - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_GCJ - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_GCJ - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_GCJ -postdep_objects=$lt_postdep_objects_GCJ -predeps=$lt_predeps_GCJ -postdeps=$lt_postdeps_GCJ - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ - -# ### END LIBTOOL TAG CONFIG: GCJ -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: RC - -# The linker used to build libraries. -LD=$lt_LD_RC - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_RC -reload_cmds=$lt_reload_cmds_RC - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_RC - -# A language specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU compiler? -with_gcc=$GCC_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_RC - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_RC - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_RC - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_RC - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_RC - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_RC - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_RC - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_RC - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_RC -postdep_objects=$lt_postdep_objects_RC -predeps=$lt_predeps_RC -postdeps=$lt_postdeps_RC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC - -# ### END LIBTOOL TAG CONFIG: RC -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/BUILD/libtool-2.4.7/autom4te.cache/output.1 b/BUILD/libtool-2.4.7/autom4te.cache/output.1 deleted file mode 100644 index 29075a6..0000000 --- a/BUILD/libtool-2.4.7/autom4te.cache/output.1 +++ /dev/null @@ -1,33382 +0,0 @@ -@%:@! /bin/sh -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.69 for GNU Libtool 2.4.7. -@%:@ -@%:@ Report bugs to . -@%:@ -@%:@ -@%:@ Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -@%:@ -@%:@ -@%:@ This configure script is free software; the Free Software Foundation -@%:@ gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in @%:@( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in @%:@ (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: bug-libtool@gnu.org about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -lt_ltdl_dir='libltdl' - -SHELL=${CONFIG_SHELL-/bin/sh} - -lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/ - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIB@&t@OBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='GNU Libtool' -PACKAGE_TARNAME='libtool' -PACKAGE_VERSION='2.4.7' -PACKAGE_STRING='GNU Libtool 2.4.7' -PACKAGE_BUGREPORT='bug-libtool@gnu.org' -PACKAGE_URL='http://www.gnu.org/software/libtool/' - -ac_unique_file="libtoolize.in" -ac_config_libobj_dir=libltdl -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='GLtests_LIBOBJDEPS -GLtests_LTLIBOBJS -GLtests_LIBOBJS -GL_LIBOBJDEPS -GL_LTLIBOBJS -GL_LIBOBJS -CONFIG_INCLUDE -am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -HELP2MAN -GL_CFLAG_GNULIB_WARNINGS -abs_aux_dir -GLtests_WITNESS -GL_CXXFLAG_ALLOW_WARNINGS -GL_CFLAG_ALLOW_WARNINGS -GL_COND_LIBTOOL_FALSE -GL_COND_LIBTOOL_TRUE -with_aix_soname -to_tool_file_cmd -to_host_file_cmd -RC -GCJFLAGS -GCJ -GOC -ac_ct_FC -FCFLAGS -FC -ac_ct_F77 -FFLAGS -F77 -CXXCPP -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -LTDLOPEN -LT_CONFIG_H -CONVENIENCE_LTDL_FALSE -CONVENIENCE_LTDL_TRUE -INSTALL_LTDL_FALSE -INSTALL_LTDL_TRUE -LT_ARGZ_H -LIB@&t@OBJS -sys_symbol_underscore -LIBADD_DL -LT_DLPREOPEN -LIBADD_DLD_LINK -LIBADD_SHL_LOAD -LIBADD_DLOPEN -LT_DLLOADERS -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -ac_ct_AR -FILECMD -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -RANLIB -ARFLAGS -AR -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -pkgaux_scripts -pkgdatadir -aclocaldir -CONFIG_STATUS_DEPENDENCIES -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -M4_DEBUGFILE -M4_GNU -M4 -AUTOTEST -AUTOM4TE -package_revision -macro_dir -aux_dir -ltdl_dir -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL -am__quote' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_ltdl_install -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_cross_guesses -' - ac_precious_vars='build_alias -host_alias -target_alias -M4 -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -LT_SYS_LIBRARY_PATH -CXX -CXXFLAGS -CCC -CXXCPP -F77 -FFLAGS -FC -FCFLAGS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures GNU Libtool 2.4.7 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - @<:@@S|@ac_default_prefix@:>@ - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - @<:@PREFIX@:>@ - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/libtool@:>@ - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of GNU Libtool 2.4.7:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --disable-ltdl-install do not install libltdl - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ - --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ - --enable-fast-install@<:@=PKGS@:>@ - optimize for fast installation @<:@default=yes@:>@ - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-ltdl-install install libltdl - --enable-cross-guesses={conservative|risky} - specify policy for cross-compilation guesses - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use - both@:>@ - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, @<:@default=aix@:>@. - --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ - --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - -Some influential environment variables: - M4 Location of GNU M4 1.4.6 or later. Defaults to the first program - of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs. - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - FC Fortran compiler command - FCFLAGS Fortran compiler flags - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -GNU Libtool home page: . -General help using GNU software: . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -GNU Libtool configure 2.4.7 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -@%:@ ac_fn_c_try_compile LINENO -@%:@ -------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_compile - -@%:@ ac_fn_c_try_cpp LINENO -@%:@ ---------------------- -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_cpp - -@%:@ ac_fn_c_try_link LINENO -@%:@ ----------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_link - -@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -@%:@ ------------------------------------------------------- -@%:@ Tests whether HEADER exists and can be compiled using the include files in -@%:@ INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -@%:@include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_header_compile - -@%:@ ac_fn_c_try_run LINENO -@%:@ ---------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes -@%:@ that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_run - -@%:@ ac_fn_c_check_func LINENO FUNC VAR -@%:@ ---------------------------------- -@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_func - -@%:@ ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -@%:@ --------------------------------------------- -@%:@ Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -@%:@ accordingly. -ac_fn_c_check_decl () -{ - ac_save_ac_compile="$ac_compile" - if test -n "$ac_compile_for_check_decl"; then - ac_compile="$ac_compile_for_check_decl" - fi - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -@%:@ifndef $as_decl_name -@%:@ifdef __cplusplus - (void) $as_decl_use; -@%:@else - (void) $as_decl_name; -@%:@endif -@%:@endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - ac_compile="$ac_save_ac_compile" - -} @%:@ ac_fn_c_check_decl - -@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES -@%:@ ------------------------------------------- -@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache -@%:@ variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} @%:@ ac_fn_c_check_type - -@%:@ ac_fn_cxx_try_compile LINENO -@%:@ ---------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_compile - -@%:@ ac_fn_cxx_try_cpp LINENO -@%:@ ------------------------ -@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_cpp - -@%:@ ac_fn_cxx_try_link LINENO -@%:@ ------------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_cxx_try_link - -@%:@ ac_fn_f77_try_compile LINENO -@%:@ ---------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_f77_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_f77_try_compile - -@%:@ ac_fn_f77_try_link LINENO -@%:@ ------------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_f77_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_f77_try_link - -@%:@ ac_fn_fc_try_compile LINENO -@%:@ --------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_fc_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_fc_try_compile - -@%:@ ac_fn_fc_try_link LINENO -@%:@ ------------------------ -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_fc_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} @%:@ ac_fn_fc_try_link -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by GNU Libtool $as_me 2.4.7, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in @%:@(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - -# Remove this when a released Autoconf is capable of bootstrapping -# Libtool without it (probably after autoconf-2.70). - - -# Since we already declare these directories in this file, save those -# choices, and push the results into Makefile.am to avoid declaring -# them in two places making renames error prone, and where copies -# might get out of sync. - - - - -ac_config_headers="$ac_config_headers config.h:config-h.in" - - - - - - - - -ltdl_dir=libltdl - -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - -aux_dir=build-aux - -macro_dir=m4 - - - -package_revision=`$SHELL $ac_aux_dir/git-version-gen .tarball-version` - - -## ------------------------ ## -## Autotest initialisation. ## -## ------------------------ ## - -ac_config_commands="$ac_config_commands tests/atconfig" - -AUTOM4TE=${AUTOM4TE=autom4te} - -AUTOTEST='$(AUTOM4TE) --language=autotest' - - - -## ---------------------------------------- ## -## Display a configure time version banner. ## -## ---------------------------------------- ## - -# This is a sanity check so we can see what version is used in bug reports. -$as_echo "## ------------------------- ## -## Configuring libtool 2.4.7 ## -## ------------------------- ##" -echo - - -## ------------ ## -## Shell tools. ## -## ------------ ## - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU M4 that supports accurate traces" >&5 -$as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; } -if ${ac_cv_path_M4+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest.m4f -ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} -{ POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} -if test -z "$M4"; then - ac_path_M4_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in m4 gm4 gnum4; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_M4" || continue - # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. - # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. - # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy - # false positive strstr. - ac_snippet=change'quote(<,>)in''dir(,mac,bug)' - ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' - test -z "`$ac_path_M4 -F conftest.m4f &1`" \ - && test -z "`$as_echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \ - && test -f conftest.m4f \ - && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: - rm -f conftest.m4f - $ac_path_M4_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_M4"; then - as_fn_error $? "no acceptable m4 could be found in \$PATH. -GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. -GNU M4 1.4.15 uses a buggy replacement strstr on some systems. -Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug." "$LINENO" 5 - fi -else - ac_cv_path_M4=$M4 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 -$as_echo "$ac_cv_path_M4" >&6; } - M4=$ac_cv_path_M4 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_cv_path_M4 accepts --gnu" >&5 -$as_echo_n "checking whether $ac_cv_path_M4 accepts --gnu... " >&6; } -if ${ac_cv_prog_gnu_m4_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - case `$M4 --help < /dev/null 2>&1` in - *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; - *) ac_cv_prog_gnu_m4_gnu=no ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_gnu" >&5 -$as_echo "$ac_cv_prog_gnu_m4_gnu" >&6; } - if test yes = "$ac_cv_prog_gnu_m4_gnu"; then - M4_GNU=--gnu - else - M4_GNU= - fi - - if test yes = "$ac_had_posixly_correct"; then - POSIXLY_CORRECT=: - if test no = $ac_cv_prog_gnu_m4_gnu; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the version of M4 that was found does not support -g" >&5 -$as_echo "$as_me: WARNING: the version of M4 that was found does not support -g" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&5 -$as_echo "$as_me: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&2;} - fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how m4 supports trace files" >&5 -$as_echo_n "checking how m4 supports trace files... " >&6; } -if ${ac_cv_prog_gnu_m4_debugfile+:} false; then : - $as_echo_n "(cached) " >&6 -else - case `$M4 --help < /dev/null 2>&1` in - *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; - *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_debugfile" >&5 -$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; } - M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile - - - - -## ------------------------ ## -## Automake Initialisation. ## -## ------------------------ ## - -am__api_version='1.16' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in @%:@(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='libtool' - VERSION='2.4.7' - - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -@%:@define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - -@%:@ Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - - -## ------------------------- ## -## Autobuild initialisation. ## -## ------------------------- ## - -# You can set autobuild_mode at configure time to specify a "unique" -# string for this build. -: ${autobuild_mode=default} -AB_VERSION='2.4.7' -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - - - - - if test -z "$AB_PACKAGE"; then - AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5 -$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} - - if test -z "$AB_VERSION"; then - AB_VERSION=${PACKAGE_VERSION:-$VERSION} - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5 -$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} - - hostname=`hostname` - if test "$hostname"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5 -$as_echo "$as_me: autobuild hostname... $hostname" >&6;} - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild mode... $autobuild_mode" >&5 -$as_echo "$as_me: autobuild mode... $autobuild_mode" >&6;} - - date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` - if test "$?" != 0; then - date=`date` - fi - if test "$date"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5 -$as_echo "$as_me: autobuild timestamp... $date" >&6;} - fi - - - -CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/.version' - - - -## ------------------------------- ## -## Libtool specific configuration. ## -## ------------------------------- ## - -aclocaldir="\$(datadir)/aclocal" - -pkgdatadir="\$(datadir)/$PACKAGE" - - -@%:@ Check whether --enable-ltdl-install was given. -if test "${enable_ltdl_install+set}" = set; then : - enableval=$enable_ltdl_install; -fi - -if test set != "${enable_ltdl_install+set}"; then - enable_ltdl_install=yes -fi - -# The list of scripts required to build libltdl, and which need to be -# installed by libtoolize --ltdl, and consequently need to be placed in -# $pkgdatadir by our make install rule. -pkgaux_scripts="compile config.guess config.sub depcomp install-sh missing" - - - -## ---------------- ## -## compiler checks. ## -## ---------------- ## - -# Need to be sure that we have a working C compiler, otherwise even with -# a good C compiler: if the following C++ tests fail, the whole libtool -# build fails! -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $@%:@ != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5 -$as_echo_n "checking whether the compiler is clang... " >&6; } -if ${gl_cv_compiler_clang+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #ifdef __clang__ - barfbarf - #endif - -int -main () -{ - - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_compiler_clang=no -else - gl_cv_compiler_clang=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5 -$as_echo "$gl_cv_compiler_clang" >&6; } - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5 -$as_echo_n "checking for compiler option needed when checking for declarations... " >&6; } -if ${gl_cv_compiler_check_decl_option+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $gl_cv_compiler_clang = yes; then - save_ac_compile="$ac_compile" - ac_compile="$ac_compile -Werror=implicit-function-declaration" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration' -else - gl_cv_compiler_check_decl_option=none -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_compile="$save_ac_compile" - else - gl_cv_compiler_check_decl_option=none - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5 -$as_echo "$gl_cv_compiler_check_decl_option" >&6; } - if test "x$gl_cv_compiler_check_decl_option" != xnone; then - ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" - else - ac_compile_for_check_decl="$ac_compile" - fi - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 - (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - case $?:`cat confinc.out 2>/dev/null` in @%:@( - '0:this is the am__doit target') : - case $s in @%:@( - BSD) : - am__include='.include' am__quote='"' ;; @%:@( - *) : - am__include='include' am__quote='' ;; -esac ;; @%:@( - *) : - ;; -esac - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } - -@%:@ Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 -$as_echo_n "checking for Minix Amsterdam compiler... " >&6; } -if ${gl_cv_c_amsterdam_compiler+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef __ACK__ -Amsterdam -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Amsterdam" >/dev/null 2>&1; then : - gl_cv_c_amsterdam_compiler=yes -else - gl_cv_c_amsterdam_compiler=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 -$as_echo "$gl_cv_c_amsterdam_compiler" >&6; } - - if test $gl_cv_c_amsterdam_compiler = yes; then - if test -z "$AR"; then - AR='cc -c.a' - fi - if test -z "$ARFLAGS"; then - ARFLAGS='-o' - fi - else - : - fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="ar" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - - if test -z "$ARFLAGS"; then - ARFLAGS='cr' - fi - - - - if test -z "$RANLIB"; then - if test $gl_cv_c_amsterdam_compiler = yes; then - RANLIB=':' - else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - - fi - fi - - - - - # Pre-early section. - - - # Code from module all-shells-tests: - # Code from module announce-gen: - # Code from module bootstrap: - # Code from module do-release-commit-and-tag: - # Code from module extract-trace: - # Code from module funclib.sh: - # Code from module funclib.sh-tests: - # Code from module gendocs: - # Code from module git-version-gen: - # Code from module gitlog-to-changelog: - # Code from module gnu-web-doc-update: - # Code from module gnumakefile: - # Code from module gnupload: - # Code from module inline-source: - # Code from module maintainer-makefile: - # Code from module options-parser: - # Code from module options-parser-tests: - # Code from module readme-release: - # Code from module test-framework-sh: - # Code from module test-framework-sh-tests: - # Code from module update-copyright: - # Code from module update-copyright-tests: - # Code from module useless-if-before-free: - # Code from module vc-list-files: - # Code from module vc-list-files-tests: - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -## ----------------------- ## -## Libtool initialisation. ## -## ----------------------- ## -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.7' -macro_revision='2.4.7' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. -set dummy ${ac_tool_prefix}file; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FILECMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$FILECMD"; then - ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_FILECMD="${ac_tool_prefix}file" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FILECMD=$ac_cv_prog_FILECMD -if test -n "$FILECMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 -$as_echo "$FILECMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_FILECMD"; then - ac_ct_FILECMD=$FILECMD - # Extract the first word of "file", so it can be a program name with args. -set dummy file; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FILECMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_FILECMD"; then - ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FILECMD="file" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD -if test -n "$ac_ct_FILECMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 -$as_echo "$ac_ct_FILECMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_FILECMD" = x; then - FILECMD=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FILECMD=$ac_ct_FILECMD - fi -else - FILECMD="$ac_cv_prog_FILECMD" -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='$FILECMD -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly* | midnightbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=$FILECMD - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - 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]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - 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]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - - - - - - -# Use ARFLAGS variable as AR's operation code to sync the variable naming with -# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -# higher priority because thats what people were doing historically (setting -# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -# variable obsoleted/removed. - -test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} -lt_ar_flags=$AR_FLAGS - - - - - - -# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -# by AR_FLAGS because that was never working and AR_FLAGS is about to die. - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++ or ICC, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -@%:@ Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -@%:@ Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `$FILECMD conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 - $AR $AR_FLAGS libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) - case $MACOSX_DEPLOYMENT_TARGET,$host in - 10.[012],*|,*powerpc*-darwin[5-8]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - *) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options -enable_dlopen=yes -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - - @%:@ Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - @%:@ Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -@%:@ Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - @%:@ Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -@%:@ Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -@%:@define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC and -# ICC, which need '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$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)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - file_list_spec='@' - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$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' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$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' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$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' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$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)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="$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" - module_expsym_cmds="$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" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$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' - else - archive_cmds='$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' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$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' - fi - else - archive_cmds='$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' - archive_expsym_cmds='$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' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - file_list_spec='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$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' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$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' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$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' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$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' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -z "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -else - if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - case $host_os in - darwin*) - # FIXME - insert some real tests, host_os isn't really good enough - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ;; - freebsd*) - if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac - fi -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 -$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } -if ${libltdl_cv_shlibext+:} false; then : - $as_echo_n "(cached) " >&6 -else - -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_shlibext" >&5 -$as_echo "$libltdl_cv_shlibext" >&6; } -if test -n "$libltdl_cv_shlibext"; then - -cat >>confdefs.h <<_ACEOF -@%:@define LT_MODULE_EXT "$libltdl_cv_shlibext" -_ACEOF - -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - -cat >>confdefs.h <<_ACEOF -@%:@define LT_SHARED_EXT "$libltdl_cv_shrext" -_ACEOF - -fi -if test -n "$shared_archive_member_spec"; then - -cat >>confdefs.h <<_ACEOF -@%:@define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 -$as_echo_n "checking what variable specifies run-time module search path... " >&6; } -if ${lt_cv_module_path_var+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_module_path_var=$shlibpath_var -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 -$as_echo "$lt_cv_module_path_var" >&6; } -if test -n "$lt_cv_module_path_var"; then - -cat >>confdefs.h <<_ACEOF -@%:@define LT_MODULE_PATH_VAR "$lt_cv_module_path_var" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the default library search path" >&5 -$as_echo_n "checking for the default library search path... " >&6; } -if ${lt_cv_sys_dlsearch_path+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 -$as_echo "$lt_cv_sys_dlsearch_path" >&6; } -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path=$dir - else - sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir - fi - done - -cat >>confdefs.h <<_ACEOF -@%:@define LT_DLSEARCH_PATH "$sys_dlsearch_path" -_ACEOF - -fi - - -LT_DLLOADERS= - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -lt_dlload_save_LIBS=$LIBS - -LIBADD_DLOPEN= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 -$as_echo_n "checking for library containing dlopen... " >&6; } -if ${ac_cv_search_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_dlopen=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_dlopen+:} false; then : - break -fi -done -if ${ac_cv_search_dlopen+:} false; then : - -else - ac_cv_search_dlopen=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 -$as_echo "$ac_cv_search_dlopen" >&6; } -ac_res=$ac_cv_search_dlopen -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h - - if test "$ac_cv_search_dlopen" != "none required"; then - LIBADD_DLOPEN=-ldl - fi - libltdl_cv_lib_dl_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_DLFCN_H -# include -#endif - -int -main () -{ -dlopen(0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h - - libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - -$as_echo "@%:@define HAVE_LIBDL 1" >>confdefs.h - - LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" -then - lt_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - for ac_func in dlerror -do : - ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" -if test "x$ac_cv_func_dlerror" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DLERROR 1 -_ACEOF - -fi -done - - LIBS=$lt_save_LIBS -fi - - -LIBADD_SHL_LOAD= -ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - -$as_echo "@%:@define HAVE_SHL_LOAD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - -$as_echo "@%:@define HAVE_SHL_LOAD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD=-ldld -fi - -fi - - - -case $host_os in -darwin[1567].*) -# We only want this for pre-Mac OS X 10.4. - ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" -if test "x$ac_cv_func__dyld_func_lookup" = xyes; then : - -$as_echo "@%:@define HAVE_DYLD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" -fi - - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | pw32*) - ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include -" -if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl -_ACEOF - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - -$as_echo "@%:@define HAVE_DLD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" -fi - - - - -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - -$as_echo "@%:@define HAVE_LIBDLLOADER 1" >>confdefs.h - -fi - - -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" - - -LIBS=$lt_dlload_save_LIBS -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5 -$as_echo_n "checking for _ prefix in compiled symbols... " >&6; } -if ${lt_cv_sys_symbol_underscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&5 - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "configure: failed program was:" >&5 - cat conftest.c >&5 - fi - rm -rf conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5 -$as_echo "$lt_cv_sys_symbol_underscore" >&6; } - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - - -if test yes = "$lt_cv_sys_symbol_underscore"; then - if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 -$as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } -if ${libltdl_cv_need_uscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - libltdl_cv_need_uscore=unknown - dlsym_uscore_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - libname=conftmod # stay within 8.3 filename limits! - cat >$libname.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; } -_LT_EOF - - # ltfn_module_cmds module_cmds - # Execute tilde-delimited MODULE_CMDS with environment primed for - # $module_cmds or $archive_cmds type content. - ltfn_module_cmds () - {( # subshell avoids polluting parent global environment - module_cmds_save_ifs=$IFS; IFS='~' - for cmd in @S|@1; do - IFS=$module_cmds_save_ifs - libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext - rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. - major=; versuffix=; verstring=; deplibs= - ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= - eval $cmd - done - IFS=$module_cmds_save_ifs - )} - - # Compile a loadable module using libtool macro expansion results. - $CC $pic_flag -c $libname.$ac_ext - ltfn_module_cmds "${module_cmds:-$archive_cmds}" - - # Try to fetch fnord with dlsym(). - libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 - cat >conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifndef RTLD_GLOBAL -# ifdef DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# else -# define RTLD_GLOBAL 0 -# endif -#endif -#ifndef RTLD_NOW -# ifdef DL_NOW -# define RTLD_NOW DL_NOW -# else -# define RTLD_NOW 0 -# endif -#endif -int main () { - void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); - int status = $libltdl_dlunknown; - if (handle) { - if (dlsym (handle, "fnord")) - status = $libltdl_dlnouscore; - else { - if (dlsym (handle, "_fnord")) - status = $libltdl_dluscore; - else - puts (dlerror ()); - } - dlclose (handle); - } else - puts (dlerror ()); - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - libltdl_status=$? - case x$libltdl_status in - x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; - x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; - x*) libltdl_cv_need_uscore=unknown ;; - esac - fi - rm -rf conftest* $libname* - LIBS=$dlsym_uscore_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 -$as_echo "$libltdl_cv_need_uscore" >&6; } - fi -fi - -if test yes = "$libltdl_cv_need_uscore"; then - -$as_echo "@%:@define NEED_USCORE 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether deplibs are loaded by dlopen" >&5 -$as_echo_n "checking whether deplibs are loaded by dlopen... " >&6; } -if ${lt_cv_sys_dlopen_deplibs+:} false; then : - $as_echo_n "(cached) " >&6 -else - # PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this 'case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[4-9]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly* | midnightbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[12345]*|irix6.[01]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[1234]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say 'no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to 'yes'. Without it, it would be 'no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say 'yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 -$as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } -if test yes != "$lt_cv_sys_dlopen_deplibs"; then - -$as_echo "@%:@define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h - -fi - - -for ac_header in argz.h -do : - ac_fn_c_check_header_compile "$LINENO" "argz.h" "ac_cv_header_argz_h" "$ac_includes_default -" -if test "x$ac_cv_header_argz_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -@%:@define HAVE_ARGZ_H 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if defined(HAVE_ARGZ_H) -# include -#endif -" -if test "x$ac_cv_type_error_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -@%:@define HAVE_ERROR_T 1 -_ACEOF - - -else - -$as_echo "@%:@define error_t int" >>confdefs.h - - -$as_echo "@%:@define __error_t_defined 1" >>confdefs.h - -fi - - -LT_ARGZ_H= -for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - LT_ARGZ_H=lt__argz.h; case " $LIB@&t@OBJS " in - *" lt__argz.$ac_objext "* ) ;; - *) LIB@&t@OBJS="$LIB@&t@OBJS lt__argz.$ac_objext" - ;; -esac - -fi -done - - -if test -z "$LT_ARGZ_H"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 -$as_echo_n "checking if argz actually works... " >&6; } -if ${lt_cv_sys_argz_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test no != "$cross_compiling"; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test 1 -lt "$lt_os_major" \ - || { test 1 -eq "$lt_os_major" \ - && { test 5 -lt "$lt_os_minor" \ - || { test 5 -eq "$lt_os_minor" \ - && test 24 -lt "$lt_os_micro"; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 -$as_echo "$lt_cv_sys_argz_works" >&6; } - if test yes = "$lt_cv_sys_argz_works"; then : - -$as_echo "@%:@define HAVE_WORKING_ARGZ 1" >>confdefs.h - -else - LT_ARGZ_H=lt__argz.h - case " $LIB@&t@OBJS " in - *" lt__argz.$ac_objext "* ) ;; - *) LIB@&t@OBJS="$LIB@&t@OBJS lt__argz.$ac_objext" - ;; -esac - -fi -fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libtool supports -dlopen/-dlpreopen" >&5 -$as_echo_n "checking whether libtool supports -dlopen/-dlpreopen... " >&6; } -if ${libltdl_cv_preloaded_symbols+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$lt_cv_sys_global_symbol_pipe"; then - libltdl_cv_preloaded_symbols=yes - else - libltdl_cv_preloaded_symbols=no - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 -$as_echo "$libltdl_cv_preloaded_symbols" >&6; } -if test yes = "$libltdl_cv_preloaded_symbols"; then - -$as_echo "@%:@define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h - -fi - - - -@%:@ Check whether --enable-ltdl-install was given. -if test "${enable_ltdl_install+set}" = set; then : - enableval=$enable_ltdl_install; -fi - - -case ,$enable_ltdl_install,$enable_ltdl_convenience in - *yes*) ;; - *) enable_ltdl_convenience=yes ;; -esac - - if test no != "${enable_ltdl_install-no}"; then - INSTALL_LTDL_TRUE= - INSTALL_LTDL_FALSE='#' -else - INSTALL_LTDL_TRUE='#' - INSTALL_LTDL_FALSE= -fi - - if test no != "${enable_ltdl_convenience-no}"; then - CONVENIENCE_LTDL_TRUE= - CONVENIENCE_LTDL_FALSE='#' -else - CONVENIENCE_LTDL_TRUE='#' - CONVENIENCE_LTDL_FALSE= -fi - - - - - - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). - - - -for ac_header in unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_func in closedir opendir readdir -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIB@&t@OBJS " in - *" lt__dirent.$ac_objext "* ) ;; - *) LIB@&t@OBJS="$LIB@&t@OBJS lt__dirent.$ac_objext" - ;; -esac - -fi -done - -for ac_func in strlcat strlcpy -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIB@&t@OBJS " in - *" lt__strl.$ac_objext "* ) ;; - *) LIB@&t@OBJS="$LIB@&t@OBJS lt__strl.$ac_objext" - ;; -esac - -fi -done - - - -cat >>confdefs.h <<_ACEOF -@%:@define LT_LIBEXT "$libext" -_ACEOF - - -name= -eval "lt_libprefix=\"$libname_spec\"" - -cat >>confdefs.h <<_ACEOF -@%:@define LT_LIBPREFIX "$lt_libprefix" -_ACEOF - - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" - - - -# Enable all the language support we can -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - - - - -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf - - if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@ifdef __STDC__ -@%:@ include -@%:@else -@%:@ include -@%:@endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - _lt_caught_CXX_error=yes -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - - -@%:@ Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$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' - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_CXX=no - hardcode_direct_absolute_CXX=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_CXX='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - no_undefined_flag_CXX='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' $wl-bernotok' - allow_undefined_flag_CXX=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl* | ,icl* | no,icl*) - # Native MSVC or ICC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='$wl--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$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' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $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' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_CXX="$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" - module_expsym_cmds_CXX="$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" - if test yes != "$lt_cv_apple_cc_single_mod"; then - archive_cmds_CXX="\$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" - archive_expsym_cmds_CXX="$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" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - os2*) - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_minus_L_CXX=yes - allow_undefined_flag_CXX=unsupported - shrext_cmds=.dll - archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_CXX=yes - file_list_spec_CXX='@' - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly* | midnightbsd*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='$wl-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$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' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes = "$GXX"; then - archive_cmds_CXX='$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' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='$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' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$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' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - archive_cmds_CXX='$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' - else - archive_cmds_CXX='$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' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='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' - archive_expsym_cmds_CXX='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' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $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' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$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' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$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' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='$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' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='$wl-E' - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='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' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - archive_cmds_CXX='$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' - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$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' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $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~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - archive_cmds_CXX='$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' - ;; - *) - archive_cmds_CXX='$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' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - no_undefined_flag_CXX=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='$wl-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='$wl-z,text' - allow_undefined_flag_CXX='$wl-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test no = "$ld_shlibs_CXX" && can_build_shared=no - - GCC_CXX=$GXX - LD_CXX=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX=$prev$p - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX=$prev$p - else - postdeps_CXX="${postdeps_CXX} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX=$p - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX=$p - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - - - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - lt_prog_compiler_pic_CXX='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_CXX='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly* | midnightbsd*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$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' - else - export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - ;; - pw32*) - export_symbols_cmds_CXX=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl* | icl*) - exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test no = "$ld_shlibs_CXX" && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_CXX='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test yes = "$hardcode_automatic_CXX"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_CXX" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && - test no != "$hardcode_minus_L_CXX"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test relink = "$hardcode_action_CXX" || - test yes = "$inherit_rpath_CXX"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 -$as_echo "$F77" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_F77="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 -$as_echo "$ac_ct_F77" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - F77=$ac_ct_F77 - fi -fi - - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 -$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } -if ${ac_cv_f77_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 -$as_echo "$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 -$as_echo_n "checking whether $F77 accepts -g... " >&6; } -if ${ac_cv_prog_f77_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - FFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : - ac_cv_prog_f77_g=yes -else - ac_cv_prog_f77_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 -$as_echo "$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - G77=yes -else - G77= -fi -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - - ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - -if test -z "$F77" || test no = "$F77"; then - _lt_disable_F77=yes -fi - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_direct_absolute_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -inherit_rpath_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -reload_flag_F77=$reload_flag -reload_cmds_F77=$reload_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_F77"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - compiler_F77=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - GCC=$G77 - if test -n "$compiler"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - GCC_F77=$G77 - LD_F77=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - lt_prog_compiler_pic_F77='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_F77='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_F77='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_F77= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_F77='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_F77='-Xlinker ' - if test -n "$lt_prog_compiler_pic_F77"; then - lt_prog_compiler_pic_F77="-Xcompiler $lt_prog_compiler_pic_F77" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_F77='-Wl,-Wl,,' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_F77='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='--shared' - lt_prog_compiler_static_F77='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_F77='-Wl,-Wl,,' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-qpic' - lt_prog_compiler_static_F77='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_F77='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_F77='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77@&t@" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_F77=$lt_prog_compiler_pic_F77 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_F77" >&5 -$as_echo "$lt_cv_prog_compiler_pic_F77" >&6; } -lt_prog_compiler_pic_F77=$lt_cv_prog_compiler_pic_F77 - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77@&t@" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_F77=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_F77"; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_F77=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_F77=yes - fi - else - lt_cv_prog_compiler_static_works_F77=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_F77"; then - : -else - lt_prog_compiler_static_F77= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_F77" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_F77= - always_export_symbols_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - compiler_needs_object_F77=no - enable_shared_with_static_runtimes_F77=no - export_dynamic_flag_spec_F77= - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_F77=no - hardcode_direct_F77=no - hardcode_direct_absolute_F77=no - hardcode_libdir_flag_spec_F77= - hardcode_libdir_separator_F77= - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - inherit_rpath_F77=no - link_all_deplibs_F77=unknown - module_cmds_F77= - module_expsym_cmds_F77= - old_archive_from_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - thread_safe_flag_spec_F77= - whole_archive_flag_spec_F77= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_F77=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_F77='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='' - ;; - m68k) - archive_cmds_F77='$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)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - export_dynamic_flag_spec_F77='$wl--export-all-symbols' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_F77='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_F77=no - fi - ;; - - haiku*) - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_F77=yes - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - shrext_cmds=.dll - archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_F77=yes - file_list_spec_F77='@' - ;; - - interix[3-9]*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - export_dynamic_flag_spec_F77='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_F77= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_F77='$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' - compiler_needs_object_F77=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_F77='$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' - compiler_needs_object_F77=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_F77='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_F77='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_F77=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - - if test no = "$ld_shlibs_F77"; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_F77='$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' - else - export_symbols_cmds_F77='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - file_list_spec_F77='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_F77=no - hardcode_direct_absolute_F77=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_F77='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__F77 -fi - - hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_F77='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__F77 -fi - - hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' $wl-bernotok' - allow_undefined_flag_F77=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_F77='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - fi - archive_cmds_need_lc_F77=yes - archive_expsym_cmds_F77='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='' - ;; - m68k) - archive_cmds_F77='$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)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - file_list_spec_F77='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, F77)='true' - enable_shared_with_static_runtimes_F77=yes - exclude_expsyms_F77='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_F77='chmod 644 $oldlib' - postlink_cmds_F77='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_F77=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_F77='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - compiler_needs_object_F77=yes - else - whole_archive_flag_spec_F77='' - fi - link_all_deplibs_F77=yes - allow_undefined_flag_F77=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_F77="$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" - module_expsym_cmds_F77="$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" - - else - ld_shlibs_F77=no - fi - - ;; - - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_F77='$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' - else - archive_cmds_F77='$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' - fi - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_F77='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat > conftest.$ac_ext <<_ACEOF - - subroutine foo - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_F77='$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' - fi - else - archive_cmds_F77='$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' - archive_expsym_cmds_F77='$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' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - inherit_rpath_F77=yes - link_all_deplibs_F77=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_F77=yes - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - hardcode_direct_absolute_F77=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - export_dynamic_flag_spec_F77='$wl-E' - else - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - fi - else - ld_shlibs_F77=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - shrext_cmds=.dll - archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_F77=yes - file_list_spec_F77='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' - archive_cmds_F77='$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' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$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' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' - archive_cmds_F77='$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' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$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' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_separator_F77=: - ;; - - solaris*) - no_undefined_flag_F77=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_F77='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_F77='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_F77='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_F77='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_F77=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_F77='$wl-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='$wl-z,text' - allow_undefined_flag_F77='$wl-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='$wl-R,$libdir' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - *) - ld_shlibs_F77=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_F77='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5 -$as_echo "$ld_shlibs_F77" >&6; } -test no = "$ld_shlibs_F77" && can_build_shared=no - -with_gnu_ld_F77=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_F77=no - else - lt_cv_archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_F77" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_F77" >&6; } - archive_cmds_need_lc_F77=$lt_cv_archive_cmds_need_lc_F77 - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_F77='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_F77\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_F77\"" - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || - test -n "$runpath_var_F77" || - test yes = "$hardcode_automatic_F77"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_F77" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, F77)" && - test no != "$hardcode_minus_L_F77"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5 -$as_echo "$hardcode_action_F77" >&6; } - -if test relink = "$hardcode_action_F77" || - test yes = "$inherit_rpath_F77"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_F77" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$FC"; then - ac_cv_prog_FC="$FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_FC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FC=$ac_cv_prog_FC -if test -n "$FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 -$as_echo "$FC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$FC" && break - done -fi -if test -z "$FC"; then - ac_ct_FC=$FC - for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_FC"; then - ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FC=$ac_cv_prog_ac_ct_FC -if test -n "$ac_ct_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 -$as_echo "$ac_ct_FC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_FC" && break -done - - if test "x$ac_ct_FC" = x; then - FC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FC=$ac_ct_FC - fi -fi - - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 -$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } -if ${ac_cv_fc_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_fc_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 -$as_echo "$ac_cv_fc_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FCFLAGS=${FCFLAGS+set} -ac_save_FCFLAGS=$FCFLAGS -FCFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 -$as_echo_n "checking whether $FC accepts -g... " >&6; } -if ${ac_cv_prog_fc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - FCFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_cv_prog_fc_g=yes -else - ac_cv_prog_fc_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 -$as_echo "$ac_cv_prog_fc_g" >&6; } -if test "$ac_test_FCFLAGS" = set; then - FCFLAGS=$ac_save_FCFLAGS -elif test $ac_cv_prog_fc_g = yes; then - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-g -O2" - else - FCFLAGS="-g" - fi -else - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-O2" - else - FCFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - GFC=yes -else - GFC= -fi -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - -if test -z "$FC" || test no = "$FC"; then - _lt_disable_FC=yes -fi - -archive_cmds_need_lc_FC=no -allow_undefined_flag_FC= -always_export_symbols_FC=no -archive_expsym_cmds_FC= -export_dynamic_flag_spec_FC= -hardcode_direct_FC=no -hardcode_direct_absolute_FC=no -hardcode_libdir_flag_spec_FC= -hardcode_libdir_separator_FC= -hardcode_minus_L_FC=no -hardcode_automatic_FC=no -inherit_rpath_FC=no -module_cmds_FC= -module_expsym_cmds_FC= -link_all_deplibs_FC=unknown -old_archive_cmds_FC=$old_archive_cmds -reload_flag_FC=$reload_flag -reload_cmds_FC=$reload_cmds -no_undefined_flag_FC= -whole_archive_flag_spec_FC= -enable_shared_with_static_runtimes_FC=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -objext_FC=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_FC"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - compiler_FC=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - GCC_FC=$ac_cv_fc_compiler_gnu - LD_FC=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_FC= -postdep_objects_FC= -predeps_FC= -postdeps_FC= -compiler_lib_search_path_FC= - -cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_FC"; then - compiler_lib_search_path_FC=$prev$p - else - compiler_lib_search_path_FC="${compiler_lib_search_path_FC} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_FC"; then - postdeps_FC=$prev$p - else - postdeps_FC="${postdeps_FC} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_FC"; then - predep_objects_FC=$p - else - predep_objects_FC="$predep_objects_FC $p" - fi - else - if test -z "$postdep_objects_FC"; then - postdep_objects_FC=$p - else - postdep_objects_FC="$postdep_objects_FC $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling FC test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken - - -case " $postdeps_FC " in -*" -lc "*) archive_cmds_need_lc_FC=no ;; -esac - compiler_lib_search_dirs_FC= -if test -n "${compiler_lib_search_path_FC}"; then - compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - lt_prog_compiler_wl_FC= -lt_prog_compiler_pic_FC= -lt_prog_compiler_static_FC= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_static_FC='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_FC='-Bstatic' - fi - lt_prog_compiler_pic_FC='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_FC='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_FC='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_FC='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_FC='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_FC= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_FC='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_FC=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_FC='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_FC=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_FC='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_FC='-Xlinker ' - if test -n "$lt_prog_compiler_pic_FC"; then - lt_prog_compiler_pic_FC="-Xcompiler $lt_prog_compiler_pic_FC" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_FC='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_FC='-Bstatic' - else - lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_FC='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_FC='-Wl,-Wl,,' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_FC='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_FC='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_FC='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_FC='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_FC='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_FC='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_FC='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='--shared' - lt_prog_compiler_static_FC='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_FC='-Wl,-Wl,,' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fpic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_FC='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_FC='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-qpic' - lt_prog_compiler_static_FC='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fpic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_FC='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_FC='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_FC='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_FC='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_FC='-Qoption ld ';; - *) - lt_prog_compiler_wl_FC='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_FC='-Qoption ld ' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_FC='-Kconform_pic' - lt_prog_compiler_static_FC='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_can_build_shared_FC=no - ;; - - uts4*) - lt_prog_compiler_pic_FC='-pic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_FC=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_FC= - ;; - *) - lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC@&t@" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 -$as_echo "$lt_cv_prog_compiler_pic_FC" >&6; } -lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_FC=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_FC@&t@" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_FC=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_FC" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then - case $lt_prog_compiler_pic_FC in - "" | " "*) ;; - *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;; - esac -else - lt_prog_compiler_pic_FC= - lt_prog_compiler_can_build_shared_FC=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_FC=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_FC=yes - fi - else - lt_cv_prog_compiler_static_works_FC=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_FC" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_FC"; then - : -else - lt_prog_compiler_static_FC= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_FC=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_FC=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_FC=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_FC=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_FC= - always_export_symbols_FC=no - archive_cmds_FC= - archive_expsym_cmds_FC= - compiler_needs_object_FC=no - enable_shared_with_static_runtimes_FC=no - export_dynamic_flag_spec_FC= - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_FC=no - hardcode_direct_FC=no - hardcode_direct_absolute_FC=no - hardcode_libdir_flag_spec_FC= - hardcode_libdir_separator_FC= - hardcode_minus_L_FC=no - hardcode_shlibpath_var_FC=unsupported - inherit_rpath_FC=no - link_all_deplibs_FC=unknown - module_cmds_FC= - module_expsym_cmds_FC= - old_archive_from_new_cmds_FC= - old_archive_from_expsyms_cmds_FC= - thread_safe_flag_spec_FC= - whole_archive_flag_spec_FC= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_FC= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_FC=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_FC='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_FC=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_FC= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='' - ;; - m68k) - archive_cmds_FC='$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)' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_FC=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_FC=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_FC='-L$libdir' - export_dynamic_flag_spec_FC='$wl--export-all-symbols' - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=no - enable_shared_with_static_runtimes_FC=yes - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_FC='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_FC=no - fi - ;; - - haiku*) - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_FC=yes - ;; - - os2*) - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - allow_undefined_flag_FC=unsupported - shrext_cmds=.dll - archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_FC=yes - file_list_spec_FC='@' - ;; - - interix[3-9]*) - hardcode_direct_FC=no - hardcode_shlibpath_var_FC=no - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - export_dynamic_flag_spec_FC='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_FC='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_FC='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_FC='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_FC= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_FC='$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' - compiler_needs_object_FC=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_FC='$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' - compiler_needs_object_FC=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_FC='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - archive_cmds_FC='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_FC=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - esac - - if test no = "$ld_shlibs_FC"; then - runpath_var= - hardcode_libdir_flag_spec_FC= - export_dynamic_flag_spec_FC= - whole_archive_flag_spec_FC= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=yes - archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_FC=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_FC=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_FC='$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' - else - export_symbols_cmds_FC='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_FC='' - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - hardcode_libdir_separator_FC=':' - link_all_deplibs_FC=yes - file_list_spec_FC='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_FC=no - hardcode_direct_absolute_FC=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_FC=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_FC=yes - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_libdir_separator_FC= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_FC='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_FC=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_FC='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__FC -fi - - hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_FC='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_FC='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_FC="-z nodefs" - archive_expsym_cmds_FC="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__FC -fi - - hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_FC=' $wl-bernotok' - allow_undefined_flag_FC=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_FC='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_FC='$convenience' - fi - archive_cmds_need_lc_FC=yes - archive_expsym_cmds_FC='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='' - ;; - m68k) - archive_cmds_FC='$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)' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_FC=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_FC=' ' - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=yes - file_list_spec_FC='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_FC='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, FC)='true' - enable_shared_with_static_runtimes_FC=yes - exclude_expsyms_FC='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_FC='chmod 644 $oldlib' - postlink_cmds_FC='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_FC=' ' - allow_undefined_flag_FC=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_FC='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_FC=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_FC=no - hardcode_direct_FC=no - hardcode_automatic_FC=yes - hardcode_shlibpath_var_FC=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_FC='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - compiler_needs_object_FC=yes - else - whole_archive_flag_spec_FC='' - fi - link_all_deplibs_FC=yes - allow_undefined_flag_FC=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_FC="$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" - module_expsym_cmds_FC="$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" - - else - ld_shlibs_FC=no - fi - - ;; - - dgux*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_shlibpath_var_FC=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes - hardcode_minus_L_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_FC='$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' - else - archive_cmds_FC='$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' - fi - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_direct_FC=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_FC='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_FC='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_FC=no - hardcode_shlibpath_var_FC=no - ;; - *) - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_FC='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat > conftest.$ac_ext <<_ACEOF - - subroutine foo - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_FC='$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' - fi - else - archive_cmds_FC='$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' - archive_expsym_cmds_FC='$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' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - inherit_rpath_FC=yes - link_all_deplibs_FC=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_FC=yes - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - newsos6) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_shlibpath_var_FC=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - hardcode_direct_absolute_FC=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - export_dynamic_flag_spec_FC='$wl-E' - else - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - fi - else - ld_shlibs_FC=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - allow_undefined_flag_FC=unsupported - shrext_cmds=.dll - archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_FC=yes - file_list_spec_FC='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' - archive_cmds_FC='$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' - else - allow_undefined_flag_FC=' -expect_unresolved \*' - archive_cmds_FC='$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' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' - archive_cmds_FC='$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' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - else - allow_undefined_flag_FC=' -expect_unresolved \*' - archive_cmds_FC='$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' - archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_FC='-rpath $libdir' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_separator_FC=: - ;; - - solaris*) - no_undefined_flag_FC=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_FC='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_FC='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_FC='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_shlibpath_var_FC=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_FC='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_FC=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_FC='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_direct_FC=yes - hardcode_minus_L_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_FC='$CC -r -o $output$reload_objs' - hardcode_direct_FC=no - ;; - motorola) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_FC=no - ;; - - sysv4.3*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_FC=no - export_dynamic_flag_spec_FC='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_FC=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_FC=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_FC='$wl-z,text' - archive_cmds_need_lc_FC=no - hardcode_shlibpath_var_FC=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_FC='$wl-z,text' - allow_undefined_flag_FC='$wl-z,nodefs' - archive_cmds_need_lc_FC=no - hardcode_shlibpath_var_FC=no - hardcode_libdir_flag_spec_FC='$wl-R,$libdir' - hardcode_libdir_separator_FC=':' - link_all_deplibs_FC=yes - export_dynamic_flag_spec_FC='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_shlibpath_var_FC=no - ;; - - *) - ld_shlibs_FC=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_FC='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 -$as_echo "$ld_shlibs_FC" >&6; } -test no = "$ld_shlibs_FC" && can_build_shared=no - -with_gnu_ld_FC=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_FC" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_FC=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_FC in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_FC - pic_flag=$lt_prog_compiler_pic_FC - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_FC - allow_undefined_flag_FC= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_FC=no - else - lt_cv_archive_cmds_need_lc_FC=yes - fi - allow_undefined_flag_FC=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_FC" >&6; } - archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_FC='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\"" - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_FC= -if test -n "$hardcode_libdir_flag_spec_FC" || - test -n "$runpath_var_FC" || - test yes = "$hardcode_automatic_FC"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_FC" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" && - test no != "$hardcode_minus_L_FC"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_FC=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_FC=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_FC=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 -$as_echo "$hardcode_action_FC" >&6; } - -if test relink = "$hardcode_action_FC" || - test yes = "$inherit_rpath_FC"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_FC" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gccgo", so it can be a program name with args. -set dummy ${ac_tool_prefix}gccgo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GOC"; then - ac_cv_prog_GOC="$GOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GOC="${ac_tool_prefix}gccgo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GOC=$ac_cv_prog_GOC -if test -n "$GOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC" >&5 -$as_echo "$GOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GOC"; then - ac_ct_GOC=$GOC - # Extract the first word of "gccgo", so it can be a program name with args. -set dummy gccgo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GOC"; then - ac_cv_prog_ac_ct_GOC="$ac_ct_GOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GOC="gccgo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GOC=$ac_cv_prog_ac_ct_GOC -if test -n "$ac_ct_GOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GOC" >&5 -$as_echo "$ac_ct_GOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GOC" = x; then - GOC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GOC=$ac_ct_GOC - fi -else - GOC="$ac_cv_prog_GOC" -fi - - - - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -objext_GO=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -compiler_GO=$CC -LD_GO=$LD -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Go did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GO=no - -old_archive_cmds_GO=$old_archive_cmds -reload_flag_GO=$reload_flag -reload_cmds_GO=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag_GO= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag_GO=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag_GO=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag_GO="$lt_prog_compiler_no_builtin_flag_GO -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - lt_prog_compiler_wl_GO= -lt_prog_compiler_pic_GO= -lt_prog_compiler_static_GO= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_static_GO='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GO='-Bstatic' - fi - lt_prog_compiler_pic_GO='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_GO='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_GO='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_GO='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_GO='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GO='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_GO= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GO='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GO=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GO='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GO=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_GO='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_GO='-Xlinker ' - if test -n "$lt_prog_compiler_pic_GO"; then - lt_prog_compiler_pic_GO="-Xcompiler $lt_prog_compiler_pic_GO" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GO='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GO='-Bstatic' - else - lt_prog_compiler_static_GO='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GO='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GO='-Wl,-Wl,,' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GO='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_GO='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GO='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GO='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GO='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GO='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GO='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='--shared' - lt_prog_compiler_static_GO='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GO='-Wl,-Wl,,' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fpic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GO='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GO='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-qpic' - lt_prog_compiler_static_GO='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fpic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GO='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GO='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GO='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GO='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_GO='-Qoption ld ';; - *) - lt_prog_compiler_wl_GO='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GO='-Qoption ld ' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GO='-Kconform_pic' - lt_prog_compiler_static_GO='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_can_build_shared_GO=no - ;; - - uts4*) - lt_prog_compiler_pic_GO='-pic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GO=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GO= - ;; - *) - lt_prog_compiler_pic_GO="$lt_prog_compiler_pic_GO@&t@" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_GO=$lt_prog_compiler_pic_GO -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GO" >&5 -$as_echo "$lt_cv_prog_compiler_pic_GO" >&6; } -lt_prog_compiler_pic_GO=$lt_cv_prog_compiler_pic_GO - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GO works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GO works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_GO=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GO@&t@" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_GO=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GO" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_GO" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_GO"; then - case $lt_prog_compiler_pic_GO in - "" | " "*) ;; - *) lt_prog_compiler_pic_GO=" $lt_prog_compiler_pic_GO" ;; - esac -else - lt_prog_compiler_pic_GO= - lt_prog_compiler_can_build_shared_GO=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GO eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GO\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_GO=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_GO=yes - fi - else - lt_cv_prog_compiler_static_works_GO=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GO" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_GO" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_GO"; then - : -else - lt_prog_compiler_static_GO= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GO=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GO=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GO=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GO=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_GO" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_GO= - always_export_symbols_GO=no - archive_cmds_GO= - archive_expsym_cmds_GO= - compiler_needs_object_GO=no - enable_shared_with_static_runtimes_GO=no - export_dynamic_flag_spec_GO= - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_GO=no - hardcode_direct_GO=no - hardcode_direct_absolute_GO=no - hardcode_libdir_flag_spec_GO= - hardcode_libdir_separator_GO= - hardcode_minus_L_GO=no - hardcode_shlibpath_var_GO=unsupported - inherit_rpath_GO=no - link_all_deplibs_GO=unknown - module_cmds_GO= - module_expsym_cmds_GO= - old_archive_from_new_cmds_GO= - old_archive_from_expsyms_cmds_GO= - thread_safe_flag_spec_GO= - whole_archive_flag_spec_GO= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GO= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_GO='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GO=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_GO='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GO=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_GO= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='' - ;; - m68k) - archive_cmds_GO='$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)' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GO=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GO='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_GO=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, GO) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GO='-L$libdir' - export_dynamic_flag_spec_GO='$wl--export-all-symbols' - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=no - enable_shared_with_static_runtimes_GO=yes - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_GO='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GO=no - fi - ;; - - haiku*) - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_GO=yes - ;; - - os2*) - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - allow_undefined_flag_GO=unsupported - shrext_cmds=.dll - archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GO=yes - file_list_spec_GO='@' - ;; - - interix[3-9]*) - hardcode_direct_GO=no - hardcode_shlibpath_var_GO=no - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - export_dynamic_flag_spec_GO='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GO='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GO='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GO='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_GO= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_GO='$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' - compiler_needs_object_GO=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GO='$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' - compiler_needs_object_GO=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_GO='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_GO='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_GO='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - archive_cmds_GO='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_GO=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GO='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GO='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - esac - - if test no = "$ld_shlibs_GO"; then - runpath_var= - hardcode_libdir_flag_spec_GO= - export_dynamic_flag_spec_GO= - whole_archive_flag_spec_GO= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=yes - archive_expsym_cmds_GO='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GO=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GO=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_GO='$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' - else - export_symbols_cmds_GO='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GO='' - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - hardcode_libdir_separator_GO=':' - link_all_deplibs_GO=yes - file_list_spec_GO='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_GO=no - hardcode_direct_absolute_GO=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GO=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GO=yes - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_libdir_separator_GO= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_GO='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GO=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GO='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GO -fi - - hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GO='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_GO='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GO="-z nodefs" - archive_expsym_cmds_GO="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GO -fi - - hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GO=' $wl-bernotok' - allow_undefined_flag_GO=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_GO='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GO='$convenience' - fi - archive_cmds_need_lc_GO=yes - archive_expsym_cmds_GO='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='' - ;; - m68k) - archive_cmds_GO='$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)' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GO=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_GO=' ' - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=yes - file_list_spec_GO='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GO='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, GO)='true' - enable_shared_with_static_runtimes_GO=yes - exclude_expsyms_GO='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_GO='chmod 644 $oldlib' - postlink_cmds_GO='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_GO=' ' - allow_undefined_flag_GO=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GO='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_GO='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GO='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_GO=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_GO=no - hardcode_direct_GO=no - hardcode_automatic_GO=yes - hardcode_shlibpath_var_GO=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_GO='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_GO='' - fi - link_all_deplibs_GO=yes - allow_undefined_flag_GO=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_GO="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_GO="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_GO="$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" - module_expsym_cmds_GO="$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" - - else - ld_shlibs_GO=no - fi - - ;; - - dgux*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_shlibpath_var_GO=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes - hardcode_minus_L_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_GO='$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' - else - archive_cmds_GO='$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' - fi - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_direct_GO=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_GO='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GO='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_GO=no - hardcode_shlibpath_var_GO=no - ;; - *) - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_GO='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_GO='$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' - fi - else - archive_cmds_GO='$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' - archive_expsym_cmds_GO='$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' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - inherit_rpath_GO=yes - link_all_deplibs_GO=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_GO=yes - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GO='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - newsos6) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_shlibpath_var_GO=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - hardcode_direct_absolute_GO=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - export_dynamic_flag_spec_GO='$wl-E' - else - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - fi - else - ld_shlibs_GO=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - allow_undefined_flag_GO=unsupported - shrext_cmds=.dll - archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GO=yes - file_list_spec_GO='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' - archive_cmds_GO='$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' - else - allow_undefined_flag_GO=' -expect_unresolved \*' - archive_cmds_GO='$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' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' - archive_cmds_GO='$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' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - else - allow_undefined_flag_GO=' -expect_unresolved \*' - archive_cmds_GO='$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' - archive_expsym_cmds_GO='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GO='-rpath $libdir' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_separator_GO=: - ;; - - solaris*) - no_undefined_flag_GO=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_GO='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_GO='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_GO='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_shlibpath_var_GO=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_GO='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_GO='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GO=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GO='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_direct_GO=yes - hardcode_minus_L_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GO='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GO='$CC -r -o $output$reload_objs' - hardcode_direct_GO=no - ;; - motorola) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GO=no - ;; - - sysv4.3*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GO=no - export_dynamic_flag_spec_GO='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GO=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GO=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GO='$wl-z,text' - archive_cmds_need_lc_GO=no - hardcode_shlibpath_var_GO=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GO='$wl-z,text' - allow_undefined_flag_GO='$wl-z,nodefs' - archive_cmds_need_lc_GO=no - hardcode_shlibpath_var_GO=no - hardcode_libdir_flag_spec_GO='$wl-R,$libdir' - hardcode_libdir_separator_GO=':' - link_all_deplibs_GO=yes - export_dynamic_flag_spec_GO='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_shlibpath_var_GO=no - ;; - - *) - ld_shlibs_GO=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_GO='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GO" >&5 -$as_echo "$ld_shlibs_GO" >&6; } -test no = "$ld_shlibs_GO" && can_build_shared=no - -with_gnu_ld_GO=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GO" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GO=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_GO in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GO - pic_flag=$lt_prog_compiler_pic_GO - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GO - allow_undefined_flag_GO= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_GO=no - else - lt_cv_archive_cmds_need_lc_GO=yes - fi - allow_undefined_flag_GO=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GO" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_GO" >&6; } - archive_cmds_need_lc_GO=$lt_cv_archive_cmds_need_lc_GO - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_GO= -if test -n "$hardcode_libdir_flag_spec_GO" || - test -n "$runpath_var_GO" || - test yes = "$hardcode_automatic_GO"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_GO" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GO)" && - test no != "$hardcode_minus_L_GO"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GO=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GO=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GO=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GO" >&5 -$as_echo "$hardcode_action_GO" >&6; } - -if test relink = "$hardcode_action_GO" || - test yes = "$inherit_rpath_GO"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcj", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcj; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GCJ"; then - ac_cv_prog_GCJ="$GCJ" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GCJ="${ac_tool_prefix}gcj" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GCJ=$ac_cv_prog_GCJ -if test -n "$GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ" >&5 -$as_echo "$GCJ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GCJ"; then - ac_ct_GCJ=$GCJ - # Extract the first word of "gcj", so it can be a program name with args. -set dummy gcj; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GCJ"; then - ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GCJ="gcj" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ -if test -n "$ac_ct_GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5 -$as_echo "$ac_ct_GCJ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GCJ" = x; then - GCJ="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GCJ=$ac_ct_GCJ - fi -else - GCJ="$ac_cv_prog_GCJ" -fi - - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - - - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -compiler_GCJ=$CC -LD_GCJ=$LD -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no - -old_archive_cmds_GCJ=$old_archive_cmds -reload_flag_GCJ=$reload_flag -reload_cmds_GCJ=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag_GCJ= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag_GCJ=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - - case $host_os in - os2*) - lt_prog_compiler_static_GCJ='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_GCJ= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GCJ='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_GCJ='-Xlinker ' - if test -n "$lt_prog_compiler_pic_GCJ"; then - lt_prog_compiler_pic_GCJ="-Xcompiler $lt_prog_compiler_pic_GCJ" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - - case $host_os in - os2*) - lt_prog_compiler_static_GCJ='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='--shared' - lt_prog_compiler_static_GCJ='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-qpic' - lt_prog_compiler_static_GCJ='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GCJ='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ@&t@" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_GCJ=$lt_prog_compiler_pic_GCJ -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_pic_GCJ" >&6; } -lt_prog_compiler_pic_GCJ=$lt_cv_prog_compiler_pic_GCJ - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ@&t@" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_GCJ=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_GCJ"; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_GCJ=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_GCJ=yes - fi - else - lt_cv_prog_compiler_static_works_GCJ=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_GCJ"; then - : -else - lt_prog_compiler_static_GCJ= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_GCJ" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_GCJ= - always_export_symbols_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - compiler_needs_object_GCJ=no - enable_shared_with_static_runtimes_GCJ=no - export_dynamic_flag_spec_GCJ= - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_GCJ=no - hardcode_direct_GCJ=no - hardcode_direct_absolute_GCJ=no - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - inherit_rpath_GCJ=no - link_all_deplibs_GCJ=unknown - module_cmds_GCJ= - module_expsym_cmds_GCJ= - old_archive_from_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - thread_safe_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_GCJ='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='' - ;; - m68k) - archive_cmds_GCJ='$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)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - export_dynamic_flag_spec_GCJ='$wl--export-all-symbols' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_GCJ='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - haiku*) - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_GCJ=yes - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - shrext_cmds=.dll - archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GCJ=yes - file_list_spec_GCJ='@' - ;; - - interix[3-9]*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - export_dynamic_flag_spec_GCJ='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_GCJ= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_GCJ='$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' - compiler_needs_object_GCJ=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GCJ='$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' - compiler_needs_object_GCJ=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_GCJ='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_GCJ='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_GCJ=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - - if test no = "$ld_shlibs_GCJ"; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$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' - else - export_symbols_cmds_GCJ='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - file_list_spec_GCJ='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_GCJ=no - hardcode_direct_absolute_GCJ=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_GCJ='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GCJ -fi - - hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_GCJ='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GCJ -fi - - hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' $wl-bernotok' - allow_undefined_flag_GCJ=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_GCJ='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - fi - archive_cmds_need_lc_GCJ=yes - archive_expsym_cmds_GCJ='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='' - ;; - m68k) - archive_cmds_GCJ='$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)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - file_list_spec_GCJ='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, GCJ)='true' - enable_shared_with_static_runtimes_GCJ=yes - exclude_expsyms_GCJ='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_GCJ='chmod 644 $oldlib' - postlink_cmds_GCJ='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_GCJ=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_GCJ='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_GCJ='' - fi - link_all_deplibs_GCJ=yes - allow_undefined_flag_GCJ=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_GCJ="$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" - module_expsym_cmds_GCJ="$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" - - else - ld_shlibs_GCJ=no - fi - - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_GCJ='$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' - else - archive_cmds_GCJ='$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' - fi - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_GCJ='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_GCJ='$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' - fi - else - archive_cmds_GCJ='$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' - archive_expsym_cmds_GCJ='$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' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - inherit_rpath_GCJ=yes - link_all_deplibs_GCJ=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_GCJ=yes - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - hardcode_direct_absolute_GCJ=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - export_dynamic_flag_spec_GCJ='$wl-E' - else - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - fi - else - ld_shlibs_GCJ=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - shrext_cmds=.dll - archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GCJ=yes - file_list_spec_GCJ='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' - archive_cmds_GCJ='$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' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$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' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' - archive_cmds_GCJ='$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' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$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' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_separator_GCJ=: - ;; - - solaris*) - no_undefined_flag_GCJ=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_GCJ='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_GCJ='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_GCJ='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_GCJ='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GCJ='$wl-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='$wl-z,text' - allow_undefined_flag_GCJ='$wl-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='$wl-R,$libdir' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - *) - ld_shlibs_GCJ=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_GCJ='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GCJ" >&5 -$as_echo "$ld_shlibs_GCJ" >&6; } -test no = "$ld_shlibs_GCJ" && can_build_shared=no - -with_gnu_ld_GCJ=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_GCJ=no - else - lt_cv_archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GCJ" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_GCJ" >&6; } - archive_cmds_need_lc_GCJ=$lt_cv_archive_cmds_need_lc_GCJ - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || - test -n "$runpath_var_GCJ" || - test yes = "$hardcode_automatic_GCJ"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_GCJ" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GCJ)" && - test no != "$hardcode_minus_L_GCJ"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GCJ" >&5 -$as_echo "$hardcode_action_GCJ" >&6; } - -if test relink = "$hardcode_action_GCJ" || - test yes = "$inherit_rpath_GCJ"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. -set dummy ${ac_tool_prefix}windres; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RC"; then - ac_cv_prog_RC="$RC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RC="${ac_tool_prefix}windres" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RC=$ac_cv_prog_RC -if test -n "$RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 -$as_echo "$RC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RC"; then - ac_ct_RC=$RC - # Extract the first word of "windres", so it can be a program name with args. -set dummy windres; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RC"; then - ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RC="windres" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RC=$ac_cv_prog_ac_ct_RC -if test -n "$ac_ct_RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 -$as_echo "$ac_ct_RC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RC" = x; then - RC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RC=$ac_ct_RC - fi -else - RC="$ac_cv_prog_RC" -fi - - - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code=$lt_simple_compile_test_code - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -compiler_RC=$CC -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - -lt_cv_prog_compiler_c_o_RC=yes - -if test -n "$compiler"; then - : - - - -fi - -GCC=$lt_save_GCC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - - -# Ensure the correct file name (and path) conversion function -# is available to the test suite. - -# Propagate --with-aix-soname option to the testsuite. - -## ---------------------- ## -## Gnulib initialisation. ## -## ---------------------- ## - - - - - - - - - @%:@ Check whether --enable-cross-guesses was given. -if test "${enable_cross_guesses+set}" = set; then : - enableval=$enable_cross_guesses; if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-cross-guesses" >&5 -$as_echo "$as_me: WARNING: invalid argument supplied to --enable-cross-guesses" >&2;} - enableval=conservative - fi - gl_cross_guesses="$enableval" -else - gl_cross_guesses=conservative -fi - - if test $gl_cross_guesses = risky; then - gl_cross_guess_normal="guessing yes" - gl_cross_guess_inverted="guessing no" - else - gl_cross_guess_normal="guessing no" - gl_cross_guess_inverted="guessing yes" - fi - LIBC_FATAL_STDERR_=1 - export LIBC_FATAL_STDERR_ - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5 -$as_echo_n "checking for C compiler option to allow warnings... " >&6; } -if ${gl_cv_cc_wallow+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest* - echo 'int dummy;' > conftest.c - { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cc_wallow='-Wno-error' - else - gl_cv_cc_wallow=none - fi - rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5 -$as_echo "$gl_cv_cc_wallow" >&6; } - case "$gl_cv_cc_wallow" in - none) GL_CFLAG_ALLOW_WARNINGS='' ;; - *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; - esac - - - - if test -n "$CXX" && test "$CXX" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler option to allow warnings" >&5 -$as_echo_n "checking for C++ compiler option to allow warnings... " >&6; } -if ${gl_cv_cxx_wallow+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest* - echo 'int dummy;' > conftest.cc - { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cxx_wallow='-Wno-error' - else - gl_cv_cxx_wallow=none - fi - rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5 -$as_echo "$gl_cv_cxx_wallow" >&6; } - case "$gl_cv_cxx_wallow" in - none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; - *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; - esac - else - GL_CXXFLAG_ALLOW_WARNINGS='' - fi - - - - - GL_CFLAG_GNULIB_WARNINGS='' - if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then - cat > conftest.c <<\EOF - #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-cast-qual - -Wno-conversion - -Wno-float-equal - -Wno-sign-compare - -Wno-undef - -Wno-unused-function - -Wno-unused-parameter - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-float-conversion - #endif - #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wimplicit-fallthrough - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-pedantic - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-sign-conversion - -Wno-type-limits - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 - -Wno-unsuffixed-float-constants - #endif -EOF - gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5 - (eval $gl_command) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - gl_options=`grep -v '#' conftest.out` - for word in $gl_options; do - GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" - done - fi - rm -f conftest.c conftest.out - fi - - - - if true; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi - - gl_cond_libtool=true - gl_m4_base='m4' - - - - - - - - - - - - - gl_source_base='lib' - gl_source_base_prefix= - # Autoconf 2.61a.99 and earlier don't support linking a file only - # in VPATH builds. But since GNUmakefile is for maintainer use - # only, it does not matter if we skip the link with older autoconf. - # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH - # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" - - - - - # End of code from modules - - - - - - - - - - gltests_libdeps= - gltests_ltlibdeps= - - - - - - - - - - - - - - - gl_source_base='gnulib-tests' - gl_source_base_prefix= - GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS - - gl_module_indicator_condition=$GLtests_WITNESS - - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - - - - - - - - - - - - - - -## ------------- ## -## Documentation ## -## ------------- ## - -HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} - - -## -------- ## -## Outputs. ## -## -------- ## -ac_config_files="$ac_config_files Makefile gnulib-tests/Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then - as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then - as_fn_error $? "conditional \"CONVENIENCE_LTDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -LT_CONFIG_H=config.h -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then - as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -CONFIG_INCLUDE=config.h - - - GL_libobjs= - GL_ltlibobjs= - GL_libobjdeps= - if test -n "$GL_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' - for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GL_libobjs="$GL_libobjs $i.$ac_objext" - GL_ltlibobjs="$GL_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - GL_LIBOBJS=$GL_libobjs - - GL_LTLIBOBJS=$GL_ltlibobjs - - GL_LIBOBJDEPS=$GL_libobjdeps - - - - GLtests_libobjs= - GLtests_ltlibobjs= - GLtests_libobjdeps= - if test -n "$GLtests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' - for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" - GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - GLtests_LIBOBJS=$GLtests_libobjs - - GLtests_LTLIBOBJS=$GLtests_ltlibobjs - - GLtests_LIBOBJDEPS=$GLtests_libobjdeps - - - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -@%:@ as_fn_executable_p FILE -@%:@ ----------------------- -@%:@ Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} @%:@ as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by GNU Libtool $as_me 2.4.7, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_links="$ac_config_links" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration links: -$config_links - -Configuration commands: -$config_commands - -Report bugs to . -GNU Libtool home page: . -General help using GNU software: ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -GNU Libtool config.status 2.4.7 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# - -AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' -predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' -predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' -postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' -LD_F77='`$ECHO "$LD_F77" | $SED "$delay_single_quote_subst"`' -LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`' -LD_GO='`$ECHO "$LD_GO" | $SED "$delay_single_quote_subst"`' -LD_GCJ='`$ECHO "$LD_GCJ" | $SED "$delay_single_quote_subst"`' -LD_RC='`$ECHO "$LD_RC" | $SED "$delay_single_quote_subst"`' -reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' -reload_flag_F77='`$ECHO "$reload_flag_F77" | $SED "$delay_single_quote_subst"`' -reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`' -reload_flag_GO='`$ECHO "$reload_flag_GO" | $SED "$delay_single_quote_subst"`' -reload_flag_GCJ='`$ECHO "$reload_flag_GCJ" | $SED "$delay_single_quote_subst"`' -reload_flag_RC='`$ECHO "$reload_flag_RC" | $SED "$delay_single_quote_subst"`' -reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' -reload_cmds_F77='`$ECHO "$reload_cmds_F77" | $SED "$delay_single_quote_subst"`' -reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`' -reload_cmds_GO='`$ECHO "$reload_cmds_GO" | $SED "$delay_single_quote_subst"`' -reload_cmds_GCJ='`$ECHO "$reload_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -reload_cmds_RC='`$ECHO "$reload_cmds_RC" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_F77='`$ECHO "$old_archive_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_GO='`$ECHO "$old_archive_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_GCJ='`$ECHO "$old_archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_RC='`$ECHO "$old_archive_cmds_RC" | $SED "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' -compiler_F77='`$ECHO "$compiler_F77" | $SED "$delay_single_quote_subst"`' -compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`' -compiler_GO='`$ECHO "$compiler_GO" | $SED "$delay_single_quote_subst"`' -compiler_GCJ='`$ECHO "$compiler_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_RC='`$ECHO "$compiler_RC" | $SED "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' -GCC_F77='`$ECHO "$GCC_F77" | $SED "$delay_single_quote_subst"`' -GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`' -GCC_GO='`$ECHO "$GCC_GO" | $SED "$delay_single_quote_subst"`' -GCC_GCJ='`$ECHO "$GCC_GCJ" | $SED "$delay_single_quote_subst"`' -GCC_RC='`$ECHO "$GCC_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_F77='`$ECHO "$lt_prog_compiler_no_builtin_flag_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_GO='`$ECHO "$lt_prog_compiler_no_builtin_flag_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "$lt_prog_compiler_no_builtin_flag_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_RC='`$ECHO "$lt_prog_compiler_no_builtin_flag_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_F77='`$ECHO "$lt_prog_compiler_pic_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_GO='`$ECHO "$lt_prog_compiler_pic_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_GCJ='`$ECHO "$lt_prog_compiler_pic_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_RC='`$ECHO "$lt_prog_compiler_pic_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_F77='`$ECHO "$lt_prog_compiler_wl_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_GO='`$ECHO "$lt_prog_compiler_wl_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_GCJ='`$ECHO "$lt_prog_compiler_wl_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_RC='`$ECHO "$lt_prog_compiler_wl_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_F77='`$ECHO "$lt_prog_compiler_static_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_GO='`$ECHO "$lt_prog_compiler_static_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_GCJ='`$ECHO "$lt_prog_compiler_static_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_RC='`$ECHO "$lt_prog_compiler_static_RC" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_F77='`$ECHO "$lt_cv_prog_compiler_c_o_F77" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_GO='`$ECHO "$lt_cv_prog_compiler_c_o_GO" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_GCJ='`$ECHO "$lt_cv_prog_compiler_c_o_GCJ" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_RC='`$ECHO "$lt_cv_prog_compiler_c_o_RC" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_F77='`$ECHO "$archive_cmds_need_lc_F77" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_GO='`$ECHO "$archive_cmds_need_lc_GO" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_GCJ='`$ECHO "$archive_cmds_need_lc_GCJ" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_RC='`$ECHO "$archive_cmds_need_lc_RC" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_F77='`$ECHO "$enable_shared_with_static_runtimes_F77" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_GO='`$ECHO "$enable_shared_with_static_runtimes_GO" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_GCJ='`$ECHO "$enable_shared_with_static_runtimes_GCJ" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_RC='`$ECHO "$enable_shared_with_static_runtimes_RC" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_F77='`$ECHO "$export_dynamic_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_GO='`$ECHO "$export_dynamic_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_GCJ='`$ECHO "$export_dynamic_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_RC='`$ECHO "$export_dynamic_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_F77='`$ECHO "$whole_archive_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_GO='`$ECHO "$whole_archive_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_GCJ='`$ECHO "$whole_archive_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_RC='`$ECHO "$whole_archive_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_F77='`$ECHO "$compiler_needs_object_F77" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_GO='`$ECHO "$compiler_needs_object_GO" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_GCJ='`$ECHO "$compiler_needs_object_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_RC='`$ECHO "$compiler_needs_object_RC" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_F77='`$ECHO "$old_archive_from_new_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_GO='`$ECHO "$old_archive_from_new_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_GCJ='`$ECHO "$old_archive_from_new_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_RC='`$ECHO "$old_archive_from_new_cmds_RC" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_F77='`$ECHO "$old_archive_from_expsyms_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_GO='`$ECHO "$old_archive_from_expsyms_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_GCJ='`$ECHO "$old_archive_from_expsyms_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_RC='`$ECHO "$old_archive_from_expsyms_cmds_RC" | $SED "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_F77='`$ECHO "$archive_cmds_F77" | $SED "$delay_single_quote_subst"`' -archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`' -archive_cmds_GO='`$ECHO "$archive_cmds_GO" | $SED "$delay_single_quote_subst"`' -archive_cmds_GCJ='`$ECHO "$archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -archive_cmds_RC='`$ECHO "$archive_cmds_RC" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_F77='`$ECHO "$archive_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_GO='`$ECHO "$archive_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_GCJ='`$ECHO "$archive_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_RC='`$ECHO "$archive_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_cmds_F77='`$ECHO "$module_cmds_F77" | $SED "$delay_single_quote_subst"`' -module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`' -module_cmds_GO='`$ECHO "$module_cmds_GO" | $SED "$delay_single_quote_subst"`' -module_cmds_GCJ='`$ECHO "$module_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -module_cmds_RC='`$ECHO "$module_cmds_RC" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_F77='`$ECHO "$module_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_GO='`$ECHO "$module_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_GCJ='`$ECHO "$module_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_RC='`$ECHO "$module_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_F77='`$ECHO "$with_gnu_ld_F77" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_GO='`$ECHO "$with_gnu_ld_GO" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_GCJ='`$ECHO "$with_gnu_ld_GCJ" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_RC='`$ECHO "$with_gnu_ld_RC" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_F77='`$ECHO "$allow_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_GO='`$ECHO "$allow_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_GCJ='`$ECHO "$allow_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_RC='`$ECHO "$allow_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_F77='`$ECHO "$no_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_GO='`$ECHO "$no_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_GCJ='`$ECHO "$no_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_RC='`$ECHO "$no_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_F77='`$ECHO "$hardcode_libdir_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_GO='`$ECHO "$hardcode_libdir_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_GCJ='`$ECHO "$hardcode_libdir_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_RC='`$ECHO "$hardcode_libdir_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_F77='`$ECHO "$hardcode_libdir_separator_F77" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_GO='`$ECHO "$hardcode_libdir_separator_GO" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_GCJ='`$ECHO "$hardcode_libdir_separator_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_RC='`$ECHO "$hardcode_libdir_separator_RC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_F77='`$ECHO "$hardcode_direct_F77" | $SED "$delay_single_quote_subst"`' -hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_GO='`$ECHO "$hardcode_direct_GO" | $SED "$delay_single_quote_subst"`' -hardcode_direct_GCJ='`$ECHO "$hardcode_direct_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_direct_RC='`$ECHO "$hardcode_direct_RC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_F77='`$ECHO "$hardcode_direct_absolute_F77" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_GO='`$ECHO "$hardcode_direct_absolute_GO" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_GCJ='`$ECHO "$hardcode_direct_absolute_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_RC='`$ECHO "$hardcode_direct_absolute_RC" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_F77='`$ECHO "$hardcode_minus_L_F77" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_GO='`$ECHO "$hardcode_minus_L_GO" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_GCJ='`$ECHO "$hardcode_minus_L_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_RC='`$ECHO "$hardcode_minus_L_RC" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_F77='`$ECHO "$hardcode_shlibpath_var_F77" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_GO='`$ECHO "$hardcode_shlibpath_var_GO" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_GCJ='`$ECHO "$hardcode_shlibpath_var_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_RC='`$ECHO "$hardcode_shlibpath_var_RC" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_F77='`$ECHO "$hardcode_automatic_F77" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_GO='`$ECHO "$hardcode_automatic_GO" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_GCJ='`$ECHO "$hardcode_automatic_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_RC='`$ECHO "$hardcode_automatic_RC" | $SED "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' -inherit_rpath_F77='`$ECHO "$inherit_rpath_F77" | $SED "$delay_single_quote_subst"`' -inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`' -inherit_rpath_GO='`$ECHO "$inherit_rpath_GO" | $SED "$delay_single_quote_subst"`' -inherit_rpath_GCJ='`$ECHO "$inherit_rpath_GCJ" | $SED "$delay_single_quote_subst"`' -inherit_rpath_RC='`$ECHO "$inherit_rpath_RC" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_F77='`$ECHO "$link_all_deplibs_F77" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_GO='`$ECHO "$link_all_deplibs_GO" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_GCJ='`$ECHO "$link_all_deplibs_GCJ" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_RC='`$ECHO "$link_all_deplibs_RC" | $SED "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' -always_export_symbols_F77='`$ECHO "$always_export_symbols_F77" | $SED "$delay_single_quote_subst"`' -always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`' -always_export_symbols_GO='`$ECHO "$always_export_symbols_GO" | $SED "$delay_single_quote_subst"`' -always_export_symbols_GCJ='`$ECHO "$always_export_symbols_GCJ" | $SED "$delay_single_quote_subst"`' -always_export_symbols_RC='`$ECHO "$always_export_symbols_RC" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_F77='`$ECHO "$export_symbols_cmds_F77" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_GO='`$ECHO "$export_symbols_cmds_GO" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_GCJ='`$ECHO "$export_symbols_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_RC='`$ECHO "$export_symbols_cmds_RC" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_F77='`$ECHO "$exclude_expsyms_F77" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_GO='`$ECHO "$exclude_expsyms_GO" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_GCJ='`$ECHO "$exclude_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_RC='`$ECHO "$exclude_expsyms_RC" | $SED "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -include_expsyms_F77='`$ECHO "$include_expsyms_F77" | $SED "$delay_single_quote_subst"`' -include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`' -include_expsyms_GO='`$ECHO "$include_expsyms_GO" | $SED "$delay_single_quote_subst"`' -include_expsyms_GCJ='`$ECHO "$include_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' -include_expsyms_RC='`$ECHO "$include_expsyms_RC" | $SED "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -prelink_cmds_F77='`$ECHO "$prelink_cmds_F77" | $SED "$delay_single_quote_subst"`' -prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`' -prelink_cmds_GO='`$ECHO "$prelink_cmds_GO" | $SED "$delay_single_quote_subst"`' -prelink_cmds_GCJ='`$ECHO "$prelink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -prelink_cmds_RC='`$ECHO "$prelink_cmds_RC" | $SED "$delay_single_quote_subst"`' -postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -postlink_cmds_F77='`$ECHO "$postlink_cmds_F77" | $SED "$delay_single_quote_subst"`' -postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`' -postlink_cmds_GO='`$ECHO "$postlink_cmds_GO" | $SED "$delay_single_quote_subst"`' -postlink_cmds_GCJ='`$ECHO "$postlink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -postlink_cmds_RC='`$ECHO "$postlink_cmds_RC" | $SED "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' -file_list_spec_F77='`$ECHO "$file_list_spec_F77" | $SED "$delay_single_quote_subst"`' -file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`' -file_list_spec_GO='`$ECHO "$file_list_spec_GO" | $SED "$delay_single_quote_subst"`' -file_list_spec_GCJ='`$ECHO "$file_list_spec_GCJ" | $SED "$delay_single_quote_subst"`' -file_list_spec_RC='`$ECHO "$file_list_spec_RC" | $SED "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_action_F77='`$ECHO "$hardcode_action_F77" | $SED "$delay_single_quote_subst"`' -hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`' -hardcode_action_GO='`$ECHO "$hardcode_action_GO" | $SED "$delay_single_quote_subst"`' -hardcode_action_GCJ='`$ECHO "$hardcode_action_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_action_RC='`$ECHO "$hardcode_action_RC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_F77='`$ECHO "$compiler_lib_search_dirs_F77" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_GO='`$ECHO "$compiler_lib_search_dirs_GO" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_GCJ='`$ECHO "$compiler_lib_search_dirs_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_RC='`$ECHO "$compiler_lib_search_dirs_RC" | $SED "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' -predep_objects_F77='`$ECHO "$predep_objects_F77" | $SED "$delay_single_quote_subst"`' -predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`' -predep_objects_GO='`$ECHO "$predep_objects_GO" | $SED "$delay_single_quote_subst"`' -predep_objects_GCJ='`$ECHO "$predep_objects_GCJ" | $SED "$delay_single_quote_subst"`' -predep_objects_RC='`$ECHO "$predep_objects_RC" | $SED "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' -postdep_objects_F77='`$ECHO "$postdep_objects_F77" | $SED "$delay_single_quote_subst"`' -postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`' -postdep_objects_GO='`$ECHO "$postdep_objects_GO" | $SED "$delay_single_quote_subst"`' -postdep_objects_GCJ='`$ECHO "$postdep_objects_GCJ" | $SED "$delay_single_quote_subst"`' -postdep_objects_RC='`$ECHO "$postdep_objects_RC" | $SED "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' -predeps_F77='`$ECHO "$predeps_F77" | $SED "$delay_single_quote_subst"`' -predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`' -predeps_GO='`$ECHO "$predeps_GO" | $SED "$delay_single_quote_subst"`' -predeps_GCJ='`$ECHO "$predeps_GCJ" | $SED "$delay_single_quote_subst"`' -predeps_RC='`$ECHO "$predeps_RC" | $SED "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' -postdeps_F77='`$ECHO "$postdeps_F77" | $SED "$delay_single_quote_subst"`' -postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`' -postdeps_GO='`$ECHO "$postdeps_GO" | $SED "$delay_single_quote_subst"`' -postdeps_GCJ='`$ECHO "$postdeps_GCJ" | $SED "$delay_single_quote_subst"`' -postdeps_RC='`$ECHO "$postdeps_RC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_F77='`$ECHO "$compiler_lib_search_path_F77" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_GO='`$ECHO "$compiler_lib_search_path_GO" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_GCJ='`$ECHO "$compiler_lib_search_path_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_RC='`$ECHO "$compiler_lib_search_path_RC" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -FILECMD \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -sharedlib_from_linklib_cmd \ -AR \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -LD_F77 \ -LD_FC \ -LD_GO \ -LD_GCJ \ -LD_RC \ -reload_flag_CXX \ -reload_flag_F77 \ -reload_flag_FC \ -reload_flag_GO \ -reload_flag_GCJ \ -reload_flag_RC \ -compiler_CXX \ -compiler_F77 \ -compiler_FC \ -compiler_GO \ -compiler_GCJ \ -compiler_RC \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_no_builtin_flag_F77 \ -lt_prog_compiler_no_builtin_flag_FC \ -lt_prog_compiler_no_builtin_flag_GO \ -lt_prog_compiler_no_builtin_flag_GCJ \ -lt_prog_compiler_no_builtin_flag_RC \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_pic_F77 \ -lt_prog_compiler_pic_FC \ -lt_prog_compiler_pic_GO \ -lt_prog_compiler_pic_GCJ \ -lt_prog_compiler_pic_RC \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_wl_F77 \ -lt_prog_compiler_wl_FC \ -lt_prog_compiler_wl_GO \ -lt_prog_compiler_wl_GCJ \ -lt_prog_compiler_wl_RC \ -lt_prog_compiler_static_CXX \ -lt_prog_compiler_static_F77 \ -lt_prog_compiler_static_FC \ -lt_prog_compiler_static_GO \ -lt_prog_compiler_static_GCJ \ -lt_prog_compiler_static_RC \ -lt_cv_prog_compiler_c_o_CXX \ -lt_cv_prog_compiler_c_o_F77 \ -lt_cv_prog_compiler_c_o_FC \ -lt_cv_prog_compiler_c_o_GO \ -lt_cv_prog_compiler_c_o_GCJ \ -lt_cv_prog_compiler_c_o_RC \ -export_dynamic_flag_spec_CXX \ -export_dynamic_flag_spec_F77 \ -export_dynamic_flag_spec_FC \ -export_dynamic_flag_spec_GO \ -export_dynamic_flag_spec_GCJ \ -export_dynamic_flag_spec_RC \ -whole_archive_flag_spec_CXX \ -whole_archive_flag_spec_F77 \ -whole_archive_flag_spec_FC \ -whole_archive_flag_spec_GO \ -whole_archive_flag_spec_GCJ \ -whole_archive_flag_spec_RC \ -compiler_needs_object_CXX \ -compiler_needs_object_F77 \ -compiler_needs_object_FC \ -compiler_needs_object_GO \ -compiler_needs_object_GCJ \ -compiler_needs_object_RC \ -with_gnu_ld_CXX \ -with_gnu_ld_F77 \ -with_gnu_ld_FC \ -with_gnu_ld_GO \ -with_gnu_ld_GCJ \ -with_gnu_ld_RC \ -allow_undefined_flag_CXX \ -allow_undefined_flag_F77 \ -allow_undefined_flag_FC \ -allow_undefined_flag_GO \ -allow_undefined_flag_GCJ \ -allow_undefined_flag_RC \ -no_undefined_flag_CXX \ -no_undefined_flag_F77 \ -no_undefined_flag_FC \ -no_undefined_flag_GO \ -no_undefined_flag_GCJ \ -no_undefined_flag_RC \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_flag_spec_F77 \ -hardcode_libdir_flag_spec_FC \ -hardcode_libdir_flag_spec_GO \ -hardcode_libdir_flag_spec_GCJ \ -hardcode_libdir_flag_spec_RC \ -hardcode_libdir_separator_CXX \ -hardcode_libdir_separator_F77 \ -hardcode_libdir_separator_FC \ -hardcode_libdir_separator_GO \ -hardcode_libdir_separator_GCJ \ -hardcode_libdir_separator_RC \ -exclude_expsyms_CXX \ -exclude_expsyms_F77 \ -exclude_expsyms_FC \ -exclude_expsyms_GO \ -exclude_expsyms_GCJ \ -exclude_expsyms_RC \ -include_expsyms_CXX \ -include_expsyms_F77 \ -include_expsyms_FC \ -include_expsyms_GO \ -include_expsyms_GCJ \ -include_expsyms_RC \ -file_list_spec_CXX \ -file_list_spec_F77 \ -file_list_spec_FC \ -file_list_spec_GO \ -file_list_spec_GCJ \ -file_list_spec_RC \ -compiler_lib_search_dirs_CXX \ -compiler_lib_search_dirs_F77 \ -compiler_lib_search_dirs_FC \ -compiler_lib_search_dirs_GO \ -compiler_lib_search_dirs_GCJ \ -compiler_lib_search_dirs_RC \ -predep_objects_CXX \ -predep_objects_F77 \ -predep_objects_FC \ -predep_objects_GO \ -predep_objects_GCJ \ -predep_objects_RC \ -postdep_objects_CXX \ -postdep_objects_F77 \ -postdep_objects_FC \ -postdep_objects_GO \ -postdep_objects_GCJ \ -postdep_objects_RC \ -predeps_CXX \ -predeps_F77 \ -predeps_FC \ -predeps_GO \ -predeps_GCJ \ -predeps_RC \ -postdeps_CXX \ -postdeps_F77 \ -postdeps_FC \ -postdeps_GO \ -postdeps_GCJ \ -postdeps_RC \ -compiler_lib_search_path_CXX \ -compiler_lib_search_path_F77 \ -compiler_lib_search_path_FC \ -compiler_lib_search_path_GO \ -compiler_lib_search_path_GCJ \ -compiler_lib_search_path_RC; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path \ -reload_cmds_CXX \ -reload_cmds_F77 \ -reload_cmds_FC \ -reload_cmds_GO \ -reload_cmds_GCJ \ -reload_cmds_RC \ -old_archive_cmds_CXX \ -old_archive_cmds_F77 \ -old_archive_cmds_FC \ -old_archive_cmds_GO \ -old_archive_cmds_GCJ \ -old_archive_cmds_RC \ -old_archive_from_new_cmds_CXX \ -old_archive_from_new_cmds_F77 \ -old_archive_from_new_cmds_FC \ -old_archive_from_new_cmds_GO \ -old_archive_from_new_cmds_GCJ \ -old_archive_from_new_cmds_RC \ -old_archive_from_expsyms_cmds_CXX \ -old_archive_from_expsyms_cmds_F77 \ -old_archive_from_expsyms_cmds_FC \ -old_archive_from_expsyms_cmds_GO \ -old_archive_from_expsyms_cmds_GCJ \ -old_archive_from_expsyms_cmds_RC \ -archive_cmds_CXX \ -archive_cmds_F77 \ -archive_cmds_FC \ -archive_cmds_GO \ -archive_cmds_GCJ \ -archive_cmds_RC \ -archive_expsym_cmds_CXX \ -archive_expsym_cmds_F77 \ -archive_expsym_cmds_FC \ -archive_expsym_cmds_GO \ -archive_expsym_cmds_GCJ \ -archive_expsym_cmds_RC \ -module_cmds_CXX \ -module_cmds_F77 \ -module_cmds_FC \ -module_cmds_GO \ -module_cmds_GCJ \ -module_cmds_RC \ -module_expsym_cmds_CXX \ -module_expsym_cmds_F77 \ -module_expsym_cmds_FC \ -module_expsym_cmds_GO \ -module_expsym_cmds_GCJ \ -module_expsym_cmds_RC \ -export_symbols_cmds_CXX \ -export_symbols_cmds_F77 \ -export_symbols_cmds_FC \ -export_symbols_cmds_GO \ -export_symbols_cmds_GCJ \ -export_symbols_cmds_RC \ -prelink_cmds_CXX \ -prelink_cmds_F77 \ -prelink_cmds_FC \ -prelink_cmds_GO \ -prelink_cmds_GCJ \ -prelink_cmds_RC \ -postlink_cmds_CXX \ -postlink_cmds_F77 \ -postlink_cmds_FC \ -postlink_cmds_GO \ -postlink_cmds_GCJ \ -postlink_cmds_RC; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - - - - - - - - - - - - - -GNUmakefile=$GNUmakefile - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; - "tests/atconfig") CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - :L) - # - # CONFIG_LINK - # - - if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then - : - else - # Prefer the file from the source tree if names are identical. - if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then - ac_source=$srcdir/$ac_source - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 -$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} - - if test ! -r "$ac_source"; then - as_fn_error $? "$ac_source: file not found" "$LINENO" 5 - fi - rm -f "$ac_file" - - # Try a relative symlink, then a hard link, then a copy. - case $ac_source in - [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; - *) ac_rel_source=$ac_top_build_prefix$ac_source ;; - esac - ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || - ln "$ac_source" "$ac_file" 2>/dev/null || - cp -p "$ac_source" "$ac_file" || - as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 - fi - ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "tests/atconfig":C) cat >tests/atconfig </dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='CXX F77 FC GO GCJ RC ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Assembler program. -AS=$lt_AS - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Object dumper program. -OBJDUMP=$lt_OBJDUMP - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# A file(cmd) program that detects file types. -FILECMD=$lt_FILECMD - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive (by configure). -lt_ar_flags=$lt_ar_flags - -# Flags to create an archive. -AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - $SED '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: F77 - -# The linker used to build libraries. -LD=$lt_LD_F77 - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_F77 -reload_cmds=$lt_reload_cmds_F77 - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_F77 - -# A language specific compiler. -CC=$lt_compiler_F77 - -# Is the compiler the GNU compiler? -with_gcc=$GCC_F77 - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_F77 - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_F77 - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_F77 - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_F77 - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_F77 - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_F77 - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_F77 - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_F77 - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77 - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_F77 -postdep_objects=$lt_postdep_objects_F77 -predeps=$lt_predeps_F77 -postdeps=$lt_postdeps_F77 - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 - -# ### END LIBTOOL TAG CONFIG: F77 -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: FC - -# The linker used to build libraries. -LD=$lt_LD_FC - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_FC -reload_cmds=$lt_reload_cmds_FC - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_FC - -# A language specific compiler. -CC=$lt_compiler_FC - -# Is the compiler the GNU compiler? -with_gcc=$GCC_FC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_FC - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_FC - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_FC - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_FC - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_FC - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_FC -archive_expsym_cmds=$lt_archive_expsym_cmds_FC - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_FC -module_expsym_cmds=$lt_module_expsym_cmds_FC - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_FC - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_FC - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_FC - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_FC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_FC - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_FC - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_FC - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_FC - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_FC - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_FC - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_FC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_FC - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_FC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_FC - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_FC - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_FC - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_FC - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_FC - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_FC -postdep_objects=$lt_postdep_objects_FC -predeps=$lt_predeps_FC -postdeps=$lt_postdeps_FC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_FC - -# ### END LIBTOOL TAG CONFIG: FC -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: GO - -# The linker used to build libraries. -LD=$lt_LD_GO - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_GO -reload_cmds=$lt_reload_cmds_GO - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_GO - -# A language specific compiler. -CC=$lt_compiler_GO - -# Is the compiler the GNU compiler? -with_gcc=$GCC_GO - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GO - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GO - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GO - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GO - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GO - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GO - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GO - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GO - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GO - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_GO - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GO - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GO - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_GO -archive_expsym_cmds=$lt_archive_expsym_cmds_GO - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_GO -module_expsym_cmds=$lt_module_expsym_cmds_GO - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_GO - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GO - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GO - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GO - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GO - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_GO - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_GO - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_GO - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GO - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_GO - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_GO - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GO - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_GO - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GO - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GO - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GO - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_GO - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_GO - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_GO - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GO - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GO - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_GO -postdep_objects=$lt_postdep_objects_GO -predeps=$lt_predeps_GO -postdeps=$lt_postdeps_GO - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GO - -# ### END LIBTOOL TAG CONFIG: GO -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: GCJ - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_GCJ -reload_cmds=$lt_reload_cmds_GCJ - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_GCJ - -# A language specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU compiler? -with_gcc=$GCC_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_GCJ - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_GCJ - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_GCJ - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_GCJ - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_GCJ - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_GCJ - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_GCJ - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_GCJ - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_GCJ -postdep_objects=$lt_postdep_objects_GCJ -predeps=$lt_predeps_GCJ -postdeps=$lt_postdeps_GCJ - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ - -# ### END LIBTOOL TAG CONFIG: GCJ -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: RC - -# The linker used to build libraries. -LD=$lt_LD_RC - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_RC -reload_cmds=$lt_reload_cmds_RC - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_RC - -# A language specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU compiler? -with_gcc=$GCC_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_RC - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_RC - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_RC - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_RC - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_RC - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_RC - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_RC - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_RC - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_RC -postdep_objects=$lt_postdep_objects_RC -predeps=$lt_predeps_RC -postdeps=$lt_postdeps_RC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC - -# ### END LIBTOOL TAG CONFIG: RC -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/BUILD/libtool-2.4.7/autom4te.cache/requests b/BUILD/libtool-2.4.7/autom4te.cache/requests deleted file mode 100644 index adad549..0000000 --- a/BUILD/libtool-2.4.7/autom4te.cache/requests +++ /dev/null @@ -1,346 +0,0 @@ -# This file was generated by Autom4te Tue Apr 9 10:00:21 UTC 2024. -# It contains the lists of macros which have been traced. -# It can be safely removed. - -@request = ( - bless( [ - '0', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - '-', - '/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4', - '/usr/share/aclocal-1.16/amversion.m4', - '/usr/share/aclocal-1.16/auxdir.m4', - '/usr/share/aclocal-1.16/cond.m4', - '/usr/share/aclocal-1.16/depend.m4', - '/usr/share/aclocal-1.16/depout.m4', - '/usr/share/aclocal-1.16/init.m4', - '/usr/share/aclocal-1.16/install-sh.m4', - '/usr/share/aclocal-1.16/lead-dot.m4', - '/usr/share/aclocal-1.16/make.m4', - '/usr/share/aclocal-1.16/missing.m4', - '/usr/share/aclocal-1.16/options.m4', - '/usr/share/aclocal-1.16/prog-cc-c-o.m4', - '/usr/share/aclocal-1.16/runlog.m4', - '/usr/share/aclocal-1.16/sanity.m4', - '/usr/share/aclocal-1.16/silent.m4', - '/usr/share/aclocal-1.16/strip.m4', - '/usr/share/aclocal-1.16/substnot.m4', - '/usr/share/aclocal-1.16/tar.m4', - 'm4/00gnulib.m4', - 'm4/autobuild.m4', - 'm4/gnulib-common.m4', - 'm4/gnulib-comp.m4', - 'm4/libtool.m4', - 'm4/ltargz.m4', - 'm4/ltdl.m4', - 'm4/ltoptions.m4', - 'm4/ltsugar.m4', - 'm4/ltversion.m4', - 'm4/lt~obsolete.m4', - 'm4/m4.m4', - 'm4/zzgnulib.m4', - 'configure.ac' - ], - { - '_LT_PROG_F77' => 1, - 'AC_LTDL_SHLIBEXT' => 1, - 'LT_AC_PROG_RC' => 1, - 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, - 'LTDL_INIT' => 1, - 'AC_DISABLE_STATIC' => 1, - '_m4_warn' => 1, - 'gl_ASSERT_NO_GNULIB_TESTS' => 1, - '_AM_SET_OPTION' => 1, - '_LT_LINKER_OPTION' => 1, - 'AC_LIBTOOL_CXX' => 1, - 'gl_CXX_ALLOW_WARNINGS' => 1, - 'AM_PROG_LIBTOOL' => 1, - 'AC_LIBLTDL_CONVENIENCE' => 1, - 'AC_PROG_NM' => 1, - '_LT_COMPILER_OPTION' => 1, - 'AC_LIBTOOL_DLOPEN_SELF' => 1, - 'LT_FUNC_DLSYM_USCORE' => 1, - '_LT_AC_FILE_LTDLL_C' => 1, - '_LT_PATH_TOOL_PREFIX' => 1, - 'LT_LIB_DLLOAD' => 1, - 'm4_include' => 1, - 'AC_LIBTOOL_CONFIG' => 1, - 'AC_CONFIG_MACRO_DIR_TRACE' => 1, - 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, - 'GL_EARLY' => 1, - 'AC_LTDL_SYMBOL_USCORE' => 1, - 'GL_LIBOBJ' => 1, - 'AC_DEFUN' => 1, - 'AM_MAKE_INCLUDE' => 1, - 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, - 'AC_CHECK_LIBM' => 1, - 'AM_DISABLE_STATIC' => 1, - 'AM_SILENT_RULES' => 1, - '_LT_LIBOBJ' => 1, - 'm4_pattern_allow' => 1, - 'AC_CONFIG_MACRO_DIR' => 1, - 'LT_FUNC_ARGZ' => 1, - 'gl_PROG_CC_C99' => 1, - '_LT_PROG_CXX' => 1, - 'gl_COMPILER_PREPARE_CHECK_DECL' => 1, - '_GL_MDA_DEFINES' => 1, - 'AC_DEFUN_ONCE' => 1, - 'gl_COMMON' => 1, - 'AC_LIB_LTDL' => 1, - '_LT_WITH_SYSROOT' => 1, - '_LT_PROG_FC' => 1, - 'AC_LIBTOOL_LINKER_OPTION' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'gl_FEATURES_H' => 1, - 'GL_REPLACE_FUNCS' => 1, - 'LTOPTIONS_VERSION' => 1, - 'LT_OUTPUT' => 1, - '_AM_CONFIG_MACRO_DIRS' => 1, - 'AM_PROG_NM' => 1, - 'GL_FILE_LIST' => 1, - 'AM_SET_LEADING_DOT' => 1, - 'AM_PROG_LD' => 1, - '_LT_AC_LANG_F77' => 1, - 'AC_LTDL_PREOPEN' => 1, - 'LTSUGAR_VERSION' => 1, - 'AC_C_RESTRICT' => 1, - 'AC_LIBTOOL_SETUP' => 1, - 'gl_ZZGNULIB' => 1, - 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - '_LT_AC_CHECK_DLFCN' => 1, - '_LT_AC_TAGVAR' => 1, - '_LT_REQUIRED_DARWIN_CHECKS' => 1, - '_LT_AC_LANG_CXX_CONFIG' => 1, - '_LT_AC_TRY_DLOPEN_SELF' => 1, - 'LTDL_CONVENIENCE' => 1, - 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, - 'AC_LTDL_SHLIBPATH' => 1, - 'gl_CACHE_VAL_SILENT' => 1, - '_LT_AC_LANG_CXX' => 1, - 'AC_PATH_MAGIC' => 1, - 'AC_LIBTOOL_WIN32_DLL' => 1, - 'gl_PROG_AR_RANLIB' => 1, - 'gl_00GNULIB' => 1, - 'AC_LIBTOOL_GCJ' => 1, - '_LT_AC_LANG_F77_CONFIG' => 1, - '_LT_PROG_ECHO_BACKSLASH' => 1, - 'AC_DISABLE_FAST_INSTALL' => 1, - '_AC_AM_CONFIG_HEADER_HOOK' => 1, - 'AM_PROG_CC_C_O' => 1, - 'LT_SYS_DLOPEN_SELF' => 1, - 'include' => 1, - 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, - 'AM_RUN_LOG' => 1, - 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, - 'gl_CONDITIONAL_HEADER' => 1, - 'gl_W' => 1, - 'AM_SUBST_NOTMAKE' => 1, - '_LT_AC_LANG_GCJ' => 1, - '_LT_DLL_DEF_P' => 1, - 'AC_LIBTOOL_OBJDIR' => 1, - 'AC_PROG_LD' => 1, - 'AC_LIBTOOL_DLOPEN' => 1, - 'gl_SILENT' => 1, - 'AM_AUX_DIR_EXPAND' => 1, - 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, - 'AC_PROG_LD_GNU' => 1, - 'gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'GL_LIBSOURCES' => 1, - 'gl_ASSERT_NO_GNULIB_POSIXCHECK' => 1, - '_LT_AC_TAGCONFIG' => 1, - 'AM_PROG_INSTALL_SH' => 1, - '_LT_AC_LANG_GCJ_CONFIG' => 1, - 'gl_CC_ALLOW_WARNINGS' => 1, - 'AC_ENABLE_SHARED' => 1, - 'AU_DEFUN' => 1, - 'gl_CC_GNULIB_WARNINGS' => 1, - 'GL_MDA_DEFINES' => 1, - 'AC_LTDL_OBJDIR' => 1, - 'AC_PROG_GNU_M4' => 1, - 'AC_LIBTOOL_LANG_C_CONFIG' => 1, - '_LT_CC_BASENAME' => 1, - 'LT_PROG_GCJ' => 1, - 'LT_WITH_LTDL' => 1, - '_AM_IF_OPTION' => 1, - 'gl_MODULE_INDICATOR_INIT_VARIABLE' => 1, - 'm4_pattern_forbid' => 1, - '_LT_AC_SYS_COMPILER' => 1, - 'LT_AC_PROG_SED' => 1, - '_AC_PROG_LIBTOOL' => 1, - 'gl_BIGENDIAN' => 1, - 'AC_LTDL_DLLIB' => 1, - 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, - 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, - 'LTVERSION_VERSION' => 1, - 'AM_ENABLE_STATIC' => 1, - '_LT_AC_PROG_ECHO_BACKSLASH' => 1, - 'gl_MODULE_INDICATOR_FOR_TESTS' => 1, - 'AC_DISABLE_SHARED' => 1, - 'LT_CMD_MAX_LEN' => 1, - '_AM_MANGLE_OPTION' => 1, - 'AC_ENABLE_FAST_INSTALL' => 1, - '_LT_AC_LANG_RC_CONFIG' => 1, - '_AM_SET_OPTIONS' => 1, - 'AC_LIBLTDL_INSTALLABLE' => 1, - 'GLtests_LIBOBJ' => 1, - 'LTOBSOLETE_VERSION' => 1, - '_LTDL_SETUP' => 1, - '_LT_LINKER_BOILERPLATE' => 1, - '_LT_AC_LANG_C_CONFIG' => 1, - 'AM_SANITY_CHECK' => 1, - 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, - 'AM_ENABLE_SHARED' => 1, - 'AC_LIBTOOL_PROG_CC_C_O' => 1, - 'AC_DEPLIBS_CHECK_METHOD' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'LT_PATH_LD' => 1, - '_LT_AC_LOCK' => 1, - 'LT_LIB_M' => 1, - 'AC_LTDL_SYSSEARCHPATH' => 1, - 'LT_SUPPORTED_TAG' => 1, - 'LT_SYS_DLSEARCH_PATH' => 1, - 'AC_PROG_LD_RELOAD_FLAG' => 1, - 'AC_PROG_EGREP' => 1, - '_AM_DEPENDENCIES' => 1, - 'LT_SYS_MODULE_PATH' => 1, - 'AC_LIBTOOL_F77' => 1, - '_AM_AUTOCONF_VERSION' => 1, - 'AC_ENABLE_STATIC' => 1, - 'AC_PATH_TOOL_PREFIX' => 1, - '_LT_PROG_LTMAIN' => 1, - 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, - 'LT_PROG_GO' => 1, - 'GLtests_LIBSOURCES' => 1, - 'AB_INIT' => 1, - 'AM_DISABLE_SHARED' => 1, - 'LT_AC_PROG_GCJ' => 1, - '_AM_PROG_CC_C_O' => 1, - '_LT_AC_SHELL_INIT' => 1, - '_LT_AC_SYS_LIBPATH_AIX' => 1, - 'AM_SET_DEPDIR' => 1, - 'gl_MODULE_INDICATOR' => 1, - 'GL_INIT' => 1, - 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, - 'LT_SYS_MODULE_EXT' => 1, - '_LT_PREPARE_SED_QUOTE_VARS' => 1, - 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, - 'AC_LTDL_ENABLE_INSTALL' => 1, - 'LT_LANG' => 1, - 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'LT_AC_PROG_EGREP' => 1, - 'AC_LIBTOOL_COMPILER_OPTION' => 1, - '_AM_PROG_TAR' => 1, - 'LT_SYS_SYMBOL_USCORE' => 1, - '_LT_COMPILER_BOILERPLATE' => 1, - 'LT_PATH_NM' => 1, - '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, - 'AC_WITH_LTDL' => 1, - 'gl_COMPILER_CLANG' => 1, - 'LT_SYS_DLOPEN_DEPLIBS' => 1, - 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, - 'gl_CONDITIONAL' => 1, - 'gl_MODULE_INDICATOR_SET_VARIABLE' => 1, - '_LT_AC_PROG_CXXCPP' => 1, - 'gl_COMMON_BODY' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'AC_LIBTOOL_FC' => 1, - 'AC_LIBTOOL_RC' => 1, - 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, - 'AM_MISSING_HAS_RUN' => 1, - 'AC_LTDL_DLSYM_USCORE' => 1, - 'AM_CONDITIONAL' => 1, - 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, - 'GLtests_REPLACE_FUNCS' => 1, - 'AM_DEP_TRACK' => 1, - 'LT_INIT' => 1, - 'AM_PROG_INSTALL_STRIP' => 1, - 'LT_PROG_RC' => 1, - 'AM_MISSING_PROG' => 1, - 'LTDL_INSTALLABLE' => 1, - 'AC_LIBTOOL_PICMODE' => 1, - 'gl_MODULE_INDICATOR_SET_VARIABLE_AUX' => 1 - } - ], 'Autom4te::Request' ), - bless( [ - '1', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - 'aclocal.m4', - 'configure.ac' - ], - { - 'AM_MAINTAINER_MODE' => 1, - 'AM_PROG_AR' => 1, - 'AC_FC_PP_DEFINE' => 1, - '_m4_warn' => 1, - 'm4_pattern_forbid' => 1, - 'AC_REQUIRE_AUX_FILE' => 1, - 'AC_SUBST_TRACE' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'AM_PATH_GUILE' => 1, - 'AC_FC_SRCEXT' => 1, - 'AM_ENABLE_MULTILIB' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - 'AM_MAKEFILE_INCLUDE' => 1, - 'AM_PROG_LIBTOOL' => 1, - 'AM_XGETTEXT_OPTION' => 1, - '_AM_COND_ENDIF' => 1, - 'AM_PROG_CXX_C_O' => 1, - 'AC_CONFIG_SUBDIRS' => 1, - 'm4_sinclude' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AC_CONFIG_FILES' => 1, - 'AM_EXTRA_RECURSIVE_TARGETS' => 1, - 'AC_CONFIG_LINKS' => 1, - 'AC_CANONICAL_SYSTEM' => 1, - 'include' => 1, - 'm4_include' => 1, - 'AC_FC_FREEFORM' => 1, - '_AM_COND_ELSE' => 1, - 'AM_PROG_MKDIR_P' => 1, - 'AC_CONFIG_HEADERS' => 1, - 'AC_SUBST' => 1, - '_AM_COND_IF' => 1, - 'AC_INIT' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'AM_SILENT_RULES' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'AM_PROG_FC_C_O' => 1, - 'AC_FC_PP_SRCEXT' => 1, - 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'AM_CONDITIONAL' => 1, - 'AC_CANONICAL_HOST' => 1, - 'm4_pattern_allow' => 1, - 'LT_SUPPORTED_TAG' => 1, - 'AM_PROG_MOC' => 1, - 'sinclude' => 1, - 'AC_DEFINE_TRACE_LITERAL' => 1, - 'AM_NLS' => 1, - 'LT_INIT' => 1, - '_LT_AC_TAGCONFIG' => 1, - 'AM_PROG_F77_C_O' => 1, - 'AM_GNU_GETTEXT' => 1, - '_AM_MAKEFILE_INCLUDE' => 1, - 'AC_LIBSOURCE' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'AH_OUTPUT' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'AM_POT_TOOLS' => 1, - 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, - 'AC_CANONICAL_TARGET' => 1, - 'AC_CANONICAL_BUILD' => 1 - } - ], 'Autom4te::Request' ) - ); - diff --git a/BUILD/libtool-2.4.7/autom4te.cache/traces.0 b/BUILD/libtool-2.4.7/autom4te.cache/traces.0 deleted file mode 100644 index d54b2df..0000000 --- a/BUILD/libtool-2.4.7/autom4te.cache/traces.0 +++ /dev/null @@ -1,4267 +0,0 @@ -m4trace:/usr/share/aclocal-1.16/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) -m4trace:/usr/share/aclocal-1.16/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -m4trace:/usr/share/aclocal-1.16/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) -m4trace:/usr/share/aclocal-1.16/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) -m4trace:/usr/share/aclocal-1.16/depend.m4:26: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) -m4trace:/usr/share/aclocal-1.16/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) -m4trace:/usr/share/aclocal-1.16/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) -m4trace:/usr/share/aclocal-1.16/depout.m4:11: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - AS_CASE([$CONFIG_FILES], - [*\'*], [eval set x "$CONFIG_FILES"], - [*], [set x $CONFIG_FILES]) - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`AS_DIRNAME(["$am_mf"])` - am_filepart=`AS_BASENAME(["$am_mf"])` - AM_RUN_LOG([cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles]) || am_rc=$? - done - if test $am_rc -ne 0; then - AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking).]) - fi - AS_UNSET([am_dirpart]) - AS_UNSET([am_filepart]) - AS_UNSET([am_mf]) - AS_UNSET([am_rc]) - rm -f conftest-deps.mk -} -]) -m4trace:/usr/share/aclocal-1.16/depout.m4:62: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) -m4trace:/usr/share/aclocal-1.16/init.m4:29: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) -m4trace:/usr/share/aclocal-1.16/init.m4:186: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -m4trace:/usr/share/aclocal-1.16/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) -m4trace:/usr/share/aclocal-1.16/lead-dot.m4:10: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) -m4trace:/usr/share/aclocal-1.16/make.m4:13: -1- AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) - AS_CASE([$?:`cat confinc.out 2>/dev/null`], - ['0:this is the am__doit target'], - [AS_CASE([$s], - [BSD], [am__include='.include' am__quote='"'], - [am__include='include' am__quote=''])]) - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -AC_MSG_RESULT([${_am_result}]) -AC_SUBST([am__include])]) -m4trace:/usr/share/aclocal-1.16/make.m4:42: -1- m4_pattern_allow([^am__quote$]) -m4trace:/usr/share/aclocal-1.16/missing.m4:11: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) -m4trace:/usr/share/aclocal-1.16/missing.m4:20: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) -m4trace:/usr/share/aclocal-1.16/options.m4:11: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) -m4trace:/usr/share/aclocal-1.16/options.m4:17: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) -m4trace:/usr/share/aclocal-1.16/options.m4:23: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) -m4trace:/usr/share/aclocal-1.16/options.m4:29: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -m4trace:/usr/share/aclocal-1.16/prog-cc-c-o.m4:12: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) -m4trace:/usr/share/aclocal-1.16/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -m4trace:/usr/share/aclocal-1.16/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) -m4trace:/usr/share/aclocal-1.16/sanity.m4:11: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) -m4trace:/usr/share/aclocal-1.16/silent.m4:12: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) -m4trace:/usr/share/aclocal-1.16/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) -m4trace:/usr/share/aclocal-1.16/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) -m4trace:/usr/share/aclocal-1.16/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) -m4trace:/usr/share/aclocal-1.16/tar.m4:23: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) -m4trace:m4/00gnulib.m4:24: -1- AC_DEFUN([gl_COMPILER_CLANG], [ -dnl AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([whether the compiler is clang], - [gl_cv_compiler_clang], - [dnl Use _AC_COMPILE_IFELSE instead of AC_EGREP_CPP, to avoid error - dnl "circular dependency of AC_LANG_COMPILER(C)" if AC_PROG_CC has - dnl not yet been invoked. - _AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ - #ifdef __clang__ - barfbarf - #endif - ]],[[]]) - ], - [gl_cv_compiler_clang=no], - [gl_cv_compiler_clang=yes]) - ]) -]) -m4trace:m4/00gnulib.m4:43: -1- AC_DEFUN([gl_COMPILER_PREPARE_CHECK_DECL], [ -dnl AC_REQUIRE([AC_PROG_CC]) -dnl AC_REQUIRE([gl_COMPILER_CLANG]) - AC_CACHE_CHECK([for compiler option needed when checking for declarations], - [gl_cv_compiler_check_decl_option], - [if test $gl_cv_compiler_clang = yes; then - dnl Test whether the compiler supports the option - dnl '-Werror=implicit-function-declaration'. - save_ac_compile="$ac_compile" - ac_compile="$ac_compile -Werror=implicit-function-declaration" - dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a - dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". - _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], - [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'], - [gl_cv_compiler_check_decl_option=none]) - ac_compile="$save_ac_compile" - else - gl_cv_compiler_check_decl_option=none - fi - ]) - if test "x$gl_cv_compiler_check_decl_option" != xnone; then - ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" - else - ac_compile_for_check_decl="$ac_compile" - fi -]) -m4trace:m4/00gnulib.m4:85: -1- AC_DEFUN([gl_00GNULIB]) -m4trace:m4/autobuild.m4:11: -1- AC_DEFUN([AB_INIT], [ - AC_REQUIRE([AC_CANONICAL_BUILD]) - AC_REQUIRE([AC_CANONICAL_HOST]) - - if test -z "$AB_PACKAGE"; then - AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} - fi - AC_MSG_NOTICE([autobuild project... $AB_PACKAGE]) - - if test -z "$AB_VERSION"; then - AB_VERSION=${PACKAGE_VERSION:-$VERSION} - fi - AC_MSG_NOTICE([autobuild revision... $AB_VERSION]) - - hostname=`hostname` - if test "$hostname"; then - AC_MSG_NOTICE([autobuild hostname... $hostname]) - fi - - ifelse([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])]) - - date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` - if test "$?" != 0; then - date=`date` - fi - if test "$date"; then - AC_MSG_NOTICE([autobuild timestamp... $date]) - fi -]) -m4trace:m4/gnulib-common.m4:11: -1- AC_DEFUN([gl_COMMON], [ - dnl Use AC_REQUIRE here, so that the code is expanded once only. - AC_REQUIRE([gl_00GNULIB]) - AC_REQUIRE([gl_COMMON_BODY]) - AC_REQUIRE([gl_ZZGNULIB]) -]) -m4trace:m4/gnulib-common.m4:17: -1- AC_DEFUN([gl_COMMON_BODY], [ - AH_VERBATIM([_GL_GNUC_PREREQ], -[/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ -#if defined __GNUC__ && defined __GNUC_MINOR__ -# define _GL_GNUC_PREREQ(major, minor) \ - ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) -#else -# define _GL_GNUC_PREREQ(major, minor) 0 -#endif -]) - AH_VERBATIM([_Noreturn], -[/* The _Noreturn keyword of C11. */ -#ifndef _Noreturn -# if (defined __cplusplus \ - && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ - || (defined _MSC_VER && 1900 <= _MSC_VER)) \ - && 0) - /* [[noreturn]] is not practically usable, because with it the syntax - extern _Noreturn void func (...); - would not be valid; such a declaration would only be valid with 'extern' - and '_Noreturn' swapped, or without the 'extern' keyword. However, some - AIX system header files and several gnulib header files use precisely - this syntax with 'extern'. */ -# define _Noreturn [[noreturn]] -# elif ((!defined __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || (!defined __STRICT_ANSI__ \ - && (_GL_GNUC_PREREQ (4, 7) \ - || (defined __apple_build_version__ \ - ? 6000000 <= __apple_build_version__ \ - : 3 < __clang_major__ + (5 <= __clang_minor__)))))) - /* _Noreturn works as-is. */ -# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C -# define _Noreturn __attribute__ ((__noreturn__)) -# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn -# endif -#endif -]) - AH_VERBATIM([isoc99_inline], -[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for Mac OS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif]) - AH_VERBATIM([attribute], -[/* Attributes. */ -#if (defined __has_attribute \ - && (!defined __clang_minor__ \ - || 3 < __clang_major__ + (5 <= __clang_minor__))) -# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) -#else -# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr -# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) -# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) -# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) -# define _GL_ATTR_diagnose_if 0 -# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) -# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) -# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) -# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) -# ifdef _ICC -# define _GL_ATTR_may_alias 0 -# else -# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) -# endif -# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) -# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) -# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) -# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) -# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) -# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) -# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) -# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) -#endif - -#ifdef __has_c_attribute -# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) -#else -# define _GL_HAS_C_ATTRIBUTE(attr) 0 -#endif - -]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's _Alignas instead. -[ -/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function - is the size of the returned memory block. - _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied - by the Nth argument of the function is the size of the returned memory block. - */ -/* Applies to: function, pointer to function, function types. */ -#if _GL_HAS_ATTRIBUTE (alloc_size) -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) -#else -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) -#endif - -/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the - function and report an error if it cannot do so. */ -/* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (always_inline) -# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) -#else -# define _GL_ATTRIBUTE_ALWAYS_INLINE -#endif - -/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show - in stack traces when debugging. The compiler should omit the function from - stack traces. */ -/* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (artificial) -# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) -#else -# define _GL_ATTRIBUTE_ARTIFICIAL -#endif - -/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ -/* Applies to: functions. */ -/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at - . - Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ -#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ -# ifndef __SUNPRO_C -# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) -# else -# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) -# endif -#else -# define _GL_ATTRIBUTE_COLD -#endif - -/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate - calls to the function with the same arguments. - This attribute is safe for a function that neither depends on nor affects - observable state, and always returns exactly once - e.g., does not loop - forever, and does not call longjmp. - (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (const) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST -#endif - -/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers - that can be freed by passing them as the Ith argument to the - function F. - _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that - can be freed via 'free'; it can be used only after declaring 'free'. */ -/* Applies to: functions. Cannot be used on inline functions. */ -#if _GL_GNUC_PREREQ (11, 0) -# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) -#else -# define _GL_ATTRIBUTE_DEALLOC(f, i) -#endif -/* If gnulib's or has already defined this macro, continue - to use this earlier definition, since may not have been included - yet. */ -#ifndef _GL_ATTRIBUTE_DEALLOC_FREE -# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) -#endif - -/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. - The compiler may warn if the entity is used. */ -/* Applies to: - - function, variable, - - struct, union, struct/union member, - - enumeration, enumeration item, - - typedef, - in C++ also: namespace, class, template specialization. */ -#if _GL_HAS_C_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] -#elif _GL_HAS_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) -#else -# define _GL_ATTRIBUTE_DEPRECATED -#endif - -/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and - the function call is not optimized away. - _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and - the function call is not optimized away. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (error) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) -#elif _GL_HAS_ATTRIBUTE (diagnose_if) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) -#else -# define _GL_ATTRIBUTE_ERROR(msg) -# define _GL_ATTRIBUTE_WARNING(msg) -#endif - -/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain - visible to debuggers etc., even with '-fwhole-program'. */ -/* Applies to: functions, variables. */ -#if _GL_HAS_ATTRIBUTE (externally_visible) -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) -#else -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE -#endif - -/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if - the control flow falls through to the immediately following 'case' or - 'default' label. The compiler should not warn in this case. */ -/* Applies to: Empty statement (;), inside a 'switch' statement. */ -/* Always expands to something. */ -#if _GL_HAS_C_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] -#elif _GL_HAS_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) -#else -# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) -#endif - -/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) - declares that the STRING-INDEXth function argument is a format string of - style ARCHETYPE, which is one of: - printf, gnu_printf - scanf, gnu_scanf, - strftime, gnu_strftime, - strfmon, - or the same thing prefixed and suffixed with '__'. - If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK - are suitable for the format string. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (format) -# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) -#else -# define _GL_ATTRIBUTE_FORMAT(spec) -#endif - -/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other - compilation unit, it executes code from that unit only by return or by - exception handling. This declaration lets the compiler optimize that unit - more aggressively. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (leaf) -# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) -#else -# define _GL_ATTRIBUTE_LEAF -#endif - -/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly - allocated memory. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (malloc) -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC -#endif - -/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the - same storage as pointers to other types. Thus this declaration disables - strict aliasing optimization. */ -/* Applies to: types. */ -/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ -#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C -# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) -#else -# define _GL_ATTRIBUTE_MAY_ALIAS -#endif - -/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if - the entity is not used. The compiler should not warn if the entity is not - used. */ -/* Applies to: - - function, variable, - - struct, union, struct/union member, - - enumeration, enumeration item, - - typedef, - in C++ also: class. */ -/* In C++ and C2x, this is spelled [[__maybe_unused__]]. - GCC's syntax is __attribute__ ((__unused__)). - clang supports both syntaxes. */ -#if _GL_HAS_C_ATTRIBUTE (maybe_unused) -# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] -#else -# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED -#endif -/* Alternative spelling of this macro, for convenience. */ -#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED -/* Earlier spellings of this macro. */ -#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED - -/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not - discard the return value. The compiler may warn if the caller does not use - the return value, unless the caller uses something like ignore_value. */ -/* Applies to: function, enumeration, class. */ -#if _GL_HAS_C_ATTRIBUTE (nodiscard) -# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] -#elif _GL_HAS_ATTRIBUTE (warn_unused_result) -# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) -#else -# define _GL_ATTRIBUTE_NODISCARD -#endif - -/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the - function. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (noinline) -# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) -#else -# define _GL_ATTRIBUTE_NOINLINE -#endif - -/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... - must not be NULL. - _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be - null. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nonnull) -# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) -#else -# define _GL_ATTRIBUTE_NONNULL(args) -#endif - -/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is - not meant to be NUL-terminated. */ -/* Applies to: struct/union members and variables that are arrays of element - type '[[un]signed] char'. */ -#if _GL_HAS_ATTRIBUTE (nonstring) -# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) -#else -# define _GL_ATTRIBUTE_NONSTRING -#endif - -/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ - -/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. - */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus -# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) -#else -# define _GL_ATTRIBUTE_NOTHROW -#endif - -/* _GL_ATTRIBUTE_PACKED declares: - For struct members: The member has the smallest possible alignment. - For struct, union, class: All members have the smallest possible alignment, - minimizing the memory required. */ -/* Applies to: struct members, struct, union, - in C++ also: class. */ -#if _GL_HAS_ATTRIBUTE (packed) -# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) -#else -# define _GL_ATTRIBUTE_PACKED -#endif - -/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate - calls to the function with the same arguments if observable state is not - changed between calls. - This attribute is safe for a function that does not affect - observable state, and always returns exactly once. - (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (pure) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE -#endif - -/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is - a non-NULL pointer. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (returns_nonnull) -# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) -#else -# define _GL_ATTRIBUTE_RETURNS_NONNULL -#endif - -/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a - trailing NULL argument. - _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). - _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (sentinel) -# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) -#else -# define _GL_ATTRIBUTE_SENTINEL(pos) -#endif - -/* A helper macro. Don't use it directly. */ -#if _GL_HAS_ATTRIBUTE (unused) -# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_ATTRIBUTE_UNUSED -#endif - -]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead. -[ -/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the - immediately preceding label is not used. The compiler should not warn - if the label is not used. */ -/* Applies to: label (both in C and C++). */ -/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' - syntax. But clang does. */ -#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ -# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED -#else -# define _GL_UNUSED_LABEL -#endif -]) - AH_VERBATIM([async_safe], -[/* The _GL_ASYNC_SAFE marker should be attached to functions that are - signal handlers (for signals other than SIGABRT, SIGPIPE) or can be - invoked from such signal handlers. Such functions have some restrictions: - * All functions that it calls should be marked _GL_ASYNC_SAFE as well, - or should be listed as async-signal-safe in POSIX - - section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in - particular, are NOT async-signal-safe. - * All memory locations (variables and struct fields) that these functions - access must be marked 'volatile'. This holds for both read and write - accesses. Otherwise the compiler might optimize away stores to and - reads from such locations that occur in the program, depending on its - data flow analysis. For example, when the program contains a loop - that is intended to inspect a variable set from within a signal handler - while (!signal_occurred) - ; - the compiler is allowed to transform this into an endless loop if the - variable 'signal_occurred' is not declared 'volatile'. - Additionally, recall that: - * A signal handler should not modify errno (except if it is a handler - for a fatal signal and ends by raising the same signal again, thus - provoking the termination of the process). If it invokes a function - that may clobber errno, it needs to save and restore the value of - errno. */ -#define _GL_ASYNC_SAFE -]) - AH_VERBATIM([micro_optimizations], -[/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where - n1 and n2 are expressions without side effects, that evaluate to real - numbers (excluding NaN). - It returns - 1 if n1 > n2 - 0 if n1 == n2 - -1 if n1 < n2 - The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional - jump with nearly all GCC versions up to GCC 10. - This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many - GCC versions up to GCC 9. - The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 - avoids conditional jumps in all GCC versions >= 3.4. */ -#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) -]) - dnl Hint which direction to take regarding cross-compilation guesses: - dnl When a user installs a program on a platform they are not intimately - dnl familiar with, --enable-cross-guesses=conservative is the appropriate - dnl choice. It implements the "If we don't know, assume the worst" principle. - dnl However, when an operating system developer (on a platform which is not - dnl yet known to gnulib) builds packages for their platform, they want to - dnl expose, not hide, possible platform bugs; in this case, - dnl --enable-cross-guesses=risky is the appropriate choice. - dnl Sets the variables - dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad), - dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad). - AC_ARG_ENABLE([cross-guesses], - [AS_HELP_STRING([--enable-cross-guesses={conservative|risky}], - [specify policy for cross-compilation guesses])], - [if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then - AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses]) - enableval=conservative - fi - gl_cross_guesses="$enableval"], - [gl_cross_guesses=conservative]) - if test $gl_cross_guesses = risky; then - gl_cross_guess_normal="guessing yes" - gl_cross_guess_inverted="guessing no" - else - gl_cross_guess_normal="guessing no" - gl_cross_guess_inverted="guessing yes" - fi - dnl Preparation for running test programs: - dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not - dnl to /dev/tty, so they can be redirected to log files. Such diagnostics - dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. - LIBC_FATAL_STDERR_=1 - export LIBC_FATAL_STDERR_ -]) -m4trace:m4/gnulib-common.m4:516: -1- AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE], [ - GL_MODULE_INDICATOR_PREFIX[]_[$1]=m4_if([$2], , [0], [$2]) - AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1]) -]) -m4trace:m4/gnulib-common.m4:531: -1- AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], [ - gl_MODULE_INDICATOR_SET_VARIABLE_AUX( - [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], - [gl_MODULE_INDICATOR_CONDITION]) -]) -m4trace:m4/gnulib-common.m4:544: -1- AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], [ - m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], - [ - dnl Simplify the expression VALUE || 1 to 1. - $1=1 - ], - [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], - [gl_MODULE_INDICATOR_CONDITION])]) -]) -m4trace:m4/gnulib-common.m4:558: -1- AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], [ - dnl Simplify the expression 1 || CONDITION to 1. - if test "$[]$1" != 1; then - dnl Simplify the expression 0 || CONDITION to CONDITION. - if test "$[]$1" = 0; then - $1=$2 - else - $1="($[]$1 || $2)" - fi - fi -]) -m4trace:m4/gnulib-common.m4:583: -1- AC_DEFUN([gl_MODULE_INDICATOR], [ - AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), - [gl_MODULE_INDICATOR_CONDITION], - [Define to a C preprocessor expression that evaluates to 1 or 0, - depending whether the gnulib module $1 shall be considered present.]) -]) -m4trace:m4/gnulib-common.m4:606: -1- AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], [ - AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], - [Define to 1 when the gnulib module $1 should be tested.]) -]) -m4trace:m4/gnulib-common.m4:618: -1- AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], [ - dnl Override gl_WARN_ON_USE_PREPARE. - dnl But hide this definition from 'aclocal'. - AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) -]) -m4trace:m4/gnulib-common.m4:629: -1- AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS], [ - dnl Override gl_MODULE_INDICATOR_FOR_TESTS. - AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], []) -]) -m4trace:m4/gnulib-common.m4:637: -1- AC_DEFUN([gl_FEATURES_H], [ - AC_CHECK_HEADERS_ONCE([features.h]) - if test $ac_cv_header_features_h = yes; then - HAVE_FEATURES_H=1 - else - HAVE_FEATURES_H=0 - fi - AC_SUBST([HAVE_FEATURES_H]) -]) -m4trace:m4/gnulib-common.m4:651: -1- AC_DEFUN([gl_PROG_CC_C99], [ - dnl Just use AC_PROG_CC_C99. - dnl When AC_PROG_CC_C99 and AC_PROG_CC_STDC are used together, the substituted - dnl value of CC will contain the C99 enabling options twice. But this is only - dnl a cosmetic problem. - dnl With Autoconf >= 2.70, use AC_PROG_CC since it implies AC_PROG_CC_C99; - dnl this avoids a "warning: The macro `AC_PROG_CC_C99' is obsolete." - m4_version_prereq([2.70], - [AC_REQUIRE([AC_PROG_CC])], - [AC_REQUIRE([AC_PROG_CC_C99])]) -]) -m4trace:m4/gnulib-common.m4:668: -1- AC_DEFUN([gl_PROG_AR_RANLIB], [ - dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler - dnl as "cc", and GCC as "gcc". They have different object file formats and - dnl library formats. In particular, the GNU binutils programs ar and ranlib - dnl produce libraries that work only with gcc, not with cc. - AC_REQUIRE([AC_PROG_CC]) - dnl The '' hides this use from 'aclocal'. - AC_BEFORE([$0], [A][M_PROG_AR]) - AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], - [ - AC_EGREP_CPP([Amsterdam], - [ -#ifdef __ACK__ -Amsterdam -#endif - ], - [gl_cv_c_amsterdam_compiler=yes], - [gl_cv_c_amsterdam_compiler=no]) - ]) - - dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not - dnl building with __ACK__. - if test $gl_cv_c_amsterdam_compiler = yes; then - if test -z "$AR"; then - AR='cc -c.a' - fi - if test -z "$ARFLAGS"; then - ARFLAGS='-o' - fi - else - dnl AM_PROG_AR was added in automake v1.11.2. AM_PROG_AR does not AC_SUBST - dnl ARFLAGS variable (it is filed into Makefile.in directly by automake - dnl script on-demand, if not specified by ./configure of course). - dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above - dnl will be ignored. Also, pay attention to call AM_PROG_AR in else block - dnl because AM_PROG_AR is written so it could re-set AR variable even for - dnl __ACK__. It may seem like its easier to avoid calling the macro here, - dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good - dnl default value and automake should usually know them). - dnl - dnl The '' hides this use from 'aclocal'. - m4_ifdef([A][M_PROG_AR], [A][M_PROG_AR], [:]) - fi - - dnl In case the code above has not helped with setting AR/ARFLAGS, use - dnl Automake-documented default values for AR and ARFLAGS, but prefer - dnl ${host}-ar over ar (useful for cross-compiling). - AC_CHECK_TOOL([AR], [ar], [ar]) - if test -z "$ARFLAGS"; then - ARFLAGS='cr' - fi - - AC_SUBST([AR]) - AC_SUBST([ARFLAGS]) - if test -z "$RANLIB"; then - if test $gl_cv_c_amsterdam_compiler = yes; then - RANLIB=':' - else - dnl Use the ranlib program if it is available. - AC_PROG_RANLIB - fi - fi - AC_SUBST([RANLIB]) -]) -m4trace:m4/gnulib-common.m4:737: -1- AC_DEFUN([AC_C_RESTRICT], [AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], - [ac_cv_c_restrict=no - # Put '__restrict__' first, to avoid problems with glibc and non-GCC; see: - # https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html - # Put 'restrict' last, because C++ lacks it. - for ac_kw in __restrict__ __restrict _Restrict restrict; do - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[typedef int *int_ptr; - int foo (int_ptr $ac_kw ip) { return ip[0]; } - int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ - int bar (int ip[$ac_kw]) { return ip[0]; } - ]], - [[int s[1]; - int *$ac_kw t = s; - t[0] = 0; - return foo (t) + bar (t); - ]])], - [ac_cv_c_restrict=$ac_kw]) - test "$ac_cv_c_restrict" != no && break - done - ]) - AH_VERBATIM([restrict], -[/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported only directly. */ -#undef restrict -/* Work around a bug in older versions of Sun C++, which did not - #define __restrict__ or support _Restrict or __restrict__ - even though the corresponding Sun C compiler ended up with - "#define restrict _Restrict" or "#define restrict __restrict__" - in the previous line. This workaround can be removed once - we assume Oracle Developer Studio 12.5 (2016) or later. */ -#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__ -# define _Restrict -# define __restrict__ -#endif]) - case $ac_cv_c_restrict in - restrict) ;; - no) AC_DEFINE([restrict], []) ;; - *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; - esac -]) -m4trace:m4/gnulib-common.m4:788: -1- AC_DEFUN([gl_BIGENDIAN], [ - AC_C_BIGENDIAN -]) -m4trace:m4/gnulib-common.m4:802: -1- AC_DEFUN([gl_SILENT], [ - exec GL_TMP_FD>&AS_MESSAGE_FD AS_MESSAGE_FD>/dev/null - $1 - exec AS_MESSAGE_FD>&GL_TMP_FD GL_TMP_FD>&- -]) -m4trace:m4/gnulib-common.m4:814: -1- AC_DEFUN([gl_CACHE_VAL_SILENT], [ - gl_SILENT([ - AC_CACHE_VAL([$1], [$2]) - ]) -]) -m4trace:m4/gnulib-common.m4:828: -1- AC_DEFUN([gl_CONDITIONAL], [ - pushdef([AC_CONFIG_COMMANDS_PRE], [:])dnl - AM_CONDITIONAL([$1], [$2]) - popdef([AC_CONFIG_COMMANDS_PRE])dnl - if test -z "${[$1]_TRUE}" && test -z "${[$1]_FALSE}"; then - [$1]_TRUE='#' - [$1]_FALSE='#' - fi -]) -m4trace:m4/gnulib-common.m4:844: -1- AC_DEFUN([gl_CC_ALLOW_WARNINGS], [ - AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([for C compiler option to allow warnings], - [gl_cv_cc_wallow], - [rm -f conftest* - echo 'int dummy;' > conftest.c - AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null - AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err]) >/dev/null - dnl Test the number of error output lines, because AIX xlc accepts the - dnl option '-Wno-error', just to produce a warning - dnl "Option -Wno-error was incorrectly specified. The option will be ignored." - dnl afterwards. - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cc_wallow='-Wno-error' - else - gl_cv_cc_wallow=none - fi - rm -f conftest* - ]) - case "$gl_cv_cc_wallow" in - none) GL_CFLAG_ALLOW_WARNINGS='' ;; - *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; - esac - AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) -]) -m4trace:m4/gnulib-common.m4:874: -1- AC_DEFUN([gl_CXX_ALLOW_WARNINGS], [ - dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX. - if test -n "$CXX" && test "$CXX" != no; then - AC_CACHE_CHECK([for C++ compiler option to allow warnings], - [gl_cv_cxx_wallow], - [rm -f conftest* - echo 'int dummy;' > conftest.cc - AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null - AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err]) >/dev/null - dnl Test the number of error output lines, because AIX xlC accepts the - dnl option '-Wno-error', just to produce a warning - dnl "Option -Wno-error was incorrectly specified. The option will be ignored." - dnl afterwards. - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cxx_wallow='-Wno-error' - else - gl_cv_cxx_wallow=none - fi - rm -f conftest* - ]) - case "$gl_cv_cxx_wallow" in - none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; - *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; - esac - else - GL_CXXFLAG_ALLOW_WARNINGS='' - fi - AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) -]) -m4trace:m4/gnulib-common.m4:908: -1- AC_DEFUN([gl_CC_GNULIB_WARNINGS], [ - AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) - dnl Assume that the compiler supports -Wno-* options only if it also supports - dnl -Wno-error. - GL_CFLAG_GNULIB_WARNINGS='' - if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then - dnl Enable these warning options: - dnl - dnl GCC clang - dnl -Wno-cast-qual >= 3 >= 3.9 - dnl -Wno-conversion >= 3 >= 3.9 - dnl -Wno-float-conversion >= 4.9 >= 3.9 - dnl -Wno-float-equal >= 3 >= 3.9 - dnl -Wimplicit-fallthrough >= 7 >= 3.9 - dnl -Wno-pedantic >= 4.8 >= 3.9 - dnl -Wno-sign-compare >= 3 >= 3.9 - dnl -Wno-sign-conversion >= 4.3 >= 3.9 - dnl -Wno-type-limits >= 4.3 >= 3.9 - dnl -Wno-undef >= 3 >= 3.9 - dnl -Wno-unsuffixed-float-constants >= 4.5 - dnl -Wno-unused-function >= 3 >= 3.9 - dnl -Wno-unused-parameter >= 3 >= 3.9 - dnl - cat > conftest.c <<\EOF - #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-cast-qual - -Wno-conversion - -Wno-float-equal - -Wno-sign-compare - -Wno-undef - -Wno-unused-function - -Wno-unused-parameter - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-float-conversion - #endif - #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wimplicit-fallthrough - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-pedantic - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-sign-conversion - -Wno-type-limits - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 - -Wno-unsuffixed-float-constants - #endif -EOF - gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" - if AC_TRY_EVAL([gl_command]); then - gl_options=`grep -v '#' conftest.out` - for word in $gl_options; do - GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" - done - fi - rm -f conftest.c conftest.out - fi - AC_SUBST([GL_CFLAG_GNULIB_WARNINGS]) -]) -m4trace:m4/gnulib-common.m4:978: -1- AC_DEFUN([gl_CONDITIONAL_HEADER], [ - m4_pushdef([gl_header_name], AS_TR_SH(m4_toupper($1))) - m4_pushdef([gl_generate_var], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) - m4_pushdef([gl_generate_cond], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) - case "$gl_generate_var" in - false) gl_header_name='' ;; - true) - dnl It is OK to use a .h file in lib/ from within tests/, but not vice - dnl versa. - if test -z "$gl_header_name"; then - gl_header_name="${gl_source_base_prefix}$1" - fi - ;; - *) echo "*** gl_generate_var is not set correctly" 1>&2; exit 1 ;; - esac - AC_SUBST(gl_header_name) - gl_CONDITIONAL(gl_generate_cond, [$gl_generate_var]) - m4_popdef([gl_generate_cond]) - m4_popdef([gl_generate_var]) - m4_popdef([gl_header_name]) -]) -m4trace:m4/gnulib-common.m4:1010: -1- AC_DEFUN([GL_MDA_DEFINES], [ -AC_REQUIRE([_GL_MDA_DEFINES]) -[$gl_mda_defines] -]) -m4trace:m4/gnulib-common.m4:1014: -1- AC_DEFUN([_GL_MDA_DEFINES], [gl_mda_defines=' -#if defined _WIN32 && !defined __CYGWIN__ -#define access _access -#define chdir _chdir -#define chmod _chmod -#define close _close -#define creat _creat -#define dup _dup -#define dup2 _dup2 -#define ecvt _ecvt -#define execl _execl -#define execle _execle -#define execlp _execlp -#define execv _execv -#define execve _execve -#define execvp _execvp -#define execvpe _execvpe -#define fcloseall _fcloseall -#define fcvt _fcvt -#define fdopen _fdopen -#define fileno _fileno -#define gcvt _gcvt -#define getcwd _getcwd -#define getpid _getpid -#define getw _getw -#define isatty _isatty -#define j0 _j0 -#define j1 _j1 -#define jn _jn -#define lfind _lfind -#define lsearch _lsearch -#define lseek _lseek -#define memccpy _memccpy -#define mkdir _mkdir -#define mktemp _mktemp -#define open _open -#define putenv _putenv -#define putw _putw -#define read _read -#define rmdir _rmdir -#define strdup _strdup -#define swab _swab -#define tempnam _tempnam -#define tzset _tzset -#define umask _umask -#define unlink _unlink -#define utime _utime -#define wcsdup _wcsdup -#define write _write -#define y0 _y0 -#define y1 _y1 -#define yn _yn -#endif -' -]) -m4trace:m4/gnulib-comp.m4:34: -1- AC_DEFUN([GL_EARLY], [ - m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace - m4_pattern_allow([^gl_ES$])dnl a valid locale name - m4_pattern_allow([^gl_LIBOBJS$])dnl a variable - m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - - # Pre-early section. - AC_REQUIRE([gl_PROG_AR_RANLIB]) - - # Code from module all-shells-tests: - # Code from module announce-gen: - # Code from module bootstrap: - # Code from module do-release-commit-and-tag: - # Code from module extract-trace: - # Code from module funclib.sh: - # Code from module funclib.sh-tests: - # Code from module gendocs: - # Code from module git-version-gen: - # Code from module gitlog-to-changelog: - # Code from module gnu-web-doc-update: - # Code from module gnumakefile: - # Code from module gnupload: - # Code from module inline-source: - # Code from module maintainer-makefile: - # Code from module options-parser: - # Code from module options-parser-tests: - # Code from module readme-release: - # Code from module test-framework-sh: - # Code from module test-framework-sh-tests: - # Code from module update-copyright: - # Code from module update-copyright-tests: - # Code from module useless-if-before-free: - # Code from module vc-list-files: - # Code from module vc-list-files-tests: -]) -m4trace:m4/gnulib-comp.m4:73: -1- AC_DEFUN([GL_INIT], [ - AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) - gl_cond_libtool=true - gl_m4_base='m4' - m4_pushdef([AC_LIBOBJ], m4_defn([GL_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([GL_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([GL_LIBSOURCES])) - m4_pushdef([GL_LIBSOURCES_LIST], []) - m4_pushdef([GL_LIBSOURCES_DIR], []) - m4_pushdef([GL_MACRO_PREFIX], [GL]) - m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_GL]) - gl_COMMON - gl_source_base='lib' - gl_source_base_prefix= - # Autoconf 2.61a.99 and earlier don't support linking a file only - # in VPATH builds. But since GNUmakefile is for maintainer use - # only, it does not matter if we skip the link with older autoconf. - # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH - # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - m4_if(m4_version_compare([2.61a.100], - m4_defn([m4_PACKAGE_VERSION])), [1], [], - [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], - [GNUmakefile=$GNUmakefile])]) - AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER], - [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])]) - AC_REQUIRE([AC_PROG_SED]) - AC_REQUIRE([AC_PROG_GREP]) - # End of code from modules - m4_ifval(GL_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([GL_LIBSOURCES_DIR])[ || - for gl_file in ]GL_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([GL_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([GL_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([GL_MODULE_INDICATOR_PREFIX]) - m4_popdef([GL_MACRO_PREFIX]) - m4_popdef([GL_LIBSOURCES_DIR]) - m4_popdef([GL_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - GL_libobjs= - GL_ltlibobjs= - GL_libobjdeps= - if test -n "$GL_LIBOBJS"; then - # Remove the extension. -changequote(,)dnl - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' -changequote([, ])dnl - for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GL_libobjs="$GL_libobjs $i.$ac_objext" - GL_ltlibobjs="$GL_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - AC_SUBST([GL_LIBOBJS], [$GL_libobjs]) - AC_SUBST([GL_LTLIBOBJS], [$GL_ltlibobjs]) - AC_SUBST([GL_LIBOBJDEPS], [$GL_libobjdeps]) - ]) - gltests_libdeps= - gltests_ltlibdeps= - m4_pushdef([AC_LIBOBJ], m4_defn([GLtests_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([GLtests_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([GLtests_LIBSOURCES])) - m4_pushdef([GLtests_LIBSOURCES_LIST], []) - m4_pushdef([GLtests_LIBSOURCES_DIR], []) - m4_pushdef([GL_MACRO_PREFIX], [GLtests]) - m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_GL]) - gl_COMMON - AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) - AC_REQUIRE([gl_CXX_ALLOW_WARNINGS]) - gl_source_base='gnulib-tests' - gl_source_base_prefix= -changequote(,)dnl - GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS -changequote([, ])dnl - AC_SUBST([GLtests_WITNESS]) - gl_module_indicator_condition=$GLtests_WITNESS - m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - AC_SUBST([abs_aux_dir]) - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - AC_SUBST([abs_aux_dir]) - m4_popdef([gl_MODULE_INDICATOR_CONDITION]) - m4_ifval(GLtests_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([GLtests_LIBSOURCES_DIR])[ || - for gl_file in ]GLtests_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([GLtests_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([GLtests_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([GL_MODULE_INDICATOR_PREFIX]) - m4_popdef([GL_MACRO_PREFIX]) - m4_popdef([GLtests_LIBSOURCES_DIR]) - m4_popdef([GLtests_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - GLtests_libobjs= - GLtests_ltlibobjs= - GLtests_libobjdeps= - if test -n "$GLtests_LIBOBJS"; then - # Remove the extension. -changequote(,)dnl - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' -changequote([, ])dnl - for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" - GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - AC_SUBST([GLtests_LIBOBJS], [$GLtests_libobjs]) - AC_SUBST([GLtests_LTLIBOBJS], [$GLtests_ltlibobjs]) - AC_SUBST([GLtests_LIBOBJDEPS], [$GLtests_libobjdeps]) - ]) - AC_REQUIRE([gl_CC_GNULIB_WARNINGS]) -]) -m4trace:m4/gnulib-comp.m4:221: -1- AC_DEFUN([GL_LIBOBJ], [ - AS_LITERAL_IF([$1], [GL_LIBSOURCES([$1.c])])dnl - GL_LIBOBJS="$GL_LIBOBJS $1.$ac_objext" -]) -m4trace:m4/gnulib-comp.m4:228: -1- AC_DEFUN([GL_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [GL_LIBOBJ($ac_func)]) -]) -m4trace:m4/gnulib-comp.m4:237: -1- AC_DEFUN([GL_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([GL_LIBSOURCES_DIR], [lib]) - m4_append([GL_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) -m4trace:m4/gnulib-comp.m4:248: -1- AC_DEFUN([GLtests_LIBOBJ], [ - AS_LITERAL_IF([$1], [GLtests_LIBSOURCES([$1.c])])dnl - GLtests_LIBOBJS="$GLtests_LIBOBJS $1.$ac_objext" -]) -m4trace:m4/gnulib-comp.m4:255: -1- AC_DEFUN([GLtests_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [GLtests_LIBOBJ($ac_func)]) -]) -m4trace:m4/gnulib-comp.m4:264: -1- AC_DEFUN([GLtests_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([GLtests_LIBSOURCES_DIR], [gnulib-tests]) - m4_append([GLtests_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) -m4trace:m4/gnulib-comp.m4:275: -1- AC_DEFUN([GL_FILE_LIST], [ - build-aux/announce-gen - build-aux/bootstrap.in - build-aux/do-release-commit-and-tag - build-aux/extract-trace - build-aux/funclib.sh - build-aux/gendocs.sh - build-aux/git-version-gen - build-aux/gitlog-to-changelog - build-aux/gnu-web-doc-update - build-aux/gnupload - build-aux/inline-source - build-aux/options-parser - build-aux/update-copyright - build-aux/useless-if-before-free - build-aux/vc-list-files - doc/gendocs_template - doc/gendocs_template_min - m4/00gnulib.m4 - m4/gnulib-common.m4 - m4/zzgnulib.m4 - tests/init.sh - tests/test-all-shells.sh - tests/test-funclib-quote.sh - tests/test-init.sh - tests/test-option-parser-helper - tests/test-option-parser.sh - tests/test-update-copyright.sh - tests/test-vc-list-files-cvs.sh - tests/test-vc-list-files-git.sh - top/GNUmakefile - top/README-release - top/maint.mk -]) -m4trace:m4/libtool.m4:62: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -]) -m4trace:m4/libtool.m4:100: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:m4/libtool.m4:100: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:m4/libtool.m4:101: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:m4/libtool.m4:101: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) -m4trace:m4/libtool.m4:621: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -'$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test 0 != $[#] -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try '$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try '$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test yes = "$silent" && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -]) -m4trace:m4/libtool.m4:814: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) -m4trace:m4/libtool.m4:825: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -]) -m4trace:m4/libtool.m4:917: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -m4trace:m4/libtool.m4:917: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. -You should run autoupdate.])dnl -LT_LANG(C++)]) -m4trace:m4/libtool.m4:918: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -m4trace:m4/libtool.m4:918: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Fortran 77)]) -m4trace:m4/libtool.m4:919: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -m4trace:m4/libtool.m4:919: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Fortran)]) -m4trace:m4/libtool.m4:920: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -m4trace:m4/libtool.m4:920: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Java)]) -m4trace:m4/libtool.m4:921: -1- AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -m4trace:m4/libtool.m4:921: -1- AC_DEFUN([AC_LIBTOOL_RC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_RC' is obsolete. -You should run autoupdate.])dnl -LT_LANG(Windows Resource)]) -m4trace:m4/libtool.m4:1244: -1- AC_DEFUN([_LT_WITH_SYSROOT], [m4_require([_LT_DECL_SED])dnl -AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], - [Search for dependent libraries within DIR (or the compiler's sysroot - if not specified).])], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([$with_sysroot]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and where our libraries should be installed.])]) -m4trace:m4/libtool.m4:1589: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test yes = "[$]$2"; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -]) -m4trace:m4/libtool.m4:1631: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) -m4trace:m4/libtool.m4:1631: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) -m4trace:m4/libtool.m4:1640: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS -]) - -if test yes = "[$]$2"; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -]) -m4trace:m4/libtool.m4:1675: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) -m4trace:m4/libtool.m4:1675: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) -m4trace:m4/libtool.m4:1682: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n "$lt_cv_sys_max_cmd_len"; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -]) -m4trace:m4/libtool.m4:1821: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) -m4trace:m4/libtool.m4:1821: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) -m4trace:m4/libtool.m4:1932: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl -if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen=shl_load], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen=dlopen], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -]) -m4trace:m4/libtool.m4:2057: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) -m4trace:m4/libtool.m4:2057: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) -m4trace:m4/libtool.m4:3178: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$1"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac]) -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -]) -m4trace:m4/libtool.m4:3240: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) -m4trace:m4/libtool.m4:3240: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) -m4trace:m4/libtool.m4:3263: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test no = "$withval" || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 | $SED '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi]) -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -]) -m4trace:m4/libtool.m4:3777: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:m4/libtool.m4:3777: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:m4/libtool.m4:3778: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:m4/libtool.m4:3778: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) -m4trace:m4/libtool.m4:3849: -1- AC_DEFUN([_LT_DLL_DEF_P], [dnl - test DEF = "`$SED -n dnl - -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace - -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments - -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl - -e q dnl Only consider the first "real" line - $1`" dnl -]) -m4trace:m4/libtool.m4:3863: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM=-lm) - ;; -esac -AC_SUBST([LIBM]) -]) -m4trace:m4/libtool.m4:3882: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) -m4trace:m4/libtool.m4:3882: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) -m4trace:m4/libtool.m4:8148: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) -m4trace:m4/libtool.m4:8157: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) -m4trace:m4/libtool.m4:8157: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) -m4trace:m4/libtool.m4:8164: -1- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) -]) -m4trace:m4/libtool.m4:8171: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) -]) -m4trace:m4/libtool.m4:8176: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) -m4trace:m4/libtool.m4:8176: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) -m4trace:m4/libtool.m4:8304: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) -m4trace:m4/libtool.m4:8304: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) -m4trace:m4/ltargz.m4:13: -1- AC_DEFUN([LT_FUNC_ARGZ], [ -dnl Required for use of '$SED' in Cygwin configuration. -AC_REQUIRE([AC_PROG_SED])dnl -AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_TYPES([error_t], - [], - [AC_DEFINE([error_t], [int], - [Define to a type to use for 'error_t' if it is not otherwise available.]) - AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h - does not typedef error_t.])], - [#if defined(HAVE_ARGZ_H) -# include -#endif]) - -LT_ARGZ_H= -AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) - -dnl if have system argz functions, allow forced use of -dnl libltdl-supplied implementation (and default to do so -dnl on "known bad" systems). Could use a runtime check, but -dnl (a) detecting malloc issues is notoriously unreliable -dnl (b) only known system that declares argz functions, -dnl provides them, yet they are broken, is cygwin -dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) -dnl So, it's more straightforward simply to special case -dnl this for known bad systems. -AS_IF([test -z "$LT_ARGZ_H"], - [AC_CACHE_CHECK( - [if argz actually works], - [lt_cv_sys_argz_works], - [[case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test no != "$cross_compiling"; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test 1 -lt "$lt_os_major" \ - || { test 1 -eq "$lt_os_major" \ - && { test 5 -lt "$lt_os_minor" \ - || { test 5 -eq "$lt_os_minor" \ - && test 24 -lt "$lt_os_micro"; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac]]) - AS_IF([test yes = "$lt_cv_sys_argz_works"], - [AC_DEFINE([HAVE_WORKING_ARGZ], 1, - [This value is set to 1 to indicate that the system argz facility works])], - [LT_ARGZ_H=lt__argz.h - AC_LIBOBJ([lt__argz])])]) - -AC_SUBST([LT_ARGZ_H]) -]) -m4trace:m4/ltdl.m4:17: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) -_$0($*) -]) -m4trace:m4/ltdl.m4:69: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -]) -m4trace:m4/ltdl.m4:82: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) -m4trace:m4/ltdl.m4:82: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. -You should run autoupdate.])dnl -_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) -m4trace:m4/ltdl.m4:125: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -]) -m4trace:m4/ltdl.m4:138: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) -m4trace:m4/ltdl.m4:138: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. -You should run autoupdate.])dnl -_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) -m4trace:m4/ltdl.m4:214: -1- AC_DEFUN([_LT_LIBOBJ], [ - m4_pattern_allow([^_LT_LIBOBJS$]) - _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" -]) -m4trace:m4/ltdl.m4:227: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -dnl We need to keep our own list of libobjs separate from our parent project, -dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while -dnl we look for our own LIBOBJs. -m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) -m4_pushdef([AC_LIBSOURCES]) - -dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: -m4_if(_LTDL_MODE, [], - [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) - m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) - -AC_ARG_WITH([included_ltdl], - [AS_HELP_STRING([--with-included-ltdl], - [use the GNU ltdl sources included here])]) - -if test yes != "$with_included_ltdl"; then - # We are not being forced to use the included libltdl sources, so - # decide whether there is a useful installed version we can use. - AC_CHECK_HEADER([ltdl.h], - [AC_CHECK_DECL([lt_dlinterface_register], - [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], - [with_included_ltdl=no], - [with_included_ltdl=yes])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT - #include ])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT] - ) -fi - -dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE -dnl was called yet, then for old times' sake, we assume libltdl is in an -dnl eponymous directory: -AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) - -AC_ARG_WITH([ltdl_include], - [AS_HELP_STRING([--with-ltdl-include=DIR], - [use the ltdl headers installed in DIR])]) - -if test -n "$with_ltdl_include"; then - if test -f "$with_ltdl_include/ltdl.h"; then : - else - AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) - fi -else - with_ltdl_include=no -fi - -AC_ARG_WITH([ltdl_lib], - [AS_HELP_STRING([--with-ltdl-lib=DIR], - [use the libltdl.la installed in DIR])]) - -if test -n "$with_ltdl_lib"; then - if test -f "$with_ltdl_lib/libltdl.la"; then : - else - AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) - fi -else - with_ltdl_lib=no -fi - -case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in - ,yes,no,no,) - m4_case(m4_default(_LTDL_TYPE, [convenience]), - [convenience], [_LTDL_CONVENIENCE], - [installable], [_LTDL_INSTALLABLE], - [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) - ;; - ,no,no,no,) - # If the included ltdl is not to be used, then use the - # preinstalled libltdl we found. - AC_DEFINE([HAVE_LTDL], [1], - [Define this if a modern libltdl is already installed]) - LIBLTDL=-lltdl - LTDLDEPS= - LTDLINCL= - ;; - ,no*,no,*) - AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) - ;; - *) with_included_ltdl=no - LIBLTDL="-L$with_ltdl_lib -lltdl" - LTDLDEPS= - LTDLINCL=-I$with_ltdl_include - ;; -esac -INCLTDL=$LTDLINCL - -# Report our decision... -AC_MSG_CHECKING([where to find libltdl headers]) -AC_MSG_RESULT([$LTDLINCL]) -AC_MSG_CHECKING([where to find libltdl library]) -AC_MSG_RESULT([$LIBLTDL]) - -_LTDL_SETUP - -dnl restore autoconf definition. -m4_popdef([AC_LIBOBJ]) -m4_popdef([AC_LIBSOURCES]) - -AC_CONFIG_COMMANDS_PRE([ - _ltdl_libobjs= - _ltdl_ltlibobjs= - if test -n "$_LT_LIBOBJS"; then - # Remove the extension. - _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do - _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" - _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" - done - fi - AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) - AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) -]) - -# Only expand once: -m4_define([LTDL_INIT]) -]) -m4trace:m4/ltdl.m4:353: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) -m4trace:m4/ltdl.m4:353: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:m4/ltdl.m4:354: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) -m4trace:m4/ltdl.m4:354: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:m4/ltdl.m4:355: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) -m4trace:m4/ltdl.m4:355: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete. -You should run autoupdate.])dnl -LTDL_INIT($@)]) -m4trace:m4/ltdl.m4:368: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl -AC_REQUIRE([LT_SYS_MODULE_PATH])dnl -AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl -AC_REQUIRE([LT_LIB_DLLOAD])dnl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl -AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl -AC_REQUIRE([LT_FUNC_ARGZ])dnl - -m4_require([_LT_CHECK_OBJDIR])dnl -m4_require([_LT_HEADER_DLFCN])dnl -m4_require([_LT_CHECK_DLPREOPEN])dnl -m4_require([_LT_DECL_SED])dnl - -dnl Don't require this, or it will be expanded earlier than the code -dnl that sets the variables it relies on: -_LT_ENABLE_INSTALL - -dnl _LTDL_MODE specific code must be called at least once: -_LTDL_MODE_DISPATCH - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). -AC_CONFIG_COMMANDS_PRE([dnl -m4_pattern_allow([^LT_CONFIG_H$])dnl -m4_ifset([AH_HEADER], - [LT_CONFIG_H=AH_HEADER], - [m4_ifset([AC_LIST_HEADERS], - [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], - [])])]) -AC_SUBST([LT_CONFIG_H]) - -AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], - [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) -AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) - -m4_pattern_allow([LT_LIBEXT])dnl -AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) - -name= -eval "lt_libprefix=\"$libname_spec\"" -m4_pattern_allow([LT_LIBPREFIX])dnl -AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" -AC_SUBST([LTDLOPEN]) -]) -m4trace:m4/ltdl.m4:444: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_CACHE_CHECK([whether deplibs are loaded by dlopen], - [lt_cv_sys_dlopen_deplibs], - [# PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this 'case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[[4-9]]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly* | midnightbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[[12345]]*|irix6.[[01]]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[[1234]]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say 'no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to 'yes'. Without it, it would be 'no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say 'yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - ]) -if test yes != "$lt_cv_sys_dlopen_deplibs"; then - AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], - [Define if the OS needs help to load dependent libraries for dlopen().]) -fi -]) -m4trace:m4/ltdl.m4:546: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) -m4trace:m4/ltdl.m4:546: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) -m4trace:m4/ltdl.m4:553: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([what extension is used for runtime loadable modules], - [libltdl_cv_shlibext], -[ -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - ]) -if test -n "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_MODULE_EXT])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], - [Define to the extension used for runtime loadable modules, say, ".so".]) -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_SHARED_EXT])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], - [Define to the shared library suffix, say, ".dylib".]) -fi -if test -n "$shared_archive_member_spec"; then - m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], - [Define to the shared archive member specification, say "(shr.o)".]) -fi -]) -m4trace:m4/ltdl.m4:581: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) -m4trace:m4/ltdl.m4:581: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) -m4trace:m4/ltdl.m4:588: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([what variable specifies run-time module search path], - [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) -if test -n "$lt_cv_module_path_var"; then - m4_pattern_allow([LT_MODULE_PATH_VAR])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], - [Define to the name of the environment variable that determines the run-time module search path.]) -fi -]) -m4trace:m4/ltdl.m4:600: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) -m4trace:m4/ltdl.m4:600: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) -m4trace:m4/ltdl.m4:607: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([for the default library search path], - [lt_cv_sys_dlsearch_path], - [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path=$dir - else - sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir - fi - done - m4_pattern_allow([LT_DLSEARCH_PATH])dnl - AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], - [Define to the system default library search path.]) -fi -]) -m4trace:m4/ltdl.m4:628: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) -m4trace:m4/ltdl.m4:628: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) -m4trace:m4/ltdl.m4:654: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) -LT_DLLOADERS= -AC_SUBST([LT_DLLOADERS]) - -AC_LANG_PUSH([C]) -lt_dlload_save_LIBS=$LIBS - -LIBADD_DLOPEN= -AC_SEARCH_LIBS([dlopen], [dl], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - if test "$ac_cv_search_dlopen" != "none required"; then - LIBADD_DLOPEN=-ldl - fi - libltdl_cv_lib_dl_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H -# include -#endif - ]], [[dlopen(0, 0);]])], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_CHECK_LIB([svld], [dlopen], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) -if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" -then - lt_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - AC_CHECK_FUNCS([dlerror]) - LIBS=$lt_save_LIBS -fi -AC_SUBST([LIBADD_DLOPEN]) - -LIBADD_SHL_LOAD= -AC_CHECK_FUNC([shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], - [AC_CHECK_LIB([dld], [shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD=-ldld])]) -AC_SUBST([LIBADD_SHL_LOAD]) - -case $host_os in -darwin[[1567]].*) -# We only want this for pre-Mac OS X 10.4. - AC_CHECK_FUNC([_dyld_func_lookup], - [AC_DEFINE([HAVE_DYLD], [1], - [Define if you have the _dyld_func_lookup function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | pw32*) - AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -AC_CHECK_LIB([dld], [dld_link], - [AC_DEFINE([HAVE_DLD], [1], - [Define if you have the GNU dld library.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) -AC_SUBST([LIBADD_DLD_LINK]) - -m4_pattern_allow([^LT_DLPREOPEN$]) -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - AC_DEFINE([HAVE_LIBDLLOADER], [1], - [Define if libdlloader will be built on this platform]) -fi -AC_SUBST([LT_DLPREOPEN]) - -dnl This isn't used anymore, but set it for backwards compatibility -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" -AC_SUBST([LIBADD_DL]) - -LIBS=$lt_dlload_save_LIBS -AC_LANG_POP -]) -m4trace:m4/ltdl.m4:749: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) -m4trace:m4/ltdl.m4:749: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) -m4trace:m4/ltdl.m4:757: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([for _ prefix in compiled symbols], - [lt_cv_sys_symbol_underscore], - [lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.c >&AS_MESSAGE_LOG_FD - fi - rm -rf conftest* - ]) - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - AC_SUBST([sys_symbol_underscore]) -]) -m4trace:m4/ltdl.m4:794: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) -m4trace:m4/ltdl.m4:794: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) -m4trace:m4/ltdl.m4:801: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext -if test yes = "$lt_cv_sys_symbol_underscore"; then - if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then - AC_CACHE_CHECK([whether we have to add an underscore for dlsym], - [libltdl_cv_need_uscore], - [libltdl_cv_need_uscore=unknown - dlsym_uscore_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - libname=conftmod # stay within 8.3 filename limits! - cat >$libname.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; }] -_LT_EOF - - # ltfn_module_cmds module_cmds - # Execute tilde-delimited MODULE_CMDS with environment primed for - # $module_cmds or $archive_cmds type content. - ltfn_module_cmds () - {( # subshell avoids polluting parent global environment - module_cmds_save_ifs=$IFS; IFS='~' - for cmd in @S|@1; do - IFS=$module_cmds_save_ifs - libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext - rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. - major=; versuffix=; verstring=; deplibs= - ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= - eval $cmd - done - IFS=$module_cmds_save_ifs - )} - - # Compile a loadable module using libtool macro expansion results. - $CC $pic_flag -c $libname.$ac_ext - ltfn_module_cmds "${module_cmds:-$archive_cmds}" - - # Try to fetch fnord with dlsym(). - libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 - cat >conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifndef RTLD_GLOBAL -# ifdef DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# else -# define RTLD_GLOBAL 0 -# endif -#endif -#ifndef RTLD_NOW -# ifdef DL_NOW -# define RTLD_NOW DL_NOW -# else -# define RTLD_NOW 0 -# endif -#endif -int main () { - void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); - int status = $libltdl_dlunknown; - if (handle) { - if (dlsym (handle, "fnord")) - status = $libltdl_dlnouscore; - else { - if (dlsym (handle, "_fnord")) - status = $libltdl_dluscore; - else - puts (dlerror ()); - } - dlclose (handle); - } else - puts (dlerror ()); - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - libltdl_status=$? - case x$libltdl_status in - x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; - x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; - x*) libltdl_cv_need_uscore=unknown ;; - esac - fi - rm -rf conftest* $libname* - LIBS=$dlsym_uscore_save_LIBS - ]) - fi -fi - -if test yes = "$libltdl_cv_need_uscore"; then - AC_DEFINE([NEED_USCORE], [1], - [Define if dlsym() requires a leading underscore in symbol names.]) -fi -]) -m4trace:m4/ltdl.m4:908: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) -m4trace:m4/ltdl.m4:908: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. -You should run autoupdate.])dnl -m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) -m4trace:m4/ltoptions.m4:14: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) -m4trace:m4/ltoptions.m4:113: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:113: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:148: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:148: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. -You should run autoupdate.])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:197: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) -m4trace:m4/ltoptions.m4:201: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) -m4trace:m4/ltoptions.m4:205: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -m4trace:m4/ltoptions.m4:205: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. -You should run autoupdate.])dnl -AC_ENABLE_SHARED($@)]) -m4trace:m4/ltoptions.m4:206: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -m4trace:m4/ltoptions.m4:206: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. -You should run autoupdate.])dnl -AC_DISABLE_SHARED($@)]) -m4trace:m4/ltoptions.m4:251: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) -m4trace:m4/ltoptions.m4:255: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) -]) -m4trace:m4/ltoptions.m4:259: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -m4trace:m4/ltoptions.m4:259: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. -You should run autoupdate.])dnl -AC_ENABLE_STATIC($@)]) -m4trace:m4/ltoptions.m4:260: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -m4trace:m4/ltoptions.m4:260: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. -You should run autoupdate.])dnl -AC_DISABLE_STATIC($@)]) -m4trace:m4/ltoptions.m4:305: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:305: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:312: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:312: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:411: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltoptions.m4:411: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. -You should run autoupdate.])dnl -_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) -m4trace:m4/ltsugar.m4:14: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) -m4trace:m4/ltversion.m4:19: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.7' -macro_revision='2.4.7' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) -m4trace:m4/lt~obsolete.m4:37: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) -m4trace:m4/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) -m4trace:m4/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) -m4trace:m4/lt~obsolete.m4:43: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) -m4trace:m4/lt~obsolete.m4:45: -1- AC_DEFUN([_LT_AC_TAGVAR]) -m4trace:m4/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) -m4trace:m4/lt~obsolete.m4:47: -1- AC_DEFUN([AC_LTDL_PREOPEN]) -m4trace:m4/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) -m4trace:m4/lt~obsolete.m4:49: -1- AC_DEFUN([_LT_AC_LOCK]) -m4trace:m4/lt~obsolete.m4:50: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) -m4trace:m4/lt~obsolete.m4:51: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) -m4trace:m4/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) -m4trace:m4/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) -m4trace:m4/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) -m4trace:m4/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LTDL_OBJDIR]) -m4trace:m4/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) -m4trace:m4/lt~obsolete.m4:57: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) -m4trace:m4/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PATH_MAGIC]) -m4trace:m4/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_GNU]) -m4trace:m4/lt~obsolete.m4:60: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) -m4trace:m4/lt~obsolete.m4:61: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) -m4trace:m4/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) -m4trace:m4/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) -m4trace:m4/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) -m4trace:m4/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) -m4trace:m4/lt~obsolete.m4:66: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) -m4trace:m4/lt~obsolete.m4:67: -1- AC_DEFUN([LT_AC_PROG_EGREP]) -m4trace:m4/lt~obsolete.m4:72: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) -m4trace:m4/lt~obsolete.m4:73: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) -m4trace:m4/lt~obsolete.m4:74: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) -m4trace:m4/lt~obsolete.m4:75: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) -m4trace:m4/lt~obsolete.m4:76: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) -m4trace:m4/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_CXX]) -m4trace:m4/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_F77]) -m4trace:m4/lt~obsolete.m4:80: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) -m4trace:m4/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) -m4trace:m4/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) -m4trace:m4/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) -m4trace:m4/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) -m4trace:m4/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) -m4trace:m4/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) -m4trace:m4/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) -m4trace:m4/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) -m4trace:m4/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) -m4trace:m4/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) -m4trace:m4/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) -m4trace:m4/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) -m4trace:m4/lt~obsolete.m4:94: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP]) -m4trace:m4/lt~obsolete.m4:97: -1- AC_DEFUN([_LT_PROG_F77]) -m4trace:m4/lt~obsolete.m4:98: -1- AC_DEFUN([_LT_PROG_FC]) -m4trace:m4/lt~obsolete.m4:99: -1- AC_DEFUN([_LT_PROG_CXX]) -m4trace:m4/m4.m4:20: -1- AC_DEFUN([AC_PROG_GNU_M4], [AC_ARG_VAR([M4], [Location of GNU M4 1.4.6 or later. Defaults to the first - program of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs.]) - AC_CACHE_CHECK([for GNU M4 that supports accurate traces], [ac_cv_path_M4], - [rm -f conftest.m4f -ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} -AS_UNSET([POSIXLY_CORRECT]) -AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4 gnum4], - [dnl Creative quoting here to avoid raw dnl and ifdef in configure. - # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. - # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. - # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy - # false positive strstr. - ac_snippet=change'quote(<,>)in''dir(,mac,bug)' - ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(dnl -;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,dnl -:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' - test -z "`$ac_path_M4 -F conftest.m4f &1`" \ - && test -z "`AS_ECHO([$ac_snippet]) | $ac_path_M4 --trace=mac 2>&1`" \ - && test -f conftest.m4f \ - && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: - rm -f conftest.m4f], - [AC_MSG_ERROR([no acceptable m4 could be found in \$PATH. -GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. -GNU M4 1.4.15 uses a buggy replacement strstr on some systems. -Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.])])]) - M4=$ac_cv_path_M4 - AC_CACHE_CHECK([whether $ac_cv_path_M4 accepts --gnu], - [ac_cv_prog_gnu_m4_gnu], - [case `$M4 --help < /dev/null 2>&1` in - *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; - *) ac_cv_prog_gnu_m4_gnu=no ;; - esac]) - if test yes = "$ac_cv_prog_gnu_m4_gnu"; then - M4_GNU=--gnu - else - M4_GNU= - fi - AC_SUBST([M4_GNU]) - if test yes = "$ac_had_posixly_correct"; then - POSIXLY_CORRECT=: - if test no = $ac_cv_prog_gnu_m4_gnu; then - AC_MSG_WARN([the version of M4 that was found does not support -g]) - AC_MSG_WARN([using it with POSIXLY_CORRECT set may cause problems]) - fi - fi - AC_CACHE_CHECK([how m4 supports trace files], [ac_cv_prog_gnu_m4_debugfile], - [case `$M4 --help < /dev/null 2>&1` in - *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; - *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; - esac]) - AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile]) -]) -m4trace:m4/zzgnulib.m4:23: -1- AC_DEFUN([gl_ZZGNULIB]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:34: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^SHELL$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PATH_SEPARATOR$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^exec_prefix$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^prefix$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^program_transform_name$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^bindir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^sbindir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^libexecdir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^datarootdir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^datadir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^sysconfdir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^sharedstatedir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^localstatedir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^runstatedir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^includedir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^oldincludedir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^docdir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^infodir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^htmldir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^dvidir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^pdfdir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^psdir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^libdir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^localedir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^mandir$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^DEFS$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_C$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_N$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_T$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^build_alias$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^host_alias$]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^target_alias$]) -m4trace:configure.ac:58: -1- LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive]) -m4trace:configure.ac:58: -1- m4_pattern_allow([^ltdl_dir$]) -m4trace:configure.ac:59: -1- m4_pattern_allow([^aux_dir$]) -m4trace:configure.ac:60: -1- _AM_CONFIG_MACRO_DIRS([m4]) -m4trace:configure.ac:60: -1- m4_pattern_allow([^macro_dir$]) -m4trace:configure.ac:64: -1- m4_pattern_allow([^package_revision$]) -m4trace:configure.ac:71: -1- m4_pattern_allow([^AUTOM4TE$]) -m4trace:configure.ac:72: -1- m4_pattern_allow([^AUTOTEST$]) -m4trace:configure.ac:88: -1- AC_PROG_GNU_M4 -m4trace:configure.ac:88: -1- m4_pattern_allow([^M4$]) -m4trace:configure.ac:88: -1- m4_pattern_allow([^M4_GNU$]) -m4trace:configure.ac:88: -1- m4_pattern_allow([^M4_DEBUGFILE$]) -m4trace:configure.ac:98: -1- AM_INIT_AUTOMAKE([1.11.1 gnu subdir-objects dist-xz]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) -m4trace:configure.ac:98: -1- AM_SET_CURRENT_AUTOMAKE_VERSION -m4trace:configure.ac:98: -1- AM_AUTOMAKE_VERSION([1.16.1]) -m4trace:configure.ac:98: -1- _AM_AUTOCONF_VERSION([2.69]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_DATA$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^am__isrc$]) -m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([am__isrc]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^CYGPATH_W$]) -m4trace:configure.ac:98: -1- _AM_SET_OPTIONS([1.11.1 gnu subdir-objects dist-xz]) -m4trace:configure.ac:98: -1- _AM_SET_OPTION([1.11.1]) -m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([1.11.1]) -m4trace:configure.ac:98: -1- _AM_SET_OPTION([gnu]) -m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([gnu]) -m4trace:configure.ac:98: -1- _AM_SET_OPTION([subdir-objects]) -m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([subdir-objects]) -m4trace:configure.ac:98: -1- _AM_SET_OPTION([dist-xz]) -m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([dist-xz]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:98: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])]) -m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([no-define]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:98: -1- AM_SANITY_CHECK -m4trace:configure.ac:98: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -m4trace:configure.ac:98: -1- AM_MISSING_HAS_RUN -m4trace:configure.ac:98: -1- AM_AUX_DIR_EXPAND -m4trace:configure.ac:98: -1- m4_pattern_allow([^ACLOCAL$]) -m4trace:configure.ac:98: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOCONF$]) -m4trace:configure.ac:98: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOMAKE$]) -m4trace:configure.ac:98: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOHEADER$]) -m4trace:configure.ac:98: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^MAKEINFO$]) -m4trace:configure.ac:98: -1- AM_PROG_INSTALL_SH -m4trace:configure.ac:98: -1- m4_pattern_allow([^install_sh$]) -m4trace:configure.ac:98: -1- AM_PROG_INSTALL_STRIP -m4trace:configure.ac:98: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^MKDIR_P$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^mkdir_p$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AWK$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:98: -1- AM_SET_LEADING_DOT -m4trace:configure.ac:98: -1- m4_pattern_allow([^am__leading_dot$]) -m4trace:configure.ac:98: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([tar-ustar]) -m4trace:configure.ac:98: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) -m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([tar-pax]) -m4trace:configure.ac:98: -1- _AM_PROG_TAR([v7]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AMTAR$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^am__tar$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^am__untar$]) -m4trace:configure.ac:98: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -m4trace:configure.ac:98: -2- _AM_MANGLE_OPTION([no-dependencies]) -m4trace:configure.ac:98: -1- AM_SILENT_RULES -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:98: -1- AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:98: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:99: -1- AM_SILENT_RULES([yes]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:99: -1- AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:99: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:110: -1- AB_INIT([$autobuild_mode]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^build$]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^build_cpu$]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^build_vendor$]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^build_os$]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^host$]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^host_cpu$]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^host_vendor$]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^host_os$]) -m4trace:configure.ac:114: -1- m4_pattern_allow([^CONFIG_STATUS_DEPENDENCIES$]) -m4trace:configure.ac:121: -1- m4_pattern_allow([^aclocaldir$]) -m4trace:configure.ac:122: -1- m4_pattern_allow([^pkgdatadir$]) -m4trace:configure.ac:134: -1- m4_pattern_allow([^pkgaux_scripts$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CFLAGS$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^ac_ct_CC$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^EXEEXT$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^OBJEXT$]) -m4trace:configure.ac:144: -1- _AM_PROG_CC_C_O -m4trace:configure.ac:144: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) -m4trace:configure.ac:144: -1- gl_COMPILER_CLANG -m4trace:configure.ac:144: -1- gl_COMPILER_PREPARE_CHECK_DECL -m4trace:configure.ac:144: -1- _AM_DEPENDENCIES([CC]) -m4trace:configure.ac:144: -1- AM_SET_DEPDIR -m4trace:configure.ac:144: -1- m4_pattern_allow([^DEPDIR$]) -m4trace:configure.ac:144: -1- AM_OUTPUT_DEPENDENCY_COMMANDS -m4trace:configure.ac:144: -1- AM_MAKE_INCLUDE -m4trace:configure.ac:144: -1- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^am__include$]) -m4trace:configure.ac:144: -1- AM_DEP_TRACK -m4trace:configure.ac:144: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEP_TRUE$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEP_FALSE$]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^am__nodep$]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__nodep]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CCDEPMODE$]) -m4trace:configure.ac:144: -1- AM_CONDITIONAL([am__fastdepCC], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) -m4trace:configure.ac:145: -1- GL_EARLY -m4trace:configure.ac:145: -1- m4_pattern_forbid([^gl_[A-Z]]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_ES$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_LIBOBJS$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_LTLIBOBJS$]) -m4trace:configure.ac:145: -1- gl_PROG_AR_RANLIB -m4trace:configure.ac:145: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:145: -1- AC_PROG_EGREP -m4trace:configure.ac:145: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^EGREP$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^ARFLAGS$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:146: -1- AM_PROG_CC_C_O -m4trace:configure.ac:147: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:147: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:147: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:152: -1- LT_INIT([dlopen win32-dll]) -m4trace:configure.ac:152: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) -m4trace:configure.ac:152: -1- LTOPTIONS_VERSION -m4trace:configure.ac:152: -1- LTSUGAR_VERSION -m4trace:configure.ac:152: -1- LTVERSION_VERSION -m4trace:configure.ac:152: -1- LTOBSOLETE_VERSION -m4trace:configure.ac:152: -1- _LT_PROG_LTMAIN -m4trace:configure.ac:152: -1- m4_pattern_allow([^AS$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LIBTOOL$]) -m4trace:configure.ac:152: -1- _LT_PREPARE_SED_QUOTE_VARS -m4trace:configure.ac:152: -1- _LT_PROG_ECHO_BACKSLASH -m4trace:configure.ac:152: -1- LT_PATH_LD -m4trace:configure.ac:152: -1- m4_pattern_allow([^SED$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^FGREP$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:152: -1- LT_PATH_NM -m4trace:configure.ac:152: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^NM$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LN_S$]) -m4trace:configure.ac:152: -1- LT_CMD_MAX_LEN -m4trace:configure.ac:152: -1- m4_pattern_allow([^FILECMD$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^ac_ct_AR$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:152: -1- _LT_WITH_SYSROOT -m4trace:configure.ac:152: -1- m4_pattern_allow([LT_OBJDIR]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LT_OBJDIR$]) -m4trace:configure.ac:152: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:152: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) -m4trace:configure.ac:152: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) -m4trace:configure.ac:152: -1- LT_SUPPORTED_TAG([CC]) -m4trace:configure.ac:152: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:152: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:152: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) -m4trace:configure.ac:152: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) -m4trace:configure.ac:152: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^MANIFEST_TOOL$]) -m4trace:configure.ac:152: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:152: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:152: -1- _LT_REQUIRED_DARWIN_CHECKS -m4trace:configure.ac:152: -1- m4_pattern_allow([^DSYMUTIL$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^NMEDIT$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LIPO$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OTOOL$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OTOOL64$]) -m4trace:configure.ac:152: -1- _LT_LINKER_OPTION([if $CC understands -b], [lt_cv_prog_compiler__b], [-b], [_LT_TAGVAR(archive_cmds, )='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, )='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags']) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:152: -1- LT_SYS_DLOPEN_SELF -m4trace:configure.ac:152: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) -m4trace:configure.ac:154: -1- _LTDL_SETUP -m4trace:configure.ac:154: -1- LT_SYS_MODULE_EXT -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_MODULE_EXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_MODULE_EXT$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_SHARED_EXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_SHARED_EXT$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_SHARED_LIB_MEMBER]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_SHARED_LIB_MEMBER$]) -m4trace:configure.ac:154: -1- LT_SYS_MODULE_PATH -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_MODULE_PATH_VAR]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_MODULE_PATH_VAR$]) -m4trace:configure.ac:154: -1- LT_SYS_DLSEARCH_PATH -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_DLSEARCH_PATH]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLSEARCH_PATH$]) -m4trace:configure.ac:154: -1- LT_LIB_DLLOAD -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLLOADERS$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLLOADERS$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DLERROR$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DLOPEN$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_SHL_LOAD$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DYLD$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DECL_CYGWIN_CONV_PATH$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DLD$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DLD_LINK$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLPREOPEN$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDLLOADER$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLPREOPEN$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DL$]) -m4trace:configure.ac:154: -1- LT_SYS_SYMBOL_USCORE -m4trace:configure.ac:154: -1- m4_pattern_allow([^sys_symbol_underscore$]) -m4trace:configure.ac:154: -1- LT_FUNC_DLSYM_USCORE -m4trace:configure.ac:154: -1- m4_pattern_allow([^NEED_USCORE$]) -m4trace:configure.ac:154: -1- LT_SYS_DLOPEN_DEPLIBS -m4trace:configure.ac:154: -1- m4_pattern_allow([^LTDL_DLOPEN_DEPLIBS$]) -m4trace:configure.ac:154: -1- LT_FUNC_ARGZ -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_ARGZ_H$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_ERROR_T$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^error_t$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^__error_t_defined$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_WORKING_ARGZ$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_ARGZ_H$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_PRELOADED_SYMBOLS$]) -m4trace:configure.ac:154: -1- AM_CONDITIONAL([INSTALL_LTDL], [test no != "${enable_ltdl_install-no}"]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^INSTALL_LTDL_TRUE$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^INSTALL_LTDL_FALSE$]) -m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([INSTALL_LTDL_TRUE]) -m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([INSTALL_LTDL_FALSE]) -m4trace:configure.ac:154: -1- AM_CONDITIONAL([CONVENIENCE_LTDL], [test no != "${enable_ltdl_convenience-no}"]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^CONVENIENCE_LTDL_TRUE$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^CONVENIENCE_LTDL_FALSE$]) -m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([CONVENIENCE_LTDL_TRUE]) -m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([CONVENIENCE_LTDL_FALSE]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_CONFIG_H$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_LIBEXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_LIBEXT$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_LIBPREFIX]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_LIBPREFIX$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LTDLOPEN$]) -m4trace:configure.ac:157: -1- LT_LANG([C++]) -m4trace:configure.ac:157: -1- LT_SUPPORTED_TAG([CXX]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXFLAGS$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^ac_ct_CXX$]) -m4trace:configure.ac:157: -1- _AM_DEPENDENCIES([CXX]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXDEPMODE$]) -m4trace:configure.ac:157: -1- AM_CONDITIONAL([am__fastdepCXX], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) -m4trace:configure.ac:157: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) -m4trace:configure.ac:157: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) -m4trace:configure.ac:157: -1- LT_LANG([CXX]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:157: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:157: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:157: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:157: -1- LT_PATH_LD -m4trace:configure.ac:157: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:157: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:157: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:157: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, CXX) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, CXX)], [$_LT_TAGVAR(lt_prog_compiler_pic, CXX)@&t@m4_if([CXX],[],[ -DPIC],[m4_if([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, CXX) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_TAGVAR(lt_prog_compiler_pic, CXX)" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, CXX)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) -m4trace:configure.ac:157: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, CXX)=]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:158: -1- LT_LANG([Fortran 77]) -m4trace:configure.ac:158: -1- LT_SUPPORTED_TAG([F77]) -m4trace:configure.ac:158: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:158: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:158: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:158: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, F77) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, F77)], [$_LT_TAGVAR(lt_prog_compiler_pic, F77)@&t@m4_if([F77],[],[ -DPIC],[m4_if([F77],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, F77) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, F77)=" $_LT_TAGVAR(lt_prog_compiler_pic, F77)" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, F77)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, F77)=no]) -m4trace:configure.ac:158: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_F77], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, F77)=]) -m4trace:configure.ac:158: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^F77$]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^FFLAGS$]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^F77$]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^ac_ct_F77$]) -m4trace:configure.ac:158: -1- LT_LANG([F77]) -m4trace:configure.ac:158: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:159: -1- LT_LANG([Fortran]) -m4trace:configure.ac:159: -1- LT_SUPPORTED_TAG([FC]) -m4trace:configure.ac:159: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:159: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:159: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:159: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, FC) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, FC)], [$_LT_TAGVAR(lt_prog_compiler_pic, FC)@&t@m4_if([FC],[],[ -DPIC],[m4_if([FC],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, FC) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, FC)=" $_LT_TAGVAR(lt_prog_compiler_pic, FC)" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, FC)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, FC)=no]) -m4trace:configure.ac:159: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_FC], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, FC)=]) -m4trace:configure.ac:159: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^FC$]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^FCFLAGS$]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^FC$]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^ac_ct_FC$]) -m4trace:configure.ac:159: -1- LT_LANG([FC]) -m4trace:configure.ac:159: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:160: -1- LT_LANG([Go]) -m4trace:configure.ac:160: -1- LT_SUPPORTED_TAG([GO]) -m4trace:configure.ac:160: -1- LT_PROG_GO -m4trace:configure.ac:160: -1- m4_pattern_allow([^GOC$]) -m4trace:configure.ac:160: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... -m4/libtool.m4:8027: _LT_LANG_GO_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:160: the top level]) -m4trace:configure.ac:160: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:160: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:160: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:160: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, GO)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, GO) -fno-rtti -fno-exceptions"]) -m4trace:configure.ac:160: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, GO) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, GO)], [$_LT_TAGVAR(lt_prog_compiler_pic, GO)@&t@m4_if([GO],[],[ -DPIC],[m4_if([GO],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, GO) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, GO)=" $_LT_TAGVAR(lt_prog_compiler_pic, GO)" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, GO)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, GO)=no]) -m4trace:configure.ac:160: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_GO], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, GO)=]) -m4trace:configure.ac:160: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:160: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:160: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... -m4/libtool.m4:8027: _LT_LANG_GO_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:160: the top level]) -m4trace:configure.ac:161: -1- LT_LANG([Java]) -m4trace:configure.ac:161: -1- LT_SUPPORTED_TAG([GCJ]) -m4trace:configure.ac:161: -1- LT_PROG_GCJ -m4trace:configure.ac:161: -1- m4_pattern_allow([^GCJ$]) -m4trace:configure.ac:161: -1- m4_pattern_allow([^GCJFLAGS$]) -m4trace:configure.ac:161: -1- LT_LANG([GCJ]) -m4trace:configure.ac:161: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... -m4/libtool.m4:7956: _LT_LANG_GCJ_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:161: the top level]) -m4trace:configure.ac:161: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:161: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:161: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:161: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, GCJ)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, GCJ) -fno-rtti -fno-exceptions"]) -m4trace:configure.ac:161: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, GCJ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, GCJ)], [$_LT_TAGVAR(lt_prog_compiler_pic, GCJ)@&t@m4_if([GCJ],[],[ -DPIC],[m4_if([GCJ],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, GCJ) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, GCJ)=" $_LT_TAGVAR(lt_prog_compiler_pic, GCJ)" ;; - esac], [_LT_TAGVAR(lt_prog_compiler_pic, GCJ)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, GCJ)=no]) -m4trace:configure.ac:161: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_GCJ], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, GCJ)=]) -m4trace:configure.ac:161: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:161: -1- _LT_DLL_DEF_P([$export_symbols]) -m4trace:configure.ac:161: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... -m4/libtool.m4:7956: _LT_LANG_GCJ_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:161: the top level]) -m4trace:configure.ac:162: -1- LT_LANG([Windows Resource]) -m4trace:configure.ac:162: -1- LT_SUPPORTED_TAG([RC]) -m4trace:configure.ac:162: -1- LT_PROG_RC -m4trace:configure.ac:162: -1- m4_pattern_allow([^RC$]) -m4trace:configure.ac:162: -1- LT_LANG([RC]) -m4trace:configure.ac:162: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... -m4/libtool.m4:8098: _LT_LANG_RC_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:162: the top level]) -m4trace:configure.ac:162: -1- _LT_COMPILER_BOILERPLATE -m4trace:configure.ac:162: -1- _LT_LINKER_BOILERPLATE -m4trace:configure.ac:162: -1- _LT_CC_BASENAME([$compiler]) -m4trace:configure.ac:162: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... -m4/libtool.m4:8098: _LT_LANG_RC_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:162: the top level]) -m4trace:configure.ac:166: -1- m4_pattern_allow([^to_host_file_cmd$]) -m4trace:configure.ac:167: -1- m4_pattern_allow([^to_tool_file_cmd$]) -m4trace:configure.ac:170: -1- m4_pattern_allow([^with_aix_soname$]) -m4trace:configure.ac:175: -1- GL_INIT -m4trace:configure.ac:175: -1- AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_COND_LIBTOOL_TRUE$]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_COND_LIBTOOL_FALSE$]) -m4trace:configure.ac:175: -1- _AM_SUBST_NOTMAKE([GL_COND_LIBTOOL_TRUE]) -m4trace:configure.ac:175: -1- _AM_SUBST_NOTMAKE([GL_COND_LIBTOOL_FALSE]) -m4trace:configure.ac:175: -1- gl_COMMON -m4trace:configure.ac:175: -1- gl_00GNULIB -m4trace:configure.ac:175: -1- gl_COMMON_BODY -m4trace:configure.ac:175: -1- gl_ZZGNULIB -m4trace:configure.ac:175: -1- gl_COMMON -m4trace:configure.ac:175: -1- gl_CC_ALLOW_WARNINGS -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CFLAG_ALLOW_WARNINGS$]) -m4trace:configure.ac:175: -1- gl_CXX_ALLOW_WARNINGS -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CXXFLAG_ALLOW_WARNINGS$]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GLtests_WITNESS$]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^abs_aux_dir$]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^abs_aux_dir$]) -m4trace:configure.ac:175: -1- gl_CC_GNULIB_WARNINGS -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CFLAG_GNULIB_WARNINGS$]) -m4trace:configure.ac:180: -1- AM_MISSING_PROG([HELP2MAN], [help2man]) -m4trace:configure.ac:180: -1- m4_pattern_allow([^HELP2MAN$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:186: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) -m4trace:configure.ac:186: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) -m4trace:configure.ac:186: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^LT_CONFIG_H$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^CONFIG_INCLUDE$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LIBOBJS$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LTLIBOBJS$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LIBOBJDEPS$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LIBOBJS$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LTLIBOBJS$]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LIBOBJDEPS$]) -m4trace:configure.ac:186: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) -m4trace:configure.ac:186: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS -m4trace:configure.ac:186: -1- AM_RUN_LOG([cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles]) -m4trace:configure.ac:186: -1- _LT_PROG_LTMAIN diff --git a/BUILD/libtool-2.4.7/autom4te.cache/traces.1 b/BUILD/libtool-2.4.7/autom4te.cache/traces.1 deleted file mode 100644 index 4c7a850..0000000 --- a/BUILD/libtool-2.4.7/autom4te.cache/traces.1 +++ /dev/null @@ -1,1493 +0,0 @@ -m4trace:aclocal.m4:679: -1- AC_SUBST([am__quote]) -m4trace:aclocal.m4:679: -1- AC_SUBST_TRACE([am__quote]) -m4trace:aclocal.m4:679: -1- m4_pattern_allow([^am__quote$]) -m4trace:aclocal.m4:1136: -1- m4_include([m4/00gnulib.m4]) -m4trace:aclocal.m4:1137: -1- m4_include([m4/autobuild.m4]) -m4trace:aclocal.m4:1138: -1- m4_include([m4/gnulib-common.m4]) -m4trace:aclocal.m4:1139: -1- m4_include([m4/gnulib-comp.m4]) -m4trace:aclocal.m4:1140: -1- m4_include([m4/libtool.m4]) -m4trace:aclocal.m4:1141: -1- m4_include([m4/ltargz.m4]) -m4trace:aclocal.m4:1142: -1- m4_include([m4/ltdl.m4]) -m4trace:aclocal.m4:1143: -1- m4_include([m4/ltoptions.m4]) -m4trace:aclocal.m4:1144: -1- m4_include([m4/ltsugar.m4]) -m4trace:aclocal.m4:1145: -1- m4_include([m4/ltversion.m4]) -m4trace:aclocal.m4:1146: -1- m4_include([m4/lt~obsolete.m4]) -m4trace:aclocal.m4:1147: -1- m4_include([m4/m4.m4]) -m4trace:aclocal.m4:1148: -1- m4_include([m4/zzgnulib.m4]) -m4trace:configure.ac:34: -1- AC_INIT([GNU Libtool], [2.4.7], [bug-libtool@gnu.org]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:34: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:34: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:34: -1- AC_SUBST([SHELL]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([SHELL]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^SHELL$]) -m4trace:configure.ac:34: -1- AC_SUBST([PATH_SEPARATOR]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PATH_SEPARATOR$]) -m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_NAME]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_STRING]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:34: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([PACKAGE_URL]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:34: -1- AC_SUBST([exec_prefix], [NONE]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([exec_prefix]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^exec_prefix$]) -m4trace:configure.ac:34: -1- AC_SUBST([prefix], [NONE]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([prefix]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^prefix$]) -m4trace:configure.ac:34: -1- AC_SUBST([program_transform_name], [s,x,x,]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([program_transform_name]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^program_transform_name$]) -m4trace:configure.ac:34: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([bindir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^bindir$]) -m4trace:configure.ac:34: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([sbindir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^sbindir$]) -m4trace:configure.ac:34: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([libexecdir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^libexecdir$]) -m4trace:configure.ac:34: -1- AC_SUBST([datarootdir], ['${prefix}/share']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([datarootdir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^datarootdir$]) -m4trace:configure.ac:34: -1- AC_SUBST([datadir], ['${datarootdir}']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([datadir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^datadir$]) -m4trace:configure.ac:34: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([sysconfdir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^sysconfdir$]) -m4trace:configure.ac:34: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([sharedstatedir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^sharedstatedir$]) -m4trace:configure.ac:34: -1- AC_SUBST([localstatedir], ['${prefix}/var']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([localstatedir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^localstatedir$]) -m4trace:configure.ac:34: -1- AC_SUBST([runstatedir], ['${localstatedir}/run']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([runstatedir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^runstatedir$]) -m4trace:configure.ac:34: -1- AC_SUBST([includedir], ['${prefix}/include']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([includedir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^includedir$]) -m4trace:configure.ac:34: -1- AC_SUBST([oldincludedir], ['/usr/include']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([oldincludedir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^oldincludedir$]) -m4trace:configure.ac:34: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], - ['${datarootdir}/doc/${PACKAGE_TARNAME}'], - ['${datarootdir}/doc/${PACKAGE}'])]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([docdir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^docdir$]) -m4trace:configure.ac:34: -1- AC_SUBST([infodir], ['${datarootdir}/info']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([infodir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^infodir$]) -m4trace:configure.ac:34: -1- AC_SUBST([htmldir], ['${docdir}']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([htmldir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^htmldir$]) -m4trace:configure.ac:34: -1- AC_SUBST([dvidir], ['${docdir}']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([dvidir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^dvidir$]) -m4trace:configure.ac:34: -1- AC_SUBST([pdfdir], ['${docdir}']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([pdfdir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^pdfdir$]) -m4trace:configure.ac:34: -1- AC_SUBST([psdir], ['${docdir}']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([psdir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^psdir$]) -m4trace:configure.ac:34: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([libdir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^libdir$]) -m4trace:configure.ac:34: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([localedir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^localedir$]) -m4trace:configure.ac:34: -1- AC_SUBST([mandir], ['${datarootdir}/man']) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([mandir]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^mandir$]) -m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ -@%:@undef PACKAGE_NAME]) -m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ -@%:@undef PACKAGE_TARNAME]) -m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ -@%:@undef PACKAGE_VERSION]) -m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ -@%:@undef PACKAGE_STRING]) -m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ -@%:@undef PACKAGE_BUGREPORT]) -m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:34: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ -@%:@undef PACKAGE_URL]) -m4trace:configure.ac:34: -1- AC_SUBST([DEFS]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([DEFS]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^DEFS$]) -m4trace:configure.ac:34: -1- AC_SUBST([ECHO_C]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([ECHO_C]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_C$]) -m4trace:configure.ac:34: -1- AC_SUBST([ECHO_N]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([ECHO_N]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_N$]) -m4trace:configure.ac:34: -1- AC_SUBST([ECHO_T]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([ECHO_T]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^ECHO_T$]) -m4trace:configure.ac:34: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:34: -1- AC_SUBST([build_alias]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([build_alias]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^build_alias$]) -m4trace:configure.ac:34: -1- AC_SUBST([host_alias]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([host_alias]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^host_alias$]) -m4trace:configure.ac:34: -1- AC_SUBST([target_alias]) -m4trace:configure.ac:34: -1- AC_SUBST_TRACE([target_alias]) -m4trace:configure.ac:34: -1- m4_pattern_allow([^target_alias$]) -m4trace:configure.ac:56: -1- AC_CONFIG_HEADERS([config.h:config-h.in]) -m4trace:configure.ac:58: -1- LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive]) -m4trace:configure.ac:58: -1- AC_SUBST([ltdl_dir], [libltdl]) -m4trace:configure.ac:58: -1- AC_SUBST_TRACE([ltdl_dir]) -m4trace:configure.ac:58: -1- m4_pattern_allow([^ltdl_dir$]) -m4trace:configure.ac:59: -1- AC_CONFIG_AUX_DIR([build-aux]) -m4trace:configure.ac:59: -1- AC_SUBST([aux_dir], [build-aux]) -m4trace:configure.ac:59: -1- AC_SUBST_TRACE([aux_dir]) -m4trace:configure.ac:59: -1- m4_pattern_allow([^aux_dir$]) -m4trace:configure.ac:60: -1- AC_SUBST([macro_dir], [m4]) -m4trace:configure.ac:60: -1- AC_SUBST_TRACE([macro_dir]) -m4trace:configure.ac:60: -1- m4_pattern_allow([^macro_dir$]) -m4trace:configure.ac:61: -1- AC_CONFIG_LIBOBJ_DIR([libltdl]) -m4trace:configure.ac:64: -1- AC_SUBST([package_revision]) -m4trace:configure.ac:64: -1- AC_SUBST_TRACE([package_revision]) -m4trace:configure.ac:64: -1- m4_pattern_allow([^package_revision$]) -m4trace:configure.ac:71: -1- AC_SUBST([AUTOM4TE], [${AUTOM4TE=autom4te}]) -m4trace:configure.ac:71: -1- AC_SUBST_TRACE([AUTOM4TE]) -m4trace:configure.ac:71: -1- m4_pattern_allow([^AUTOM4TE$]) -m4trace:configure.ac:72: -1- AC_SUBST([AUTOTEST], ['$(AUTOM4TE) --language=autotest']) -m4trace:configure.ac:72: -1- AC_SUBST_TRACE([AUTOTEST]) -m4trace:configure.ac:72: -1- m4_pattern_allow([^AUTOTEST$]) -m4trace:configure.ac:88: -1- AC_SUBST([M4]) -m4trace:configure.ac:88: -1- AC_SUBST_TRACE([M4]) -m4trace:configure.ac:88: -1- m4_pattern_allow([^M4$]) -m4trace:configure.ac:88: -1- AC_SUBST([M4_GNU]) -m4trace:configure.ac:88: -1- AC_SUBST_TRACE([M4_GNU]) -m4trace:configure.ac:88: -1- m4_pattern_allow([^M4_GNU$]) -m4trace:configure.ac:88: -1- AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile]) -m4trace:configure.ac:88: -1- AC_SUBST_TRACE([M4_DEBUGFILE]) -m4trace:configure.ac:88: -1- m4_pattern_allow([^M4_DEBUGFILE$]) -m4trace:configure.ac:98: -1- AM_INIT_AUTOMAKE([1.11.1 gnu subdir-objects dist-xz]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) -m4trace:configure.ac:98: -1- AM_AUTOMAKE_VERSION([1.16.1]) -m4trace:configure.ac:98: -1- AC_REQUIRE_AUX_FILE([install-sh]) -m4trace:configure.ac:98: -1- AC_SUBST([INSTALL_PROGRAM]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) -m4trace:configure.ac:98: -1- AC_SUBST([INSTALL_SCRIPT]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) -m4trace:configure.ac:98: -1- AC_SUBST([INSTALL_DATA]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([INSTALL_DATA]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_DATA$]) -m4trace:configure.ac:98: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([am__isrc]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^am__isrc$]) -m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([am__isrc]) -m4trace:configure.ac:98: -1- AC_SUBST([CYGPATH_W]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([CYGPATH_W]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^CYGPATH_W$]) -m4trace:configure.ac:98: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME']) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([PACKAGE]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:98: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION']) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([VERSION]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:98: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^PACKAGE$]) -m4trace:configure.ac:98: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ -@%:@undef PACKAGE]) -m4trace:configure.ac:98: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^VERSION$]) -m4trace:configure.ac:98: -1- AH_OUTPUT([VERSION], [/* Version number of package */ -@%:@undef VERSION]) -m4trace:configure.ac:98: -1- AC_REQUIRE_AUX_FILE([missing]) -m4trace:configure.ac:98: -1- AC_SUBST([ACLOCAL]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([ACLOCAL]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^ACLOCAL$]) -m4trace:configure.ac:98: -1- AC_SUBST([AUTOCONF]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AUTOCONF]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOCONF$]) -m4trace:configure.ac:98: -1- AC_SUBST([AUTOMAKE]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AUTOMAKE]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOMAKE$]) -m4trace:configure.ac:98: -1- AC_SUBST([AUTOHEADER]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AUTOHEADER]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AUTOHEADER$]) -m4trace:configure.ac:98: -1- AC_SUBST([MAKEINFO]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([MAKEINFO]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^MAKEINFO$]) -m4trace:configure.ac:98: -1- AC_SUBST([install_sh]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([install_sh]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^install_sh$]) -m4trace:configure.ac:98: -1- AC_SUBST([STRIP]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([STRIP]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:98: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) -m4trace:configure.ac:98: -1- AC_REQUIRE_AUX_FILE([install-sh]) -m4trace:configure.ac:98: -1- AC_SUBST([MKDIR_P]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([MKDIR_P]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^MKDIR_P$]) -m4trace:configure.ac:98: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([mkdir_p]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^mkdir_p$]) -m4trace:configure.ac:98: -1- AC_SUBST([AWK]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AWK]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AWK$]) -m4trace:configure.ac:98: -1- AC_SUBST([SET_MAKE]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([SET_MAKE]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^SET_MAKE$]) -m4trace:configure.ac:98: -1- AC_SUBST([am__leading_dot]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([am__leading_dot]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^am__leading_dot$]) -m4trace:configure.ac:98: -1- AC_SUBST([AMTAR], ['$${TAR-tar}']) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AMTAR]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AMTAR$]) -m4trace:configure.ac:98: -1- AC_SUBST([am__tar]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([am__tar]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^am__tar$]) -m4trace:configure.ac:98: -1- AC_SUBST([am__untar]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([am__untar]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^am__untar$]) -m4trace:configure.ac:98: -1- AM_SILENT_RULES -m4trace:configure.ac:98: -1- AC_SUBST([AM_V]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AM_V]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:98: -1- AC_SUBST([AM_DEFAULT_V]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:98: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:98: -1- AC_SUBST([AM_BACKSLASH]) -m4trace:configure.ac:98: -1- AC_SUBST_TRACE([AM_BACKSLASH]) -m4trace:configure.ac:98: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:98: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:99: -1- AM_SILENT_RULES([yes]) -m4trace:configure.ac:99: -1- AC_SUBST([AM_V]) -m4trace:configure.ac:99: -1- AC_SUBST_TRACE([AM_V]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_V$]) -m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_V]) -m4trace:configure.ac:99: -1- AC_SUBST([AM_DEFAULT_V]) -m4trace:configure.ac:99: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_DEFAULT_V$]) -m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) -m4trace:configure.ac:99: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) -m4trace:configure.ac:99: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) -m4trace:configure.ac:99: -1- AC_SUBST([AM_BACKSLASH]) -m4trace:configure.ac:99: -1- AC_SUBST_TRACE([AM_BACKSLASH]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^AM_BACKSLASH$]) -m4trace:configure.ac:99: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) -m4trace:configure.ac:110: -1- AC_CANONICAL_BUILD -m4trace:configure.ac:110: -1- AC_REQUIRE_AUX_FILE([config.sub]) -m4trace:configure.ac:110: -1- AC_REQUIRE_AUX_FILE([config.guess]) -m4trace:configure.ac:110: -1- AC_SUBST([build], [$ac_cv_build]) -m4trace:configure.ac:110: -1- AC_SUBST_TRACE([build]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^build$]) -m4trace:configure.ac:110: -1- AC_SUBST([build_cpu], [$[1]]) -m4trace:configure.ac:110: -1- AC_SUBST_TRACE([build_cpu]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^build_cpu$]) -m4trace:configure.ac:110: -1- AC_SUBST([build_vendor], [$[2]]) -m4trace:configure.ac:110: -1- AC_SUBST_TRACE([build_vendor]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^build_vendor$]) -m4trace:configure.ac:110: -1- AC_SUBST([build_os]) -m4trace:configure.ac:110: -1- AC_SUBST_TRACE([build_os]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^build_os$]) -m4trace:configure.ac:110: -1- AC_CANONICAL_HOST -m4trace:configure.ac:110: -1- AC_SUBST([host], [$ac_cv_host]) -m4trace:configure.ac:110: -1- AC_SUBST_TRACE([host]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^host$]) -m4trace:configure.ac:110: -1- AC_SUBST([host_cpu], [$[1]]) -m4trace:configure.ac:110: -1- AC_SUBST_TRACE([host_cpu]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^host_cpu$]) -m4trace:configure.ac:110: -1- AC_SUBST([host_vendor], [$[2]]) -m4trace:configure.ac:110: -1- AC_SUBST_TRACE([host_vendor]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^host_vendor$]) -m4trace:configure.ac:110: -1- AC_SUBST([host_os]) -m4trace:configure.ac:110: -1- AC_SUBST_TRACE([host_os]) -m4trace:configure.ac:110: -1- m4_pattern_allow([^host_os$]) -m4trace:configure.ac:114: -1- AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/.version']) -m4trace:configure.ac:114: -1- AC_SUBST_TRACE([CONFIG_STATUS_DEPENDENCIES]) -m4trace:configure.ac:114: -1- m4_pattern_allow([^CONFIG_STATUS_DEPENDENCIES$]) -m4trace:configure.ac:121: -1- AC_SUBST([aclocaldir], ["\$(datadir)/aclocal"]) -m4trace:configure.ac:121: -1- AC_SUBST_TRACE([aclocaldir]) -m4trace:configure.ac:121: -1- m4_pattern_allow([^aclocaldir$]) -m4trace:configure.ac:122: -1- AC_SUBST([pkgdatadir], ["\$(datadir)/$PACKAGE"]) -m4trace:configure.ac:122: -1- AC_SUBST_TRACE([pkgdatadir]) -m4trace:configure.ac:122: -1- m4_pattern_allow([^pkgdatadir$]) -m4trace:configure.ac:134: -1- AC_SUBST([pkgaux_scripts]) -m4trace:configure.ac:134: -1- AC_SUBST_TRACE([pkgaux_scripts]) -m4trace:configure.ac:134: -1- m4_pattern_allow([^pkgaux_scripts$]) -m4trace:configure.ac:144: -1- AC_SUBST([CC]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- AC_SUBST([CFLAGS]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CFLAGS]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CFLAGS$]) -m4trace:configure.ac:144: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:144: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:144: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:144: -1- AC_SUBST([CC]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- AC_SUBST([CC]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- AC_SUBST([CC]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- AC_SUBST([CC]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:144: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([ac_ct_CC]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^ac_ct_CC$]) -m4trace:configure.ac:144: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([EXEEXT]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^EXEEXT$]) -m4trace:configure.ac:144: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([OBJEXT]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^OBJEXT$]) -m4trace:configure.ac:144: -1- AC_REQUIRE_AUX_FILE([compile]) -m4trace:configure.ac:144: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([DEPDIR]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^DEPDIR$]) -m4trace:configure.ac:144: -1- AC_SUBST([am__include]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([am__include]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^am__include$]) -m4trace:configure.ac:144: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -m4trace:configure.ac:144: -1- AC_SUBST([AMDEP_TRUE]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([AMDEP_TRUE]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEP_TRUE$]) -m4trace:configure.ac:144: -1- AC_SUBST([AMDEP_FALSE]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([AMDEP_FALSE]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEP_FALSE$]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) -m4trace:configure.ac:144: -1- AC_SUBST([AMDEPBACKSLASH]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) -m4trace:configure.ac:144: -1- AC_SUBST([am__nodep]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([am__nodep]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^am__nodep$]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__nodep]) -m4trace:configure.ac:144: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([CCDEPMODE]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^CCDEPMODE$]) -m4trace:configure.ac:144: -1- AM_CONDITIONAL([am__fastdepCC], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:144: -1- AC_SUBST([am__fastdepCC_TRUE]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) -m4trace:configure.ac:144: -1- AC_SUBST([am__fastdepCC_FALSE]) -m4trace:configure.ac:144: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) -m4trace:configure.ac:144: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) -m4trace:configure.ac:144: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) -m4trace:configure.ac:145: -1- m4_pattern_forbid([^gl_[A-Z]]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_ES$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_LIBOBJS$]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^gl_LTLIBOBJS$]) -m4trace:configure.ac:145: -1- AC_SUBST([CPP]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([CPP]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:145: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:145: -1- AC_SUBST([CPP]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([CPP]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:145: -1- AC_SUBST([GREP]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([GREP]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:145: -1- AC_SUBST([EGREP]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([EGREP]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^EGREP$]) -m4trace:configure.ac:145: -1- AC_SUBST([AR]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([AR]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:145: -1- AC_SUBST([AR]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([AR]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:145: -1- AC_SUBST([ARFLAGS]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([ARFLAGS]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^ARFLAGS$]) -m4trace:configure.ac:145: -1- AC_SUBST([RANLIB]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([RANLIB]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:145: -1- AC_SUBST([RANLIB]) -m4trace:configure.ac:145: -1- AC_SUBST_TRACE([RANLIB]) -m4trace:configure.ac:145: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:146: -1- AM_PROG_CC_C_O -m4trace:configure.ac:147: -1- AC_SUBST([CPP]) -m4trace:configure.ac:147: -1- AC_SUBST_TRACE([CPP]) -m4trace:configure.ac:147: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:147: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:147: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:147: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:147: -1- AC_SUBST([CPP]) -m4trace:configure.ac:147: -1- AC_SUBST_TRACE([CPP]) -m4trace:configure.ac:147: -1- m4_pattern_allow([^CPP$]) -m4trace:configure.ac:152: -1- LT_INIT([dlopen win32-dll]) -m4trace:configure.ac:152: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) -m4trace:configure.ac:152: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) -m4trace:configure.ac:152: -1- AC_SUBST([AS]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([AS]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^AS$]) -m4trace:configure.ac:152: -1- AC_SUBST([DLLTOOL]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DLLTOOL]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:152: -1- AC_SUBST([OBJDUMP]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OBJDUMP]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:152: -1- AC_SUBST([LIBTOOL]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LIBTOOL]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LIBTOOL$]) -m4trace:configure.ac:152: -1- AC_SUBST([SED]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([SED]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^SED$]) -m4trace:configure.ac:152: -1- AC_SUBST([FGREP]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([FGREP]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^FGREP$]) -m4trace:configure.ac:152: -1- AC_SUBST([GREP]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([GREP]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^GREP$]) -m4trace:configure.ac:152: -1- AC_SUBST([LD]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LD]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:152: -1- AC_SUBST([DUMPBIN]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DUMPBIN]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:152: -1- AC_SUBST([ac_ct_DUMPBIN]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) -m4trace:configure.ac:152: -1- AC_SUBST([DUMPBIN]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DUMPBIN]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DUMPBIN$]) -m4trace:configure.ac:152: -1- AC_SUBST([NM]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([NM]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^NM$]) -m4trace:configure.ac:152: -1- AC_SUBST([LN_S], [$as_ln_s]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LN_S]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LN_S$]) -m4trace:configure.ac:152: -1- AC_SUBST([FILECMD]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([FILECMD]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^FILECMD$]) -m4trace:configure.ac:152: -1- AC_SUBST([OBJDUMP]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OBJDUMP]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:152: -1- AC_SUBST([OBJDUMP]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OBJDUMP]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OBJDUMP$]) -m4trace:configure.ac:152: -1- AC_SUBST([DLLTOOL]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DLLTOOL]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:152: -1- AC_SUBST([DLLTOOL]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DLLTOOL]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DLLTOOL$]) -m4trace:configure.ac:152: -1- AC_SUBST([AR]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([AR]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:152: -1- AC_SUBST([ac_ct_AR]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([ac_ct_AR]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^ac_ct_AR$]) -m4trace:configure.ac:152: -1- AC_SUBST([STRIP]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([STRIP]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^STRIP$]) -m4trace:configure.ac:152: -1- AC_SUBST([RANLIB]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([RANLIB]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^RANLIB$]) -m4trace:configure.ac:152: -1- m4_pattern_allow([LT_OBJDIR]) -m4trace:configure.ac:152: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LT_OBJDIR$]) -m4trace:configure.ac:152: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */ -@%:@undef LT_OBJDIR]) -m4trace:configure.ac:152: -1- LT_SUPPORTED_TAG([CC]) -m4trace:configure.ac:152: -1- AC_SUBST([MANIFEST_TOOL]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([MANIFEST_TOOL]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^MANIFEST_TOOL$]) -m4trace:configure.ac:152: -1- AC_SUBST([DSYMUTIL]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([DSYMUTIL]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^DSYMUTIL$]) -m4trace:configure.ac:152: -1- AC_SUBST([NMEDIT]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([NMEDIT]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^NMEDIT$]) -m4trace:configure.ac:152: -1- AC_SUBST([LIPO]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LIPO]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LIPO$]) -m4trace:configure.ac:152: -1- AC_SUBST([OTOOL]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OTOOL]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OTOOL$]) -m4trace:configure.ac:152: -1- AC_SUBST([OTOOL64]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([OTOOL64]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^OTOOL64$]) -m4trace:configure.ac:152: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:152: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_DLFCN_H]) -m4trace:configure.ac:152: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^STDC_HEADERS$]) -m4trace:configure.ac:152: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ -@%:@undef STDC_HEADERS]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_TYPES_H]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_STAT_H]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STDLIB_H]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STRING_H]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_MEMORY_H]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STRINGS_H]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_INTTYPES_H]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_STDINT_H]) -m4trace:configure.ac:152: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_UNISTD_H]) -m4trace:configure.ac:152: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H]) -m4trace:configure.ac:152: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_MODULE_EXT]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_MODULE_EXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_MODULE_EXT$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([LT_MODULE_EXT], [/* Define to the extension used for runtime loadable modules, say, ".so". */ -@%:@undef LT_MODULE_EXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_SHARED_EXT]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_SHARED_EXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_SHARED_EXT$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([LT_SHARED_EXT], [/* Define to the shared library suffix, say, ".dylib". */ -@%:@undef LT_SHARED_EXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_SHARED_LIB_MEMBER]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_SHARED_LIB_MEMBER]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_SHARED_LIB_MEMBER$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([LT_SHARED_LIB_MEMBER], [/* Define to the shared archive member specification, say "(shr.o)". */ -@%:@undef LT_SHARED_LIB_MEMBER]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_MODULE_PATH_VAR]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_MODULE_PATH_VAR]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_MODULE_PATH_VAR$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([LT_MODULE_PATH_VAR], [/* Define to the name of the environment variable that determines the run-time - module search path. */ -@%:@undef LT_MODULE_PATH_VAR]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_DLSEARCH_PATH]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_DLSEARCH_PATH]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLSEARCH_PATH$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([LT_DLSEARCH_PATH], [/* Define to the system default library search path. */ -@%:@undef LT_DLSEARCH_PATH]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLLOADERS$]) -m4trace:configure.ac:154: -1- AC_SUBST([LT_DLLOADERS]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LT_DLLOADERS]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLLOADERS$]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ -@%:@undef HAVE_LIBDL]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ -@%:@undef HAVE_LIBDL]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDL$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define if you have the libdl library or equivalent. */ -@%:@undef HAVE_LIBDL]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DLERROR], [/* Define to 1 if you have the `dlerror\' function. */ -@%:@undef HAVE_DLERROR]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLERROR]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DLERROR$]) -m4trace:configure.ac:154: -1- AC_SUBST([LIBADD_DLOPEN]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIBADD_DLOPEN]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DLOPEN$]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SHL_LOAD]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_SHL_LOAD], [/* Define if you have the shl_load function. */ -@%:@undef HAVE_SHL_LOAD]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SHL_LOAD]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_SHL_LOAD$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_SHL_LOAD], [/* Define if you have the shl_load function. */ -@%:@undef HAVE_SHL_LOAD]) -m4trace:configure.ac:154: -1- AC_SUBST([LIBADD_SHL_LOAD]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIBADD_SHL_LOAD]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_SHL_LOAD$]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DYLD]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DYLD$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DYLD], [/* Define if you have the _dyld_func_lookup function. */ -@%:@undef HAVE_DYLD]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CYGWIN_CONV_PATH]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DECL_CYGWIN_CONV_PATH$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DECL_CYGWIN_CONV_PATH], [/* Define to 1 if you have the declaration of `cygwin_conv_path\', and to 0 if - you don\'t. */ -@%:@undef HAVE_DECL_CYGWIN_CONV_PATH]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLD]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_DLD$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DLD], [/* Define if you have the GNU dld library. */ -@%:@undef HAVE_DLD]) -m4trace:configure.ac:154: -1- AC_SUBST([LIBADD_DLD_LINK]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIBADD_DLD_LINK]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DLD_LINK$]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLPREOPEN$]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDLLOADER]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_LIBDLLOADER$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_LIBDLLOADER], [/* Define if libdlloader will be built on this platform */ -@%:@undef HAVE_LIBDLLOADER]) -m4trace:configure.ac:154: -1- AC_SUBST([LT_DLPREOPEN]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LT_DLPREOPEN]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_DLPREOPEN$]) -m4trace:configure.ac:154: -1- AC_SUBST([LIBADD_DL]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIBADD_DL]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIBADD_DL$]) -m4trace:configure.ac:154: -1- AC_SUBST([sys_symbol_underscore]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([sys_symbol_underscore]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^sys_symbol_underscore$]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([NEED_USCORE]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^NEED_USCORE$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([NEED_USCORE], [/* Define if dlsym() requires a leading underscore in symbol names. */ -@%:@undef NEED_USCORE]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LTDL_DLOPEN_DEPLIBS]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LTDL_DLOPEN_DEPLIBS$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([LTDL_DLOPEN_DEPLIBS], [/* Define if the OS needs help to load dependent libraries for dlopen(). */ -@%:@undef LTDL_DLOPEN_DEPLIBS]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_ARGZ_H]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ARGZ_H]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_ARGZ_H$]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ERROR_T]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_ERROR_T$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ERROR_T], [/* Define to 1 if the system has the type `error_t\'. */ -@%:@undef HAVE_ERROR_T]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([error_t]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^error_t$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([error_t], [/* Define to a type to use for \'error_t\' if it is not otherwise available. */ -@%:@undef error_t]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([__error_t_defined]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^__error_t_defined$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([__error_t_defined], [/* Define so that glibc/gnulib argp.h does not typedef error_t. */ -@%:@undef __error_t_defined]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_ADD], [/* Define to 1 if you have the `argz_add\' function. */ -@%:@undef HAVE_ARGZ_ADD]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_APPEND], [/* Define to 1 if you have the `argz_append\' function. */ -@%:@undef HAVE_ARGZ_APPEND]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_COUNT], [/* Define to 1 if you have the `argz_count\' function. */ -@%:@undef HAVE_ARGZ_COUNT]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_CREATE_SEP], [/* Define to 1 if you have the `argz_create_sep\' function. */ -@%:@undef HAVE_ARGZ_CREATE_SEP]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_INSERT], [/* Define to 1 if you have the `argz_insert\' function. */ -@%:@undef HAVE_ARGZ_INSERT]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_NEXT], [/* Define to 1 if you have the `argz_next\' function. */ -@%:@undef HAVE_ARGZ_NEXT]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_ARGZ_STRINGIFY], [/* Define to 1 if you have the `argz_stringify\' function. */ -@%:@undef HAVE_ARGZ_STRINGIFY]) -m4trace:configure.ac:154: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lt__argz.$ac_objext"]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:154: -1- AC_LIBSOURCE([lt__argz.c]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_ARGZ]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_WORKING_ARGZ$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_WORKING_ARGZ], [/* This value is set to 1 to indicate that the system argz facility works */ -@%:@undef HAVE_WORKING_ARGZ]) -m4trace:configure.ac:154: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lt__argz.$ac_objext"]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:154: -1- AC_LIBSOURCE([lt__argz.c]) -m4trace:configure.ac:154: -1- AC_SUBST([LT_ARGZ_H]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LT_ARGZ_H]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_ARGZ_H$]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRELOADED_SYMBOLS]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^HAVE_PRELOADED_SYMBOLS$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_PRELOADED_SYMBOLS], [/* Define if libtool can extract symbol lists from object files. */ -@%:@undef HAVE_PRELOADED_SYMBOLS]) -m4trace:configure.ac:154: -1- AM_CONDITIONAL([INSTALL_LTDL], [test no != "${enable_ltdl_install-no}"]) -m4trace:configure.ac:154: -1- AC_SUBST([INSTALL_LTDL_TRUE]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([INSTALL_LTDL_TRUE]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^INSTALL_LTDL_TRUE$]) -m4trace:configure.ac:154: -1- AC_SUBST([INSTALL_LTDL_FALSE]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([INSTALL_LTDL_FALSE]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^INSTALL_LTDL_FALSE$]) -m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([INSTALL_LTDL_TRUE]) -m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([INSTALL_LTDL_FALSE]) -m4trace:configure.ac:154: -1- AM_CONDITIONAL([CONVENIENCE_LTDL], [test no != "${enable_ltdl_convenience-no}"]) -m4trace:configure.ac:154: -1- AC_SUBST([CONVENIENCE_LTDL_TRUE]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([CONVENIENCE_LTDL_TRUE]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^CONVENIENCE_LTDL_TRUE$]) -m4trace:configure.ac:154: -1- AC_SUBST([CONVENIENCE_LTDL_FALSE]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([CONVENIENCE_LTDL_FALSE]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^CONVENIENCE_LTDL_FALSE$]) -m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([CONVENIENCE_LTDL_TRUE]) -m4trace:configure.ac:154: -1- _AM_SUBST_NOTMAKE([CONVENIENCE_LTDL_FALSE]) -m4trace:configure.ac:154: -1- AC_SUBST([LT_CONFIG_H]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LT_CONFIG_H]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_CONFIG_H$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_UNISTD_H]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DL_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_DL_H]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_SYS_DL_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_DL_H]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DLD_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_DLD_H]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_MACH_O_DYLD_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_MACH_O_DYLD_H]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_DIRENT_H]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_CLOSEDIR], [/* Define to 1 if you have the `closedir\' function. */ -@%:@undef HAVE_CLOSEDIR]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_OPENDIR], [/* Define to 1 if you have the `opendir\' function. */ -@%:@undef HAVE_OPENDIR]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_READDIR], [/* Define to 1 if you have the `readdir\' function. */ -@%:@undef HAVE_READDIR]) -m4trace:configure.ac:154: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lt__dirent.$ac_objext"]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:154: -1- AC_LIBSOURCE([lt__dirent.c]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_STRLCAT], [/* Define to 1 if you have the `strlcat\' function. */ -@%:@undef HAVE_STRLCAT]) -m4trace:configure.ac:154: -1- AH_OUTPUT([HAVE_STRLCPY], [/* Define to 1 if you have the `strlcpy\' function. */ -@%:@undef HAVE_STRLCPY]) -m4trace:configure.ac:154: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lt__strl.$ac_objext"]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:154: -1- AC_LIBSOURCE([lt__strl.c]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_LIBEXT]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_LIBEXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_LIBEXT$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([LT_LIBEXT], [/* The archive extension */ -@%:@undef LT_LIBEXT]) -m4trace:configure.ac:154: -1- m4_pattern_allow([LT_LIBPREFIX]) -m4trace:configure.ac:154: -1- AC_DEFINE_TRACE_LITERAL([LT_LIBPREFIX]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LT_LIBPREFIX$]) -m4trace:configure.ac:154: -1- AH_OUTPUT([LT_LIBPREFIX], [/* The archive prefix */ -@%:@undef LT_LIBPREFIX]) -m4trace:configure.ac:154: -1- AC_SUBST([LTDLOPEN]) -m4trace:configure.ac:154: -1- AC_SUBST_TRACE([LTDLOPEN]) -m4trace:configure.ac:154: -1- m4_pattern_allow([^LTDLOPEN$]) -m4trace:configure.ac:157: -1- LT_SUPPORTED_TAG([CXX]) -m4trace:configure.ac:157: -1- AC_SUBST([CXX]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXX]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:157: -1- AC_SUBST([CXXFLAGS]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXXFLAGS]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXFLAGS$]) -m4trace:configure.ac:157: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:157: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:157: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:157: -1- AC_SUBST([CXX]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXX]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXX$]) -m4trace:configure.ac:157: -1- AC_SUBST([ac_ct_CXX]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([ac_ct_CXX]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^ac_ct_CXX$]) -m4trace:configure.ac:157: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXXDEPMODE]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXDEPMODE$]) -m4trace:configure.ac:157: -1- AM_CONDITIONAL([am__fastdepCXX], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) -m4trace:configure.ac:157: -1- AC_SUBST([am__fastdepCXX_TRUE]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) -m4trace:configure.ac:157: -1- AC_SUBST([am__fastdepCXX_FALSE]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) -m4trace:configure.ac:157: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) -m4trace:configure.ac:157: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) -m4trace:configure.ac:157: -1- AC_SUBST([CXXCPP]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXXCPP]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:157: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:157: -1- AC_SUBST([CXXCPP]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([CXXCPP]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^CXXCPP$]) -m4trace:configure.ac:157: -1- AC_SUBST([LD]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([LD]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^LD$]) -m4trace:configure.ac:157: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:157: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:157: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:158: -1- LT_SUPPORTED_TAG([F77]) -m4trace:configure.ac:158: -1- AC_SUBST([F77]) -m4trace:configure.ac:158: -1- AC_SUBST_TRACE([F77]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^F77$]) -m4trace:configure.ac:158: -1- AC_SUBST([FFLAGS]) -m4trace:configure.ac:158: -1- AC_SUBST_TRACE([FFLAGS]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^FFLAGS$]) -m4trace:configure.ac:158: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:158: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:158: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:158: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:158: -1- AC_SUBST([F77]) -m4trace:configure.ac:158: -1- AC_SUBST_TRACE([F77]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^F77$]) -m4trace:configure.ac:158: -1- AC_SUBST([ac_ct_F77]) -m4trace:configure.ac:158: -1- AC_SUBST_TRACE([ac_ct_F77]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^ac_ct_F77$]) -m4trace:configure.ac:158: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:158: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:158: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:159: -1- LT_SUPPORTED_TAG([FC]) -m4trace:configure.ac:159: -1- AC_SUBST([FC]) -m4trace:configure.ac:159: -1- AC_SUBST_TRACE([FC]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^FC$]) -m4trace:configure.ac:159: -1- AC_SUBST([FCFLAGS]) -m4trace:configure.ac:159: -1- AC_SUBST_TRACE([FCFLAGS]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^FCFLAGS$]) -m4trace:configure.ac:159: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:159: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:159: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:159: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:159: -1- AC_SUBST([FC]) -m4trace:configure.ac:159: -1- AC_SUBST_TRACE([FC]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^FC$]) -m4trace:configure.ac:159: -1- AC_SUBST([ac_ct_FC]) -m4trace:configure.ac:159: -1- AC_SUBST_TRACE([ac_ct_FC]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^ac_ct_FC$]) -m4trace:configure.ac:159: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:159: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) -m4trace:configure.ac:159: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) -m4trace:configure.ac:160: -1- LT_SUPPORTED_TAG([GO]) -m4trace:configure.ac:160: -1- AC_SUBST([GOC]) -m4trace:configure.ac:160: -1- AC_SUBST_TRACE([GOC]) -m4trace:configure.ac:160: -1- m4_pattern_allow([^GOC$]) -m4trace:configure.ac:160: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... -m4/libtool.m4:8027: _LT_LANG_GO_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:160: the top level]) -m4trace:configure.ac:160: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... -m4/libtool.m4:8027: _LT_LANG_GO_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:160: the top level]) -m4trace:configure.ac:161: -1- LT_SUPPORTED_TAG([GCJ]) -m4trace:configure.ac:161: -1- AC_SUBST([GCJ]) -m4trace:configure.ac:161: -1- AC_SUBST_TRACE([GCJ]) -m4trace:configure.ac:161: -1- m4_pattern_allow([^GCJ$]) -m4trace:configure.ac:161: -1- AC_SUBST([GCJFLAGS]) -m4trace:configure.ac:161: -1- AC_SUBST_TRACE([GCJFLAGS]) -m4trace:configure.ac:161: -1- m4_pattern_allow([^GCJFLAGS$]) -m4trace:configure.ac:161: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... -m4/libtool.m4:7956: _LT_LANG_GCJ_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:161: the top level]) -m4trace:configure.ac:161: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... -m4/libtool.m4:7956: _LT_LANG_GCJ_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:161: the top level]) -m4trace:configure.ac:162: -1- LT_SUPPORTED_TAG([RC]) -m4trace:configure.ac:162: -1- AC_SUBST([RC]) -m4trace:configure.ac:162: -1- AC_SUBST_TRACE([RC]) -m4trace:configure.ac:162: -1- m4_pattern_allow([^RC$]) -m4trace:configure.ac:162: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... -m4/libtool.m4:8098: _LT_LANG_RC_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:162: the top level]) -m4trace:configure.ac:162: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete. -You should run autoupdate.], [../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... -m4/libtool.m4:8098: _LT_LANG_RC_CONFIG is expanded from... -m4/libtool.m4:843: _LT_LANG is expanded from... -m4/libtool.m4:825: LT_LANG is expanded from... -configure.ac:162: the top level]) -m4trace:configure.ac:166: -1- AC_SUBST([to_host_file_cmd]) -m4trace:configure.ac:166: -1- AC_SUBST_TRACE([to_host_file_cmd]) -m4trace:configure.ac:166: -1- m4_pattern_allow([^to_host_file_cmd$]) -m4trace:configure.ac:167: -1- AC_SUBST([to_tool_file_cmd]) -m4trace:configure.ac:167: -1- AC_SUBST_TRACE([to_tool_file_cmd]) -m4trace:configure.ac:167: -1- m4_pattern_allow([^to_tool_file_cmd$]) -m4trace:configure.ac:170: -1- AC_SUBST([with_aix_soname]) -m4trace:configure.ac:170: -1- AC_SUBST_TRACE([with_aix_soname]) -m4trace:configure.ac:170: -1- m4_pattern_allow([^with_aix_soname$]) -m4trace:configure.ac:175: -1- AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) -m4trace:configure.ac:175: -1- AC_SUBST([GL_COND_LIBTOOL_TRUE]) -m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_COND_LIBTOOL_TRUE]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_COND_LIBTOOL_TRUE$]) -m4trace:configure.ac:175: -1- AC_SUBST([GL_COND_LIBTOOL_FALSE]) -m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_COND_LIBTOOL_FALSE]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_COND_LIBTOOL_FALSE$]) -m4trace:configure.ac:175: -1- _AM_SUBST_NOTMAKE([GL_COND_LIBTOOL_TRUE]) -m4trace:configure.ac:175: -1- _AM_SUBST_NOTMAKE([GL_COND_LIBTOOL_FALSE]) -m4trace:configure.ac:175: -1- AH_OUTPUT([_GL_GNUC_PREREQ], [/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ -#if defined __GNUC__ && defined __GNUC_MINOR__ -# define _GL_GNUC_PREREQ(major, minor) \\ - ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) -#else -# define _GL_GNUC_PREREQ(major, minor) 0 -#endif -]) -m4trace:configure.ac:175: -1- AH_OUTPUT([_Noreturn], [/* The _Noreturn keyword of C11. */ -#ifndef _Noreturn -# if (defined __cplusplus \\ - && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \\ - || (defined _MSC_VER && 1900 <= _MSC_VER)) \\ - && 0) - /* [[noreturn]] is not practically usable, because with it the syntax - extern _Noreturn void func (...); - would not be valid; such a declaration would only be valid with \'extern\' - and \'_Noreturn\' swapped, or without the \'extern\' keyword. However, some - AIX system header files and several gnulib header files use precisely - this syntax with \'extern\'. */ -# define _Noreturn [[noreturn]] -# elif ((!defined __cplusplus || defined __clang__) \\ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \\ - || (!defined __STRICT_ANSI__ \\ - && (_GL_GNUC_PREREQ (4, 7) \\ - || (defined __apple_build_version__ \\ - ? 6000000 <= __apple_build_version__ \\ - : 3 < __clang_major__ + (5 <= __clang_minor__)))))) - /* _Noreturn works as-is. */ -# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C -# define _Noreturn __attribute__ ((__noreturn__)) -# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn -# endif -#endif -]) -m4trace:configure.ac:175: -1- AH_OUTPUT([isoc99_inline], [/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of \'extern inline\' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for Mac OS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif]) -m4trace:configure.ac:175: -1- AH_OUTPUT([attribute], [/* Attributes. */ -#if (defined __has_attribute \\ - && (!defined __clang_minor__ \\ - || 3 < __clang_major__ + (5 <= __clang_minor__))) -# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) -#else -# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr -# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) -# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) -# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) -# define _GL_ATTR_diagnose_if 0 -# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) -# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) -# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) -# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) -# ifdef _ICC -# define _GL_ATTR_may_alias 0 -# else -# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) -# endif -# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) -# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) -# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) -# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) -# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) -# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) -# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) -# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) -#endif - -#ifdef __has_c_attribute -# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) -#else -# define _GL_HAS_C_ATTRIBUTE(attr) 0 -#endif - - -/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function - is the size of the returned memory block. - _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied - by the Nth argument of the function is the size of the returned memory block. - */ -/* Applies to: function, pointer to function, function types. */ -#if _GL_HAS_ATTRIBUTE (alloc_size) -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) -#else -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) -#endif - -/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the - function and report an error if it cannot do so. */ -/* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (always_inline) -# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) -#else -# define _GL_ATTRIBUTE_ALWAYS_INLINE -#endif - -/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show - in stack traces when debugging. The compiler should omit the function from - stack traces. */ -/* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (artificial) -# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) -#else -# define _GL_ATTRIBUTE_ARTIFICIAL -#endif - -/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ -/* Applies to: functions. */ -/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at - . - Also, Oracle Studio 12.6 requires \'cold\' not \'__cold__\'. */ -#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ -# ifndef __SUNPRO_C -# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) -# else -# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) -# endif -#else -# define _GL_ATTRIBUTE_COLD -#endif - -/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate - calls to the function with the same arguments. - This attribute is safe for a function that neither depends on nor affects - observable state, and always returns exactly once - e.g., does not loop - forever, and does not call longjmp. - (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (const) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST -#endif - -/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers - that can be freed by passing them as the Ith argument to the - function F. - _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that - can be freed via \'free\'; it can be used only after declaring \'free\'. */ -/* Applies to: functions. Cannot be used on inline functions. */ -#if _GL_GNUC_PREREQ (11, 0) -# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) -#else -# define _GL_ATTRIBUTE_DEALLOC(f, i) -#endif -/* If gnulib\'s or has already defined this macro, continue - to use this earlier definition, since may not have been included - yet. */ -#ifndef _GL_ATTRIBUTE_DEALLOC_FREE -# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) -#endif - -/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. - The compiler may warn if the entity is used. */ -/* Applies to: - - function, variable, - - struct, union, struct/union member, - - enumeration, enumeration item, - - typedef, - in C++ also: namespace, class, template specialization. */ -#if _GL_HAS_C_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] -#elif _GL_HAS_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) -#else -# define _GL_ATTRIBUTE_DEPRECATED -#endif - -/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and - the function call is not optimized away. - _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and - the function call is not optimized away. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (error) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) -#elif _GL_HAS_ATTRIBUTE (diagnose_if) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) -#else -# define _GL_ATTRIBUTE_ERROR(msg) -# define _GL_ATTRIBUTE_WARNING(msg) -#endif - -/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain - visible to debuggers etc., even with \'-fwhole-program\'. */ -/* Applies to: functions, variables. */ -#if _GL_HAS_ATTRIBUTE (externally_visible) -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) -#else -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE -#endif - -/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if - the control flow falls through to the immediately following \'case\' or - \'default\' label. The compiler should not warn in this case. */ -/* Applies to: Empty statement (;), inside a \'switch\' statement. */ -/* Always expands to something. */ -#if _GL_HAS_C_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] -#elif _GL_HAS_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) -#else -# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) -#endif - -/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) - declares that the STRING-INDEXth function argument is a format string of - style ARCHETYPE, which is one of: - printf, gnu_printf - scanf, gnu_scanf, - strftime, gnu_strftime, - strfmon, - or the same thing prefixed and suffixed with \'__\'. - If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK - are suitable for the format string. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (format) -# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) -#else -# define _GL_ATTRIBUTE_FORMAT(spec) -#endif - -/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other - compilation unit, it executes code from that unit only by return or by - exception handling. This declaration lets the compiler optimize that unit - more aggressively. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (leaf) -# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) -#else -# define _GL_ATTRIBUTE_LEAF -#endif - -/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly - allocated memory. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (malloc) -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC -#endif - -/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the - same storage as pointers to other types. Thus this declaration disables - strict aliasing optimization. */ -/* Applies to: types. */ -/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ -#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C -# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) -#else -# define _GL_ATTRIBUTE_MAY_ALIAS -#endif - -/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if - the entity is not used. The compiler should not warn if the entity is not - used. */ -/* Applies to: - - function, variable, - - struct, union, struct/union member, - - enumeration, enumeration item, - - typedef, - in C++ also: class. */ -/* In C++ and C2x, this is spelled [[__maybe_unused__]]. - GCC\'s syntax is __attribute__ ((__unused__)). - clang supports both syntaxes. */ -#if _GL_HAS_C_ATTRIBUTE (maybe_unused) -# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] -#else -# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED -#endif -/* Alternative spelling of this macro, for convenience. */ -#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED -/* Earlier spellings of this macro. */ -#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED - -/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not - discard the return value. The compiler may warn if the caller does not use - the return value, unless the caller uses something like ignore_value. */ -/* Applies to: function, enumeration, class. */ -#if _GL_HAS_C_ATTRIBUTE (nodiscard) -# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] -#elif _GL_HAS_ATTRIBUTE (warn_unused_result) -# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) -#else -# define _GL_ATTRIBUTE_NODISCARD -#endif - -/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the - function. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (noinline) -# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) -#else -# define _GL_ATTRIBUTE_NOINLINE -#endif - -/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... - must not be NULL. - _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be - null. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nonnull) -# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) -#else -# define _GL_ATTRIBUTE_NONNULL(args) -#endif - -/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is - not meant to be NUL-terminated. */ -/* Applies to: struct/union members and variables that are arrays of element - type \'[[un]signed] char\'. */ -#if _GL_HAS_ATTRIBUTE (nonstring) -# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) -#else -# define _GL_ATTRIBUTE_NONSTRING -#endif - -/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ - -/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. - */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus -# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) -#else -# define _GL_ATTRIBUTE_NOTHROW -#endif - -/* _GL_ATTRIBUTE_PACKED declares: - For struct members: The member has the smallest possible alignment. - For struct, union, class: All members have the smallest possible alignment, - minimizing the memory required. */ -/* Applies to: struct members, struct, union, - in C++ also: class. */ -#if _GL_HAS_ATTRIBUTE (packed) -# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) -#else -# define _GL_ATTRIBUTE_PACKED -#endif - -/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate - calls to the function with the same arguments if observable state is not - changed between calls. - This attribute is safe for a function that does not affect - observable state, and always returns exactly once. - (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (pure) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE -#endif - -/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function\'s return value is - a non-NULL pointer. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (returns_nonnull) -# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) -#else -# define _GL_ATTRIBUTE_RETURNS_NONNULL -#endif - -/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a - trailing NULL argument. - _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). - _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (sentinel) -# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) -#else -# define _GL_ATTRIBUTE_SENTINEL(pos) -#endif - -/* A helper macro. Don\'t use it directly. */ -#if _GL_HAS_ATTRIBUTE (unused) -# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_ATTRIBUTE_UNUSED -#endif - - -/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the - immediately preceding label is not used. The compiler should not warn - if the label is not used. */ -/* Applies to: label (both in C and C++). */ -/* Note that g++ < 4.5 does not support the \'__attribute__ ((__unused__)) ;\' - syntax. But clang does. */ -#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ -# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED -#else -# define _GL_UNUSED_LABEL -#endif -]) -m4trace:configure.ac:175: -1- AH_OUTPUT([async_safe], [/* The _GL_ASYNC_SAFE marker should be attached to functions that are - signal handlers (for signals other than SIGABRT, SIGPIPE) or can be - invoked from such signal handlers. Such functions have some restrictions: - * All functions that it calls should be marked _GL_ASYNC_SAFE as well, - or should be listed as async-signal-safe in POSIX - - section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in - particular, are NOT async-signal-safe. - * All memory locations (variables and struct fields) that these functions - access must be marked \'volatile\'. This holds for both read and write - accesses. Otherwise the compiler might optimize away stores to and - reads from such locations that occur in the program, depending on its - data flow analysis. For example, when the program contains a loop - that is intended to inspect a variable set from within a signal handler - while (!signal_occurred) - ; - the compiler is allowed to transform this into an endless loop if the - variable \'signal_occurred\' is not declared \'volatile\'. - Additionally, recall that: - * A signal handler should not modify errno (except if it is a handler - for a fatal signal and ends by raising the same signal again, thus - provoking the termination of the process). If it invokes a function - that may clobber errno, it needs to save and restore the value of - errno. */ -#define _GL_ASYNC_SAFE -]) -m4trace:configure.ac:175: -1- AH_OUTPUT([micro_optimizations], [/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where - n1 and n2 are expressions without side effects, that evaluate to real - numbers (excluding NaN). - It returns - 1 if n1 > n2 - 0 if n1 == n2 - -1 if n1 < n2 - The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional - jump with nearly all GCC versions up to GCC 10. - This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many - GCC versions up to GCC 9. - The better code (n1 > n2) - (n1 < n2) from Hacker\'s Delight § 2-9 - avoids conditional jumps in all GCC versions >= 3.4. */ -#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) -]) -m4trace:configure.ac:175: -1- AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], [GNUmakefile=$GNUmakefile]) -m4trace:configure.ac:175: -1- AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) -m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_CFLAG_ALLOW_WARNINGS]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CFLAG_ALLOW_WARNINGS$]) -m4trace:configure.ac:175: -1- AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) -m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_CXXFLAG_ALLOW_WARNINGS]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CXXFLAG_ALLOW_WARNINGS$]) -m4trace:configure.ac:175: -1- AC_SUBST([GLtests_WITNESS]) -m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GLtests_WITNESS]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GLtests_WITNESS$]) -m4trace:configure.ac:175: -1- AC_SUBST([abs_aux_dir]) -m4trace:configure.ac:175: -1- AC_SUBST_TRACE([abs_aux_dir]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^abs_aux_dir$]) -m4trace:configure.ac:175: -1- AC_SUBST([abs_aux_dir]) -m4trace:configure.ac:175: -1- AC_SUBST_TRACE([abs_aux_dir]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^abs_aux_dir$]) -m4trace:configure.ac:175: -1- AC_SUBST([GL_CFLAG_GNULIB_WARNINGS]) -m4trace:configure.ac:175: -1- AC_SUBST_TRACE([GL_CFLAG_GNULIB_WARNINGS]) -m4trace:configure.ac:175: -1- m4_pattern_allow([^GL_CFLAG_GNULIB_WARNINGS$]) -m4trace:configure.ac:180: -1- AC_SUBST([HELP2MAN]) -m4trace:configure.ac:180: -1- AC_SUBST_TRACE([HELP2MAN]) -m4trace:configure.ac:180: -1- m4_pattern_allow([^HELP2MAN$]) -m4trace:configure.ac:185: -1- AC_CONFIG_FILES([Makefile gnulib-tests/Makefile]) -m4trace:configure.ac:186: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:186: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([LTLIBOBJS]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:186: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) -m4trace:configure.ac:186: -1- AC_SUBST([am__EXEEXT_TRUE]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) -m4trace:configure.ac:186: -1- AC_SUBST([am__EXEEXT_FALSE]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) -m4trace:configure.ac:186: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) -m4trace:configure.ac:186: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^LT_CONFIG_H$]) -m4trace:configure.ac:186: -1- AC_SUBST([CONFIG_INCLUDE], [config.h]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([CONFIG_INCLUDE]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^CONFIG_INCLUDE$]) -m4trace:configure.ac:186: -1- AC_SUBST([GL_LIBOBJS], [$GL_libobjs]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GL_LIBOBJS]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LIBOBJS$]) -m4trace:configure.ac:186: -1- AC_SUBST([GL_LTLIBOBJS], [$GL_ltlibobjs]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GL_LTLIBOBJS]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LTLIBOBJS$]) -m4trace:configure.ac:186: -1- AC_SUBST([GL_LIBOBJDEPS], [$GL_libobjdeps]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GL_LIBOBJDEPS]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GL_LIBOBJDEPS$]) -m4trace:configure.ac:186: -1- AC_SUBST([GLtests_LIBOBJS], [$GLtests_libobjs]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GLtests_LIBOBJS]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LIBOBJS$]) -m4trace:configure.ac:186: -1- AC_SUBST([GLtests_LTLIBOBJS], [$GLtests_ltlibobjs]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GLtests_LTLIBOBJS]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LTLIBOBJS$]) -m4trace:configure.ac:186: -1- AC_SUBST([GLtests_LIBOBJDEPS], [$GLtests_libobjdeps]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([GLtests_LIBOBJDEPS]) -m4trace:configure.ac:186: -1- m4_pattern_allow([^GLtests_LIBOBJDEPS$]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([top_builddir]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([top_build_prefix]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([srcdir]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([abs_srcdir]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([top_srcdir]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([abs_top_srcdir]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([builddir]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([abs_builddir]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([abs_top_builddir]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([INSTALL]) -m4trace:configure.ac:186: -1- AC_SUBST_TRACE([MKDIR_P]) -m4trace:configure.ac:186: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) diff --git a/BUILD/libtool-2.4.7/bootstrap b/BUILD/libtool-2.4.7/bootstrap deleted file mode 100755 index 8e0b5e8..0000000 --- a/BUILD/libtool-2.4.7/bootstrap +++ /dev/null @@ -1,5470 +0,0 @@ -#! /bin/sh -## DO NOT EDIT - This file generated from build-aux/bootstrap.in -## by inline-source v2019-02-19.15 - -# Bootstrap an Autotooled package from checked-out sources. -# Written by Gary V. Vaughan, 2010 -# Inspired by a script written by Paul Eggert. - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2010-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# You should place a copy of this script under version control in the -# top-level directory of your project. The intent is that all -# customization can be done with a `bootstrap.conf` file also maintained -# in your version control. - -# Please report bugs or propose patches to: -# - - -## ------ ## -## Usage. ## -## ------ ## - -# Most GNUish projects do not keep all of the generated Autotool -# files under version control, but running all of the right tools -# with the right arguments, in the correct order to regenerate -# all of those files in readiness for configuration and building -# can be surprisingly involved! Many projects have a 'bootstrap' -# script under version control to invoke Autotools and perform -# other assorted book-keeping with version numbers and the like. -# -# This bootstrap script aims to probe the configure.ac and top -# Makefile.am of your project to automatically determine what -# the correct ordering and arguments are and then run the tools for -# you. In order to use it, you can generate an initial standalone -# script with: -# -# gl/build-aux/inline-source gl/build-aux/bootstrap.in > bootstrap -# -# You should then store than script in version control for other -# developers in you project. It will give you instructions about -# how to keep it up to date if the sources change. -# -# See gl/doc/bootstrap.texi for documentation on how to write -# a bootstrap.conf to customize it for your project's -# idiosyncracies. - - -## ================================================================== ## -## ## -## DO NOT EDIT THIS FILE, CUSTOMIZE IT USING A BOOTSTRAP.CONF ## -## ## -## ================================================================== ## - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase denotes values stored in the environment. These -# variables should generally be overridden by the user - however, we do -# set them to 'true' in some parts of this script to prevent them being -# called at the wrong time by other tools that we call ('autoreconf', -# for example). -# -# We also allow 'LIBTOOLIZE', 'M4', 'SHA1SUM' and some others to be -# overridden, and export the result for child processes, but they are -# handled by the function 'func_find_tool' and not defaulted in this -# section. - -: ${ACLOCAL="aclocal"} -: ${AUTOCONF="autoconf"} -: ${AUTOHEADER="autoheader"} -: ${AUTOM4TE="autom4te"} -: ${AUTOHEADER="autoheader"} -: ${AUTOMAKE="automake"} -: ${AUTOPOINT="autopoint"} -: ${AUTORECONF="autoreconf"} -: ${CMP="cmp"} -: ${CONFIG_SHELL="/bin/sh"} -: ${DIFF="diff"} -: ${GIT="git"} -: ${LN_S="ln -s"} -: ${RM="rm"} - -export ACLOCAL -export AUTOCONF -export AUTOHEADER -export AUTOM4TE -export AUTOHEADER -export AUTOMAKE -export AUTOPOINT -export AUTORECONF -export CONFIG_SHELL - - -## -------------- ## -## Configuration. ## -## -------------- ## - -# A newline delimited list of triples of programs (that respond to -# --version), the minimum version numbers required (or just '-' in the -# version field if any version will be sufficient) and homepage URLs -# to help locate missing packages. -buildreq= - -# Name of a file containing instructions on installing missing packages -# required in 'buildreq'. -buildreq_readme=README-hacking - -# These are extracted from AC_INIT in configure.ac, though you can -# override those values in 'bootstrap.conf' if you prefer. -build_aux= -macro_dir= -package= -package_name= -package_version= -package_bugreport= - -# These are extracted from 'gnulib-cache.m4', or else fall-back -# automatically on the gnulib defaults; unless you set the values -# manually in 'bootstrap.conf'. -doc_base= -gnulib_mk= -gnulib_name= -local_gl_path= -source_base= -tests_base= - -# The list of gnulib modules required at 'gnulib-tool' time. If you -# check 'gnulib-cache.m4' into your repository, then this list will be -# extracted automatically. -gnulib_modules= - -# Extra gnulib files that are not in modules, which override files of -# the same name installed by other bootstrap tools. -gnulib_non_module_files=" - build-aux/compile - build-aux/install-sh - build-aux/mdate-sh - build-aux/texinfo.tex - build-aux/depcomp - build-aux/config.guess - build-aux/config.sub - doc/INSTALL -" - -# Relative path to the local gnulib submodule, and url to the upstream -# git repository. If you have a gnulib entry in your .gitmodules file, -# these values are ignored. -gnulib_path= -gnulib_url= - -# Date from which to clone github, to avoid a full clone. -gnulib_clone_since= - -# Additional gnulib-tool options to use. -gnulib_tool_options=" - --no-changelog -" - -# bootstrap removes any macro-files that are not included by aclocal.m4, -# except for files listed in this variable that are always kept. -gnulib_precious=" - gnulib-tool.m4 -" - -# When truncating long commands for display, always allow at least this -# many characters before truncating. -min_cmd_len=160 - -# The command to download all .po files for a specified domain into -# a specified directory. Fill in the first %s is the domain name, and -# the second with the destination directory. Use rsync's -L and -r -# options because the latest/%s directory and the .po files within are -# all symlinks. -po_download_command_format=\ -"rsync --delete --exclude '*.s1' -Lrtvz \ -'translationproject.org::tp/latest/%s/' '%s'" - -# Other locale categories that need message catalogs. -extra_locale_categories= - -# Additional xgettext options to use. Gnulib might provide you with an -# extensive list of additional options to append to this, but gettext -# 0.16.1 and newer appends them automaticaly, so you can safely ignore -# the complaints from 'gnulib-tool' if your $configure_ac states: -# -# AM_GNU_GETTEXT_VERSION([0.16.1]) -xgettext_options=" - --flag=_:1:pass-c-format - --flag=N_:1:pass-c-format -" - -# Package copyright holder for gettext files. Defaults to FSF if unset. -copyright_holder= - -# File that should exist in the top directory of a checked out hierarchy, -# but not in a distribution tarball. -checkout_only_file= - -# Whether to use copies instead of symlinks by default (if set to true, -# the --copy option has no effect). -copy=false - -# Set this to ".cvsignore .gitignore" in 'bootstrap.conf' if you want -# those files to be generated in directories like 'lib/', 'm4/', and 'po/', -# or set it to "auto" to make this script select what to use based -# on what version control system (if any) is used in the source directory. -# Or set it to "none" to ignore VCS ignore files entirely. Default is -# "auto". -vc_ignore= - - -## ------------------- ## -## External Libraries. ## -## ------------------- ## - -# Source required external libraries: -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2004-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done -# These NLS vars are set unconditionally (bootstrap issue #24). Unset those -# in case the environment reset is needed later and the $save_* variant is not -# defined (see the code above). -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# func_unset VAR -# -------------- -# Portably unset VAR. -# In some shells, an 'unset VAR' statement leaves a non-zero return -# status if VAR is already unset, which might be problematic if the -# statement is used at the end of a function (thus poisoning its return -# value) or when 'set -e' is active (causing even a spurious abort of -# the script in this case). -func_unset () -{ - { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } -} - - -# Make sure CDPATH doesn't cause `cd` commands to output the target dir. -func_unset CDPATH - -# Make sure ${,E,F}GREP behave sanely. -func_unset GREP_OPTIONS - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - -# require_check_ifs_backslash -# --------------------------- -# Check if we can use backslash as IFS='\' separator, and set -# $check_ifs_backshlash_broken to ':' or 'false'. -require_check_ifs_backslash=func_require_check_ifs_backslash -func_require_check_ifs_backslash () -{ - _G_save_IFS=$IFS - IFS='\' - _G_check_ifs_backshlash='a\\b' - for _G_i in $_G_check_ifs_backshlash - do - case $_G_i in - a) - check_ifs_backshlash_broken=false - ;; - '') - break - ;; - *) - check_ifs_backshlash_broken=: - break - ;; - esac - done - IFS=$_G_save_IFS - require_check_ifs_backslash=: -} - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_arg pretty "$2" - eval "$1+=\\ \$func_quote_arg_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_arg pretty "$2" - eval "$1=\$$1\\ \$func_quote_arg_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_portable EVAL ARG -# ---------------------------- -# Internal function to portably implement func_quote_arg. Note that we still -# keep attention to performance here so we as much as possible try to avoid -# calling sed binary (so far O(N) complexity as long as func_append is O(1)). -func_quote_portable () -{ - $debug_cmd - - $require_check_ifs_backslash - - func_quote_portable_result=$2 - - # one-time-loop (easy break) - while true - do - if $1; then - func_quote_portable_result=`$ECHO "$2" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` - break - fi - - # Quote for eval. - case $func_quote_portable_result in - *[\\\`\"\$]*) - # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string - # contains the shell wildcard characters. - case $check_ifs_backshlash_broken$func_quote_portable_result in - :*|*[\[\*\?]*) - func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ - | $SED "$sed_quote_subst"` - break - ;; - esac - - func_quote_portable_old_IFS=$IFS - for _G_char in '\' '`' '"' '$' - do - # STATE($1) PREV($2) SEPARATOR($3) - set start "" "" - func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy - IFS=$_G_char - for _G_part in $func_quote_portable_result - do - case $1 in - quote) - func_append func_quote_portable_result "$3$2" - set quote "$_G_part" "\\$_G_char" - ;; - start) - set first "" "" - func_quote_portable_result= - ;; - first) - set quote "$_G_part" "" - ;; - esac - done - done - IFS=$func_quote_portable_old_IFS - ;; - *) ;; - esac - break - done - - func_quote_portable_unquoted_result=$func_quote_portable_result - case $func_quote_portable_result in - # double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # many bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_portable_result=\"$func_quote_portable_result\" - ;; - esac -} - - -# func_quotefast_eval ARG -# ----------------------- -# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', -# but optimized for speed. Result is stored in $func_quotefast_eval. -if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then - printf -v _GL_test_printf_tilde %q '~' - if test '\~' = "$_GL_test_printf_tilde"; then - func_quotefast_eval () - { - printf -v func_quotefast_eval_result %q "$1" - } - else - # Broken older Bash implementations. Make those faster too if possible. - func_quotefast_eval () - { - case $1 in - '~'*) - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - ;; - *) - printf -v func_quotefast_eval_result %q "$1" - ;; - esac - } - fi -else - func_quotefast_eval () - { - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - } -fi - - -# func_quote_arg MODEs ARG -# ------------------------ -# Quote one ARG to be evaled later. MODEs argument may contain zero or more -# specifiers listed below separated by ',' character. This function returns two -# values: -# i) func_quote_arg_result -# double-quoted (when needed), suitable for a subsequent eval -# ii) func_quote_arg_unquoted_result -# has all characters that are still active within double -# quotes backslashified. Available only if 'unquoted' is specified. -# -# Available modes: -# ---------------- -# 'eval' (default) -# - escape shell special characters -# 'expand' -# - the same as 'eval'; but do not quote variable references -# 'pretty' -# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might -# be used later in func_quote to get output like: 'echo "a b"' instead -# of 'echo a\ b'. This is slower than default on some shells. -# 'unquoted' -# - produce also $func_quote_arg_unquoted_result which does not contain -# wrapping double-quotes. -# -# Examples for 'func_quote_arg pretty,unquoted string': -# -# string | *_result | *_unquoted_result -# ------------+-----------------------+------------------- -# " | \" | \" -# a b | "a b" | a b -# "a b" | "\"a b\"" | \"a b\" -# * | "*" | * -# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" -# -# Examples for 'func_quote_arg pretty,unquoted,expand string': -# -# string | *_result | *_unquoted_result -# --------------+---------------------+-------------------- -# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" -func_quote_arg () -{ - _G_quote_expand=false - case ,$1, in - *,expand,*) - _G_quote_expand=: - ;; - esac - - case ,$1, in - *,pretty,*|*,expand,*|*,unquoted,*) - func_quote_portable $_G_quote_expand "$2" - func_quote_arg_result=$func_quote_portable_result - func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result - ;; - *) - # Faster quote-for-eval for some shells. - func_quotefast_eval "$2" - func_quote_arg_result=$func_quotefast_eval_result - ;; - esac -} - - -# func_quote MODEs ARGs... -# ------------------------ -# Quote all ARGs to be evaled later and join them into single command. See -# func_quote_arg's description for more info. -func_quote () -{ - $debug_cmd - _G_func_quote_mode=$1 ; shift - func_quote_result= - while test 0 -lt $#; do - func_quote_arg "$_G_func_quote_mode" "$1" - if test -n "$func_quote_result"; then - func_append func_quote_result " $func_quote_arg_result" - else - func_append func_quote_result "$func_quote_arg_result" - fi - shift - done -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_arg pretty,expand "$_G_cmd" - eval "func_notquiet $func_quote_arg_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_arg expand,pretty "$_G_cmd" - eval "func_echo $func_quote_arg_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2010-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# Copyright'. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug in processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# in the main code. A hook is just a list of function names that can be -# run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of hook functions to be called by -# FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_propagate_result FUNC_NAME_A FUNC_NAME_B -# --------------------------------------------- -# If the *_result variable of FUNC_NAME_A _is set_, assign its value to -# *_result variable of FUNC_NAME_B. -func_propagate_result () -{ - $debug_cmd - - func_propagate_result_result=: - if eval "test \"\${${1}_result+set}\" = set" - then - eval "${2}_result=\$${1}_result" - else - func_propagate_result_result=false - fi -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It's assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook functions." ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - func_unset "${_G_hook}_result" - eval $_G_hook '${1+"$@"}' - func_propagate_result $_G_hook func_run_hooks - if $func_propagate_result_result; then - eval set dummy "$func_run_hooks_result"; shift - fi - done -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list from your hook function. You may remove -# or edit any options that you action, and then pass back the remaining -# unprocessed options in '_result', escaped -# suitably for 'eval'. -# -# The '_result' variable is automatically unset -# before your hook gets called; for best performance, only set the -# *_result variable when necessary (i.e. don't call the 'func_quote' -# function unnecessarily because it can be an expensive operation on some -# machines). -# -# Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# # No change in '$@' (ignored completely by this hook). Leave -# # my_options_prep_result variable intact. -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# args_changed=false -# -# # Note that, for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: -# args_changed=: -# ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# args_changed=: -# ;; -# *) # Make sure the first unrecognised option "$_G_opt" -# # is added back to "$@" in case we need it later, -# # if $args_changed was set to 'true'. -# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; -# esac -# done -# -# # Only call 'func_quote' here if we processed at least one argument. -# if $args_changed; then -# func_quote eval ${1+"$@"} -# my_silent_option_result=$func_quote_result -# fi -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll also need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options_finish [ARG]... -# ---------------------------- -# Finishing the option parse loop (call 'func_options' hooks ATM). -func_options_finish () -{ - $debug_cmd - - func_run_hooks func_options ${1+"$@"} - func_propagate_result func_run_hooks func_options_finish -} - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - _G_options_quoted=false - - for my_func in options_prep parse_options validate_options options_finish - do - func_unset func_${my_func}_result - func_unset func_run_hooks_result - eval func_$my_func '${1+"$@"}' - func_propagate_result func_$my_func func_options - if $func_propagate_result_result; then - eval set dummy "$func_options_result"; shift - _G_options_quoted=: - fi - done - - $_G_options_quoted || { - # As we (func_options) are top-level options-parser function and - # nobody quoted "$@" for us yet, we need to do it explicitly for - # caller. - func_quote eval ${1+"$@"} - func_options_result=$func_quote_result - } -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propagate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - func_propagate_result func_run_hooks func_options_prep -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - _G_parse_options_requote=false - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - func_propagate_result func_run_hooks func_parse_options - if $func_propagate_result_result; then - eval set dummy "$func_parse_options_result"; shift - # Even though we may have changed "$@", we passed the "$@" array - # down into the hook and it quoted it for us (because we are in - # this if-branch). No need to quote it again. - _G_parse_options_requote=false - fi - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - # We expect that one of the options parsed in this function matches - # and thus we remove _G_opt from "$@" and need to re-quote. - _G_match_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" >&2 - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - if test $# = 0 && func_missing_arg $_G_opt; then - _G_parse_options_requote=: - break - fi - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) _G_parse_options_requote=: ; break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift - _G_match_parse_options=false - break - ;; - esac - - if $_G_match_parse_options; then - _G_parse_options_requote=: - fi - done - - if $_G_parse_options_requote; then - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - func_parse_options_result=$func_quote_result - fi -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - func_propagate_result func_run_hooks func_validate_options - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables -# after splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - if test "x$func_split_equals_lhs" = "x$1"; then - func_split_equals_rhs= - fi - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs=" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -# The version message is extracted from the calling file's header -# comments, with leading '# ' stripped: -# 1. First display the progname and version -# 2. Followed by the header comment line matching /^# Written by / -# 3. Then a blank line followed by the first following line matching -# /^# Copyright / -# 4. Immediately followed by any lines between the previous matches, -# except lines preceding the intervening completely blank line. -# For example, see the header comments of this file. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /^# Written by /!b - s|^# ||; p; n - - :fwd2blnk - /./ { - n - b fwd2blnk - } - p; n - - :holdwrnt - s|^# || - s|^# *$|| - /^Copyright /!{ - /./H - n - b holdwrnt - } - - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - G - s|\(\n\)\n*|\1|g - p; q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# Extract macro arguments from autotools input with GNU M4. -# Written by Gary V. Vaughan, 2010 -# -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2010-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - -# Make sure we've evaluated scripts we depend on. -test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh -test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/options-parser - -# Set a version string. -scriptversion=2019-02-19.15; # UTC - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './extract-trace --help' for help with using this script from the -# command line. -# -# Or source first 'options-parser' and then this file into your own -# scripts in order to make use of the function and variable framework -# they define, and also to avoid the overhead of forking to run this -# script in its own process on every call. - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of -# 'extract-trace'. - - -# func_autoconf_configure MAYBE-CONFIGURE-FILE -# -------------------------------------------- -# Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current -# directory that contains an uncommented call to AC_INIT. -func_autoconf_configure () -{ - $debug_cmd - - _G_sed_no_comment=' - s|#.*$|| - s|^dnl .*$|| - s| dnl .*$||' - _G_ac_init= - - # If we were passed a genuine file, make sure it calls AC_INIT. - test -f "$1" \ - && _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT` - - # Otherwise it is not a genuine Autoconf input file. - test -n "$_G_ac_init" - _G_status=$? - - test 0 -ne "$_G_status" \ - && func_verbose "'$1' not using Autoconf" - - (exit $_G_status) -} - - -# func_tool_version_output CMD [FATAL-ERROR-MSG] -# ---------------------------------------------- -# Attempt to run 'CMD --version', discarding errors. The output can be -# ignored by redirecting stdout, and this function used simply to test -# whether the command exists and exits normally when passed a -# '--version' argument. -# When FATAL-ERROR-MSG is given, then this function will display the -# message and exit if running 'CMD --version' returns a non-zero exit -# status. -func_tool_version_output () -{ - $debug_cmd - - _G_cmd=$1 - _G_fatal_error_msg=$2 - - # Some tools, like 'git2cl' produce thousands of lines of output - # unless stdin is /dev/null - in that case we want to return - # successfully without saving all of that output. Other tools, - # such as 'help2man' exit with a non-zero status when stdin comes - # from /dev/null, so we re-execute without /dev/null if that - # happens. This means that occasionally, the output from both calls - # ends up in the result, but the alternative would be to discard the - # output from one call, and hope the other produces something useful. - { $_G_cmd --version /dev/null - _G_status=$? - - test 0 -ne "$_G_status" && test -n "$_G_fatal_error_msg" \ - && func_fatal_error "$_G_fatal_error_msg" - - (exit $_G_status) -} - - -# func_tool_version_number CMD [FATAL-ERROR-MSG] -# ---------------------------------------------- -# Pass arguments to func_tool_version_output, but set -# $func_tool_version_number_result to the last dot delimited digit string -# on the first line of output. -func_tool_version_number () -{ - $debug_cmd - - _G_verout=`func_tool_version_output "$@"` - _G_status=$? - - # A version number starts with a digit following a space on the first - # line of output from `--version`. - _G_verout=`echo "$_G_verout" |sed 1q` - if test -n "$_G_verout"; then - _G_vernum=`expr "$_G_verout" : '.* \([0-9][^ ]*\)'` - fi - - if test -n "$_G_vernum"; then - printf '%s\n' "$_G_vernum" - else - printf '%s\n' "$_G_verout" - fi - - (exit $_G_status) -} - - -# func_find_tool ENVVAR NAMES... -# ------------------------------ -# Search for a required program. Use the value of ENVVAR, if set, -# otherwise find the first of the NAMES that can be run (i.e., -# supports --version). If found, set ENVVAR to the program name, -# die otherwise. -func_find_tool () -{ - $debug_cmd - - _G_find_tool_envvar=$1 - shift - _G_find_tool_names=$@ - eval "_G_find_tool_res=\$$_G_find_tool_envvar" - if test -n "$_G_find_tool_res"; then - _G_find_tool_error_prefix="\$$find_tool_envvar: " - else - _G_find_tool_res= - _G_bestver= - for _G_prog - do - _G_find_tool_save_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for _G_dir in $PATH; do - IFS=$_G_find_tool_save_IFS - _G_progpath=$_G_dir/$_G_prog - test -r "$_G_progpath" && { - _G_curver=`func_tool_version_number $_G_progpath` - case $_G_bestver,$_G_curver in - ,) - # first non--version responsive prog sticks! - test -n "$_G_progpath" || _G_find_tool_res=$_G_progpath - ;; - ,*) - # first --version responsive prog beats non--version responsive! - _G_find_tool_res=$_G_progpath - _G_bestver=$_G_curver - ;; - *,*) - # another --version responsive prog must be newer to beat previous one! - test "x$_G_curver" = "x$_G_bestver" \ - || func_lt_ver "$_G_curver" "$_G_bestver" \ - || { - _G_find_tool_res=$_G_progpath - _G_bestver=$_G_curver - } - ;; - esac - } - done - IFS=$_G_find_tool_save_IFS - done - fi - if test -n "$_G_find_tool_res"; then - func_tool_version_number >/dev/null $_G_find_tool_res "\ -${_G_find_tool_error_prefix}Cannot run '$_G_find_tool_res --version'" - - # Make sure the result is exported to the environment for children - # to use. - eval "$_G_find_tool_envvar=\$_G_find_tool_res" - eval "export $_G_find_tool_envvar" - else - func_error "\ -One of these is required: - $_G_find_tool_names" - fi -} - - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Where a variable already has a non- -# empty value (as set by the package's 'bootstrap.conf'), that value is -# used in preference to deriving the default. Call them using their -# associated 'require_*' variable to ensure that they are executed, at -# most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_configure_ac -# -------------------- -# Ensure that there is a 'configure.ac' or 'configure.in' file in the -# current directory that contains an uncommented call to AC_INIT, and -# that '$configure_ac' contains its name. -require_configure_ac=func_require_configure_ac -func_require_configure_ac () -{ - $debug_cmd - - test -z "$configure_ac" \ - && func_autoconf_configure configure.ac && configure_ac=configure.ac - test -z "$configure_ac" \ - && func_autoconf_configure configure.in && configure_ac=configure.in - test -z "$configure_ac" \ - || func_verbose "found '$configure_ac'" - - require_configure_ac=: -} - - -# require_gnu_m4 -# -------------- -# Search for GNU M4, and export it in $M4. -require_gnu_m4=func_require_gnu_m4 -func_require_gnu_m4 () -{ - $debug_cmd - - test -n "$M4" || { - # Find the first m4 binary that responds to --version. - func_find_tool M4 gm4 gnum4 m4 - } - - test -n "$M4" || func_fatal_error "\ -Please install GNU M4, or 'export M4=/path/to/gnu/m4'." - - func_verbose "export M4='$M4'" - - # Make sure the search result is visible to subshells - export M4 - - require_gnu_m4=: -} - - -## --------------- ## -## Core functions. ## -## --------------- ## - -# This section contains the high level functions used when calling this -# file as a script. 'func_extract_trace' is probably the only one that you -# won't want to replace if you source this file into your own script. - - -# func_extract_trace MACRO_NAMES [FILENAME]... -# -------------------------------------------- -# set '$func_extract_trace_result' to a colon delimited list of arguments -# to any of the comma separated list of MACRO_NAMES in FILENAME. If no -# FILENAME is given, then '$configure_ac' is assumed. -func_extract_trace () -{ - $debug_cmd - - $require_configure_ac - $require_gnu_m4 - - _G_m4_traces=`$ECHO "--trace=$1" |$SED 's%,% --trace=%g'` - _G_re_macros=`$ECHO "($1)" |$SED 's%,%|%g'` - _G_macros="$1"; shift - test $# -gt 0 || { - set dummy $configure_ac - shift - } - - # Generate an error if the first file is missing - <"$1" - - # Sadly, we can't use 'autom4te' tracing to extract macro arguments, - # because it complains about things we want to ignore at bootstrap - # time - like missing m4_include files; AC_PREREQ being newer than - # the installed autoconf; and returns nothing when tracing - # 'AM_INIT_AUTOMAKE' when aclocal hasn't been generated yet. - # - # The following tries to emulate a less persnickety version of (and - # due to not having to wait for Perl startup on every invocation, - # it's probably faster too): - # - # autom4te --language=Autoconf --trace=$my_macro:\$% "$@" - # - # First we give a minimal set of macro declarations to M4 to prime - # it for reading Autoconf macros, while still providing some of the - # functionality generally used at m4-time to supply dynamic - # arguments to Autocof functions, but without following - # 'm4_s?include' files. - _G_mini=' - dnl Initialisation. - m4_changequote([,]) - m4_define([m4_copy], [m4_define([$2], m4_defn([$1]))]) - m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])]) - - dnl Replace macros which may abort m4 with a no-op variant. - m4_pushdef([m4_assert]) - m4_pushdef([m4_exit]) - m4_pushdef([m4_fatal]) - m4_pushdef([m4_m4exit]) - - dnl Replace macros that might break stderr of m4. - m4_pushdef([m4_errprint]) - m4_pushdef([m4_errprintn]) - m4_pushdef([m4_include]) - m4_pushdef([m4_warn]) - - dnl Avoid side-effects of tracing by extract-trace. - m4_pushdef([m4_maketemp]) - m4_pushdef([m4_mkstemp]) - - dnl TODO: reasons for this - m4_pushdef([m4_dnl]) - m4_pushdef([m4_m4wrap]) - - dnl Copy and rename macros not handled by "m4 --prefix". - m4_define([dnl], [m4_builtin([dnl])]) - m4_copy([m4_define], [m4_defun]) - m4_rename([m4_ifelse], [m4_if]) - m4_rename([m4_patsubst], [m4_bpatsubst]) - m4_rename([m4_regexp], [m4_bregexp]) - - dnl "m4sugar.mini" - useful m4-time macros for dynamic arguments. - dnl If we discover packages that need more m4 macros defined in - dnl order to bootstrap correctly, add them here: - m4_define([m4_bmatch], - [m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2], - [m4_if(m4_bregexp([$1], [$2]), -1, - [$0([$1], m4_shift3($@))], [$3])])]) - m4_define([m4_ifndef], [m4_ifdef([$1], [$3], [$2])]) - m4_define([m4_ifset], - [m4_ifdef([$1], [m4_ifval(m4_defn([$1]), [$2], [$3])], [$3])]) - m4_define([m4_require], [$1]) - m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))]) - - dnl "autoconf.mini" - things from autoconf macros we care about. - m4_copy([m4_defun], [AC_DEFUN]) - - dnl Dummy definitions for the macros we want to trace. - dnl AM_INIT_AUTOMAKE at least produces no trace without this. - ' - - _G_save=$IFS - IFS=, - for _G_macro in $_G_macros; do - IFS=$_G_save - func_append _G_mini "AC_DEFUN([$_G_macro])$nl" - done - IFS=$_G_save - - # We discard M4's stdout, but the M4 trace output from reading our - # "autoconf.mini" followed by any other files passed to this - # function is then scanned by sed to transform it into a colon - # delimited argument list assigned to a shell variable. - _G_transform='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;' - - # Unfortunately, alternation in regexp addresses doesn't work in at - # least BSD (and hence Mac OS X) sed, so we have to append a capture - # and print block for each traced macro to the sed transform script. - _G_save=$IFS - IFS=, - for _G_macro in $_G_macros; do - IFS=$_G_save - func_append _G_transform ' - /^m4trace: -1- '"$_G_macro"'/ { - s|^m4trace: -1- '"$_G_macro"'[([]*|| - s|], [[]|:|g - s|[])]*$|:| - s|\(.\):$|\1| - p - }' - done - IFS=$_G_save - - # Save the command pipeline results for further use by callers of - # this function. - func_extract_trace_result=`$ECHO "$_G_mini" \ - |$M4 -daq --prefix $_G_m4_traces - "$@" 2>&1 1>/dev/null \ - |$SED -n -e "$_G_transform"` -} - - -# func_extract_trace_first MACRO_NAMES [FILENAME]... -# -------------------------------------------------- -# Exactly like func_extract_trace, except that only the first argument -# to the first invocation of one of the comma separated MACRO_NAMES is -# returned in '$func_extract_trace_first_result'. -func_extract_trace_first () -{ - $debug_cmd - - func_extract_trace ${1+"$@"} - func_extract_trace_first_result=`$ECHO "$func_extract_trace_result" \ - |$SED -e 's|:.*$||g' -e 1q` -} - - -# func_main [ARG]... -# ------------------ -func_main () -{ - $debug_cmd - - # Configuration. - usage='$progname MACRO_NAME FILE [...]' - - long_help_message=' -The first argument to this program is the name of an autotools macro -whose arguments you want to extract by examining the files listed in the -remaining arguments using the same tool that Autoconf and Automake use, -GNU M4. - -The arguments are returned separated by colons, with each traced call -on a separate line.' - - # Option processing. - func_options "$@" - eval set dummy "$func_options_result"; shift - - # Validate remaining non-option arguments. - test $# -gt 1 \ - || func_fatal_help "not enough arguments" - - # Pass non-option arguments to extraction function. - func_extract_trace "$@" - - # Display results. - test -n "$func_extract_trace_result" \ - && $ECHO "$func_extract_trace_result" - - # The End. - exit $EXIT_SUCCESS -} - - -## --------------------------- ## -## Actually perform the trace. ## -## --------------------------- ## - -# Only call 'func_main' if this script was called directly. -test extract-trace = "$progname" && func_main "$@" - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "50/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string for *this* script. -scriptversion=2019-03-22.11; # UTC - - -## ------------------- ## -## Hookable functions. ## -## ------------------- ## - -# After 'bootstrap.conf' has been sourced, execution proceeds by calling -# 'func_bootstrap'. Wherever a function is decorated with -# 'func_hookable func_name', you will find a matching 'func_run_hooks -# func_name', which executes all functions added with 'func_add_hook -# func_name my_func'. -# -# You might notice that many of these functions begin with a series of -# '$require_foo' lines. See the docu-comments at the start of the -# 'Resource management' section for a description of what these are. - - -# func_bootstrap [ARG]... -# ----------------------- -# All the functions called inside func_bootstrap are hookable. See the -# the individual implementations for details. -func_bootstrap () -{ - $debug_cmd - - # Save the current positional parameters to prevent them being - # corrupted by calls to 'set' in 'func_init'. - func_quote eval ${1+"$@"} - _G_saved_positional_parameters=$func_quote_result - - # Initialisation. - func_init - - # Option processing. - eval func_options "$_G_saved_positional_parameters" - - # Post-option preparation. - func_prep - - # Reconfigure the package. - func_reconfigure - - # Ensure .version is up-to-date. - func_update_dotversion - - # Finalisation. - func_fini -} - - -# func_init -# --------- -# Any early initialisations can be hooked to this function. Consider -# whether you can hook onto 'func_prep' instead, because if you hook -# any slow to execute code in here, it will also add to the time before -# './bootstrap --version' can respond. -func_hookable func_init -func_init () -{ - $debug_cmd - - func_run_hooks func_init -} - - -# func_prep -# --------- -# Function to perform preparation for remaining bootstrap process. If -# your hooked code relies on the outcome of 'func_options' hook it here -# rather than to 'func_init'. -# -# All the functions called inside func_prep are hookable. See the -# individual implementations for details. -func_hookable func_prep -func_prep () -{ - $debug_cmd - - $require_buildtools_uptodate - $require_checkout_only_file - - $require_gnulib_merge_changelog - - # Report the results of SED and GREP searches from funclib.sh. - func_verbose "GREP='$GREP'" - func_verbose "SED='$SED'" - - # fetch update files from the translation project - func_update_translations - - func_run_hooks func_prep -} - - -# func_update_translations -# ------------------------ -# Update package po files and translations. -func_hookable func_update_translations -func_update_translations () -{ - $debug_cmd - - $opt_skip_po || { - test -d po && { - $require_package - - func_update_po_files po $package || exit $? - } - - func_run_hooks func_update_translations - } -} - - -# func_reconfigure -# ---------------- -# Reconfigure the current package by running the appropriate autotools in a -# suitable order. -func_hookable func_reconfigure -func_reconfigure () -{ - $debug_cmd - - $require_automake_options - - # Automake (without 'foreign' option) requires that NEWS & README exist. - case " $automake_options " in - " foreign ") ;; - *) - func_ensure_NEWS - func_ensure_README - ;; - esac - - # Ensure ChangeLog presence. - if test -n "$gnulib_modules"; then - func_ifcontains "$gnulib_modules" gitlog-to-changelog \ - func_ensure_changelog - else - $require_gnulib_cache - if $SED -n '/^gl_MODULES(\[/,/^])$/p' $gnulib_cache 2>/dev/null | - func_grep_q gitlog-to-changelog - then - func_ensure_changelog - fi - fi - - # Released 'autopoint' has the tendency to install macros that have - # been obsoleted in current 'gnulib', so run this before 'gnulib-tool'. - func_autopoint - - # Autoreconf runs 'aclocal' before 'libtoolize', which causes spurious - # warnings if the initial 'aclocal' is confused by the libtoolized - # (or worse: out-of-date) macro directory. - func_libtoolize - - # If you need to do anything after 'gnulib-tool' is done, but before - # 'autoreconf' runs, you don't need to override this whole function, - # because 'func_gnulib_tool' is hookable. - func_gnulib_tool - - func_autoreconf - - func_run_hooks func_reconfigure -} - - -# func_gnulib_tool -# ---------------- -# Run 'gnulib-tool' to fetch gnulib modules into the current package. -# -# It's assumed that since you are using gnulib's 'bootstrap' script, -# you're also using gnulib elsewhere in your package. If not, then -# you can replace this function in 'bootstrap.conf' with: -# -# func_gnulib_tool () { :; } -# -# (although the function returns immediately if $gnulib_tool is set to -# true in any case). -func_hookable func_gnulib_tool -func_gnulib_tool () -{ - $debug_cmd - - $require_gnulib_tool - $require_libtoolize - - test true = "$gnulib_tool" || { - $require_gnulib_git_submodules - - # bootstrap.conf written for gnulib bootstrap expects - # gnulib_tool_option_extras to which --no-changelog is appended, - # but libtool bootstrap expects you to append to gnulib_tool_options - # so that you can override the --no-changelog default: make sure we - # support both styles so users can migrate between them easily. - gnulib_tool_all_options="$gnulib_tool_options $gnulib_tool_option_extras" - - if test -n "$gnulib_modules"; then - $require_gnulib_cache - $require_gnulib_tool_base_options - - gnulib_mode=--import - - # Try not to pick up any stale values from 'gnulib-cache.m4'. - rm -f "$gnulib_cache" - - test -n "$gnulib_tool_base_options" \ - && func_append_uniq gnulib_tool_all_options " $gnulib_tool_base_options" - test -n "$gnulib_mk" \ - && func_append_uniq gnulib_tool_all_options " --makefile-name=$gnulib_mk" - test -n "$tests_base" && { - func_append_uniq gnulib_tool_all_options " --tests-base=$tests_base" - func_append_uniq gnulib_tool_all_options " --with-tests" - } - else - - # 'gnulib_modules' and others are cached in 'gnulib-cache.m4': - # Use 'gnulib --update' to fetch gnulib modules. - gnulib_mode=--update - fi - - # Add a sensible default libtool option to gnulib_tool_options. - # The embedded echo is to squash whitespace before globbing. - case `echo " "$gnulib_tool_all_options" "` in - *" --no-libtool "*|*" --libtool "*) ;; - *) if test true = "$LIBTOOLIZE"; then - func_append_uniq gnulib_tool_all_options " --no-libtool" - else - func_append_uniq gnulib_tool_all_options " --libtool" - fi - ;; - esac - - $opt_copy || func_append_uniq gnulib_tool_all_options " --symlink" - - func_append_uniq gnulib_tool_all_options " $gnulib_mode" - func_append gnulib_tool_all_options " $gnulib_modules" - - # The embedded echo is to squash whitespace before display. - gnulib_cmd=`echo $gnulib_tool $gnulib_tool_all_options` - - func_show_eval "$gnulib_cmd" 'exit $?' - - # Use 'gnulib-tool --copy-file' to install non-module files. - func_install_gnulib_non_module_files - } - - func_run_hooks func_gnulib_tool -} - - -# func_fini -# --------- -# Function to perform all finalisation for the bootstrap process. -func_hookable func_fini -func_fini () -{ - $debug_cmd - - func_gettext_configuration - func_clean_dangling_symlinks - func_clean_unused_macros - func_skip_po_recommendation - - func_run_hooks func_fini - - $require_bootstrap_uptodate - - func_echo "Done. Now you can run './configure'." -} - - -# func_gettext_configuration -# -------------------------- -# Edit configuration values into po/Makevars. -func_hookable func_gettext_configuration -func_gettext_configuration () -{ - $debug_cmd - - $require_autopoint - - test true = "$AUTOPOINT" || { - $require_copyright_holder - $require_extra_locale_categories - $require_package_bugreport - - # Escape xgettext options for sed Makevars generation below. - # We have to delete blank lines in a separate script so that we don't - # append \\\ to the penultimate line, and then delete the last empty - # line, which messes up the variable substitution later in this - # function. Note that adding a literal \\\ requires double escaping - # here, once for the execution subshell, and again for the assignment, - # which is why there are actually 12 (!!) backslashes in the script. - _G_xgettext_options=`echo "$xgettext_options$nl" |$SED '/^$/d' |$SED ' - $b - s|$| \\\\\\\\\\\\|'` - - # Create gettext configuration. - func_echo "Creating po/Makevars from po/Makevars.template ..." - $RM -f po/Makevars - $SED ' - /^EXTRA_LOCALE_CATEGORIES *=/s|=.*|= '"$extra_locale_categories"'| - /^COPYRIGHT_HOLDER *=/s|=.*|= '"$copyright_holder"'| - /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$package_bugreport"'| - /^XGETTEXT_OPTIONS *=/{ - s|$| \\| - a\ - '"$_G_xgettext_options"' \\\ - $${end_of_xgettext_options+} - } - s/ *$// - ' po/Makevars.template >po/Makevars || exit 1 - } - - func_run_hooks func_gettext_configuration -} - - - -## --------------- ## -## Core functions. ## -## --------------- ## - -# This section contains the main functions called from the 'Hookable -# functions' (shown above), and are the ones you're most likely -# to want to replace with your own implementations in 'bootstrap.conf'. - - -# func_autopoint -# -------------- -# If this package uses gettext, then run 'autopoint'. -func_autopoint () -{ - $debug_cmd - - $require_autopoint - - test true = "$AUTOPOINT" \ - || func_show_eval "$AUTOPOINT --force" 'exit $?' -} - - -# func_libtoolize -# --------------- -# If this package uses libtool, then run 'libtoolize'. -func_libtoolize () -{ - $debug_cmd - - $require_libtoolize - - test true = "$LIBTOOLIZE" || { - _G_libtoolize_options= - $opt_copy && func_append _G_libtoolize_options " --copy" - $opt_force && func_append _G_libtoolize_options " --force" - $opt_verbose || func_append _G_libtoolize_options " --quiet" - func_show_eval "$LIBTOOLIZE$_G_libtoolize_options" 'exit $?' - } -} - - -# func_gnulib_tool_copy_file SRC DEST -# ----------------------------------- -# Copy SRC, a path relative to the gnulib sub-tree, to DEST, a path -# relative to the top-level source directory using gnulib-tool so that -# any patches or replacements in $local_gl_path are applied. -func_gnulib_tool_copy_file () -{ - $debug_cmd - - $require_gnulib_tool - $require_patch - - if test true = "$gnulib_tool"; then - # If gnulib-tool is not available (e.g. bootstrapping in a - # distribution tarball), make sure that at least we have some - # version of the required file already in place. - test -f "$2" || func_fatal_error "\ -Can't find, copy or download '$2', a required -gnulib supplied file, please provide the location of a -complete 'gnulib' tree by setting 'gnulib_path' in your -'bootstrap.conf' or with the '--gnulib-srcdir' option - -or else specify the location of your 'git' binary by -setting 'GIT' in the environment so that a fresh -'gnulib' submodule can be cloned." - else - $require_gnulib_copy_cmd - - $gnulib_copy_cmd $1 $2 2>/dev/null || { - $require_gnulib_path - - func_error "'$gnulib_path/$1' does not exist" - return 1 - } - fi -} - - -# func_install_gnulib_non_module_files -# ------------------------------------ -# Get additional non-module files from gnulib, overriding existing files. -func_install_gnulib_non_module_files () -{ - $debug_cmd - - $require_build_aux - $require_gnulib_tool - - test -n "$gnulib_non_module_files" && { - maybe_exit_cmd=: - - for file in $gnulib_non_module_files; do - case $file in - */COPYING*) dest=COPYING;; - */INSTALL) dest=INSTALL;; - build-aux/missing) dest= - func_warning settings "\ -Please remove build-aux/missing from gnulib_module_files in -'bootstrap.conf', as it may clash with Automake's version." - ;; - build-aux/*) dest=$build_aux/`expr "$file" : 'build-aux/\(.*\)'`;; - *) dest=$file;; - esac - - # Be sure to show all copying errors before bailing out - test -z "$dest" \ - || func_gnulib_tool_copy_file "$file" "$dest" \ - || maybe_exit_cmd="exit $EXIT_FAILURE" - done - - $maybe_exit_cmd - } -} - - -# func_ensure_changelog -# --------------------- -# Even with 'gitlog-to-changelog' generated ChangeLogs, automake -# will not run to completion with no ChangeLog file. -func_ensure_changelog () -{ - $debug_cmd - - test -f ChangeLog && mv -f ChangeLog ChangeLog~ - - cat >ChangeLog <<'EOT' -## ---------------------- ## -## DO NOT EDIT THIS FILE! ## -## ---------------------- ## - -ChangeLog is generated by gitlog-to-changelog. -EOT - - _G_message="creating dummy 'ChangeLog'" - test -f ChangeLog~ \ - && func_append _G_message ' (backup in ChangeLog~)' - func_verbose "$_G_message" - - return 0 -} - - -# func_ensure_NEWS -# ---------------- -# Without AM_INIT_AUTOMAKE([foreign]), automake will not run to -# completion with no NEWS file, even though NEWS.md or NEWS.txt -# is often preferable. -func_ensure_NEWS () -{ - $debug_cmd - - test -f NEWS || { - _G_NEWS= - for _G_news in NEWS.txt NEWS.md NEWS.rst; do - test -f "$_G_news" && break - done - - test -f "$_G_news" && $LN_S $_G_news NEWS - func_verbose "$LN_S $_G_news NEWS" - } - - return 0 -} - - -# func_ensure_README -# ------------------ -# Without AM_INIT_AUTOMAKE([foreign]), automake will not run to -# completion with no README file, even though README.md or README.txt -# is often preferable. -func_ensure_README () -{ - $debug_cmd - - test -f README || { - _G_README= - for _G_readme in README.txt README.md README.rst; do - test -f "$_G_readme" && break - done - - test -f "$_G_readme" && $LN_S $_G_readme README - func_verbose "$LN_S $_G_readme README" - } - - return 0 -} - - -# func_autoreconf [SUBDIR] -# ------------------------ -# Being careful not to re-run 'autopoint' or 'libtoolize', and not to -# try to run 'autopoint', 'libtoolize' or 'autoheader' on packages that -# don't use them, defer to 'autoreconf' for execution of the remaining -# autotools to bootstrap this package. -# -# Projects with multiple trees to reconfigure can hook another call to -# this function onto func_reconfigure: -# -# my_autoreconf_foo () -# { -# func_autoreconf foo -# } -# func_add_hook func_reconfigure my_autoreconf_foo -func_autoreconf () -{ - $debug_cmd - - $require_autoheader - $require_build_aux # automake and others put files in here - $require_macro_dir # aclocal and others put files in here - - # We ran these manually already, and autoreconf won't exec ':' - save_AUTOPOINT=$AUTOPOINT; AUTOPOINT=true - save_LIBTOOLIZE=$LIBTOOLIZE; LIBTOOLIZE=true - - _G_autoreconf_options= - $opt_copy || func_append _G_autoreconf_options " --symlink" - $opt_force && func_append _G_autoreconf_options " --force" - $opt_verbose && func_append _G_autoreconf_options " --verbose" - func_show_eval "$AUTORECONF$_G_autoreconf_options --install${1+ $1}" 'exit $?' - - AUTOPOINT=$save_AUTOPOINT - LIBTOOLIZE=$save_LIBTOOLIZE -} - - -# func_check_configuration VARNAME [CONFIGURE_MACRO] -# -------------------------------------------------- -# Exit with a suitable diagnostic for an important configuration change -# that needs to be made before bootstrap can run correctly. -func_check_configuration () -{ - $debug_cmd - - $require_configure_ac - - eval 'test -n "$'$1'"' || { - _G_error_msg="please set '$1' in 'bootstrap.conf'" - if test -n "$configure_ac" && test -n "$2"; then - func_append _G_error_msg " -or add the following (or similar) to your '$configure_ac': -$2" - fi - - func_fatal_error "$_G_error_msg" - } -} - - -# func_clean_dangling_symlinks -# ---------------------------- -# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some -# gnulib-populated directories. Such .m4 files would cause aclocal to -# fail. The following requires GNU find 4.2.3 or newer. Considering -# the usual portability constraints of this script, that may seem a very -# demanding requirement, but it should be ok. Ignore any failure, -# which is fine, since this is only a convenience to help developers -# avoid the relatively unusual case where a symlinked-to .m4 file is -# git-removed from gnulib between successive runs of this script. -func_clean_dangling_symlinks () -{ - $debug_cmd - - $require_macro_dir - $require_source_base - - func_verbose "cleaning dangling symlinks" - - find "$macro_dir" "$source_base" \ - -depth \( -name '*.m4' -o -name '*.[ch]' \) \ - -type l -xtype l -delete > /dev/null 2>&1 -} - - -# func_clean_unused_macros -# ------------------------ -# Autopoint can result in over-zealously adding macros into $macro_dir -# even though they are not actually used, for example tests to help -# build the 'intl' directory even though you have specified -# 'AM_GNU_GETTEXT([external])' in your configure.ac. This function -# looks removes any macro files that can be found in gnulib, but -# are not 'm4_include'd by 'aclocal.m4'. -func_clean_unused_macros () -{ - $debug_cmd - - $require_gnulib_path - $require_macro_dir - - test -n "$gnulib_path" && test -f aclocal.m4 && { - aclocal_m4s=`find . -name aclocal.m4 -print` - - # We use 'ls|grep' instead of 'ls *.m4' to avoid exceeding - # command line length limits in some shells. - for file in `cd "$macro_dir" && ls -1 |$GREP '\.m4$'`; do - - # Remove a macro file when aclocal.m4 does not m4_include it... - func_grep_q 'm4_include([[]'$macro_dir/$file'])' $aclocal_m4s \ - || test ! -f "$gnulib_path/m4/$file" || { - - # ...and there is an identical file in gnulib... - if func_cmp_s "$gnulib_path/m4/$file" "$macro_dir/$file"; then - - # ...and it's not in the precious list ('echo' is needed - # here to squash whitespace for the match expression). - case " "`echo $gnulib_precious`" " in - *" $file "*) ;; - *) rm -f "$macro_dir/$file" - func_verbose \ - "removing unused gnulib file '$macro_dir/$file'" - esac - fi - } - done - } -} - - -# func_skip_po_recommendation -# --------------------------- -# If there is a po directory, and '--skip-po' wasn't passed, let the -# user know that they can use '--skip-po' on subsequent invocations. -func_skip_po_recommendation () -{ - $debug_cmd - - test ! -d po \ - || $opt_skip_po \ - || func_warning recommend "\ -If your pofiles are up-to-date, you can rerun bootstrap -as '$progname --skip-po' to avoid redownloading." -} - - -# func_update_dotversion -# ---------------------- -# Even with 'gitlog-to-changelog' generated ChangeLogs, automake -# will not run to completion with no ChangeLog file. -func_update_dotversion () -{ - $debug_cmd - - test -f "$build_aux/git-version-gen" && { - _G_message="updating .version" - test -f .version && { - mv .version .version~ - func_append _G_message " (backup in .version~)" - } - func_verbose "updating .version" - - $build_aux/git-version-gen dummy-arg > .version - } -} - - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Where a variable already has a non- -# empty value (as set by the package's 'bootstrap.conf'), that value is -# used in preference to deriving the default. Call them using their -# associated 'require_*' variable to ensure that they are executed, at -# most, once. - - -# require_gnulib_git_submodules -# ----------------------------- -# Initialize all git modules from $gnulib_git_submodules before we -# run 'gnulib-tool'. -require_gnulib_git_submodules=func_require_gnulib_git_submodules -func_require_gnulib_git_submodules () -{ - test -n "$gnulib_git_submodules" && { - for _G_submodule in $gnulib_git_submodules - do - func_show_eval "git submodule init -- $_G_submodule" \ - && func_show_eval "git submodule update -- $_G_submodule" \ - || func_fatal_error "Unable to init git module '$_G_submodule'." - done - } - - require_gnulib_git_submodules=: -} - - -# require_checkout_only_file -# -------------------------- -# Bail out if this package only bootstraps properly from a repository -# checkout. -require_checkout_only_file=func_require_checkout_only_file -func_require_checkout_only_file () -{ - $debug_cmd - - $opt_force || { - test -n "$checkout_only_file" && test ! -f "$checkout_only_file" \ - && func_fatal_error "\ -Bootstrapping from a non-checked-out distribution is risky. -If you wish to bootstrap anyway, use the '--force' option." - } - - require_checkout_only_file=: -} - - -# require_aclocal_amflags -# ----------------------- -# Ensure '$aclocal_amflags' has a sensible default, extracted from -# 'Makefile.am' if necessary. -require_aclocal_amflags=func_require_aclocal_amflags -func_require_aclocal_amflags () -{ - $debug_cmd - - $require_makefile_am - - _G_sed_extract_aclocal_amflags='s|#.*$|| - /^[ ]*ACLOCAL_AMFLAGS[ ]*=/ { - s|^.*=[ ]*\(.*\)|aclocal_amflags="\1"| - p - }' - - _G_aclocal_flags_cmd=`$SED -n "$_G_sed_extract_aclocal_amflags" \ - "$makefile_am"` - eval "$_G_aclocal_flags_cmd" - - func_verbose "ACLOCAL_AMFLAGS='$aclocal_amflags'" - - require_aclocal_amflags=: -} - - -# require_autoheader -# ------------------ -# Skip autoheader if it's not needed. -require_autoheader=func_require_autoheader -func_require_autoheader () -{ - $debug_cmd - - test true = "$AUTOHEADER" || { - func_extract_trace AC_CONFIG_HEADERS - test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_HEADER - - test -n "$func_extract_trace_result" || { - AUTOHEADER=true - - func_verbose "export AUTOHEADER='$AUTOHEADER'" - - # Make sure the search result is visible to subshells - export AUTOHEADER - } - } - - require_autoheader=: -} - - -# require_automake_options -# ------------------------ -# Extract options from AM_AUTOMAKE_INIT. -require_automake_options=func_require_automake_options -func_require_automake_options () -{ - $debug_cmd - - func_extract_trace AM_INIT_AUTOMAKE - automake_options=$func_extract_trace_result - - require_automake_options=: -} - - -# require_autopoint -# ----------------- -# Skip autopoint if it's not needed. -require_autopoint=func_require_autopoint -func_require_autopoint () -{ - $debug_cmd - - test true = "$AUTOPOINT" || { - func_extract_trace AM_GNU_GETTEXT_VERSION - - test -n "$func_extract_trace_result" || { - AUTOPOINT=true - - func_verbose "export AUTOPOINT='$AUTOPOINT'" - - # Make sure the search result is visible to subshells - export AUTOPOINT - } - } - - require_autopoint=: -} - - -# require_bootstrap_uptodate -# -------------------------- -# Complain if the version of bootstrap in the gnulib directory differs -# from the one we are running. -require_bootstrap_uptodate=func_require_bootstrap_uptodate -func_require_bootstrap_uptodate () -{ - $debug_cmd - - $require_build_aux - - _G_bootstrap_sources=" - $build_aux/bootstrap.in - $build_aux/extract-trace - $build_aux/funclib.sh - $build_aux/options-parser - " - - _G_missing_bootstrap_sources=false - for _G_src in $_G_bootstrap_sources; do - test -f "$_G_src" || _G_missing_bootstrap_sources=: - done - - if $_G_missing_bootstrap_sources; then - func_warning upgrade "\ -Please add bootstrap to your gnulib_modules list in -'bootstrap.conf', so that I can tell you when there are -updates available." - else - rm -f bootstrap.new - $build_aux/inline-source $build_aux/bootstrap.in > bootstrap.new - - if func_cmp_s "$progpath" bootstrap.new; then - rm -f bootstrap.new - func_verbose "bootstrap script up to date" - else - chmod 555 bootstrap.new - func_warning upgrade "\ -An updated bootstrap script has been generated for you in -'bootstrap.new'. After you've verified that you want -the changes, you can update with: - mv -f bootstrap.new $progname - ./$progname - -Or you can disable this check permanently by adding the -following to 'bootstrap.conf': - require_bootstrap_uptodate=:" - fi - fi - - require_bootstrap_uptodate=: -} - - -# require_build_aux -# ----------------- -# Ensure that '$build_aux' is set, and if it doesn't already point to an -# existing directory, create one. -require_build_aux=func_require_build_aux -func_require_build_aux () -{ - $debug_cmd - - test -n "$build_aux" || { - func_extract_trace_first AC_CONFIG_AUX_DIR - build_aux=$func_extract_trace_first_result - func_check_configuration build_aux \ - "AC_CONFIG_AUX_DIR([name of a directory for build scripts])" - - func_verbose "build_aux='$build_aux'" - } - - $require_vc_ignore_files - - # If the build_aux directory doesn't exist, create it now, and mark it - # as ignored for the VCS. - if test ! -d "$build_aux"; then - func_show_eval "mkdir '$build_aux'" - - test -n "$vc_ignore_files" \ - || func_insert_if_absent "$build_aux" $vc_ignore_files - fi - - require_build_aux=: -} - - -# require_buildreq_autobuild -# -------------------------- -# Try to find whether the bootstrap requires autobuild. -require_buildreq_autobuild=func_require_buildreq_autobuild -func_require_buildreq_autobuild () -{ - $debug_cmd - - $require_macro_dir - - test -f "$macro_dir/autobuild.m4" \ - || printf '%s\n' "$buildreq" |func_grep_q '^[ ]*autobuild' \ - || { - func_extract_trace AB_INIT - test -n "$func_extract_trace_result" && { - func_append buildreq 'autobuild - http://josefsson.org/autobuild/ -' - func_verbose "auto-adding 'autobuild' to build requirements" - } - } - - require_buildreq_autobuild=: -} - - -# require_buildreq_autoconf -# require_buildreq_autopoint -# require_buildreq_libtoolize -# --------------------------- -# Try to find the minimum compatible version of autoconf/libtool -# required to bootstrap successfully, and add it to '$buildreq'. -for tool in autoconf libtoolize autopoint; do - b=$tool - v=require_buildreq_${tool} - f=func_$v - case $tool in - autoconf) m=AC_PREREQ ;; - libtoolize) m=LT_PREREQ; b=libtool ;; - autopoint) m=AM_GNU_GETTEXT_VERSION b=gettext ;; - esac - - eval $v'='$f' - '$f' () - { - $debug_cmd - - # The following is ignored if undefined, but might be necessary - # in order for `func_find_tool` to run. - ${require_'$tool'-:} - - printf '\''%s\n'\'' "$buildreq" |func_grep_q '\''^[ ]*'$tool\'' || { - func_extract_trace '$m' - _G_version=$func_extract_trace_result - test -n "$_G_version" && { - func_append buildreq "\ - '$tool' $_G_version http://www.gnu.org/s/'$b' -" - func_verbose \ - "auto-adding '\'$tool'-$_G_version'\'' to build requirements" - } - } - - '$v'=: - } -' -done - - -# require_buildreq_automake -# ------------------------- -# Try to find the minimum compatible version of automake required to -# bootstrap successfully, and add it to '$buildreq'. -require_buildreq_automake=func_require_buildreq_automake -func_require_buildreq_automake () -{ - $debug_cmd - - # if automake is not already listed in $buildreq... - printf '%s\n' "$buildreq" |func_grep_q automake || { - func_extract_trace AM_INIT_AUTOMAKE - - # ...and AM_INIT_AUTOMAKE is declared... - test -n "$func_extract_trace_result" && { - automake_version=`$ECHO "$func_extract_trace_result" \ - |$SED -e 's|[^0-9]*||' -e 's| .*$||'` - test -n "$automake_version" || automake_version=- - - func_append buildreq "\ - automake $automake_version http://www.gnu.org/s/automake -" - func_verbose \ - "auto-adding 'automake-$automake_version' to build requirements" - } - } - - require_buildreq_automake=: -} - - -# require_buildreq_patch -# ---------------------- -# Automatically add a patch build-requirement if there are diff files -# in $local_gl_path. -require_buildreq_patch=func_require_buildreq_patch -func_require_buildreq_patch () -{ - $debug_cmd - - $require_local_gl_path - - # This ensures PATCH is set appropriately by the time - # func_check_versions enforces $buildreq. - $require_patch - - # If patch is not already listed in $buildreq... - printf '%s\n' "$buildreq" |func_grep_q '^[ ]*patch' || { - eval "set dummy $local_gl_path_quoted" ; shift - - for _G_dir - do - # The ugly find invocation is necessary to exit with non-zero - # status for old find binaries that don't support -exec fully. - if test ! -d "$_G_dir" \ - || find "$_G_dir" -name "*.diff" -exec false {} \; ; then : - else - func_append buildreq "patch - http://www.gnu.org/s/patch$nl" - break - fi - done - } - - require_buildreq_patch=: -} - - -# require_buildtools_uptodate -# --------------------------- -# Ensure all the packages listed in BUILDREQS are available on the build -# machine at the minimum versions or better. -require_buildtools_uptodate=func_require_buildtools_uptodate -func_require_buildtools_uptodate () -{ - $debug_cmd - - $require_buildreq_autobuild - $require_buildreq_autoconf - $require_buildreq_automake - $require_buildreq_libtoolize - $require_buildreq_autopoint - $require_buildreq_patch - - test -n "$buildreq" && { - _G_error_hdr= - - func_check_versions $buildreq - $func_check_versions_result || { - test -n "$buildreq_readme" \ - && test -f "$buildreq_readme" \ - && _G_error_hdr="\ -$buildreq_readme explains how to obtain these prerequisite programs: -" - func_strtable 0 11 12 36 \ - "Program" "Min_version" "Homepage" $buildreq - func_fatal_error "$_G_error_hdr$func_strtable_result" - } - } - - require_buildtools_uptodate=: -} - - -# require_copyright_holder -# ------------------------ -# Ensure there is a sensible non-empty default value in '$copyright_holder'. -require_copyright_holder=func_require_copyright_holder -func_require_copyright_holder () -{ - $debug_cmd - - test -n "$copyright_holder" || { - copyright_holder='Free Software Foundation, Inc.' - func_warning settings "\ -Please set copyright_holder explicitly in 'bootstrap.conf'; -defaulting to '$copyright_holder'." - } - - require_copyright_holder=: -} - - -# require_doc_base -# ---------------- -# Ensure doc_base has a sensible value, extracted from 'gnulib-cache.m4' -# if possible, otherwise letting 'gnulib-tool' pick a default. -require_doc_base=func_require_doc_base -func_require_doc_base () -{ - $debug_cmd - - $require_gnulib_cache - - test -f "$gnulib_cache" && test -z "$doc_base" && { - func_extract_trace_first "gl_DOC_BASE" "$gnulib_cache" - doc_base=$func_extract_trace_first_result - - test -n "$doc_base" && func_verbose "doc_base='$doc_base'" - } - - require_doc_base=: -} - - -# require_dotgitmodules -# --------------------- -# Ensure we have a '.gitmodules' file, with appropriate 'gnulib' settings. -require_dotgitmodules=func_require_dotgitmodules -func_require_dotgitmodules () -{ - $debug_cmd - - $require_git - - test true = "$GIT" || { - # A gnulib entry in .gitmodules always takes precedence. - _G_path=`$GIT config --file .gitmodules submodule.gnulib.path 2>/dev/null` - - test -n "$_G_path" || { - $require_vc_ignore_files - - func_verbose "creating '.gitmodules'" - - # If the .gitmodules file doesn't exist, create it now, and mark - # it as ignored for the VCS. - test -n "$gnulib_path" || gnulib_path=gnulib - test -n "$gnulib_url" || gnulib_url=git://git.sv.gnu.org/gnulib - - { - echo '[submodule "gnulib"]' - echo " path = $gnulib_path" - echo " url = $gnulib_url" - } >> .gitmodules - - test -n "$vc_ignore_files" \ - || func_insert_if_absent ".gitmodules" $vc_ignore_files - } - } - - require_dotgitmodules=: -} - - -# require_extra_locale_categories -# ------------------------------- -# Ensure there is a default value in '$extra_locale_categories' -require_extra_locale_categories=func_require_extra_locale_categories -func_require_extra_locale_categories () -{ - $debug_cmd - - # Defaults to empty, so run with whatever value may have been set in - # 'bootstrap.conf'. - require_extra_locale_categories=: -} - - -# require_git -# ----------- -# Ignore git if it's not available, or we're not in a git checkout tree. -require_git=func_require_git -func_require_git () -{ - $debug_cmd - - $opt_skip_git && GIT=true - - test true = "$GIT" || { - if test -d .git/.; then - ($GIT --version) >/dev/null 2>&1 || GIT=true - fi - } - - func_verbose "GIT='$GIT'" - - require_git=: -} - - -# require_gnulib_cache -# -------------------- -# Ensure there is a non-empty default for '$gnulib_cache', and that it -# names an existing file. -require_gnulib_cache=func_require_gnulib_cache -func_require_gnulib_cache () -{ - $debug_cmd - - $require_macro_dir - - test -n "$gnulib_cache" \ - || gnulib_cache=$macro_dir/gnulib-cache.m4 - - func_verbose "found '$gnulib_cache'" - - require_gnulib_cache=: -} - - -# require_gnulib_copy_cmd -# ----------------------- -# Only calculate the options for copying files with gnulib once. -require_gnulib_copy_cmd=func_require_gnulib_copy_cmd -func_require_gnulib_copy_cmd () -{ - $debug_cmd - - $require_gnulib_tool - $require_gnulib_tool_base_options - - gnulib_copy_cmd="$gnulib_tool $gnulib_tool_base_options --copy-file" - $opt_copy || func_append gnulib_copy_cmd " --symlink" - $opt_quiet || func_append gnulib_copy_cmd " --verbose" - - require_gnulib_copy_cmd=: -} - - -# require_gnulib_merge_changelog -# ------------------------------ -# See if we can use gnulib's git-merge-changelog merge driver. -require_gnulib_merge_changelog=func_require_gnulib_merge_changelog -func_require_gnulib_merge_changelog () -{ - $debug_cmd - - test -f ChangeLog && { - $require_git - - func_grep_q '^\(/\|\)ChangeLog$' .gitignore || test true = "$GIT" || { - if $GIT config merge.merge-changelog.driver >/dev/null; then - : - elif (git-merge-changelog --version) >/dev/null 2>&1; then - func_echo "initializing git-merge-changelog driver" - $GIT config merge.merge-changelog.name 'GNU-style ChangeLog merge driver' - $GIT config merge.merge-changelog.driver 'git-merge-changelog %O %A %B' - else - func_warning recommend \ - "Consider installing git-merge-changelog from gnulib." - fi - } - } - - require_gnulib_merge_changelog=: -} - - -# require_gnulib_mk -# ----------------- -# Ensure gnulib_mk has a sensible value, extracted from 'gnulib-cache.m4' -# if possible, otherwise letting 'gnulib-tool' pick a default. -require_gnulib_mk=func_require_gnulib_mk -func_require_gnulib_mk () -{ - $debug_cmd - - $require_gnulib_cache - - test -f "$gnulib_cache" && test -z "$gnulib_mk" && { - func_extract_trace_first "gl_MAKEFILE_NAME" "$gnulib_cache" - gnulib_mk=$func_extract_trace_first_result - - test -n "$gnulib_mk" && func_verbose "gnulib_mk='$gnulib_mk'" - } - - require_gnulib_mk=: -} - - -# require_gnulib_name -# ------------------- -# Ensure gnulib_name has a sensible value, extracted from 'gnulib-cache.m4' -# if possible, otherwise letting 'gnulib-tool' pick a default. -require_gnulib_name=func_require_gnulib_name -func_require_gnulib_name () -{ - $debug_cmd - - $require_gnulib_cache - - test -f "$gnulib_cache" && test -z "$gnulib_name" && { - func_extract_trace_first "gl_LIB" "$gnulib_cache" - gnulib_name=$func_extract_trace_first_result - - test -n "$gnulib_name" && func_verbose "gnulib_name='$gnulib_name'" - } - - require_gnulib_name=: -} - - -# require_gnulib_path -# require_gnulib_url -# ------------------- -# Ensure 'gnulib_path' and 'gnulib_url' are set. -require_gnulib_path=func_require_dotgitmodules_parameters -require_gnulib_url=func_require_dotgitmodules_parameters -func_require_dotgitmodules_parameters () -{ - $debug_cmd - - $require_git - - test true = "$GIT" && { - # If we can't find git (or if the user specified '--skip-git'), - # then use an existing gnulib directory specified with - # '--gnulib-srcdir' if possible. - test -n "$gnulib_path" \ - || test ! -x "$opt_gnulib_srcdir/gnulib-tool" \ - || gnulib_path=$opt_gnulib_srcdir - } - - - $require_dotgitmodules - - test -f .gitmodules && { - # Extract the parameters with sed, since git may be missing - test -n "$gnulib_path" \ - || gnulib_path=`$SED -e '/^.submodule "gnulib".$/,${ - /[ ]*path *= */{ - s|[ ]*||g;s|^[^=]*=||;p - } - } - d' .gitmodules |$SED 1q` - test -n "$gnulib_url" \ - || gnulib_url=`$SED -e '/^.submodule "gnulib".$/,${ - /[ ]*url *= */{ - s|[ ]*||g;s|^[^=]*=||;p - } - } - d' .gitmodules |$SED 1q` - - func_verbose "gnulib_path='$gnulib_path'" - func_verbose "gnulib_url='$gnulib_url'" - } - - require_gnulib_path=: - require_gnulib_url=: -} - - -# require_gnulib_submodule -# ------------------------ -# Ensure that there is a current gnulib submodule at '$gnulib_path'. -require_gnulib_submodule=func_require_gnulib_submodule -func_require_gnulib_submodule () -{ - $debug_cmd - - $require_git - - if test true = "$GIT"; then - func_warning recommend \ - "No 'git' found; imported gnulib modules may be outdated." - else - $require_gnulib_path - $require_gnulib_url - - if test -f .gitmodules && test -f "$gnulib_path/gnulib-tool"; then - : All present and correct. - - elif test -n "$opt_gnulib_srcdir"; then - # Older git can't clone into an empty directory. - rmdir "$gnulib_path" 2>/dev/null - func_show_eval "$GIT clone --reference '$opt_gnulib_srcdir' \ - '$gnulib_url' '$gnulib_path'" \ - || func_fatal_error "Unable to fetch gnulib submodule." - - # Without --gnulib-srcdir, and no existing checked out submodule, we - # create a new shallow clone of the remote gnulib repository. - else - trap func_cleanup_gnulib 1 2 13 15 - - shallow= - test -n "$gnulib_clone_since" && \ - $GIT clone -h 2>&1 |func_grep_q -- --shallow-since \ - && shallow="--shallow-since=$gnulib_clone_since" - - func_show_eval "$GIT clone $shallow '$gnulib_url' '$gnulib_path'" \ - func_cleanup_gnulib - - # FIXME: Solaris /bin/sh will try to execute '-' if any of - # these signals are caught after this. - trap - 1 2 13 15 - fi - - # Make sure we've checked out the correct revision of gnulib. - func_show_eval "$GIT submodule init -- $gnulib_path" \ - && func_show_eval "$GIT submodule update -- $gnulib_path" \ - || func_fatal_error "Unable to update gnulib submodule." - fi - - require_gnulib_submodule=: -} - - -# require_gnulib_tool -# ------------------- -# Ensure that '$gnulib_tool' is set, and points to an executable file, -# or else fall back to using the binary 'true' if the main gnulib -# files appear to have been imported already. -require_gnulib_tool=func_require_gnulib_tool -func_require_gnulib_tool () -{ - $debug_cmd - - test true = "$gnulib_tool" || { - $require_gnulib_submodule - $require_gnulib_path - - test -n "$gnulib_tool" \ - || gnulib_tool=$gnulib_path/gnulib-tool - - test -x "$gnulib_tool" || { - gnulib_tool=true - func_warning recommend \ - "No 'gnulib-tool' found; gnulib modules may be missing." - } - - test true = "$gnulib_tool" \ - || func_verbose "found '$gnulib_tool'" - } - - require_gnulib_tool=: -} - - -# require_gnulib_tool_base_options -# -------------------------------- -# Ensure that '$gnulib_tool_base_options' contains all the base options -# required according to user configuration from bootstrap.conf. -require_gnulib_tool_base_options=func_require_gnulib_tool_base_options -func_require_gnulib_tool_base_options () -{ - $debug_cmd - - $require_gnulib_tool - - gnulib_tool_base_options= - - test true = "$gnulib_tool" || { - # 'gnulib_modules' and others are maintained in 'bootstrap.conf': - # Use 'gnulib --import' to fetch gnulib modules. - $require_build_aux - test -n "$build_aux" \ - && func_append_uniq gnulib_tool_base_options " --aux-dir=$build_aux" - $require_macro_dir - test -n "$macro_dir" \ - && func_append_uniq gnulib_tool_base_options " --m4-base=$macro_dir" - $require_doc_base - test -n "$doc_base" \ - && func_append_uniq gnulib_tool_base_options " --doc-base=$doc_base" - $require_gnulib_name - test -n "$gnulib_name" \ - && func_append_uniq gnulib_tool_base_options " --lib=$gnulib_name" - $require_local_gl_path - test -n "$local_gl_path" && { - eval "set dummy $local_gl_path_quoted" ; shift - for _G_dir - do - func_append_uniq gnulib_tool_base_options " --local-dir=$_G_dir" - done - } - $require_source_base - test -n "$source_base" \ - && func_append_uniq gnulib_tool_base_options " --source-base=$source_base" - } - - require_gnulib_tool_base_options=: -} - - -# require_libtoolize -# ------------------ -# Skip libtoolize if it's not needed. -require_libtoolize=func_require_libtoolize -func_require_libtoolize () -{ - $debug_cmd - - # Unless we're not searching for libtool use by this package, set - # LIBTOOLIZE to true if none of 'LT_INIT', 'AC_PROG_LIBTOOL' and - # 'AM_PROG_LIBTOOL' are used in configure. - test true = "$LIBTOOLIZE" || { - func_extract_trace LT_INIT - test -n "$func_extract_trace_result" || func_extract_trace AC_PROG_LIBTOOL - test -n "$func_extract_trace_result" || func_extract_trace AM_PROG_LIBTOOL - test -n "$func_extract_trace_result" || LIBTOOLIZE=true - } - - test -n "$LIBTOOLIZE" || { - # Find libtoolize, named glibtoolize in Mac Ports, but prefer - # user-installed libtoolize to ancient glibtoolize shipped by - # Apple with Mac OS X when Mac Ports is not installed. - func_find_tool LIBTOOLIZE libtoolize glibtoolize - } - - test -n "$LIBTOOLIZE" || func_fatal_error "\ -Please install GNU Libtool, or 'export LIBTOOLIZE=/path/to/libtoolize'." - - func_verbose "export LIBTOOLIZE='$LIBTOOLIZE'" - - # Make sure the search result is visible to subshells - export LIBTOOLIZE - - require_libtoolize=: -} - - -# require_local_gl_path -# --------------------- -# Ensure local_gl_path has a sensible value, extracted from 'gnulib-cache.m4' if -# possible, otherwise letting 'gnulib-tool' pick a default. -require_local_gl_path=func_require_local_gl_path -func_require_local_gl_path () -{ - $debug_cmd - - $require_gnulib_cache - - # Compat with older bootstrap versions. - test -n "$local_gl_dir" && { - func_warning settings "\ -Please use 'local_gl_path' instead of 'local_gl_dir' in your -'bootstrap.conf' file." - local_gl_path=$local_gl_dir - local_gl_dir= - } - - test -f "$gnulib_cache" && test -z "$local_gl_path" && { - func_extract_trace_first "gl_LOCAL_DIR" "$gnulib_cache" - local_gl_path=$func_extract_trace_first_result - test -n "$local_gl_path" && func_verbose "local_gl_path='$local_gl_path'" - } - - test -z "$local_gl_path_quoted" && test -n "$local_gl_path" && { - save_IFS=$IFS - set dummy - # Don't use PATH_SEPARATOR here, gnulib must be fixed to store only ':' as - # path separator into gnulib-cache.m4 (consistency reasons among systems). - IFS=: - for _G_dir in $local_gl_path - do - set "$@" "$_G_dir" - done - shift - IFS=$save_IFS - func_quote eval "$@" - local_gl_path_quoted=$func_quote_result - } - - require_local_gl_path=: -} - - -# require_macro_dir -# ----------------- -# Ensure that '$macro_dir' is set, and if it doesn't already point to an -# existing directory, create one. -require_macro_dir=func_require_macro_dir -func_require_macro_dir () -{ - $debug_cmd - - # Sometimes this is stored in 'configure.ac'. - test -n "$macro_dir" || { - # AC_CONFIG_MACRO_DIRS takes a space delimited list of directories, - # but we only care about the first one in bootstrap. - func_extract_trace_first AC_CONFIG_MACRO_DIRS - macro_dir=`expr "x$func_extract_trace_first_result" : 'x\([^ ]*\)'` - } - test -n "$macro_dir" || { - func_extract_trace_first AC_CONFIG_MACRO_DIR - macro_dir=$func_extract_trace_first_result - } - - # Otherwise we might find it in 'Makefile.am'. - test -n "$macro_dir" || { - $require_aclocal_amflags - - # Take the argument following the first '-I', if any. - _G_minus_I_seen=false - for _G_arg in $aclocal_amflags; do - case $_G_minus_I_seen,$_G_arg in - :,*) macro_dir=$_G_arg; break ;; - *,-I) _G_minus_I_seen=: ;; - *,-I*) macro_dir=`expr x$_G_arg : 'x-I\(.*\)$'`; break ;; - esac - done - } - - func_verbose "macro_dir='$macro_dir'" - - func_check_configuration macro_dir \ - "AC_CONFIG_MACRO_DIRS([name of a directory for configure m4 files])" - - $require_vc_ignore_files - - # If the macro_dir directory doesn't exist, create it now, and mark it - # as ignored for the VCS. - if test ! -d "$macro_dir"; then - mkdir "$macro_dir" || func_permissions_error "$macro_dir" - - test -n "$vc_ignore_files" \ - || func_insert_if_absent "$macro_dir" $vc_ignore_files - fi - - require_macro_dir=: -} - - -# require_makefile_am -# ------------------- -# Ensure there is a 'Makefile.am' in the current directory. -require_makefile_am=func_require_makefile_am -func_require_makefile_am () -{ - $debug_cmd - - test -n "$makefile_am" \ - || makefile_am=Makefile.am - - <"$makefile_am" - - func_verbose "found '$makefile_am'" - - require_makefile_am=: -} - - -# require_package -# --------------- -# Ensure that '$package' contains a sensible default value. -require_package=func_require_package -func_require_package () -{ - $debug_cmd - - test -n "$package" || { - $require_package_name - - package=`echo "$package_name" \ - |$SED -e 's/GNU //' \ - -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - } - - func_verbose "package='$package'" - - require_package=: -} - - -# require_package_bugreport -# ------------------------- -# Ensure that this has a sensible value, extracted from 'configure.ac' -# if appropriate (and possible!). -require_package_bugreport=func_require_package_bugreport -func_require_package_bugreport () -{ - $debug_cmd - - func_extract_trace AC_INIT - - save_ifs=$IFS - IFS=: - set dummy $func_extract_trace_result - IFS=$save_ifs - shift - - test -n "$package_bugreport" || package_bugreport=$3 - func_check_configuration package_bugreport \ - "AC_INIT([$package_name], [$package_version], [bug-$package@gnu.org])" - func_verbose "package_bugreport='$package_bugreport'" - - require_package_bugreport=: -} - - -# require_package_name -# -------------------- -# Ensure that this has a sensible value, extracted from 'configure.ac' -# if appropriate (and possible!). -require_package_name=func_require_package_name -func_require_package_name () -{ - $debug_cmd - - func_extract_trace AC_INIT - - save_ifs=$IFS - IFS=: - set dummy $func_extract_trace_result - IFS=$save_ifs - shift - - test -n "$package_name" || package_name=$1 - func_check_configuration package_name \ - "AC_INIT([name of your package], [package version number])" - func_verbose "package_name='$package_name'" - - require_package_name=: -} - - -# require_package_version -# ----------------------- -# Ensure that this has a sensible value, extracted from 'configure.ac' -# if appropriate (and possible!). While we might have set all the -# parameters extracted from AC_INIT at once, 'package_version' in -# particular is not necessarily available as early as the others, since -# 'git-version-gen' is often involved, and until then we can't rely on -# getting a correct version number from an AC_INIT extraction. -require_package_version=func_require_package_version -func_require_package_version () -{ - $debug_cmd - - func_extract_trace AC_INIT - - save_ifs=$IFS - IFS=: - set dummy $func_extract_trace_result - IFS=$save_ifs - shift - - test -n "$package_version" || package_version=$2 - test -n "$package_version" || { - # The embedded echo is to squash whitespace before globbing. - case " "`echo $gnulib_modules`" " in - *" git-version-gen "*) - func_fatal_error "\ -cannot \$require_package_version in bootstrap.conf before -func_gnulib_tool has installed the 'git-version-gen' script." - ;; - *) - func_check_configuration package_version \ - "AC_INIT([name of your package], [package version number])" - ;; - esac - } - func_verbose "package_version='$package_version'" - - require_package_version=: -} - - -# require_patch -# ------------- -# Find patch, according to the PATCH environment variable, or else -# searching the user's PATH. -require_patch=func_require_patch -func_require_patch () -{ - $debug_cmd - - test -n "$PATCH" || { - # Find a patch program, preferring gpatch, which is usually better - # than the vendor patch. - func_find_tool PATCH gpatch patch - } - - test -n "$PATCH" || func_fatal_error "\ -Please install GNU Patch, or 'export PATCH=/path/to/gnu/patch'." - - func_verbose "export PATCH='$PATCH'" - - # Make sure the search result is visible to subshells - export PATCH - - require_patch=: -} - - -# require_source_base -# ------------------- -# Ensure that source_base has a sensible value, extracted from -# 'gnulib-cache.m4' if possible. -require_source_base=func_require_source_base -func_require_source_base () -{ - $debug_cmd - - $require_gnulib_cache - - test -f "$gnulib_cache" && test -z "$source_base" && { - func_extract_trace_first "gl_SOURCE_BASE" "$gnulib_cache" - - source_base=$func_extract_trace_first_result - - func_verbose "source_base='$source_base'" - } - - require_source_base=: -} - - -# require_vc_ignore_files -# ----------------------- -# Ensure that '$vc_ignore' has been processed to list VCS ignore files -# in '$vc_ignore_files' -require_vc_ignore_files=func_require_vc_ignore_files -func_require_vc_ignore_files () -{ - $debug_cmd - - test -n "$vc_ignore" || vc_ignore=auto - - if test auto = "$vc_ignore" && test -z "$vc_ignore_files"; then - vc_ignore_files= - test -d .git && vc_ignore_files=.gitignore - test -d CVS && vc_ignore_files="$vc_ignore_files .cvsignore" - else - vc_ignore_files=$vc_ignore - fi - - func_verbose "vc_ignore_files='$vc_ignore_files'" - - require_vc_ignore_files=: -} - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of 'bootstrap'. - -# func_len STRING -# --------------- -# STRING may not start with a hyphen. -if (eval 'x=123; test x${#x} = "x3"') 2>/dev/null -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo 0` - } -fi - - -# func_cmp_s FILE1 FILE2 -# ---------------------- -# Return non-zero exit status unless FILE1 and FILE2 are identical, without -# any output at all, even error messages. -func_cmp_s () -{ - $debug_cmd - - # This function relies on non-zero exit status, which will cause the - # program to exit when running in 'set -e' mode. - $CMP "$@" >/dev/null 2>&1 -} - - -# func_grep_q EXPRESSION [FILENAME..] -# ----------------------------------- -# Check whether EXPRESSION matches any line of any listed FILENAME, -# without any output at all, even error messages. -func_grep_q () -{ - $debug_cmd - - # This function relies on non-zero exit status, which will cause the - # program to exit when running in 'set -e' mode. - $GREP "$@" >/dev/null 2>&1 -} - - -# func_ifcontains LIST MEMBER YES-CMD [NO-CMD] -# -------------------------------------------- -# If whitespace-separated LIST contains MEMBER then execute YES-CMD, -# otherwise if NO-CMD was given, execute that. -func_ifcontains () -{ - $debug_cmd - - _G_wslist=$1 - _G_member=$2 - _G_yes_cmd=$3 - _G_no_cmd=${4-":"} - - _G_found=false - for _G_item in $_G_wslist; do - test "x$_G_item" = "x$_G_member" && { - _G_found=: - break - } - done - if $_G_found; then - eval "$_G_yes_cmd" - _G_status=$? - else - eval "$_G_no_cmd" - _G_status=$? - fi - - test 0 -eq "$_G_status" || exit $_G_status -} - - -# func_strpad STR WIDTH CHAR -# -------------------------- -# Trim STR, or pad with CHAR to force a total length of WIDTH. -func_strpad () -{ - $debug_cmd - - _G_width=`expr "$2" - 1` - func_strpad_result=`$ECHO "$1" |$SED ' - :a - s|^.\{0,'"$_G_width"'\}$|&'"$3"'| - ta - '` -} - - -# func_strrpad STR WIDTH CHAR -# --------------------------- -# Trim STR, or right-justify-pad with CHAR to force a total length of -# WIDTH. -func_strrpad () -{ - $debug_cmd - - _G_width=`expr "$2" - 1` - func_strrpad_result=`$ECHO "$1" |$SED ' - :a - s|^.\{0,'"$_G_width"'\}$|'"$3"'&| - ta - '` -} - - -# func_strrow INDENT FIELD WIDTH [FIELDn WIDTHn]... -# ------------------------------------------------- -# Return a string containing each FIELD left justified to WIDTH, with -# the whole thing indented by INDENT spaces. This function is used to -# render one row of aligned columns for a table by func_strtable(). -func_strrow () -{ - $debug_cmd - - func_strrow_linelen=$1; shift - - _G_row= - while test $# -gt 0; do - func_strrow_linelen=`expr $func_strrow_linelen + $2` - func_strpad "$1" $2 " " - func_append _G_row "$func_strpad_result" - shift; shift - done - - func_strrpad "$_G_row" $func_strrow_linelen " " - func_strrow_result=$func_strrpad_result -} - - -# func_strtable INDENT WIDTH1...WIDTHn HEADER1...HEADERn FIELD1...FIELDn -# ---------------------------------------------------------------------- -# Generate a string of newline-separated rows arranged in lined-up -# columns of the given WIDTHs, with the entire table indented by INDENT -# spaces. The number of columns is determined by the number of integer -# valued WIDTH arguments following INDENT. The next set (i.e. a number -# of arguments equal to the number of WIDTH arguments) of fields are -# treated as the table's column HEADERs, and are separated from the -# remainder of the table by an indented row of '-' characters. Remaining -# arguments are each aligned below the next available header, wrapping -# to a new row as necessary. Finally another row of '-' characters is -# added to mark the end of the table. -# -# For example an unindented 3 column table with 2 rows of data would be -# generated by this call: -# -# func_strtable 3 20 10 25 \ -# Header1 Header2 Header3 \ -# Row1Col1 Row1Col2 Row1Col3 \ -# Row2Col1 Row2Col2 Row2Col3 -# -# returning the following string: -# -# " Header1 Header2 Header3 -# ------------------------------------------------------- -# Row1Col1 Row1Col2 Row1Col3 -# Row2Col1 Row2Col2 Row2Col3 -# -------------------------------------------------------" -func_strtable () -{ - $debug_cmd - - # Save the indent value, we'll need it for each row we render. - _G_indent=$1; shift - - # Collect remaining numeric args into a list for reuse between - # members of each row when we call func_strrow later. - _G_widths=$1; shift - while test 0 -lt `expr "$1" : '[1-9][0-9]*$'`; do - func_append _G_widths " $1"; shift - done - - # Extract the same number of positional parameters as there are - # width elements - we'll do the header rows separately so that - # we can insert a divider line. - _G_header=$_G_indent - for _G_width in $_G_widths; do - func_append _G_header " $1 $_G_width"; shift - done - func_strrow $_G_header - - # Strip off the indent, and make a divider with '-' chars, then - # reindent. - _G_divider=`$ECHO "$func_strrow_result" \ - |$SED 's|[^ ]|-|g - :a - s|- |--|g - ta - '` - - # Append the header and divider to the running result. - func_append func_strtable_result "\ -$func_strrow_result -$_G_divider -" - - # The remaining rows are zipped between the width values we - # unwound earlier just like the header row above. - while test $# -gt 0; do - _G_row=$_G_indent - for _G_width in $_G_widths; do - func_append _G_row " $1 $_G_width"; shift - done - func_strrow $_G_row - func_append func_strtable_result "\ -$func_strrow_result -" - done - - # Mark the end of the table with a final divider line. - func_append func_strtable_result "$_G_divider" -} - - -# func_internal_error ARG... -# -------------------------- -# Echo program name prefixed message to standard error, and exit. -func_internal_error () -{ - func_fatal_error "\ -INTERNAL: " ${1+"$@"} " - Please report this bug to 'bug-gnulib@gnu.org' - in as much detail as possible." -} - - -# func_permissions_error FILE-OR-DIRECTORY -# ---------------------------------------- -# Echo program name prefixed permissions error message to standard -# error, and exit. -func_permissions_error () -{ - $debug_cmd - - func_fatal_error "Failed to create '$1', check permissions." -} - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - $require_term_colors - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - ${opt_silent-'false'} || { - func_quote eval $_G_cmd - eval func_truncate_cmd $func_quote_result - func_echo "running: $tc_bold$func_truncate_cmd_result$tc_reset" - } - - ${opt_dry_run-'false'} || { - eval "$_G_cmd" - _G_status=$? - test 0 -eq "$_G_status" || eval "(exit $_G_status); $_G_fail_exp" - } -} - - -# func_truncate_cmd CMD [ARG]... -# ------------------------------ -# For unreasonably long commands (such as a gnulib-tool invocation with -# the full module list for import), truncate CMD after the second non- -# option ARG. -func_truncate_cmd () -{ - $debug_cmd - - _G_last_arg_opt_p=false - func_truncate_cmd_result= - - set dummy "$@"; shift - - while test $# -gt 0; do - _G_opt=$1; shift - - test -n "$func_truncate_cmd_result" \ - && func_append func_truncate_cmd_result ' ' - func_append func_truncate_cmd_result "$_G_opt" - - func_len "x$func_truncate_cmd_result" - - case $_G_opt in - -*) _G_last_arg_opt_p=: ;; - *) $_G_last_arg_opt_p \ - || test "$min_cmd_len" -gt "$func_len_result" \ - || break - _G_last_arg_opt_p=false - ;; - esac - done - - test $# -gt 0 && func_append func_truncate_cmd_result "..." -} - - -# func_gitignore_entries FILE... -# ------------------------------ -# Strip blank and comment lines to leave significant entries. -func_gitignore_entries () -{ - $debug_cmd - - $SED -e '/^#/d' -e '/^$/d' "$@" -} - - -# func_insert_if_absent STR FILE... -# --------------------------------- -# If $STR is not already on a line by itself in $FILE, insert it, at the -# start. Entries are inserted at the start of the ignore list to ensure -# existing entries starting with ! are not overridden. Such entries -# support whilelisting exceptions after a more generic blacklist pattern. -# sorting the new contents of the file and replacing $FILE with the result. -func_insert_if_absent () -{ - $debug_cmd - - str=$1 - shift - - for file - do - test -f "$file" || touch "$file" - - duplicate_entries=`func_gitignore_entries "$file" |sort |uniq -d` - test -n "$duplicate_entries" \ - && func_error "duplicate entries in $file: " $duplicate_entries - - func_grep_q "^$str\$" "$file" \ - || func_verbose "inserting '$str' into '$file'" - - linesold=`func_gitignore_entries "$file" |wc -l` - linesnew=`{ $ECHO "$str"; cat "$file"; } \ - |func_gitignore_entries |sort -u |wc -l` - test "$linesold" -eq "$linesnew" \ - || { $SED "1i\\$nl$str$nl" "$file" >"$file"T && mv "$file"T "$file"; } \ - || func_permissions_error "$file" - done -} - - -# func_get_version APP -# -------------------- -# echo the version number (if any) of APP, which is looked up along your -# PATH. -func_get_version () -{ - $debug_cmd - - _G_app=$1 - - # Rather than uncomment the sed script in-situ, strip the comments - # programatically before passing the result to $SED for evaluation. - sed_get_version=`$ECHO '# extract version within line - s|.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1| - t done - - # extract version at start of line - s|^\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1| - t done - - d - - :done - # the following essentially does s|5.005|5.5| - s|\.0*\([1-9]\)|.\1|g - p - q' \ - |$SED '/^[ ]*#.*$/d'` - - func_tool_version_output $_G_app >/dev/null - _G_status=$? - - test 0 -ne "$_G_status" \ - || $_G_app --version 2>&1 |$SED -n "$sed_get_version" - - (exit $_G_status) -} - - -# func_check_tool APP -# ------------------- -# Search PATH for an executable at APP. -func_check_tool () -{ - $debug_cmd - - func_check_tool_result= - - case $1 in - *[\\/]*) - test -x "$1" && func_check_tool_result=$1 - ;; - *) - save_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for _G_check_tool_path in $PATH; do - IFS=$save_IFS - if test -x "$_G_check_tool_path/$1"; then - func_check_tool_result=$_G_check_tool_path/$1 - break - fi - done - IFS=$save_IFS - ;; - esac -} - - -# func_check_versions APP1 VER1 URL1 ...[APPN VERN URLN] -# ------------------------------------------------------ -func_check_versions () -{ - $debug_cmd - - func_check_versions_result=: - - while test $# -gt 0; do - _G_app=$1; shift - _G_reqver=$1; shift - _G_url=$1; shift - - # Diagnose bad buildreq formatting. - case $_G_url in - [a-z]*://*) ;; # looks like a url - *) func_fatal_error "\ -'$_G_url' from the buildreq table in -'bootstrap.conf' does not look like the URL for downloading -$_G_app. Please ensure that buildreq is a strict newline -delimited list of triples; 'program min-version url'." - ;; - esac - - # Honor $APP variables ($TAR, $AUTOCONF, etc.) - _G_appvar=`echo $_G_app |tr '[a-z]' '[A-Z]'` - test TAR = "$_G_appvar" && _G_appvar=AMTAR - eval "_G_app=\${$_G_appvar-$_G_app}" - - # Fail if no version specified, but the program can't be found. - if test x- = "x$_G_reqver"; then - func_check_tool $_G_app - if test -z "$func_check_tool_result"; then - func_error "Prerequisite '$_G_app' not not found. Please install it, or -'export $_G_appvar=/path/to/$_G_app'." - func_check_versions_result=false - else - func_verbose "found '$func_check_tool_result' for $_G_appvar." - fi - else - _G_instver=`func_get_version $_G_app` - - # Fail if --version didn't work. - if test -z "$_G_instver"; then - func_error "Prerequisite '$_G_app' not found. Please install it, or -'export $_G_appvar=/path/to/$_G_app'." - func_check_versions_result=false - - # Fail if a newer version than what we have is required. - else - func_verbose "found '$_G_app' version $_G_instver." - - case $_G_reqver in - =*) - # If $buildreq version starts with '=', version must - # match the installed program exactly. - test "x$_G_reqver" = "x=$_G_instver" || { - func_error "\ - '$_G_app' version == $_G_instver is too old - 'exactly $_G_app-$_G_reqver is required" - func_check_versions_result=false - } - ;; - *) - # Otherwise, anything that is not older is a match. - func_lt_ver "$_G_reqver" "$_G_instver" || { - func_error "\ - '$_G_app' version == $_G_instver is too old - '$_G_app' version >= $_G_reqver is required" - func_check_versions_result=false - } - ;; - esac - fi - fi - done -} - - -# func_cleanup_gnulib -# ------------------- -# Recursively delete everything below the path in the global variable -# GNULIB_PATH. -func_cleanup_gnulib () -{ - $debug_cmd - - _G_status=$? - $RM -fr "$gnulib_path" - exit $_G_status -} - - -# func_download_po_files SUBDIR DOMAIN -# ------------------------------------ -func_download_po_files () -{ - $debug_cmd - - func_echo "getting translations into $1 for $2..." - _G_cmd=`printf "$po_download_command_format" "$2" "$1"` - eval "$_G_cmd" -} - - -# func_update_po_files PO_DIR DOMAIN -# ---------------------------------- -# Mirror .po files to $po_dir/.reference and copy only the new -# or modified ones into $po_dir. Also update $po_dir/LINGUAS. -# Note po files that exist locally only are left in $po_dir but will -# not be included in LINGUAS and hence will not be distributed. -func_update_po_files () -{ - $debug_cmd - - # Directory containing primary .po files. - # Overwrite them only when we're sure a .po file is new. - _G_po_dir=$1 - _G_domain=$2 - - # Mirror *.po files into this dir. - # Usually contains *.s1 checksum files. - _G_ref_po_dir=$_G_po_dir/.reference - - test -d "$_G_ref_po_dir" || mkdir $_G_ref_po_dir || return - func_download_po_files $_G_ref_po_dir $_G_domain \ - && ls "$_G_ref_po_dir"/*.po 2>/dev/null \ - |$SED -e 's|.*/||' -e 's|\.po$||' > "$_G_po_dir/LINGUAS" || return - - # Find sha1sum, named gsha1sum on MacPorts, and shasum on MacOS 10.6+. - func_find_tool SHA1SUM sha1sum gsha1sum shasum sha1 - - test -n "$SHA1SUM" || func_fatal_error "\ -Please install GNU Coreutils, or 'export SHA1SUM=/path/to/sha1sum'." - - _G_langs=`cd $_G_ref_po_dir && echo *.po|$SED 's|\.po||g'` - test '*' = "$_G_langs" && _G_langs=x - for _G_po in $_G_langs; do - case $_G_po in x) continue;; esac - _G_new_po=$_G_ref_po_dir/$_G_po.po - _G_cksum_file=$_G_ref_po_dir/$_G_po.s1 - if ! test -f "$_G_cksum_file" || - ! test -f "$_G_po_dir/$_G_po.po" || - ! $SHA1SUM -c "$_G_cksum_file" \ - < "$_G_new_po" > /dev/null; then - echo "updated $_G_po_dir/$_G_po.po..." - cp "$_G_new_po" "$_G_po_dir/$_G_po.po" \ - && $SHA1SUM < "$_G_new_po" > "$_G_cksum_file" || return - fi - done -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]...' - -# Short help message in response to '-h'. Add to this in 'bootstrap.conf' -# if you accept any additional options. -usage_message="Common Bootstrap Options: - -c, --copy copy files instead of creating symbolic links. - --debug enable verbose shell tracing - -n, --dry-run print commands rather than running them - -f, --force attempt to bootstrap even if the sources seem not - to have been checked out. - --gnulib-srcdir=DIRNAME - specify a local directory where gnulib sources - reside. Use this if you already have the gnulib - sources on your machine, and don't want to waste - your bandwidth downloading them again. Defaults to - \$GNULIB_SRCDIR. - --no-warnings equivalent to '-Wnone' - --skip-git do not fetch files from remote repositories - --skip-po do not download po files. - -v, --verbose verbosely report processing - --version print version information and exit - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=$long_help_message" - 'recommend' show warnings about missing recommended packages - 'settings' show warnings about missing '$progname.conf' settings - 'upgrade' show warnings about out-dated files - -If the file '$progname.conf' exists in the same directory as this -script, its contents are read as shell variables to configure the -bootstrap. - -For build prerequisites, environment variables like \$AUTOCONF and -\$AMTAR are honored. - -Running without arguments will suffice in most cases. -" - -# Warning categories used by 'bootstrap', append others if you use them -# in your 'bootstrap.conf'. -warning_categories='recommend settings upgrade' - - -# bootstrap_options_prep [ARG]... -# ------------------------------- -# Preparation for options parsed by Bootstrap. -bootstrap_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_copy=${copy-'false'} - opt_dry_run=false - opt_force=false - opt_gnulib_srcdir=$GNULIB_SRCDIR - opt_skip_git=false - opt_skip_po=false - - # Pass back the list of options we consumed. - func_quote eval ${1+"$@"} - bootstrap_options_prep_result=$func_quote_result -} -func_add_hook func_options_prep bootstrap_options_prep - - -# bootstrap_parse_options [ARG]... -# -------------------------------- -# Provide handling for Bootstrap specific options. -bootstrap_parse_options () -{ - $debug_cmd - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: ;; - --copy|-c) opt_copy=: ;; - --force|-f) opt_force=: ;; - - --gnulib-srcdir) - test $# = 0 && func_missing_arg $_G_opt && break - opt_gnulib_srcdir=$1 - shift - ;; - - --skip-git|--no-git) - opt_skip_git=: - ;; - - --skip-po|--no-po) - opt_skip_po=: - ;; - - # Separate non-argument short options: - -c*|-f*|-n*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - bootstrap_parse_options_result=$func_quote_result -} -func_add_hook func_parse_options bootstrap_parse_options - - -# bootstrap_validate_options [ARG]... -# ----------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -bootstrap_validate_options () -{ - $debug_cmd - - # Validate options. - test $# -gt 0 \ - && func_fatal_help "too many arguments" - - # Pass back the (empty) list of unconsumed options. - func_quote eval ${1+"$@"} - bootstrap_validate_options_result=$func_quote_result -} -func_add_hook func_validate_options bootstrap_validate_options - - -## -------------------------------------------------- ## -## Source package customisations in 'bootstrap.conf'. ## -## -------------------------------------------------- ## - -# Override the default configuration, if necessary. -# Make sure that bootstrap.conf is sourced from the current directory -# if we were invoked as "sh bootstrap". -case $0 in - */*) test -r "$0.conf" && . "$0.conf" ;; - *) test -r "$0.conf" && . ./"$0.conf" ;; -esac - - -## ------------------------------- ## -## Actually perform the bootstrap. ## -## ------------------------------- ## - -func_bootstrap ${1+"$@"} - -# The End. -exit ${exit_status-$EXIT_SUCCESS} - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "500/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: diff --git a/BUILD/libtool-2.4.7/bootstrap.conf b/BUILD/libtool-2.4.7/bootstrap.conf deleted file mode 100644 index e708632..0000000 --- a/BUILD/libtool-2.4.7/bootstrap.conf +++ /dev/null @@ -1,408 +0,0 @@ -# bootstrap.conf (GNU Libtool) version 2014-11-18 -# -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2010 - -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -## -------------------------------- ## -## User overrideable command paths. ## -## -------------------------------- ## - -: "${MAKE=make}" - -export MAKE - - - -## -------------- ## -## Configuration. ## -## -------------- ## - -# File that should exist in the top directory of a checked out hierarchy, -# but not in a distribution tarball. -checkout_only_file=HACKING - -# List of programs (and minimum versions) required to bootstrap, maintain -# and release Libtool. -buildreq=" - help2man 1.29 http://www.gnu.org/s/help2man - make 3.81 http://www.gnu.org/s/make - makeinfo 4.8 http://www.gnu.org/s/texinfo - xz 4.999.8beta http://tukaani.org/xz -" - -# Instructions on how to install packages in $buildreq. -buildreq_readme=HACKING - -# Non-default gnulib directories. -local_gl_path=gl:gl-mod/bootstrap - -# We don't need the whole copy of gnulib. -gnulib_clone_since=2019-02-19 - -# Additional gnulib-tool options to use. -gnulib_tool_options=$gnulib_tool_options" - --avoid=dummy - --libtool - --macro-prefix=GL - --with-tests --tests-base=gnulib-tests -" - -# gnulib modules used by this package. -gnulib_modules=' - announce-gen - bootstrap - do-release-commit-and-tag - extract-trace - gendocs - git-version-gen - gitlog-to-changelog - gnu-web-doc-update - gnupload - inline-source - maintainer-makefile - options-parser - readme-release - update-copyright -' - -gnulib_git_submodules=' - gl-mod/bootstrap -' - -# Extra gnulib files that are not in modules, which override files of -# the same name installed by other bootstrap tools. -gnulib_non_module_files=$gnulib_non_module_files' - doc/COPYINGv2 - doc/fdl.texi -' - -# What ignore files to maintain. -vc_ignore=.gitignore - -# Running the installed 'libtoolize' will trash the local (newer) libtool.m4 -# among others. Don't use ':', since autoreconf can't exec it! -LIBTOOLIZE=true - -# List of file droppings from old releases of Libtool. -libtool_obsolete_files=" - acinclude.m4 - argz.c - libltdl/config.h - lt__dirent.c - lt__strl.c -" - - -## ------------------- ## -## Override functions. ## -## ------------------- ## - -# func_autopoint -# -------------- -# Libtool does not use autopoint. -func_autopoint () -{ - $debug_cmd -} - - -# func_libtoolize -# --------------- -# Libtoolize is part of Libtool! -func_libtoolize () -{ - $debug_cmd -} - - - -## ---------------------------- ## -## Libtool bootstrap functions. ## -## ---------------------------- ## - -# libtool_prep -# ------------ -# Libtool bootstrap initialisation after successful option parse and -# validation. -libtool_prep () -{ - $debug_cmd - - # initial clean-up of checked out tree - find . -depth \( -name autom4te.cache -o -name libtool \) -print \ - | grep -v '{arch}' \ - | xargs rm -rf - - # remove obsolete file droppings from old Libtool versions - for file in $libtool_obsolete_files; do - rm -f $file - done -} -func_add_hook func_prep libtool_prep - - -# libtool_add_libltdl_copying -# --------------------------- -# Use the canonical COPYING.LESSERv2 from gnulib. -libtool_add_libltdl_copying () -{ - $debug_cmd - - func_gnulib_tool_copy_file doc/COPYING.LESSERv2 libltdl/COPYING.LIB -} -func_add_hook func_gnulib_tool libtool_add_libltdl_copying - - -# libtool_build_prerequisites -# --------------------------- -# Libtool generates some files that are required before any autotools -# can be run successfully. -libtool_build_prerequisites () -{ - $debug_cmd - - $require_build_aux - $require_ltdl_dir - $require_macro_dir - $require_package - $require_package_bugreport - $require_package_name - $require_package_url - $require_package_version - - # Whip up a dirty Makefile: - makes='Makefile.am libltdl/ltdl.mk' - rm -f Makefile - { - echo "aux_dir = $build_aux" - echo "ltdl_dir = $ltdl_dir" - echo "macro_dir = $macro_dir" - - # The following allow us to tie bootstrap-deps output verbosity - # into the bootstrap --verbose option: - echo 'AM_V_GEN = $(am__v_GEN_$(V))' - echo 'am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))' - echo 'am__v_GEN_0 = @echo " GEN " $@;' - echo 'AM_V_at = $(am__v_at_$(V))' - echo 'am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))' - echo 'am__v_at_0 = @' - - $SED '/^if /,/^endif$/d;/^else$/,/^endif$/d;/^include /d' $makes - } > Makefile - - # Building distributed files from configure is bad for automake, so we - # generate them here, and have Makefile rules to keep them up to date. - func_show_eval "$MAKE bootstrap-deps \ - AM_DEFAULT_VERBOSITY=0 `$opt_verbose && echo V=1` \ - PACKAGE='$package' PACKAGE_BUGREPORT='$package_bugreport' \ - PACKAGE_NAME='$package_name' PACKAGE_URL='$package_url' \ - SED='$SED' srcdir=. VERSION='$package_version'" - status=$? - - rm -f Makefile - test 0 -eq "$status" ||exit $EXIT_FAILURE -} -func_add_hook func_gnulib_tool libtool_build_prerequisites - - -# libtool_autoreconf_libltdl -# -------------------------- -# Libtldl directory needs to be autoreconfed too. -libtool_autoreconf_libltdl () -{ - $debug_cmd - - # Also bootstrap libltdl ready for installation. - func_autoreconf libltdl -} -func_add_hook func_reconfigure libtool_autoreconf_libltdl - - -# libtool_readme_release_package_substitutions -# -------------------------------------------- -# Show our own package details instead of generic strings. -libtool_readme_release_package_substitutions () -{ - $debug_cmd - - $require_build_aux - $require_package - - my_readme=README-release - - test -f "$my_readme" \ - || func_fatal_error "error: '$my_readme' does not exist" - - # Perform substitutions to a temporary file - $SED -e "\ - s|\@PACKAGE\@|$package|g - " "$my_readme" > "${my_readme}T" \ - && mv "${my_readme}T" "$my_readme" -} -func_add_hook func_fini libtool_readme_release_package_substitutions - - -# libtool_fudge_timestamps -# ------------------------ -# Autoheader valiantly tries to prevent needless reconfigurations by -# not changing the timestamp of config-h.in unless the file contents -# are updated. Unfortunately config-h.in depends on aclocal.m4, which -# *is* updated, so running 'libtoolize --ltdl=. && configure && make' -# causes autoheader to be called... undesireable for users that do not -# have it! Fudge the timestamp to prevent that: -libtool_fudge_timestamps () -{ - $debug_cmd - - sleep 2 && touch libltdl/config-h.in -} -func_add_hook func_fini libtool_fudge_timestamps - - -# libtool_cleanup -# --------------- -libtool_cleanup () -{ - $debug_cmd - - # These files can cause an infinite configure loop if left behind. - rm -f Makefile libltdl/Makefile libtool vcl.tmp -} -func_add_hook func_fini libtool_cleanup - - -# libtool_check_for_bogus_macros -# ------------------------------ -# Try to catch the case where 'aclocal' pulls installed libtool macro -# file contents from another version of libtool into the current package -# 'aclocal.m4'. -libtool_check_for_bogus_macros () -{ - $debug_cmd - $require_build_aux - $build_aux/no-bogus-m4-defines || exit 1 -} -func_add_hook func_fini libtool_check_for_bogus_macros - - -# libtool_cleanup_empty_dirs -# -------------------------- -# Gnulib leaves behind a few files we don't need. -libtool_cleanup_empty_dirs () -{ - $debug_cmd - - my_gnulib_source=${source_base:-'lib'} - - if test -d "$my_gnulib_source"; then - rm -f "$my_gnulib_source/.gitignore" "$my_gnulib_source/Makefile.am" || exit 1 - rmdir "$my_gnulib_source" || exit 1 - fi -} -func_add_hook func_fini libtool_cleanup_empty_dirs - - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# require_ltdl_dir -# ---------------- -# Extract libtool's ltdl directory from configure.ac. -require_ltdl_dir=func_require_ltdl_dir -func_require_ltdl_dir () -{ - $debug_cmd - - $require_configure_ac - - func_extract_trace LT_CONFIG_LTDL_DIR - - save_ifs=$IFS - IFS=: - set dummy $func_extract_trace_result - IFS=$save_ifs - shift - - ltdl_dir=$1 - func_check_configuration ltdl_dir \ - "LT_CONFIG_LTDL_DIR([name of your libltdl directory])" - - func_verbose "ltdl_dir='$ltdl_dir'" - - require_ltdl_dir=: -} - - -# require_package_url -# ------------------- -# Ensure that package_url has a sensible default. -require_package_url=libtool_require_package_url -libtool_require_package_url () -{ - $debug_cmd - - $require_configure_ac - - func_extract_trace AC_INIT - - save_IFS=$IFS - IFS=: - set dummy $func_extract_trace_result - IFS=$save_IFS - shift - - test -n "$package_url " || package_url=$5 - test -n "$package_url" || { - # How to extract the parameters for 'make bootstrap-deps' from - # configure.ac. This is very specific to the way Libtool's - # configure.ac layout. - sed_extract_package_url='s|#.*$||; s|^dnl .*$||; s| dnl .*$||; - /AC_SUBST([[]*PACKAGE_URL/{ - s|.*AC_SUBST([[ ]*PACKAGE_URL[] ]*,[[ ]*|package_url="| - s|[]) ]*$|"| - p - }' - - # Extract package_url setting from configure.ac. - eval `$SED -n "$sed_extract_package_url" < configure.ac` - } - - test -n "$package_url" \ - || func_fatal_error "unable to determine 'package_url' from '$configure_ac'." - - func_verbose "package_url='$package_url'" - - require_package_url=: -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "# bootstrap.conf (GNU Libtool) version " -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "$" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/announce-gen b/BUILD/libtool-2.4.7/build-aux/announce-gen deleted file mode 100755 index 6f35cd9..0000000 --- a/BUILD/libtool-2.4.7/build-aux/announce-gen +++ /dev/null @@ -1,587 +0,0 @@ -#!/bin/sh -#! -*-perl-*- - -# Generate a release announcement message. - -# Copyright (C) 2002-2022 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Written by Jim Meyering - -# This is a prologue that allows to run a perl script as an executable -# on systems that are compliant to a POSIX version before POSIX:2017. -# On such systems, the usual invocation of an executable through execlp() -# or execvp() fails with ENOEXEC if it is a script that does not start -# with a #! line. The script interpreter mentioned in the #! line has -# to be /bin/sh, because on GuixSD systems that is the only program that -# has a fixed file name. The second line is essential for perl and is -# also useful for editing this file in Emacs. The next two lines below -# are valid code in both sh and perl. When executed by sh, they re-execute -# the script through the perl program found in $PATH. The '-x' option -# is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. -eval 'exec perl -wSx "$0" "$@"' - if 0; - -my $VERSION = '2022-01-27 18:48'; # UTC -# The definition above must lie within the first 8 lines in order -# for the Emacs time-stamp write hook (at end) to update it. -# If you change this file with Emacs, please let the write hook -# do its job. Otherwise, update this string manually. - -my $copyright_year = '2022'; - -use strict; -use Getopt::Long; -use POSIX qw(strftime); - -(my $ME = $0) =~ s|.*/||; - -my %valid_release_types = map {$_ => 1} qw (alpha beta stable); -my @archive_suffixes = qw (tar.gz tar.bz2 tar.lz tar.lzma tar.xz); -my $srcdir = '.'; - -sub usage ($) -{ - my ($exit_code) = @_; - my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); - if ($exit_code != 0) - { - print $STREAM "Try '$ME --help' for more information.\n"; - } - else - { - my @types = sort keys %valid_release_types; - print $STREAM < = C - -Compute the sizes of the C<@file> and return them as a hash. Return -C if one of the computation failed. - -=cut - -sub sizes (@) -{ - my (@file) = @_; - - my $fail = 0; - my %res; - foreach my $f (@file) - { - my $cmd = "du -h $f"; - my $t = `$cmd`; - # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS - $@ - and (warn "command failed: '$cmd'\n"), $fail = 1; - chomp $t; - $t =~ s/^\s*([\d.]+[MkK]).*/${1}B/; - $res{$f} = $t; - } - return $fail ? undef : %res; -} - -=item C dedicated to the list of <@file>, which -sizes are stored in C<%size>, and which are available from the C<@url>. - -=cut - -sub print_locations ($\@\%@) -{ - my ($title, $url, $size, @file) = @_; - print "Here are the $title:\n"; - foreach my $url (@{$url}) - { - for my $file (@file) - { - print " $url/$file"; - print " (", $$size{$file}, ")" - if exists $$size{$file}; - print "\n"; - } - } - print "\n"; -} - -=item C. - -=cut - -sub print_checksums (@) -{ - my (@file) = @_; - - print "Here are the SHA1 and SHA256 checksums:\n"; - print "\n"; - - use Digest::file qw(digest_file_hex digest_file_base64); - - foreach my $f (@file) - { - print digest_file_hex($f, "SHA-1"), " $f\n"; - print digest_file_base64($f, "SHA-256"), " $f\n"; - } - print "\nThe SHA256 checksum is base64 encoded, instead of the\n"; - print "hexadecimal encoding that most checksum tools default to.\n\n"; -} - -=item C addressing changes -between versions C<$prev_version> and C<$curr_version>. - -=cut - -sub print_news_deltas ($$$) -{ - my ($news_file, $prev_version, $curr_version) = @_; - - my $news_name = $news_file; - $news_name =~ s|^\Q$srcdir\E/||; - - print "\n$news_name\n\n"; - - # Print all lines from $news_file, starting with the first one - # that mentions $curr_version up to but not including - # the first occurrence of $prev_version. - my $in_items; - - my $re_prefix = qr/(?:\* )?(?:Noteworthy c|Major c|C)(?i:hanges)/; - - my $found_news; - open NEWS, '<', $news_file - or die "$ME: $news_file: cannot open for reading: $!\n"; - while (defined (my $line = )) - { - if ( ! $in_items) - { - # Match lines like these: - # * Major changes in release 5.0.1: - # * Noteworthy changes in release 6.6 (2006-11-22) [stable] - $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o - or next; - $in_items = 1; - print $line; - } - else - { - # This regexp must not match version numbers in NEWS items. - # For example, they might well say "introduced in 4.5.5", - # and we don't want that to match. - $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o - and last; - print $line; - $line =~ /\S/ - and $found_news = 1; - } - } - close NEWS; - - $in_items - or die "$ME: $news_file: no matching lines for '$curr_version'\n"; - $found_news - or die "$ME: $news_file: no news item found for '$curr_version'\n"; -} - -sub print_changelog_deltas ($$) -{ - my ($package_name, $prev_version) = @_; - - # Print new ChangeLog entries. - - # First find all CVS-controlled ChangeLog files. - use File::Find; - my @changelog; - find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS' - and push @changelog, $File::Find::name}}, - '.'); - - # If there are no ChangeLog files, we're done. - @changelog - or return; - my %changelog = map {$_ => 1} @changelog; - - # Reorder the list of files so that if there are ChangeLog - # files in the specified directories, they're listed first, - # in this order: - my @dir = qw ( . src lib m4 config doc ); - - # A typical @changelog array might look like this: - # ./ChangeLog - # ./po/ChangeLog - # ./m4/ChangeLog - # ./lib/ChangeLog - # ./doc/ChangeLog - # ./config/ChangeLog - my @reordered; - foreach my $d (@dir) - { - my $dot_slash = $d eq '.' ? $d : "./$d"; - my $target = "$dot_slash/ChangeLog"; - delete $changelog{$target} - and push @reordered, $target; - } - - # Append any remaining ChangeLog files. - push @reordered, sort keys %changelog; - - # Remove leading './'. - @reordered = map { s!^\./!!; $_ } @reordered; - - print "\nChangeLog entries:\n\n"; - # print join ("\n", @reordered), "\n"; - - $prev_version =~ s/\./_/g; - my $prev_cvs_tag = "\U$package_name\E-$prev_version"; - - my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered"; - open DIFF, '-|', $cmd - or die "$ME: cannot run '$cmd': $!\n"; - # Print two types of lines, making minor changes: - # Lines starting with '+++ ', e.g., - # +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247 - # and those starting with '+'. - # Don't print the others. - my $prev_printed_line_empty = 1; - while (defined (my $line = )) - { - if ($line =~ /^\+\+\+ /) - { - my $separator = "*"x70 ."\n"; - $line =~ s///; - $line =~ s/\s.*//; - $prev_printed_line_empty - or print "\n"; - print $separator, $line, $separator; - } - elsif ($line =~ /^\+/) - { - $line =~ s///; - print $line; - $prev_printed_line_empty = ($line =~ /^$/); - } - } - close DIFF; - - # The exit code should be 1. - # Allow in case there are no modified ChangeLog entries. - $? == 256 || $? == 128 - or warn "warning: '$cmd' had unexpected exit code or signal ($?)\n"; -} - -sub get_tool_versions ($$) -{ - my ($tool_list, $gnulib_version) = @_; - @$tool_list - or return (); - - my $fail; - my @tool_version_pair; - foreach my $t (@$tool_list) - { - if ($t eq 'gnulib') - { - push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version; - next; - } - # Assume that the last "word" on the first line of - # 'tool --version' output is the version string. - my ($first_line, undef) = split ("\n", `$t --version`); - if ($first_line =~ /.* (\d[\w.-]+)$/) - { - $t = ucfirst $t; - push @tool_version_pair, "$t $1"; - } - else - { - defined $first_line - and $first_line = ''; - warn "$t: unexpected --version output\n:$first_line"; - $fail = 1; - } - } - - $fail - and exit 1; - - return @tool_version_pair; -} - -{ - # Use the C locale so that, for instance, "du" does not - # print "1,2" instead of "1.2", which would confuse our regexps. - $ENV{LC_ALL} = "C"; - - my $mail_headers; - my $release_type; - my $package_name; - my $prev_version; - my $curr_version; - my $gpg_key_id; - my @url_dir_list; - my @news_file; - my $bootstrap_tools; - my $gnulib_version; - my $print_checksums_p = 1; - - # Reformat the warnings before displaying them. - local $SIG{__WARN__} = sub - { - my ($msg) = @_; - # Warnings from GetOptions. - $msg =~ s/Option (\w)/option --$1/; - warn "$ME: $msg"; - }; - - GetOptions - ( - 'mail-headers=s' => \$mail_headers, - 'release-type=s' => \$release_type, - 'package-name=s' => \$package_name, - 'previous-version=s' => \$prev_version, - 'current-version=s' => \$curr_version, - 'gpg-key-id=s' => \$gpg_key_id, - 'url-directory=s' => \@url_dir_list, - 'news=s' => \@news_file, - 'srcdir=s' => \$srcdir, - 'bootstrap-tools=s' => \$bootstrap_tools, - 'gnulib-version=s' => \$gnulib_version, - 'print-checksums!' => \$print_checksums_p, - 'archive-suffix=s' => \@archive_suffixes, - - help => sub { usage 0 }, - version => - sub - { - print "$ME version $VERSION\n"; - print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n"; - print "License GPLv3+: GNU GPL version 3 or later .\n" - . "This is free software: you are free to change and redistribute it.\n" - . "There is NO WARRANTY, to the extent permitted by law.\n"; - print "\n"; - my $author = "Jim Meyering"; - print "Written by $author.\n"; - exit - }, - ) or usage 1; - - my $fail = 0; - # Ensure that each required option is specified. - $release_type - or (warn "release type not specified\n"), $fail = 1; - $package_name - or (warn "package name not specified\n"), $fail = 1; - $prev_version - or (warn "previous version string not specified\n"), $fail = 1; - $curr_version - or (warn "current version string not specified\n"), $fail = 1; - $gpg_key_id - or (warn "GnuPG key ID not specified\n"), $fail = 1; - @url_dir_list - or (warn "URL directory name(s) not specified\n"), $fail = 1; - - my @tool_list = split ',', $bootstrap_tools - if $bootstrap_tools; - - grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version - and (warn "when specifying gnulib as a tool, you must also specify\n" - . "--gnulib-version=V, where V is the result of running git describe\n" - . "in the gnulib source directory.\n"), $fail = 1; - - !$release_type || exists $valid_release_types{$release_type} - or (warn "'$release_type': invalid release type\n"), $fail = 1; - - @ARGV - and (warn "too many arguments:\n", join ("\n", @ARGV), "\n"), - $fail = 1; - $fail - and usage 1; - - my $my_distdir = "$package_name-$curr_version"; - - my $xd = "$package_name-$prev_version-$curr_version.xdelta"; - - my @candidates = map { "$my_distdir.$_" } @archive_suffixes; - my @tarballs = grep {-f $_} @candidates; - - @tarballs - or die "$ME: none of " . join(', ', @candidates) . " were found\n"; - my @sizable = @tarballs; - -f $xd - and push @sizable, $xd; - my %size = sizes (@sizable); - %size - or exit 1; - - my $headers = ''; - if (defined $mail_headers) - { - ($headers = $mail_headers) =~ s/\s+(\S+:)/\n$1/g; - $headers .= "\n"; - } - - # The markup is escaped as <\# so that when this script is sent by - # mail (or part of a diff), Gnus is not triggered. - print < - -Libtoolers! - -The Libtool Team is pleased to announce the release of $package_name $curr_version. - -GNU Libtool hides the complexity of using shared libraries behind a -consistent, portable interface. GNU Libtool ships with GNU libltdl, which -hides the complexity of loading dynamic runtime libraries (modules) -behind a consistent, portable interface. - -EOF - - if (@url_dir_list == 1 && @tarballs == 1) - { - # When there's only one tarball and one URL, use a more concise form. - my $m = "$url_dir_list[0]/$tarballs[0]"; - print "Here are the compressed sources and a GPG detached signature[*]:\n" - . " $m\n" - . " $m.sig\n\n"; - } - else - { - print_locations ("compressed sources", @url_dir_list, %size, @tarballs); - -f $xd - and print_locations ("xdelta diffs (useful? if so, " - . "please tell bug-gnulib\@gnu.org)", - @url_dir_list, %size, $xd); - my @sig_files = map { "$_.sig" } @tarballs; - print_locations ("GPG detached signatures[*]", @url_dir_list, %size, - @sig_files); - } - - if ($url_dir_list[0] =~ "gnu\.org") - { - print "Use a mirror for higher download bandwidth:\n"; - if (@tarballs == 1 && $url_dir_list[0] =~ m!https://ftp\.gnu\.org/gnu/!) - { - (my $m = "$url_dir_list[0]/$tarballs[0]") - =~ s!https://ftp\.gnu\.org/gnu/!https://ftpmirror\.gnu\.org/!; - print " $m\n" - . " $m.sig\n\n"; - - } - else - { - print " https://www.gnu.org/order/ftp.html\n\n"; - } - } - - $print_checksums_p - and print_checksums (@sizable); - - print <. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN* | MSYS*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/* | msys/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ - icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/config.guess b/BUILD/libtool-2.4.7/build-aux/config.guess deleted file mode 100755 index fd3524f..0000000 --- a/BUILD/libtool-2.4.7/build-aux/config.guess +++ /dev/null @@ -1,1757 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2022 Free Software Foundation, Inc. - -# shellcheck disable=SC2006,SC2268 # see below for rationale - -timestamp='2022-01-09' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess -# -# Please send patches to . - - -# The "shellcheck disable" line above the timestamp inhibits complaints -# about features and limitations of the classic Bourne shell that were -# superseded or lifted in POSIX. However, this script identifies a wide -# variety of pre-POSIX systems that do not have POSIX shells at all, and -# even some reasonably current systems (Solaris 10 as case-in-point) still -# have a pre-POSIX /bin/sh. - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2022 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -# Just in case it came from the environment. -GUESS= - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -tmp= -# shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 - -set_cc_for_build() { - # prevent multiple calls if $tmp is already set - test "$tmp" && return 0 - : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039,SC3028 - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } - dummy=$tmp/dummy - case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do - if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD=$driver - break - fi - done - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; - esac -} - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if test -f /.attbin/uname ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case $UNAME_SYSTEM in -Linux|GNU|GNU/*) - LIBC=unknown - - set_cc_for_build - cat <<-EOF > "$dummy.c" - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #elif defined(__GLIBC__) - LIBC=gnu - #else - #include - /* First heuristic to detect musl libc. */ - #ifdef __DEFINED_va_list - LIBC=musl - #endif - #endif - EOF - cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - eval "$cc_set_libc" - - # Second heuristic to detect musl libc. - if [ "$LIBC" = unknown ] && - command -v ldd >/dev/null && - ldd --version 2>&1 | grep -q ^musl; then - LIBC=musl - fi - - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - if [ "$LIBC" = unknown ]; then - LIBC=gnu - fi - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - echo unknown)` - case $UNAME_MACHINE_ARCH in - aarch64eb) machine=aarch64_be-unknown ;; - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=$UNAME_MACHINE_ARCH-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case $UNAME_MACHINE_ARCH in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case $UNAME_MACHINE_ARCH in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case $UNAME_VERSION in - Debian*) - release='-gnu' - ;; - *) - release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - GUESS=$machine-${os}${release}${abi-} - ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE - ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE - ;; - *:SecBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE - ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE - ;; - *:MidnightBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE - ;; - *:ekkoBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE - ;; - *:SolidBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE - ;; - *:OS108:*:*) - GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE - ;; - macppc:MirBSD:*:*) - GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE - ;; - *:MirBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE - ;; - *:Sortix:*:*) - GUESS=$UNAME_MACHINE-unknown-sortix - ;; - *:Twizzler:*:*) - GUESS=$UNAME_MACHINE-unknown-twizzler - ;; - *:Redox:*:*) - GUESS=$UNAME_MACHINE-unknown-redox - ;; - mips:OSF1:*.*) - GUESS=mips-dec-osf1 - ;; - alpha:OSF1:*:*) - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - trap '' 0 - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case $ALPHA_CPU_TYPE in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - GUESS=$UNAME_MACHINE-dec-osf$OSF_REL - ;; - Amiga*:UNIX_System_V:4.0:*) - GUESS=m68k-unknown-sysv4 - ;; - *:[Aa]miga[Oo][Ss]:*:*) - GUESS=$UNAME_MACHINE-unknown-amigaos - ;; - *:[Mm]orph[Oo][Ss]:*:*) - GUESS=$UNAME_MACHINE-unknown-morphos - ;; - *:OS/390:*:*) - GUESS=i370-ibm-openedition - ;; - *:z/VM:*:*) - GUESS=s390-ibm-zvmoe - ;; - *:OS400:*:*) - GUESS=powerpc-ibm-os400 - ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - GUESS=arm-acorn-riscix$UNAME_RELEASE - ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - GUESS=arm-unknown-riscos - ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - GUESS=hppa1.1-hitachi-hiuxmpp - ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - case `(/bin/universe) 2>/dev/null` in - att) GUESS=pyramid-pyramid-sysv3 ;; - *) GUESS=pyramid-pyramid-bsd ;; - esac - ;; - NILE*:*:*:dcosx) - GUESS=pyramid-pyramid-svr4 - ;; - DRS?6000:unix:4.0:6*) - GUESS=sparc-icl-nx6 - ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) GUESS=sparc-icl-nx7 ;; - esac - ;; - s390x:SunOS:*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL - ;; - sun4H:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-hal-solaris2$SUN_REL - ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-sun-solaris2$SUN_REL - ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - GUESS=i386-pc-auroraux$UNAME_RELEASE - ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=$SUN_ARCH-pc-solaris2$SUN_REL - ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-sun-solaris3$SUN_REL - ;; - sun4*:SunOS:*:*) - case `/usr/bin/arch -k` in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` - GUESS=sparc-sun-sunos$SUN_REL - ;; - sun3*:SunOS:*:*) - GUESS=m68k-sun-sunos$UNAME_RELEASE - ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case `/bin/arch` in - sun3) - GUESS=m68k-sun-sunos$UNAME_RELEASE - ;; - sun4) - GUESS=sparc-sun-sunos$UNAME_RELEASE - ;; - esac - ;; - aushp:SunOS:*:*) - GUESS=sparc-auspex-sunos$UNAME_RELEASE - ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - GUESS=m68k-milan-mint$UNAME_RELEASE - ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - GUESS=m68k-hades-mint$UNAME_RELEASE - ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - GUESS=m68k-unknown-mint$UNAME_RELEASE - ;; - m68k:machten:*:*) - GUESS=m68k-apple-machten$UNAME_RELEASE - ;; - powerpc:machten:*:*) - GUESS=powerpc-apple-machten$UNAME_RELEASE - ;; - RISC*:Mach:*:*) - GUESS=mips-dec-mach_bsd4.3 - ;; - RISC*:ULTRIX:*:*) - GUESS=mips-dec-ultrix$UNAME_RELEASE - ;; - VAX*:ULTRIX*:*:*) - GUESS=vax-dec-ultrix$UNAME_RELEASE - ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - GUESS=clipper-intergraph-clix$UNAME_RELEASE - ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`"$dummy" "$dummyarg"` && - { echo "$SYSTEM_NAME"; exit; } - GUESS=mips-mips-riscos$UNAME_RELEASE - ;; - Motorola:PowerMAX_OS:*:*) - GUESS=powerpc-motorola-powermax - ;; - Motorola:*:4.3:PL8-*) - GUESS=powerpc-harris-powermax - ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - GUESS=powerpc-harris-powermax - ;; - Night_Hawk:Power_UNIX:*:*) - GUESS=powerpc-harris-powerunix - ;; - m88k:CX/UX:7*:*) - GUESS=m88k-harris-cxux7 - ;; - m88k:*:4*:R4*) - GUESS=m88k-motorola-sysv4 - ;; - m88k:*:3*:R3*) - GUESS=m88k-motorola-sysv3 - ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 - then - if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ - test "$TARGET_BINARY_INTERFACE"x = x - then - GUESS=m88k-dg-dgux$UNAME_RELEASE - else - GUESS=m88k-dg-dguxbcs$UNAME_RELEASE - fi - else - GUESS=i586-dg-dgux$UNAME_RELEASE - fi - ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - GUESS=m88k-dolphin-sysv3 - ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - GUESS=m88k-motorola-sysv3 - ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - GUESS=m88k-tektronix-sysv3 - ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - GUESS=m68k-tektronix-bsd - ;; - *:IRIX*:*:*) - IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` - GUESS=mips-sgi-irix$IRIX_REL - ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id - ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - GUESS=i386-ibm-aix - ;; - ia64:AIX:*:*) - if test -x /usr/bin/oslevel ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=$UNAME_VERSION.$UNAME_RELEASE - fi - GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV - ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` - then - GUESS=$SYSTEM_NAME - else - GUESS=rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - GUESS=rs6000-ibm-aix3.2.4 - else - GUESS=rs6000-ibm-aix3.2 - fi - ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if test -x /usr/bin/lslpp ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=$UNAME_VERSION.$UNAME_RELEASE - fi - GUESS=$IBM_ARCH-ibm-aix$IBM_REV - ;; - *:AIX:*:*) - GUESS=rs6000-ibm-aix - ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - GUESS=romp-ibm-bsd4.4 - ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to - ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - GUESS=rs6000-bull-bosx - ;; - DPX/2?00:B.O.S.:*:*) - GUESS=m68k-bull-sysv3 - ;; - 9000/[34]??:4.3bsd:1.*:*) - GUESS=m68k-hp-bsd - ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - GUESS=m68k-hp-bsd4.4 - ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` - case $UNAME_MACHINE in - 9000/31?) HP_ARCH=m68000 ;; - 9000/[34]??) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if test -x /usr/bin/getconf; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case $sc_cpu_version in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case $sc_kernel_bits in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if test "$HP_ARCH" = ""; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if test "$HP_ARCH" = hppa2.0w - then - set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - GUESS=$HP_ARCH-hp-hpux$HPUX_REV - ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` - GUESS=ia64-hp-hpux$HPUX_REV - ;; - 3050*:HI-UX:*:*) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - GUESS=unknown-hitachi-hiuxwe2 - ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - GUESS=hppa1.1-hp-bsd - ;; - 9000/8??:4.3bsd:*:*) - GUESS=hppa1.0-hp-bsd - ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - GUESS=hppa1.0-hp-mpeix - ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - GUESS=hppa1.1-hp-osf - ;; - hp8??:OSF1:*:*) - GUESS=hppa1.0-hp-osf - ;; - i*86:OSF1:*:*) - if test -x /usr/sbin/sysversion ; then - GUESS=$UNAME_MACHINE-unknown-osf1mk - else - GUESS=$UNAME_MACHINE-unknown-osf1 - fi - ;; - parisc*:Lites*:*:*) - GUESS=hppa1.1-hp-lites - ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - GUESS=c1-convex-bsd - ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - GUESS=c34-convex-bsd - ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - GUESS=c38-convex-bsd - ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - GUESS=c4-convex-bsd - ;; - CRAY*Y-MP:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=ymp-cray-unicos$CRAY_REL - ;; - CRAY*[A-Z]90:*:*:*) - echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=t90-cray-unicos$CRAY_REL - ;; - CRAY*T3E:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=alphaev5-cray-unicosmk$CRAY_REL - ;; - CRAY*SV1:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=sv1-cray-unicos$CRAY_REL - ;; - *:UNICOS/mp:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=craynv-cray-unicosmp$CRAY_REL - ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` - GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} - ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} - ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE - ;; - sparc*:BSD/OS:*:*) - GUESS=sparc-unknown-bsdi$UNAME_RELEASE - ;; - *:BSD/OS:*:*) - GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE - ;; - arm:FreeBSD:*:*) - UNAME_PROCESSOR=`uname -p` - set_cc_for_build - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi - else - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf - fi - ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case $UNAME_PROCESSOR in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL - ;; - i*:CYGWIN*:*) - GUESS=$UNAME_MACHINE-pc-cygwin - ;; - *:MINGW64*:*) - GUESS=$UNAME_MACHINE-pc-mingw64 - ;; - *:MINGW*:*) - GUESS=$UNAME_MACHINE-pc-mingw32 - ;; - *:MSYS*:*) - GUESS=$UNAME_MACHINE-pc-msys - ;; - i*:PW*:*) - GUESS=$UNAME_MACHINE-pc-pw32 - ;; - *:SerenityOS:*:*) - GUESS=$UNAME_MACHINE-pc-serenity - ;; - *:Interix*:*) - case $UNAME_MACHINE in - x86) - GUESS=i586-pc-interix$UNAME_RELEASE - ;; - authenticamd | genuineintel | EM64T) - GUESS=x86_64-unknown-interix$UNAME_RELEASE - ;; - IA64) - GUESS=ia64-unknown-interix$UNAME_RELEASE - ;; - esac ;; - i*:UWIN*:*) - GUESS=$UNAME_MACHINE-pc-uwin - ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - GUESS=x86_64-pc-cygwin - ;; - prep*:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=powerpcle-unknown-solaris2$SUN_REL - ;; - *:GNU:*:*) - # the GNU system - GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` - GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` - GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL - ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` - GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC - ;; - *:Minix:*:*) - GUESS=$UNAME_MACHINE-unknown-minix - ;; - aarch64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - arm*:Linux:*:*) - set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi - else - GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf - fi - fi - ;; - avr32*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - cris:Linux:*:*) - GUESS=$UNAME_MACHINE-axis-linux-$LIBC - ;; - crisv32:Linux:*:*) - GUESS=$UNAME_MACHINE-axis-linux-$LIBC - ;; - e2k:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - frv:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - hexagon:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - i*86:Linux:*:*) - GUESS=$UNAME_MACHINE-pc-linux-$LIBC - ;; - ia64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - k1om:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - m32r*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - m68*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - mips:Linux:*:* | mips64:Linux:*:*) - set_cc_for_build - IS_GLIBC=0 - test x"${LIBC}" = xgnu && IS_GLIBC=1 - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef mips - #undef mipsel - #undef mips64 - #undef mips64el - #if ${IS_GLIBC} && defined(_ABI64) - LIBCABI=gnuabi64 - #else - #if ${IS_GLIBC} && defined(_ABIN32) - LIBCABI=gnuabin32 - #else - LIBCABI=${LIBC} - #endif - #endif - - #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa64r6 - #else - #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa32r6 - #else - #if defined(__mips64) - CPU=mips64 - #else - CPU=mips - #endif - #endif - #endif - - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - MIPS_ENDIAN=el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - MIPS_ENDIAN= - #else - MIPS_ENDIAN= - #endif - #endif -EOF - cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` - eval "$cc_set_vars" - test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } - ;; - mips64el:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - openrisc*:Linux:*:*) - GUESS=or1k-unknown-linux-$LIBC - ;; - or32:Linux:*:* | or1k*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - padre:Linux:*:*) - GUESS=sparc-unknown-linux-$LIBC - ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - GUESS=hppa64-unknown-linux-$LIBC - ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; - PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; - *) GUESS=hppa-unknown-linux-$LIBC ;; - esac - ;; - ppc64:Linux:*:*) - GUESS=powerpc64-unknown-linux-$LIBC - ;; - ppc:Linux:*:*) - GUESS=powerpc-unknown-linux-$LIBC - ;; - ppc64le:Linux:*:*) - GUESS=powerpc64le-unknown-linux-$LIBC - ;; - ppcle:Linux:*:*) - GUESS=powerpcle-unknown-linux-$LIBC - ;; - riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - s390:Linux:*:* | s390x:Linux:*:*) - GUESS=$UNAME_MACHINE-ibm-linux-$LIBC - ;; - sh64*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sh*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sw_64*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - tile*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - vax:Linux:*:*) - GUESS=$UNAME_MACHINE-dec-linux-$LIBC - ;; - x86_64:Linux:*:*) - set_cc_for_build - LIBCABI=$LIBC - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_X32 >/dev/null - then - LIBCABI=${LIBC}x32 - fi - fi - GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI - ;; - xtensa*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - GUESS=i386-sequent-sysv4 - ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION - ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - GUESS=$UNAME_MACHINE-pc-os2-emx - ;; - i*86:XTS-300:*:STOP) - GUESS=$UNAME_MACHINE-unknown-stop - ;; - i*86:atheos:*:*) - GUESS=$UNAME_MACHINE-unknown-atheos - ;; - i*86:syllable:*:*) - GUESS=$UNAME_MACHINE-pc-syllable - ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - GUESS=i386-unknown-lynxos$UNAME_RELEASE - ;; - i*86:*DOS:*:*) - GUESS=$UNAME_MACHINE-pc-msdosdjgpp - ;; - i*86:*:4.*:*) - UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL - else - GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL - fi - ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL - else - GUESS=$UNAME_MACHINE-pc-sysv32 - fi - ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - GUESS=i586-pc-msdosdjgpp - ;; - Intel:Mach:3*:*) - GUESS=i386-pc-mach3 - ;; - paragon:*:*:*) - GUESS=i860-intel-osf1 - ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 - fi - ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - GUESS=m68010-convergent-sysv - ;; - mc68k:UNIX:SYSTEM5:3.51m) - GUESS=m68k-convergent-sysv - ;; - M680?0:D-NIX:5.3:*) - GUESS=m68k-diab-dnix - ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - GUESS=m68k-unknown-lynxos$UNAME_RELEASE - ;; - mc68030:UNIX_System_V:4.*:*) - GUESS=m68k-atari-sysv4 - ;; - TSUNAMI:LynxOS:2.*:*) - GUESS=sparc-unknown-lynxos$UNAME_RELEASE - ;; - rs6000:LynxOS:2.*:*) - GUESS=rs6000-unknown-lynxos$UNAME_RELEASE - ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - GUESS=powerpc-unknown-lynxos$UNAME_RELEASE - ;; - SM[BE]S:UNIX_SV:*:*) - GUESS=mips-dde-sysv$UNAME_RELEASE - ;; - RM*:ReliantUNIX-*:*:*) - GUESS=mips-sni-sysv4 - ;; - RM*:SINIX-*:*:*) - GUESS=mips-sni-sysv4 - ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - GUESS=$UNAME_MACHINE-sni-sysv4 - else - GUESS=ns32k-sni-sysv - fi - ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - GUESS=i586-unisys-sysv4 - ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - GUESS=hppa1.1-stratus-sysv4 - ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - GUESS=i860-stratus-sysv4 - ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - GUESS=$UNAME_MACHINE-stratus-vos - ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - GUESS=hppa1.1-stratus-vos - ;; - mc68*:A/UX:*:*) - GUESS=m68k-apple-aux$UNAME_RELEASE - ;; - news*:NEWS-OS:6*:*) - GUESS=mips-sony-newsos6 - ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if test -d /usr/nec; then - GUESS=mips-nec-sysv$UNAME_RELEASE - else - GUESS=mips-unknown-sysv$UNAME_RELEASE - fi - ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - GUESS=powerpc-be-beos - ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - GUESS=powerpc-apple-beos - ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - GUESS=i586-pc-beos - ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - GUESS=i586-pc-haiku - ;; - x86_64:Haiku:*:*) - GUESS=x86_64-unknown-haiku - ;; - SX-4:SUPER-UX:*:*) - GUESS=sx4-nec-superux$UNAME_RELEASE - ;; - SX-5:SUPER-UX:*:*) - GUESS=sx5-nec-superux$UNAME_RELEASE - ;; - SX-6:SUPER-UX:*:*) - GUESS=sx6-nec-superux$UNAME_RELEASE - ;; - SX-7:SUPER-UX:*:*) - GUESS=sx7-nec-superux$UNAME_RELEASE - ;; - SX-8:SUPER-UX:*:*) - GUESS=sx8-nec-superux$UNAME_RELEASE - ;; - SX-8R:SUPER-UX:*:*) - GUESS=sx8r-nec-superux$UNAME_RELEASE - ;; - SX-ACE:SUPER-UX:*:*) - GUESS=sxace-nec-superux$UNAME_RELEASE - ;; - Power*:Rhapsody:*:*) - GUESS=powerpc-apple-rhapsody$UNAME_RELEASE - ;; - *:Rhapsody:*:*) - GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE - ;; - arm64:Darwin:*:*) - GUESS=aarch64-apple-darwin$UNAME_RELEASE - ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - if command -v xcode-select > /dev/null 2> /dev/null && \ - ! xcode-select --print-path > /dev/null 2> /dev/null ; then - # Avoid executing cc if there is no toolchain installed as - # cc will be a stub that puts up a graphical alert - # prompting the user to install developer tools. - CC_FOR_BUILD=no_compiler_found - else - set_cc_for_build - fi - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # uname -m returns i386 or x86_64 - UNAME_PROCESSOR=$UNAME_MACHINE - fi - GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE - ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE - ;; - *:QNX:*:4*) - GUESS=i386-pc-qnx - ;; - NEO-*:NONSTOP_KERNEL:*:*) - GUESS=neo-tandem-nsk$UNAME_RELEASE - ;; - NSE-*:NONSTOP_KERNEL:*:*) - GUESS=nse-tandem-nsk$UNAME_RELEASE - ;; - NSR-*:NONSTOP_KERNEL:*:*) - GUESS=nsr-tandem-nsk$UNAME_RELEASE - ;; - NSV-*:NONSTOP_KERNEL:*:*) - GUESS=nsv-tandem-nsk$UNAME_RELEASE - ;; - NSX-*:NONSTOP_KERNEL:*:*) - GUESS=nsx-tandem-nsk$UNAME_RELEASE - ;; - *:NonStop-UX:*:*) - GUESS=mips-compaq-nonstopux - ;; - BS2000:POSIX*:*:*) - GUESS=bs2000-siemens-sysv - ;; - DS/*:UNIX_System_V:*:*) - GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE - ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "${cputype-}" = 386; then - UNAME_MACHINE=i386 - elif test "x${cputype-}" != x; then - UNAME_MACHINE=$cputype - fi - GUESS=$UNAME_MACHINE-unknown-plan9 - ;; - *:TOPS-10:*:*) - GUESS=pdp10-unknown-tops10 - ;; - *:TENEX:*:*) - GUESS=pdp10-unknown-tenex - ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - GUESS=pdp10-dec-tops20 - ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - GUESS=pdp10-xkl-tops20 - ;; - *:TOPS-20:*:*) - GUESS=pdp10-unknown-tops20 - ;; - *:ITS:*:*) - GUESS=pdp10-unknown-its - ;; - SEI:*:*:SEIUX) - GUESS=mips-sei-seiux$UNAME_RELEASE - ;; - *:DragonFly:*:*) - DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL - ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case $UNAME_MACHINE in - A*) GUESS=alpha-dec-vms ;; - I*) GUESS=ia64-dec-vms ;; - V*) GUESS=vax-dec-vms ;; - esac ;; - *:XENIX:*:SysV) - GUESS=i386-pc-xenix - ;; - i*86:skyos:*:*) - SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` - GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL - ;; - i*86:rdos:*:*) - GUESS=$UNAME_MACHINE-pc-rdos - ;; - i*86:Fiwix:*:*) - GUESS=$UNAME_MACHINE-pc-fiwix - ;; - *:AROS:*:*) - GUESS=$UNAME_MACHINE-unknown-aros - ;; - x86_64:VMkernel:*:*) - GUESS=$UNAME_MACHINE-unknown-esx - ;; - amd64:Isilon\ OneFS:*:*) - GUESS=x86_64-unknown-onefs - ;; - *:Unleashed:*:*) - GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE - ;; -esac - -# Do we have a guess based on uname results? -if test "x$GUESS" != x; then - echo "$GUESS" - exit -fi - -# No uname command or uname output not recognized. -set_cc_for_build -cat > "$dummy.c" < -#include -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#include -#if defined(_SIZE_T_) || defined(SIGLOST) -#include -#endif -#endif -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); -#endif - -#if defined (vax) -#if !defined (ultrix) -#include -#if defined (BSD) -#if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -#else -#if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#endif -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#else -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname un; - uname (&un); - printf ("vax-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif -#endif -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname *un; - uname (&un); - printf ("mips-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("mips-dec-ultrix\n"); exit (0); -#endif -#endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. -test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } - -echo "$0: unable to guess system type" >&2 - -case $UNAME_MACHINE:$UNAME_SYSTEM in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <&2 <&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = "$UNAME_MACHINE" -UNAME_RELEASE = "$UNAME_RELEASE" -UNAME_SYSTEM = "$UNAME_SYSTEM" -UNAME_VERSION = "$UNAME_VERSION" -EOF -fi - -exit 1 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/config.sub b/BUILD/libtool-2.4.7/build-aux/config.sub deleted file mode 100755 index 70bc542..0000000 --- a/BUILD/libtool-2.4.7/build-aux/config.sub +++ /dev/null @@ -1,1891 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2021 Free Software Foundation, Inc. - -# shellcheck disable=SC2006,SC2268 # see below for rationale - -timestamp='2021-12-25' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -# The "shellcheck disable" line above the timestamp inhibits complaints -# about features and limitations of the classic Bourne shell that were -# superseded or lifted in POSIX. However, this script identifies a wide -# variety of pre-POSIX systems that do not have POSIX shells at all, and -# even some reasonably current systems (Solaris 10 as case-in-point) still -# have a pre-POSIX /bin/sh. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2021 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo "$1" - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Split fields of configuration type -# shellcheck disable=SC2162 -saved_IFS=$IFS -IFS="-" read field1 field2 field3 field4 <&2 - exit 1 - ;; - *-*-*-*) - basic_machine=$field1-$field2 - basic_os=$field3-$field4 - ;; - *-*-*) - # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two - # parts - maybe_os=$field2-$field3 - case $maybe_os in - nto-qnx* | linux-* | uclinux-uclibc* \ - | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ - | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) - basic_machine=$field1 - basic_os=$maybe_os - ;; - android-linux) - basic_machine=$field1-unknown - basic_os=linux-android - ;; - *) - basic_machine=$field1-$field2 - basic_os=$field3 - ;; - esac - ;; - *-*) - # A lone config we happen to match not fitting any pattern - case $field1-$field2 in - decstation-3100) - basic_machine=mips-dec - basic_os= - ;; - *-*) - # Second component is usually, but not always the OS - case $field2 in - # Prevent following clause from handling this valid os - sun*os*) - basic_machine=$field1 - basic_os=$field2 - ;; - zephyr*) - basic_machine=$field1-unknown - basic_os=$field2 - ;; - # Manufacturers - dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ - | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ - | unicom* | ibm* | next | hp | isi* | apollo | altos* \ - | convergent* | ncr* | news | 32* | 3600* | 3100* \ - | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ - | ultra | tti* | harris | dolphin | highlevel | gould \ - | cbm | ns | masscomp | apple | axis | knuth | cray \ - | microblaze* | sim | cisco \ - | oki | wec | wrs | winbond) - basic_machine=$field1-$field2 - basic_os= - ;; - *) - basic_machine=$field1 - basic_os=$field2 - ;; - esac - ;; - esac - ;; - *) - # Convert single-component short-hands not valid as part of - # multi-component configurations. - case $field1 in - 386bsd) - basic_machine=i386-pc - basic_os=bsd - ;; - a29khif) - basic_machine=a29k-amd - basic_os=udi - ;; - adobe68k) - basic_machine=m68010-adobe - basic_os=scout - ;; - alliant) - basic_machine=fx80-alliant - basic_os= - ;; - altos | altos3068) - basic_machine=m68k-altos - basic_os= - ;; - am29k) - basic_machine=a29k-none - basic_os=bsd - ;; - amdahl) - basic_machine=580-amdahl - basic_os=sysv - ;; - amiga) - basic_machine=m68k-unknown - basic_os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown - basic_os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - basic_os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - basic_os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - basic_os=bsd - ;; - aros) - basic_machine=i386-pc - basic_os=aros - ;; - aux) - basic_machine=m68k-apple - basic_os=aux - ;; - balance) - basic_machine=ns32k-sequent - basic_os=dynix - ;; - blackfin) - basic_machine=bfin-unknown - basic_os=linux - ;; - cegcc) - basic_machine=arm-unknown - basic_os=cegcc - ;; - convex-c1) - basic_machine=c1-convex - basic_os=bsd - ;; - convex-c2) - basic_machine=c2-convex - basic_os=bsd - ;; - convex-c32) - basic_machine=c32-convex - basic_os=bsd - ;; - convex-c34) - basic_machine=c34-convex - basic_os=bsd - ;; - convex-c38) - basic_machine=c38-convex - basic_os=bsd - ;; - cray) - basic_machine=j90-cray - basic_os=unicos - ;; - crds | unos) - basic_machine=m68k-crds - basic_os= - ;; - da30) - basic_machine=m68k-da30 - basic_os= - ;; - decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec - basic_os= - ;; - delta88) - basic_machine=m88k-motorola - basic_os=sysv3 - ;; - dicos) - basic_machine=i686-pc - basic_os=dicos - ;; - djgpp) - basic_machine=i586-pc - basic_os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd - basic_os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - basic_os=ose - ;; - gmicro) - basic_machine=tron-gmicro - basic_os=sysv - ;; - go32) - basic_machine=i386-pc - basic_os=go32 - ;; - h8300hms) - basic_machine=h8300-hitachi - basic_os=hms - ;; - h8300xray) - basic_machine=h8300-hitachi - basic_os=xray - ;; - h8500hms) - basic_machine=h8500-hitachi - basic_os=hms - ;; - harris) - basic_machine=m88k-harris - basic_os=sysv3 - ;; - hp300 | hp300hpux) - basic_machine=m68k-hp - basic_os=hpux - ;; - hp300bsd) - basic_machine=m68k-hp - basic_os=bsd - ;; - hppaosf) - basic_machine=hppa1.1-hp - basic_os=osf - ;; - hppro) - basic_machine=hppa1.1-hp - basic_os=proelf - ;; - i386mach) - basic_machine=i386-mach - basic_os=mach - ;; - isi68 | isi) - basic_machine=m68k-isi - basic_os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown - basic_os=linux - ;; - magnum | m3230) - basic_machine=mips-mips - basic_os=sysv - ;; - merlin) - basic_machine=ns32k-utek - basic_os=sysv - ;; - mingw64) - basic_machine=x86_64-pc - basic_os=mingw64 - ;; - mingw32) - basic_machine=i686-pc - basic_os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - basic_os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k - basic_os=coff - ;; - morphos) - basic_machine=powerpc-unknown - basic_os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown - basic_os=moxiebox - ;; - msdos) - basic_machine=i386-pc - basic_os=msdos - ;; - msys) - basic_machine=i686-pc - basic_os=msys - ;; - mvs) - basic_machine=i370-ibm - basic_os=mvs - ;; - nacl) - basic_machine=le32-unknown - basic_os=nacl - ;; - ncr3000) - basic_machine=i486-ncr - basic_os=sysv4 - ;; - netbsd386) - basic_machine=i386-pc - basic_os=netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - basic_os=linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - basic_os=newsos - ;; - news1000) - basic_machine=m68030-sony - basic_os=newsos - ;; - necv70) - basic_machine=v70-nec - basic_os=sysv - ;; - nh3000) - basic_machine=m68k-harris - basic_os=cxux - ;; - nh[45]000) - basic_machine=m88k-harris - basic_os=cxux - ;; - nindy960) - basic_machine=i960-intel - basic_os=nindy - ;; - mon960) - basic_machine=i960-intel - basic_os=mon960 - ;; - nonstopux) - basic_machine=mips-compaq - basic_os=nonstopux - ;; - os400) - basic_machine=powerpc-ibm - basic_os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - basic_os=ose - ;; - os68k) - basic_machine=m68k-none - basic_os=os68k - ;; - paragon) - basic_machine=i860-intel - basic_os=osf - ;; - parisc) - basic_machine=hppa-unknown - basic_os=linux - ;; - psp) - basic_machine=mipsallegrexel-sony - basic_os=psp - ;; - pw32) - basic_machine=i586-unknown - basic_os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - basic_os=rdos - ;; - rdos32) - basic_machine=i386-pc - basic_os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k - basic_os=coff - ;; - sa29200) - basic_machine=a29k-amd - basic_os=udi - ;; - sei) - basic_machine=mips-sei - basic_os=seiux - ;; - sequent) - basic_machine=i386-sequent - basic_os= - ;; - sps7) - basic_machine=m68k-bull - basic_os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem - basic_os= - ;; - stratus) - basic_machine=i860-stratus - basic_os=sysv4 - ;; - sun2) - basic_machine=m68000-sun - basic_os= - ;; - sun2os3) - basic_machine=m68000-sun - basic_os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - basic_os=sunos4 - ;; - sun3) - basic_machine=m68k-sun - basic_os= - ;; - sun3os3) - basic_machine=m68k-sun - basic_os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - basic_os=sunos4 - ;; - sun4) - basic_machine=sparc-sun - basic_os= - ;; - sun4os3) - basic_machine=sparc-sun - basic_os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - basic_os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - basic_os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - basic_os= - ;; - sv1) - basic_machine=sv1-cray - basic_os=unicos - ;; - symmetry) - basic_machine=i386-sequent - basic_os=dynix - ;; - t3e) - basic_machine=alphaev5-cray - basic_os=unicos - ;; - t90) - basic_machine=t90-cray - basic_os=unicos - ;; - toad1) - basic_machine=pdp10-xkl - basic_os=tops20 - ;; - tpf) - basic_machine=s390x-ibm - basic_os=tpf - ;; - udi29k) - basic_machine=a29k-amd - basic_os=udi - ;; - ultra3) - basic_machine=a29k-nyu - basic_os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - basic_os=none - ;; - vaxv) - basic_machine=vax-dec - basic_os=sysv - ;; - vms) - basic_machine=vax-dec - basic_os=vms - ;; - vsta) - basic_machine=i386-pc - basic_os=vsta - ;; - vxworks960) - basic_machine=i960-wrs - basic_os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - basic_os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - basic_os=vxworks - ;; - xbox) - basic_machine=i686-pc - basic_os=mingw32 - ;; - ymp) - basic_machine=ymp-cray - basic_os=unicos - ;; - *) - basic_machine=$1 - basic_os= - ;; - esac - ;; -esac - -# Decode 1-component or ad-hoc basic machines -case $basic_machine in - # Here we handle the default manufacturer of certain CPU types. It is in - # some cases the only manufacturer, in others, it is the most popular. - w89k) - cpu=hppa1.1 - vendor=winbond - ;; - op50n) - cpu=hppa1.1 - vendor=oki - ;; - op60c) - cpu=hppa1.1 - vendor=oki - ;; - ibm*) - cpu=i370 - vendor=ibm - ;; - orion105) - cpu=clipper - vendor=highlevel - ;; - mac | mpw | mac-mpw) - cpu=m68k - vendor=apple - ;; - pmac | pmac-mpw) - cpu=powerpc - vendor=apple - ;; - - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - cpu=m68000 - vendor=att - ;; - 3b*) - cpu=we32k - vendor=att - ;; - bluegene*) - cpu=powerpc - vendor=ibm - basic_os=cnk - ;; - decsystem10* | dec10*) - cpu=pdp10 - vendor=dec - basic_os=tops10 - ;; - decsystem20* | dec20*) - cpu=pdp10 - vendor=dec - basic_os=tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - cpu=m68k - vendor=motorola - ;; - dpx2*) - cpu=m68k - vendor=bull - basic_os=sysv3 - ;; - encore | umax | mmax) - cpu=ns32k - vendor=encore - ;; - elxsi) - cpu=elxsi - vendor=elxsi - basic_os=${basic_os:-bsd} - ;; - fx2800) - cpu=i860 - vendor=alliant - ;; - genix) - cpu=ns32k - vendor=ns - ;; - h3050r* | hiux*) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - cpu=m68000 - vendor=hp - ;; - hp9k3[2-9][0-9]) - cpu=m68k - vendor=hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - i*86v32) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv32 - ;; - i*86v4*) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv4 - ;; - i*86v) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv - ;; - i*86sol2) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=solaris2 - ;; - j90 | j90-cray) - cpu=j90 - vendor=cray - basic_os=${basic_os:-unicos} - ;; - iris | iris4d) - cpu=mips - vendor=sgi - case $basic_os in - irix*) - ;; - *) - basic_os=irix4 - ;; - esac - ;; - miniframe) - cpu=m68000 - vendor=convergent - ;; - *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) - cpu=m68k - vendor=atari - basic_os=mint - ;; - news-3600 | risc-news) - cpu=mips - vendor=sony - basic_os=newsos - ;; - next | m*-next) - cpu=m68k - vendor=next - case $basic_os in - openstep*) - ;; - nextstep*) - ;; - ns2*) - basic_os=nextstep2 - ;; - *) - basic_os=nextstep3 - ;; - esac - ;; - np1) - cpu=np1 - vendor=gould - ;; - op50n-* | op60c-*) - cpu=hppa1.1 - vendor=oki - basic_os=proelf - ;; - pa-hitachi) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - pbd) - cpu=sparc - vendor=tti - ;; - pbb) - cpu=m68k - vendor=tti - ;; - pc532) - cpu=ns32k - vendor=pc532 - ;; - pn) - cpu=pn - vendor=gould - ;; - power) - cpu=power - vendor=ibm - ;; - ps2) - cpu=i386 - vendor=ibm - ;; - rm[46]00) - cpu=mips - vendor=siemens - ;; - rtpc | rtpc-*) - cpu=romp - vendor=ibm - ;; - sde) - cpu=mipsisa32 - vendor=sde - basic_os=${basic_os:-elf} - ;; - simso-wrs) - cpu=sparclite - vendor=wrs - basic_os=vxworks - ;; - tower | tower-32) - cpu=m68k - vendor=ncr - ;; - vpp*|vx|vx-*) - cpu=f301 - vendor=fujitsu - ;; - w65) - cpu=w65 - vendor=wdc - ;; - w89k-*) - cpu=hppa1.1 - vendor=winbond - basic_os=proelf - ;; - none) - cpu=none - vendor=none - ;; - leon|leon[3-9]) - cpu=sparc - vendor=$basic_machine - ;; - leon-*|leon[3-9]-*) - cpu=sparc - vendor=`echo "$basic_machine" | sed 's/-.*//'` - ;; - - *-*) - # shellcheck disable=SC2162 - saved_IFS=$IFS - IFS="-" read cpu vendor <&2 - exit 1 - ;; - esac - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $vendor in - digital*) - vendor=dec - ;; - commodore*) - vendor=cbm - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if test x$basic_os != x -then - -# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just -# set os. -case $basic_os in - gnu/linux*) - kernel=linux - os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` - ;; - os2-emx) - kernel=os2 - os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` - ;; - nto-qnx*) - kernel=nto - os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` - ;; - *-*) - # shellcheck disable=SC2162 - saved_IFS=$IFS - IFS="-" read kernel os <&2 - exit 1 - ;; -esac - -# As a final step for OS-related things, validate the OS-kernel combination -# (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* ) - ;; - uclinux-uclibc* ) - ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) - # These are just libc implementations, not actual OSes, and thus - # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 - exit 1 - ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) - ;; - vxworks-simlinux | vxworks-simwindows | vxworks-spe) - ;; - nto-qnx*) - ;; - os2-emx) - ;; - *-eabi* | *-gnueabi*) - ;; - -*) - # Blank kernel with real OS is always fine. - ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 - exit 1 - ;; -esac - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -case $vendor in - unknown) - case $cpu-$os in - *-riscix*) - vendor=acorn - ;; - *-sunos*) - vendor=sun - ;; - *-cnk* | *-aix*) - vendor=ibm - ;; - *-beos*) - vendor=be - ;; - *-hpux*) - vendor=hp - ;; - *-mpeix*) - vendor=hp - ;; - *-hiux*) - vendor=hitachi - ;; - *-unos*) - vendor=crds - ;; - *-dgux*) - vendor=dg - ;; - *-luna*) - vendor=omron - ;; - *-genix*) - vendor=ns - ;; - *-clix*) - vendor=intergraph - ;; - *-mvs* | *-opened*) - vendor=ibm - ;; - *-os400*) - vendor=ibm - ;; - s390-* | s390x-*) - vendor=ibm - ;; - *-ptx*) - vendor=sequent - ;; - *-tpf*) - vendor=ibm - ;; - *-vxsim* | *-vxworks* | *-windiss*) - vendor=wrs - ;; - *-aux*) - vendor=apple - ;; - *-hms*) - vendor=hitachi - ;; - *-mpw* | *-macos*) - vendor=apple - ;; - *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) - vendor=atari - ;; - *-vos*) - vendor=stratus - ;; - esac - ;; -esac - -echo "$cpu-$vendor-${kernel:+$kernel-}$os" -exit - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/depcomp b/BUILD/libtool-2.4.7/build-aux/depcomp deleted file mode 100755 index 75323b7..0000000 --- a/BUILD/libtool-2.4.7/build-aux/depcomp +++ /dev/null @@ -1,790 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1999-2022 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -alpha=${upper}${lower} - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The second -e expression handles DOS-style file names with drive - # letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like '#:fec' to the end of the - # dependency line. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ - | tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool generates 2 separate objects for the 2 libraries. These - # two compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E \ - | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - | sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/do-release-commit-and-tag b/BUILD/libtool-2.4.7/build-aux/do-release-commit-and-tag deleted file mode 100755 index 82dcd45..0000000 --- a/BUILD/libtool-2.4.7/build-aux/do-release-commit-and-tag +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/sh -# In a git/autoconf/automake-enabled project with a NEWS file and a version- -# controlled .prev-version file, automate the procedure by which we record -# the date, release-type and version string in the NEWS file. That commit -# will serve to identify the release, so apply a signed tag to it as well. -VERSION=2018-03-07.03 # UTC - -# Make sure we've evaluated scripts we depend on. -test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh - -# Note: this is a bash script (could be zsh or dash) - -# Copyright (C) 2009-2022 Free Software Foundation, Inc. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Written by Jim Meyering - -ME=$(basename "$0") -warn() { printf '%s: %s\n' "$ME" "$*" >&2; } -die() { warn "$*"; exit 1; } - -help() -{ - cat <. -EOF - exit -} - -version() -{ - year=$(echo "$VERSION" | sed 's/[^0-9].*//') - cat < -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit -} - -## ------ ## -## Main. ## -## ------ ## - -# Constants. -noteworthy='* Noteworthy changes in release' -noteworthy_stub="$noteworthy ?.? (????-??-??) [?]" - -# Variables. -branch=$(git branch | sed -ne '/^\* /{s///;p;q;}') -builddir=. - -while test $# != 0 -do - # Handle --option=value by splitting apart and putting back on argv. - case $1 in - --*=*) - opt=$(echo "$1" | sed -e 's/=.*//') - val=$(echo "$1" | sed -e 's/[^=]*=//') - shift - set dummy "$opt" "$val" "$@"; shift - ;; - esac - - case $1 in - --help|--version) ${1#--};; - --branch) shift; branch=$1; shift ;; - -C|--builddir) shift; builddir=$1; shift ;; - --*) die "unrecognized option: $1";; - *) break;; - esac -done - -test $# = 2 \ - || die "Usage: $ME [OPTION...] VERSION TYPE" - -ver=$1 -type=$2 - - -## ---------------------- ## -## First, sanity checks. ## -## ---------------------- ## - -# Verify that $ver looks like a version number, and... -echo "$ver"|grep -E '^[0-9][0-9.]*[0-9]$' > /dev/null \ - || die "invalid version: $ver" -prev_ver=$(cat .prev-version) \ - || die 'failed to determine previous version number from .prev-version' - -# Verify that $ver is sensible (> .prev-version). -func_lt_ver "$prev_ver" "$ver" \ - || die "invalid version: $ver (<= $prev_ver)" - -case $type in - alpha|beta|stable) ;; - *) die "invalid release type: $type";; -esac - -# No local modifications allowed. -case $(git diff-index --name-only HEAD) in - '') ;; - *) die 'this tree is dirty; commit your changes first';; -esac - -# Ensure the current branch name is correct: -curr_br=$(git rev-parse --symbolic-full-name HEAD) -test "$curr_br" = "refs/heads/$branch" || die not on branch $branch - -# Extract package name from Makefile. -Makefile=$builddir/Makefile -pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' "$Makefile") \ - || die "failed to determine package name from $Makefile" - -# Check that line 3 of NEWS is the stub line about to be replaced. -test "$(sed -n 3p NEWS)" = "$noteworthy_stub" \ - || die "line 3 of NEWS must be exactly '$noteworthy_stub'" - -## --------------- ## -## Then, changes. ## -## --------------- ## - -# Update NEWS to have today's date, plus desired version number and $type. -perl -MPOSIX -ni -e 'my $today = strftime "%F", localtime time;' \ - -e 'my ($type, $ver) = qw('"$type $ver"');' \ - -e 'my $pfx = "'"$noteworthy"'";' \ - -e 'print $.==3 ? "$pfx $ver ($today) [$type]\n" : $_' \ - NEWS || die 'failed to update NEWS' - -printf "version $ver\n\n* NEWS: Record release date.\n" \ - | git commit -F - -a || die 'git commit failed' -git tag -s -m "$pkg $ver" v$ver HEAD || die 'git tag failed' - -# Local variables: -# indent-tabs-mode: nil -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "VERSION=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: " # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/edit-readme-alpha b/BUILD/libtool-2.4.7/build-aux/edit-readme-alpha deleted file mode 100755 index 7e5329b..0000000 --- a/BUILD/libtool-2.4.7/build-aux/edit-readme-alpha +++ /dev/null @@ -1,96 +0,0 @@ -#! /bin/sh - -# edit-readme-alpha - edit README file for alpha releases -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2010 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# We used to maintain separate (but extremely similiar!) README and -# README.alpha files, and had 'make dist' include the right one in a -# distribution based on the contests of '$(VERSION)'. -# -# Now, we have 'make dist' call this script to tweak the first paragraph -# of README in situ, to be more suitable for an alpha quality release. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program: -progname=`echo "$progpath" |sed 's|^.*/||'` - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - echo "$progname: $*" >&2 - exit $EXIT_FAILURE -} - - -for file in "$@"; do - # Assume that read-only README indicates that we are running inside - # the latter part of a 'make distcheck'. - test -w "$file" || { - echo "$progname: not editing non-writeable '$file' (distcheck?)" >&2 - continue - } - - # Did we already in-place edited this file? - matched=`sed -n -e '/^This is an alpha testing release/,/a consistent, portable interface\.$/p' $file \ - |wc -l |sed 's|^ *||'` - test 3 = "$matched" && { - echo "$progname: $file already edited" >&2 - continue - } - - # Make sure the paragraph we are matching has not been edited since - # this script was written. - matched=`sed -n -e '/^\[GNU Libtool\]\[libtool\] is/,/^consistent, portable interface\.$/p' $file \ - |wc -l |sed 's|^ *||'` - test 3 = "$matched" \ - || func_fatal_error "$file format has changed, please fix '$0'" - - # Don't leave file droppings. - trap 'x=$?; rm $file.T; exit $x' 1 2 13 15 - - # Edit the first paragraph to be suitable for an alpha release. - sed '/^\[GNU Libtool\]\[libtool\] is/,/^consistent, portable interface\.$/c\ -This is an alpha testing release of [GNU Libtool][libtool], a generic\ -library support script. [Libtool][] hides the complexity of using shared\ -libraries behind a consistent, portable interface.' $file > $file.T - - # Diagnose redirection failure. - test -f "$file.T" || func_fatal_error "Unable to write $file.T" - - # Overwrite the original file with our edited version. - mv $file.T $file || func_fatal_error "Unable to edit $file" -done - -exit $EXIT_SUCCESS diff --git a/BUILD/libtool-2.4.7/build-aux/extract-trace b/BUILD/libtool-2.4.7/build-aux/extract-trace deleted file mode 100755 index a5d04c1..0000000 --- a/BUILD/libtool-2.4.7/build-aux/extract-trace +++ /dev/null @@ -1,486 +0,0 @@ -#! /bin/sh - -# Extract macro arguments from autotools input with GNU M4. -# Written by Gary V. Vaughan, 2010 -# -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2010-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - -# Make sure we've evaluated scripts we depend on. -test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh -test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/options-parser - -# Set a version string. -scriptversion=2019-02-19.15; # UTC - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './extract-trace --help' for help with using this script from the -# command line. -# -# Or source first 'options-parser' and then this file into your own -# scripts in order to make use of the function and variable framework -# they define, and also to avoid the overhead of forking to run this -# script in its own process on every call. - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of -# 'extract-trace'. - - -# func_autoconf_configure MAYBE-CONFIGURE-FILE -# -------------------------------------------- -# Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current -# directory that contains an uncommented call to AC_INIT. -func_autoconf_configure () -{ - $debug_cmd - - _G_sed_no_comment=' - s|#.*$|| - s|^dnl .*$|| - s| dnl .*$||' - _G_ac_init= - - # If we were passed a genuine file, make sure it calls AC_INIT. - test -f "$1" \ - && _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT` - - # Otherwise it is not a genuine Autoconf input file. - test -n "$_G_ac_init" - _G_status=$? - - test 0 -ne "$_G_status" \ - && func_verbose "'$1' not using Autoconf" - - (exit $_G_status) -} - - -# func_tool_version_output CMD [FATAL-ERROR-MSG] -# ---------------------------------------------- -# Attempt to run 'CMD --version', discarding errors. The output can be -# ignored by redirecting stdout, and this function used simply to test -# whether the command exists and exits normally when passed a -# '--version' argument. -# When FATAL-ERROR-MSG is given, then this function will display the -# message and exit if running 'CMD --version' returns a non-zero exit -# status. -func_tool_version_output () -{ - $debug_cmd - - _G_cmd=$1 - _G_fatal_error_msg=$2 - - # Some tools, like 'git2cl' produce thousands of lines of output - # unless stdin is /dev/null - in that case we want to return - # successfully without saving all of that output. Other tools, - # such as 'help2man' exit with a non-zero status when stdin comes - # from /dev/null, so we re-execute without /dev/null if that - # happens. This means that occasionally, the output from both calls - # ends up in the result, but the alternative would be to discard the - # output from one call, and hope the other produces something useful. - { $_G_cmd --version /dev/null - _G_status=$? - - test 0 -ne "$_G_status" && test -n "$_G_fatal_error_msg" \ - && func_fatal_error "$_G_fatal_error_msg" - - (exit $_G_status) -} - - -# func_tool_version_number CMD [FATAL-ERROR-MSG] -# ---------------------------------------------- -# Pass arguments to func_tool_version_output, but set -# $func_tool_version_number_result to the last dot delimited digit string -# on the first line of output. -func_tool_version_number () -{ - $debug_cmd - - _G_verout=`func_tool_version_output "$@"` - _G_status=$? - - # A version number starts with a digit following a space on the first - # line of output from `--version`. - _G_verout=`echo "$_G_verout" |sed 1q` - if test -n "$_G_verout"; then - _G_vernum=`expr "$_G_verout" : '.* \([0-9][^ ]*\)'` - fi - - if test -n "$_G_vernum"; then - printf '%s\n' "$_G_vernum" - else - printf '%s\n' "$_G_verout" - fi - - (exit $_G_status) -} - - -# func_find_tool ENVVAR NAMES... -# ------------------------------ -# Search for a required program. Use the value of ENVVAR, if set, -# otherwise find the first of the NAMES that can be run (i.e., -# supports --version). If found, set ENVVAR to the program name, -# die otherwise. -func_find_tool () -{ - $debug_cmd - - _G_find_tool_envvar=$1 - shift - _G_find_tool_names=$@ - eval "_G_find_tool_res=\$$_G_find_tool_envvar" - if test -n "$_G_find_tool_res"; then - _G_find_tool_error_prefix="\$$find_tool_envvar: " - else - _G_find_tool_res= - _G_bestver= - for _G_prog - do - _G_find_tool_save_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for _G_dir in $PATH; do - IFS=$_G_find_tool_save_IFS - _G_progpath=$_G_dir/$_G_prog - test -r "$_G_progpath" && { - _G_curver=`func_tool_version_number $_G_progpath` - case $_G_bestver,$_G_curver in - ,) - # first non--version responsive prog sticks! - test -n "$_G_progpath" || _G_find_tool_res=$_G_progpath - ;; - ,*) - # first --version responsive prog beats non--version responsive! - _G_find_tool_res=$_G_progpath - _G_bestver=$_G_curver - ;; - *,*) - # another --version responsive prog must be newer to beat previous one! - test "x$_G_curver" = "x$_G_bestver" \ - || func_lt_ver "$_G_curver" "$_G_bestver" \ - || { - _G_find_tool_res=$_G_progpath - _G_bestver=$_G_curver - } - ;; - esac - } - done - IFS=$_G_find_tool_save_IFS - done - fi - if test -n "$_G_find_tool_res"; then - func_tool_version_number >/dev/null $_G_find_tool_res "\ -${_G_find_tool_error_prefix}Cannot run '$_G_find_tool_res --version'" - - # Make sure the result is exported to the environment for children - # to use. - eval "$_G_find_tool_envvar=\$_G_find_tool_res" - eval "export $_G_find_tool_envvar" - else - func_error "\ -One of these is required: - $_G_find_tool_names" - fi -} - - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Where a variable already has a non- -# empty value (as set by the package's 'bootstrap.conf'), that value is -# used in preference to deriving the default. Call them using their -# associated 'require_*' variable to ensure that they are executed, at -# most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_configure_ac -# -------------------- -# Ensure that there is a 'configure.ac' or 'configure.in' file in the -# current directory that contains an uncommented call to AC_INIT, and -# that '$configure_ac' contains its name. -require_configure_ac=func_require_configure_ac -func_require_configure_ac () -{ - $debug_cmd - - test -z "$configure_ac" \ - && func_autoconf_configure configure.ac && configure_ac=configure.ac - test -z "$configure_ac" \ - && func_autoconf_configure configure.in && configure_ac=configure.in - test -z "$configure_ac" \ - || func_verbose "found '$configure_ac'" - - require_configure_ac=: -} - - -# require_gnu_m4 -# -------------- -# Search for GNU M4, and export it in $M4. -require_gnu_m4=func_require_gnu_m4 -func_require_gnu_m4 () -{ - $debug_cmd - - test -n "$M4" || { - # Find the first m4 binary that responds to --version. - func_find_tool M4 gm4 gnum4 m4 - } - - test -n "$M4" || func_fatal_error "\ -Please install GNU M4, or 'export M4=/path/to/gnu/m4'." - - func_verbose "export M4='$M4'" - - # Make sure the search result is visible to subshells - export M4 - - require_gnu_m4=: -} - - -## --------------- ## -## Core functions. ## -## --------------- ## - -# This section contains the high level functions used when calling this -# file as a script. 'func_extract_trace' is probably the only one that you -# won't want to replace if you source this file into your own script. - - -# func_extract_trace MACRO_NAMES [FILENAME]... -# -------------------------------------------- -# set '$func_extract_trace_result' to a colon delimited list of arguments -# to any of the comma separated list of MACRO_NAMES in FILENAME. If no -# FILENAME is given, then '$configure_ac' is assumed. -func_extract_trace () -{ - $debug_cmd - - $require_configure_ac - $require_gnu_m4 - - _G_m4_traces=`$ECHO "--trace=$1" |$SED 's%,% --trace=%g'` - _G_re_macros=`$ECHO "($1)" |$SED 's%,%|%g'` - _G_macros="$1"; shift - test $# -gt 0 || { - set dummy $configure_ac - shift - } - - # Generate an error if the first file is missing - <"$1" - - # Sadly, we can't use 'autom4te' tracing to extract macro arguments, - # because it complains about things we want to ignore at bootstrap - # time - like missing m4_include files; AC_PREREQ being newer than - # the installed autoconf; and returns nothing when tracing - # 'AM_INIT_AUTOMAKE' when aclocal hasn't been generated yet. - # - # The following tries to emulate a less persnickety version of (and - # due to not having to wait for Perl startup on every invocation, - # it's probably faster too): - # - # autom4te --language=Autoconf --trace=$my_macro:\$% "$@" - # - # First we give a minimal set of macro declarations to M4 to prime - # it for reading Autoconf macros, while still providing some of the - # functionality generally used at m4-time to supply dynamic - # arguments to Autocof functions, but without following - # 'm4_s?include' files. - _G_mini=' - dnl Initialisation. - m4_changequote([,]) - m4_define([m4_copy], [m4_define([$2], m4_defn([$1]))]) - m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])]) - - dnl Replace macros which may abort m4 with a no-op variant. - m4_pushdef([m4_assert]) - m4_pushdef([m4_exit]) - m4_pushdef([m4_fatal]) - m4_pushdef([m4_m4exit]) - - dnl Replace macros that might break stderr of m4. - m4_pushdef([m4_errprint]) - m4_pushdef([m4_errprintn]) - m4_pushdef([m4_include]) - m4_pushdef([m4_warn]) - - dnl Avoid side-effects of tracing by extract-trace. - m4_pushdef([m4_maketemp]) - m4_pushdef([m4_mkstemp]) - - dnl TODO: reasons for this - m4_pushdef([m4_dnl]) - m4_pushdef([m4_m4wrap]) - - dnl Copy and rename macros not handled by "m4 --prefix". - m4_define([dnl], [m4_builtin([dnl])]) - m4_copy([m4_define], [m4_defun]) - m4_rename([m4_ifelse], [m4_if]) - m4_rename([m4_patsubst], [m4_bpatsubst]) - m4_rename([m4_regexp], [m4_bregexp]) - - dnl "m4sugar.mini" - useful m4-time macros for dynamic arguments. - dnl If we discover packages that need more m4 macros defined in - dnl order to bootstrap correctly, add them here: - m4_define([m4_bmatch], - [m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2], - [m4_if(m4_bregexp([$1], [$2]), -1, - [$0([$1], m4_shift3($@))], [$3])])]) - m4_define([m4_ifndef], [m4_ifdef([$1], [$3], [$2])]) - m4_define([m4_ifset], - [m4_ifdef([$1], [m4_ifval(m4_defn([$1]), [$2], [$3])], [$3])]) - m4_define([m4_require], [$1]) - m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))]) - - dnl "autoconf.mini" - things from autoconf macros we care about. - m4_copy([m4_defun], [AC_DEFUN]) - - dnl Dummy definitions for the macros we want to trace. - dnl AM_INIT_AUTOMAKE at least produces no trace without this. - ' - - _G_save=$IFS - IFS=, - for _G_macro in $_G_macros; do - IFS=$_G_save - func_append _G_mini "AC_DEFUN([$_G_macro])$nl" - done - IFS=$_G_save - - # We discard M4's stdout, but the M4 trace output from reading our - # "autoconf.mini" followed by any other files passed to this - # function is then scanned by sed to transform it into a colon - # delimited argument list assigned to a shell variable. - _G_transform='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;' - - # Unfortunately, alternation in regexp addresses doesn't work in at - # least BSD (and hence Mac OS X) sed, so we have to append a capture - # and print block for each traced macro to the sed transform script. - _G_save=$IFS - IFS=, - for _G_macro in $_G_macros; do - IFS=$_G_save - func_append _G_transform ' - /^m4trace: -1- '"$_G_macro"'/ { - s|^m4trace: -1- '"$_G_macro"'[([]*|| - s|], [[]|:|g - s|[])]*$|:| - s|\(.\):$|\1| - p - }' - done - IFS=$_G_save - - # Save the command pipeline results for further use by callers of - # this function. - func_extract_trace_result=`$ECHO "$_G_mini" \ - |$M4 -daq --prefix $_G_m4_traces - "$@" 2>&1 1>/dev/null \ - |$SED -n -e "$_G_transform"` -} - - -# func_extract_trace_first MACRO_NAMES [FILENAME]... -# -------------------------------------------------- -# Exactly like func_extract_trace, except that only the first argument -# to the first invocation of one of the comma separated MACRO_NAMES is -# returned in '$func_extract_trace_first_result'. -func_extract_trace_first () -{ - $debug_cmd - - func_extract_trace ${1+"$@"} - func_extract_trace_first_result=`$ECHO "$func_extract_trace_result" \ - |$SED -e 's|:.*$||g' -e 1q` -} - - -# func_main [ARG]... -# ------------------ -func_main () -{ - $debug_cmd - - # Configuration. - usage='$progname MACRO_NAME FILE [...]' - - long_help_message=' -The first argument to this program is the name of an autotools macro -whose arguments you want to extract by examining the files listed in the -remaining arguments using the same tool that Autoconf and Automake use, -GNU M4. - -The arguments are returned separated by colons, with each traced call -on a separate line.' - - # Option processing. - func_options "$@" - eval set dummy "$func_options_result"; shift - - # Validate remaining non-option arguments. - test $# -gt 1 \ - || func_fatal_help "not enough arguments" - - # Pass non-option arguments to extraction function. - func_extract_trace "$@" - - # Display results. - test -n "$func_extract_trace_result" \ - && $ECHO "$func_extract_trace_result" - - # The End. - exit $EXIT_SUCCESS -} - - -## --------------------------- ## -## Actually perform the trace. ## -## --------------------------- ## - -# Only call 'func_main' if this script was called directly. -test extract-trace = "$progname" && func_main "$@" - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "50/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/funclib.sh b/BUILD/libtool-2.4.7/build-aux/funclib.sh deleted file mode 100644 index af3ff57..0000000 --- a/BUILD/libtool-2.4.7/build-aux/funclib.sh +++ /dev/null @@ -1,1465 +0,0 @@ -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2004-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done -# These NLS vars are set unconditionally (bootstrap issue #24). Unset those -# in case the environment reset is needed later and the $save_* variant is not -# defined (see the code above). -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# func_unset VAR -# -------------- -# Portably unset VAR. -# In some shells, an 'unset VAR' statement leaves a non-zero return -# status if VAR is already unset, which might be problematic if the -# statement is used at the end of a function (thus poisoning its return -# value) or when 'set -e' is active (causing even a spurious abort of -# the script in this case). -func_unset () -{ - { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } -} - - -# Make sure CDPATH doesn't cause `cd` commands to output the target dir. -func_unset CDPATH - -# Make sure ${,E,F}GREP behave sanely. -func_unset GREP_OPTIONS - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - -# require_check_ifs_backslash -# --------------------------- -# Check if we can use backslash as IFS='\' separator, and set -# $check_ifs_backshlash_broken to ':' or 'false'. -require_check_ifs_backslash=func_require_check_ifs_backslash -func_require_check_ifs_backslash () -{ - _G_save_IFS=$IFS - IFS='\' - _G_check_ifs_backshlash='a\\b' - for _G_i in $_G_check_ifs_backshlash - do - case $_G_i in - a) - check_ifs_backshlash_broken=false - ;; - '') - break - ;; - *) - check_ifs_backshlash_broken=: - break - ;; - esac - done - IFS=$_G_save_IFS - require_check_ifs_backslash=: -} - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_arg pretty "$2" - eval "$1+=\\ \$func_quote_arg_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_arg pretty "$2" - eval "$1=\$$1\\ \$func_quote_arg_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_portable EVAL ARG -# ---------------------------- -# Internal function to portably implement func_quote_arg. Note that we still -# keep attention to performance here so we as much as possible try to avoid -# calling sed binary (so far O(N) complexity as long as func_append is O(1)). -func_quote_portable () -{ - $debug_cmd - - $require_check_ifs_backslash - - func_quote_portable_result=$2 - - # one-time-loop (easy break) - while true - do - if $1; then - func_quote_portable_result=`$ECHO "$2" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` - break - fi - - # Quote for eval. - case $func_quote_portable_result in - *[\\\`\"\$]*) - # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string - # contains the shell wildcard characters. - case $check_ifs_backshlash_broken$func_quote_portable_result in - :*|*[\[\*\?]*) - func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ - | $SED "$sed_quote_subst"` - break - ;; - esac - - func_quote_portable_old_IFS=$IFS - for _G_char in '\' '`' '"' '$' - do - # STATE($1) PREV($2) SEPARATOR($3) - set start "" "" - func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy - IFS=$_G_char - for _G_part in $func_quote_portable_result - do - case $1 in - quote) - func_append func_quote_portable_result "$3$2" - set quote "$_G_part" "\\$_G_char" - ;; - start) - set first "" "" - func_quote_portable_result= - ;; - first) - set quote "$_G_part" "" - ;; - esac - done - done - IFS=$func_quote_portable_old_IFS - ;; - *) ;; - esac - break - done - - func_quote_portable_unquoted_result=$func_quote_portable_result - case $func_quote_portable_result in - # double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # many bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_portable_result=\"$func_quote_portable_result\" - ;; - esac -} - - -# func_quotefast_eval ARG -# ----------------------- -# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', -# but optimized for speed. Result is stored in $func_quotefast_eval. -if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then - printf -v _GL_test_printf_tilde %q '~' - if test '\~' = "$_GL_test_printf_tilde"; then - func_quotefast_eval () - { - printf -v func_quotefast_eval_result %q "$1" - } - else - # Broken older Bash implementations. Make those faster too if possible. - func_quotefast_eval () - { - case $1 in - '~'*) - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - ;; - *) - printf -v func_quotefast_eval_result %q "$1" - ;; - esac - } - fi -else - func_quotefast_eval () - { - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - } -fi - - -# func_quote_arg MODEs ARG -# ------------------------ -# Quote one ARG to be evaled later. MODEs argument may contain zero or more -# specifiers listed below separated by ',' character. This function returns two -# values: -# i) func_quote_arg_result -# double-quoted (when needed), suitable for a subsequent eval -# ii) func_quote_arg_unquoted_result -# has all characters that are still active within double -# quotes backslashified. Available only if 'unquoted' is specified. -# -# Available modes: -# ---------------- -# 'eval' (default) -# - escape shell special characters -# 'expand' -# - the same as 'eval'; but do not quote variable references -# 'pretty' -# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might -# be used later in func_quote to get output like: 'echo "a b"' instead -# of 'echo a\ b'. This is slower than default on some shells. -# 'unquoted' -# - produce also $func_quote_arg_unquoted_result which does not contain -# wrapping double-quotes. -# -# Examples for 'func_quote_arg pretty,unquoted string': -# -# string | *_result | *_unquoted_result -# ------------+-----------------------+------------------- -# " | \" | \" -# a b | "a b" | a b -# "a b" | "\"a b\"" | \"a b\" -# * | "*" | * -# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" -# -# Examples for 'func_quote_arg pretty,unquoted,expand string': -# -# string | *_result | *_unquoted_result -# --------------+---------------------+-------------------- -# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" -func_quote_arg () -{ - _G_quote_expand=false - case ,$1, in - *,expand,*) - _G_quote_expand=: - ;; - esac - - case ,$1, in - *,pretty,*|*,expand,*|*,unquoted,*) - func_quote_portable $_G_quote_expand "$2" - func_quote_arg_result=$func_quote_portable_result - func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result - ;; - *) - # Faster quote-for-eval for some shells. - func_quotefast_eval "$2" - func_quote_arg_result=$func_quotefast_eval_result - ;; - esac -} - - -# func_quote MODEs ARGs... -# ------------------------ -# Quote all ARGs to be evaled later and join them into single command. See -# func_quote_arg's description for more info. -func_quote () -{ - $debug_cmd - _G_func_quote_mode=$1 ; shift - func_quote_result= - while test 0 -lt $#; do - func_quote_arg "$_G_func_quote_mode" "$1" - if test -n "$func_quote_result"; then - func_append func_quote_result " $func_quote_arg_result" - else - func_append func_quote_result "$func_quote_arg_result" - fi - shift - done -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_arg pretty,expand "$_G_cmd" - eval "func_notquiet $func_quote_arg_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_arg expand,pretty "$_G_cmd" - eval "func_echo $func_quote_arg_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/gendocs.sh b/BUILD/libtool-2.4.7/build-aux/gendocs.sh deleted file mode 100755 index 8dbac30..0000000 --- a/BUILD/libtool-2.4.7/build-aux/gendocs.sh +++ /dev/null @@ -1,510 +0,0 @@ -#!/bin/sh -e -# gendocs.sh -- generate a GNU manual in many formats. This script is -# mentioned in maintain.texi. See the help message below for usage details. - -scriptversion=2022-01-01.00 - -# Copyright 2003-2022 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Original author: Mohit Agarwal. -# Send bug reports and any other correspondence to bug-gnulib@gnu.org. -# -# The latest version of this script, and the companion template, is -# available from the Gnulib repository: -# -# https://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/gendocs.sh -# https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/gendocs_template - -# TODO: -# - image importing was only implemented for HTML generated by -# makeinfo. But it should be simple enough to adjust. -# - images are not imported in the source tarball. All the needed -# formats (PDF, PNG, etc.) should be included. - -prog=`basename "$0"` -srcdir=`pwd` - -scripturl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/gendocs.sh" -templateurl="https://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/gendocs_template" - -: ${SETLANG="env LANG= LC_MESSAGES= LC_ALL= LANGUAGE="} -: ${MAKEINFO="makeinfo"} -: ${TEXI2DVI="texi2dvi"} -: ${DOCBOOK2HTML="docbook2html"} -: ${DOCBOOK2PDF="docbook2pdf"} -: ${DOCBOOK2TXT="docbook2txt"} -: ${GENDOCS_TEMPLATE_DIR="."} -: ${PERL='perl'} -: ${TEXI2HTML="texi2html"} -unset CDPATH -unset use_texi2html - -MANUAL_TITLE= -PACKAGE= -EMAIL=webmasters@gnu.org # please override with --email -commonarg= # passed to all makeinfo/texi2html invcations. -dirargs= # passed to all tools (-I dir). -dirs= # -I directories. -htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual" -default_htmlarg=true -infoarg=--no-split -generate_ascii=true -generate_html=true -generate_info=true -generate_tex=true -outdir=manual -source_extra= -split=node -srcfile= -texarg="-t @finalout" - -version="gendocs.sh $scriptversion - -Copyright 2022 Free Software Foundation, Inc. -There is NO warranty. You may redistribute this software -under the terms of the GNU General Public License. -For more information about these matters, see the files named COPYING." - -usage="Usage: $prog [OPTION]... PACKAGE MANUAL-TITLE - -Generate output in various formats from PACKAGE.texinfo (or .texi or -.txi) source. See the GNU Maintainers document for a more extensive -discussion: - https://www.gnu.org/prep/maintain_toc.html - -Options: - --email ADR use ADR as contact in generated web pages; always give this. - - -s SRCFILE read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi} - -o OUTDIR write files into OUTDIR, instead of manual/. - -I DIR append DIR to the Texinfo search path. - --common ARG pass ARG in all invocations. - --html ARG pass ARG to makeinfo or texi2html for HTML targets, - instead of '$htmlarg'. - --info ARG pass ARG to makeinfo for Info, instead of --no-split. - --no-ascii skip generating the plain text output. - --no-html skip generating the html output. - --no-info skip generating the info output. - --no-tex skip generating the dvi and pdf output. - --source ARG include ARG in tar archive of sources. - --split HOW make split HTML by node, section, chapter; default node. - --tex ARG pass ARG to texi2dvi for DVI and PDF, instead of -t @finalout. - - --texi2html use texi2html to make HTML target, with all split versions. - --docbook convert through DocBook too (xml, txt, html, pdf). - - --help display this help and exit successfully. - --version display version information and exit successfully. - -Simple example: $prog --email bug-gnu-emacs@gnu.org emacs \"GNU Emacs Manual\" - -Typical sequence: - cd PACKAGESOURCE/doc - wget \"$scripturl\" - wget \"$templateurl\" - $prog --email BUGLIST MANUAL \"GNU MANUAL - One-line description\" - -Output will be in a new subdirectory \"manual\" (by default; -use -o OUTDIR to override). Move all the new files into your web CVS -tree, as explained in the Web Pages node of maintain.texi. - -Please use the --email ADDRESS option so your own bug-reporting -address will be used in the generated HTML pages. - -MANUAL-TITLE is included as part of the HTML of the overall -manual/index.html file. It should include the name of the package being -documented. manual/index.html is created by substitution from the file -$GENDOCS_TEMPLATE_DIR/gendocs_template. (Feel free to modify the -generic template for your own purposes.) - -If you have several manuals, you'll need to run this script several -times with different MANUAL values, specifying a different output -directory with -o each time. Then write (by hand) an overall index.html -with links to them all. - -If a manual's Texinfo sources are spread across several directories, -first copy or symlink all Texinfo sources into a single directory. -(Part of the script's work is to make a tar.gz of the sources.) - -As implied above, by default monolithic Info files are generated. -If you want split Info, or other Info options, use --info to override. - -You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, -and PERL to control the programs that get executed, and -GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is -looked for. With --docbook, the environment variables DOCBOOK2HTML, -DOCBOOK2PDF, and DOCBOOK2TXT are also consulted. - -By default, makeinfo and texi2dvi are run in the default (English) -locale, since that's the language of most Texinfo manuals. If you -happen to have a non-English manual and non-English web site, see the -SETLANG setting in the source. - -Email bug reports or enhancement requests to bug-gnulib@gnu.org. -" - -while test $# -gt 0; do - case $1 in - -s) shift; srcfile=$1;; - -o) shift; outdir=$1;; - -I) shift; dirargs="$dirargs -I '$1'"; dirs="$dirs $1";; - --common) shift; commonarg=$1;; - --docbook) docbook=yes;; - --email) shift; EMAIL=$1;; - --html) shift; default_htmlarg=false; htmlarg=$1;; - --info) shift; infoarg=$1;; - --no-ascii) generate_ascii=false;; - --no-html) generate_ascii=false;; - --no-info) generate_info=false;; - --no-tex) generate_tex=false;; - --source) shift; source_extra=$1;; - --split) shift; split=$1;; - --tex) shift; texarg=$1;; - --texi2html) use_texi2html=1;; - - --help) echo "$usage"; exit 0;; - --version) echo "$version"; exit 0;; - -*) - echo "$0: Unknown option \`$1'." >&2 - echo "$0: Try \`--help' for more information." >&2 - exit 1;; - *) - if test -z "$PACKAGE"; then - PACKAGE=$1 - elif test -z "$MANUAL_TITLE"; then - MANUAL_TITLE=$1 - else - echo "$0: extra non-option argument \`$1'." >&2 - exit 1 - fi;; - esac - shift -done - -# makeinfo uses the dirargs, but texi2dvi doesn't. -commonarg=" $dirargs $commonarg" - -# For most of the following, the base name is just $PACKAGE -base=$PACKAGE - -if $default_htmlarg && test -n "$use_texi2html"; then - # The legacy texi2html doesn't support TOP_NODE_UP_URL - htmlarg="--css-ref=https://www.gnu.org/software/gnulib/manual.css" -fi - -if test -n "$srcfile"; then - # but here, we use the basename of $srcfile - base=`basename "$srcfile"` - case $base in - *.txi|*.texi|*.texinfo) base=`echo "$base"|sed 's/\.[texinfo]*$//'`;; - esac - PACKAGE=$base -elif test -s "$srcdir/$PACKAGE.texinfo"; then - srcfile=$srcdir/$PACKAGE.texinfo -elif test -s "$srcdir/$PACKAGE.texi"; then - srcfile=$srcdir/$PACKAGE.texi -elif test -s "$srcdir/$PACKAGE.txi"; then - srcfile=$srcdir/$PACKAGE.txi -else - echo "$0: cannot find .texinfo or .texi or .txi for $PACKAGE in $srcdir." >&2 - exit 1 -fi - -if test ! -r $GENDOCS_TEMPLATE_DIR/gendocs_template; then - echo "$0: cannot read $GENDOCS_TEMPLATE_DIR/gendocs_template." >&2 - echo "$0: it is available from $templateurl." >&2 - exit 1 -fi - -# Function to return size of $1 in something resembling kilobytes. -calcsize() -{ - size=`ls -ksl $1 | awk '{print $1}'` - echo $size -} - -# copy_images OUTDIR HTML-FILE... -# ------------------------------- -# Copy all the images needed by the HTML-FILEs into OUTDIR. -# Look for them in . and the -I directories; this is simpler than what -# makeinfo supports with -I, but hopefully it will suffice. -copy_images() -{ - local odir - odir=$1 - shift - $PERL -n -e " -BEGIN { - \$me = '$prog'; - \$odir = '$odir'; - @dirs = qw(. $dirs); -} -" -e ' -/<img src="(.*?)"/g && ++$need{$1}; - -END { - #print "$me: @{[keys %need]}\n"; # for debugging, show images found. - FILE: for my $f (keys %need) { - for my $d (@dirs) { - if (-f "$d/$f") { - use File::Basename; - my $dest = dirname ("$odir/$f"); - # - use File::Path; - -d $dest || mkpath ($dest) - || die "$me: cannot mkdir $dest: $!\n"; - # - use File::Copy; - copy ("$d/$f", $dest) - || die "$me: cannot copy $d/$f to $dest: $!\n"; - next FILE; - } - } - die "$me: $ARGV: cannot find image $f\n"; - } -} -' -- "$@" || exit 1 -} - -case $outdir in - /*) abs_outdir=$outdir;; - *) abs_outdir=$srcdir/$outdir;; -esac - -echo "Making output for $srcfile" -echo " in `pwd`" -mkdir -p "$outdir/" - -# -if $generate_info; then - cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\"" - echo "Generating info... ($cmd)" - rm -f $PACKAGE.info* # get rid of any strays - eval "$cmd" - tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info* - ls -l "$outdir/$PACKAGE.info.tar.gz" - info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"` - # do not mv the info files, there's no point in having them available - # separately on the web. -fi # end info - -# -if $generate_tex; then - cmd="$SETLANG $TEXI2DVI $dirargs $texarg \"$srcfile\"" - printf "\nGenerating dvi... ($cmd)\n" - eval "$cmd" - # compress/finish dvi: - gzip -f -9 $PACKAGE.dvi - dvi_gz_size=`calcsize $PACKAGE.dvi.gz` - mv $PACKAGE.dvi.gz "$outdir/" - ls -l "$outdir/$PACKAGE.dvi.gz" - - cmd="$SETLANG $TEXI2DVI --pdf $dirargs $texarg \"$srcfile\"" - printf "\nGenerating pdf... ($cmd)\n" - eval "$cmd" - pdf_size=`calcsize $PACKAGE.pdf` - mv $PACKAGE.pdf "$outdir/" - ls -l "$outdir/$PACKAGE.pdf" -fi # end tex (dvi + pdf) - -# -if $generate_ascii; then - opt="-o $PACKAGE.txt --no-split --no-headers $commonarg" - cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" - printf "\nGenerating ascii... ($cmd)\n" - eval "$cmd" - ascii_size=`calcsize $PACKAGE.txt` - gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz" - ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"` - mv $PACKAGE.txt "$outdir/" - ls -l "$outdir/$PACKAGE.txt" "$outdir/$PACKAGE.txt.gz" -fi - -# - -if $generate_html; then -# Split HTML at level $1. Used for texi2html. -html_split() -{ - opt="--split=$1 --node-files $commonarg $htmlarg" - cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $opt \"$srcfile\"" - printf "\nGenerating html by $1... ($cmd)\n" - eval "$cmd" - split_html_dir=$PACKAGE.html - ( - cd ${split_html_dir} || exit 1 - ln -sf ${PACKAGE}.html index.html - tar -czf "$abs_outdir/${PACKAGE}.html_$1.tar.gz" -- *.html - ) - eval html_$1_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$1.tar.gz"` - rm -f "$outdir"/html_$1/*.html - mkdir -p "$outdir/html_$1/" - mv ${split_html_dir}/*.html "$outdir/html_$1/" - rmdir ${split_html_dir} -} - -if test -z "$use_texi2html"; then - opt="--no-split --html -o $PACKAGE.html $commonarg $htmlarg" - cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" - printf "\nGenerating monolithic html... ($cmd)\n" - rm -rf $PACKAGE.html # in case a directory is left over - eval "$cmd" - html_mono_size=`calcsize $PACKAGE.html` - gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz" - html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` - copy_images "$outdir/" $PACKAGE.html - mv $PACKAGE.html "$outdir/" - ls -l "$outdir/$PACKAGE.html" "$outdir/$PACKAGE.html.gz" - - # Before Texinfo 5.0, makeinfo did not accept a --split=HOW option, - # it just always split by node. So if we're splitting by node anyway, - # leave it out. - if test "x$split" = xnode; then - split_arg= - else - split_arg=--split=$split - fi - # - opt="--html -o $PACKAGE.html $split_arg $commonarg $htmlarg" - cmd="$SETLANG $MAKEINFO $opt \"$srcfile\"" - printf "\nGenerating html by $split... ($cmd)\n" - eval "$cmd" - split_html_dir=$PACKAGE.html - copy_images $split_html_dir/ $split_html_dir/*.html - ( - cd $split_html_dir || exit 1 - tar -czf "$abs_outdir/$PACKAGE.html_$split.tar.gz" -- * - ) - eval \ - html_${split}_tgz_size=`calcsize "$outdir/$PACKAGE.html_$split.tar.gz"` - rm -rf "$outdir/html_$split/" - mv $split_html_dir "$outdir/html_$split/" - du -s "$outdir/html_$split/" - ls -l "$outdir/$PACKAGE.html_$split.tar.gz" - -else # use texi2html: - opt="--output $PACKAGE.html $commonarg $htmlarg" - cmd="$SETLANG $TEXI2HTML $opt \"$srcfile\"" - printf "\nGenerating monolithic html with texi2html... ($cmd)\n" - rm -rf $PACKAGE.html # in case a directory is left over - eval "$cmd" - html_mono_size=`calcsize $PACKAGE.html` - gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz" - html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"` - mv $PACKAGE.html "$outdir/" - - html_split node - html_split chapter - html_split section -fi -fi # end html - -# -printf "\nMaking .tar.gz for sources...\n" -d=`dirname $srcfile` -( - cd "$d" - srcfiles=`ls -d *.texinfo *.texi *.txi *.eps $source_extra 2>/dev/null` || true - tar czfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles - ls -l "$abs_outdir/$PACKAGE.texi.tar.gz" -) -texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"` - -# -# Do everything again through docbook. -if test -n "$docbook"; then - opt="-o - --docbook $commonarg" - cmd="$SETLANG $MAKEINFO $opt \"$srcfile\" >${srcdir}/$PACKAGE-db.xml" - printf "\nGenerating docbook XML... ($cmd)\n" - eval "$cmd" - docbook_xml_size=`calcsize $PACKAGE-db.xml` - gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz" - docbook_xml_gz_size=`calcsize "$outdir/$PACKAGE-db.xml.gz"` - mv $PACKAGE-db.xml "$outdir/" - - split_html_db_dir=html_node_db - opt="$commonarg -o $split_html_db_dir" - cmd="$DOCBOOK2HTML $opt \"${outdir}/$PACKAGE-db.xml\"" - printf "\nGenerating docbook HTML... ($cmd)\n" - eval "$cmd" - ( - cd ${split_html_db_dir} || exit 1 - tar -czf "$abs_outdir/${PACKAGE}.html_node_db.tar.gz" -- *.html - ) - html_node_db_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node_db.tar.gz"` - rm -f "$outdir"/html_node_db/*.html - mkdir -p "$outdir/html_node_db" - mv ${split_html_db_dir}/*.html "$outdir/html_node_db/" - rmdir ${split_html_db_dir} - - cmd="$DOCBOOK2TXT \"${outdir}/$PACKAGE-db.xml\"" - printf "\nGenerating docbook ASCII... ($cmd)\n" - eval "$cmd" - docbook_ascii_size=`calcsize $PACKAGE-db.txt` - mv $PACKAGE-db.txt "$outdir/" - - cmd="$DOCBOOK2PDF \"${outdir}/$PACKAGE-db.xml\"" - printf "\nGenerating docbook PDF... ($cmd)\n" - eval "$cmd" - docbook_pdf_size=`calcsize $PACKAGE-db.pdf` - mv $PACKAGE-db.pdf "$outdir/" -fi - -# -printf "\nMaking index.html for $PACKAGE...\n" -if test -z "$use_texi2html"; then - CONDS="/%%IF *HTML_SECTION%%/,/%%ENDIF *HTML_SECTION%%/d;\ - /%%IF *HTML_CHAPTER%%/,/%%ENDIF *HTML_CHAPTER%%/d" -else - # should take account of --split here. - CONDS="/%%ENDIF.*%%/d;/%%IF *HTML_SECTION%%/d;/%%IF *HTML_CHAPTER%%/d" -fi - -curdate=`$SETLANG date '+%B %d, %Y'` -sed \ - -e "s!%%TITLE%%!$MANUAL_TITLE!g" \ - -e "s!%%EMAIL%%!$EMAIL!g" \ - -e "s!%%PACKAGE%%!$PACKAGE!g" \ - -e "s!%%DATE%%!$curdate!g" \ - -e "s!%%HTML_MONO_SIZE%%!$html_mono_size!g" \ - -e "s!%%HTML_MONO_GZ_SIZE%%!$html_mono_gz_size!g" \ - -e "s!%%HTML_NODE_TGZ_SIZE%%!$html_node_tgz_size!g" \ - -e "s!%%HTML_SECTION_TGZ_SIZE%%!$html_section_tgz_size!g" \ - -e "s!%%HTML_CHAPTER_TGZ_SIZE%%!$html_chapter_tgz_size!g" \ - -e "s!%%INFO_TGZ_SIZE%%!$info_tgz_size!g" \ - -e "s!%%DVI_GZ_SIZE%%!$dvi_gz_size!g" \ - -e "s!%%PDF_SIZE%%!$pdf_size!g" \ - -e "s!%%ASCII_SIZE%%!$ascii_size!g" \ - -e "s!%%ASCII_GZ_SIZE%%!$ascii_gz_size!g" \ - -e "s!%%TEXI_TGZ_SIZE%%!$texi_tgz_size!g" \ - -e "s!%%DOCBOOK_HTML_NODE_TGZ_SIZE%%!$html_node_db_tgz_size!g" \ - -e "s!%%DOCBOOK_ASCII_SIZE%%!$docbook_ascii_size!g" \ - -e "s!%%DOCBOOK_PDF_SIZE%%!$docbook_pdf_size!g" \ - -e "s!%%DOCBOOK_XML_SIZE%%!$docbook_xml_size!g" \ - -e "s!%%DOCBOOK_XML_GZ_SIZE%%!$docbook_xml_gz_size!g" \ - -e "s,%%SCRIPTURL%%,$scripturl,g" \ - -e "s!%%SCRIPTNAME%%!$prog!g" \ - -e "$CONDS" \ -$GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html" - -echo "Done, see $outdir/ subdirectory for new files." - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/git-version-gen b/BUILD/libtool-2.4.7/build-aux/git-version-gen deleted file mode 100755 index a44f5d5..0000000 --- a/BUILD/libtool-2.4.7/build-aux/git-version-gen +++ /dev/null @@ -1,227 +0,0 @@ -#!/bin/sh -# Print a version string. -scriptversion=2022-01-27.18; # UTC - -# Copyright (C) 2007-2022 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -# This script is derived from GIT-VERSION-GEN from GIT: https://git-scm.com/. -# It may be run two ways: -# - from a git repository in which the "git describe" command below -# produces useful output (thus requiring at least one signed tag) -# - from a non-git-repo directory containing a .tarball-version file, which -# presumes this script is invoked like "./git-version-gen .tarball-version". - -# In order to use intra-version strings in your project, you will need two -# separate generated version string files: -# -# .tarball-version - present only in a distribution tarball, and not in -# a checked-out repository. Created with contents that were learned at -# the last time autoconf was run, and used by git-version-gen. Must not -# be present in either $(srcdir) or $(builddir) for git-version-gen to -# give accurate answers during normal development with a checked out tree, -# but must be present in a tarball when there is no version control system. -# Therefore, it cannot be used in any dependencies. GNUmakefile has -# hooks to force a reconfigure at distribution time to get the value -# correct, without penalizing normal development with extra reconfigures. -# -# .version - present in a checked-out repository and in a distribution -# tarball. Usable in dependencies, particularly for files that don't -# want to depend on config.h but do want to track version changes. -# Delete this file prior to any autoconf run where you want to rebuild -# files to pick up a version string change; and leave it stale to -# minimize rebuild time after unrelated changes to configure sources. -# -# As with any generated file in a VC'd directory, you should add -# /.version to .gitignore, so that you don't accidentally commit it. -# .tarball-version is never generated in a VC'd directory, so needn't -# be listed there. -# -# Use the following line in your configure.ac, so that $(VERSION) will -# automatically be up-to-date each time configure is run (and note that -# since configure.ac no longer includes a version string, Makefile rules -# should not depend on configure.ac for version updates). -# -# AC_INIT([GNU project], -# m4_esyscmd([build-aux/git-version-gen .tarball-version]), -# [bug-project@example]) -# -# Then use the following lines in your Makefile.am, so that .version -# will be present for dependencies, and so that .version and -# .tarball-version will exist in distribution tarballs. -# -# EXTRA_DIST = $(top_srcdir)/.version -# BUILT_SOURCES = $(top_srcdir)/.version -# $(top_srcdir)/.version: -# echo '$(VERSION)' > $@-t -# mv $@-t $@ -# dist-hook: -# echo '$(VERSION)' > $(distdir)/.tarball-version - - -me=$0 - -year=`expr "$scriptversion" : '\([^-]*\)'` -version="git-version-gen $scriptversion - -Copyright (C) ${year} Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law." - -usage="\ -Usage: $me [OPTION]... \$srcdir/.tarball-version [TAG-NORMALIZATION-SED-SCRIPT] -Print a version string. - -Options: - - --prefix PREFIX prefix of git tags (default 'v') - --fallback VERSION - fallback version to use if \"git --version\" fails - - --help display this help and exit - --version output version information and exit - -Running without arguments will suffice in most cases." - -prefix=v -fallback= - -while test $# -gt 0; do - case $1 in - --help) echo "$usage"; exit 0;; - --version) echo "$version"; exit 0;; - --prefix) shift; prefix=${1?};; - --fallback) shift; fallback=${1?};; - -*) - echo "$0: Unknown option '$1'." >&2 - echo "$0: Try '--help' for more information." >&2 - exit 1;; - *) - if test "x$tarball_version_file" = x; then - tarball_version_file="$1" - elif test "x$tag_sed_script" = x; then - tag_sed_script="$1" - else - echo "$0: extra non-option argument '$1'." >&2 - exit 1 - fi;; - esac - shift -done - -if test "x$tarball_version_file" = x; then - echo "$usage" - exit 1 -fi - -tag_sed_script="${tag_sed_script:-s/x/x/}" - -nl=' -' - -# Avoid meddling by environment variable of the same name. -v= -v_from_git= - -# First see if there is a tarball-only version file. -# then try "git describe", then default. -if test -f $tarball_version_file -then - v=`cat $tarball_version_file` || v= - case $v in - *$nl*) v= ;; # reject multi-line output - esac - test "x$v" = x \ - && echo "$0: WARNING: $tarball_version_file is damaged" 1>&2 -fi - -if test "x$v" != x -then - : # use $v -# Otherwise, if there is at least one git commit involving the working -# directory, and "git describe" output looks sensible, use that to -# derive a version string. -elif test "`git log -1 --pretty=format:x . 2>&1`" = x \ - && v=`git describe --abbrev=4 --match="$prefix*" HEAD 2>/dev/null \ - || git describe --abbrev=4 HEAD 2>/dev/null` \ - && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \ - && case $v in - $prefix[0-9]*) ;; - *) (exit 1) ;; - esac -then - # Is this a new git that lists number of commits since the last - # tag or the previous older version that did not? - # Newer: v6.10-77-g0f8faeb - # Older: v6.10-g0f8faeb - vprefix=`expr "X$v" : 'X\(.*\)-g[^-]*$'` || vprefix=$v - case $vprefix in - *-*) : git describe is probably okay three part flavor ;; - *) - : git describe is older two part flavor - # Recreate the number of commits and rewrite such that the - # result is the same as if we were using the newer version - # of git describe. - vtag=`echo "$v" | sed 's/-.*//'` - commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \ - || { commit_list=failed; - echo "$0: WARNING: git rev-list failed" 1>&2; } - numcommits=`echo "$commit_list" | wc -l` - v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; - test "$commit_list" = failed && v=UNKNOWN - ;; - esac - - # Change the penultimate "-" to ".", for version-comparing tools. - # Remove the "g" to save a byte. - v=`echo "$v" | sed 's/-\([^-]*\)-g\([^-]*\)$/.\1-\2/'`; - v_from_git=1 -elif test "x$fallback" = x || git --version >/dev/null 2>&1; then - v=UNKNOWN -else - v=$fallback -fi - -v=`echo "$v" |sed "s/^$prefix//"` - -# Test whether to append the "-dirty" suffix only if the version -# string we're using came from git. I.e., skip the test if it's "UNKNOWN" -# or if it came from .tarball-version. -if test "x$v_from_git" != x; then - # Don't declare a version "dirty" merely because a timestamp has changed. - git update-index --refresh > /dev/null 2>&1 - - dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty= - case "$dirty" in - '') ;; - *) # Append the suffix only if there isn't one already. - case $v in - *-dirty) ;; - *) v="$v-dirty" ;; - esac ;; - esac -fi - -# Omit the trailing newline, so that m4_esyscmd can use the result directly. -printf %s "$v" - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/gnu-web-doc-update b/BUILD/libtool-2.4.7/build-aux/gnu-web-doc-update deleted file mode 100755 index c041364..0000000 --- a/BUILD/libtool-2.4.7/build-aux/gnu-web-doc-update +++ /dev/null @@ -1,213 +0,0 @@ -#!/bin/sh -# Run this after each non-alpha release, to update the web documentation at -# https://www.gnu.org/software/$pkg/manual/ - -VERSION=2022-01-27.18; # UTC - -# Copyright (C) 2009-2022 Free Software Foundation, Inc. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -ME=$(basename "$0") -warn() { printf '%s: %s\n' "$ME" "$*" >&2; } -die() { warn "$*"; exit 1; } - -help() -{ - cat <<EOF -Usage: $ME - -Run this script from top_srcdir (no arguments) after each non-alpha -release, to update the web documentation at -https://www.gnu.org/software/\$pkg/manual/ - -This script assumes you're using git for revision control, and -requires a .prev-version file as well as a Makefile, from which it -extracts the version number and package name, respectively. Also, it -assumes all documentation is in the doc/ sub-directory. - -Options: - -C, --builddir=DIR location of (configured) Makefile (default: .) - -n, --dry-run don't actually commit anything - -m, --mirror remove out of date files from document server - -u, --user the name of the CVS user on Savannah - --help print this help, then exit - --version print version number, then exit - -Report bugs and patches to <bug-gnulib@gnu.org>. -EOF - exit -} - -version() -{ - year=$(echo "$VERSION" | sed 's/[^0-9].*//') - cat <<EOF -$ME $VERSION -Copyright (C) $year Free Software Foundation, Inc, -License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit -} - -# find_tool ENVVAR NAMES... -# ------------------------- -# Search for a required program. Use the value of ENVVAR, if set, -# otherwise find the first of the NAMES that can be run (i.e., -# supports --version). If found, set ENVVAR to the program name, -# die otherwise. -# -# FIXME: code duplication, see also bootstrap. -find_tool () -{ - find_tool_envvar=$1 - shift - find_tool_names=$@ - eval "find_tool_res=\$$find_tool_envvar" - if test x"$find_tool_res" = x; then - for i - do - if ($i --version </dev/null) >/dev/null 2>&1; then - find_tool_res=$i - break - fi - done - else - find_tool_error_prefix="\$$find_tool_envvar: " - fi - test x"$find_tool_res" != x \ - || die "one of these is required: $find_tool_names" - ($find_tool_res --version </dev/null) >/dev/null 2>&1 \ - || die "${find_tool_error_prefix}cannot run $find_tool_res --version" - eval "$find_tool_envvar=\$find_tool_res" - eval "export $find_tool_envvar" -} - -## ------ ## -## Main. ## -## ------ ## - -# Requirements: everything required to bootstrap your package, plus -# these. -find_tool CVS cvs -find_tool GIT git -find_tool RSYNC rsync -find_tool XARGS gxargs xargs - -builddir=. -dryrun= -rm_stale='echo' -cvs_user="$USER" -while test $# != 0 -do - # Handle --option=value by splitting apart and putting back on argv. - case $1 in - --*=*) - opt=$(echo "$1" | sed -e 's/=.*//') - val=$(echo "$1" | sed -e 's/[^=]*=//') - shift - set dummy "$opt" "$val" "$@"; shift - ;; - esac - - case $1 in - --help|--version) ${1#--};; - -C|--builddir) shift; builddir=$1; shift ;; - -n|--dry-run) dryrun=echo; shift;; - -m|--mirror) rm_stale=''; shift;; - -u|--user) shift; cvs_user=$1; shift ;; - --*) die "unrecognized option: $1";; - *) break;; - esac -done - -test $# = 0 \ - || die "too many arguments" - -prev=.prev-version -version=$(cat $prev) || die "no $prev file?" -pkg=$(sed -n 's/^PACKAGE = \(.*\)/\1/p' $builddir/Makefile) \ - || die "no Makefile?" -tmp_branch=web-doc-$version-$$ -current_branch=$($GIT branch | sed -ne '/^\* /{s///;p;q;}') - -cleanup() -{ - __st=$? - $dryrun rm -rf "$tmp" - $GIT checkout "$current_branch" - $GIT submodule update --recursive - $GIT branch -d $tmp_branch - exit $__st -} -trap cleanup 0 -trap 'exit $?' 1 2 13 15 - -# We must build using sources for which --version reports the -# just-released version number, not some string like 7.6.18-20761. -# That version string propagates into all documentation. -set -e -$GIT checkout -b $tmp_branch v$version -$GIT submodule update --recursive -./bootstrap -srcdir=$(pwd) -cd "$builddir" -builddir=$(pwd) - ./config.status --recheck - ./config.status - make - make web-manual -cd "$srcdir" -set +e - -tmp=$(mktemp -d web-doc-update.XXXXXX) || exit 1 -( cd $tmp \ - && $CVS -d $cvs_user@cvs.sv.gnu.org:/webcvs/$pkg co $pkg ) -$RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual - -( - cd $tmp/$pkg/manual - - # Add all the files. This is simpler than trying to add only the - # new ones because of new directories - # First add non empty dirs individually - find . -name CVS -prune -o -type d \! -empty -print \ - | $XARGS -n1 --no-run-if-empty -- $dryrun $CVS add -ko - # Now add all files - find . -name CVS -prune -o -type f -print \ - | $XARGS --no-run-if-empty -- $dryrun $CVS add -ko - - # Report/Remove stale files - # excluding doc server specific files like CVS/* and .symlinks - if test -n "$rm_stale"; then - echo 'Consider the --mirror option if all of the manual is generated,' >&2 - echo 'which will run `cvs remove` to remove stale files.' >&2 - fi - { find . \( -name CVS -o -type f -name '.*' \) -prune -o -type f -print - (cd "$builddir"/doc/manual/ && find . -type f -print | sed p) - } | sort | uniq -u \ - | $XARGS --no-run-if-empty -- ${rm_stale:-$dryrun} $CVS remove -f - - $dryrun $CVS ci -m $version -) - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "VERSION=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/gnupload b/BUILD/libtool-2.4.7/build-aux/gnupload deleted file mode 100755 index b97e566..0000000 --- a/BUILD/libtool-2.4.7/build-aux/gnupload +++ /dev/null @@ -1,480 +0,0 @@ -#!/bin/sh -# Sign files and upload them. - -scriptversion=2022-01-27.18; # UTC - -# Copyright (C) 2004-2022 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -# Originally written by Alexandre Duret-Lutz <adl@gnu.org>. -# The master copy of this file is maintained in the gnulib Git repository. -# Please send bug reports and feature requests to bug-gnulib@gnu.org. - -set -e - -GPG=gpg -# Choose the proper version of gpg, so as to avoid a -# "gpg-agent is not available in this session" error -# when gpg-agent is version 2 but gpg is still version 1. -# FIXME-2020: remove, once all major distros ship gpg version 2 as /usr/bin/gpg -gpg_agent_version=`(gpg-agent --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'` -case "$gpg_agent_version" in - 2.*) - gpg_version=`(gpg --version) 2>/dev/null | sed -e '2,$d' -e 's/^[^0-9]*//'` - case "$gpg_version" in - 1.*) - if (type gpg2) >/dev/null 2>/dev/null; then - # gpg2 is present. - GPG=gpg2 - else - # gpg2 is missing. Ubuntu users should install the package 'gnupg2'. - echo "WARNING: Using 'gpg', which is too old. You should install 'gpg2'." 1>&2 - fi - ;; - esac - ;; -esac - -GPG="${GPG} --batch --no-tty" -conffile=.gnuploadrc -to= -dry_run=false -replace= -symlink_files= -delete_files= -delete_symlinks= -collect_var= -dbg= -nl=' -' - -usage="Usage: $0 [OPTION]... [CMD] FILE... [[CMD] FILE...] - -Sign all FILES, and process them at the destinations specified with --to. -If CMD is not given, it defaults to uploading. See examples below. - -Commands: - --delete delete FILES from destination - --symlink create symbolic links - --rmsymlink remove symbolic links - -- treat the remaining arguments as files to upload - -Options: - --to DEST specify a destination DEST for FILES - (multiple --to options are allowed) - --user NAME sign with key NAME - --replace allow replacements of existing files - --symlink-regex[=EXPR] use sed script EXPR to compute symbolic link names - -n, --dry-run do nothing, show what would have been done - (including the constructed directive file) - --version output version information and exit - -h, --help print this help text and exit - -If --symlink-regex is given without EXPR, then the link target name -is created by replacing the version information with '-latest', e.g.: - foo-1.3.4.tar.gz -> foo-latest.tar.gz - -Recognized destinations are: - alpha.gnu.org:DIRECTORY - savannah.gnu.org:DIRECTORY - savannah.nongnu.org:DIRECTORY - ftp.gnu.org:DIRECTORY - build directive files and upload files by FTP - download.gnu.org.ua:{alpha|ftp}/DIRECTORY - build directive files and upload files by SFTP - [user@]host:DIRECTORY upload files with scp - -Options and commands are applied in order. If the file $conffile exists -in the current working directory, its contents are prepended to the -actual command line options. Use this to keep your defaults. Comments -(#) and empty lines in $conffile are allowed. - -<https://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html> -gives some further background. - -Examples: -1. Upload foobar-1.0.tar.gz to ftp.gnu.org: - gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz - -2. Upload foobar-1.0.tar.gz and foobar-1.0.tar.xz to ftp.gnu.org: - gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz foobar-1.0.tar.xz - -3. Same as above, and also create symbolic links to foobar-latest.tar.*: - gnupload --to ftp.gnu.org:foobar \\ - --symlink-regex \\ - foobar-1.0.tar.gz foobar-1.0.tar.xz - -4. Create a symbolic link foobar-latest.tar.gz -> foobar-1.0.tar.gz - and likewise for the corresponding .sig file: - gnupload --to ftp.gnu.org:foobar \\ - --symlink foobar-1.0.tar.gz foobar-latest.tar.gz \\ - foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig - or (equivalent): - gnupload --to ftp.gnu.org:foobar \\ - --symlink foobar-1.0.tar.gz foobar-latest.tar.gz \\ - --symlink foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig - -5. Upload foobar-0.9.90.tar.gz to two sites: - gnupload --to alpha.gnu.org:foobar \\ - --to sources.redhat.com:~ftp/pub/foobar \\ - foobar-0.9.90.tar.gz - -6. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz - (the -- terminates the list of files to delete): - gnupload --to alpha.gnu.org:foobar \\ - --to sources.redhat.com:~ftp/pub/foobar \\ - --delete oopsbar-0.9.91.tar.gz \\ - -- foobar-0.9.91.tar.gz - -gnupload executes a program ncftpput to do the transfers; if you don't -happen to have an ncftp package installed, the ncftpput-ftp script in -the build-aux/ directory of the gnulib package -(https://savannah.gnu.org/projects/gnulib) may serve as a replacement. - -Send patches and bug reports to <bug-gnulib@gnu.org>." - -copyright_year=`echo "$scriptversion" | sed -e 's/[^0-9].*//'` -copyright="Copyright (C) ${copyright_year} Free Software Foundation, Inc. -License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl.html>. -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law." - -# Read local configuration file -if test -r "$conffile"; then - echo "$0: Reading configuration file $conffile" - conf=`sed 's/#.*$//;/^$/d' "$conffile" | tr "\015$nl" ' '` - eval set x "$conf \"\$@\"" - shift -fi - -while test -n "$1"; do - case $1 in - -*) - collect_var= - case $1 in - -h | --help) - echo "$usage" - exit $? - ;; - --to) - if test -z "$2"; then - echo "$0: Missing argument for --to" 1>&2 - exit 1 - elif echo "$2" | grep 'ftp-upload\.gnu\.org' >/dev/null; then - echo "$0: Use ftp.gnu.org:PKGNAME or alpha.gnu.org:PKGNAME" >&2 - echo "$0: for the destination, not ftp-upload.gnu.org (which" >&2 - echo "$0: is used for direct ftp uploads, not with gnupload)." >&2 - echo "$0: See --help and its examples if need be." >&2 - exit 1 - else - to="$to $2" - shift - fi - ;; - --user) - if test -z "$2"; then - echo "$0: Missing argument for --user" 1>&2 - exit 1 - else - GPG="$GPG --local-user $2" - shift - fi - ;; - --delete) - collect_var=delete_files - ;; - --replace) - replace="replace: true" - ;; - --rmsymlink) - collect_var=delete_symlinks - ;; - --symlink-regex=*) - symlink_expr=`expr "$1" : '[^=]*=\(.*\)'` - ;; - --symlink-regex) - symlink_expr='s|-[0-9][0-9\.]*\(-[0-9][0-9]*\)\{0,1\}\.|-latest.|' - ;; - --symlink) - collect_var=symlink_files - ;; - -n | --dry-run) - dry_run=: - ;; - --version) - echo "gnupload $scriptversion" - echo "$copyright" - exit 0 - ;; - --) - shift - break - ;; - -*) - echo "$0: Unknown option '$1', try '$0 --help'" 1>&2 - exit 1 - ;; - esac - ;; - *) - if test -z "$collect_var"; then - break - else - eval "$collect_var=\"\$$collect_var $1\"" - fi - ;; - esac - shift -done - -dprint() -{ - echo "Running $* ..." -} - -if $dry_run; then - dbg=dprint -fi - -if test -z "$to"; then - echo "$0: Missing destination sites" >&2 - exit 1 -fi - -if test -n "$symlink_files"; then - x=`echo "$symlink_files" | sed 's/[^ ]//g;s/ //g'` - if test -n "$x"; then - echo "$0: Odd number of symlink arguments" >&2 - exit 1 - fi -fi - -if test $# = 0; then - if test -z "${symlink_files}${delete_files}${delete_symlinks}"; then - echo "$0: No file to upload" 1>&2 - exit 1 - fi -else - # Make sure all files exist. We don't want to ask - # for the passphrase if the script will fail. - for file - do - if test ! -f $file; then - echo "$0: Cannot find '$file'" 1>&2 - exit 1 - elif test -n "$symlink_expr"; then - linkname=`echo $file | sed "$symlink_expr"` - if test -z "$linkname"; then - echo "$0: symlink expression produces empty results" >&2 - exit 1 - elif test "$linkname" = $file; then - echo "$0: symlink expression does not alter file name" >&2 - exit 1 - fi - fi - done -fi - -# Make sure passphrase is not exported in the environment. -unset passphrase -unset passphrase_fd_0 -GNUPGHOME=${GNUPGHOME:-$HOME/.gnupg} - -# Reset PATH to be sure that echo is a built-in. We will later use -# 'echo $passphrase' to output the passphrase, so it is important that -# it is a built-in (third-party programs tend to appear in 'ps' -# listings with their arguments...). -# Remember this script runs with 'set -e', so if echo is not built-in -# it will exit now. -if $dry_run || grep -q "^use-agent" $GNUPGHOME/gpg.conf; then :; else - PATH=/empty echo -n "Enter GPG passphrase: " - stty -echo - read -r passphrase - stty echo - echo - passphrase_fd_0="--passphrase-fd 0" -fi - -if test $# -ne 0; then - for file - do - echo "Signing $file ..." - rm -f $file.sig - echo "$passphrase" | $dbg $GPG $passphrase_fd_0 -ba -o $file.sig $file - done -fi - - -# mkdirective DESTDIR BASE FILE STMT -# Arguments: See upload, below -mkdirective () -{ - stmt="$4" - if test -n "$3"; then - stmt=" -filename: $3$stmt" - fi - - cat >${2}.directive<<EOF -version: 1.2 -directory: $1 -comment: gnupload v. $scriptversion$stmt -EOF - if $dry_run; then - echo "File ${2}.directive:" - cat ${2}.directive - echo "File ${2}.directive:" | sed 's/./-/g' - fi -} - -mksymlink () -{ - while test $# -ne 0 - do - echo "symlink: $1 $2" - shift - shift - done -} - -# upload DEST DESTDIR BASE FILE STMT FILES -# Arguments: -# DEST Destination site; -# DESTDIR Destination directory; -# BASE Base name for the directive file; -# FILE Name of the file to distribute (may be empty); -# STMT Additional statements for the directive file; -# FILES List of files to upload. -upload () -{ - dest=$1 - destdir=$2 - base=$3 - file=$4 - stmt=$5 - files=$6 - - rm -f $base.directive $base.directive.asc - case $dest in - alpha.gnu.org:*) - mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive - $dbg ncftpput ftp-upload.gnu.org /incoming/alpha $files $base.directive.asc - ;; - ftp.gnu.org:*) - mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive - $dbg ncftpput ftp-upload.gnu.org /incoming/ftp $files $base.directive.asc - ;; - savannah.gnu.org:*) - if test -z "$files"; then - echo "$0: warning: standalone directives not applicable for $dest" >&2 - fi - $dbg ncftpput savannah.gnu.org /incoming/savannah/$destdir $files - ;; - savannah.nongnu.org:*) - if test -z "$files"; then - echo "$0: warning: standalone directives not applicable for $dest" >&2 - fi - $dbg ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files - ;; - download.gnu.org.ua:alpha/*|download.gnu.org.ua:ftp/*) - destdir_p1=`echo "$destdir" | sed 's,^[^/]*/,,'` - destdir_topdir=`echo "$destdir" | sed 's,/.*,,'` - mkdirective "$destdir_p1" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive - for f in $files $base.directive.asc - do - echo put $f - done | $dbg sftp -b - puszcza.gnu.org.ua:/incoming/$destdir_topdir - ;; - /*) - dest_host=`echo "$dest" | sed 's,:.*,,'` - mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive - $dbg cp $files $base.directive.asc $dest_host - ;; - *) - if test -z "$files"; then - echo "$0: warning: standalone directives not applicable for $dest" >&2 - fi - $dbg scp $files $dest - ;; - esac - rm -f $base.directive $base.directive.asc -} - -##### -# Process any standalone directives -stmt= -if test -n "$symlink_files"; then - stmt="$stmt -`mksymlink $symlink_files`" -fi - -for file in $delete_files -do - stmt="$stmt -archive: $file" -done - -for file in $delete_symlinks -do - stmt="$stmt -rmsymlink: $file" -done - -if test -n "$stmt"; then - for dest in $to - do - destdir=`echo $dest | sed 's/[^:]*://'` - upload "$dest" "$destdir" "`hostname`-$$" "" "$stmt" - done -fi - -# Process actual uploads -for dest in $to -do - for file - do - echo "Uploading $file to $dest ..." - stmt= - # - # allowing file replacement is all or nothing. - if test -n "$replace"; then stmt="$stmt -$replace" - fi - # - files="$file $file.sig" - destdir=`echo $dest | sed 's/[^:]*://'` - if test -n "$symlink_expr"; then - linkname=`echo $file | sed "$symlink_expr"` - stmt="$stmt -symlink: $file $linkname -symlink: $file.sig $linkname.sig" - fi - upload "$dest" "$destdir" "$file" "$file" "$stmt" "$files" - done -done - -exit 0 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/inline-source b/BUILD/libtool-2.4.7/build-aux/inline-source deleted file mode 100755 index 9ce50c6..0000000 --- a/BUILD/libtool-2.4.7/build-aux/inline-source +++ /dev/null @@ -1,159 +0,0 @@ -#! /bin/sh - -# Output the contents of a shell script with sourced files inlined. -# Written by Gary V. Vaughan, 2012 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2012-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# <https://opensource.org/license/MIT>, and GPL version 2 or later -# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# <https://github.com/gnulib-modules/bootstrap/issues> - -# Source required external libraries: -. `echo "$0" |${SED-sed} 's|[^/]*$||'`"funclib.sh" -. `echo "$0" |${SED-sed} 's|[^/]*$||'`"options-parser" - -# Set a version string for *this* script. -scriptversion=2019-02-19.15; # UTC - - -## ------ ## -## Usage. ## -## ------ ## - -# Run 'build-aux/inline-source --help' for help with using this script -# from the command line. - -# Recursively scan through a FILE passed on the command line, replacing -# either of the following: -# . "relative/file" -# . `echo "$0" |edit`"relative/file" -# with the contents of the referenced files. - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -usage='$progpath [OPTION]... FILE' - -# Short help message in response to '-h'. -usage_message='Options: - --debug enable verbose shell tracing - --version print version information and exit - -h, --help print help message and exit -' - -long_help_message="\ -Report bugs to <bug-libtool@gnu.org> -General help using GNU software: <http://www.gnu.org/gethelp/>." - -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# require_AWK -# ----------- -# Search for a "not hopeless" awk. -require_AWK=func_require_AWK -func_require_AWK () -{ - $debug_cmd - - test -n "$AWK" || { - # Find the first executable in the list. - for _G_prog in gawk mawk nawk awk - do - require_AWK_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for _G_dir in $PATH - do - IFS=$require_AWK_IFS - if test -f "$_G_dir/$_G_prog" && test -x "$_G_dir/$_G_prog" - then - AWK=$_G_dir/$_G_prog - break 2 - fi - done - IFS=$require_AWK_IFS - done - } - - test -n "$AWK" || func_fatal_error "\ -Please install GNU Awk, or 'export AWK=/path/to/gnu/awk'." - - func_verbose "found '$AWK'." - - require_AWK=: -} - - -## --------------- ## -## Core functions. ## -## --------------- ## - -# func_include LINE -# ----------------- -# Output the contents of file included by LINE. -func_include () -{ - $require_AWK - - test -f "$1" \ - || func_fatal_error "file '$1' not found" - - _G_scriptdir=`echo "$1" |$SED 's|[^/]*$||'` - test -n "$_G_scriptdir" || _G_scriptdir="./" - - $AWK ' - BEGIN { magic = '${_RECURSE_MAGIC-0}'; } - - /^#!/ && magic == 0 { - print $0; - print "## DO NOT EDIT - This file generated from '$1'"; - print "## by '$progname' v'$scriptversion'"; - magic++; - next; - } - - /^\. ['\''"].*['\''"]$/ { - file = substr ($2, 2, length ($2) -2); - system (sprintf ("env _RECURSE_MAGIC=%d '$progpath' %s", magic, file)); - next; - } - - /^\. `echo [^`]*`['\''"][^'\''"]*['\''"]$/ { - tail = substr ($0, match ($0, /`['\''"]/)); - file = substr (tail, 3, length (tail) -3); - system (sprintf ("env _RECURSE_MAGIC=%d '$progpath' '"$_G_scriptdir"'%s", magic, file)); - next; - } - - { print; } - ' < "$1" -} - -func_include "$1" - -exit 0 - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/install-sh b/BUILD/libtool-2.4.7/build-aux/install-sh deleted file mode 100755 index ec298b5..0000000 --- a/BUILD/libtool-2.4.7/build-aux/install-sh +++ /dev/null @@ -1,541 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2020-11-14.01; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -# Create dirs (including intermediate dirs) using mode 755. -# This is like GNU 'install' as of coreutils 8.32 (2020). -mkdir_umask=22 - -backupsuffix= -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -is_target_a_directory=possibly - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -p pass -p to $cpprog. - -s $stripprog installed files. - -S SUFFIX attempt to back up existing files, with suffix SUFFIX. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG - -By default, rm is invoked with -f; when overridden with RMPROG, -it's up to you to specify -f if you want it. - -If -S is not specified, no backups are attempted. - -Email bug reports to bug-automake@gnu.org. -Automake home page: https://www.gnu.org/software/automake/ -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -p) cpprog="$cpprog -p";; - - -s) stripcmd=$stripprog;; - - -S) backupsuffix="$2" - shift;; - - -t) - is_target_a_directory=always - dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) is_target_a_directory=never;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -# We allow the use of options -d and -T together, by making -d -# take the precedence; this is for compatibility with GNU install. - -if test -n "$dir_arg"; then - if test -n "$dst_arg"; then - echo "$0: target directory not allowed when installing a directory." >&2 - exit 1 - fi -fi - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - if test $# -gt 1 || test "$is_target_a_directory" = always; then - if test ! -d "$dst_arg"; then - echo "$0: $dst_arg: Is not a directory." >&2 - exit 1 - fi - fi -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - # Don't chown directories that already exist. - if test $dstdir_status = 0; then - chowncmd="" - fi - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename. - if test -d "$dst"; then - if test "$is_target_a_directory" = never; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dstbase=`basename "$src"` - case $dst in - */) dst=$dst$dstbase;; - *) dst=$dst/$dstbase;; - esac - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - case $dstdir in - */) dstdirslash=$dstdir;; - *) dstdirslash=$dstdir/;; - esac - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - # The $RANDOM variable is not portable (e.g., dash). Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap ' - ret=$? - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null - exit $ret - ' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p'. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=${dstdirslash}_inst.$$_ - rmtmp=${dstdirslash}_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && - { test -z "$stripcmd" || { - # Create $dsttmp read-write so that cp doesn't create it read-only, - # which would cause strip to fail. - if test -z "$doit"; then - : >"$dsttmp" # No need to fork-exec 'touch'. - else - $doit touch "$dsttmp" - fi - } - } && - $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - set +f && - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # If $backupsuffix is set, and the file being installed - # already exists, attempt a backup. Don't worry if it fails, - # e.g., if mv doesn't support -f. - if test -n "$backupsuffix" && test -f "$dst"; then - $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null - fi - - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/ltmain.in b/BUILD/libtool-2.4.7/build-aux/ltmain.in deleted file mode 100644 index a5f21a1..0000000 --- a/BUILD/libtool-2.4.7/build-aux/ltmain.in +++ /dev/null @@ -1,9286 +0,0 @@ -#! /usr/bin/env sh - -# libtool (GNU @PACKAGE@) @VERSION@ -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 - -# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - - -PROGRAM=libtool -PACKAGE=@PACKAGE@ -VERSION=@VERSION@ -package_revision=@package_revision@ - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -. `echo "$0" |${SED-sed} 's|[^/]*$||'`"funclib.sh" -. `echo "$0" |${SED-sed} 's|[^/]*$||'`"options-parser" - -# Set a version string. -scriptversion='(GNU @PACKAGE@) @VERSION@' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -Try '$progname --help --mode=MODE' for a more detailed description of MODE. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: $host - shell: $SHELL - compiler: $LTCC - compiler flags: $LTCFLAGS - linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU @PACKAGE@) @VERSION@ - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to <@PACKAGE_BUGREPORT@>. -GNU @PACKAGE@ home page: <@PACKAGE_URL@>. -General help using GNU software: <http://www.gnu.org/gethelp/>." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - - -# func_check_version_match -# ------------------------ -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - _G_rc_lt_options_prep=: - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - *) - _G_rc_lt_options_prep=false - ;; - esac - - if $_G_rc_lt_options_prep; then - # Pass back the list of options. - func_quote eval ${1+"$@"} - libtool_options_prep_result=$func_quote_result - fi -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - _G_rc_lt_parse_options=false - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_match_lt_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - case $1 in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"} ; shift - _G_match_lt_parse_options=false - break - ;; - esac - $_G_match_lt_parse_options && _G_rc_lt_parse_options=: - done - - if $_G_rc_lt_parse_options; then - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - libtool_parse_options_result=$func_quote_result - fi -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; then - func_error "unrecognized option '-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote eval ${1+"$@"} - libtool_validate_options_result=$func_quote_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if 'file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case $lalib_p_line in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test yes = "$lalib_p" -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# 'FILE.' does not work on cygwin managed mounts. -func_source () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with '--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=$1 - if test yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T <<EOF -# $write_libobj - a libtool object file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=$write_lobj - -# Name of the non-PIC object -non_pic_object=$write_oldobj - -EOF - $MV "${write_libobj}T" "$write_libobj" - } -} - - -################################################## -# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS # -################################################## - -# func_convert_core_file_wine_to_w32 ARG -# Helper function used by file name conversion functions when $build is *nix, -# and $host is mingw, cygwin, or some other w32 environment. Relies on a -# correctly configured wine environment available, with the winepath program -# in $build's $PATH. -# -# ARG is the $build file name to be converted to w32 format. -# Result is available in $func_convert_core_file_wine_to_w32_result, and will -# be empty on error (or when ARG is empty) -func_convert_core_file_wine_to_w32 () -{ - $debug_cmd - - func_convert_core_file_wine_to_w32_result=$1 - if test -n "$1"; then - # Unfortunately, winepath does not exit with a non-zero error code, so we - # are forced to check the contents of stdout. On the other hand, if the - # command is not found, the shell will set an exit code of 127 and print - # *an error message* to stdout. So we must check for both error code of - # zero AND non-empty stdout, which explains the odd construction: - func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_arg pretty "$libobj" - test "X$libobj" != "X$func_quote_arg_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext - lockfile=$output_obj.lock - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test yes = "$need_locks"; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test warn = "$need_locks"; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_arg pretty "$srcfile" - qsrcfile=$func_quote_arg_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a '.o' file suitable for static linking - -static only build a '.o' file suitable for static linking - -Wc,FLAG - -Xcompiler FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a 'standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix '.c' with the -library object suffix, '.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to '-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the '--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the 'install' or 'cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE use a list of object files found in FILE to specify objects - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wa,FLAG - -Xassembler FLAG pass linker-specific FLAG directly to the assembler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with '-') are ignored. - -Every other argument is treated as a filename. Files ending in '.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in '.la', then a libtool library is created, -only library objects ('.lo' files) may be specified, and '-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created -using 'ar' and 'ranlib', or on Windows using 'lib'. - -If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # The first argument is the command name. - cmd=$nonopt - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "'$file' was not linked with '-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir=$func_dirname_result - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir=$func_dirname_result - ;; - - *) - func_warning "'-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir=$absdir - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic=$magic - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file=$progdir/$program - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file=$progdir/$program - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if $opt_dry_run; then - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - else - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd=\$cmd$args - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the '-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the '$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the '$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the '$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - then - # Aesthetically quote it. - func_quote_arg pretty "$nonopt" - install_prog="$func_quote_arg_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_arg pretty "$arg" - func_append install_prog "$func_quote_arg_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_arg pretty "$arg" - func_append install_prog " $func_quote_arg_result" - if test -n "$arg2"; then - func_quote_arg pretty "$arg2" - fi - func_append install_shared_prog " $func_quote_arg_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the '$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_arg pretty "$install_override_mode" - func_append install_shared_prog " -m $func_quote_arg_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=: - if $isdir; then - destdir=$dest - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir=$func_dirname_result - destname=$func_basename_result - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "'$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "'$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking '$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname=$1 - shift - - srcname=$realname - test -n "$relink_command" && srcname=${realname}T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - case $realname in - *_dll.a) - tstripme= - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try 'ln -sf' first, because the 'ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib=$destdir/$realname - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name=$func_basename_result - instname=$dir/${name}i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest=$destfile - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to '$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test yes = "$build_old_libs"; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext= - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=.exe - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script '$wrapper'" - - finalize=: - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - func_quote_arg expand,pretty "$relink_command" - eval "func_echo $func_quote_arg_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink '$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file=$outputname - else - func_warning "cannot relink '$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name=$func_basename_result - - # Set up the ranlib parameters. - oldlib=$destdir/$name - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run '$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test install = "$opt_mode" && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms=${my_outputname}S.c - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist=$output_objdir/$my_outputname.nm - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; then - func_verbose "generating symbol list for '$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols=$output_objdir/$outputname.exp - $opt_dry_run || { - $RM $export_symbols - eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from '$dlprefile'" - func_basename "$dlprefile" - name=$func_basename_result - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen <import library>. - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 </dev/null >/dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' - - # Transform the symbol file into the correct name. - symfileobj=$output_objdir/${my_outputname}S.$objext - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for '$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - win32_libid_type=unknown - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $debug_cmd - - my_gentop=$1; shift - my_oldlibs=${1+"$@"} - my_oldobjs= - my_xlib= - my_xabs= - my_xdir= - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib=$func_basename_result - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir=$my_gentop/$my_xlib_u - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches; do - func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" - $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" - cd "unfat-$$/$darwin_base_archive-$darwin_arch" - func_extract_an_archive "`pwd`" "$darwin_base_archive" - cd "$darwin_curdir" - $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - func_quote_arg pretty "$ECHO" - qECHO=$func_quote_arg_result - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=$qECHO - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - \$ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat <<EOF - -/* $cwrappersource - temporary wrapper executable for $objdir/$outputname - Generated by $PROGRAM (GNU $PACKAGE) $VERSION - - The $output program cannot be directly executed until all the libtool - libraries that it depends on are installed. - - This wrapper executable should never be moved out of the build directory. - If it is, it will not operate correctly. -*/ -EOF - cat <<"EOF" -#ifdef _MSC_VER -# define _CRT_SECURE_NO_DEPRECATE 1 -#endif -#include <stdio.h> -#include <stdlib.h> -#ifdef _MSC_VER -# include <direct.h> -# include <process.h> -# include <io.h> -#else -# include <unistd.h> -# include <stdint.h> -# ifdef __CYGWIN__ -# include <io.h> -# endif -#endif -#include <malloc.h> -#include <stdarg.h> -#include <assert.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include <fcntl.h> -#include <sys/stat.h> - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#if defined PATH_MAX -# define LT_PATHMAX PATH_MAX -#elif defined MAXPATHLEN -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ - defined __OS2__ -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <<EOF -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) -# define externally_visible volatile -#else -# define externally_visible __attribute__((externally_visible)) volatile -#endif -externally_visible const char * MAGIC_EXE = "$magic_exe"; -const char * LIB_PATH_VARNAME = "$shlibpath_var"; -EOF - - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - func_to_host_path "$temp_rpath" - cat <<EOF -const char * LIB_PATH_VALUE = "$func_to_host_path_result"; -EOF - else - cat <<"EOF" -const char * LIB_PATH_VALUE = ""; -EOF - fi - - if test -n "$dllsearchpath"; then - func_to_host_path "$dllsearchpath:" - cat <<EOF -const char * EXE_PATH_VARNAME = "PATH"; -const char * EXE_PATH_VALUE = "$func_to_host_path_result"; -EOF - else - cat <<"EOF" -const char * EXE_PATH_VARNAME = ""; -const char * EXE_PATH_VALUE = ""; -EOF - fi - - if test yes = "$fast_install"; then - cat <<EOF -const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ -EOF - else - cat <<EOF -const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ -EOF - fi - - - cat <<"EOF" - -#define LTWRAPPER_OPTION_PREFIX "--lt-" - -static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; -static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; -static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug"; - -int -main (int argc, char *argv[]) -{ - char **newargz; - int newargc; - char *tmp_pathspec; - char *actual_cwrapper_path; - char *actual_cwrapper_name; - char *target_name; - char *lt_argv_zero; - int rval = 127; - - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - newargz = XMALLOC (char *, (size_t) argc + 1); - - /* very simple arg parsing; don't want to rely on getopt - * also, copy all non cwrapper options to newargz, except - * argz[0], which is handled differently - */ - newargc=0; - for (i = 1; i < argc; i++) - { - if (STREQ (argv[i], dumpscript_opt)) - { -EOF - case $host in - *mingw* | *cygwin* ) - # make stdout use "unix" line endings - echo " setmode(1,_O_BINARY);" - ;; - esac - - cat <<"EOF" - lt_dump_script (stdout); - return 0; - } - if (STREQ (argv[i], debug_opt)) - { - lt_debug = 1; - continue; - } - if (STREQ (argv[i], ltwrapper_option_prefix)) - { - /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX - namespace, but it is not one of the ones we know about and - have already dealt with, above (inluding dump-script), then - report an error. Otherwise, targets might begin to believe - they are allowed to use options in the LTWRAPPER_OPTION_PREFIX - namespace. The first time any user complains about this, we'll - need to make LTWRAPPER_OPTION_PREFIX a configure-time option - or a configure.ac-settable value. - */ - lt_fatal (__FILE__, __LINE__, - "unrecognized %s option: '%s'", - ltwrapper_option_prefix, argv[i]); - } - /* otherwise ... */ - newargz[++newargc] = xstrdup (argv[i]); - } - newargz[++newargc] = NULL; - -EOF - cat <<EOF - /* The GNU banner must be the first non-error debug message */ - lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n"); -EOF - cat <<"EOF" - lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]); - lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name); - - tmp_pathspec = find_executable (argv[0]); - if (tmp_pathspec == NULL) - lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]); - lt_debugprintf (__FILE__, __LINE__, - "(main) found exe (before symlink chase) at: %s\n", - tmp_pathspec); - - actual_cwrapper_path = chase_symlinks (tmp_pathspec); - lt_debugprintf (__FILE__, __LINE__, - "(main) found exe (after symlink chase) at: %s\n", - actual_cwrapper_path); - XFREE (tmp_pathspec); - - actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path)); - strendzap (actual_cwrapper_path, actual_cwrapper_name); - - /* wrapper name transforms */ - strendzap (actual_cwrapper_name, ".exe"); - tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); - XFREE (actual_cwrapper_name); - actual_cwrapper_name = tmp_pathspec; - tmp_pathspec = 0; - - /* target_name transforms -- use actual target program name; might have lt- prefix */ - target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); - strendzap (target_name, ".exe"); - tmp_pathspec = lt_extend_str (target_name, ".exe", 1); - XFREE (target_name); - target_name = tmp_pathspec; - tmp_pathspec = 0; - - lt_debugprintf (__FILE__, __LINE__, - "(main) libtool target name: %s\n", - target_name); -EOF - - cat <<EOF - newargz[0] = - XMALLOC (char, (strlen (actual_cwrapper_path) + - strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); - strcpy (newargz[0], actual_cwrapper_path); - strcat (newargz[0], "$objdir"); - strcat (newargz[0], "/"); -EOF - - cat <<"EOF" - /* stop here, and copy so we don't have to do this twice */ - tmp_pathspec = xstrdup (newargz[0]); - - /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ - strcat (newargz[0], actual_cwrapper_name); - - /* DO want the lt- prefix here if it exists, so use target_name */ - lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); - XFREE (tmp_pathspec); - tmp_pathspec = NULL; -EOF - - case $host_os in - mingw*) - cat <<"EOF" - { - char* p; - while ((p = strchr (newargz[0], '\\')) != NULL) - { - *p = '/'; - } - while ((p = strchr (lt_argv_zero, '\\')) != NULL) - { - *p = '/'; - } - } -EOF - ;; - esac - - cat <<"EOF" - XFREE (target_name); - XFREE (actual_cwrapper_path); - XFREE (actual_cwrapper_name); - - lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ - lt_setenv ("DUALCASE", "1"); /* for MSK sh */ - /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must - be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath) - because on Windows, both *_VARNAMEs are PATH but uninstalled - libraries must come first. */ - lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); - lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); - - lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n", - nonnull (lt_argv_zero)); - for (i = 0; i < newargc; i++) - { - lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", - i, nonnull (newargz[i])); - } - -EOF - - case $host_os in - mingw*) - cat <<"EOF" - /* execv doesn't actually work on mingw as expected on unix */ - newargz = prepare_spawn (newargz); - rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); - if (rval == -1) - { - /* failed to start process */ - lt_debugprintf (__FILE__, __LINE__, - "(main) failed to launch target \"%s\": %s\n", - lt_argv_zero, nonnull (strerror (errno))); - return 127; - } - return rval; -EOF - ;; - *) - cat <<"EOF" - execv (lt_argv_zero, newargz); - return rval; /* =127, but avoids unused variable warning */ -EOF - ;; - esac - - cat <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void *p = (void *) malloc (num); - if (!p) - lt_fatal (__FILE__, __LINE__, "memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), - string) : NULL; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined HAVE_DOS_BASED_FILE_SYSTEM - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char) name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable (const char *path) -{ - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined HAVE_DOS_BASED_FILE_SYSTEM - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined HAVE_DOS_BASED_FILE_SYSTEM - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = (size_t) (q - p); - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - size_t orig_value_len = strlen (orig_value); - size_t add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # what system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll that has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module=$wl-single_module - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg=$1 - shift - func_quote_arg pretty,unquoted "$arg" - qarg=$func_quote_arg_unquoted_result - func_append libtool_args " $func_quote_arg_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols=$arg - test -f "$arg" \ - || func_fatal_error "symbol file '$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex=$arg - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - if test none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file '$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - os2dllname) - os2dllname=$arg - prev= - continue - ;; - precious_regex) - precious_files_regex=$arg - prev= - continue - ;; - release) - release=-$arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xassembler) - func_append compiler_flags " -Xassembler $qarg" - prev= - func_append compile_command " -Xassembler $qarg" - func_append finalize_command " -Xassembler $qarg" - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg=$arg - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "'-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test X-export-symbols = "X$arg"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between '-L' and '$1'" - else - func_fatal_error "need path for '-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of '$dir'" - dir=$absdir - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test X-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. - -pthread) - case $host in - *solaris2*) ;; - *) - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - ;; - esac - continue - ;; - -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module=$wl-multi_module - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "'-no-install' is ignored for $host" - func_warning "assuming '-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -os2dllname) - prev=os2dllname - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $func_quote_arg_result" - func_append compiler_flags " $func_quote_arg_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $wl$func_quote_arg_result" - func_append compiler_flags " $wl$func_quote_arg_result" - func_append linker_flags " $func_quote_arg_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xassembler) - prev=xassembler - continue - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -specs=* GCC specs files - # -stdlib=* select c++ std lib with clang - # -fsanitize=* Clang/GCC memory and address sanitizer - # -fuse-ld=* Linker select flags for GCC - # -Wa,* Pass flags directly to the assembler - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the '$prevarg' option requires an argument" - - if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname=$func_basename_result - libobjs_save=$libobjs - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=false - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test lib,link = "$linkmode,$pass"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs=$tmp_deplibs - fi - - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib=$searchdir/lib$name$search_ext - if test -f "$lib"; then - if test .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll=$l - done - if test "X$ll" = "X$old_library"; then # only static version available - found=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "'$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir=$func_dirname_result - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - - # This library was specified with -dlopen. - if test dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of '$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir=$ladir - fi - ;; - esac - func_basename "$lib" - laname=$func_basename_result - - # Find the relevant object directory and library name. - if test yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir=$ladir - absdir=$abs_ladir - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then - # Make sure the rpath contains only unique directories. - case $temp_rpath: in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule= - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule=$dlpremoduletest - break - fi - done - if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test lib = "$linkmode" && - test yes = "$hardcode_into_libs"; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname=$1 - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname=$dlname - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - esac - eval soname=\"$soname_spec\" - else - soname=$realname - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot=$soname - func_basename "$soroot" - soname=$func_basename_result - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from '$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for '$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; then - add=$dir/$linklib - case $host in - *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; - *-*-sysv4*uw2*) add_dir=-L$dir ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir=-L$dir ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we cannot - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add=$dir/$old_library - fi - elif test -n "$old_library"; then - add=$dir/$old_library - fi - fi - esac - elif test no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib"; then - add=$inst_prefix_dir$libdir/$linklib - else - add=$libdir/$linklib - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test prog = "$linkmode"; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test unsupported != "$hardcode_direct"; then - test -n "$old_library" && linklib=$old_library - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of '$dir'" - absdir=$dir - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names"; then - for tmp in $deplibrary_names; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl"; then - depdepl=$absdir/$objdir/$depdepl - darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" - path= - fi - fi - ;; - *) - path=-L$absdir/$objdir - ;; - esac - else - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "'$deplib' seems to be moved" - - path=-L$absdir - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=deplibs - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i= - ;; - esac - if test -n "$i"; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "'-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "'-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs=$output - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form 'libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test pass_all != "$deplibs_check_method"; then - func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; then - # Building a libtool convenience library. - # Some compilers have problems with a '.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "'-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs=$IFS; IFS=: - set dummy $vinfo 0 0 0 - shift - IFS=$save_ifs - - test -n "$7" && \ - func_fatal_help "too many parameters to '-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major=$1 - number_minor=$2 - number_revision=$3 - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|sunos) - current=$number_major - revision=$number_minor - age=0 - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_minor - lt_irix_increment=no - ;; - esac - ;; - no) - current=$1 - revision=$2 - age=$3 - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT '$current' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION '$revision' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE '$age' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE '$age' is greater than the current interface number '$current'" - func_fatal_error "'$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf | midnightbsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring=$verstring_prefix$major.$revision - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test 0 -ne "$loop"; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring_prefix$major.$iface:$verstring - done - - # Before this point, $major must not contain '.'. - major=.$major - versuffix=$major.$revision - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=.$current.$age.$revision - verstring=$current.$age.$revision - - # Add in all the interfaces that we are compatible with. - loop=$age - while test 0 -ne "$loop"; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring:$iface.0 - done - - # Make executables depend on our current version. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - - *) - func_fatal_configuration "unknown library version type '$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring=0.0 - ;; - esac - if test no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) - if test -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles=$dlfiles - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles=$dlprefiles - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test yes = "$build_libtool_need_lc"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release= - versuffix= - major= - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c <<EOF - int main() { return 0; } -EOF - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then - ldd_output=`ldd conftest` - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $i "*) - func_append newdeplibs " $i" - i= - ;; - esac - fi - if test -n "$i"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then - func_append newdeplibs " $i" - else - droppeddeps=yes - echo - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which I believe you do not have" - echo "*** because a test_compile did reveal that the linker did not use it for" - echo "*** its dynamic dependency list that programs get resolved with at runtime." - fi - fi - ;; - *) - func_append newdeplibs " $i" - ;; - esac - done - else - # Error occurred in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $i; then - ldd_output=`ldd conftest` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $i "*) - func_append newdeplibs " $i" - i= - ;; - esac - fi - if test -n "$i"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then - func_append newdeplibs " $i" - else - droppeddeps=yes - echo - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because a test_compile did reveal that the linker did not use this one" - echo "*** as a dynamic dependency that programs can get resolved with at runtime." - fi - fi - else - droppeddeps=yes - echo - $ECHO "*** Warning! Library $i is needed by this library but I was not able to" - echo "*** make it link in! You will probably need to install it or some" - echo "*** library that it depends on before this library will be fully" - echo "*** functional. Installing it before continuing would be even better." - fi - ;; - *) - func_append newdeplibs " $i" - ;; - esac - done - fi - ;; - file_magic*) - set dummy $deplibs_check_method; shift - file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - if test -n "$file_magic_glob"; then - libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` - else - libnameglob=$libname - fi - test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - if test yes = "$want_nocaseglob"; then - shopt -s nocaseglob - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib=$potent_lib - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | $SED 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; - *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test no = "$allow_undefined"; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs=$new_libs - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath=$finalize_shlibpath - test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname=$1 - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname=$realname - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib=$output_objdir/$realname - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols=$output_objdir/$libname.uexp - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - func_dll_def_p "$export_symbols" || { - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols=$export_symbols - export_symbols= - always_export_symbols=yes - } - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs=$IFS; IFS='~' - for cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS=$save_ifs - if test -n "$export_symbols_regex" && test : != "$skipped_export"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test : != "$skipped_export" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-$k.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test -z "$objlist" || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-$k.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-$k.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - } - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs=$IFS; IFS='~' - for cmd in $concat_cmds; do - IFS=$save_ifs - $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - ${skipped_export-false} && { - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - } - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "'-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object '$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj=$output - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - output=$obj - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - test yes = "$build_libtool_libs" || { - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - } - - if test -n "$pic_flag" || test default != "$pic_mode"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output=$libobj - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "'-release' is ignored for programs" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath=$rpath - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath=$rpath - - if test -n "$libobjs" && test yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command=$compile_command$compile_rpath - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.$objext"; then - func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' - fi - - exit $exit_status - } - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; then - # We don't need to create a wrapper script. - link_command=$compile_var$compile_command$compile_rpath - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # Fast installation is not supported - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "'$output' will be relinked during installation" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_arg pretty "$var_value" - relink_command="$var=$func_quote_arg_result; export $var; $relink_command" - fi - done - func_quote eval cd "`pwd`" - func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" - relink_command=$func_quote_arg_unquoted_result - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource=$output_path/$objdir/lt-$output_name.c - cwrapper=$output_path/$output_name.exe - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host"; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase=$func_basename_result - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj"; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test -z "$oldobjs"; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test yes = "$build_old_libs" && old_library=$libname.$libext - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_arg pretty,unquoted "$var_value" - relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - func_quote eval cd "`pwd`" - relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - func_quote_arg pretty,unquoted "$relink_command" - relink_command=$func_quote_arg_unquoted_result - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; then - if test -z "$install_libdir"; then - break - fi - output=$output_objdir/${outputname}i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name=$func_basename_result - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs=$newdependency_libs - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles=$newdlprefiles - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test no,yes = "$installed,$need_relink"; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif $rmforce; then - continue - fi - - rmfiles=$file - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && test none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the $objdir's in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# where we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/ltmain.sh b/BUILD/libtool-2.4.7/build-aux/ltmain.sh deleted file mode 100644 index 2a50d7f..0000000 --- a/BUILD/libtool-2.4.7/build-aux/ltmain.sh +++ /dev/null @@ -1,11436 +0,0 @@ -#! /usr/bin/env sh -## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2019-02-19.15 - -# libtool (GNU libtool) 2.4.7 -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 - -# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - - -PROGRAM=libtool -PACKAGE=libtool -VERSION=2.4.7 -package_revision=2.4.7 - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2004-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# <https://opensource.org/license/MIT>, and GPL version 2 or later -# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# <https://github.com/gnulib-modules/bootstrap/issues> - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done -# These NLS vars are set unconditionally (bootstrap issue #24). Unset those -# in case the environment reset is needed later and the $save_* variant is not -# defined (see the code above). -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# func_unset VAR -# -------------- -# Portably unset VAR. -# In some shells, an 'unset VAR' statement leaves a non-zero return -# status if VAR is already unset, which might be problematic if the -# statement is used at the end of a function (thus poisoning its return -# value) or when 'set -e' is active (causing even a spurious abort of -# the script in this case). -func_unset () -{ - { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } -} - - -# Make sure CDPATH doesn't cause `cd` commands to output the target dir. -func_unset CDPATH - -# Make sure ${,E,F}GREP behave sanely. -func_unset GREP_OPTIONS - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - -# require_check_ifs_backslash -# --------------------------- -# Check if we can use backslash as IFS='\' separator, and set -# $check_ifs_backshlash_broken to ':' or 'false'. -require_check_ifs_backslash=func_require_check_ifs_backslash -func_require_check_ifs_backslash () -{ - _G_save_IFS=$IFS - IFS='\' - _G_check_ifs_backshlash='a\\b' - for _G_i in $_G_check_ifs_backshlash - do - case $_G_i in - a) - check_ifs_backshlash_broken=false - ;; - '') - break - ;; - *) - check_ifs_backshlash_broken=: - break - ;; - esac - done - IFS=$_G_save_IFS - require_check_ifs_backslash=: -} - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_arg pretty "$2" - eval "$1+=\\ \$func_quote_arg_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_arg pretty "$2" - eval "$1=\$$1\\ \$func_quote_arg_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_portable EVAL ARG -# ---------------------------- -# Internal function to portably implement func_quote_arg. Note that we still -# keep attention to performance here so we as much as possible try to avoid -# calling sed binary (so far O(N) complexity as long as func_append is O(1)). -func_quote_portable () -{ - $debug_cmd - - $require_check_ifs_backslash - - func_quote_portable_result=$2 - - # one-time-loop (easy break) - while true - do - if $1; then - func_quote_portable_result=`$ECHO "$2" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` - break - fi - - # Quote for eval. - case $func_quote_portable_result in - *[\\\`\"\$]*) - # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string - # contains the shell wildcard characters. - case $check_ifs_backshlash_broken$func_quote_portable_result in - :*|*[\[\*\?]*) - func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ - | $SED "$sed_quote_subst"` - break - ;; - esac - - func_quote_portable_old_IFS=$IFS - for _G_char in '\' '`' '"' '$' - do - # STATE($1) PREV($2) SEPARATOR($3) - set start "" "" - func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy - IFS=$_G_char - for _G_part in $func_quote_portable_result - do - case $1 in - quote) - func_append func_quote_portable_result "$3$2" - set quote "$_G_part" "\\$_G_char" - ;; - start) - set first "" "" - func_quote_portable_result= - ;; - first) - set quote "$_G_part" "" - ;; - esac - done - done - IFS=$func_quote_portable_old_IFS - ;; - *) ;; - esac - break - done - - func_quote_portable_unquoted_result=$func_quote_portable_result - case $func_quote_portable_result in - # double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # many bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_portable_result=\"$func_quote_portable_result\" - ;; - esac -} - - -# func_quotefast_eval ARG -# ----------------------- -# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', -# but optimized for speed. Result is stored in $func_quotefast_eval. -if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then - printf -v _GL_test_printf_tilde %q '~' - if test '\~' = "$_GL_test_printf_tilde"; then - func_quotefast_eval () - { - printf -v func_quotefast_eval_result %q "$1" - } - else - # Broken older Bash implementations. Make those faster too if possible. - func_quotefast_eval () - { - case $1 in - '~'*) - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - ;; - *) - printf -v func_quotefast_eval_result %q "$1" - ;; - esac - } - fi -else - func_quotefast_eval () - { - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - } -fi - - -# func_quote_arg MODEs ARG -# ------------------------ -# Quote one ARG to be evaled later. MODEs argument may contain zero or more -# specifiers listed below separated by ',' character. This function returns two -# values: -# i) func_quote_arg_result -# double-quoted (when needed), suitable for a subsequent eval -# ii) func_quote_arg_unquoted_result -# has all characters that are still active within double -# quotes backslashified. Available only if 'unquoted' is specified. -# -# Available modes: -# ---------------- -# 'eval' (default) -# - escape shell special characters -# 'expand' -# - the same as 'eval'; but do not quote variable references -# 'pretty' -# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might -# be used later in func_quote to get output like: 'echo "a b"' instead -# of 'echo a\ b'. This is slower than default on some shells. -# 'unquoted' -# - produce also $func_quote_arg_unquoted_result which does not contain -# wrapping double-quotes. -# -# Examples for 'func_quote_arg pretty,unquoted string': -# -# string | *_result | *_unquoted_result -# ------------+-----------------------+------------------- -# " | \" | \" -# a b | "a b" | a b -# "a b" | "\"a b\"" | \"a b\" -# * | "*" | * -# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" -# -# Examples for 'func_quote_arg pretty,unquoted,expand string': -# -# string | *_result | *_unquoted_result -# --------------+---------------------+-------------------- -# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" -func_quote_arg () -{ - _G_quote_expand=false - case ,$1, in - *,expand,*) - _G_quote_expand=: - ;; - esac - - case ,$1, in - *,pretty,*|*,expand,*|*,unquoted,*) - func_quote_portable $_G_quote_expand "$2" - func_quote_arg_result=$func_quote_portable_result - func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result - ;; - *) - # Faster quote-for-eval for some shells. - func_quotefast_eval "$2" - func_quote_arg_result=$func_quotefast_eval_result - ;; - esac -} - - -# func_quote MODEs ARGs... -# ------------------------ -# Quote all ARGs to be evaled later and join them into single command. See -# func_quote_arg's description for more info. -func_quote () -{ - $debug_cmd - _G_func_quote_mode=$1 ; shift - func_quote_result= - while test 0 -lt $#; do - func_quote_arg "$_G_func_quote_mode" "$1" - if test -n "$func_quote_result"; then - func_append func_quote_result " $func_quote_arg_result" - else - func_append func_quote_result "$func_quote_arg_result" - fi - shift - done -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_arg pretty,expand "$_G_cmd" - eval "func_notquiet $func_quote_arg_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_arg expand,pretty "$_G_cmd" - eval "func_echo $func_quote_arg_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2010-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# <https://opensource.org/license/MIT>, and GPL version 2 or later -# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# <https://github.com/gnulib-modules/bootstrap/issues> - -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# Copyright'. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug in processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# in the main code. A hook is just a list of function names that can be -# run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of hook functions to be called by -# FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_propagate_result FUNC_NAME_A FUNC_NAME_B -# --------------------------------------------- -# If the *_result variable of FUNC_NAME_A _is set_, assign its value to -# *_result variable of FUNC_NAME_B. -func_propagate_result () -{ - $debug_cmd - - func_propagate_result_result=: - if eval "test \"\${${1}_result+set}\" = set" - then - eval "${2}_result=\$${1}_result" - else - func_propagate_result_result=false - fi -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It's assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook functions." ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - func_unset "${_G_hook}_result" - eval $_G_hook '${1+"$@"}' - func_propagate_result $_G_hook func_run_hooks - if $func_propagate_result_result; then - eval set dummy "$func_run_hooks_result"; shift - fi - done -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list from your hook function. You may remove -# or edit any options that you action, and then pass back the remaining -# unprocessed options in '<hooked_function_name>_result', escaped -# suitably for 'eval'. -# -# The '<hooked_function_name>_result' variable is automatically unset -# before your hook gets called; for best performance, only set the -# *_result variable when necessary (i.e. don't call the 'func_quote' -# function unnecessarily because it can be an expensive operation on some -# machines). -# -# Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# # No change in '$@' (ignored completely by this hook). Leave -# # my_options_prep_result variable intact. -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# args_changed=false -# -# # Note that, for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: -# args_changed=: -# ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# args_changed=: -# ;; -# *) # Make sure the first unrecognised option "$_G_opt" -# # is added back to "$@" in case we need it later, -# # if $args_changed was set to 'true'. -# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; -# esac -# done -# -# # Only call 'func_quote' here if we processed at least one argument. -# if $args_changed; then -# func_quote eval ${1+"$@"} -# my_silent_option_result=$func_quote_result -# fi -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll also need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options_finish [ARG]... -# ---------------------------- -# Finishing the option parse loop (call 'func_options' hooks ATM). -func_options_finish () -{ - $debug_cmd - - func_run_hooks func_options ${1+"$@"} - func_propagate_result func_run_hooks func_options_finish -} - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - _G_options_quoted=false - - for my_func in options_prep parse_options validate_options options_finish - do - func_unset func_${my_func}_result - func_unset func_run_hooks_result - eval func_$my_func '${1+"$@"}' - func_propagate_result func_$my_func func_options - if $func_propagate_result_result; then - eval set dummy "$func_options_result"; shift - _G_options_quoted=: - fi - done - - $_G_options_quoted || { - # As we (func_options) are top-level options-parser function and - # nobody quoted "$@" for us yet, we need to do it explicitly for - # caller. - func_quote eval ${1+"$@"} - func_options_result=$func_quote_result - } -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propagate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - func_propagate_result func_run_hooks func_options_prep -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - _G_parse_options_requote=false - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - func_propagate_result func_run_hooks func_parse_options - if $func_propagate_result_result; then - eval set dummy "$func_parse_options_result"; shift - # Even though we may have changed "$@", we passed the "$@" array - # down into the hook and it quoted it for us (because we are in - # this if-branch). No need to quote it again. - _G_parse_options_requote=false - fi - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - # We expect that one of the options parsed in this function matches - # and thus we remove _G_opt from "$@" and need to re-quote. - _G_match_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" >&2 - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - if test $# = 0 && func_missing_arg $_G_opt; then - _G_parse_options_requote=: - break - fi - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) _G_parse_options_requote=: ; break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift - _G_match_parse_options=false - break - ;; - esac - - if $_G_match_parse_options; then - _G_parse_options_requote=: - fi - done - - if $_G_parse_options_requote; then - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - func_parse_options_result=$func_quote_result - fi -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - func_propagate_result func_run_hooks func_validate_options - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables -# after splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - if test "x$func_split_equals_lhs" = "x$1"; then - func_split_equals_rhs= - fi - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs=" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -# The version message is extracted from the calling file's header -# comments, with leading '# ' stripped: -# 1. First display the progname and version -# 2. Followed by the header comment line matching /^# Written by / -# 3. Then a blank line followed by the first following line matching -# /^# Copyright / -# 4. Immediately followed by any lines between the previous matches, -# except lines preceding the intervening completely blank line. -# For example, see the header comments of this file. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /^# Written by /!b - s|^# ||; p; n - - :fwd2blnk - /./ { - n - b fwd2blnk - } - p; n - - :holdwrnt - s|^# || - s|^# *$|| - /^Copyright /!{ - /./H - n - b holdwrnt - } - - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - G - s|\(\n\)\n*|\1|g - p; q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string. -scriptversion='(GNU libtool) 2.4.7' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -Try '$progname --help --mode=MODE' for a more detailed description of MODE. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: $host - shell: $SHELL - compiler: $LTCC - compiler flags: $LTCFLAGS - linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.7 - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to <bug-libtool@gnu.org>. -GNU libtool home page: <http://www.gnu.org/software/libtool/>. -General help using GNU software: <http://www.gnu.org/gethelp/>." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - - -# func_check_version_match -# ------------------------ -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - _G_rc_lt_options_prep=: - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - *) - _G_rc_lt_options_prep=false - ;; - esac - - if $_G_rc_lt_options_prep; then - # Pass back the list of options. - func_quote eval ${1+"$@"} - libtool_options_prep_result=$func_quote_result - fi -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - _G_rc_lt_parse_options=false - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_match_lt_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - case $1 in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"} ; shift - _G_match_lt_parse_options=false - break - ;; - esac - $_G_match_lt_parse_options && _G_rc_lt_parse_options=: - done - - if $_G_rc_lt_parse_options; then - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - libtool_parse_options_result=$func_quote_result - fi -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; then - func_error "unrecognized option '-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote eval ${1+"$@"} - libtool_validate_options_result=$func_quote_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if 'file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case $lalib_p_line in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test yes = "$lalib_p" -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# 'FILE.' does not work on cygwin managed mounts. -func_source () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with '--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=$1 - if test yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T <<EOF -# $write_libobj - a libtool object file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=$write_lobj - -# Name of the non-PIC object -non_pic_object=$write_oldobj - -EOF - $MV "${write_libobj}T" "$write_libobj" - } -} - - -################################################## -# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS # -################################################## - -# func_convert_core_file_wine_to_w32 ARG -# Helper function used by file name conversion functions when $build is *nix, -# and $host is mingw, cygwin, or some other w32 environment. Relies on a -# correctly configured wine environment available, with the winepath program -# in $build's $PATH. -# -# ARG is the $build file name to be converted to w32 format. -# Result is available in $func_convert_core_file_wine_to_w32_result, and will -# be empty on error (or when ARG is empty) -func_convert_core_file_wine_to_w32 () -{ - $debug_cmd - - func_convert_core_file_wine_to_w32_result=$1 - if test -n "$1"; then - # Unfortunately, winepath does not exit with a non-zero error code, so we - # are forced to check the contents of stdout. On the other hand, if the - # command is not found, the shell will set an exit code of 127 and print - # *an error message* to stdout. So we must check for both error code of - # zero AND non-empty stdout, which explains the odd construction: - func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_arg pretty "$libobj" - test "X$libobj" != "X$func_quote_arg_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext - lockfile=$output_obj.lock - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test yes = "$need_locks"; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test warn = "$need_locks"; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_arg pretty "$srcfile" - qsrcfile=$func_quote_arg_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a '.o' file suitable for static linking - -static only build a '.o' file suitable for static linking - -Wc,FLAG - -Xcompiler FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a 'standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix '.c' with the -library object suffix, '.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to '-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the '--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the 'install' or 'cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE use a list of object files found in FILE to specify objects - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wa,FLAG - -Xassembler FLAG pass linker-specific FLAG directly to the assembler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with '-') are ignored. - -Every other argument is treated as a filename. Files ending in '.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in '.la', then a libtool library is created, -only library objects ('.lo' files) may be specified, and '-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created -using 'ar' and 'ranlib', or on Windows using 'lib'. - -If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # The first argument is the command name. - cmd=$nonopt - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "'$file' was not linked with '-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir=$func_dirname_result - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir=$func_dirname_result - ;; - - *) - func_warning "'-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir=$absdir - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic=$magic - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file=$progdir/$program - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file=$progdir/$program - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if $opt_dry_run; then - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - else - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd=\$cmd$args - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the '-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the '$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the '$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the '$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - then - # Aesthetically quote it. - func_quote_arg pretty "$nonopt" - install_prog="$func_quote_arg_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_arg pretty "$arg" - func_append install_prog "$func_quote_arg_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_arg pretty "$arg" - func_append install_prog " $func_quote_arg_result" - if test -n "$arg2"; then - func_quote_arg pretty "$arg2" - fi - func_append install_shared_prog " $func_quote_arg_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the '$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_arg pretty "$install_override_mode" - func_append install_shared_prog " -m $func_quote_arg_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=: - if $isdir; then - destdir=$dest - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir=$func_dirname_result - destname=$func_basename_result - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "'$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "'$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking '$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname=$1 - shift - - srcname=$realname - test -n "$relink_command" && srcname=${realname}T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - case $realname in - *_dll.a) - tstripme= - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try 'ln -sf' first, because the 'ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib=$destdir/$realname - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name=$func_basename_result - instname=$dir/${name}i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest=$destfile - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to '$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test yes = "$build_old_libs"; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext= - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=.exe - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script '$wrapper'" - - finalize=: - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - func_quote_arg expand,pretty "$relink_command" - eval "func_echo $func_quote_arg_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink '$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file=$outputname - else - func_warning "cannot relink '$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name=$func_basename_result - - # Set up the ranlib parameters. - oldlib=$destdir/$name - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run '$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test install = "$opt_mode" && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms=${my_outputname}S.c - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist=$output_objdir/$my_outputname.nm - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; then - func_verbose "generating symbol list for '$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols=$output_objdir/$outputname.exp - $opt_dry_run || { - $RM $export_symbols - eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from '$dlprefile'" - func_basename "$dlprefile" - name=$func_basename_result - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen <import library>. - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 </dev/null >/dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' - - # Transform the symbol file into the correct name. - symfileobj=$output_objdir/${my_outputname}S.$objext - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for '$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - win32_libid_type=unknown - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $debug_cmd - - my_gentop=$1; shift - my_oldlibs=${1+"$@"} - my_oldobjs= - my_xlib= - my_xabs= - my_xdir= - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib=$func_basename_result - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir=$my_gentop/$my_xlib_u - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches; do - func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" - $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" - cd "unfat-$$/$darwin_base_archive-$darwin_arch" - func_extract_an_archive "`pwd`" "$darwin_base_archive" - cd "$darwin_curdir" - $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - func_quote_arg pretty "$ECHO" - qECHO=$func_quote_arg_result - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=$qECHO - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - \$ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat <<EOF - -/* $cwrappersource - temporary wrapper executable for $objdir/$outputname - Generated by $PROGRAM (GNU $PACKAGE) $VERSION - - The $output program cannot be directly executed until all the libtool - libraries that it depends on are installed. - - This wrapper executable should never be moved out of the build directory. - If it is, it will not operate correctly. -*/ -EOF - cat <<"EOF" -#ifdef _MSC_VER -# define _CRT_SECURE_NO_DEPRECATE 1 -#endif -#include <stdio.h> -#include <stdlib.h> -#ifdef _MSC_VER -# include <direct.h> -# include <process.h> -# include <io.h> -#else -# include <unistd.h> -# include <stdint.h> -# ifdef __CYGWIN__ -# include <io.h> -# endif -#endif -#include <malloc.h> -#include <stdarg.h> -#include <assert.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include <fcntl.h> -#include <sys/stat.h> - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#if defined PATH_MAX -# define LT_PATHMAX PATH_MAX -#elif defined MAXPATHLEN -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ - defined __OS2__ -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <<EOF -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) -# define externally_visible volatile -#else -# define externally_visible __attribute__((externally_visible)) volatile -#endif -externally_visible const char * MAGIC_EXE = "$magic_exe"; -const char * LIB_PATH_VARNAME = "$shlibpath_var"; -EOF - - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - func_to_host_path "$temp_rpath" - cat <<EOF -const char * LIB_PATH_VALUE = "$func_to_host_path_result"; -EOF - else - cat <<"EOF" -const char * LIB_PATH_VALUE = ""; -EOF - fi - - if test -n "$dllsearchpath"; then - func_to_host_path "$dllsearchpath:" - cat <<EOF -const char * EXE_PATH_VARNAME = "PATH"; -const char * EXE_PATH_VALUE = "$func_to_host_path_result"; -EOF - else - cat <<"EOF" -const char * EXE_PATH_VARNAME = ""; -const char * EXE_PATH_VALUE = ""; -EOF - fi - - if test yes = "$fast_install"; then - cat <<EOF -const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ -EOF - else - cat <<EOF -const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ -EOF - fi - - - cat <<"EOF" - -#define LTWRAPPER_OPTION_PREFIX "--lt-" - -static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; -static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; -static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug"; - -int -main (int argc, char *argv[]) -{ - char **newargz; - int newargc; - char *tmp_pathspec; - char *actual_cwrapper_path; - char *actual_cwrapper_name; - char *target_name; - char *lt_argv_zero; - int rval = 127; - - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - newargz = XMALLOC (char *, (size_t) argc + 1); - - /* very simple arg parsing; don't want to rely on getopt - * also, copy all non cwrapper options to newargz, except - * argz[0], which is handled differently - */ - newargc=0; - for (i = 1; i < argc; i++) - { - if (STREQ (argv[i], dumpscript_opt)) - { -EOF - case $host in - *mingw* | *cygwin* ) - # make stdout use "unix" line endings - echo " setmode(1,_O_BINARY);" - ;; - esac - - cat <<"EOF" - lt_dump_script (stdout); - return 0; - } - if (STREQ (argv[i], debug_opt)) - { - lt_debug = 1; - continue; - } - if (STREQ (argv[i], ltwrapper_option_prefix)) - { - /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX - namespace, but it is not one of the ones we know about and - have already dealt with, above (inluding dump-script), then - report an error. Otherwise, targets might begin to believe - they are allowed to use options in the LTWRAPPER_OPTION_PREFIX - namespace. The first time any user complains about this, we'll - need to make LTWRAPPER_OPTION_PREFIX a configure-time option - or a configure.ac-settable value. - */ - lt_fatal (__FILE__, __LINE__, - "unrecognized %s option: '%s'", - ltwrapper_option_prefix, argv[i]); - } - /* otherwise ... */ - newargz[++newargc] = xstrdup (argv[i]); - } - newargz[++newargc] = NULL; - -EOF - cat <<EOF - /* The GNU banner must be the first non-error debug message */ - lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n"); -EOF - cat <<"EOF" - lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]); - lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name); - - tmp_pathspec = find_executable (argv[0]); - if (tmp_pathspec == NULL) - lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]); - lt_debugprintf (__FILE__, __LINE__, - "(main) found exe (before symlink chase) at: %s\n", - tmp_pathspec); - - actual_cwrapper_path = chase_symlinks (tmp_pathspec); - lt_debugprintf (__FILE__, __LINE__, - "(main) found exe (after symlink chase) at: %s\n", - actual_cwrapper_path); - XFREE (tmp_pathspec); - - actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path)); - strendzap (actual_cwrapper_path, actual_cwrapper_name); - - /* wrapper name transforms */ - strendzap (actual_cwrapper_name, ".exe"); - tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); - XFREE (actual_cwrapper_name); - actual_cwrapper_name = tmp_pathspec; - tmp_pathspec = 0; - - /* target_name transforms -- use actual target program name; might have lt- prefix */ - target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); - strendzap (target_name, ".exe"); - tmp_pathspec = lt_extend_str (target_name, ".exe", 1); - XFREE (target_name); - target_name = tmp_pathspec; - tmp_pathspec = 0; - - lt_debugprintf (__FILE__, __LINE__, - "(main) libtool target name: %s\n", - target_name); -EOF - - cat <<EOF - newargz[0] = - XMALLOC (char, (strlen (actual_cwrapper_path) + - strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); - strcpy (newargz[0], actual_cwrapper_path); - strcat (newargz[0], "$objdir"); - strcat (newargz[0], "/"); -EOF - - cat <<"EOF" - /* stop here, and copy so we don't have to do this twice */ - tmp_pathspec = xstrdup (newargz[0]); - - /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ - strcat (newargz[0], actual_cwrapper_name); - - /* DO want the lt- prefix here if it exists, so use target_name */ - lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); - XFREE (tmp_pathspec); - tmp_pathspec = NULL; -EOF - - case $host_os in - mingw*) - cat <<"EOF" - { - char* p; - while ((p = strchr (newargz[0], '\\')) != NULL) - { - *p = '/'; - } - while ((p = strchr (lt_argv_zero, '\\')) != NULL) - { - *p = '/'; - } - } -EOF - ;; - esac - - cat <<"EOF" - XFREE (target_name); - XFREE (actual_cwrapper_path); - XFREE (actual_cwrapper_name); - - lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ - lt_setenv ("DUALCASE", "1"); /* for MSK sh */ - /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must - be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath) - because on Windows, both *_VARNAMEs are PATH but uninstalled - libraries must come first. */ - lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); - lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); - - lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n", - nonnull (lt_argv_zero)); - for (i = 0; i < newargc; i++) - { - lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n", - i, nonnull (newargz[i])); - } - -EOF - - case $host_os in - mingw*) - cat <<"EOF" - /* execv doesn't actually work on mingw as expected on unix */ - newargz = prepare_spawn (newargz); - rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); - if (rval == -1) - { - /* failed to start process */ - lt_debugprintf (__FILE__, __LINE__, - "(main) failed to launch target \"%s\": %s\n", - lt_argv_zero, nonnull (strerror (errno))); - return 127; - } - return rval; -EOF - ;; - *) - cat <<"EOF" - execv (lt_argv_zero, newargz); - return rval; /* =127, but avoids unused variable warning */ -EOF - ;; - esac - - cat <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void *p = (void *) malloc (num); - if (!p) - lt_fatal (__FILE__, __LINE__, "memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), - string) : NULL; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined HAVE_DOS_BASED_FILE_SYSTEM - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char) name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable (const char *path) -{ - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined HAVE_DOS_BASED_FILE_SYSTEM - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined HAVE_DOS_BASED_FILE_SYSTEM - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = (size_t) (q - p); - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - size_t orig_value_len = strlen (orig_value); - size_t add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # what system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll that has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module=$wl-single_module - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg=$1 - shift - func_quote_arg pretty,unquoted "$arg" - qarg=$func_quote_arg_unquoted_result - func_append libtool_args " $func_quote_arg_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols=$arg - test -f "$arg" \ - || func_fatal_error "symbol file '$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex=$arg - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - if test none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file '$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - os2dllname) - os2dllname=$arg - prev= - continue - ;; - precious_regex) - precious_files_regex=$arg - prev= - continue - ;; - release) - release=-$arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xassembler) - func_append compiler_flags " -Xassembler $qarg" - prev= - func_append compile_command " -Xassembler $qarg" - func_append finalize_command " -Xassembler $qarg" - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg=$arg - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "'-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test X-export-symbols = "X$arg"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between '-L' and '$1'" - else - func_fatal_error "need path for '-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of '$dir'" - dir=$absdir - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test X-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. - -pthread) - case $host in - *solaris2*) ;; - *) - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - ;; - esac - continue - ;; - -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module=$wl-multi_module - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "'-no-install' is ignored for $host" - func_warning "assuming '-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -os2dllname) - prev=os2dllname - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $func_quote_arg_result" - func_append compiler_flags " $func_quote_arg_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $wl$func_quote_arg_result" - func_append compiler_flags " $wl$func_quote_arg_result" - func_append linker_flags " $func_quote_arg_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xassembler) - prev=xassembler - continue - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -specs=* GCC specs files - # -stdlib=* select c++ std lib with clang - # -fsanitize=* Clang/GCC memory and address sanitizer - # -fuse-ld=* Linker select flags for GCC - # -Wa,* Pass flags directly to the assembler - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the '$prevarg' option requires an argument" - - if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname=$func_basename_result - libobjs_save=$libobjs - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=false - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test lib,link = "$linkmode,$pass"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs=$tmp_deplibs - fi - - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib=$searchdir/lib$name$search_ext - if test -f "$lib"; then - if test .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll=$l - done - if test "X$ll" = "X$old_library"; then # only static version available - found=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "'$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir=$func_dirname_result - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - - # This library was specified with -dlopen. - if test dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of '$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir=$ladir - fi - ;; - esac - func_basename "$lib" - laname=$func_basename_result - - # Find the relevant object directory and library name. - if test yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir=$ladir - absdir=$abs_ladir - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then - # Make sure the rpath contains only unique directories. - case $temp_rpath: in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule= - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule=$dlpremoduletest - break - fi - done - if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test lib = "$linkmode" && - test yes = "$hardcode_into_libs"; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname=$1 - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname=$dlname - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - esac - eval soname=\"$soname_spec\" - else - soname=$realname - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot=$soname - func_basename "$soroot" - soname=$func_basename_result - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from '$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for '$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; then - add=$dir/$linklib - case $host in - *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; - *-*-sysv4*uw2*) add_dir=-L$dir ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir=-L$dir ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we cannot - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add=$dir/$old_library - fi - elif test -n "$old_library"; then - add=$dir/$old_library - fi - fi - esac - elif test no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib"; then - add=$inst_prefix_dir$libdir/$linklib - else - add=$libdir/$linklib - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test prog = "$linkmode"; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test unsupported != "$hardcode_direct"; then - test -n "$old_library" && linklib=$old_library - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of '$dir'" - absdir=$dir - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names"; then - for tmp in $deplibrary_names; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl"; then - depdepl=$absdir/$objdir/$depdepl - darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" - path= - fi - fi - ;; - *) - path=-L$absdir/$objdir - ;; - esac - else - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "'$deplib' seems to be moved" - - path=-L$absdir - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=deplibs - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i= - ;; - esac - if test -n "$i"; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "'-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "'-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs=$output - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form 'libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test pass_all != "$deplibs_check_method"; then - func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; then - # Building a libtool convenience library. - # Some compilers have problems with a '.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "'-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs=$IFS; IFS=: - set dummy $vinfo 0 0 0 - shift - IFS=$save_ifs - - test -n "$7" && \ - func_fatal_help "too many parameters to '-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major=$1 - number_minor=$2 - number_revision=$3 - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|sunos) - current=$number_major - revision=$number_minor - age=0 - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_minor - lt_irix_increment=no - ;; - esac - ;; - no) - current=$1 - revision=$2 - age=$3 - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT '$current' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION '$revision' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE '$age' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE '$age' is greater than the current interface number '$current'" - func_fatal_error "'$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf | midnightbsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring=$verstring_prefix$major.$revision - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test 0 -ne "$loop"; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring_prefix$major.$iface:$verstring - done - - # Before this point, $major must not contain '.'. - major=.$major - versuffix=$major.$revision - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=.$current.$age.$revision - verstring=$current.$age.$revision - - # Add in all the interfaces that we are compatible with. - loop=$age - while test 0 -ne "$loop"; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring:$iface.0 - done - - # Make executables depend on our current version. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - - *) - func_fatal_configuration "unknown library version type '$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring=0.0 - ;; - esac - if test no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) - if test -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles=$dlfiles - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles=$dlprefiles - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test yes = "$build_libtool_need_lc"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release= - versuffix= - major= - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c <<EOF - int main() { return 0; } -EOF - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then - ldd_output=`ldd conftest` - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $i "*) - func_append newdeplibs " $i" - i= - ;; - esac - fi - if test -n "$i"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then - func_append newdeplibs " $i" - else - droppeddeps=yes - echo - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which I believe you do not have" - echo "*** because a test_compile did reveal that the linker did not use it for" - echo "*** its dynamic dependency list that programs get resolved with at runtime." - fi - fi - ;; - *) - func_append newdeplibs " $i" - ;; - esac - done - else - # Error occurred in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $i; then - ldd_output=`ldd conftest` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $i "*) - func_append newdeplibs " $i" - i= - ;; - esac - fi - if test -n "$i"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then - func_append newdeplibs " $i" - else - droppeddeps=yes - echo - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because a test_compile did reveal that the linker did not use this one" - echo "*** as a dynamic dependency that programs can get resolved with at runtime." - fi - fi - else - droppeddeps=yes - echo - $ECHO "*** Warning! Library $i is needed by this library but I was not able to" - echo "*** make it link in! You will probably need to install it or some" - echo "*** library that it depends on before this library will be fully" - echo "*** functional. Installing it before continuing would be even better." - fi - ;; - *) - func_append newdeplibs " $i" - ;; - esac - done - fi - ;; - file_magic*) - set dummy $deplibs_check_method; shift - file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - if test -n "$file_magic_glob"; then - libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` - else - libnameglob=$libname - fi - test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - if test yes = "$want_nocaseglob"; then - shopt -s nocaseglob - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib=$potent_lib - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | $SED 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; - *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test no = "$allow_undefined"; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs=$new_libs - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath=$finalize_shlibpath - test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname=$1 - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname=$realname - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib=$output_objdir/$realname - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols=$output_objdir/$libname.uexp - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - func_dll_def_p "$export_symbols" || { - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols=$export_symbols - export_symbols= - always_export_symbols=yes - } - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs=$IFS; IFS='~' - for cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS=$save_ifs - if test -n "$export_symbols_regex" && test : != "$skipped_export"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test : != "$skipped_export" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-$k.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test -z "$objlist" || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-$k.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-$k.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - } - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs=$IFS; IFS='~' - for cmd in $concat_cmds; do - IFS=$save_ifs - $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - ${skipped_export-false} && { - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - } - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "'-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object '$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj=$output - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - output=$obj - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - test yes = "$build_libtool_libs" || { - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - } - - if test -n "$pic_flag" || test default != "$pic_mode"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output=$libobj - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "'-release' is ignored for programs" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath=$rpath - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath=$rpath - - if test -n "$libobjs" && test yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command=$compile_command$compile_rpath - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.$objext"; then - func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' - fi - - exit $exit_status - } - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; then - # We don't need to create a wrapper script. - link_command=$compile_var$compile_command$compile_rpath - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # Fast installation is not supported - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "'$output' will be relinked during installation" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_arg pretty "$var_value" - relink_command="$var=$func_quote_arg_result; export $var; $relink_command" - fi - done - func_quote eval cd "`pwd`" - func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" - relink_command=$func_quote_arg_unquoted_result - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource=$output_path/$objdir/lt-$output_name.c - cwrapper=$output_path/$output_name.exe - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host"; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase=$func_basename_result - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj"; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test -z "$oldobjs"; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test yes = "$build_old_libs" && old_library=$libname.$libext - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_arg pretty,unquoted "$var_value" - relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - func_quote eval cd "`pwd`" - relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - func_quote_arg pretty,unquoted "$relink_command" - relink_command=$func_quote_arg_unquoted_result - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; then - if test -z "$install_libdir"; then - break - fi - output=$output_objdir/${outputname}i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name=$func_basename_result - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs=$newdependency_libs - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles=$newdlprefiles - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test no,yes = "$installed,$need_relink"; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif $rmforce; then - continue - fi - - rmfiles=$file - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && test none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the $objdir's in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# where we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/mdate-sh b/BUILD/libtool-2.4.7/build-aux/mdate-sh deleted file mode 100755 index 8d8bb37..0000000 --- a/BUILD/libtool-2.4.7/build-aux/mdate-sh +++ /dev/null @@ -1,228 +0,0 @@ -#!/bin/sh -# Get modification time of a file or directory and pretty-print it. - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1995-2022 Free Software Foundation, Inc. -# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -fi - -case $1 in - '') - echo "$0: No file. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: mdate-sh [--help] [--version] FILE - -Pretty-print the modification day of FILE, in the format: -1 January 1970 - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "mdate-sh $scriptversion" - exit $? - ;; -esac - -error () -{ - echo "$0: $1" >&2 - exit 1 -} - - -# Prevent date giving response in another language. -LANG=C -export LANG -LC_ALL=C -export LC_ALL -LC_TIME=C -export LC_TIME - -# Use UTC to get reproducible result. -TZ=UTC0 -export TZ - -# GNU ls changes its time format in response to the TIME_STYLE -# variable. Since we cannot assume 'unset' works, revert this -# variable to its documented default. -if test "${TIME_STYLE+set}" = set; then - TIME_STYLE=posix-long-iso - export TIME_STYLE -fi - -save_arg1=$1 - -# Find out how to get the extended ls output of a file or directory. -if ls -L /dev/null 1>/dev/null 2>&1; then - ls_command='ls -L -l -d' -else - ls_command='ls -l -d' -fi -# Avoid user/group names that might have spaces, when possible. -if ls -n /dev/null 1>/dev/null 2>&1; then - ls_command="$ls_command -n" -fi - -# A 'ls -l' line looks as follows on OS/2. -# drwxrwx--- 0 Aug 11 2001 foo -# This differs from Unix, which adds ownership information. -# drwxrwx--- 2 root root 4096 Aug 11 2001 foo -# -# To find the date, we split the line on spaces and iterate on words -# until we find a month. This cannot work with files whose owner is a -# user named "Jan", or "Feb", etc. However, it's unlikely that '/' -# will be owned by a user whose name is a month. So we first look at -# the extended ls output of the root directory to decide how many -# words should be skipped to get the date. - -# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. -set x`$ls_command /` - -# Find which argument is the month. -month= -command= -until test $month -do - test $# -gt 0 || error "failed parsing '$ls_command /' output" - shift - # Add another shift to the command. - command="$command shift;" - case $1 in - Jan) month=January; nummonth=1;; - Feb) month=February; nummonth=2;; - Mar) month=March; nummonth=3;; - Apr) month=April; nummonth=4;; - May) month=May; nummonth=5;; - Jun) month=June; nummonth=6;; - Jul) month=July; nummonth=7;; - Aug) month=August; nummonth=8;; - Sep) month=September; nummonth=9;; - Oct) month=October; nummonth=10;; - Nov) month=November; nummonth=11;; - Dec) month=December; nummonth=12;; - esac -done - -test -n "$month" || error "failed parsing '$ls_command /' output" - -# Get the extended ls output of the file or directory. -set dummy x`eval "$ls_command \"\\\$save_arg1\""` - -# Remove all preceding arguments -eval $command - -# Because of the dummy argument above, month is in $2. -# -# On a POSIX system, we should have -# -# $# = 5 -# $1 = file size -# $2 = month -# $3 = day -# $4 = year or time -# $5 = filename -# -# On Darwin 7.7.0 and 7.6.0, we have -# -# $# = 4 -# $1 = day -# $2 = month -# $3 = year or time -# $4 = filename - -# Get the month. -case $2 in - Jan) month=January; nummonth=1;; - Feb) month=February; nummonth=2;; - Mar) month=March; nummonth=3;; - Apr) month=April; nummonth=4;; - May) month=May; nummonth=5;; - Jun) month=June; nummonth=6;; - Jul) month=July; nummonth=7;; - Aug) month=August; nummonth=8;; - Sep) month=September; nummonth=9;; - Oct) month=October; nummonth=10;; - Nov) month=November; nummonth=11;; - Dec) month=December; nummonth=12;; -esac - -case $3 in - ???*) day=$1;; - *) day=$3; shift;; -esac - -# Here we have to deal with the problem that the ls output gives either -# the time of day or the year. -case $3 in - *:*) set `date`; eval year=\$$# - case $2 in - Jan) nummonthtod=1;; - Feb) nummonthtod=2;; - Mar) nummonthtod=3;; - Apr) nummonthtod=4;; - May) nummonthtod=5;; - Jun) nummonthtod=6;; - Jul) nummonthtod=7;; - Aug) nummonthtod=8;; - Sep) nummonthtod=9;; - Oct) nummonthtod=10;; - Nov) nummonthtod=11;; - Dec) nummonthtod=12;; - esac - # For the first six month of the year the time notation can also - # be used for files modified in the last year. - if (expr $nummonth \> $nummonthtod) > /dev/null; - then - year=`expr $year - 1` - fi;; - *) year=$3;; -esac - -# The result. -echo $day $month $year - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/missing b/BUILD/libtool-2.4.7/build-aux/missing deleted file mode 100755 index 8d0eaad..0000000 --- a/BUILD/libtool-2.4.7/build-aux/missing +++ /dev/null @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 1996-2020 Free Software Foundation, Inc. -# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try '$0 --help' for more information" - exit 1 -fi - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to <bug-automake@gnu.org>." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: unknown '$1' option" - echo 1>&2 "Try '$0 --help' for more information" - exit 1 - ;; - -esac - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=https://www.perl.org/ -flex_URL=https://github.com/westes/flex -gnu_software_URL=https://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/no-bogus-m4-defines b/BUILD/libtool-2.4.7/build-aux/no-bogus-m4-defines deleted file mode 100755 index 873be29..0000000 --- a/BUILD/libtool-2.4.7/build-aux/no-bogus-m4-defines +++ /dev/null @@ -1,61 +0,0 @@ -#! /bin/sh - -# no-bogus-m4-defines - detect wrong m4 definitions -# ------------------------------------------------- -# Try to catch the case where 'aclocal' pulls installed libtool -# macro file contents from another version of libtool into the -# current package 'aclocal.m4'. Currently used by 'make dist' -# and by ./bootstrap (bootstrap.conf). -# -# Copyright (C) 2015-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Please report bugs or propose patches to bug-libtool@gnu.org. - -. `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh -# source this for "GNU m4" detection methods -. `echo "$0" |${SED-sed} 's|[^/]*$||'`/extract-trace - -$require_gnu_m4 - -bogus_macros='LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL' - -bogus_macros_grep='' -for macro in $bogus_macros; do - func_append bogus_macros_grep "/$macro/p;" -done - -clean_false_alarms="pushdef(\`AC_BEFORE', \`')" - -bogus_macros_check_output=`$ECHO "$clean_false_alarms" \ - |$M4 - aclocal.m4 libltdl/aclocal.m4 \ - |$SED -n "$bogus_macros_grep"` - -exit_val=0 -for macro in $bogus_macros; do - case $bogus_macros_check_output in - *$macro*) - func_error "Bogus $macro macro definition in an aclocal.m4 file" - exit_val=1 - ;; - esac -done - -exit $exit_val diff --git a/BUILD/libtool-2.4.7/build-aux/options-parser b/BUILD/libtool-2.4.7/build-aux/options-parser deleted file mode 100644 index e3cfb0f..0000000 --- a/BUILD/libtool-2.4.7/build-aux/options-parser +++ /dev/null @@ -1,685 +0,0 @@ -#! /bin/sh - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2010-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# <https://opensource.org/license/MIT>, and GPL version 2 or later -# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# <https://github.com/gnulib-modules/bootstrap/issues> - -# Set a version string for this script. -scriptversion=2019-02-19.15; # UTC - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# Copyright'. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug in processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# in the main code. A hook is just a list of function names that can be -# run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of hook functions to be called by -# FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_propagate_result FUNC_NAME_A FUNC_NAME_B -# --------------------------------------------- -# If the *_result variable of FUNC_NAME_A _is set_, assign its value to -# *_result variable of FUNC_NAME_B. -func_propagate_result () -{ - $debug_cmd - - func_propagate_result_result=: - if eval "test \"\${${1}_result+set}\" = set" - then - eval "${2}_result=\$${1}_result" - else - func_propagate_result_result=false - fi -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It's assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook functions." ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - func_unset "${_G_hook}_result" - eval $_G_hook '${1+"$@"}' - func_propagate_result $_G_hook func_run_hooks - if $func_propagate_result_result; then - eval set dummy "$func_run_hooks_result"; shift - fi - done -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list from your hook function. You may remove -# or edit any options that you action, and then pass back the remaining -# unprocessed options in '<hooked_function_name>_result', escaped -# suitably for 'eval'. -# -# The '<hooked_function_name>_result' variable is automatically unset -# before your hook gets called; for best performance, only set the -# *_result variable when necessary (i.e. don't call the 'func_quote' -# function unnecessarily because it can be an expensive operation on some -# machines). -# -# Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# # No change in '$@' (ignored completely by this hook). Leave -# # my_options_prep_result variable intact. -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# args_changed=false -# -# # Note that, for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: -# args_changed=: -# ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# args_changed=: -# ;; -# *) # Make sure the first unrecognised option "$_G_opt" -# # is added back to "$@" in case we need it later, -# # if $args_changed was set to 'true'. -# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; -# esac -# done -# -# # Only call 'func_quote' here if we processed at least one argument. -# if $args_changed; then -# func_quote eval ${1+"$@"} -# my_silent_option_result=$func_quote_result -# fi -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll also need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options_finish [ARG]... -# ---------------------------- -# Finishing the option parse loop (call 'func_options' hooks ATM). -func_options_finish () -{ - $debug_cmd - - func_run_hooks func_options ${1+"$@"} - func_propagate_result func_run_hooks func_options_finish -} - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - _G_options_quoted=false - - for my_func in options_prep parse_options validate_options options_finish - do - func_unset func_${my_func}_result - func_unset func_run_hooks_result - eval func_$my_func '${1+"$@"}' - func_propagate_result func_$my_func func_options - if $func_propagate_result_result; then - eval set dummy "$func_options_result"; shift - _G_options_quoted=: - fi - done - - $_G_options_quoted || { - # As we (func_options) are top-level options-parser function and - # nobody quoted "$@" for us yet, we need to do it explicitly for - # caller. - func_quote eval ${1+"$@"} - func_options_result=$func_quote_result - } -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propagate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - func_propagate_result func_run_hooks func_options_prep -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - _G_parse_options_requote=false - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - func_propagate_result func_run_hooks func_parse_options - if $func_propagate_result_result; then - eval set dummy "$func_parse_options_result"; shift - # Even though we may have changed "$@", we passed the "$@" array - # down into the hook and it quoted it for us (because we are in - # this if-branch). No need to quote it again. - _G_parse_options_requote=false - fi - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - # We expect that one of the options parsed in this function matches - # and thus we remove _G_opt from "$@" and need to re-quote. - _G_match_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" >&2 - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - if test $# = 0 && func_missing_arg $_G_opt; then - _G_parse_options_requote=: - break - fi - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) _G_parse_options_requote=: ; break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift - _G_match_parse_options=false - break - ;; - esac - - if $_G_match_parse_options; then - _G_parse_options_requote=: - fi - done - - if $_G_parse_options_requote; then - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - func_parse_options_result=$func_quote_result - fi -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - func_propagate_result func_run_hooks func_validate_options - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables -# after splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - if test "x$func_split_equals_lhs" = "x$1"; then - func_split_equals_rhs= - fi - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs=" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -# The version message is extracted from the calling file's header -# comments, with leading '# ' stripped: -# 1. First display the progname and version -# 2. Followed by the header comment line matching /^# Written by / -# 3. Then a blank line followed by the first following line matching -# /^# Copyright / -# 4. Immediately followed by any lines between the previous matches, -# except lines preceding the intervening completely blank line. -# For example, see the header comments of this file. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /^# Written by /!b - s|^# ||; p; n - - :fwd2blnk - /./ { - n - b fwd2blnk - } - p; n - - :holdwrnt - s|^# || - s|^# *$|| - /^Copyright /!{ - /./H - n - b holdwrnt - } - - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - G - s|\(\n\)\n*|\1|g - p; q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/test-driver b/BUILD/libtool-2.4.7/build-aux/test-driver deleted file mode 100755 index 9759384..0000000 --- a/BUILD/libtool-2.4.7/build-aux/test-driver +++ /dev/null @@ -1,150 +0,0 @@ -#! /bin/sh -# test-driver - basic testsuite driver script. - -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 2011-2020 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -# Make unconditional expansion of undefined variables an error. This -# helps a lot in preventing typo-related bugs. -set -u - -usage_error () -{ - echo "$0: $*" >&2 - print_usage >&2 - exit 2 -} - -print_usage () -{ - cat <<END -Usage: - test-driver --test-name NAME --log-file PATH --trs-file PATH - [--expect-failure {yes|no}] [--color-tests {yes|no}] - [--enable-hard-errors {yes|no}] [--] - TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] - -The '--test-name', '--log-file' and '--trs-file' options are mandatory. -See the GNU Automake documentation for information. -END -} - -test_name= # Used for reporting. -log_file= # Where to save the output of the test script. -trs_file= # Where to save the metadata of the test run. -expect_failure=no -color_tests=no -enable_hard_errors=yes -while test $# -gt 0; do - case $1 in - --help) print_usage; exit $?;; - --version) echo "test-driver $scriptversion"; exit $?;; - --test-name) test_name=$2; shift;; - --log-file) log_file=$2; shift;; - --trs-file) trs_file=$2; shift;; - --color-tests) color_tests=$2; shift;; - --expect-failure) expect_failure=$2; shift;; - --enable-hard-errors) enable_hard_errors=$2; shift;; - --) shift; break;; - -*) usage_error "invalid option: '$1'";; - *) break;; - esac - shift -done - -missing_opts= -test x"$test_name" = x && missing_opts="$missing_opts --test-name" -test x"$log_file" = x && missing_opts="$missing_opts --log-file" -test x"$trs_file" = x && missing_opts="$missing_opts --trs-file" -if test x"$missing_opts" != x; then - usage_error "the following mandatory options are missing:$missing_opts" -fi - -if test $# -eq 0; then - usage_error "missing argument" -fi - -if test $color_tests = yes; then - # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. - red='' # Red. - grn='' # Green. - lgn='' # Light green. - blu='' # Blue. - mgn='' # Magenta. - std='' # No color. -else - red= grn= lgn= blu= mgn= std= -fi - -do_exit='rm -f $log_file $trs_file; (exit $st); exit $st' -trap "st=129; $do_exit" 1 -trap "st=130; $do_exit" 2 -trap "st=141; $do_exit" 13 -trap "st=143; $do_exit" 15 - -# Test script is run here. -"$@" >$log_file 2>&1 -estatus=$? - -if test $enable_hard_errors = no && test $estatus -eq 99; then - tweaked_estatus=1 -else - tweaked_estatus=$estatus -fi - -case $tweaked_estatus:$expect_failure in - 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; - 0:*) col=$grn res=PASS recheck=no gcopy=no;; - 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; - 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; - *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; - *:*) col=$red res=FAIL recheck=yes gcopy=yes;; -esac - -# Report the test outcome and exit status in the logs, so that one can -# know whether the test passed or failed simply by looking at the '.log' -# file, without the need of also peaking into the corresponding '.trs' -# file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file - -# Report outcome to console. -echo "${col}${res}${std}: $test_name" - -# Register the test result, and other relevant metadata. -echo ":test-result: $res" > $trs_file -echo ":global-test-result: $res" >> $trs_file -echo ":recheck: $recheck" >> $trs_file -echo ":copy-in-global-log: $gcopy" >> $trs_file - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/texinfo.tex b/BUILD/libtool-2.4.7/build-aux/texinfo.tex deleted file mode 100644 index 58b6abe..0000000 --- a/BUILD/libtool-2.4.7/build-aux/texinfo.tex +++ /dev/null @@ -1,11592 +0,0 @@ -% texinfo.tex -- TeX macros to handle Texinfo files. -% -% Load plain if necessary, i.e., if running under initex. -\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi -% -\def\texinfoversion{2022-01-02.12} -% -% Copyright 1985, 1986, 1988, 1990-2021 Free Software Foundation, Inc. -% -% This texinfo.tex file is free software: you can redistribute it and/or -% modify it under the terms of the GNU General Public License as -% published by the Free Software Foundation, either version 3 of the -% License, or (at your option) any later version. -% -% This texinfo.tex file is distributed in the hope that it will be -% useful, but WITHOUT ANY WARRANTY; without even the implied warranty -% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -% General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <https://www.gnu.org/licenses/>. -% -% As a special exception, when this file is read by TeX when processing -% a Texinfo source document, you may use the result without -% restriction. This Exception is an additional permission under section 7 -% of the GNU General Public License, version 3 ("GPLv3"). -% -% Please try the latest version of texinfo.tex before submitting bug -% reports; you can get the latest version from: -% https://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or -% https://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or -% https://www.gnu.org/software/texinfo/ (the Texinfo home page) -% The texinfo.tex in any given distribution could well be out -% of date, so if that's what you're using, please check. -% -% Send bug reports to bug-texinfo@gnu.org. Please include a -% complete document in each bug report with which we can reproduce the -% problem. Patches are, of course, greatly appreciated. -% -% To process a Texinfo manual with TeX, it's most reliable to use the -% texi2dvi shell script that comes with the distribution. For a simple -% manual foo.texi, however, you can get away with this: -% tex foo.texi -% texindex foo.?? -% tex foo.texi -% tex foo.texi -% dvips foo.dvi -o # or whatever; this makes foo.ps. -% The extra TeX runs get the cross-reference information correct. -% Sometimes one run after texindex suffices, and sometimes you need more -% than two; texi2dvi does it as many times as necessary. -% -% It is possible to adapt texinfo.tex for other languages, to some -% extent. You can get the existing language-specific files from the -% full Texinfo distribution. -% -% The GNU Texinfo home page is https://www.gnu.org/software/texinfo. - - -\message{Loading texinfo [version \texinfoversion]:} - -% If in a .fmt file, print the version number -% and turn on active characters that we couldn't do earlier because -% they might have appeared in the input file name. -\everyjob{\message{[Texinfo version \texinfoversion]}% - \catcode`+=\active \catcode`\_=\active} - -% LaTeX's \typeout. This ensures that the messages it is used for -% are identical in format to the corresponding ones from latex/pdflatex. -\def\typeout{\immediate\write17}% - -\chardef\other=12 - -% We never want plain's \outer definition of \+ in Texinfo. -% For @tex, we can use \tabalign. -\let\+ = \relax - -% Save some plain tex macros whose names we will redefine. -\let\ptexb=\b -\let\ptexbullet=\bullet -\let\ptexc=\c -\let\ptexcomma=\, -\let\ptexdot=\. -\let\ptexdots=\dots -\let\ptexend=\end -\let\ptexequiv=\equiv -\let\ptexexclam=\! -\let\ptexfootnote=\footnote -\let\ptexgtr=> -\let\ptexhat=^ -\let\ptexi=\i -\let\ptexindent=\indent -\let\ptexinsert=\insert -\let\ptexlbrace=\{ -\let\ptexless=< -\let\ptexnewwrite\newwrite -\let\ptexnoindent=\noindent -\let\ptexplus=+ -\let\ptexraggedright=\raggedright -\let\ptexrbrace=\} -\let\ptexslash=\/ -\let\ptexsp=\sp -\let\ptexstar=\* -\let\ptexsup=\sup -\let\ptext=\t -\let\ptextop=\top -{\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode - -% If this character appears in an error message or help string, it -% starts a new line in the output. -\newlinechar = `^^J - -% Use TeX 3.0's \inputlineno to get the line number, for better error -% messages, but if we're using an old version of TeX, don't do anything. -% -\ifx\inputlineno\thisisundefined - \let\linenumber = \empty % Pre-3.0. -\else - \def\linenumber{l.\the\inputlineno:\space} -\fi - -% Set up fixed words for English if not already set. -\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi -\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi -\ifx\putworderror\undefined \gdef\putworderror{error}\fi -\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi -\ifx\putwordin\undefined \gdef\putwordin{in}\fi -\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi -\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi -\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi -\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi -\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi -\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi -\ifx\putwordof\undefined \gdef\putwordof{of}\fi -\ifx\putwordon\undefined \gdef\putwordon{on}\fi -\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi -\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi -\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi -\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi -\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi -\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi -\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi -% -\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi -\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi -\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi -\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi -\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi -\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi -\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi -\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi -\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi -\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi -\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi -\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi -% -\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi -\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi -\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi -\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi -\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi - -% Give the space character the catcode for a space. -\def\spaceisspace{\catcode`\ =10\relax} - -% Likewise for ^^M, the end of line character. -\def\endlineisspace{\catcode13=10\relax} - -\chardef\dashChar = `\- -\chardef\slashChar = `\/ -\chardef\underChar = `\_ - -% Ignore a token. -% -\def\gobble#1{} - -% The following is used inside several \edef's. -\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} - -% Hyphenation fixes. -\hyphenation{ - Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script - ap-pen-dix bit-map bit-maps - data-base data-bases eshell fall-ing half-way long-est man-u-script - man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm - par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces - spell-ing spell-ings - stand-alone strong-est time-stamp time-stamps which-ever white-space - wide-spread wrap-around -} - -% Sometimes it is convenient to have everything in the transcript file -% and nothing on the terminal. We don't just call \tracingall here, -% since that produces some useless output on the terminal. We also make -% some effort to order the tracing commands to reduce output in the log -% file; cf. trace.sty in LaTeX. -% -\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\def\loggingall{% - \tracingstats2 - \tracingpages1 - \tracinglostchars2 % 2 gives us more in etex - \tracingparagraphs1 - \tracingoutput1 - \tracingmacros2 - \tracingrestores1 - \showboxbreadth\maxdimen \showboxdepth\maxdimen - \ifx\eTeXversion\thisisundefined\else % etex gives us more logging - \tracingscantokens1 - \tracingifs1 - \tracinggroups1 - \tracingnesting2 - \tracingassigns1 - \fi - \tracingcommands3 % 3 gives us more in etex - \errorcontextlines16 -}% - -% @errormsg{MSG}. Do the index-like expansions on MSG, but if things -% aren't perfect, it's not the end of the world, being an error message, -% after all. -% -\def\errormsg{\begingroup \indexnofonts \doerrormsg} -\def\doerrormsg#1{\errmessage{#1}} - -% add check for \lastpenalty to plain's definitions. If the last thing -% we did was a \nobreak, we don't want to insert more space. -% -\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount - \removelastskip\penalty-50\smallskip\fi\fi} -\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount - \removelastskip\penalty-100\medskip\fi\fi} -\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount - \removelastskip\penalty-200\bigskip\fi\fi} - -% Output routine -% - -% For a final copy, take out the rectangles -% that mark overfull boxes (in case you have decided -% that the text looks ok even though it passes the margin). -% -\def\finalout{\overfullrule=0pt } - -\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines -\newdimen\topandbottommargin \topandbottommargin=.75in - -% Output a mark which sets \thischapter, \thissection and \thiscolor. -% We dump everything together because we only have one kind of mark. -% This works because we only use \botmark / \topmark, not \firstmark. -% -% A mark contains a subexpression of the \ifcase ... \fi construct. -% \get*marks macros below extract the needed part using \ifcase. -% -% Another complication is to let the user choose whether \thischapter -% (\thissection) refers to the chapter (section) in effect at the top -% of a page, or that at the bottom of a page. - -% \domark is called twice inside \chapmacro, to add one -% mark before the section break, and one after. -% In the second call \prevchapterdefs is the same as \currentchapterdefs, -% and \prevsectiondefs is the same as \currentsectiondefs. -% Then if the page is not broken at the mark, some of the previous -% section appears on the page, and we can get the name of this section -% from \firstmark for @everyheadingmarks top. -% @everyheadingmarks bottom uses \botmark. -% -% See page 260 of The TeXbook. -\def\domark{% - \toks0=\expandafter{\currentchapterdefs}% - \toks2=\expandafter{\currentsectiondefs}% - \toks4=\expandafter{\prevchapterdefs}% - \toks6=\expandafter{\prevsectiondefs}% - \toks8=\expandafter{\currentcolordefs}% - \mark{% - \the\toks0 \the\toks2 % 0: marks for @everyheadingmarks top - \noexpand\or \the\toks4 \the\toks6 % 1: for @everyheadingmarks bottom - \noexpand\else \the\toks8 % 2: color marks - }% -} - -% \gettopheadingmarks, \getbottomheadingmarks, -% \getcolormarks - extract needed part of mark. -% -% \topmark doesn't work for the very first chapter (after the title -% page or the contents), so we use \firstmark there -- this gets us -% the mark with the chapter defs, unless the user sneaks in, e.g., -% @setcolor (or @url, or @link, etc.) between @contents and the very -% first @chapter. -\def\gettopheadingmarks{% - \ifcase0\the\savedtopmark\fi - \ifx\thischapter\empty \ifcase0\firstmark\fi \fi -} -\def\getbottomheadingmarks{\ifcase1\botmark\fi} -\def\getcolormarks{\ifcase2\the\savedtopmark\fi} - -% Avoid "undefined control sequence" errors. -\def\currentchapterdefs{} -\def\currentsectiondefs{} -\def\currentsection{} -\def\prevchapterdefs{} -\def\prevsectiondefs{} -\def\currentcolordefs{} - -% Margin to add to right of even pages, to left of odd pages. -\newdimen\bindingoffset -\newdimen\normaloffset -\newdimen\txipagewidth \newdimen\txipageheight - -% Main output routine. -% -\chardef\PAGE = 255 -\newtoks\defaultoutput -\defaultoutput = {\savetopmark\onepageout{\pagecontents\PAGE}} -\output=\expandafter{\the\defaultoutput} - -\newbox\headlinebox -\newbox\footlinebox - -% When outputting the double column layout for indices, an output routine -% is run several times, which hides the original value of \topmark. This -% can lead to a page heading being output and duplicating the chapter heading -% of the index. Hence, save the contents of \topmark at the beginning of -% the output routine. The saved contents are valid until we actually -% \shipout a page. -% -% (We used to run a short output routine to actually set \topmark and -% \firstmark to the right values, but if this was called with an empty page -% containing whatsits for writing index entries, the whatsits would be thrown -% away and the index auxiliary file would remain empty.) -% -\newtoks\savedtopmark -\newif\iftopmarksaved -\topmarksavedtrue -\def\savetopmark{% - \iftopmarksaved\else - \global\savedtopmark=\expandafter{\topmark}% - \global\topmarksavedtrue - \fi -} - -% \onepageout takes a vbox as an argument. -% \shipout a vbox for a single page, adding an optional header, footer -% and footnote. This also causes index entries for this page to be written -% to the auxiliary files. -% -\def\onepageout#1{% - \hoffset=\normaloffset - % - \ifodd\pageno \advance\hoffset by \bindingoffset - \else \advance\hoffset by -\bindingoffset\fi - % - \checkchapterpage - % - % Retrieve the information for the headings from the marks in the page, - % and call Plain TeX's \makeheadline and \makefootline, which use the - % values in \headline and \footline. - % - % Common context changes for both heading and footing. - % Do this outside of the \shipout so @code etc. will be expanded in - % the headline as they should be, not taken literally (outputting ''code). - \def\commonheadfootline{\let\hsize=\txipagewidth \texinfochars} - % - \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - \global\setbox\headlinebox = \vbox{\commonheadfootline \makeheadline}% - \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi - \global\setbox\footlinebox = \vbox{\commonheadfootline \makefootline}% - % - {% - % Set context for writing to auxiliary files like index files. - % Have to do this stuff outside the \shipout because we want it to - % take effect in \write's, yet the group defined by the \vbox ends - % before the \shipout runs. - % - \atdummies % don't expand commands in the output. - \turnoffactive - \shipout\vbox{% - % Do this early so pdf references go to the beginning of the page. - \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi - % - \unvbox\headlinebox - \pagebody{#1}% - \ifdim\ht\footlinebox > 0pt - % Only leave this space if the footline is nonempty. - % (We lessened \vsize for it in \oddfootingyyy.) - % The \baselineskip=24pt in plain's \makefootline has no effect. - \vskip 24pt - \unvbox\footlinebox - \fi - % - }% - }% - \global\topmarksavedfalse - \advancepageno - \ifnum\outputpenalty>-20000 \else\dosupereject\fi -} - -\newinsert\margin \dimen\margin=\maxdimen - -% Main part of page, including any footnotes -\def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}} -{\catcode`\@ =11 -\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi -% marginal hacks, juha@viisa.uucp (Juha Takala) -\ifvoid\margin\else % marginal info is present - \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi -\dimen@=\dp#1\relax \unvbox#1\relax -\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi -\ifr@ggedbottom \kern-\dimen@ \vfil \fi} -} - -% Check if we are on the first page of a chapter. Used for printing headings. -\newif\ifchapterpage -\def\checkchapterpage{% - % Get the chapter that was current at the end of the last page - \ifcase1\the\savedtopmark\fi - \let\prevchaptername\thischaptername - % - \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - \let\curchaptername\thischaptername - % - \ifx\curchaptername\prevchaptername - \chapterpagefalse - \else - \chapterpagetrue - \fi -} - -% Argument parsing - -% Parse an argument, then pass it to #1. The argument is the rest of -% the input line (except we remove a trailing comment). #1 should be a -% macro which expects an ordinary undelimited TeX argument. -% For example, \def\foo{\parsearg\fooxxx}. -% -\def\parsearg{\parseargusing{}} -\def\parseargusing#1#2{% - \def\argtorun{#2}% - \begingroup - \obeylines - \spaceisspace - #1% - \parseargline\empty% Insert the \empty token, see \finishparsearg below. -} - -{\obeylines % - \gdef\parseargline#1^^M{% - \endgroup % End of the group started in \parsearg. - \argremovecomment #1\comment\ArgTerm% - }% -} - -% First remove any @comment, then any @c comment. Pass the result on to -% \argcheckspaces. -\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} -\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} - -% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space. -% -% \argremovec might leave us with trailing space, e.g., -% @end itemize @c foo -% This space token undergoes the same procedure and is eventually removed -% by \finishparsearg. -% -\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} -\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} -\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% - \def\temp{#3}% - \ifx\temp\empty - % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: - \let\temp\finishparsearg - \else - \let\temp\argcheckspaces - \fi - % Put the space token in: - \temp#1 #3\ArgTerm -} - -% If a _delimited_ argument is enclosed in braces, they get stripped; so -% to get _exactly_ the rest of the line, we had to prevent such situation. -% We prepended an \empty token at the very beginning and we expand it now, -% just before passing the control to \argtorun. -% (Similarly, we have to think about #3 of \argcheckspacesY above: it is -% either the null string, or it ends with \^^M---thus there is no danger -% that a pair of braces would be stripped. -% -% But first, we have to remove the trailing space token. -% -\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} - - -% \parseargdef - define a command taking an argument on the line -% -% \parseargdef\foo{...} -% is roughly equivalent to -% \def\foo{\parsearg\Xfoo} -% \def\Xfoo#1{...} -\def\parseargdef#1{% - \expandafter \doparseargdef \csname\string#1\endcsname #1% -} -\def\doparseargdef#1#2{% - \def#2{\parsearg#1}% - \def#1##1% -} - -% Several utility definitions with active space: -{ - \obeyspaces - \gdef\obeyedspace{ } - - % Make each space character in the input produce a normal interword - % space in the output. Don't allow a line break at this space, as this - % is used only in environments like @example, where each line of input - % should produce a line of output anyway. - % - \gdef\sepspaces{\obeyspaces\let =\tie} - - % If an index command is used in an @example environment, any spaces - % therein should become regular spaces in the raw index file, not the - % expansion of \tie (\leavevmode \penalty \@M \ ). - \gdef\unsepspaces{\let =\space} -} - - -\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} - -% Define the framework for environments in texinfo.tex. It's used like this: -% -% \envdef\foo{...} -% \def\Efoo{...} -% -% It's the responsibility of \envdef to insert \begingroup before the -% actual body; @end closes the group after calling \Efoo. \envdef also -% defines \thisenv, so the current environment is known; @end checks -% whether the environment name matches. The \checkenv macro can also be -% used to check whether the current environment is the one expected. -% -% Non-false conditionals (@iftex, @ifset) don't fit into this, so they -% are not treated as environments; they don't open a group. (The -% implementation of @end takes care not to call \endgroup in this -% special case.) - - -% At run-time, environments start with this: -\def\startenvironment#1{\begingroup\def\thisenv{#1}} -% initialize -\let\thisenv\empty - -% ... but they get defined via ``\envdef\foo{...}'': -\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} -\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} - -% Check whether we're in the right environment: -\def\checkenv#1{% - \def\temp{#1}% - \ifx\thisenv\temp - \else - \badenverr - \fi -} - -% Environment mismatch, #1 expected: -\def\badenverr{% - \errhelp = \EMsimple - \errmessage{This command can appear only \inenvironment\temp, - not \inenvironment\thisenv}% -} -\def\inenvironment#1{% - \ifx#1\empty - outside of any environment% - \else - in environment \expandafter\string#1% - \fi -} - - -% @end foo calls \checkenv and executes the definition of \Efoo. -\parseargdef\end{% - \if 1\csname iscond.#1\endcsname - \else - % The general wording of \badenverr may not be ideal. - \expandafter\checkenv\csname#1\endcsname - \csname E#1\endcsname - \endgroup - \fi -} - -\newhelp\EMsimple{Press RETURN to continue.} - - -% Be sure we're in horizontal mode when doing a tie, since we make space -% equivalent to this in @example-like environments. Otherwise, a space -% at the beginning of a line will start with \penalty -- and -% since \penalty is valid in vertical mode, we'd end up putting the -% penalty on the vertical list instead of in the new paragraph. -{\catcode`@ = 11 - % Avoid using \@M directly, because that causes trouble - % if the definition is written into an index file. - \global\let\tiepenalty = \@M - \gdef\tie{\leavevmode\penalty\tiepenalty\ } -} - -% @: forces normal size whitespace following. -\def\:{\spacefactor=1000 } - -% @* forces a line break. -\def\*{\unskip\hfil\break\hbox{}\ignorespaces} - -% @/ allows a line break. -\let\/=\allowbreak - -% @. is an end-of-sentence period. -\def\.{.\spacefactor=\endofsentencespacefactor\space} - -% @! is an end-of-sentence bang. -\def\!{!\spacefactor=\endofsentencespacefactor\space} - -% @? is an end-of-sentence query. -\def\?{?\spacefactor=\endofsentencespacefactor\space} - -% @frenchspacing on|off says whether to put extra space after punctuation. -% -\def\onword{on} -\def\offword{off} -% -\parseargdef\frenchspacing{% - \def\temp{#1}% - \ifx\temp\onword \plainfrenchspacing - \else\ifx\temp\offword \plainnonfrenchspacing - \else - \errhelp = \EMsimple - \errmessage{Unknown @frenchspacing option `\temp', must be on|off}% - \fi\fi -} - -% @w prevents a word break. Without the \leavevmode, @w at the -% beginning of a paragraph, when TeX is still in vertical mode, would -% produce a whole line of output instead of starting the paragraph. -\def\w#1{\leavevmode\hbox{#1}} - -% @group ... @end group forces ... to be all on one page, by enclosing -% it in a TeX vbox. We use \vtop instead of \vbox to construct the box -% to keep its height that of a normal line. According to the rules for -% \topskip (p.114 of the TeXbook), the glue inserted is -% max (\topskip - \ht (first item), 0). If that height is large, -% therefore, no glue is inserted, and the space between the headline and -% the text is small, which looks bad. -% -% Another complication is that the group might be very large. This can -% cause the glue on the previous page to be unduly stretched, because it -% does not have much material. In this case, it's better to add an -% explicit \vfill so that the extra space is at the bottom. The -% threshold for doing this is if the group is more than \vfilllimit -% percent of a page (\vfilllimit can be changed inside of @tex). -% -\newbox\groupbox -\def\vfilllimit{0.7} -% -\envdef\group{% - \ifnum\catcode`\^^M=\active \else - \errhelp = \groupinvalidhelp - \errmessage{@group invalid in context where filling is enabled}% - \fi - \startsavinginserts - % - \setbox\groupbox = \vtop\bgroup - % Do @comment since we are called inside an environment such as - % @example, where each end-of-line in the input causes an - % end-of-line in the output. We don't want the end-of-line after - % the `@group' to put extra space in the output. Since @group - % should appear on a line by itself (according to the Texinfo - % manual), we don't worry about eating any user text. - \comment -} -% -% The \vtop produces a box with normal height and large depth; thus, TeX puts -% \baselineskip glue before it, and (when the next line of text is done) -% \lineskip glue after it. Thus, space below is not quite equal to space -% above. But it's pretty close. -\def\Egroup{% - % To get correct interline space between the last line of the group - % and the first line afterwards, we have to propagate \prevdepth. - \endgraf % Not \par, as it may have been set to \lisppar. - \global\dimen1 = \prevdepth - \egroup % End the \vtop. - \addgroupbox - \prevdepth = \dimen1 - \checkinserts -} - -\def\addgroupbox{ - % \dimen0 is the vertical size of the group's box. - \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox - % \dimen2 is how much space is left on the page (more or less). - \dimen2 = \txipageheight \advance\dimen2 by -\pagetotal - % if the group doesn't fit on the current page, and it's a big big - % group, force a page break. - \ifdim \dimen0 > \dimen2 - \ifdim \pagetotal < \vfilllimit\txipageheight - \page - \fi - \fi - \box\groupbox -} - -% -% TeX puts in an \escapechar (i.e., `@') at the beginning of the help -% message, so this ends up printing `@group can only ...'. -% -\newhelp\groupinvalidhelp{% -group can only be used in environments such as @example,^^J% -where each line of input produces a line of output.} - -% @need space-in-mils -% forces a page break if there is not space-in-mils remaining. - -\newdimen\mil \mil=0.001in - -\parseargdef\need{% - % Ensure vertical mode, so we don't make a big box in the middle of a - % paragraph. - \par - % - % If the @need value is less than one line space, it's useless. - \dimen0 = #1\mil - \dimen2 = \ht\strutbox - \advance\dimen2 by \dp\strutbox - \ifdim\dimen0 > \dimen2 - % - % Do a \strut just to make the height of this box be normal, so the - % normal leading is inserted relative to the preceding line. - % And a page break here is fine. - \vtop to #1\mil{\strut\vfil}% - % - % TeX does not even consider page breaks if a penalty added to the - % main vertical list is 10000 or more. But in order to see if the - % empty box we just added fits on the page, we must make it consider - % page breaks. On the other hand, we don't want to actually break the - % page after the empty box. So we use a penalty of 9999. - % - % There is an extremely small chance that TeX will actually break the - % page at this \penalty, if there are no other feasible breakpoints in - % sight. (If the user is using lots of big @group commands, which - % almost-but-not-quite fill up a page, TeX will have a hard time doing - % good page breaking, for example.) However, I could not construct an - % example where a page broke at this \penalty; if it happens in a real - % document, then we can reconsider our strategy. - \penalty9999 - % - % Back up by the size of the box, whether we did a page break or not. - \kern -#1\mil - % - % Do not allow a page break right after this kern. - \nobreak - \fi -} - -% @br forces paragraph break (and is undocumented). - -\let\br = \par - -% @page forces the start of a new page. -% -\def\page{\par\vfill\supereject} - -% @exdent text.... -% outputs text on separate line in roman font, starting at standard page margin - -% This records the amount of indent in the innermost environment. -% That's how much \exdent should take out. -\newskip\exdentamount - -% This defn is used inside fill environments such as @defun. -\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} - -% This defn is used inside nofill environments such as @example. -\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount - \leftline{\hskip\leftskip{\rm#1}}}} - -% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current -% paragraph. For more general purposes, use the \margin insertion -% class. WHICH is `l' or `r'. Not documented, written for gawk manual. -% -\newskip\inmarginspacing \inmarginspacing=1cm -\def\strutdepth{\dp\strutbox} -% -\def\doinmargin#1#2{\strut\vadjust{% - \nobreak - \kern-\strutdepth - \vtop to \strutdepth{% - \baselineskip=\strutdepth - \vss - % if you have multiple lines of stuff to put here, you'll need to - % make the vbox yourself of the appropriate size. - \ifx#1l% - \llap{\ignorespaces #2\hskip\inmarginspacing}% - \else - \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% - \fi - \null - }% -}} -\def\inleftmargin{\doinmargin l} -\def\inrightmargin{\doinmargin r} -% -% @inmargin{TEXT [, RIGHT-TEXT]} -% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; -% else use TEXT for both). -% -\def\inmargin#1{\parseinmargin #1,,\finish} -\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \def\lefttext{#1}% have both texts - \def\righttext{#2}% - \else - \def\lefttext{#1}% have only one text - \def\righttext{#1}% - \fi - % - \ifodd\pageno - \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin - \else - \def\temp{\inleftmargin\lefttext}% - \fi - \temp -} - -% @include FILE -- \input text of FILE. -% -\def\include{\parseargusing\filenamecatcodes\includezzz} -\def\includezzz#1{% - \pushthisfilestack - \def\thisfile{#1}% - {% - \makevalueexpandable % we want to expand any @value in FILE. - \turnoffactive % and allow special characters in the expansion - \indexnofonts % Allow `@@' and other weird things in file names. - \wlog{texinfo.tex: doing @include of #1^^J}% - \edef\temp{\noexpand\input #1 }% - % - % This trickery is to read FILE outside of a group, in case it makes - % definitions, etc. - \expandafter - }\temp - \popthisfilestack -} -\def\filenamecatcodes{% - \catcode`\\=\other - \catcode`~=\other - \catcode`^=\other - \catcode`_=\other - \catcode`|=\other - \catcode`<=\other - \catcode`>=\other - \catcode`+=\other - \catcode`-=\other - \catcode`\`=\other - \catcode`\'=\other -} - -\def\pushthisfilestack{% - \expandafter\pushthisfilestackX\popthisfilestack\StackTerm -} -\def\pushthisfilestackX{% - \expandafter\pushthisfilestackY\thisfile\StackTerm -} -\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% - \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% -} - -\def\popthisfilestack{\errthisfilestackempty} -\def\errthisfilestackempty{\errmessage{Internal error: - the stack of filenames is empty.}} -% -\def\thisfile{} - -% @center line -% outputs that line, centered. -% -\parseargdef\center{% - \ifhmode - \let\centersub\centerH - \else - \let\centersub\centerV - \fi - \centersub{\hfil \ignorespaces#1\unskip \hfil}% - \let\centersub\relax % don't let the definition persist, just in case -} -\def\centerH#1{{% - \hfil\break - \advance\hsize by -\leftskip - \advance\hsize by -\rightskip - \line{#1}% - \break -}} -% -\newcount\centerpenalty -\def\centerV#1{% - % The idea here is the same as in \startdefun, \cartouche, etc.: if - % @center is the first thing after a section heading, we need to wipe - % out the negative parskip inserted by \sectionheading, but still - % prevent a page break here. - \centerpenalty = \lastpenalty - \ifnum\centerpenalty>10000 \vskip\parskip \fi - \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi - \line{\kern\leftskip #1\kern\rightskip}% -} - -% @sp n outputs n lines of vertical space -% -\parseargdef\sp{\vskip #1\baselineskip} - -% @comment ...line which is ignored... -% @c is the same as @comment -% @ignore ... @end ignore is another way to write a comment - - -\def\c{\begingroup \catcode`\^^M=\active% -\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% -\cxxx} -{\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}} -% -\let\comment\c - -% @paragraphindent NCHARS -% We'll use ems for NCHARS, close enough. -% NCHARS can also be the word `asis' or `none'. -% We cannot feasibly implement @paragraphindent asis, though. -% -\def\asisword{asis} % no translation, these are keywords -\def\noneword{none} -% -\parseargdef\paragraphindent{% - \def\temp{#1}% - \ifx\temp\asisword - \else - \ifx\temp\noneword - \defaultparindent = 0pt - \else - \defaultparindent = #1em - \fi - \fi - \parindent = \defaultparindent -} - -% @exampleindent NCHARS -% We'll use ems for NCHARS like @paragraphindent. -% It seems @exampleindent asis isn't necessary, but -% I preserve it to make it similar to @paragraphindent. -\parseargdef\exampleindent{% - \def\temp{#1}% - \ifx\temp\asisword - \else - \ifx\temp\noneword - \lispnarrowing = 0pt - \else - \lispnarrowing = #1em - \fi - \fi -} - -% @firstparagraphindent WORD -% If WORD is `none', then suppress indentation of the first paragraph -% after a section heading. If WORD is `insert', then do indent at such -% paragraphs. -% -% The paragraph indentation is suppressed or not by calling -% \suppressfirstparagraphindent, which the sectioning commands do. -% We switch the definition of this back and forth according to WORD. -% By default, we suppress indentation. -% -\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} -\def\insertword{insert} -% -\parseargdef\firstparagraphindent{% - \def\temp{#1}% - \ifx\temp\noneword - \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent - \else\ifx\temp\insertword - \let\suppressfirstparagraphindent = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @firstparagraphindent option `\temp'}% - \fi\fi -} - -% Here is how we actually suppress indentation. Redefine \everypar to -% \kern backwards by \parindent, and then reset itself to empty. -% -% We also make \indent itself not actually do anything until the next -% paragraph. -% -\gdef\dosuppressfirstparagraphindent{% - \gdef\indent {\restorefirstparagraphindent \indent}% - \gdef\noindent{\restorefirstparagraphindent \noindent}% - \global\everypar = {\kern -\parindent \restorefirstparagraphindent}% -} -% -\gdef\restorefirstparagraphindent{% - \global\let\indent = \ptexindent - \global\let\noindent = \ptexnoindent - \global\everypar = {}% -} - -% leave vertical mode without cancelling any first paragraph indent -\gdef\imageindent{% - \toks0=\everypar - \everypar={}% - \ptexnoindent - \global\everypar=\toks0 -} - - -% @refill is a no-op. -\let\refill=\relax - -% @setfilename INFO-FILENAME - ignored -\let\setfilename=\comment - -% @bye. -\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend} - - -\message{pdf,} -% adobe `portable' document format -\newcount\tempnum -\newcount\lnkcount -\newtoks\filename -\newcount\filenamelength -\newcount\pgn -\newtoks\toksA -\newtoks\toksB -\newtoks\toksC -\newtoks\toksD -\newbox\boxA -\newbox\boxB -\newcount\countA -\newif\ifpdf -\newif\ifpdfmakepagedest - -% -% For LuaTeX -% - -\newif\iftxiuseunicodedestname -\txiuseunicodedestnamefalse % For pdfTeX etc. - -\ifx\luatexversion\thisisundefined -\else - % Use Unicode destination names - \txiuseunicodedestnametrue - % Escape PDF strings with converting UTF-16 from UTF-8 - \begingroup - \catcode`\%=12 - \directlua{ - function UTF16oct(str) - tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377') - for c in string.utfvalues(str) do - if c < 0x10000 then - tex.sprint( - string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. - string.char(0x5c) .. string.char(0x25) .. '03o', - math.floor(c / 256), math.floor(c % 256))) - else - c = c - 0x10000 - local c_hi = c / 1024 + 0xd800 - local c_lo = c % 1024 + 0xdc00 - tex.sprint( - string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. - string.char(0x5c) .. string.char(0x25) .. '03o' .. - string.char(0x5c) .. string.char(0x25) .. '03o' .. - string.char(0x5c) .. string.char(0x25) .. '03o', - math.floor(c_hi / 256), math.floor(c_hi % 256), - math.floor(c_lo / 256), math.floor(c_lo % 256))) - end - end - end - } - \endgroup - \def\pdfescapestrutfsixteen#1{\directlua{UTF16oct('\luaescapestring{#1}')}} - % Escape PDF strings without converting - \begingroup - \directlua{ - function PDFescstr(str) - for c in string.bytes(str) do - if c <= 0x20 or c >= 0x80 or c == 0x28 or c == 0x29 or c == 0x5c then - tex.sprint(-2, - string.format(string.char(0x5c) .. string.char(0x25) .. '03o', - c)) - else - tex.sprint(-2, string.char(c)) - end - end - end - } - % The -2 in the arguments here gives all the input to TeX catcode 12 - % (other) or 10 (space), preventing undefined control sequence errors. See - % https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html - % - \endgroup - \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}} - \ifnum\luatexversion>84 - % For LuaTeX >= 0.85 - \def\pdfdest{\pdfextension dest} - \let\pdfoutput\outputmode - \def\pdfliteral{\pdfextension literal} - \def\pdfcatalog{\pdfextension catalog} - \def\pdftexversion{\numexpr\pdffeedback version\relax} - \let\pdfximage\saveimageresource - \let\pdfrefximage\useimageresource - \let\pdflastximage\lastsavedimageresourceindex - \def\pdfendlink{\pdfextension endlink\relax} - \def\pdfoutline{\pdfextension outline} - \def\pdfstartlink{\pdfextension startlink} - \def\pdffontattr{\pdfextension fontattr} - \def\pdfobj{\pdfextension obj} - \def\pdflastobj{\numexpr\pdffeedback lastobj\relax} - \let\pdfpagewidth\pagewidth - \let\pdfpageheight\pageheight - \edef\pdfhorigin{\pdfvariable horigin} - \edef\pdfvorigin{\pdfvariable vorigin} - \fi -\fi - -% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 -% can be set). So we test for \relax and 0 as well as being undefined. -\ifx\pdfoutput\thisisundefined -\else - \ifx\pdfoutput\relax - \else - \ifcase\pdfoutput - \else - \pdftrue - \fi - \fi -\fi - -\newif\ifpdforxetex -\pdforxetexfalse -\ifpdf - \pdforxetextrue -\fi -\ifx\XeTeXrevision\thisisundefined\else - \pdforxetextrue -\fi - - -% Output page labels information. -% See PDF reference v.1.7 p.594, section 8.3.1. -\ifpdf -\def\pagelabels{% - \def\title{0 << /P (T-) /S /D >>}% - \edef\roman{\the\romancount << /S /r >>}% - \edef\arabic{\the\arabiccount << /S /D >>}% - % - % Page label ranges must be increasing. Remove any duplicates. - % (There is a slight chance of this being wrong if e.g. there is - % a @contents but no @titlepage, etc.) - % - \ifnum\romancount=0 \def\roman{}\fi - \ifnum\arabiccount=0 \def\title{}% - \else - \ifnum\romancount=\arabiccount \def\roman{}\fi - \fi - % - \ifnum\romancount<\arabiccount - \pdfcatalog{/PageLabels << /Nums [\title \roman \arabic ] >> }\relax - \else - \pdfcatalog{/PageLabels << /Nums [\title \arabic \roman ] >> }\relax - \fi -} -\else - \let\pagelabels\relax -\fi - -\newcount\pagecount \pagecount=0 -\newcount\romancount \romancount=0 -\newcount\arabiccount \arabiccount=0 -\ifpdf - \let\ptxadvancepageno\advancepageno - \def\advancepageno{% - \ptxadvancepageno\global\advance\pagecount by 1 - } -\fi - - -% PDF uses PostScript string constants for the names of xref targets, -% for display in the outlines, and in other places. Thus, we have to -% double any backslashes. Otherwise, a name like "\node" will be -% interpreted as a newline (\n), followed by o, d, e. Not good. -% -% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and -% related messages. The final outcome is that it is up to the TeX user -% to double the backslashes and otherwise make the string valid, so -% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to -% do this reliably, so we use it. - -% #1 is a control sequence in which to do the replacements, -% which we \xdef. -\def\txiescapepdf#1{% - \ifx\pdfescapestring\thisisundefined - % No primitive available; should we give a warning or log? - % Many times it won't matter. - \xdef#1{#1}% - \else - % The expandable \pdfescapestring primitive escapes parentheses, - % backslashes, and other special chars. - \xdef#1{\pdfescapestring{#1}}% - \fi -} -\def\txiescapepdfutfsixteen#1{% - \ifx\pdfescapestrutfsixteen\thisisundefined - % No UTF-16 converting macro available. - \txiescapepdf{#1}% - \else - \xdef#1{\pdfescapestrutfsixteen{#1}}% - \fi -} - -\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images -with PDF output, and none of those formats could be found. (.eps cannot -be supported due to the design of the PDF format; use regular TeX (DVI -output) for that.)} - -\ifpdf - % - % Color manipulation macros using ideas from pdfcolor.tex, - % except using rgb instead of cmyk; the latter is said to render as a - % very dark gray on-screen and a very dark halftone in print, instead - % of actual black. The dark red here is dark enough to print on paper as - % nearly black, but still distinguishable for online viewing. We use - % black by default, though. - \def\rgbDarkRed{0.50 0.09 0.12} - \def\rgbBlack{0 0 0} - % - % rg sets the color for filling (usual text, etc.); - % RG sets the color for stroking (thin rules, e.g., normal _'s). - \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} - % - % Set color, and create a mark which defines \thiscolor accordingly, - % so that \makeheadline knows which color to restore. - \def\setcolor#1{% - \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% - \domark - \pdfsetcolor{#1}% - } - % - \def\maincolor{\rgbBlack} - \pdfsetcolor{\maincolor} - \edef\thiscolor{\maincolor} - \def\currentcolordefs{} - % - \def\makefootline{% - \baselineskip24pt - \line{\pdfsetcolor{\maincolor}\the\footline}% - } - % - \def\makeheadline{% - \vbox to 0pt{% - \vskip-22.5pt - \line{% - \vbox to8.5pt{}% - % Extract \thiscolor definition from the marks. - \getcolormarks - % Typeset the headline with \maincolor, then restore the color. - \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% - }% - \vss - }% - \nointerlineskip - } - % - % - \pdfcatalog{/PageMode /UseOutlines} - % - % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). - \def\dopdfimage#1#2#3{% - \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% - \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% - % - % pdftex (and the PDF format) support .pdf, .png, .jpg (among - % others). Let's try in that order, PDF first since if - % someone has a scalable image, presumably better to use that than a - % bitmap. - \let\pdfimgext=\empty - \begingroup - \openin 1 #1.pdf \ifeof 1 - \openin 1 #1.PDF \ifeof 1 - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 - \errhelp = \nopdfimagehelp - \errmessage{Could not find image file #1 for pdf}% - \else \gdef\pdfimgext{JPG}% - \fi - \else \gdef\pdfimgext{jpeg}% - \fi - \else \gdef\pdfimgext{jpg}% - \fi - \else \gdef\pdfimgext{png}% - \fi - \else \gdef\pdfimgext{PDF}% - \fi - \else \gdef\pdfimgext{pdf}% - \fi - \closein 1 - \endgroup - % - % without \immediate, ancient pdftex seg faults when the same image is - % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) - \ifnum\pdftexversion < 14 - \immediate\pdfimage - \else - \immediate\pdfximage - \fi - \ifdim \wd0 >0pt width \pdfimagewidth \fi - \ifdim \wd2 >0pt height \pdfimageheight \fi - \ifnum\pdftexversion<13 - #1.\pdfimgext - \else - {#1.\pdfimgext}% - \fi - \ifnum\pdftexversion < 14 \else - \pdfrefximage \pdflastximage - \fi} - % - \def\setpdfdestname#1{{% - % We have to set dummies so commands such as @code, and characters - % such as \, aren't expanded when present in a section title. - \indexnofonts - \makevalueexpandable - \turnoffactive - \iftxiuseunicodedestname - \ifx \declaredencoding \latone - % Pass through Latin-1 characters. - % LuaTeX with byte wise I/O converts Latin-1 characters to Unicode. - \else - \ifx \declaredencoding \utfeight - % Pass through Unicode characters. - \else - % Use ASCII approximations in destination names. - \passthroughcharsfalse - \fi - \fi - \else - % Use ASCII approximations in destination names. - \passthroughcharsfalse - \fi - \def\pdfdestname{#1}% - \txiescapepdf\pdfdestname - }} - % - \def\setpdfoutlinetext#1{{% - \indexnofonts - \makevalueexpandable - \turnoffactive - \ifx \declaredencoding \latone - % The PDF format can use an extended form of Latin-1 in bookmark - % strings. See Appendix D of the PDF Reference, Sixth Edition, for - % the "PDFDocEncoding". - \passthroughcharstrue - % Pass through Latin-1 characters. - % LuaTeX: Convert to Unicode - % pdfTeX: Use Latin-1 as PDFDocEncoding - \def\pdfoutlinetext{#1}% - \else - \ifx \declaredencoding \utfeight - \ifx\luatexversion\thisisundefined - % For pdfTeX with UTF-8. - % TODO: the PDF format can use UTF-16 in bookmark strings, - % but the code for this isn't done yet. - % Use ASCII approximations. - \passthroughcharsfalse - \def\pdfoutlinetext{#1}% - \else - % For LuaTeX with UTF-8. - % Pass through Unicode characters for title texts. - \passthroughcharstrue - \def\pdfoutlinetext{#1}% - \fi - \else - % For non-Latin-1 or non-UTF-8 encodings. - % Use ASCII approximations. - \passthroughcharsfalse - \def\pdfoutlinetext{#1}% - \fi - \fi - % LuaTeX: Convert to UTF-16 - % pdfTeX: Use Latin-1 as PDFDocEncoding - \txiescapepdfutfsixteen\pdfoutlinetext - }} - % - \def\pdfmkdest#1{% - \setpdfdestname{#1}% - \safewhatsit{\pdfdest name{\pdfdestname} xyz}% - } - % - % used to mark target names; must be expandable. - \def\pdfmkpgn#1{#1} - % - % by default, use black for everything. - \def\urlcolor{\rgbBlack} - \def\linkcolor{\rgbBlack} - \def\endlink{\setcolor{\maincolor}\pdfendlink} - % - % Adding outlines to PDF; macros for calculating structure of outlines - % come from Petr Olsak - \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% - \else \csname#1\endcsname \fi} - \def\advancenumber#1{\tempnum=\expnumber{#1}\relax - \advance\tempnum by 1 - \expandafter\xdef\csname#1\endcsname{\the\tempnum}} - % - % #1 is the section text, which is what will be displayed in the - % outline by the pdf viewer. #2 is the pdf expression for the number - % of subentries (or empty, for subsubsections). #3 is the node text, - % which might be empty if this toc entry had no corresponding node. - % #4 is the page number - % - \def\dopdfoutline#1#2#3#4{% - % Generate a link to the node text if that exists; else, use the - % page number. We could generate a destination for the section - % text in the case where a section has no node, but it doesn't - % seem worth the trouble, since most documents are normally structured. - \setpdfoutlinetext{#1} - \setpdfdestname{#3} - \ifx\pdfdestname\empty - \def\pdfdestname{#4}% - \fi - % - \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}% - } - % - \def\pdfmakeoutlines{% - \begingroup - % Read toc silently, to get counts of subentries for \pdfoutline. - \def\partentry##1##2##3##4{}% ignore parts in the outlines - \def\numchapentry##1##2##3##4{% - \def\thischapnum{##2}% - \def\thissecnum{0}% - \def\thissubsecnum{0}% - }% - \def\numsecentry##1##2##3##4{% - \advancenumber{chap\thischapnum}% - \def\thissecnum{##2}% - \def\thissubsecnum{0}% - }% - \def\numsubsecentry##1##2##3##4{% - \advancenumber{sec\thissecnum}% - \def\thissubsecnum{##2}% - }% - \def\numsubsubsecentry##1##2##3##4{% - \advancenumber{subsec\thissubsecnum}% - }% - \def\thischapnum{0}% - \def\thissecnum{0}% - \def\thissubsecnum{0}% - % - % use \def rather than \let here because we redefine \chapentry et - % al. a second time, below. - \def\appentry{\numchapentry}% - \def\appsecentry{\numsecentry}% - \def\appsubsecentry{\numsubsecentry}% - \def\appsubsubsecentry{\numsubsubsecentry}% - \def\unnchapentry{\numchapentry}% - \def\unnsecentry{\numsecentry}% - \def\unnsubsecentry{\numsubsecentry}% - \def\unnsubsubsecentry{\numsubsubsecentry}% - \readdatafile{toc}% - % - % Read toc second time, this time actually producing the outlines. - % The `-' means take the \expnumber as the absolute number of - % subentries, which we calculated on our first read of the .toc above. - % - % We use the node names as the destinations. - % - % Currently we prefix the section name with the section number - % for chapter and appendix headings only in order to avoid too much - % horizontal space being required in the PDF viewer. - \def\numchapentry##1##2##3##4{% - \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}% - \def\unnchapentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% - \def\numsecentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% - \def\numsubsecentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% - \def\numsubsubsecentry##1##2##3##4{% count is always zero - \dopdfoutline{##1}{}{##3}{##4}}% - % - % PDF outlines are displayed using system fonts, instead of - % document fonts. Therefore we cannot use special characters, - % since the encoding is unknown. For example, the eogonek from - % Latin 2 (0xea) gets translated to a | character. Info from - % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. - % - % TODO this right, we have to translate 8-bit characters to - % their "best" equivalent, based on the @documentencoding. Too - % much work for too little return. Just use the ASCII equivalents - % we use for the index sort strings. - % - \indexnofonts - \setupdatafile - % We can have normal brace characters in the PDF outlines, unlike - % Texinfo index files. So set that up. - \def\{{\lbracecharliteral}% - \def\}{\rbracecharliteral}% - \catcode`\\=\active \otherbackslash - \input \tocreadfilename - \endgroup - } - {\catcode`[=1 \catcode`]=2 - \catcode`{=\other \catcode`}=\other - \gdef\lbracecharliteral[{]% - \gdef\rbracecharliteral[}]% - ] - % - \def\skipspaces#1{\def\PP{#1}\def\D{|}% - \ifx\PP\D\let\nextsp\relax - \else\let\nextsp\skipspaces - \addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi - \nextsp} - \def\getfilename#1{% - \filenamelength=0 - % If we don't expand the argument now, \skipspaces will get - % snagged on things like "@value{foo}". - \edef\temp{#1}% - \expandafter\skipspaces\temp|\relax - } - \ifnum\pdftexversion < 14 - \let \startlink \pdfannotlink - \else - \let \startlink \pdfstartlink - \fi - % make a live url in pdf output. - \def\pdfurl#1{% - \begingroup - % it seems we really need yet another set of dummies; have not - % tried to figure out what each command should do in the context - % of @url. for now, just make @/ a no-op, that's the only one - % people have actually reported a problem with. - % - \normalturnoffactive - \def\@{@}% - \let\/=\empty - \makevalueexpandable - % do we want to go so far as to use \indexnofonts instead of just - % special-casing \var here? - \def\var##1{##1}% - % - \leavevmode\setcolor{\urlcolor}% - \startlink attr{/Border [0 0 0]}% - user{/Subtype /Link /A << /S /URI /URI (#1) >>}% - \endgroup} - % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may - % be a simple number, or a list of numbers in the case of an index - % entry. - \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} - \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} - \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} - \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} - \def\maketoks{% - \expandafter\poptoks\the\toksA|ENDTOKS|\relax - \ifx\first0\adn0 - \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 - \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 - \else - \ifnum0=\countA\else\makelink\fi - \ifx\first.\let\next=\done\else - \let\next=\maketoks - \addtokens{\toksB}{\the\toksD} - \ifx\first,\addtokens{\toksB}{\space}\fi - \fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \next} - \def\makelink{\addtokens{\toksB}% - {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} - \def\pdflink#1{% - \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} - \setcolor{\linkcolor}#1\endlink} - \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} -\else - % non-pdf mode - \let\pdfmkdest = \gobble - \let\pdfurl = \gobble - \let\endlink = \relax - \let\setcolor = \gobble - \let\pdfsetcolor = \gobble - \let\pdfmakeoutlines = \relax -\fi % \ifx\pdfoutput - -% -% For XeTeX -% -\ifx\XeTeXrevision\thisisundefined -\else - % - % XeTeX version check - % - \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99996}>-1 - % TeX Live 2016 contains XeTeX 0.99996 and xdvipdfmx 20160307. - % It can use the `dvipdfmx:config' special (from TeX Live SVN r40941). - % For avoiding PDF destination name replacement, we use this special - % instead of xdvipdfmx's command line option `-C 0x0010'. - \special{dvipdfmx:config C 0x0010} - % XeTeX 0.99995+ comes with xdvipdfmx 20160307+. - % It can handle Unicode destination names for PDF. - \txiuseunicodedestnametrue - \else - % XeTeX < 0.99996 (TeX Live < 2016) cannot use the - % `dvipdfmx:config' special. - % So for avoiding PDF destination name replacement, - % xdvipdfmx's command line option `-C 0x0010' is necessary. - % - % XeTeX < 0.99995 can not handle Unicode destination names for PDF - % because xdvipdfmx 20150315 has a UTF-16 conversion issue. - % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). - \txiuseunicodedestnamefalse - \fi - % - % Color support - % - \def\rgbDarkRed{0.50 0.09 0.12} - \def\rgbBlack{0 0 0} - % - \def\pdfsetcolor#1{\special{pdf:scolor [#1]}} - % - % Set color, and create a mark which defines \thiscolor accordingly, - % so that \makeheadline knows which color to restore. - \def\setcolor#1{% - \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% - \domark - \pdfsetcolor{#1}% - } - % - \def\maincolor{\rgbBlack} - \pdfsetcolor{\maincolor} - \edef\thiscolor{\maincolor} - \def\currentcolordefs{} - % - \def\makefootline{% - \baselineskip24pt - \line{\pdfsetcolor{\maincolor}\the\footline}% - } - % - \def\makeheadline{% - \vbox to 0pt{% - \vskip-22.5pt - \line{% - \vbox to8.5pt{}% - % Extract \thiscolor definition from the marks. - \getcolormarks - % Typeset the headline with \maincolor, then restore the color. - \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% - }% - \vss - }% - \nointerlineskip - } - % - % PDF outline support - % - % Emulate pdfTeX primitive - \def\pdfdest name#1 xyz{% - \special{pdf:dest (#1) [@thispage /XYZ @xpos @ypos null]}% - } - % - \def\setpdfdestname#1{{% - % We have to set dummies so commands such as @code, and characters - % such as \, aren't expanded when present in a section title. - \indexnofonts - \makevalueexpandable - \turnoffactive - \iftxiuseunicodedestname - % Pass through Unicode characters. - \else - % Use ASCII approximations in destination names. - \passthroughcharsfalse - \fi - \def\pdfdestname{#1}% - \txiescapepdf\pdfdestname - }} - % - \def\setpdfoutlinetext#1{{% - \turnoffactive - % Always use Unicode characters in title texts. - \def\pdfoutlinetext{#1}% - % For XeTeX, xdvipdfmx converts to UTF-16. - % So we do not convert. - \txiescapepdf\pdfoutlinetext - }} - % - \def\pdfmkdest#1{% - \setpdfdestname{#1}% - \safewhatsit{\pdfdest name{\pdfdestname} xyz}% - } - % - % by default, use black for everything. - \def\urlcolor{\rgbBlack} - \def\linkcolor{\rgbBlack} - \def\endlink{\setcolor{\maincolor}\pdfendlink} - % - \def\dopdfoutline#1#2#3#4{% - \setpdfoutlinetext{#1} - \setpdfdestname{#3} - \ifx\pdfdestname\empty - \def\pdfdestname{#4}% - \fi - % - \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A - << /S /GoTo /D (\pdfdestname) >> >> }% - } - % - \def\pdfmakeoutlines{% - \begingroup - % - % For XeTeX, counts of subentries are not necessary. - % Therefore, we read toc only once. - % - % We use node names as destinations. - % - % Currently we prefix the section name with the section number - % for chapter and appendix headings only in order to avoid too much - % horizontal space being required in the PDF viewer. - \def\partentry##1##2##3##4{}% ignore parts in the outlines - \def\numchapentry##1##2##3##4{% - \dopdfoutline{##2 ##1}{1}{##3}{##4}}% - \def\numsecentry##1##2##3##4{% - \dopdfoutline{##1}{2}{##3}{##4}}% - \def\numsubsecentry##1##2##3##4{% - \dopdfoutline{##1}{3}{##3}{##4}}% - \def\numsubsubsecentry##1##2##3##4{% - \dopdfoutline{##1}{4}{##3}{##4}}% - % - \let\appentry\numchapentry% - \let\appsecentry\numsecentry% - \let\appsubsecentry\numsubsecentry% - \let\appsubsubsecentry\numsubsubsecentry% - \def\unnchapentry##1##2##3##4{% - \dopdfoutline{##1}{1}{##3}{##4}}% - \let\unnsecentry\numsecentry% - \let\unnsubsecentry\numsubsecentry% - \let\unnsubsubsecentry\numsubsubsecentry% - % - % For XeTeX, xdvipdfmx converts strings to UTF-16. - % Therefore, the encoding and the language may not be considered. - % - \indexnofonts - \setupdatafile - % We can have normal brace characters in the PDF outlines, unlike - % Texinfo index files. So set that up. - \def\{{\lbracecharliteral}% - \def\}{\rbracecharliteral}% - \catcode`\\=\active \otherbackslash - \input \tocreadfilename - \endgroup - } - {\catcode`[=1 \catcode`]=2 - \catcode`{=\other \catcode`}=\other - \gdef\lbracecharliteral[{]% - \gdef\rbracecharliteral[}]% - ] - - \special{pdf:docview << /PageMode /UseOutlines >> } - % ``\special{pdf:tounicode ...}'' is not necessary - % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it. - % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315, - % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings. - % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). -% - \def\skipspaces#1{\def\PP{#1}\def\D{|}% - \ifx\PP\D\let\nextsp\relax - \else\let\nextsp\skipspaces - \addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi - \nextsp} - \def\getfilename#1{% - \filenamelength=0 - % If we don't expand the argument now, \skipspaces will get - % snagged on things like "@value{foo}". - \edef\temp{#1}% - \expandafter\skipspaces\temp|\relax - } - % make a live url in pdf output. - \def\pdfurl#1{% - \begingroup - % it seems we really need yet another set of dummies; have not - % tried to figure out what each command should do in the context - % of @url. for now, just make @/ a no-op, that's the only one - % people have actually reported a problem with. - % - \normalturnoffactive - \def\@{@}% - \let\/=\empty - \makevalueexpandable - % do we want to go so far as to use \indexnofonts instead of just - % special-casing \var here? - \def\var##1{##1}% - % - \leavevmode\setcolor{\urlcolor}% - \special{pdf:bann << /Border [0 0 0] - /Subtype /Link /A << /S /URI /URI (#1) >> >>}% - \endgroup} - \def\endlink{\setcolor{\maincolor}\special{pdf:eann}} - \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} - \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} - \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} - \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} - \def\maketoks{% - \expandafter\poptoks\the\toksA|ENDTOKS|\relax - \ifx\first0\adn0 - \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 - \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 - \else - \ifnum0=\countA\else\makelink\fi - \ifx\first.\let\next=\done\else - \let\next=\maketoks - \addtokens{\toksB}{\the\toksD} - \ifx\first,\addtokens{\toksB}{\space}\fi - \fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \next} - \def\makelink{\addtokens{\toksB}% - {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} - \def\pdflink#1{% - \special{pdf:bann << /Border [0 0 0] - /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}% - \setcolor{\linkcolor}#1\endlink} - \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} -% - % - % @image support - % - % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). - \def\doxeteximage#1#2#3{% - \def\xeteximagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% - \def\xeteximageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% - % - % XeTeX (and the PDF format) supports .pdf, .png, .jpg (among - % others). Let's try in that order, PDF first since if - % someone has a scalable image, presumably better to use that than a - % bitmap. - \let\xeteximgext=\empty - \begingroup - \openin 1 #1.pdf \ifeof 1 - \openin 1 #1.PDF \ifeof 1 - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 - \errmessage{Could not find image file #1 for XeTeX}% - \else \gdef\xeteximgext{JPG}% - \fi - \else \gdef\xeteximgext{jpeg}% - \fi - \else \gdef\xeteximgext{jpg}% - \fi - \else \gdef\xeteximgext{png}% - \fi - \else \gdef\xeteximgext{PDF}% - \fi - \else \gdef\xeteximgext{pdf}% - \fi - \closein 1 - \endgroup - % - % Putting an \hbox around the image can prevent an over-long line - % after the image. - \hbox\bgroup - \def\xetexpdfext{pdf}% - \ifx\xeteximgext\xetexpdfext - \XeTeXpdffile "#1".\xeteximgext "" - \else - \def\xetexpdfext{PDF}% - \ifx\xeteximgext\xetexpdfext - \XeTeXpdffile "#1".\xeteximgext "" - \else - \XeTeXpicfile "#1".\xeteximgext "" - \fi - \fi - \ifdim \wd0 >0pt width \xeteximagewidth \fi - \ifdim \wd2 >0pt height \xeteximageheight \fi \relax - \egroup - } -\fi - - -% -\message{fonts,} - -% Set the baselineskip to #1, and the lineskip and strut size -% correspondingly. There is no deep meaning behind these magic numbers -% used as factors; they just match (closely enough) what Knuth defined. -% -\def\lineskipfactor{.08333} -\def\strutheightpercent{.70833} -\def\strutdepthpercent {.29167} -% -% can get a sort of poor man's double spacing by redefining this. -\def\baselinefactor{1} -% -\newdimen\textleading -\def\setleading#1{% - \dimen0 = #1\relax - \normalbaselineskip = \baselinefactor\dimen0 - \normallineskip = \lineskipfactor\normalbaselineskip - \normalbaselines - \setbox\strutbox =\hbox{% - \vrule width0pt height\strutheightpercent\baselineskip - depth \strutdepthpercent \baselineskip - }% -} - -% PDF CMaps. See also LaTeX's t1.cmap. -% -% do nothing with this by default. -\expandafter\let\csname cmapOT1\endcsname\gobble -\expandafter\let\csname cmapOT1IT\endcsname\gobble -\expandafter\let\csname cmapOT1TT\endcsname\gobble - -% if we are producing pdf, and we have \pdffontattr, then define cmaps. -% (\pdffontattr was introduced many years ago, but people still run -% older pdftex's; it's easy to conditionalize, so we do.) -\ifpdf \ifx\pdffontattr\thisisundefined \else - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1-0) -%%Title: (TeX-OT1-0 TeX OT1 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1) -/Supplement 0 ->> def -/CMapName /TeX-OT1-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -8 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<23> <26> <0023> -<28> <3B> <0028> -<3F> <5B> <003F> -<5D> <5E> <005D> -<61> <7A> <0061> -<7B> <7C> <2013> -endbfrange -40 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <00660066> -<0C> <00660069> -<0D> <0066006C> -<0E> <006600660069> -<0F> <00660066006C> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<21> <0021> -<22> <201D> -<27> <2019> -<3C> <00A1> -<3D> <003D> -<3E> <00BF> -<5C> <201C> -<5F> <02D9> -<60> <2018> -<7D> <02DD> -<7E> <007E> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -% -% \cmapOT1IT - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1IT-0) -%%Title: (TeX-OT1IT-0 TeX OT1IT 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1IT) -/Supplement 0 ->> def -/CMapName /TeX-OT1IT-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -8 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<25> <26> <0025> -<28> <3B> <0028> -<3F> <5B> <003F> -<5D> <5E> <005D> -<61> <7A> <0061> -<7B> <7C> <2013> -endbfrange -42 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <00660066> -<0C> <00660069> -<0D> <0066006C> -<0E> <006600660069> -<0F> <00660066006C> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<21> <0021> -<22> <201D> -<23> <0023> -<24> <00A3> -<27> <2019> -<3C> <00A1> -<3D> <003D> -<3E> <00BF> -<5C> <201C> -<5F> <02D9> -<60> <2018> -<7D> <02DD> -<7E> <007E> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1IT\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -% -% \cmapOT1TT - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1TT-0) -%%Title: (TeX-OT1TT-0 TeX OT1TT 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1TT) -/Supplement 0 ->> def -/CMapName /TeX-OT1TT-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -5 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<21> <26> <0021> -<28> <5F> <0028> -<61> <7E> <0061> -endbfrange -32 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <2191> -<0C> <2193> -<0D> <0027> -<0E> <00A1> -<0F> <00BF> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<20> <2423> -<27> <2019> -<60> <2018> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1TT\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -\fi\fi - - -% Set the font macro #1 to the font named \fontprefix#2. -% #3 is the font's design size, #4 is a scale factor, #5 is the CMap -% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit). -% Example: -% #1 = \textrm -% #2 = \rmshape -% #3 = 10 -% #4 = \mainmagstep -% #5 = OT1 -% -\def\setfont#1#2#3#4#5{% - \font#1=\fontprefix#2#3 scaled #4 - \csname cmap#5\endcsname#1% -} -% This is what gets called when #5 of \setfont is empty. -\let\cmap\gobble -% -% (end of cmaps) - -% Use cm as the default font prefix. -% To specify the font prefix, you must define \fontprefix -% before you read in texinfo.tex. -\ifx\fontprefix\thisisundefined -\def\fontprefix{cm} -\fi -% Support font families that don't use the same naming scheme as CM. -\def\rmshape{r} -\def\rmbshape{bx} % where the normal face is bold -\def\bfshape{b} -\def\bxshape{bx} -\def\ttshape{tt} -\def\ttbshape{tt} -\def\ttslshape{sltt} -\def\itshape{ti} -\def\itbshape{bxti} -\def\slshape{sl} -\def\slbshape{bxsl} -\def\sfshape{ss} -\def\sfbshape{ss} -\def\scshape{csc} -\def\scbshape{csc} - -% Definitions for a main text size of 11pt. (The default in Texinfo.) -% -\def\definetextfontsizexi{% -% Text fonts (11.2pt, magstep1). -\def\textnominalsize{11pt} -\edef\mainmagstep{\magstephalf} -\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} -\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} -\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} -\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} -\setfont\textsl\slshape{10}{\mainmagstep}{OT1} -\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} -\setfont\textsc\scshape{10}{\mainmagstep}{OT1} -\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} -\font\texti=cmmi10 scaled \mainmagstep -\font\textsy=cmsy10 scaled \mainmagstep -\def\textecsize{1095} - -% A few fonts for @defun names and args. -\setfont\defbf\bfshape{10}{\magstep1}{OT1} -\setfont\deftt\ttshape{10}{\magstep1}{OT1TT} -\setfont\defsl\slshape{10}{\magstep1}{OT1} -\setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} -\def\df{\let\ttfont=\deftt \let\bffont = \defbf -\let\ttslfont=\defttsl \let\slfont=\defsl \bf} - -% Fonts for indices, footnotes, small examples (9pt). -\def\smallnominalsize{9pt} -\setfont\smallrm\rmshape{9}{1000}{OT1} -\setfont\smalltt\ttshape{9}{1000}{OT1TT} -\setfont\smallbf\bfshape{10}{900}{OT1} -\setfont\smallit\itshape{9}{1000}{OT1IT} -\setfont\smallsl\slshape{9}{1000}{OT1} -\setfont\smallsf\sfshape{9}{1000}{OT1} -\setfont\smallsc\scshape{10}{900}{OT1} -\setfont\smallttsl\ttslshape{10}{900}{OT1TT} -\font\smalli=cmmi9 -\font\smallsy=cmsy9 -\def\smallecsize{0900} - -% Fonts for small examples (8pt). -\def\smallernominalsize{8pt} -\setfont\smallerrm\rmshape{8}{1000}{OT1} -\setfont\smallertt\ttshape{8}{1000}{OT1TT} -\setfont\smallerbf\bfshape{10}{800}{OT1} -\setfont\smallerit\itshape{8}{1000}{OT1IT} -\setfont\smallersl\slshape{8}{1000}{OT1} -\setfont\smallersf\sfshape{8}{1000}{OT1} -\setfont\smallersc\scshape{10}{800}{OT1} -\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} -\font\smalleri=cmmi8 -\font\smallersy=cmsy8 -\def\smallerecsize{0800} - -% Fonts for math mode superscripts (7pt). -\def\sevennominalsize{7pt} -\setfont\sevenrm\rmshape{7}{1000}{OT1} -\setfont\seventt\ttshape{10}{700}{OT1TT} -\setfont\sevenbf\bfshape{10}{700}{OT1} -\setfont\sevenit\itshape{7}{1000}{OT1IT} -\setfont\sevensl\slshape{10}{700}{OT1} -\setfont\sevensf\sfshape{10}{700}{OT1} -\setfont\sevensc\scshape{10}{700}{OT1} -\setfont\seventtsl\ttslshape{10}{700}{OT1TT} -\font\seveni=cmmi7 -\font\sevensy=cmsy7 -\def\sevenecsize{0700} - -% Fonts for title page (20.4pt): -\def\titlenominalsize{20pt} -\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} -\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} -\setfont\titlesl\slbshape{10}{\magstep4}{OT1} -\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} -\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} -\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} -\let\titlebf=\titlerm -\setfont\titlesc\scbshape{10}{\magstep4}{OT1} -\font\titlei=cmmi12 scaled \magstep3 -\font\titlesy=cmsy10 scaled \magstep4 -\def\titleecsize{2074} - -% Chapter (and unnumbered) fonts (17.28pt). -\def\chapnominalsize{17pt} -\setfont\chaprm\rmbshape{12}{\magstep2}{OT1} -\setfont\chapit\itbshape{10}{\magstep3}{OT1IT} -\setfont\chapsl\slbshape{10}{\magstep3}{OT1} -\setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} -\setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} -\setfont\chapsf\sfbshape{17}{1000}{OT1} -\let\chapbf=\chaprm -\setfont\chapsc\scbshape{10}{\magstep3}{OT1} -\font\chapi=cmmi12 scaled \magstep2 -\font\chapsy=cmsy10 scaled \magstep3 -\def\chapecsize{1728} - -% Section fonts (14.4pt). -\def\secnominalsize{14pt} -\setfont\secrm\rmbshape{12}{\magstep1}{OT1} -\setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1} -\setfont\secit\itbshape{10}{\magstep2}{OT1IT} -\setfont\secsl\slbshape{10}{\magstep2}{OT1} -\setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} -\setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} -\setfont\secsf\sfbshape{12}{\magstep1}{OT1} -\let\secbf\secrm -\setfont\secsc\scbshape{10}{\magstep2}{OT1} -\font\seci=cmmi12 scaled \magstep1 -\font\secsy=cmsy10 scaled \magstep2 -\def\sececsize{1440} - -% Subsection fonts (13.15pt). -\def\ssecnominalsize{13pt} -\setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} -\setfont\ssecit\itbshape{10}{1315}{OT1IT} -\setfont\ssecsl\slbshape{10}{1315}{OT1} -\setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} -\setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} -\setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} -\let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{1315}{OT1} -\font\sseci=cmmi12 scaled \magstephalf -\font\ssecsy=cmsy10 scaled 1315 -\def\ssececsize{1200} - -% Reduced fonts for @acronym in text (10pt). -\def\reducednominalsize{10pt} -\setfont\reducedrm\rmshape{10}{1000}{OT1} -\setfont\reducedtt\ttshape{10}{1000}{OT1TT} -\setfont\reducedbf\bfshape{10}{1000}{OT1} -\setfont\reducedit\itshape{10}{1000}{OT1IT} -\setfont\reducedsl\slshape{10}{1000}{OT1} -\setfont\reducedsf\sfshape{10}{1000}{OT1} -\setfont\reducedsc\scshape{10}{1000}{OT1} -\setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} -\font\reducedi=cmmi10 -\font\reducedsy=cmsy10 -\def\reducedecsize{1000} - -\textleading = 13.2pt % line spacing for 11pt CM -\textfonts % reset the current fonts -\rm -} % end of 11pt text font size definitions, \definetextfontsizexi - - -% Definitions to make the main text be 10pt Computer Modern, with -% section, chapter, etc., sizes following suit. This is for the GNU -% Press printing of the Emacs 22 manual. Maybe other manuals in the -% future. Used with @smallbook, which sets the leading to 12pt. -% -\def\definetextfontsizex{% -% Text fonts (10pt). -\def\textnominalsize{10pt} -\edef\mainmagstep{1000} -\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} -\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} -\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} -\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} -\setfont\textsl\slshape{10}{\mainmagstep}{OT1} -\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} -\setfont\textsc\scshape{10}{\mainmagstep}{OT1} -\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} -\font\texti=cmmi10 scaled \mainmagstep -\font\textsy=cmsy10 scaled \mainmagstep -\def\textecsize{1000} - -% A few fonts for @defun names and args. -\setfont\defbf\bfshape{10}{\magstephalf}{OT1} -\setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} -\setfont\defsl\slshape{10}{\magstephalf}{OT1} -\setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} -\def\df{\let\ttfont=\deftt \let\bffont = \defbf -\let\slfont=\defsl \let\ttslfont=\defttsl \bf} - -% Fonts for indices, footnotes, small examples (9pt). -\def\smallnominalsize{9pt} -\setfont\smallrm\rmshape{9}{1000}{OT1} -\setfont\smalltt\ttshape{9}{1000}{OT1TT} -\setfont\smallbf\bfshape{10}{900}{OT1} -\setfont\smallit\itshape{9}{1000}{OT1IT} -\setfont\smallsl\slshape{9}{1000}{OT1} -\setfont\smallsf\sfshape{9}{1000}{OT1} -\setfont\smallsc\scshape{10}{900}{OT1} -\setfont\smallttsl\ttslshape{10}{900}{OT1TT} -\font\smalli=cmmi9 -\font\smallsy=cmsy9 -\def\smallecsize{0900} - -% Fonts for small examples (8pt). -\def\smallernominalsize{8pt} -\setfont\smallerrm\rmshape{8}{1000}{OT1} -\setfont\smallertt\ttshape{8}{1000}{OT1TT} -\setfont\smallerbf\bfshape{10}{800}{OT1} -\setfont\smallerit\itshape{8}{1000}{OT1IT} -\setfont\smallersl\slshape{8}{1000}{OT1} -\setfont\smallersf\sfshape{8}{1000}{OT1} -\setfont\smallersc\scshape{10}{800}{OT1} -\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} -\font\smalleri=cmmi8 -\font\smallersy=cmsy8 -\def\smallerecsize{0800} - -% Fonts for math mode superscripts (7pt). -\def\sevennominalsize{7pt} -\setfont\sevenrm\rmshape{7}{1000}{OT1} -\setfont\seventt\ttshape{10}{700}{OT1TT} -\setfont\sevenbf\bfshape{10}{700}{OT1} -\setfont\sevenit\itshape{7}{1000}{OT1IT} -\setfont\sevensl\slshape{10}{700}{OT1} -\setfont\sevensf\sfshape{10}{700}{OT1} -\setfont\sevensc\scshape{10}{700}{OT1} -\setfont\seventtsl\ttslshape{10}{700}{OT1TT} -\font\seveni=cmmi7 -\font\sevensy=cmsy7 -\def\sevenecsize{0700} - -% Fonts for title page (20.4pt): -\def\titlenominalsize{20pt} -\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} -\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} -\setfont\titlesl\slbshape{10}{\magstep4}{OT1} -\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} -\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} -\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} -\let\titlebf=\titlerm -\setfont\titlesc\scbshape{10}{\magstep4}{OT1} -\font\titlei=cmmi12 scaled \magstep3 -\font\titlesy=cmsy10 scaled \magstep4 -\def\titleecsize{2074} - -% Chapter fonts (14.4pt). -\def\chapnominalsize{14pt} -\setfont\chaprm\rmbshape{12}{\magstep1}{OT1} -\setfont\chapit\itbshape{10}{\magstep2}{OT1IT} -\setfont\chapsl\slbshape{10}{\magstep2}{OT1} -\setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} -\setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} -\setfont\chapsf\sfbshape{12}{\magstep1}{OT1} -\let\chapbf\chaprm -\setfont\chapsc\scbshape{10}{\magstep2}{OT1} -\font\chapi=cmmi12 scaled \magstep1 -\font\chapsy=cmsy10 scaled \magstep2 -\def\chapecsize{1440} - -% Section fonts (12pt). -\def\secnominalsize{12pt} -\setfont\secrm\rmbshape{12}{1000}{OT1} -\setfont\secit\itbshape{10}{\magstep1}{OT1IT} -\setfont\secsl\slbshape{10}{\magstep1}{OT1} -\setfont\sectt\ttbshape{12}{1000}{OT1TT} -\setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} -\setfont\secsf\sfbshape{12}{1000}{OT1} -\let\secbf\secrm -\setfont\secsc\scbshape{10}{\magstep1}{OT1} -\font\seci=cmmi12 -\font\secsy=cmsy10 scaled \magstep1 -\def\sececsize{1200} - -% Subsection fonts (10pt). -\def\ssecnominalsize{10pt} -\setfont\ssecrm\rmbshape{10}{1000}{OT1} -\setfont\ssecit\itbshape{10}{1000}{OT1IT} -\setfont\ssecsl\slbshape{10}{1000}{OT1} -\setfont\ssectt\ttbshape{10}{1000}{OT1TT} -\setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} -\setfont\ssecsf\sfbshape{10}{1000}{OT1} -\let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{1000}{OT1} -\font\sseci=cmmi10 -\font\ssecsy=cmsy10 -\def\ssececsize{1000} - -% Reduced fonts for @acronym in text (9pt). -\def\reducednominalsize{9pt} -\setfont\reducedrm\rmshape{9}{1000}{OT1} -\setfont\reducedtt\ttshape{9}{1000}{OT1TT} -\setfont\reducedbf\bfshape{10}{900}{OT1} -\setfont\reducedit\itshape{9}{1000}{OT1IT} -\setfont\reducedsl\slshape{9}{1000}{OT1} -\setfont\reducedsf\sfshape{9}{1000}{OT1} -\setfont\reducedsc\scshape{10}{900}{OT1} -\setfont\reducedttsl\ttslshape{10}{900}{OT1TT} -\font\reducedi=cmmi9 -\font\reducedsy=cmsy9 -\def\reducedecsize{0900} - -\divide\parskip by 2 % reduce space between paragraphs -\textleading = 12pt % line spacing for 10pt CM -\textfonts % reset the current fonts -\rm -} % end of 10pt text font size definitions, \definetextfontsizex - -% Fonts for short table of contents. -\setfont\shortcontrm\rmshape{12}{1000}{OT1} -\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 -\setfont\shortcontsl\slshape{12}{1000}{OT1} -\setfont\shortconttt\ttshape{12}{1000}{OT1TT} - - -% We provide the user-level command -% @fonttextsize 10 -% (or 11) to redefine the text font size. pt is assumed. -% -\def\xiword{11} -\def\xword{10} -\def\xwordpt{10pt} -% -\parseargdef\fonttextsize{% - \def\textsizearg{#1}% - %\wlog{doing @fonttextsize \textsizearg}% - % - % Set \globaldefs so that documents can use this inside @tex, since - % makeinfo 4.8 does not support it, but we need it nonetheless. - % - \begingroup \globaldefs=1 - \ifx\textsizearg\xword \definetextfontsizex - \else \ifx\textsizearg\xiword \definetextfontsizexi - \else - \errhelp=\EMsimple - \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} - \fi\fi - \endgroup -} - -% -% Change the current font style to #1, remembering it in \curfontstyle. -% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in -% italics, not bold italics. -% -\def\setfontstyle#1{% - \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. - \csname #1font\endcsname % change the current font -} - -\def\rm{\fam=0 \setfontstyle{rm}} -\def\it{\fam=\itfam \setfontstyle{it}} -\def\sl{\fam=\slfam \setfontstyle{sl}} -\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} -\def\tt{\fam=\ttfam \setfontstyle{tt}}\def\ttstylename{tt} - -% Texinfo sort of supports the sans serif font style, which plain TeX does not. -% So we set up a \sf. -\newfam\sffam -\def\sf{\fam=\sffam \setfontstyle{sf}} - -% We don't need math for this font style. -\def\ttsl{\setfontstyle{ttsl}} - - -% In order for the font changes to affect most math symbols and letters, -% we have to define the \textfont of the standard families. -% We don't bother to reset \scriptscriptfont; awaiting user need. -% -\def\resetmathfonts{% - \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont - \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont - \textfont\ttfam=\ttfont \textfont\sffam=\sffont - % - % Fonts for superscript. Note that the 7pt fonts are used regardless - % of the current font size. - \scriptfont0=\sevenrm \scriptfont1=\seveni \scriptfont2=\sevensy - \scriptfont\itfam=\sevenit \scriptfont\slfam=\sevensl - \scriptfont\bffam=\sevenbf \scriptfont\ttfam=\seventt - \scriptfont\sffam=\sevensf -} - -% - -% The font-changing commands (all called \...fonts) redefine the meanings -% of \STYLEfont, instead of just \STYLE. We do this because \STYLE needs -% to also set the current \fam for math mode. Our \STYLE (e.g., \rm) -% commands hardwire \STYLEfont to set the current font. -% -% The fonts used for \ifont are for "math italics" (\itfont is for italics -% in regular text). \syfont is also used in math mode only. -% -% Each font-changing command also sets the names \lsize (one size lower) -% and \lllsize (three sizes lower). These relative commands are used -% in, e.g., the LaTeX logo and acronyms. -% -% This all needs generalizing, badly. -% - -\def\assignfonts#1{% - \expandafter\let\expandafter\rmfont\csname #1rm\endcsname - \expandafter\let\expandafter\itfont\csname #1it\endcsname - \expandafter\let\expandafter\slfont\csname #1sl\endcsname - \expandafter\let\expandafter\bffont\csname #1bf\endcsname - \expandafter\let\expandafter\ttfont\csname #1tt\endcsname - \expandafter\let\expandafter\smallcaps\csname #1sc\endcsname - \expandafter\let\expandafter\sffont \csname #1sf\endcsname - \expandafter\let\expandafter\ifont \csname #1i\endcsname - \expandafter\let\expandafter\syfont \csname #1sy\endcsname - \expandafter\let\expandafter\ttslfont\csname #1ttsl\endcsname -} - -\newif\ifrmisbold - -% Select smaller font size with the current style. Used to change font size -% in, e.g., the LaTeX logo and acronyms. If we are using bold fonts for -% normal roman text, also use bold fonts for roman text in the smaller size. -\def\switchtolllsize{% - \expandafter\assignfonts\expandafter{\lllsize}% - \ifrmisbold - \let\rmfont\bffont - \fi - \csname\curfontstyle\endcsname -}% - -\def\switchtolsize{% - \expandafter\assignfonts\expandafter{\lsize}% - \ifrmisbold - \let\rmfont\bffont - \fi - \csname\curfontstyle\endcsname -}% - -\def\definefontsetatsize#1#2#3#4#5{% -\expandafter\def\csname #1fonts\endcsname{% - \def\curfontsize{#1}% - \def\lsize{#2}\def\lllsize{#3}% - \csname rmisbold#5\endcsname - \assignfonts{#1}% - \resetmathfonts - \setleading{#4}% -}} - -\definefontsetatsize{text} {reduced}{smaller}{\textleading}{false} -\definefontsetatsize{title} {chap} {subsec} {27pt} {true} -\definefontsetatsize{chap} {sec} {text} {19pt} {true} -\definefontsetatsize{sec} {subsec} {reduced}{17pt} {true} -\definefontsetatsize{ssec} {text} {small} {15pt} {true} -\definefontsetatsize{reduced}{small} {smaller}{10.5pt}{false} -\definefontsetatsize{small} {smaller}{smaller}{10.5pt}{false} -\definefontsetatsize{smaller}{smaller}{smaller}{9.5pt} {false} - -\def\titlefont#1{{\titlefonts\rm #1}} -\let\subsecfonts = \ssecfonts -\let\subsubsecfonts = \ssecfonts - -% Define these just so they can be easily changed for other fonts. -\def\angleleft{$\langle$} -\def\angleright{$\rangle$} - -% Set the fonts to use with the @small... environments. -\let\smallexamplefonts = \smallfonts - -% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample -% can fit this many characters: -% 8.5x11=86 smallbook=72 a4=90 a5=69 -% If we use \scriptfonts (8pt), then we can fit this many characters: -% 8.5x11=90+ smallbook=80 a4=90+ a5=77 -% For me, subjectively, the few extra characters that fit aren't worth -% the additional smallness of 8pt. So I'm making the default 9pt. -% -% By the way, for comparison, here's what fits with @example (10pt): -% 8.5x11=71 smallbook=60 a4=75 a5=58 -% --karl, 24jan03. - -% Set up the default fonts, so we can use them for creating boxes. -% -\definetextfontsizexi - - -% Check if we are currently using a typewriter font. Since all the -% Computer Modern typewriter fonts have zero interword stretch (and -% shrink), and it is reasonable to expect all typewriter fonts to have -% this property, we can check that font parameter. -% -\def\ifmonospace{\ifdim\fontdimen3\font=0pt } - -{ -\catcode`\'=\active -\catcode`\`=\active - -\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright} -\gdef\setregularquotes{\let`\lq \let'\rq} -} - -% Allow an option to not use regular directed right quote/apostrophe -% (char 0x27), but instead the undirected quote from cmtt (char 0x0d). -% The undirected quote is ugly, so don't make it the default, but it -% works for pasting with more pdf viewers (at least evince), the -% lilypond developers report. xpdf does work with the regular 0x27. -% -\def\codequoteright{% - \ifmonospace - \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax - \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax - '% - \else \char'15 \fi - \else \char'15 \fi - \else - '% - \fi -} -% -% and a similar option for the left quote char vs. a grave accent. -% Modern fonts display ASCII 0x60 as a grave accent, so some people like -% the code environments to do likewise. -% -\def\codequoteleft{% - \ifmonospace - \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax - \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax - % [Knuth] pp. 380,381,391 - % \relax disables Spanish ligatures ?` and !` of \tt font. - \relax`% - \else \char'22 \fi - \else \char'22 \fi - \else - \relax`% - \fi -} - -% Commands to set the quote options. -% -\parseargdef\codequoteundirected{% - \def\temp{#1}% - \ifx\temp\onword - \expandafter\let\csname SETtxicodequoteundirected\endcsname - = t% - \else\ifx\temp\offword - \expandafter\let\csname SETtxicodequoteundirected\endcsname - = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}% - \fi\fi -} -% -\parseargdef\codequotebacktick{% - \def\temp{#1}% - \ifx\temp\onword - \expandafter\let\csname SETtxicodequotebacktick\endcsname - = t% - \else\ifx\temp\offword - \expandafter\let\csname SETtxicodequotebacktick\endcsname - = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}% - \fi\fi -} - -% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. -\def\noligaturesquoteleft{\relax\lq} - -% Count depth in font-changes, for error checks -\newcount\fontdepth \fontdepth=0 - -% Font commands. - -% #1 is the font command (\sl or \it), #2 is the text to slant. -% If we are in a monospaced environment, however, 1) always use \ttsl, -% and 2) do not add an italic correction. -\def\dosmartslant#1#2{% - \ifusingtt - {{\ttsl #2}\let\next=\relax}% - {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% - \next -} -\def\smartslanted{\dosmartslant\sl} -\def\smartitalic{\dosmartslant\it} - -% Output an italic correction unless \next (presumed to be the following -% character) is such as not to need one. -\def\smartitaliccorrection{% - \ifx\next,% - \else\ifx\next-% - \else\ifx\next.% - \else\ifx\next\.% - \else\ifx\next\comma% - \else\ptexslash - \fi\fi\fi\fi\fi - \aftersmartic -} - -% Unconditional use \ttsl, and no ic. @var is set to this for defuns. -\def\ttslanted#1{{\ttsl #1}} - -% @cite is like \smartslanted except unconditionally use \sl. We never want -% ttsl for book titles, do we? -\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} - -\def\aftersmartic{} -\def\var#1{% - \let\saveaftersmartic = \aftersmartic - \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% - \smartslanted{#1}% -} - -\let\i=\smartitalic -\let\slanted=\smartslanted -\let\dfn=\smartslanted -\let\emph=\smartitalic - -% Explicit font changes: @r, @sc, undocumented @ii. -\def\r#1{{\rm #1}} % roman font -\def\sc#1{{\smallcaps#1}} % smallcaps font -\def\ii#1{{\it #1}} % italic font - -% @b, explicit bold. Also @strong. -\def\b#1{{\bf #1}} -\let\strong=\b - -% @sansserif, explicit sans. -\def\sansserif#1{{\sf #1}} - -% We can't just use \exhyphenpenalty, because that only has effect at -% the end of a paragraph. Restore normal hyphenation at the end of the -% group within which \nohyphenation is presumably called. -% -\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} -\def\restorehyphenation{\hyphenchar\font = `- } - -% Set sfcode to normal for the chars that usually have another value. -% Can't use plain's \frenchspacing because it uses the `\x notation, and -% sometimes \x has an active definition that messes things up. -% -\catcode`@=11 - \def\plainfrenchspacing{% - \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m - \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m - \def\endofsentencespacefactor{1000}% for @. and friends - } - \def\plainnonfrenchspacing{% - \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 - \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 - \def\endofsentencespacefactor{3000}% for @. and friends - } -\catcode`@=\other -\def\endofsentencespacefactor{3000}% default - -% @t, explicit typewriter. -\def\t#1{% - {\tt \plainfrenchspacing #1}% - \null -} - -% @samp. -\def\samp#1{{\setcodequotes\lq\tclose{#1}\rq\null}} - -% @indicateurl is \samp, that is, with quotes. -\let\indicateurl=\samp - -% @code (and similar) prints in typewriter, but with spaces the same -% size as normal in the surrounding text, without hyphenation, etc. -% This is a subroutine for that. -\def\tclose#1{% - {% - % Change normal interword space to be same as for the current font. - \spaceskip = \fontdimen2\font - % - % Switch to typewriter. - \tt - % - % But `\ ' produces the large typewriter interword space. - \def\ {{\spaceskip = 0pt{} }}% - % - % Turn off hyphenation. - \nohyphenation - % - \plainfrenchspacing - #1% - }% - \null % reset spacefactor to 1000 -} - -% We *must* turn on hyphenation at `-' and `_' in @code. -% (But see \codedashfinish below.) -% Otherwise, it is too hard to avoid overfull hboxes -% in the Emacs manual, the Library manual, etc. -% -% Unfortunately, TeX uses one parameter (\hyphenchar) to control -% both hyphenation at - and hyphenation within words. -% We must therefore turn them both off (\tclose does that) -% and arrange explicitly to hyphenate at a dash. -- rms. -{ - \catcode`\-=\active \catcode`\_=\active - \catcode`\'=\active \catcode`\`=\active - \global\let'=\rq \global\let`=\lq % default definitions - % - \global\def\code{\begingroup - \setcodequotes - \catcode\dashChar=\active \catcode\underChar=\active - \ifallowcodebreaks - \let-\codedash - \let_\codeunder - \else - \let-\normaldash - \let_\realunder - \fi - % Given -foo (with a single dash), we do not want to allow a break - % after the hyphen. - \global\let\codedashprev=\codedash - % - \codex - } - % - \gdef\codedash{\futurelet\next\codedashfinish} - \gdef\codedashfinish{% - \normaldash % always output the dash character itself. - % - % Now, output a discretionary to allow a line break, unless - % (a) the next character is a -, or - % (b) the preceding character is a -. - % E.g., given --posix, we do not want to allow a break after either -. - % Given --foo-bar, we do want to allow a break between the - and the b. - \ifx\next\codedash \else - \ifx\codedashprev\codedash - \else \discretionary{}{}{}\fi - \fi - % we need the space after the = for the case when \next itself is a - % space token; it would get swallowed otherwise. As in @code{- a}. - \global\let\codedashprev= \next - } -} -\def\normaldash{-} -% -\def\codex #1{\tclose{#1}\endgroup} - -\def\codeunder{% - % this is all so @math{@code{var_name}+1} can work. In math mode, _ - % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) - % will therefore expand the active definition of _, which is us - % (inside @code that is), therefore an endless loop. - \ifusingtt{\ifmmode - \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. - \else\normalunderscore \fi - \discretionary{}{}{}}% - {\_}% -} - -% An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is bad. -% @allowcodebreaks provides a document-level way to turn breaking at - -% and _ on and off. -% -\newif\ifallowcodebreaks \allowcodebreakstrue - -\def\keywordtrue{true} -\def\keywordfalse{false} - -\parseargdef\allowcodebreaks{% - \def\txiarg{#1}% - \ifx\txiarg\keywordtrue - \allowcodebreakstrue - \else\ifx\txiarg\keywordfalse - \allowcodebreaksfalse - \else - \errhelp = \EMsimple - \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}% - \fi\fi -} - -% For @command, @env, @file, @option quotes seem unnecessary, -% so use \code rather than \samp. -\let\command=\code -\let\env=\code -\let\file=\code -\let\option=\code - -% @uref (abbreviation for `urlref') aka @url takes an optional -% (comma-separated) second argument specifying the text to display and -% an optional third arg as text to display instead of (rather than in -% addition to) the url itself. First (mandatory) arg is the url. - -% TeX-only option to allow changing PDF output to show only the second -% arg (if given), and not the url (which is then just the link target). -\newif\ifurefurlonlylink - -% The default \pretolerance setting stops the penalty inserted in -% \urefallowbreak being a discouragement to line breaking. Set it to -% a negative value for this paragraph only. Hopefully this does not -% conflict with redefinitions of \par done elsewhere. -\def\nopretolerance{% -\pretolerance=-1 -\def\par{\endgraf\pretolerance=100 \let\par\endgraf}% -} - -% The main macro is \urefbreak, which allows breaking at expected -% places within the url. -\def\urefbreak{\nopretolerance \begingroup \urefcatcodes \dourefbreak} -\let\uref=\urefbreak -% -\def\dourefbreak#1{\urefbreakfinish #1,,,\finish} -\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example - \unsepspaces - \pdfurl{#1}% - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt - \unhbox0 % third arg given, show only that - \else - \setbox0 = \hbox{\ignorespaces #2}% look for second arg - \ifdim\wd0 > 0pt - \ifpdf - % For pdfTeX and LuaTeX - \ifurefurlonlylink - % PDF plus option to not display url, show just arg - \unhbox0 - \else - % PDF, normally display both arg and url for consistency, - % visibility, if the pdf is eventually used to print, etc. - \unhbox0\ (\urefcode{#1})% - \fi - \else - \ifx\XeTeXrevision\thisisundefined - \unhbox0\ (\urefcode{#1})% DVI, always show arg and url - \else - % For XeTeX - \ifurefurlonlylink - % PDF plus option to not display url, show just arg - \unhbox0 - \else - % PDF, normally display both arg and url for consistency, - % visibility, if the pdf is eventually used to print, etc. - \unhbox0\ (\urefcode{#1})% - \fi - \fi - \fi - \else - \urefcode{#1}% only url given, so show it - \fi - \fi - \endlink -\endgroup} - -% Allow line breaks around only a few characters (only). -\def\urefcatcodes{% - \catcode`\&=\active \catcode`\.=\active - \catcode`\#=\active \catcode`\?=\active - \catcode`\/=\active -} -{ - \urefcatcodes - % - \global\def\urefcode{\begingroup - \setcodequotes - \urefcatcodes - \let&\urefcodeamp - \let.\urefcodedot - \let#\urefcodehash - \let?\urefcodequest - \let/\urefcodeslash - \codex - } - % - % By default, they are just regular characters. - \global\def&{\normalamp} - \global\def.{\normaldot} - \global\def#{\normalhash} - \global\def?{\normalquest} - \global\def/{\normalslash} -} - -\def\urefcodeamp{\urefprebreak \&\urefpostbreak} -\def\urefcodedot{\urefprebreak .\urefpostbreak} -\def\urefcodehash{\urefprebreak \#\urefpostbreak} -\def\urefcodequest{\urefprebreak ?\urefpostbreak} -\def\urefcodeslash{\futurelet\next\urefcodeslashfinish} -{ - \catcode`\/=\active - \global\def\urefcodeslashfinish{% - \urefprebreak \slashChar - % Allow line break only after the final / in a sequence of - % slashes, to avoid line break between the slashes in http://. - \ifx\next/\else \urefpostbreak \fi - } -} - -% By default we'll break after the special characters, but some people like to -% break before the special chars, so allow that. Also allow no breaking at -% all, for manual control. -% -\parseargdef\urefbreakstyle{% - \def\txiarg{#1}% - \ifx\txiarg\wordnone - \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak} - \else\ifx\txiarg\wordbefore - \def\urefprebreak{\urefallowbreak}\def\urefpostbreak{\nobreak} - \else\ifx\txiarg\wordafter - \def\urefprebreak{\nobreak}\def\urefpostbreak{\urefallowbreak} - \else - \errhelp = \EMsimple - \errmessage{Unknown @urefbreakstyle setting `\txiarg'}% - \fi\fi\fi -} -\def\wordafter{after} -\def\wordbefore{before} -\def\wordnone{none} - -% Allow a ragged right output to aid breaking long URL's. There can -% be a break at the \allowbreak with no extra glue (if the existing stretch in -% the line is sufficient), a break at the \penalty with extra glue added -% at the end of the line, or no break at all here. -% Changing the value of the penalty and/or the amount of stretch affects how -% preferable one choice is over the other. -\def\urefallowbreak{% - \penalty0\relax - \hskip 0pt plus 2 em\relax - \penalty1000\relax - \hskip 0pt plus -2 em\relax -} - -\urefbreakstyle after - -% @url synonym for @uref, since that's how everyone uses it. -% -\let\url=\uref - -% rms does not like angle brackets --karl, 17may97. -% So now @email is just like @uref, unless we are pdf. -% -%\def\email#1{\angleleft{\tt #1}\angleright} -\ifpdforxetex - \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{\begingroup - \unsepspaces - \pdfurl{mailto:#1}% - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \endlink - \endgroup} -\else - \let\email=\uref -\fi - -% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), -% `example' (@kbd uses ttsl only inside of @example and friends), -% or `code' (@kbd uses normal tty font always). -\parseargdef\kbdinputstyle{% - \def\txiarg{#1}% - \ifx\txiarg\worddistinct - \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% - \else\ifx\txiarg\wordexample - \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% - \else\ifx\txiarg\wordcode - \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% - \else - \errhelp = \EMsimple - \errmessage{Unknown @kbdinputstyle setting `\txiarg'}% - \fi\fi\fi -} -\def\worddistinct{distinct} -\def\wordexample{example} -\def\wordcode{code} - -% Default is `distinct'. -\kbdinputstyle distinct - -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. -\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} - -\def\xkey{\key} -\def\kbdsub#1#2#3\par{% - \def\one{#1}\def\three{#3}\def\threex{??}% - \ifx\one\xkey\ifx\threex\three \key{#2}% - \else{\tclose{\kbdfont\setcodequotes\look}}\fi - \else{\tclose{\kbdfont\setcodequotes\look}}\fi -} - -% definition of @key that produces a lozenge. Doesn't adjust to text size. -%\setfont\keyrm\rmshape{8}{1000}{OT1} -%\font\keysy=cmsy9 -%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% -% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% -% \vbox{\hrule\kern-0.4pt -% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% -% \kern-0.4pt\hrule}% -% \kern-.06em\raise0.4pt\hbox{\angleright}}}} - -% definition of @key with no lozenge. -% -\def\key#1{{\setregularquotes \nohyphenation \tt #1}\null} - -% @clicksequence{File @click{} Open ...} -\def\clicksequence#1{\begingroup #1\endgroup} - -% @clickstyle @arrow (by default) -\parseargdef\clickstyle{\def\click{#1}} -\def\click{\arrow} - -% Typeset a dimension, e.g., `in' or `pt'. The only reason for the -% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. -% -\def\dmn#1{\thinspace #1} - -% @acronym for "FBI", "NATO", and the like. -% We print this one point size smaller, since it's intended for -% all-uppercase. -% -\def\acronym#1{\doacronym #1,,\finish} -\def\doacronym#1,#2,#3\finish{% - {\switchtolsize #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi - \null % reset \spacefactor=1000 -} - -% @abbr for "Comput. J." and the like. -% No font change, but don't do end-of-sentence spacing. -% -\def\abbr#1{\doabbr #1,,\finish} -\def\doabbr#1,#2,#3\finish{% - {\plainfrenchspacing #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi - \null % reset \spacefactor=1000 -} - -% @asis just yields its argument. Used with @table, for example. -% -\def\asis#1{#1} - -% @math outputs its argument in math mode. -% -% One complication: _ usually means subscripts, but it could also mean -% an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ active, and distinguish by seeing if the current family is \slfam, -% which is what @var uses. -{ - \catcode`\_ = \active - \gdef\mathunderscore{% - \catcode`\_=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% - } -} -% Another complication: we want \\ (and @\) to output a math (or tt) \. -% FYI, plain.tex uses \\ as a temporary control sequence (for no -% particular reason), but this is not advertised and we don't care. -% -% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. -\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} -% -\def\math{% - \ifmmode\else % only go into math if not in math mode already - \tex - \mathunderscore - \let\\ = \mathbackslash - \mathactive - % make the texinfo accent commands work in math mode - \let\"=\ddot - \let\'=\acute - \let\==\bar - \let\^=\hat - \let\`=\grave - \let\u=\breve - \let\v=\check - \let\~=\tilde - \let\dotaccent=\dot - % have to provide another name for sup operator - \let\mathopsup=\sup - $\expandafter\finishmath\fi -} -\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. - -% Some active characters (such as <) are spaced differently in math. -% We have to reset their definitions in case the @math was an argument -% to a command which sets the catcodes (such as @item or @section). -% -{ - \catcode`^ = \active - \catcode`< = \active - \catcode`> = \active - \catcode`+ = \active - \catcode`' = \active - \gdef\mathactive{% - \let^ = \ptexhat - \let< = \ptexless - \let> = \ptexgtr - \let+ = \ptexplus - \let' = \ptexquoteright - } -} - -% for @sub and @sup, if in math mode, just do a normal sub/superscript. -% If in text, use math to place as sub/superscript, but switch -% into text mode, with smaller fonts. This is a different font than the -% one used for real math sub/superscripts (8pt vs. 7pt), but let's not -% fix it (significant additions to font machinery) until someone notices. -% -\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi} -\def\finishsub#1{$\sb{\hbox{\switchtolllsize #1}}$}% -% -\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi} -\def\finishsup#1{$\ptexsp{\hbox{\switchtolllsize #1}}$}% - -% provide this command from LaTeX as it is very common -\def\frac#1#2{{{#1}\over{#2}}} - -% @displaymath. -% \globaldefs is needed to recognize the end lines in \tex and -% \end tex. Set \thisenv as @end displaymath is seen before @end tex. -{\obeylines -\globaldefs=1 -\envdef\displaymath{% -\tex% -\def\thisenv{\displaymath}% -\begingroup\let\end\displaymathend% -$$% -} - -\def\displaymathend{$$\endgroup\end}% - -\def\Edisplaymath{% -\def\thisenv{\tex}% -\end tex -}} - - -% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. -% Ignore unless FMTNAME == tex; then it is like @iftex and @tex, -% except specified as a normal braced arg, so no newlines to worry about. -% -\def\outfmtnametex{tex} -% -\long\def\inlinefmt#1{\doinlinefmt #1,\finish} -\long\def\doinlinefmt#1,#2,\finish{% - \def\inlinefmtname{#1}% - \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi -} -% -% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if -% FMTNAME is tex, else ELSE-TEXT. -\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} -\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{% - \def\inlinefmtname{#1}% - \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi -} -% -% For raw, must switch into @tex before parsing the argument, to avoid -% setting catcodes prematurely. Doing it this way means that, for -% example, @inlineraw{html, foo{bar} gets a parse error instead of being -% ignored. But this isn't important because if people want a literal -% *right* brace they would have to use a command anyway, so they may as -% well use a command to get a left brace too. We could re-use the -% delimiter character idea from \verb, but it seems like overkill. -% -\long\def\inlineraw{\tex \doinlineraw} -\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} -\def\doinlinerawtwo#1,#2,\finish{% - \def\inlinerawname{#1}% - \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi - \endgroup % close group opened by \tex. -} - -% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set. -% -\long\def\inlineifset#1{\doinlineifset #1,\finish} -\long\def\doinlineifset#1,#2,\finish{% - \def\inlinevarname{#1}% - \expandafter\ifx\csname SET\inlinevarname\endcsname\relax - \else\ignorespaces#2\fi -} - -% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set. -% -\long\def\inlineifclear#1{\doinlineifclear #1,\finish} -\long\def\doinlineifclear#1,#2,\finish{% - \def\inlinevarname{#1}% - \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi -} - - -\message{glyphs,} -% and logos. - -% @@ prints an @, as does @atchar{}. -\def\@{\char64 } -\let\atchar=\@ - -% @{ @} @lbracechar{} @rbracechar{} all generate brace characters. -\def\lbracechar{{\ifmonospace\char123\else\ensuremath\lbrace\fi}} -\def\rbracechar{{\ifmonospace\char125\else\ensuremath\rbrace\fi}} -\let\{=\lbracechar -\let\}=\rbracechar - -% @comma{} to avoid , parsing problems. -\let\comma = , - -% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent -% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. -\let\, = \ptexc -\let\dotaccent = \ptexdot -\def\ringaccent#1{{\accent23 #1}} -\let\tieaccent = \ptext -\let\ubaraccent = \ptexb -\let\udotaccent = \d - -% Other special characters: @questiondown @exclamdown @ordf @ordm -% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. -\def\questiondown{?`} -\def\exclamdown{!`} -\def\ordf{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{a}}} -\def\ordm{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{o}}} - -% Dotless i and dotless j, used for accents. -\def\imacro{i} -\def\jmacro{j} -\def\dotless#1{% - \def\temp{#1}% - \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi - \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi - \else \errmessage{@dotless can be used only with i or j}% - \fi\fi -} - -% The \TeX{} logo, as in plain, but resetting the spacing so that a -% period following counts as ending a sentence. (Idea found in latex.) -% -\edef\TeX{\TeX \spacefactor=1000 } - -% @LaTeX{} logo. Not quite the same results as the definition in -% latex.ltx, since we use a different font for the raised A; it's most -% convenient for us to use an explicitly smaller font, rather than using -% the \scriptstyle font (since we don't reset \scriptstyle and -% \scriptscriptstyle). -% -\def\LaTeX{% - L\kern-.36em - {\setbox0=\hbox{T}% - \vbox to \ht0{\hbox{% - \ifx\textnominalsize\xwordpt - % for 10pt running text, lllsize (8pt) is too small for the A in LaTeX. - % Revert to plain's \scriptsize, which is 7pt. - \count255=\the\fam $\fam\count255 \scriptstyle A$% - \else - % For 11pt, we can use our lllsize. - \switchtolllsize A% - \fi - }% - \vss - }}% - \kern-.15em - \TeX -} - -% Some math mode symbols. Define \ensuremath to switch into math mode -% unless we are already there. Expansion tricks may not be needed here, -% but safer, and can't hurt. -\def\ensuremath{\ifmmode \expandafter\asis \else\expandafter\ensuredmath \fi} -\def\ensuredmath#1{$\relax#1$} -% -\def\bullet{\ensuremath\ptexbullet} -\def\geq{\ensuremath\ge} -\def\leq{\ensuremath\le} -\def\minus{\ensuremath-} - -% @dots{} outputs an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in the cm -% typewriter fonts as three actual period characters; on the other hand, -% in other typewriter fonts three periods are wider than 1.5em. So do -% whichever is larger. -% -\def\dots{% - \leavevmode - \setbox0=\hbox{...}% get width of three periods - \ifdim\wd0 > 1.5em - \dimen0 = \wd0 - \else - \dimen0 = 1.5em - \fi - \hbox to \dimen0{% - \hskip 0pt plus.25fil - .\hskip 0pt plus1fil - .\hskip 0pt plus1fil - .\hskip 0pt plus.5fil - }% -} - -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \dots - \spacefactor=\endofsentencespacefactor -} - -% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% -% Since these characters are used in examples, they should be an even number of -% \tt widths. Each \tt character is 1en, so two makes it 1em. -% -\def\point{$\star$} -\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} -\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} -\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} -\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} -\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} - -% The @error{} command. -% Adapted from the TeXbook's \boxit. -% -\newbox\errorbox -% -{\ttfont \global\dimen0 = 3em}% Width of the box. -\dimen2 = .55pt % Thickness of rules -% The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt} -% -\setbox\errorbox=\hbox to \dimen0{\hfil - \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. - \advance\hsize by -2\dimen2 % Rules. - \vbox{% - \hrule height\dimen2 - \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. - \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. - \kern3pt\vrule width\dimen2}% Space to right. - \hrule height\dimen2} - \hfil} -% -\def\error{\leavevmode\lower.7ex\copy\errorbox} - -% @pounds{} is a sterling sign, which Knuth put in the CM italic font. -% -\def\pounds{\ifmonospace{\ecfont\char"BF}\else{\it\$}\fi} - -% @euro{} comes from a separate font, depending on the current style. -% We use the free feym* fonts from the eurosym package by Henrik -% Theiling, which support regular, slanted, bold and bold slanted (and -% "outlined" (blackboard board, sort of) versions, which we don't need). -% It is available from http://www.ctan.org/tex-archive/fonts/eurosym. -% -% Although only regular is the truly official Euro symbol, we ignore -% that. The Euro is designed to be slightly taller than the regular -% font height. -% -% feymr - regular -% feymo - slanted -% feybr - bold -% feybo - bold slanted -% -% There is no good (free) typewriter version, to my knowledge. -% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. -% Hmm. -% -% Also doesn't work in math. Do we need to do math with euro symbols? -% Hope not. -% -% -\def\euro{{\eurofont e}} -\def\eurofont{% - % We set the font at each command, rather than predefining it in - % \textfonts and the other font-switching commands, so that - % installations which never need the symbol don't have to have the - % font installed. - % - % There is only one designed size (nominal 10pt), so we always scale - % that to the current nominal size. - % - % By the way, simply using "at 1em" works for cmr10 and the like, but - % does not work for cmbx10 and other extended/shrunken fonts. - % - \def\eurosize{\csname\curfontsize nominalsize\endcsname}% - % - \ifx\curfontstyle\bfstylename - % bold: - \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize - \else - % regular: - \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize - \fi - \thiseurofont -} - -% Glyphs from the EC fonts. We don't use \let for the aliases, because -% sometimes we redefine the original macro, and the alias should reflect -% the redefinition. -% -% Use LaTeX names for the Icelandic letters. -\def\DH{{\ecfont \char"D0}} % Eth -\def\dh{{\ecfont \char"F0}} % eth -\def\TH{{\ecfont \char"DE}} % Thorn -\def\th{{\ecfont \char"FE}} % thorn -% -\def\guillemetleft{{\ecfont \char"13}} -\def\guillemotleft{\guillemetleft} -\def\guillemetright{{\ecfont \char"14}} -\def\guillemotright{\guillemetright} -\def\guilsinglleft{{\ecfont \char"0E}} -\def\guilsinglright{{\ecfont \char"0F}} -\def\quotedblbase{{\ecfont \char"12}} -\def\quotesinglbase{{\ecfont \char"0D}} -% -\def\L{{\ecfont \char"8A}} % L with stroke -\def\l{{\ecfont \char"AA}} % l with stroke -% -% This positioning is not perfect (see the ogonek LaTeX package), but -% we have the precomposed glyphs for the most common cases. We put the -% tests to use those glyphs in the single \ogonek macro so we have fewer -% dummy definitions to worry about for index entries, etc. -% -% ogonek is also used with other letters in Lithuanian (IOU), but using -% the precomposed glyphs for those is not so easy since they aren't in -% the same EC font. -\def\ogonek#1{{% - \def\temp{#1}% - \ifx\temp\macrocharA\Aogonek - \else\ifx\temp\macrochara\aogonek - \else\ifx\temp\macrocharE\Eogonek - \else\ifx\temp\macrochare\eogonek - \else - \ecfont \setbox0=\hbox{#1}% - \ifdim\ht0=1ex\accent"0C #1% - \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% - \fi - \fi\fi\fi\fi - }% -} -\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} -\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} -\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} -\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} -% -% Use the European Computer Modern fonts (cm-super in outline format) -% for non-CM glyphs. That is ec* for regular text and tc* for the text -% companion symbols (LaTeX TS1 encoding). Both are part of the ec -% package and follow the same conventions. -% -\def\ecfont{\etcfont{e}} -\def\tcfont{\etcfont{t}} -% -\def\etcfont#1{% - % We can't distinguish serif/sans and italic/slanted, but this - % is used for crude hacks anyway (like adding French and German - % quotes to documents typeset with CM, where we lose kerning), so - % hopefully nobody will notice/care. - \edef\ecsize{\csname\curfontsize ecsize\endcsname}% - \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% - \ifmonospace - % typewriter: - \font\thisecfont = #1ctt\ecsize \space at \nominalsize - \else - \ifx\curfontstyle\bfstylename - % bold: - \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize - \else - % regular: - \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize - \fi - \fi - \thisecfont -} - -% @registeredsymbol - R in a circle. The font for the R should really -% be smaller yet, but lllsize is the best we can do for now. -% Adapted from the plain.tex definition of \copyright. -% -\def\registeredsymbol{% - $^{{\ooalign{\hfil\raise.07ex\hbox{\switchtolllsize R}% - \hfil\crcr\Orb}}% - }$% -} - -% @textdegree - the normal degrees sign. -% -\def\textdegree{$^\circ$} - -% Laurent Siebenmann reports \Orb undefined with: -% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 -% so we'll define it if necessary. -% -\ifx\Orb\thisisundefined -\def\Orb{\mathhexbox20D} -\fi - -% Quotes. -\chardef\quoteleft=`\` -\chardef\quoteright=`\' - -% only change font for tt for correct kerning and to avoid using -% \ecfont unless necessary. -\def\quotedblleft{% - \ifmonospace{\ecfont\char"10}\else{\char"5C}\fi -} - -\def\quotedblright{% - \ifmonospace{\ecfont\char"11}\else{\char`\"}\fi -} - - -\message{page headings,} - -\newskip\titlepagetopglue \titlepagetopglue = 1.5in -\newskip\titlepagebottomglue \titlepagebottomglue = 2pc - -% First the title page. Must do @settitle before @titlepage. -\newif\ifseenauthor -\newif\iffinishedtitlepage - -% @setcontentsaftertitlepage used to do an implicit @contents or -% @shortcontents after @end titlepage, but it is now obsolete. -\def\setcontentsaftertitlepage{% - \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo - command; move your @contents command if you want the contents - after the title page.}}% -\def\setshortcontentsaftertitlepage{% - \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo - command; move your @shortcontents and @contents commands if you - want the contents after the title page.}}% - -\parseargdef\shorttitlepage{% - \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% - \endgroup\page\hbox{}\page} - -\envdef\titlepage{% - % Open one extra group, as we want to close it in the middle of \Etitlepage. - \begingroup - \parindent=0pt \textfonts - % Leave some space at the very top of the page. - \vglue\titlepagetopglue - % No rule at page bottom unless we print one at the top with @title. - \finishedtitlepagetrue - % - % Most title ``pages'' are actually two pages long, with space - % at the top of the second. We don't want the ragged left on the second. - \let\oldpage = \page - \def\page{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - \let\page = \oldpage - \page - \null - }% -} - -\def\Etitlepage{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - % It is important to do the page break before ending the group, - % because the headline and footline are only empty inside the group. - % If we use the new definition of \page, we always get a blank page - % after the title page, which we certainly don't want. - \oldpage - \endgroup - % - % Need this before the \...aftertitlepage checks so that if they are - % in effect the toc pages will come out with page numbers. - \HEADINGSon -} - -\def\finishtitlepage{% - \vskip4pt \hrule height 2pt width \hsize - \vskip\titlepagebottomglue - \finishedtitlepagetrue -} - -% Settings used for typesetting titles: no hyphenation, no indentation, -% don't worry much about spacing, ragged right. This should be used -% inside a \vbox, and fonts need to be set appropriately first. \par should -% be specified before the end of the \vbox, since a vbox is a group. -% -\def\raggedtitlesettings{% - \rm - \hyphenpenalty=10000 - \parindent=0pt - \tolerance=5000 - \ptexraggedright -} - -% Macros to be used within @titlepage: - -\let\subtitlerm=\rmfont -\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} - -\parseargdef\title{% - \checkenv\titlepage - \vbox{\titlefonts \raggedtitlesettings #1\par}% - % print a rule at the page bottom also. - \finishedtitlepagefalse - \vskip4pt \hrule height 4pt width \hsize \vskip4pt -} - -\parseargdef\subtitle{% - \checkenv\titlepage - {\subtitlefont \rightline{#1}}% -} - -% @author should come last, but may come many times. -% It can also be used inside @quotation. -% -\parseargdef\author{% - \def\temp{\quotation}% - \ifx\thisenv\temp - \def\quotationauthor{#1}% printed in \Equotation. - \else - \checkenv\titlepage - \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi - {\secfonts\rm \leftline{#1}}% - \fi -} - - -% Set up page headings and footings. - -\let\thispage=\folio - -\newtoks\evenheadline % headline on even pages -\newtoks\oddheadline % headline on odd pages -\newtoks\evenchapheadline% headline on even pages with a new chapter -\newtoks\oddchapheadline % headline on odd pages with a new chapter -\newtoks\evenfootline % footline on even pages -\newtoks\oddfootline % footline on odd pages - -% Now make \makeheadline and \makefootline in Plain TeX use those variables -\headline={{\textfonts\rm - \ifchapterpage - \ifodd\pageno\the\oddchapheadline\else\the\evenchapheadline\fi - \else - \ifodd\pageno\the\oddheadline\else\the\evenheadline\fi - \fi}} - -\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline - \else \the\evenfootline \fi}\HEADINGShook} -\let\HEADINGShook=\relax - -% Commands to set those variables. -% For example, this is what @headings on does -% @evenheading @thistitle|@thispage|@thischapter -% @oddheading @thischapter|@thispage|@thistitle -% @evenfooting @thisfile|| -% @oddfooting ||@thisfile - - -\def\evenheading{\parsearg\evenheadingxxx} -\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} -\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% - \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}} - \global\evenchapheadline=\evenheadline} - -\def\oddheading{\parsearg\oddheadingxxx} -\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} -\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% - \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}% - \global\oddchapheadline=\oddheadline} - -\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% - -\def\evenfooting{\parsearg\evenfootingxxx} -\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} -\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% -\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\def\oddfooting{\parsearg\oddfootingxxx} -\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} -\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% - \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% - % - % Leave some space for the footline. Hopefully ok to assume - % @evenfooting will not be used by itself. - \global\advance\txipageheight by -12pt - \global\advance\vsize by -12pt -} - -\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} - -% @evenheadingmarks top \thischapter <- chapter at the top of a page -% @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page -% -% The same set of arguments for: -% -% @oddheadingmarks -% @evenfootingmarks -% @oddfootingmarks -% @everyheadingmarks -% @everyfootingmarks - -% These define \getoddheadingmarks, \getevenheadingmarks, -% \getoddfootingmarks, and \getevenfootingmarks, each to one of -% \gettopheadingmarks, \getbottomheadingmarks. -% -\def\evenheadingmarks{\headingmarks{even}{heading}} -\def\oddheadingmarks{\headingmarks{odd}{heading}} -\def\evenfootingmarks{\headingmarks{even}{footing}} -\def\oddfootingmarks{\headingmarks{odd}{footing}} -\parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1} - \headingmarks{odd}{heading}{#1} } -\parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1} - \headingmarks{odd}{footing}{#1} } -% #1 = even/odd, #2 = heading/footing, #3 = top/bottom. -\def\headingmarks#1#2#3 {% - \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname - \global\expandafter\let\csname get#1#2marks\endcsname \temp -} - -\everyheadingmarks bottom -\everyfootingmarks bottom - -% @headings double turns headings on for double-sided printing. -% @headings single turns headings on for single-sided printing. -% @headings off turns them off. -% @headings on same as @headings double, retained for compatibility. -% @headings after turns on double-sided headings after this page. -% @headings doubleafter turns on double-sided headings after this page. -% @headings singleafter turns on single-sided headings after this page. -% By default, they are off at the start of a document, -% and turned `on' after @end titlepage. - -\parseargdef\headings{\csname HEADINGS#1\endcsname} - -\def\headingsoff{% non-global headings elimination - \evenheadline={\hfil}\evenfootline={\hfil}\evenchapheadline={\hfil}% - \oddheadline={\hfil}\oddfootline={\hfil}\oddchapheadline={\hfil}% -} - -\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting -\HEADINGSoff % it's the default - -% When we turn headings on, set the page number to 1. -\def\pageone{ - \global\pageno=1 - \global\arabiccount = \pagecount -} - -% For double-sided printing, put current file name in lower left corner, -% chapter name on inside top of right hand pages, document -% title on inside top of left hand pages, and page numbers on outside top -% edge of all pages. -\def\HEADINGSdouble{% -\pageone -\HEADINGSdoublex -} -\let\contentsalignmacro = \chappager - -% For single-sided printing, chapter title goes across top left of page, -% page number on top right. -\def\HEADINGSsingle{% -\pageone -\HEADINGSsinglex -} -\def\HEADINGSon{\HEADINGSdouble} - -\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} -\let\HEADINGSdoubleafter=\HEADINGSafter -\def\HEADINGSdoublex{% -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\evenchapheadline={\line{\folio\hfil}} -\global\oddchapheadline={\line{\hfil\folio}} -\global\let\contentsalignmacro = \chapoddpage -} - -\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} -\def\HEADINGSsinglex{% -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapter\hfil\folio}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\evenchapheadline={\line{\hfil\folio}} -\global\oddchapheadline={\line{\hfil\folio}} -\global\let\contentsalignmacro = \chappager -} - -% for @setchapternewpage off -\def\HEADINGSsinglechapoff{% -\pageone -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapter\hfil\folio}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\evenchapheadline=\evenheadline -\global\oddchapheadline=\oddheadline -\global\let\contentsalignmacro = \chappager -} - -% Subroutines used in generating headings -% This produces Day Month Year style of output. -% Only define if not already defined, in case a txi-??.tex file has set -% up a different format (e.g., txi-cs.tex does this). -\ifx\today\thisisundefined -\def\today{% - \number\day\space - \ifcase\month - \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr - \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug - \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec - \fi - \space\number\year} -\fi - -% @settitle line... specifies the title of the document, for headings. -% It generates no output of its own. -\def\thistitle{\putwordNoTitle} -\def\settitle{\parsearg{\gdef\thistitle}} - - -\message{tables,} -% Tables -- @table, @ftable, @vtable, @item(x). - -% default indentation of table text -\newdimen\tableindent \tableindent=.8in -% default indentation of @itemize and @enumerate text -\newdimen\itemindent \itemindent=.3in -% margin between end of table item and start of table text. -\newdimen\itemmargin \itemmargin=.1in - -% used internally for \itemindent minus \itemmargin -\newdimen\itemmax - -% Note @table, @ftable, and @vtable define @item, @itemx, etc., with -% these defs. -% They also define \itemindex -% to index the item name in whatever manner is desired (perhaps none). - -\newif\ifitemxneedsnegativevskip - -\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} - -\def\internalBitem{\smallbreak \parsearg\itemzzz} -\def\internalBitemx{\itemxpar \parsearg\itemzzz} - -\def\itemzzz #1{\begingroup % - \advance\hsize by -\rightskip - \advance\hsize by -\tableindent - \setbox0=\hbox{\itemindicate{#1}}% - \itemindex{#1}% - \nobreak % This prevents a break before @itemx. - % - % If the item text does not fit in the space we have, put it on a line - % by itself, and do not allow a page break either before or after that - % line. We do not start a paragraph here because then if the next - % command is, e.g., @kindex, the whatsit would get put into the - % horizontal list on a line by itself, resulting in extra blank space. - \ifdim \wd0>\itemmax - % - % Make this a paragraph so we get the \parskip glue and wrapping, - % but leave it ragged-right. - \begingroup - \advance\leftskip by-\tableindent - \advance\hsize by\tableindent - \advance\rightskip by0pt plus1fil\relax - \leavevmode\unhbox0\par - \endgroup - % - % We're going to be starting a paragraph, but we don't want the - % \parskip glue -- logically it's part of the @item we just started. - \nobreak \vskip-\parskip - % - % Stop a page break at the \parskip glue coming up. However, if - % what follows is an environment such as @example, there will be no - % \parskip glue; then the negative vskip we just inserted would - % cause the example and the item to crash together. So we use this - % bizarre value of 10001 as a signal to \aboveenvbreak to insert - % \parskip glue after all. Section titles are handled this way also. - % - \penalty 10001 - \endgroup - \itemxneedsnegativevskipfalse - \else - % The item text fits into the space. Start a paragraph, so that the - % following text (if any) will end up on the same line. - \noindent - % Do this with kerns and \unhbox so that if there is a footnote in - % the item text, it can migrate to the main vertical list and - % eventually be printed. - \nobreak\kern-\tableindent - \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 - \unhbox0 - \nobreak\kern\dimen0 - \endgroup - \itemxneedsnegativevskiptrue - \fi -} - -\def\item{\errmessage{@item while not in a list environment}} -\def\itemx{\errmessage{@itemx while not in a list environment}} - -% @table, @ftable, @vtable. -\envdef\table{% - \let\itemindex\gobble - \tablecheck{table}% -} -\envdef\ftable{% - \def\itemindex ##1{\doind {fn}{\code{##1}}}% - \tablecheck{ftable}% -} -\envdef\vtable{% - \def\itemindex ##1{\doind {vr}{\code{##1}}}% - \tablecheck{vtable}% -} -\def\tablecheck#1{% - \ifnum \the\catcode`\^^M=\active - \endgroup - \errmessage{This command won't work in this context; perhaps the problem is - that we are \inenvironment\thisenv}% - \def\next{\doignore{#1}}% - \else - \let\next\tablex - \fi - \next -} -\def\tablex#1{% - \def\itemindicate{#1}% - \parsearg\tabley -} -\def\tabley#1{% - {% - \makevalueexpandable - \edef\temp{\noexpand\tablez #1\space\space\space}% - \expandafter - }\temp \endtablez -} -\def\tablez #1 #2 #3 #4\endtablez{% - \aboveenvbreak - \ifnum 0#1>0 \advance \leftskip by #1\mil \fi - \ifnum 0#2>0 \tableindent=#2\mil \fi - \ifnum 0#3>0 \advance \rightskip by #3\mil \fi - \itemmax=\tableindent - \advance \itemmax by -\itemmargin - \advance \leftskip by \tableindent - \exdentamount=\tableindent - \parindent = 0pt - \parskip = \smallskipamount - \ifdim \parskip=0pt \parskip=2pt \fi - \let\item = \internalBitem - \let\itemx = \internalBitemx -} -\def\Etable{\endgraf\afterenvbreak} -\let\Eftable\Etable -\let\Evtable\Etable -\let\Eitemize\Etable -\let\Eenumerate\Etable - -% This is the counter used by @enumerate, which is really @itemize - -\newcount \itemno - -\envdef\itemize{\parsearg\doitemize} - -\def\doitemize#1{% - \aboveenvbreak - \itemmax=\itemindent - \advance\itemmax by -\itemmargin - \advance\leftskip by \itemindent - \exdentamount=\itemindent - \parindent=0pt - \parskip=\smallskipamount - \ifdim\parskip=0pt \parskip=2pt \fi - % - % Try typesetting the item mark so that if the document erroneously says - % something like @itemize @samp (intending @table), there's an error - % right away at the @itemize. It's not the best error message in the - % world, but it's better than leaving it to the @item. This means if - % the user wants an empty mark, they have to say @w{} not just @w. - \def\itemcontents{#1}% - \setbox0 = \hbox{\itemcontents}% - % - % @itemize with no arg is equivalent to @itemize @bullet. - \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi - % - \let\item=\itemizeitem -} - -% Definition of @item while inside @itemize and @enumerate. -% -\def\itemizeitem{% - \advance\itemno by 1 % for enumerations - {\let\par=\endgraf \smallbreak}% reasonable place to break - {% - % If the document has an @itemize directly after a section title, a - % \nobreak will be last on the list, and \sectionheading will have - % done a \vskip-\parskip. In that case, we don't want to zero - % parskip, or the item text will crash with the heading. On the - % other hand, when there is normal text preceding the item (as there - % usually is), we do want to zero parskip, or there would be too much - % space. In that case, we won't have a \nobreak before. At least - % that's the theory. - \ifnum\lastpenalty<10000 \parskip=0in \fi - \noindent - \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% - % - \ifinner\else - \vadjust{\penalty 1200}% not good to break after first line of item. - \fi - % We can be in inner vertical mode in a footnote, although an - % @itemize looks awful there. - }% - \flushcr -} - -% \splitoff TOKENS\endmark defines \first to be the first token in -% TOKENS, and \rest to be the remainder. -% -\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% - -% Allow an optional argument of an uppercase letter, lowercase letter, -% or number, to specify the first label in the enumerated list. No -% argument is the same as `1'. -% -\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} -\def\enumeratey #1 #2\endenumeratey{% - % If we were given no argument, pretend we were given `1'. - \def\thearg{#1}% - \ifx\thearg\empty \def\thearg{1}\fi - % - % Detect if the argument is a single token. If so, it might be a - % letter. Otherwise, the only valid thing it can be is a number. - % (We will always have one token, because of the test we just made. - % This is a good thing, since \splitoff doesn't work given nothing at - % all -- the first parameter is undelimited.) - \expandafter\splitoff\thearg\endmark - \ifx\rest\empty - % Only one token in the argument. It could still be anything. - % A ``lowercase letter'' is one whose \lccode is nonzero. - % An ``uppercase letter'' is one whose \lccode is both nonzero, and - % not equal to itself. - % Otherwise, we assume it's a number. - % - % We need the \relax at the end of the \ifnum lines to stop TeX from - % continuing to look for a <number>. - % - \ifnum\lccode\expandafter`\thearg=0\relax - \numericenumerate % a number (we hope) - \else - % It's a letter. - \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax - \lowercaseenumerate % lowercase letter - \else - \uppercaseenumerate % uppercase letter - \fi - \fi - \else - % Multiple tokens in the argument. We hope it's a number. - \numericenumerate - \fi -} - -% An @enumerate whose labels are integers. The starting integer is -% given in \thearg. -% -\def\numericenumerate{% - \itemno = \thearg - \startenumeration{\the\itemno}% -} - -% The starting (lowercase) letter is in \thearg. -\def\lowercaseenumerate{% - \itemno = \expandafter`\thearg - \startenumeration{% - % Be sure we're not beyond the end of the alphabet. - \ifnum\itemno=0 - \errmessage{No more lowercase letters in @enumerate; get a bigger - alphabet}% - \fi - \char\lccode\itemno - }% -} - -% The starting (uppercase) letter is in \thearg. -\def\uppercaseenumerate{% - \itemno = \expandafter`\thearg - \startenumeration{% - % Be sure we're not beyond the end of the alphabet. - \ifnum\itemno=0 - \errmessage{No more uppercase letters in @enumerate; get a bigger - alphabet} - \fi - \char\uccode\itemno - }% -} - -% Call \doitemize, adding a period to the first argument and supplying the -% common last two arguments. Also subtract one from the initial value in -% \itemno, since @item increments \itemno. -% -\def\startenumeration#1{% - \advance\itemno by -1 - \doitemize{#1.}\flushcr -} - - -% @multitable macros - -% Macros used to set up halign preamble: -% -\let\endsetuptable\relax -\def\xendsetuptable{\endsetuptable} -\let\columnfractions\relax -\def\xcolumnfractions{\columnfractions} -\newif\ifsetpercent - -% #1 is the @columnfraction, usually a decimal number like .5, but might -% be just 1. We just use it, whatever it is. -% -\def\pickupwholefraction#1 {% - \global\advance\colcount by 1 - \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% - \setuptable -} - -\newcount\colcount -\def\setuptable#1{% - \def\firstarg{#1}% - \ifx\firstarg\xendsetuptable - \let\go = \relax - \else - \ifx\firstarg\xcolumnfractions - \global\setpercenttrue - \else - \ifsetpercent - \let\go\pickupwholefraction - \else - \global\advance\colcount by 1 - \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a - % separator; typically that is always in the input, anyway. - \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% - \fi - \fi - \ifx\go\pickupwholefraction - % Put the argument back for the \pickupwholefraction call, so - % we'll always have a period there to be parsed. - \def\go{\pickupwholefraction#1}% - \else - \let\go = \setuptable - \fi% - \fi - \go -} - -% @headitem starts a heading row, which we typeset in bold. Assignments -% have to be global since we are inside the implicit group of an -% alignment entry. \everycr below resets \everytab so we don't have to -% undo it ourselves. -\def\headitemfont{\b}% for people to use in the template row; not changeable -\def\headitem{% - \checkenv\multitable - \crcr - \gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings - \global\everytab={\bf}% can't use \headitemfont since the parsing differs - \the\everytab % for the first item -}% -% -% default for tables with no headings. -\let\headitemcrhook=\relax -% -\def\tab{\checkenv\multitable &\the\everytab}% - -\newtoks\everytab % insert after every tab. -% -\envdef\multitable{% - \vskip\parskip - \startsavinginserts - % - % @item within a multitable starts a normal row. - % We use \def instead of \let so that if one of the multitable entries - % contains an @itemize, we don't choke on the \item (seen as \crcr aka - % \endtemplate) expanding \doitemize. - \def\item{\crcr}% - % - \tolerance=9500 - \hbadness=9500 - \parskip=0pt - \parindent=6pt - \overfullrule=0pt - \global\colcount=0 - % - \everycr = {% - \noalign{% - \global\everytab={}% Reset from possible headitem. - \global\colcount=0 % Reset the column counter. - % - % Check for saved footnotes, etc.: - \checkinserts - % - % Perhaps a \nobreak, then reset: - \headitemcrhook - \global\let\headitemcrhook=\relax - }% - }% - % - \parsearg\domultitable -} -\def\domultitable#1{% - % To parse everything between @multitable and @item: - \setuptable#1 \endsetuptable - % - % This preamble sets up a generic column definition, which will - % be used as many times as user calls for columns. - % \vtop will set a single line and will also let text wrap and - % continue for many paragraphs if desired. - \halign\bgroup &% - \global\advance\colcount by 1 - \strut - \vtop{% - \advance\hsize by -1\leftskip - % Find the correct column width - \hsize=\expandafter\csname col\the\colcount\endcsname - % - \rightskip=0pt - \ifnum\colcount=1 - \advance\hsize by\leftskip % Add indent of surrounding text - \else - % In order to keep entries from bumping into each other. - \leftskip=12pt - \ifsetpercent \else - % If a template has been used - \advance\hsize by \leftskip - \fi - \fi - \noindent\ignorespaces##\unskip\strut - }\cr -} -\def\Emultitable{% - \crcr - \egroup % end the \halign - \global\setpercentfalse -} - - -\message{conditionals,} - -% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, -% @ifnotxml always succeed. They currently do nothing; we don't -% attempt to check whether the conditionals are properly nested. But we -% have to remember that they are conditionals, so that @end doesn't -% attempt to close an environment group. -% -\def\makecond#1{% - \expandafter\let\csname #1\endcsname = \relax - \expandafter\let\csname iscond.#1\endcsname = 1 -} -\makecond{iftex} -\makecond{ifnotdocbook} -\makecond{ifnothtml} -\makecond{ifnotinfo} -\makecond{ifnotplaintext} -\makecond{ifnotxml} - -% Ignore @ignore, @ifhtml, @ifinfo, and the like. -% -\def\direntry{\doignore{direntry}} -\def\documentdescription{\doignore{documentdescription}} -\def\docbook{\doignore{docbook}} -\def\html{\doignore{html}} -\def\ifdocbook{\doignore{ifdocbook}} -\def\ifhtml{\doignore{ifhtml}} -\def\ifinfo{\doignore{ifinfo}} -\def\ifnottex{\doignore{ifnottex}} -\def\ifplaintext{\doignore{ifplaintext}} -\def\ifxml{\doignore{ifxml}} -\def\ignore{\doignore{ignore}} -\def\menu{\doignore{menu}} -\def\xml{\doignore{xml}} - -% Ignore text until a line `@end #1', keeping track of nested conditionals. -% -% A count to remember the depth of nesting. -\newcount\doignorecount - -\def\doignore#1{\begingroup - % Scan in ``verbatim'' mode: - \obeylines - \catcode`\@ = \other - \catcode`\{ = \other - \catcode`\} = \other - % - % Make sure that spaces turn into tokens that match what \doignoretext wants. - \spaceisspace - % - % Count number of #1's that we've seen. - \doignorecount = 0 - % - % Swallow text until we reach the matching `@end #1'. - \dodoignore{#1}% -} - -{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. - \obeylines % - % - \gdef\dodoignore#1{% - % #1 contains the command name as a string, e.g., `ifinfo'. - % - % Define a command to find the next `@end #1'. - \long\def\doignoretext##1^^M@end #1{% - \doignoretextyyy##1^^M@#1\_STOP_}% - % - % And this command to find another #1 command, at the beginning of a - % line. (Otherwise, we would consider a line `@c @ifset', for - % example, to count as an @ifset for nesting.) - \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% - % - % And now expand that command. - \doignoretext ^^M% - }% -} - -\def\doignoreyyy#1{% - \def\temp{#1}% - \ifx\temp\empty % Nothing found. - \let\next\doignoretextzzz - \else % Found a nested condition, ... - \advance\doignorecount by 1 - \let\next\doignoretextyyy % ..., look for another. - % If we're here, #1 ends with ^^M\ifinfo (for example). - \fi - \next #1% the token \_STOP_ is present just after this macro. -} - -% We have to swallow the remaining "\_STOP_". -% -\def\doignoretextzzz#1{% - \ifnum\doignorecount = 0 % We have just found the outermost @end. - \let\next\enddoignore - \else % Still inside a nested condition. - \advance\doignorecount by -1 - \let\next\doignoretext % Look for the next @end. - \fi - \next -} - -% Finish off ignored text. -{ \obeylines% - % Ignore anything after the last `@end #1'; this matters in verbatim - % environments, where otherwise the newline after an ignored conditional - % would result in a blank line in the output. - \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% -} - - -% @set VAR sets the variable VAR to an empty value. -% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. -% -% Since we want to separate VAR from REST-OF-LINE (which might be -% empty), we can't just use \parsearg; we have to insert a space of our -% own to delimit the rest of the line, and then take it out again if we -% didn't need it. -% We rely on the fact that \parsearg sets \catcode`\ =10. -% -\parseargdef\set{\setyyy#1 \endsetyyy} -\def\setyyy#1 #2\endsetyyy{% - {% - \makevalueexpandable - \def\temp{#2}% - \edef\next{\gdef\makecsname{SET#1}}% - \ifx\temp\empty - \next{}% - \else - \setzzz#2\endsetzzz - \fi - }% -} -% Remove the trailing space \setxxx inserted. -\def\setzzz#1 \endsetzzz{\next{#1}} - -% @clear VAR clears (i.e., unsets) the variable VAR. -% -\parseargdef\clear{% - {% - \makevalueexpandable - \global\expandafter\let\csname SET#1\endcsname=\relax - }% -} - -% @value{foo} gets the text saved in variable foo. -\def\value{\begingroup\makevalueexpandable\valuexxx} -\def\valuexxx#1{\expandablevalue{#1}\endgroup} -{ - \catcode`\-=\active \catcode`\_=\active - % - \gdef\makevalueexpandable{% - \let\value = \expandablevalue - % We don't want these characters active, ... - \catcode`\-=\other \catcode`\_=\other - % ..., but we might end up with active ones in the argument if - % we're called from @code, as @code{@value{foo-bar_}}, though. - % So \let them to their normal equivalents. - \let-\normaldash \let_\normalunderscore - } -} - -\def\expandablevalue#1{% - \expandafter\ifx\csname SET#1\endcsname\relax - {[No value for ``#1'']}% - \message{Variable `#1', used in @value, is not set.}% - \else - \csname SET#1\endcsname - \fi -} - -% Like \expandablevalue, but completely expandable (the \message in the -% definition above operates at the execution level of TeX). Used when -% writing to auxiliary files, due to the expansion that \write does. -% If flag is undefined, pass through an unexpanded @value command: maybe it -% will be set by the time it is read back in. -% -% NB flag names containing - or _ may not work here. -\def\dummyvalue#1{% - \expandafter\ifx\csname SET#1\endcsname\relax - \string\value{#1}% - \else - \csname SET#1\endcsname - \fi -} - -% Used for @value's in index entries to form the sort key: expand the @value -% if possible, otherwise sort late. -\def\indexnofontsvalue#1{% - \expandafter\ifx\csname SET#1\endcsname\relax - ZZZZZZZ% - \else - \csname SET#1\endcsname - \fi -} - -% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined -% with @set. -% -% To get the special treatment we need for `@end ifset,' we call -% \makecond and then redefine. -% -\makecond{ifset} -\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} -\def\doifset#1#2{% - {% - \makevalueexpandable - \let\next=\empty - \expandafter\ifx\csname SET#2\endcsname\relax - #1% If not set, redefine \next. - \fi - \expandafter - }\next -} -\def\ifsetfail{\doignore{ifset}} - -% @ifclear VAR ... @end executes the `...' iff VAR has never been -% defined with @set, or has been undefined with @clear. -% -% The `\else' inside the `\doifset' parameter is a trick to reuse the -% above code: if the variable is not set, do nothing, if it is set, -% then redefine \next to \ifclearfail. -% -\makecond{ifclear} -\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} -\def\ifclearfail{\doignore{ifclear}} - -% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written -% without the @) is in fact defined. We can only feasibly check at the -% TeX level, so something like `mathcode' is going to considered -% defined even though it is not a Texinfo command. -% -\makecond{ifcommanddefined} -\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} -% -\def\doifcmddefined#1#2{{% - \makevalueexpandable - \let\next=\empty - \expandafter\ifx\csname #2\endcsname\relax - #1% If not defined, \let\next as above. - \fi - \expandafter - }\next -} -\def\ifcmddefinedfail{\doignore{ifcommanddefined}} - -% @ifcommandnotdefined CMD ... handled similar to @ifclear above. -\makecond{ifcommandnotdefined} -\def\ifcommandnotdefined{% - \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} -\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}} - -% Set the `txicommandconditionals' variable, so documents have a way to -% test if the @ifcommand...defined conditionals are available. -\set txicommandconditionals - -% @dircategory CATEGORY -- specify a category of the dir file -% which this file should belong to. Ignore this in TeX. -\let\dircategory=\comment - -% @defininfoenclose. -\let\definfoenclose=\comment - - -\message{indexing,} -% Index generation facilities - -% Define \newwrite to be identical to plain tex's \newwrite -% except not \outer, so it can be used within macros and \if's. -\edef\newwrite{\makecsname{ptexnewwrite}} - -% \newindex {foo} defines an index named IX. -% It automatically defines \IXindex such that -% \IXindex ...rest of line... puts an entry in the index IX. -% It also defines \IXindfile to be the number of the output channel for -% the file that accumulates this index. The file's extension is IX. -% The name of an index should be no more than 2 characters long -% for the sake of vms. -% -\def\newindex#1{% - \expandafter\chardef\csname#1indfile\endcsname=0 - \expandafter\xdef\csname#1index\endcsname{% % Define @#1index - \noexpand\doindex{#1}} -} - -% @defindex foo == \newindex{foo} -% -\def\defindex{\parsearg\newindex} - -% Define @defcodeindex, like @defindex except put all entries in @code. -% -\def\defcodeindex{\parsearg\newcodeindex} -% -\def\newcodeindex#1{% - \expandafter\chardef\csname#1indfile\endcsname=0 - \expandafter\xdef\csname#1index\endcsname{% - \noexpand\docodeindex{#1}}% -} - -% The default indices: -\newindex{cp}% concepts, -\newcodeindex{fn}% functions, -\newcodeindex{vr}% variables, -\newcodeindex{tp}% types, -\newcodeindex{ky}% keys -\newcodeindex{pg}% and programs. - - -% @synindex foo bar makes index foo feed into index bar. -% Do this instead of @defindex foo if you don't want it as a separate index. -% -% @syncodeindex foo bar similar, but put all entries made for index foo -% inside @code. -% -\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} -\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} - -% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), -% #3 the target index (bar). -\def\dosynindex#1#2#3{% - \requireopenindexfile{#3}% - % redefine \fooindfile: - \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname - \expandafter\let\csname#2indfile\endcsname=\temp - % redefine \fooindex: - \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% -} - -% Define \doindex, the driver for all index macros. -% Argument #1 is generated by the calling \fooindex macro, -% and it is the two-letter name of the index. - -\def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx} -\def\doindexxxx #1{\doind{\indexname}{#1}} - -% like the previous two, but they put @code around the argument. -\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} -\def\docodeindexxxx #1{\docind{\indexname}{#1}} - - -% Used for the aux, toc and index files to prevent expansion of Texinfo -% commands. -% -\def\atdummies{% - \definedummyletter\@% - \definedummyletter\ % - \definedummyletter\{% - \definedummyletter\}% - \definedummyletter\&% - % - % Do the redefinitions. - \definedummies - \otherbackslash -} - -% \definedummyword defines \#1 as \string\#1\space, thus effectively -% preventing its expansion. This is used only for control words, -% not control letters, because the \space would be incorrect for -% control characters, but is needed to separate the control word -% from whatever follows. -% -% These can be used both for control words that take an argument and -% those that do not. If it is followed by {arg} in the input, then -% that will dutifully get written to the index (or wherever). -% -% For control letters, we have \definedummyletter, which omits the -% space. -% -\def\definedummyword #1{\def#1{\string#1\space}}% -\def\definedummyletter#1{\def#1{\string#1}}% -\let\definedummyaccent\definedummyletter - -% Called from \atdummies to prevent the expansion of commands. -% -\def\definedummies{% - % - \let\commondummyword\definedummyword - \let\commondummyletter\definedummyletter - \let\commondummyaccent\definedummyaccent - \commondummiesnofonts - % - \definedummyletter\_% - \definedummyletter\-% - % - % Non-English letters. - \definedummyword\AA - \definedummyword\AE - \definedummyword\DH - \definedummyword\L - \definedummyword\O - \definedummyword\OE - \definedummyword\TH - \definedummyword\aa - \definedummyword\ae - \definedummyword\dh - \definedummyword\exclamdown - \definedummyword\l - \definedummyword\o - \definedummyword\oe - \definedummyword\ordf - \definedummyword\ordm - \definedummyword\questiondown - \definedummyword\ss - \definedummyword\th - % - % Although these internal commands shouldn't show up, sometimes they do. - \definedummyword\bf - \definedummyword\gtr - \definedummyword\hat - \definedummyword\less - \definedummyword\sf - \definedummyword\sl - \definedummyword\tclose - \definedummyword\tt - % - \definedummyword\LaTeX - \definedummyword\TeX - % - % Assorted special characters. - \definedummyword\ampchar - \definedummyword\atchar - \definedummyword\arrow - \definedummyword\backslashchar - \definedummyword\bullet - \definedummyword\comma - \definedummyword\copyright - \definedummyword\registeredsymbol - \definedummyword\dots - \definedummyword\enddots - \definedummyword\entrybreak - \definedummyword\equiv - \definedummyword\error - \definedummyword\euro - \definedummyword\expansion - \definedummyword\geq - \definedummyword\guillemetleft - \definedummyword\guillemetright - \definedummyword\guilsinglleft - \definedummyword\guilsinglright - \definedummyword\lbracechar - \definedummyword\leq - \definedummyword\mathopsup - \definedummyword\minus - \definedummyword\ogonek - \definedummyword\pounds - \definedummyword\point - \definedummyword\print - \definedummyword\quotedblbase - \definedummyword\quotedblleft - \definedummyword\quotedblright - \definedummyword\quoteleft - \definedummyword\quoteright - \definedummyword\quotesinglbase - \definedummyword\rbracechar - \definedummyword\result - \definedummyword\sub - \definedummyword\sup - \definedummyword\textdegree - % - \definedummyword\subentry - % - % We want to disable all macros so that they are not expanded by \write. - \macrolist - \let\value\dummyvalue - % - \normalturnoffactive -} - -% \commondummiesnofonts: common to \definedummies and \indexnofonts. -% Define \commondummyletter, \commondummyaccent and \commondummyword before -% using. Used for accents, font commands, and various control letters. -% -\def\commondummiesnofonts{% - % Control letters and accents. - \commondummyletter\!% - \commondummyaccent\"% - \commondummyaccent\'% - \commondummyletter\*% - \commondummyaccent\,% - \commondummyletter\.% - \commondummyletter\/% - \commondummyletter\:% - \commondummyaccent\=% - \commondummyletter\?% - \commondummyaccent\^% - \commondummyaccent\`% - \commondummyaccent\~% - \commondummyword\u - \commondummyword\v - \commondummyword\H - \commondummyword\dotaccent - \commondummyword\ogonek - \commondummyword\ringaccent - \commondummyword\tieaccent - \commondummyword\ubaraccent - \commondummyword\udotaccent - \commondummyword\dotless - % - % Texinfo font commands. - \commondummyword\b - \commondummyword\i - \commondummyword\r - \commondummyword\sansserif - \commondummyword\sc - \commondummyword\slanted - \commondummyword\t - % - % Commands that take arguments. - \commondummyword\abbr - \commondummyword\acronym - \commondummyword\anchor - \commondummyword\cite - \commondummyword\code - \commondummyword\command - \commondummyword\dfn - \commondummyword\dmn - \commondummyword\email - \commondummyword\emph - \commondummyword\env - \commondummyword\file - \commondummyword\image - \commondummyword\indicateurl - \commondummyword\inforef - \commondummyword\kbd - \commondummyword\key - \commondummyword\math - \commondummyword\option - \commondummyword\pxref - \commondummyword\ref - \commondummyword\samp - \commondummyword\strong - \commondummyword\tie - \commondummyword\U - \commondummyword\uref - \commondummyword\url - \commondummyword\var - \commondummyword\verb - \commondummyword\w - \commondummyword\xref -} - -\let\indexlbrace\relax -\let\indexrbrace\relax -\let\indexatchar\relax -\let\indexbackslash\relax - -{\catcode`\@=0 -\catcode`\\=13 - @gdef@backslashdisappear{@def\{}} -} - -{ -\catcode`\<=13 -\catcode`\-=13 -\catcode`\`=13 - \gdef\indexnonalnumdisappear{% - \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else - % @set txiindexlquoteignore makes us ignore left quotes in the sort term. - % (Introduced for FSFS 2nd ed.) - \let`=\empty - \fi - % - \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else - \backslashdisappear - \fi - % - \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else - \def-{}% - \fi - \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else - \def<{}% - \fi - \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else - \def\@{}% - \fi - } - - \gdef\indexnonalnumreappear{% - \let-\normaldash - \let<\normalless - } -} - - -% \indexnofonts is used when outputting the strings to sort the index -% by, and when constructing control sequence names. It eliminates all -% control sequences and just writes whatever the best ASCII sort string -% would be for a given command (usually its argument). -% -\def\indexnofonts{% - % Accent commands should become @asis. - \def\commondummyaccent##1{\let##1\asis}% - % We can just ignore other control letters. - \def\commondummyletter##1{\let##1\empty}% - % All control words become @asis by default; overrides below. - \let\commondummyword\commondummyaccent - \commondummiesnofonts - % - % Don't no-op \tt, since it isn't a user-level command - % and is used in the definitions of the active chars like <, >, |, etc. - % Likewise with the other plain tex font commands. - %\let\tt=\asis - % - \def\ { }% - \def\@{@}% - \def\_{\normalunderscore}% - \def\-{}% @- shouldn't affect sorting - % - \uccode`\1=`\{ \uppercase{\def\{{1}}% - \uccode`\1=`\} \uppercase{\def\}{1}}% - \let\lbracechar\{% - \let\rbracechar\}% - % - % Non-English letters. - \def\AA{AA}% - \def\AE{AE}% - \def\DH{DZZ}% - \def\L{L}% - \def\OE{OE}% - \def\O{O}% - \def\TH{TH}% - \def\aa{aa}% - \def\ae{ae}% - \def\dh{dzz}% - \def\exclamdown{!}% - \def\l{l}% - \def\oe{oe}% - \def\ordf{a}% - \def\ordm{o}% - \def\o{o}% - \def\questiondown{?}% - \def\ss{ss}% - \def\th{th}% - % - \let\do\indexnofontsdef - % - \do\LaTeX{LaTeX}% - \do\TeX{TeX}% - % - % Assorted special characters. - \do\atchar{@}% - \do\arrow{->}% - \do\bullet{bullet}% - \do\comma{,}% - \do\copyright{copyright}% - \do\dots{...}% - \do\enddots{...}% - \do\equiv{==}% - \do\error{error}% - \do\euro{euro}% - \do\expansion{==>}% - \do\geq{>=}% - \do\guillemetleft{<<}% - \do\guillemetright{>>}% - \do\guilsinglleft{<}% - \do\guilsinglright{>}% - \do\leq{<=}% - \do\lbracechar{\{}% - \do\minus{-}% - \do\point{.}% - \do\pounds{pounds}% - \do\print{-|}% - \do\quotedblbase{"}% - \do\quotedblleft{"}% - \do\quotedblright{"}% - \do\quoteleft{`}% - \do\quoteright{'}% - \do\quotesinglbase{,}% - \do\rbracechar{\}}% - \do\registeredsymbol{R}% - \do\result{=>}% - \do\textdegree{o}% - % - % We need to get rid of all macros, leaving only the arguments (if present). - % Of course this is not nearly correct, but it is the best we can do for now. - % makeinfo does not expand macros in the argument to @deffn, which ends up - % writing an index entry, and texindex isn't prepared for an index sort entry - % that starts with \. - % - % Since macro invocations are followed by braces, we can just redefine them - % to take a single TeX argument. The case of a macro invocation that - % goes to end-of-line is not handled. - % - \macrolist - \let\value\indexnofontsvalue -} - -% Give the control sequence a definition that removes the {} that follows -% its use, e.g. @AA{} -> AA -\def\indexnofontsdef#1#2{\def#1##1{#2}}% - - - - -% #1 is the index name, #2 is the entry text. -\def\doind#1#2{% - \iflinks - {% - % - \requireopenindexfile{#1}% - \edef\writeto{\csname#1indfile\endcsname}% - % - \def\indextext{#2}% - \safewhatsit\doindwrite - }% - \fi -} - -% Same as \doind, but for code indices -\def\docind#1#2{% - \iflinks - {% - % - \requireopenindexfile{#1}% - \edef\writeto{\csname#1indfile\endcsname}% - % - \def\indextext{#2}% - \safewhatsit\docindwrite - }% - \fi -} - -% Check if an index file has been opened, and if not, open it. -\def\requireopenindexfile#1{% -\ifnum\csname #1indfile\endcsname=0 - \expandafter\newwrite \csname#1indfile\endcsname - \edef\suffix{#1}% - % A .fls suffix would conflict with the file extension for the output - % of -recorder, so use .f1s instead. - \ifx\suffix\indexisfl\def\suffix{f1}\fi - % Open the file - \immediate\openout\csname#1indfile\endcsname \jobname.\suffix - % Using \immediate above here prevents an object entering into the current - % box, which could confound checks such as those in \safewhatsit for - % preceding skips. - \typeout{Writing index file \jobname.\suffix}% -\fi} -\def\indexisfl{fl} - -% Definition for writing index entry sort key. -{ -\catcode`\-=13 -\gdef\indexwritesortas{% - \begingroup - \indexnonalnumreappear - \indexwritesortasxxx} -\gdef\indexwritesortasxxx#1{% - \xdef\indexsortkey{#1}\endgroup} -} - -\def\indexwriteseealso#1{ - \gdef\pagenumbertext{\string\seealso{#1}}% -} -\def\indexwriteseeentry#1{ - \gdef\pagenumbertext{\string\seeentry{#1}}% -} - -% The default definitions -\def\sortas#1{}% -\def\seealso#1{\i{\putwordSeeAlso}\ #1}% for sorted index file only -\def\putwordSeeAlso{See also} -\def\seeentry#1{\i{\putwordSee}\ #1}% for sorted index file only - - -% Given index entry text like "aaa @subentry bbb @sortas{ZZZ}": -% * Set \bracedtext to "{aaa}{bbb}" -% * Set \fullindexsortkey to "aaa @subentry ZZZ" -% * If @seealso occurs, set \pagenumbertext -% -\def\splitindexentry#1{% - \gdef\fullindexsortkey{}% - \xdef\bracedtext{}% - \def\sep{}% - \def\seealso##1{}% - \def\seeentry##1{}% - \expandafter\doindexsegment#1\subentry\finish\subentry -} - -% append the results from the next segment -\def\doindexsegment#1\subentry{% - \def\segment{#1}% - \ifx\segment\isfinish - \else - % - % Fully expand the segment, throwing away any @sortas directives, and - % trim spaces. - \edef\trimmed{\segment}% - \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% - \ifincodeindex - \edef\trimmed{\noexpand\code{\trimmed}}% - \fi - % - \xdef\bracedtext{\bracedtext{\trimmed}}% - % - % Get the string to sort by. Process the segment with all - % font commands turned off. - \bgroup - \let\sortas\indexwritesortas - \let\seealso\indexwriteseealso - \let\seeentry\indexwriteseeentry - \indexnofonts - % The braces around the commands are recognized by texindex. - \def\lbracechar{{\string\indexlbrace}}% - \def\rbracechar{{\string\indexrbrace}}% - \let\{=\lbracechar - \let\}=\rbracechar - \def\@{{\string\indexatchar}}% - \def\atchar##1{\@}% - \def\backslashchar{{\string\indexbackslash}}% - \uccode`\~=`\\ \uppercase{\let~\backslashchar}% - % - \let\indexsortkey\empty - \global\let\pagenumbertext\empty - % Execute the segment and throw away the typeset output. This executes - % any @sortas or @seealso commands in this segment. - \setbox\dummybox = \hbox{\segment}% - \ifx\indexsortkey\empty{% - \indexnonalnumdisappear - \xdef\trimmed{\segment}% - \xdef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% - \xdef\indexsortkey{\trimmed}% - \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi - }\fi - % - % Append to \fullindexsortkey. - \edef\tmp{\gdef\noexpand\fullindexsortkey{% - \fullindexsortkey\sep\indexsortkey}}% - \tmp - \egroup - \def\sep{\subentry}% - % - \expandafter\doindexsegment - \fi -} -\def\isfinish{\finish}% -\newbox\dummybox % used above - -\let\subentry\relax - -% Use \ instead of @ in index files. To support old texi2dvi and texindex. -% This works without changing the escape character used in the toc or aux -% files because the index entries are fully expanded here, and \string uses -% the current value of \escapechar. -\def\escapeisbackslash{\escapechar=`\\} - -% Use \ in index files by default. texi2dvi didn't support @ as the escape -% character (as it checked for "\entry" in the files, and not "@entry"). When -% the new version of texi2dvi has had a chance to become more prevalent, then -% the escape character can change back to @ again. This should be an easy -% change to make now because both @ and \ are only used as escape characters in -% index files, never standing for themselves. -% -\set txiindexescapeisbackslash - -% Write the entry in \indextext to the index file. -% - -\newif\ifincodeindex -\def\doindwrite{\incodeindexfalse\doindwritex} -\def\docindwrite{\incodeindextrue\doindwritex} - -\def\doindwritex{% - \maybemarginindex - % - \atdummies - % - \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax\else - \escapeisbackslash - \fi - % - % For texindex which always views { and } as separators. - \def\{{\lbracechar{}}% - \def\}{\rbracechar{}}% - \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}% - % - % Split the entry into primary entry and any subentries, and get the index - % sort key. - \splitindexentry\indextext - % - % Set up the complete index entry, with both the sort key and - % the original text, including any font commands. We write - % three arguments to \entry to the .?? file (four in the - % subentry case), texindex reduces to two when writing the .??s - % sorted result. - % - \edef\temp{% - \write\writeto{% - \string\entry{\fullindexsortkey}% - {\ifx\pagenumbertext\empty\noexpand\folio\else\pagenumbertext\fi}% - \bracedtext}% - }% - \temp -} - -% Put the index entry in the margin if desired (undocumented). -\def\maybemarginindex{% - \ifx\SETmarginindex\relax\else - \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \relax\indextext}}% - \fi -} -\let\SETmarginindex=\relax - - -% Take care of unwanted page breaks/skips around a whatsit: -% -% If a skip is the last thing on the list now, preserve it -% by backing up by \lastskip, doing the \write, then inserting -% the skip again. Otherwise, the whatsit generated by the -% \write or \pdfdest will make \lastskip zero. The result is that -% sequences like this: -% @end defun -% @tindex whatever -% @defun ... -% will have extra space inserted, because the \medbreak in the -% start of the @defun won't see the skip inserted by the @end of -% the previous defun. -% -% But don't do any of this if we're not in vertical mode. We -% don't want to do a \vskip and prematurely end a paragraph. -% -% Avoid page breaks due to these extra skips, too. -% -% But wait, there is a catch there: -% We'll have to check whether \lastskip is zero skip. \ifdim is not -% sufficient for this purpose, as it ignores stretch and shrink parts -% of the skip. The only way seems to be to check the textual -% representation of the skip. -% -% The following is almost like \def\zeroskipmacro{0.0pt} except that -% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). -% -\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} -% -\newskip\whatsitskip -\newcount\whatsitpenalty -% -% ..., ready, GO: -% -\def\safewhatsit#1{\ifhmode - #1% - \else - % \lastskip and \lastpenalty cannot both be nonzero simultaneously. - \whatsitskip = \lastskip - \edef\lastskipmacro{\the\lastskip}% - \whatsitpenalty = \lastpenalty - % - % If \lastskip is nonzero, that means the last item was a - % skip. And since a skip is discardable, that means this - % -\whatsitskip glue we're inserting is preceded by a - % non-discardable item, therefore it is not a potential - % breakpoint, therefore no \nobreak needed. - \ifx\lastskipmacro\zeroskipmacro - \else - \vskip-\whatsitskip - \fi - % - #1% - % - \ifx\lastskipmacro\zeroskipmacro - % If \lastskip was zero, perhaps the last item was a penalty, and - % perhaps it was >=10000, e.g., a \nobreak. In that case, we want - % to re-insert the same penalty (values >10000 are used for various - % signals); since we just inserted a non-discardable item, any - % following glue (such as a \parskip) would be a breakpoint. For example: - % @deffn deffn-whatever - % @vindex index-whatever - % Description. - % would allow a break between the index-whatever whatsit - % and the "Description." paragraph. - \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi - \else - % On the other hand, if we had a nonzero \lastskip, - % this make-up glue would be preceded by a non-discardable item - % (the whatsit from the \write), so we must insert a \nobreak. - \nobreak\vskip\whatsitskip - \fi -\fi} - -% The index entry written in the file actually looks like -% \entry {sortstring}{page}{topic} -% or -% \entry {sortstring}{page}{topic}{subtopic} -% The texindex program reads in these files and writes files -% containing these kinds of lines: -% \initial {c} -% before the first topic whose initial is c -% \entry {topic}{pagelist} -% for a topic that is used without subtopics -% \primary {topic} -% \entry {topic}{} -% for the beginning of a topic that is used with subtopics -% \secondary {subtopic}{pagelist} -% for each subtopic. -% \secondary {subtopic}{} -% for a subtopic with sub-subtopics -% \tertiary {subtopic}{subsubtopic}{pagelist} -% for each sub-subtopic. - -% Define the user-accessible indexing commands -% @findex, @vindex, @kindex, @cindex. - -\def\findex {\fnindex} -\def\kindex {\kyindex} -\def\cindex {\cpindex} -\def\vindex {\vrindex} -\def\tindex {\tpindex} -\def\pindex {\pgindex} - -% Define the macros used in formatting output of the sorted index material. - -% @printindex causes a particular index (the ??s file) to get printed. -% It does not print any chapter heading (usually an @unnumbered). -% -\parseargdef\printindex{\begingroup - \dobreak \chapheadingskip{10000}% - % - \smallfonts \rm - \tolerance = 9500 - \plainfrenchspacing - \everypar = {}% don't want the \kern\-parindent from indentation suppression. - % - % See comment in \requireopenindexfile. - \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi - % - % See if the index file exists and is nonempty. - \openin 1 \jobname.\indexname s - \ifeof 1 - % \enddoublecolumns gets confused if there is no text in the index, - % and it loses the chapter title and the aux file entries for the - % index. The easiest way to prevent this problem is to make sure - % there is some text. - \putwordIndexNonexistent - \typeout{No file \jobname.\indexname s.}% - \else - % If the index file exists but is empty, then \openin leaves \ifeof - % false. We have to make TeX try to read something from the file, so - % it can discover if there is anything in it. - \read 1 to \thisline - \ifeof 1 - \putwordIndexIsEmpty - \else - \expandafter\printindexzz\thisline\relax\relax\finish% - \fi - \fi - \closein 1 -\endgroup} - -% If the index file starts with a backslash, forgo reading the index -% file altogether. If somebody upgrades texinfo.tex they may still have -% old index files using \ as the escape character. Reading this would -% at best lead to typesetting garbage, at worst a TeX syntax error. -\def\printindexzz#1#2\finish{% - \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax - \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1 - \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax -\errmessage{% -ERROR: A sorted index file in an obsolete format was skipped. -To fix this problem, please upgrade your version of 'texi2dvi' -or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>. -If you are using an old version of 'texindex' (part of the Texinfo -distribution), you may also need to upgrade to a newer version (at least 6.0). -You may be able to typeset the index if you run -'texindex \jobname.\indexname' yourself. -You could also try setting the 'txiindexescapeisbackslash' flag by -running a command like -'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do -this, Texinfo will try to use index files in the old format. -If you continue to have problems, deleting the index files and starting again -might help (with 'rm \jobname.?? \jobname.??s')% -}% - \else - (Skipped sorted index file in obsolete format) - \fi - \else - \begindoublecolumns - \input \jobname.\indexname s - \enddoublecolumns - \fi - \else - \begindoublecolumns - \catcode`\\=0\relax - % - % Make @ an escape character to give macros a chance to work. This - % should work because we (hopefully) don't otherwise use @ in index files. - %\catcode`\@=12\relax - \catcode`\@=0\relax - \input \jobname.\indexname s - \enddoublecolumns - \fi -} - -% These macros are used by the sorted index file itself. -% Change them to control the appearance of the index. - -{\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13 -\catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13 -\catcode`\$=3 -\gdef\initialglyphs{% - % special control sequences used in the index sort key - \let\indexlbrace\{% - \let\indexrbrace\}% - \let\indexatchar\@% - \def\indexbackslash{\math{\backslash}}% - % - % Some changes for non-alphabetic characters. Using the glyphs from the - % math fonts looks more consistent than the typewriter font used elsewhere - % for these characters. - \uccode`\~=`\\ \uppercase{\def~{\math{\backslash}}} - % - % In case @\ is used for backslash - \uppercase{\let\\=~} - % Can't get bold backslash so don't use bold forward slash - \catcode`\/=13 - \def/{{\secrmnotbold \normalslash}}% - \def-{{\normaldash\normaldash}}% en dash `--' - \def^{{\chapbf \normalcaret}}% - \def~{{\chapbf \normaltilde}}% - \def\_{% - \leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }% - \def|{$\vert$}% - \def<{$\less$}% - \def>{$\gtr$}% - \def+{$\normalplus$}% -}} - -\def\initial{% - \bgroup - \initialglyphs - \initialx -} - -\def\initialx#1{% - % Remove any glue we may have, we'll be inserting our own. - \removelastskip - % - % We like breaks before the index initials, so insert a bonus. - % The glue before the bonus allows a little bit of space at the - % bottom of a column to reduce an increase in inter-line spacing. - \nobreak - \vskip 0pt plus 5\baselineskip - \penalty -300 - \vskip 0pt plus -5\baselineskip - % - % Typeset the initial. Making this add up to a whole number of - % baselineskips increases the chance of the dots lining up from column - % to column. It still won't often be perfect, because of the stretch - % we need before each entry, but it's better. - % - % No shrink because it confuses \balancecolumns. - \vskip 1.67\baselineskip plus 1\baselineskip - \leftline{\secfonts \kern-0.05em \secbf #1}% - % \secfonts is inside the argument of \leftline so that the change of - % \baselineskip will not affect any glue inserted before the vbox that - % \leftline creates. - % Do our best not to break after the initial. - \nobreak - \vskip .33\baselineskip plus .1\baselineskip - \egroup % \initialglyphs -} - -\newdimen\entryrightmargin -\entryrightmargin=0pt - -% \entry typesets a paragraph consisting of the text (#1), dot leaders, and -% then page number (#2) flushed to the right margin. It is used for index -% and table of contents entries. The paragraph is indented by \leftskip. -% -\def\entry{% - \begingroup - % - % Start a new paragraph if necessary, so our assignments below can't - % affect previous text. - \par - % - % No extra space above this paragraph. - \parskip = 0in - % - % When reading the text of entry, convert explicit line breaks - % from @* into spaces. The user might give these in long section - % titles, for instance. - \def\*{\unskip\space\ignorespaces}% - \def\entrybreak{\hfil\break}% An undocumented command - % - % Swallow the left brace of the text (first parameter): - \afterassignment\doentry - \let\temp = -} -\def\entrybreak{\unskip\space\ignorespaces}% -\def\doentry{% - % Save the text of the entry - \global\setbox\boxA=\hbox\bgroup - \bgroup % Instead of the swallowed brace. - \noindent - \aftergroup\finishentry - % And now comes the text of the entry. - % Not absorbing as a macro argument reduces the chance of problems - % with catcodes occurring. -} -{\catcode`\@=11 -\gdef\finishentry#1{% - \egroup % end box A - \dimen@ = \wd\boxA % Length of text of entry - \global\setbox\boxA=\hbox\bgroup - \unhbox\boxA - % #1 is the page number. - % - % Get the width of the page numbers, and only use - % leaders if they are present. - \global\setbox\boxB = \hbox{#1}% - \ifdim\wd\boxB = 0pt - \null\nobreak\hfill\ % - \else - % - \null\nobreak\indexdotfill % Have leaders before the page number. - % - \ifpdforxetex - \pdfgettoks#1.% - \hskip\skip\thinshrinkable\the\toksA - \else - \hskip\skip\thinshrinkable #1% - \fi - \fi - \egroup % end \boxA - \ifdim\wd\boxB = 0pt - \noindent\unhbox\boxA\par - \nobreak - \else\bgroup - % We want the text of the entries to be aligned to the left, and the - % page numbers to be aligned to the right. - % - \parindent = 0pt - \advance\leftskip by 0pt plus 1fil - \advance\leftskip by 0pt plus -1fill - \rightskip = 0pt plus -1fil - \advance\rightskip by 0pt plus 1fill - % Cause last line, which could consist of page numbers on their own - % if the list of page numbers is long, to be aligned to the right. - \parfillskip=0pt plus -1fill - % - \advance\rightskip by \entryrightmargin - % Determine how far we can stretch into the margin. - % This allows, e.g., "Appendix H GNU Free Documentation License" to - % fit on one line in @letterpaper format. - \ifdim\entryrightmargin>2.1em - \dimen@i=2.1em - \else - \dimen@i=0em - \fi - \advance \parfillskip by 0pt minus 1\dimen@i - % - \dimen@ii = \hsize - \advance\dimen@ii by -1\leftskip - \advance\dimen@ii by -1\entryrightmargin - \advance\dimen@ii by 1\dimen@i - \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line - \ifdim\dimen@ > 0.8\dimen@ii % due to long index text - % Try to split the text roughly evenly. \dimen@ will be the length of - % the first line. - \dimen@ = 0.7\dimen@ - \dimen@ii = \hsize - \ifnum\dimen@>\dimen@ii - % If the entry is too long (for example, if it needs more than - % two lines), use all the space in the first line. - \dimen@ = \dimen@ii - \fi - \advance\leftskip by 0pt plus 1fill % ragged right - \advance \dimen@ by 1\rightskip - \parshape = 2 0pt \dimen@ 0em \dimen@ii - % Ideally we'd add a finite glue at the end of the first line only, - % instead of using \parshape with explicit line lengths, but TeX - % doesn't seem to provide a way to do such a thing. - % - % Indent all lines but the first one. - \advance\leftskip by 1em - \advance\parindent by -1em - \fi\fi - \indent % start paragraph - \unhbox\boxA - % - % Do not prefer a separate line ending with a hyphen to fewer lines. - \finalhyphendemerits = 0 - % - % Word spacing - no stretch - \spaceskip=\fontdimen2\font minus \fontdimen4\font - % - \linepenalty=1000 % Discourage line breaks. - \hyphenpenalty=5000 % Discourage hyphenation. - % - \par % format the paragraph - \egroup % The \vbox - \fi - \endgroup -}} - -\newskip\thinshrinkable -\skip\thinshrinkable=.15em minus .15em - -% Like plain.tex's \dotfill, except uses up at least 1 em. -% The filll stretch here overpowers both the fil and fill stretch to push -% the page number to the right. -\def\indexdotfill{\cleaders - \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1filll} - - -\def\primary #1{\line{#1\hfil}} - -\def\secondary{\indententry{0.5cm}} -\def\tertiary{\indententry{1cm}} - -\def\indententry#1#2#3{% - \bgroup - \leftskip=#1 - \entry{#2}{#3}% - \egroup -} - -% Define two-column mode, which we use to typeset indexes. -% Adapted from the TeXbook, page 416, which is to say, -% the manmac.tex format used to print the TeXbook itself. -\catcode`\@=11 % private names - -\newbox\partialpage -\newdimen\doublecolumnhsize - -\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns - % If not much space left on page, start a new page. - \ifdim\pagetotal>0.8\vsize\vfill\eject\fi - % - % Grab any single-column material above us. - \output = {% - \savetopmark - % - \global\setbox\partialpage = \vbox{% - % Unvbox the main output page. - \unvbox\PAGE - \kern-\topskip \kern\baselineskip - }% - }% - \eject % run that output routine to set \partialpage - % - % Use the double-column output routine for subsequent pages. - \output = {\doublecolumnout}% - % - % Change the page size parameters. We could do this once outside this - % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 - % format, but then we repeat the same computation. Repeating a couple - % of assignments once per index is clearly meaningless for the - % execution time, so we may as well do it in one place. - % - % First we halve the line length, less a little for the gutter between - % the columns. We compute the gutter based on the line length, so it - % changes automatically with the paper format. The magic constant - % below is chosen so that the gutter has the same value (well, +-<1pt) - % as it did when we hard-coded it. - % - % We put the result in a separate register, \doublecolumhsize, so we - % can restore it in \pagesofar, after \hsize itself has (potentially) - % been clobbered. - % - \doublecolumnhsize = \hsize - \advance\doublecolumnhsize by -.04154\hsize - \divide\doublecolumnhsize by 2 - \hsize = \doublecolumnhsize - % - % Get the available space for the double columns -- the normal - % (undoubled) page height minus any material left over from the - % previous page. - \advance\vsize by -\ht\partialpage - \vsize = 2\vsize - % - % For the benefit of balancing columns - \advance\baselineskip by 0pt plus 0.5pt -} - -% The double-column output routine for all double-column pages except -% the last, which is done by \balancecolumns. -% -\def\doublecolumnout{% - % - \savetopmark - \splittopskip=\topskip \splitmaxdepth=\maxdepth - \dimen@ = \vsize - \divide\dimen@ by 2 - % - % box0 will be the left-hand column, box2 the right. - \setbox0=\vsplit\PAGE to\dimen@ \setbox2=\vsplit\PAGE to\dimen@ - \global\advance\vsize by 2\ht\partialpage - \onepageout\pagesofar % empty except for the first time we are called - \unvbox\PAGE - \penalty\outputpenalty -} -% -% Re-output the contents of the output page -- any previous material, -% followed by the two boxes we just split, in box0 and box2. -\def\pagesofar{% - \unvbox\partialpage - % - \hsize = \doublecolumnhsize - \wd0=\hsize \wd2=\hsize - \hbox to\txipagewidth{\box0\hfil\box2}% -} - - -% Finished with double columns. -\def\enddoublecolumns{% - % The following penalty ensures that the page builder is exercised - % _before_ we change the output routine. This is necessary in the - % following situation: - % - % The last section of the index consists only of a single entry. - % Before this section, \pagetotal is less than \pagegoal, so no - % break occurs before the last section starts. However, the last - % section, consisting of \initial and the single \entry, does not - % fit on the page and has to be broken off. Without the following - % penalty the page builder will not be exercised until \eject - % below, and by that time we'll already have changed the output - % routine to the \balancecolumns version, so the next-to-last - % double-column page will be processed with \balancecolumns, which - % is wrong: The two columns will go to the main vertical list, with - % the broken-off section in the recent contributions. As soon as - % the output routine finishes, TeX starts reconsidering the page - % break. The two columns and the broken-off section both fit on the - % page, because the two columns now take up only half of the page - % goal. When TeX sees \eject from below which follows the final - % section, it invokes the new output routine that we've set after - % \balancecolumns below; \onepageout will try to fit the two columns - % and the final section into the vbox of \txipageheight (see - % \pagebody), causing an overfull box. - % - % Note that glue won't work here, because glue does not exercise the - % page builder, unlike penalties (see The TeXbook, pp. 280-281). - \penalty0 - % - \output = {% - % Split the last of the double-column material. - \savetopmark - \balancecolumns - }% - \eject % call the \output just set - \ifdim\pagetotal=0pt - % Having called \balancecolumns once, we do not - % want to call it again. Therefore, reset \output to its normal - % definition right away. - \global\output=\expandafter{\the\defaultoutput} - % - \endgroup % started in \begindoublecolumns - % Leave the double-column material on the current page, no automatic - % page break. - \box\balancedcolumns - % - % \pagegoal was set to the doubled \vsize above, since we restarted - % the current page. We're now back to normal single-column - % typesetting, so reset \pagegoal to the normal \vsize. - \global\vsize = \txipageheight % - \pagegoal = \txipageheight % - \else - % We had some left-over material. This might happen when \doublecolumnout - % is called in \balancecolumns. Try again. - \expandafter\enddoublecolumns - \fi -} -\newbox\balancedcolumns -\setbox\balancedcolumns=\vbox{shouldnt see this}% -% -% Only called for the last of the double column material. \doublecolumnout -% does the others. -\def\balancecolumns{% - \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120. - \dimen@ = \ht0 - \ifdim\dimen@<7\baselineskip - % Don't split a short final column in two. - \setbox2=\vbox{}% - \global\setbox\balancedcolumns=\vbox{\pagesofar}% - \else - % double the leading vertical space - \advance\dimen@ by \topskip - \advance\dimen@ by-\baselineskip - \divide\dimen@ by 2 % target to split to - \dimen@ii = \dimen@ - \splittopskip = \topskip - % Loop until left column is at least as high as the right column. - {% - \vbadness = 10000 - \loop - \global\setbox3 = \copy0 - \global\setbox1 = \vsplit3 to \dimen@ - \ifdim\ht1<\ht3 - \global\advance\dimen@ by 1pt - \repeat - }% - % Now the left column is in box 1, and the right column in box 3. - % - % Check whether the left column has come out higher than the page itself. - % (Note that we have doubled \vsize for the double columns, so - % the actual height of the page is 0.5\vsize). - \ifdim2\ht1>\vsize - % It appears that we have been called upon to balance too much material. - % Output some of it with \doublecolumnout, leaving the rest on the page. - \setbox\PAGE=\box0 - \doublecolumnout - \else - % Compare the heights of the two columns. - \ifdim4\ht1>5\ht3 - % Column heights are too different, so don't make their bottoms - % flush with each other. - \setbox2=\vbox to \ht1 {\unvbox3\vfill}% - \setbox0=\vbox to \ht1 {\unvbox1\vfill}% - \else - % Make column bottoms flush with each other. - \setbox2=\vbox to\ht1{\unvbox3\unskip}% - \setbox0=\vbox to\ht1{\unvbox1\unskip}% - \fi - \global\setbox\balancedcolumns=\vbox{\pagesofar}% - \fi - \fi - % -} -\catcode`\@ = \other - - -\message{sectioning,} -% Chapters, sections, etc. - -% Let's start with @part. -\outer\parseargdef\part{\partzzz{#1}} -\def\partzzz#1{% - \chapoddpage - \null - \vskip.3\vsize % move it down on the page a bit - \begingroup - \noindent \titlefonts\rm #1\par % the text - \let\lastnode=\empty % no node to associate with - \writetocentry{part}{#1}{}% but put it in the toc - \headingsoff % no headline or footline on the part page - % This outputs a mark at the end of the page that clears \thischapter - % and \thissection, as is done in \startcontents. - \let\pchapsepmacro\relax - \chapmacro{}{Yomitfromtoc}{}% - \chapoddpage - \endgroup -} - -% \unnumberedno is an oxymoron. But we count the unnumbered -% sections so that we can refer to them unambiguously in the pdf -% outlines by their "section number". We avoid collisions with chapter -% numbers by starting them at 10000. (If a document ever has 10000 -% chapters, we're in trouble anyway, I'm sure.) -\newcount\unnumberedno \unnumberedno = 10000 -\newcount\chapno -\newcount\secno \secno=0 -\newcount\subsecno \subsecno=0 -\newcount\subsubsecno \subsubsecno=0 - -% This counter is funny since it counts through charcodes of letters A, B, ... -\newcount\appendixno \appendixno = `\@ -% -% \def\appendixletter{\char\the\appendixno} -% We do the following ugly conditional instead of the above simple -% construct for the sake of pdftex, which needs the actual -% letter in the expansion, not just typeset. -% -\def\appendixletter{% - \ifnum\appendixno=`A A% - \else\ifnum\appendixno=`B B% - \else\ifnum\appendixno=`C C% - \else\ifnum\appendixno=`D D% - \else\ifnum\appendixno=`E E% - \else\ifnum\appendixno=`F F% - \else\ifnum\appendixno=`G G% - \else\ifnum\appendixno=`H H% - \else\ifnum\appendixno=`I I% - \else\ifnum\appendixno=`J J% - \else\ifnum\appendixno=`K K% - \else\ifnum\appendixno=`L L% - \else\ifnum\appendixno=`M M% - \else\ifnum\appendixno=`N N% - \else\ifnum\appendixno=`O O% - \else\ifnum\appendixno=`P P% - \else\ifnum\appendixno=`Q Q% - \else\ifnum\appendixno=`R R% - \else\ifnum\appendixno=`S S% - \else\ifnum\appendixno=`T T% - \else\ifnum\appendixno=`U U% - \else\ifnum\appendixno=`V V% - \else\ifnum\appendixno=`W W% - \else\ifnum\appendixno=`X X% - \else\ifnum\appendixno=`Y Y% - \else\ifnum\appendixno=`Z Z% - % The \the is necessary, despite appearances, because \appendixletter is - % expanded while writing the .toc file. \char\appendixno is not - % expandable, thus it is written literally, thus all appendixes come out - % with the same letter (or @) in the toc without it. - \else\char\the\appendixno - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} - -% Each @chapter defines these (using marks) as the number+name, number -% and name of the chapter. Page headings and footings can use -% these. @section does likewise. -\def\thischapter{} -\def\thischapternum{} -\def\thischaptername{} -\def\thissection{} -\def\thissectionnum{} -\def\thissectionname{} - -\newcount\absseclevel % used to calculate proper heading level -\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count - -% @raisesections: treat @section as chapter, @subsection as section, etc. -\def\raisesections{\global\advance\secbase by -1} - -% @lowersections: treat @chapter as section, @section as subsection, etc. -\def\lowersections{\global\advance\secbase by 1} - -% we only have subsub. -\chardef\maxseclevel = 3 -% -% A numbered section within an unnumbered changes to unnumbered too. -% To achieve this, remember the "biggest" unnum. sec. we are currently in: -\chardef\unnlevel = \maxseclevel -% -% Trace whether the current chapter is an appendix or not: -% \chapheadtype is "N" or "A", unnumbered chapters are ignored. -\def\chapheadtype{N} - -% Choose a heading macro -% #1 is heading type -% #2 is heading level -% #3 is text for heading -\def\genhead#1#2#3{% - % Compute the abs. sec. level: - \absseclevel=#2 - \advance\absseclevel by \secbase - % Make sure \absseclevel doesn't fall outside the range: - \ifnum \absseclevel < 0 - \absseclevel = 0 - \else - \ifnum \absseclevel > 3 - \absseclevel = 3 - \fi - \fi - % The heading type: - \def\headtype{#1}% - \if \headtype U% - \ifnum \absseclevel < \unnlevel - \chardef\unnlevel = \absseclevel - \fi - \else - % Check for appendix sections: - \ifnum \absseclevel = 0 - \edef\chapheadtype{\headtype}% - \else - \if \headtype A\if \chapheadtype N% - \errmessage{@appendix... within a non-appendix chapter}% - \fi\fi - \fi - % Check for numbered within unnumbered: - \ifnum \absseclevel > \unnlevel - \def\headtype{U}% - \else - \chardef\unnlevel = 3 - \fi - \fi - % Now print the heading: - \if \headtype U% - \ifcase\absseclevel - \unnumberedzzz{#3}% - \or \unnumberedseczzz{#3}% - \or \unnumberedsubseczzz{#3}% - \or \unnumberedsubsubseczzz{#3}% - \fi - \else - \if \headtype A% - \ifcase\absseclevel - \appendixzzz{#3}% - \or \appendixsectionzzz{#3}% - \or \appendixsubseczzz{#3}% - \or \appendixsubsubseczzz{#3}% - \fi - \else - \ifcase\absseclevel - \chapterzzz{#3}% - \or \seczzz{#3}% - \or \numberedsubseczzz{#3}% - \or \numberedsubsubseczzz{#3}% - \fi - \fi - \fi - \suppressfirstparagraphindent -} - -% an interface: -\def\numhead{\genhead N} -\def\apphead{\genhead A} -\def\unnmhead{\genhead U} - -% @chapter, @appendix, @unnumbered. Increment top-level counter, reset -% all lower-level sectioning counters to zero. -% -% Also set \chaplevelprefix, which we prepend to @float sequence numbers -% (e.g., figures), q.v. By default (before any chapter), that is empty. -\let\chaplevelprefix = \empty -% -\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz -\def\chapterzzz#1{% - % section resetting is \global in case the chapter is in a group, such - % as an @include file. - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\chapno by 1 - % - % Used for \float. - \gdef\chaplevelprefix{\the\chapno.}% - \resetallfloatnos - % - % \putwordChapter can contain complex things in translations. - \toks0=\expandafter{\putwordChapter}% - \message{\the\toks0 \space \the\chapno}% - % - % Write the actual heading. - \chapmacro{#1}{Ynumbered}{\the\chapno}% - % - % So @section and the like are numbered underneath this chapter. - \global\let\section = \numberedsec - \global\let\subsection = \numberedsubsec - \global\let\subsubsection = \numberedsubsubsec -} - -\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz -% -\def\appendixzzz#1{% - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\appendixno by 1 - \gdef\chaplevelprefix{\appendixletter.}% - \resetallfloatnos - % - % \putwordAppendix can contain complex things in translations. - \toks0=\expandafter{\putwordAppendix}% - \message{\the\toks0 \space \appendixletter}% - % - \chapmacro{#1}{Yappendix}{\appendixletter}% - % - \global\let\section = \appendixsec - \global\let\subsection = \appendixsubsec - \global\let\subsubsection = \appendixsubsubsec -} - -% normally unnmhead0 calls unnumberedzzz: -\outer\parseargdef\unnumbered{\unnmhead0{#1}} -\def\unnumberedzzz#1{% - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\unnumberedno by 1 - % - % Since an unnumbered has no number, no prefix for figures. - \global\let\chaplevelprefix = \empty - \resetallfloatnos - % - % This used to be simply \message{#1}, but TeX fully expands the - % argument to \message. Therefore, if #1 contained @-commands, TeX - % expanded them. For example, in `@unnumbered The @cite{Book}', TeX - % expanded @cite (which turns out to cause errors because \cite is meant - % to be executed, not expanded). - % - % Anyway, we don't want the fully-expanded definition of @cite to appear - % as a result of the \message, we just want `@cite' itself. We use - % \the<toks register> to achieve this: TeX expands \the<toks> only once, - % simply yielding the contents of <toks register>. (We also do this for - % the toc entries.) - \toks0 = {#1}% - \message{(\the\toks0)}% - % - \chapmacro{#1}{Ynothing}{\the\unnumberedno}% - % - \global\let\section = \unnumberedsec - \global\let\subsection = \unnumberedsubsec - \global\let\subsubsection = \unnumberedsubsubsec -} - -% @centerchap is like @unnumbered, but the heading is centered. -\outer\parseargdef\centerchap{% - \let\centerparametersmaybe = \centerparameters - \unnmhead0{#1}% - \let\centerparametersmaybe = \relax -} - -% @top is like @unnumbered. -\let\top\unnumbered - -% Sections. -% -\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz -\def\seczzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% -} - -% normally calls appendixsectionzzz: -\outer\parseargdef\appendixsection{\apphead1{#1}} -\def\appendixsectionzzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% -} -\let\appendixsec\appendixsection - -% normally calls unnumberedseczzz: -\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} -\def\unnumberedseczzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% -} - -% Subsections. -% -% normally calls numberedsubseczzz: -\outer\parseargdef\numberedsubsec{\numhead2{#1}} -\def\numberedsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% -} - -% normally calls appendixsubseczzz: -\outer\parseargdef\appendixsubsec{\apphead2{#1}} -\def\appendixsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Yappendix}% - {\appendixletter.\the\secno.\the\subsecno}% -} - -% normally calls unnumberedsubseczzz: -\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} -\def\unnumberedsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Ynothing}% - {\the\unnumberedno.\the\secno.\the\subsecno}% -} - -% Subsubsections. -% -% normally numberedsubsubseczzz: -\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} -\def\numberedsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Ynumbered}% - {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -% normally appendixsubsubseczzz: -\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} -\def\appendixsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Yappendix}% - {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -% normally unnumberedsubsubseczzz: -\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} -\def\unnumberedsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Ynothing}% - {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -% These macros control what the section commands do, according -% to what kind of chapter we are in (ordinary, appendix, or unnumbered). -% Define them by default for a numbered chapter. -\let\section = \numberedsec -\let\subsection = \numberedsubsec -\let\subsubsection = \numberedsubsubsec - -% Define @majorheading, @heading and @subheading - -\def\majorheading{% - {\advance\chapheadingskip by 10pt \chapbreak }% - \parsearg\chapheadingzzz -} - -\def\chapheading{\chapbreak \parsearg\chapheadingzzz} -\def\chapheadingzzz#1{% - \vbox{\chapfonts \raggedtitlesettings #1\par}% - \nobreak\bigskip \nobreak - \suppressfirstparagraphindent -} - -% @heading, @subheading, @subsubheading. -\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} -\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} -\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} - -% These macros generate a chapter, section, etc. heading only -% (including whitespace, linebreaking, etc. around it), -% given all the information in convenient, parsed form. - -% Args are the skip and penalty (usually negative) -\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} - -% Parameter controlling skip before chapter headings (if needed) -\newskip\chapheadingskip - -% Define plain chapter starts, and page on/off switching for it. -\def\chapbreak{\dobreak \chapheadingskip {-4000}} - -% Start a new page -\def\chappager{\par\vfill\supereject} - -% \chapoddpage - start on an odd page for a new chapter -% Because \domark is called before \chapoddpage, the filler page will -% get the headings for the next chapter, which is wrong. But we don't -% care -- we just disable all headings on the filler page. -\def\chapoddpage{% - \chappager - \ifodd\pageno \else - \begingroup - \headingsoff - \null - \chappager - \endgroup - \fi -} - -\parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname} - -\def\CHAPPAGoff{% -\global\let\contentsalignmacro = \chappager -\global\let\pchapsepmacro=\chapbreak -\global\def\HEADINGSon{\HEADINGSsinglechapoff}} - -\def\CHAPPAGon{% -\global\let\contentsalignmacro = \chappager -\global\let\pchapsepmacro=\chappager -\global\def\HEADINGSon{\HEADINGSsingle}} - -\def\CHAPPAGodd{% -\global\let\contentsalignmacro = \chapoddpage -\global\let\pchapsepmacro=\chapoddpage -\global\def\HEADINGSon{\HEADINGSdouble}} - -\CHAPPAGon - -% \chapmacro - Chapter opening. -% -% #1 is the text, #2 is the section type (Ynumbered, Ynothing, -% Yappendix, Yomitfromtoc), #3 the chapter number. -% Not used for @heading series. -% -% To test against our argument. -\def\Ynothingkeyword{Ynothing} -\def\Yappendixkeyword{Yappendix} -\def\Yomitfromtockeyword{Yomitfromtoc} -% -\def\chapmacro#1#2#3{% - \expandafter\ifx\thisenv\titlepage\else - \checkenv{}% chapters, etc., should not start inside an environment. - \fi - % Insert the first mark before the heading break (see notes for \domark). - \let\prevchapterdefs=\currentchapterdefs - \let\prevsectiondefs=\currentsectiondefs - \gdef\currentsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% - \gdef\thissection{}}% - % - \def\temptype{#2}% - \ifx\temptype\Ynothingkeyword - \gdef\currentchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% - \gdef\thischapter{\thischaptername}}% - \else\ifx\temptype\Yomitfromtockeyword - \gdef\currentchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% - \gdef\thischapter{}}% - \else\ifx\temptype\Yappendixkeyword - \toks0={#1}% - \xdef\currentchapterdefs{% - \gdef\noexpand\thischaptername{\the\toks0}% - \gdef\noexpand\thischapternum{\appendixletter}% - % \noexpand\putwordAppendix avoids expanding indigestible - % commands in some of the translations. - \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} - \noexpand\thischapternum: - \noexpand\thischaptername}% - }% - \else - \toks0={#1}% - \xdef\currentchapterdefs{% - \gdef\noexpand\thischaptername{\the\toks0}% - \gdef\noexpand\thischapternum{\the\chapno}% - % \noexpand\putwordChapter avoids expanding indigestible - % commands in some of the translations. - \gdef\noexpand\thischapter{\noexpand\putwordChapter{} - \noexpand\thischapternum: - \noexpand\thischaptername}% - }% - \fi\fi\fi - % - % Output the mark. Pass it through \safewhatsit, to take care of - % the preceding space. - \safewhatsit\domark - % - % Insert the chapter heading break. - \pchapsepmacro - % - % Now the second mark, after the heading break. No break points - % between here and the heading. - \let\prevchapterdefs=\currentchapterdefs - \let\prevsectiondefs=\currentsectiondefs - \domark - % - {% - \chapfonts \rm - \let\footnote=\errfootnoteheading % give better error message - % - % Have to define \currentsection before calling \donoderef, because the - % xref code eventually uses it. On the other hand, it has to be called - % after \pchapsepmacro, or the headline will change too soon. - \gdef\currentsection{#1}% - % - % Only insert the separating space if we have a chapter/appendix - % number, and don't print the unnumbered ``number''. - \ifx\temptype\Ynothingkeyword - \setbox0 = \hbox{}% - \def\toctype{unnchap}% - \else\ifx\temptype\Yomitfromtockeyword - \setbox0 = \hbox{}% contents like unnumbered, but no toc entry - \def\toctype{omit}% - \else\ifx\temptype\Yappendixkeyword - \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% - \def\toctype{app}% - \else - \setbox0 = \hbox{#3\enspace}% - \def\toctype{numchap}% - \fi\fi\fi - % - % Write the toc entry for this chapter. Must come before the - % \donoderef, because we include the current node name in the toc - % entry, and \donoderef resets it to empty. - \writetocentry{\toctype}{#1}{#3}% - % - % For pdftex, we have to write out the node definition (aka, make - % the pdfdest) after any page break, but before the actual text has - % been typeset. If the destination for the pdf outline is after the - % text, then jumping from the outline may wind up with the text not - % being visible, for instance under high magnification. - \donoderef{#2}% - % - % Typeset the actual heading. - \nobreak % Avoid page breaks at the interline glue. - \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe - \unhbox0 #1\par}% - }% - \nobreak\bigskip % no page break after a chapter title - \nobreak -} - -% @centerchap -- centered and unnumbered. -\let\centerparametersmaybe = \relax -\def\centerparameters{% - \advance\rightskip by 3\rightskip - \leftskip = \rightskip - \parfillskip = 0pt -} - - -% Section titles. These macros combine the section number parts and -% call the generic \sectionheading to do the printing. -% -\newskip\secheadingskip -\def\secheadingbreak{\dobreak \secheadingskip{-1000}} - -% Subsection titles. -\newskip\subsecheadingskip -\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} - -% Subsubsection titles. -\def\subsubsecheadingskip{\subsecheadingskip} -\def\subsubsecheadingbreak{\subsecheadingbreak} - - -% Print any size, any type, section title. -% -% #1 is the text of the title, -% #2 is the section level (sec/subsec/subsubsec), -% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc), -% #4 is the section number. -% -\def\seckeyword{sec} -% -\def\sectionheading#1#2#3#4{% - {% - \def\sectionlevel{#2}% - \def\temptype{#3}% - % - % It is ok for the @heading series commands to appear inside an - % environment (it's been historically allowed, though the logic is - % dubious), but not the others. - \ifx\temptype\Yomitfromtockeyword\else - \checkenv{}% non-@*heading should not be in an environment. - \fi - \let\footnote=\errfootnoteheading - % - % Switch to the right set of fonts. - \csname #2fonts\endcsname \rm - % - % Insert first mark before the heading break (see notes for \domark). - \let\prevsectiondefs=\currentsectiondefs - \ifx\temptype\Ynothingkeyword - \ifx\sectionlevel\seckeyword - \gdef\currentsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% - \gdef\thissection{\thissectionname}}% - \fi - \else\ifx\temptype\Yomitfromtockeyword - % Don't redefine \thissection. - \else\ifx\temptype\Yappendixkeyword - \ifx\sectionlevel\seckeyword - \toks0={#1}% - \xdef\currentsectiondefs{% - \gdef\noexpand\thissectionname{\the\toks0}% - \gdef\noexpand\thissectionnum{#4}% - % \noexpand\putwordSection avoids expanding indigestible - % commands in some of the translations. - \gdef\noexpand\thissection{\noexpand\putwordSection{} - \noexpand\thissectionnum: - \noexpand\thissectionname}% - }% - \fi - \else - \ifx\sectionlevel\seckeyword - \toks0={#1}% - \xdef\currentsectiondefs{% - \gdef\noexpand\thissectionname{\the\toks0}% - \gdef\noexpand\thissectionnum{#4}% - % \noexpand\putwordSection avoids expanding indigestible - % commands in some of the translations. - \gdef\noexpand\thissection{\noexpand\putwordSection{} - \noexpand\thissectionnum: - \noexpand\thissectionname}% - }% - \fi - \fi\fi\fi - % - % Go into vertical mode. Usually we'll already be there, but we - % don't want the following whatsit to end up in a preceding paragraph - % if the document didn't happen to have a blank line. - \par - % - % Output the mark. Pass it through \safewhatsit, to take care of - % the preceding space. - \safewhatsit\domark - % - % Insert space above the heading. - \csname #2headingbreak\endcsname - % - % Now the second mark, after the heading break. No break points - % between here and the heading. - \global\let\prevsectiondefs=\currentsectiondefs - \domark - % - % Only insert the space after the number if we have a section number. - \ifx\temptype\Ynothingkeyword - \setbox0 = \hbox{}% - \def\toctype{unn}% - \gdef\currentsection{#1}% - \else\ifx\temptype\Yomitfromtockeyword - % for @headings -- no section number, don't include in toc, - % and don't redefine \currentsection. - \setbox0 = \hbox{}% - \def\toctype{omit}% - \let\sectionlevel=\empty - \else\ifx\temptype\Yappendixkeyword - \setbox0 = \hbox{#4\enspace}% - \def\toctype{app}% - \gdef\currentsection{#1}% - \else - \setbox0 = \hbox{#4\enspace}% - \def\toctype{num}% - \gdef\currentsection{#1}% - \fi\fi\fi - % - % Write the toc entry (before \donoderef). See comments in \chapmacro. - \writetocentry{\toctype\sectionlevel}{#1}{#4}% - % - % Write the node reference (= pdf destination for pdftex). - % Again, see comments in \chapmacro. - \donoderef{#3}% - % - % Interline glue will be inserted when the vbox is completed. - % That glue will be a valid breakpoint for the page, since it'll be - % preceded by a whatsit (usually from the \donoderef, or from the - % \writetocentry if there was no node). We don't want to allow that - % break, since then the whatsits could end up on page n while the - % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. - \nobreak - % - % Output the actual section heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright - \hangindent=\wd0 % zero if no section number - \unhbox0 #1}% - }% - % Add extra space after the heading -- half of whatever came above it. - % Don't allow stretch, though. - \kern .5 \csname #2headingskip\endcsname - % - % Do not let the kern be a potential breakpoint, as it would be if it - % was followed by glue. - \nobreak - % - % We'll almost certainly start a paragraph next, so don't let that - % glue accumulate. (Not a breakpoint because it's preceded by a - % discardable item.) However, when a paragraph is not started next - % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out - % or the negative glue will cause weirdly wrong output, typically - % obscuring the section heading with something else. - \vskip-\parskip - % - % This is so the last item on the main vertical list is a known - % \penalty > 10000, so \startdefun, etc., can recognize the situation - % and do the needful. - \penalty 10001 -} - - -\message{toc,} -% Table of contents. -\newwrite\tocfile - -% Write an entry to the toc file, opening it if necessary. -% Called from @chapter, etc. -% -% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} -% We append the current node name (if any) and page number as additional -% arguments for the \{chap,sec,...}entry macros which will eventually -% read this. The node name is used in the pdf outlines as the -% destination to jump to. -% -% We open the .toc file for writing here instead of at @setfilename (or -% any other fixed time) so that @contents can be anywhere in the document. -% But if #1 is `omit', then we don't do anything. This is used for the -% table of contents chapter openings themselves. -% -\newif\iftocfileopened -\def\omitkeyword{omit}% -% -\def\writetocentry#1#2#3{% - \edef\writetoctype{#1}% - \ifx\writetoctype\omitkeyword \else - \iftocfileopened\else - \immediate\openout\tocfile = \jobname.toc - \global\tocfileopenedtrue - \fi - % - \iflinks - {\atdummies - \edef\temp{% - \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% - \temp - }% - \fi - \fi - % - % Tell \shipout to create a pdf destination on each page, if we're - % writing pdf. These are used in the table of contents. We can't - % just write one on every page because the title pages are numbered - % 1 and 2 (the page numbers aren't printed), and so are the first - % two pages of the document. Thus, we'd have two destinations named - % `1', and two named `2'. - \ifpdforxetex - \global\pdfmakepagedesttrue - \fi -} - - -% These characters do not print properly in the Computer Modern roman -% fonts, so we must take special care. This is more or less redundant -% with the Texinfo input format setup at the end of this file. -% -\def\activecatcodes{% - \catcode`\"=\active - \catcode`\$=\active - \catcode`\<=\active - \catcode`\>=\active - \catcode`\\=\active - \catcode`\^=\active - \catcode`\_=\active - \catcode`\|=\active - \catcode`\~=\active -} - - -% Read the toc file, which is essentially Texinfo input. -\def\readtocfile{% - \setupdatafile - \activecatcodes - \input \tocreadfilename -} - -\newskip\contentsrightmargin \contentsrightmargin=1in -\newcount\savepageno -\newcount\lastnegativepageno \lastnegativepageno = -1 - -% Prepare to read what we've written to \tocfile. -% -\def\startcontents#1{% - % If @setchapternewpage on, and @headings double, the contents should - % start on an odd page, unlike chapters. - \contentsalignmacro - \immediate\closeout\tocfile - % - % Don't need to put `Contents' or `Short Contents' in the headline. - % It is abundantly clear what they are. - \chapmacro{#1}{Yomitfromtoc}{}% - % - \savepageno = \pageno - \begingroup % Set up to handle contents files properly. - \raggedbottom % Worry more about breakpoints than the bottom. - \entryrightmargin=\contentsrightmargin % Don't use the full line length. - % - % Roman numerals for page numbers. - \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi - \def\thistitle{}% no title in double-sided headings - % Record where the Roman numerals started. - \ifnum\romancount=0 \global\romancount=\pagecount \fi -} - -% redefined for the two-volume lispref. We always output on -% \jobname.toc even if this is redefined. -% -\def\tocreadfilename{\jobname.toc} - -% Normal (long) toc. -% -\def\contents{% - \startcontents{\putwordTOC}% - \openin 1 \tocreadfilename\space - \ifeof 1 \else - \readtocfile - \fi - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \ifeof 1 \else - \pdfmakeoutlines - \fi - \closein 1 - \endgroup - \contentsendroman -} - -% And just the chapters. -\def\summarycontents{% - \startcontents{\putwordShortTOC}% - % - \let\partentry = \shortpartentry - \let\numchapentry = \shortchapentry - \let\appentry = \shortchapentry - \let\unnchapentry = \shortunnchapentry - % We want a true roman here for the page numbers. - \secfonts - \let\rm=\shortcontrm \let\bf=\shortcontbf - \let\sl=\shortcontsl \let\tt=\shortconttt - \rm - \hyphenpenalty = 10000 - \advance\baselineskip by 1pt % Open it up a little. - \def\numsecentry##1##2##3##4{} - \let\appsecentry = \numsecentry - \let\unnsecentry = \numsecentry - \let\numsubsecentry = \numsecentry - \let\appsubsecentry = \numsecentry - \let\unnsubsecentry = \numsecentry - \let\numsubsubsecentry = \numsecentry - \let\appsubsubsecentry = \numsecentry - \let\unnsubsubsecentry = \numsecentry - \openin 1 \tocreadfilename\space - \ifeof 1 \else - \readtocfile - \fi - \closein 1 - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \endgroup - \contentsendroman -} -\let\shortcontents = \summarycontents - -% Get ready to use Arabic numerals again -\def\contentsendroman{% - \lastnegativepageno = \pageno - \global\pageno = \savepageno - % - % If \romancount > \arabiccount, the contents are at the end of the - % document. Otherwise, advance where the Arabic numerals start for - % the page numbers. - \ifnum\romancount>\arabiccount\else\global\arabiccount=\pagecount\fi -} - -% Typeset the label for a chapter or appendix for the short contents. -% The arg is, e.g., `A' for an appendix, or `3' for a chapter. -% -\def\shortchaplabel#1{% - % This space should be enough, since a single number is .5em, and the - % widest letter (M) is 1em, at least in the Computer Modern fonts. - % But use \hss just in case. - % (This space doesn't include the extra space that gets added after - % the label; that gets put in by \shortchapentry above.) - % - % We'd like to right-justify chapter numbers, but that looks strange - % with appendix letters. And right-justifying numbers and - % left-justifying letters looks strange when there is less than 10 - % chapters. Have to read the whole toc once to know how many chapters - % there are before deciding ... - \hbox to 1em{#1\hss}% -} - -% These macros generate individual entries in the table of contents. -% The first argument is the chapter or section name. -% The last argument is the page number. -% The arguments in between are the chapter number, section number, ... - -% Parts, in the main contents. Replace the part number, which doesn't -% exist, with an empty box. Let's hope all the numbers have the same width. -% Also ignore the page number, which is conventionally not printed. -\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} -\def\partentry#1#2#3#4{% - % Add stretch and a bonus for breaking the page before the part heading. - % This reduces the chance of the page being broken immediately after the - % part heading, before a following chapter heading. - \vskip 0pt plus 5\baselineskip - \penalty-300 - \vskip 0pt plus -5\baselineskip - \dochapentry{\numeralbox\labelspace#1}{}% -} -% -% Parts, in the short toc. -\def\shortpartentry#1#2#3#4{% - \penalty-300 - \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip - \shortchapentry{{\bf #1}}{\numeralbox}{}{}% -} - -% Chapters, in the main contents. -\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} - -% Chapters, in the short toc. -% See comments in \dochapentry re vbox and related settings. -\def\shortchapentry#1#2#3#4{% - \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% -} - -% Appendices, in the main contents. -% Need the word Appendix, and a fixed-size box. -% -\def\appendixbox#1{% - % We use M since it's probably the widest letter. - \setbox0 = \hbox{\putwordAppendix{} M}% - \hbox to \wd0{\putwordAppendix{} #1\hss}} -% -\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\hskip.7em#1}{#4}} - -% Unnumbered chapters. -\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} -\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} - -% Sections. -\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} -\let\appsecentry=\numsecentry -\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} - -% Subsections. -\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} -\let\appsubsecentry=\numsubsecentry -\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} - -% And subsubsections. -\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} -\let\appsubsubsecentry=\numsubsubsecentry -\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} - -% This parameter controls the indentation of the various levels. -% Same as \defaultparindent. -\newdimen\tocindent \tocindent = 15pt - -% Now for the actual typesetting. In all these, #1 is the text and #2 is the -% page number. -% -% If the toc has to be broken over pages, we want it to be at chapters -% if at all possible; hence the \penalty. -\def\dochapentry#1#2{% - \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip - \begingroup - % Move the page numbers slightly to the right - \advance\entryrightmargin by -0.05em - \chapentryfonts - \tocentry{#1}{\dopageno\bgroup#2\egroup}% - \endgroup - \nobreak\vskip .25\baselineskip plus.1\baselineskip -} - -\def\dosecentry#1#2{\begingroup - \secentryfonts \leftskip=\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -\def\dosubsecentry#1#2{\begingroup - \subsecentryfonts \leftskip=2\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -\def\dosubsubsecentry#1#2{\begingroup - \subsubsecentryfonts \leftskip=3\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -% We use the same \entry macro as for the index entries. -\let\tocentry = \entry - -% Space between chapter (or whatever) number and the title. -\def\labelspace{\hskip1em \relax} - -\def\dopageno#1{{\rm #1}} -\def\doshortpageno#1{{\rm #1}} - -\def\chapentryfonts{\secfonts \rm} -\def\secentryfonts{\textfonts} -\def\subsecentryfonts{\textfonts} -\def\subsubsecentryfonts{\textfonts} - - -\message{environments,} -% @foo ... @end foo. - -% @tex ... @end tex escapes into raw TeX temporarily. -% One exception: @ is still an escape character, so that @end tex works. -% But \@ or @@ will get a plain @ character. - -\envdef\tex{% - \setregularquotes - \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 - \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 - \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie - \catcode `\%=14 - \catcode `\+=\other - \catcode `\"=\other - \catcode `\|=\other - \catcode `\<=\other - \catcode `\>=\other - \catcode `\`=\other - \catcode `\'=\other - % - % ' is active in math mode (mathcode"8000). So reset it, and all our - % other math active characters (just in case), to plain's definitions. - \mathactive - % - % Inverse of the list at the beginning of the file. - \let\b=\ptexb - \let\bullet=\ptexbullet - \let\c=\ptexc - \let\,=\ptexcomma - \let\.=\ptexdot - \let\dots=\ptexdots - \let\equiv=\ptexequiv - \let\!=\ptexexclam - \let\i=\ptexi - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - \let\{=\ptexlbrace - \let\+=\tabalign - \let\}=\ptexrbrace - \let\/=\ptexslash - \let\sp=\ptexsp - \let\*=\ptexstar - %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode - \let\t=\ptext - \expandafter \let\csname top\endcsname=\ptextop % we've made it outer - \let\frenchspacing=\plainfrenchspacing - % - \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% - \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% - \def\@{@}% -} -% There is no need to define \Etex. - -% Define @lisp ... @end lisp. -% @lisp environment forms a group so it can rebind things, -% including the definition of @end lisp (which normally is erroneous). - -% Amount to narrow the margins by for @lisp. -\newskip\lispnarrowing \lispnarrowing=0.4in - -% This is the definition that ^^M gets inside @lisp, @example, and other -% such environments. \null is better than a space, since it doesn't -% have any width. -\def\lisppar{\null\endgraf} - -% This space is always present above and below environments. -\newskip\envskipamount \envskipamount = 0pt - -% Make spacing and below environment symmetrical. We use \parskip here -% to help in doing that, since in @example-like environments \parskip -% is reset to zero; thus the \afterenvbreak inserts no space -- but the -% start of the next paragraph will insert \parskip. -% -\def\aboveenvbreak{{% - % =10000 instead of <10000 because of a special case in \itemzzz and - % \sectionheading, q.v. - \ifnum \lastpenalty=10000 \else - \advance\envskipamount by \parskip - \endgraf - \ifdim\lastskip<\envskipamount - \removelastskip - \ifnum\lastpenalty<10000 - % Penalize breaking before the environment, because preceding text - % often leads into it. - \penalty100 - \fi - \vskip\envskipamount - \fi - \fi -}} - -\def\afterenvbreak{{% - % =10000 instead of <10000 because of a special case in \itemzzz and - % \sectionheading, q.v. - \ifnum \lastpenalty=10000 \else - \advance\envskipamount by \parskip - \endgraf - \ifdim\lastskip<\envskipamount - \removelastskip - % it's not a good place to break if the last penalty was \nobreak - % or better ... - \ifnum\lastpenalty<10000 \penalty-50 \fi - \vskip\envskipamount - \fi - \fi -}} - -% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will -% also clear it, so that its embedded environments do the narrowing again. -\let\nonarrowing=\relax - -% @cartouche ... @end cartouche: draw rectangle w/rounded corners around -% environment contents. - -% -\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth -\def\ctr{{\hskip 6pt\circle\char'010}} -\def\cbl{{\circle\char'012\hskip -6pt}} -\def\cbr{{\hskip 6pt\circle\char'011}} -\def\carttop{\hbox to \cartouter{\hskip\lskip - \ctl\leaders\hrule height\circthick\hfil\ctr - \hskip\rskip}} -\def\cartbot{\hbox to \cartouter{\hskip\lskip - \cbl\leaders\hrule height\circthick\hfil\cbr - \hskip\rskip}} -% -\newskip\lskip\newskip\rskip - -% only require the font if @cartouche is actually used -\def\cartouchefontdefs{% - \font\circle=lcircle10\relax - \circthick=\fontdimen8\circle -} -\newdimen\circthick -\newdimen\cartouter\newdimen\cartinner -\newskip\normbskip\newskip\normpskip\newskip\normlskip - - -\envdef\cartouche{% - \cartouchefontdefs - \ifhmode\par\fi % can't be in the midst of a paragraph. - \startsavinginserts - \lskip=\leftskip \rskip=\rightskip - \leftskip=0pt\rightskip=0pt % we want these *outside*. - \cartinner=\hsize \advance\cartinner by-\lskip - \advance\cartinner by-\rskip - \cartouter=\hsize - \advance\cartouter by 18.4pt % allow for 3pt kerns on either - % side, and for 6pt waste from - % each corner char, and rule thickness - \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip - % - % If this cartouche directly follows a sectioning command, we need the - % \parskip glue (backspaced over by default) or the cartouche can - % collide with the section heading. - \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi - % - \setbox\groupbox=\vbox\bgroup - \baselineskip=0pt\parskip=0pt\lineskip=0pt - \carttop - \hbox\bgroup - \hskip\lskip - \vrule\kern3pt - \vbox\bgroup - \kern3pt - \hsize=\cartinner - \baselineskip=\normbskip - \lineskip=\normlskip - \parskip=\normpskip - \vskip -\parskip - \comment % For explanation, see the end of def\group. -} -\def\Ecartouche{% - \ifhmode\par\fi - \kern3pt - \egroup - \kern3pt\vrule - \hskip\rskip - \egroup - \cartbot - \egroup - \addgroupbox - \checkinserts -} - - -% This macro is called at the beginning of all the @example variants, -% inside a group. -\newdimen\nonfillparindent -\def\nonfillstart{% - \aboveenvbreak - \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy - \sepspaces % Make spaces be word-separators rather than space tokens. - \let\par = \lisppar % don't ignore blank lines - \obeylines % each line of input is a line of output - \parskip = 0pt - % Turn off paragraph indentation but redefine \indent to emulate - % the normal \indent. - \nonfillparindent=\parindent - \parindent = 0pt - \let\indent\nonfillindent - % - \emergencystretch = 0pt % don't try to avoid overfull boxes - \ifx\nonarrowing\relax - \advance \leftskip by \lispnarrowing - \exdentamount=\lispnarrowing - \else - \let\nonarrowing = \relax - \fi - \let\exdent=\nofillexdent -} - -\begingroup -\obeyspaces -% We want to swallow spaces (but not other tokens) after the fake -% @indent in our nonfill-environments, where spaces are normally -% active and set to @tie, resulting in them not being ignored after -% @indent. -\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% -\gdef\nonfillindentcheck{% -\ifx\temp % -\expandafter\nonfillindentgobble% -\else% -\leavevmode\nonfillindentbox% -\fi% -}% -\endgroup -\def\nonfillindentgobble#1{\nonfillindent} -\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} - -% If you want all examples etc. small: @set dispenvsize small. -% If you want even small examples the full size: @set dispenvsize nosmall. -% This affects the following displayed environments: -% @example, @display, @format, @lisp, @verbatim -% -\def\smallword{small} -\def\nosmallword{nosmall} -\let\SETdispenvsize\relax -\def\setnormaldispenv{% - \ifx\SETdispenvsize\smallword - % end paragraph for sake of leading, in case document has no blank - % line. This is redundant with what happens in \aboveenvbreak, but - % we need to do it before changing the fonts, and it's inconvenient - % to change the fonts afterward. - \ifnum \lastpenalty=10000 \else \endgraf \fi - \smallexamplefonts \rm - \fi -} -\def\setsmalldispenv{% - \ifx\SETdispenvsize\nosmallword - \else - \ifnum \lastpenalty=10000 \else \endgraf \fi - \smallexamplefonts \rm - \fi -} - -% We often define two environments, @foo and @smallfoo. -% Let's do it in one command. #1 is the env name, #2 the definition. -\def\makedispenvdef#1#2{% - \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}% - \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}% - \expandafter\let\csname E#1\endcsname \afterenvbreak - \expandafter\let\csname Esmall#1\endcsname \afterenvbreak -} - -% Define two environment synonyms (#1 and #2) for an environment. -\def\maketwodispenvdef#1#2#3{% - \makedispenvdef{#1}{#3}% - \makedispenvdef{#2}{#3}% -} -% -% @lisp: indented, narrowed, typewriter font; -% @example: same as @lisp. -% -% @smallexample and @smalllisp: use smaller fonts. -% Originally contributed by Pavel@xerox. -% -\maketwodispenvdef{lisp}{example}{% - \nonfillstart - \tt\setcodequotes - \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. - \parsearg\gobble -} -% @display/@smalldisplay: same as @lisp except keep current font. -% -\makedispenvdef{display}{% - \nonfillstart - \gobble -} - -% @format/@smallformat: same as @display except don't narrow margins. -% -\makedispenvdef{format}{% - \let\nonarrowing = t% - \nonfillstart - \gobble -} - -% @flushleft: same as @format, but doesn't obey \SETdispenvsize. -\envdef\flushleft{% - \let\nonarrowing = t% - \nonfillstart - \gobble -} -\let\Eflushleft = \afterenvbreak - -% @flushright. -% -\envdef\flushright{% - \let\nonarrowing = t% - \nonfillstart - \advance\leftskip by 0pt plus 1fill\relax - \gobble -} -\let\Eflushright = \afterenvbreak - - -% @raggedright does more-or-less normal line breaking but no right -% justification. From plain.tex. -\envdef\raggedright{% - \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax -} -\let\Eraggedright\par - -\envdef\raggedleft{% - \parindent=0pt \leftskip0pt plus2em - \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt - \hbadness=10000 % Last line will usually be underfull, so turn off - % badness reporting. -} -\let\Eraggedleft\par - -\envdef\raggedcenter{% - \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em - \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt - \hbadness=10000 % Last line will usually be underfull, so turn off - % badness reporting. -} -\let\Eraggedcenter\par - - -% @quotation does normal linebreaking (hence we can't use \nonfillstart) -% and narrows the margins. We keep \parskip nonzero in general, since -% we're doing normal filling. So, when using \aboveenvbreak and -% \afterenvbreak, temporarily make \parskip 0. -% -\makedispenvdef{quotation}{\quotationstart} -% -\def\quotationstart{% - \indentedblockstart % same as \indentedblock, but increase right margin too. - \ifx\nonarrowing\relax - \advance\rightskip by \lispnarrowing - \fi - \parsearg\quotationlabel -} - -% We have retained a nonzero parskip for the environment, since we're -% doing normal filling. -% -\def\Equotation{% - \par - \ifx\quotationauthor\thisisundefined\else - % indent a bit. - \leftline{\kern 2\leftskip \sl ---\quotationauthor}% - \fi - {\parskip=0pt \afterenvbreak}% -} -\def\Esmallquotation{\Equotation} - -% If we're given an argument, typeset it in bold with a colon after. -\def\quotationlabel#1{% - \def\temp{#1}% - \ifx\temp\empty \else - {\bf #1: }% - \fi -} - -% @indentedblock is like @quotation, but indents only on the left and -% has no optional argument. -% -\makedispenvdef{indentedblock}{\indentedblockstart} -% -\def\indentedblockstart{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. - \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax - \fi -} - -% Keep a nonzero parskip for the environment, since we're doing normal filling. -% -\def\Eindentedblock{% - \par - {\parskip=0pt \afterenvbreak}% -} -\def\Esmallindentedblock{\Eindentedblock} - - -% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>} -% If we want to allow any <char> as delimiter, -% we need the curly braces so that makeinfo sees the @verb command, eg: -% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org -% -% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. -% -% [Knuth] p.344; only we need to do the other characters Texinfo sets -% active too. Otherwise, they get lost as the first character on a -% verbatim line. -\def\dospecials{% - \do\ \do\\\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% - \do\<\do\>\do\|\do\@\do+\do\"% - % Don't do the quotes -- if we do, @set txicodequoteundirected and - % @set txicodequotebacktick will not have effect on @verb and - % @verbatim, and ?` and !` ligatures won't get disabled. - %\do\`\do\'% -} -% -% [Knuth] p. 380 -\def\uncatcodespecials{% - \def\do##1{\catcode`##1=\other}\dospecials} -% -% Setup for the @verb command. -% -% Eight spaces for a tab -\begingroup - \catcode`\^^I=\active - \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} -\endgroup -% -\def\setupverb{% - \tt % easiest (and conventionally used) font for verbatim - \def\par{\leavevmode\endgraf}% - \setcodequotes - \tabeightspaces - % Respect line breaks, - % print special symbols as themselves, and - % make each space count - % must do in this order: - \obeylines \uncatcodespecials \sepspaces -} - -% Setup for the @verbatim environment -% -% Real tab expansion. -\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount -% -% We typeset each line of the verbatim in an \hbox, so we can handle -% tabs. -\newbox\verbbox -\def\starttabbox{\setbox\verbbox=\hbox\bgroup} -% -\begingroup - \catcode`\^^I=\active - \gdef\tabexpand{% - \catcode`\^^I=\active - \def^^I{\leavevmode\egroup - \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab - \divide\dimen\verbbox by\tabw - \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw - \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw - \wd\verbbox=\dimen\verbbox - \leavevmode\box\verbbox \starttabbox - }% - } -\endgroup - -% start the verbatim environment. -\def\setupverbatim{% - \let\nonarrowing = t% - \nonfillstart - \tt % easiest (and conventionally used) font for verbatim - \def\par{\egroup\leavevmode\box\verbbox\endgraf\starttabbox}% - \tabexpand - \setcodequotes - % Respect line breaks, - % print special symbols as themselves, and - % make each space count. - % Must do in this order: - \obeylines \uncatcodespecials \sepspaces -} - -% Do the @verb magic: verbatim text is quoted by unique -% delimiter characters. Before first delimiter expect a -% right brace, after last delimiter expect closing brace: -% -% \def\doverb'{'<char>#1<char>'}'{#1} -% -% [Knuth] p. 382; only eat outer {} -\begingroup - \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other - \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] -\endgroup -% -\def\verb{\begingroup\setupverb\doverb} -% -% -% Do the @verbatim magic: define the macro \doverbatim so that -% the (first) argument ends when '@end verbatim' is reached, ie: -% -% \def\doverbatim#1@end verbatim{#1} -% -% For Texinfo it's a lot easier than for LaTeX, -% because texinfo's \verbatim doesn't stop at '\end{verbatim}': -% we need not redefine '\', '{' and '}'. -% -% Inspired by LaTeX's verbatim command set [latex.ltx] -% -\begingroup - \catcode`\ =\active - \obeylines % - % ignore everything up to the first ^^M, that's the newline at the end - % of the @verbatim input line itself. Otherwise we get an extra blank - % line in the output. - \xdef\doverbatim#1^^M#2@end verbatim{% - \starttabbox#2\egroup\noexpand\end\gobble verbatim}% - % We really want {...\end verbatim} in the body of the macro, but - % without the active space; thus we have to use \xdef and \gobble. - % The \egroup ends the \verbbox started at the end of the last line in - % the block. -\endgroup -% -\envdef\verbatim{% - \setnormaldispenv\setupverbatim\doverbatim -} -\let\Everbatim = \afterenvbreak - - -% @verbatiminclude FILE - insert text of file in verbatim environment. -% -\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} -% -\def\doverbatiminclude#1{% - {% - \makevalueexpandable - \setupverbatim - {% - \indexnofonts % Allow `@@' and other weird things in file names. - \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% - \edef\tmp{\noexpand\input #1 } - \expandafter - }\expandafter\starttabbox\tmp\egroup - \afterenvbreak - }% -} - -% @copying ... @end copying. -% Save the text away for @insertcopying later. -% -% We save the uninterpreted tokens, rather than creating a box. -% Saving the text in a box would be much easier, but then all the -% typesetting commands (@smallbook, font changes, etc.) have to be done -% beforehand -- and a) we want @copying to be done first in the source -% file; b) letting users define the frontmatter in as flexible order as -% possible is desirable. -% -\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} -\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} -% -\def\insertcopying{% - \begingroup - \parindent = 0pt % paragraph indentation looks wrong on title page - \scanexp\copyingtext - \endgroup -} - - -\message{defuns,} -% @defun etc. - -\newskip\defbodyindent \defbodyindent=.4in -\newskip\defargsindent \defargsindent=50pt -\newskip\deflastargmargin \deflastargmargin=18pt -\newcount\defunpenalty - -% Start the processing of @deffn: -\def\startdefun{% - \ifnum\lastpenalty<10000 - \medbreak - \defunpenalty=10003 % Will keep this @deffn together with the - % following @def command, see below. - \else - % If there are two @def commands in a row, we'll have a \nobreak, - % which is there to keep the function description together with its - % header. But if there's nothing but headers, we need to allow a - % break somewhere. Check specifically for penalty 10002, inserted - % by \printdefunline, instead of 10000, since the sectioning - % commands also insert a nobreak penalty, and we don't want to allow - % a break between a section heading and a defun. - % - % As a further refinement, we avoid "club" headers by signalling - % with penalty of 10003 after the very first @deffn in the - % sequence (see above), and penalty of 10002 after any following - % @def command. - \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi - % - % Similarly, after a section heading, do not allow a break. - % But do insert the glue. - \medskip % preceded by discardable penalty, so not a breakpoint - \fi - % - \parindent=0in - \advance\leftskip by \defbodyindent - \exdentamount=\defbodyindent -} - -\def\dodefunx#1{% - % First, check whether we are in the right environment: - \checkenv#1% - % - % As above, allow line break if we have multiple x headers in a row. - % It's not a great place, though. - \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi - % - % And now, it's time to reuse the body of the original defun: - \expandafter\gobbledefun#1% -} -\def\gobbledefun#1\startdefun{} - -% \printdefunline \deffnheader{text} -% -\def\printdefunline#1#2{% - \begingroup - \plainfrenchspacing - % call \deffnheader: - #1#2 \endheader - % common ending: - \interlinepenalty = 10000 - \advance\rightskip by 0pt plus 1fil\relax - \endgraf - \nobreak\vskip -\parskip - \penalty\defunpenalty % signal to \startdefun and \dodefunx - % Some of the @defun-type tags do not enable magic parentheses, - % rendering the following check redundant. But we don't optimize. - \checkparencounts - \endgroup -} - -\def\Edefun{\endgraf\medbreak} - -% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; -% the only thing remaining is to define \deffnheader. -% -\def\makedefun#1{% - \expandafter\let\csname E#1\endcsname = \Edefun - \edef\temp{\noexpand\domakedefun - \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% - \temp -} - -% \domakedefun \deffn \deffnx \deffnheader { (defn. of \deffnheader) } -% -% Define \deffn and \deffnx, without parameters. -% \deffnheader has to be defined explicitly. -% -\def\domakedefun#1#2#3{% - \envdef#1{% - \startdefun - \doingtypefnfalse % distinguish typed functions from all else - \parseargusing\activeparens{\printdefunline#3}% - }% - \def#2{\dodefunx#1}% - \def#3% -} - -\newif\ifdoingtypefn % doing typed function? -\newif\ifrettypeownline % typeset return type on its own line? - -% @deftypefnnewline on|off says whether the return type of typed functions -% are printed on their own line. This affects @deftypefn, @deftypefun, -% @deftypeop, and @deftypemethod. -% -\parseargdef\deftypefnnewline{% - \def\temp{#1}% - \ifx\temp\onword - \expandafter\let\csname SETtxideftypefnnl\endcsname - = \empty - \else\ifx\temp\offword - \expandafter\let\csname SETtxideftypefnnl\endcsname - = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @txideftypefnnl value `\temp', - must be on|off}% - \fi\fi -} - -% \dosubind {index}{topic}{subtopic} -% -% If SUBTOPIC is present, precede it with a space, and call \doind. -% (At some time during the 20th century, this made a two-level entry in an -% index such as the operation index. Nobody seemed to notice the change in -% behaviour though.) -\def\dosubind#1#2#3{% - \def\thirdarg{#3}% - \ifx\thirdarg\empty - \doind{#1}{#2}% - \else - \doind{#1}{#2\space#3}% - \fi -} - -% Untyped functions: - -% @deffn category name args -\makedefun{deffn}{\deffngeneral{}} - -% @deffn category class name args -\makedefun{defop}#1 {\defopon{#1\ \putwordon}} - -% \defopon {category on}class name args -\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } - -% \deffngeneral {subind}category name args -% -\def\deffngeneral#1#2 #3 #4\endheader{% - \dosubind{fn}{\code{#3}}{#1}% - \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% -} - -% Typed functions: - -% @deftypefn category type name args -\makedefun{deftypefn}{\deftypefngeneral{}} - -% @deftypeop category class type name args -\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} - -% \deftypeopon {category on}class type name args -\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } - -% \deftypefngeneral {subind}category type name args -% -\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% - \dosubind{fn}{\code{#4}}{#1}% - \doingtypefntrue - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% -} - -% Typed variables: - -% @deftypevr category type var args -\makedefun{deftypevr}{\deftypecvgeneral{}} - -% @deftypecv category class type var args -\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} - -% \deftypecvof {category of}class type var args -\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } - -% \deftypecvgeneral {subind}category type var args -% -\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% - \dosubind{vr}{\code{#4}}{#1}% - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% -} - -% Untyped variables: - -% @defvr category var args -\makedefun{defvr}#1 {\deftypevrheader{#1} {} } - -% @defcv category class var args -\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} - -% \defcvof {category of}class var args -\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } - -% Types: - -% @deftp category name args -\makedefun{deftp}#1 #2 #3\endheader{% - \doind{tp}{\code{#2}}% - \defname{#1}{}{#2}\defunargs{#3\unskip}% -} - -% Remaining @defun-like shortcuts: -\makedefun{defun}{\deffnheader{\putwordDeffunc} } -\makedefun{defmac}{\deffnheader{\putwordDefmac} } -\makedefun{defspec}{\deffnheader{\putwordDefspec} } -\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } -\makedefun{defvar}{\defvrheader{\putwordDefvar} } -\makedefun{defopt}{\defvrheader{\putwordDefopt} } -\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } -\makedefun{defmethod}{\defopon\putwordMethodon} -\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} -\makedefun{defivar}{\defcvof\putwordInstanceVariableof} -\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} - -% \defname, which formats the name of the @def (not the args). -% #1 is the category, such as "Function". -% #2 is the return type, if any. -% #3 is the function name. -% -% We are followed by (but not passed) the arguments, if any. -% -\def\defname#1#2#3{% - \par - % Get the values of \leftskip and \rightskip as they were outside the @def... - \advance\leftskip by -\defbodyindent - % - % Determine if we are typesetting the return type of a typed function - % on a line by itself. - \rettypeownlinefalse - \ifdoingtypefn % doing a typed function specifically? - % then check user option for putting return type on its own line: - \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else - \rettypeownlinetrue - \fi - \fi - % - % How we'll format the category name. Putting it in brackets helps - % distinguish it from the body text that may end up on the next line - % just below it. - \def\temp{#1}% - \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} - % - % Figure out line sizes for the paragraph shape. We'll always have at - % least two. - \tempnum = 2 - % - % The first line needs space for \box0; but if \rightskip is nonzero, - % we need only space for the part of \box0 which exceeds it: - \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip - % - % If doing a return type on its own line, we'll have another line. - \ifrettypeownline - \advance\tempnum by 1 - \def\maybeshapeline{0in \hsize}% - \else - \def\maybeshapeline{}% - \fi - % - % The continuations: - \dimen2=\hsize \advance\dimen2 by -\defargsindent - % - % The final paragraph shape: - \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2 - % - % Put the category name at the right margin. - \noindent - \hbox to 0pt{% - \hfil\box0 \kern-\hsize - % \hsize has to be shortened this way: - \kern\leftskip - % Intentionally do not respect \rightskip, since we need the space. - }% - % - % Allow all lines to be underfull without complaint: - \tolerance=10000 \hbadness=10000 - \exdentamount=\defbodyindent - {% - % defun fonts. We use typewriter by default (used to be bold) because: - % . we're printing identifiers, they should be in tt in principle. - % . in languages with many accents, such as Czech or French, it's - % common to leave accents off identifiers. The result looks ok in - % tt, but exceedingly strange in rm. - % . we don't want -- and --- to be treated as ligatures. - % . this still does not fix the ?` and !` ligatures, but so far no - % one has made identifiers using them :). - \df \tt - \def\temp{#2}% text of the return type - \ifx\temp\empty\else - \tclose{\temp}% typeset the return type - \ifrettypeownline - % put return type on its own line; prohibit line break following: - \hfil\vadjust{\nobreak}\break - \else - \space % type on same line, so just followed by a space - \fi - \fi % no return type - #3% output function name - }% - {\rm\enskip}% hskip 0.5 em of \rmfont - % - \boldbrax - % arguments will be output next, if any. -} - -% Print arguments in slanted roman (not ttsl), inconsistently with using -% tt for the name. This is because literal text is sometimes needed in -% the argument list (groff manual), and ttsl and tt are not very -% distinguishable. Prevent hyphenation at `-' chars. -% -\def\defunargs#1{% - % use sl by default (not ttsl), - % tt for the names. - \df \sl \hyphenchar\font=0 - % - % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. We used to recommend @var for that, so - % leave the code in, but it's strange for @var to lead to typewriter. - % Nowadays we recommend @code, since the difference between a ttsl hyphen - % and a tt hyphen is pretty tiny. @code also disables ?` !`. - \def\var##1{{\setregularquotes\ttslanted{##1}}}% - #1% - \sl\hyphenchar\font=45 -} - -% We want ()&[] to print specially on the defun line. -% -\def\activeparens{% - \catcode`\(=\active \catcode`\)=\active - \catcode`\[=\active \catcode`\]=\active - \catcode`\&=\active -} - -% Make control sequences which act like normal parenthesis chars. -\let\lparen = ( \let\rparen = ) - -% Be sure that we always have a definition for `(', etc. For example, -% if the fn name has parens in it, \boldbrax will not be in effect yet, -% so TeX would otherwise complain about undefined control sequence. -{ - \activeparens - \global\let(=\lparen \global\let)=\rparen - \global\let[=\lbrack \global\let]=\rbrack - \global\let& = \& - - \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} - \gdef\magicamp{\let&=\amprm} -} -\let\ampchar\& - -\newcount\parencount - -% If we encounter &foo, then turn on ()-hacking afterwards -\newif\ifampseen -\def\amprm#1 {\ampseentrue{\bf\ }} - -\def\parenfont{% - \ifampseen - % At the first level, print parens in roman, - % otherwise use the default font. - \ifnum \parencount=1 \rm \fi - \else - % The \sf parens (in \boldbrax) actually are a little bolder than - % the contained text. This is especially needed for [ and ] . - \sf - \fi -} -\def\infirstlevel#1{% - \ifampseen - \ifnum\parencount=1 - #1% - \fi - \fi -} -\def\bfafterword#1 {#1 \bf} - -\def\opnr{% - \global\advance\parencount by 1 - {\parenfont(}% - \infirstlevel \bfafterword -} -\def\clnr{% - {\parenfont)}% - \infirstlevel \sl - \global\advance\parencount by -1 -} - -\newcount\brackcount -\def\lbrb{% - \global\advance\brackcount by 1 - {\bf[}% -} -\def\rbrb{% - {\bf]}% - \global\advance\brackcount by -1 -} - -\def\checkparencounts{% - \ifnum\parencount=0 \else \badparencount \fi - \ifnum\brackcount=0 \else \badbrackcount \fi -} -% these should not use \errmessage; the glibc manual, at least, actually -% has such constructs (when documenting function pointers). -\def\badparencount{% - \message{Warning: unbalanced parentheses in @def...}% - \global\parencount=0 -} -\def\badbrackcount{% - \message{Warning: unbalanced square brackets in @def...}% - \global\brackcount=0 -} - - -\message{macros,} -% @macro. - -% To do this right we need a feature of e-TeX, \scantokens, -% which we arrange to emulate with a temporary file in ordinary TeX. -\ifx\eTeXversion\thisisundefined - \newwrite\macscribble - \def\scantokens#1{% - \toks0={#1}% - \immediate\openout\macscribble=\jobname.tmp - \immediate\write\macscribble{\the\toks0}% - \immediate\closeout\macscribble - \input \jobname.tmp - } -\fi - -\let\E=\expandafter - -% Used at the time of macro expansion. -% Argument is macro body with arguments substituted -\def\scanmacro#1{% - \newlinechar`\^^M - % expand the expansion of \eatleadingcr twice to maybe remove a leading - % newline (and \else and \fi tokens), then call \eatspaces on the result. - \def\xeatspaces##1{% - \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1% - }}% - \def\xempty##1{}% - % - % Process the macro body under the current catcode regime. - \scantokens{#1@comment}% - % - % The \comment is to remove the \newlinechar added by \scantokens, and - % can be noticed by \parsearg. Note \c isn't used because this means cedilla - % in math mode. -} - -% Used for copying and captions -\def\scanexp#1{% - \expandafter\scanmacro\expandafter{#1}% -} - -\newcount\paramno % Count of parameters -\newtoks\macname % Macro name -\newif\ifrecursive % Is it recursive? - -% List of all defined macros in the form -% \commondummyword\macro1\commondummyword\macro2... -% Currently is also contains all @aliases; the list can be split -% if there is a need. -\def\macrolist{} - -% Add the macro to \macrolist -\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} -\def\addtomacrolistxxx#1{% - \toks0 = \expandafter{\macrolist\commondummyword#1}% - \xdef\macrolist{\the\toks0}% -} - -% Utility routines. -% This does \let #1 = #2, with \csnames; that is, -% \let \csname#1\endcsname = \csname#2\endcsname -% (except of course we have to play expansion games). -% -\def\cslet#1#2{% - \expandafter\let - \csname#1\expandafter\endcsname - \csname#2\endcsname -} - -% Trim leading and trailing spaces off a string. -% Concepts from aro-bend problem 15 (see CTAN). -{\catcode`\@=11 -\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} -\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} -\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} -\def\unbrace#1{#1} -\unbrace{\gdef\trim@@@ #1 } #2@{#1} -} - -{\catcode`\^^M=\other% -\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}% -% Warning: this won't work for a delimited argument -% or for an empty argument - -% Trim a single trailing ^^M off a string. -{\catcode`\^^M=\other \catcode`\Q=3% -\gdef\eatcr #1{\eatcra #1Q^^MQ}% -\gdef\eatcra#1^^MQ{\eatcrb#1Q}% -\gdef\eatcrb#1Q#2Q{#1}% -} - -% Macro bodies are absorbed as an argument in a context where -% all characters are catcode 10, 11 or 12, except \ which is active -% (as in normal texinfo). It is necessary to change the definition of \ -% to recognize macro arguments; this is the job of \mbodybackslash. -% -% Non-ASCII encodings make 8-bit characters active, so un-activate -% them to avoid their expansion. Must do this non-globally, to -% confine the change to the current group. -% -% It's necessary to have hard CRs when the macro is executed. This is -% done by making ^^M (\endlinechar) catcode 12 when reading the macro -% body, and then making it the \newlinechar in \scanmacro. -% -\def\scanctxt{% used as subroutine - \catcode`\"=\other - \catcode`\+=\other - \catcode`\<=\other - \catcode`\>=\other - \catcode`\^=\other - \catcode`\_=\other - \catcode`\|=\other - \catcode`\~=\other - \passthroughcharstrue -} - -\def\scanargctxt{% used for copying and captions, not macros. - \scanctxt - \catcode`\@=\other - \catcode`\\=\other - \catcode`\^^M=\other -} - -\def\macrobodyctxt{% used for @macro definitions - \scanctxt - \catcode`\ =\other - \catcode`\@=\other - \catcode`\{=\other - \catcode`\}=\other - \catcode`\^^M=\other - \usembodybackslash -} - -% Used when scanning braced macro arguments. Note, however, that catcode -% changes here are ineffectual if the macro invocation was nested inside -% an argument to another Texinfo command. -\def\macroargctxt{% - \scanctxt - \catcode`\ =\active - \catcode`\@=\other - \catcode`\^^M=\other - \catcode`\\=\active -} - -\def\macrolineargctxt{% used for whole-line arguments without braces - \scanctxt - \catcode`\@=\other - \catcode`\{=\other - \catcode`\}=\other -} - -% \mbodybackslash is the definition of \ in @macro bodies. -% It maps \foo\ => \csname macarg.foo\endcsname => #N -% where N is the macro parameter number. -% We define \csname macarg.\endcsname to be \realbackslash, so -% \\ in macro replacement text gets you a backslash. -% -{\catcode`@=0 @catcode`@\=@active - @gdef@usembodybackslash{@let\=@mbodybackslash} - @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} -} -\expandafter\def\csname macarg.\endcsname{\realbackslash} - -\def\margbackslash#1{\char`\#1 } - -\def\macro{\recursivefalse\parsearg\macroxxx} -\def\rmacro{\recursivetrue\parsearg\macroxxx} - -\def\macroxxx#1{% - \getargs{#1}% now \macname is the macname and \argl the arglist - \ifx\argl\empty % no arguments - \paramno=0\relax - \else - \expandafter\parsemargdef \argl;% - \if\paramno>256\relax - \ifx\eTeXversion\thisisundefined - \errhelp = \EMsimple - \errmessage{You need eTeX to compile a file with macros with more than 256 arguments} - \fi - \fi - \fi - \if1\csname ismacro.\the\macname\endcsname - \message{Warning: redefining \the\macname}% - \else - \expandafter\ifx\csname \the\macname\endcsname \relax - \else \errmessage{Macro name \the\macname\space already defined}\fi - \global\cslet{macsave.\the\macname}{\the\macname}% - \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% - \addtomacrolist{\the\macname}% - \fi - \begingroup \macrobodyctxt - \ifrecursive \expandafter\parsermacbody - \else \expandafter\parsemacbody - \fi} - -\parseargdef\unmacro{% - \if1\csname ismacro.#1\endcsname - \global\cslet{#1}{macsave.#1}% - \global\expandafter\let \csname ismacro.#1\endcsname=0% - % Remove the macro name from \macrolist: - \begingroup - \expandafter\let\csname#1\endcsname \relax - \let\commondummyword\unmacrodo - \xdef\macrolist{\macrolist}% - \endgroup - \else - \errmessage{Macro #1 not defined}% - \fi -} - -% Called by \do from \dounmacro on each macro. The idea is to omit any -% macro definitions that have been changed to \relax. -% -\def\unmacrodo#1{% - \ifx #1\relax - % remove this - \else - \noexpand\commondummyword \noexpand#1% - \fi -} - -% \getargs -- Parse the arguments to a @macro line. Set \macname to -% the name of the macro, and \argl to the braced argument list. -\def\getargs#1{\getargsxxx#1{}} -\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} -\def\getmacname#1 #2\relax{\macname={#1}} -\def\getmacargs#1{\def\argl{#1}} -% This made use of the feature that if the last token of a -% <parameter list> is #, then the preceding argument is delimited by -% an opening brace, and that opening brace is not consumed. - -% Parse the optional {params} list to @macro or @rmacro. -% Set \paramno to the number of arguments, -% and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a -% three-param macro.) Define \macarg.BLAH for each BLAH in the params -% list to some hook where the argument is to be expanded. If there are -% less than 10 arguments that hook is to be replaced by ##N where N -% is the position in that list, that is to say the macro arguments are to be -% defined `a la TeX in the macro body. -% -% That gets used by \mbodybackslash (above). -% -% If there are 10 or more arguments, a different technique is used: see -% \parsemmanyargdef. -% -\def\parsemargdef#1;{% - \paramno=0\def\paramlist{}% - \let\hash\relax - % \hash is redefined to `#' later to get it into definitions - \let\xeatspaces\relax - \let\xempty\relax - \parsemargdefxxx#1,;,% - \ifnum\paramno<10\relax\else - \paramno0\relax - \parsemmanyargdef@@#1,;,% 10 or more arguments - \fi -} -\def\parsemargdefxxx#1,{% - \if#1;\let\next=\relax - \else \let\next=\parsemargdefxxx - \advance\paramno by 1 - \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname - {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}% - \edef\paramlist{\paramlist\hash\the\paramno,}% - \fi\next} -% the \xempty{} is to give \eatleadingcr an argument in the case of an -% empty macro argument. - -% \parsemacbody, \parsermacbody -% -% Read recursive and nonrecursive macro bodies. (They're different since -% rec and nonrec macros end differently.) -% -% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro -% body to be transformed. -% Set \macrobody to the body of the macro, and call \defmacro. -% -{\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{% -\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}% -{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{% -\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}% - -% Make @ a letter, so that we can make private-to-Texinfo macro names. -\edef\texiatcatcode{\the\catcode`\@} -\catcode `@=11\relax - -%%%%%%%%%%%%%% Code for > 10 arguments only %%%%%%%%%%%%%%%%%% - -% If there are 10 or more arguments, a different technique is used, where the -% hook remains in the body, and when macro is to be expanded the body is -% processed again to replace the arguments. -% -% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the -% argument N value and then \edef the body (nothing else will expand because of -% the catcode regime under which the body was input). -% -% If you compile with TeX (not eTeX), and you have macros with 10 or more -% arguments, no macro can have more than 256 arguments (else error). -% -% In case that there are 10 or more arguments we parse again the arguments -% list to set new definitions for the \macarg.BLAH macros corresponding to -% each BLAH argument. It was anyhow needed to parse already once this list -% in order to count the arguments, and as macros with at most 9 arguments -% are by far more frequent than macro with 10 or more arguments, defining -% twice the \macarg.BLAH macros does not cost too much processing power. -\def\parsemmanyargdef@@#1,{% - \if#1;\let\next=\relax - \else - \let\next=\parsemmanyargdef@@ - \edef\tempb{\eatspaces{#1}}% - \expandafter\def\expandafter\tempa - \expandafter{\csname macarg.\tempb\endcsname}% - % Note that we need some extra \noexpand\noexpand, this is because we - % don't want \the to be expanded in the \parsermacbody as it uses an - % \xdef . - \expandafter\edef\tempa - {\noexpand\noexpand\noexpand\the\toks\the\paramno}% - \advance\paramno by 1\relax - \fi\next} - - -\let\endargs@\relax -\let\nil@\relax -\def\nilm@{\nil@}% -\long\def\nillm@{\nil@}% - -% This macro is expanded during the Texinfo macro expansion, not during its -% definition. It gets all the arguments' values and assigns them to macros -% macarg.ARGNAME -% -% #1 is the macro name -% #2 is the list of argument names -% #3 is the list of argument values -\def\getargvals@#1#2#3{% - \def\macargdeflist@{}% - \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion. - \def\paramlist{#2,\nil@}% - \def\macroname{#1}% - \begingroup - \macroargctxt - \def\argvaluelist{#3,\nil@}% - \def\@tempa{#3}% - \ifx\@tempa\empty - \setemptyargvalues@ - \else - \getargvals@@ - \fi -} -\def\getargvals@@{% - \ifx\paramlist\nilm@ - % Some sanity check needed here that \argvaluelist is also empty. - \ifx\argvaluelist\nillm@ - \else - \errhelp = \EMsimple - \errmessage{Too many arguments in macro `\macroname'!}% - \fi - \let\next\macargexpandinbody@ - \else - \ifx\argvaluelist\nillm@ - % No more arguments values passed to macro. Set remaining named-arg - % macros to empty. - \let\next\setemptyargvalues@ - \else - % pop current arg name into \@tempb - \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}% - \expandafter\@tempa\expandafter{\paramlist}% - % pop current argument value into \@tempc - \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}% - \expandafter\@tempa\expandafter{\argvaluelist}% - % Here \@tempb is the current arg name and \@tempc is the current arg value. - % First place the new argument macro definition into \@tempd - \expandafter\macname\expandafter{\@tempc}% - \expandafter\let\csname macarg.\@tempb\endcsname\relax - \expandafter\def\expandafter\@tempe\expandafter{% - \csname macarg.\@tempb\endcsname}% - \edef\@tempd{\long\def\@tempe{\the\macname}}% - \push@\@tempd\macargdeflist@ - \let\next\getargvals@@ - \fi - \fi - \next -} - -\def\push@#1#2{% - \expandafter\expandafter\expandafter\def - \expandafter\expandafter\expandafter#2% - \expandafter\expandafter\expandafter{% - \expandafter#1#2}% -} - -% Replace arguments by their values in the macro body, and place the result -% in macro \@tempa. -% -\def\macvalstoargs@{% - % To do this we use the property that token registers that are \the'ed - % within an \edef expand only once. So we are going to place all argument - % values into respective token registers. - % - % First we save the token context, and initialize argument numbering. - \begingroup - \paramno0\relax - % Then, for each argument number #N, we place the corresponding argument - % value into a new token list register \toks#N - \expandafter\putargsintokens@\saveparamlist@,;,% - % Then, we expand the body so that argument are replaced by their - % values. The trick for values not to be expanded themselves is that they - % are within tokens and that tokens expand only once in an \edef . - \edef\@tempc{\csname mac.\macroname .body\endcsname}% - % Now we restore the token stack pointer to free the token list registers - % which we have used, but we make sure that expanded body is saved after - % group. - \expandafter - \endgroup - \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% - } - -% Define the named-macro outside of this group and then close this group. -% -\def\macargexpandinbody@{% - \expandafter - \endgroup - \macargdeflist@ - % First the replace in body the macro arguments by their values, the result - % is in \@tempa . - \macvalstoargs@ - % Then we point at the \norecurse or \gobble (for recursive) macro value - % with \@tempb . - \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname - % Depending on whether it is recursive or not, we need some tailing - % \egroup . - \ifx\@tempb\gobble - \let\@tempc\relax - \else - \let\@tempc\egroup - \fi - % And now we do the real job: - \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}% - \@tempd -} - -\def\putargsintokens@#1,{% - \if#1;\let\next\relax - \else - \let\next\putargsintokens@ - % First we allocate the new token list register, and give it a temporary - % alias \@tempb . - \toksdef\@tempb\the\paramno - % Then we place the argument value into that token list register. - \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname - \expandafter\@tempb\expandafter{\@tempa}% - \advance\paramno by 1\relax - \fi - \next -} - -% Trailing missing arguments are set to empty. -% -\def\setemptyargvalues@{% - \ifx\paramlist\nilm@ - \let\next\macargexpandinbody@ - \else - \expandafter\setemptyargvaluesparser@\paramlist\endargs@ - \let\next\setemptyargvalues@ - \fi - \next -} - -\def\setemptyargvaluesparser@#1,#2\endargs@{% - \expandafter\def\expandafter\@tempa\expandafter{% - \expandafter\def\csname macarg.#1\endcsname{}}% - \push@\@tempa\macargdeflist@ - \def\paramlist{#2}% -} - -% #1 is the element target macro -% #2 is the list macro -% #3,#4\endargs@ is the list value -\def\pop@#1#2#3,#4\endargs@{% - \def#1{#3}% - \def#2{#4}% -} -\long\def\longpop@#1#2#3,#4\endargs@{% - \long\def#1{#3}% - \long\def#2{#4}% -} - - -%%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%% - - -% This defines a Texinfo @macro or @rmacro, called by \parsemacbody. -% \macrobody has the body of the macro in it, with placeholders for -% its parameters, looking like "\xeatspaces{\hash 1}". -% \paramno is the number of parameters -% \paramlist is a TeX parameter text, e.g. "#1,#2,#3," -% There are four cases: macros of zero, one, up to nine, and many arguments. -% \xdef is used so that macro definitions will survive the file -% they're defined in: @include reads the file inside a group. -% -\def\defmacro{% - \let\hash=##% convert placeholders to macro parameter chars - \ifnum\paramno=1 - \def\xeatspaces##1{##1}% - % This removes the pair of braces around the argument. We don't - % use \eatspaces, because this can cause ends of lines to be lost - % when the argument to \eatspaces is read, leading to line-based - % commands like "@itemize" not being read correctly. - \else - \let\xeatspaces\relax % suppress expansion - \fi - \ifcase\paramno - % 0 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup - \noexpand\spaceisspace - \noexpand\endlineisspace - \noexpand\expandafter % skip any whitespace after the macro name. - \expandafter\noexpand\csname\the\macname @@@\endcsname}% - \expandafter\xdef\csname\the\macname @@@\endcsname{% - \egroup - \noexpand\scanmacro{\macrobody}}% - \or % 1 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup - \noexpand\braceorline - \expandafter\noexpand\csname\the\macname @@@\endcsname}% - \expandafter\xdef\csname\the\macname @@@\endcsname##1{% - \egroup - \noexpand\scanmacro{\macrobody}% - }% - \else % at most 9 - \ifnum\paramno<10\relax - % @MACNAME sets the context for reading the macro argument - % @MACNAME@@ gets the argument, processes backslashes and appends a - % comma. - % @MACNAME@@@ removes braces surrounding the argument list. - % @MACNAME@@@@ scans the macro body with arguments substituted. - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup - \noexpand\expandafter % This \expandafter skip any spaces after the - \noexpand\macroargctxt % macro before we change the catcode of space. - \noexpand\expandafter - \expandafter\noexpand\csname\the\macname @@\endcsname}% - \expandafter\xdef\csname\the\macname @@\endcsname##1{% - \noexpand\passargtomacro - \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}% - \expandafter\xdef\csname\the\macname @@@\endcsname##1{% - \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname @@@@\endcsname\paramlist{% - \egroup\noexpand\scanmacro{\macrobody}}% - \else % 10 or more: - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\getargvals@{\the\macname}{\argl}% - }% - \global\expandafter\let\csname mac.\the\macname .body\endcsname\macrobody - \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble - \fi - \fi} - -\catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes - -\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -{\catcode`\@=0 \catcode`\\=13 % We need to manipulate \ so use @ as escape -@catcode`@_=11 % private names -@catcode`@!=11 % used as argument separator - -% \passargtomacro#1#2 - -% Call #1 with a list of tokens #2, with any doubled backslashes in #2 -% compressed to one. -% -% This implementation works by expansion, and not execution (so we cannot use -% \def or similar). This reduces the risk of this failing in contexts where -% complete expansion is done with no execution (for example, in writing out to -% an auxiliary file for an index entry). -% -% State is kept in the input stream: the argument passed to -% @look_ahead, @gobble_and_check_finish and @add_segment is -% -% THE_MACRO ARG_RESULT ! {PENDING_BS} NEXT_TOKEN (... rest of input) -% -% where: -% THE_MACRO - name of the macro we want to call -% ARG_RESULT - argument list we build to pass to that macro -% PENDING_BS - either a backslash or nothing -% NEXT_TOKEN - used to look ahead in the input stream to see what's coming next - -@gdef@passargtomacro#1#2{% - @add_segment #1!{}@relax#2\@_finish\% -} -@gdef@_finish{@_finishx} @global@let@_finishx@relax - -% #1 - THE_MACRO ARG_RESULT -% #2 - PENDING_BS -% #3 - NEXT_TOKEN -% #4 used to look ahead -% -% If the next token is not a backslash, process the rest of the argument; -% otherwise, remove the next token. -@gdef@look_ahead#1!#2#3#4{% - @ifx#4\% - @expandafter@gobble_and_check_finish - @else - @expandafter@add_segment - @fi#1!{#2}#4#4% -} - -% #1 - THE_MACRO ARG_RESULT -% #2 - PENDING_BS -% #3 - NEXT_TOKEN -% #4 should be a backslash, which is gobbled. -% #5 looks ahead -% -% Double backslash found. Add a single backslash, and look ahead. -@gdef@gobble_and_check_finish#1!#2#3#4#5{% - @add_segment#1\!{}#5#5% -} - -@gdef@is_fi{@fi} - -% #1 - THE_MACRO ARG_RESULT -% #2 - PENDING_BS -% #3 - NEXT_TOKEN -% #4 is input stream until next backslash -% -% Input stream is either at the start of the argument, or just after a -% backslash sequence, either a lone backslash, or a doubled backslash. -% NEXT_TOKEN contains the first token in the input stream: if it is \finish, -% finish; otherwise, append to ARG_RESULT the segment of the argument up until -% the next backslash. PENDING_BACKSLASH contains a backslash to represent -% a backslash just before the start of the input stream that has not been -% added to ARG_RESULT. -@gdef@add_segment#1!#2#3#4\{% -@ifx#3@_finish - @call_the_macro#1!% -@else - % append the pending backslash to the result, followed by the next segment - @expandafter@is_fi@look_ahead#1#2#4!{\}@fi - % this @fi is discarded by @look_ahead. - % we can't get rid of it with \expandafter because we don't know how - % long #4 is. -} - -% #1 - THE_MACRO -% #2 - ARG_RESULT -% #3 discards the res of the conditional in @add_segment, and @is_fi ends the -% conditional. -@gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} - -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% \braceorline MAC is used for a one-argument macro MAC. It checks -% whether the next non-whitespace character is a {. It sets the context -% for reading the argument (slightly different in the two cases). Then, -% to read the argument, in the whole-line case, it then calls the regular -% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. -% -\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} -\def\braceorlinexxx{% - \ifx\nchar\bgroup - \macroargctxt - \expandafter\passargtomacro - \else - \macrolineargctxt\expandafter\parsearg - \fi \macnamexxx} - - -% @alias. -% We need some trickery to remove the optional spaces around the equal -% sign. Make them active and then expand them all to nothing. -% -\def\alias{\parseargusing\obeyspaces\aliasxxx} -\def\aliasxxx #1{\aliasyyy#1\relax} -\def\aliasyyy #1=#2\relax{% - {% - \expandafter\let\obeyedspace=\empty - \addtomacrolist{#1}% - \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% - }% - \next -} - - -\message{cross references,} - -\newwrite\auxfile -\newif\ifhavexrefs % True if xref values are known. -\newif\ifwarnedxrefs % True if we warned once that they aren't known. - -% @inforef is relatively simple. -\def\inforef #1{\inforefzzz #1,,,,**} -\def\inforefzzz #1,#2,#3,#4**{% - \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, - node \samp{\ignorespaces#1{}}} - -% @node's only job in TeX is to define \lastnode, which is used in -% cross-references. The @node line might or might not have commas, and -% might or might not have spaces before the first comma, like: -% @node foo , bar , ... -% We don't want such trailing spaces in the node name. -% -\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} -% -% also remove a trailing comma, in case of something like this: -% @node Help-Cross, , , Cross-refs -\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} -\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}\omittopnode} - -% Used so that the @top node doesn't have to be wrapped in an @ifnottex -% conditional. -% \doignore goes to more effort to skip nested conditionals but we don't need -% that here. -\def\omittopnode{% - \ifx\lastnode\wordTop - \expandafter\ignorenode\fi -} -\def\wordTop{Top} - -% Until the next @node or @bye command, divert output to a box that is not -% output. -\def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}% -\ignorenodebye -} - -{\let\bye\relax -\gdef\ignorenodebye{\let\bye\ignorenodebyedef} -\gdef\ignorenodebyedef{\egroup(`Top' node ignored)\bye}} -% The redefinition of \bye here is because it is declared \outer - -\let\lastnode=\empty - -% Write a cross-reference definition for the current node. #1 is the -% type (Ynumbered, Yappendix, Ynothing). -% -\def\donoderef#1{% - \ifx\lastnode\empty\else - \setref{\lastnode}{#1}% - \global\let\lastnode=\empty - \fi -} - -% @anchor{NAME} -- define xref target at arbitrary point. -% -\newcount\savesfregister -% -\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} -\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} -\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} - -% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an -% anchor), which consists of three parts: -% 1) NAME-title - the current sectioning name taken from \currentsection, -% or the anchor name. -% 2) NAME-snt - section number and type, passed as the SNT arg, or -% empty for anchors. -% 3) NAME-pg - the page number. -% -% This is called from \donoderef, \anchor, and \dofloat. In the case of -% floats, there is an additional part, which is not written here: -% 4) NAME-lof - the text as it should appear in a @listoffloats. -% -\def\setref#1#2{% - \pdfmkdest{#1}% - \iflinks - {% - \requireauxfile - \atdummies % preserve commands, but don't expand them - % match definition in \xrdef, \refx, \xrefX. - \def\value##1{##1}% - \edef\writexrdef##1##2{% - \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef - ##1}{##2}}% these are parameters of \writexrdef - }% - \toks0 = \expandafter{\currentsection}% - \immediate \writexrdef{title}{\the\toks0 }% - \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. - \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout - }% - \fi -} - -% @xrefautosectiontitle on|off says whether @section(ing) names are used -% automatically in xrefs, if the third arg is not explicitly specified. -% This was provided as a "secret" @set xref-automatic-section-title -% variable, now it's official. -% -\parseargdef\xrefautomaticsectiontitle{% - \def\temp{#1}% - \ifx\temp\onword - \expandafter\let\csname SETxref-automatic-section-title\endcsname - = \empty - \else\ifx\temp\offword - \expandafter\let\csname SETxref-automatic-section-title\endcsname - = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @xrefautomaticsectiontitle value `\temp', - must be on|off}% - \fi\fi -} - -% -% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is -% the node name, #2 the name of the Info cross-reference, #3 the printed -% node name, #4 the name of the Info file, #5 the name of the printed -% manual. All but the node name can be omitted. -% -\def\pxref{\putwordsee{} \xrefXX} -\def\xref{\putwordSee{} \xrefXX} -\def\ref{\xrefXX} - -\def\xrefXX#1{\def\xrefXXarg{#1}\futurelet\tokenafterxref\xrefXXX} -\def\xrefXXX{\expandafter\xrefX\expandafter[\xrefXXarg,,,,,,,]} -% -\newbox\toprefbox -\newbox\printedrefnamebox -\newbox\infofilenamebox -\newbox\printedmanualbox -% -\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup - \unsepspaces - % - % Get args without leading/trailing spaces. - \def\printedrefname{\ignorespaces #3}% - \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% - % - \def\infofilename{\ignorespaces #4}% - \setbox\infofilenamebox = \hbox{\infofilename\unskip}% - % - \def\printedmanual{\ignorespaces #5}% - \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% - % - % If the printed reference name (arg #3) was not explicitly given in - % the @xref, figure out what we want to use. - \ifdim \wd\printedrefnamebox = 0pt - % No printed node name was explicitly given. - \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax - % Not auto section-title: use node name inside the square brackets. - \def\printedrefname{\ignorespaces #1}% - \else - % Auto section-title: use chapter/section title inside - % the square brackets if we have it. - \ifdim \wd\printedmanualbox > 0pt - % It is in another manual, so we don't have it; use node name. - \def\printedrefname{\ignorespaces #1}% - \else - \ifhavexrefs - % We (should) know the real title if we have the xref values. - \def\printedrefname{\refx{#1-title}}% - \else - % Otherwise just copy the Info node name. - \def\printedrefname{\ignorespaces #1}% - \fi% - \fi - \fi - \fi - % - % Make link in pdf output. - \ifpdf - % For pdfTeX and LuaTeX - {\indexnofonts - \makevalueexpandable - \turnoffactive - % This expands tokens, so do it after making catcode changes, so _ - % etc. don't get their TeX definitions. This ignores all spaces in - % #4, including (wrongly) those in the middle of the filename. - \getfilename{#4}% - % - % This (wrongly) does not take account of leading or trailing - % spaces in #1, which should be ignored. - \setpdfdestname{#1}% - % - \ifx\pdfdestname\empty - \def\pdfdestname{Top}% no empty targets - \fi - % - \leavevmode - \startlink attr{/Border [0 0 0]}% - \ifnum\filenamelength>0 - goto file{\the\filename.pdf} name{\pdfdestname}% - \else - goto name{\pdfmkpgn{\pdfdestname}}% - \fi - }% - \setcolor{\linkcolor}% - \else - \ifx\XeTeXrevision\thisisundefined - \else - % For XeTeX - {\indexnofonts - \makevalueexpandable - \turnoffactive - % This expands tokens, so do it after making catcode changes, so _ - % etc. don't get their TeX definitions. This ignores all spaces in - % #4, including (wrongly) those in the middle of the filename. - \getfilename{#4}% - % - % This (wrongly) does not take account of leading or trailing - % spaces in #1, which should be ignored. - \setpdfdestname{#1}% - % - \ifx\pdfdestname\empty - \def\pdfdestname{Top}% no empty targets - \fi - % - \leavevmode - \ifnum\filenamelength>0 - % With default settings, - % XeTeX (xdvipdfmx) replaces link destination names with integers. - % In this case, the replaced destination names of - % remote PDFs are no longer known. In order to avoid a replacement, - % you can use xdvipdfmx's command line option `-C 0x0010'. - % If you use XeTeX 0.99996+ (TeX Live 2016+), - % this command line option is no longer necessary - % because we can use the `dvipdfmx:config' special. - \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A - << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}% - \else - \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A - << /S /GoTo /D (\pdfdestname) >> >>}% - \fi - }% - \setcolor{\linkcolor}% - \fi - \fi - {% - % Have to otherify everything special to allow the \csname to - % include an _ in the xref name, etc. - \indexnofonts - \turnoffactive - \def\value##1{##1}% - \expandafter\global\expandafter\let\expandafter\Xthisreftitle - \csname XR#1-title\endcsname - }% - % - % Float references are printed completely differently: "Figure 1.2" - % instead of "[somenode], p.3". \iffloat distinguishes them by - % \Xthisreftitle being set to a magic string. - \iffloat\Xthisreftitle - % If the user specified the print name (third arg) to the ref, - % print it instead of our usual "Figure 1.2". - \ifdim\wd\printedrefnamebox = 0pt - \refx{#1-snt}% - \else - \printedrefname - \fi - % - % If the user also gave the printed manual name (fifth arg), append - % "in MANUALNAME". - \ifdim \wd\printedmanualbox > 0pt - \space \putwordin{} \cite{\printedmanual}% - \fi - \else - % node/anchor (non-float) references. - % - % If we use \unhbox to print the node names, TeX does not insert - % empty discretionaries after hyphens, which means that it will not - % find a line break at a hyphen in a node names. Since some manuals - % are best written with fairly long node names, containing hyphens, - % this is a loss. Therefore, we give the text of the node name - % again, so it is as if TeX is seeing it for the first time. - % - \ifdim \wd\printedmanualbox > 0pt - % Cross-manual reference with a printed manual name. - % - \crossmanualxref{\cite{\printedmanual\unskip}}% - % - \else\ifdim \wd\infofilenamebox > 0pt - % Cross-manual reference with only an info filename (arg 4), no - % printed manual name (arg 5). This is essentially the same as - % the case above; we output the filename, since we have nothing else. - % - \crossmanualxref{\code{\infofilename\unskip}}% - % - \else - % Reference within this manual. - % - % Only output a following space if the -snt ref is nonempty, as the ref - % will be empty for @unnumbered and @anchor. - \setbox2 = \hbox{\ignorespaces \refx{#1-snt}}% - \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi - % - % output the `[mynode]' via the macro below so it can be overridden. - \xrefprintnodename\printedrefname - % - \expandafter\ifx\csname SETtxiomitxrefpg\endcsname\relax - % But we always want a comma and a space: - ,\space - % - % output the `page 3'. - \turnoffactive \putwordpage\tie\refx{#1-pg}% - % Add a , if xref followed by a space - \if\space\noexpand\tokenafterxref ,% - \else\ifx\ \tokenafterxref ,% @TAB - \else\ifx\*\tokenafterxref ,% @* - \else\ifx\ \tokenafterxref ,% @SPACE - \else\ifx\ - \tokenafterxref ,% @NL - \else\ifx\tie\tokenafterxref ,% @tie - \fi\fi\fi\fi\fi\fi - \fi - \fi\fi - \fi - \endlink -\endgroup} - -% Output a cross-manual xref to #1. Used just above (twice). -% -% Only include the text "Section ``foo'' in" if the foo is neither -% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply -% "see The Foo Manual", the idea being to refer to the whole manual. -% -% But, this being TeX, we can't easily compare our node name against the -% string "Top" while ignoring the possible spaces before and after in -% the input. By adding the arbitrary 7sp below, we make it much less -% likely that a real node name would have the same width as "Top" (e.g., -% in a monospaced font). Hopefully it will never happen in practice. -% -% For the same basic reason, we retypeset the "Top" at every -% reference, since the current font is indeterminate. -% -\def\crossmanualxref#1{% - \setbox\toprefbox = \hbox{Top\kern7sp}% - \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% - \ifdim \wd2 > 7sp % nonempty? - \ifdim \wd2 = \wd\toprefbox \else % same as Top? - \putwordSection{} ``\printedrefname'' \putwordin{}\space - \fi - \fi - #1% -} - -% This macro is called from \xrefX for the `[nodename]' part of xref -% output. It's a separate macro only so it can be changed more easily, -% since square brackets don't work well in some documents. Particularly -% one that Bob is working on :). -% -\def\xrefprintnodename#1{[#1]} - -% Things referred to by \setref. -% -\def\Ynothing{} -\def\Yomitfromtoc{} -\def\Ynumbered{% - \ifnum\secno=0 - \putwordChapter@tie \the\chapno - \else \ifnum\subsecno=0 - \putwordSection@tie \the\chapno.\the\secno - \else \ifnum\subsubsecno=0 - \putwordSection@tie \the\chapno.\the\secno.\the\subsecno - \else - \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno - \fi\fi\fi -} -\def\Yappendix{% - \ifnum\secno=0 - \putwordAppendix@tie @char\the\appendixno{}% - \else \ifnum\subsecno=0 - \putwordSection@tie @char\the\appendixno.\the\secno - \else \ifnum\subsubsecno=0 - \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno - \else - \putwordSection@tie - @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno - \fi\fi\fi -} - -% \refx{NAME} - reference a cross-reference string named NAME. -\def\refx#1{% - \requireauxfile - {% - \indexnofonts - \turnoffactive - \def\value##1{##1}% - \expandafter\global\expandafter\let\expandafter\thisrefX - \csname XR#1\endcsname - }% - \ifx\thisrefX\relax - % If not defined, say something at least. - \angleleft un\-de\-fined\angleright - \iflinks - \ifhavexrefs - {\toks0 = {#1}% avoid expansion of possibly-complex value - \message{\linenumber Undefined cross reference `\the\toks0'.}}% - \else - \ifwarnedxrefs\else - \global\warnedxrefstrue - \message{Cross reference values unknown; you must run TeX again.}% - \fi - \fi - \fi - \else - % It's defined, so just use it. - \thisrefX - \fi -} - -% This is the macro invoked by entries in the aux file. Define a control -% sequence for a cross-reference target (we prepend XR to the control sequence -% name to avoid collisions). The value is the page number. If this is a float -% type, we have more work to do. -% -\def\xrdef#1#2{% - {% Expand the node or anchor name to remove control sequences. - % \turnoffactive stops 8-bit characters being changed to commands - % like @'e. \refx does the same to retrieve the value in the definition. - \indexnofonts - \turnoffactive - \def\value##1{##1}% - \xdef\safexrefname{#1}% - }% - % - \bgroup - \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% - \egroup - % We put the \gdef inside a group to avoid the definitions building up on - % TeX's save stack, which can cause it to run out of space for aux files with - % thousands of lines. \gdef doesn't use the save stack, but \csname does - % when it defines an unknown control sequence as \relax. - % - % Was that xref control sequence that we just defined for a float? - \expandafter\iffloat\csname XR\safexrefname\endcsname - % it was a float, and we have the (safe) float type in \iffloattype. - \expandafter\let\expandafter\floatlist - \csname floatlist\iffloattype\endcsname - % - % Is this the first time we've seen this float type? - \expandafter\ifx\floatlist\relax - \toks0 = {\do}% yes, so just \do - \else - % had it before, so preserve previous elements in list. - \toks0 = \expandafter{\floatlist\do}% - \fi - % - % Remember this xref in the control sequence \floatlistFLOATTYPE, - % for later use in \listoffloats. - \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 - {\safexrefname}}% - \fi -} - -% If working on a large document in chapters, it is convenient to -% be able to disable indexing, cross-referencing, and contents, for test runs. -% This is done with @novalidate at the beginning of the file. -% -\newif\iflinks \linkstrue % by default we want the aux files. -\let\novalidate = \linksfalse - -% Used when writing to the aux file, or when using data from it. -\def\requireauxfile{% - \iflinks - \tryauxfile - % Open the new aux file. TeX will close it automatically at exit. - \immediate\openout\auxfile=\jobname.aux - \fi - \global\let\requireauxfile=\relax % Only do this once. -} - -% Read the last existing aux file, if any. No error if none exists. -% -\def\tryauxfile{% - \openin 1 \jobname.aux - \ifeof 1 \else - \readdatafile{aux}% - \global\havexrefstrue - \fi - \closein 1 -} - -\def\setupdatafile{% - \catcode`\^^@=\other - \catcode`\^^A=\other - \catcode`\^^B=\other - \catcode`\^^C=\other - \catcode`\^^D=\other - \catcode`\^^E=\other - \catcode`\^^F=\other - \catcode`\^^G=\other - \catcode`\^^H=\other - \catcode`\^^K=\other - \catcode`\^^L=\other - \catcode`\^^N=\other - \catcode`\^^P=\other - \catcode`\^^Q=\other - \catcode`\^^R=\other - \catcode`\^^S=\other - \catcode`\^^T=\other - \catcode`\^^U=\other - \catcode`\^^V=\other - \catcode`\^^W=\other - \catcode`\^^X=\other - \catcode`\^^Z=\other - \catcode`\^^[=\other - \catcode`\^^\=\other - \catcode`\^^]=\other - \catcode`\^^^=\other - \catcode`\^^_=\other - \catcode`\^=\other - % - % Special characters. Should be turned off anyway, but... - \catcode`\~=\other - \catcode`\[=\other - \catcode`\]=\other - \catcode`\"=\other - \catcode`\_=\active - \catcode`\|=\active - \catcode`\<=\active - \catcode`\>=\active - \catcode`\$=\other - \catcode`\#=\other - \catcode`\&=\other - \catcode`\%=\other - \catcode`+=\other % avoid \+ for paranoia even though we've turned it off - % - \catcode`\\=\active - % - % @ is our escape character in .aux files, and we need braces. - \catcode`\{=1 - \catcode`\}=2 - \catcode`\@=0 -} - -\def\readdatafile#1{% -\begingroup - \setupdatafile - \input\jobname.#1 -\endgroup} - - -\message{insertions,} -% including footnotes. - -\newcount \footnoteno - -% The trailing space in the following definition for supereject is -% vital for proper filling; pages come out unaligned when you do a -% pagealignmacro call if that space before the closing brace is -% removed. (Generally, numeric constants should always be followed by a -% space to prevent strange expansion errors.) -\def\supereject{\par\penalty -20000\footnoteno =0 } - -% @footnotestyle is meaningful for Info output only. -\let\footnotestyle=\comment - -{\catcode `\@=11 -% -% Auto-number footnotes. Otherwise like plain. -\gdef\footnote{% - \global\advance\footnoteno by \@ne - \edef\thisfootno{$^{\the\footnoteno}$}% - % - % In case the footnote comes at the end of a sentence, preserve the - % extra spacing after we do the footnote number. - \let\@sf\empty - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi - % - % Remove inadvertent blank space before typesetting the footnote number. - \unskip - \thisfootno\@sf - \dofootnote -}% - -% Don't bother with the trickery in plain.tex to not require the -% footnote text as a parameter. Our footnotes don't need to be so general. -% -% Oh yes, they do; otherwise, @ifset (and anything else that uses -% \parseargline) fails inside footnotes because the tokens are fixed when -% the footnote is read. --karl, 16nov96. -% -\gdef\dofootnote{% - \insert\footins\bgroup - % - % Nested footnotes are not supported in TeX, that would take a lot - % more work. (\startsavinginserts does not suffice.) - \let\footnote=\errfootnotenest - % - % We want to typeset this text as a normal paragraph, even if the - % footnote reference occurs in (for example) a display environment. - % So reset some parameters. - \hsize=\txipagewidth - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox - \floatingpenalty\@MM - \leftskip\z@skip - \rightskip\z@skip - \spaceskip\z@skip - \xspaceskip\z@skip - \parindent\defaultparindent - % - \smallfonts \rm - % - % Because we use hanging indentation in footnotes, a @noindent appears - % to exdent this text, so make it be a no-op. makeinfo does not use - % hanging indentation so @noindent can still be needed within footnote - % text after an @example or the like (not that this is good style). - \let\noindent = \relax - % - % Hang the footnote text off the number. Use \everypar in case the - % footnote extends for more than one paragraph. - \everypar = {\hang}% - \textindent{\thisfootno}% - % - % Don't crash into the line above the footnote text. Since this - % expands into a box, it must come within the paragraph, lest it - % provide a place where TeX can split the footnote. - \footstrut - % - % Invoke rest of plain TeX footnote routine. - \futurelet\next\fo@t -} -}%end \catcode `\@=11 - -\def\errfootnotenest{% - \errhelp=\EMsimple - \errmessage{Nested footnotes not supported in texinfo.tex, - even though they work in makeinfo; sorry} -} - -\def\errfootnoteheading{% - \errhelp=\EMsimple - \errmessage{Footnotes in chapters, sections, etc., are not supported} -} - -% In case a @footnote appears in a vbox, save the footnote text and create -% the real \insert just after the vbox finished. Otherwise, the insertion -% would be lost. -% Similarly, if a @footnote appears inside an alignment, save the footnote -% text to a box and make the \insert when a row of the table is finished. -% And the same can be done for other insert classes. --kasal, 16nov03. -% -% Replace the \insert primitive by a cheating macro. -% Deeper inside, just make sure that the saved insertions are not spilled -% out prematurely. -% -\def\startsavinginserts{% - \ifx \insert\ptexinsert - \let\insert\saveinsert - \else - \let\checkinserts\relax - \fi -} - -% This \insert replacement works for both \insert\footins{foo} and -% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. -% -\def\saveinsert#1{% - \edef\next{\noexpand\savetobox \makeSAVEname#1}% - \afterassignment\next - % swallow the left brace - \let\temp = -} -\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} -\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} - -\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} - -\def\placesaveins#1{% - \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname - {\box#1}% -} - -% eat @SAVE -- beware, all of them have catcode \other: -{ - \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) - \gdef\gobblesave @SAVE{} -} - -% initialization: -\def\newsaveins #1{% - \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% - \next -} -\def\newsaveinsX #1{% - \csname newbox\endcsname #1% - \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts - \checksaveins #1}% -} - -% initialize: -\let\checkinserts\empty -\newsaveins\footins -\newsaveins\margin - - -% @image. We use the macros from epsf.tex to support this. -% If epsf.tex is not installed and @image is used, we complain. -% -% Check for and read epsf.tex up front. If we read it only at @image -% time, we might be inside a group, and then its definitions would get -% undone and the next image would fail. -\openin 1 = epsf.tex -\ifeof 1 \else - % Do not bother showing banner with epsf.tex v2.7k (available in - % doc/epsf.tex and on ctan). - \def\epsfannounce{\toks0 = }% - \input epsf.tex -\fi -\closein 1 -% -% We will only complain once about lack of epsf.tex. -\newif\ifwarnednoepsf -\newhelp\noepsfhelp{epsf.tex must be installed for images to - work. It is also included in the Texinfo distribution, or you can get - it from https://ctan.org/texarchive/macros/texinfo/texinfo/doc/epsf.tex.} -% -\def\image#1{% - \ifx\epsfbox\thisisundefined - \ifwarnednoepsf \else - \errhelp = \noepsfhelp - \errmessage{epsf.tex not found, images will be ignored}% - \global\warnednoepsftrue - \fi - \else - \imagexxx #1,,,,,\finish - \fi -} -% -% Arguments to @image: -% #1 is (mandatory) image filename; we tack on .eps extension. -% #2 is (optional) width, #3 is (optional) height. -% #4 is (ignored optional) html alt text. -% #5 is (ignored optional) extension. -% #6 is just the usual extra ignored arg for parsing stuff. -\newif\ifimagevmode -\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup - \catcode`\^^M = 5 % in case we're inside an example - \normalturnoffactive % allow _ et al. in names - \makevalueexpandable - % If the image is by itself, center it. - \ifvmode - \imagevmodetrue - \else \ifx\centersub\centerV - % for @center @image, we need a vbox so we can have our vertical space - \imagevmodetrue - \vbox\bgroup % vbox has better behavior than vtop herev - \fi\fi - % - \ifimagevmode - \medskip - % Usually we'll have text after the image which will insert - % \parskip glue, so insert it here too to equalize the space - % above and below. - \nobreak\vskip\parskip - \nobreak - \fi - % - % Leave vertical mode so that indentation from an enclosing - % environment such as @quotation is respected. - % However, if we're at the top level, we don't want the - % normal paragraph indentation. - % On the other hand, if we are in the case of @center @image, we don't - % want to start a paragraph, which will create a hsize-width box and - % eradicate the centering. - \ifx\centersub\centerV \else \imageindent \fi - % - % Output the image. - \ifpdf - % For pdfTeX and LuaTeX <= 0.80 - \dopdfimage{#1}{#2}{#3}% - \else - \ifx\XeTeXrevision\thisisundefined - % For epsf.tex - % \epsfbox itself resets \epsf?size at each figure. - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi - \epsfbox{#1.eps}% - \else - % For XeTeX - \doxeteximage{#1}{#2}{#3}% - \fi - \fi - % - \ifimagevmode - \medskip % space after a standalone image - \fi - \ifx\centersub\centerV \egroup \fi -\endgroup} - - -% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, -% etc. We don't actually implement floating yet, we always include the -% float "here". But it seemed the best name for the future. -% -\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} - -% There may be a space before second and/or third parameter; delete it. -\def\eatcommaspace#1, {#1,} - -% #1 is the optional FLOATTYPE, the text label for this float, typically -% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, -% this float will not be numbered and cannot be referred to. -% -% #2 is the optional xref label. Also must be present for the float to -% be referable. -% -% #3 is the optional positioning argument; for now, it is ignored. It -% will somehow specify the positions allowed to float to (here, top, bottom). -% -% We keep a separate counter for each FLOATTYPE, which we reset at each -% chapter-level command. -\let\resetallfloatnos=\empty -% -\def\dofloat#1,#2,#3,#4\finish{% - \let\thiscaption=\empty - \let\thisshortcaption=\empty - % - % don't lose footnotes inside @float. - % - % BEWARE: when the floats start float, we have to issue warning whenever an - % insert appears inside a float which could possibly float. --kasal, 26may04 - % - \startsavinginserts - % - % We can't be used inside a paragraph. - \par - % - \vtop\bgroup - \def\floattype{#1}% - \def\floatlabel{#2}% - \def\floatloc{#3}% we do nothing with this yet. - % - \ifx\floattype\empty - \let\safefloattype=\empty - \else - {% - % the floattype might have accents or other special characters, - % but we need to use it in a control sequence name. - \indexnofonts - \turnoffactive - \xdef\safefloattype{\floattype}% - }% - \fi - % - % If label is given but no type, we handle that as the empty type. - \ifx\floatlabel\empty \else - % We want each FLOATTYPE to be numbered separately (Figure 1, - % Table 1, Figure 2, ...). (And if no label, no number.) - % - \expandafter\getfloatno\csname\safefloattype floatno\endcsname - \global\advance\floatno by 1 - % - {% - % This magic value for \currentsection is output by \setref as the - % XREFLABEL-title value. \xrefX uses it to distinguish float - % labels (which have a completely different output format) from - % node and anchor labels. And \xrdef uses it to construct the - % lists of floats. - % - \edef\currentsection{\floatmagic=\safefloattype}% - \setref{\floatlabel}{Yfloat}% - }% - \fi - % - % start with \parskip glue, I guess. - \vskip\parskip - % - % Don't suppress indentation if a float happens to start a section. - \restorefirstparagraphindent -} - -% we have these possibilities: -% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap -% @float Foo,lbl & no caption: Foo 1.1 -% @float Foo & @caption{Cap}: Foo: Cap -% @float Foo & no caption: Foo -% @float ,lbl & Caption{Cap}: 1.1: Cap -% @float ,lbl & no caption: 1.1 -% @float & @caption{Cap}: Cap -% @float & no caption: -% -\def\Efloat{% - \let\floatident = \empty - % - % In all cases, if we have a float type, it comes first. - \ifx\floattype\empty \else \def\floatident{\floattype}\fi - % - % If we have an xref label, the number comes next. - \ifx\floatlabel\empty \else - \ifx\floattype\empty \else % if also had float type, need tie first. - \appendtomacro\floatident{\tie}% - \fi - % the number. - \appendtomacro\floatident{\chaplevelprefix\the\floatno}% - \fi - % - % Start the printed caption with what we've constructed in - % \floatident, but keep it separate; we need \floatident again. - \let\captionline = \floatident - % - \ifx\thiscaption\empty \else - \ifx\floatident\empty \else - \appendtomacro\captionline{: }% had ident, so need a colon between - \fi - % - % caption text. - \appendtomacro\captionline{\scanexp\thiscaption}% - \fi - % - % If we have anything to print, print it, with space before. - % Eventually this needs to become an \insert. - \ifx\captionline\empty \else - \vskip.5\parskip - \captionline - % - % Space below caption. - \vskip\parskip - \fi - % - % If have an xref label, write the list of floats info. Do this - % after the caption, to avoid chance of it being a breakpoint. - \ifx\floatlabel\empty \else - % Write the text that goes in the lof to the aux file as - % \floatlabel-lof. Besides \floatident, we include the short - % caption if specified, else the full caption if specified, else nothing. - {% - \requireauxfile - \atdummies - % - \ifx\thisshortcaption\empty - \def\gtemp{\thiscaption}% - \else - \def\gtemp{\thisshortcaption}% - \fi - \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident - \ifx\gtemp\empty \else : \gtemp \fi}}% - }% - \fi - \egroup % end of \vtop - % - \checkinserts -} - -% Append the tokens #2 to the definition of macro #1, not expanding either. -% -\def\appendtomacro#1#2{% - \expandafter\def\expandafter#1\expandafter{#1#2}% -} - -% @caption, @shortcaption -% -\def\caption{\docaption\thiscaption} -\def\shortcaption{\docaption\thisshortcaption} -\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} -\def\defcaption#1#2{\egroup \def#1{#2}} - -% The parameter is the control sequence identifying the counter we are -% going to use. Create it if it doesn't exist and assign it to \floatno. -\def\getfloatno#1{% - \ifx#1\relax - % Haven't seen this figure type before. - \csname newcount\endcsname #1% - % - % Remember to reset this floatno at the next chap. - \expandafter\gdef\expandafter\resetallfloatnos - \expandafter{\resetallfloatnos #1=0 }% - \fi - \let\floatno#1% -} - -% \setref calls this to get the XREFLABEL-snt value. We want an @xref -% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we -% first read the @float command. -% -\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% - -% Magic string used for the XREFLABEL-title value, so \xrefX can -% distinguish floats from other xref types. -\def\floatmagic{!!float!!} - -% #1 is the control sequence we are passed; we expand into a conditional -% which is true if #1 represents a float ref. That is, the magic -% \currentsection value which we \setref above. -% -\def\iffloat#1{\expandafter\doiffloat#1==\finish} -% -% #1 is (maybe) the \floatmagic string. If so, #2 will be the -% (safe) float type for this float. We set \iffloattype to #2. -% -\def\doiffloat#1=#2=#3\finish{% - \def\temp{#1}% - \def\iffloattype{#2}% - \ifx\temp\floatmagic -} - -% @listoffloats FLOATTYPE - print a list of floats like a table of contents. -% -\parseargdef\listoffloats{% - \def\floattype{#1}% floattype - {% - % the floattype might have accents or other special characters, - % but we need to use it in a control sequence name. - \indexnofonts - \turnoffactive - \xdef\safefloattype{\floattype}% - }% - % - % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. - \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax - \ifhavexrefs - % if the user said @listoffloats foo but never @float foo. - \message{\linenumber No `\safefloattype' floats to list.}% - \fi - \else - \begingroup - \leftskip=\tocindent % indent these entries like a toc - \let\do=\listoffloatsdo - \csname floatlist\safefloattype\endcsname - \endgroup - \fi -} - -% This is called on each entry in a list of floats. We're passed the -% xref label, in the form LABEL-title, which is how we save it in the -% aux file. We strip off the -title and look up \XRLABEL-lof, which -% has the text we're supposed to typeset here. -% -% Figures without xref labels will not be included in the list (since -% they won't appear in the aux file). -% -\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} -\def\listoffloatsdoentry#1-title\finish{{% - % Can't fully expand XR#1-lof because it can contain anything. Just - % pass the control sequence. On the other hand, XR#1-pg is just the - % page number, and we want to fully expand that so we can get a link - % in pdf output. - \toksA = \expandafter{\csname XR#1-lof\endcsname}% - % - % use the same \entry macro we use to generate the TOC and index. - \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% - \writeentry -}} - - -\message{localization,} - -% For single-language documents, @documentlanguage is usually given very -% early, just after @documentencoding. Single argument is the language -% (de) or locale (de_DE) abbreviation. -% -{ - \catcode`\_ = \active - \globaldefs=1 -\parseargdef\documentlanguage{% - \tex % read txi-??.tex file in plain TeX. - % Read the file by the name they passed if it exists. - \let_ = \normalunderscore % normal _ character for filename test - \openin 1 txi-#1.tex - \ifeof 1 - \documentlanguagetrywithoutunderscore #1_\finish - \else - \globaldefs = 1 % everything in the txi-LL files needs to persist - \input txi-#1.tex - \fi - \closein 1 - \endgroup % end raw TeX -} -% -% If they passed de_DE, and txi-de_DE.tex doesn't exist, -% try txi-de.tex. -% -\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% - \openin 1 txi-#1.tex - \ifeof 1 - \errhelp = \nolanghelp - \errmessage{Cannot read language file txi-#1.tex}% - \else - \globaldefs = 1 % everything in the txi-LL files needs to persist - \input txi-#1.tex - \fi - \closein 1 -} -}% end of special _ catcode -% -\newhelp\nolanghelp{The given language definition file cannot be found or -is empty. Maybe you need to install it? Putting it in the current -directory should work if nowhere else does.} - -% This macro is called from txi-??.tex files; the first argument is the -% \language name to set (without the "\lang@" prefix), the second and -% third args are \{left,right}hyphenmin. -% -% The language names to pass are determined when the format is built. -% See the etex.log file created at that time, e.g., -% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. -% -% With TeX Live 2008, etex now includes hyphenation patterns for all -% available languages. This means we can support hyphenation in -% Texinfo, at least to some extent. (This still doesn't solve the -% accented characters problem.) -% -\catcode`@=11 -\def\txisetlanguage#1#2#3{% - % do not set the language if the name is undefined in the current TeX. - \expandafter\ifx\csname lang@#1\endcsname \relax - \message{no patterns for #1}% - \else - \global\language = \csname lang@#1\endcsname - \fi - % but there is no harm in adjusting the hyphenmin values regardless. - \global\lefthyphenmin = #2\relax - \global\righthyphenmin = #3\relax -} - -% XeTeX and LuaTeX can handle Unicode natively. -% Their default I/O uses UTF-8 sequences instead of a byte-wise operation. -% Other TeX engines' I/O (pdfTeX, etc.) is byte-wise. -% -\newif\iftxinativeunicodecapable -\newif\iftxiusebytewiseio - -\ifx\XeTeXrevision\thisisundefined - \ifx\luatexversion\thisisundefined - \txinativeunicodecapablefalse - \txiusebytewiseiotrue - \else - \txinativeunicodecapabletrue - \txiusebytewiseiofalse - \fi -\else - \txinativeunicodecapabletrue - \txiusebytewiseiofalse -\fi - -% Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex -% for non-UTF-8 (byte-wise) encodings. -% -\def\setbytewiseio{% - \ifx\XeTeXrevision\thisisundefined - \else - \XeTeXdefaultencoding "bytes" % For subsequent files to be read - \XeTeXinputencoding "bytes" % For document root file - % Unfortunately, there seems to be no corresponding XeTeX command for - % output encoding. This is a problem for auxiliary index and TOC files. - % The only solution would be perhaps to write out @U{...} sequences in - % place of non-ASCII characters. - \fi - - \ifx\luatexversion\thisisundefined - \else - \directlua{ - local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub - local function convert_char (char) - return utf8_char(byte(char)) - end - - local function convert_line (line) - return gsub(line, ".", convert_char) - end - - callback.register("process_input_buffer", convert_line) - - local function convert_line_out (line) - local line_out = "" - for c in string.utfvalues(line) do - line_out = line_out .. string.char(c) - end - return line_out - end - - callback.register("process_output_buffer", convert_line_out) - } - \fi - - \txiusebytewiseiotrue -} - - -% Helpers for encodings. -% Set the catcode of characters 128 through 255 to the specified number. -% -\def\setnonasciicharscatcode#1{% - \count255=128 - \loop\ifnum\count255<256 - \global\catcode\count255=#1\relax - \advance\count255 by 1 - \repeat -} - -\def\setnonasciicharscatcodenonglobal#1{% - \count255=128 - \loop\ifnum\count255<256 - \catcode\count255=#1\relax - \advance\count255 by 1 - \repeat -} - -% @documentencoding sets the definition of non-ASCII characters -% according to the specified encoding. -% -\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz} -\def\documentencodingzzz#1{% - % - % Encoding being declared for the document. - \def\declaredencoding{\csname #1.enc\endcsname}% - % - % Supported encodings: names converted to tokens in order to be able - % to compare them with \ifx. - \def\ascii{\csname US-ASCII.enc\endcsname}% - \def\latnine{\csname ISO-8859-15.enc\endcsname}% - \def\latone{\csname ISO-8859-1.enc\endcsname}% - \def\lattwo{\csname ISO-8859-2.enc\endcsname}% - \def\utfeight{\csname UTF-8.enc\endcsname}% - % - \ifx \declaredencoding \ascii - \asciichardefs - % - \else \ifx \declaredencoding \lattwo - \iftxinativeunicodecapable - \setbytewiseio - \fi - \setnonasciicharscatcode\active - \lattwochardefs - % - \else \ifx \declaredencoding \latone - \iftxinativeunicodecapable - \setbytewiseio - \fi - \setnonasciicharscatcode\active - \latonechardefs - % - \else \ifx \declaredencoding \latnine - \iftxinativeunicodecapable - \setbytewiseio - \fi - \setnonasciicharscatcode\active - \latninechardefs - % - \else \ifx \declaredencoding \utfeight - \iftxinativeunicodecapable - % For native Unicode handling (XeTeX and LuaTeX) - \nativeunicodechardefs - \else - % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX) - \setnonasciicharscatcode\active - % since we already invoked \utfeightchardefs at the top level - % (below), do not re-invoke it, otherwise our check for duplicated - % definitions gets triggered. Making non-ascii chars active is - % sufficient. - \fi - % - \else - \message{Ignoring unknown document encoding: #1.}% - % - \fi % utfeight - \fi % latnine - \fi % latone - \fi % lattwo - \fi % ascii - % - \ifx\XeTeXrevision\thisisundefined - \else - \ifx \declaredencoding \utfeight - \else - \ifx \declaredencoding \ascii - \else - \message{Warning: XeTeX with non-UTF-8 encodings cannot handle % - non-ASCII characters in auxiliary files.}% - \fi - \fi - \fi -} - -% emacs-page -% A message to be logged when using a character that isn't available -% the default font encoding (OT1). -% -\def\missingcharmsg#1{\message{Character missing, sorry: #1.}} - -% Take account of \c (plain) vs. \, (Texinfo) difference. -\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} - -% First, make active non-ASCII characters in order for them to be -% correctly categorized when TeX reads the replacement text of -% macros containing the character definitions. -\setnonasciicharscatcode\active -% - -\def\gdefchar#1#2{% -\gdef#1{% - \ifpassthroughchars - \string#1% - \else - #2% - \fi -}} - -% Latin1 (ISO-8859-1) character definitions. -\def\latonechardefs{% - \gdefchar^^a0{\tie} - \gdefchar^^a1{\exclamdown} - \gdefchar^^a2{{\tcfont \char162}} % cent - \gdefchar^^a3{\pounds{}} - \gdefchar^^a4{{\tcfont \char164}} % currency - \gdefchar^^a5{{\tcfont \char165}} % yen - \gdefchar^^a6{{\tcfont \char166}} % broken bar - \gdefchar^^a7{\S} - \gdefchar^^a8{\"{}} - \gdefchar^^a9{\copyright{}} - \gdefchar^^aa{\ordf} - \gdefchar^^ab{\guillemetleft{}} - \gdefchar^^ac{\ensuremath\lnot} - \gdefchar^^ad{\-} - \gdefchar^^ae{\registeredsymbol{}} - \gdefchar^^af{\={}} - % - \gdefchar^^b0{\textdegree} - \gdefchar^^b1{$\pm$} - \gdefchar^^b2{$^2$} - \gdefchar^^b3{$^3$} - \gdefchar^^b4{\'{}} - \gdefchar^^b5{$\mu$} - \gdefchar^^b6{\P} - \gdefchar^^b7{\ensuremath\cdot} - \gdefchar^^b8{\cedilla\ } - \gdefchar^^b9{$^1$} - \gdefchar^^ba{\ordm} - \gdefchar^^bb{\guillemetright{}} - \gdefchar^^bc{$1\over4$} - \gdefchar^^bd{$1\over2$} - \gdefchar^^be{$3\over4$} - \gdefchar^^bf{\questiondown} - % - \gdefchar^^c0{\`A} - \gdefchar^^c1{\'A} - \gdefchar^^c2{\^A} - \gdefchar^^c3{\~A} - \gdefchar^^c4{\"A} - \gdefchar^^c5{\ringaccent A} - \gdefchar^^c6{\AE} - \gdefchar^^c7{\cedilla C} - \gdefchar^^c8{\`E} - \gdefchar^^c9{\'E} - \gdefchar^^ca{\^E} - \gdefchar^^cb{\"E} - \gdefchar^^cc{\`I} - \gdefchar^^cd{\'I} - \gdefchar^^ce{\^I} - \gdefchar^^cf{\"I} - % - \gdefchar^^d0{\DH} - \gdefchar^^d1{\~N} - \gdefchar^^d2{\`O} - \gdefchar^^d3{\'O} - \gdefchar^^d4{\^O} - \gdefchar^^d5{\~O} - \gdefchar^^d6{\"O} - \gdefchar^^d7{$\times$} - \gdefchar^^d8{\O} - \gdefchar^^d9{\`U} - \gdefchar^^da{\'U} - \gdefchar^^db{\^U} - \gdefchar^^dc{\"U} - \gdefchar^^dd{\'Y} - \gdefchar^^de{\TH} - \gdefchar^^df{\ss} - % - \gdefchar^^e0{\`a} - \gdefchar^^e1{\'a} - \gdefchar^^e2{\^a} - \gdefchar^^e3{\~a} - \gdefchar^^e4{\"a} - \gdefchar^^e5{\ringaccent a} - \gdefchar^^e6{\ae} - \gdefchar^^e7{\cedilla c} - \gdefchar^^e8{\`e} - \gdefchar^^e9{\'e} - \gdefchar^^ea{\^e} - \gdefchar^^eb{\"e} - \gdefchar^^ec{\`{\dotless i}} - \gdefchar^^ed{\'{\dotless i}} - \gdefchar^^ee{\^{\dotless i}} - \gdefchar^^ef{\"{\dotless i}} - % - \gdefchar^^f0{\dh} - \gdefchar^^f1{\~n} - \gdefchar^^f2{\`o} - \gdefchar^^f3{\'o} - \gdefchar^^f4{\^o} - \gdefchar^^f5{\~o} - \gdefchar^^f6{\"o} - \gdefchar^^f7{$\div$} - \gdefchar^^f8{\o} - \gdefchar^^f9{\`u} - \gdefchar^^fa{\'u} - \gdefchar^^fb{\^u} - \gdefchar^^fc{\"u} - \gdefchar^^fd{\'y} - \gdefchar^^fe{\th} - \gdefchar^^ff{\"y} -} - -% Latin9 (ISO-8859-15) encoding character definitions. -\def\latninechardefs{% - % Encoding is almost identical to Latin1. - \latonechardefs - % - \gdefchar^^a4{\euro{}} - \gdefchar^^a6{\v S} - \gdefchar^^a8{\v s} - \gdefchar^^b4{\v Z} - \gdefchar^^b8{\v z} - \gdefchar^^bc{\OE} - \gdefchar^^bd{\oe} - \gdefchar^^be{\"Y} -} - -% Latin2 (ISO-8859-2) character definitions. -\def\lattwochardefs{% - \gdefchar^^a0{\tie} - \gdefchar^^a1{\ogonek{A}} - \gdefchar^^a2{\u{}} - \gdefchar^^a3{\L} - \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}} - \gdefchar^^a5{\v L} - \gdefchar^^a6{\'S} - \gdefchar^^a7{\S} - \gdefchar^^a8{\"{}} - \gdefchar^^a9{\v S} - \gdefchar^^aa{\cedilla S} - \gdefchar^^ab{\v T} - \gdefchar^^ac{\'Z} - \gdefchar^^ad{\-} - \gdefchar^^ae{\v Z} - \gdefchar^^af{\dotaccent Z} - % - \gdefchar^^b0{\textdegree{}} - \gdefchar^^b1{\ogonek{a}} - \gdefchar^^b2{\ogonek{ }} - \gdefchar^^b3{\l} - \gdefchar^^b4{\'{}} - \gdefchar^^b5{\v l} - \gdefchar^^b6{\'s} - \gdefchar^^b7{\v{}} - \gdefchar^^b8{\cedilla\ } - \gdefchar^^b9{\v s} - \gdefchar^^ba{\cedilla s} - \gdefchar^^bb{\v t} - \gdefchar^^bc{\'z} - \gdefchar^^bd{\H{}} - \gdefchar^^be{\v z} - \gdefchar^^bf{\dotaccent z} - % - \gdefchar^^c0{\'R} - \gdefchar^^c1{\'A} - \gdefchar^^c2{\^A} - \gdefchar^^c3{\u A} - \gdefchar^^c4{\"A} - \gdefchar^^c5{\'L} - \gdefchar^^c6{\'C} - \gdefchar^^c7{\cedilla C} - \gdefchar^^c8{\v C} - \gdefchar^^c9{\'E} - \gdefchar^^ca{\ogonek{E}} - \gdefchar^^cb{\"E} - \gdefchar^^cc{\v E} - \gdefchar^^cd{\'I} - \gdefchar^^ce{\^I} - \gdefchar^^cf{\v D} - % - \gdefchar^^d0{\DH} - \gdefchar^^d1{\'N} - \gdefchar^^d2{\v N} - \gdefchar^^d3{\'O} - \gdefchar^^d4{\^O} - \gdefchar^^d5{\H O} - \gdefchar^^d6{\"O} - \gdefchar^^d7{$\times$} - \gdefchar^^d8{\v R} - \gdefchar^^d9{\ringaccent U} - \gdefchar^^da{\'U} - \gdefchar^^db{\H U} - \gdefchar^^dc{\"U} - \gdefchar^^dd{\'Y} - \gdefchar^^de{\cedilla T} - \gdefchar^^df{\ss} - % - \gdefchar^^e0{\'r} - \gdefchar^^e1{\'a} - \gdefchar^^e2{\^a} - \gdefchar^^e3{\u a} - \gdefchar^^e4{\"a} - \gdefchar^^e5{\'l} - \gdefchar^^e6{\'c} - \gdefchar^^e7{\cedilla c} - \gdefchar^^e8{\v c} - \gdefchar^^e9{\'e} - \gdefchar^^ea{\ogonek{e}} - \gdefchar^^eb{\"e} - \gdefchar^^ec{\v e} - \gdefchar^^ed{\'{\dotless{i}}} - \gdefchar^^ee{\^{\dotless{i}}} - \gdefchar^^ef{\v d} - % - \gdefchar^^f0{\dh} - \gdefchar^^f1{\'n} - \gdefchar^^f2{\v n} - \gdefchar^^f3{\'o} - \gdefchar^^f4{\^o} - \gdefchar^^f5{\H o} - \gdefchar^^f6{\"o} - \gdefchar^^f7{$\div$} - \gdefchar^^f8{\v r} - \gdefchar^^f9{\ringaccent u} - \gdefchar^^fa{\'u} - \gdefchar^^fb{\H u} - \gdefchar^^fc{\"u} - \gdefchar^^fd{\'y} - \gdefchar^^fe{\cedilla t} - \gdefchar^^ff{\dotaccent{}} -} - -% UTF-8 character definitions. -% -% This code to support UTF-8 is based on LaTeX's utf8.def, with some -% changes for Texinfo conventions. It is included here under the GPL by -% permission from Frank Mittelbach and the LaTeX team. -% -\newcount\countUTFx -\newcount\countUTFy -\newcount\countUTFz - -\gdef\UTFviiiTwoOctets#1#2{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\endcsname} -% -\gdef\UTFviiiThreeOctets#1#2#3{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} -% -\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} - -\gdef\UTFviiiDefined#1{% - \ifx #1\relax - \message{\linenumber Unicode char \string #1 not defined for Texinfo}% - \else - \expandafter #1% - \fi -} - -% Give non-ASCII bytes the active definitions for processing UTF-8 sequences -\begingroup - \catcode`\~13 - \catcode`\$12 - \catcode`\"12 - - % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp - % substituting ~ and $ with a character token of that value. - \def\UTFviiiLoop{% - \global\catcode\countUTFx\active - \uccode`\~\countUTFx - \uccode`\$\countUTFx - \uppercase\expandafter{\UTFviiiTmp}% - \advance\countUTFx by 1 - \ifnum\countUTFx < \countUTFy - \expandafter\UTFviiiLoop - \fi} - - % For bytes other than the first in a UTF-8 sequence. Not expected to - % be expanded except when writing to auxiliary files. - \countUTFx = "80 - \countUTFy = "C2 - \def\UTFviiiTmp{% - \gdef~{% - \ifpassthroughchars $\fi}}% - \UTFviiiLoop - - \countUTFx = "C2 - \countUTFy = "E0 - \def\UTFviiiTmp{% - \gdef~{% - \ifpassthroughchars $% - \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}% - \UTFviiiLoop - - \countUTFx = "E0 - \countUTFy = "F0 - \def\UTFviiiTmp{% - \gdef~{% - \ifpassthroughchars $% - \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}% - \UTFviiiLoop - - \countUTFx = "F0 - \countUTFy = "F4 - \def\UTFviiiTmp{% - \gdef~{% - \ifpassthroughchars $% - \else\expandafter\UTFviiiFourOctets\expandafter$\fi - }}% - \UTFviiiLoop -\endgroup - -\def\globallet{\global\let} % save some \expandafter's below - -% @U{xxxx} to produce U+xxxx, if we support it. -\def\U#1{% - \expandafter\ifx\csname uni:#1\endcsname \relax - \iftxinativeunicodecapable - % All Unicode characters can be used if native Unicode handling is - % active. However, if the font does not have the glyph, - % letters are missing. - \begingroup - \uccode`\.="#1\relax - \uppercase{.} - \endgroup - \else - \errhelp = \EMsimple - \errmessage{Unicode character U+#1 not supported, sorry}% - \fi - \else - \csname uni:#1\endcsname - \fi -} - -% These macros are used here to construct the name of a control -% sequence to be defined. -\def\UTFviiiTwoOctetsName#1#2{% - \csname u8:#1\string #2\endcsname}% -\def\UTFviiiThreeOctetsName#1#2#3{% - \csname u8:#1\string #2\string #3\endcsname}% -\def\UTFviiiFourOctetsName#1#2#3#4{% - \csname u8:#1\string #2\string #3\string #4\endcsname}% - -% For UTF-8 byte sequences (TeX, e-TeX and pdfTeX), -% provide a definition macro to replace a Unicode character; -% this gets used by the @U command -% -\begingroup - \catcode`\"=12 - \catcode`\<=12 - \catcode`\.=12 - \catcode`\,=12 - \catcode`\;=12 - \catcode`\!=12 - \catcode`\~=13 - \gdef\DeclareUnicodeCharacterUTFviii#1#2{% - \countUTFz = "#1\relax - \begingroup - \parseXMLCharref - - % Give \u8:... its definition. The sequence of seven \expandafter's - % expands after the \gdef three times, e.g. - % - % 1. \UTFviiTwoOctetsName B1 B2 - % 2. \csname u8:B1 \string B2 \endcsname - % 3. \u8: B1 B2 (a single control sequence token) - % - \expandafter\expandafter - \expandafter\expandafter - \expandafter\expandafter - \expandafter\gdef \UTFviiiTmp{#2}% - % - \expandafter\ifx\csname uni:#1\endcsname \relax \else - \message{Internal error, already defined: #1}% - \fi - % - % define an additional control sequence for this code point. - \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp - \endgroup} - % - % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp - % to the corresponding UTF-8 sequence. - \gdef\parseXMLCharref{% - \ifnum\countUTFz < "A0\relax - \errhelp = \EMsimple - \errmessage{Cannot define Unicode char value < 00A0}% - \else\ifnum\countUTFz < "800\relax - \parseUTFviiiA,% - \parseUTFviiiB C\UTFviiiTwoOctetsName.,% - \else\ifnum\countUTFz < "10000\relax - \parseUTFviiiA;% - \parseUTFviiiA,% - \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}% - \else - \parseUTFviiiA;% - \parseUTFviiiA,% - \parseUTFviiiA!% - \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}% - \fi\fi\fi - } - - % Extract a byte from the end of the UTF-8 representation of \countUTFx. - % It must be a non-initial byte in the sequence. - % Change \uccode of #1 for it to be used in \parseUTFviiiB as one - % of the bytes. - \gdef\parseUTFviiiA#1{% - \countUTFx = \countUTFz - \divide\countUTFz by 64 - \countUTFy = \countUTFz % Save to be the future value of \countUTFz. - \multiply\countUTFz by 64 - - % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract - % in order to get the last five bits. - \advance\countUTFx by -\countUTFz - - % Convert this to the byte in the UTF-8 sequence. - \advance\countUTFx by 128 - \uccode `#1\countUTFx - \countUTFz = \countUTFy} - - % Used to put a UTF-8 byte sequence into \UTFviiiTmp - % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8 - % sequence. - % #2 is one of the \UTFviii*OctetsName macros. - % #3 is always a full stop (.) - % #4 is a template for the other bytes in the sequence. The values for these - % bytes is substituted in here with \uppercase using the \uccode's. - \gdef\parseUTFviiiB#1#2#3#4{% - \advance\countUTFz by "#10\relax - \uccode `#3\countUTFz - \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} -\endgroup - -% For native Unicode handling (XeTeX and LuaTeX), -% provide a definition macro that sets a catcode to `other' non-globally -% -\def\DeclareUnicodeCharacterNativeOther#1#2{% - \catcode"#1=\other -} - -% https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M -% U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block) -% U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) -% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A -% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B -% -% Many of our renditions are less than wonderful, and all the missing -% characters are available somewhere. Loading the necessary fonts -% awaits user request. We can't truly support Unicode without -% reimplementing everything that's been done in LaTeX for many years, -% plus probably using luatex or xetex, and who knows what else. -% We won't be doing that here in this simple file. But we can try to at -% least make most of the characters not bomb out. -% -\def\unicodechardefs{% - \DeclareUnicodeCharacter{00A0}{\tie}% - \DeclareUnicodeCharacter{00A1}{\exclamdown}% - \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent - \DeclareUnicodeCharacter{00A3}{\pounds{}}% - \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency - \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen - \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar - \DeclareUnicodeCharacter{00A7}{\S}% - \DeclareUnicodeCharacter{00A8}{\"{ }}% - \DeclareUnicodeCharacter{00A9}{\copyright{}}% - \DeclareUnicodeCharacter{00AA}{\ordf}% - \DeclareUnicodeCharacter{00AB}{\guillemetleft{}}% - \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}% - \DeclareUnicodeCharacter{00AD}{\-}% - \DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}% - \DeclareUnicodeCharacter{00AF}{\={ }}% - % - \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}% - \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}% - \DeclareUnicodeCharacter{00B2}{$^2$}% - \DeclareUnicodeCharacter{00B3}{$^3$}% - \DeclareUnicodeCharacter{00B4}{\'{ }}% - \DeclareUnicodeCharacter{00B5}{$\mu$}% - \DeclareUnicodeCharacter{00B6}{\P}% - \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}% - \DeclareUnicodeCharacter{00B8}{\cedilla{ }}% - \DeclareUnicodeCharacter{00B9}{$^1$}% - \DeclareUnicodeCharacter{00BA}{\ordm}% - \DeclareUnicodeCharacter{00BB}{\guillemetright{}}% - \DeclareUnicodeCharacter{00BC}{$1\over4$}% - \DeclareUnicodeCharacter{00BD}{$1\over2$}% - \DeclareUnicodeCharacter{00BE}{$3\over4$}% - \DeclareUnicodeCharacter{00BF}{\questiondown}% - % - \DeclareUnicodeCharacter{00C0}{\`A}% - \DeclareUnicodeCharacter{00C1}{\'A}% - \DeclareUnicodeCharacter{00C2}{\^A}% - \DeclareUnicodeCharacter{00C3}{\~A}% - \DeclareUnicodeCharacter{00C4}{\"A}% - \DeclareUnicodeCharacter{00C5}{\AA}% - \DeclareUnicodeCharacter{00C6}{\AE}% - \DeclareUnicodeCharacter{00C7}{\cedilla{C}}% - \DeclareUnicodeCharacter{00C8}{\`E}% - \DeclareUnicodeCharacter{00C9}{\'E}% - \DeclareUnicodeCharacter{00CA}{\^E}% - \DeclareUnicodeCharacter{00CB}{\"E}% - \DeclareUnicodeCharacter{00CC}{\`I}% - \DeclareUnicodeCharacter{00CD}{\'I}% - \DeclareUnicodeCharacter{00CE}{\^I}% - \DeclareUnicodeCharacter{00CF}{\"I}% - % - \DeclareUnicodeCharacter{00D0}{\DH}% - \DeclareUnicodeCharacter{00D1}{\~N}% - \DeclareUnicodeCharacter{00D2}{\`O}% - \DeclareUnicodeCharacter{00D3}{\'O}% - \DeclareUnicodeCharacter{00D4}{\^O}% - \DeclareUnicodeCharacter{00D5}{\~O}% - \DeclareUnicodeCharacter{00D6}{\"O}% - \DeclareUnicodeCharacter{00D7}{\ensuremath\times}% - \DeclareUnicodeCharacter{00D8}{\O}% - \DeclareUnicodeCharacter{00D9}{\`U}% - \DeclareUnicodeCharacter{00DA}{\'U}% - \DeclareUnicodeCharacter{00DB}{\^U}% - \DeclareUnicodeCharacter{00DC}{\"U}% - \DeclareUnicodeCharacter{00DD}{\'Y}% - \DeclareUnicodeCharacter{00DE}{\TH}% - \DeclareUnicodeCharacter{00DF}{\ss}% - % - \DeclareUnicodeCharacter{00E0}{\`a}% - \DeclareUnicodeCharacter{00E1}{\'a}% - \DeclareUnicodeCharacter{00E2}{\^a}% - \DeclareUnicodeCharacter{00E3}{\~a}% - \DeclareUnicodeCharacter{00E4}{\"a}% - \DeclareUnicodeCharacter{00E5}{\aa}% - \DeclareUnicodeCharacter{00E6}{\ae}% - \DeclareUnicodeCharacter{00E7}{\cedilla{c}}% - \DeclareUnicodeCharacter{00E8}{\`e}% - \DeclareUnicodeCharacter{00E9}{\'e}% - \DeclareUnicodeCharacter{00EA}{\^e}% - \DeclareUnicodeCharacter{00EB}{\"e}% - \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}% - \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}% - \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}% - \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}% - % - \DeclareUnicodeCharacter{00F0}{\dh}% - \DeclareUnicodeCharacter{00F1}{\~n}% - \DeclareUnicodeCharacter{00F2}{\`o}% - \DeclareUnicodeCharacter{00F3}{\'o}% - \DeclareUnicodeCharacter{00F4}{\^o}% - \DeclareUnicodeCharacter{00F5}{\~o}% - \DeclareUnicodeCharacter{00F6}{\"o}% - \DeclareUnicodeCharacter{00F7}{\ensuremath\div}% - \DeclareUnicodeCharacter{00F8}{\o}% - \DeclareUnicodeCharacter{00F9}{\`u}% - \DeclareUnicodeCharacter{00FA}{\'u}% - \DeclareUnicodeCharacter{00FB}{\^u}% - \DeclareUnicodeCharacter{00FC}{\"u}% - \DeclareUnicodeCharacter{00FD}{\'y}% - \DeclareUnicodeCharacter{00FE}{\th}% - \DeclareUnicodeCharacter{00FF}{\"y}% - % - \DeclareUnicodeCharacter{0100}{\=A}% - \DeclareUnicodeCharacter{0101}{\=a}% - \DeclareUnicodeCharacter{0102}{\u{A}}% - \DeclareUnicodeCharacter{0103}{\u{a}}% - \DeclareUnicodeCharacter{0104}{\ogonek{A}}% - \DeclareUnicodeCharacter{0105}{\ogonek{a}}% - \DeclareUnicodeCharacter{0106}{\'C}% - \DeclareUnicodeCharacter{0107}{\'c}% - \DeclareUnicodeCharacter{0108}{\^C}% - \DeclareUnicodeCharacter{0109}{\^c}% - \DeclareUnicodeCharacter{010A}{\dotaccent{C}}% - \DeclareUnicodeCharacter{010B}{\dotaccent{c}}% - \DeclareUnicodeCharacter{010C}{\v{C}}% - \DeclareUnicodeCharacter{010D}{\v{c}}% - \DeclareUnicodeCharacter{010E}{\v{D}}% - \DeclareUnicodeCharacter{010F}{d'}% - % - \DeclareUnicodeCharacter{0110}{\DH}% - \DeclareUnicodeCharacter{0111}{\dh}% - \DeclareUnicodeCharacter{0112}{\=E}% - \DeclareUnicodeCharacter{0113}{\=e}% - \DeclareUnicodeCharacter{0114}{\u{E}}% - \DeclareUnicodeCharacter{0115}{\u{e}}% - \DeclareUnicodeCharacter{0116}{\dotaccent{E}}% - \DeclareUnicodeCharacter{0117}{\dotaccent{e}}% - \DeclareUnicodeCharacter{0118}{\ogonek{E}}% - \DeclareUnicodeCharacter{0119}{\ogonek{e}}% - \DeclareUnicodeCharacter{011A}{\v{E}}% - \DeclareUnicodeCharacter{011B}{\v{e}}% - \DeclareUnicodeCharacter{011C}{\^G}% - \DeclareUnicodeCharacter{011D}{\^g}% - \DeclareUnicodeCharacter{011E}{\u{G}}% - \DeclareUnicodeCharacter{011F}{\u{g}}% - % - \DeclareUnicodeCharacter{0120}{\dotaccent{G}}% - \DeclareUnicodeCharacter{0121}{\dotaccent{g}}% - \DeclareUnicodeCharacter{0122}{\cedilla{G}}% - \DeclareUnicodeCharacter{0123}{\cedilla{g}}% - \DeclareUnicodeCharacter{0124}{\^H}% - \DeclareUnicodeCharacter{0125}{\^h}% - \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}% - \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}% - \DeclareUnicodeCharacter{0128}{\~I}% - \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}% - \DeclareUnicodeCharacter{012A}{\=I}% - \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}% - \DeclareUnicodeCharacter{012C}{\u{I}}% - \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}% - \DeclareUnicodeCharacter{012E}{\ogonek{I}}% - \DeclareUnicodeCharacter{012F}{\ogonek{i}}% - % - \DeclareUnicodeCharacter{0130}{\dotaccent{I}}% - \DeclareUnicodeCharacter{0131}{\dotless{i}}% - \DeclareUnicodeCharacter{0132}{IJ}% - \DeclareUnicodeCharacter{0133}{ij}% - \DeclareUnicodeCharacter{0134}{\^J}% - \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}% - \DeclareUnicodeCharacter{0136}{\cedilla{K}}% - \DeclareUnicodeCharacter{0137}{\cedilla{k}}% - \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}% - \DeclareUnicodeCharacter{0139}{\'L}% - \DeclareUnicodeCharacter{013A}{\'l}% - \DeclareUnicodeCharacter{013B}{\cedilla{L}}% - \DeclareUnicodeCharacter{013C}{\cedilla{l}}% - \DeclareUnicodeCharacter{013D}{L'}% should kern - \DeclareUnicodeCharacter{013E}{l'}% should kern - \DeclareUnicodeCharacter{013F}{L\U{00B7}}% - % - \DeclareUnicodeCharacter{0140}{l\U{00B7}}% - \DeclareUnicodeCharacter{0141}{\L}% - \DeclareUnicodeCharacter{0142}{\l}% - \DeclareUnicodeCharacter{0143}{\'N}% - \DeclareUnicodeCharacter{0144}{\'n}% - \DeclareUnicodeCharacter{0145}{\cedilla{N}}% - \DeclareUnicodeCharacter{0146}{\cedilla{n}}% - \DeclareUnicodeCharacter{0147}{\v{N}}% - \DeclareUnicodeCharacter{0148}{\v{n}}% - \DeclareUnicodeCharacter{0149}{'n}% - \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}% - \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}% - \DeclareUnicodeCharacter{014C}{\=O}% - \DeclareUnicodeCharacter{014D}{\=o}% - \DeclareUnicodeCharacter{014E}{\u{O}}% - \DeclareUnicodeCharacter{014F}{\u{o}}% - % - \DeclareUnicodeCharacter{0150}{\H{O}}% - \DeclareUnicodeCharacter{0151}{\H{o}}% - \DeclareUnicodeCharacter{0152}{\OE}% - \DeclareUnicodeCharacter{0153}{\oe}% - \DeclareUnicodeCharacter{0154}{\'R}% - \DeclareUnicodeCharacter{0155}{\'r}% - \DeclareUnicodeCharacter{0156}{\cedilla{R}}% - \DeclareUnicodeCharacter{0157}{\cedilla{r}}% - \DeclareUnicodeCharacter{0158}{\v{R}}% - \DeclareUnicodeCharacter{0159}{\v{r}}% - \DeclareUnicodeCharacter{015A}{\'S}% - \DeclareUnicodeCharacter{015B}{\'s}% - \DeclareUnicodeCharacter{015C}{\^S}% - \DeclareUnicodeCharacter{015D}{\^s}% - \DeclareUnicodeCharacter{015E}{\cedilla{S}}% - \DeclareUnicodeCharacter{015F}{\cedilla{s}}% - % - \DeclareUnicodeCharacter{0160}{\v{S}}% - \DeclareUnicodeCharacter{0161}{\v{s}}% - \DeclareUnicodeCharacter{0162}{\cedilla{T}}% - \DeclareUnicodeCharacter{0163}{\cedilla{t}}% - \DeclareUnicodeCharacter{0164}{\v{T}}% - \DeclareUnicodeCharacter{0165}{\v{t}}% - \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}% - \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}% - \DeclareUnicodeCharacter{0168}{\~U}% - \DeclareUnicodeCharacter{0169}{\~u}% - \DeclareUnicodeCharacter{016A}{\=U}% - \DeclareUnicodeCharacter{016B}{\=u}% - \DeclareUnicodeCharacter{016C}{\u{U}}% - \DeclareUnicodeCharacter{016D}{\u{u}}% - \DeclareUnicodeCharacter{016E}{\ringaccent{U}}% - \DeclareUnicodeCharacter{016F}{\ringaccent{u}}% - % - \DeclareUnicodeCharacter{0170}{\H{U}}% - \DeclareUnicodeCharacter{0171}{\H{u}}% - \DeclareUnicodeCharacter{0172}{\ogonek{U}}% - \DeclareUnicodeCharacter{0173}{\ogonek{u}}% - \DeclareUnicodeCharacter{0174}{\^W}% - \DeclareUnicodeCharacter{0175}{\^w}% - \DeclareUnicodeCharacter{0176}{\^Y}% - \DeclareUnicodeCharacter{0177}{\^y}% - \DeclareUnicodeCharacter{0178}{\"Y}% - \DeclareUnicodeCharacter{0179}{\'Z}% - \DeclareUnicodeCharacter{017A}{\'z}% - \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}% - \DeclareUnicodeCharacter{017C}{\dotaccent{z}}% - \DeclareUnicodeCharacter{017D}{\v{Z}}% - \DeclareUnicodeCharacter{017E}{\v{z}}% - \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}% - % - \DeclareUnicodeCharacter{01C4}{D\v{Z}}% - \DeclareUnicodeCharacter{01C5}{D\v{z}}% - \DeclareUnicodeCharacter{01C6}{d\v{z}}% - \DeclareUnicodeCharacter{01C7}{LJ}% - \DeclareUnicodeCharacter{01C8}{Lj}% - \DeclareUnicodeCharacter{01C9}{lj}% - \DeclareUnicodeCharacter{01CA}{NJ}% - \DeclareUnicodeCharacter{01CB}{Nj}% - \DeclareUnicodeCharacter{01CC}{nj}% - \DeclareUnicodeCharacter{01CD}{\v{A}}% - \DeclareUnicodeCharacter{01CE}{\v{a}}% - \DeclareUnicodeCharacter{01CF}{\v{I}}% - % - \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}% - \DeclareUnicodeCharacter{01D1}{\v{O}}% - \DeclareUnicodeCharacter{01D2}{\v{o}}% - \DeclareUnicodeCharacter{01D3}{\v{U}}% - \DeclareUnicodeCharacter{01D4}{\v{u}}% - % - \DeclareUnicodeCharacter{01E2}{\={\AE}}% - \DeclareUnicodeCharacter{01E3}{\={\ae}}% - \DeclareUnicodeCharacter{01E6}{\v{G}}% - \DeclareUnicodeCharacter{01E7}{\v{g}}% - \DeclareUnicodeCharacter{01E8}{\v{K}}% - \DeclareUnicodeCharacter{01E9}{\v{k}}% - % - \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}% - \DeclareUnicodeCharacter{01F1}{DZ}% - \DeclareUnicodeCharacter{01F2}{Dz}% - \DeclareUnicodeCharacter{01F3}{dz}% - \DeclareUnicodeCharacter{01F4}{\'G}% - \DeclareUnicodeCharacter{01F5}{\'g}% - \DeclareUnicodeCharacter{01F8}{\`N}% - \DeclareUnicodeCharacter{01F9}{\`n}% - \DeclareUnicodeCharacter{01FC}{\'{\AE}}% - \DeclareUnicodeCharacter{01FD}{\'{\ae}}% - \DeclareUnicodeCharacter{01FE}{\'{\O}}% - \DeclareUnicodeCharacter{01FF}{\'{\o}}% - % - \DeclareUnicodeCharacter{021E}{\v{H}}% - \DeclareUnicodeCharacter{021F}{\v{h}}% - % - \DeclareUnicodeCharacter{0226}{\dotaccent{A}}% - \DeclareUnicodeCharacter{0227}{\dotaccent{a}}% - \DeclareUnicodeCharacter{0228}{\cedilla{E}}% - \DeclareUnicodeCharacter{0229}{\cedilla{e}}% - \DeclareUnicodeCharacter{022E}{\dotaccent{O}}% - \DeclareUnicodeCharacter{022F}{\dotaccent{o}}% - % - \DeclareUnicodeCharacter{0232}{\=Y}% - \DeclareUnicodeCharacter{0233}{\=y}% - \DeclareUnicodeCharacter{0237}{\dotless{j}}% - % - \DeclareUnicodeCharacter{02BC}{'}% - % - \DeclareUnicodeCharacter{02DB}{\ogonek{ }}% - % - % Greek letters upper case - \DeclareUnicodeCharacter{0391}{{\it A}}% - \DeclareUnicodeCharacter{0392}{{\it B}}% - \DeclareUnicodeCharacter{0393}{\ensuremath{\mit\Gamma}}% - \DeclareUnicodeCharacter{0394}{\ensuremath{\mit\Delta}}% - \DeclareUnicodeCharacter{0395}{{\it E}}% - \DeclareUnicodeCharacter{0396}{{\it Z}}% - \DeclareUnicodeCharacter{0397}{{\it H}}% - \DeclareUnicodeCharacter{0398}{\ensuremath{\mit\Theta}}% - \DeclareUnicodeCharacter{0399}{{\it I}}% - \DeclareUnicodeCharacter{039A}{{\it K}}% - \DeclareUnicodeCharacter{039B}{\ensuremath{\mit\Lambda}}% - \DeclareUnicodeCharacter{039C}{{\it M}}% - \DeclareUnicodeCharacter{039D}{{\it N}}% - \DeclareUnicodeCharacter{039E}{\ensuremath{\mit\Xi}}% - \DeclareUnicodeCharacter{039F}{{\it O}}% - \DeclareUnicodeCharacter{03A0}{\ensuremath{\mit\Pi}}% - \DeclareUnicodeCharacter{03A1}{{\it P}}% - %\DeclareUnicodeCharacter{03A2}{} % none - corresponds to final sigma - \DeclareUnicodeCharacter{03A3}{\ensuremath{\mit\Sigma}}% - \DeclareUnicodeCharacter{03A4}{{\it T}}% - \DeclareUnicodeCharacter{03A5}{\ensuremath{\mit\Upsilon}}% - \DeclareUnicodeCharacter{03A6}{\ensuremath{\mit\Phi}}% - \DeclareUnicodeCharacter{03A7}{{\it X}}% - \DeclareUnicodeCharacter{03A8}{\ensuremath{\mit\Psi}}% - \DeclareUnicodeCharacter{03A9}{\ensuremath{\mit\Omega}}% - % - % Vowels with accents - \DeclareUnicodeCharacter{0390}{\ensuremath{\ddot{\acute\iota}}}% - \DeclareUnicodeCharacter{03AC}{\ensuremath{\acute\alpha}}% - \DeclareUnicodeCharacter{03AD}{\ensuremath{\acute\epsilon}}% - \DeclareUnicodeCharacter{03AE}{\ensuremath{\acute\eta}}% - \DeclareUnicodeCharacter{03AF}{\ensuremath{\acute\iota}}% - \DeclareUnicodeCharacter{03B0}{\ensuremath{\acute{\ddot\upsilon}}}% - % - % Standalone accent - \DeclareUnicodeCharacter{0384}{\ensuremath{\acute{\ }}}% - % - % Greek letters lower case - \DeclareUnicodeCharacter{03B1}{\ensuremath\alpha}% - \DeclareUnicodeCharacter{03B2}{\ensuremath\beta}% - \DeclareUnicodeCharacter{03B3}{\ensuremath\gamma}% - \DeclareUnicodeCharacter{03B4}{\ensuremath\delta}% - \DeclareUnicodeCharacter{03B5}{\ensuremath\epsilon}% - \DeclareUnicodeCharacter{03B6}{\ensuremath\zeta}% - \DeclareUnicodeCharacter{03B7}{\ensuremath\eta}% - \DeclareUnicodeCharacter{03B8}{\ensuremath\theta}% - \DeclareUnicodeCharacter{03B9}{\ensuremath\iota}% - \DeclareUnicodeCharacter{03BA}{\ensuremath\kappa}% - \DeclareUnicodeCharacter{03BB}{\ensuremath\lambda}% - \DeclareUnicodeCharacter{03BC}{\ensuremath\mu}% - \DeclareUnicodeCharacter{03BD}{\ensuremath\nu}% - \DeclareUnicodeCharacter{03BE}{\ensuremath\xi}% - \DeclareUnicodeCharacter{03BF}{{\it o}}% omicron - \DeclareUnicodeCharacter{03C0}{\ensuremath\pi}% - \DeclareUnicodeCharacter{03C1}{\ensuremath\rho}% - \DeclareUnicodeCharacter{03C2}{\ensuremath\varsigma}% - \DeclareUnicodeCharacter{03C3}{\ensuremath\sigma}% - \DeclareUnicodeCharacter{03C4}{\ensuremath\tau}% - \DeclareUnicodeCharacter{03C5}{\ensuremath\upsilon}% - \DeclareUnicodeCharacter{03C6}{\ensuremath\phi}% - \DeclareUnicodeCharacter{03C7}{\ensuremath\chi}% - \DeclareUnicodeCharacter{03C8}{\ensuremath\psi}% - \DeclareUnicodeCharacter{03C9}{\ensuremath\omega}% - % - % More Greek vowels with accents - \DeclareUnicodeCharacter{03CA}{\ensuremath{\ddot\iota}}% - \DeclareUnicodeCharacter{03CB}{\ensuremath{\ddot\upsilon}}% - \DeclareUnicodeCharacter{03CC}{\ensuremath{\acute o}}% - \DeclareUnicodeCharacter{03CD}{\ensuremath{\acute\upsilon}}% - \DeclareUnicodeCharacter{03CE}{\ensuremath{\acute\omega}}% - % - % Variant Greek letters - \DeclareUnicodeCharacter{03D1}{\ensuremath\vartheta}% - \DeclareUnicodeCharacter{03D6}{\ensuremath\varpi}% - \DeclareUnicodeCharacter{03F1}{\ensuremath\varrho}% - % - \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}% - \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}% - \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}% - \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}% - \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}% - \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}% - \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}% - \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}% - \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}% - \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}% - \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}% - \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}% - % - \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}% - \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}% - % - \DeclareUnicodeCharacter{1E20}{\=G}% - \DeclareUnicodeCharacter{1E21}{\=g}% - \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}% - \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}% - \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}% - \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}% - \DeclareUnicodeCharacter{1E26}{\"H}% - \DeclareUnicodeCharacter{1E27}{\"h}% - % - \DeclareUnicodeCharacter{1E30}{\'K}% - \DeclareUnicodeCharacter{1E31}{\'k}% - \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}% - \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}% - \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}% - \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}% - \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}% - \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}% - \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}% - \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}% - \DeclareUnicodeCharacter{1E3E}{\'M}% - \DeclareUnicodeCharacter{1E3F}{\'m}% - % - \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}% - \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}% - \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}% - \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}% - \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}% - \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}% - \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}% - \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}% - \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}% - \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}% - % - \DeclareUnicodeCharacter{1E54}{\'P}% - \DeclareUnicodeCharacter{1E55}{\'p}% - \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}% - \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}% - \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}% - \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}% - \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}% - \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}% - \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}% - \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}% - % - \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}% - \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}% - \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}% - \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}% - \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}% - \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}% - \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}% - \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}% - \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}% - \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}% - % - \DeclareUnicodeCharacter{1E7C}{\~V}% - \DeclareUnicodeCharacter{1E7D}{\~v}% - \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}% - \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}% - % - \DeclareUnicodeCharacter{1E80}{\`W}% - \DeclareUnicodeCharacter{1E81}{\`w}% - \DeclareUnicodeCharacter{1E82}{\'W}% - \DeclareUnicodeCharacter{1E83}{\'w}% - \DeclareUnicodeCharacter{1E84}{\"W}% - \DeclareUnicodeCharacter{1E85}{\"w}% - \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}% - \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}% - \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}% - \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}% - \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}% - \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}% - \DeclareUnicodeCharacter{1E8C}{\"X}% - \DeclareUnicodeCharacter{1E8D}{\"x}% - \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}% - \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}% - % - \DeclareUnicodeCharacter{1E90}{\^Z}% - \DeclareUnicodeCharacter{1E91}{\^z}% - \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}% - \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}% - \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}% - \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}% - \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}% - \DeclareUnicodeCharacter{1E97}{\"t}% - \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}% - \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}% - % - \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}% - \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}% - % - \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}% - \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}% - \DeclareUnicodeCharacter{1EBC}{\~E}% - \DeclareUnicodeCharacter{1EBD}{\~e}% - % - \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}% - \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}% - \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}% - \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}% - % - \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}% - \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}% - % - \DeclareUnicodeCharacter{1EF2}{\`Y}% - \DeclareUnicodeCharacter{1EF3}{\`y}% - \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}% - % - \DeclareUnicodeCharacter{1EF8}{\~Y}% - \DeclareUnicodeCharacter{1EF9}{\~y}% - % - % Punctuation - \DeclareUnicodeCharacter{2013}{--}% - \DeclareUnicodeCharacter{2014}{---}% - \DeclareUnicodeCharacter{2018}{\quoteleft{}}% - \DeclareUnicodeCharacter{2019}{\quoteright{}}% - \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}% - \DeclareUnicodeCharacter{201C}{\quotedblleft{}}% - \DeclareUnicodeCharacter{201D}{\quotedblright{}}% - \DeclareUnicodeCharacter{201E}{\quotedblbase{}}% - \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}% - \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}% - \DeclareUnicodeCharacter{2022}{\bullet{}}% - \DeclareUnicodeCharacter{202F}{\thinspace}% - \DeclareUnicodeCharacter{2026}{\dots{}}% - \DeclareUnicodeCharacter{2039}{\guilsinglleft{}}% - \DeclareUnicodeCharacter{203A}{\guilsinglright{}}% - % - \DeclareUnicodeCharacter{20AC}{\euro{}}% - % - \DeclareUnicodeCharacter{2192}{\expansion{}}% - \DeclareUnicodeCharacter{21D2}{\result{}}% - % - % Mathematical symbols - \DeclareUnicodeCharacter{2200}{\ensuremath\forall}% - \DeclareUnicodeCharacter{2203}{\ensuremath\exists}% - \DeclareUnicodeCharacter{2208}{\ensuremath\in}% - \DeclareUnicodeCharacter{2212}{\minus{}}% - \DeclareUnicodeCharacter{2217}{\ast}% - \DeclareUnicodeCharacter{221E}{\ensuremath\infty}% - \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}% - \DeclareUnicodeCharacter{2227}{\ensuremath\wedge}% - \DeclareUnicodeCharacter{2229}{\ensuremath\cap}% - \DeclareUnicodeCharacter{2261}{\equiv{}}% - \DeclareUnicodeCharacter{2264}{\ensuremath\leq}% - \DeclareUnicodeCharacter{2265}{\ensuremath\geq}% - \DeclareUnicodeCharacter{2282}{\ensuremath\subset}% - \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}% - % - \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}% - \DeclareUnicodeCharacter{2032}{\ensuremath\prime}% - \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}% - \DeclareUnicodeCharacter{2111}{\ensuremath\Im}% - \DeclareUnicodeCharacter{2113}{\ensuremath\ell}% - \DeclareUnicodeCharacter{2118}{\ensuremath\wp}% - \DeclareUnicodeCharacter{211C}{\ensuremath\Re}% - \DeclareUnicodeCharacter{2135}{\ensuremath\aleph}% - \DeclareUnicodeCharacter{2190}{\ensuremath\leftarrow}% - \DeclareUnicodeCharacter{2191}{\ensuremath\uparrow}% - \DeclareUnicodeCharacter{2193}{\ensuremath\downarrow}% - \DeclareUnicodeCharacter{2194}{\ensuremath\leftrightarrow}% - \DeclareUnicodeCharacter{2195}{\ensuremath\updownarrow}% - \DeclareUnicodeCharacter{2196}{\ensuremath\nwarrow}% - \DeclareUnicodeCharacter{2197}{\ensuremath\nearrow}% - \DeclareUnicodeCharacter{2198}{\ensuremath\searrow}% - \DeclareUnicodeCharacter{2199}{\ensuremath\swarrow}% - \DeclareUnicodeCharacter{21A6}{\ensuremath\mapsto}% - \DeclareUnicodeCharacter{21A9}{\ensuremath\hookleftarrow}% - \DeclareUnicodeCharacter{21AA}{\ensuremath\hookrightarrow}% - \DeclareUnicodeCharacter{21BC}{\ensuremath\leftharpoonup}% - \DeclareUnicodeCharacter{21BD}{\ensuremath\leftharpoondown}% - \DeclareUnicodeCharacter{21C0}{\ensuremath\rightharpoonup}% - \DeclareUnicodeCharacter{21C1}{\ensuremath\rightharpoondown}% - \DeclareUnicodeCharacter{21CC}{\ensuremath\rightleftharpoons}% - \DeclareUnicodeCharacter{21D0}{\ensuremath\Leftarrow}% - \DeclareUnicodeCharacter{21D1}{\ensuremath\Uparrow}% - \DeclareUnicodeCharacter{21D3}{\ensuremath\Downarrow}% - \DeclareUnicodeCharacter{21D4}{\ensuremath\Leftrightarrow}% - \DeclareUnicodeCharacter{21D5}{\ensuremath\Updownarrow}% - \DeclareUnicodeCharacter{2202}{\ensuremath\partial}% - \DeclareUnicodeCharacter{2205}{\ensuremath\emptyset}% - \DeclareUnicodeCharacter{2207}{\ensuremath\nabla}% - \DeclareUnicodeCharacter{2209}{\ensuremath\notin}% - \DeclareUnicodeCharacter{220B}{\ensuremath\owns}% - \DeclareUnicodeCharacter{220F}{\ensuremath\prod}% - \DeclareUnicodeCharacter{2210}{\ensuremath\coprod}% - \DeclareUnicodeCharacter{2211}{\ensuremath\sum}% - \DeclareUnicodeCharacter{2213}{\ensuremath\mp}% - \DeclareUnicodeCharacter{2218}{\ensuremath\circ}% - \DeclareUnicodeCharacter{221A}{\ensuremath\surd}% - \DeclareUnicodeCharacter{221D}{\ensuremath\propto}% - \DeclareUnicodeCharacter{2220}{\ensuremath\angle}% - \DeclareUnicodeCharacter{2223}{\ensuremath\mid}% - \DeclareUnicodeCharacter{2228}{\ensuremath\vee}% - \DeclareUnicodeCharacter{222A}{\ensuremath\cup}% - \DeclareUnicodeCharacter{222B}{\ensuremath\smallint}% - \DeclareUnicodeCharacter{222E}{\ensuremath\oint}% - \DeclareUnicodeCharacter{223C}{\ensuremath\sim}% - \DeclareUnicodeCharacter{2240}{\ensuremath\wr}% - \DeclareUnicodeCharacter{2243}{\ensuremath\simeq}% - \DeclareUnicodeCharacter{2245}{\ensuremath\cong}% - \DeclareUnicodeCharacter{2248}{\ensuremath\approx}% - \DeclareUnicodeCharacter{224D}{\ensuremath\asymp}% - \DeclareUnicodeCharacter{2250}{\ensuremath\doteq}% - \DeclareUnicodeCharacter{2260}{\ensuremath\neq}% - \DeclareUnicodeCharacter{226A}{\ensuremath\ll}% - \DeclareUnicodeCharacter{226B}{\ensuremath\gg}% - \DeclareUnicodeCharacter{227A}{\ensuremath\prec}% - \DeclareUnicodeCharacter{227B}{\ensuremath\succ}% - \DeclareUnicodeCharacter{2283}{\ensuremath\supset}% - \DeclareUnicodeCharacter{2286}{\ensuremath\subseteq}% - \DeclareUnicodeCharacter{228E}{\ensuremath\uplus}% - \DeclareUnicodeCharacter{2291}{\ensuremath\sqsubseteq}% - \DeclareUnicodeCharacter{2292}{\ensuremath\sqsupseteq}% - \DeclareUnicodeCharacter{2293}{\ensuremath\sqcap}% - \DeclareUnicodeCharacter{2294}{\ensuremath\sqcup}% - \DeclareUnicodeCharacter{2295}{\ensuremath\oplus}% - \DeclareUnicodeCharacter{2296}{\ensuremath\ominus}% - \DeclareUnicodeCharacter{2297}{\ensuremath\otimes}% - \DeclareUnicodeCharacter{2298}{\ensuremath\oslash}% - \DeclareUnicodeCharacter{2299}{\ensuremath\odot}% - \DeclareUnicodeCharacter{22A2}{\ensuremath\vdash}% - \DeclareUnicodeCharacter{22A3}{\ensuremath\dashv}% - \DeclareUnicodeCharacter{22A4}{\ensuremath\ptextop}% - \DeclareUnicodeCharacter{22A5}{\ensuremath\bot}% - \DeclareUnicodeCharacter{22A8}{\ensuremath\models}% - \DeclareUnicodeCharacter{22C0}{\ensuremath\bigwedge}% - \DeclareUnicodeCharacter{22C1}{\ensuremath\bigvee}% - \DeclareUnicodeCharacter{22C2}{\ensuremath\bigcap}% - \DeclareUnicodeCharacter{22C3}{\ensuremath\bigcup}% - \DeclareUnicodeCharacter{22C4}{\ensuremath\diamond}% - \DeclareUnicodeCharacter{22C5}{\ensuremath\cdot}% - \DeclareUnicodeCharacter{22C6}{\ensuremath\star}% - \DeclareUnicodeCharacter{22C8}{\ensuremath\bowtie}% - \DeclareUnicodeCharacter{2308}{\ensuremath\lceil}% - \DeclareUnicodeCharacter{2309}{\ensuremath\rceil}% - \DeclareUnicodeCharacter{230A}{\ensuremath\lfloor}% - \DeclareUnicodeCharacter{230B}{\ensuremath\rfloor}% - \DeclareUnicodeCharacter{2322}{\ensuremath\frown}% - \DeclareUnicodeCharacter{2323}{\ensuremath\smile}% - % - \DeclareUnicodeCharacter{25B3}{\ensuremath\triangle}% - \DeclareUnicodeCharacter{25B7}{\ensuremath\triangleright}% - \DeclareUnicodeCharacter{25BD}{\ensuremath\bigtriangledown}% - \DeclareUnicodeCharacter{25C1}{\ensuremath\triangleleft}% - \DeclareUnicodeCharacter{25C7}{\ensuremath\diamond}% - \DeclareUnicodeCharacter{2660}{\ensuremath\spadesuit}% - \DeclareUnicodeCharacter{2661}{\ensuremath\heartsuit}% - \DeclareUnicodeCharacter{2662}{\ensuremath\diamondsuit}% - \DeclareUnicodeCharacter{2663}{\ensuremath\clubsuit}% - \DeclareUnicodeCharacter{266D}{\ensuremath\flat}% - \DeclareUnicodeCharacter{266E}{\ensuremath\natural}% - \DeclareUnicodeCharacter{266F}{\ensuremath\sharp}% - \DeclareUnicodeCharacter{26AA}{\ensuremath\bigcirc}% - \DeclareUnicodeCharacter{27B9}{\ensuremath\rangle}% - \DeclareUnicodeCharacter{27C2}{\ensuremath\perp}% - \DeclareUnicodeCharacter{27E8}{\ensuremath\langle}% - \DeclareUnicodeCharacter{27F5}{\ensuremath\longleftarrow}% - \DeclareUnicodeCharacter{27F6}{\ensuremath\longrightarrow}% - \DeclareUnicodeCharacter{27F7}{\ensuremath\longleftrightarrow}% - \DeclareUnicodeCharacter{27FC}{\ensuremath\longmapsto}% - \DeclareUnicodeCharacter{29F5}{\ensuremath\setminus}% - \DeclareUnicodeCharacter{2A00}{\ensuremath\bigodot}% - \DeclareUnicodeCharacter{2A01}{\ensuremath\bigoplus}% - \DeclareUnicodeCharacter{2A02}{\ensuremath\bigotimes}% - \DeclareUnicodeCharacter{2A04}{\ensuremath\biguplus}% - \DeclareUnicodeCharacter{2A06}{\ensuremath\bigsqcup}% - \DeclareUnicodeCharacter{2A3F}{\ensuremath\amalg}% - \DeclareUnicodeCharacter{2AAF}{\ensuremath\preceq}% - \DeclareUnicodeCharacter{2AB0}{\ensuremath\succeq}% - % - \global\mathchardef\checkmark="1370% actually the square root sign - \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}% -}% end of \unicodechardefs - -% UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command) -% It makes the setting that replace UTF-8 byte sequence. -\def\utfeightchardefs{% - \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterUTFviii - \unicodechardefs -} - -% Whether the active definitions of non-ASCII characters expand to -% non-active tokens with the same character code. This is used to -% write characters literally, instead of using active definitions for -% printing the correct glyphs. -\newif\ifpassthroughchars -\passthroughcharsfalse - -% For native Unicode handling (XeTeX and LuaTeX), -% provide a definition macro to replace/pass-through a Unicode character -% -\def\DeclareUnicodeCharacterNative#1#2{% - \catcode"#1=\active - \def\dodeclareunicodecharacternative##1##2##3{% - \begingroup - \uccode`\~="##2\relax - \uppercase{\gdef~}{% - \ifpassthroughchars - ##1% - \else - ##3% - \fi - } - \endgroup - } - \begingroup - \uccode`\.="#1\relax - \uppercase{\def\UTFNativeTmp{.}}% - \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}% - \endgroup -} - -% Native Unicode handling (XeTeX and LuaTeX) character replacing definition. -% It activates the setting that replaces Unicode characters. -\def\nativeunicodechardefs{% - \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNative - \unicodechardefs -} - -% For native Unicode handling (XeTeX and LuaTeX), -% make the character token expand -% to the sequences given in \unicodechardefs for printing. -\def\DeclareUnicodeCharacterNativeAtU#1#2{% - \def\UTFAtUTmp{#2} - \expandafter\globallet\csname uni:#1\endcsname \UTFAtUTmp -} - -% @U command definitions for native Unicode handling (XeTeX and LuaTeX). -\def\nativeunicodechardefsatu{% - \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeAtU - \unicodechardefs -} - -% US-ASCII character definitions. -\def\asciichardefs{% nothing need be done - \relax -} - -% Define all Unicode characters we know about. This makes UTF-8 the default -% input encoding and allows @U to work. -\iftxinativeunicodecapable - \nativeunicodechardefsatu -\else - \utfeightchardefs -\fi - -\message{formatting,} - -\newdimen\defaultparindent \defaultparindent = 15pt - -\chapheadingskip = 15pt plus 4pt minus 2pt -\secheadingskip = 12pt plus 3pt minus 2pt -\subsecheadingskip = 9pt plus 2pt minus 2pt - -% Prevent underfull vbox error messages. -\vbadness = 10000 - -% Don't be very finicky about underfull hboxes, either. -\hbadness = 6666 - -% Following George Bush, get rid of widows and orphans. -\widowpenalty=10000 -\clubpenalty=10000 - -% Use TeX 3.0's \emergencystretch to help line breaking, but if we're -% using an old version of TeX, don't do anything. We want the amount of -% stretch added to depend on the line length, hence the dependence on -% \hsize. We call this whenever the paper size is set. -% -\def\setemergencystretch{% - \ifx\emergencystretch\thisisundefined - % Allow us to assign to \emergencystretch anyway. - \def\emergencystretch{\dimen0}% - \else - \emergencystretch = .15\hsize - \fi -} - -% Parameters in order: 1) textheight; 2) textwidth; -% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; -% 7) physical page height; 8) physical page width. -% -% We also call \setleading{\textleading}, so the caller should define -% \textleading. The caller should also set \parskip. -% -\def\internalpagesizes#1#2#3#4#5#6#7#8{% - \voffset = #3\relax - \topskip = #6\relax - \splittopskip = \topskip - % - \vsize = #1\relax - \advance\vsize by \topskip - \outervsize = \vsize - \advance\outervsize by 2\topandbottommargin - \txipageheight = \vsize - % - \hsize = #2\relax - \outerhsize = \hsize - \advance\outerhsize by 0.5in - \txipagewidth = \hsize - % - \normaloffset = #4\relax - \bindingoffset = #5\relax - % - \ifpdf - \pdfpageheight #7\relax - \pdfpagewidth #8\relax - % if we don't reset these, they will remain at "1 true in" of - % whatever layout pdftex was dumped with. - \pdfhorigin = 1 true in - \pdfvorigin = 1 true in - \else - \ifx\XeTeXrevision\thisisundefined - \special{papersize=#8,#7}% - \else - \pdfpageheight #7\relax - \pdfpagewidth #8\relax - % XeTeX does not have \pdfhorigin and \pdfvorigin. - \fi - \fi - % - \setleading{\textleading} - % - \parindent = \defaultparindent - \setemergencystretch -} - -% @letterpaper (the default). -\def\letterpaper{{\globaldefs = 1 - \parskip = 3pt plus 2pt minus 1pt - \textleading = 13.2pt - % - % If page is nothing but text, make it come out even. - \internalpagesizes{607.2pt}{6in}% that's 46 lines - {\voffset}{.25in}% - {\bindingoffset}{36pt}% - {11in}{8.5in}% -}} - -% Use @smallbook to reset parameters for 7x9.25 trim size. -\def\smallbook{{\globaldefs = 1 - \parskip = 2pt plus 1pt - \textleading = 12pt - % - \internalpagesizes{7.5in}{5in}% - {-.2in}{0in}% - {\bindingoffset}{16pt}% - {9.25in}{7in}% - % - \lispnarrowing = 0.3in - \tolerance = 700 - \contentsrightmargin = 0pt - \defbodyindent = .5cm -}} - -% Use @afourpaper to print on European A4 paper. -\def\afourpaper{{\globaldefs = 1 - \parskip = 3pt plus 2pt minus 1pt - \textleading = 13.2pt - % - % Double-side printing via postscript on Laserjet 4050 - % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. - % To change the settings for a different printer or situation, adjust - % \normaloffset until the front-side and back-side texts align. Then - % do the same for \bindingoffset. You can set these for testing in - % your texinfo source file like this: - % @tex - % \global\normaloffset = -6mm - % \global\bindingoffset = 10mm - % @end tex - \internalpagesizes{673.2pt}{160mm}% that's 51 lines - {\voffset}{\hoffset}% - {\bindingoffset}{44pt}% - {297mm}{210mm}% - % - \tolerance = 700 - \contentsrightmargin = 0pt - \defbodyindent = 5mm -}} - -% Use @afivepaper to print on European A5 paper. -% From romildo@urano.iceb.ufop.br, 2 July 2000. -% He also recommends making @example and @lisp be small. -\def\afivepaper{{\globaldefs = 1 - \parskip = 2pt plus 1pt minus 0.1pt - \textleading = 12.5pt - % - \internalpagesizes{160mm}{120mm}% - {\voffset}{\hoffset}% - {\bindingoffset}{8pt}% - {210mm}{148mm}% - % - \lispnarrowing = 0.2in - \tolerance = 800 - \contentsrightmargin = 0pt - \defbodyindent = 2mm - \tableindent = 12mm -}} - -% A specific text layout, 24x15cm overall, intended for A4 paper. -\def\afourlatex{{\globaldefs = 1 - \afourpaper - \internalpagesizes{237mm}{150mm}% - {\voffset}{4.6mm}% - {\bindingoffset}{7mm}% - {297mm}{210mm}% - % - % Must explicitly reset to 0 because we call \afourpaper. - \globaldefs = 0 -}} - -% Use @afourwide to print on A4 paper in landscape format. -\def\afourwide{{\globaldefs = 1 - \afourpaper - \internalpagesizes{241mm}{165mm}% - {\voffset}{-2.95mm}% - {\bindingoffset}{7mm}% - {297mm}{210mm}% - \globaldefs = 0 -}} - -\def\bsixpaper{{\globaldefs = 1 - \afourpaper - \internalpagesizes{140mm}{100mm}% - {-6.35mm}{-12.7mm}% - {\bindingoffset}{14pt}% - {176mm}{125mm}% - \let\SETdispenvsize=\smallword - \lispnarrowing = 0.2in - \globaldefs = 0 -}} - - -% @pagesizes TEXTHEIGHT[,TEXTWIDTH] -% Perhaps we should allow setting the margins, \topskip, \parskip, -% and/or leading, also. Or perhaps we should compute them somehow. -% -\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} -\def\pagesizesyyy#1,#2,#3\finish{{% - \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi - \globaldefs = 1 - % - \parskip = 3pt plus 2pt minus 1pt - \setleading{\textleading}% - % - \dimen0 = #1\relax - \advance\dimen0 by 2.5in % default 1in margin above heading line - % and 1.5in to include heading, footing and - % bottom margin - % - \dimen2 = \hsize - \advance\dimen2 by 2in % default to 1 inch margin on each side - % - \internalpagesizes{#1}{\hsize}% - {\voffset}{\normaloffset}% - {\bindingoffset}{44pt}% - {\dimen0}{\dimen2}% -}} - -% Set default to letter. -% -\letterpaper - -% Default value of \hfuzz, for suppressing warnings about overfull hboxes. -\hfuzz = 1pt - - -\message{and turning on texinfo input format.} - -\def^^L{\par} % remove \outer, so ^L can appear in an @comment - -% DEL is a comment character, in case @c does not suffice. -\catcode`\^^? = 14 - -% Define macros to output various characters with catcode for normal text. -\catcode`\"=\other \def\normaldoublequote{"} -\catcode`\$=\other \def\normaldollar{$}%$ font-lock fix -\catcode`\+=\other \def\normalplus{+} -\catcode`\<=\other \def\normalless{<} -\catcode`\>=\other \def\normalgreater{>} -\catcode`\^=\other \def\normalcaret{^} -\catcode`\_=\other \def\normalunderscore{_} -\catcode`\|=\other \def\normalverticalbar{|} -\catcode`\~=\other \def\normaltilde{~} - -% This macro is used to make a character print one way in \tt -% (where it can probably be output as-is), and another way in other fonts, -% where something hairier probably needs to be done. -% -% #1 is what to print if we are indeed using \tt; #2 is what to print -% otherwise. Since all the Computer Modern typewriter fonts have zero -% interword stretch (and shrink), and it is reasonable to expect all -% typewriter fonts to have this, we can check that font parameter. -% -\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} - -% Same as above, but check for italic font. Actually this also catches -% non-italic slanted fonts since it is impossible to distinguish them from -% italic fonts. But since this is only used by $ and it uses \sl anyway -% this is not a problem. -\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} - -% Set catcodes for Texinfo file - -% Active characters for printing the wanted glyph. -% Most of these we simply print from the \tt font, but for some, we can -% use math or other variants that look better in normal text. -% -\catcode`\"=\active -\def\activedoublequote{{\tt\char34}} -\let"=\activedoublequote -\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde -\chardef\hatchar=`\^ -\catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat - -\catcode`\_=\active -\def_{\ifusingtt\normalunderscore\_} -\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } -\let\realunder=_ - -\catcode`\|=\active \def|{{\tt\char124}} - -\chardef \less=`\< -\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless -\chardef \gtr=`\> -\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr -\catcode`\+=\active \def+{{\tt \char 43}} -\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix -\catcode`\-=\active \let-=\normaldash - - -% used for headline/footline in the output routine, in case the page -% breaks in the middle of an @tex block. -\def\texinfochars{% - \let< = \activeless - \let> = \activegtr - \let~ = \activetilde - \let^ = \activehat - \setregularquotes - \let\b = \strong - \let\i = \smartitalic - % in principle, all other definitions in \tex have to be undone too. -} - -% Used sometimes to turn off (effectively) the active characters even after -% parsing them. -\def\turnoffactive{% - \normalturnoffactive - \otherbackslash -} - -\catcode`\@=0 - -% \backslashcurfont outputs one backslash character in current font, -% as in \char`\\. -\global\chardef\backslashcurfont=`\\ - -% \realbackslash is an actual character `\' with catcode other. -{\catcode`\\=\other @gdef@realbackslash{\}} - -% In Texinfo, backslash is an active character; it prints the backslash -% in fixed width font. -\catcode`\\=\active % @ for escape char from now on. - -% Print a typewriter backslash. For math mode, we can't simply use -% \backslashcurfont: the story here is that in math mode, the \char -% of \backslashcurfont ends up printing the roman \ from the math symbol -% font (because \char in math mode uses the \mathcode, and plain.tex -% sets \mathcode`\\="026E). Hence we use an explicit \mathchar, -% which is the decimal equivalent of "715c (class 7, e.g., use \fam; -% ignored family value; char position "5C). We can't use " for the -% usual hex value because it has already been made active. - -@def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} -@let@backslashchar = @ttbackslash % @backslashchar{} is for user documents. - -% \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. -@gdef@otherbackslash{@let\=@realbackslash} - -% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -{@catcode`- = @active - @gdef@normalturnoffactive{% - @passthroughcharstrue - @let-=@normaldash - @let"=@normaldoublequote - @let$=@normaldollar %$ font-lock fix - @let+=@normalplus - @let<=@normalless - @let>=@normalgreater - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let~=@normaltilde - @let\=@ttbackslash - @setregularquotes - @unsepspaces - } -} - -% If a .fmt file is being used, characters that might appear in a file -% name cannot be active until we have parsed the command line. -% So turn them off again, and have @fixbackslash turn them back on. -@catcode`+=@other @catcode`@_=@other - -% \enablebackslashhack - allow file to begin `\input texinfo' -% -% If a .fmt file is being used, we don't want the `\input texinfo' to show up. -% That is what \eatinput is for; after that, the `\' should revert to printing -% a backslash. -% If the file did not have a `\input texinfo', then it is turned off after -% the first line; otherwise the first `\' in the file would cause an error. -% This is used on the very last line of this file, texinfo.tex. -% We also use @c to call @fixbackslash, in case ends of lines are hidden. -{ -@catcode`@^=7 -@catcode`@^^M=13@gdef@enablebackslashhack{% - @global@let\ = @eatinput% - @catcode`@^^M=13% - @def@c{@fixbackslash@c}% - % Definition for the newline at the end of this file. - @def ^^M{@let^^M@secondlinenl}% - % Definition for a newline in the main Texinfo file. - @gdef @secondlinenl{@fixbackslash}% - % In case the first line has a whole-line command on it - @let@originalparsearg@parsearg - @def@parsearg{@fixbackslash@originalparsearg} -}} - -{@catcode`@^=7 @catcode`@^^M=13% -@gdef@eatinput input texinfo#1^^M{@fixbackslash}} - -% Emergency active definition of newline, in case an active newline token -% appears by mistake. -{@catcode`@^=7 @catcode13=13% -@gdef@enableemergencynewline{% - @gdef^^M{% - @par% - %<warning: active newline>@par% -}}} - - -@gdef@fixbackslash{% - @ifx\@eatinput @let\ = @ttbackslash @fi - @catcode13=5 % regular end of line - @enableemergencynewline - @let@c=@comment - @let@parsearg@originalparsearg - % Also turn back on active characters that might appear in the input - % file name, in case not using a pre-dumped format. - @catcode`+=@active - @catcode`@_=@active - % - % If texinfo.cnf is present on the system, read it. - % Useful for site-wide @afourpaper, etc. This macro, @fixbackslash, gets - % called at the beginning of every Texinfo file. Not opening texinfo.cnf - % directly in this file, texinfo.tex, makes it possible to make a format - % file for Texinfo. - % - @openin 1 texinfo.cnf - @ifeof 1 @else @input texinfo.cnf @fi - @closein 1 -} - - -% Say @foo, not \foo, in error messages. -@escapechar = `@@ - -% These (along with & and #) are made active for url-breaking, so need -% active definitions as the normal characters. -@def@normaldot{.} -@def@normalquest{?} -@def@normalslash{/} - -% These look ok in all fonts, so just make them not special. -% @hashchar{} gets its own user-level command, because of #line. -@catcode`@& = @other @def@normalamp{&} -@catcode`@# = @other @def@normalhash{#} -@catcode`@% = @other @def@normalpercent{%} - -@let @hashchar = @normalhash - -@c Finally, make ` and ' active, so that txicodequoteundirected and -@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we -@c don't make ` and ' active, @code will not get them as active chars. -@c Do this last of all since we use ` in the previous @catcode assignments. -@catcode`@'=@active -@catcode`@`=@active -@setregularquotes - -@c Local variables: -@c eval: (add-hook 'before-save-hook 'time-stamp nil t) -@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}" -@c page-delimiter: "^\\\\message\\|emacs-page" -@c End: - -@c vim:sw=2: - -@enablebackslashhack - diff --git a/BUILD/libtool-2.4.7/build-aux/update-copyright b/BUILD/libtool-2.4.7/build-aux/update-copyright deleted file mode 100755 index 81b691e..0000000 --- a/BUILD/libtool-2.4.7/build-aux/update-copyright +++ /dev/null @@ -1,302 +0,0 @@ -#!/bin/sh -#! -*-perl-*- - -# Update an FSF copyright year list to include the current year. - -# Copyright (C) 2009-2022 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. -# -# Written by Jim Meyering and Joel E. Denny - -# This script updates an FSF copyright year list to include the current year. -# Usage: update-copyright [FILE...] -# -# The arguments to this script should be names of files that contain -# copyright statements to be updated. The copyright holder's name -# defaults to "Free Software Foundation, Inc." but may be changed to -# any other name by using the "UPDATE_COPYRIGHT_HOLDER" environment -# variable. -# -# For example, you might wish to use the update-copyright target rule -# in maint.mk from gnulib's maintainer-makefile module. -# -# Iff a copyright statement is recognized in a file and the final -# year is not the current year, then the statement is updated for the -# new year and it is reformatted to: -# -# 1. Fit within 72 columns. -# 2. Convert 2-digit years to 4-digit years by prepending "19". -# 3. Expand copyright year intervals. (See "Environment variables" -# below.) -# -# A warning is printed for every file for which no copyright -# statement is recognized. -# -# Each file's copyright statement must be formatted correctly in -# order to be recognized. For example, each of these is fine: -# -# Copyright @copyright{} 1990-2005, 2007-2009 Free Software -# Foundation, Inc. -# -# # Copyright (C) 1990-2005, 2007-2009 Free Software -# # Foundation, Inc. -# -# /* -# * Copyright © 90,2005,2007-2009 -# * Free Software Foundation, Inc. -# */ -# -# However, the following format is not recognized because the line -# prefix changes after the first line: -# -# ## Copyright (C) 1990-2005, 2007-2009 Free Software -# # Foundation, Inc. -# -# However, any correctly formatted copyright statement following -# a non-matching copyright statements would be recognized. -# -# The exact conditions that a file's copyright statement must meet -# to be recognized are: -# -# 1. It is the first copyright statement that meets all of the -# following conditions. Subsequent copyright statements are -# ignored. -# 2. Its format is "Copyright (C)", then a list of copyright years, -# and then the name of the copyright holder. -# 3. The "(C)" takes one of the following forms or is omitted -# entirely: -# -# A. (C) -# B. (c) -# C. @copyright{} -# D. © -# E. © -# -# 4. The "Copyright" appears at the beginning of a line, except that it -# may be prefixed by any sequence (e.g., a comment) of no more than -# 5 characters -- including white space. -# 5. Iff such a prefix is present, the same prefix appears at the -# beginning of each remaining line within the FSF copyright -# statement. There is one exception in order to support C-style -# comments: if the first line's prefix contains nothing but -# whitespace surrounding a "/*", then the prefix for all subsequent -# lines is the same as the first line's prefix except with each of -# "/" and possibly "*" replaced by a " ". The replacement of "*" -# by " " is consistent throughout all subsequent lines. -# 6. Blank lines, even if preceded by the prefix, do not appear -# within the FSF copyright statement. -# 7. Each copyright year is 2 or 4 digits, and years are separated by -# commas, "-", or "--". Whitespace may appear after commas. -# -# Environment variables: -# -# 1. If UPDATE_COPYRIGHT_FORCE=1, a recognized FSF copyright statement -# is reformatted even if it does not need updating for the new -# year. If unset or set to 0, only updated FSF copyright -# statements are reformatted. -# 2. If UPDATE_COPYRIGHT_USE_INTERVALS=1, every series of consecutive -# copyright years (such as 90, 1991, 1992-2007, 2008) in a -# reformatted FSF copyright statement is collapsed to a single -# interval (such as 1990-2008). If unset or set to 0, all existing -# copyright year intervals in a reformatted FSF copyright statement -# are expanded instead. -# If UPDATE_COPYRIGHT_USE_INTERVALS=2, convert a sequence with gaps -# to the minimal containing range. For example, convert -# 2000, 2004-2007, 2009 to 2000-2009. -# 3. For testing purposes, you can set the assumed current year in -# UPDATE_COPYRIGHT_YEAR. -# 4. The default maximum line length for a copyright line is 72. -# Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH to use a different length. -# 5. Set UPDATE_COPYRIGHT_HOLDER if the copyright holder is other -# than "Free Software Foundation, Inc.". - -# This is a prologue that allows to run a perl script as an executable -# on systems that are compliant to a POSIX version before POSIX:2017. -# On such systems, the usual invocation of an executable through execlp() -# or execvp() fails with ENOEXEC if it is a script that does not start -# with a #! line. The script interpreter mentioned in the #! line has -# to be /bin/sh, because on GuixSD systems that is the only program that -# has a fixed file name. The second line is essential for perl and is -# also useful for editing this file in Emacs. The next two lines below -# are valid code in both sh and perl. When executed by sh, they re-execute -# the script through the perl program found in $PATH. The '-x' option -# is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. -eval 'exec perl -wSx -0777 -pi "$0" "$@"' - if 0; - -my $VERSION = '2020-04-04.15:07'; # UTC -# The definition above must lie within the first 8 lines in order -# for the Emacs time-stamp write hook (at end) to update it. -# If you change this file with Emacs, please let the write hook -# do its job. Otherwise, update this string manually. - -use strict; -use warnings; - -my $copyright_re = 'Copyright'; -my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©|©)'; -my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; -$holder ||= 'Free Software Foundation, Inc.'; -my $prefix_max = 5; -my $margin = $ENV{UPDATE_COPYRIGHT_MAX_LINE_LENGTH}; -!$margin || $margin !~ m/^\d+$/ - and $margin = 72; - -my $tab_width = 8; - -my $this_year = $ENV{UPDATE_COPYRIGHT_YEAR}; -if (!$this_year || $this_year !~ m/^\d{4}$/) - { - my ($sec, $min, $hour, $mday, $month, $year) = localtime (time ()); - $this_year = $year + 1900; - } - -# Unless the file consistently uses "\r\n" as the EOL, use "\n" instead. -my $eol = /(?:^|[^\r])\n/ ? "\n" : "\r\n"; - -my $leading; -my $prefix; -my $ws_re; -my $stmt_re; -while (/(^|\n)(.{0,$prefix_max})$copyright_re/g) - { - $leading = "$1$2"; - $prefix = $2; - if ($prefix =~ /^(\s*\/)\*(\s*)$/) - { - $prefix =~ s,/, ,; - my $prefix_ws = $prefix; - $prefix_ws =~ s/\*/ /; # Only whitespace. - if (/\G(?:[^*\n]|\*[^\/\n])*\*?\n$prefix_ws/) - { - $prefix = $prefix_ws; - } - } - $ws_re = '[ \t\r\f]'; # \s without \n - $ws_re = - "(?:$ws_re*(?:$ws_re|\\n" . quotemeta($prefix) . ")$ws_re*)"; - my $holder_re = $holder; - $holder_re =~ s/\s/$ws_re/g; - my $stmt_remainder_re = - "(?:$ws_re$circle_c_re)?" - . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|--?))*" - . "((?:\\d\\d)?\\d\\d)$ws_re$holder_re"; - if (/\G$stmt_remainder_re/) - { - $stmt_re = - quotemeta($leading) . "($copyright_re$stmt_remainder_re)"; - last; - } - } -if (defined $stmt_re) - { - /$stmt_re/ or die; # Should never die. - my $stmt = $1; - my $final_year_orig = $2; - - # Handle two-digit year numbers like "98" and "99". - my $final_year = $final_year_orig; - $final_year <= 99 - and $final_year += 1900; - - if ($final_year != $this_year) - { - # Update the year. - $stmt =~ s/\b$final_year_orig\b/$final_year, $this_year/; - } - if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'}) - { - # Normalize all whitespace including newline-prefix sequences. - $stmt =~ s/$ws_re/ /g; - - # Put spaces after commas. - $stmt =~ s/, ?/, /g; - - # Convert 2-digit to 4-digit years. - $stmt =~ s/(\b\d\d\b)/19$1/g; - - # Make the use of intervals consistent. - if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS}) - { - $stmt =~ s/(\d{4})--?(\d{4})/join(', ', $1..$2)/eg; - } - else - { - my $ndash = $ARGV =~ /\.tex(i(nfo)?)?$/ ? "--" : "-"; - - $stmt =~ - s/ - (\d{4}) - (?: - (,\ |--?) - ((??{ - if ($2 ne ', ') { '\d{4}'; } - elsif (!$3) { $1 + 1; } - else { $3 + 1; } - })) - )+ - /$1$ndash$3/gx; - - # When it's 2, emit a single range encompassing all year numbers. - $ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2 - and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1$ndash$2/; - } - - # Format within margin. - my $stmt_wrapped; - my $text_margin = $margin - length($prefix); - if ($prefix =~ /^(\t+)/) - { - $text_margin -= length($1) * ($tab_width - 1); - } - while (length $stmt) - { - if (($stmt =~ s/^(.{1,$text_margin})(?: |$)//) - || ($stmt =~ s/^([\S]+)(?: |$)//)) - { - my $line = $1; - $stmt_wrapped .= $stmt_wrapped ? "$eol$prefix" : $leading; - $stmt_wrapped .= $line; - } - else - { - # Should be unreachable, but we don't want an infinite - # loop if it can be reached. - die; - } - } - - # Replace the old copyright statement. - s/$stmt_re/$stmt_wrapped/; - } - } -else - { - print STDERR "$ARGV: warning: copyright statement not found\n"; - } - -# Hey Emacs! -# Local variables: -# coding: utf-8 -# mode: perl -# indent-tabs-mode: nil -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-line-limit: 200 -# time-stamp-start: "my $VERSION = '" -# time-stamp-format: "%:y-%02m-%02d.%02H:%02M" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "'; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/build-aux/useless-if-before-free b/BUILD/libtool-2.4.7/build-aux/useless-if-before-free deleted file mode 100755 index 1a027a5..0000000 --- a/BUILD/libtool-2.4.7/build-aux/useless-if-before-free +++ /dev/null @@ -1,240 +0,0 @@ -#!/bin/sh -#! -*-perl-*- - -# Detect instances of "if (p) free (p);". -# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces. - -# Copyright (C) 2008-2022 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. -# -# Written by Jim Meyering - -# This is a prologue that allows to run a perl script as an executable -# on systems that are compliant to a POSIX version before POSIX:2017. -# On such systems, the usual invocation of an executable through execlp() -# or execvp() fails with ENOEXEC if it is a script that does not start -# with a #! line. The script interpreter mentioned in the #! line has -# to be /bin/sh, because on GuixSD systems that is the only program that -# has a fixed file name. The second line is essential for perl and is -# also useful for editing this file in Emacs. The next two lines below -# are valid code in both sh and perl. When executed by sh, they re-execute -# the script through the perl program found in $PATH. The '-x' option -# is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. -eval 'exec perl -wSx "$0" "$@"' - if 0; - -my $VERSION = '2022-01-27 18:51'; # UTC -# The definition above must lie within the first 8 lines in order -# for the Emacs time-stamp write hook (at end) to update it. -# If you change this file with Emacs, please let the write hook -# do its job. Otherwise, update this string manually. - -my $copyright_year = '2022'; - -use strict; -use warnings; -use Getopt::Long; - -(my $ME = $0) =~ s|.*/||; - -# use File::Coda; # https://meyering.net/code/Coda/ -END { - defined fileno STDOUT or return; - close STDOUT and return; - warn "$ME: failed to close standard output: $!\n"; - $? ||= 1; -} - -sub usage ($) -{ - my ($exit_code) = @_; - my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); - if ($exit_code != 0) - { - print $STREAM "Try '$ME --help' for more information.\n"; - } - else - { - print $STREAM <<EOF; -Usage: $ME [OPTIONS] FILE... - -Detect any instance in FILE of a useless "if" test before a free call, e.g., -"if (p) free (p);". Any such test may be safely removed without affecting -the semantics of the C code in FILE. Use --name=FOO --name=BAR to also -detect free-like functions named FOO and BAR. - -OPTIONS: - - --list print only the name of each matching FILE (\\0-terminated) - --name=N add name N to the list of \'free\'-like functions to detect; - may be repeated - - --help display this help and exit - --version output version information and exit - -Exit status: - - 0 one or more matches - 1 no match - 2 an error - -EXAMPLE: - -For example, this command prints all removable "if" tests before "free" -and "kfree" calls in the linux kernel sources: - - git ls-files -z |xargs -0 $ME --name=kfree - -EOF - } - exit $exit_code; -} - -sub is_NULL ($) -{ - my ($expr) = @_; - return ($expr eq 'NULL' || $expr eq '0'); -} - -{ - sub EXIT_MATCH {0} - sub EXIT_NO_MATCH {1} - sub EXIT_ERROR {2} - my $err = EXIT_NO_MATCH; - - my $list; - my @name = qw(free); - GetOptions - ( - help => sub { usage 0 }, - version => - sub - { - print "$ME version $VERSION\n"; - print "Copyright (C) $copyright_year Free Software Foundation, Inc.\n"; - print "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\n" - . "This is free software: you are free to change and redistribute it.\n" - . "There is NO WARRANTY, to the extent permitted by law.\n"; - print "\n"; - my $author = "Jim Meyering"; - print "Written by $author.\n"; - exit - }, - list => \$list, - 'name=s@' => \@name, - ) or usage 1; - - # Make sure we have the right number of non-option arguments. - # Always tell the user why we fail. - @ARGV < 1 - and (warn "$ME: missing FILE argument\n"), usage EXIT_ERROR; - - my $or = join '|', @name; - my $regexp = qr/(?:$or)/; - - # Set the input record separator. - # Note: this makes it impractical to print line numbers. - $/ = '"'; - - my $found_match = 0; - FILE: - foreach my $file (@ARGV) - { - open FH, '<', $file - or (warn "$ME: can't open '$file' for reading: $!\n"), - $err = EXIT_ERROR, next; - while (defined (my $line = <FH>)) - { - # Skip non-matching lines early to save time - $line =~ /\bif\b/ - or next; - while ($line =~ - /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\) - # 1 2 3 - (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;| - \s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg) - { - my $all = $1; - my ($lhs, $rhs) = ($2, $3); - my ($free_opnd, $braced_free_opnd) = ($4, $5); - my $non_NULL; - if (!defined $rhs) { $non_NULL = $lhs } - elsif (is_NULL $rhs) { $non_NULL = $lhs } - elsif (is_NULL $lhs) { $non_NULL = $rhs } - else { next } - - # Compare the non-NULL part of the "if" expression and the - # free'd expression, without regard to white space. - $non_NULL =~ tr/ \t//d; - my $e2 = defined $free_opnd ? $free_opnd : $braced_free_opnd; - $e2 =~ tr/ \t//d; - if ($non_NULL eq $e2) - { - $found_match = 1; - $list - and (print "$file\0"), next FILE; - print "$file: $all\n"; - } - } - } - } - continue - { - close FH; - } - - $found_match && $err == EXIT_NO_MATCH - and $err = EXIT_MATCH; - - exit $err; -} - -my $foo = <<'EOF'; -# The above is to *find* them. -# This adjusts them, removing the unnecessary "if (p)" part. - -# FIXME: do something like this as an option (doesn't do braces): -free=xfree -git grep -l -z "$free *(" \ - | xargs -0 useless-if-before-free -l --name="$free" \ - | xargs -0 perl -0x3b -pi -e \ - 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\)\s*;)/$2/s' - -# Use the following to remove redundant uses of kfree inside braces. -# Note that -0777 puts perl in slurp-whole-file mode; -# but we have plenty of memory, these days... -free=kfree -git grep -l -z "$free *(" \ - | xargs -0 useless-if-before-free -l --name="$free" \ - | xargs -0 perl -0777 -pi -e \ - 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s*\{\s*('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\);)\s*\}[^\n]*$/$2/gms' - -Be careful that the result of the above transformation is valid. -If the matched string is followed by "else", then obviously, it won't be. - -When modifying files, refuse to process anything other than a regular file. -EOF - -## Local Variables: -## mode: perl -## indent-tabs-mode: nil -## eval: (add-hook 'before-save-hook 'time-stamp) -## time-stamp-line-limit: 50 -## time-stamp-start: "my $VERSION = '" -## time-stamp-format: "%:y-%02m-%02d %02H:%02M" -## time-stamp-time-zone: "UTC0" -## time-stamp-end: "'; # UTC" -## End: diff --git a/BUILD/libtool-2.4.7/build-aux/vc-list-files b/BUILD/libtool-2.4.7/build-aux/vc-list-files deleted file mode 100755 index 77750b9..0000000 --- a/BUILD/libtool-2.4.7/build-aux/vc-list-files +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/sh -# List version-controlled file names. - -# Print a version string. -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 2006-2022 Free Software Foundation, Inc. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - - -# List the specified version-controlled files. -# With no argument, list them all. With a single DIRECTORY argument, -# list the version-controlled files in that directory. - -# If there's an argument, it must be a single, "."-relative directory name. -# cvsu is part of the cvsutils package: https://www.red-bean.com/cvsutils/ - -postprocess= -case $1 in - --help) cat <<EOF -Usage: $0 [-C SRCDIR] [DIR...] - -Output a list of version-controlled files in DIR (default .), relative to -SRCDIR (default .). SRCDIR must be the top directory of a checkout. - -Options: - --help print this help, then exit - --version print version number, then exit - -C SRCDIR change directory to SRCDIR before generating list - -Report bugs and patches to <bug-gnulib@gnu.org>. -EOF - exit ;; - - --version) - year=`echo "$scriptversion" | sed 's/[^0-9].*//'` - cat <<EOF -vc-list-files $scriptversion -Copyright (C) $year Free Software Foundation, Inc, -License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit ;; - - -C) - test "$2" = . || postprocess="| sed 's|^|$2/|'" - cd "$2" || exit 1 - shift; shift ;; -esac - -test $# = 0 && set . - -for dir -do - if test -d .git || test -f .git; then - test "x$dir" = x. \ - && dir= sed_esc= \ - || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } - # Ignore git symlinks - either they point into the tree, in which case - # we don't need to visit the target twice, or they point somewhere - # else (often into a submodule), in which case the content does not - # belong to this package. - eval exec git ls-tree -r 'HEAD:"$dir"' \ - \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess - elif test -d .hg; then - eval exec hg locate '"$dir/*"' $postprocess - elif test -d .bzr; then - test "$postprocess" = '' && postprocess="| sed 's|^\./||'" - eval exec bzr ls -R --versioned '"$dir"' $postprocess - elif test -d CVS; then - test "$postprocess" = '' && postprocess="| sed 's|^\./||'" - if test -x build-aux/cvsu; then - eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess - elif (cvsu --help) >/dev/null 2>&1; then - eval cvsu --find --types=AFGM '"$dir"' $postprocess - else - eval awk -F/ \''{ \ - if (!$1 && $3 !~ /^-/) { \ - f=FILENAME; \ - if (f ~ /CVS\/Entries$/) \ - f = substr(f, 1, length(f)-11); \ - print f $2; \ - }}'\'' \ - `find "$dir" -name Entries -print` /dev/null' $postprocess - fi - elif test -d .svn; then - eval exec svn list -R '"$dir"' $postprocess - else - echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 - exit 1 - fi -done - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: diff --git a/BUILD/libtool-2.4.7/cfg.mk b/BUILD/libtool-2.4.7/cfg.mk deleted file mode 100644 index a4153e6..0000000 --- a/BUILD/libtool-2.4.7/cfg.mk +++ /dev/null @@ -1,274 +0,0 @@ -# cfg.mk -- Configuration for maintainer-makefile -# -# Copyright (c) 2011-2019, 2021-2022 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2011 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downlodad from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Boston, # MA 02111-1301, USA. - -update-copyright-env := UPDATE_COPYRIGHT_FORCE=1 UPDATE_COPYRIGHT_USE_INTERVALS=1 - -# Set format of NEWS -old_NEWS_hash := 694e28388e83b832b0d7614e305b107e - -manual_title = Portable Dynamic Shared Object Management - -# Set the release announcement email addresses, maint.mk will email the -# translation-project instead of autotools-announce otherwise. -ifeq ($(RELEASE_TYPE),stable) -announcement_Cc_ = autotools-announce@gnu.org -else -announcement_Cc_ = autotools-announce@gnu.org, $(PACKAGE_BUGREPORT) -endif - -# Don't syntax check the mail subdirectory. -VC_LIST_ALWAYS_EXCLUDE_REGEX = ^mail/ - -local-checks-to-fix = \ - sc_require_config_h \ - sc_require_config_h_first - -local-checks-to-skip = \ - $(local-checks-to-fix) \ - sc_GPL_version \ - sc_cast_of_x_alloc_return_value \ - sc_prohibit_always-defined_macros \ - sc_prohibit_always_true_header_tests \ - sc_prohibit_strncpy \ - sc_trailing_blank \ - sc_unmarked_diagnostics - -# GPL_version: checks for GPLv3, which we don't use -# cast_of_x_alloc_return_value: -# We support C++ compilation, which does require casting here. -# prohibit_always-defined_macros: -# we have our own argz and dirent, which use the same macros but -# are not always-defined in our case. -# prohibit_always_true_header_tests: -# we have our own argz and dirent, which are not *always* true, -# so the guards cannot be removed in our case. -# prohibit_strncpy: -# what's so bad about strncpy anyway? -# trailing_blank: flags valid rfc3676 separators -# unmarked_diagnostics: libtool isn't internationalized - - -# Check for correct usage of $cc_basename in libtool.m4. -sc_libtool_m4_cc_basename: - @$(SED) -n "/case \\\$$cc_basename in/,/esac/ { \ - /^[ ]*[a-zA-Z][a-zA-Z0-9+]*[^*][ ]*)/p; \ - }" '$(srcdir)/$(macro_dir)/libtool.m4' | grep . && { \ - msg="\$$cc_basename matches should include a trailing '*'." \ - $(_sc_say_and_exit) } || : - -# Check for old-style `quoting'. -exclude_file_name_regexp--sc_old_style_quoting = (^bootstrap|^cfg.mk|\.texi)$$ -sc_old_style_quoting: - @prohibit="^[^\`]*[^=]\`[^'\`]*[a-zA-Z0-9][^'\`]*'[^\`]*[^\\\`]$$" \ - halt="quote 'like this' not \`like this' in comments and output" \ - $(_sc_search_regexp) - -# Check for uses of Xsed without corresponding echo "X -exclude_file_name_regexp--sc_prohibit_Xsed_without_X = ^cfg.mk$$ -sc_prohibit_Xsed_without_X: - @files=$$($(VC_LIST_EXCEPT)); \ - if test -n "$$files"; then \ - grep -nE '\$$Xsed' $$files | grep -vE '(func_echo_all|\$$ECHO) \\*"X' && { \ - msg="occurrences of '\$$Xsed' without '\$$ECHO "\""X' on the same line" \ - $(_sc_say_and_exit) } || :; \ - else :; \ - fi || : - -# Use a consistent dirname and basename idiom. -sc_prohibit_bare_basename: - @prohibit='\|[ ]*\$$(base|dir)name' \ - halt='use '\''|$$SED "$$basename"'\'' instead of '\''|$$basename'\' \ - $(_sc_search_regexp) - -sc_prohibit_basename_with_dollar_sed: - @prohibit='(base|dir)name="?(\$$SED|sed)[ "]' \ - halt='use '\''basename='\''s|^.*/||'\'' instead of '\''basename="$$SED...' \ - $(_sc_search_regexp) - -# Check for using '[' instead of 'test'. -exclude_file_name_regexp--sc_prohibit_bracket_as_test = ^cfg.mk$$ -sc_prohibit_bracket_as_test: - @prohibit='if[ ]+\[' \ - halt="use 'if test' instead of 'if ['" \ - $(_sc_search_regexp) - -# : ${foo=`bar`} is not perfectly portable (see Shellology in autoconf's manual) -exclude_file_name_regexp--sc_prohibit_command_in_subst = ^cfg.mk$$ -sc_prohibit_command_in_subst: - @prohibit='\$$\{[^`}]*`[^`]*`[^}]*}' \ - halt='do not use `command` in $${ } substitution`' \ - $(_sc_search_regexp) - -# Check for quotes within backquotes within quotes "`"bar"`" -exclude_file_name_regexp--sc_prohibit_nested_quotes = ^cfg.mk$$ -sc_prohibit_nested_quotes: - @prohibit='"[^`"]*`[^"`]*"[^"`]*".*`[^`"]*"' \ - halt='found nested double quotes' \ - $(_sc_search_regexp_or_exclude) - -# Commas in filenames are quite common, so using them routinely for sed is -# asking for trouble! -sc_prohibit_sed_s_comma: - @explicit='($$SED|sed)[ ]+(-e[ ]+)?['\''"]?s,' \ - implicit='['\''";][ ]*s,[^,]*,[^,]*,g?['\''";]' \ - literal='^[ ]*s,[^,]*,[^,]*,g?['\''";]?$$' \ - prohibit='('$$implicit'|'$$explicit'|'$$literal')' \ - halt='found use of comma separator in sed substitution' \ - $(_sc_search_regexp) - -# Check for using shift after set dummy (same or following line). -exclude_file_name_regexp--sc_prohibit_set_dummy_without_shift = ^cfg.mk$$ -sc_prohibit_set_dummy_without_shift: - @files=$$($(VC_LIST_EXCEPT)); \ - if test -n "$$files"; then \ - grep -nE '(set dummy|shift)' $$files | \ - $(SED) -n "/set[ ][ ]*dummy/{ \ - /set.*dummy.*;.*shift/d; \ - N; \ - /\n.*shift/D; \ - p; \ - }" | grep -n . && { \ - msg="use 'shift' after 'set dummy'" \ - $(_sc_say_and_exit) } || :; \ - else :; \ - fi || : - -# Check for using set -- instead of set dummy -exclude_file_name_regexp--sc_prohibit_set_minus_minus = ^cfg.mk$$ -sc_prohibit_set_minus_minus: - @prohibit='set[ ]+--[ ]+' \ - halt="use 'set dummy ...' instead of 'set -- ...'" \ - $(_sc_search_regexp) - -# Make sure there is no spurious whitespace before trailing semi-colons -sc_prohibit_space_semicolon: - @prohibit='[^ ][ ]+;[ ]*((do|done|elif|else|then)[ ]*)?$$' \ - halt='found spurious whitespace before trailing semi-colon' \ - $(_sc_search_regexp) - -# Check for using test X"... instead of test "X... -exclude_file_name_regexp--sc_prohibit_test_X = ^cfg.mk$$ -sc_prohibit_test_X: - @prohibit='test[ ]+(![ ])?(-.[ ]+)?[Xx]["'\'']' \ - halt='use '\''test "X..."'\'' instead of '\''test X"'\' \ - $(_sc_search_regexp) - -# Check for bad binary operators. -sc_prohibit_test_binary_operators: - @prohibit='if[ ]+["'\'']?\$$[^ ]+[ ]+(=|-[lg][te]|-eq|-ne)' \ - halt="Use 'if test \$$something =' instead of 'if \$$something ='" \ - $(_sc_search_regexp) - -# Check for using test $... instead of test "$... -exclude_file_name_regexp--sc_prohibit_test_dollar = ^cfg.mk$$ -sc_prohibit_test_dollar: - @prohibit='test[ ]+(![ ])?(-.[ ]+)?X?\$$[^?#]' \ - exclude='test \$${[A-Za-z_][A-Za-z0-9_]+\+y}' \ - halt='use '\''test "$$..."'\'' instead of '\''test $$'\' \ - $(_sc_search_regexp) - -# Never use test -e. -exclude_file_name_regexp--sc_prohibit_test_minus_e = ^cfg.mk$$ -sc_prohibit_test_minus_e: - @prohibit='test[ ]+(![ ])?-e' \ - halt="use 'test -f' instead of 'test -e'" \ - $(_sc_search_regexp) - -# Check for bad unary operators. -sc_prohibit_test_unary_operators: - @prohibit='if[ ]+-[a-z]' \ - halt="use 'if test -X' instead of 'if -X'" \ - $(_sc_search_regexp) - -# Don't add noisy characters on the front of the left operand of a test -# to prevent arguments being passed inadvertently (e.g. LHS is '-z'), -# when the other operand is a constant -- just swap them, and remove the -# spurious leading 'x'. -sc_prohibit_test_const_follows_var: - @var='[ ]+"[^$$"]*\$$[0-9A-Za-z_][^"]*"' \ - op='[ ]+(!?=|-[lgn][et]|-eq)' \ - const='[ ]+[^-$$][^$$; ]*' \ - prohibit='test'$$var$$op$$const'[ ]*(&&|\|\||;|\\?$$)' \ - halt='use '\''test a = "$$b"'\'' instead of '\''test "x$$b" = xa'\' \ - $(_sc_search_regexp) - -# Check for opening brace on next line in shell function definition. -exclude_file_name_regexp--sc_require_function_nl_brace = (^HACKING|\.[ch]|\.texi)$$ -sc_require_function_nl_brace: - @for file in $$($(VC_LIST_EXCEPT)); do \ - $(SED) -n "/^func_[^ ]*[ ]*(/{ \ - N; \ - /^func_[^ ]* ()\n{$$/d; \ - p; \ - }" $$file | grep -E . && { \ - msg="found malformed function_definition in $$file" \ - $(_sc_say_and_exit) } || :; \ - done - -sc_trailing_blank-non-rfc3676: - @prohibit='([^-][^-][ ][ ]*|^[ ][ ]*)$$' \ - halt='found trailing blank(s)' \ - $(_sc_search_regexp) - -# Avoid useless quotes around assignments with no shell metacharacters. -# Backtick and dollar expansions are not resplit on the RHS of an -# assignment, so those metachars are not listed in the prohibit regex, -# although @ is listed, since it most likely indicates that something -# will be spliced in before the shell executes, and it may need to be -# quoted if it contains any metacharacters after splicing. -define _sc_search_regexp_or_exclude - files=$$($(VC_LIST_EXCEPT)); \ - if test -n "$$files"; then \ - grep -nE "$$prohibit" $$files | grep -v '## exclude from $@' \ - && { msg="$$halt" $(_sc_say_and_exit) } || :; \ - else :; \ - fi || :; -endef - -exclude_file_name_regexp--sc_useless_braces_in_variable_derefs = \ - test-funclib-quote.sh$$ -sc_useless_braces_in_variable_derefs: - @prohibit='\$${[0-9A-Za-z_]+}[^0-9A-Za-z_]' \ - halt='found spurious braces around variable dereference' \ - $(_sc_search_regexp) - -sc_useless_quotes_in_assignment: - @prohibit='^[ ]*[A-Za-z_][A-Za-z0-9_]*="[^ !#&()*;<>?@~^{|}]*"$$' \ - halt='found spurious quotes around assignment value' \ - $(_sc_search_regexp_or_exclude) - -# Avoid useless quotes around case arguments such as: -# case "$foo" in ... -exclude_file_name_regexp--sc_useless_quotes_in_case = ^cfg.mk$$ -sc_useless_quotes_in_case: - @prohibit='case "[^ "]*"[ ][ ]*in' \ - halt='found spurious quotes around case argument' \ - $(_sc_search_regexp) - -# List syntax-check exempted files. -exclude_file_name_regexp--sc_prohibit_strcmp = \ - ^doc/libtool.texi$$ -exclude_file_name_regexp--sc_prohibit_test_minus_ao = \ - ^m4/libtool.m4$$ -exclude_file_name_regexp--sc_space_tab = (\.diff|test-funclib-quote.sh)$$ -exclude_file_name_regexp--sc_trailing_blank-non-rfc3676 = \.diff$$ diff --git a/BUILD/libtool-2.4.7/config-h.in b/BUILD/libtool-2.4.7/config-h.in deleted file mode 100644 index 558dcae..0000000 --- a/BUILD/libtool-2.4.7/config-h.in +++ /dev/null @@ -1,637 +0,0 @@ -/* config-h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the `argz_add' function. */ -#undef HAVE_ARGZ_ADD - -/* Define to 1 if you have the `argz_append' function. */ -#undef HAVE_ARGZ_APPEND - -/* Define to 1 if you have the `argz_count' function. */ -#undef HAVE_ARGZ_COUNT - -/* Define to 1 if you have the `argz_create_sep' function. */ -#undef HAVE_ARGZ_CREATE_SEP - -/* Define to 1 if you have the <argz.h> header file. */ -#undef HAVE_ARGZ_H - -/* Define to 1 if you have the `argz_insert' function. */ -#undef HAVE_ARGZ_INSERT - -/* Define to 1 if you have the `argz_next' function. */ -#undef HAVE_ARGZ_NEXT - -/* Define to 1 if you have the `argz_stringify' function. */ -#undef HAVE_ARGZ_STRINGIFY - -/* Define to 1 if you have the `closedir' function. */ -#undef HAVE_CLOSEDIR - -/* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if - you don't. */ -#undef HAVE_DECL_CYGWIN_CONV_PATH - -/* Define to 1 if you have the <dirent.h> header file. */ -#undef HAVE_DIRENT_H - -/* Define if you have the GNU dld library. */ -#undef HAVE_DLD - -/* Define to 1 if you have the <dld.h> header file. */ -#undef HAVE_DLD_H - -/* Define to 1 if you have the `dlerror' function. */ -#undef HAVE_DLERROR - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the <dl.h> header file. */ -#undef HAVE_DL_H - -/* Define if you have the _dyld_func_lookup function. */ -#undef HAVE_DYLD - -/* Define to 1 if the system has the type `error_t'. */ -#undef HAVE_ERROR_T - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define if you have the libdl library or equivalent. */ -#undef HAVE_LIBDL - -/* Define if libdlloader will be built on this platform */ -#undef HAVE_LIBDLLOADER - -/* Define to 1 if you have the <mach-o/dyld.h> header file. */ -#undef HAVE_MACH_O_DYLD_H - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `opendir' function. */ -#undef HAVE_OPENDIR - -/* Define if libtool can extract symbol lists from object files. */ -#undef HAVE_PRELOADED_SYMBOLS - -/* Define to 1 if you have the `readdir' function. */ -#undef HAVE_READDIR - -/* Define if you have the shl_load function. */ -#undef HAVE_SHL_LOAD - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strlcat' function. */ -#undef HAVE_STRLCAT - -/* Define to 1 if you have the `strlcpy' function. */ -#undef HAVE_STRLCPY - -/* Define to 1 if you have the <sys/dl.h> header file. */ -#undef HAVE_SYS_DL_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* This value is set to 1 to indicate that the system argz facility works */ -#undef HAVE_WORKING_ARGZ - -/* Define if the OS needs help to load dependent libraries for dlopen(). */ -#undef LTDL_DLOPEN_DEPLIBS - -/* Define to the system default library search path. */ -#undef LT_DLSEARCH_PATH - -/* The archive extension */ -#undef LT_LIBEXT - -/* The archive prefix */ -#undef LT_LIBPREFIX - -/* Define to the extension used for runtime loadable modules, say, ".so". */ -#undef LT_MODULE_EXT - -/* Define to the name of the environment variable that determines the run-time - module search path. */ -#undef LT_MODULE_PATH_VAR - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#undef LT_OBJDIR - -/* Define to the shared library suffix, say, ".dylib". */ -#undef LT_SHARED_EXT - -/* Define to the shared archive member specification, say "(shr.o)". */ -#undef LT_SHARED_LIB_MEMBER - -/* Define if dlsym() requires a leading underscore in symbol names. */ -#undef NEED_USCORE - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Version number of package */ -#undef VERSION - -/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ -#if defined __GNUC__ && defined __GNUC_MINOR__ -# define _GL_GNUC_PREREQ(major, minor) \ - ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) -#else -# define _GL_GNUC_PREREQ(major, minor) 0 -#endif - - -/* The _Noreturn keyword of C11. */ -#ifndef _Noreturn -# if (defined __cplusplus \ - && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ - || (defined _MSC_VER && 1900 <= _MSC_VER)) \ - && 0) - /* [[noreturn]] is not practically usable, because with it the syntax - extern _Noreturn void func (...); - would not be valid; such a declaration would only be valid with 'extern' - and '_Noreturn' swapped, or without the 'extern' keyword. However, some - AIX system header files and several gnulib header files use precisely - this syntax with 'extern'. */ -# define _Noreturn [[noreturn]] -# elif ((!defined __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || (!defined __STRICT_ANSI__ \ - && (_GL_GNUC_PREREQ (4, 7) \ - || (defined __apple_build_version__ \ - ? 6000000 <= __apple_build_version__ \ - : 3 < __clang_major__ + (5 <= __clang_minor__)))))) - /* _Noreturn works as-is. */ -# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C -# define _Noreturn __attribute__ ((__noreturn__)) -# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn -# endif -#endif - - -/* Define so that glibc/gnulib argp.h does not typedef error_t. */ -#undef __error_t_defined - -/* The _GL_ASYNC_SAFE marker should be attached to functions that are - signal handlers (for signals other than SIGABRT, SIGPIPE) or can be - invoked from such signal handlers. Such functions have some restrictions: - * All functions that it calls should be marked _GL_ASYNC_SAFE as well, - or should be listed as async-signal-safe in POSIX - <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04> - section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in - particular, are NOT async-signal-safe. - * All memory locations (variables and struct fields) that these functions - access must be marked 'volatile'. This holds for both read and write - accesses. Otherwise the compiler might optimize away stores to and - reads from such locations that occur in the program, depending on its - data flow analysis. For example, when the program contains a loop - that is intended to inspect a variable set from within a signal handler - while (!signal_occurred) - ; - the compiler is allowed to transform this into an endless loop if the - variable 'signal_occurred' is not declared 'volatile'. - Additionally, recall that: - * A signal handler should not modify errno (except if it is a handler - for a fatal signal and ends by raising the same signal again, thus - provoking the termination of the process). If it invokes a function - that may clobber errno, it needs to save and restore the value of - errno. */ -#define _GL_ASYNC_SAFE - - -/* Attributes. */ -#if (defined __has_attribute \ - && (!defined __clang_minor__ \ - || 3 < __clang_major__ + (5 <= __clang_minor__))) -# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) -#else -# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr -# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) -# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) -# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) -# define _GL_ATTR_diagnose_if 0 -# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) -# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) -# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) -# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) -# ifdef _ICC -# define _GL_ATTR_may_alias 0 -# else -# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) -# endif -# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) -# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) -# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) -# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) -# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) -# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) -# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) -# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) -#endif - -#ifdef __has_c_attribute -# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) -#else -# define _GL_HAS_C_ATTRIBUTE(attr) 0 -#endif - - -/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function - is the size of the returned memory block. - _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied - by the Nth argument of the function is the size of the returned memory block. - */ -/* Applies to: function, pointer to function, function types. */ -#if _GL_HAS_ATTRIBUTE (alloc_size) -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) -#else -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) -#endif - -/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the - function and report an error if it cannot do so. */ -/* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (always_inline) -# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) -#else -# define _GL_ATTRIBUTE_ALWAYS_INLINE -#endif - -/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show - in stack traces when debugging. The compiler should omit the function from - stack traces. */ -/* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (artificial) -# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) -#else -# define _GL_ATTRIBUTE_ARTIFICIAL -#endif - -/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ -/* Applies to: functions. */ -/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at - <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>. - Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ -#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ -# ifndef __SUNPRO_C -# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) -# else -# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) -# endif -#else -# define _GL_ATTRIBUTE_COLD -#endif - -/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate - calls to the function with the same arguments. - This attribute is safe for a function that neither depends on nor affects - observable state, and always returns exactly once - e.g., does not loop - forever, and does not call longjmp. - (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (const) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST -#endif - -/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers - that can be freed by passing them as the Ith argument to the - function F. - _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that - can be freed via 'free'; it can be used only after declaring 'free'. */ -/* Applies to: functions. Cannot be used on inline functions. */ -#if _GL_GNUC_PREREQ (11, 0) -# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) -#else -# define _GL_ATTRIBUTE_DEALLOC(f, i) -#endif -/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue - to use this earlier definition, since <stdlib.h> may not have been included - yet. */ -#ifndef _GL_ATTRIBUTE_DEALLOC_FREE -# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) -#endif - -/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. - The compiler may warn if the entity is used. */ -/* Applies to: - - function, variable, - - struct, union, struct/union member, - - enumeration, enumeration item, - - typedef, - in C++ also: namespace, class, template specialization. */ -#if _GL_HAS_C_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] -#elif _GL_HAS_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) -#else -# define _GL_ATTRIBUTE_DEPRECATED -#endif - -/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and - the function call is not optimized away. - _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and - the function call is not optimized away. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (error) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) -#elif _GL_HAS_ATTRIBUTE (diagnose_if) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) -#else -# define _GL_ATTRIBUTE_ERROR(msg) -# define _GL_ATTRIBUTE_WARNING(msg) -#endif - -/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain - visible to debuggers etc., even with '-fwhole-program'. */ -/* Applies to: functions, variables. */ -#if _GL_HAS_ATTRIBUTE (externally_visible) -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) -#else -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE -#endif - -/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if - the control flow falls through to the immediately following 'case' or - 'default' label. The compiler should not warn in this case. */ -/* Applies to: Empty statement (;), inside a 'switch' statement. */ -/* Always expands to something. */ -#if _GL_HAS_C_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] -#elif _GL_HAS_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) -#else -# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) -#endif - -/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) - declares that the STRING-INDEXth function argument is a format string of - style ARCHETYPE, which is one of: - printf, gnu_printf - scanf, gnu_scanf, - strftime, gnu_strftime, - strfmon, - or the same thing prefixed and suffixed with '__'. - If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK - are suitable for the format string. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (format) -# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) -#else -# define _GL_ATTRIBUTE_FORMAT(spec) -#endif - -/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other - compilation unit, it executes code from that unit only by return or by - exception handling. This declaration lets the compiler optimize that unit - more aggressively. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (leaf) -# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) -#else -# define _GL_ATTRIBUTE_LEAF -#endif - -/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly - allocated memory. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (malloc) -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC -#endif - -/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the - same storage as pointers to other types. Thus this declaration disables - strict aliasing optimization. */ -/* Applies to: types. */ -/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ -#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C -# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) -#else -# define _GL_ATTRIBUTE_MAY_ALIAS -#endif - -/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if - the entity is not used. The compiler should not warn if the entity is not - used. */ -/* Applies to: - - function, variable, - - struct, union, struct/union member, - - enumeration, enumeration item, - - typedef, - in C++ also: class. */ -/* In C++ and C2x, this is spelled [[__maybe_unused__]]. - GCC's syntax is __attribute__ ((__unused__)). - clang supports both syntaxes. */ -#if _GL_HAS_C_ATTRIBUTE (maybe_unused) -# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] -#else -# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED -#endif -/* Alternative spelling of this macro, for convenience. */ -#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED -/* Earlier spellings of this macro. */ -#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED - -/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not - discard the return value. The compiler may warn if the caller does not use - the return value, unless the caller uses something like ignore_value. */ -/* Applies to: function, enumeration, class. */ -#if _GL_HAS_C_ATTRIBUTE (nodiscard) -# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] -#elif _GL_HAS_ATTRIBUTE (warn_unused_result) -# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) -#else -# define _GL_ATTRIBUTE_NODISCARD -#endif - -/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the - function. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (noinline) -# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) -#else -# define _GL_ATTRIBUTE_NOINLINE -#endif - -/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... - must not be NULL. - _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be - null. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nonnull) -# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) -#else -# define _GL_ATTRIBUTE_NONNULL(args) -#endif - -/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is - not meant to be NUL-terminated. */ -/* Applies to: struct/union members and variables that are arrays of element - type '[[un]signed] char'. */ -#if _GL_HAS_ATTRIBUTE (nonstring) -# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) -#else -# define _GL_ATTRIBUTE_NONSTRING -#endif - -/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ - -/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. - */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus -# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) -#else -# define _GL_ATTRIBUTE_NOTHROW -#endif - -/* _GL_ATTRIBUTE_PACKED declares: - For struct members: The member has the smallest possible alignment. - For struct, union, class: All members have the smallest possible alignment, - minimizing the memory required. */ -/* Applies to: struct members, struct, union, - in C++ also: class. */ -#if _GL_HAS_ATTRIBUTE (packed) -# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) -#else -# define _GL_ATTRIBUTE_PACKED -#endif - -/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate - calls to the function with the same arguments if observable state is not - changed between calls. - This attribute is safe for a function that does not affect - observable state, and always returns exactly once. - (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (pure) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE -#endif - -/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is - a non-NULL pointer. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (returns_nonnull) -# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) -#else -# define _GL_ATTRIBUTE_RETURNS_NONNULL -#endif - -/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a - trailing NULL argument. - _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). - _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (sentinel) -# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) -#else -# define _GL_ATTRIBUTE_SENTINEL(pos) -#endif - -/* A helper macro. Don't use it directly. */ -#if _GL_HAS_ATTRIBUTE (unused) -# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_ATTRIBUTE_UNUSED -#endif - - -/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the - immediately preceding label is not used. The compiler should not warn - if the label is not used. */ -/* Applies to: label (both in C and C++). */ -/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' - syntax. But clang does. */ -#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ -# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED -#else -# define _GL_UNUSED_LABEL -#endif - - -/* Define to a type to use for 'error_t' if it is not otherwise available. */ -#undef error_t - -/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for Mac OS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif - -/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where - n1 and n2 are expressions without side effects, that evaluate to real - numbers (excluding NaN). - It returns - 1 if n1 > n2 - 0 if n1 == n2 - -1 if n1 < n2 - The naĂŻve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional - jump with nearly all GCC versions up to GCC 10. - This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many - GCC versions up to GCC 9. - The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 - avoids conditional jumps in all GCC versions >= 3.4. */ -#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) - diff --git a/BUILD/libtool-2.4.7/configure b/BUILD/libtool-2.4.7/configure deleted file mode 100755 index b3a7337..0000000 --- a/BUILD/libtool-2.4.7/configure +++ /dev/null @@ -1,33382 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GNU Libtool 2.4.7. -# -# Report bugs to <bug-libtool@gnu.org>. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: bug-libtool@gnu.org about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -lt_ltdl_dir='libltdl' - -SHELL=${CONFIG_SHELL-/bin/sh} - -lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/ - - -test -n "$DJDIR" || exec 7<&0 </dev/null -exec 6>&1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='GNU Libtool' -PACKAGE_TARNAME='libtool' -PACKAGE_VERSION='2.4.7' -PACKAGE_STRING='GNU Libtool 2.4.7' -PACKAGE_BUGREPORT='bug-libtool@gnu.org' -PACKAGE_URL='http://www.gnu.org/software/libtool/' - -ac_unique_file="libtoolize.in" -ac_config_libobj_dir=libltdl -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#ifdef STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif -#ifdef HAVE_INTTYPES_H -# include <inttypes.h> -#endif -#ifdef HAVE_STDINT_H -# include <stdint.h> -#endif -#ifdef HAVE_UNISTD_H -# include <unistd.h> -#endif" - -ac_subst_vars='GLtests_LIBOBJDEPS -GLtests_LTLIBOBJS -GLtests_LIBOBJS -GL_LIBOBJDEPS -GL_LTLIBOBJS -GL_LIBOBJS -CONFIG_INCLUDE -am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -HELP2MAN -GL_CFLAG_GNULIB_WARNINGS -abs_aux_dir -GLtests_WITNESS -GL_CXXFLAG_ALLOW_WARNINGS -GL_CFLAG_ALLOW_WARNINGS -GL_COND_LIBTOOL_FALSE -GL_COND_LIBTOOL_TRUE -with_aix_soname -to_tool_file_cmd -to_host_file_cmd -RC -GCJFLAGS -GCJ -GOC -ac_ct_FC -FCFLAGS -FC -ac_ct_F77 -FFLAGS -F77 -CXXCPP -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -LTDLOPEN -LT_CONFIG_H -CONVENIENCE_LTDL_FALSE -CONVENIENCE_LTDL_TRUE -INSTALL_LTDL_FALSE -INSTALL_LTDL_TRUE -LT_ARGZ_H -LIBOBJS -sys_symbol_underscore -LIBADD_DL -LT_DLPREOPEN -LIBADD_DLD_LINK -LIBADD_SHL_LOAD -LIBADD_DLOPEN -LT_DLLOADERS -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -ac_ct_AR -FILECMD -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -RANLIB -ARFLAGS -AR -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -pkgaux_scripts -pkgdatadir -aclocaldir -CONFIG_STATUS_DEPENDENCIES -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -M4_DEBUGFILE -M4_GNU -M4 -AUTOTEST -AUTOM4TE -package_revision -macro_dir -aux_dir -ltdl_dir -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL -am__quote' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_ltdl_install -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_cross_guesses -' - ac_precious_vars='build_alias -host_alias -target_alias -M4 -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -LT_SYS_LIBRARY_PATH -CXX -CXXFLAGS -CCC -CXXCPP -F77 -FFLAGS -FC -FCFLAGS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures GNU Libtool 2.4.7 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/libtool] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of GNU Libtool 2.4.7:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --disable-ltdl-install do not install libltdl - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-ltdl-install install libltdl - --enable-cross-guesses={conservative|risky} - specify policy for cross-compilation guesses - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, [default=aix]. - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot[=DIR] Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - -Some influential environment variables: - M4 Location of GNU M4 1.4.6 or later. Defaults to the first program - of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs. - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if - you have headers in a nonstandard directory <include dir> - CPP C preprocessor - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - FC Fortran compiler command - FCFLAGS Fortran compiler flags - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to <bug-libtool@gnu.org>. -GNU Libtool home page: <http://www.gnu.org/software/libtool/>. -General help using GNU software: <http://www.gnu.org/gethelp/>. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -GNU Libtool configure 2.4.7 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case <limits.h> declares $2. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - ac_save_ac_compile="$ac_compile" - if test -n "$ac_compile_for_check_decl"; then - ac_compile="$ac_compile_for_check_decl" - fi - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - ac_compile="$ac_save_ac_compile" - -} # ac_fn_c_check_decl - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type - -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_compile - -# ac_fn_cxx_try_cpp LINENO -# ------------------------ -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_cpp - -# ac_fn_cxx_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_link - -# ac_fn_f77_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_f77_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_f77_try_compile - -# ac_fn_f77_try_link LINENO -# ------------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_f77_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_f77_try_link - -# ac_fn_fc_try_compile LINENO -# --------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_fc_try_compile - -# ac_fn_fc_try_link LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_fc_try_link -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by GNU Libtool $as_me 2.4.7, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - -# Remove this when a released Autoconf is capable of bootstrapping -# Libtool without it (probably after autoconf-2.70). - - -# Since we already declare these directories in this file, save those -# choices, and push the results into Makefile.am to avoid declaring -# them in two places making renames error prone, and where copies -# might get out of sync. - - - - -ac_config_headers="$ac_config_headers config.h:config-h.in" - - - - - - - - -ltdl_dir=libltdl - -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - -aux_dir=build-aux - -macro_dir=m4 - - - -package_revision=`$SHELL $ac_aux_dir/git-version-gen .tarball-version` - - -## ------------------------ ## -## Autotest initialisation. ## -## ------------------------ ## - -ac_config_commands="$ac_config_commands tests/atconfig" - -AUTOM4TE=${AUTOM4TE=autom4te} - -AUTOTEST='$(AUTOM4TE) --language=autotest' - - - -## ---------------------------------------- ## -## Display a configure time version banner. ## -## ---------------------------------------- ## - -# This is a sanity check so we can see what version is used in bug reports. -$as_echo "## ------------------------- ## -## Configuring libtool 2.4.7 ## -## ------------------------- ##" -echo - - -## ------------ ## -## Shell tools. ## -## ------------ ## - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU M4 that supports accurate traces" >&5 -$as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; } -if ${ac_cv_path_M4+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest.m4f -ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} -{ POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} -if test -z "$M4"; then - ac_path_M4_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in m4 gm4 gnum4; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_M4" || continue - # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. - # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. - # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy - # false positive strstr. - ac_snippet=change'quote(<,>)in''dir(<if''def>,mac,bug)' - ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' - test -z "`$ac_path_M4 -F conftest.m4f </dev/null 2>&1`" \ - && test -z "`$as_echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \ - && test -f conftest.m4f \ - && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: - rm -f conftest.m4f - $ac_path_M4_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_M4"; then - as_fn_error $? "no acceptable m4 could be found in \$PATH. -GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. -GNU M4 1.4.15 uses a buggy replacement strstr on some systems. -Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug." "$LINENO" 5 - fi -else - ac_cv_path_M4=$M4 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 -$as_echo "$ac_cv_path_M4" >&6; } - M4=$ac_cv_path_M4 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_cv_path_M4 accepts --gnu" >&5 -$as_echo_n "checking whether $ac_cv_path_M4 accepts --gnu... " >&6; } -if ${ac_cv_prog_gnu_m4_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - case `$M4 --help < /dev/null 2>&1` in - *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; - *) ac_cv_prog_gnu_m4_gnu=no ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_gnu" >&5 -$as_echo "$ac_cv_prog_gnu_m4_gnu" >&6; } - if test yes = "$ac_cv_prog_gnu_m4_gnu"; then - M4_GNU=--gnu - else - M4_GNU= - fi - - if test yes = "$ac_had_posixly_correct"; then - POSIXLY_CORRECT=: - if test no = $ac_cv_prog_gnu_m4_gnu; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: the version of M4 that was found does not support -g" >&5 -$as_echo "$as_me: WARNING: the version of M4 that was found does not support -g" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&5 -$as_echo "$as_me: WARNING: using it with POSIXLY_CORRECT set may cause problems" >&2;} - fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how m4 supports trace files" >&5 -$as_echo_n "checking how m4 supports trace files... " >&6; } -if ${ac_cv_prog_gnu_m4_debugfile+:} false; then : - $as_echo_n "(cached) " >&6 -else - case `$M4 --help < /dev/null 2>&1` in - *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; - *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gnu_m4_debugfile" >&5 -$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; } - M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile - - - - -## ------------------------ ## -## Automake Initialisation. ## -## ------------------------ ## - -am__api_version='1.16' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='libtool' - VERSION='2.4.7' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> -# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <https://www.gnu.org/software/coreutils/>. - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - - -## ------------------------- ## -## Autobuild initialisation. ## -## ------------------------- ## - -# You can set autobuild_mode at configure time to specify a "unique" -# string for this build. -: ${autobuild_mode=default} -AB_VERSION='2.4.7' -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - - - - - if test -z "$AB_PACKAGE"; then - AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5 -$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;} - - if test -z "$AB_VERSION"; then - AB_VERSION=${PACKAGE_VERSION:-$VERSION} - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5 -$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;} - - hostname=`hostname` - if test "$hostname"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5 -$as_echo "$as_me: autobuild hostname... $hostname" >&6;} - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild mode... $autobuild_mode" >&5 -$as_echo "$as_me: autobuild mode... $autobuild_mode" >&6;} - - date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` - if test "$?" != 0; then - date=`date` - fi - if test "$date"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5 -$as_echo "$as_me: autobuild timestamp... $date" >&6;} - fi - - - -CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/.version' - - - -## ------------------------------- ## -## Libtool specific configuration. ## -## ------------------------------- ## - -aclocaldir="\$(datadir)/aclocal" - -pkgdatadir="\$(datadir)/$PACKAGE" - - -# Check whether --enable-ltdl-install was given. -if test "${enable_ltdl_install+set}" = set; then : - enableval=$enable_ltdl_install; -fi - -if test set != "${enable_ltdl_install+set}"; then - enable_ltdl_install=yes -fi - -# The list of scripts required to build libltdl, and which need to be -# installed by libtoolize --ltdl, and consequently need to be placed in -# $pkgdatadir by our make install rule. -pkgaux_scripts="compile config.guess config.sub depcomp install-sh missing" - - - -## ---------------- ## -## compiler checks. ## -## ---------------- ## - -# Need to be sure that we have a working C compiler, otherwise even with -# a good C compiler: if the following C++ tests fail, the whole libtool -# build fails! -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdio.h> -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5 -$as_echo_n "checking whether the compiler is clang... " >&6; } -if ${gl_cv_compiler_clang+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #ifdef __clang__ - barfbarf - #endif - -int -main () -{ - - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_compiler_clang=no -else - gl_cv_compiler_clang=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_clang" >&5 -$as_echo "$gl_cv_compiler_clang" >&6; } - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler option needed when checking for declarations" >&5 -$as_echo_n "checking for compiler option needed when checking for declarations... " >&6; } -if ${gl_cv_compiler_check_decl_option+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test $gl_cv_compiler_clang = yes; then - save_ac_compile="$ac_compile" - ac_compile="$ac_compile -Werror=implicit-function-declaration" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration' -else - gl_cv_compiler_check_decl_option=none -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_compile="$save_ac_compile" - else - gl_cv_compiler_check_decl_option=none - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_compiler_check_decl_option" >&5 -$as_echo "$gl_cv_compiler_check_decl_option" >&6; } - if test "x$gl_cv_compiler_check_decl_option" != xnone; then - ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" - else - ac_compile_for_check_decl="$ac_compile" - fi - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 - (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - case $?:`cat confinc.out 2>/dev/null` in #( - '0:this is the am__doit target') : - case $s in #( - BSD) : - am__include='.include' am__quote='"' ;; #( - *) : - am__include='include' am__quote='' ;; -esac ;; #( - *) : - ;; -esac - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 -$as_echo_n "checking for Minix Amsterdam compiler... " >&6; } -if ${gl_cv_c_amsterdam_compiler+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef __ACK__ -Amsterdam -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Amsterdam" >/dev/null 2>&1; then : - gl_cv_c_amsterdam_compiler=yes -else - gl_cv_c_amsterdam_compiler=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 -$as_echo "$gl_cv_c_amsterdam_compiler" >&6; } - - if test $gl_cv_c_amsterdam_compiler = yes; then - if test -z "$AR"; then - AR='cc -c.a' - fi - if test -z "$ARFLAGS"; then - ARFLAGS='-o' - fi - else - : - fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="ar" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - - if test -z "$ARFLAGS"; then - ARFLAGS='cr' - fi - - - - if test -z "$RANLIB"; then - if test $gl_cv_c_amsterdam_compiler = yes; then - RANLIB=':' - else - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - - fi - fi - - - - - # Pre-early section. - - - # Code from module all-shells-tests: - # Code from module announce-gen: - # Code from module bootstrap: - # Code from module do-release-commit-and-tag: - # Code from module extract-trace: - # Code from module funclib.sh: - # Code from module funclib.sh-tests: - # Code from module gendocs: - # Code from module git-version-gen: - # Code from module gitlog-to-changelog: - # Code from module gnu-web-doc-update: - # Code from module gnumakefile: - # Code from module gnupload: - # Code from module inline-source: - # Code from module maintainer-makefile: - # Code from module options-parser: - # Code from module options-parser-tests: - # Code from module readme-release: - # Code from module test-framework-sh: - # Code from module test-framework-sh-tests: - # Code from module update-copyright: - # Code from module update-copyright-tests: - # Code from module useless-if-before-free: - # Code from module vc-list-files: - # Code from module vc-list-files-tests: - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -## ----------------------- ## -## Libtool initialisation. ## -## ----------------------- ## -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.7' -macro_revision='2.4.7' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test no != "$with_gnu_ld" && break - ;; - *) - test yes != "$with_gnu_ld" && break - ;; - esac - fi - done - IFS=$lt_save_ifs -else - lt_cv_path_LD=$LD # Let the user override the test with a path. -fi -fi - -LD=$lt_cv_path_LD -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. -set dummy ${ac_tool_prefix}file; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FILECMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$FILECMD"; then - ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_FILECMD="${ac_tool_prefix}file" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FILECMD=$ac_cv_prog_FILECMD -if test -n "$FILECMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 -$as_echo "$FILECMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_FILECMD"; then - ac_ct_FILECMD=$FILECMD - # Extract the first word of "file", so it can be a program name with args. -set dummy file; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FILECMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_FILECMD"; then - ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FILECMD="file" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD -if test -n "$ac_ct_FILECMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 -$as_echo "$ac_ct_FILECMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_FILECMD" = x; then - FILECMD=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FILECMD=$ac_ct_FILECMD - fi -else - FILECMD="$ac_cv_prog_FILECMD" -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='$FILECMD -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly* | midnightbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=$FILECMD - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - 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]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - 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]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - - - - - - -# Use ARFLAGS variable as AR's operation code to sync the variable naming with -# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -# higher priority because thats what people were doing historically (setting -# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -# variable obsoleted/removed. - -test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} -lt_ar_flags=$AR_FLAGS - - - - - - -# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -# by AR_FLAGS because that was never working and AR_FLAGS is about to die. - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++ or ICC, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `$FILECMD conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 - $AR $AR_FLAGS libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) - case $MACOSX_DEPLOYMENT_TARGET,$host in - 10.[012],*|,*powerpc*-darwin[5-8]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - *) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options -enable_dlopen=yes -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -# Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC and -# ICC, which need '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$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)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - file_list_spec='@' - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$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' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$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' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$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' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$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)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="$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" - module_expsym_cmds="$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" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$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' - else - archive_cmds='$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' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$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' - fi - else - archive_cmds='$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' - archive_expsym_cmds='$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' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - file_list_spec='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$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' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$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' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$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' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$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' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -z "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -else - if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - case $host_os in - darwin*) - # FIXME - insert some real tests, host_os isn't really good enough - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ;; - freebsd*) - if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac - fi -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 -$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } -if ${libltdl_cv_shlibext+:} false; then : - $as_echo_n "(cached) " >&6 -else - -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_shlibext" >&5 -$as_echo "$libltdl_cv_shlibext" >&6; } -if test -n "$libltdl_cv_shlibext"; then - -cat >>confdefs.h <<_ACEOF -#define LT_MODULE_EXT "$libltdl_cv_shlibext" -_ACEOF - -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - -cat >>confdefs.h <<_ACEOF -#define LT_SHARED_EXT "$libltdl_cv_shrext" -_ACEOF - -fi -if test -n "$shared_archive_member_spec"; then - -cat >>confdefs.h <<_ACEOF -#define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 -$as_echo_n "checking what variable specifies run-time module search path... " >&6; } -if ${lt_cv_module_path_var+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_module_path_var=$shlibpath_var -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 -$as_echo "$lt_cv_module_path_var" >&6; } -if test -n "$lt_cv_module_path_var"; then - -cat >>confdefs.h <<_ACEOF -#define LT_MODULE_PATH_VAR "$lt_cv_module_path_var" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the default library search path" >&5 -$as_echo_n "checking for the default library search path... " >&6; } -if ${lt_cv_sys_dlsearch_path+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 -$as_echo "$lt_cv_sys_dlsearch_path" >&6; } -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path=$dir - else - sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir - fi - done - -cat >>confdefs.h <<_ACEOF -#define LT_DLSEARCH_PATH "$sys_dlsearch_path" -_ACEOF - -fi - - -LT_DLLOADERS= - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -lt_dlload_save_LIBS=$LIBS - -LIBADD_DLOPEN= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 -$as_echo_n "checking for library containing dlopen... " >&6; } -if ${ac_cv_search_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_dlopen=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_dlopen+:} false; then : - break -fi -done -if ${ac_cv_search_dlopen+:} false; then : - -else - ac_cv_search_dlopen=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 -$as_echo "$ac_cv_search_dlopen" >&6; } -ac_res=$ac_cv_search_dlopen -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -$as_echo "#define HAVE_LIBDL 1" >>confdefs.h - - if test "$ac_cv_search_dlopen" != "none required"; then - LIBADD_DLOPEN=-ldl - fi - libltdl_cv_lib_dl_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_DLFCN_H -# include <dlfcn.h> -#endif - -int -main () -{ -dlopen(0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "#define HAVE_LIBDL 1" >>confdefs.h - - libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - -$as_echo "#define HAVE_LIBDL 1" >>confdefs.h - - LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" -then - lt_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - for ac_func in dlerror -do : - ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" -if test "x$ac_cv_func_dlerror" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLERROR 1 -_ACEOF - -fi -done - - LIBS=$lt_save_LIBS -fi - - -LIBADD_SHL_LOAD= -ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - -$as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - -$as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD=-ldld -fi - -fi - - - -case $host_os in -darwin[1567].*) -# We only want this for pre-Mac OS X 10.4. - ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" -if test "x$ac_cv_func__dyld_func_lookup" = xyes; then : - -$as_echo "#define HAVE_DYLD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" -fi - - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | pw32*) - ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include <sys/cygwin.h> -" -if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl -_ACEOF - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - -$as_echo "#define HAVE_DLD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" -fi - - - - -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - -$as_echo "#define HAVE_LIBDLLOADER 1" >>confdefs.h - -fi - - -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" - - -LIBS=$lt_dlload_save_LIBS -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5 -$as_echo_n "checking for _ prefix in compiled symbols... " >&6; } -if ${lt_cv_sys_symbol_underscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&5 - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "configure: failed program was:" >&5 - cat conftest.c >&5 - fi - rm -rf conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5 -$as_echo "$lt_cv_sys_symbol_underscore" >&6; } - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - - -if test yes = "$lt_cv_sys_symbol_underscore"; then - if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 -$as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } -if ${libltdl_cv_need_uscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - libltdl_cv_need_uscore=unknown - dlsym_uscore_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - libname=conftmod # stay within 8.3 filename limits! - cat >$libname.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; } -_LT_EOF - - # ltfn_module_cmds module_cmds - # Execute tilde-delimited MODULE_CMDS with environment primed for - # $module_cmds or $archive_cmds type content. - ltfn_module_cmds () - {( # subshell avoids polluting parent global environment - module_cmds_save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$module_cmds_save_ifs - libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext - rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. - major=; versuffix=; verstring=; deplibs= - ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= - eval $cmd - done - IFS=$module_cmds_save_ifs - )} - - # Compile a loadable module using libtool macro expansion results. - $CC $pic_flag -c $libname.$ac_ext - ltfn_module_cmds "${module_cmds:-$archive_cmds}" - - # Try to fetch fnord with dlsym(). - libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 - cat >conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif -#include <stdio.h> -#ifndef RTLD_GLOBAL -# ifdef DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# else -# define RTLD_GLOBAL 0 -# endif -#endif -#ifndef RTLD_NOW -# ifdef DL_NOW -# define RTLD_NOW DL_NOW -# else -# define RTLD_NOW 0 -# endif -#endif -int main () { - void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); - int status = $libltdl_dlunknown; - if (handle) { - if (dlsym (handle, "fnord")) - status = $libltdl_dlnouscore; - else { - if (dlsym (handle, "_fnord")) - status = $libltdl_dluscore; - else - puts (dlerror ()); - } - dlclose (handle); - } else - puts (dlerror ()); - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - libltdl_status=$? - case x$libltdl_status in - x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; - x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; - x*) libltdl_cv_need_uscore=unknown ;; - esac - fi - rm -rf conftest* $libname* - LIBS=$dlsym_uscore_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 -$as_echo "$libltdl_cv_need_uscore" >&6; } - fi -fi - -if test yes = "$libltdl_cv_need_uscore"; then - -$as_echo "#define NEED_USCORE 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether deplibs are loaded by dlopen" >&5 -$as_echo_n "checking whether deplibs are loaded by dlopen... " >&6; } -if ${lt_cv_sys_dlopen_deplibs+:} false; then : - $as_echo_n "(cached) " >&6 -else - # PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this 'case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[4-9]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly* | midnightbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[12345]*|irix6.[01]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[1234]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say 'no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to 'yes'. Without it, it would be 'no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say 'yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 -$as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } -if test yes != "$lt_cv_sys_dlopen_deplibs"; then - -$as_echo "#define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h - -fi - - -for ac_header in argz.h -do : - ac_fn_c_check_header_compile "$LINENO" "argz.h" "ac_cv_header_argz_h" "$ac_includes_default -" -if test "x$ac_cv_header_argz_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ARGZ_H 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if defined(HAVE_ARGZ_H) -# include <argz.h> -#endif -" -if test "x$ac_cv_type_error_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_ERROR_T 1 -_ACEOF - - -else - -$as_echo "#define error_t int" >>confdefs.h - - -$as_echo "#define __error_t_defined 1" >>confdefs.h - -fi - - -LT_ARGZ_H= -for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - LT_ARGZ_H=lt__argz.h; case " $LIBOBJS " in - *" lt__argz.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext" - ;; -esac - -fi -done - - -if test -z "$LT_ARGZ_H"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 -$as_echo_n "checking if argz actually works... " >&6; } -if ${lt_cv_sys_argz_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test no != "$cross_compiling"; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test 1 -lt "$lt_os_major" \ - || { test 1 -eq "$lt_os_major" \ - && { test 5 -lt "$lt_os_minor" \ - || { test 5 -eq "$lt_os_minor" \ - && test 24 -lt "$lt_os_micro"; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 -$as_echo "$lt_cv_sys_argz_works" >&6; } - if test yes = "$lt_cv_sys_argz_works"; then : - -$as_echo "#define HAVE_WORKING_ARGZ 1" >>confdefs.h - -else - LT_ARGZ_H=lt__argz.h - case " $LIBOBJS " in - *" lt__argz.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext" - ;; -esac - -fi -fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libtool supports -dlopen/-dlpreopen" >&5 -$as_echo_n "checking whether libtool supports -dlopen/-dlpreopen... " >&6; } -if ${libltdl_cv_preloaded_symbols+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$lt_cv_sys_global_symbol_pipe"; then - libltdl_cv_preloaded_symbols=yes - else - libltdl_cv_preloaded_symbols=no - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 -$as_echo "$libltdl_cv_preloaded_symbols" >&6; } -if test yes = "$libltdl_cv_preloaded_symbols"; then - -$as_echo "#define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h - -fi - - - -# Check whether --enable-ltdl-install was given. -if test "${enable_ltdl_install+set}" = set; then : - enableval=$enable_ltdl_install; -fi - - -case ,$enable_ltdl_install,$enable_ltdl_convenience in - *yes*) ;; - *) enable_ltdl_convenience=yes ;; -esac - - if test no != "${enable_ltdl_install-no}"; then - INSTALL_LTDL_TRUE= - INSTALL_LTDL_FALSE='#' -else - INSTALL_LTDL_TRUE='#' - INSTALL_LTDL_FALSE= -fi - - if test no != "${enable_ltdl_convenience-no}"; then - CONVENIENCE_LTDL_TRUE= - CONVENIENCE_LTDL_FALSE='#' -else - CONVENIENCE_LTDL_TRUE='#' - CONVENIENCE_LTDL_FALSE= -fi - - - - - - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). - - - -for ac_header in unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_func in closedir opendir readdir -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIBOBJS " in - *" lt__dirent.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lt__dirent.$ac_objext" - ;; -esac - -fi -done - -for ac_func in strlcat strlcpy -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIBOBJS " in - *" lt__strl.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lt__strl.$ac_objext" - ;; -esac - -fi -done - - - -cat >>confdefs.h <<_ACEOF -#define LT_LIBEXT "$libext" -_ACEOF - - -name= -eval "lt_libprefix=\"$libname_spec\"" - -cat >>confdefs.h <<_ACEOF -#define LT_LIBPREFIX "$lt_libprefix" -_ACEOF - - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" - - - -# Enable all the language support we can -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CXX_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - - - - -func_stripname_cnf () -{ - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; - esac -} # func_stripname_cnf - - if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -$as_echo_n "checking how to run the C++ preprocessor... " >&6; } -if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -$as_echo "$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_cxx_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -else - _lt_caught_CXX_error=yes -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -compiler_needs_object_CXX=no -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_direct_absolute_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -inherit_rpath_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -reload_flag_CXX=$reload_flag -reload_cmds_CXX=$reload_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - compiler_CXX=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' - else - lt_prog_compiler_no_builtin_flag_CXX= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test no != "$with_gnu_ld" && break - ;; - *) - test yes != "$with_gnu_ld" && break - ;; - esac - fi - done - IFS=$lt_save_ifs -else - lt_cv_path_LD=$LD # Let the user override the test with a path. -fi -fi - -LD=$lt_cv_path_LD -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$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' - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - ld_shlibs_CXX=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - file_list_spec_CXX='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_CXX=no - hardcode_direct_absolute_CXX=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_CXX='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - always_export_symbols_CXX=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - no_undefined_flag_CXX='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__CXX"; then - lt_cv_aix_libpath__CXX=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__CXX -fi - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' $wl-bernotok' - allow_undefined_flag_CXX=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - fi - archive_cmds_need_lc_CXX=yes - archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl* | ,icl* | no,icl*) - # Native MSVC or ICC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_CXX=' ' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=yes - file_list_spec_CXX='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' - enable_shared_with_static_runtimes_CXX=yes - # Don't use ranlib - old_postinstall_cmds_CXX='chmod 644 $oldlib' - postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - export_dynamic_flag_spec_CXX='$wl--export-all-symbols' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_CXX='$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' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $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' - else - ld_shlibs_CXX=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - - - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_CXX='' - fi - link_all_deplibs_CXX=yes - allow_undefined_flag_CXX=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_CXX="$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" - module_expsym_cmds_CXX="$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" - if test yes != "$lt_cv_apple_cc_single_mod"; then - archive_cmds_CXX="\$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" - archive_expsym_cmds_CXX="$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" - fi - - else - ld_shlibs_CXX=no - fi - - ;; - - os2*) - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_minus_L_CXX=yes - allow_undefined_flag_CXX=unsupported - shrext_cmds=.dll - archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_CXX=yes - file_list_spec_CXX='@' - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - ld_shlibs_CXX=no - ;; - - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - - freebsd* | dragonfly* | midnightbsd*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - - haiku*) - archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_CXX=yes - ;; - - hpux9*) - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='$wl-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$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' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes = "$GXX"; then - archive_cmds_CXX='$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' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - export_dynamic_flag_spec_CXX='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_direct_absolute_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='$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' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$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' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - archive_cmds_CXX='$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' - else - archive_cmds_CXX='$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' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - inherit_rpath_CXX=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='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' - archive_expsym_cmds_CXX='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' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [1-5].* | *pgcpp\ [1-5].*) - prelink_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - old_archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - archive_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $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' - ;; - *) # Version 6 and above use weak symbols - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$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' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - whole_archive_flag_spec_CXX='$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' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_CXX='$wl--export-dynamic' - archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='$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' - compiler_needs_object_CXX=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - ld_shlibs_CXX=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - hardcode_direct_absolute_CXX=yes - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='$wl-E' - whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - ld_shlibs_CXX=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='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' - - hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - case $host in - osf3*) - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - archive_cmds_CXX='$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' - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - ;; - *) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$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' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $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~ - $RM $lib.exp' - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - ;; - esac - - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - archive_cmds_CXX='$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' - ;; - *) - archive_cmds_CXX='$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' - ;; - esac - - hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - no_undefined_flag_CXX=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='$wl-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_CXX='$wl-z,text' - allow_undefined_flag_CXX='$wl-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ - '"$old_archive_cmds_CXX" - reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ - '"$reload_cmds_CXX" - ;; - *) - archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } - test no = "$ld_shlibs_CXX" && can_build_shared=no - - GCC_CXX=$GXX - LD_CXX=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX=$prev$p - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX=$prev$p - else - postdeps_CXX="${postdeps_CXX} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX=$p - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX=$p - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - compiler_lib_search_dirs_CXX= -if test -n "${compiler_lib_search_path_CXX}"; then - compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - - - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - lt_prog_compiler_pic_CXX='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_CXX='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_CXX='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix[4-9]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly* | midnightbsd*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-qpic' - lt_prog_compiler_static_CXX='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_CXX='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } -lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_CXX=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_CXX=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_CXX=yes - fi - else - lt_cv_prog_compiler_static_works_CXX=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then - : -else - lt_prog_compiler_static_CXX= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - case $host_os in - aix[4-9]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$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' - else - export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - ;; - pw32*) - export_symbols_cmds_CXX=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl* | icl*) - exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - ;; - esac - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -$as_echo "$ld_shlibs_CXX" >&6; } -test no = "$ld_shlibs_CXX" && can_build_shared=no - -with_gnu_ld_CXX=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_CXX=no - else - lt_cv_archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } - archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_CXX='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || - test -n "$runpath_var_CXX" || - test yes = "$hardcode_automatic_CXX"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_CXX" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && - test no != "$hardcode_minus_L_CXX"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -$as_echo "$hardcode_action_CXX" >&6; } - -if test relink = "$hardcode_action_CXX" || - test yes = "$inherit_rpath_CXX"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 -$as_echo "$F77" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_F77="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 -$as_echo "$ac_ct_F77" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - F77=$ac_ct_F77 - fi -fi - - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 -$as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } -if ${ac_cv_f77_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 -$as_echo "$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 -$as_echo_n "checking whether $F77 accepts -g... " >&6; } -if ${ac_cv_prog_f77_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - FFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_compile "$LINENO"; then : - ac_cv_prog_f77_g=yes -else - ac_cv_prog_f77_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 -$as_echo "$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - G77=yes -else - G77= -fi -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - - ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - -if test -z "$F77" || test no = "$F77"; then - _lt_disable_F77=yes -fi - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_direct_absolute_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -inherit_rpath_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -reload_flag_F77=$reload_flag -reload_cmds_F77=$reload_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_F77"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - compiler_F77=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - GCC=$G77 - if test -n "$compiler"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - GCC_F77=$G77 - LD_F77=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - lt_prog_compiler_pic_F77='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_F77='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_F77='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_F77= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_F77='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_F77='-Xlinker ' - if test -n "$lt_prog_compiler_pic_F77"; then - lt_prog_compiler_pic_F77="-Xcompiler $lt_prog_compiler_pic_F77" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_F77='-Wl,-Wl,,' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_F77='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='--shared' - lt_prog_compiler_static_F77='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_F77='-Wl,-Wl,,' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-qpic' - lt_prog_compiler_static_F77='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fPIC' - lt_prog_compiler_static_F77='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_F77='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_F77='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_F77=$lt_prog_compiler_pic_F77 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_F77" >&5 -$as_echo "$lt_cv_prog_compiler_pic_F77" >&6; } -lt_prog_compiler_pic_F77=$lt_cv_prog_compiler_pic_F77 - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_F77=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_F77"; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_F77=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_F77=yes - fi - else - lt_cv_prog_compiler_static_works_F77=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_F77"; then - : -else - lt_prog_compiler_static_F77= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_F77" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_F77= - always_export_symbols_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - compiler_needs_object_F77=no - enable_shared_with_static_runtimes_F77=no - export_dynamic_flag_spec_F77= - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_F77=no - hardcode_direct_F77=no - hardcode_direct_absolute_F77=no - hardcode_libdir_flag_spec_F77= - hardcode_libdir_separator_F77= - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - inherit_rpath_F77=no - link_all_deplibs_F77=unknown - module_cmds_F77= - module_expsym_cmds_F77= - old_archive_from_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - thread_safe_flag_spec_F77= - whole_archive_flag_spec_F77= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_F77=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_F77='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='' - ;; - m68k) - archive_cmds_F77='$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)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - export_dynamic_flag_spec_F77='$wl--export-all-symbols' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_F77='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_F77=no - fi - ;; - - haiku*) - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_F77=yes - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - shrext_cmds=.dll - archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_F77=yes - file_list_spec_F77='@' - ;; - - interix[3-9]*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - export_dynamic_flag_spec_F77='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_F77= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_F77='$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' - compiler_needs_object_F77=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_F77='$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' - compiler_needs_object_F77=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_F77='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_F77='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_F77='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_F77=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - - if test no = "$ld_shlibs_F77"; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_F77='$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' - else - export_symbols_cmds_F77='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - file_list_spec_F77='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_F77=no - hardcode_direct_absolute_F77=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_F77='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__F77 -fi - - hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_F77='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__F77=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__F77"; then - lt_cv_aix_libpath__F77=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__F77 -fi - - hardcode_libdir_flag_spec_F77='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' $wl-bernotok' - allow_undefined_flag_F77=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_F77='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - fi - archive_cmds_need_lc_F77=yes - archive_expsym_cmds_F77='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_F77="$archive_expsym_cmds_F77"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='' - ;; - m68k) - archive_cmds_F77='$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)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - file_list_spec_F77='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_F77='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, F77)='true' - enable_shared_with_static_runtimes_F77=yes - exclude_expsyms_F77='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_F77='chmod 644 $oldlib' - postlink_cmds_F77='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_F77=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_F77='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - compiler_needs_object_F77=yes - else - whole_archive_flag_spec_F77='' - fi - link_all_deplibs_F77=yes - allow_undefined_flag_F77=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_F77="$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" - module_expsym_cmds_F77="$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" - - else - ld_shlibs_F77=no - fi - - ;; - - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_F77='$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' - else - archive_cmds_F77='$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' - fi - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_F77='$wl+b $wl$libdir' - hardcode_libdir_separator_F77=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - hardcode_direct_absolute_F77=yes - export_dynamic_flag_spec_F77='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_F77='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat > conftest.$ac_ext <<_ACEOF - - subroutine foo - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_F77='$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' - fi - else - archive_cmds_F77='$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' - archive_expsym_cmds_F77='$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' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - inherit_rpath_F77=yes - link_all_deplibs_F77=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_F77=yes - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - hardcode_direct_absolute_F77=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - export_dynamic_flag_spec_F77='$wl-E' - else - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='$wl-rpath,$libdir' - fi - else - ld_shlibs_F77=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - shrext_cmds=.dll - archive_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_F77='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_F77=yes - file_list_spec_F77='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' - archive_cmds_F77='$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' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$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' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - hardcode_libdir_separator_F77=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_F77=' $wl-expect_unresolved $wl\*' - archive_cmds_F77='$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' - hardcode_libdir_flag_spec_F77='$wl-rpath $wl$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$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' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - archive_cmds_need_lc_F77='no' - hardcode_libdir_separator_F77=: - ;; - - solaris*) - no_undefined_flag_F77=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_F77='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_F77='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_F77='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_F77='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_F77=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_F77='$wl-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='$wl-z,text' - allow_undefined_flag_F77='$wl-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='$wl-R,$libdir' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_F77='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - *) - ld_shlibs_F77=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_F77='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5 -$as_echo "$ld_shlibs_F77" >&6; } -test no = "$ld_shlibs_F77" && can_build_shared=no - -with_gnu_ld_F77=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_F77+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_F77 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_F77=no - else - lt_cv_archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_F77" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_F77" >&6; } - archive_cmds_need_lc_F77=$lt_cv_archive_cmds_need_lc_F77 - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_F77='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_F77\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_F77\"" - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_f77_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || - test -n "$runpath_var_F77" || - test yes = "$hardcode_automatic_F77"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_F77" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, F77)" && - test no != "$hardcode_minus_L_F77"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5 -$as_echo "$hardcode_action_F77" >&6; } - -if test relink = "$hardcode_action_F77" || - test yes = "$inherit_rpath_F77"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_F77" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$FC"; then - ac_cv_prog_FC="$FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_FC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FC=$ac_cv_prog_FC -if test -n "$FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 -$as_echo "$FC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$FC" && break - done -fi -if test -z "$FC"; then - ac_ct_FC=$FC - for ac_prog in gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor xlf90 f90 pgf90 pghpf epcf90 g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_FC"; then - ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FC=$ac_cv_prog_ac_ct_FC -if test -n "$ac_ct_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 -$as_echo "$ac_ct_FC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_FC" && break -done - - if test "x$ac_ct_FC" = x; then - FC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FC=$ac_ct_FC - fi -fi - - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 -$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } -if ${ac_cv_fc_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_fc_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 -$as_echo "$ac_cv_fc_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FCFLAGS=${FCFLAGS+set} -ac_save_FCFLAGS=$FCFLAGS -FCFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 -$as_echo_n "checking whether $FC accepts -g... " >&6; } -if ${ac_cv_prog_fc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - FCFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_cv_prog_fc_g=yes -else - ac_cv_prog_fc_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 -$as_echo "$ac_cv_prog_fc_g" >&6; } -if test "$ac_test_FCFLAGS" = set; then - FCFLAGS=$ac_save_FCFLAGS -elif test $ac_cv_prog_fc_g = yes; then - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-g -O2" - else - FCFLAGS="-g" - fi -else - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-O2" - else - FCFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - GFC=yes -else - GFC= -fi -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - - ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - -if test -z "$FC" || test no = "$FC"; then - _lt_disable_FC=yes -fi - -archive_cmds_need_lc_FC=no -allow_undefined_flag_FC= -always_export_symbols_FC=no -archive_expsym_cmds_FC= -export_dynamic_flag_spec_FC= -hardcode_direct_FC=no -hardcode_direct_absolute_FC=no -hardcode_libdir_flag_spec_FC= -hardcode_libdir_separator_FC= -hardcode_minus_L_FC=no -hardcode_automatic_FC=no -inherit_rpath_FC=no -module_cmds_FC= -module_expsym_cmds_FC= -link_all_deplibs_FC=unknown -old_archive_cmds_FC=$old_archive_cmds -reload_flag_FC=$reload_flag -reload_cmds_FC=$reload_cmds -no_undefined_flag_FC= -whole_archive_flag_spec_FC= -enable_shared_with_static_runtimes_FC=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -objext_FC=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_FC"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - - # save warnings/boilerplate of simple test code - ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - - ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - compiler_FC=$CC - func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - - if test -n "$compiler"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - GCC_FC=$ac_cv_fc_compiler_gnu - LD_FC=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - # Dependencies to place before and after the object being linked: -predep_objects_FC= -postdep_objects_FC= -predeps_FC= -postdeps_FC= -compiler_lib_search_path_FC= - -cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF - - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_FC"; then - compiler_lib_search_path_FC=$prev$p - else - compiler_lib_search_path_FC="${compiler_lib_search_path_FC} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_FC"; then - postdeps_FC=$prev$p - else - postdeps_FC="${postdeps_FC} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$predep_objects_FC"; then - predep_objects_FC=$p - else - predep_objects_FC="$predep_objects_FC $p" - fi - else - if test -z "$postdep_objects_FC"; then - postdep_objects_FC=$p - else - postdep_objects_FC="$postdep_objects_FC $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling FC test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken - - -case " $postdeps_FC " in -*" -lc "*) archive_cmds_need_lc_FC=no ;; -esac - compiler_lib_search_dirs_FC= -if test -n "${compiler_lib_search_path_FC}"; then - compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi - - - - - - - - - - - - - - lt_prog_compiler_wl_FC= -lt_prog_compiler_pic_FC= -lt_prog_compiler_static_FC= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_static_FC='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_FC='-Bstatic' - fi - lt_prog_compiler_pic_FC='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_FC='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_FC='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_FC='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_FC='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_FC= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_FC='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_FC=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_FC='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_FC=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_FC='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_FC='-Xlinker ' - if test -n "$lt_prog_compiler_pic_FC"; then - lt_prog_compiler_pic_FC="-Xcompiler $lt_prog_compiler_pic_FC" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_FC='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_FC='-Bstatic' - else - lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_FC='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_FC='-Wl,-Wl,,' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_FC='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_FC='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_FC='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_FC='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_FC='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_FC='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_FC='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='--shared' - lt_prog_compiler_static_FC='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_FC='-Wl,-Wl,,' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fpic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_FC='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_FC='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-qpic' - lt_prog_compiler_static_FC='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - lt_prog_compiler_wl_FC='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fPIC' - lt_prog_compiler_static_FC='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-fpic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_FC='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_FC='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_FC='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_FC='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_FC='-Qoption ld ';; - *) - lt_prog_compiler_wl_FC='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_FC='-Qoption ld ' - lt_prog_compiler_pic_FC='-PIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_FC='-Kconform_pic' - lt_prog_compiler_static_FC='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_pic_FC='-KPIC' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_FC='-Wl,' - lt_prog_compiler_can_build_shared_FC=no - ;; - - uts4*) - lt_prog_compiler_pic_FC='-pic' - lt_prog_compiler_static_FC='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_FC=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_FC= - ;; - *) - lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 -$as_echo "$lt_cv_prog_compiler_pic_FC" >&6; } -lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_FC=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_FC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_FC=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_FC" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then - case $lt_prog_compiler_pic_FC in - "" | " "*) ;; - *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;; - esac -else - lt_prog_compiler_pic_FC= - lt_prog_compiler_can_build_shared_FC=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_FC=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_FC=yes - fi - else - lt_cv_prog_compiler_static_works_FC=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_FC" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_FC"; then - : -else - lt_prog_compiler_static_FC= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_FC=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_FC=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_FC=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_FC=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_FC" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_FC= - always_export_symbols_FC=no - archive_cmds_FC= - archive_expsym_cmds_FC= - compiler_needs_object_FC=no - enable_shared_with_static_runtimes_FC=no - export_dynamic_flag_spec_FC= - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_FC=no - hardcode_direct_FC=no - hardcode_direct_absolute_FC=no - hardcode_libdir_flag_spec_FC= - hardcode_libdir_separator_FC= - hardcode_minus_L_FC=no - hardcode_shlibpath_var_FC=unsupported - inherit_rpath_FC=no - link_all_deplibs_FC=unknown - module_cmds_FC= - module_expsym_cmds_FC= - old_archive_from_new_cmds_FC= - old_archive_from_expsyms_cmds_FC= - thread_safe_flag_spec_FC= - whole_archive_flag_spec_FC= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_FC= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_FC=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_FC='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_FC=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_FC= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='' - ;; - m68k) - archive_cmds_FC='$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)' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_FC=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_FC=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_FC='-L$libdir' - export_dynamic_flag_spec_FC='$wl--export-all-symbols' - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=no - enable_shared_with_static_runtimes_FC=yes - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_FC='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_FC=no - fi - ;; - - haiku*) - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_FC=yes - ;; - - os2*) - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - allow_undefined_flag_FC=unsupported - shrext_cmds=.dll - archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_FC=yes - file_list_spec_FC='@' - ;; - - interix[3-9]*) - hardcode_direct_FC=no - hardcode_shlibpath_var_FC=no - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - export_dynamic_flag_spec_FC='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_FC='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_FC='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_FC='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_FC= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_FC='$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' - compiler_needs_object_FC=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_FC='$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' - compiler_needs_object_FC=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_FC='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - archive_cmds_FC='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_FC=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_FC=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_FC=no - fi - ;; - esac - - if test no = "$ld_shlibs_FC"; then - runpath_var= - hardcode_libdir_flag_spec_FC= - export_dynamic_flag_spec_FC= - whole_archive_flag_spec_FC= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=yes - archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_FC=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_FC=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_FC='$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' - else - export_symbols_cmds_FC='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_FC='' - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - hardcode_libdir_separator_FC=':' - link_all_deplibs_FC=yes - file_list_spec_FC='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_FC=no - hardcode_direct_absolute_FC=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_FC=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_FC=yes - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_libdir_separator_FC= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_FC='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_FC=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_FC='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__FC -fi - - hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_FC='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_FC='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_FC="-z nodefs" - archive_expsym_cmds_FC="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__FC"; then - lt_cv_aix_libpath__FC=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__FC -fi - - hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_FC=' $wl-bernotok' - allow_undefined_flag_FC=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_FC='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_FC='$convenience' - fi - archive_cmds_need_lc_FC=yes - archive_expsym_cmds_FC='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_FC='' - ;; - m68k) - archive_cmds_FC='$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)' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_FC=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_FC=' ' - allow_undefined_flag_FC=unsupported - always_export_symbols_FC=yes - file_list_spec_FC='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_FC='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, FC)='true' - enable_shared_with_static_runtimes_FC=yes - exclude_expsyms_FC='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_FC='chmod 644 $oldlib' - postlink_cmds_FC='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_FC=' ' - allow_undefined_flag_FC=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_FC='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_FC=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_FC=no - hardcode_direct_FC=no - hardcode_automatic_FC=yes - hardcode_shlibpath_var_FC=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_FC='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - compiler_needs_object_FC=yes - else - whole_archive_flag_spec_FC='' - fi - link_all_deplibs_FC=yes - allow_undefined_flag_FC=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_FC="$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" - module_expsym_cmds_FC="$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" - - else - ld_shlibs_FC=no - fi - - ;; - - dgux*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_shlibpath_var_FC=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes - hardcode_minus_L_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_FC='$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' - else - archive_cmds_FC='$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' - fi - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_direct_FC=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_FC='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_FC='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' - hardcode_libdir_separator_FC=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_FC=no - hardcode_shlibpath_var_FC=no - ;; - *) - hardcode_direct_FC=yes - hardcode_direct_absolute_FC=yes - export_dynamic_flag_spec_FC='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_FC=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_FC='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat > conftest.$ac_ext <<_ACEOF - - subroutine foo - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_FC='$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' - fi - else - archive_cmds_FC='$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' - archive_expsym_cmds_FC='$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' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - inherit_rpath_FC=yes - link_all_deplibs_FC=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_FC=yes - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - newsos6) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - hardcode_shlibpath_var_FC=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_FC=yes - hardcode_shlibpath_var_FC=no - hardcode_direct_absolute_FC=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - export_dynamic_flag_spec_FC='$wl-E' - else - archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' - fi - else - ld_shlibs_FC=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_minus_L_FC=yes - allow_undefined_flag_FC=unsupported - shrext_cmds=.dll - archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_FC=yes - file_list_spec_FC='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' - archive_cmds_FC='$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' - else - allow_undefined_flag_FC=' -expect_unresolved \*' - archive_cmds_FC='$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' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - hardcode_libdir_separator_FC=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' - archive_cmds_FC='$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' - hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' - else - allow_undefined_flag_FC=' -expect_unresolved \*' - archive_cmds_FC='$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' - archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_FC='-rpath $libdir' - fi - archive_cmds_need_lc_FC='no' - hardcode_libdir_separator_FC=: - ;; - - solaris*) - no_undefined_flag_FC=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_FC='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_FC='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_FC='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_FC='-R$libdir' - hardcode_shlibpath_var_FC=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_FC='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_FC=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_FC='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_direct_FC=yes - hardcode_minus_L_FC=yes - hardcode_shlibpath_var_FC=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_FC='$CC -r -o $output$reload_objs' - hardcode_direct_FC=no - ;; - motorola) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_FC=no - ;; - - sysv4.3*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_FC=no - export_dynamic_flag_spec_FC='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_FC=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_FC=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_FC='$wl-z,text' - archive_cmds_need_lc_FC=no - hardcode_shlibpath_var_FC=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_FC='$wl-z,text' - allow_undefined_flag_FC='$wl-z,nodefs' - archive_cmds_need_lc_FC=no - hardcode_shlibpath_var_FC=no - hardcode_libdir_flag_spec_FC='$wl-R,$libdir' - hardcode_libdir_separator_FC=':' - link_all_deplibs_FC=yes - export_dynamic_flag_spec_FC='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_FC='-L$libdir' - hardcode_shlibpath_var_FC=no - ;; - - *) - ld_shlibs_FC=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_FC='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 -$as_echo "$ld_shlibs_FC" >&6; } -test no = "$ld_shlibs_FC" && can_build_shared=no - -with_gnu_ld_FC=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_FC" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_FC=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_FC in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_FC - pic_flag=$lt_prog_compiler_pic_FC - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_FC - allow_undefined_flag_FC= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_FC=no - else - lt_cv_archive_cmds_need_lc_FC=yes - fi - allow_undefined_flag_FC=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_FC" >&6; } - archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec_FC='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\"" - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_FC= -if test -n "$hardcode_libdir_flag_spec_FC" || - test -n "$runpath_var_FC" || - test yes = "$hardcode_automatic_FC"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_FC" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" && - test no != "$hardcode_minus_L_FC"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_FC=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_FC=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_FC=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 -$as_echo "$hardcode_action_FC" >&6; } - -if test relink = "$hardcode_action_FC" || - test yes = "$inherit_rpath_FC"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_FC" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gccgo", so it can be a program name with args. -set dummy ${ac_tool_prefix}gccgo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GOC"; then - ac_cv_prog_GOC="$GOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GOC="${ac_tool_prefix}gccgo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GOC=$ac_cv_prog_GOC -if test -n "$GOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOC" >&5 -$as_echo "$GOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GOC"; then - ac_ct_GOC=$GOC - # Extract the first word of "gccgo", so it can be a program name with args. -set dummy gccgo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GOC"; then - ac_cv_prog_ac_ct_GOC="$ac_ct_GOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GOC="gccgo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GOC=$ac_cv_prog_ac_ct_GOC -if test -n "$ac_ct_GOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GOC" >&5 -$as_echo "$ac_ct_GOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GOC" = x; then - GOC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GOC=$ac_ct_GOC - fi -else - GOC="$ac_cv_prog_GOC" -fi - - - - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -objext_GO=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -compiler_GO=$CC -LD_GO=$LD -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Go did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GO=no - -old_archive_cmds_GO=$old_archive_cmds -reload_flag_GO=$reload_flag -reload_cmds_GO=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag_GO= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag_GO=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag_GO=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag_GO="$lt_prog_compiler_no_builtin_flag_GO -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - lt_prog_compiler_wl_GO= -lt_prog_compiler_pic_GO= -lt_prog_compiler_static_GO= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_static_GO='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GO='-Bstatic' - fi - lt_prog_compiler_pic_GO='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_GO='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_GO='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_GO='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_GO='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GO='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_GO= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GO='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GO=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GO='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GO=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_GO='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_GO='-Xlinker ' - if test -n "$lt_prog_compiler_pic_GO"; then - lt_prog_compiler_pic_GO="-Xcompiler $lt_prog_compiler_pic_GO" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GO='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GO='-Bstatic' - else - lt_prog_compiler_static_GO='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GO='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GO='-Wl,-Wl,,' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GO='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static_GO='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GO='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GO='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GO='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GO='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GO='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='--shared' - lt_prog_compiler_static_GO='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GO='-Wl,-Wl,,' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fpic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GO='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GO='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-qpic' - lt_prog_compiler_static_GO='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - lt_prog_compiler_wl_GO='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fPIC' - lt_prog_compiler_static_GO='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-fpic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GO='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GO='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GO='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GO='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_GO='-Qoption ld ';; - *) - lt_prog_compiler_wl_GO='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GO='-Qoption ld ' - lt_prog_compiler_pic_GO='-PIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GO='-Kconform_pic' - lt_prog_compiler_static_GO='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_pic_GO='-KPIC' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GO='-Wl,' - lt_prog_compiler_can_build_shared_GO=no - ;; - - uts4*) - lt_prog_compiler_pic_GO='-pic' - lt_prog_compiler_static_GO='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GO=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GO= - ;; - *) - lt_prog_compiler_pic_GO="$lt_prog_compiler_pic_GO" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_GO=$lt_prog_compiler_pic_GO -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GO" >&5 -$as_echo "$lt_cv_prog_compiler_pic_GO" >&6; } -lt_prog_compiler_pic_GO=$lt_cv_prog_compiler_pic_GO - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GO works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GO works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_GO=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GO" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_GO=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GO" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_GO" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_GO"; then - case $lt_prog_compiler_pic_GO in - "" | " "*) ;; - *) lt_prog_compiler_pic_GO=" $lt_prog_compiler_pic_GO" ;; - esac -else - lt_prog_compiler_pic_GO= - lt_prog_compiler_can_build_shared_GO=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GO eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GO\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_GO=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_GO=yes - fi - else - lt_cv_prog_compiler_static_works_GO=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GO" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_GO" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_GO"; then - : -else - lt_prog_compiler_static_GO= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GO=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GO=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GO=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GO=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GO" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GO" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_GO" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_GO= - always_export_symbols_GO=no - archive_cmds_GO= - archive_expsym_cmds_GO= - compiler_needs_object_GO=no - enable_shared_with_static_runtimes_GO=no - export_dynamic_flag_spec_GO= - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_GO=no - hardcode_direct_GO=no - hardcode_direct_absolute_GO=no - hardcode_libdir_flag_spec_GO= - hardcode_libdir_separator_GO= - hardcode_minus_L_GO=no - hardcode_shlibpath_var_GO=unsupported - inherit_rpath_GO=no - link_all_deplibs_GO=unknown - module_cmds_GO= - module_expsym_cmds_GO= - old_archive_from_new_cmds_GO= - old_archive_from_expsyms_cmds_GO= - thread_safe_flag_spec_GO= - whole_archive_flag_spec_GO= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GO= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_GO='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GO=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_GO='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GO=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_GO= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='' - ;; - m68k) - archive_cmds_GO='$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)' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GO=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GO='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_GO=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, GO) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GO='-L$libdir' - export_dynamic_flag_spec_GO='$wl--export-all-symbols' - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=no - enable_shared_with_static_runtimes_GO=yes - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_GO='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GO=no - fi - ;; - - haiku*) - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_GO=yes - ;; - - os2*) - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - allow_undefined_flag_GO=unsupported - shrext_cmds=.dll - archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GO=yes - file_list_spec_GO='@' - ;; - - interix[3-9]*) - hardcode_direct_GO=no - hardcode_shlibpath_var_GO=no - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - export_dynamic_flag_spec_GO='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GO='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GO='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GO='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_GO= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_GO='$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' - compiler_needs_object_GO=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GO='$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' - compiler_needs_object_GO=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_GO='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_GO='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_GO='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - archive_cmds_GO='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GO='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_GO=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GO='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GO=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GO='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GO=no - fi - ;; - esac - - if test no = "$ld_shlibs_GO"; then - runpath_var= - hardcode_libdir_flag_spec_GO= - export_dynamic_flag_spec_GO= - whole_archive_flag_spec_GO= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=yes - archive_expsym_cmds_GO='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GO=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GO=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_GO='$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' - else - export_symbols_cmds_GO='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GO='' - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - hardcode_libdir_separator_GO=':' - link_all_deplibs_GO=yes - file_list_spec_GO='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_GO=no - hardcode_direct_absolute_GO=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GO=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GO=yes - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_libdir_separator_GO= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_GO='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GO=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GO='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GO -fi - - hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GO='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_GO='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GO="-z nodefs" - archive_expsym_cmds_GO="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GO=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GO"; then - lt_cv_aix_libpath__GO=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GO -fi - - hardcode_libdir_flag_spec_GO='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GO=' $wl-bernotok' - allow_undefined_flag_GO=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_GO='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GO='$convenience' - fi - archive_cmds_need_lc_GO=yes - archive_expsym_cmds_GO='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_GO="$archive_expsym_cmds_GO"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GO='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GO='' - ;; - m68k) - archive_cmds_GO='$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)' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GO=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_GO=' ' - allow_undefined_flag_GO=unsupported - always_export_symbols_GO=yes - file_list_spec_GO='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GO='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_GO='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, GO)='true' - enable_shared_with_static_runtimes_GO=yes - exclude_expsyms_GO='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_GO='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_GO='chmod 644 $oldlib' - postlink_cmds_GO='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_GO=' ' - allow_undefined_flag_GO=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GO='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_GO='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GO='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_GO=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_GO=no - hardcode_direct_GO=no - hardcode_automatic_GO=yes - hardcode_shlibpath_var_GO=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_GO='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_GO='' - fi - link_all_deplibs_GO=yes - allow_undefined_flag_GO=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_GO="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_GO="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_GO="$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" - module_expsym_cmds_GO="$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" - - else - ld_shlibs_GO=no - fi - - ;; - - dgux*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_shlibpath_var_GO=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes - hardcode_minus_L_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_GO='$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' - else - archive_cmds_GO='$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' - fi - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_direct_GO=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_GO='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GO='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GO='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GO='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GO='$wl+b $wl$libdir' - hardcode_libdir_separator_GO=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_GO=no - hardcode_shlibpath_var_GO=no - ;; - *) - hardcode_direct_GO=yes - hardcode_direct_absolute_GO=yes - export_dynamic_flag_spec_GO='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GO=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_GO='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_GO='$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' - fi - else - archive_cmds_GO='$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' - archive_expsym_cmds_GO='$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' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - inherit_rpath_GO=yes - link_all_deplibs_GO=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_GO=yes - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GO='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GO='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - newsos6) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - hardcode_shlibpath_var_GO=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GO=yes - hardcode_shlibpath_var_GO=no - hardcode_direct_absolute_GO=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - export_dynamic_flag_spec_GO='$wl-E' - else - archive_cmds_GO='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GO='$wl-rpath,$libdir' - fi - else - ld_shlibs_GO=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_minus_L_GO=yes - allow_undefined_flag_GO=unsupported - shrext_cmds=.dll - archive_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GO='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GO='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GO=yes - file_list_spec_GO='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' - archive_cmds_GO='$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' - else - allow_undefined_flag_GO=' -expect_unresolved \*' - archive_cmds_GO='$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' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GO=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_GO=' $wl-expect_unresolved $wl\*' - archive_cmds_GO='$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' - hardcode_libdir_flag_spec_GO='$wl-rpath $wl$libdir' - else - allow_undefined_flag_GO=' -expect_unresolved \*' - archive_cmds_GO='$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' - archive_expsym_cmds_GO='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GO='-rpath $libdir' - fi - archive_cmds_need_lc_GO='no' - hardcode_libdir_separator_GO=: - ;; - - solaris*) - no_undefined_flag_GO=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_GO='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_GO='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_GO='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_GO='-R$libdir' - hardcode_shlibpath_var_GO=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_GO='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_GO='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GO=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GO='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_direct_GO=yes - hardcode_minus_L_GO=yes - hardcode_shlibpath_var_GO=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GO='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GO='$CC -r -o $output$reload_objs' - hardcode_direct_GO=no - ;; - motorola) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GO=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GO=no - ;; - - sysv4.3*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GO=no - export_dynamic_flag_spec_GO='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GO=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GO=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GO='$wl-z,text' - archive_cmds_need_lc_GO=no - hardcode_shlibpath_var_GO=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GO='$wl-z,text' - allow_undefined_flag_GO='$wl-z,nodefs' - archive_cmds_need_lc_GO=no - hardcode_shlibpath_var_GO=no - hardcode_libdir_flag_spec_GO='$wl-R,$libdir' - hardcode_libdir_separator_GO=':' - link_all_deplibs_GO=yes - export_dynamic_flag_spec_GO='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GO='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GO='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GO='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GO='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GO='-L$libdir' - hardcode_shlibpath_var_GO=no - ;; - - *) - ld_shlibs_GO=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_GO='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GO" >&5 -$as_echo "$ld_shlibs_GO" >&6; } -test no = "$ld_shlibs_GO" && can_build_shared=no - -with_gnu_ld_GO=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GO" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GO=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_GO in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_GO+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GO - pic_flag=$lt_prog_compiler_pic_GO - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GO - allow_undefined_flag_GO= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_GO 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_GO=no - else - lt_cv_archive_cmds_need_lc_GO=yes - fi - allow_undefined_flag_GO=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GO" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_GO" >&6; } - archive_cmds_need_lc_GO=$lt_cv_archive_cmds_need_lc_GO - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_GO= -if test -n "$hardcode_libdir_flag_spec_GO" || - test -n "$runpath_var_GO" || - test yes = "$hardcode_automatic_GO"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_GO" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GO)" && - test no != "$hardcode_minus_L_GO"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GO=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GO=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GO=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GO" >&5 -$as_echo "$hardcode_action_GO" >&6; } - -if test relink = "$hardcode_action_GO" || - test yes = "$inherit_rpath_GO"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcj", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcj; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GCJ"; then - ac_cv_prog_GCJ="$GCJ" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GCJ="${ac_tool_prefix}gcj" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -GCJ=$ac_cv_prog_GCJ -if test -n "$GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ" >&5 -$as_echo "$GCJ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_GCJ"; then - ac_ct_GCJ=$GCJ - # Extract the first word of "gcj", so it can be a program name with args. -set dummy gcj; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_GCJ"; then - ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_GCJ="gcj" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ -if test -n "$ac_ct_GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5 -$as_echo "$ac_ct_GCJ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_GCJ" = x; then - GCJ="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - GCJ=$ac_ct_GCJ - fi -else - GCJ="$ac_cv_prog_GCJ" -fi - - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - - - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -compiler_GCJ=$CC -LD_GCJ=$LD -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no - -old_archive_cmds_GCJ=$old_archive_cmds -reload_flag_GCJ=$reload_flag -reload_cmds_GCJ=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag_GCJ= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag_GCJ=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - - case $host_os in - os2*) - lt_prog_compiler_static_GCJ='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static_GCJ= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GCJ='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl_GCJ='-Xlinker ' - if test -n "$lt_prog_compiler_pic_GCJ"; then - lt_prog_compiler_pic_GCJ="-Xcompiler $lt_prog_compiler_pic_GCJ" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - - case $host_os in - os2*) - lt_prog_compiler_static_GCJ='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='--shared' - lt_prog_compiler_static_GCJ='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl_GCJ='-Wl,-Wl,,' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-qpic' - lt_prog_compiler_static_GCJ='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic_GCJ='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_GCJ=$lt_prog_compiler_pic_GCJ -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_pic_GCJ" >&6; } -lt_prog_compiler_pic_GCJ=$lt_cv_prog_compiler_pic_GCJ - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } -if ${lt_cv_prog_compiler_pic_works_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works_GCJ=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works_GCJ"; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - -fi - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works_GCJ=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works_GCJ=yes - fi - else - lt_cv_prog_compiler_static_works_GCJ=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works_GCJ"; then - : -else - lt_prog_compiler_static_GCJ= -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -$as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o_GCJ" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag_GCJ= - always_export_symbols_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - compiler_needs_object_GCJ=no - enable_shared_with_static_runtimes_GCJ=no - export_dynamic_flag_spec_GCJ= - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic_GCJ=no - hardcode_direct_GCJ=no - hardcode_direct_absolute_GCJ=no - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - inherit_rpath_GCJ=no - link_all_deplibs_GCJ=unknown - module_cmds_GCJ= - module_expsym_cmds_GCJ= - old_archive_from_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - thread_safe_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - export_dynamic_flag_spec_GCJ='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='' - ;; - m68k) - archive_cmds_GCJ='$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)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - export_dynamic_flag_spec_GCJ='$wl--export-all-symbols' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms_GCJ='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - haiku*) - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs_GCJ=yes - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - shrext_cmds=.dll - archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GCJ=yes - file_list_spec_GCJ='@' - ;; - - interix[3-9]*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - export_dynamic_flag_spec_GCJ='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec_GCJ= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec_GCJ='$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' - compiler_needs_object_GCJ=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GCJ='$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' - compiler_needs_object_GCJ=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec_GCJ='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec_GCJ='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs_GCJ=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - - if test no = "$ld_shlibs_GCJ"; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$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' - else - export_symbols_cmds_GCJ='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - file_list_spec_GCJ='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct_GCJ=no - hardcode_direct_absolute_GCJ=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec_GCJ='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GCJ -fi - - hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_GCJ='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath__GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath__GCJ=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath__GCJ"; then - lt_cv_aix_libpath__GCJ=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath__GCJ -fi - - hardcode_libdir_flag_spec_GCJ='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' $wl-bernotok' - allow_undefined_flag_GCJ=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec_GCJ='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - fi - archive_cmds_need_lc_GCJ=yes - archive_expsym_cmds_GCJ='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds_GCJ="$archive_expsym_cmds_GCJ"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='' - ;; - m68k) - archive_cmds_GCJ='$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)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - file_list_spec_GCJ='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds_GCJ='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, GCJ)='true' - enable_shared_with_static_runtimes_GCJ=yes - exclude_expsyms_GCJ='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds_GCJ='chmod 644 $oldlib' - postlink_cmds_GCJ='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes_GCJ=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec_GCJ='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec_GCJ='' - fi - link_all_deplibs_GCJ=yes - allow_undefined_flag_GCJ=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds_GCJ="$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" - module_expsym_cmds_GCJ="$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" - - else - ld_shlibs_GCJ=no - fi - - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds_GCJ='$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' - else - archive_cmds_GCJ='$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' - fi - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec_GCJ='$wl+b $wl$libdir' - hardcode_libdir_separator_GCJ=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - hardcode_direct_absolute_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds_GCJ='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds_GCJ='$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' - fi - else - archive_cmds_GCJ='$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' - archive_expsym_cmds_GCJ='$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' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - inherit_rpath_GCJ=yes - link_all_deplibs_GCJ=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs_GCJ=yes - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - hardcode_direct_absolute_GCJ=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - export_dynamic_flag_spec_GCJ='$wl-E' - else - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='$wl-rpath,$libdir' - fi - else - ld_shlibs_GCJ=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - shrext_cmds=.dll - archive_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds_GCJ='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes_GCJ=yes - file_list_spec_GCJ='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' - archive_cmds_GCJ='$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' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$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' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag_GCJ=' $wl-expect_unresolved $wl\*' - archive_cmds_GCJ='$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' - hardcode_libdir_flag_spec_GCJ='$wl-rpath $wl$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$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' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - archive_cmds_need_lc_GCJ='no' - hardcode_libdir_separator_GCJ=: - ;; - - solaris*) - no_undefined_flag_GCJ=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds_GCJ='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds_GCJ='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds_GCJ='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec_GCJ='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GCJ='$wl-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='$wl-z,text' - allow_undefined_flag_GCJ='$wl-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='$wl-R,$libdir' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds_GCJ='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - *) - ld_shlibs_GCJ=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec_GCJ='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GCJ" >&5 -$as_echo "$ld_shlibs_GCJ" >&6; } -test no = "$ld_shlibs_GCJ" && can_build_shared=no - -with_gnu_ld_GCJ=$with_gnu_ld - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc_GCJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc_GCJ=no - else - lt_cv_archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GCJ" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc_GCJ" >&6; } - archive_cmds_need_lc_GCJ=$lt_cv_archive_cmds_need_lc_GCJ - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || - test -n "$runpath_var_GCJ" || - test yes = "$hardcode_automatic_GCJ"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct_GCJ" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, GCJ)" && - test no != "$hardcode_minus_L_GCJ"; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GCJ" >&5 -$as_echo "$hardcode_action_GCJ" >&6; } - -if test relink = "$hardcode_action_GCJ" || - test yes = "$inherit_rpath_GCJ"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. -set dummy ${ac_tool_prefix}windres; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RC"; then - ac_cv_prog_RC="$RC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RC="${ac_tool_prefix}windres" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RC=$ac_cv_prog_RC -if test -n "$RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 -$as_echo "$RC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RC"; then - ac_ct_RC=$RC - # Extract the first word of "windres", so it can be a program name with args. -set dummy windres; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RC"; then - ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RC="windres" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RC=$ac_cv_prog_ac_ct_RC -if test -n "$ac_ct_RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 -$as_echo "$ac_ct_RC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RC" = x; then - RC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RC=$ac_ct_RC - fi -else - RC="$ac_cv_prog_RC" -fi - - - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code=$lt_simple_compile_test_code - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -compiler_RC=$CC -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - -lt_cv_prog_compiler_c_o_RC=yes - -if test -n "$compiler"; then - : - - - -fi - -GCC=$lt_save_GCC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - - -# Ensure the correct file name (and path) conversion function -# is available to the test suite. - -# Propagate --with-aix-soname option to the testsuite. - -## ---------------------- ## -## Gnulib initialisation. ## -## ---------------------- ## - - - - - - - - - # Check whether --enable-cross-guesses was given. -if test "${enable_cross_guesses+set}" = set; then : - enableval=$enable_cross_guesses; if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: invalid argument supplied to --enable-cross-guesses" >&5 -$as_echo "$as_me: WARNING: invalid argument supplied to --enable-cross-guesses" >&2;} - enableval=conservative - fi - gl_cross_guesses="$enableval" -else - gl_cross_guesses=conservative -fi - - if test $gl_cross_guesses = risky; then - gl_cross_guess_normal="guessing yes" - gl_cross_guess_inverted="guessing no" - else - gl_cross_guess_normal="guessing no" - gl_cross_guess_inverted="guessing yes" - fi - LIBC_FATAL_STDERR_=1 - export LIBC_FATAL_STDERR_ - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5 -$as_echo_n "checking for C compiler option to allow warnings... " >&6; } -if ${gl_cv_cc_wallow+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest* - echo 'int dummy;' > conftest.c - { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cc_wallow='-Wno-error' - else - gl_cv_cc_wallow=none - fi - rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_wallow" >&5 -$as_echo "$gl_cv_cc_wallow" >&6; } - case "$gl_cv_cc_wallow" in - none) GL_CFLAG_ALLOW_WARNINGS='' ;; - *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; - esac - - - - if test -n "$CXX" && test "$CXX" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler option to allow warnings" >&5 -$as_echo_n "checking for C++ compiler option to allow warnings... " >&6; } -if ${gl_cv_cxx_wallow+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest* - echo 'int dummy;' > conftest.cc - { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - { ac_try='${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cxx_wallow='-Wno-error' - else - gl_cv_cxx_wallow=none - fi - rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cxx_wallow" >&5 -$as_echo "$gl_cv_cxx_wallow" >&6; } - case "$gl_cv_cxx_wallow" in - none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; - *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; - esac - else - GL_CXXFLAG_ALLOW_WARNINGS='' - fi - - - - - GL_CFLAG_GNULIB_WARNINGS='' - if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then - cat > conftest.c <<\EOF - #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-cast-qual - -Wno-conversion - -Wno-float-equal - -Wno-sign-compare - -Wno-undef - -Wno-unused-function - -Wno-unused-parameter - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-float-conversion - #endif - #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wimplicit-fallthrough - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-pedantic - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-sign-conversion - -Wno-type-limits - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 - -Wno-unsuffixed-float-constants - #endif -EOF - gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gl_command\""; } >&5 - (eval $gl_command) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - gl_options=`grep -v '#' conftest.out` - for word in $gl_options; do - GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" - done - fi - rm -f conftest.c conftest.out - fi - - - - if true; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi - - gl_cond_libtool=true - gl_m4_base='m4' - - - - - - - - - - - - - gl_source_base='lib' - gl_source_base_prefix= - # Autoconf 2.61a.99 and earlier don't support linking a file only - # in VPATH builds. But since GNUmakefile is for maintainer use - # only, it does not matter if we skip the link with older autoconf. - # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH - # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" - - - - - # End of code from modules - - - - - - - - - - gltests_libdeps= - gltests_ltlibdeps= - - - - - - - - - - - - - - - gl_source_base='gnulib-tests' - gl_source_base_prefix= - GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS - - gl_module_indicator_condition=$GLtests_WITNESS - - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - - - - - - - - - - - - - - -## ------------- ## -## Documentation ## -## ------------- ## - -HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} - - -## -------- ## -## Outputs. ## -## -------- ## -ac_config_files="$ac_config_files Makefile gnulib-tests/Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then - as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then - as_fn_error $? "conditional \"CONVENIENCE_LTDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -LT_CONFIG_H=config.h -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then - as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -CONFIG_INCLUDE=config.h - - - GL_libobjs= - GL_ltlibobjs= - GL_libobjdeps= - if test -n "$GL_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' - for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GL_libobjs="$GL_libobjs $i.$ac_objext" - GL_ltlibobjs="$GL_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - GL_LIBOBJS=$GL_libobjs - - GL_LTLIBOBJS=$GL_ltlibobjs - - GL_LIBOBJDEPS=$GL_libobjdeps - - - - GLtests_libobjs= - GLtests_ltlibobjs= - GLtests_libobjdeps= - if test -n "$GLtests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' - for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" - GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - GLtests_LIBOBJS=$GLtests_libobjs - - GLtests_LTLIBOBJS=$GLtests_ltlibobjs - - GLtests_LIBOBJDEPS=$GLtests_libobjdeps - - - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by GNU Libtool $as_me 2.4.7, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_links="$ac_config_links" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration links: -$config_links - -Configuration commands: -$config_commands - -Report bugs to <bug-libtool@gnu.org>. -GNU Libtool home page: <http://www.gnu.org/software/libtool/>. -General help using GNU software: <http://www.gnu.org/gethelp/>." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -GNU Libtool config.status 2.4.7 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# - -AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' -predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' -postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' -predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' -postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' -LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' -LD_F77='`$ECHO "$LD_F77" | $SED "$delay_single_quote_subst"`' -LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`' -LD_GO='`$ECHO "$LD_GO" | $SED "$delay_single_quote_subst"`' -LD_GCJ='`$ECHO "$LD_GCJ" | $SED "$delay_single_quote_subst"`' -LD_RC='`$ECHO "$LD_RC" | $SED "$delay_single_quote_subst"`' -reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' -reload_flag_F77='`$ECHO "$reload_flag_F77" | $SED "$delay_single_quote_subst"`' -reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`' -reload_flag_GO='`$ECHO "$reload_flag_GO" | $SED "$delay_single_quote_subst"`' -reload_flag_GCJ='`$ECHO "$reload_flag_GCJ" | $SED "$delay_single_quote_subst"`' -reload_flag_RC='`$ECHO "$reload_flag_RC" | $SED "$delay_single_quote_subst"`' -reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' -reload_cmds_F77='`$ECHO "$reload_cmds_F77" | $SED "$delay_single_quote_subst"`' -reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`' -reload_cmds_GO='`$ECHO "$reload_cmds_GO" | $SED "$delay_single_quote_subst"`' -reload_cmds_GCJ='`$ECHO "$reload_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -reload_cmds_RC='`$ECHO "$reload_cmds_RC" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_F77='`$ECHO "$old_archive_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_GO='`$ECHO "$old_archive_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_GCJ='`$ECHO "$old_archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_RC='`$ECHO "$old_archive_cmds_RC" | $SED "$delay_single_quote_subst"`' -compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' -compiler_F77='`$ECHO "$compiler_F77" | $SED "$delay_single_quote_subst"`' -compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`' -compiler_GO='`$ECHO "$compiler_GO" | $SED "$delay_single_quote_subst"`' -compiler_GCJ='`$ECHO "$compiler_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_RC='`$ECHO "$compiler_RC" | $SED "$delay_single_quote_subst"`' -GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' -GCC_F77='`$ECHO "$GCC_F77" | $SED "$delay_single_quote_subst"`' -GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`' -GCC_GO='`$ECHO "$GCC_GO" | $SED "$delay_single_quote_subst"`' -GCC_GCJ='`$ECHO "$GCC_GCJ" | $SED "$delay_single_quote_subst"`' -GCC_RC='`$ECHO "$GCC_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_F77='`$ECHO "$lt_prog_compiler_no_builtin_flag_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_GO='`$ECHO "$lt_prog_compiler_no_builtin_flag_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "$lt_prog_compiler_no_builtin_flag_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_RC='`$ECHO "$lt_prog_compiler_no_builtin_flag_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_F77='`$ECHO "$lt_prog_compiler_pic_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_GO='`$ECHO "$lt_prog_compiler_pic_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_GCJ='`$ECHO "$lt_prog_compiler_pic_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_RC='`$ECHO "$lt_prog_compiler_pic_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_F77='`$ECHO "$lt_prog_compiler_wl_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_GO='`$ECHO "$lt_prog_compiler_wl_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_GCJ='`$ECHO "$lt_prog_compiler_wl_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_RC='`$ECHO "$lt_prog_compiler_wl_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_F77='`$ECHO "$lt_prog_compiler_static_F77" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_GO='`$ECHO "$lt_prog_compiler_static_GO" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_GCJ='`$ECHO "$lt_prog_compiler_static_GCJ" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_RC='`$ECHO "$lt_prog_compiler_static_RC" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_F77='`$ECHO "$lt_cv_prog_compiler_c_o_F77" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_GO='`$ECHO "$lt_cv_prog_compiler_c_o_GO" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_GCJ='`$ECHO "$lt_cv_prog_compiler_c_o_GCJ" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_RC='`$ECHO "$lt_cv_prog_compiler_c_o_RC" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_F77='`$ECHO "$archive_cmds_need_lc_F77" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_GO='`$ECHO "$archive_cmds_need_lc_GO" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_GCJ='`$ECHO "$archive_cmds_need_lc_GCJ" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_RC='`$ECHO "$archive_cmds_need_lc_RC" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_F77='`$ECHO "$enable_shared_with_static_runtimes_F77" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_GO='`$ECHO "$enable_shared_with_static_runtimes_GO" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_GCJ='`$ECHO "$enable_shared_with_static_runtimes_GCJ" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_RC='`$ECHO "$enable_shared_with_static_runtimes_RC" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_F77='`$ECHO "$export_dynamic_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_GO='`$ECHO "$export_dynamic_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_GCJ='`$ECHO "$export_dynamic_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_RC='`$ECHO "$export_dynamic_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_F77='`$ECHO "$whole_archive_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_GO='`$ECHO "$whole_archive_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_GCJ='`$ECHO "$whole_archive_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_RC='`$ECHO "$whole_archive_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_F77='`$ECHO "$compiler_needs_object_F77" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_GO='`$ECHO "$compiler_needs_object_GO" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_GCJ='`$ECHO "$compiler_needs_object_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_RC='`$ECHO "$compiler_needs_object_RC" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_F77='`$ECHO "$old_archive_from_new_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_GO='`$ECHO "$old_archive_from_new_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_GCJ='`$ECHO "$old_archive_from_new_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_RC='`$ECHO "$old_archive_from_new_cmds_RC" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_F77='`$ECHO "$old_archive_from_expsyms_cmds_F77" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_GO='`$ECHO "$old_archive_from_expsyms_cmds_GO" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_GCJ='`$ECHO "$old_archive_from_expsyms_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_RC='`$ECHO "$old_archive_from_expsyms_cmds_RC" | $SED "$delay_single_quote_subst"`' -archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_cmds_F77='`$ECHO "$archive_cmds_F77" | $SED "$delay_single_quote_subst"`' -archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`' -archive_cmds_GO='`$ECHO "$archive_cmds_GO" | $SED "$delay_single_quote_subst"`' -archive_cmds_GCJ='`$ECHO "$archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -archive_cmds_RC='`$ECHO "$archive_cmds_RC" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_F77='`$ECHO "$archive_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_GO='`$ECHO "$archive_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_GCJ='`$ECHO "$archive_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_RC='`$ECHO "$archive_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' -module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_cmds_F77='`$ECHO "$module_cmds_F77" | $SED "$delay_single_quote_subst"`' -module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`' -module_cmds_GO='`$ECHO "$module_cmds_GO" | $SED "$delay_single_quote_subst"`' -module_cmds_GCJ='`$ECHO "$module_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -module_cmds_RC='`$ECHO "$module_cmds_RC" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_F77='`$ECHO "$module_expsym_cmds_F77" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_GO='`$ECHO "$module_expsym_cmds_GO" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_GCJ='`$ECHO "$module_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_RC='`$ECHO "$module_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_F77='`$ECHO "$with_gnu_ld_F77" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_GO='`$ECHO "$with_gnu_ld_GO" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_GCJ='`$ECHO "$with_gnu_ld_GCJ" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_RC='`$ECHO "$with_gnu_ld_RC" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_F77='`$ECHO "$allow_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_GO='`$ECHO "$allow_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_GCJ='`$ECHO "$allow_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_RC='`$ECHO "$allow_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_F77='`$ECHO "$no_undefined_flag_F77" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_GO='`$ECHO "$no_undefined_flag_GO" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_GCJ='`$ECHO "$no_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_RC='`$ECHO "$no_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_F77='`$ECHO "$hardcode_libdir_flag_spec_F77" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_GO='`$ECHO "$hardcode_libdir_flag_spec_GO" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_GCJ='`$ECHO "$hardcode_libdir_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_RC='`$ECHO "$hardcode_libdir_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_F77='`$ECHO "$hardcode_libdir_separator_F77" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_GO='`$ECHO "$hardcode_libdir_separator_GO" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_GCJ='`$ECHO "$hardcode_libdir_separator_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_RC='`$ECHO "$hardcode_libdir_separator_RC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_F77='`$ECHO "$hardcode_direct_F77" | $SED "$delay_single_quote_subst"`' -hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_GO='`$ECHO "$hardcode_direct_GO" | $SED "$delay_single_quote_subst"`' -hardcode_direct_GCJ='`$ECHO "$hardcode_direct_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_direct_RC='`$ECHO "$hardcode_direct_RC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_F77='`$ECHO "$hardcode_direct_absolute_F77" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_GO='`$ECHO "$hardcode_direct_absolute_GO" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_GCJ='`$ECHO "$hardcode_direct_absolute_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_RC='`$ECHO "$hardcode_direct_absolute_RC" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_F77='`$ECHO "$hardcode_minus_L_F77" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_GO='`$ECHO "$hardcode_minus_L_GO" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_GCJ='`$ECHO "$hardcode_minus_L_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_RC='`$ECHO "$hardcode_minus_L_RC" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_F77='`$ECHO "$hardcode_shlibpath_var_F77" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_GO='`$ECHO "$hardcode_shlibpath_var_GO" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_GCJ='`$ECHO "$hardcode_shlibpath_var_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_RC='`$ECHO "$hardcode_shlibpath_var_RC" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_F77='`$ECHO "$hardcode_automatic_F77" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_GO='`$ECHO "$hardcode_automatic_GO" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_GCJ='`$ECHO "$hardcode_automatic_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_RC='`$ECHO "$hardcode_automatic_RC" | $SED "$delay_single_quote_subst"`' -inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' -inherit_rpath_F77='`$ECHO "$inherit_rpath_F77" | $SED "$delay_single_quote_subst"`' -inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`' -inherit_rpath_GO='`$ECHO "$inherit_rpath_GO" | $SED "$delay_single_quote_subst"`' -inherit_rpath_GCJ='`$ECHO "$inherit_rpath_GCJ" | $SED "$delay_single_quote_subst"`' -inherit_rpath_RC='`$ECHO "$inherit_rpath_RC" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_F77='`$ECHO "$link_all_deplibs_F77" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_GO='`$ECHO "$link_all_deplibs_GO" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_GCJ='`$ECHO "$link_all_deplibs_GCJ" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_RC='`$ECHO "$link_all_deplibs_RC" | $SED "$delay_single_quote_subst"`' -always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' -always_export_symbols_F77='`$ECHO "$always_export_symbols_F77" | $SED "$delay_single_quote_subst"`' -always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`' -always_export_symbols_GO='`$ECHO "$always_export_symbols_GO" | $SED "$delay_single_quote_subst"`' -always_export_symbols_GCJ='`$ECHO "$always_export_symbols_GCJ" | $SED "$delay_single_quote_subst"`' -always_export_symbols_RC='`$ECHO "$always_export_symbols_RC" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_F77='`$ECHO "$export_symbols_cmds_F77" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_GO='`$ECHO "$export_symbols_cmds_GO" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_GCJ='`$ECHO "$export_symbols_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_RC='`$ECHO "$export_symbols_cmds_RC" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_F77='`$ECHO "$exclude_expsyms_F77" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_GO='`$ECHO "$exclude_expsyms_GO" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_GCJ='`$ECHO "$exclude_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_RC='`$ECHO "$exclude_expsyms_RC" | $SED "$delay_single_quote_subst"`' -include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' -include_expsyms_F77='`$ECHO "$include_expsyms_F77" | $SED "$delay_single_quote_subst"`' -include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`' -include_expsyms_GO='`$ECHO "$include_expsyms_GO" | $SED "$delay_single_quote_subst"`' -include_expsyms_GCJ='`$ECHO "$include_expsyms_GCJ" | $SED "$delay_single_quote_subst"`' -include_expsyms_RC='`$ECHO "$include_expsyms_RC" | $SED "$delay_single_quote_subst"`' -prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -prelink_cmds_F77='`$ECHO "$prelink_cmds_F77" | $SED "$delay_single_quote_subst"`' -prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`' -prelink_cmds_GO='`$ECHO "$prelink_cmds_GO" | $SED "$delay_single_quote_subst"`' -prelink_cmds_GCJ='`$ECHO "$prelink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -prelink_cmds_RC='`$ECHO "$prelink_cmds_RC" | $SED "$delay_single_quote_subst"`' -postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' -postlink_cmds_F77='`$ECHO "$postlink_cmds_F77" | $SED "$delay_single_quote_subst"`' -postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`' -postlink_cmds_GO='`$ECHO "$postlink_cmds_GO" | $SED "$delay_single_quote_subst"`' -postlink_cmds_GCJ='`$ECHO "$postlink_cmds_GCJ" | $SED "$delay_single_quote_subst"`' -postlink_cmds_RC='`$ECHO "$postlink_cmds_RC" | $SED "$delay_single_quote_subst"`' -file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' -file_list_spec_F77='`$ECHO "$file_list_spec_F77" | $SED "$delay_single_quote_subst"`' -file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`' -file_list_spec_GO='`$ECHO "$file_list_spec_GO" | $SED "$delay_single_quote_subst"`' -file_list_spec_GCJ='`$ECHO "$file_list_spec_GCJ" | $SED "$delay_single_quote_subst"`' -file_list_spec_RC='`$ECHO "$file_list_spec_RC" | $SED "$delay_single_quote_subst"`' -hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_action_F77='`$ECHO "$hardcode_action_F77" | $SED "$delay_single_quote_subst"`' -hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`' -hardcode_action_GO='`$ECHO "$hardcode_action_GO" | $SED "$delay_single_quote_subst"`' -hardcode_action_GCJ='`$ECHO "$hardcode_action_GCJ" | $SED "$delay_single_quote_subst"`' -hardcode_action_RC='`$ECHO "$hardcode_action_RC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_F77='`$ECHO "$compiler_lib_search_dirs_F77" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_GO='`$ECHO "$compiler_lib_search_dirs_GO" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_GCJ='`$ECHO "$compiler_lib_search_dirs_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_dirs_RC='`$ECHO "$compiler_lib_search_dirs_RC" | $SED "$delay_single_quote_subst"`' -predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' -predep_objects_F77='`$ECHO "$predep_objects_F77" | $SED "$delay_single_quote_subst"`' -predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`' -predep_objects_GO='`$ECHO "$predep_objects_GO" | $SED "$delay_single_quote_subst"`' -predep_objects_GCJ='`$ECHO "$predep_objects_GCJ" | $SED "$delay_single_quote_subst"`' -predep_objects_RC='`$ECHO "$predep_objects_RC" | $SED "$delay_single_quote_subst"`' -postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' -postdep_objects_F77='`$ECHO "$postdep_objects_F77" | $SED "$delay_single_quote_subst"`' -postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`' -postdep_objects_GO='`$ECHO "$postdep_objects_GO" | $SED "$delay_single_quote_subst"`' -postdep_objects_GCJ='`$ECHO "$postdep_objects_GCJ" | $SED "$delay_single_quote_subst"`' -postdep_objects_RC='`$ECHO "$postdep_objects_RC" | $SED "$delay_single_quote_subst"`' -predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' -predeps_F77='`$ECHO "$predeps_F77" | $SED "$delay_single_quote_subst"`' -predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`' -predeps_GO='`$ECHO "$predeps_GO" | $SED "$delay_single_quote_subst"`' -predeps_GCJ='`$ECHO "$predeps_GCJ" | $SED "$delay_single_quote_subst"`' -predeps_RC='`$ECHO "$predeps_RC" | $SED "$delay_single_quote_subst"`' -postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' -postdeps_F77='`$ECHO "$postdeps_F77" | $SED "$delay_single_quote_subst"`' -postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`' -postdeps_GO='`$ECHO "$postdeps_GO" | $SED "$delay_single_quote_subst"`' -postdeps_GCJ='`$ECHO "$postdeps_GCJ" | $SED "$delay_single_quote_subst"`' -postdeps_RC='`$ECHO "$postdeps_RC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_F77='`$ECHO "$compiler_lib_search_path_F77" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_GO='`$ECHO "$compiler_lib_search_path_GO" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_GCJ='`$ECHO "$compiler_lib_search_path_GCJ" | $SED "$delay_single_quote_subst"`' -compiler_lib_search_path_RC='`$ECHO "$compiler_lib_search_path_RC" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -FILECMD \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -sharedlib_from_linklib_cmd \ -AR \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -compiler_lib_search_dirs \ -predep_objects \ -postdep_objects \ -predeps \ -postdeps \ -compiler_lib_search_path \ -LD_CXX \ -LD_F77 \ -LD_FC \ -LD_GO \ -LD_GCJ \ -LD_RC \ -reload_flag_CXX \ -reload_flag_F77 \ -reload_flag_FC \ -reload_flag_GO \ -reload_flag_GCJ \ -reload_flag_RC \ -compiler_CXX \ -compiler_F77 \ -compiler_FC \ -compiler_GO \ -compiler_GCJ \ -compiler_RC \ -lt_prog_compiler_no_builtin_flag_CXX \ -lt_prog_compiler_no_builtin_flag_F77 \ -lt_prog_compiler_no_builtin_flag_FC \ -lt_prog_compiler_no_builtin_flag_GO \ -lt_prog_compiler_no_builtin_flag_GCJ \ -lt_prog_compiler_no_builtin_flag_RC \ -lt_prog_compiler_pic_CXX \ -lt_prog_compiler_pic_F77 \ -lt_prog_compiler_pic_FC \ -lt_prog_compiler_pic_GO \ -lt_prog_compiler_pic_GCJ \ -lt_prog_compiler_pic_RC \ -lt_prog_compiler_wl_CXX \ -lt_prog_compiler_wl_F77 \ -lt_prog_compiler_wl_FC \ -lt_prog_compiler_wl_GO \ -lt_prog_compiler_wl_GCJ \ -lt_prog_compiler_wl_RC \ -lt_prog_compiler_static_CXX \ -lt_prog_compiler_static_F77 \ -lt_prog_compiler_static_FC \ -lt_prog_compiler_static_GO \ -lt_prog_compiler_static_GCJ \ -lt_prog_compiler_static_RC \ -lt_cv_prog_compiler_c_o_CXX \ -lt_cv_prog_compiler_c_o_F77 \ -lt_cv_prog_compiler_c_o_FC \ -lt_cv_prog_compiler_c_o_GO \ -lt_cv_prog_compiler_c_o_GCJ \ -lt_cv_prog_compiler_c_o_RC \ -export_dynamic_flag_spec_CXX \ -export_dynamic_flag_spec_F77 \ -export_dynamic_flag_spec_FC \ -export_dynamic_flag_spec_GO \ -export_dynamic_flag_spec_GCJ \ -export_dynamic_flag_spec_RC \ -whole_archive_flag_spec_CXX \ -whole_archive_flag_spec_F77 \ -whole_archive_flag_spec_FC \ -whole_archive_flag_spec_GO \ -whole_archive_flag_spec_GCJ \ -whole_archive_flag_spec_RC \ -compiler_needs_object_CXX \ -compiler_needs_object_F77 \ -compiler_needs_object_FC \ -compiler_needs_object_GO \ -compiler_needs_object_GCJ \ -compiler_needs_object_RC \ -with_gnu_ld_CXX \ -with_gnu_ld_F77 \ -with_gnu_ld_FC \ -with_gnu_ld_GO \ -with_gnu_ld_GCJ \ -with_gnu_ld_RC \ -allow_undefined_flag_CXX \ -allow_undefined_flag_F77 \ -allow_undefined_flag_FC \ -allow_undefined_flag_GO \ -allow_undefined_flag_GCJ \ -allow_undefined_flag_RC \ -no_undefined_flag_CXX \ -no_undefined_flag_F77 \ -no_undefined_flag_FC \ -no_undefined_flag_GO \ -no_undefined_flag_GCJ \ -no_undefined_flag_RC \ -hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_flag_spec_F77 \ -hardcode_libdir_flag_spec_FC \ -hardcode_libdir_flag_spec_GO \ -hardcode_libdir_flag_spec_GCJ \ -hardcode_libdir_flag_spec_RC \ -hardcode_libdir_separator_CXX \ -hardcode_libdir_separator_F77 \ -hardcode_libdir_separator_FC \ -hardcode_libdir_separator_GO \ -hardcode_libdir_separator_GCJ \ -hardcode_libdir_separator_RC \ -exclude_expsyms_CXX \ -exclude_expsyms_F77 \ -exclude_expsyms_FC \ -exclude_expsyms_GO \ -exclude_expsyms_GCJ \ -exclude_expsyms_RC \ -include_expsyms_CXX \ -include_expsyms_F77 \ -include_expsyms_FC \ -include_expsyms_GO \ -include_expsyms_GCJ \ -include_expsyms_RC \ -file_list_spec_CXX \ -file_list_spec_F77 \ -file_list_spec_FC \ -file_list_spec_GO \ -file_list_spec_GCJ \ -file_list_spec_RC \ -compiler_lib_search_dirs_CXX \ -compiler_lib_search_dirs_F77 \ -compiler_lib_search_dirs_FC \ -compiler_lib_search_dirs_GO \ -compiler_lib_search_dirs_GCJ \ -compiler_lib_search_dirs_RC \ -predep_objects_CXX \ -predep_objects_F77 \ -predep_objects_FC \ -predep_objects_GO \ -predep_objects_GCJ \ -predep_objects_RC \ -postdep_objects_CXX \ -postdep_objects_F77 \ -postdep_objects_FC \ -postdep_objects_GO \ -postdep_objects_GCJ \ -postdep_objects_RC \ -predeps_CXX \ -predeps_F77 \ -predeps_FC \ -predeps_GO \ -predeps_GCJ \ -predeps_RC \ -postdeps_CXX \ -postdeps_F77 \ -postdeps_FC \ -postdeps_GO \ -postdeps_GCJ \ -postdeps_RC \ -compiler_lib_search_path_CXX \ -compiler_lib_search_path_F77 \ -compiler_lib_search_path_FC \ -compiler_lib_search_path_GO \ -compiler_lib_search_path_GCJ \ -compiler_lib_search_path_RC; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path \ -reload_cmds_CXX \ -reload_cmds_F77 \ -reload_cmds_FC \ -reload_cmds_GO \ -reload_cmds_GCJ \ -reload_cmds_RC \ -old_archive_cmds_CXX \ -old_archive_cmds_F77 \ -old_archive_cmds_FC \ -old_archive_cmds_GO \ -old_archive_cmds_GCJ \ -old_archive_cmds_RC \ -old_archive_from_new_cmds_CXX \ -old_archive_from_new_cmds_F77 \ -old_archive_from_new_cmds_FC \ -old_archive_from_new_cmds_GO \ -old_archive_from_new_cmds_GCJ \ -old_archive_from_new_cmds_RC \ -old_archive_from_expsyms_cmds_CXX \ -old_archive_from_expsyms_cmds_F77 \ -old_archive_from_expsyms_cmds_FC \ -old_archive_from_expsyms_cmds_GO \ -old_archive_from_expsyms_cmds_GCJ \ -old_archive_from_expsyms_cmds_RC \ -archive_cmds_CXX \ -archive_cmds_F77 \ -archive_cmds_FC \ -archive_cmds_GO \ -archive_cmds_GCJ \ -archive_cmds_RC \ -archive_expsym_cmds_CXX \ -archive_expsym_cmds_F77 \ -archive_expsym_cmds_FC \ -archive_expsym_cmds_GO \ -archive_expsym_cmds_GCJ \ -archive_expsym_cmds_RC \ -module_cmds_CXX \ -module_cmds_F77 \ -module_cmds_FC \ -module_cmds_GO \ -module_cmds_GCJ \ -module_cmds_RC \ -module_expsym_cmds_CXX \ -module_expsym_cmds_F77 \ -module_expsym_cmds_FC \ -module_expsym_cmds_GO \ -module_expsym_cmds_GCJ \ -module_expsym_cmds_RC \ -export_symbols_cmds_CXX \ -export_symbols_cmds_F77 \ -export_symbols_cmds_FC \ -export_symbols_cmds_GO \ -export_symbols_cmds_GCJ \ -export_symbols_cmds_RC \ -prelink_cmds_CXX \ -prelink_cmds_F77 \ -prelink_cmds_FC \ -prelink_cmds_GO \ -prelink_cmds_GCJ \ -prelink_cmds_RC \ -postlink_cmds_CXX \ -postlink_cmds_F77 \ -postlink_cmds_FC \ -postlink_cmds_GO \ -postlink_cmds_GCJ \ -postlink_cmds_RC; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - - - - - - - - - - - - - -GNUmakefile=$GNUmakefile - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; - "tests/atconfig") CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "gnulib-tests/Makefile") CONFIG_FILES="$CONFIG_FILES gnulib-tests/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' <conf$$subs.awk | sed ' -/^[^""]/{ - N - s/\n// -} -' >>$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' <confdefs.h | sed ' -s/'"$ac_delim"'/"\\\ -"/g' >>$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - :L) - # - # CONFIG_LINK - # - - if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then - : - else - # Prefer the file from the source tree if names are identical. - if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then - ac_source=$srcdir/$ac_source - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 -$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} - - if test ! -r "$ac_source"; then - as_fn_error $? "$ac_source: file not found" "$LINENO" 5 - fi - rm -f "$ac_file" - - # Try a relative symlink, then a hard link, then a copy. - case $ac_source in - [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; - *) ac_rel_source=$ac_top_build_prefix$ac_source ;; - esac - ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || - ln "$ac_source" "$ac_file" 2>/dev/null || - cp -p "$ac_source" "$ac_file" || - as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 - fi - ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "tests/atconfig":C) cat >tests/atconfig <<ATEOF -# Configurable variable values for building test suites. -# Generated by $0. -# Copyright (C) 2012 Free Software Foundation, Inc. - -# The test suite will define top_srcdir=$at_top_srcdir/../.. etc. -at_testdir='tests' -abs_builddir='$ac_abs_builddir' -at_srcdir='$ac_srcdir' -abs_srcdir='$ac_abs_srcdir' -at_top_srcdir='$ac_top_srcdir' -abs_top_srcdir='$ac_abs_top_srcdir' -at_top_build_prefix='$ac_top_build_prefix' -abs_top_builddir='$ac_abs_top_builddir' - -# Backward compatibility with Autotest <= 2.59b: -at_top_builddir=\$at_top_build_prefix - -AUTOTEST_PATH='tests' - -SHELL=\${CONFIG_SHELL-'$SHELL'} -ATEOF - ;; - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - case $CONFIG_FILES in #( - *\'*) : - eval set x "$CONFIG_FILES" ;; #( - *) : - set x $CONFIG_FILES ;; #( - *) : - ;; -esac - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - - -# The names of the tagged configurations supported by this script. -available_tags='CXX F77 FC GO GCJ RC ' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Assembler program. -AS=$lt_AS - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Object dumper program. -OBJDUMP=$lt_OBJDUMP - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# A file(cmd) program that detects file types. -FILECMD=$lt_FILECMD - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive (by configure). -lt_ar_flags=$lt_ar_flags - -# Flags to create an archive. -AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects -postdep_objects=$lt_postdep_objects -predeps=$lt_predeps -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - $SED '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: CXX - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_CXX -reload_cmds=$lt_reload_cmds_CXX - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_CXX - -# A language specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU compiler? -with_gcc=$GCC_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_CXX - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_CXX - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_CXX - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_CXX - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_CXX - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_CXX - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_CXX - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_CXX -postdep_objects=$lt_postdep_objects_CXX -predeps=$lt_predeps_CXX -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# ### END LIBTOOL TAG CONFIG: CXX -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: F77 - -# The linker used to build libraries. -LD=$lt_LD_F77 - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_F77 -reload_cmds=$lt_reload_cmds_F77 - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_F77 - -# A language specific compiler. -CC=$lt_compiler_F77 - -# Is the compiler the GNU compiler? -with_gcc=$GCC_F77 - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_F77 - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_F77 - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_F77 - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_F77 - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_F77 - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_F77 - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_F77 - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_F77 - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77 - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_F77 -postdep_objects=$lt_postdep_objects_F77 -predeps=$lt_predeps_F77 -postdeps=$lt_postdeps_F77 - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 - -# ### END LIBTOOL TAG CONFIG: F77 -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: FC - -# The linker used to build libraries. -LD=$lt_LD_FC - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_FC -reload_cmds=$lt_reload_cmds_FC - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_FC - -# A language specific compiler. -CC=$lt_compiler_FC - -# Is the compiler the GNU compiler? -with_gcc=$GCC_FC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_FC - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_FC - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_FC - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_FC - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_FC - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_FC -archive_expsym_cmds=$lt_archive_expsym_cmds_FC - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_FC -module_expsym_cmds=$lt_module_expsym_cmds_FC - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_FC - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_FC - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_FC - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_FC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_FC - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_FC - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_FC - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_FC - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_FC - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_FC - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_FC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_FC - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_FC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_FC - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_FC - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_FC - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_FC - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_FC - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_FC -postdep_objects=$lt_postdep_objects_FC -predeps=$lt_predeps_FC -postdeps=$lt_postdeps_FC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_FC - -# ### END LIBTOOL TAG CONFIG: FC -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: GO - -# The linker used to build libraries. -LD=$lt_LD_GO - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_GO -reload_cmds=$lt_reload_cmds_GO - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_GO - -# A language specific compiler. -CC=$lt_compiler_GO - -# Is the compiler the GNU compiler? -with_gcc=$GCC_GO - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GO - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GO - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GO - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GO - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GO - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GO - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GO - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GO - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GO - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_GO - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GO - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GO - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_GO -archive_expsym_cmds=$lt_archive_expsym_cmds_GO - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_GO -module_expsym_cmds=$lt_module_expsym_cmds_GO - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_GO - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GO - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GO - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GO - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GO - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_GO - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_GO - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_GO - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GO - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_GO - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_GO - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GO - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_GO - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GO - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GO - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GO - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_GO - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_GO - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_GO - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GO - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GO - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_GO -postdep_objects=$lt_postdep_objects_GO -predeps=$lt_predeps_GO -postdeps=$lt_postdeps_GO - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GO - -# ### END LIBTOOL TAG CONFIG: GO -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: GCJ - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_GCJ -reload_cmds=$lt_reload_cmds_GCJ - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_GCJ - -# A language specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU compiler? -with_gcc=$GCC_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_GCJ - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_GCJ - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_GCJ - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_GCJ - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_GCJ - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_GCJ - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_GCJ - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_GCJ - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_GCJ -postdep_objects=$lt_postdep_objects_GCJ -predeps=$lt_predeps_GCJ -postdeps=$lt_postdeps_GCJ - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ - -# ### END LIBTOOL TAG CONFIG: GCJ -_LT_EOF - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: RC - -# The linker used to build libraries. -LD=$lt_LD_RC - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_RC -reload_cmds=$lt_reload_cmds_RC - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_RC - -# A language specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU compiler? -with_gcc=$GCC_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_RC - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_RC - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_RC - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_RC - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_RC - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_RC - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_RC - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_RC - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# The directories searched by this compiler when creating a shared library. -compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC - -# Dependencies to place before and after the objects being linked to -# create a shared library. -predep_objects=$lt_predep_objects_RC -postdep_objects=$lt_postdep_objects_RC -predeps=$lt_predeps_RC -postdeps=$lt_postdeps_RC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC - -# ### END LIBTOOL TAG CONFIG: RC -_LT_EOF - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/BUILD/libtool-2.4.7/configure.ac b/BUILD/libtool-2.4.7/configure.ac deleted file mode 100644 index 64c7642..0000000 --- a/BUILD/libtool-2.4.7/configure.ac +++ /dev/null @@ -1,186 +0,0 @@ -# Process this file with autoconf to create configure. -*- autoconf -*- - -# Copyright (C) 2001, 2004-2005, 2008, 2010-2019, 2021-2022 Free -# Software Foundation, Inc. -# Written by Gary V. Vaughan, 2001 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AC_PREREQ(2.64) -dnl Oldest automake required for bootstrap is below in AM_INIT_AUTOMAKE. - - -## ------------------------ ## -## Autoconf initialisation. ## -## ------------------------ ## -AC_INIT([GNU Libtool], - m4_esyscmd([build-aux/git-version-gen .tarball-version]), - [bug-libtool@gnu.org]) -m4_ifndef([AC_PACKAGE_URL], - [AC_SUBST([PACKAGE_URL], [http://www.gnu.org/s/libtool/])]) - -# Remove this when a released Autoconf is capable of bootstrapping -# Libtool without it (probably after autoconf-2.70). -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) - -# Since we already declare these directories in this file, save those -# choices, and push the results into Makefile.am to avoid declaring -# them in two places making renames error prone, and where copies -# might get out of sync. -m4_define([AC_CONFIG_AUX_DIR], - m4_defn([AC_CONFIG_AUX_DIR])[AC_SUBST([aux_dir], [$1])]) -m4_define([LT_CONFIG_LTDL_DIR], - m4_defn([LT_CONFIG_LTDL_DIR])[AC_SUBST([ltdl_dir], [$1])]) -m4_define([AC_CONFIG_MACRO_DIRS], - m4_defn([AC_CONFIG_MACRO_DIRS])[AC_SUBST([macro_dir], [$1])]) - -AC_CONFIG_HEADERS([config.h:config-h.in]) -AC_CONFIG_SRCDIR([libtoolize.in]) -LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AC_CONFIG_LIBOBJ_DIR([libltdl]) - -package_revision=`$SHELL $ac_aux_dir/git-version-gen .tarball-version` -AC_SUBST([package_revision]) - -## ------------------------ ## -## Autotest initialisation. ## -## ------------------------ ## - -AC_CONFIG_TESTDIR([tests]) -AC_SUBST([AUTOM4TE], [${AUTOM4TE=autom4te}]) -AC_SUBST([AUTOTEST], ['$(AUTOM4TE) --language=autotest']) - - -## ---------------------------------------- ## -## Display a configure time version banner. ## -## ---------------------------------------- ## - -# This is a sanity check so we can see what version is used in bug reports. -AS_BOX([Configuring AC_PACKAGE_TARNAME AC_PACKAGE_VERSION]) -echo - - -## ------------ ## -## Shell tools. ## -## ------------ ## - -AC_PROG_GNU_M4 - - -## ------------------------ ## -## Automake Initialisation. ## -## ------------------------ ## - -dnl These are bootstrap requirements! Once built, libtool may work with -dnl much older releases of autoconf and automake. See release notes. -dnl 1.11 is needed for color-tests, 1.11.1 fixes a security issue. -AM_INIT_AUTOMAKE([1.11.1 gnu subdir-objects dist-xz]) -AM_SILENT_RULES([yes]) - - -## ------------------------- ## -## Autobuild initialisation. ## -## ------------------------- ## - -# You can set autobuild_mode at configure time to specify a "unique" -# string for this build. -: ${autobuild_mode=default} -AB_VERSION='AC_PACKAGE_VERSION' -AB_INIT([$autobuild_mode]) - - -dnl Make sure config.status is regenerated when the version timestamp changes -AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/.version']) - - -## ------------------------------- ## -## Libtool specific configuration. ## -## ------------------------------- ## - -AC_SUBST([aclocaldir], ["\$(datadir)/aclocal"]) -AC_SUBST([pkgdatadir], ["\$(datadir)/$PACKAGE"]) - -AC_ARG_ENABLE(ltdl-install, - [AS_HELP_STRING([--disable-ltdl-install], [do not install libltdl])]) -if test set != "${enable_ltdl_install+set}"; then - enable_ltdl_install=yes -fi - -# The list of scripts required to build libltdl, and which need to be -# installed by libtoolize --ltdl, and consequently need to be placed in -# $pkgdatadir by our make install rule. -pkgaux_scripts="compile config.guess config.sub depcomp install-sh missing" -AC_SUBST([pkgaux_scripts]) - - -## ---------------- ## -## compiler checks. ## -## ---------------- ## - -# Need to be sure that we have a working C compiler, otherwise even with -# a good C compiler: if the following C++ tests fail, the whole libtool -# build fails! -AC_PROG_CC -GL_EARLY -AM_PROG_CC_C_O -AC_PROG_CPP - -## ----------------------- ## -## Libtool initialisation. ## -## ----------------------- ## -LT_INIT([dlopen win32-dll]) -_LT_SET_OPTION([LTDL_INIT], [nonrecursive]) -_LTDL_SETUP - -# Enable all the language support we can -LT_LANG(C++) -LT_LANG(Fortran 77) -LT_LANG(Fortran) -LT_LANG(Go) -LT_LANG(Java) -LT_LANG(Windows Resource) - -# Ensure the correct file name (and path) conversion function -# is available to the test suite. -AC_SUBST([to_host_file_cmd])dnl -AC_SUBST([to_tool_file_cmd])dnl - -# Propagate --with-aix-soname option to the testsuite. -AC_SUBST([with_aix_soname])dnl - -## ---------------------- ## -## Gnulib initialisation. ## -## ---------------------- ## -GL_INIT - -## ------------- ## -## Documentation ## -## ------------- ## -AM_MISSING_PROG([HELP2MAN], [help2man]) - -## -------- ## -## Outputs. ## -## -------- ## -AC_CONFIG_FILES([Makefile gnulib-tests/Makefile]) -AC_OUTPUT diff --git a/BUILD/libtool-2.4.7/doc/PLATFORMS b/BUILD/libtool-2.4.7/doc/PLATFORMS deleted file mode 100644 index eb8ee73..0000000 --- a/BUILD/libtool-2.4.7/doc/PLATFORMS +++ /dev/null @@ -1,162 +0,0 @@ -------------------------------------------------------- -canonical host name compiler libtool results - (tools versions) release -------------------------------------------------------- -alpha-dec-osf5.1 cc 1.3e ok (1.910) -alpha-dec-osf4.0f gcc 1.3e ok (1.910) -alpha-dec-osf4.0f cc 1.3e ok (1.910) -alpha-dec-osf3.2 gcc 0.8 ok -alpha-dec-osf3.2 cc 0.8 ok -alpha-dec-osf2.1 gcc 1.2f NS -alpha*-unknown-linux-gnu gcc 1.3b ok - (egcs-1.1.2, GNU ld 2.9.1.0.23) -hppa2.0w-hp-hpux11.00 cc 1.2f ok -hppa2.0-hp-hpux10.20 cc 1.3.2 ok -hppa1.1-hp-hpux10.20 gcc 1.2f ok -hppa1.1-hp-hpux10.20 cc 1.3c ok (1.821) -hppa1.1-hp-hpux10.10 gcc 1.2f ok -hppa1.1-hp-hpux10.10 cc 1.2f ok -hppa1.1-hp-hpux9.07 gcc 1.2f ok -hppa1.1-hp-hpux9.07 cc 1.2f ok -hppa1.1-hp-hpux9.05 gcc 1.2f ok -hppa1.1-hp-hpux9.05 cc 1.2f ok -hppa1.1-hp-hpux9.01 gcc 1.2f ok -hppa1.1-hp-hpux9.01 cc 1.2f ok -i*86-*-beos gcc 1.2f ok -i*86-*-bsdi4.0.1 gcc 1.3c ok - (gcc-2.7.2.1) -i*86-*-bsdi4.0 gcc 1.2f ok -i*86-*-bsdi3.1 gcc 1.2e NS -i*86-*-bsdi3.0 gcc 1.2e NS -i*86-*-bsdi2.1 gcc 1.2e NS -i*86-pc-cygwin gcc 1.3b NS - (egcs-1.1 stock b20.1 compiler) -i*86-*-dguxR4.20MU01 gcc 1.2 ok -i*86-*-freebsd4.3 gcc 1.3e ok (1.912) -i*86-*-freebsdelf4.0 gcc 1.3c ok - (egcs-1.1.2) -i*86-*-freebsdelf3.2 gcc 1.3c ok - (gcc-2.7.2.1) -i*86-*-freebsdelf3.1 gcc 1.3c ok - (gcc-2.7.2.1) -i*86-*-freebsdelf3.0 gcc 1.3c ok -i*86-*-freebsd3.0 gcc 1.2e ok -i*86-*-freebsd2.2.8 gcc 1.3c ok - (gcc-2.7.2.1) -i*86-*-freebsd2.2.6 gcc 1.3b ok - (egcs-1.1 & gcc-2.7.2.1, native ld) -i*86-*-freebsd2.1.5 gcc 0.5 ok -i*86-*-netbsd1.5 gcc 1.3e ok (1.901) - (egcs-1.1.2) -i*86-*-netbsd1.4 gcc 1.3c ok - (egcs-1.1.1) -i*86-*-netbsd1.4.3A gcc 1.3e ok (1.901) -i*86-*-netbsd1.3.3 gcc 1.3c ok - (gcc-2.7.2.2+myc2) -i*86-*-netbsd1.3.2 gcc 1.2e ok -i*86-*-netbsd1.3I gcc 1.2e ok - (egcs 1.1?) -i*86-*-netbsd1.2 gcc 0.9g ok -i*86-*-linux-gnu gcc 1.3e ok (1.901) - (Red Hat 7.0, gcc "2.96") -i*86-*-linux-gnu gcc 1.3e ok (1.911) - (SuSE 7.0, gcc 2.95.2) -i*86-*-linux-gnulibc1 gcc 1.2f ok -i*86-*-openbsd2.5 gcc 1.3c ok - (gcc-2.8.1) -i*86-*-openbsd2.4 gcc 1.3c ok - (gcc-2.8.1) -i*86-*-solaris2.7 gcc 1.3b ok - (egcs-1.1.2, native ld) -i*86-*-solaris2.6 gcc 1.2f ok -i*86-*-solaris2.5.1 gcc 1.2f ok -i*86-ncr-sysv4.3.03 gcc 1.2f ok -i*86-ncr-sysv4.3.03 cc 1.2e ok - (cc -Hnocopyr) -i*86-pc-sco3.2v5.0.5 cc 1.3c ok -i*86-pc-sco3.2v5.0.5 gcc 1.3c ok - (gcc 95q4c) -i*86-pc-sco3.2v5.0.5 gcc 1.3c ok - (egcs-1.1.2) -i*86-sco-sysv5uw7.1.1 gcc 1.3e ok (1.901) - (gcc-2.95.2, SCO linker) -i*86-UnixWare7.1.0-sysv5 cc 1.3c ok -i*86-UnixWare7.1.0-sysv5 gcc 1.3c ok - (egcs-1.1.1) -m68k-next-nextstep3 gcc 1.2f NS -m68k-sun-sunos4.1.1 gcc 1.2f NS - (gcc-2.5.7) -m88k-dg-dguxR4.12TMU01 gcc 1.2 ok -m88k-motorola-sysv4 gcc 1.3 ok - (egcs-1.1.2) -mips-sgi-irix6.5 gcc 1.2f ok - (gcc-2.8.1) -mips-sgi-irix6.4 gcc 1.2f ok -mips-sgi-irix6.3 gcc 1.3b ok - (egcs-1.1.2, native ld) -mips-sgi-irix6.3 cc 1.3b ok - (cc 7.0) -mips-sgi-irix6.2 gcc 1.2f ok -mips-sgi-irix6.2 cc 0.9 ok -mips-sgi-irix5.3 gcc 1.2f ok - (egcs-1.1.1) -mips-sgi-irix5.3 gcc 1.2f NS - (gcc-2.6.3) -mips-sgi-irix5.3 cc 0.8 ok -mips-sgi-irix5.2 gcc 1.3b ok - (egcs-1.1.2, native ld) -mips-sgi-irix5.2 cc 1.3b ok - (cc 3.18) -mips-sni-sysv4 cc 1.3.5 ok - (Siemens C-compiler) -mips-sni-sysv4 gcc 1.3.5 ok - (gcc-2.7.2.3, GNU assembler 2.8.1, native ld) -mipsel-unknown-openbsd2.1 gcc 1.0 ok -powerpc-apple-darwin6.4 gcc 1.5 ok -(apple dev tools released 12/2002) -powerpc-ibm-aix4.3.1.0 gcc 1.2f ok - (egcs-1.1.1) -powerpc-ibm-aix4.2.1.0 gcc 1.2f ok - (egcs-1.1.1) -powerpc-ibm-aix4.1.5.0 gcc 1.2f ok - (egcs-1.1.1) -powerpc-ibm-aix4.1.5.0 gcc 1.2f NS - (gcc-2.8.1) -powerpc-ibm-aix4.1.4.0 gcc 1.0 ok -powerpc-ibm-aix4.1.4.0 xlc 1.0i ok -rs6000-ibm-aix4.1.5.0 gcc 1.2f ok - (gcc-2.7.2) -rs6000-ibm-aix4.1.4.0 gcc 1.2f ok - (gcc-2.7.2) -rs6000-ibm-aix3.2.5 gcc 1.0i ok -rs6000-ibm-aix3.2.5 xlc 1.0i ok -sparc-sun-solaris2.8 gcc 1.3e ok (1.913) - (gcc-2.95.3 & native ld) -sparc-sun-solaris2.7 gcc 1.3e ok (1.913) - (gcc-2.95.3 & native ld) -sparc-sun-solaris2.6 gcc 1.3e ok (1.913) - (gcc-2.95.3 & native ld) -sparc-sun-solaris2.5.1 gcc 1.3e ok (1.911) -sparc-sun-solaris2.5 gcc 1.3b ok - (egcs-1.1.2, GNU ld 2.9.1 & native ld) -sparc-sun-solaris2.5 cc 1.3b ok - (SC 3.0.1) -sparc-sun-solaris2.4 gcc 1.0a ok -sparc-sun-solaris2.4 cc 1.0a ok -sparc-sun-solaris2.3 gcc 1.2f ok -sparc-sun-sunos4.1.4 gcc 1.2f ok -sparc-sun-sunos4.1.4 cc 1.0f ok -sparc-sun-sunos4.1.3_U1 gcc 1.2f ok -sparc-sun-sunos4.1.3C gcc 1.2f ok -sparc-sun-sunos4.1.3 gcc 1.3b ok - (egcs-1.1.2, GNU ld 2.9.1 & native ld) -sparc-sun-sunos4.1.3 cc 1.3b ok -sparc-unknown-bsdi4.0 gcc 1.2c ok -sparc-unknown-linux-gnulibc1 gcc 1.2f ok -sparc-unknown-linux-gnu gcc 1.3b ok - (egcs-1.1.2, GNU ld 2.9.1.0.23) -sparc64-unknown-linux-gnu gcc 1.2f ok - -Notes: -- "ok" means "all tests passed". -- "NS" means "Not Shared", but OK for static libraries diff --git a/BUILD/libtool-2.4.7/doc/fdl.texi b/BUILD/libtool-2.4.7/doc/fdl.texi deleted file mode 100644 index eaf3da0..0000000 --- a/BUILD/libtool-2.4.7/doc/fdl.texi +++ /dev/null @@ -1,505 +0,0 @@ -@c The GNU Free Documentation License. -@center Version 1.3, 3 November 2008 - -@c This file is intended to be included within another document, -@c hence no sectioning command or @node. - -@display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -@uref{https://fsf.org/} - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -@end display - -@enumerate 0 -@item -PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -functional and useful document @dfn{free} in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of ``copyleft'', which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - -@item -APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The ``Document'', below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as ``you''. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A ``Modified Version'' of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A ``Secondary Section'' is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The ``Invariant Sections'' are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The ``Cover Texts'' are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A ``Transparent'' copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not ``Transparent'' is called ``Opaque''. - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, La@TeX{} input -format, SGML or XML using a publicly available -DTD, and standard-conforming simple HTML, -PostScript or PDF designed for human modification. Examples -of transparent image formats include PNG, XCF and -JPG@. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, SGML or -XML for which the DTD and/or processing tools are -not generally available, and the machine-generated HTML, -PostScript or PDF produced by some word processors for -output purposes only. - -The ``Title Page'' means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, ``Title Page'' means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -The ``publisher'' means any person or entity that distributes copies -of the Document to the public. - -A section ``Entitled XYZ'' means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as ``Acknowledgements'', -``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' -of such a section when you modify the Document means that it remains a -section ``Entitled XYZ'' according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - -@item -VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - -@item -COPYING IN QUANTITY - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - -@item -MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -@enumerate A -@item -Use in the Title Page (and on the covers, if any) a title distinct -from that of the Document, and from those of previous versions -(which should, if there were any, be listed in the History section -of the Document). You may use the same title as a previous version -if the original publisher of that version gives permission. - -@item -List on the Title Page, as authors, one or more persons or entities -responsible for authorship of the modifications in the Modified -Version, together with at least five of the principal authors of the -Document (all of its principal authors, if it has fewer than five), -unless they release you from this requirement. - -@item -State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -@item -Preserve all the copyright notices of the Document. - -@item -Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -@item -Include, immediately after the copyright notices, a license notice -giving the public permission to use the Modified Version under the -terms of this License, in the form shown in the Addendum below. - -@item -Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document's license notice. - -@item -Include an unaltered copy of this License. - -@item -Preserve the section Entitled ``History'', Preserve its Title, and add -to it an item stating at least the title, year, new authors, and -publisher of the Modified Version as given on the Title Page. If -there is no section Entitled ``History'' in the Document, create one -stating the title, year, authors, and publisher of the Document as -given on its Title Page, then add an item describing the Modified -Version as stated in the previous sentence. - -@item -Preserve the network location, if any, given in the Document for -public access to a Transparent copy of the Document, and likewise -the network locations given in the Document for previous versions -it was based on. These may be placed in the ``History'' section. -You may omit a network location for a work that was published at -least four years before the Document itself, or if the original -publisher of the version it refers to gives permission. - -@item -For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve -the Title of the section, and preserve in the section all the -substance and tone of each of the contributor acknowledgements and/or -dedications given therein. - -@item -Preserve all the Invariant Sections of the Document, -unaltered in their text and in their titles. Section numbers -or the equivalent are not considered part of the section titles. - -@item -Delete any section Entitled ``Endorsements''. Such a section -may not be included in the Modified Version. - -@item -Do not retitle any existing section to be Entitled ``Endorsements'' or -to conflict in title with any Invariant Section. - -@item -Preserve any Warranty Disclaimers. -@end enumerate - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled ``Endorsements'', provided it contains -nothing but endorsements of your Modified Version by various -parties---for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - -@item -COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled ``History'' -in the various original documents, forming one section Entitled -``History''; likewise combine any sections Entitled ``Acknowledgements'', -and any sections Entitled ``Dedications''. You must delete all -sections Entitled ``Endorsements.'' - -@item -COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - -@item -AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an ``aggregate'' if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - -@item -TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled ``Acknowledgements'', -``Dedications'', or ``History'', the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - -@item -TERMINATION - -You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. - -However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. - -Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. - -@item -FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -@uref{https://www.gnu.org/licenses/}. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License ``or any later version'' applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. - -@item -RELICENSING - -``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the -site means any set of copyrightable works thus published on the MMC -site. - -``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. - -``Incorporate'' means to publish or republish a Document, in whole or -in part, as part of another Document. - -An MMC is ``eligible for relicensing'' if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. - -The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. - -@end enumerate - -@page -@heading ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -@smallexample -@group - Copyright (C) @var{year} @var{your name}. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -@end group -@end smallexample - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.''@: line with this: - -@smallexample -@group - with the Invariant Sections being @var{list their titles}, with - the Front-Cover Texts being @var{list}, and with the Back-Cover Texts - being @var{list}. -@end group -@end smallexample - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. - -@c Local Variables: -@c ispell-local-pdict: "ispell-dict" -@c End: diff --git a/BUILD/libtool-2.4.7/doc/gendocs_template b/BUILD/libtool-2.4.7/doc/gendocs_template deleted file mode 100644 index 0415d94..0000000 --- a/BUILD/libtool-2.4.7/doc/gendocs_template +++ /dev/null @@ -1,101 +0,0 @@ -<!--#include virtual="/server/header.html" --> -<!-- Parent-Version: 1.78 --> - -<!-- -Copyright (C) 2006-2022 Free Software Foundation, Inc. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without any warranty. ---> - -<title>%%TITLE%% - GNU Project - Free Software Foundation - -

%%TITLE%%

- -
Free Software Foundation
-
last updated %%DATE%%
- -

This manual (%%PACKAGE%%) is available in the following formats:

- -
- -

You can buy printed copies of -some manuals (among other items) from the Free Software Foundation; -this helps support FSF activities.

- -

(This page generated by the %%SCRIPTNAME%% -script.)

- - - - - - - - diff --git a/BUILD/libtool-2.4.7/doc/libtool.1 b/BUILD/libtool-2.4.7/doc/libtool.1 deleted file mode 100644 index 46b4642..0000000 --- a/BUILD/libtool-2.4.7/doc/libtool.1 +++ /dev/null @@ -1,123 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1. -.TH LIBTOOL "1" "March 2022" "GNU libtool 2.4.7" "User Commands" -.SH NAME -libtool \- manual page for libtool 2.4.7 -.SH SYNOPSIS -.B libtool -[\fI\,OPTION\/\fR]... [\fI\,MODE-ARG\/\fR]... -.SH DESCRIPTION -Provide generalized library\-building support services. -.SH OPTIONS -.TP -\fB\-\-config\fR -show all configuration variables -.TP -\fB\-\-debug\fR -enable verbose shell tracing -.TP -\fB\-n\fR, \fB\-\-dry\-run\fR -display commands without modifying any files -.TP -\fB\-\-features\fR -display basic configuration information and exit -.TP -\fB\-\-mode\fR=\fI\,MODE\/\fR -use operation mode MODE -.TP -\fB\-\-no\-warnings\fR -equivalent to '\-Wnone' -.TP -\fB\-\-preserve\-dup\-deps\fR -don't remove duplicate dependency libraries -.TP -\fB\-\-quiet\fR, \fB\-\-silent\fR -don't print informational messages -.TP -\fB\-\-tag\fR=\fI\,TAG\/\fR -use configuration variables from tag TAG -.TP -\fB\-v\fR, \fB\-\-verbose\fR -print more informational messages than default -.TP -\fB\-\-version\fR -print version information -.TP -\fB\-W\fR, \fB\-\-warnings\fR=\fI\,CATEGORY\/\fR -report the warnings falling in CATEGORY [all] -.TP -\fB\-h\fR, \fB\-\-help\fR, \fB\-\-help\-all\fR -print short, long, or detailed help message -.SS "Warning categories include:" -.TP -\&'all' -show all warnings -.TP -\&'none' -turn off all the warnings -.TP -\&'error' -warnings are treated as fatal errors -.PP -MODE must be one of the following: -.TP -clean -remove files from the build directory -.TP -compile -compile a source file into a libtool object -.TP -execute -automatically set library path, then run a program -.TP -finish -complete the installation of libtool libraries -.TP -install -install libraries or executables -.TP -link -create a library or an executable -.TP -uninstall -remove libraries from an installed directory -.PP -MODE\-ARGS vary depending on the MODE. When passed as first option, -\&'\-\-mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -.PP -GNU libtool home page: . -.PP -When reporting a bug, please describe a test case to reproduce it and -include the following information: -.TP -host\-triplet: -x86_64\-pc\-linux\-gnu -.TP -shell: -\fI\,/bin/bash\/\fP -.TP -compiler: -gcc -.IP -compiler flags: \fB\-g\fR \fB\-O2\fR -linker: \fI\,/usr/bin/ld\/\fP \fB\-m\fR elf_x86_64 (gnu? yes) -version: libtool (GNU libtool) 2.4.7 -automake: automake (GNU automake) 1.16.3 -autoconf: autoconf (GNU Autoconf) 2.69 -.SH AUTHOR -Written by Gordon Matzigkeit, 1996 -.SH "REPORTING BUGS" -Report bugs to . -.SH COPYRIGHT -Copyright \(co 2014 Free Software Foundation, Inc. -.SH "SEE ALSO" -The full documentation for -.B libtool -is maintained as a Texinfo manual. If the -.B info -and -.B libtool -programs are properly installed at your site, the command -.IP -.B info libtool -.PP -should give you access to the complete manual. diff --git a/BUILD/libtool-2.4.7/doc/libtool.info b/BUILD/libtool-2.4.7/doc/libtool.info deleted file mode 100644 index 09769bb..0000000 --- a/BUILD/libtool-2.4.7/doc/libtool.info +++ /dev/null @@ -1,143 +0,0 @@ -This is libtool.info, produced by makeinfo version 6.7 from -libtool.texi. - -This manual is for GNU Libtool (version 2.4.7, 17 March 2022). - - Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled "GNU -Free Documentation License". -INFO-DIR-SECTION Software development -START-INFO-DIR-ENTRY -* Libtool: (libtool). Generic shared library support script. -END-INFO-DIR-ENTRY - -INFO-DIR-SECTION Individual utilities -START-INFO-DIR-ENTRY -* libtool-invocation: (libtool)Invoking libtool. Running the 'libtool' script. -* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. -END-INFO-DIR-ENTRY - - -Indirect: -libtool.info-1: 972 -libtool.info-2: 314554 - -Tag Table: -(Indirect) -Node: Top972 -Node: Introduction8165 -Node: Motivation9971 -Node: Issues11291 -Node: Other implementations12769 -Node: Postmortem13312 -Node: Libtool paradigm14932 -Node: Using libtool15877 -Node: Creating object files17980 -Node: Linking libraries21716 -Ref: Linking libraries-Footnote-125525 -Node: Linking executables25666 -Ref: Linking executables-Footnote-130917 -Ref: Linking executables-Footnote-231210 -Node: Wrapper executables31291 -Node: Debugging executables33519 -Node: Installing libraries36333 -Ref: Installing libraries-Footnote-139495 -Node: Installing executables39566 -Node: Static libraries40418 -Node: Invoking libtool43696 -Node: Compile mode49352 -Node: Link mode52313 -Node: Execute mode62050 -Node: Install mode62830 -Node: Finish mode65201 -Node: Uninstall mode66063 -Node: Clean mode66504 -Node: Integrating libtool66963 -Node: Autoconf macros69793 -Node: Makefile rules73636 -Node: Using Automake74739 -Ref: Using Automake-Footnote-177610 -Node: Configuring78010 -Node: LT_INIT79244 -Ref: LT_INIT-Footnote-196612 -Node: Configure notes96865 -Node: Distributing100126 -Node: Invoking libtoolize101043 -Node: Autoconf and LTLIBOBJS107225 -Node: Static-only libraries107969 -Ref: Static-only libraries-Footnote-1109282 -Node: Other languages109391 -Node: C++ libraries110090 -Node: Tags111513 -Node: Versioning112926 -Node: Interfaces114294 -Node: Libtool versioning114927 -Node: Updating version info117140 -Node: Release numbers120171 -Node: Library tips122008 -Node: C header files124813 -Ref: C header files-Footnote-1128468 -Node: Inter-library dependencies128677 -Node: Dlopened modules131378 -Node: Building modules133265 -Node: Dlpreopening134466 -Node: Linking with dlopened modules140105 -Node: Finding the dlname145035 -Ref: Finding the dlname-Footnote-1146351 -Node: Dlopen issues146404 -Node: Using libltdl147445 -Node: Libltdl interface149277 -Ref: Libltdl interface-Footnote-1162878 -Node: Modules for libltdl163172 -Node: Thread Safety in libltdl165698 -Node: User defined module data166711 -Node: Module loaders for libltdl174197 -Ref: Module loaders for libltdl-Footnote-1183463 -Node: Distributing libltdl183569 -Ref: Distributing libltdl-Footnote-1197338 -Ref: Distributing libltdl-Footnote-2197634 -Node: Trace interface197784 -Node: FAQ198619 -Node: Stripped link flags198957 -Node: Troubleshooting200402 -Node: Libtool test suite200925 -Node: Test descriptions201694 -Node: When tests fail214075 -Node: Reporting bugs215078 -Node: Maintaining216696 -Node: New ports217439 -Node: Information sources218132 -Node: Porting inter-library dependencies220589 -Node: Tested platforms223305 -Node: Platform quirks231735 -Node: References232916 -Node: Compilers233766 -Ref: Compilers-Footnote-1235344 -Node: Reloadable objects235660 -Node: Multiple dependencies236019 -Node: Archivers236913 -Node: Cross compiling237502 -Node: File name conversion243486 -Node: File Name Conversion Failure246440 -Node: Native MinGW File Name Conversion247689 -Node: Cygwin/Windows File Name Conversion249250 -Node: Unix/Windows File Name Conversion250621 -Node: LT_CYGPATH251387 -Node: Cygwin to MinGW Cross254630 -Node: Windows DLLs258927 -Node: libtool script contents266202 -Node: Cheap tricks286562 -Node: GNU Free Documentation License288425 -Node: Combined Index314554 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/BUILD/libtool-2.4.7/doc/libtool.info-1 b/BUILD/libtool-2.4.7/doc/libtool.info-1 deleted file mode 100644 index 0109c0f..0000000 --- a/BUILD/libtool-2.4.7/doc/libtool.info-1 +++ /dev/null @@ -1,7228 +0,0 @@ -This is libtool.info, produced by makeinfo version 6.7 from -libtool.texi. - -This manual is for GNU Libtool (version 2.4.7, 17 March 2022). - - Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled "GNU -Free Documentation License". -INFO-DIR-SECTION Software development -START-INFO-DIR-ENTRY -* Libtool: (libtool). Generic shared library support script. -END-INFO-DIR-ENTRY - -INFO-DIR-SECTION Individual utilities -START-INFO-DIR-ENTRY -* libtool-invocation: (libtool)Invoking libtool. Running the 'libtool' script. -* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. -END-INFO-DIR-ENTRY - - -File: libtool.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) - -Shared library support for GNU -****************************** - -This file documents GNU Libtool, a script that allows package developers -to provide generic shared library support. This edition documents -version 2.4.7. - - *Note Reporting bugs::, for information on how to report problems -with GNU Libtool. - -* Menu: - -* Introduction:: What the heck is libtool? -* Libtool paradigm:: How libtool's view of libraries is different. -* Using libtool:: Example of using libtool to build libraries. -* Invoking libtool:: Running the 'libtool' script. -* Integrating libtool:: Using libtool in your own packages. -* Other languages:: Using libtool without a C compiler. -* Versioning:: Using library interface versions. -* Library tips:: Tips for library interface design. -* Inter-library dependencies:: Libraries that depend on other libraries. -* Dlopened modules:: 'dlopen'ing libtool-created libraries. -* Using libltdl:: Libtool's portable 'dlopen' wrapper library. -* Trace interface:: Libtool's trace interface. -* FAQ:: Frequently Asked Questions -* Troubleshooting:: When libtool doesn't work as advertised. -* Maintaining:: Information used by the libtool maintainer. -* GNU Free Documentation License:: License for this manual. -* Combined Index:: Full index. - - -- The Detailed Node Listing -- - -Introduction - -* Motivation:: Why does GNU need a libtool? -* Issues:: The problems that need to be addressed. -* Other implementations:: How other people have solved these issues. -* Postmortem:: Learning from past difficulties. - -Using libtool - -* Creating object files:: Compiling object files for libraries. -* Linking libraries:: Creating libraries from object files. -* Linking executables:: Linking object files against libtool libraries. -* Debugging executables:: Running GDB on libtool-generated programs. -* Installing libraries:: Making libraries available to users. -* Installing executables:: Making programs available to users. -* Static libraries:: When shared libraries are not wanted. - -Linking executables - -* Wrapper executables:: Wrapper executables for some platforms. - -Invoking 'libtool' - -* Compile mode:: Creating library object files. -* Link mode:: Generating executables and libraries. -* Execute mode:: Debugging libtool-generated programs. -* Install mode:: Making libraries and executables public. -* Finish mode:: Completing a library installation. -* Uninstall mode:: Removing installed executables and libraries. -* Clean mode:: Removing uninstalled executables and libraries. - -Integrating libtool with your package - -* Autoconf macros:: Autoconf macros exported by libtool. -* Makefile rules:: Writing 'Makefile' rules for libtool. -* Using Automake:: Automatically supporting libtool. -* Configuring:: Configuring libtool for a host system. -* Distributing:: What files to distribute with your package. -* Static-only libraries:: Sometimes shared libraries are just a pain. - -Configuring libtool - -* LT_INIT:: Configuring 'libtool' in 'configure.ac'. -* Configure notes:: Platform-specific notes for configuration. - -Including libtool in your package - -* Invoking libtoolize:: 'libtoolize' command line options. -* Autoconf and LTLIBOBJS:: Autoconf automates LTLIBOBJS generation. - -Using libtool with other languages - -* C++ libraries:: Writing libraries for C++ -* Tags:: Tags - -Library interface versions - -* Interfaces:: What are library interfaces? -* Libtool versioning:: Libtool's versioning system. -* Updating version info:: Changing version information before releases. -* Release numbers:: Breaking binary compatibility for aesthetics. - -Tips for interface design - -* C header files:: How to write portable include files. - -Dlopened modules - -* Building modules:: Creating dlopenable objects and libraries. -* Dlpreopening:: Dlopening that works on static platforms. -* Linking with dlopened modules:: Using dlopenable modules in libraries. -* Finding the dlname:: Choosing the right file to 'dlopen'. -* Dlopen issues:: Unresolved problems that need your attention. - -Using libltdl - -* Libltdl interface:: How to use libltdl in your programs. -* Modules for libltdl:: Creating modules that can be 'dlopen'ed. -* Thread Safety in libltdl:: Registering callbacks for multi-thread safety. -* User defined module data:: Associating data with loaded modules. -* Module loaders for libltdl:: Creating user defined module loaders. -* Distributing libltdl:: How to distribute libltdl with your package. - -Frequently Asked Questions about libtool - -* Stripped link flags:: Dropped flags when creating a library - -Troubleshooting - -* Libtool test suite:: Libtool's self-tests. -* Reporting bugs:: How to report problems with libtool. - -The libtool test suite - -* Test descriptions:: The contents of the old test suite. -* When tests fail:: What to do when a test fails. - -Maintenance notes for libtool - -* New ports:: How to port libtool to new systems. -* Tested platforms:: When libtool was last tested. -* Platform quirks:: Information about different library systems. -* libtool script contents:: Configuration information that libtool uses. -* Cheap tricks:: Making libtool maintainership easier. - -Porting libtool to new systems - -* Information sources:: Where to find relevant documentation -* Porting inter-library dependencies:: Implementation details explained - -Platform quirks - -* References:: Finding more information. -* Compilers:: Creating object files from source files. -* Reloadable objects:: Binding object files together. -* Multiple dependencies:: Removing duplicate dependent libraries. -* Archivers:: Programs that create static archives. -* Cross compiling:: Issues that arise when cross compiling. -* File name conversion:: Converting file names between platforms. -* Windows DLLs:: Windows header defines. - -File name conversion - -* File Name Conversion Failure:: What happens when file name conversion fails -* Native MinGW File Name Conversion:: MSYS file name conversion idiosyncrasies -* Cygwin/Windows File Name Conversion:: Using 'cygpath' to convert Cygwin file names -* Unix/Windows File Name Conversion:: Using Wine to convert Unix paths -* LT_CYGPATH:: Invoking 'cygpath' from other environments -* Cygwin to MinGW Cross:: Other notes concerning MinGW cross - - - -File: libtool.info, Node: Introduction, Next: Libtool paradigm, Up: Top - -1 Introduction -************** - -In the past, if you were a source code package developer and wanted to -take advantage of the power of shared libraries, you needed to write -custom support code for each platform on which your package ran. You -also had to design a configuration interface so that the package -installer could choose what sort of libraries were built. - - GNU Libtool simplifies your job by encapsulating both the -platform-specific dependencies, and the user interface, in a single -script. GNU Libtool is designed so that the complete functionality of -each host type is available via a generic interface, but nasty quirks -are hidden from the programmer. - - GNU Libtool's consistent interface is reassuring... users don't need -to read obscure documentation to have their favorite source package -build shared libraries. They just run your package 'configure' script -(or equivalent), and libtool does all the dirty work. - - There are several examples throughout this document. All assume the -same environment: we want to build a library, 'libhello', in a generic -way. - - 'libhello' could be a shared library, a static library, or both... -whatever is available on the host system, as long as libtool has been -ported to it. - - This chapter explains the original design philosophy of libtool. -Feel free to skip to the next chapter, unless you are interested in -history, or want to write code to extend libtool in a consistent way. - -* Menu: - -* Motivation:: Why does GNU need a libtool? -* Issues:: The problems that need to be addressed. -* Other implementations:: How other people have solved these issues. -* Postmortem:: Learning from past difficulties. - - -File: libtool.info, Node: Motivation, Next: Issues, Up: Introduction - -1.1 Motivation for writing libtool -================================== - -Since early 1995, several different GNU developers have recognized the -importance of having shared library support for their packages. The -primary motivation for such a change is to encourage modularity and -reuse of code (both conceptually and physically) in GNU programs. - - Such a demand means that the way libraries are built in GNU packages -needs to be general, to allow for any library type the package installer -might want. The problem is compounded by the absence of a standard -procedure for creating shared libraries on different platforms. - - The following sections outline the major issues facing shared library -support in GNU, and how shared library support could be standardized -with libtool. - - The following specifications were used in developing and evaluating -this system: - - 1. The system must be as elegant as possible. - - 2. The system must be fully integrated with the GNU Autoconf and - Automake utilities, so that it will be easy for GNU maintainers to - use. However, the system must not require these tools, so that it - can be used by non-GNU packages. - - 3. Portability to other (non-GNU) architectures and tools is - desirable. - - -File: libtool.info, Node: Issues, Next: Other implementations, Prev: Motivation, Up: Introduction - -1.2 Implementation issues -========================= - -The following issues need to be addressed in any reusable shared library -system, specifically libtool: - - 1. The package installer should be able to control what sort of - libraries are built. - - 2. It can be tricky to run dynamically linked programs whose libraries - have not yet been installed. 'LD_LIBRARY_PATH' must be set - properly (if it is supported), or programs fail to run. - - 3. The system must operate consistently even on hosts that don't - support shared libraries. - - 4. The commands required to build shared libraries may differ wildly - from host to host. These need to be determined at configure time - in a consistent way. - - 5. It is not always obvious with what prefix or suffix a shared - library should be installed. This makes it difficult for - 'Makefile' rules, since they generally assume that file names are - the same from host to host. - - 6. The system needs a simple library version number abstraction, so - that shared libraries can be upgraded in place. The programmer - should be informed how to design the interfaces to the library to - maximize binary compatibility. - - 7. The install 'Makefile' target should warn the package installer to - set the proper environment variables ('LD_LIBRARY_PATH' or - equivalent), or run 'ldconfig'. - - -File: libtool.info, Node: Other implementations, Next: Postmortem, Prev: Issues, Up: Introduction - -1.3 Other implementations -========================= - -Even before libtool was developed, many free software packages built and -installed their own shared libraries. At first, these packages were -examined to avoid reinventing existing features. - - Now it is clear that none of these packages have documented the -details of shared library systems that libtool requires. So, other -packages have been more or less abandoned as influences. - - -File: libtool.info, Node: Postmortem, Prev: Other implementations, Up: Introduction - -1.4 A postmortem analysis of other implementations -================================================== - -In all fairness, each of the implementations that were examined do the -job that they were intended to do, for a number of different host -systems. However, none of these solutions seem to function well as a -generalized, reusable component. - - Most were too complex to use (much less modify) without understanding -exactly what the implementation does, and they were generally not -documented. - - The main difficulty is that different vendors have different views of -what libraries are, and none of the packages that were examined seemed -to be confident enough to settle on a single paradigm that just _works_. - - Ideally, libtool would be a standard that would be implemented as -series of extensions and modifications to existing library systems to -make them work consistently. However, it is not an easy task to -convince operating system developers to mend their evil ways, and people -want to build shared libraries right now, even on buggy, broken, -confused operating systems. - - For this reason, libtool was designed as an independent shell script. -It isolates the problems and inconsistencies in library building that -plague 'Makefile' writers by wrapping the compiler suite on different -platforms with a consistent, powerful interface. - - With luck, libtool will be useful to and used by the GNU community, -and that the lessons that were learned in writing it will be taken up by -designers of future library systems. - - -File: libtool.info, Node: Libtool paradigm, Next: Using libtool, Prev: Introduction, Up: Top - -2 The libtool paradigm -********************** - -At first, libtool was designed to support an arbitrary number of library -object types. After libtool was ported to more platforms, a new -paradigm gradually developed for describing the relationship between -libraries and programs. - - In summary, "libraries are programs with multiple entry points, and -more formally defined interfaces." - - Version 0.7 of libtool was a complete redesign and rewrite of libtool -to reflect this new paradigm. So far, it has proved to be successful: -libtool is simpler and more useful than before. - - The best way to introduce the libtool paradigm is to contrast it with -the paradigm of existing library systems, with examples from each. It -is a new way of thinking, so it may take a little time to absorb, but -when you understand it, the world becomes simpler. - - -File: libtool.info, Node: Using libtool, Next: Invoking libtool, Prev: Libtool paradigm, Up: Top - -3 Using libtool -*************** - -It makes little sense to talk about using libtool in your own packages -until you have seen how it makes your life simpler. The examples in -this chapter introduce the main features of libtool by comparing the -standard library building procedure to libtool's operation on two -different platforms: - -'a23' - An Ultrix 4.2 platform with only static libraries. - -'burger' - A NetBSD/i386 1.2 platform with shared libraries. - - You can follow these examples on your own platform, using the -preconfigured libtool script that was installed with libtool (*note -Configuring::). - - Source files for the following examples are taken from the 'demo' -subdirectory of the libtool distribution. Assume that we are building a -library, 'libhello', out of the files 'foo.c' and 'hello.c'. - - Note that the 'foo.c' source file uses the 'cos' math library -function, which is usually found in the standalone math library, and not -the C library (*note Trigonometric Functions: (libc)Trig Functions.). -So, we need to add '-lm' to the end of the link line whenever we link -'foo.lo' into an executable or a library (*note Inter-library -dependencies::). - - The same rule applies whenever you use functions that don't appear in -the standard C library... you need to add the appropriate '-lNAME' flag -to the end of the link line when you link against those objects. - - After we have built that library, we want to create a program by -linking 'main.o' against 'libhello'. - -* Menu: - -* Creating object files:: Compiling object files for libraries. -* Linking libraries:: Creating libraries from object files. -* Linking executables:: Linking object files against libtool libraries. -* Debugging executables:: Running GDB on libtool-generated programs. -* Installing libraries:: Making libraries available to users. -* Installing executables:: Making programs available to users. -* Static libraries:: When shared libraries are not wanted. - - -File: libtool.info, Node: Creating object files, Next: Linking libraries, Up: Using libtool - -3.1 Creating object files -========================= - -To create an object file from a source file, the compiler is invoked -with the '-c' flag (and any other desired flags): - - burger$ gcc -g -O -c main.c - burger$ - - The above compiler command produces an object file, usually named -'main.o', from the source file 'main.c'. - - For most library systems, creating object files that become part of a -static library is as simple as creating object files that are linked to -form an executable: - - burger$ gcc -g -O -c foo.c - burger$ gcc -g -O -c hello.c - burger$ - - Shared libraries, however, may only be built from -"position-independent code" (PIC). So, special flags must be passed to -the compiler to tell it to generate PIC rather than the standard -position-dependent code. - - Since this is a library implementation detail, libtool hides the -complexity of PIC compiler flags and uses separate library object files -(the PIC one lives in the '.libs' subdirectory and the static one lives -in the current directory). On systems without shared libraries, the PIC -library object files are not created, whereas on systems where all code -is PIC, such as AIX, the static ones are not created. - - To create library object files for 'foo.c' and 'hello.c', simply -invoke libtool with the standard compilation command as arguments (*note -Compile mode::): - - a23$ libtool --mode=compile gcc -g -O -c foo.c - gcc -g -O -c foo.c -o foo.o - a23$ libtool --mode=compile gcc -g -O -c hello.c - gcc -g -O -c hello.c -o hello.o - a23$ - - Note that libtool silently creates an additional control file on each -'compile' invocation. The '.lo' file is the libtool object, which -Libtool uses to determine what object file may be built into a shared -library. On 'a23', only static libraries are supported so the library -objects look like this: - - # foo.lo - a libtool object file - # Generated by ltmain.sh (GNU libtool) 2.4.7 - # - # Please DO NOT delete this file! - # It is necessary for linking the library. - - # Name of the PIC object. - pic_object=none - - # Name of the non-PIC object. - non_pic_object='foo.o' - - On shared library systems, libtool automatically generates an -additional PIC object by inserting the appropriate PIC generation flags -into the compilation command: - - burger$ libtool --mode=compile gcc -g -O -c foo.c - mkdir .libs - gcc -g -O -c foo.c -fPIC -DPIC -o .libs/foo.o - gcc -g -O -c foo.c -o foo.o >/dev/null 2>&1 - burger$ - - Note that Libtool automatically created '.libs' directory upon its -first execution, where PIC library object files will be stored. - - Since 'burger' supports shared libraries, and requires PIC objects to -build them, Libtool has compiled a PIC object this time, and made a note -of it in the libtool object: - - # foo.lo - a libtool object file - # Generated by ltmain.sh (GNU libtool) 2.4.7 - # - # Please DO NOT delete this file! - # It is necessary for linking the library. - - # Name of the PIC object. - pic_object='.libs/foo.o' - - # Name of the non-PIC object. - non_pic_object='foo.o' - - Notice that the second run of GCC has its output discarded. This is -done so that compiler warnings aren't annoyingly duplicated. If you -need to see both sets of warnings (you might have conditional code -inside '#ifdef PIC' for example), you can turn off suppression with the -'-no-suppress' option to libtool's compile mode: - - burger$ libtool --mode=compile gcc -no-suppress -g -O -c hello.c - gcc -g -O -c hello.c -fPIC -DPIC -o .libs/hello.o - gcc -g -O -c hello.c -o hello.o - burger$ - - -File: libtool.info, Node: Linking libraries, Next: Linking executables, Prev: Creating object files, Up: Using libtool - -3.2 Linking libraries -===================== - -Without libtool, the programmer would invoke the 'ar' command to create -a static library: - - burger$ ar cr libhello.a hello.o foo.o - burger$ - - But of course, that would be too simple, so many systems require that -you run the 'ranlib' command on the resulting library (to give it better -karma, or something): - - burger$ ranlib libhello.a - burger$ - - It seems more natural to use the C compiler for this task, given -libtool's "libraries are programs" approach. So, on platforms without -shared libraries, libtool simply acts as a wrapper for the system 'ar' -(and possibly 'ranlib') commands. - - Again, the libtool control file name ('.la' suffix) differs from the -standard library name ('.a' suffix). The arguments to libtool are the -same ones you would use to produce an executable named 'libhello.la' -with your compiler (*note Link mode::): - - a23$ libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o - *** Warning: Linking the shared library libhello.la against the - *** non-libtool objects foo.o hello.o is not portable! - ar cr .libs/libhello.a - ranlib .libs/libhello.a - creating libhello.la - (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) - a23$ - - Aha! Libtool caught a common error... trying to build a library from -standard objects instead of special '.lo' object files. This doesn't -matter so much for static libraries, but on shared library systems, it -is of great importance. (Note that you may replace 'libhello.la' with -'libhello.a' in which case libtool won't issue the warning any more. -But although this method works, this is not intended to be used because -it makes you lose the benefits of using Libtool.) - - So, let's try again, this time with the library object files. -Remember also that we need to add '-lm' to the link command line because -'foo.c' uses the 'cos' math library function (*note Using libtool::). - - Another complication in building shared libraries is that we need to -specify the path to the directory wher they will (eventually) be -installed (in this case, '/usr/local/lib')(1): - - a23$ libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ - -rpath /usr/local/lib -lm - ar cr .libs/libhello.a foo.o hello.o - ranlib .libs/libhello.a - creating libhello.la - (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) - a23$ - - Now, let's try the same trick on the shared library platform: - - burger$ libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ - -rpath /usr/local/lib -lm - rm -fr .libs/libhello.a .libs/libhello.la - ld -Bshareable -o .libs/libhello.so.0.0 .libs/foo.o .libs/hello.o -lm - ar cr .libs/libhello.a foo.o hello.o - ranlib .libs/libhello.a - creating libhello.la - (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) - burger$ - - Now that's significantly cooler... Libtool just ran an obscure 'ld' -command to create a shared library, as well as the static library. - - Note how libtool creates extra files in the '.libs' subdirectory, -rather than the current directory. This feature is to make it easier to -clean up the build directory, and to help ensure that other programs -fail horribly if you accidentally forget to use libtool when you should. - - Again, you may want to have a look at the '.la' file to see what -Libtool stores in it. In particular, you will see that Libtool uses -this file to remember the destination directory for the library (the -argument to '-rpath') as well as the dependency on the math library -('-lm'). - - ---------- Footnotes ---------- - - (1) If you don't specify an 'rpath', then libtool builds a libtool -convenience archive, not a shared library (*note Static libraries::). - - -File: libtool.info, Node: Linking executables, Next: Debugging executables, Prev: Linking libraries, Up: Using libtool - -3.3 Linking executables -======================= - -If you choose at this point to "install" the library (put it in a -permanent location) before linking executables against it, then you -don't need to use libtool to do the linking. Simply use the appropriate -'-L' and '-l' flags to specify the library's location. - - Some system linkers insist on encoding the full directory name of -each shared library in the resulting executable. Libtool has to work -around this misfeature by special magic to ensure that only permanent -directory names are put into installed executables. - - The importance of this bug must not be overlooked: it won't cause -programs to crash in obvious ways. It creates a security hole, and -possibly even worse, if you are modifying the library source code after -you have installed the package, you will change the behaviour of the -installed programs! - - So, if you want to link programs against the library before you -install it, you must use libtool to do the linking. - - Here's the old way of linking against an uninstalled library: - - burger$ gcc -g -O -o hell.old main.o libhello.a -lm - burger$ - - Libtool's way is almost the same(1) (*note Link mode::): - - a23$ libtool --mode=link gcc -g -O -o hell main.o libhello.la - gcc -g -O -o hell main.o ./.libs/libhello.a -lm - a23$ - - That looks too simple to be true. All libtool did was transform -'libhello.la' to './.libs/libhello.a', but remember that 'a23' has no -shared libraries. Notice that Libtool also remembered that -'libhello.la' depends on '-lm', so even though we didn't specify '-lm' -on the libtool command line(2) Libtool has added it to the 'gcc' link -line for us. - - On 'burger' Libtool links against the uninstalled shared library: - - burger$ libtool --mode=link gcc -g -O -o hell main.o libhello.la - gcc -g -O -o .libs/hell main.o -L./.libs -R/usr/local/lib -lhello -lm - creating hell - burger$ - - Now assume 'libhello.la' had already been installed, and you want to -link a new program with it. You could figure out where it lives by -yourself, then run: - - burger$ gcc -g -O -o test test.o -L/usr/local/lib -lhello -lm - - However, unless '/usr/local/lib' is in the standard library search -path, you won't be able to run 'test'. However, if you use libtool to -link the already-installed libtool library, it will do The Right Thing -(TM) for you: - - burger$ libtool --mode=link gcc -g -O -o test test.o \ - /usr/local/lib/libhello.la - gcc -g -O -o .libs/test test.o -Wl,--rpath \ - -Wl,/usr/local/lib /usr/local/lib/libhello.a -lm - creating test - burger$ - - Note that libtool added the necessary run-time path flag, as well as -'-lm', the library libhello.la depended upon. Nice, huh? - - Notice that the executable, 'hell', was actually created in the -'.libs' subdirectory. Then, a wrapper script (or, on certain platforms, -a wrapper executable *note Wrapper executables::) was created in the -current directory. - - Since libtool created a wrapper script, you should use libtool to -install it and debug it too. However, since the program does not depend -on any uninstalled libtool library, it is probably usable even without -the wrapper script. - - On NetBSD 1.2, libtool encodes the installation directory of -'libhello', by using the '-R/usr/local/lib' compiler flag. Then, the -wrapper script guarantees that the executable finds the correct shared -library (the one in './.libs') until it is properly installed. - - Let's compare the two different programs: - - burger$ time ./hell.old - Welcome to GNU Hell! - ** This is not GNU Hello. There is no built-in mail reader. ** - 0.21 real 0.02 user 0.08 sys - burger$ time ./hell - Welcome to GNU Hell! - ** This is not GNU Hello. There is no built-in mail reader. ** - 0.63 real 0.09 user 0.59 sys - burger$ - - The wrapper script takes significantly longer to execute, but at -least the results are correct, even though the shared library hasn't -been installed yet. - - So, what about all the space savings that shared libraries are -supposed to yield? - - burger$ ls -l hell.old libhello.a - -rwxr-xr-x 1 gord gord 15481 Nov 14 12:11 hell.old - -rw-r--r-- 1 gord gord 4274 Nov 13 18:02 libhello.a - burger$ ls -l .libs/hell .libs/libhello.* - -rwxr-xr-x 1 gord gord 11647 Nov 14 12:10 .libs/hell - -rw-r--r-- 1 gord gord 4274 Nov 13 18:44 .libs/libhello.a - -rwxr-xr-x 1 gord gord 12205 Nov 13 18:44 .libs/libhello.so.0.0 - burger$ - - Well, that sucks. Maybe I should just scrap this project and take up -basket weaving. - - Actually, it just proves an important point: shared libraries incur -overhead because of their (relative) complexity. In this situation, the -price of being dynamic is eight kilobytes, and the payoff is about four -kilobytes. So, having a shared 'libhello' won't be an advantage until -we link it against at least a few more programs. - -* Menu: - -* Wrapper executables:: Wrapper executables for some platforms. - - ---------- Footnotes ---------- - - (1) However, you should avoid using '-L' or '-l' flags to link -against an uninstalled libtool library. Just specify the relative path -to the '.la' file, such as '../intl/libintl.la'. This is a design -decision to eliminate any ambiguity when linking against uninstalled -shared libraries. - - (2) And why should we? 'main.o' doesn't directly depend on '-lm' -after all. - - -File: libtool.info, Node: Wrapper executables, Up: Linking executables - -3.3.1 Wrapper executables for uninstalled programs --------------------------------------------------- - -Some platforms, notably those hosted on Windows such as Cygwin and -MinGW, use a wrapper executable rather than a wrapper script to ensure -proper operation of uninstalled programs linked by libtool against -uninstalled shared libraries. The wrapper executable thus performs the -same function as the wrapper script used on other platforms, but allows -to satisfy the 'make' rules for the program, whose name ends in -'$(EXEEXT)'. The actual program executable is created below .libs, and -its name will end in '$(EXEEXT)' and may or may not contain an 'lt-' -prefix. This wrapper executable sets various environment values so that -the program executable may locate its (uninstalled) shared libraries, -and then launches the program executable. - - The wrapper executable provides a debug mode, enabled by passing the -command-line option '--lt-debug' (see below). When executing in debug -mode, diagnostic information will be printed to 'stderr' before the -program executable is launched. - - Finally, the wrapper executable supports a number of command line -options that may be useful when debugging the operation of the wrapper -system. All of these options begin with '--lt-', and if present they -and their arguments will be removed from the argument list passed on to -the program executable. Therefore, the program executable may not -employ command line options that begin with '--lt-'. (In fact, the -wrapper executable will detect any command line options that begin with -'--lt-' and abort with an error message if the option is not -recognized). If this presents a problem, please contact the Libtool -team at the Libtool bug reporting address . - - These command line options include: - -'--lt-dump-script' - Causes the wrapper to print a copy of the wrapper _script_ to - 'stdout', and exit. - -'--lt-debug' - Causes the wrapper to print diagnostic information to 'stdout', - before launching the program executable. - - For consistency, both the wrapper _script_ and the wrapper -_executable_ support these options. - - -File: libtool.info, Node: Debugging executables, Next: Installing libraries, Prev: Linking executables, Up: Using libtool - -3.4 Debugging executables -========================= - -If 'hell' was a complicated program, you would certainly want to test -and debug it before installing it on your system. In the above section, -you saw how the libtool wrapper script makes it possible to run the -program directly, but unfortunately, this mechanism interferes with the -debugger: - - burger$ gdb hell - GDB is free software and you are welcome to distribute copies of it - under certain conditions; type "show copying" to see the conditions. - There is no warranty for GDB; type "show warranty" for details. - GDB 4.16 (i386-unknown-netbsd), (C) 1996 Free Software Foundation, Inc. - - "hell": not in executable format: File format not recognized - - (gdb) quit - burger$ - - Sad. It doesn't work because GDB doesn't know where the executable -lives. So, let's try again, by invoking GDB directly on the executable: - - burger$ gdb .libs/hell - GNU gdb 5.3 (i386-unknown-netbsd) - Copyright 2002 Free Software Foundation, Inc. - GDB is free software, covered by the GNU General Public License, - and you are welcome to change it and/or distribute copies of it - under certain conditions. Type "show copying" to see the conditions. - There is no warranty for GDB. Type "show warranty" for details. - (gdb) break main - Breakpoint 1 at 0x8048547: file main.c, line 29. - (gdb) run - Starting program: /home/src/libtool/demo/.libs/hell - /home/src/libtool/demo/.libs/hell: can't load library 'libhello.so.0' - - Program exited with code 020. - (gdb) quit - burger$ - - Argh. Now GDB complains because it cannot find the shared library -that 'hell' is linked against. So, we must use libtool to properly set -the library path and run the debugger. Fortunately, we can forget all -about the '.libs' directory, and just run it on the executable wrapper -(*note Execute mode::): - - burger$ libtool --mode=execute gdb hell - GNU gdb 5.3 (i386-unknown-netbsd) - Copyright 2002 Free Software Foundation, Inc. - GDB is free software, covered by the GNU General Public License, - and you are welcome to change it and/or distribute copies of it - under certain conditions. Type "show copying" to see the conditions. - There is no warranty for GDB. Type "show warranty" for details. - (gdb) break main - Breakpoint 1 at 0x8048547: file main.c, line 29. - (gdb) run - Starting program: /home/src/libtool/demo/.libs/hell - - Breakpoint 1, main (argc=1, argv=0xbffffc40) at main.c:29 - 29 printf ("Welcome to GNU Hell!\n"); - (gdb) quit - The program is running. Quit anyway (and kill it)? (y or n) y - burger$ - - -File: libtool.info, Node: Installing libraries, Next: Installing executables, Prev: Debugging executables, Up: Using libtool - -3.5 Installing libraries -======================== - -Installing libraries on a non-libtool system is quite straightforward... -just copy them into place:(1) - - burger$ su - Password: ******** - burger# cp libhello.a /usr/local/lib/libhello.a - burger# - - Oops, don't forget the 'ranlib' command: - - burger# ranlib /usr/local/lib/libhello.a - burger# - - Libtool installation is quite simple, as well. Just use the -'install' or 'cp' command that you normally would (*note Install -mode::): - - a23# libtool --mode=install cp libhello.la /usr/local/lib/libhello.la - cp libhello.la /usr/local/lib/libhello.la - cp .libs/libhello.a /usr/local/lib/libhello.a - ranlib /usr/local/lib/libhello.a - a23# - - Note that the libtool library 'libhello.la' is also installed, to -help libtool with uninstallation (*note Uninstall mode::) and linking -(*note Linking executables::) and to help programs with dlopening (*note -Dlopened modules::). - - Here is the shared library example: - - burger# libtool --mode=install install -c libhello.la \ - /usr/local/lib/libhello.la - install -c .libs/libhello.so.0.0 /usr/local/lib/libhello.so.0.0 - install -c libhello.la /usr/local/lib/libhello.la - install -c .libs/libhello.a /usr/local/lib/libhello.a - ranlib /usr/local/lib/libhello.a - burger# - - It is safe to specify the '-s' (strip symbols) flag if you use a -BSD-compatible install program when installing libraries. Libtool will -either ignore the '-s' flag, or will run a program that will strip only -debugging and compiler symbols from the library. - - Once the libraries have been put in place, there may be some -additional configuration that you need to do before using them. First, -you must make sure that where the library is installed actually agrees -with the '-rpath' flag you used to build it. - - Then, running 'libtool -n finish LIBDIR' can give you further hints -on what to do (*note Finish mode::): - - burger# libtool -n finish /usr/local/lib - PATH="$PATH:/sbin" ldconfig -m /usr/local/lib - ----------------------------------------------------------------- - Libraries have been installed in: - /usr/local/lib - - To link against installed libraries in a given directory, LIBDIR, - you must use the '-LLIBDIR' flag during linking. - - You will also need to do one of the following: - - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable - during execution - - add LIBDIR to the 'LD_RUN_PATH' environment variable - during linking - - use the '-RLIBDIR' linker flag - - See any operating system documentation about shared libraries for - more information, such as the ld and ld.so manual pages. - ----------------------------------------------------------------- - burger# - - After you have completed these steps, you can go on to begin using -the installed libraries. You may also install any executables that -depend on libraries you created. - - ---------- Footnotes ---------- - - (1) Don't strip static libraries though, or they will be unusable. - - -File: libtool.info, Node: Installing executables, Next: Static libraries, Prev: Installing libraries, Up: Using libtool - -3.6 Installing executables -========================== - -If you used libtool to link any executables against uninstalled libtool -libraries (*note Linking executables::), you need to use libtool to -install the executables after the libraries have been installed (*note -Installing libraries::). - - So, for our Ultrix example, we would run: - - a23# libtool --mode=install install -c hell /usr/local/bin/hell - install -c hell /usr/local/bin/hell - a23# - - On shared library systems that require wrapper scripts, libtool just -ignores the wrapper script and installs the correct binary: - - burger# libtool --mode=install install -c hell /usr/local/bin/hell - install -c .libs/hell /usr/local/bin/hell - burger# - - -File: libtool.info, Node: Static libraries, Prev: Installing executables, Up: Using libtool - -3.7 Linking static libraries -============================ - -Why return to 'ar' and 'ranlib' silliness when you've had a taste of -libtool? Well, sometimes it is desirable to create a static archive -that can never be shared. The most frequent case is when you have a set -of object files that you use to build several different libraries. You -can create a "convenience library" out of those objects, and link -against that with the other libraries, instead of listing all the object -files every time. - - If you just want to link this convenience library into programs, then -you could just ignore libtool entirely, and use the old 'ar' and -'ranlib' commands (or the corresponding GNU Automake '_LIBRARIES' -rules). You can even install a convenience library using GNU Libtool, -though you probably don't want to and hence GNU Automake doesn't allow -you to do so. - - burger$ libtool --mode=install ./install-sh -c libhello.a \ - /local/lib/libhello.a - ./install-sh -c libhello.a /local/lib/libhello.a - ranlib /local/lib/libhello.a - burger$ - - Using libtool for static library installation protects your library -from being accidentally stripped (if the installer used the '-s' flag), -as well as automatically running the correct 'ranlib' command. - - But libtool libraries are more than just collections of object files: -they can also carry library dependency information, which old archives -do not. If you want to create a libtool static convenience library, you -can omit the '-rpath' flag and use '-static' to indicate that you're -only interested in a static library. When you link a program with such -a library, libtool will actually link all object files and dependency -libraries into the program. - - If you omit both '-rpath' and '-static', libtool will create a -convenience library that can be used to create other libtool libraries, -even shared ones. Just like in the static case, the library behaves as -an alias to a set of object files and dependency libraries, but in this -case the object files are suitable for inclusion in shared libraries. -But be careful not to link a single convenience library, directly or -indirectly, into a single program or library, otherwise you may get -errors about symbol redefinitions. - - The key is remembering that a convenience library contains PIC -objects, and can be linked where a list of PIC objects makes sense; i.e. -into a shared library. A static convenience library contains non-PIC -objects, so can be linked into an old static library, or a program. - - When GNU Automake is used, you should use 'noinst_LTLIBRARIES' -instead of 'lib_LTLIBRARIES' for convenience libraries, so that the -'-rpath' option is not passed when they are linked. - - As a rule of thumb, link a libtool convenience library into at most -one libtool library, and never into a program, and link libtool static -convenience libraries only into programs, and only if you need to carry -library dependency information to the user of the static convenience -library. - - Another common situation where static linking is desirable is in -creating a standalone binary. Use libtool to do the linking and add the -'-all-static' flag. - - -File: libtool.info, Node: Invoking libtool, Next: Integrating libtool, Prev: Using libtool, Up: Top - -4 Invoking 'libtool' -******************** - -The 'libtool' program has the following synopsis: - - libtool [OPTION]... [MODE-ARG]... - -and accepts the following options: - -'--config' - Display libtool configuration variables and exit. - -'--debug' - Dump a trace of shell script execution to standard output. This - produces a lot of output, so you may wish to pipe it to 'less' (or - 'more') or redirect to a file. - -'-n' -'--dry-run' - Don't create, modify, or delete any files, just show what commands - would be executed by libtool. - -'--features' - Display basic configuration options. This provides a way for - packages to determine whether shared or static libraries will be - built. - -'--finish' - Same as '--mode=finish'. - -'-h' - Display short help message. - -'--help' - Display a help message and exit. If '--mode=MODE' is specified, - then detailed help for MODE is displayed. - -'--help-all' - Display help for the general options as well as detailed help for - each operation mode, and exit. - -'--mode=MODE' - Use MODE as the operation mode. When using libtool from the - command line, you can give just MODE (or a unique abbreviation of - it) as the first argument as a shorthand for the full - '--mode=MODE'. For example, the following are equivalent: - - $ libtool --mode=execute --dry-run gdb prog.exe - $ libtool execute --dry-run gdb prog.exe - $ libtool exe --dry-run gdb prog.exe - $ libtool e --dry-run gdb prog.exe - - MODE must be set to one of the following: - - 'compile' - Compile a source file into a libtool object. - - 'execute' - Automatically set the library path so that another program can - use uninstalled libtool-generated programs or libraries. - - 'link' - Create a library or an executable. - - 'install' - Install libraries or executables. - - 'finish' - Complete the installation of libtool libraries on the system. - - 'uninstall' - Delete installed libraries or executables. - - 'clean' - Delete uninstalled libraries or executables. - -'--tag=TAG' - Use configuration variables from tag TAG (*note Tags::). - -'--preserve-dup-deps' - Do not remove duplicate dependencies in libraries. When building - packages with static libraries, the libraries may depend circularly - on each other (shared libs can too, but for those it doesn't - matter), so there are situations, where -la -lb -la is required, - and the second -la may not be stripped or the link will fail. In - cases where these duplications are required, this option will - preserve them, only stripping the libraries that libtool knows it - can safely. - -'--quiet' -'--silent' - Do not print out any progress or informational messages. - -'-v' -'--verbose' - Print out progress and informational messages (enabled by default), - as well as additional messages not ordinary seen by default. - -'--no-quiet' -'--no-silent' - Print out the progress and informational messages that are seen by - default. This option has no effect on whether the additional - messages seen in '--verbose' mode are shown. - -'--no-verbose' - Do not print out any additional informational messages beyond those - ordinarily seen by default. This option has no effect on whether - the ordinary progress and informational messages enabled by - '--no-quiet' are shown. - - Thus, there are now three different message levels (not counting - '--debug'), depending on whether the normal messages and/or the - additional verbose messages are displayed. Note that there is no - mechanism to display verbose messages, without also displaying - normal messages. - - *default* - Normal messages are displayed, verbose messages are not - displayed. In addition to being the default mode, it can be - forcibly achieved by using both option '--no-verbose' and - either option '--no-silent' or option '--no-quiet'. - - *silent* - Neither normal messages nor verbose messages are displayed. - This mode can be achieved using either option '--silent' or - option '--quiet'. - - *verbose* - Both normal messages and verbose messages are displayed. This - mode can be achieved using either option '-v' or option - '--verbose'. - -'--version' - Print libtool version information and exit. - - The current 'libtool' implementation is done with a shell script that -needs to be invoked by the shell that 'configure' chose for configuring -'libtool' (*note The Autoconf Manual: (autoconf)config.status -Invocation.). This shell is set in the she-bang ('#!') line of the -'libtool' script. Using a different shell may cause undefined behavior. - - The MODE-ARGS are a variable number of arguments, depending on the -selected operation mode. In general, each MODE-ARG is interpreted by -programs libtool invokes, rather than libtool itself. - -* Menu: - -* Compile mode:: Creating library object files. -* Link mode:: Generating executables and libraries. -* Execute mode:: Debugging libtool-generated programs. -* Install mode:: Making libraries and executables public. -* Finish mode:: Completing a library installation. -* Uninstall mode:: Removing installed executables and libraries. -* Clean mode:: Removing uninstalled executables and libraries. - - -File: libtool.info, Node: Compile mode, Next: Link mode, Up: Invoking libtool - -4.1 Compile mode -================ - -For "compile" mode, MODE-ARGS is a compiler command to be used in -creating a "standard" object file. These arguments should begin with -the name of the C compiler, and contain the '-c' compiler flag so that -only an object file is created. - - Libtool determines the name of the output file by removing the -directory component from the source file name, then substituting the -source code suffix (e.g. '.c' for C source code) with the library object -suffix, '.lo'. - - If shared libraries are being built, any necessary PIC generation -flags are substituted into the compilation command. - - The following components of MODE-ARGS are treated specially: - -'-o' - Note that the '-o' option is now fully supported. It is emulated - on the platforms that don't support it (by locking and moving the - objects), so it is really easy to use libtool, just with minor - modifications to your Makefiles. Typing for example - libtool --mode=compile gcc -c foo/x.c -o foo/x.lo - will do what you expect. - - Note, however, that, if the compiler does not support '-c' and - '-o', it is impossible to compile 'foo/x.c' without overwriting an - existing './x.o'. Therefore, if you do have a source file './x.c', - make sure you introduce dependencies in your 'Makefile' to make - sure './x.o' (or './x.lo') is re-created after any sub-directory's - 'x.lo': - - x.o x.lo: foo/x.lo bar/x.lo - - This will also ensure that make won't try to use a temporarily - corrupted 'x.o' to create a program or library. It may cause - needless recompilation on platforms that support '-c' and '-o' - together, but it's the only way to make it safe for those that - don't. - -'-no-suppress' - If both PIC and non-PIC objects are being built, libtool will - normally suppress the compiler output for the PIC object - compilation to save showing very similar, if not identical - duplicate output for each object. If the '-no-suppress' option is - given in compile mode, libtool will show the compiler output for - both objects. - -'-prefer-pic' - Libtool will try to build only PIC objects. - -'-prefer-non-pic' - Libtool will try to build only non-PIC objects. - -'-shared' - Even if Libtool was configured with '--enable-static', the object - file Libtool builds will not be suitable for static linking. - Libtool will signal an error if it was configured with - '--disable-shared', or if the host does not support shared - libraries. - -'-static' - Even if libtool was configured with '--disable-static', the object - file Libtool builds *will* be suitable for static linking. - -'-Wc,FLAG' -'-Xcompiler FLAG' - Pass a flag directly to the compiler. With '-Wc,', multiple flags - may be separated by commas, whereas '-Xcompiler ' passes through - commas unchanged. - - -File: libtool.info, Node: Link mode, Next: Execute mode, Prev: Compile mode, Up: Invoking libtool - -4.2 Link mode -============= - -"Link" mode links together object files (including library objects) to -form another library or to create an executable program. - - MODE-ARGS consist of a command using the C compiler to create an -output file (with the '-o' flag) from several object files. - - The following components of MODE-ARGS are treated specially: - -'-all-static' - If OUTPUT-FILE is a program, then do not link it against any shared - libraries at all. If OUTPUT-FILE is a library, then only create a - static library. In general, this flag cannot be used together with - 'disable-static' (*note LT_INIT::). - -'-avoid-version' - Tries to avoid versioning (*note Versioning::) for libraries and - modules, i.e. no version information is stored and no symbolic - links are created. If the platform requires versioning, this - option has no effect. - -'-bindir' - Pass the absolute name of the directory for installing executable - programs (*note Directory Variables: (standards)Directory - Variables.). 'libtool' may use this value to install shared - libraries there on systems that do not provide for any library - hardcoding and use the directory of a program and the 'PATH' - variable as library search path. This is typically used for DLLs - on Windows or other systems using the PE (Portable Executable) - format. On other systems, '-bindir' is ignored. The default value - used is 'LIBDIR/../bin' for libraries installed to 'LIBDIR'. You - should not use '-bindir' for modules. - -'-dlopen FILE' - Same as '-dlpreopen FILE', if native dlopening is not supported on - the host platform (*note Dlopened modules::) or if the program is - linked with '-static', '-static-libtool-libs', or '-all-static'. - Otherwise, no effect. If FILE is 'self' Libtool will make sure - that the program can 'dlopen' itself, either by enabling - '-export-dynamic' or by falling back to '-dlpreopen self'. - -'-dlpreopen FILE' - Link FILE into the output program, and add its symbols to the list - of preloaded symbols (*note Dlpreopening::). If FILE is 'self', - the symbols of the program itself will be added to preloaded symbol - lists. If FILE is 'force' Libtool will make sure that a preloaded - symbol list is always _defined_, regardless of whether it's empty - or not. - -'-export-dynamic' - Allow symbols from OUTPUT-FILE to be resolved with 'dlsym' (*note - Dlopened modules::). - -'-export-symbols SYMFILE' - Tells the linker to export only the symbols listed in SYMFILE. The - symbol file should end in '.sym' and must contain the name of one - symbol per line. This option has no effect on some platforms. By - default all symbols are exported. - -'-export-symbols-regex REGEX' - Same as '-export-symbols', except that only symbols matching the - regular expression REGEX are exported. By default all symbols are - exported. - -'-LLIBDIR' - Search LIBDIR for required libraries that have already been - installed. - -'-lNAME' - OUTPUT-FILE requires the installed library 'libNAME'. This option - is required even when OUTPUT-FILE is not an executable. - -'-module' - Creates a library that can be dlopened (*note Dlopened modules::). - This option doesn't work for programs. Module names don't need to - be prefixed with 'lib'. In order to prevent name clashes, however, - 'libNAME' and 'NAME' must not be used at the same time in your - package. - -'-no-fast-install' - Disable fast-install mode for the executable OUTPUT-FILE. Useful - if the program won't be necessarily installed. - -'-no-install' - Link an executable OUTPUT-FILE that can't be installed and - therefore doesn't need a wrapper script on systems that allow - hardcoding of library paths. Useful if the program is only used in - the build tree, e.g., for testing or generating other files. - -'-no-undefined' - Declare that OUTPUT-FILE does not depend on any libraries other - than the ones listed on the command line, i.e., after linking, it - will not have unresolved symbols. Some platforms require all - symbols in shared libraries to be resolved at library creation - (*note Inter-library dependencies::), and using this parameter - allows 'libtool' to assume that this will not happen. - -'-o OUTPUT-FILE' - Create OUTPUT-FILE from the specified objects and libraries. - -'-objectlist FILE' - Use a list of object files found in FILE to specify objects. - -'-os2dllname NAME' - Use this to change the DLL base name on OS/2 to NAME, to keep - within the 8 character base name limit on this system. - -'-precious-files-regex REGEX' - Prevents removal of files from the temporary output directory whose - names match this regular expression. You might specify '\.bbg?$' - to keep those files created with 'gcc -ftest-coverage' for example. - -'-release RELEASE' - Specify that the library was generated by release RELEASE of your - package, so that users can easily tell what versions are newer than - others. Be warned that no two releases of your package will be - binary compatible if you use this flag. If you want binary - compatibility, use the '-version-info' flag instead (*note - Versioning::). - -'-rpath LIBDIR' - If OUTPUT-FILE is a library, it will eventually be installed in - LIBDIR. If OUTPUT-FILE is a program, add LIBDIR to the run-time - path of the program. On platforms that don't support hardcoding - library paths into executables and only search PATH for shared - libraries, such as when OUTPUT-FILE is a Windows (or other PE - platform) DLL, the '.la' control file will be installed in LIBDIR, - but see '-bindir' above for the eventual destination of the '.dll' - or other library file itself. - -'-R LIBDIR' - If OUTPUT-FILE is a program, add LIBDIR to its run-time path. If - OUTPUT-FILE is a library, add '-RLIBDIR' to its DEPENDENCY_LIBS, so - that, whenever the library is linked into a program, LIBDIR will be - added to its run-time path. - -'-shared' - If OUTPUT-FILE is a program, then link it against any uninstalled - shared libtool libraries (this is the default behavior). If - OUTPUT-FILE is a library, then only create a shared library. In - the later case, libtool will signal an error if it was configured - with '--disable-shared', or if the host does not support shared - libraries. - -'-shrext SUFFIX' - If OUTPUT-FILE is a libtool library, replace the system's standard - file name extension for shared libraries with SUFFIX (most systems - use '.so' here). This option is helpful in certain cases where an - application requires that shared libraries (typically modules) have - an extension other than the default one. Please note you must - supply the full file name extension including any leading dot. - -'-static' - If OUTPUT-FILE is a program, then do not link it against any - uninstalled shared libtool libraries. If OUTPUT-FILE is a library, - then only create a static library. - -'-static-libtool-libs' - If OUTPUT-FILE is a program, then do not link it against any shared - libtool libraries. If OUTPUT-FILE is a library, then only create a - static library. - -'-version-info CURRENT[:REVISION[:AGE]]' - If OUTPUT-FILE is a libtool library, use interface version - information CURRENT, REVISION, and AGE to build it (*note - Versioning::). Do *not* use this flag to specify package release - information, rather see the '-release' flag. - -'-version-number MAJOR[:MINOR[:REVISION]]' - If OUTPUT-FILE is a libtool library, compute interface version - information so that the resulting library uses the specified major, - minor and revision numbers. This is designed to permit libtool to - be used with existing projects where identical version numbers are - already used across operating systems. New projects should use the - '-version-info' flag instead. - -'-weak LIBNAME' - if OUTPUT-FILE is a libtool library, declare that it provides a - weak LIBNAME interface. This is a hint to libtool that there is no - need to append LIBNAME to the list of dependency libraries of - OUTPUT-FILE, because linking against OUTPUT-FILE already supplies - the same interface (*note Linking with dlopened modules::). - -'-Wc,FLAG' -'-Xcompiler FLAG' - Pass a linker-specific flag directly to the compiler. With '-Wc,', - multiple flags may be separated by commas, whereas '-Xcompiler ' - passes through commas unchanged. - -'-Wa,FLAG' -'-Xassembler FLAG' - Pass a linker-specific flag directly to the assembler. With - '-Wa,', multiple flags may be separated by commas, whereas - '-Xassembler ' passes through commas unchanged. - -'-Wl,FLAG' -'-Xlinker FLAG' - Pass a linker-specific flag directly to the linker. - -'-XCClinker FLAG' - Pass a link-specific flag to the compiler driver ('CC') during - linking. - - If the OUTPUT-FILE ends in '.la', then a libtool library is created, -which must be built only from library objects ('.lo' files). The -'-rpath' option is required. In the current implementation, libtool -libraries may not depend on other uninstalled libtool libraries (*note -Inter-library dependencies::). - - If the OUTPUT-FILE ends in '.a', then a standard library is created -using 'ar' and possibly 'ranlib'. - - If OUTPUT-FILE ends in '.o' or '.lo', then a reloadable object file -is created from the input files (generally using 'ld -r'). This method -is often called "partial linking". - - Otherwise, an executable program is created. - - -File: libtool.info, Node: Execute mode, Next: Install mode, Prev: Link mode, Up: Invoking libtool - -4.3 Execute mode -================ - -For "execute" mode, the library path is automatically set, then a -program is executed. - - The first of the MODE-ARGS is treated as a program name, with the -rest as arguments to that program. - - The following components of MODE-ARGS are treated specially: - -'-dlopen FILE' - Add the directory containing FILE to the library path. - - This mode sets the library path environment variable according to any -'-dlopen' flags. - - If any of the ARGS are libtool executable wrappers, then they are -translated into the name of their corresponding uninstalled binary, and -any of their required library directories are added to the library path. - - -File: libtool.info, Node: Install mode, Next: Finish mode, Prev: Execute mode, Up: Invoking libtool - -4.4 Install mode -================ - -In "install" mode, libtool interprets most of the elements of MODE-ARGS -as an installation command beginning with 'cp', or a BSD-compatible -'install' program. - - The following components of MODE-ARGS are treated specially: - -'-inst-prefix-dir INST-PREFIX-DIR' - When installing into a temporary staging area, rather than the - final 'prefix', this argument is used to reflect the temporary - path, in much the same way 'automake' uses 'DESTDIR'. For - instance, if 'prefix' is '/usr/local', but INST-PREFIX-DIR is - '/tmp', then the object will be installed under '/tmp/usr/local/'. - If the installed object is a libtool library, then the internal - fields of that library will reflect only 'prefix', not - INST-PREFIX-DIR: - - # Directory that this library needs to be installed in: - libdir='/usr/local/lib' - - not - - # Directory that this library needs to be installed in: - libdir='/tmp/usr/local/lib' - - 'inst-prefix' is also used to ensure that if the installed object - must be relinked upon installation, that it is relinked against the - libraries in INST-PREFIX-DIR/'prefix', not 'prefix'. - - In truth, this option is not really intended for use when calling - libtool directly; it is automatically used when 'libtool - --mode=install' calls 'libtool --mode=relink'. Libtool does this - by analyzing the destination path given in the original 'libtool - --mode=install' command and comparing it to the expected - installation path established during 'libtool --mode=link'. - - Thus, end-users need change nothing, and 'automake'-style 'make - install DESTDIR=/tmp' will Just Work(tm) most of the time. For - systems where fast installation cannot be turned on, relinking may - be needed. In this case, a 'DESTDIR' install will fail. - - Currently it is not generally possible to install into a temporary - staging area that contains needed third-party libraries that are - not yet visible at their final location. - - The rest of the MODE-ARGS are interpreted as arguments to the 'cp' or -'install' command. - - The command is run, and any necessary unprivileged post-installation -commands are also completed. - - -File: libtool.info, Node: Finish mode, Next: Uninstall mode, Prev: Install mode, Up: Invoking libtool - -4.5 Finish mode -=============== - -"Finish" mode has two functions. One is to help system administrators -install libtool libraries so that they can be located and linked into -user programs. To invoke this functionality, pass the name of a library -directory as MODE-ARG. Running this command may require superuser -privileges, and the '--dry-run' option may be useful. - - The second is to facilitate transferring libtool libraries to a -native compilation environment after they were built in a -cross-compilation environment. Cross-compilation environments may rely -on recent libtool features, and running libtool in finish mode will make -it easier to work with older versions of libtool. This task is -performed whenever the MODE-ARG is a '.la' file. - - -File: libtool.info, Node: Uninstall mode, Next: Clean mode, Prev: Finish mode, Up: Invoking libtool - -4.6 Uninstall mode -================== - -"Uninstall" mode deletes installed libraries, executables and objects. - - The first MODE-ARG is the name of the program to use to delete files -(typically '/bin/rm'). - - The remaining MODE-ARGS are either flags for the deletion program -(beginning with a '-'), or the names of files to delete. - - -File: libtool.info, Node: Clean mode, Prev: Uninstall mode, Up: Invoking libtool - -4.7 Clean mode -============== - -"Clean" mode deletes uninstalled libraries, executables, objects and -libtool's temporary files associated with them. - - The first MODE-ARG is the name of the program to use to delete files -(typically '/bin/rm'). - - The remaining MODE-ARGS are either flags for the deletion program -(beginning with a '-'), or the names of files to delete. - - -File: libtool.info, Node: Integrating libtool, Next: Other languages, Prev: Invoking libtool, Up: Top - -5 Integrating libtool with your package -*************************************** - -This chapter describes how to integrate libtool with your packages so -that your users can install hassle-free shared libraries. - - There are several ways that Libtool may be integrated in your -package, described in the following sections. Typically, the Libtool -macro files as well as 'ltmain.sh' are copied into your package using -'libtoolize' and 'aclocal' after setting up the 'configure.ac' and -toplevel 'Makefile.am', then 'autoconf' adds the needed tests to the -'configure' script. These individual steps are often automated with -'autoreconf'. - - Here is a diagram showing how such a typical Libtool configuration -works when preparing a package for distribution, assuming that 'm4' has -been chosen as location for additional Autoconf macros, and 'build-aux' -as location for auxiliary build tools (*note The Autoconf Manual: -(autoconf)Input.): - - libtool.m4 -----. .--> aclocal.m4 -----. - ltoptions.m4 ---+ .-> aclocal* -+ +--> autoconf* - ltversion.m4 ---+--+ `--> [copy in m4/] --+ | - ltsugar.m4 -----+ | ^ | \/ - lt~obsolete.m4 -+ +-> libtoolize* -----' | configure - [ltdl.m4] ------+ | | - `----------------------------------' - - ltmain.sh -----------> libtoolize* -> [copy in build-aux/] - - During configuration, the 'libtool' script is generated either -through 'config.status' or 'config.lt': - - .--> config.status* --. - configure* --+ +--> libtool - `--> [config.lt*] ----' ^ - | - ltmain.sh --------------------------------' - - At 'make' run time, 'libtool' is then invoked as needed as a wrapper -around compilers, linkers, install and cleanup programs. - - There are alternatives choices to several parts of the setup; for -example, the Libtool macro files can either be copied or symlinked into -the package, or copied into 'aclocal.m4'. As another example, an -external, pre-configured 'libtool' script may be used, by-passing most -of the tests and package-specific setup for Libtool. - -* Menu: - -* Autoconf macros:: Autoconf macros exported by libtool. -* Makefile rules:: Writing 'Makefile' rules for libtool. -* Using Automake:: Automatically supporting libtool. -* Configuring:: Configuring libtool for a host system. -* Distributing:: What files to distribute with your package. -* Static-only libraries:: Sometimes shared libraries are just a pain. - - -File: libtool.info, Node: Autoconf macros, Next: Makefile rules, Up: Integrating libtool - -5.1 Autoconf macros exported by libtool -======================================= - -Libtool uses a number of macros to interrogate the host system when it -is being built, and you can use some of them yourself too. Although -there are a great many other macros in the libtool installed m4 files, -these do not form part of the published interface, and are subject to -change between releases. - -Macros in the 'LT_CMD_' namespace check for various shell commands: - - -- Macro: LT_CMD_MAX_LEN - Finds the longest command line that can be safely passed to - '$SHELL' without being truncated, and store in the shell variable - '$max_cmd_len'. It is only an approximate value, but command lines - of this length or shorter are guaranteed not to be truncated. - -Macros in the 'LT_FUNC_' namespace check characteristics of library -functions: - - -- Macro: LT_FUNC_DLSYM_USCORE - 'AC_DEFINE' the preprocessor symbol 'DLSYM_USCORE' if we have to - add an underscore to symbol-names passed in to 'dlsym'. - -Macros in the 'LT_LIB_' namespace check characteristics of system -libraries: - - -- Macro: LT_LIB_M - Set 'LIBM' to the math library or libraries required on this - machine, if any. - - -- Macro: LT_LIB_DLLOAD - This is the macro used by 'libltdl' to determine what dlloaders to - use on this machine, if any. Several shell variables are set (and - 'AC_SUBST'ed) depending on the dlload interfaces are available on - this machine. 'LT_DLLOADERS' contains a list of libtool libraries - that can be used, and if necessary also sets 'LIBADD_DLOPEN' if - additional system libraries are required by the 'dlopen' loader, - and 'LIBADD_SHL_LOAD' if additional system libraries are required - by the 'shl_load' loader, respectively. Finally some symbols are - set in 'config.h' depending on the loaders that are found to work: - 'HAVE_LIBDL', 'HAVE_SHL_LOAD', 'HAVE_DYLD', 'HAVE_DLD'. - -Macros in the 'LT_PATH_' namespace search the system for the full path -to particular system commands: - - -- Macro: LT_PATH_LD - Add a '--with-gnu-ld' option to 'configure'. Try to find the path - to the linker used by '$CC', and whether it is the GNU linker. The - result is stored in the shell variable '$LD', which is - 'AC_SUBST'ed. - - -- Macro: LT_PATH_NM - Try to find a BSD-compatible 'nm' or a MS-compatible 'dumpbin' - command on this machine. The result is stored in the shell - variable '$NM', which is 'AC_SUBST'ed. - -Macros in the 'LT_SYS_' namespace probe for system characteristics: - - -- Macro: LT_SYS_DLOPEN_SELF - Tests whether a program can dlopen itself, and then also whether - the same program can still dlopen itself when statically linked. - Results are stored in the shell variables '$enable_dlopen_self' and - 'enable_dlopen_self_static' respectively. - - -- Macro: LT_SYS_DLOPEN_DEPLIBS - Define the preprocessor symbol 'LTDL_DLOPEN_DEPLIBS' if the OS - needs help to load dependent libraries for 'dlopen' (or - equivalent). - - -- Macro: LT_SYS_DLSEARCH_PATH - Define the preprocessor symbol 'LT_DLSEARCH_PATH' to the system - default library search path. - - -- Macro: LT_SYS_MODULE_EXT - Define the preprocessor symbol 'LT_MODULE_EXT' to the extension - used for runtime loadable modules. If you use libltdl to open - modules, then you can simply use the libtool library extension, - '.la'. - - -- Macro: LT_SYS_MODULE_PATH - Define the preprocessor symbol 'LT_MODULE_PATH_VAR' to the name of - the shell environment variable that determines the run-time module - search path. - - -- Macro: LT_SYS_SYMBOL_USCORE - Set the shell variable 'sys_symbol_underscore' to 'no' unless the - compiler prefixes global symbols with an underscore. - - -File: libtool.info, Node: Makefile rules, Next: Using Automake, Prev: Autoconf macros, Up: Integrating libtool - -5.2 Writing 'Makefile' rules for libtool -======================================== - -Libtool is fully integrated with Automake (*note Introduction: -(automake)Top.), starting with Automake version 1.2. - - If you want to use libtool in a regular 'Makefile' (or -'Makefile.in'), you are on your own. If you're not using Automake, and -you don't know how to incorporate libtool into your package you need to -do one of the following: - - 1. Download the latest Automake distribution from your nearest GNU - mirror, install it, and start using it. - - 2. Learn how to write 'Makefile' rules by hand. They're sometimes - complex, but if you're clever enough to write rules for compiling - your old libraries, then you should be able to figure out new rules - for libtool libraries (hint: examine the 'Makefile.in' in the - 'tests/demo' subdirectory of the libtool distribution... note - especially that it was automatically generated from the - 'Makefile.am' by Automake). - - -File: libtool.info, Node: Using Automake, Next: Configuring, Prev: Makefile rules, Up: Integrating libtool - -5.3 Using Automake with libtool -=============================== - -Libtool library support is implemented under the 'LTLIBRARIES' primary. - - Here are some samples from the Automake 'Makefile.am' in the libtool -distribution's 'demo' subdirectory. - - First, to link a program against a libtool library, just use the -'program_LDADD'(1) variable: - - bin_PROGRAMS = hell hell_static - - # Build hell from main.c and libhello.la - hell_SOURCES = main.c - hell_LDADD = libhello.la - - # Create a statically linked version of hell. - hell_static_SOURCES = main.c - hell_static_LDADD = libhello.la - hell_static_LDFLAGS = -static - - You may use the 'program_LDFLAGS' variable to stuff in any flags you -want to pass to libtool while linking 'program' (such as '-static' to -avoid linking uninstalled shared libtool libraries). - - Building a libtool library is almost as trivial... note the use of -'libhello_la_LDFLAGS' to pass the '-version-info' (*note Versioning::) -option to libtool: - - # Build a libtool library, libhello.la for installation in libdir. - lib_LTLIBRARIES = libhello.la - libhello_la_SOURCES = hello.c foo.c - libhello_la_LDFLAGS = -version-info 3:12:1 - - The '-rpath' option is passed automatically by Automake (except for -libraries listed as 'noinst_LTLIBRARIES'), so you should not specify it. - - *Note Building a Shared Library: (automake)A Shared Library, for more -information. - - When building libtool archives which depend on built sources (for -example a generated header file), you may find it necessary to manually -record these dependencies. Because libtool archives generate object -file names manually recording these dependencies is not as -straightforward as the examples in Automake's manual describe in their -examples. This effects header files in particular, because simply -listing them as 'nodist_libfoo_la_SOURCES' will not cause Automake to -establish a dependent relationship for the object files of 'libfoo.la'. -A useful trick (although somewhat imprecise) is to manually record built -sources used by a libtool archive as dependencies of all the objects for -that library as shown below (as opposed to a particular object file): - - # Build a libtool library, libhello.la which depends on a generated header. - hello.h: - echo '#define HELLO_MESSAGE "Hello, World!"' > $@ - BUILT_SOURCES = hello.h - CLEANFILES = hello.h - nodist_libhello_la_SOURCES = hello.h - libhello_la_SOURCES = hello.c foo.h foo.c bar.h bar.c - # Manually record hello.h as a prerequisite for all objects in libhello.la - $(libhello_la_OBJECTS): hello.h - - *Note Recording Dependencies manually: (automake)Built Sources -Example, for more information. - - ---------- Footnotes ---------- - - (1) Since GNU Automake 1.5, the flags '-dlopen' or '-dlpreopen' -(*note Link mode::) can be employed with the 'program_LDADD' variable. -Unfortunately, older releases didn't accept these flags, so if you are -stuck with an ancient Automake, we recommend quoting the flag itself, -and setting 'program_DEPENDENCIES' too: - - program_LDADD = "-dlopen" libfoo.la - program_DEPENDENCIES = libfoo.la - - -File: libtool.info, Node: Configuring, Next: Distributing, Prev: Using Automake, Up: Integrating libtool - -5.4 Configuring libtool -======================= - -Libtool requires intimate knowledge of your compiler suite and operating -system to be able to create shared libraries and link against them -properly. When you install the libtool distribution, a system-specific -libtool script is installed into your binary directory. - - However, when you distribute libtool with your own packages (*note -Distributing::), you do not always know the compiler suite and operating -system that are used to compile your package. - - For this reason, libtool must be "configured" before it can be used. -This idea should be familiar to anybody who has used a GNU 'configure' -script. 'configure' runs a number of tests for system features, then -generates the 'Makefile's (and possibly a 'config.h' header file), after -which you can run 'make' and build the package. - - Libtool adds its own tests to your 'configure' script to generate a -libtool script for the installer's host machine. - -* Menu: - -* LT_INIT:: Configuring 'libtool' in 'configure.ac'. -* Configure notes:: Platform-specific notes for configuration. - - -File: libtool.info, Node: LT_INIT, Next: Configure notes, Up: Configuring - -5.4.1 The 'LT_INIT' macro -------------------------- - -If you are using GNU Autoconf (or Automake), you should add a call to -'LT_INIT' to your 'configure.ac' file. This macro adds many new tests -to the 'configure' script so that the generated libtool script will -understand the characteristics of the host. It's the most important of -a number of macros defined by Libtool: - - -- Macro: LT_PREREQ (VERSION) - Ensure that a recent enough version of Libtool is being used. If - the version of Libtool used for 'LT_INIT' is earlier than VERSION, - print an error message to the standard error output and exit with - failure (exit status is 63). For example: - - LT_PREREQ([2.4.7]) - - -- Macro: LT_INIT (OPTIONS) - -- Macro: AC_PROG_LIBTOOL - -- Macro: AM_PROG_LIBTOOL - Add support for the '--enable-shared', '--disable-shared', - '--enable-static', '--disable-static', '--with-pic', and - '--without-pic' 'configure' flags.(1) 'AC_PROG_LIBTOOL' and - 'AM_PROG_LIBTOOL' are deprecated names for older versions of this - macro; 'autoupdate' will upgrade your 'configure.ac' files. - - By default, this macro turns on shared libraries if they are - available, and also enables static libraries if they don't conflict - with the shared libraries. You can modify these defaults by - passing either 'disable-shared' or 'disable-static' in the option - list to 'LT_INIT', or using 'AC_DISABLE_SHARED' or - 'AC_DISABLE_STATIC'. - - # Turn off shared libraries during beta-testing, since they - # make the build process take too long. - LT_INIT([disable-shared]) - - The user may specify modified forms of the configure flags - '--enable-shared' and '--enable-static' to choose whether shared or - static libraries are built based on the name of the package. For - example, to have shared 'bfd' and 'gdb' libraries built, but not - shared 'libg++', you can run all three 'configure' scripts as - follows: - - trick$ ./configure --enable-shared=bfd,gdb - - In general, specifying '--enable-shared=PKGS' is the same as - configuring with '--enable-shared' every package named in the - comma-separated PKGS list, and every other package with - '--disable-shared'. The '--enable-static=PKGS' flag behaves - similarly, but it uses '--enable-static' and '--disable-static'. - The same applies to the '--enable-fast-install=PKGS' flag, which - uses '--enable-fast-install' and '--disable-fast-install'. - - The package name 'default' matches any packages that have not set - their name in the 'PACKAGE' environment variable. - - The '--with-pic' and '--without-pic' configure flags can be used to - specify whether or not 'libtool' uses PIC objects. By default, - 'libtool' uses PIC objects for shared libraries and non-PIC objects - for static libraries. The '--with-pic' option also accepts a - comma-separated list of package names. Specifying - '--with-pic=PKGS' is the same as configuring every package in PKGS - with '--with-pic' and every other package with the default - configuration. The package name 'default' is treated the same as - for '--enable-shared' and '--enable-static'. - - This macro also sets the shell variable 'LIBTOOL_DEPS', that you - can use to automatically update the libtool script if it becomes - out-of-date. In order to do that, add to your 'configure.ac': - - LT_INIT - AC_SUBST([LIBTOOL_DEPS]) - - and, to 'Makefile.in' or 'Makefile.am': - - LIBTOOL_DEPS = @LIBTOOL_DEPS@ - libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status libtool - - If you are using GNU Automake, you can omit the assignment, as - Automake will take care of it. You'll obviously have to create - some dependency on 'libtool'. - - Aside from 'disable-static' and 'disable-shared', there are other - options that you can pass to 'LT_INIT' to modify its behaviour. - Here is a full list: - - 'dlopen' - Enable checking for dlopen support. This option should be - used if the package makes use of the '-dlopen' and - '-dlpreopen' libtool flags, otherwise libtool will assume that - the system does not support dlopening. - - 'win32-dll' - This option should be used if the package has been ported to - build clean dlls on win32 platforms. Usually this means that - any library data items are exported with - '__declspec(dllexport)' and imported with - '__declspec(dllimport)'. If this option is not used, libtool - will assume that the package libraries are not dll clean and - will build only static libraries on win32 hosts. - - Provision must be made to pass '-no-undefined' to 'libtool' in - link mode from the package 'Makefile'. Naturally, if you pass - '-no-undefined', you must ensure that all the library symbols - *really are* defined at link time! - - 'aix-soname=aix' - 'aix-soname=svr4' - 'aix-soname=both' - Enable the '--with-aix-soname' to 'configure', which the user - can pass to override the given default. - - By default (and *always* in releases prior to 2.4.4), Libtool - always behaves as if 'aix-soname=aix' is given, with no - 'configure' option for the user to override. Specifically, - when the '-brtl' linker flag is seen in 'LDFLAGS' at - build-time, static archives are built from static objects - only, otherwise, traditional AIX shared library archives of - shared objects using in-archive versioning are built (with the - '.a' file extension!). Similarly, with '-brtl' in 'LDFLAGS', - libtool shared archives are built from shared objects, without - any filename-based versioning; and without '-brtl' no shared - archives are built at all. - - When 'aix-soname=svr4' option is given, or the - '--with-aix-soname=svr4' 'configure' option is passed, static - archives are always created from static objects, even without - '-brtl' in 'LDFLAGS'. Shared archives are made from shared - objects, and filename based versioning is enabled. - - When 'aix-soname=both' option is given, or the - '--with-aix-soname=svr4' 'configure' option is passed, static - archives are built traditionally (as 'aix-soname=aix'), and - both kinds of shared archives are built. The '.la' - pseudo-archive specifies one or the other depending on whether - '-brtl' is specified in 'LDFLAGS' when the library is built. - - 'disable-fast-install' - Change the default behaviour for 'LT_INIT' to disable - optimization for fast installation. The user may still - override this default, depending on platform support, by - specifying '--enable-fast-install' to 'configure'. - - 'shared' - Change the default behaviour for 'LT_INIT' to enable shared - libraries. This is the default on all systems where Libtool - knows how to create shared libraries. The user may still - override this default by specifying '--disable-shared' to - 'configure'. - - 'disable-shared' - Change the default behaviour for 'LT_INIT' to disable shared - libraries. The user may still override this default by - specifying '--enable-shared' to 'configure'. - - 'static' - Change the default behaviour for 'LT_INIT' to enable static - libraries. This is the default on all systems where shared - libraries have been disabled for some reason, and on most - systems where shared libraries have been enabled. If shared - libraries are enabled, the user may still override this - default by specifying '--disable-static' to 'configure'. - - 'disable-static' - Change the default behaviour for 'LT_INIT' to disable static - libraries. The user may still override this default by - specifying '--enable-static' to 'configure'. - - 'pic-only' - Change the default behaviour for 'libtool' to try to use only - PIC objects. The user may still override this default by - specifying '--without-pic' to 'configure'. - - 'no-pic' - Change the default behaviour of 'libtool' to try to use only - non-PIC objects. The user may still override this default by - specifying '--with-pic' to 'configure'. - - -- Macro: LT_LANG (LANGUAGE) - Enable 'libtool' support for the language given if it has not yet - already been enabled. Languages accepted are "C++", "Fortran 77", - "Java", "Go", and "Windows Resource". - - If Autoconf language support macros such as 'AC_PROG_CXX' are used - in your 'configure.ac', Libtool language support will automatically - be enabled. - - Conversely using 'LT_LANG' to enable language support for Libtool - will automatically enable Autoconf language support as well. - - Both of the following examples are therefore valid ways of adding - C++ language support to Libtool. - - LT_INIT - LT_LANG([C++]) - - LT_INIT - AC_PROG_CXX - - -- Macro: AC_LIBTOOL_DLOPEN - This macro is deprecated, the 'dlopen' option to 'LT_INIT' should - be used instead. - - -- Macro: AC_LIBTOOL_WIN32_DLL - This macro is deprecated, the 'win32-dll' option to 'LT_INIT' - should be used instead. - - -- Macro: AC_DISABLE_FAST_INSTALL - This macro is deprecated, the 'disable-fast-install' option to - 'LT_INIT' should be used instead. - - -- Macro: AC_DISABLE_SHARED - -- Macro: AM_DISABLE_SHARED - Change the default behaviour for 'LT_INIT' to disable shared - libraries. The user may still override this default by specifying - '--enable-shared'. The option 'disable-shared' to 'LT_INIT' is a - shorthand for this. 'AM_DISABLE_SHARED' is a deprecated alias for - 'AC_DISABLE_SHARED'. - - -- Macro: AC_ENABLE_SHARED - -- Macro: AM_ENABLE_SHARED - Change the default behaviour for 'LT_INIT' to enable shared - libraries. This is the default on all systems where Libtool knows - how to create shared libraries. The user may still override this - default by specifying '--disable-shared'. The option 'shared' to - 'LT_INIT' is a shorthand for this. 'AM_ENABLE_SHARED' is a - deprecated alias for 'AC_ENABLE_SHARED'. - - -- Macro: AC_DISABLE_STATIC - -- Macro: AM_DISABLE_STATIC - Change the default behaviour for 'LT_INIT' to disable static - libraries. The user may still override this default by specifying - '--enable-static'. The option 'disable-static' to 'LT_INIT' is a - shorthand for this. 'AM_DISABLE_STATIC' is a deprecated alias for - 'AC_DISABLE_STATIC'. - - -- Macro: AC_ENABLE_STATIC - -- Macro: AM_ENABLE_STATIC - Change the default behaviour for 'LT_INIT' to enable static - libraries. This is the default on all systems where shared - libraries have been disabled for some reason, and on most systems - where shared libraries have been enabled. If shared libraries are - enabled, the user may still override this default by specifying - '--disable-static'. The option 'static' to 'LT_INIT' is a - shorthand for this. 'AM_ENABLE_STATIC' is a deprecated alias for - 'AC_ENABLE_STATIC'. - - The tests in 'LT_INIT' also recognize the following environment -variables: - - -- Variable: CC - The C compiler that will be used by the generated 'libtool'. If - this is not set, 'LT_INIT' will look for 'gcc' or 'cc'. - - -- Variable: CFLAGS - Compiler flags used to generate standard object files. If this is - not set, 'LT_INIT' will not use any such flags. It affects only - the way 'LT_INIT' runs tests, not the produced 'libtool'. - - -- Variable: CPPFLAGS - C preprocessor flags. If this is not set, 'LT_INIT' will not use - any such flags. It affects only the way 'LT_INIT' runs tests, not - the produced 'libtool'. - - -- Variable: LD - The system linker to use (if the generated 'libtool' requires one). - If this is not set, 'LT_INIT' will try to find out what is the - linker used by 'CC'. - - -- Variable: LDFLAGS - The flags to be used by 'libtool' when it links a program. If this - is not set, 'LT_INIT' will not use any such flags. It affects only - the way 'LT_INIT' runs tests, not the produced 'libtool'. - - -- Variable: LIBS - The libraries to be used by 'LT_INIT' when it links a program. If - this is not set, 'LT_INIT' will not use any such flags. It affects - only the way 'LT_INIT' runs tests, not the produced 'libtool'. - - -- Variable: NM - Program to use rather than checking for 'nm'. - - -- Variable: RANLIB - Program to use rather than checking for 'ranlib'. - - -- Variable: LN_S - A command that creates a link of a program, a soft-link if - possible, a hard-link otherwise. 'LT_INIT' will check for a - suitable program if this variable is not set. - - -- Variable: DLLTOOL - Program to use rather than checking for 'dlltool'. Only meaningful - for Cygwin/MS-Windows. - - -- Variable: OBJDUMP - Program to use rather than checking for 'objdump'. Only meaningful - for Cygwin/MS-Windows. - - -- Variable: AS - Program to use rather than checking for 'as'. Only used on - Cygwin/MS-Windows at the moment. - - -- Variable: MANIFEST_TOOL - Program to use rather than checking for 'mt', the Manifest Tool. - Only used on Cygwin/MS-Windows at the moment. - - -- Variable: LT_SYS_LIBRARY_PATH - Libtool has heuristics for the system search path for - runtime-loaded libraries. If the guessed default does not match - the setup of the host system, this variable can be used to modify - that path list, as follows ('LT_SYS_LIBRARY_PATH' is a - colon-delimited list like 'PATH'): - * 'path:' The heuristically determined paths will be appened - after the trailing colon; - * ':path' The heuristically determined paths will be prepended - before the leading colon; - * 'path::path' The heuristically determined paths will be - inserted between the double colons; - * 'path' With no dangling colons, the heuristically determined - paths will be ignored entirely. - - With 1.3 era libtool, if you wanted to know any details of what -libtool had discovered about your architecture and environment, you had -to run the script with '--config' and grep through the results. This -idiom was supported up to and including 1.5.x era libtool, where it was -possible to call the generated libtool script from 'configure.ac' as -soon as 'LT_INIT' had completed. However, one of the features of -libtool 1.4 was that the libtool configuration was migrated out of a -separate 'ltconfig' file, and added to the 'LT_INIT' macro (nee -'AC_PROG_LIBTOOL'), so the results of the configuration tests were -available directly to code in 'configure.ac', rendering the call out to -the generated libtool script obsolete. - - Starting with libtool 2.0, the multipass generation of the libtool -script has been consolidated into a single 'config.status' pass, which -happens after all the code in 'configure.ac' has completed. The -implication of this is that the libtool script does not exist during -execution of code from 'configure.ac', and so obviously it cannot be -called for '--config' details anymore. If you are upgrading projects -that used this idiom to libtool 2.0 or newer, you should replace those -calls with direct references to the equivalent Autoconf shell variables -that are set by the configure time tests before being passed to -'config.status' for inclusion in the generated libtool script. - - -- Macro: LT_OUTPUT - By default, the configured 'libtool' script is generated by the - call to 'AC_OUTPUT' command, and there is rarely any need to use - 'libtool' from 'configure'. However, sometimes it is necessary to - run configure time compile and link tests using 'libtool'. You can - add 'LT_OUTPUT' to your 'configure.ac' any time after 'LT_INIT' and - any 'LT_LANG' calls; that done, 'libtool' will be created by a - specially generated 'config.lt' file, and available for use in - later tests. - - Also, when 'LT_OUTPUT' is used, for backwards compatibility with - Automake regeneration rules, 'config.status' will call 'config.lt' - to regenerate 'libtool', rather than generating the file itself. - - When you invoke the 'libtoolize' program (*note Invoking -libtoolize::), it will tell you where to find a definition of 'LT_INIT'. -If you use Automake, the 'aclocal' program will automatically add -'LT_INIT' support to your 'configure' script when it sees the invocation -of 'LT_INIT' in 'configure.ac'. - - Because of these changes, and the runtime version compatibility -checks Libtool now executes, we now advise *against* including a copy of -'libtool.m4' (and brethren) in 'acinclude.m4'. Instead, you should set -your project macro directory with 'AC_CONFIG_MACRO_DIRS'. When you -'libtoolize' your project, a copy of the relevant macro definitions will -be placed in your 'AC_CONFIG_MACRO_DIRS', where 'aclocal' can reference -them directly from 'aclocal.m4'. - - ---------- Footnotes ---------- - - (1) 'LT_INIT' requires that you define the 'Makefile' variable -'top_builddir' in your 'Makefile.in'. Automake does this automatically, -but Autoconf users should set it to the relative path to the top of your -build directory ('../..', for example). - - -File: libtool.info, Node: Configure notes, Prev: LT_INIT, Up: Configuring - -5.4.2 Platform-specific configuration notes -------------------------------------------- - -While Libtool tries to hide as many platform-specific features as -possible, some have to be taken into account when configuring either the -Libtool package or a libtoolized package. - - * You currently need GNU make to build the Libtool package itself. - - * On AIX there are two different styles of shared linking, one where - symbols are bound at link-time and one where symbols are bound at - runtime only, similar to ELF. In case of doubt use - 'LDFLAGS=-Wl,-brtl' for the latter style. - - * On AIX, native tools are to be preferred over binutils; especially - for C++ code, if using the AIX Toolbox GCC 4.0 and binutils, - configure with 'AR=/usr/bin/ar LD=/usr/bin/ld NM='/usr/bin/nm -B''. - - * On AIX, the '/bin/sh' is very slow due to its inefficient handling - of here-documents. A modern shell is preferable: - CONFIG_SHELL=/bin/bash; export $CONFIG_SHELL - $CONFIG_SHELL ./configure [...] - - * For C++ code with templates, it may be necessary to specify the way - the compiler will generate the instantiations. For Portland pgCC - version5, use 'CXX='pgCC --one_instantiation_per_object'' and avoid - parallel 'make'. - - * On Darwin, for C++ code with templates you need two level shared - libraries. Libtool builds these by default if - 'MACOSX_DEPLOYMENT_TARGET' is set to 10.3 or later at 'configure' - time. See for more information on this - issue. - - * The default shell on UNICOS 9, a ksh 88e variant, is too buggy to - correctly execute the libtool script. Users are advised to install - a modern shell such as GNU bash. - - * Some HP-UX 'sed' programs are horribly broken, and cannot handle - libtool's requirements, so users may report unusual problems. - There is no workaround except to install a working 'sed' (such as - GNU sed) on these systems. - - * The vendor-distributed NCR MP-RAS 'cc' programs emits copyright on - standard error that confuse tests on size of 'conftest.err'. The - workaround is to specify 'CC' when run configure with 'CC='cc - -Hnocopyr''. - - * Any earlier DG/UX system with ELF executables, such as R3.10 or - R4.10, is also likely to work, but hasn't been explicitly tested. - - * On Reliant Unix libtool has only been tested with the Siemens - C-compiler and an old version of 'gcc' provided by Marco Walther. - - * 'libtool.m4', 'ltdl.m4' and the 'configure.ac' files are marked to - use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf - itself, and all recent releases of XEmacs. - - * When building on some GNU/Linux systems for multilib targets - 'libtool' sometimes guesses the wrong paths that the linker and - dynamic linker search by default. If this occurs for the dynamic - library path, you may use the 'LT_SYS_LIBRARY_PATH' environment - variable to adjust. Otherwise, at 'configure' time you may - override libtool's guesses by setting the 'autoconf' cache - variables 'lt_cv_sys_lib_search_path_spec' and - 'lt_cv_sys_lib_dlsearch_path_spec' respectively. - - -File: libtool.info, Node: Distributing, Next: Static-only libraries, Prev: Configuring, Up: Integrating libtool - -5.5 Including libtool in your package -===================================== - -In order to use libtool, you need to include the following files with -your package: - -'config.guess' - Attempt to guess a canonical system name. - -'config.sub' - Canonical system name validation subroutine script. - -'install-sh' - BSD-compatible 'install' replacement script. - -'ltmain.sh' - A generic script implementing basic libtool functionality. - - Note that the libtool script itself should _not_ be included with -your package. *Note Configuring::. - - You should use the 'libtoolize' program, rather than manually copying -these files into your package. - -* Menu: - -* Invoking libtoolize:: 'libtoolize' command line options. -* Autoconf and LTLIBOBJS:: Autoconf automates LTLIBOBJS generation. - - -File: libtool.info, Node: Invoking libtoolize, Next: Autoconf and LTLIBOBJS, Up: Distributing - -5.5.1 Invoking 'libtoolize' ---------------------------- - -The 'libtoolize' program provides a standard way to add libtool support -to your package. In the future, it may implement better usage checking, -or other features to make libtool even easier to use. - - The 'libtoolize' program has the following synopsis: - - libtoolize [OPTION]... - -and accepts the following options: - -'--copy' -'-c' - Copy files from the libtool data directory rather than creating - symlinks. - -'--debug' - Dump a trace of shell script execution to standard output. This - produces a lot of output, so you may wish to pipe it to 'less' (or - 'more') or redirect to a file. - -'--dry-run' -'-n' - Don't run any commands that modify the file system, just print them - out. - -'--force' -'-f' - Replace existing libtool files. By default, 'libtoolize' won't - overwrite existing files. - -'--help' - Display a help message and exit. - -'--ltdl [TARGET-DIRECTORY-NAME]' - Install libltdl in the TARGET-DIRECTORY-NAME subdirectory of your - package. Normally, the directory is extracted from the argument to - 'LT_CONFIG_LTDL_DIR' in 'configure.ac', though you can also specify - a subdirectory name here if you are not using Autoconf for example. - If 'libtoolize' can't determine the target directory, 'libltdl' is - used as the default. - -'--no-warn' - Normally, Libtoolize tries to diagnose use of deprecated libtool - macros and other stylistic issues. If you are deliberately using - outdated calling conventions, this option prevents Libtoolize from - explaining how to update your project's Libtool conventions. - -'--nonrecursive' - If passed in conjunction with '--ltdl', this option will cause the - 'libltdl' installed by 'libtoolize' to be set up for use with a - non-recursive 'automake' build. To make use of it, you will need - to add the following to the 'Makefile.am' of the parent project: - - ## libltdl/ltdl.mk appends to the following variables - ## so we set them here before including it: - BUILT_SOURCES = - - AM_CPPFLAGS = - AM_LDFLAGS = - - include_HEADERS = - noinst_LTLIBRARIES = - lib_LTLIBRARIES = - EXTRA_LTLIBRARIES = - - EXTRA_DIST = - - CLEANFILES = - MOSTLYCLEANFILES = - - include libltdl/ltdl.mk - - -'--quiet' -'-q' - Work silently. 'libtoolize --quiet' is used by GNU Automake to add - libtool files to your package if necessary. - -'--recursive' - If passed in conjunction with '--ltdl', this option will cause the - 'libtoolize' installed 'libltdl' to be set up for use with a - recursive 'automake' build. To make use of it, you will need to - adjust the parent project's 'configure.ac': - - AC_CONFIG_FILES([libltdl/Makefile]) - - and 'Makefile.am': - - SUBDIRS += libltdl - -'--subproject' - If passed in conjunction with '--ltdl', this option will cause the - 'libtoolize' installed 'libltdl' to be set up for independent - configuration and compilation as a self-contained subproject. To - make use of it, you should arrange for your build to call - 'libltdl/configure', and then run 'make' in the 'libltdl' directory - (or the subdirectory you put libltdl into). If your project uses - Autoconf, you can use the supplied 'LT_WITH_LTDL' macro, or else - call 'AC_CONFIG_SUBDIRS' directly. - - Previous releases of 'libltdl' built exclusively in this mode, but - now it is the default mode both for backwards compatibility and - because, for example, it is suitable for use in projects that wish - to use 'libltdl', but not use the Autotools for their own build - process. - -'--verbose' -'-v' - Work noisily! Give a blow by blow account of what 'libtoolize' is - doing. - -'--version' - Print 'libtoolize' version information and exit. - - Sometimes it can be useful to pass options to 'libtoolize' even -though it is called by another program, such as 'autoreconf'. A limited -number of options are parsed from the environment variable -'LIBTOOLIZE_OPTIONS': currently '--debug', '--no-warn', '--quiet' and -'--verbose'. Multiple options passed in 'LIBTOOLIZE_OPTIONS' must be -separated with a space, comma or a colon. - - By default, a warning is issued for unknown options found in -'LIBTOOLIZE_OPTIONS' unless the first such option is '--no-warn'. Where -'libtoolize' has always quit on receipt of an unknown option at the -command line, this and all previous releases of 'libtoolize' will -continue unabated whatever the content of 'LIBTOOLIZE_OPTIONS' (modulo -some possible warning messages). - - trick$ LIBTOOLIZE_OPTIONS=--no-warn,--quiet autoreconf --install - - If 'libtoolize' detects an explicit call to 'AC_CONFIG_MACRO_DIRS' -(*note The Autoconf Manual: (autoconf)Input.) in your 'configure.ac', it -will put the Libtool macros in the specified directory. - - In the future other Autotools will automatically check the contents -of 'AC_CONFIG_MACRO_DIRS', but at the moment it is more portable to add -the macro directory to 'ACLOCAL_AMFLAGS' in 'Makefile.am', which is -where the tools currently look. If 'libtoolize' doesn't see -'AC_CONFIG_MACRO_DIRS', it too will honour the first '-I' argument in -'ACLOCAL_AMFLAGS' when choosing a directory to store libtool -configuration macros in. It is perfectly sensible to use both -'AC_CONFIG_MACRO_DIRS' and 'ACLOCAL_AMFLAGS', as long as they are kept -in synchronisation. - - ACLOCAL_AMFLAGS = -I m4 - - When you bootstrap your project with 'aclocal', then you will need to -explicitly pass the same macro directory with 'aclocal''s '-I' flag: - - trick$ aclocal -I m4 - - If 'libtoolize' detects an explicit call to 'AC_CONFIG_AUX_DIR' -(*note The Autoconf Manual: (autoconf)Input.) in your 'configure.ac', it -will put the other support files in the specified directory. Otherwise -they too end up in the project root directory. - - Unless '--no-warn' is passed, 'libtoolize' displays hints for adding -libtool support to your package, as well. - - -File: libtool.info, Node: Autoconf and LTLIBOBJS, Prev: Invoking libtoolize, Up: Distributing - -5.5.2 Autoconf and 'LTLIBOBJS' ------------------------------- - -People used to add code like the following to their 'configure.ac': - - LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` - AC_SUBST([LTLIBOBJS]) - -This is no longer required (since Autoconf 2.54), and doesn't take -Automake's deansification support into account either, so doesn't work -correctly even with ancient Autoconfs! - - Provided you are using a recent (2.54 or better) incarnation of -Autoconf, the call to 'AC_OUTPUT' takes care of setting 'LTLIBOBJS' up -correctly, so you can simply delete such snippets from your -'configure.ac' if you had them. - - -File: libtool.info, Node: Static-only libraries, Prev: Distributing, Up: Integrating libtool - -5.6 Static-only libraries -========================= - -When you are developing a package, it is often worthwhile to configure -your package with the '--disable-shared' flag, or to override the -defaults for 'LT_INIT' by using the 'disable-shared' option (*note The -'LT_INIT' macro: LT_INIT.). This prevents libtool from building shared -libraries, which has several advantages: - - * compilation is twice as fast, which can speed up your development - cycle, - - * debugging is easier because you don't need to deal with any - complexities added by shared libraries, and - - * you can see how libtool behaves on static-only platforms. - - You may want to put a small note in your package 'README' to let -other developers know that '--disable-shared' can save them time. The -following example note is taken from the GIMP(1) distribution 'README': - - The GIMP uses GNU Libtool to build shared libraries on a - variety of systems. While this is very nice for making usable - binaries, it can be a pain when trying to debug a program. For that - reason, compilation of shared libraries can be turned off by - specifying the --disable-shared option to configure. - - ---------- Footnotes ---------- - - (1) GNU Image Manipulation Program, for those who haven't taken the -plunge. See . - - -File: libtool.info, Node: Other languages, Next: Versioning, Prev: Integrating libtool, Up: Top - -6 Using libtool with other languages -************************************ - -Libtool was first implemented to add support for writing shared -libraries in the C language. However, over time, libtool is being -integrated with other languages, so that programmers are free to reap -the benefits of shared libraries in their favorite programming language. - - This chapter describes how libtool interacts with other languages, -and what special considerations you need to make if you do not use C. - -* Menu: - -* C++ libraries:: Writing libraries for C++ -* Tags:: Tags - - -File: libtool.info, Node: C++ libraries, Next: Tags, Up: Other languages - -6.1 Writing libraries for C++ -============================= - -Creating libraries of C++ code should be a fairly straightforward -process, because its object files differ from C ones in only three ways: - - 1. Because of name mangling, C++ libraries are only usable by the C++ - compiler that created them. This decision was made by the - designers of C++ to protect users from conflicting implementations - of features such as constructors, exception handling, and RTTI. - - 2. On some systems, the C++ compiler must take special actions for the - dynamic linker to run dynamic (i.e., run-time) initializers. This - means that we should not call 'ld' directly to link such libraries, - and we should use the C++ compiler instead. - - 3. C++ compilers will link some Standard C++ library in by default, - but libtool does not know what these libraries are, so it cannot - even run the inter-library dependence analyzer to check how to link - it in. Therefore, running 'ld' to link a C++ program or library is - deemed to fail. - - Because of these three issues, Libtool has been designed to always -use the C++ compiler to compile and link C++ programs and libraries. In -some instances the 'main()' function of a program must also be compiled -with the C++ compiler for static C++ objects to be properly initialized. - - -File: libtool.info, Node: Tags, Prev: C++ libraries, Up: Other languages - -6.2 Tags -======== - -Libtool supports multiple languages through the use of tags. -Technically a tag corresponds to a set of configuration variables -associated with a language. These variables tell 'libtool' how it -should create objects and libraries for each language. - - Tags are defined at 'configure'-time for each language activated in -the package (see 'LT_LANG' in *note LT_INIT::). Here is the -correspondence between language names and tags names. - -Language name Tag name -C CC -C++ CXX -Java GCJ -Fortran 77 F77 -Fortran FC -Go GO -Windows Resource RC - - 'libtool' tries to automatically infer what tag to use from the -compiler command being used to compile or link. If it can't infer a -tag, then it defaults to the configuration for the 'C' language. - - The tag can also be specified using 'libtool''s '--tag=TAG' option -(*note Invoking libtool::). It is a good idea to do so in 'Makefile' -rules, because that will allow users to substitute the compiler without -relying on 'libtool' inference heuristics. When no tag is specified, -'libtool' will default to 'CC'; this tag always exists. - - Finally, the set of tags available in a particular project can be -retrieved by tracing for the 'LT_SUPPORTED_TAG' macro (*note Trace -interface::). - - -File: libtool.info, Node: Versioning, Next: Library tips, Prev: Other languages, Up: Top - -7 Library interface versions -**************************** - -The most difficult issue introduced by shared libraries is that of -creating and resolving runtime dependencies. Dependencies on programs -and libraries are often described in terms of a single name, such as -'sed'. So, one may say "libtool depends on sed," and that is good -enough for most purposes. - - However, when an interface changes regularly, we need to be more -specific: "Gnus 5.1 requires Emacs 19.28 or above." Here, the -description of an interface consists of a name, and a "version number." - - Even that sort of description is not accurate enough for some -purposes. What if Emacs 20 changes enough to break Gnus 5.1? - - The same problem exists in shared libraries: we require a formal -version system to describe the sorts of dependencies that programs have -on shared libraries, so that the dynamic linker can guarantee that -programs are linked only against libraries that provide the interface -they require. - -* Menu: - -* Interfaces:: What are library interfaces? -* Libtool versioning:: Libtool's versioning system. -* Updating version info:: Changing version information before releases. -* Release numbers:: Breaking binary compatibility for aesthetics. - - -File: libtool.info, Node: Interfaces, Next: Libtool versioning, Up: Versioning - -7.1 What are library interfaces? -================================ - -Interfaces for libraries may be any of the following (and more): - - * global variables: both names and types - - * global functions: argument types and number, return types, and - function names - - * standard input, standard output, standard error, and file formats - - * sockets, pipes, and other inter-process communication protocol - formats - - Note that static functions do not count as interfaces, because they -are not directly available to the user of the library. - - -File: libtool.info, Node: Libtool versioning, Next: Updating version info, Prev: Interfaces, Up: Versioning - -7.2 Libtool's versioning system -=============================== - -Libtool has its own formal versioning system. It is not as flexible as -some, but it is definitely the simplest of the more powerful versioning -systems. - - Think of a library as exporting several sets of interfaces, -arbitrarily represented by integers. When a program is linked against a -library, it may use any subset of those interfaces. - - Libtool's description of the interfaces that a program uses is -simple: it encodes the least and the greatest interface numbers in the -resulting binary (FIRST-INTERFACE, LAST-INTERFACE). - - The dynamic linker is guaranteed that if a library supports _every_ -interface number between FIRST-INTERFACE and LAST-INTERFACE, then the -program can be relinked against that library. - - Note that this can cause problems because libtool's compatibility -requirements are actually stricter than is necessary. - - Say 'libhello' supports interfaces 5, 16, 17, 18, and 19, and that -libtool is used to link 'test' against 'libhello'. - - Libtool encodes the numbers 5 and 19 in 'test', and the dynamic -linker will only link 'test' against libraries that support _every_ -interface between 5 and 19. So, the dynamic linker refuses to link -'test' against 'libhello'! - - In order to eliminate this problem, libtool only allows libraries to -declare consecutive interface numbers. So, 'libhello' can declare at -most that it supports interfaces 16 through 19. Then, the dynamic -linker will link 'test' against 'libhello'. - - So, libtool library versions are described by three integers: - -CURRENT - The most recent interface number that this library implements. - -REVISION - The implementation number of the CURRENT interface. - -AGE - The difference between the newest and oldest interfaces that this - library implements. In other words, the library implements all the - interface numbers in the range from number 'CURRENT - AGE' to - 'CURRENT'. - - If two libraries have identical CURRENT and AGE numbers, then the -dynamic linker chooses the library with the greater REVISION number. - - -File: libtool.info, Node: Updating version info, Next: Release numbers, Prev: Libtool versioning, Up: Versioning - -7.3 Updating library version information -======================================== - -If you want to use libtool's versioning system, then you must specify -the version information to libtool using the '-version-info' flag during -link mode (*note Link mode::). - - This flag accepts an argument of the form 'CURRENT[:REVISION[:AGE]]'. -So, passing '-version-info 3:12:1' sets CURRENT to 3, REVISION to 12, -and AGE to 1. - - If either REVISION or AGE are omitted, they default to 0. Also note -that AGE must be less than or equal to the CURRENT interface number. - - Here are a set of rules to help you update your library version -information: - - 1. Start with version information of '0:0:0' for each libtool library. - - 2. Update the version information only immediately before a public - release of your software. More frequent updates are unnecessary, - and only guarantee that the current interface number gets larger - faster. - - 3. If the library source code has changed at all since the last - update, then increment REVISION ('C:R:A' becomes 'C:r+1:A'). - - 4. If any interfaces have been added, removed, or changed since the - last update, increment CURRENT, and set REVISION to 0. - - 5. If any interfaces have been added since the last public release, - then increment AGE. - - 6. If any interfaces have been removed or changed since the last - public release, then set AGE to 0. - - *_Never_* try to set the interface numbers so that they correspond to -the release number of your package. This is an abuse that only fosters -misunderstanding of the purpose of library versions. Instead, use the -'-release' flag (*note Release numbers::), but be warned that every -release of your package will not be binary compatible with any other -release. - - The following explanation may help to understand the above rules a -bit better: consider that there are three possible kinds of reactions -from users of your library to changes in a shared library: - - 1. Programs using the previous version may use the new version as - drop-in replacement, and programs using the new version can also - work with the previous one. In other words, no recompiling nor - relinking is needed. In this case, bump REVISION only, don't touch - CURRENT nor AGE. - - 2. Programs using the previous version may use the new version as - drop-in replacement, but programs using the new version may use - APIs not present in the previous one. In other words, a program - linking against the new version may fail with "unresolved symbols" - if linking against the old version at runtime: set REVISION to 0, - bump CURRENT and AGE. - - 3. Programs may need to be changed, recompiled, and relinked in order - to use the new version. Bump CURRENT, set REVISION and AGE to 0. - -In the above description, _programs_ using the library in question may -also be replaced by other libraries using it. - - -File: libtool.info, Node: Release numbers, Prev: Updating version info, Up: Versioning - -7.4 Managing release information -================================ - -Often, people want to encode the name of the package release into the -shared library so that it is obvious to the user what package their -programs are linked against. This convention is used especially on -GNU/Linux: - - trick$ ls /usr/lib/libbfd* - /usr/lib/libbfd.a /usr/lib/libbfd.so.2.7.0.2 - /usr/lib/libbfd.so - trick$ - - On 'trick', '/usr/lib/libbfd.so' is a symbolic link to -'libbfd.so.2.7.0.2', which was distributed as a part of -'binutils-2.7.0.2'. - - Unfortunately, this convention conflicts directly with libtool's idea -of library interface versions, because the library interface rarely -changes at the same time that the release number does, and the library -suffix is never the same across all platforms. - - So, to accommodate both views, you can use the '-release' flag to set -release information for libraries for which you do not want to use -'-version-info'. For the 'libbfd' example, the next release that uses -libtool should be built with '-release 2.9.0', which will produce the -following files on GNU/Linux: - - trick$ ls /usr/lib/libbfd* - /usr/lib/libbfd-2.9.0.so /usr/lib/libbfd.a - /usr/lib/libbfd.so - trick$ - - In this case, '/usr/lib/libbfd.so' is a symbolic link to -'libbfd-2.9.0.so'. This makes it obvious that the user is dealing with -'binutils-2.9.0', without compromising libtool's idea of interface -versions. - - Note that this option causes a modification of the library name, so -do not use it unless you want to break binary compatibility with any -past library releases. In general, you should only use '-release' for -package-internal libraries or for ones whose interfaces change very -frequently. - - -File: libtool.info, Node: Library tips, Next: Inter-library dependencies, Prev: Versioning, Up: Top - -8 Tips for interface design -*************************** - -Writing a good library interface takes a lot of practice and thorough -understanding of the problem that the library is intended to solve. - - If you design a good interface, it won't have to change often, you -won't have to keep updating documentation, and users won't have to keep -relearning how to use the library. - - Here is a brief list of tips for library interface design that may -help you in your exploits: - -Plan ahead - Try to make every interface truly minimal, so that you won't need - to delete entry points very often. - -Avoid interface changes - Some people love redesigning and changing entry points just for the - heck of it (note: _renaming_ a function is considered changing an - entry point). Don't be one of those people. If you must redesign - an interface, then try to leave compatibility functions behind so - that users don't need to rewrite their existing code. - -Use opaque data types - The fewer data type definitions a library user has access to, the - better. If possible, design your functions to accept a generic - pointer (that you can cast to an internal data type), and provide - access functions rather than allowing the library user to directly - manipulate the data. That way, you have the freedom to change the - data structures without changing the interface. - - This is essentially the same thing as using abstract data types and - inheritance in an object-oriented system. - -Use header files - If you are careful to document each of your library's global - functions and variables in header files, and include them in your - library source files, then the compiler will let you know if you - make any interface changes by accident (*note C header files::). - -Use the 'static' keyword (or equivalent) whenever possible - The fewer global functions your library has, the more flexibility - you'll have in changing them. Static functions and variables may - change forms as often as you like... your users cannot access them, - so they aren't interface changes. - -Be careful with array dimensions - The number of elements in a global array is part of an interface, - even if the header just declares 'extern int foo[];'. This is - because on i386 and some other SVR4/ELF systems, when an - application references data in a shared library the size of that - data (whatever its type) is included in the application executable. - If you might want to change the size of an array or string then - provide a pointer not the actual array. - -* Menu: - -* C header files:: How to write portable include files. - - -File: libtool.info, Node: C header files, Up: Library tips - -8.1 Writing C header files -========================== - -Writing portable C header files can be difficult, since they may be read -by different types of compilers: - -C++ compilers - C++ compilers require that functions be declared with full - prototypes, since C++ is more strongly typed than C. C functions - and variables also need to be declared with the 'extern "C"' - directive, so that the names aren't mangled. *Note C++ - libraries::, for other issues relevant to using C++ with libtool. - -ANSI C compilers - ANSI C compilers are not as strict as C++ compilers, but functions - should be prototyped to avoid unnecessary warnings when the header - file is '#include'd. - -non-ANSI C compilers - Non-ANSI compilers will report errors if functions are prototyped. - - These complications mean that your library interface headers must use -some C preprocessor magic to be usable by each of the above compilers. - - 'foo.h' in the 'tests/demo' subdirectory of the libtool distribution -serves as an example for how to write a header file that can be safely -installed in a system directory. - - Here are the relevant portions of that file: - - /* BEGIN_C_DECLS should be used at the beginning of your declarations, - so that C++ compilers don't mangle their names. Use END_C_DECLS at - the end of C declarations. */ - #undef BEGIN_C_DECLS - #undef END_C_DECLS - #ifdef __cplusplus - # define BEGIN_C_DECLS extern "C" { - # define END_C_DECLS } - #else - # define BEGIN_C_DECLS /* empty */ - # define END_C_DECLS /* empty */ - #endif - - /* PARAMS is a macro used to wrap function prototypes, so that - compilers that don't understand ANSI C prototypes still work, - and ANSI C compilers can issue warnings about type mismatches. */ - #undef PARAMS - #if defined __STDC__ || defined _AIX \ - || (defined __mips && defined _SYSTYPE_SVR4) \ - || defined WIN32 || defined __cplusplus - # define PARAMS(protos) protos - #else - # define PARAMS(protos) () - #endif - - These macros are used in 'foo.h' as follows: - - #ifndef FOO_H - #define FOO_H 1 - - /* The above macro definitions. */ - #include "..." - - BEGIN_C_DECLS - - int foo PARAMS((void)); - int hello PARAMS((void)); - - END_C_DECLS - - #endif /* !FOO_H */ - - Note that the '#ifndef FOO_H' prevents the body of 'foo.h' from being -read more than once in a given compilation. - - Also the only thing that must go outside the -'BEGIN_C_DECLS'/'END_C_DECLS' pair are '#include' lines. Strictly -speaking it is only C symbol names that need to be protected, but your -header files will be more maintainable if you have a single pair of -these macros around the majority of the header contents. - - You should use these definitions of 'PARAMS', 'BEGIN_C_DECLS', and -'END_C_DECLS' into your own headers. Then, you may use them to create -header files that are valid for C++, ANSI, and non-ANSI compilers(1). - - Do not be naive about writing portable code. Following the tips -given above will help you miss the most obvious problems, but there are -definitely other subtle portability issues. You may need to cope with -some of the following issues: - - * Pre-ANSI compilers do not always support the 'void *' generic - pointer type, and so need to use 'char *' in its place. - - * The 'const', 'inline' and 'signed' keywords are not supported by - some compilers, especially pre-ANSI compilers. - - * The 'long double' type is not supported by many compilers. - - ---------- Footnotes ---------- - - (1) We used to recommend '__P', '__BEGIN_DECLS' and '__END_DECLS'. -This was bad advice since symbols (even preprocessor macro names) that -begin with an underscore are reserved for the use of the compiler. - - -File: libtool.info, Node: Inter-library dependencies, Next: Dlopened modules, Prev: Library tips, Up: Top - -9 Inter-library dependencies -**************************** - -By definition, every shared library system provides a way for -executables to depend on libraries, so that symbol resolution is -deferred until runtime. - - An "inter-library dependency" is where a library depends on other -libraries. For example, if the libtool library 'libhello' uses the -'cos' function, then it has an inter-library dependency on 'libm', the -math library that implements 'cos'. - - Some shared library systems provide this feature in an -internally-consistent way: these systems allow chains of dependencies of -potentially infinite length. - - However, most shared library systems are restricted in that they only -allow a single level of dependencies. In these systems, programs may -depend on shared libraries, but shared libraries may not depend on other -shared libraries. - - In any event, libtool provides a simple mechanism for you to declare -inter-library dependencies: for every library 'libNAME' that your own -library depends on, simply add a corresponding '-lNAME' option to the -link line when you create your library. To make an example of our -'libhello' that depends on 'libm': - - burger$ libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ - -rpath /usr/local/lib -lm - burger$ - - When you link a program against 'libhello', you don't need to specify -the same '-l' options again: libtool will do that for you, to guarantee -that all the required libraries are found. This restriction is only -necessary to preserve compatibility with static library systems and -simple dynamic library systems. - - Some platforms, such as Windows, do not even allow you this -flexibility. In order to build a shared library, it must be entirely -self-contained or it must have dependencies known at link time (that is, -have references only to symbols that are found in the '.lo' files or the -specified '-l' libraries), and you need to specify the '-no-undefined' -flag. By default, libtool builds only static libraries on these kinds -of platforms. - - The simple-minded inter-library dependency tracking code of libtool -releases prior to 1.2 was disabled because it was not clear when it was -possible to link one library with another, and complex failures would -occur. A more complex implementation of this concept was re-introduced -before release 1.3, but it has not been ported to all platforms that -libtool supports. The default, conservative behavior is to avoid -linking one library with another, introducing their inter-dependencies -only when a program is linked with them. - - -File: libtool.info, Node: Dlopened modules, Next: Using libltdl, Prev: Inter-library dependencies, Up: Top - -10 Dlopened modules -******************* - -It can sometimes be confusing to discuss "dynamic linking", because the -term is used to refer to two different concepts: - - 1. Compiling and linking a program against a shared library, which is - resolved automatically at run time by the dynamic linker. In this - process, dynamic linking is transparent to the application. - - 2. The application calling functions such as 'dlopen' that load - arbitrary, user-specified modules at runtime. This type of dynamic - linking is explicitly controlled by the application. - - To mitigate confusion, this manual refers to the second type of -dynamic linking as "dlopening" a module. - - The main benefit to dlopening object modules is the ability to access -compiled object code to extend your program, rather than using an -interpreted language. In fact, dlopen calls are frequently used in -language interpreters to provide an efficient way to extend the -language. - - Libtool provides support for dlopened modules. However, you should -indicate that your package is willing to use such support, by using the -'LT_INIT' option 'dlopen' in 'configure.ac'. If this option is not -given, libtool will assume no dlopening mechanism is available, and will -try to simulate it. - - This chapter discusses how you as a dlopen application developer -might use libtool to generate dlopen-accessible modules. - -* Menu: - -* Building modules:: Creating dlopenable objects and libraries. -* Dlpreopening:: Dlopening that works on static platforms. -* Linking with dlopened modules:: Using dlopenable modules in libraries. -* Finding the dlname:: Choosing the right file to 'dlopen'. -* Dlopen issues:: Unresolved problems that need your attention. - - -File: libtool.info, Node: Building modules, Next: Dlpreopening, Up: Dlopened modules - -10.1 Building modules to dlopen -=============================== - -On some operating systems, a program symbol must be specially declared -in order to be dynamically resolved with the 'dlsym' (or equivalent) -function. Libtool provides the '-export-dynamic' and '-module' link -flags (*note Link mode::), for you to make that declaration. You need -to use these flags if you are linking an application program that -dlopens other modules or a libtool library that will also be dlopened. - - For example, if we wanted to build a shared library, 'hello', that -would later be dlopened by an application, we would add '-module' to the -other link flags: - - burger$ libtool --mode=link gcc -module -o hello.la foo.lo \ - hello.lo -rpath /usr/local/lib -lm - burger$ - - If symbols from your _executable_ are needed to satisfy unresolved -references in a library you want to dlopen you will have to use the flag -'-export-dynamic'. You should use '-export-dynamic' while linking the -executable that calls dlopen: - - burger$ libtool --mode=link gcc -export-dynamic -o helldl main.o - burger$ - - -File: libtool.info, Node: Dlpreopening, Next: Linking with dlopened modules, Prev: Building modules, Up: Dlopened modules - -10.2 Dlpreopening -================= - -Libtool provides special support for dlopening libtool object and -libtool library files, so that their symbols can be resolved _even on -platforms without any 'dlopen' and 'dlsym' functions_. - - Consider the following alternative ways of loading code into your -program, in order of increasing "laziness": - - 1. Linking against object files that become part of the program - executable, whether or not they are referenced. If an object file - cannot be found, then the compile time linker refuses to create the - executable. - - 2. Declaring a static library to the linker, so that it is searched at - link time to satisfy any undefined references in the above object - files. If the static library cannot be found, then the compile - time linker refuses to create the executable. - - 3. Declaring a shared library to the runtime linker, so that it is - searched at runtime to satisfy any undefined references in the - above files. If the shared library cannot be found, then the - dynamic linker aborts the program before it runs. - - 4. Dlopening a module, so that the application can resolve its own, - dynamically-computed references. If there is an error opening the - module, or the module is not found, then the application can - recover without crashing. - - Libtool emulates '-dlopen' on static platforms by linking objects -into the program at compile time, and creating data structures that -represent the program's symbol table. In order to use this feature, you -must declare the objects you want your application to dlopen by using -the '-dlopen' or '-dlpreopen' flags when you link your program (*note -Link mode::). - - -- Data Type: lt_dlsymlist typedef struct { const char *NAME; - void *ADDRESS; } lt_dlsymlist - The NAME attribute is a null-terminated character string of the - symbol name, such as '"fprintf"'. The ADDRESS attribute is a - generic pointer to the appropriate object, such as '&fprintf'. - - -- Variable: const lt_dlsymlist lt_preloaded_symbols[] - An array of 'lt_dlsymlist' structures, representing all the - preloaded symbols linked into the program proper. For each module - '-dlpreopen'ed by the Libtool linked program there is an element - with the NAME of the module and an ADDRESS of '0', followed by all - symbols exported from this file. For the executable itself the - special name '@PROGRAM@' is used. The last element of all has a - NAME and ADDRESS of '0'. - - To facilitate inclusion of symbol lists into libraries, - 'lt_preloaded_symbols' is '#define'd to a suitably unique name in - 'ltdl.h'. - - This variable may not be declared 'const' on some systems due to - relocation issues. - - Some compilers may allow identifiers that are not valid in ANSI C, -such as dollar signs. Libtool only recognizes valid ANSI C symbols (an -initial ASCII letter or underscore, followed by zero or more ASCII -letters, digits, and underscores), so non-ANSI symbols will not appear -in 'lt_preloaded_symbols'. - - -- Function: int lt_dlpreload (const lt_dlsymlist *PRELOADED) - Register the list of preloaded modules PRELOADED. If PRELOADED is - 'NULL', then all previously registered symbol lists, except the - list set by 'lt_dlpreload_default', are deleted. Return 0 on - success. - - -- Function: int lt_dlpreload_default (const lt_dlsymlist *PRELOADED) - Set the default list of preloaded modules to PRELOADED, which won't - be deleted by 'lt_dlpreload'. Note that this function does _not_ - require libltdl to be initialized using 'lt_dlinit' and can be used - in the program to register the default preloaded modules. Instead - of calling this function directly, most programs will use the macro - 'LTDL_SET_PRELOADED_SYMBOLS'. - - Return 0 on success. - - -- Macro: LTDL_SET_PRELOADED_SYMBOLS - Set the default list of preloaded symbols. Should be used in your - program to initialize libltdl's list of preloaded modules. - - #include - - int main() { - /* ... */ - LTDL_SET_PRELOADED_SYMBOLS(); - /* ... */ - } - - -- Function Type: int lt_dlpreload_callback_func (lt_dlhandle HANDLE) - Functions of this type can be passed to 'lt_dlpreload_open', which - in turn will call back into a function thus passed for each - preloaded module that it opens. - - -- Function: int lt_dlpreload_open (const char *ORIGINATOR, - lt_dlpreload_callback_func *FUNC) - Load all of the preloaded modules for ORIGINATOR. For every module - opened in this way, call FUNC. - - To open all of the modules preloaded into 'libhell.la' (presumably - from within the 'libhell.a' initialisation code): - - #define preloaded_symbols lt_libhell_LTX_preloaded_symbols - - static int hell_preload_callback (lt_dlhandle handle); - - int - hell_init (void) - { - ... - if (lt_dlpreload (&preloaded_symbols) == 0) - { - lt_dlpreload_open ("libhell", preload_callback); - } - ... - } - - Note that to prevent clashes between multiple preloaded modules, - the preloaded symbols are accessed via a mangled symbol name: to - get the symbols preloaded into 'libhell', you must prefix - 'preloaded_symbols' with 'lt_'; the originator name, 'libhell' in - this case; and '_LTX_'. That is, - 'lt_libhell_LTX_preloaded_symbols' here. - - -File: libtool.info, Node: Linking with dlopened modules, Next: Finding the dlname, Prev: Dlpreopening, Up: Dlopened modules - -10.3 Linking with dlopened modules -================================== - -When, say, an interpreter application uses dlopened modules to extend -the list of methods it provides, an obvious abstraction for the -maintainers of the interpreter is to have all methods (including the -built in ones supplied with the interpreter) accessed through dlopen. -For one thing, the dlopening functionality will be tested even during -routine invocations. For another, only one subsystem has to be written -for getting methods into the interpreter. - - The downside of this abstraction is, of course, that environments -that provide only static linkage can't even load the intrinsic -interpreter methods. Not so! We can statically link those methods by -*dlpreopening* them. - - Unfortunately, since platforms such as AIX and cygwin require that -all library symbols must be resolved at compile time, the interpreter -maintainers will need to provide a library to both its own dlpreopened -modules, and third-party modules loaded by dlopen. In itself, that is -not so bad, except that the interpreter too must provide those same -symbols otherwise it will be impossible to resolve all the symbols -required by the modules as they are loaded. Things are even worse if -the code that loads the modules for the interpreter is itself in a -library - and that is usually the case for any non-trivial application. -Modern platforms take care of this by automatically loading all of a -module's dependency libraries as the module is loaded (libltdl can do -this even on platforms that can't do it by themselves). In the end, -this leads to problems with duplicated symbols and prevents modules from -loading, and prevents the application from compiling when modules are -preloaded. - - ,-------------. ,------------------. ,-----------------. - | Interpreter |----> Module------------> Third-party | - `-------------' | Loader | |Dlopened Modules | - | | | `-----------------' - |,-------v--------.| | - || Dlpreopened || | - || Modules || | - |`----------------'| | - | | | | - |,-------v--------.| ,--------v--------. - ||Module Interface|| |Module Interface | - || Library || | Library | - |`----------------'| `-----------------' - `------------------' - - Libtool has the concept of "weak library interfaces" to circumvent -this problem. Recall that the code that dlopens method-provider modules -for the interpreter application resides in a library: All of the modules -and the dlopener library itself should be linked against the common -library that resolves the module symbols at compile time. To guard -against duplicate symbol definitions, and for dlpreopened modules to -work at all in this scenario, the dlopener library must declare that it -provides a weak library interface to the common symbols in the library -it shares with the modules. That way, when 'libtool' links the *Module -Loader* library with some *Dlpreopened Modules* that were in turn linked -against the *Module Interface Library*, it knows that the *Module -Loader* provides an already loaded *Module Interface Library* to resolve -symbols for the *Dlpreopened Modules*, and doesn't ask the compiler -driver to link an identical *Module Interface Library* dependency -library too. - - In conjunction with Automake, the 'Makefile.am' for the *Module -Loader* might look like this: - - lib_LTLIBRARIES = libinterface.la libloader.la - - libinterface_la_SOURCES = interface.c interface.h - libinterface_la_LDFLAGS = -version-info 3:2:1 - - libloader_la_SOURCES = loader.c - libloader_la_LDFLAGS = -weak libinterface.la \ - -version-info 3:2:1 \ - -dlpreopen ../modules/intrinsics.la - libloader_la_LIBADD = $(libinterface_la_OBJECTS) - - And the 'Makefile.am' for the 'intrinsics.la' module in a sibling -'modules' directory might look like this: - - AM_CPPFLAGS = -I$(srcdir)/../libloader - AM_LDFLAGS = -no-undefined -module -avoid-version \ - -export-dynamic - - noinst_LTLIBRARIES = intrinsics.la - - intrinsics_la_LIBADD = ../libloader/libinterface.la - - ../libloader/libinterface.la: - cd ../libloader && $(MAKE) $(AM_MAKEFLAGS) libinterface.la - - For a more complex example, see the sources of 'libltdl' in the -Libtool distribution, which is built with the help of the '-weak' -option. - - -File: libtool.info, Node: Finding the dlname, Next: Dlopen issues, Prev: Linking with dlopened modules, Up: Dlopened modules - -10.4 Finding the correct name to dlopen -======================================= - -After a library has been linked with '-module', it can be dlopened. -Unfortunately, because of the variation in library names, your package -needs to determine the correct file to dlopen. - - The most straightforward and flexible implementation is to determine -the name at runtime, by finding the installed '.la' file, and searching -it for the following lines: - - # The name that we can dlopen. - dlname='DLNAME' - - If DLNAME is empty, then the library cannot be dlopened. Otherwise, -it gives the dlname of the library. So, if the library was installed as -'/usr/local/lib/libhello.la', and the DLNAME was 'libhello.so.3', then -'/usr/local/lib/libhello.so.3' should be dlopened. - - If your program uses this approach, then it should search the -directories listed in the 'LD_LIBRARY_PATH'(1) environment variable, as -well as the directory where libraries will eventually be installed. -Searching this variable (or equivalent) will guarantee that your program -can find its dlopened modules, even before installation, provided you -have linked them using libtool. - - ---------- Footnotes ---------- - - (1) 'LIBPATH' on AIX, and 'SHLIB_PATH' on HP-UX. - - -File: libtool.info, Node: Dlopen issues, Prev: Finding the dlname, Up: Dlopened modules - -10.5 Unresolved dlopen issues -============================= - -The following problems are not solved by using libtool's dlopen support: - - * Dlopen functions are generally only available on shared library - platforms. If you want your package to be portable to static - platforms, you have to use either libltdl (*note Using libltdl::) - or develop your own alternatives to dlopening dynamic code. Most - reasonable solutions involve writing wrapper functions for the - 'dlopen' family, which do package-specific tricks when dlopening is - unsupported or not available on a given platform. - - * There are major differences in implementations of the 'dlopen' - family of functions. Some platforms do not even use the same - function names (notably HP-UX, with its 'shl_load' family). - - * The application developer must write a custom search function to - discover the correct module filename to supply to 'dlopen'. - - -File: libtool.info, Node: Using libltdl, Next: Trace interface, Prev: Dlopened modules, Up: Top - -11 Using libltdl -**************** - -Libtool provides a small library, called 'libltdl', that aims at hiding -the various difficulties of dlopening libraries from programmers. It -consists of a few headers and small C source files that can be -distributed with applications that need dlopening functionality. On -some platforms, whose dynamic linkers are too limited for a simple -implementation of 'libltdl' services, it requires GNU DLD, or it will -only emulate dynamic linking with libtool's dlpreopening mechanism. - -libltdl supports currently the following dynamic linking mechanisms: - - * 'dlopen' (POSIX compliant systems, GNU/Linux, etc.) - * 'shl_load' (HP-UX) - * 'LoadLibrary' (Win16 and Win32) - * 'load_add_on' (BeOS) - * 'NSAddImage' or 'NSLinkModule' (Darwin and Mac OS X) - * GNU DLD (emulates dynamic linking for static libraries) - * libtool's dlpreopen (*note Dlpreopening::) - -libltdl is licensed under the terms of the GNU Lesser General Public -License, with the following exception: - - As a special exception to the GNU Lesser General Public License, if - you distribute this file as part of a program or library that is - built using GNU Libtool, you may include it under the same - distribution terms that you use for the rest of that program. - -* Menu: - -* Libltdl interface:: How to use libltdl in your programs. -* Modules for libltdl:: Creating modules that can be 'dlopen'ed. -* Thread Safety in libltdl:: Registering callbacks for multi-thread safety. -* User defined module data:: Associating data with loaded modules. -* Module loaders for libltdl:: Creating user defined module loaders. -* Distributing libltdl:: How to distribute libltdl with your package. - - -File: libtool.info, Node: Libltdl interface, Next: Modules for libltdl, Up: Using libltdl - -11.1 How to use libltdl in your programs -======================================== - -The libltdl API is similar to the POSIX dlopen interface, which is very -simple but powerful. - -To use libltdl in your program you have to include the header file -'ltdl.h': - - #include - -The early releases of libltdl used some symbols that violated the POSIX -namespace conventions. These symbols are now deprecated, and have been -replaced by those described here. If you have code that relies on the -old deprecated symbol names, defining 'LT_NON_POSIX_NAMESPACE' before -you include 'ltdl.h' provides conversion macros. Whichever set of -symbols you use, the new API is not binary compatible with the last, so -you will need to recompile your application to use this version of -libltdl. - -Note that libltdl is not well tested in a multithreaded environment, -though the intention is that it should work (*note Using libltdl in a -multi threaded environment: Thread Safety in libltdl.). It was reported -that GNU/Linux's glibc 2.0's 'dlopen' with 'RTLD_LAZY' (that libltdl -uses by default) is not thread-safe, but this problem is supposed to be -fixed in glibc 2.1. On the other hand, 'RTLD_NOW' was reported to -introduce problems in multi-threaded applications on FreeBSD. Working -around these problems is left as an exercise for the reader; -contributions are certainly welcome. - -The following macros are defined by including 'ltdl.h': - - -- Macro: LT_PATHSEP_CHAR - 'LT_PATHSEP_CHAR' is the system-dependent path separator, that is, - ';' on Windows and ':' everywhere else. - - -- Macro: LT_DIRSEP_CHAR - If 'LT_DIRSEP_CHAR' is defined, it can be used as directory - separator in addition to '/'. On Windows, this contains '\'. - -The following types are defined in 'ltdl.h': - - -- Type: lt_dlhandle - 'lt_dlhandle' is a module "handle". Every lt_dlopened module has a - handle associated with it. - - -- Type: lt_dladvise - 'lt_dladvise' is used to control optional module loading modes. If - it is not used, the default mode of the underlying system module - loader is used. - - -- Type: lt_dlsymlist - 'lt_dlsymlist' is a symbol list for dlpreopened modules (*note - Dlpreopening::). - -libltdl provides the following functions: - - -- Function: int lt_dlinit (void) - Initialize libltdl. This function must be called before using - libltdl and may be called several times. Return 0 on success, - otherwise the number of errors. - - -- Function: int lt_dlexit (void) - Shut down libltdl and close all modules. This function will only - then shut down libltdl when it was called as many times as - 'lt_dlinit' has been successfully called. Return 0 on success, - otherwise the number of errors. - - -- Function: lt_dlhandle lt_dlopen (const char *FILENAME) - Open the module with the file name FILENAME and return a handle for - it. 'lt_dlopen' is able to open libtool dynamic modules, preloaded - static modules, the program itself and native dynamic modules(1). - - Unresolved symbols in the module are resolved using its dependency - libraries and previously dlopened modules. If the executable using - this module was linked with the '-export-dynamic' flag, then the - global symbols in the executable will also be used to resolve - references in the module. - - If FILENAME is 'NULL' and the program was linked with - '-export-dynamic' or '-dlopen self', 'lt_dlopen' will return a - handle for the program itself, which can be used to access its - symbols. - - If libltdl cannot find the library and the file name FILENAME does - not have a directory component it will additionally look in the - following search paths for the module (in the following order): - - 1. user-defined search path: This search path can be changed by - the program using the functions 'lt_dlsetsearchpath', - 'lt_dladdsearchdir' and 'lt_dlinsertsearchdir'. - - 2. libltdl's search path: This search path is the value of the - environment variable 'LTDL_LIBRARY_PATH'. - - 3. system library search path: The system dependent library - search path (e.g. on GNU/Linux it is 'LD_LIBRARY_PATH'). - - Each search path must be a list of absolute directories separated - by 'LT_PATHSEP_CHAR', for example, '"/usr/lib/mypkg:/lib/foo"'. - The directory names may not contain the path separator. - - If the same module is loaded several times, the same handle is - returned. If 'lt_dlopen' fails for any reason, it returns 'NULL'. - - -- Function: lt_dlhandle lt_dlopenext (const char *FILENAME) - The same as 'lt_dlopen', except that it tries to append different - file name extensions to the file name. If the file with the file - name FILENAME cannot be found libltdl tries to append the following - extensions: - - 1. the libtool archive extension '.la' - 2. the extension used for native dynamically loadable modules on - the host platform, e.g., '.so', '.sl', etc. - - This lookup strategy was designed to allow programs that don't have - knowledge about native dynamic libraries naming conventions to be - able to 'dlopen' such libraries as well as libtool modules - transparently. - - -- Function: lt_dlhandle lt_dlopenadvise (const char *FILENAME, - lt_dladvise ADVISE) - The same as 'lt_dlopen', except that it also requires an additional - argument that may contain additional hints to the underlying system - module loader. The ADVISE parameter is opaque and can only be - accessed with the functions documented below. - - Note that this function does not change the content of ADVISE, so - unlike the other calls in this API takes a direct 'lt_dladvise' - type, and not a pointer to the same. - - -- Function: int lt_dladvise_init (lt_dladvise *ADVISE) - The ADVISE parameter can be used to pass hints to the module loader - when using 'lt_dlopenadvise' to perform the loading. The ADVISE - parameter needs to be initialised by this function before it can be - used. Any memory used by ADVISE needs to be recycled with - 'lt_dladvise_destroy' when it is no longer needed. - - On failure, 'lt_dladvise_init' returns non-zero and sets an error - message that can be retrieved with 'lt_dlerror'. - - -- Function: int lt_dladvise_destroy (lt_dladvise *ADVISE) - Recycle the memory used by ADVISE. For an example, see the - documentation for 'lt_dladvise_ext'. - - On failure, 'lt_dladvise_destroy' returns non-zero and sets an - error message that can be retrieved with 'lt_dlerror'. - - -- Function: int lt_dladvise_ext (lt_dladvise *ADVISE) - Set the 'ext' hint on ADVISE. Passing an ADVISE parameter to - 'lt_dlopenadvise' with this hint set causes it to try to append - different file name extensions like 'lt_dlopenext'. - - The following example is equivalent to calling 'lt_dlopenext - (filename)': - - lt_dlhandle - my_dlopenext (const char *filename) - { - lt_dlhandle handle = 0; - lt_dladvise advise; - - if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)) - handle = lt_dlopenadvise (filename, advise); - - lt_dladvise_destroy (&advise); - - return handle; - } - - On failure, 'lt_dladvise_ext' returns non-zero and sets an error - message that can be retrieved with 'lt_dlerror'. - - -- Function: int lt_dladvise_global (lt_dladvise *ADVISE) - Set the 'symglobal' hint on ADVISE. Passing an ADVISE parameter to - 'lt_dlopenadvise' with this hint set causes it to try to make the - loaded module's symbols globally available for resolving unresolved - symbols in subsequently loaded modules. - - If neither the 'symglobal' nor the 'symlocal' hints are set, or if - a module is loaded without using the 'lt_dlopenadvise' call in any - case, then the visibility of the module's symbols will be as per - the default for the underlying module loader and OS. Even if a - suitable hint is passed, not all loaders are able to act upon it in - which case 'lt_dlgetinfo' will reveal whether the hint was actually - followed. - - On failure, 'lt_dladvise_global' returns non-zero and sets an error - message that can be retrieved with 'lt_dlerror'. - - -- Function: int lt_dladvise_local (lt_dladvise *ADVISE) - Set the 'symlocal' hint on ADVISE. Passing an ADVISE parameter to - 'lt_dlopenadvise' with this hint set causes it to try to keep the - loaded module's symbols hidden so that they are not visible to - subsequently loaded modules. - - If neither the 'symglobal' nor the 'symlocal' hints are set, or if - a module is loaded without using the 'lt_dlopenadvise' call in any - case, then the visibility of the module's symbols will be as per - the default for the underlying module loader and OS. Even if a - suitable hint is passed, not all loaders are able to act upon it in - which case 'lt_dlgetinfo' will reveal whether the hint was actually - followed. - - On failure, 'lt_dladvise_local' returns non-zero and sets an error - message that can be retrieved with 'lt_dlerror'. - - -- Function: int lt_dladvise_resident (lt_dladvise *ADVISE) - Set the 'resident' hint on ADVISE. Passing an ADVISE parameter to - 'lt_dlopenadvise' with this hint set causes it to try to make the - loaded module resident in memory, so that it cannot be unloaded - with a later call to 'lt_dlclose'. - - On failure, 'lt_dladvise_resident' returns non-zero and sets an - error message that can be retrieved with 'lt_dlerror'. - - -- Function: int lt_dladvise_preload (lt_dladvise *ADVISE) - Set the 'preload' hint on ADVISE. Passing an ADVISE parameter to - 'lt_dlopenadvise' with this hint set causes it to load only - preloaded modules, so that if a suitable preloaded module is not - found, 'lt_dlopenadvise' will return 'NULL'. - - -- Function: int lt_dlclose (lt_dlhandle HANDLE) - Decrement the reference count on the module HANDLE. If it drops to - zero and no other module depends on this module, then the module is - unloaded. Return 0 on success. - - -- Function: void * lt_dlsym (lt_dlhandle HANDLE, const char *NAME) - Return the address in the module HANDLE, where the symbol given by - the null-terminated string NAME is loaded. If the symbol cannot be - found, 'NULL' is returned. - - -- Function: const char * lt_dlerror (void) - Return a human readable string describing the most recent error - that occurred from any of libltdl's functions. Return 'NULL' if no - errors have occurred since initialization or since it was last - called. - - -- Function: int lt_dladdsearchdir (const char *SEARCH_DIR) - Append the search directory SEARCH_DIR to the current user-defined - library search path. Return 0 on success. - - -- Function: int lt_dlinsertsearchdir (const char *BEFORE, - const char *SEARCH_DIR) - Insert the search directory SEARCH_DIR into the user-defined - library search path, immediately before the element starting at - address BEFORE. If BEFORE is 'NULL', then SEARCH_DIR is appending - as if 'lt_dladdsearchdir' had been called. Return 0 on success. - - -- Function: int lt_dlsetsearchpath (const char *SEARCH_PATH) - Replace the current user-defined library search path with - SEARCH_PATH, which must be a list of absolute directories separated - by 'LT_PATHSEP_CHAR'. Return 0 on success. - - -- Function: const char * lt_dlgetsearchpath (void) - Return the current user-defined library search path. - - -- Function: int lt_dlforeachfile (const char *SEARCH_PATH, - int (*FUNC) (const char *FILENAME, void * DATA), void * DATA) - In some applications you may not want to load individual modules - with known names, but rather find all of the modules in a set of - directories and load them all during initialisation. With this - function you can have libltdl scan the 'LT_PATHSEP_CHAR'-delimited - directory list in SEARCH_PATH for candidates, and pass them, along - with DATA to your own callback function, FUNC. If SEARCH_PATH is - 'NULL', then search all of the standard locations that 'lt_dlopen' - would examine. This function will continue to make calls to FUNC - for each file that it discovers in SEARCH_PATH until one of these - calls returns non-zero, or until the files are exhausted. - 'lt_dlforeachfile' returns the value returned by the last call made - to FUNC. - - For example you could define FUNC to build an ordered "argv"-like - vector of files using DATA to hold the address of the start of the - vector. - - -- Function: int lt_dlmakeresident (lt_dlhandle HANDLE) - Mark a module so that it cannot be 'lt_dlclose'd. This can be - useful if a module implements some core functionality in your - project that would cause your code to crash if removed. Return 0 - on success. - - If you use 'lt_dlopen (NULL)' to get a HANDLE for the running - binary, that handle will always be marked as resident, and - consequently cannot be successfully 'lt_dlclose'd. - - -- Function: int lt_dlisresident (lt_dlhandle HANDLE) - Check whether a particular module has been marked as resident, - returning 1 if it has or 0 otherwise. If there is an error while - executing this function, return -1 and set an error message for - retrieval with 'lt_dlerror'. - - ---------- Footnotes ---------- - - (1) Some platforms, notably Mac OS X, differentiate between a runtime -library that cannot be opened by 'lt_dlopen' and a dynamic module that -can. For maximum portability you should try to ensure that you only -pass 'lt_dlopen' objects that have been compiled with libtool's -'-module' flag. - - -File: libtool.info, Node: Modules for libltdl, Next: Thread Safety in libltdl, Prev: Libltdl interface, Up: Using libltdl - -11.2 Creating modules that can be 'dlopen'ed -============================================ - -Libtool modules are created like normal libtool libraries with a few -exceptions: - - You have to link the module with libtool's '-module' switch, and you -should link any program that is intended to dlopen the module with -'-dlopen MODULENAME.LA' where possible, so that libtool can dlpreopen -the module on platforms that do not support dlopening. If the module -depends on any other libraries, make sure you specify them either when -you link the module or when you link programs that dlopen it. If you -want to disable versioning (*note Versioning::) for a specific module -you should link it with the '-avoid-version' switch. Note that libtool -modules don't need to have a "lib" prefix. However, Automake 1.4 or -higher is required to build such modules. - - Usually a set of modules provide the same interface, i.e. exports the -same symbols, so that a program can dlopen them without having to know -more about their internals: In order to avoid symbol conflicts all -exported symbols must be prefixed with "modulename_LTX_" (MODULENAME is -the name of the module). Internal symbols must be named in such a way -that they won't conflict with other modules, for example, by prefixing -them with "_modulename_". Although some platforms support having the -same symbols defined more than once it is generally not portable and it -makes it impossible to dlpreopen such modules. - - libltdl will automatically cut the prefix off to get the real name of -the symbol. Additionally, it supports modules that do not use a prefix -so that you can also dlopen non-libtool modules. - - 'foo1.c' gives an example of a portable libtool module. Exported -symbols are prefixed with "foo1_LTX_", internal symbols with "_foo1_". -Aliases are defined at the beginning so that the code is more readable. - - /* aliases for the exported symbols */ - #define foo foo1_LTX_foo - #define bar foo1_LTX_bar - - /* a global variable definition */ - int bar = 1; - - /* a private function */ - int _foo1_helper() { - return bar; - } - - /* an exported function */ - int foo() { - return _foo1_helper(); - } - -The 'Makefile.am' contains the necessary rules to build the module -'foo1.la': - - ... - lib_LTLIBRARIES = foo1.la - - foo1_la_SOURCES = foo1.c - foo1_la_LDFLAGS = -module - ... - - -File: libtool.info, Node: Thread Safety in libltdl, Next: User defined module data, Prev: Modules for libltdl, Up: Using libltdl - -11.3 Using libltdl in a multi threaded environment -================================================== - -Libltdl provides a wrapper around whatever dynamic run-time object -loading mechanisms are provided by the host system, many of which are -themselves not thread safe. Consequently libltdl cannot itself be -consistently thread safe. - - If you wish to use libltdl in a multithreaded environment, then you -must mutex lock around libltdl calls, since they may in turn be calling -non-thread-safe system calls on some target hosts. - - Some old releases of libtool provided a mutex locking API that was -unusable with POSIX threads, so callers were forced to lock around all -libltdl API calls anyway. That mutex locking API was next to useless, -and is not present in current releases. - - Some future release of libtool may provide a new POSIX thread -compliant mutex locking API. - - -File: libtool.info, Node: User defined module data, Next: Module loaders for libltdl, Prev: Thread Safety in libltdl, Up: Using libltdl - -11.4 Data associated with loaded modules -======================================== - -Some of the internal information about each loaded module that is -maintained by libltdl is available to the user, in the form of this -structure: - - -- Type: struct lt_dlinfo { char *FILENAME; char *NAME; int REF_COUNT; - int IS_RESIDENT; int IS_SYMGLOBAL; int IS_SYMLOCAL;} - 'lt_dlinfo' is used to store information about a module. The - FILENAME attribute is a null-terminated character string of the - real module file name. If the module is a libtool module then NAME - is its module name (e.g. '"libfoo"' for '"dir/libfoo.la"'), - otherwise it is set to 'NULL'. The REF_COUNT attribute is a - reference counter that describes how often the same module is - currently loaded. The remaining fields can be compared to any - hints that were passed to 'lt_dlopenadvise' to determine whether - the underlying loader was able to follow them. - - The following function will return a pointer to libltdl's internal -copy of this structure for the given HANDLE: - - -- Function: const lt_dlinfo * lt_dlgetinfo (lt_dlhandle HANDLE) - Return a pointer to a struct that contains some information about - the module HANDLE. The contents of the struct must not be - modified. Return 'NULL' on failure. - - Furthermore, to save you from having to keep a list of the handles of -all the modules you have loaded, these functions allow you to iterate -over libltdl's list of loaded modules: - - -- Type: lt_dlinterface_id - The opaque type used to hold the module interface details for each - registered libltdl client. - - -- Type: int lt_dlhandle_interface (lt_dlhandle HANDLE, - const char *ID_STRING) - Functions of this type are called to check that a handle conforms - to a library's expected module interface when iterating over the - global handle list. You should be careful to write a callback - function of this type that can correctly identify modules that - belong to this client, both to prevent other clients from - accidentally finding your loaded modules with the iterator - functions below, and vice versa. The best way to do this is to - check that module HANDLE conforms to the interface specification of - your loader using 'lt_dlsym'. - - The callback may be given *every* module loaded by all the libltdl - module clients in the current address space, including any modules - loaded by other libraries such as libltdl itself, and should return - non-zero if that module does not fulfill the interface requirements - of your loader. - - int - my_interface_cb (lt_dlhandle handle, const char *id_string) - { - char *(*module_id) (void) = NULL; - - /* A valid my_module must provide all of these symbols. */ - if (!((module_id = (char*(*)(void)) lt_dlsym ("module_version")) - && lt_dlsym ("my_module_entrypoint"))) - return 1; - - if (strcmp (id_string, module_id()) != 0) - return 1; - - return 0; - } - - -- Function: lt_dlinterface_id lt_dlinterface_register - (const char *ID_STRING, lt_dlhandle_interface *IFACE) - Use this function to register your interface validator with - libltdl, and in return obtain a unique key to store and retrieve - per-module data. You supply an ID_STRING and IFACE so that the - resulting 'lt_dlinterface_id' can be used to filter the module - handles returned by the iteration functions below. If IFACE is - 'NULL', all modules will be matched. - - -- Function: void lt_dlinterface_free (lt_dlinterface_id IFACE) - Release the data associated with IFACE. - - -- Function: int lt_dlhandle_map (lt_dlinterface_id IFACE, - int (*FUNC) (lt_dlhandle HANDLE, void * DATA), void * DATA) - For each module that matches IFACE, call the function FUNC. When - writing the FUNC callback function, the argument HANDLE is the - handle of a loaded module, and DATA is the last argument passed to - 'lt_dlhandle_map'. As soon as FUNC returns a non-zero value for - one of the handles, 'lt_dlhandle_map' will stop calling FUNC and - immediately return that non-zero value. Otherwise 0 is eventually - returned when FUNC has been successfully called for all matching - modules. - - -- Function: lt_dlhandle lt_dlhandle_iterate - (lt_dlinterface_id IFACE, lt_dlhandle PLACE) - Iterate over the module handles loaded by IFACE, returning the - first matching handle in the list if PLACE is 'NULL', and the next - one on subsequent calls. If PLACE is the last element in the list - of eligible modules, this function returns 'NULL'. - - lt_dlhandle handle = 0; - lt_dlinterface_id iface = my_interface_id; - - while ((handle = lt_dlhandle_iterate (iface, handle))) - { - ... - } - - -- Function: lt_dlhandle lt_dlhandle_fetch (lt_dlinterface_id IFACE, - const char *MODULE_NAME) - Search through the module handles loaded by IFACE for a module - named MODULE_NAME, returning its handle if found or else 'NULL' if - no such named module has been loaded by IFACE. - - However, you might still need to maintain your own list of loaded -module handles (in parallel with the list maintained inside libltdl) if -there were any other data that your application wanted to associate with -each open module. Instead, you can use the following API calls to do -that for you. You must first obtain a unique interface id from libltdl -as described above, and subsequently always use it to retrieve the data -you stored earlier. This allows different libraries to each store their -own data against loaded modules, without interfering with one another. - - -- Function: void * lt_dlcaller_set_data (lt_dlinterface_id KEY, - lt_dlhandle HANDLE, void * DATA) - Set DATA as the set of data uniquely associated with KEY and HANDLE - for later retrieval. This function returns the DATA previously - associated with KEY and HANDLE if any. A result of 0, may indicate - that a diagnostic for the last error (if any) is available from - 'lt_dlerror()'. - - For example, to correctly remove some associated data: - - void *stale = lt_dlcaller_set_data (key, handle, 0); - if (stale != NULL) - { - free (stale); - } - else - { - char *error_msg = lt_dlerror (); - - if (error_msg != NULL) - { - my_error_handler (error_msg); - return STATUS_FAILED; - } - } - - -- Function: void * lt_dlcaller_get_data (lt_dlinterface_id KEY, - lt_dlhandle HANDLE) - Return the address of the data associated with KEY and HANDLE, or - else 'NULL' if there is none. - - Old versions of libltdl also provided a simpler, but similar, API -based around 'lt_dlcaller_id'. Unfortunately, it had no provision for -detecting whether a module belonged to a particular interface as libltdl -didn't support multiple loaders in the same address space at that time. -Those APIs are no longer supported as there would be no way to stop -clients of the old APIs from seeing (and accidentally altering) modules -loaded by other libraries. - - -File: libtool.info, Node: Module loaders for libltdl, Next: Distributing libltdl, Prev: User defined module data, Up: Using libltdl - -11.5 How to create and register new module loaders -================================================== - -Sometimes libltdl's many ways of gaining access to modules are not -sufficient for the purposes of a project. You can write your own -loader, and register it with libltdl so that 'lt_dlopen' will be able to -use it. - - Writing a loader involves writing at least three functions that can -be called by 'lt_dlopen', 'lt_dlsym' and 'lt_dlclose'. Optionally, you -can provide a finalisation function to perform any cleanup operations -when 'lt_dlexit' executes, and a symbol prefix string that will be -prepended to any symbols passed to 'lt_dlsym'. These functions must -match the function pointer types below, after which they can be -allocated to an instance of 'lt_user_dlloader' and registered. - - Registering the loader requires that you choose a name for it, so -that it can be recognised by 'lt_dlloader_find' and removed with -'lt_dlloader_remove'. The name you choose must be unique, and not -already in use by libltdl's builtin loaders: - -"dlopen" - The system dynamic library loader, if one exists. -"dld" - The GNU dld loader, if 'libdld' was installed when libltdl was - built. -"dlpreload" - The loader for 'lt_dlopen'ing of preloaded static modules. - - The prefix "dl" is reserved for loaders supplied with future versions -of libltdl, so you should not use that for your own loader names. - -The following types are defined in 'ltdl.h': - - -- Type: lt_module - 'lt_module' is a dlloader dependent module. The dynamic module - loader extensions communicate using these low level types. - - -- Type: lt_dlloader - 'lt_dlloader' is a handle for module loader types. - - -- Type: lt_user_data - 'lt_user_data' is used for specifying loader instance data. - - -- Type: struct lt_user_dlloader {const char *SYM_PREFIX; - lt_module_open *MODULE_OPEN; lt_module_close *MODULE_CLOSE; - lt_find_sym *FIND_SYM; lt_dlloader_exit *DLLOADER_EXIT; } - If you want to define a new way to open dynamic modules, and have - the 'lt_dlopen' API use it, you need to instantiate one of these - structures and pass it to 'lt_dlloader_add'. You can pass whatever - you like in the DLLOADER_DATA field, and it will be passed back as - the value of the first parameter to each of the functions specified - in the function pointer fields. - - -- Type: lt_module lt_module_open (const char *FILENAME) - The type of the loader function for an 'lt_dlloader' module loader. - The value set in the dlloader_data field of the 'struct - lt_user_dlloader' structure will be passed into this function in - the LOADER_DATA parameter. Implementation of such a function - should attempt to load the named module, and return an 'lt_module' - suitable for passing in to the associated 'lt_module_close' and - 'lt_sym_find' function pointers. If the function fails it should - return 'NULL', and set the error message with 'lt_dlseterror'. - - -- Type: int lt_module_close (lt_user_data LOADER_DATA, - lt_module MODULE) - The type of the unloader function for a user defined module loader. - Implementation of such a function should attempt to release any - resources tied up by the MODULE module, and then unload it from - memory. If the function fails for some reason, set the error - message with 'lt_dlseterror' and return non-zero. - - -- Type: void * lt_find_sym (lt_module MODULE, const char *SYMBOL) - The type of the symbol lookup function for a user defined module - loader. Implementation of such a function should return the - address of the named SYMBOL in the module MODULE, or else set the - error message with 'lt_dlseterror' and return 'NULL' if lookup - fails. - - -- Type: int lt_dlloader_exit (lt_user_data LOADER_DATA) - The type of the finalisation function for a user defined module - loader. Implementation of such a function should free any - resources associated with the loader, including any user specified - data in the 'dlloader_data' field of the 'lt_user_dlloader'. If - non-'NULL', the function will be called by 'lt_dlexit', and - 'lt_dlloader_remove'. - - For example: - - int - register_myloader (void) - { - lt_user_dlloader dlloader; - - /* User modules are responsible for their own initialisation. */ - if (myloader_init () != 0) - return MYLOADER_INIT_ERROR; - - dlloader.sym_prefix = NULL; - dlloader.module_open = myloader_open; - dlloader.module_close = myloader_close; - dlloader.find_sym = myloader_find_sym; - dlloader.dlloader_exit = myloader_exit; - dlloader.dlloader_data = (lt_user_data)myloader_function; - - /* Add my loader as the default module loader. */ - if (lt_dlloader_add (lt_dlloader_next (NULL), &dlloader, - "myloader") != 0) - return ERROR; - - return OK; - } - - Note that if there is any initialisation required for the loader, it -must be performed manually before the loader is registered - libltdl -doesn't handle user loader initialisation. - - Finalisation _is_ handled by libltdl however, and it is important to -ensure the 'dlloader_exit' callback releases any resources claimed -during the initialisation phase. - -libltdl provides the following functions for writing your own module -loaders: - - -- Function: int lt_dlloader_add (lt_dlloader *PLACE, - lt_user_dlloader *DLLOADER, const char *LOADER_NAME) - Add a new module loader to the list of all loaders, either as the - last loader (if PLACE is 'NULL'), else immediately before the - loader passed as PLACE. LOADER_NAME will be returned by - 'lt_dlloader_name' if it is subsequently passed a newly registered - loader. These LOADER_NAMEs must be unique, or 'lt_dlloader_remove' - and 'lt_dlloader_find' cannot work. Returns 0 for success. - - /* Make myloader be the last one. */ - if (lt_dlloader_add (NULL, myloader) != 0) - perror (lt_dlerror ()); - - -- Function: int lt_dlloader_remove (const char *LOADER_NAME) - Remove the loader identified by the unique name, LOADER_NAME. - Before this can succeed, all modules opened by the named loader - must have been closed. Returns 0 for success, otherwise an error - message can be obtained from 'lt_dlerror'. - - /* Remove myloader. */ - if (lt_dlloader_remove ("myloader") != 0) - perror (lt_dlerror ()); - - -- Function: lt_dlloader * lt_dlloader_next (lt_dlloader *PLACE) - Iterate over the module loaders, returning the first loader if - PLACE is 'NULL', and the next one on subsequent calls. The handle - is for use with 'lt_dlloader_add'. - - /* Make myloader be the first one. */ - if (lt_dlloader_add (lt_dlloader_next (NULL), myloader) != 0) - return ERROR; - - -- Function: lt_dlloader * lt_dlloader_find (const char *LOADER_NAME) - Return the first loader with a matching LOADER_NAME identifier, or - else 'NULL', if the identifier is not found. - - The identifiers that may be used by libltdl itself, if the host - architecture supports them are "dlopen"(1), "dld" and "dlpreload". - - /* Add a user loader as the next module loader to be tried if - the standard dlopen loader were to fail when lt_dlopening. */ - if (lt_dlloader_add (lt_dlloader_find ("dlopen"), myloader) != 0) - return ERROR; - - -- Function: const char * lt_dlloader_name (lt_dlloader *PLACE) - Return the identifying name of PLACE, as obtained from - 'lt_dlloader_next' or 'lt_dlloader_find'. If this function fails, - it will return 'NULL' and set an error for retrieval with - 'lt_dlerror'. - - -- Function: lt_user_data * lt_dlloader_data (lt_dlloader *PLACE) - Return the address of the 'dlloader_data' of PLACE, as obtained - from 'lt_dlloader_next' or 'lt_dlloader_find'. If this function - fails, it will return 'NULL' and set an error for retrieval with - 'lt_dlerror'. - -11.5.1 Error handling within user module loaders ------------------------------------------------- - - -- Function: int lt_dladderror (const char *DIAGNOSTIC) - This function allows you to integrate your own error messages into - 'lt_dlerror'. Pass in a suitable diagnostic message for return by - 'lt_dlerror', and an error identifier for use with 'lt_dlseterror' - is returned. - - If the allocation of an identifier fails, this function returns -1. - - int myerror = lt_dladderror ("doh!"); - if (myerror < 0) - perror (lt_dlerror ()); - - -- Function: int lt_dlseterror (int ERRORCODE) - When writing your own module loaders, you should use this function - to raise errors so that they are propagated through the - 'lt_dlerror' interface. All of the standard errors used by libltdl - are declared in 'ltdl.h', or you can add more of your own with - 'lt_dladderror'. This function returns 0 on success. - - if (lt_dlseterror (LTDL_ERROR_NO_MEMORY) != 0) - perror (lt_dlerror ()); - - ---------- Footnotes ---------- - - (1) This is used for the host dependent module loading API - -'shl_load' and 'LoadLibrary' for example - - -File: libtool.info, Node: Distributing libltdl, Prev: Module loaders for libltdl, Up: Using libltdl - -11.6 How to distribute libltdl with your package -================================================ - -Even though libltdl is installed together with libtool, you may wish to -include libltdl in the distribution of your package, for the convenience -of users of your package that don't have libtool or libltdl installed, -or if you are using features of a very new version of libltdl that you -don't expect your users to have yet. In such cases, you must decide -what flavor of libltdl you want to use: a convenience library or an -installable libtool library. - - The most simplistic way to add 'libltdl' to your package is to copy -all the 'libltdl' source files to a subdirectory within your package and -to build and link them along with the rest of your sources. To help you -do this, the m4 macros for Autoconf are available in 'ltdl.m4'. You -must ensure that they are available in 'aclocal.m4' before you run -Autoconf(1). Having made the macros available, you must add a call to -the 'LTDL_INIT' macro (after the call to 'LT_INIT') to your package's -'configure.ac' to perform the configure time checks required to build -the library correctly. Unfortunately, this method has problems if you -then try to link the package binaries with an installed libltdl, or a -library that depends on libltdl, because of the duplicate symbol -definitions. For example, ultimately linking against two different -versions of libltdl, or against both a local convenience library and an -installed libltdl is bad. Ensuring that only one copy of the libltdl -sources are linked into any program is left as an exercise for the -reader. - - -- Macro: LT_CONFIG_LTDL_DIR (DIRECTORY) - Declare DIRECTORY to be the location of the 'libltdl' source files, - for 'libtoolize --ltdl' to place them. *Note Invoking - libtoolize::, for more details. Provided that you add an - appropriate 'LT_CONFIG_LTDL_DIR' call in your 'configure.ac' before - calling 'libtoolize', the appropriate 'libltdl' files will be - installed automatically. - - -- Macro: LTDL_INIT (OPTIONS) - -- Macro: LT_WITH_LTDL - -- Macro: AC_WITH_LTDL - 'AC_WITH_LTDL' and 'LT_WITH_LTDL' are deprecated names for older - versions of this macro; 'autoupdate' will update your - 'configure.ac' file. - - This macro adds the following options to the 'configure' script: - - '--with-ltdl-include INSTALLED-LTDL-HEADER-DIR' - The 'LTDL_INIT' macro will look in the standard header file - locations to find the installed 'libltdl' headers. If - 'LTDL_INIT' can't find them by itself, the person who builds - your package can use this option to tell 'configure' where the - installed 'libltdl' headers are. - - '--with-ltdl-lib INSTALLED-LTDL-LIBRARY-DIR' - Similarly, the person building your package can use this - option to help 'configure' find the installed 'libltdl.la'. - - '--with-included-ltdl' - If there is no installed 'libltdl', or in any case if the - person building your package would rather use the 'libltdl' - sources shipped with the package in the subdirectory named by - 'LT_CONFIG_LTDL_DIR', they should pass this option to - 'configure'. - - If the '--with-included-ltdl' is not passed at configure time, and - an installed 'libltdl' is not found(2), then 'configure' will exit - immediately with an error that asks the user to either specify the - location of an installed 'libltdl' using the '--with-ltdl-include' - and '--with-ltdl-lib' options, or to build with the 'libltdl' - sources shipped with the package by passing '--with-included-ltdl'. - - If an installed 'libltdl' is found, then 'LIBLTDL' is set to the - link flags needed to use it, and 'LTDLINCL' to the preprocessor - flags needed to find the installed headers, and 'LTDLDEPS' will be - empty. Note, however, that no version checking is performed. You - should manually check for the 'libltdl' features you need in - 'configure.ac': - - LT_INIT([dlopen]) - LTDL_INIT - - # The lt_dladvise_init symbol was added with libtool-2.2 - if test yes != "$with_included_ltdl"; then - save_CFLAGS=$CFLAGS - save_LDFLAGS=$LDFLAGS - CFLAGS="$CFLAGS $LTDLINCL" - LDFLAGS="$LDFLAGS $LIBLTDL" - AC_CHECK_LIB([ltdl], [lt_dladvise_init], - [], - [AC_MSG_ERROR([installed libltdl is too old])]) - LDFLAGS=$save_LDFLAGS - CFLAGS=$save_CFLAGS - fi - - OPTIONS may include no more than one of the following build modes - depending on how you want your project to build 'libltdl': - 'nonrecursive', 'recursive', or 'subproject'. In order for - 'libtoolize' to detect this option correctly, if you supply one of - these arguments, they must be given literally (i.e., macros or - shell variables that expand to the correct ltdl mode will not - work). - - 'nonrecursive' - This is how the Libtool project distribution builds the - 'libltdl' we ship and install. If you wish to use Automake to - build 'libltdl' without invoking a recursive make to descend - into the 'libltdl' subdirectory, then use this option. You - will need to set your configuration up carefully to make this - work properly, and you will need releases of Autoconf and - Automake that support 'subdir-objects' and 'LIBOBJDIR' - properly. In your 'configure.ac', add: - - AM_INIT_AUTOMAKE([subdir-objects]) - AC_CONFIG_HEADERS([config.h]) - LT_CONFIG_LTDL_DIR([libltdl]) - LT_INIT([dlopen]) - LTDL_INIT([nonrecursive]) - - You _have to_ use a config header, but it may have a name - different than 'config.h'. - - Also, add the following near the top of your 'Makefile.am': - - AM_CPPFLAGS = - AM_LDFLAGS = - - BUILT_SOURCES = - EXTRA_DIST = - CLEANFILES = - MOSTLYCLEANFILES = - - include_HEADERS = - noinst_LTLIBRARIES = - lib_LTLIBRARIES = - EXTRA_LTLIBRARIES = - - include libltdl/ltdl.mk - - Unless you build no other libraries from this 'Makefile.am', - you will also need to change 'lib_LTLIBRARIES' to assign with - '+=' so that the 'libltdl' targets declared in 'ltdl.mk' are - not overwritten. - - 'recursive' - This build mode still requires that you use Automake, but (in - contrast with 'nonrecursive') uses the more usual device of - starting another 'make' process in the 'libltdl' subdirectory. - To use this mode, you should add to your 'configure.ac': - - AM_INIT_AUTOMAKE - AC_CONFIG_HEADERS([config.h]) - LT_CONFIG_LTDL_DIR([libltdl]) - LT_INIT([dlopen]) - LTDL_INIT([recursive]) - AC_CONFIG_FILES([libltdl/Makefile]) - - Again, you _have to_ use a config header, but it may have a - name different than 'config.h' if you like. - - Also, add this to your 'Makefile.am': - - SUBDIRS = libltdl - - 'subproject' - This mode is the default unless you explicitly add 'recursive' - or 'nonrecursive' to your 'LTDL_INIT' options; 'subproject' is - the only mode supported by previous releases of libltdl. Even - if you do not use Autoconf in the parent project, then, in - 'subproject' mode, still 'libltdl' contains all the necessary - files to configure and build itself - you just need to arrange - for your build system to call 'libltdl/configure' with - appropriate options, and then run 'make' in the 'libltdl' - subdirectory. - - If you _are_ using Autoconf and Automake, then you will need - to add the following to your 'configure.ac': - - LT_CONFIG_LTDL_DIR([libltdl]) - LTDL_INIT - - and to 'Makefile.am': - - SUBDIRS = libltdl - - Aside from setting the libltdl build mode, there are other keywords - that you can pass to 'LTDL_INIT' to modify its behavior when - '--with-included-ltdl' has been given: - - 'convenience' - This is the default unless you explicitly add 'installable' to - your 'LTDL_INIT' options. - - This keyword will cause options to be passed to the - 'configure' script in the subdirectory named by - 'LT_CONFIG_LTDL_DIR' to cause it to be built as a convenience - library. If you're not using automake, you will need to - define 'top_build_prefix', 'top_builddir', and 'top_srcdir' in - your makefile so that 'LIBLTDL', 'LTDLDEPS', and 'LTDLINCL' - expand correctly. - - One advantage of the convenience library is that it is not - installed, so the fact that you use 'libltdl' will not be - apparent to the user, and it won't overwrite a pre-installed - version of 'libltdl' the system might already have in the - installation directory. On the other hand, if you want to - upgrade 'libltdl' for any reason (e.g. a bugfix) you'll have - to recompile your package instead of just replacing the shared - installed version of 'libltdl'. However, if your programs or - libraries are linked with other libraries that use such a - pre-installed version of 'libltdl', you may get linker errors - or run-time crashes. Another problem is that you cannot link - the convenience library into more than one libtool library, - then link a single program with those libraries, because you - may get duplicate symbols. In general you can safely use the - convenience library in programs that don't depend on other - libraries that might use 'libltdl' too. - - 'installable' - This keyword will pass options to the 'configure' script in - the subdirectory named by 'LT_CONFIG_LTDL_DIR' to cause it to - be built as an installable library. If you're not using - automake, you will need to define 'top_build_prefix', - 'top_builddir' and 'top_srcdir' in your makefile so that - 'LIBLTDL', 'LTDLDEPS', and 'LTDLINCL' are expanded properly. - - Be aware that you could overwrite another 'libltdl' already - installed to the same directory if you use this option. - - Whatever method you use, 'LTDL_INIT' will define the shell variable -'LIBLTDL' to the link flag that you should use to link with 'libltdl', -the shell variable 'LTDLDEPS' to the files that can be used as a -dependency in 'Makefile' rules, and the shell variable 'LTDLINCL' to the -preprocessor flag that you should use to compile programs that include -'ltdl.h'. So, when you want to link a program with libltdl, be it a -convenience, installed or installable library, just use '$(LTDLINCL)' -for preprocessing and compilation, and '$(LIBLTDL)' for linking. - - * If your package is built using an installed version of 'libltdl', - 'LIBLTDL' will be set to the compiler flags needed to link against - the installed library, 'LTDLDEPS' will be empty, and 'LTDLINCL' - will be set to the compiler flags needed to find the 'libltdl' - header files. - - * If your package is built using the convenience libltdl, 'LIBLTDL' - and 'LTDLDEPS' will be the pathname for the convenience version of - libltdl (starting with '${top_builddir}/' or '${top_build_prefix}') - and 'LTDLINCL' will be '-I' followed by the directory that contains - 'ltdl.h' (starting with '${top_srcdir}/'). - - * If an installable version of the included 'libltdl' is being built, - its pathname starting with '${top_builddir}/' or - '${top_build_prefix}', will be stored in 'LIBLTDL' and 'LTDLDEPS', - and 'LTDLINCL' will be set just like in the case of convenience - library. - - You should probably also use the 'dlopen' option to 'LT_INIT' in your -'configure.ac', otherwise libtool will assume no dlopening mechanism is -supported, and revert to dlpreopening, which is probably not what you -want. Avoid using the '-static', '-static-libtool-libs', or -'-all-static' switches when linking programs with libltdl. This will -not work on all platforms, because the dlopening functions may not be -available for static linking. - - The following example shows you how to embed an installable libltdl -in your package. In order to use the convenience variant, just replace -the 'LTDL_INIT' option 'installable' with 'convenience'. We assume that -libltdl was embedded using 'libtoolize --ltdl'. - - configure.ac: - ... - # Name the subdirectory that contains libltdl sources - LT_CONFIG_LTDL_DIR([libltdl]) - - # Configure libtool with dlopen support if possible - LT_INIT([dlopen]) - - # Enable building of the installable libltdl library - LTDL_INIT([installable]) - ... - - Makefile.am: - ... - SUBDIRS = libltdl - - AM_CPPFLAGS = $(LTDLINCL) - - myprog_LDFLAGS = -export-dynamic - myprog_LDADD = $(LIBLTDL) -dlopen self -dlopen foo1.la - myprog_DEPENDENCIES = $(LTDLDEPS) foo1.la - ... - - -- Macro: LTDL_INSTALLABLE - -- Macro: AC_LIBLTDL_INSTALLABLE - These macros are deprecated, the 'installable' option to - 'LTDL_INIT' should be used instead. - - -- Macro: LTDL_CONVENIENCE - -- Macro: AC_LIBLTDL_CONVENIENCE - These macros are deprecated, the 'convenience' option to - 'LTDL_INIT' should be used instead. - - ---------- Footnotes ---------- - - (1) We used to recommend adding the contents of 'ltdl.m4' to -'acinclude.m4', but with 'aclocal' from a modern Automake (1.8 or newer) -and this release of libltdl that is not only unnecessary but makes it -easy to forget to upgrade 'acinclude.m4' if you move to a different -release of libltdl. - - (2) Even if libltdl is installed, 'LTDL_INIT' may fail to detect it -if libltdl depends on symbols provided by libraries other than the C -library. - - -File: libtool.info, Node: Trace interface, Next: FAQ, Prev: Using libltdl, Up: Top - -12 Libtool's trace interface -**************************** - -This section describes macros whose sole purpose is to be traced using -Autoconf's '--trace' option (*note The Autoconf Manual: -(autoconf)autoconf Invocation.) to query the Libtool configuration of a -project. These macros are called by Libtool internals and should never -be called by user code; they should only be traced. - - -- Macro: LT_SUPPORTED_TAG (TAG) - This macro is called once for each language enabled in the package. - Its only argument, TAG, is the tag-name corresponding to the - language (*note Tags::). - - You can therefore retrieve the list of all tags enabled in a - project using the following command: - autoconf --trace 'LT_SUPPORTED_TAG:$1' - - -File: libtool.info, Node: FAQ, Next: Troubleshooting, Prev: Trace interface, Up: Top - -13 Frequently Asked Questions about libtool -******************************************* - -This chapter covers some questions that often come up on the mailing -lists. - -* Menu: - -* Stripped link flags:: Dropped flags when creating a library - - -File: libtool.info, Node: Stripped link flags, Up: FAQ - -13.1 Why does libtool strip link flags when creating a library? -=============================================================== - -When creating a shared library, but not when compiling or creating a -program, 'libtool' drops some flags from the command line provided by -the user. This is done because flags unknown to 'libtool' may interfere -with library creation or require additional support from 'libtool', and -because omitting flags is usually the conservative choice for a -successful build. - - If you encounter flags that you think are useful to pass, as a -work-around you can prepend flags with '-Wc,' or '-Xcompiler ' to allow -them to be passed through to the compiler driver (*note Link mode::). -Another possibility is to add flags already to the compiler command at -'configure' run time: - - ./configure CC='gcc -m64' - - If you think 'libtool' should let some flag through by default, -here's how you can test such an inclusion: grab the Libtool development -tree, edit the 'ltmain.in' file in the 'libltdl/config' subdirectory to -pass through the flag (search for 'Flags to be passed through'), -re-bootstrap and build with the flags in question added to 'LDFLAGS', -'CFLAGS', 'CXXFLAGS', etc. on the 'configure' command line as -appropriate. Run the testsuite as described in the 'README' file and -report results to the Libtool bug reporting address -. - - -File: libtool.info, Node: Troubleshooting, Next: Maintaining, Prev: FAQ, Up: Top - -14 Troubleshooting -****************** - -Libtool is under constant development, changing to remain up-to-date -with modern operating systems. If libtool doesn't work the way you -think it should on your platform, you should read this chapter to help -determine what the problem is, and how to resolve it. - -* Menu: - -* Libtool test suite:: Libtool's self-tests. -* Reporting bugs:: How to report problems with libtool. - - -File: libtool.info, Node: Libtool test suite, Next: Reporting bugs, Up: Troubleshooting - -14.1 The libtool test suite -=========================== - -Libtool comes with two integrated sets of tests to check that your build -is sane, that test its capabilities, and report obvious bugs in the -libtool program. These tests, too, are constantly evolving, based on -past problems with libtool, and known deficiencies in other operating -systems. - - As described in the 'README' file, you may run 'make -k check' after -you have built libtool (possibly before you install it) to make sure -that it meets basic functional requirements. - -* Menu: - -* Test descriptions:: The contents of the old test suite. -* When tests fail:: What to do when a test fails. - - -File: libtool.info, Node: Test descriptions, Next: When tests fail, Up: Libtool test suite - -14.1.1 Description of test suite --------------------------------- - -Here is a list of the current programs in the old test suite, and what -they test for: - -'cdemo-conf.test' -'cdemo-make.test' -'cdemo-exec.test' -'cdemo-static.test' -'cdemo-static-make.test' -'cdemo-static-exec.test' -'cdemo-shared.test' -'cdemo-shared-make.test' -'cdemo-shared-exec.test' -'cdemo-undef.test' -'cdemo-undef-make.test' -'cdemo-undef-exec.test' - These programs check to see that the 'tests/cdemo' subdirectory of - the libtool distribution can be configured and built correctly. - - The 'tests/cdemo' subdirectory contains a demonstration of libtool - convenience libraries, a mechanism that allows build-time static - libraries to be created, in a way that their components can be - later linked into programs or other libraries, even shared ones. - - The tests matching 'cdemo-*make.test' and 'cdemo-*exec.test' are - executed three times, under three different libtool configurations: - 'cdemo-conf.test' configures 'cdemo/libtool' to build both static - and shared libraries (the default for platforms that support both), - 'cdemo-static.test' builds only static libraries - ('--disable-shared'), and 'cdemo-shared.test' builds only shared - libraries ('--disable-static'). - - The test 'cdemo-undef.test' tests the generation of shared - libraries with undefined symbols on systems that allow this. - -'demo-conf.test' -'demo-make.test' -'demo-exec.test' -'demo-inst.test' -'demo-unst.test' -'demo-static.test' -'demo-static-make.test' -'demo-static-exec.test' -'demo-static-inst.test' -'demo-static-unst.test' -'demo-shared.test' -'demo-shared-make.test' -'demo-shared-exec.test' -'demo-shared-inst.test' -'demo-shared-unst.test' -'demo-nofast.test' -'demo-nofast-make.test' -'demo-nofast-exec.test' -'demo-nofast-inst.test' -'demo-nofast-unst.test' -'demo-pic.test' -'demo-pic-make.test' -'demo-pic-exec.test' -'demo-nopic.test' -'demo-nopic-make.test' -'demo-nopic-exec.test' - These programs check to see that the 'tests/demo' subdirectory of - the libtool distribution can be configured, built, installed, and - uninstalled correctly. - - The 'tests/demo' subdirectory contains a demonstration of a trivial - package that uses libtool. The tests matching 'demo-*make.test', - 'demo-*exec.test', 'demo-*inst.test' and 'demo-*unst.test' are - executed four times, under four different libtool configurations: - 'demo-conf.test' configures 'demo/libtool' to build both static and - shared libraries, 'demo-static.test' builds only static libraries - ('--disable-shared'), and 'demo-shared.test' builds only shared - libraries ('--disable-static'). 'demo-nofast.test' configures - 'demo/libtool' to disable the fast-install mode - ('--enable-fast-install=no'). 'demo-pic.test' configures - 'demo/libtool' to prefer building PIC code ('--with-pic'), - 'demo-nopic.test' to prefer non-PIC code ('--without-pic'). - -'demo-deplibs.test' - Many systems cannot link static libraries into shared libraries. - libtool uses a 'deplibs_check_method' to prevent such cases. This - tests checks whether libtool's 'deplibs_check_method' works - properly. - -'demo-hardcode.test' - On all systems with shared libraries, the location of the library - can be encoded in executables that are linked against it *note - Linking executables::. This test checks under what conditions your - system linker hardcodes the library location, and guarantees that - they correspond to libtool's own notion of how your linker behaves. - -'demo-relink.test' -'depdemo-relink.test' - These tests check whether variable 'shlibpath_overrides_runpath' is - properly set. If the test fails, it will indicate what the - variable should have been set to. - -'demo-noinst-link.test' - Checks whether libtool will not try to link with a previously - installed version of a library when it should be linking with a - just-built one. - -'depdemo-conf.test' -'depdemo-make.test' -'depdemo-exec.test' -'depdemo-inst.test' -'depdemo-unst.test' -'depdemo-static.test' -'depdemo-static-make.test' -'depdemo-static-exec.test' -'depdemo-static-inst.test' -'depdemo-static-unst.test' -'depdemo-shared.test' -'depdemo-shared-make.test' -'depdemo-shared-exec.test' -'depdemo-shared-inst.test' -'depdemo-shared-unst.test' -'depdemo-nofast.test' -'depdemo-nofast-make.test' -'depdemo-nofast-exec.test' -'depdemo-nofast-inst.test' -'depdemo-nofast-unst.test' - These programs check to see that the 'tests/depdemo' subdirectory - of the libtool distribution can be configured, built, installed, - and uninstalled correctly. - - The 'tests/depdemo' subdirectory contains a demonstration of - inter-library dependencies with libtool. The test programs link - some interdependent libraries. - - The tests matching 'depdemo-*make.test', 'depdemo-*exec.test', - 'depdemo-*inst.test' and 'depdemo-*unst.test' are executed four - times, under four different libtool configurations: - 'depdemo-conf.test' configures 'depdemo/libtool' to build both - static and shared libraries, 'depdemo-static.test' builds only - static libraries ('--disable-shared'), and 'depdemo-shared.test' - builds only shared libraries ('--disable-static'). - 'depdemo-nofast.test' configures 'depdemo/libtool' to disable the - fast-install mode ('--enable-fast-install=no'). - -'mdemo-conf.test' -'mdemo-make.test' -'mdemo-exec.test' -'mdemo-inst.test' -'mdemo-unst.test' -'mdemo-static.test' -'mdemo-static-make.test' -'mdemo-static-exec.test' -'mdemo-static-inst.test' -'mdemo-static-unst.test' -'mdemo-shared.test' -'mdemo-shared-make.test' -'mdemo-shared-exec.test' -'mdemo-shared-inst.test' -'mdemo-shared-unst.test' - These programs check to see that the 'tests/mdemo' subdirectory of - the libtool distribution can be configured, built, installed, and - uninstalled correctly. - - The 'tests/mdemo' subdirectory contains a demonstration of a - package that uses libtool and the system independent dlopen wrapper - 'libltdl' to load modules. The library 'libltdl' provides a dlopen - wrapper for various platforms (POSIX) including support for - dlpreopened modules (*note Dlpreopening::). - - The tests matching 'mdemo-*make.test', 'mdemo-*exec.test', - 'mdemo-*inst.test' and 'mdemo-*unst.test' are executed three times, - under three different libtool configurations: 'mdemo-conf.test' - configures 'mdemo/libtool' to build both static and shared - libraries, 'mdemo-static.test' builds only static libraries - ('--disable-shared'), and 'mdemo-shared.test' builds only shared - libraries ('--disable-static'). - -'mdemo-dryrun.test' - This test checks whether libtool's '--dry-run' mode works properly. - -'mdemo2-conf.test' -'mdemo2-exec.test' -'mdemo2-make.test' - These programs check to see that the 'tests/mdemo2' subdirectory of - the libtool distribution can be configured, built, and executed - correctly. - - The 'tests/mdemo2' directory contains a demonstration of a package - that attempts to link with a library (from the 'tests/mdemo' - directory) that itself does dlopening of libtool modules. - -'link.test' - This test guarantees that linking directly against a non-libtool - static library works properly. - -'link-2.test' - This test makes sure that files ending in '.lo' are never linked - directly into a program file. - -'nomode.test' - Check whether we can actually get help for libtool. - -'objectlist.test' - Check that a nonexistent objectlist file is properly detected. - -'pdemo-conf.test' -'pdemo-make.test' -'pdemo-exec.test' -'pdemo-inst.test' - These programs check to see that the 'tests/pdemo' subdirectory of - the libtool distribution can be configured, built, and executed - correctly. - - The 'pdemo-conf.test' lowers the 'max_cmd_len' variable in the - generated libtool script to test the measures to evade command line - length limitations. - -'quote.test' - This program checks libtool's metacharacter quoting. - -'sh.test' - Checks for some nonportable or dubious or undesired shell - constructs in shell scripts. - -'suffix.test' - When other programming languages are used with libtool (*note Other - languages::), the source files may end in suffixes other than '.c'. - This test validates that libtool can handle suffixes for all the - file types that it supports, and that it fails when the suffix is - invalid. - -'tagdemo-conf.test' -'tagdemo-make.test' -'tagdemo-exec.test' -'tagdemo-static.test' -'tagdemo-static-make.test' -'tagdemo-static-exec.test' -'tagdemo-shared.test' -'tagdemo-shared-make.test' -'tagdemo-shared-exec.test' -'tagdemo-undef.test' -'tagdemo-undef-make.test' -'tagdemo-undef-exec.test' - These programs check to see that the 'tests/tagdemo' subdirectory - of the libtool distribution can be configured, built, and executed - correctly. - - The 'tests/tagdemo' directory contains a demonstration of a package - that uses libtool's multi-language support through configuration - tags. It generates a library from C++ sources, which is then - linked to a C++ program. - -'f77demo-conf.test' -'f77demo-make.test' -'f77demo-exec.test' -'f77demo-static.test' -'f77demo-static-make.test' -'f77demo-static-exec.test' -'f77demo-shared.test' -'f77demo-shared-make.test' -'f77demo-shared-exec.test' - These programs check to see that the 'tests/f77demo' subdirectory - of the libtool distribution can be configured, built, and executed - correctly. - - The 'tests/f77demo' tests test Fortran 77 support in libtool by - creating libraries from Fortran 77 sources, and mixed Fortran and C - sources, and a Fortran 77 program to use the former library, and a - C program to use the latter library. - -'fcdemo-conf.test' -'fcdemo-make.test' -'fcdemo-exec.test' -'fcdemo-static.test' -'fcdemo-static-make.test' -'fcdemo-static-exec.test' -'fcdemo-shared.test' -'fcdemo-shared-make.test' -'fcdemo-shared-exec.test' - These programs check to see that the 'tests/fcdemo' subdirectory of - the libtool distribution can be configured, built, and executed - correctly. - - The 'tests/fcdemo' is similar to the 'tests/f77demo' directory, - except that Fortran 90 is used in combination with the 'FC' - interface provided by Autoconf and Automake. - - The new, Autotest-based test suite uses keywords to classify certain -test groups: - -'CXX' -'F77' -'FC' -'GCJ' - The test group exercises one of these 'libtool' language tags. - -'autoconf' -'automake' - These keywords denote that the respective external program is - needed by the test group. The tests are typically skipped if the - program is not installed. The 'automake' keyword may also denote - use of the 'aclocal' program. - -'interactive' - This test group may require user interaction on some systems. - Typically, this means closing a popup window about a DLL load error - on Windows. - -'libltdl' - Denote that the 'libltdl' library is exercised by the test group. - -'libtool' -'libtoolize' - Denote that the 'libtool' or 'libtoolize' scripts are exercised by - the test group, respectively. - -'recursive' - Denote that this test group may recursively re-invoke the test - suite itself, with changed settings and maybe a changed 'libtool' - script. You may use the 'INNER_TESTSUITEFLAGS' variable to pass - additional settings to this recursive invocation. Typically, - recursive invocations delimit the set of tests with another - keyword, for example by passing '-k libtool' right before the - expansion of the 'INNER_TESTSUITEFLAGS' variable (without an - intervening space, so you get the chance for further delimitation). - - Test groups with the keyword 'recursive' should not be denoted with - keywords, in order to avoid infinite recursion. As a consequence, - recursive test groups themselves should never require user - interaction, while the test groups they invoke may do so. - - There is a convenience target 'check-noninteractive' that runs all -tests from both test suites that do not cause user interaction on -Windows. Conversely, the target 'check-interactive' runs the complement -of tests and might require closing popup windows about DLL load errors -on Windows. - - -File: libtool.info, Node: When tests fail, Prev: Test descriptions, Up: Libtool test suite - -14.1.2 When tests fail ----------------------- - -When the tests in the old test suite are run via 'make check', output is -caught in per-test 'tests/TEST-NAME.log' files and summarized in the -'test-suite.log' file. The exit status of each program tells the -'Makefile' whether or not the test succeeded. - - If a test fails, it means that there is either a programming error in -libtool, or in the test program itself. - - To investigate a particular test, you may run it directly, as you -would a normal program. When the test is invoked in this way, it -produces output that may be useful in determining what the problem is. - - The new, Autotest-based test suite produces as output a file -'tests/testsuite.log' that contains information about failed tests. - - You can pass options to the test suite through the 'make' variable -'TESTSUITEFLAGS' (*note The Autoconf Manual: (autoconf)testsuite -Invocation.). - - -File: libtool.info, Node: Reporting bugs, Prev: Libtool test suite, Up: Troubleshooting - -14.2 Reporting bugs -=================== - -If you think you have discovered a bug in libtool, you should think -twice: the libtool maintainer is notorious for passing the buck (or -maybe that should be "passing the bug"). Libtool was invented to fix -known deficiencies in shared library implementations, so, in a way, most -of the bugs in libtool are actually bugs in other operating systems. -However, the libtool maintainer would definitely be happy to add support -for somebody else's buggy operating system. [I wish there was a good -way to do winking smiley-faces in Texinfo.] - - Genuine bugs in libtool include problems with shell script -portability, documentation errors, and failures in the test suite (*note -Libtool test suite::). - - First, check the documentation and help screens to make sure that the -behaviour you think is a problem is not already mentioned as a feature. - - Then, you should read the Emacs guide to reporting bugs (*note -Reporting Bugs: (emacs)Bugs.). Some of the details listed there are -specific to Emacs, but the principle behind them is a general one. - - Finally, send a bug report to the Libtool bug reporting address - with any appropriate _facts_, such as test suite -output (*note When tests fail::), all the details needed to reproduce -the bug, and a brief description of why you think the behaviour is a -bug. Be sure to include the word "libtool" in the subject line, as well -as the version number you are using (which can be found by typing -'libtool --version'). - - -File: libtool.info, Node: Maintaining, Next: GNU Free Documentation License, Prev: Troubleshooting, Up: Top - -15 Maintenance notes for libtool -******************************** - -This chapter contains information that the libtool maintainer finds -important. It will be of no use to you unless you are considering -porting libtool to new systems, or writing your own libtool. - -* Menu: - -* New ports:: How to port libtool to new systems. -* Tested platforms:: When libtool was last tested. -* Platform quirks:: Information about different library systems. -* libtool script contents:: Configuration information that libtool uses. -* Cheap tricks:: Making libtool maintainership easier. - - -File: libtool.info, Node: New ports, Next: Tested platforms, Up: Maintaining - -15.1 Porting libtool to new systems -=================================== - -Before you embark on porting libtool to an unsupported system, it is -worthwhile to send e-mail to the Libtool mailing list , -to make sure that you are not duplicating existing work. - - If you find that any porting documentation is missing, please -complain! Complaints with patches and improvements to the -documentation, or to libtool itself, are more than welcome. - -* Menu: - -* Information sources:: Where to find relevant documentation -* Porting inter-library dependencies:: Implementation details explained - - -File: libtool.info, Node: Information sources, Next: Porting inter-library dependencies, Up: New ports - -15.1.1 Information sources --------------------------- - -Once it is clear that a new port is necessary, you'll generally need the -following information: - -canonical system name - You need the output of 'config.guess' for this system, so that you - can make changes to the libtool configuration process without - affecting other systems. - -man pages for 'ld' and 'cc' - These generally describe what flags are used to generate PIC, to - create shared libraries, and to link against only static libraries. - You may need to follow some cross references to find the - information that is required. - -man pages for 'ld.so', 'rtld', or equivalent - These are a valuable resource for understanding how shared - libraries are loaded on the system. - -man page for 'ldconfig', or equivalent - This page usually describes how to install shared libraries. - -output from 'ls -l /lib /usr/lib' - This shows the naming convention for shared libraries on the - system, including what names should be symbolic links. - -any additional documentation - Some systems have special documentation on how to build and install - shared libraries. - - If you know how to program the Bourne shell, then you can complete -the port yourself; otherwise, you'll have to find somebody with the -relevant skills who will do the work. People on the libtool mailing -list are usually willing to volunteer to help you with new ports, so you -can send the information to them. - - To do the port yourself, you'll definitely need to modify the -'libtool.m4' macros to make platform-specific changes to the -configuration process. You should search that file for the 'PORTME' -keyword, which will give you some hints on what you'll need to change. -In general, all that is involved is modifying the appropriate -configuration variables (*note libtool script contents::). - - Your best bet is to find an already-supported system that is similar -to yours, and make your changes based on that. In some cases, however, -your system will differ significantly from every other supported system, -and it may be necessary to add new configuration variables, and modify -the 'ltmain.in' script accordingly. Be sure to write to the mailing -list before you make changes to 'ltmain.in', since they may have advice -on the most effective way of accomplishing what you want. - - -File: libtool.info, Node: Porting inter-library dependencies, Prev: Information sources, Up: New ports - -15.1.2 Porting inter-library dependencies support -------------------------------------------------- - -Since version 1.2c, libtool has re-introduced the ability to do -inter-library dependency on some platforms, thanks to a patch by Toshio -Kuratomi . Here's a shortened version of the -message that contained his patch: - - The basic architecture is this: in 'libtool.m4', the person who -writes libtool makes sure '$deplibs' is included in '$archive_cmds' -somewhere and also sets the variable '$deplibs_check_method', and maybe -'$file_magic_cmd' when 'deplibs_check_method' is file_magic. - - 'deplibs_check_method' can be one of five things: -'file_magic [REGEX]' - looks in the library link path for libraries that have the right - libname. Then it runs '$file_magic_cmd' on the library and checks - for a match against the extended regular expression REGEX. When - 'file_magic_test_file' is set by 'libtool.m4', it is used as an - argument to '$file_magic_cmd' to verify whether the regular - expression matches its output, and warn the user otherwise. - -'test_compile' - just checks whether it is possible to link a program out of a list - of libraries, and checks which of those are listed in the output of - 'ldd'. It is currently unused, and will probably be dropped in the - future. - -'pass_all' - will pass everything without any checking. This may work on - platforms where code is position-independent by default and - inter-library dependencies are properly supported by the dynamic - linker, for example, on DEC OSF/1 3 and 4. - -'none' - It causes deplibs to be reassigned 'deplibs=""'. That way - 'archive_cmds' can contain deplibs on all platforms, but not have - deplibs used unless needed. - -'unknown' - is the default for all systems unless overridden in 'libtool.m4'. - It is the same as 'none', but it documents that we really don't - know what the correct value should be, and we welcome patches that - improve it. - - Then in 'ltmain.in' we have the real workhorse: a little -initialization and postprocessing (to setup/release variables for use -with eval echo libname_spec etc.) and a case statement that decides the -method that is being used. This is the real code... I wish I could -condense it a little more, but I don't think I can without function -calls. I've mostly optimized it (moved things out of loops, etc.) but -there is probably some fat left. I thought I should stop while I was -ahead, work on whatever bugs you discover, etc. before thinking about -more than obvious optimizations. - - -File: libtool.info, Node: Tested platforms, Next: Platform quirks, Prev: New ports, Up: Maintaining - -15.2 Tested platforms -===================== - -This table describes when libtool was last known to be tested on -platforms where it claims to support shared libraries: - - ------------------------------------------------------- - canonical host name compiler libtool results - (tools versions) release - ------------------------------------------------------- - alpha-dec-osf5.1 cc 1.3e ok (1.910) - alpha-dec-osf4.0f gcc 1.3e ok (1.910) - alpha-dec-osf4.0f cc 1.3e ok (1.910) - alpha-dec-osf3.2 gcc 0.8 ok - alpha-dec-osf3.2 cc 0.8 ok - alpha-dec-osf2.1 gcc 1.2f NS - alpha*-unknown-linux-gnu gcc 1.3b ok - (egcs-1.1.2, GNU ld 2.9.1.0.23) - hppa2.0w-hp-hpux11.00 cc 1.2f ok - hppa2.0-hp-hpux10.20 cc 1.3.2 ok - hppa1.1-hp-hpux10.20 gcc 1.2f ok - hppa1.1-hp-hpux10.20 cc 1.3c ok (1.821) - hppa1.1-hp-hpux10.10 gcc 1.2f ok - hppa1.1-hp-hpux10.10 cc 1.2f ok - hppa1.1-hp-hpux9.07 gcc 1.2f ok - hppa1.1-hp-hpux9.07 cc 1.2f ok - hppa1.1-hp-hpux9.05 gcc 1.2f ok - hppa1.1-hp-hpux9.05 cc 1.2f ok - hppa1.1-hp-hpux9.01 gcc 1.2f ok - hppa1.1-hp-hpux9.01 cc 1.2f ok - i*86-*-beos gcc 1.2f ok - i*86-*-bsdi4.0.1 gcc 1.3c ok - (gcc-2.7.2.1) - i*86-*-bsdi4.0 gcc 1.2f ok - i*86-*-bsdi3.1 gcc 1.2e NS - i*86-*-bsdi3.0 gcc 1.2e NS - i*86-*-bsdi2.1 gcc 1.2e NS - i*86-pc-cygwin gcc 1.3b NS - (egcs-1.1 stock b20.1 compiler) - i*86-*-dguxR4.20MU01 gcc 1.2 ok - i*86-*-freebsd4.3 gcc 1.3e ok (1.912) - i*86-*-freebsdelf4.0 gcc 1.3c ok - (egcs-1.1.2) - i*86-*-freebsdelf3.2 gcc 1.3c ok - (gcc-2.7.2.1) - i*86-*-freebsdelf3.1 gcc 1.3c ok - (gcc-2.7.2.1) - i*86-*-freebsdelf3.0 gcc 1.3c ok - i*86-*-freebsd3.0 gcc 1.2e ok - i*86-*-freebsd2.2.8 gcc 1.3c ok - (gcc-2.7.2.1) - i*86-*-freebsd2.2.6 gcc 1.3b ok - (egcs-1.1 & gcc-2.7.2.1, native ld) - i*86-*-freebsd2.1.5 gcc 0.5 ok - i*86-*-netbsd1.5 gcc 1.3e ok (1.901) - (egcs-1.1.2) - i*86-*-netbsd1.4 gcc 1.3c ok - (egcs-1.1.1) - i*86-*-netbsd1.4.3A gcc 1.3e ok (1.901) - i*86-*-netbsd1.3.3 gcc 1.3c ok - (gcc-2.7.2.2+myc2) - i*86-*-netbsd1.3.2 gcc 1.2e ok - i*86-*-netbsd1.3I gcc 1.2e ok - (egcs 1.1?) - i*86-*-netbsd1.2 gcc 0.9g ok - i*86-*-linux-gnu gcc 1.3e ok (1.901) - (Red Hat 7.0, gcc "2.96") - i*86-*-linux-gnu gcc 1.3e ok (1.911) - (SuSE 7.0, gcc 2.95.2) - i*86-*-linux-gnulibc1 gcc 1.2f ok - i*86-*-openbsd2.5 gcc 1.3c ok - (gcc-2.8.1) - i*86-*-openbsd2.4 gcc 1.3c ok - (gcc-2.8.1) - i*86-*-solaris2.7 gcc 1.3b ok - (egcs-1.1.2, native ld) - i*86-*-solaris2.6 gcc 1.2f ok - i*86-*-solaris2.5.1 gcc 1.2f ok - i*86-ncr-sysv4.3.03 gcc 1.2f ok - i*86-ncr-sysv4.3.03 cc 1.2e ok - (cc -Hnocopyr) - i*86-pc-sco3.2v5.0.5 cc 1.3c ok - i*86-pc-sco3.2v5.0.5 gcc 1.3c ok - (gcc 95q4c) - i*86-pc-sco3.2v5.0.5 gcc 1.3c ok - (egcs-1.1.2) - i*86-sco-sysv5uw7.1.1 gcc 1.3e ok (1.901) - (gcc-2.95.2, SCO linker) - i*86-UnixWare7.1.0-sysv5 cc 1.3c ok - i*86-UnixWare7.1.0-sysv5 gcc 1.3c ok - (egcs-1.1.1) - m68k-next-nextstep3 gcc 1.2f NS - m68k-sun-sunos4.1.1 gcc 1.2f NS - (gcc-2.5.7) - m88k-dg-dguxR4.12TMU01 gcc 1.2 ok - m88k-motorola-sysv4 gcc 1.3 ok - (egcs-1.1.2) - mips-sgi-irix6.5 gcc 1.2f ok - (gcc-2.8.1) - mips-sgi-irix6.4 gcc 1.2f ok - mips-sgi-irix6.3 gcc 1.3b ok - (egcs-1.1.2, native ld) - mips-sgi-irix6.3 cc 1.3b ok - (cc 7.0) - mips-sgi-irix6.2 gcc 1.2f ok - mips-sgi-irix6.2 cc 0.9 ok - mips-sgi-irix5.3 gcc 1.2f ok - (egcs-1.1.1) - mips-sgi-irix5.3 gcc 1.2f NS - (gcc-2.6.3) - mips-sgi-irix5.3 cc 0.8 ok - mips-sgi-irix5.2 gcc 1.3b ok - (egcs-1.1.2, native ld) - mips-sgi-irix5.2 cc 1.3b ok - (cc 3.18) - mips-sni-sysv4 cc 1.3.5 ok - (Siemens C-compiler) - mips-sni-sysv4 gcc 1.3.5 ok - (gcc-2.7.2.3, GNU assembler 2.8.1, native ld) - mipsel-unknown-openbsd2.1 gcc 1.0 ok - powerpc-apple-darwin6.4 gcc 1.5 ok - (apple dev tools released 12/2002) - powerpc-ibm-aix4.3.1.0 gcc 1.2f ok - (egcs-1.1.1) - powerpc-ibm-aix4.2.1.0 gcc 1.2f ok - (egcs-1.1.1) - powerpc-ibm-aix4.1.5.0 gcc 1.2f ok - (egcs-1.1.1) - powerpc-ibm-aix4.1.5.0 gcc 1.2f NS - (gcc-2.8.1) - powerpc-ibm-aix4.1.4.0 gcc 1.0 ok - powerpc-ibm-aix4.1.4.0 xlc 1.0i ok - rs6000-ibm-aix4.1.5.0 gcc 1.2f ok - (gcc-2.7.2) - rs6000-ibm-aix4.1.4.0 gcc 1.2f ok - (gcc-2.7.2) - rs6000-ibm-aix3.2.5 gcc 1.0i ok - rs6000-ibm-aix3.2.5 xlc 1.0i ok - sparc-sun-solaris2.8 gcc 1.3e ok (1.913) - (gcc-2.95.3 & native ld) - sparc-sun-solaris2.7 gcc 1.3e ok (1.913) - (gcc-2.95.3 & native ld) - sparc-sun-solaris2.6 gcc 1.3e ok (1.913) - (gcc-2.95.3 & native ld) - sparc-sun-solaris2.5.1 gcc 1.3e ok (1.911) - sparc-sun-solaris2.5 gcc 1.3b ok - (egcs-1.1.2, GNU ld 2.9.1 & native ld) - sparc-sun-solaris2.5 cc 1.3b ok - (SC 3.0.1) - sparc-sun-solaris2.4 gcc 1.0a ok - sparc-sun-solaris2.4 cc 1.0a ok - sparc-sun-solaris2.3 gcc 1.2f ok - sparc-sun-sunos4.1.4 gcc 1.2f ok - sparc-sun-sunos4.1.4 cc 1.0f ok - sparc-sun-sunos4.1.3_U1 gcc 1.2f ok - sparc-sun-sunos4.1.3C gcc 1.2f ok - sparc-sun-sunos4.1.3 gcc 1.3b ok - (egcs-1.1.2, GNU ld 2.9.1 & native ld) - sparc-sun-sunos4.1.3 cc 1.3b ok - sparc-unknown-bsdi4.0 gcc 1.2c ok - sparc-unknown-linux-gnulibc1 gcc 1.2f ok - sparc-unknown-linux-gnu gcc 1.3b ok - (egcs-1.1.2, GNU ld 2.9.1.0.23) - sparc64-unknown-linux-gnu gcc 1.2f ok - - Notes: - - "ok" means "all tests passed". - - "NS" means "Not Shared", but OK for static libraries - - Note: The vendor-distributed HP-UX 'sed'(1) programs are horribly -broken, and cannot handle libtool's requirements, so users may report -unusual problems. There is no workaround except to install a working -'sed' (such as GNU 'sed') on these systems. - - Note: The vendor-distributed NCR MP-RAS 'cc' programs emits copyright -on standard error that confuse tests on size of 'conftest.err'. The -workaround is to specify 'CC' when run 'configure' with 'CC='cc --Hnocopyr''. - - -File: libtool.info, Node: Platform quirks, Next: libtool script contents, Prev: Tested platforms, Up: Maintaining - -15.3 Platform quirks -==================== - -This section is dedicated to the sanity of the libtool maintainers. It -describes the programs that libtool uses, how they vary from system to -system, and how to test for them. - - Because libtool is a shell script, it can be difficult to understand -just by reading it from top to bottom. This section helps show why -libtool does things a certain way. Combined with the scripts -themselves, you should have a better sense of how to improve libtool, or -write your own. - -* Menu: - -* References:: Finding more information. -* Compilers:: Creating object files from source files. -* Reloadable objects:: Binding object files together. -* Multiple dependencies:: Removing duplicate dependent libraries. -* Archivers:: Programs that create static archives. -* Cross compiling:: Issues that arise when cross compiling. -* File name conversion:: Converting file names between platforms. -* Windows DLLs:: Windows header defines. - - -File: libtool.info, Node: References, Next: Compilers, Up: Platform quirks - -15.3.1 References ------------------ - -The following is a list of valuable documentation references: - - * SGI's IRIX Manual Pages can be found at - . - - * Sun's free service area - () and documentation - server (). - - * Compaq's Tru64 UNIX online documentation is at - () - with C++ documentation at - (). - - * Hewlett-Packard has online documentation at - (). - - * IBM has online documentation at - (). - - -File: libtool.info, Node: Compilers, Next: Reloadable objects, Prev: References, Up: Platform quirks - -15.3.2 Compilers ----------------- - -The only compiler characteristics that affect libtool are the flags -needed (if any) to generate PIC objects. In general, if a C compiler -supports certain PIC flags, then any derivative compilers support the -same flags. Until there are some noteworthy exceptions to this rule, -this section will document only C compilers. - - The following C compilers have standard command line options, -regardless of the platform: - -'gcc' - - This is the GNU C compiler, which is also the system compiler for - many free operating systems (FreeBSD, GNU/Hurd, GNU/Linux, Lites, - NetBSD, and OpenBSD, to name a few). - - The '-fpic' or '-fPIC' flags can be used to generate - position-independent code. '-fPIC' is guaranteed to generate - working code, but the code is slower on m68k, m88k, and SPARC - chips. However, using '-fpic' on those chips imposes arbitrary - size limits on the shared libraries. - - The rest of this subsection lists compilers by the operating system -that they are bundled with: - -'aix3*' -'aix4*' - Most AIX compilers have no PIC flags, since AIX (with the exception - of AIX for IA-64) runs on PowerPC and RS/6000 chips. (1) - -'hpux10*' - Use '+Z' to generate PIC. - -'osf3*' - Digital/UNIX 3.x does not have PIC flags, at least not on the - PowerPC platform. - -'solaris2*' - Use '-KPIC' to generate PIC. - -'sunos4*' - Use '-PIC' to generate PIC. - - ---------- Footnotes ---------- - - (1) All code compiled for the PowerPC and RS/6000 chips -('powerpc-*-*', 'powerpcle-*-*', and 'rs6000-*-*') is -position-independent, regardless of the operating system or compiler -suite. So, "regular objects" can be used to build shared libraries on -these systems and no special PIC compiler flags are required. - - -File: libtool.info, Node: Reloadable objects, Next: Multiple dependencies, Prev: Compilers, Up: Platform quirks - -15.3.3 Reloadable objects -------------------------- - -On all known systems, a reloadable object can be created by running 'ld --r -o OUTPUT.o INPUT1.o INPUT2.o'. This reloadable object may be -treated as exactly equivalent to other objects. - - -File: libtool.info, Node: Multiple dependencies, Next: Archivers, Prev: Reloadable objects, Up: Platform quirks - -15.3.4 Multiple dependencies ----------------------------- - -On most modern platforms the order where dependent libraries are listed -has no effect on object generation. In theory, there are platforms that -require libraries that provide missing symbols to other libraries to be -listed after those libraries whose symbols they provide. - - Particularly, if a pair of static archives each resolve some of the -other's symbols, it might be necessary to list one of those archives -both before and after the other one. Libtool does not currently cope -with this situation well, since duplicate libraries are removed from the -link line by default. Libtool provides the command line option -'--preserve-dup-deps' to preserve all duplicate dependencies in cases -where it is necessary. - - -File: libtool.info, Node: Archivers, Next: Cross compiling, Prev: Multiple dependencies, Up: Platform quirks - -15.3.5 Archivers ----------------- - -On all known systems, building a static library can be accomplished by -running 'ar cr libNAME.a OBJ1.o OBJ2.o ...', where the '.a' file is the -output library, and each '.o' file is an object file. - - On all known systems, if there is a program named 'ranlib', then it -must be used to "bless" the created library before linking against it, -with the 'ranlib libNAME.a' command. Some systems, like Irix, use the -'ar ts' command, instead. - - -File: libtool.info, Node: Cross compiling, Next: File name conversion, Prev: Archivers, Up: Platform quirks - -15.3.6 Cross compiling ----------------------- - -Most build systems support the ability to compile libraries and -applications on one platform for use on a different platform, provided a -compiler capable of generating the appropriate output is available. In -such cross compiling scenarios, the platform where the libraries or -applications are compiled is called the "build platform", while the -platform where the libraries or applications are intended to be used or -executed is called the "host platform". *note The GNU Build System: -(automake)GNU Build System, of which libtool is a part, supports cross -compiling via arguments passed to the configure script: '--build=...' -and '--host=...'. However, when the build platform and host platform -are very different, libtool is required to make certain accommodations -to support these scenarios. - - In most cases, because the build platform and host platform differ, -the cross-compiled libraries and executables can't be executed or tested -on the build platform where they were compiled. The testsuites of most -build systems will often skip any tests that involve executing such -foreign executables when cross-compiling. However, if the build -platform and host platform are sufficiently similar, it is often -possible to run cross-compiled applications. Libtool's own testsuite -often attempts to execute cross-compiled tests, but will mark any -failures as _skipped_ since the failure might simply be due to the -differences between the two platforms. - - In addition to cases where the host platform and build platform are -extremely similar (e.g. 'i586-pc-linux-gnu' and 'i686-pc-linux-gnu'), -there is another case where cross-compiled host applications may be -executed on the build platform. This is possible when the build -platform supports an emulation or API-enhanced environment for the host -platform. One example of this situation would be if the build platform -were MinGW, and the host platform were Cygwin (or vice versa). Both of -these platforms can actually operate within a single Windows instance, -so Cygwin applications can be launched from a MinGW context, and vice -versa--provided certain care is taken. Another example would be if the -build platform were GNU/Linux on an x86 32bit processor, and the host -platform were MinGW. In this situation, the Wine -(http://www.winehq.org/) environment can be used to launch Windows -applications from the GNU/Linux operating system; again, provided -certain care is taken. - - One particular issue occurs when a Windows platform such as MinGW, -Cygwin, or MSYS is the host or build platform, while the other platform -is a Unix-style system. In these cases, there are often conflicts -between the format of the file names and paths expected within host -platform libraries and executables, and those employed on the build -platform. - - This situation is best described using a concrete example: suppose -the build platform is GNU/Linux with canonical triplet -'i686-pc-linux-gnu'. Suppose further that the host platform is MinGW -with canonical triplet 'i586-pc-mingw32'. On the GNU/Linux platform -there is a cross compiler following the usual naming conventions of such -compilers, where the compiler name is prefixed by the host canonical -triplet (or suitable alias). (For more information concerning canonical -triplets and platform aliases, see *note Specifying Target Triplets: -(autoconf)Specifying Target Triplets. and *note Canonicalizing: -(autoconf)Canonicalizing.) In this case, the C compiler is named -'i586-pc-mingw32-gcc'. - - As described in *note Wrapper executables::, for the MinGW host -platform libtool uses a wrapper executable to set various environment -variables before launching the actual program executable. Like the -program executable, the wrapper executable is cross-compiled for the -host platform (that is, for MinGW). As described above, ordinarily a -host platform executable cannot be executed on the build platform, but -in this case the Wine environment could be used to launch the MinGW -application from GNU/Linux. However, the wrapper executable, as a host -platform (MinGW) application, must set the 'PATH' variable so that the -true application's dependent libraries can be located--but the contents -of the 'PATH' variable must be structured for MinGW. Libtool must use -the Wine file name mapping facilities to determine the correct value so -that the wrapper executable can set the 'PATH' variable to point to the -correct location. - - For example, suppose we are compiling an application in '/var/tmp' on -GNU/Linux, using separate source code and build directories: - - /var/tmp/foo-1.2.3/app/ (application source code) - /var/tmp/foo-1.2.3/lib/ (library source code) - /var/tmp/BUILD/app/ (application build objects here) - /var/tmp/BUILD/lib/ (library build objects here) - - Since the library will be built in '/var/tmp/BUILD/lib', the wrapper -executable (which will be in '/var/tmp/BUILD/app') must add that -directory to 'PATH' (actually, it must add the directory named OBJDIR -under '/var/tmp/BUILD/lib', but we'll ignore that detail for now). -However, Windows does not have a concept of Unix-style file or directory -names such as '/var/tmp/BUILD/lib'. Therefore, Wine provides a mapping -from Windows file names such as 'C:\Program Files' to specific -Unix-style file names. Wine also provides a utility that can be used to -map Unix-style file names to Windows file names. - - In this case, the wrapper executable should actually add the value - - Z:\var\tmp\BUILD\lib - -to the 'PATH'. libtool contains support for path conversions of this -type, for a certain limited set of build and host platform combinations. -In this case, libtool will invoke Wine's 'winepath' utility to ensure -that the correct 'PATH' value is used. *Note File name conversion::. - - -File: libtool.info, Node: File name conversion, Next: Windows DLLs, Prev: Cross compiling, Up: Platform quirks - -15.3.7 File name conversion ---------------------------- - -In certain situations, libtool must convert file names and paths between -formats appropriate to different platforms. Usually this occurs when -cross-compiling, and affects only the ability to launch host platform -executables on the build platform using an emulation or API-enhancement -environment such as Wine. Failure to convert paths (*note File Name -Conversion Failure::) will cause a warning to be issued, but rarely -causes the build to fail--and should have no affect on the compiled -products, once installed properly on the host platform. For more -information, *note Cross compiling::. - - However, file name conversion may also occur in another scenario: -when using a Unix emulation system on Windows (such as Cygwin or MSYS), -combined with a native Windows compiler such as MinGW or MSVC. Only a -limited set of such scenarios are currently supported; in other cases -file name conversion is skipped. The lack of file name conversion -usually means that uninstalled executables can't be launched, but only -rarely causes the build to fail (*note File Name Conversion Failure::). - - libtool supports file name conversion in the following scenarios: - -build platform host platform Notes ---------------------------------------------------------------------------- -MinGW (MSYS) MinGW (Windows) *note Native MinGW File Name Conversion:: - -Cygwin MinGW (Windows) *note Cygwin/Windows File Name Conversion:: - -Unix + Wine MinGW (Windows) Requires Wine. - *Note Unix/Windows File Name Conversion::. - -MinGW (MSYS) Cygwin Requires 'LT_CYGPATH'. - *Note LT_CYGPATH::. Provided for - testing purposes only. - -Unix + Wine Cygwin Requires both Wine and - 'LT_CYGPATH', but does not yet - work with Cygwin 1.7.7 and - Wine-1.2. - *Note Unix/Windows File Name Conversion::, - and *note LT_CYGPATH::. - -* Menu: - -* File Name Conversion Failure:: What happens when file name conversion fails -* Native MinGW File Name Conversion:: MSYS file name conversion idiosyncrasies -* Cygwin/Windows File Name Conversion:: Using 'cygpath' to convert Cygwin file names -* Unix/Windows File Name Conversion:: Using Wine to convert Unix paths -* LT_CYGPATH:: Invoking 'cygpath' from other environments -* Cygwin to MinGW Cross:: Other notes concerning MinGW cross - - -File: libtool.info, Node: File Name Conversion Failure, Next: Native MinGW File Name Conversion, Up: File name conversion - -15.3.7.1 File Name Conversion Failure -..................................... - -In most cases, file name conversion is not needed or attempted. -However, when libtool detects that a specific combination of build and -host platform does require file name conversion, it is possible that the -conversion may fail. In these cases, you may see a warning such as the -following: - - Could not determine the host file name corresponding to - `... a file name ...' - Continuing, but uninstalled executables may not work. - -or - - Could not determine the host path corresponding to - `... a path ...' - Continuing, but uninstalled executables may not work. - -This should not cause the build to fail. At worst, it means that the -wrapper executable will specify file names or paths appropriate for the -build platform. Since those are not appropriate for the host platform, -the uninstalled executables would not operate correctly, even when the -wrapper executable is launched via the appropriate emulation or -API-enhancement (e.g. Wine). Simply install the executables on the -host platform, and execute them there. - - -File: libtool.info, Node: Native MinGW File Name Conversion, Next: Cygwin/Windows File Name Conversion, Prev: File Name Conversion Failure, Up: File name conversion - -15.3.7.2 Native MinGW File Name Conversion -.......................................... - -MSYS is a Unix emulation environment for Windows, and is specifically -designed such that in normal usage it _pretends_ to be MinGW or native -Windows, but understands Unix-style file names and paths, and supports -standard Unix tools and shells. Thus, "native" MinGW builds are -actually an odd sort of cross-compile, from an MSYS Unix emulation -environment "pretending" to be MinGW, to actual native Windows. - - When an MSYS shell launches a native Windows executable (as opposed -to other _MSYS_ executables), it uses a system of heuristics to detect -any command-line arguments that contain file names or paths. It -automatically converts these file names from the MSYS (Unix-like) -format, to the corresponding Windows file name, before launching the -executable. However, this auto-conversion facility is only available -when using the MSYS runtime library. The wrapper executable itself is a -MinGW application (that is, it does not use the MSYS runtime library). -The wrapper executable must set 'PATH' to, and call '_spawnv' with, -values that have already been converted from MSYS format to Windows. -Thus, when libtool writes the source code for the wrapper executable, it -must manually convert MSYS paths to Windows format, so that the Windows -values can be hard-coded into the wrapper executable. - - -File: libtool.info, Node: Cygwin/Windows File Name Conversion, Next: Unix/Windows File Name Conversion, Prev: Native MinGW File Name Conversion, Up: File name conversion - -15.3.7.3 Cygwin/Windows File Name Conversion -............................................ - -Cygwin provides a Unix emulation environment for Windows. As part of -that emulation, it provides a file system mapping that presents the -Windows file system in a Unix-compatible manner. Cygwin also provides a -utility 'cygpath' that can be used to convert file names and paths -between the two representations. In a correctly configured Cygwin -installation, 'cygpath' is always present, and is in the 'PATH'. - - Libtool uses 'cygpath' to convert from Cygwin (Unix-style) file names -and paths to Windows format when the build platform is Cygwin and the -host platform is MinGW. - - When the host platform is Cygwin, but the build platform is MSYS or -some Unix system, libtool also uses 'cygpath' to convert from Windows to -Cygwin format (after first converting from the build platform format to -Windows format; *Note Native MinGW File Name Conversion::, and *note -Unix/Windows File Name Conversion::.) Because the build platform is not -Cygwin, 'cygpath' is not (and should not be) in the 'PATH'. Therefore, -in this configuration the environment variable 'LT_CYGPATH' is required. -*Note LT_CYGPATH::. - - -File: libtool.info, Node: Unix/Windows File Name Conversion, Next: LT_CYGPATH, Prev: Cygwin/Windows File Name Conversion, Up: File name conversion - -15.3.7.4 Unix/Windows File Name Conversion -.......................................... - -Wine (http://www.winehq.org/) provides an interpretation environment for -some Unix platforms where Windows applications can be executed. It -provides a mapping between the Unix file system and a virtual Windows -file system used by the Windows programs. For the file name conversion -to work, Wine must be installed and properly configured on the build -platform, and the 'winepath' application must be in the build platform's -'PATH'. In addition, on 32bit GNU/Linux it is usually helpful if the -binfmt extension is enabled. - - -File: libtool.info, Node: LT_CYGPATH, Next: Cygwin to MinGW Cross, Prev: Unix/Windows File Name Conversion, Up: File name conversion - -15.3.7.5 LT_CYGPATH -................... - -For some cross-compile configurations (where the host platform is -Cygwin), the 'cygpath' program is used to convert file names from the -build platform notation to the Cygwin form (technically, this conversion -is from Windows notation to Cygwin notation; the conversion from the -build platform format to Windows notation is performed via other means). -However, because the 'cygpath' program is not (and should not be) in the -'PATH' on the build platform, 'LT_CYGPATH' must specify the full build -platform file name (that is, the full Unix or MSYS file name) of the -'cygpath' program. - - The reason 'cygpath' should not be in the build platform 'PATH' is -twofold: first, 'cygpath' is usually installed in the same directory as -many other Cygwin executables, such as 'sed', 'cp', etc. If the build -platform environment had this directory in its 'PATH', then these Cygwin -versions of common Unix utilities might be used in preference to the -ones provided by the build platform itself, with deleterious effects. -Second, especially when Cygwin-1.7 or later is used, multiple Cygwin -installations can coexist within the same Windows instance. Each -installation will have separate "mount tables" specified in -'CYGROOT-N/etc/fstab'. These "mount tables" control how that instance -of Cygwin will map Windows file names and paths to Cygwin form. Each -installation's 'cygpath' utility automatically deduces the appropriate -'/etc/fstab' file. Since each 'CYGROOT-N/etc/fstab' mount table may -specify different mappings, it matters what 'cygpath' is used. - - Note that 'cygpath' is a Cygwin application; to execute this tool -from Unix requires a working and properly configured Wine installation, -as well as enabling the GNU/Linux 'binfmt' extension. Furthermore, the -Cygwin 'setup.exe' tool should have been used, via Wine, to properly -install Cygwin into the Wine file system (and registry). - - Unfortunately, Wine support for Cygwin is intermittent. Recent -releases of Cygwin (1.7 and above) appear to require more Windows API -support than Wine provides (as of Wine version 1.2); most Cygwin -applications fail to execute. This includes 'cygpath' itself. Hence, -it is best _not_ to use the LT_CYGPATH machinery in libtool when -performing Unix to Cygwin cross-compiles. Similarly, it is best _not_ -to enable the GNU/Linux binfmt support in this configuration, because -while Wine will fail to execute the compiled Cygwin applications, it -will still exit with status zero. This tends to confuse build systems -and test suites (including libtool's own testsuite, resulting in -spurious reported failures). Wine support for the older Cygwin-1.5 -series appears satisfactory, but the Cygwin team no longer supports -Cygwin-1.5. It is hoped that Wine will eventually be improved such that -Cygwin-1.7 will again operate correctly under Wine. Until then, libtool -will report warnings as described in *note File Name Conversion -Failure:: in these scenarios. - - However, 'LT_CYGPATH' is also used for the MSYS to Cygwin cross -compile scenario, and operates as expected. - - -File: libtool.info, Node: Cygwin to MinGW Cross, Prev: LT_CYGPATH, Up: File name conversion - -15.3.7.6 Cygwin to MinGW Cross -.............................. - -There are actually three different scenarios that could all legitimately -be called a "Cygwin to MinGW" cross compile. The current (and standard) -definition is when there is a compiler that produces native Windows -libraries and applications, but which itself is a Cygwin application, -just as would be expected in any other cross compile setup. - - However, historically there were two other definitions, which we will -refer to as the _fake_ one, and the _lying_ one. - - In the _fake_ Cygwin to MinGW cross compile case, you actually use a -native MinGW compiler, but you do so from within a Cygwin environment: - - export PATH="/c/MinGW/bin:${PATH}" - configure --build=i686-pc-cygwin \ - --host=mingw32 \ - NM=/c/MinGW/bin/nm.exe - - In this way, the build system "knows" that you are cross compiling, -and the file name conversion logic will be used. However, because the -tools ('mingw32-gcc', 'nm', 'ar') used are actually native Windows -applications, they will not understand any Cygwin (that is, Unix-like) -absolute file names passed as command line arguments (and, unlike MSYS, -Cygwin does not automatically convert such arguments). However, so long -as only relative file names are used in the build system, and -non-Windows-supported Unix idioms such as symlinks and mount points are -avoided, this scenario should work. - - If you must use absolute file names, you will have to force Libtool -to convert file names for the toolchain in this case, by doing the -following before you run configure: - - export lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32 - - In the _lying_ Cygwin to MinGW cross compile case, you lie to the -build system: - - export PATH="/c/MinGW/bin:${PATH}" - configure --build=i686-pc-mingw32 \ - --host=i686-pc-mingw32 \ - --disable-dependency-tracking - -and claim that the build platform is MinGW, even though you are actually -running under _Cygwin_ and not MinGW. In this case, libtool does _not_ -know that you are performing a cross compile, and thinks instead that -you are performing a native MinGW build. However, as described in -(*note Native MinGW File Name Conversion::), that scenario triggers an -"MSYS to Windows" file name conversion. This, of course, is the wrong -conversion since we are actually running under Cygwin. Also, the -toolchain is expecting Windows file names (not Cygwin) but unless told -so Libtool will feed Cygwin file names to the toolchain in this case. -To force the correct file name conversions in this situation, you should -do the following _before_ running configure: - - export lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - export lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32 - - Note that this relies on internal implementation details of libtool, -and is subject to change. Also, '--disable-dependency-tracking' is -required, because otherwise the MinGW GCC will generate dependency files -that contain Windows file names. This, in turn, will confuse the Cygwin -'make' program, which does not accept Windows file names: - - Makefile:1: *** target pattern contains no `%'. Stop. - - There have also always been a number of other details required for -the _lying_ case to operate correctly, such as the use of so-called -"identity mounts": - - # CYGWIN-ROOT/etc/fstab - D:/foo /foo some_fs binary 0 0 - D:/bar /bar some_fs binary 0 0 - E:/grill /grill some_fs binary 0 0 - - In this way, top-level directories of each drive are available using -identical names within Cygwin. - - Note that you also need to ensure that the standard Unix directories -(like '/bin', '/lib', '/usr', '/etc') appear in the root of a drive. -This means that you must install Cygwin itself into the 'C:/' root -directory (or 'D:/', or 'E:/', etc)--instead of the recommended -installation into 'C:/cygwin/'. In addition, all file names used in the -build system must be relative, symlinks should not be used within the -source or build directory trees, and all '-M*' options to 'gcc' except -'-MMD' must be avoided. - - This is quite a fragile setup, but it has been in historical use, and -so is documented here. - - -File: libtool.info, Node: Windows DLLs, Prev: File name conversion, Up: Platform quirks - -15.3.8 Windows DLLs -------------------- - -This topic describes a couple of ways to portably create Windows Dynamic -Link Libraries (DLLs). Libtool knows how to create DLLs using GNU tools -and using Microsoft tools. - - A typical library has a "hidden" implementation with an interface -described in a header file. On just about every system, the interface -could be something like this: - - Example 'foo.h': - - #ifndef FOO_H - #define FOO_H - - int one (void); - int two (void); - extern int three; - - #endif /* FOO_H */ - -And the implementation could be something like this: - - Example 'foo.c': - - #include "foo.h" - - int one (void) - { - return 1; - } - - int two (void) - { - return three - one (); - } - - int three = 3; - - When using contemporary GNU tools to create the Windows DLL, the -above code will work there too, thanks to its auto-import/auto-export -features. But that is not the case when using older GNU tools or -perhaps more interestingly when using proprietary tools. In those cases -the code will need additional decorations on the interface symbols with -'__declspec(dllimport)' and '__declspec(dllexport)' depending on whether -the library is built or it's consumed and how it's built and consumed. -However, it should be noted that it would have worked also with -Microsoft tools, if only the variable 'three' hadn't been there, due to -the fact the Microsoft tools will automatically import functions (but -sadly not variables) and Libtool will automatically export non-static -symbols as described next. - - With Microsoft tools, Libtool digs through the object files that make -up the library, looking for non-static symbols to automatically export. -I.e., Libtool with Microsoft tools tries to mimic the auto-export -feature of contemporary GNU tools. It should be noted that the GNU -auto-export feature is turned off when an explicit -'__declspec(dllexport)' is seen. The GNU tools do this to not make more -symbols visible for projects that have already taken the trouble to -decorate symbols. There is no similar way to limit what symbols are -visible in the code when Libtool is using Microsoft tools. In order to -limit symbol visibility in that case you need to use one of the options -'-export-symbols' or '-export-symbols-regex'. - - No matching help with auto-import is provided by Libtool, which is -why variables must be decorated to import them from a DLL for everything -but contemporary GNU tools. As stated above, functions are -automatically imported by both contemporary GNU tools and Microsoft -tools, but for other proprietary tools the auto-import status of -functions is unknown. - - When the objects that form the library are built, there are generally -two copies built for each object. One copy is used when linking the DLL -and one copy is used for the static library. On Windows systems, a pair -of defines are commonly used to discriminate how the interface symbols -should be decorated. The first define is '-DDLL_EXPORT', which is -automatically provided by Libtool when 'libtool' builds the copy of the -object that is destined for the DLL. The second define is -'-DLIBFOO_BUILD' (or similar), which is often added by the package -providing the library and is used when building the library, but not -when consuming the library. - - However, the matching double compile is not performed when consuming -libraries. It is therefore not possible to reliably distinguish if the -consumer is importing from a DLL or if it is going to use a static -library. - - With contemporary GNU tools, auto-import often saves the day, but see -the GNU ld documentation and its '--enable-auto-import' option for some -corner cases when it does not (*note '--enable-auto-import': -(ld)Options.). - - With Microsoft tools you typically get away with always compiling the -code such that variables are expected to be imported from a DLL and -functions are expected to be found in a static library. The tools will -then automatically import the function from a DLL if that is where they -are found. If the variables are not imported from a DLL as expected, -but are found in a static library that is otherwise pulled in by some -function, the linker will issue a warning (LNK4217) that a locally -defined symbol is imported, but it still works. In other words, this -scheme will not work to only consume variables from a library. There is -also a price connected to this liberal use of imports in that an extra -indirection is introduced when you are consuming the static version of -the library. That extra indirection is unavoidable when the DLL is -consumed, but it is not needed when consuming the static library. - - For older GNU tools and other proprietary tools there is no generic -way to make it possible to consume either of the DLL or the static -library without user intervention, the tools need to be told what is -intended. One common assumption is that if a DLL is being built -('DLL_EXPORT' is defined) then that DLL is going to consume any -dependent libraries as DLLs. If that assumption is made everywhere, it -is possible to select how an end-user application is consuming libraries -by adding a single flag '-DDLL_EXPORT' when a DLL build is required. -This is of course an all or nothing deal, either everything as DLLs or -everything as static libraries. - - To sum up the above, the header file of the foo library needs to be -changed into something like this: - - Modified 'foo.h': - - #ifndef FOO_H - #define FOO_H - - #if defined _WIN32 && !defined __GNUC__ - # ifdef LIBFOO_BUILD - # ifdef DLL_EXPORT - # define LIBFOO_SCOPE __declspec (dllexport) - # define LIBFOO_SCOPE_VAR extern __declspec (dllexport) - # endif - # elif defined _MSC_VER - # define LIBFOO_SCOPE - # define LIBFOO_SCOPE_VAR extern __declspec (dllimport) - # elif defined DLL_EXPORT - # define LIBFOO_SCOPE __declspec (dllimport) - # define LIBFOO_SCOPE_VAR extern __declspec (dllimport) - # endif - #endif - #ifndef LIBFOO_SCOPE - # define LIBFOO_SCOPE - # define LIBFOO_SCOPE_VAR extern - #endif - - LIBFOO_SCOPE int one (void); - LIBFOO_SCOPE int two (void); - LIBFOO_SCOPE_VAR int three; - - #endif /* FOO_H */ - - When the targets are limited to contemporary GNU tools and Microsoft -tools, the above can be simplified to the following: - - Simplified 'foo.h': - - #ifndef FOO_H - #define FOO_H - - #if defined _WIN32 && !defined __GNUC__ && !defined LIBFOO_BUILD - # define LIBFOO_SCOPE_VAR extern __declspec (dllimport) - #else - # define LIBFOO_SCOPE_VAR extern - #endif - - int one (void); - int two (void); - LIBFOO_SCOPE_VAR int three; - - #endif /* FOO_H */ - - This last simplified version can of course only work when Libtool is -used to build the DLL, as no symbols would be exported otherwise (i.e., -when using Microsoft tools). - - It should be noted that there are various projects that attempt to -relax these requirements by various low level tricks, but they are not -discussed here. Examples are FlexDLL -(http://alain.frisch.fr/flexdll.html) and edll -(http://edll.sourceforge.net/). - - -File: libtool.info, Node: libtool script contents, Next: Cheap tricks, Prev: Platform quirks, Up: Maintaining - -15.4 'libtool' script contents -============================== - -Since version 1.4, the 'libtool' script is generated by 'configure' -(*note Configuring::). In earlier versions, 'configure' achieved this -by calling a helper script called 'ltconfig'. From libtool version 0.7 -to 1.0, this script simply set shell variables, then sourced the libtool -backend, 'ltmain.sh'. 'ltconfig' from libtool version 1.1 through 1.3 -inlined the contents of 'ltmain.sh' into the generated 'libtool', which -improved performance on many systems. The tests that 'ltconfig' used to -perform are now kept in 'libtool.m4' where they can be written using -Autoconf. This has the runtime performance benefits of inlined -'ltmain.sh', _and_ improves the build time a little while considerably -easing the amount of raw shell code that used to need maintaining. - - The convention used for naming variables that hold shell commands for -delayed evaluation, is to use the suffix '_cmd' where a single line of -valid shell script is needed, and the suffix '_cmds' where multiple -lines of shell script *may* be delayed for later evaluation. By -convention, '_cmds' variables delimit the evaluation units with the '~' -character where necessary. - - Here is a listing of each of the configuration variables, and how -they are used within 'ltmain.sh' (*note Configuring::): - - -- Variable: AR - The name of the system library archiver. - - -- Variable: CC - The name of the compiler used to configure libtool. This will - always contain the compiler for the current language (*note - Tags::). - - -- Variable: ECHO - An 'echo' program that does not interpret backslashes as an escape - character. It may be given only one argument, so due quoting is - necessary. - - -- Variable: LD - The name of the linker that libtool should use internally for - reloadable linking and possibly shared libraries. - - -- Variable: LTCC - -- Variable: LTCFLAGS - The name of the C compiler and C compiler flags used to configure - libtool. - - -- Variable: NM - The name of a BSD- or MS-compatible program that produces listings - of global symbols. For BSD 'nm', the symbols should be in one the - following formats: - - ADDRESS C GLOBAL-VARIABLE-NAME - ADDRESS D GLOBAL-VARIABLE-NAME - ADDRESS T GLOBAL-FUNCTION-NAME - - For MS 'dumpbin', the symbols should be in one of the following - formats: - - COUNTER SIZE UNDEF notype External | GLOBAL-VAR - COUNTER ADDRESS SECTION notype External | GLOBAL-VAR - COUNTER ADDRESS SECTION notype () External | GLOBAL-FUNC - - The SIZE of the global variables are not zero and the SECTION of - the global functions are not "UNDEF". Symbols in "pick any" - sections ("pick any" appears in the section header) are not global - either. - - -- Variable: RANLIB - Set to the name of the 'ranlib' program, if any. - - -- Variable: allow_undefined_flag - The flag that is used by 'archive_cmds' to declare that there will - be unresolved symbols in the resulting shared library. Empty, if - no such flag is required. Set to 'unsupported' if there is no way - to generate a shared library with references to symbols that aren't - defined in that library. - - -- Variable: always_export_symbols - Whether libtool should automatically generate a list of exported - symbols using 'export_symbols_cmds' before linking an archive. Set - to 'yes' or 'no'. Default is 'no'. - - -- Variable: archive_cmds - -- Variable: archive_expsym_cmds - -- Variable: old_archive_cmds - Commands used to create shared libraries, shared libraries with - '-export-symbols' and static libraries, respectively. - - -- Variable: archiver_list_spec - Specify filename containing input files for 'AR'. - - -- Variable: old_archive_from_new_cmds - If the shared library depends on a static library, - 'old_archive_from_new_cmds' contains the commands used to create - that static library. If this variable is not empty, - 'old_archive_cmds' is not used. - - -- Variable: old_archive_from_expsyms_cmds - If a static library must be created from the export symbol list to - correctly link with a shared library, - 'old_archive_from_expsyms_cmds' contains the commands needed to - create that static library. When these commands are executed, the - variable 'soname' contains the name of the shared library in - question, and the '$objdir/$newlib' contains the path of the static - library these commands should build. After executing these - commands, libtool will proceed to link against '$objdir/$newlib' - instead of 'soname'. - - -- Variable: lock_old_archive_extraction - Set to 'yes' if the extraction of a static library requires locking - the library file. This is required on Darwin. - - -- Variable: build - -- Variable: build_alias - -- Variable: build_os - Set to the specified and canonical names of the system that libtool - was built on. - - -- Variable: build_libtool_libs - Whether libtool should build shared libraries on this system. Set - to 'yes' or 'no'. - - -- Variable: build_old_libs - Whether libtool should build static libraries on this system. Set - to 'yes' or 'no'. - - -- Variable: compiler_c_o - Whether the compiler supports the '-c' and '-o' options - simultaneously. Set to 'yes' or 'no'. - - -- Variable: compiler_needs_object - Whether the compiler has to see an object listed on the command - line in order to successfully invoke the linker. If 'no', then a - set of convenience archives or a set of object file names can be - passed via linker-specific options or linker scripts. - - -- Variable: dlopen_support - Whether 'dlopen' is supported on the platform. Set to 'yes' or - 'no'. - - -- Variable: dlopen_self - Whether it is possible to 'dlopen' the executable itself. Set to - 'yes' or 'no'. - - -- Variable: dlopen_self_static - Whether it is possible to 'dlopen' the executable itself, when it - is linked statically ('-all-static'). Set to 'yes' or 'no'. - - -- Variable: exclude_expsyms - List of symbols that should not be listed in the preloaded symbols. - - -- Variable: export_dynamic_flag_spec - Compiler link flag that allows a dlopened shared library to - reference symbols that are defined in the program. - - -- Variable: export_symbols_cmds - Commands to extract exported symbols from 'libobjs' to the file - 'export_symbols'. - - -- Variable: extract_expsyms_cmds - Commands to extract the exported symbols list from a shared - library. These commands are executed if there is no file - '$objdir/$soname-def', and should write the names of the exported - symbols to that file, for the use of - 'old_archive_from_expsyms_cmds'. - - -- Variable: fast_install - Determines whether libtool will privilege the installer or the - developer. The assumption is that installers will seldom run - programs in the build tree, and the developer will seldom install. - This is only meaningful on platforms where - 'shlibpath_overrides_runpath' is not 'yes', so 'fast_install' will - be set to 'needless' in this case. If 'fast_install' set to 'yes', - libtool will create programs that search for installed libraries, - and, if a program is run in the build tree, a new copy will be - linked on-demand to use the yet-to-be-installed libraries. If set - to 'no', libtool will create programs that use the - yet-to-be-installed libraries, and will link a new copy of the - program at install time. The default value is 'yes' or 'needless', - depending on platform and configuration flags, and it can be turned - from 'yes' to 'no' with the configure flag - '--disable-fast-install'. - - On some systems, the linker always hardcodes paths to dependent - libraries into the output. In this case, 'fast_install' is never - set to 'yes', and relinking at install time is triggered. This - also means that 'DESTDIR' installation does not work as expected. - - -- Variable: file_magic_glob - How to find potential files when 'deplibs_check_method' is - 'file_magic'. 'file_magic_glob' is a 'sed' expression, and the - 'sed' instance is fed potential file names that are transformed by - the 'file_magic_glob' expression. Useful when the shell does not - support the shell option 'nocaseglob', making 'want_nocaseglob' - inappropriate. Normally disabled (i.e. 'file_magic_glob' is - empty). - - -- Variable: finish_cmds - Commands to tell the dynamic linker how to find shared libraries in - a specific directory. - - -- Variable: finish_eval - Same as 'finish_cmds', except the commands are not displayed. - - -- Variable: global_symbol_pipe - A pipeline that takes the output of 'NM', and produces a listing of - raw symbols followed by their C names. For example: - - $ eval "$NM progname | $global_symbol_pipe" - D SYMBOL1 C-SYMBOL1 - T SYMBOL2 C-SYMBOL2 - C SYMBOL3 C-SYMBOL3 - ... - $ - - The first column contains the symbol type (used to tell data from - code) but its meaning is system dependent. - - -- Variable: global_symbol_to_cdecl - A pipeline that translates the output of 'global_symbol_pipe' into - proper C declarations. Since some platforms, such as HP/UX, have - linkers that differentiate code from data, data symbols are - declared as data, and code symbols are declared as functions. - - -- Variable: hardcode_action - Either 'immediate' or 'relink', depending on whether shared library - paths can be hardcoded into executables before they are installed, - or if they need to be relinked. - - -- Variable: hardcode_direct - Set to 'yes' or 'no', depending on whether the linker hardcodes - directories if a library is directly specified on the command line - (such as 'DIR/libNAME.a') when 'hardcode_libdir_flag_spec' is - specified. - - -- Variable: hardcode_direct_absolute - Some architectures hardcode "absolute" library directories that - cannot be overridden by 'shlibpath_var' when 'hardcode_direct' is - 'yes'. In that case set 'hardcode_direct_absolute' to 'yes', or - otherwise 'no'. - - -- Variable: hardcode_into_libs - Whether the platform supports hardcoding of run-paths into - libraries. If enabled, linking of programs will be much simpler - but libraries will need to be relinked during installation. Set to - 'yes' or 'no'. - - -- Variable: hardcode_libdir_flag_spec - Flag to hardcode a 'libdir' variable into a binary, so that the - dynamic linker searches 'libdir' for shared libraries at runtime. - If it is empty, libtool will try to use some other hardcoding - mechanism. - - -- Variable: hardcode_libdir_separator - If the compiler only accepts a single 'hardcode_libdir_flag', then - this variable contains the string that should separate multiple - arguments to that flag. - - -- Variable: hardcode_minus_L - Set to 'yes' or 'no', depending on whether the linker hardcodes - directories specified by '-L' flags into the resulting executable - when 'hardcode_libdir_flag_spec' is specified. - - -- Variable: hardcode_shlibpath_var - Set to 'yes' or 'no', depending on whether the linker hardcodes - directories by writing the contents of '$shlibpath_var' into the - resulting executable when 'hardcode_libdir_flag_spec' is specified. - Set to 'unsupported' if directories specified by '$shlibpath_var' - are searched at run time, but not at link time. - - -- Variable: host - -- Variable: host_alias - -- Variable: host_os - Set to the specified and canonical names of the system that libtool - was configured for. - - -- Variable: include_expsyms - List of symbols that must always be exported when using - 'export_symbols'. - - -- Variable: inherit_rpath - Whether the linker adds runtime paths of dependency libraries to - the runtime path list, requiring libtool to relink the output when - installing. Set to 'yes' or 'no'. Default is 'no'. - - -- Variable: install_override_mode - Permission mode override for installation of shared libraries. If - the runtime linker fails to load libraries with wrong permissions, - then it may fail to execute programs that are needed during - installation, because these need the library that has just been - installed. In this case, it is necessary to pass the mode to - 'install' with '-m INSTALL_OVERRIDE_MODE'. - - -- Variable: libext - The standard old archive suffix (normally 'a'). - - -- Variable: libname_spec - The format of a library name prefix. On all Unix systems, static - libraries are called 'libNAME.a', but on some systems (such as OS/2 - or MS-DOS), the library is just called 'NAME.a'. - - -- Variable: library_names_spec - A list of shared library names. The first is the name of the file, - the rest are symbolic links to the file. The name in the list is - the file name that the linker finds when given '-lNAME'. - - -- Variable: link_all_deplibs - Whether libtool must link a program against all its dependency - libraries. Set to 'yes' or 'no'. Default is 'unknown', which is a - synonym for 'yes'. - - -- Variable: link_static_flag - Linker flag (passed through the C compiler) used to prevent dynamic - linking. - - -- Variable: macro_version - -- Variable: macro_revision - The release and revision from which the libtool.m4 macros were - taken. This is used to ensure that macros and 'ltmain.sh' - correspond to the same Libtool version. - - -- Variable: max_cmd_len - The approximate longest command line that can be passed to '$SHELL' - without being truncated, as computed by 'LT_CMD_MAX_LEN'. - - -- Variable: need_lib_prefix - Whether we can 'dlopen' modules without a 'lib' prefix. Set to - 'yes' or 'no'. By default, it is 'unknown', which means the same - as 'yes', but documents that we are not really sure about it. 'no' - means that it is possible to 'dlopen' a module without the 'lib' - prefix. - - -- Variable: need_version - Whether versioning is required for libraries, i.e. whether the - dynamic linker requires a version suffix for all libraries. Set to - 'yes' or 'no'. By default, it is 'unknown', which means the same - as 'yes', but documents that we are not really sure about it. - - -- Variable: need_locks - Whether files must be locked to prevent conflicts when compiling - simultaneously. Set to 'yes' or 'no'. - - -- Variable: nm_file_list_spec - Specify filename containing input files for 'NM'. - - -- Variable: no_builtin_flag - Compiler flag to disable builtin functions that conflict with - declaring external global symbols as 'char'. - - -- Variable: no_undefined_flag - The flag that is used by 'archive_cmds' to declare that there will - be no unresolved symbols in the resulting shared library. Empty, - if no such flag is required. - - -- Variable: objdir - The name of the directory that contains temporary libtool files. - - -- Variable: objext - The standard object file suffix (normally 'o'). - - -- Variable: pic_flag - Any additional compiler flags for building library object files. - - -- Variable: postinstall_cmds - -- Variable: old_postinstall_cmds - Commands run after installing a shared or static library, - respectively. - - -- Variable: postuninstall_cmds - -- Variable: old_postuninstall_cmds - Commands run after uninstalling a shared or static library, - respectively. - - -- Variable: postlink_cmds - Commands necessary for finishing linking programs. 'postlink_cmds' - are executed immediately after the program is linked. Any - occurrence of the string '@OUTPUT@' in 'postlink_cmds' is replaced - by the name of the created executable (i.e. not the wrapper, if a - wrapper is generated) prior to execution. Similarly, - '@TOOL_OUTPUT@' is replaced by the toolchain format of '@OUTPUT@'. - Normally disabled (i.e. 'postlink_cmds' empty). - - -- Variable: reload_cmds - -- Variable: reload_flag - Commands to create a reloadable object. Set 'reload_cmds' to - 'false' on systems that cannot create reloadable objects. - - -- Variable: runpath_var - The environment variable that tells the linker what directories to - hardcode in the resulting executable. - - -- Variable: shlibpath_overrides_runpath - Indicates whether it is possible to override the hard-coded library - search path of a program with an environment variable. If this is - set to no, libtool may have to create two copies of a program in - the build tree, one to be installed and one to be run in the build - tree only. When each of these copies is created depends on the - value of 'fast_install'. The default value is 'unknown', which is - equivalent to 'no'. - - -- Variable: shlibpath_var - The environment variable that tells the dynamic linker where to - find shared libraries. - - -- Variable: soname_spec - The name coded into shared libraries, if different from the real - name of the file. - - -- Variable: striplib - -- Variable: old_striplib - Command to strip a shared ('striplib') or static ('old_striplib') - library, respectively. If these variables are empty, the strip - flag in the install mode will be ignored for libraries (*note - Install mode::). - - -- Variable: sys_lib_dlsearch_path_spec - Expression to get the run-time system library search path. - Directories that appear in this list are never hard-coded into - executables. - - -- Variable: sys_lib_search_path_spec - Expression to get the compile-time system library search path. - This variable is used by libtool when it has to test whether a - certain library is shared or static. The directories listed in - 'shlibpath_var' are automatically appended to this list, every time - libtool runs (i.e., not at configuration time), because some - linkers use this variable to extend the library search path. - Linker switches such as '-L' also augment the search path. - - -- Variable: thread_safe_flag_spec - Linker flag (passed through the C compiler) used to generate - thread-safe libraries. - - -- Variable: to_host_file_cmd - If the toolchain is not native to the build platform (e.g. if you - are using MSYS to drive the scripting, but are using the MinGW - native Windows compiler) this variable describes how to convert - file names from the format used by the build platform to the format - used by host platform. Normally set to 'func_convert_file_noop', - libtool will autodetect most cases where other values should be - used. On rare occasions, it may be necessary to override the - autodetected value (*note Cygwin to MinGW Cross::). - - -- Variable: to_tool_file_cmd - If the toolchain is not native to the build platform (e.g. if you - are using some Unix to drive the scripting together with a Windows - toolchain running in Wine) this variable describes how to convert - file names from the format used by the build platform to the format - used by the toolchain. Normally set to 'func_convert_file_noop'. - - -- Variable: version_type - The library version numbering type. One of 'libtool', - 'freebsd-aout', 'freebsd-elf', 'irix', 'linux', 'osf', 'sunos', - 'windows', or 'none'. - - -- Variable: want_nocaseglob - Find potential files using the shell option 'nocaseglob', when - 'deplibs_check_method' is 'file_magic'. Normally set to 'no'. Set - to 'yes' to enable the 'nocaseglob' shell option when looking for - potential file names in a case-insensitive manner. - - -- Variable: whole_archive_flag_spec - Compiler flag to generate shared objects from convenience archives. - - -- Variable: wl - The C compiler flag that allows libtool to pass a flag directly to - the linker. Used as: '${wl}SOME-FLAG'. - - Variables ending in '_cmds' or '_eval' contain a '~'-separated list -of commands that are 'eval'ed one after another. If any of the commands -return a nonzero exit status, libtool generally exits with an error -message. - - Variables ending in '_spec' are 'eval'ed before being used by -libtool. - - -File: libtool.info, Node: Cheap tricks, Prev: libtool script contents, Up: Maintaining - -15.5 Cheap tricks -================= - -Here are a few tricks that you can use to make maintainership easier: - - * When people report bugs, ask them to use the '--config', '--debug', - or '--features' flags, if you think they will help you. These - flags are there to help you get information directly, rather than - having to trust second-hand observation. - - * Rather than reconfiguring libtool every time I make a change to - 'ltmain.in', I keep a permanent 'libtool' script in my 'PATH', - which sources 'ltmain.in' directly. - - The following steps describe how to create such a script, where - '/home/src/libtool' is the directory containing the libtool source - tree, '/home/src/libtool/libtool' is a libtool script that has been - configured for your platform, and '~/bin' is a directory in your - 'PATH': - - trick$ cd ~/bin - trick$ sed 's%^\(macro_version=\).*$%\1@VERSION@%; - s%^\(macro_revision=\).*$%\1@package_revision@%; - /^# ltmain\.sh/q' /home/src/libtool/libtool > libtool - trick$ echo '. /home/src/libtool/ltmain.in' >> libtool - trick$ chmod +x libtool - trick$ libtool --version - ltmain.sh (GNU @PACKAGE@@TIMESTAMP@) @VERSION@ - - Copyright (C) 2014 Free Software Foundation, Inc. - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - trick$ - - The output of the final 'libtool --version' command shows that the -'ltmain.in' script is being used directly. Now, modify '~/bin/libtool' -or '/home/src/libtool/ltmain.in' directly in order to test new changes -without having to rerun 'configure'. - - -File: libtool.info, Node: GNU Free Documentation License, Next: Combined Index, Prev: Maintaining, Up: Top - -Appendix A GNU Free Documentation License -***************************************** - - Version 1.3, 3 November 2008 - - Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. - - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document "free" in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. We - recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it can - be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You accept - the license if you copy, modify or distribute the work in a way - requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in the - notice that says that the Document is released under this License. - If a section does not fit the above definition of Secondary then it - is not allowed to be designated as Invariant. The Document may - contain zero Invariant Sections. If the Document does not identify - any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images composed - of pixels) generic paint programs or (for drawings) some widely - available drawing editor, and that is suitable for input to text - formatters or for automatic translation to a variety of formats - suitable for input to text formatters. A copy made in an otherwise - Transparent file format whose markup, or absence of markup, has - been arranged to thwart or discourage subsequent modification by - readers is not Transparent. An image format is not Transparent if - used for any substantial amount of text. A copy that is not - "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and standard-conforming - simple HTML, PostScript or PDF designed for human modification. - Examples of transparent image formats include PNG, XCF and JPG. - Opaque formats include proprietary formats that can be read and - edited only by proprietary word processors, SGML or XML for which - the DTD and/or processing tools are not generally available, and - the machine-generated HTML, PostScript or PDF produced by some word - processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - The "publisher" means any person or entity that distributes copies - of the Document to the public. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow the - conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the title - equally prominent and visible. You may add other material on the - covers in addition. Copying with changes limited to the covers, as - long as they preserve the title of the Document and satisfy these - conditions, can be treated as verbatim copying in other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a machine-readable - Transparent copy along with each Opaque copy, or state in or with - each Opaque copy a computer-network location from which the general - network-using public has access to download using public-standard - network protocols a complete Transparent copy of the Document, free - of added material. If you use the latter option, you must take - reasonably prudent steps, when you begin distribution of Opaque - copies in quantity, to ensure that this Transparent copy will - remain thus accessible at the stated location until at least one - year after the last time you distribute an Opaque copy (directly or - through your agents or retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of copies, - to give them a chance to provide you with an updated version of the - Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with the - Modified Version filling the role of the Document, thus licensing - distribution and modification of the Modified Version to whoever - possesses a copy of it. In addition, you must do these things in - the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of previous - versions (which should, if there were any, be listed in the - History section of the Document). You may use the same title - as a previous version if the original publisher of that - version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on the - Title Page. If there is no section Entitled "History" in the - Document, create one stating the title, year, authors, and - publisher of the Document as given on its Title Page, then add - an item describing the Modified Version as stated in the - previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in the - "History" section. You may omit a network location for a work - that was published at least four years before the Document - itself, or if the original publisher of the version it refers - to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the section - all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, unaltered - in their text and in their titles. Section numbers or the - equivalent are not considered part of the section titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option designate - some or all of these sections as invariant. To do this, add their - titles to the list of Invariant Sections in the Modified Version's - license notice. These titles must be distinct from any other - section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end of - the list of Cover Texts in the Modified Version. Only one passage - of Front-Cover Text and one of Back-Cover Text may be added by (or - through arrangements made by) any one entity. If the Document - already includes a cover text for the same cover, previously added - by you or by arrangement made by the same entity you are acting on - behalf of, you may not add another; but you may replace the old - one, on explicit permission from the previous publisher that added - the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination all - of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the documents - in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow this - License in all other respects regarding verbatim copying of that - document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of a - storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included in an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warranty Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense, or distribute it is void, - and will automatically terminate your rights under this License. - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly and - finally terminates your license, and (b) permanently, if the - copyright holder fails to notify you of the violation by some - reasonable means prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from - that copyright holder, and you cure the violation prior to 30 days - after your receipt of the notice. - - Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from you - under this License. If your rights have been terminated and not - permanently reinstated, receipt of a copy of some or all of the - same material does not give you any rights to use it. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - . - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If the - Document does not specify a version number of this License, you may - choose any version ever published (not as a draft) by the Free - Software Foundation. If the Document specifies that a proxy can - decide which future versions of this License can be used, that - proxy's public statement of acceptance of a version permanently - authorizes you to choose that version for the Document. - - 11. RELICENSING - - "Massive Multiauthor Collaboration Site" (or "MMC Site") means any - World Wide Web server that publishes copyrightable works and also - provides prominent facilities for anybody to edit those works. A - public wiki that anybody can edit is an example of such a server. - A "Massive Multiauthor Collaboration" (or "MMC") contained in the - site means any set of copyrightable works thus published on the MMC - site. - - "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 - license published by Creative Commons Corporation, a not-for-profit - corporation with a principal place of business in San Francisco, - California, as well as future copyleft versions of that license - published by that same organization. - - "Incorporate" means to publish or republish a Document, in whole or - in part, as part of another Document. - - An MMC is "eligible for relicensing" if it is licensed under this - License, and if all works that were first published under this - License somewhere other than this MMC, and subsequently - incorporated in whole or in part into the MMC, (1) had no cover - texts or invariant sections, and (2) were thus incorporated prior - to November 1, 2008. - - The operator of an MMC Site may republish an MMC contained in the - site under CC-BY-SA on the same site at any time before August 1, - 2009, provided the MMC is eligible for relicensing. - -ADDENDUM: How to use this License for your documents -==================================================== - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - - If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of free -software license, such as the GNU General Public License, to permit -their use in free software. - diff --git a/BUILD/libtool-2.4.7/doc/libtool.info-2 b/BUILD/libtool-2.4.7/doc/libtool.info-2 deleted file mode 100644 index d77cb66e49964850335b7dcd9f2068a535accfcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51742 zcmc&-ZFAc=lHQM7{u77VFFP-`Hsc@tk8fh> ze+lrf;w4D4Fp0(K@tIhp$?`ybCJ(-b#|H;fgj)LX+K&)%k)-0&^@Er&viL!LzJGjj ze0C^$XX46FXV0SluHXL=J}-nACabqJe0t8s55pft@8ieQqyD?z$3uLk2QT}5ahV2z zxK9@OtDgqqGFiuSKL=WeVjRyHW$n;ok6;L}N* z9}N@Gu9ya2b9f7+D&GFppMBwX59r-vA&u&?i}Bsj{b)EH-&~h1H4k2bC|Qwe@2BT?)1%_q(e?E1_k*8Q zPx(dsAbZx2z_$4JDTsqKoQdoi8h(x)Hucjtk*!y&B+W%OOT$%ud@#DcXd-X28preS zC7feVUFTsG=3$T>7+6UzM`8Su%&4&|1fgY;FJb&tj305gj$`}-w(OtfXa8KV`$;_* z{$F5$fp?|o=ks|5UP-GL^WP3G!w6vIx5}|Bu9G?ZahNP0!x$6?vIk!eg}6$NrB<<~8uY6yIk= zorE#9DGk3lbXw?nbL6_-A)yl_bR79C<}XGv_=X|`>VrNHeHA;0l&mj-!p97H$KyOq zL3c^|rbV;?ot-hGqzfaLZPovPMEqFW#0*)2g9Rsu`RP5a@j94R5Y5 z$Dh3OhrfAXoAi*)kxWC7b=-STswsi4&WCq52z9T)vH=ZFC8LY+{rRtxk#~81j{<<{ znM|5k7SZ}W>d(MP0p0(0emA;kLa?H&KutzKWjY>i4>VB99$k}UHbTP2h&wchrhqJj ztUxC{sqD%4*U9u^g5BV+qwDeLdN|sU??O2R(%MG(Jlc)z>3{s#;33-^)wEY0WGO(g zppWUz&BVKy+}w_?Hz-i2v9-{V%_l`m&&LWR`l_iv zkEg$R*w`i%VC1f;1$Q|=ijr3k{l^8)xZWc2pEP{bWXPTi%!%Np#`&&hyfbPfKYI1w zGB5awK9ZNcEgzF8+vMVw$_H+ptM4~fY=@DM zS%FU2pkICeP#_?GwF1YUyw#%!J#R68i~S|I&)^TCbHjb$qUqe=*q4rlpqZf+Nc>0d zKYtMqS=DYL3jC`BrJLQ3AFKV}=Akg7bHfB)gAs+R>1K3E9|e}LAuPN+SkS@fS_Lz$ zjBZC4ySBKJ1}ffcIoFKuLN{)yeBdr4sesV|gJWdmmBRWqGh9>jD9gx-bN!26pf@ zn5}dF5tmX5s7Dh7e!(HGVIbBZk~ql3%wK1)@`4}~e+k+yLf3)qMmas|!jJ1Pnrnop z>&C5(=~bwBeiZsTtrmowj;3CZMiXfTY#l`k@u!}VTPhGMghd@wNus%#2CBv}m9npR ziCz~)`#7f3BTsrLo&z7FmJ~XHFfNR49BGZ7Tz^b1ooi!y`18;3=`de_D{B!99z(gx zm;{Qu3A9G%puwS348FR7Xjuwz()elZKXG`Y33Ld7&|I`ZbpSG~ZR>=rzS?_o`i4Vx zeHtHZ{_3;~iUC>9**sV#M>szn=Rua6R6T|F#5`b+2&2f=Fj55wP4rHHaO+?vKs;F< znTd53O#+#TZ3ko#t}_tN^g9rZfp#Do0qsCES^--c4fZR#bw~y>OST=5MY0Y+!^_F} zr+d>7D@MP?rR=|_fY9tYfUOzw6@A#$d1+c{31!jIU_f&r1H}n!JAmJ5#OeSP1%6C1 zd8>HC;;~B9wPy7pybt?;a~Wwb}JesAy&eIO}Q>cv4Y&ph5W+2rJy3Pno9vsY#Yx4HxlOWs3C>ZlELyqnH+V6ElWF*L{IrIBs|`8IE>n#q z7ErRo^kgd$5G-pfF!iA11`sVlnbA6xffn4Y*C7sxI6YS2)O|7ldI{n%h+(P98roQX zqJX>vEuSE?+E^Ig-gYsDHdA=Y-6u^lSncuP(+R~2A66a%EwFfXMsH8AxOtt3t1$lb z8MYJwcoT4_du%t+era#!0j^kOQ?Y-%Nki$_ zJS0y6teYLME1DvThjU_OKGXfq`n z&_^2U#3+oj+zf)OY(N!87Jo;|))6R97Jin0t0PunB!MgvZpX+X;dVf4v(C2yvb9@h zAXLv0hN=u`7N8zS8>t_~$qFKXw*GAa617%CAd9ZMc1U7m5Q=+bM@DUebsi#Zf^7q2 z6|6H*8dzGMlw{McA)IGus~Nv7AjlJYbzQh=oDMp-_rcOKE<@b5g{O(ods6ifhBJ+TA`0Are7( z{du@j=>|n;j$?eVgN2M%&ta5g$?933>MX7j2&z*CRE1ST;dCUSElT4)7h@hlvU6tG z08ko+7-4I+mIP|sm~7A1nnQ>?O5xjFM)Gy0VE;d4jP$VIEW^b-6}-)U`%DAYjwh}5KvNen2+ljvmj2HR9l&`I_TI2 zRO-HijwO(^H;@wJFEx|$B^<;;Yl276<`F&vgS%NXma)cj;jJ;;XPNQL%c}{LAt_I;~6jtHTj9M&I(0pvCJm?Fq!S#ilKE*>E zi8Ax&GdRh~E0`w!(_iH8LifRaFuMfnw@ynhO~*sXhxWmT5~wOIcMWU0mq6xK>B#Ma z)I%J8#q6%4@$e7(Yq|yWT5st;h5B=T%G&NNLd&N=EAR+>!l;h+CHR!>o4On!7b zZS&d4ih|J7@bGtyn)a@s7|H;(EzQ6l6^|85v-;W$4w(axY4K5X0;igWDovP@EU5%9 z_QD;Gsn9YJ%1(-#_p*CV5S(dmbWDagl;my)zm!qN<+6-ej_8#V5 zigv*yk!$0?hiTdatR%pg67UR(aLu%^ zy)ExKOHCECFznH*NwVEYC?GgS4QITMOyw)uD_=|uxoGi_^a1TAC?>PW*UpQuy< zs3AyFE^7gBbv~&YkCLR!g8&|Lm&7=DM{5J9xO%TsLfJs{%4T}c$n;9GZCK5M7~~=~ zo13JDe7$O^jwWz-AeBDVM35pD*2&yp1#P&9mu)Bfr;7E95p zKx;@lr@6BZWdq`pw~7(f$gg2EM~)6_H!H^XvPYB9Fk4Z2wtlE`v!moLi~84ejD+CY z15EALa#DKPBOwUL=Am(G4hb0sMxP5nVxvQ}E%M}1C9PbJ;}rugt3y>hYo1Isi4p0L*T-LFCNykRKCd407VB9u>QNvQ457S`h1$(@Ba6%4OB zi-UGep{e5@GG z#R80dF?a&6=^5R6L%8C>2sU9OU7kp;tmN3#fokTFKZoMV)?=|(bV-zm5-h{aci`=G z0_c6<5TRs~1?Vck#=l-Ni&%ZWszi$Q653B6TY$s~2PT*i0)cl3A+e+xe<#~y0g~rE zD~w>T&lr)l0dYP;6^OHYv`Vr8ozbjc1;WUs76um>G|}t&P>=5$sRCIpx3U4ri0HU4Q^%z*YPXYYm=e~y0Lk4BO<+V7t)PM`s z1U|Z(sk8T<7t0kc*}senmlvWYZ$I2`Q?Oibqfjlz2S%6;Xh5qKVuTe^HO<5BL)$>*^p6-NH#`n?1>R{8oXrGLdtF55fwE97dEWMZF!qe@5z57p`O7%)TSC2 zinajBgkTx5_2^R z^cURX@)mHJu&%WnYv)5bPZh(+3$=5&^OmZ(CMB0Nc!C?Pf(^IQv0lz9ddV#Q2=yCV zW6O9Nc0YE-b&aeBscWBIrYca^V>TWvButE4v+2pr(NZ@iXASk^oXuG|TT0znd=uAf zL}g$~HjrdsYAV-kdKKFz+2B^Tq2oAbb4KL>s=YWiug{#bsjTs&Zc?}d$8d>;b2gR5 zG{)iVrpsoy_*6G3*|>3}?3T^77H2BN#k*qu+_uEGFzWS7n~aRiO^&o|Kzz=IM6;|} zrEs=T?P+N;B#?(I&quiF-orCVwEi8O|meJG>I;%8WtGtU#&{ zEh&&?M{+$_#XtpynT=-+Iyq-^+F)ZghoENXY~B+aX!4tf>FvYR-cpuMIN(?}Jb_yi zZMzCKv%#@A3FNh8X4^Vpjgfb4@6R?MzSIy5nViAk-g2;JcwPA4|FNMkt7(;6<+vGp zH~R05&vqU0LS-U&_Yb$XH+NIm)t#Q3Y>4gV-4f{cdwJ=-cQLvJL!#MRwdsgG4`{Xf z66k(3xzx&N1tMR%0J7OQHP%o^63DobX9Fq>J_7M}{KtCg=8Qbi!FcotFBT2|D72c$~f)%A@ zgGH%EJtk7vRa0sHwNw!G#IbMpQswt`01EY~jgpf3J`2$K_4smhKlSW2qQNYoA6nVu zhi_of2Jff`Fa58WGvP&sWXruY7jGdgyVPN{C;f8Zhk@qlTe^-d$;h@eWIi;&KyAh5 zY~{veD2jnF+t2){NyUkK{fx$aX298-aV7fmS&7WBd`l@kgF5S7*y zhw4mjF5MV#QT~=VlG2UEFYoi5aeZYNOA3O2I#sXWb7Jw5Q>!u9Z$1s|SiL6{9E%gQ zffo0GwPKk7WxYix2w|CJ3LWpQ^aZD8#fkU04kIvqwxe0DHO<32@z!uv7|f$!aTbwp zr~>J<{|z`T70$yO6Sa$$a(!ZrlM~^D%f-Xht;y~xHn!o-dxMoT{xA*m-7hfVHGy58 z_2)eQIuU42EK<;cmv08R|Tj9h(wH_69>^J*9vZH#qzTZcBCl0hJI`nzf($AgFy zbgM@aA;@ByDV+`?!BN~Ql|`B?RXMOm^;@S@xRmGGp) ztYJa@#VM5mZ;mJ`g?q0jrMxX$tl;f=+sr`jD*rf3EqcgUH`jnme0_ z&csq&MVgltRop!+x|OWG(2%cLEP*1YwY5{y0IJk+sA4sNHtRqnaLZIG>P0(XE`YiA zHG{J-3hWlT=MrwN43?EBZjF&VoDP!Fd4Bc5qMhUm%lcBDQeXL5hNsj`2oh+2P7!(c zc$UC^Cj#-hbbT?xE%Io)69HyQs&T!)()ydUninFJ>bY)Q>)_&6giSup3lWIVeiz`I zq##IAzYqag;UD+ca-A+>w}u7#d|IH>MeN;ya5DU6AFRr#Elz2RcuLW3$3yW0%+OT! z>eKK)x6|_}Ik>AZUx1a)w*f#NWr?bg#3%uiS}r>I7&_jKE9)f!v6PHPX%T{?x8;&?Uv z;x97zD?^o1)jO)u!);yi(EEc-$#J)%onrKp(Z#Uw05)!^oE21B{AARNV=C;OqzQEV zrAPxD1p0mtRPN|)>?e=wqPTH=FftH$fRB+6<=3A?mMnwEWd0_CC<`zwj)P#D(si-f za{>`_RgJ>{1aI?)(~( z$J&9+c^G{zOu#^`F<+-$TAqF2bMY<1-1X?S>Ew0J8+i+$~DK1vE&e;d7cA`C~2Cn8Psva6kbBe$6 z9fr`H%J~FYYco}Ovxh3po_Vq_RwZ)W@2Dn2NkwvK!a`}LYhbQx@Dkun) zFWNWf6;R8h(!Mz_{fJ^H7?`zt6j_2h;g&r_7SCyepYUD z9Ijm|JV2=}RNS^UyJjk8bv`$RcNr`8- zw~X>p=CDM;idr5y5;(YOf;w(vmPt~v5^?Odo^bW*+<$7hy@Fc0{R#^J>XH;~YbWk_ z3JCoaOS5+eYKiT22Wm+{-Wte6Y+E3smbL(5FV&>;t$}tRnmxU?J0r>sF=w=H3uKba zx|FZ?Y+__=v@SqUd{1O+D2Y@vUCJh_pA&h8CNCa`sl4Xa;ybvJ2lrA37BBAea}W!9 zmL6p%c>@S8P+hL{*X}Atd)trelgZDYAr}NTi2VhW0fNLJgFENe)84Rs$>PMAsxrJ~AsiK&HbCs5gw1c!F^-bBYycUTJszI7R_h!CM zXd`bOLy;K>j6(#&rl<~j$}m!;jmlJ&=HB?o%x7Q&lMY?pUH$$--D=`0A8$@v@*NKo zZL|=K<<^REU65Bl&b>I9`B{J^XiaP!Q=xUm>vIwX#mxf78P6>ht{nOqHoz0e4uUEk z=D@KK)yLSafQGBt!PmANpMA76=e=ommna%jm?0Rbasvru)@?TJGVH6^$So>jQhs}7 KEZMiJ4*nmw*!j!= diff --git a/BUILD/libtool-2.4.7/doc/libtool.texi b/BUILD/libtool-2.4.7/doc/libtool.texi deleted file mode 100644 index 9158927..0000000 --- a/BUILD/libtool-2.4.7/doc/libtool.texi +++ /dev/null @@ -1,7282 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@c %**start of header -@setfilename libtool.info -@settitle Libtool -@c For double-sided printing, uncomment: -@c @setchapternewpage odd -@c Put everything in one index (arbitrarily chosen to be the concept index). - -@syncodeindex vr cp -@syncodeindex fn cp -@syncodeindex tp cp -@synindex pg cp -@c %**end of header - -@include version.texi -@set BUGADDR the Libtool bug reporting address @email{bug-libtool@@gnu.org} -@set MAILLIST the Libtool mailing list @email{libtool@@gnu.org} -@set objdir .libs - -@copying -This manual is for GNU Libtool (version @value{VERSION}, @value{UPDATED}). - -Copyright @copyright{} 1996-2019, 2021-2022 Free Software Foundation, -Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, with no Front-Cover Texts, -and with no Back-Cover Texts. A copy of the license is included in -the section entitled ``GNU Free Documentation License''. -@end copying - -@dircategory Software development -@direntry -* Libtool: (libtool). Generic shared library support script. -@end direntry - -@dircategory Individual utilities -@direntry -* libtool-invocation: (libtool)Invoking libtool. Running the @code{libtool} script. -* libtoolize: (libtool)Invoking libtoolize. Adding libtool support. -@end direntry - -@titlepage -@title GNU Libtool -@subtitle For version @value{VERSION}, @value{UPDATED} -@author Gordon Matzigkeit -@author Alexandre Oliva -@author Thomas Tanner -@author Gary V. Vaughan - -@page -@vskip 0pt plus 1filll -@insertcopying -@end titlepage - -@contents - -@ifnottex -@node Top, Introduction, (dir), (dir) -@comment node-name, next, previous, up -@top Shared library support for GNU - -This file documents GNU Libtool, a script that allows package developers -to provide generic shared library support. This edition documents -version @value{VERSION}. - -@xref{Reporting bugs}, for information on how to report problems with -GNU Libtool. - -@menu -* Introduction:: What the heck is libtool? -* Libtool paradigm:: How libtool's view of libraries is different. -* Using libtool:: Example of using libtool to build libraries. -* Invoking libtool:: Running the @code{libtool} script. -* Integrating libtool:: Using libtool in your own packages. -* Other languages:: Using libtool without a C compiler. -* Versioning:: Using library interface versions. -* Library tips:: Tips for library interface design. -* Inter-library dependencies:: Libraries that depend on other libraries. -* Dlopened modules:: @code{dlopen}ing libtool-created libraries. -* Using libltdl:: Libtool's portable @code{dlopen} wrapper library. -* Trace interface:: Libtool's trace interface. -* FAQ:: Frequently Asked Questions -* Troubleshooting:: When libtool doesn't work as advertised. -* Maintaining:: Information used by the libtool maintainer. -* GNU Free Documentation License:: License for this manual. -* Combined Index:: Full index. - -@detailmenu - --- The Detailed Node Listing --- - -Introduction - -* Motivation:: Why does GNU need a libtool? -* Issues:: The problems that need to be addressed. -* Other implementations:: How other people have solved these issues. -* Postmortem:: Learning from past difficulties. - -Using libtool - -* Creating object files:: Compiling object files for libraries. -* Linking libraries:: Creating libraries from object files. -* Linking executables:: Linking object files against libtool libraries. -* Debugging executables:: Running GDB on libtool-generated programs. -* Installing libraries:: Making libraries available to users. -* Installing executables:: Making programs available to users. -* Static libraries:: When shared libraries are not wanted. - -Linking executables - -* Wrapper executables:: Wrapper executables for some platforms. - -Invoking @command{libtool} - -* Compile mode:: Creating library object files. -* Link mode:: Generating executables and libraries. -* Execute mode:: Debugging libtool-generated programs. -* Install mode:: Making libraries and executables public. -* Finish mode:: Completing a library installation. -* Uninstall mode:: Removing installed executables and libraries. -* Clean mode:: Removing uninstalled executables and libraries. - -Integrating libtool with your package - -* Autoconf macros:: Autoconf macros exported by libtool. -* Makefile rules:: Writing @file{Makefile} rules for libtool. -* Using Automake:: Automatically supporting libtool. -* Configuring:: Configuring libtool for a host system. -* Distributing:: What files to distribute with your package. -* Static-only libraries:: Sometimes shared libraries are just a pain. - -Configuring libtool - -* LT_INIT:: Configuring @code{libtool} in @file{configure.ac}. -* Configure notes:: Platform-specific notes for configuration. - -Including libtool in your package - -* Invoking libtoolize:: @code{libtoolize} command line options. -* Autoconf and LTLIBOBJS:: Autoconf automates LTLIBOBJS generation. - -Using libtool with other languages - -* C++ libraries:: Writing libraries for C++ -* Tags:: Tags - -Library interface versions - -* Interfaces:: What are library interfaces? -* Libtool versioning:: Libtool's versioning system. -* Updating version info:: Changing version information before releases. -* Release numbers:: Breaking binary compatibility for aesthetics. - -Tips for interface design - -* C header files:: How to write portable include files. - -Dlopened modules - -* Building modules:: Creating dlopenable objects and libraries. -* Dlpreopening:: Dlopening that works on static platforms. -* Linking with dlopened modules:: Using dlopenable modules in libraries. -* Finding the dlname:: Choosing the right file to @code{dlopen}. -* Dlopen issues:: Unresolved problems that need your attention. - -Using libltdl - -* Libltdl interface:: How to use libltdl in your programs. -* Modules for libltdl:: Creating modules that can be @code{dlopen}ed. -* Thread Safety in libltdl:: Registering callbacks for multi-thread safety. -* User defined module data:: Associating data with loaded modules. -* Module loaders for libltdl:: Creating user defined module loaders. -* Distributing libltdl:: How to distribute libltdl with your package. - -Frequently Asked Questions about libtool - -* Stripped link flags:: Dropped flags when creating a library - -Troubleshooting - -* Libtool test suite:: Libtool's self-tests. -* Reporting bugs:: How to report problems with libtool. - -The libtool test suite - -* Test descriptions:: The contents of the old test suite. -* When tests fail:: What to do when a test fails. - -Maintenance notes for libtool - -* New ports:: How to port libtool to new systems. -* Tested platforms:: When libtool was last tested. -* Platform quirks:: Information about different library systems. -* libtool script contents:: Configuration information that libtool uses. -* Cheap tricks:: Making libtool maintainership easier. - -Porting libtool to new systems - -* Information sources:: Where to find relevant documentation -* Porting inter-library dependencies:: Implementation details explained - -Platform quirks - -* References:: Finding more information. -* Compilers:: Creating object files from source files. -* Reloadable objects:: Binding object files together. -* Multiple dependencies:: Removing duplicate dependent libraries. -* Archivers:: Programs that create static archives. -* Cross compiling:: Issues that arise when cross compiling. -* File name conversion:: Converting file names between platforms. -* Windows DLLs:: Windows header defines. - -File name conversion - -* File Name Conversion Failure:: What happens when file name conversion fails -* Native MinGW File Name Conversion:: MSYS file name conversion idiosyncrasies -* Cygwin/Windows File Name Conversion:: Using @command{cygpath} to convert Cygwin file names -* Unix/Windows File Name Conversion:: Using Wine to convert Unix paths -* LT_CYGPATH:: Invoking @command{cygpath} from other environments -* Cygwin to MinGW Cross:: Other notes concerning MinGW cross - -@end detailmenu -@end menu - -@end ifnottex - -@node Introduction -@chapter Introduction - -In the past, if you were a source code package developer and wanted to -take advantage of the power of shared libraries, you needed to write -custom support code for each platform on which your package ran. You -also had to design a configuration interface so that the package -installer could choose what sort of libraries were built. - -GNU Libtool simplifies your job by encapsulating both the -platform-specific dependencies, and the user interface, in a single -script. GNU Libtool is designed so that the complete functionality of -each host type is available via a generic interface, but nasty quirks -are hidden from the programmer. - -GNU Libtool's consistent interface is reassuring@dots{} users don't need -to read obscure documentation to have their favorite source -package build shared libraries. They just run your package -@code{configure} script (or equivalent), and libtool does all the dirty -work. - -There are several examples throughout this document. All assume the -same environment: we want to build a library, @file{libhello}, in a -generic way. - -@file{libhello} could be a shared library, a static library, or -both@dots{} whatever is available on the host system, as long as libtool -has been ported to it. - -This chapter explains the original design philosophy of libtool. Feel -free to skip to the next chapter, unless you are interested in history, -or want to write code to extend libtool in a consistent way. - -@menu -* Motivation:: Why does GNU need a libtool? -* Issues:: The problems that need to be addressed. -* Other implementations:: How other people have solved these issues. -* Postmortem:: Learning from past difficulties. -@end menu - -@node Motivation -@section Motivation for writing libtool - -@cindex motivation for writing libtool -@cindex design philosophy -Since early 1995, several different GNU developers have recognized the -importance of having shared library support for their packages. The -primary motivation for such a change is to encourage modularity and -reuse of code (both conceptually and physically) in GNU programs. - -Such a demand means that the way libraries are built in GNU packages -needs to be general, to allow for any library type the package installer -might want. The problem is compounded by the absence of a standard -procedure for creating shared libraries on different platforms. - -The following sections outline the major issues facing shared library -support in GNU, and how shared library support could be standardized -with libtool. - -@cindex specifications for libtool -@cindex libtool specifications -The following specifications were used in developing and evaluating this -system: - -@enumerate -@item -The system must be as elegant as possible. - -@item -The system must be fully integrated with the GNU Autoconf and Automake -utilities, so that it will be easy for GNU maintainers to use. However, -the system must not require these tools, so that it can be used by -non-GNU packages. - -@item -Portability to other (non-GNU) architectures and tools is desirable. -@end enumerate - -@node Issues -@section Implementation issues - -@cindex tricky design issues -@cindex design issues -The following issues need to be addressed in any reusable shared library -system, specifically libtool: - -@enumerate -@item -The package installer should be able to control what sort of libraries -are built. - -@item -It can be tricky to run dynamically linked programs whose libraries have -not yet been installed. @code{LD_LIBRARY_PATH} must be set properly (if -it is supported), or programs fail to run. - -@item -The system must operate consistently even on hosts that don't support -shared libraries. - -@item -The commands required to build shared libraries may differ wildly from -host to host. These need to be determined at configure time in -a consistent way. - -@item -It is not always obvious with what prefix or suffix a shared library -should be installed. This makes it difficult for @file{Makefile} rules, -since they generally assume that file names are the same from host to -host. - -@item -The system needs a simple library version number abstraction, so that -shared libraries can be upgraded in place. The programmer should be -informed how to design the interfaces to the library to maximize binary -compatibility. - -@item -The install @file{Makefile} target should warn the package installer to set -the proper environment variables (@code{LD_LIBRARY_PATH} or equivalent), -or run @command{ldconfig}. -@end enumerate - -@node Other implementations -@section Other implementations - -Even before libtool was developed, many free software packages built and -installed their own shared libraries. At first, these packages were -examined to avoid reinventing existing features. - -Now it is clear that none of these packages have documented the details -of shared library systems that libtool requires. So, other packages -have been more or less abandoned as influences. - -@node Postmortem -@section A postmortem analysis of other implementations - -@cindex other implementations, flaws in -@cindex reusability of library systems -In all fairness, each of the implementations that were examined do the -job that they were intended to do, for a number of different host -systems. However, none of these solutions seem to function well as a -generalized, reusable component. - -@cindex complexity of library systems -Most were too complex to use (much less modify) without understanding -exactly what the implementation does, and they were generally not -documented. - -The main difficulty is that different vendors have different views of -what libraries are, and none of the packages that were examined seemed -to be confident enough to settle on a single paradigm that just -@emph{works}. - -Ideally, libtool would be a standard that would be implemented as series -of extensions and modifications to existing library systems to make them -work consistently. However, it is not an easy task to convince -operating system developers to mend their evil ways, and people want to -build shared libraries right now, even on buggy, broken, confused -operating systems. - -For this reason, libtool was designed as an independent shell script. -It isolates the problems and inconsistencies in library building that -plague @file{Makefile} writers by wrapping the compiler suite on -different platforms with a consistent, powerful interface. - -With luck, libtool will be useful to and used by the GNU community, and -that the lessons that were learned in writing it will be taken up by -designers of future library systems. - -@node Libtool paradigm -@chapter The libtool paradigm - -At first, libtool was designed to support an arbitrary number of library -object types. After libtool was ported to more platforms, a new -paradigm gradually developed for describing the relationship between -libraries and programs. - -@cindex definition of libraries -@cindex libraries, definition of -In summary, ``libraries are programs with multiple entry points, and -more formally defined interfaces.'' - -Version 0.7 of libtool was a complete redesign and rewrite of libtool to -reflect this new paradigm. So far, it has proved to be successful: -libtool is simpler and more useful than before. - -The best way to introduce the libtool paradigm is to contrast it with -the paradigm of existing library systems, with examples from each. It -is a new way of thinking, so it may take a little time to absorb, but -when you understand it, the world becomes simpler. - -@node Using libtool -@chapter Using libtool - -@cindex examples of using libtool -@cindex libtool examples -It makes little sense to talk about using libtool in your own packages -until you have seen how it makes your life simpler. The examples in -this chapter introduce the main features of libtool by comparing the -standard library building procedure to libtool's operation on two -different platforms: - -@table @samp -@item a23 -An Ultrix 4.2 platform with only static libraries. - -@item burger -A NetBSD/i386 1.2 platform with shared libraries. -@end table - -You can follow these examples on your own platform, using the -preconfigured libtool script that was installed with libtool -(@pxref{Configuring}). - -Source files for the following examples are taken from the @file{demo} -subdirectory of the libtool distribution. Assume that we are building a -library, @file{libhello}, out of the files @file{foo.c} and -@file{hello.c}. - -Note that the @file{foo.c} source file uses the @code{cos} math library -function, which is usually found in the standalone math library, and not -the C library (@pxref{Trig Functions, , Trigonometric Functions, libc, -The GNU C Library Reference Manual}). So, we need to add @option{-lm} to -the end of the link line whenever we link @file{foo.lo} into an -executable or a library (@pxref{Inter-library dependencies}). - -The same rule applies whenever you use functions that don't appear in -the standard C library@dots{} you need to add the appropriate -@option{-l@var{name}} flag to the end of the link line when you link -against those objects. - -After we have built that library, we want to create a program by linking -@file{main.o} against @file{libhello}. - -@menu -* Creating object files:: Compiling object files for libraries. -* Linking libraries:: Creating libraries from object files. -* Linking executables:: Linking object files against libtool libraries. -* Debugging executables:: Running GDB on libtool-generated programs. -* Installing libraries:: Making libraries available to users. -* Installing executables:: Making programs available to users. -* Static libraries:: When shared libraries are not wanted. -@end menu - -@node Creating object files -@section Creating object files - -@cindex compiling object files -@cindex object files, compiling -To create an object file from a source file, the compiler is invoked -with the @option{-c} flag (and any other desired flags): - -@example -burger$ @kbd{gcc -g -O -c main.c} -burger$ -@end example - -The above compiler command produces an object file, usually named -@file{main.o}, from the source file @file{main.c}. - -For most library systems, creating object files that become part of a -static library is as simple as creating object files that are linked to -form an executable: - -@example -burger$ @kbd{gcc -g -O -c foo.c} -burger$ @kbd{gcc -g -O -c hello.c} -burger$ -@end example - -@cindex position-independent code -@cindex PIC (position-independent code) -Shared libraries, however, may only be built from -@dfn{position-independent code} (PIC). So, special flags must be passed -to the compiler to tell it to generate PIC rather than the standard -position-dependent code. - -@cindex library object file -@cindex @file{.lo} files -@cindex object files, library -Since this is a library implementation detail, libtool hides the -complexity of PIC compiler flags and uses separate library object files -(the PIC one lives in the @file{@value{objdir}} subdirectory and the -static one lives in the current directory). On systems without shared -libraries, the PIC library object files are not created, whereas on -systems where all code is PIC, such as AIX, the static ones are not -created. - -To create library object files for @file{foo.c} and @file{hello.c}, -simply invoke libtool with the standard compilation command as -arguments (@pxref{Compile mode}): - -@example -a23$ @kbd{libtool --mode=compile gcc -g -O -c foo.c} -gcc -g -O -c foo.c -o foo.o -a23$ @kbd{libtool --mode=compile gcc -g -O -c hello.c} -gcc -g -O -c hello.c -o hello.o -a23$ -@end example - -Note that libtool silently creates an additional control file on each -@samp{compile} invocation. The @file{.lo} file is the libtool object, -which Libtool uses to determine what object file may be built into a -shared library. On @samp{a23}, only static libraries are supported so -the library objects look like this: - -@example -# foo.lo - a libtool object file -# Generated by ltmain.sh (GNU libtool) @value{VERSION} -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=none - -# Name of the non-PIC object. -non_pic_object='foo.o' -@end example - -On shared library systems, libtool automatically generates an -additional PIC object by inserting the appropriate PIC generation -flags into the compilation command: - -@example -burger$ @kbd{libtool --mode=compile gcc -g -O -c foo.c} -mkdir @value{objdir} -gcc -g -O -c foo.c -fPIC -DPIC -o @value{objdir}/foo.o -gcc -g -O -c foo.c -o foo.o >/dev/null 2>&1 -burger$ -@end example - -Note that Libtool automatically created @file{@value{objdir}} directory -upon its first execution, where PIC library object files will be stored. - -Since @samp{burger} supports shared libraries, and requires PIC -objects to build them, Libtool has compiled a PIC object this time, -and made a note of it in the libtool object: - -@example -# foo.lo - a libtool object file -# Generated by ltmain.sh (GNU libtool) @value{VERSION} -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='@value{objdir}/foo.o' - -# Name of the non-PIC object. -non_pic_object='foo.o' -@end example - -@cindex @option{-no-suppress}, libtool compile mode option -Notice that the second run of GCC has its output discarded. This is -done so that compiler warnings aren't annoyingly duplicated. If you -need to see both sets of warnings (you might have conditional code -inside @samp{#ifdef PIC} for example), you can turn off suppression with -the @option{-no-suppress} option to libtool's compile mode: - -@example -burger$ @kbd{libtool --mode=compile gcc -no-suppress -g -O -c hello.c} -gcc -g -O -c hello.c -fPIC -DPIC -o @value{objdir}/hello.o -gcc -g -O -c hello.c -o hello.o -burger$ -@end example - - -@node Linking libraries -@section Linking libraries - -@pindex ar -Without libtool, the programmer would invoke the @command{ar} command to -create a static library: - -@example -burger$ @kbd{ar cr libhello.a hello.o foo.o} -burger$ -@end example - -@pindex ranlib -But of course, that would be too simple, so many systems require that -you run the @code{ranlib} command on the resulting library (to give it -better karma, or something): - -@example -burger$ @kbd{ranlib libhello.a} -burger$ -@end example - -It seems more natural to use the C compiler for this task, given -libtool's ``libraries are programs'' approach. So, on platforms without -shared libraries, libtool simply acts as a wrapper for the system -@command{ar} (and possibly @code{ranlib}) commands. - -@cindex libtool libraries -@cindex @file{.la} files -Again, the libtool control file name (@file{.la} suffix) differs from -the standard library name (@file{.a} suffix). The arguments to -libtool are the same ones you would use to produce an executable named -@file{libhello.la} with your compiler (@pxref{Link mode}): - -@example -a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o} -*** Warning: Linking the shared library libhello.la against the -*** non-libtool objects foo.o hello.o is not portable! -ar cr .libs/libhello.a -ranlib .libs/libhello.a -creating libhello.la -(cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la) -a23$ -@end example - -Aha! Libtool caught a common error@dots{} trying to build a library -from standard objects instead of special @file{.lo} object files. This -doesn't matter so much for static libraries, but on shared library -systems, it is of great importance. (Note that you may replace -@file{libhello.la} with @file{libhello.a} in which case libtool won't -issue the warning any more. But although this method works, this is -not intended to be used because it makes you lose the benefits of -using Libtool.) - -So, let's try again, this time with the library object files. Remember -also that we need to add @option{-lm} to the link command line because -@file{foo.c} uses the @code{cos} math library function (@pxref{Using -libtool}). - -Another complication in building shared libraries is that we need to -specify the path to the directory wher they will (eventually) be -installed (in this case, @file{/usr/local/lib})@footnote{If you don't -specify an @code{rpath}, then libtool builds a libtool convenience -archive, not a shared library (@pxref{Static libraries}).}: - -@example -a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ - -rpath /usr/local/lib -lm} -ar cr @value{objdir}/libhello.a foo.o hello.o -ranlib @value{objdir}/libhello.a -creating libhello.la -(cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la) -a23$ -@end example - -Now, let's try the same trick on the shared library platform: - -@example -burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ - -rpath /usr/local/lib -lm} -rm -fr @value{objdir}/libhello.a @value{objdir}/libhello.la -ld -Bshareable -o @value{objdir}/libhello.so.0.0 @value{objdir}/foo.o @value{objdir}/hello.o -lm -ar cr @value{objdir}/libhello.a foo.o hello.o -ranlib @value{objdir}/libhello.a -creating libhello.la -(cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la) -burger$ -@end example - -Now that's significantly cooler@dots{} Libtool just ran an obscure -@command{ld} command to create a shared library, as well as the static -library. - -@cindex @file{@value{objdir}} subdirectory -Note how libtool creates extra files in the @file{@value{objdir}} -subdirectory, rather than the current directory. This feature is to -make it easier to clean up the build directory, and to help ensure that -other programs fail horribly if you accidentally forget to use libtool -when you should. - -Again, you may want to have a look at the @file{.la} file -to see what Libtool stores in it. In particular, you will see that -Libtool uses this file to remember the destination directory for the -library (the argument to @option{-rpath}) as well as the dependency -on the math library (@samp{-lm}). - -@node Linking executables -@section Linking executables - -@cindex linking against installed libraries -If you choose at this point to @dfn{install} the library (put it in a -permanent location) before linking executables against it, then you -don't need to use libtool to do the linking. Simply use the appropriate -@option{-L} and @option{-l} flags to specify the library's location. - -@cindex buggy system linkers -Some system linkers insist on encoding the full directory name of each -shared library in the resulting executable. Libtool has to work around -this misfeature by special magic to ensure that only permanent directory -names are put into installed executables. - -@cindex security problems with buggy linkers -@cindex bugs, subtle ones caused by buggy linkers -The importance of this bug must not be overlooked: it won't cause -programs to crash in obvious ways. It creates a security hole, -and possibly even worse, if you are modifying the library source code -after you have installed the package, you will change the behaviour of -the installed programs! - -So, if you want to link programs against the library before you install -it, you must use libtool to do the linking. - -@cindex linking against uninstalled libraries -Here's the old way of linking against an uninstalled library: - -@example -burger$ @kbd{gcc -g -O -o hell.old main.o libhello.a -lm} -burger$ -@end example - -Libtool's way is almost the same@footnote{However, you should avoid using -@option{-L} or @option{-l} flags to link against an uninstalled libtool -library. Just specify the relative path to the @file{.la} file, such as -@file{../intl/libintl.la}. This is a design decision to eliminate any -ambiguity when linking against uninstalled shared libraries.} -(@pxref{Link mode}): - -@example -a23$ @kbd{libtool --mode=link gcc -g -O -o hell main.o libhello.la} -gcc -g -O -o hell main.o ./@value{objdir}/libhello.a -lm -a23$ -@end example - -That looks too simple to be true. All libtool did was transform -@file{libhello.la} to @file{./@value{objdir}/libhello.a}, but remember -that @samp{a23} has no shared libraries. Notice that Libtool also -remembered that @file{libhello.la} depends on @option{-lm}, so even -though we didn't specify @option{-lm} on the libtool command -line@footnote{ -@c -And why should we? @file{main.o} doesn't directly depend on @option{-lm} -after all. -@c -} Libtool has added it to the @command{gcc} link line for us. - -On @samp{burger} Libtool links against the uninstalled shared library: - -@example -burger$ @kbd{libtool --mode=link gcc -g -O -o hell main.o libhello.la} -gcc -g -O -o @value{objdir}/hell main.o -L./@value{objdir} -R/usr/local/lib -lhello -lm -creating hell -burger$ -@end example - -@cindex linking with installed libtool libraries -Now assume @file{libhello.la} had already been installed, and you want -to link a new program with it. You could figure out where it lives by -yourself, then run: - -@example -burger$ @kbd{gcc -g -O -o test test.o -L/usr/local/lib -lhello -lm} -@end example - -However, unless @file{/usr/local/lib} is in the standard library search -path, you won't be able to run @code{test}. However, if you use libtool -to link the already-installed libtool library, it will do The Right -Thing (TM) for you: - -@example -burger$ @kbd{libtool --mode=link gcc -g -O -o test test.o \ - /usr/local/lib/libhello.la} -gcc -g -O -o @value{objdir}/test test.o -Wl,--rpath \ - -Wl,/usr/local/lib /usr/local/lib/libhello.a -lm -creating test -burger$ -@end example - -Note that libtool added the necessary run-time path flag, as well as -@option{-lm}, the library libhello.la depended upon. Nice, huh? - -@cindex wrapper scripts for programs -@cindex program wrapper scripts -Notice that the executable, @code{hell}, was actually created in the -@file{@value{objdir}} subdirectory. Then, a wrapper script (or, on -certain platforms, a wrapper executable @pxref{Wrapper executables}) was -created in the current directory. - -Since libtool created a wrapper script, you should use libtool to -install it and debug it too. However, since the program does not depend -on any uninstalled libtool library, it is probably usable even without -the wrapper script. - -On NetBSD 1.2, libtool encodes the installation directory of -@file{libhello}, by using the @samp{-R/usr/local/lib} compiler flag. -Then, the wrapper script guarantees that the executable finds the -correct shared library (the one in @file{./@value{objdir}}) until it is -properly installed. - -Let's compare the two different programs: - -@example -burger$ @kbd{time ./hell.old} -Welcome to GNU Hell! -** This is not GNU Hello. There is no built-in mail reader. ** - 0.21 real 0.02 user 0.08 sys -burger$ @kbd{time ./hell} -Welcome to GNU Hell! -** This is not GNU Hello. There is no built-in mail reader. ** - 0.63 real 0.09 user 0.59 sys -burger$ -@end example - -The wrapper script takes significantly longer to execute, but at least -the results are correct, even though the shared library hasn't been -installed yet. - -So, what about all the space savings that shared libraries are supposed -to yield? - -@example -burger$ @kbd{ls -l hell.old libhello.a} --rwxr-xr-x 1 gord gord 15481 Nov 14 12:11 hell.old --rw-r--r-- 1 gord gord 4274 Nov 13 18:02 libhello.a -burger$ @kbd{ls -l @value{objdir}/hell @value{objdir}/libhello.*} --rwxr-xr-x 1 gord gord 11647 Nov 14 12:10 @value{objdir}/hell --rw-r--r-- 1 gord gord 4274 Nov 13 18:44 @value{objdir}/libhello.a --rwxr-xr-x 1 gord gord 12205 Nov 13 18:44 @value{objdir}/libhello.so.0.0 -burger$ -@end example - -Well, that sucks. Maybe I should just scrap this project and take up -basket weaving. - -Actually, it just proves an important point: shared libraries incur -overhead because of their (relative) complexity. In this situation, the -price of being dynamic is eight kilobytes, and the payoff is about four -kilobytes. So, having a shared @file{libhello} won't be an advantage -until we link it against at least a few more programs. - -@menu -* Wrapper executables:: Wrapper executables for some platforms. -@end menu - -@node Wrapper executables -@subsection Wrapper executables for uninstalled programs -@cindex wrapper executables for uninstalled programs -@cindex program wrapper executables - -Some platforms, notably those hosted on Windows such as Cygwin -and MinGW, use a wrapper executable rather than a wrapper script -to ensure proper operation of uninstalled programs linked by libtool -against uninstalled shared libraries. The wrapper executable thus -performs the same function as the wrapper script used on other -platforms, but allows to satisfy the @command{make} rules for the -program, whose name ends in @code{$(EXEEXT)}. The actual program -executable is created below @value{objdir}, and its name will end -in @code{$(EXEEXT)} and may or may not contain an @code{lt-} prefix. -This wrapper executable sets various environment values so that the -program executable may locate its (uninstalled) shared libraries, -and then launches the program executable. - -The wrapper executable provides a debug mode, enabled by passing the -command-line option @code{--lt-debug} (see below). When executing in -debug mode, diagnostic information will be printed to @code{stderr} -before the program executable is launched. - -Finally, the wrapper executable supports a number of command line -options that may be useful when debugging the operation of the wrapper -system. All of these options begin with @code{--lt-}, and if present -they and their arguments will be removed from the argument list passed -on to the program executable. Therefore, the program executable may not -employ command line options that begin with @code{--lt-}. (In fact, the -wrapper executable will detect any command line options that begin with -@code{--lt-} and abort with an error message if the option is not -recognized). If this presents a problem, please contact the Libtool -team at @value{BUGADDR}. - -These command line options include: - -@table @option -@item --lt-dump-script -Causes the wrapper to print a copy of the wrapper @emph{script} -to @code{stdout}, and exit. - -@item --lt-debug -Causes the wrapper to print diagnostic information to @code{stdout}, -before launching the program executable. - -@end table - -For consistency, both the wrapper @emph{script} and the wrapper -@emph{executable} support these options. - -@node Debugging executables -@section Debugging executables - -If @file{hell} was a complicated program, you would certainly want to -test and debug it before installing it on your system. In the above -section, you saw how the libtool wrapper script makes it possible to run -the program directly, but unfortunately, this mechanism interferes with -the debugger: - -@example -burger$ @kbd{gdb hell} -GDB is free software and you are welcome to distribute copies of it - under certain conditions; type "show copying" to see the conditions. -There is no warranty for GDB; type "show warranty" for details. -GDB 4.16 (i386-unknown-netbsd), (C) 1996 Free Software Foundation, Inc. - -"hell": not in executable format: File format not recognized - -(gdb) @kbd{quit} -burger$ -@end example - -Sad. It doesn't work because GDB doesn't know where the executable -lives. So, let's try again, by invoking GDB directly on the executable: - -@example -burger$ @kbd{gdb @value{objdir}/hell} -GNU gdb 5.3 (i386-unknown-netbsd) -Copyright 2002 Free Software Foundation, Inc. -GDB is free software, covered by the GNU General Public License, -and you are welcome to change it and/or distribute copies of it -under certain conditions. Type "show copying" to see the conditions. -There is no warranty for GDB. Type "show warranty" for details. -(gdb) @kbd{break main} -Breakpoint 1 at 0x8048547: file main.c, line 29. -(gdb) @kbd{run} -Starting program: /home/src/libtool/demo/.libs/hell -/home/src/libtool/demo/.libs/hell: can't load library 'libhello.so.0' - -Program exited with code 020. -(gdb) @kbd{quit} -burger$ -@end example - -Argh. Now GDB complains because it cannot find the shared library that -@file{hell} is linked against. So, we must use libtool to -properly set the library path and run the debugger. Fortunately, we can -forget all about the @file{@value{objdir}} directory, and just run it on -the executable wrapper (@pxref{Execute mode}): - -@example -burger$ @kbd{libtool --mode=execute gdb hell} -GNU gdb 5.3 (i386-unknown-netbsd) -Copyright 2002 Free Software Foundation, Inc. -GDB is free software, covered by the GNU General Public License, -and you are welcome to change it and/or distribute copies of it -under certain conditions. Type "show copying" to see the conditions. -There is no warranty for GDB. Type "show warranty" for details. -(gdb) @kbd{break main} -Breakpoint 1 at 0x8048547: file main.c, line 29. -(gdb) @kbd{run} -Starting program: /home/src/libtool/demo/.libs/hell - -Breakpoint 1, main (argc=1, argv=0xbffffc40) at main.c:29 -29 printf ("Welcome to GNU Hell!\n"); -(gdb) @kbd{quit} -The program is running. Quit anyway (and kill it)? (y or n) @kbd{y} -burger$ -@end example - -@node Installing libraries -@section Installing libraries - -@pindex strip -Installing libraries on a non-libtool system is quite -straightforward@dots{} just copy them into place:@footnote{Don't -strip static libraries though, or they will be unusable.} - -@pindex su -@example -burger$ @kbd{su} -Password: @kbd{********} -burger# @kbd{cp libhello.a /usr/local/lib/libhello.a} -burger# -@end example - -Oops, don't forget the @command{ranlib} command: - -@example -burger# @kbd{ranlib /usr/local/lib/libhello.a} -burger# -@end example - -@pindex install -Libtool installation is quite simple, as well. Just use the -@command{install} or @command{cp} command that you normally would -(@pxref{Install mode}): - -@example -a23# @kbd{libtool --mode=install cp libhello.la /usr/local/lib/libhello.la} -cp libhello.la /usr/local/lib/libhello.la -cp @value{objdir}/libhello.a /usr/local/lib/libhello.a -ranlib /usr/local/lib/libhello.a -a23# -@end example - -Note that the libtool library @file{libhello.la} is also installed, to -help libtool with uninstallation (@pxref{Uninstall mode}) and linking -(@pxref{Linking executables}) and to help programs with dlopening -(@pxref{Dlopened modules}). - -Here is the shared library example: - -@example -burger# @kbd{libtool --mode=install install -c libhello.la \ - /usr/local/lib/libhello.la} -install -c @value{objdir}/libhello.so.0.0 /usr/local/lib/libhello.so.0.0 -install -c libhello.la /usr/local/lib/libhello.la -install -c @value{objdir}/libhello.a /usr/local/lib/libhello.a -ranlib /usr/local/lib/libhello.a -burger# -@end example - -@cindex stripping libraries -@cindex libraries, stripping -It is safe to specify the @option{-s} (strip symbols) flag if you use a -BSD-compatible install program when installing libraries. -Libtool will either ignore the @option{-s} flag, or will run a program -that will strip only debugging and compiler symbols from the library. - -Once the libraries have been put in place, there may be some additional -configuration that you need to do before using them. First, you must -make sure that where the library is installed actually agrees with the -@option{-rpath} flag you used to build it. - -@cindex postinstallation -@cindex installation, finishing -@cindex libraries, finishing installation -Then, running @samp{libtool -n finish @var{libdir}} can give you -further hints on what to do (@pxref{Finish mode}): - -@example -burger# @kbd{libtool -n finish /usr/local/lib} -PATH="$PATH:/sbin" ldconfig -m /usr/local/lib ------------------------------------------------------------------ -Libraries have been installed in: - /usr/local/lib - -To link against installed libraries in a given directory, LIBDIR, -you must use the '-LLIBDIR' flag during linking. - - You will also need to do one of the following: - - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable - during execution - - add LIBDIR to the 'LD_RUN_PATH' environment variable - during linking - - use the '-RLIBDIR' linker flag - -See any operating system documentation about shared libraries for -more information, such as the ld and ld.so manual pages. ------------------------------------------------------------------ -burger# -@end example - -After you have completed these steps, you can go on to begin using the -installed libraries. You may also install any executables that depend -on libraries you created. - -@node Installing executables -@section Installing executables - -If you used libtool to link any executables against uninstalled libtool -libraries (@pxref{Linking executables}), you need to use libtool to -install the executables after the libraries have been installed -(@pxref{Installing libraries}). - -So, for our Ultrix example, we would run: - -@example -a23# libtool --mode=install install -c hell /usr/local/bin/hell -install -c hell /usr/local/bin/hell -a23# -@end example - -On shared library systems that require wrapper scripts, libtool just -ignores the wrapper script and installs the correct binary: - -@example -burger# libtool --mode=install install -c hell /usr/local/bin/hell -install -c @value{objdir}/hell /usr/local/bin/hell -burger# -@end example - - -@node Static libraries -@section Linking static libraries - -@cindex static linking -@cindex convenience libraries -Why return to @command{ar} and @command{ranlib} silliness when you've had a -taste of libtool? Well, sometimes it is desirable to create a static -archive that can never be shared. The most frequent case is when you -have a set of object files that you use to build several different -libraries. You can create a ``convenience library'' out of those -objects, and link against that with the other libraries, instead of -listing all the object files every time. - -If you just want to link this convenience library into programs, then -you could just ignore libtool entirely, and use the old @command{ar} and -@command{ranlib} commands (or the corresponding GNU Automake -@samp{_LIBRARIES} rules). You can even install a convenience library -using GNU Libtool, though you probably don't want to and hence GNU -Automake doesn't allow you to do so. - -@example -burger$ @kbd{libtool --mode=install ./install-sh -c libhello.a \ - /local/lib/libhello.a} -./install-sh -c libhello.a /local/lib/libhello.a -ranlib /local/lib/libhello.a -burger$ -@end example - -Using libtool for static library installation protects your library from -being accidentally stripped (if the installer used the @option{-s} flag), -as well as automatically running the correct @command{ranlib} command. - -But libtool libraries are more than just collections of object files: -they can also carry library dependency information, which old archives -do not. If you want to create a libtool static convenience library, you -can omit the @option{-rpath} flag and use @option{-static} to indicate that -you're only interested in a static library. When you link a program -with such a library, libtool will actually link all object files and -dependency libraries into the program. - -If you omit both @option{-rpath} and @option{-static}, libtool will create a -convenience library that can be used to create other libtool -libraries, even shared ones. Just like in the static case, the library -behaves as an alias to a set of object files and dependency libraries, -but in this case the object files are suitable for inclusion in shared -libraries. But be careful not to link a single convenience library, -directly or indirectly, into a single program or library, otherwise you -may get errors about symbol redefinitions. - -The key is remembering that a convenience library contains PIC -objects, and can be linked where a list of PIC objects makes sense; -i.e.@: into a shared library. A static convenience library contains -non-PIC objects, so can be linked into an old static library, or -a program. - -When GNU Automake is used, you should use @code{noinst_LTLIBRARIES} -instead of @code{lib_LTLIBRARIES} for convenience libraries, so that -the @option{-rpath} option is not passed when they are linked. - -As a rule of thumb, link a libtool convenience library into at most one -libtool library, and never into a program, and link libtool static -convenience libraries only into programs, and only if you need to carry -library dependency information to the user of the static convenience -library. - -@cindex standalone binaries -Another common situation where static linking is desirable is in -creating a standalone binary. Use libtool to do the linking and add the -@option{-all-static} flag. - -@node Invoking libtool -@chapter Invoking @command{libtool} -@pindex libtool -@cindex libtool command options -@cindex options, libtool command -@cindex command options, libtool - -The @command{libtool} program has the following synopsis: - -@example -libtool [@var{option}]@dots{} [@var{mode-arg}]@dots{} -@end example - -@noindent -and accepts the following options: - -@table @option -@item --config -Display libtool configuration variables and exit. - -@item --debug -Dump a trace of shell script execution to standard output. This -produces a lot of output, so you may wish to pipe it to @command{less} (or -@command{more}) or redirect to a file. - -@item -n -@itemx --dry-run -Don't create, modify, or delete any files, just show what commands would -be executed by libtool. - -@item --features -Display basic configuration options. This provides a way for packages -to determine whether shared or static libraries will be built. - -@item --finish -Same as @option{--mode=finish}. - -@item -h -Display short help message. - -@item --help -Display a help message and exit. If @option{--mode=@var{mode}} is -specified, then detailed help for @var{mode} is displayed. - -@item --help-all -Display help for the general options as well as detailed help for each -operation mode, and exit. - -@item --mode=@var{mode} -Use @var{mode} as the operation mode. When using libtool from the -command line, you can give just @var{mode} (or a unique abbreviation -of it) as the first argument as a shorthand for the full -@option{--mode=@var{mode}}. For example, the following are equivalent: - -@example -$ @kbd{libtool --mode=execute --dry-run gdb prog.exe} -$ @kbd{libtool execute --dry-run gdb prog.exe} -$ @kbd{libtool exe --dry-run gdb prog.exe} -$ @kbd{libtool e --dry-run gdb prog.exe} -@end example - -@noindent -@var{mode} must be set to one of the following: - -@table @option -@item compile -Compile a source file into a libtool object. - -@item execute -Automatically set the library path so that another program can use -uninstalled libtool-generated programs or libraries. - -@item link -Create a library or an executable. - -@item install -Install libraries or executables. - -@item finish -Complete the installation of libtool libraries on the system. - -@item uninstall -Delete installed libraries or executables. - -@item clean -Delete uninstalled libraries or executables. -@end table - -@item --tag=@var{tag} -Use configuration variables from tag @var{tag} (@pxref{Tags}). - -@item --preserve-dup-deps -Do not remove duplicate dependencies in libraries. When building packages -with static libraries, the libraries may depend circularly on each other -(shared libs can too, but for those it doesn't matter), so there are -situations, where -la -lb -la is required, and the second -la may not be -stripped or the link will fail. In cases where these duplications are -required, this option will preserve them, only stripping the libraries -that libtool knows it can safely. - -@item --quiet -@itemx --silent -Do not print out any progress or informational messages. - -@item -v -@itemx --verbose -Print out progress and informational messages (enabled by default), -as well as additional messages not ordinary seen by default. - -@item --no-quiet -@itemx --no-silent -Print out the progress and informational messages that are seen -by default. This option has no effect on whether the additional -messages seen in @option{--verbose} mode are shown. - -@item --no-verbose -Do not print out any additional informational messages beyond -those ordinarily seen by default. This option has no effect -on whether the ordinary progress and informational messages -enabled by @option{--no-quiet} are shown. - -Thus, there are now three different message levels (not counting -@option{--debug}), depending on whether the normal messages and/or -the additional verbose messages are displayed. Note that there is -no mechanism to display verbose messages, without also displaying -normal messages. - -@table @strong -@item default -Normal messages are displayed, verbose messages are not displayed. -In addition to being the default mode, it can be forcibly achieved -by using both option @option{--no-verbose} and either option -@option{--no-silent} or option @option{--no-quiet}. - -@item silent -Neither normal messages nor verbose messages are displayed. This -mode can be achieved using either option @option{--silent} or -option @option{--quiet}. - -@item verbose -Both normal messages and verbose messages are displayed. This mode -can be achieved using either option @option{-v} or option -@option{--verbose}. -@end table - -@item --version -Print libtool version information and exit. -@end table - -The current @command{libtool} implementation is done with a shell script -that needs to be invoked by the shell that @command{configure} chose for -configuring @command{libtool} (@pxref{config.status Invocation, , The -Autoconf Manual, autoconf, The Autoconf Manual}). This shell is set in -the she-bang (@samp{#!}) line of the @command{libtool} script. Using a -different shell may cause undefined behavior. - -The @var{mode-args} are a variable number of arguments, depending on the -selected operation mode. In general, each @var{mode-arg} is interpreted -by programs libtool invokes, rather than libtool itself. - -@menu -* Compile mode:: Creating library object files. -* Link mode:: Generating executables and libraries. -* Execute mode:: Debugging libtool-generated programs. -* Install mode:: Making libraries and executables public. -* Finish mode:: Completing a library installation. -* Uninstall mode:: Removing installed executables and libraries. -* Clean mode:: Removing uninstalled executables and libraries. -@end menu - -@node Compile mode -@section Compile mode -@cindex mode, compile -@cindex compile mode - -For @dfn{compile} mode, @var{mode-args} is a compiler command to be used -in creating a ``standard'' object file. These arguments should begin with -the name of the C compiler, and contain the @option{-c} compiler flag so -that only an object file is created. - -Libtool determines the name of the output file by removing the directory -component from the source file name, then substituting the source code -suffix (e.g.@: @samp{.c} for C source code) with the library object suffix, -@samp{.lo}. - -If shared libraries are being built, any necessary PIC generation flags -are substituted into the compilation command. - -The following components of @var{mode-args} are treated specially: - -@table @option -@item -o -Note that the @option{-o} option is now fully supported. It is emulated -on the platforms that don't support it (by locking and moving the -objects), so it is really easy to use libtool, just with minor -modifications to your Makefiles. Typing for example -@example -libtool --mode=compile gcc -c foo/x.c -o foo/x.lo -@end example -will do what you expect. - -Note, however, that, if the compiler does not support @option{-c} and -@option{-o}, it is impossible to compile @file{foo/x.c} without -overwriting an existing @file{./x.o}. Therefore, if you do have a -source file @file{./x.c}, make sure you introduce dependencies in your -@file{Makefile} to make sure @file{./x.o} (or @file{./x.lo}) is -re-created after any sub-directory's @file{x.lo}: - -@example -x.o x.lo: foo/x.lo bar/x.lo -@end example - -@noindent -This will also ensure that make won't try to use a temporarily corrupted -@file{x.o} to create a program or library. It may cause needless -recompilation on platforms that support @option{-c} and @option{-o} -together, but it's the only way to make it safe for those that don't. - -@item -no-suppress -If both PIC and non-PIC objects are being built, libtool will normally -suppress the compiler output for the PIC object compilation to save -showing very similar, if not identical duplicate output for each -object. If the @option{-no-suppress} option is given in compile mode, -libtool will show the compiler output for both objects. - -@item -prefer-pic -Libtool will try to build only PIC objects. - -@item -prefer-non-pic -Libtool will try to build only non-PIC objects. - -@item -shared -Even if Libtool was configured with @option{--enable-static}, the object -file Libtool builds will not be suitable for static linking. Libtool -will signal an error if it was configured with @option{--disable-shared}, -or if the host does not support shared libraries. - -@item -static -Even if libtool was configured with @option{--disable-static}, the -object file Libtool builds @strong{will} be suitable for static -linking. - -@item -Wc,@var{flag} -@itemx -Xcompiler @var{flag} -Pass a flag directly to the compiler. With @code{-Wc,}, multiple flags -may be separated by commas, whereas @code{-Xcompiler } passes through -commas unchanged. -@end table - -@node Link mode -@section Link mode -@cindex link mode -@cindex mode, link - -@dfn{Link} mode links together object files (including library -objects) to form another library or to create an executable program. - -@var{mode-args} consist of a command using the C compiler to create an -output file (with the @option{-o} flag) from several object files. - -The following components of @var{mode-args} are treated specially: - -@table @option -@cindex undefined symbols, allowing -@cindex unresolved symbols, allowing -@item -all-static -If @var{output-file} is a program, then do not link it against any -shared libraries at all. If @var{output-file} is a library, then only -create a static library. In general, this flag cannot be used together -with @samp{disable-static} (@pxref{LT_INIT}). - -@item -avoid-version -Tries to avoid versioning (@pxref{Versioning}) for libraries and modules, -i.e.@: no version information is stored and no symbolic links are created. -If the platform requires versioning, this option has no effect. - -@item -bindir -Pass the absolute name of the directory for installing executable -programs (@pxref{Directory Variables, , Directory Variables, standards, -The GNU Coding Standards}). @command{libtool} may use this value to -install shared libraries there on systems that do not provide for any -library hardcoding and use the directory of a program and the @env{PATH} -variable as library search path. This is typically used for DLLs on -Windows or other systems using the PE (Portable Executable) format. -On other systems, @option{-bindir} is ignored. The default value used -is @file{@var{libdir}/../bin} for libraries installed to -@file{@var{libdir}}. You should not use @option{-bindir} for modules. - -@item -dlopen @var{file} -Same as @option{-dlpreopen @var{file}}, if native dlopening is not -supported on the host platform (@pxref{Dlopened modules}) or if -the program is linked with @option{-static}, -@option{-static-libtool-libs}, or @option{-all-static}. Otherwise, no -effect. If @var{file} is @code{self} Libtool will make sure that the -program can @code{dlopen} itself, either by enabling -@option{-export-dynamic} or by falling back to @option{-dlpreopen self}. - -@item -dlpreopen @var{file} -Link @var{file} into the output program, and add its symbols to the -list of preloaded symbols (@pxref{Dlpreopening}). If @var{file} is -@code{self}, the symbols of the program itself will be added to -preloaded symbol lists. If @var{file} is @code{force} Libtool will -make sure that a preloaded symbol list is always @emph{defined}, -regardless of whether it's empty or not. - -@item -export-dynamic -Allow symbols from @var{output-file} to be resolved with @code{dlsym} -(@pxref{Dlopened modules}). - -@item -export-symbols @var{symfile} -Tells the linker to export only the symbols listed in @var{symfile}. -The symbol file should end in @file{.sym} and must contain the name of one -symbol per line. This option has no effect on some platforms. -By default all symbols are exported. - -@item -export-symbols-regex @var{regex} -Same as @option{-export-symbols}, except that only symbols matching -the regular expression @var{regex} are exported. -By default all symbols are exported. - -@item -L@var{libdir} -Search @var{libdir} for required libraries that have already been -installed. - -@item -l@var{name} -@var{output-file} requires the installed library @file{lib@var{name}}. -This option is required even when @var{output-file} is not an -executable. - -@item -module -Creates a library that can be dlopened (@pxref{Dlopened modules}). -This option doesn't work for programs. -Module names don't need to be prefixed with @samp{lib}. -In order to prevent name clashes, however, @file{lib@var{name}} and @file{@var{name}} -must not be used at the same time in your package. - -@item -no-fast-install -Disable fast-install mode for the executable @var{output-file}. Useful -if the program won't be necessarily installed. - -@item -no-install -Link an executable @var{output-file} that can't be installed and -therefore doesn't need a wrapper script on systems that allow hardcoding -of library paths. Useful if the program is only used in the build tree, -e.g., for testing or generating other files. - -@item -no-undefined -Declare that @var{output-file} does not depend on any libraries other -than the ones listed on the command line, i.e., after linking, it will -not have unresolved symbols. Some platforms require all symbols in -shared libraries to be resolved at library creation (@pxref{Inter-library -dependencies}), and using this parameter allows @command{libtool} to -assume that this will not happen. - -@item -o @var{output-file} -Create @var{output-file} from the specified objects and libraries. - -@item -objectlist @var{file} -Use a list of object files found in @var{file} to specify objects. - -@item -os2dllname @var{name} -Use this to change the DLL base name on OS/2 to @var{name}, to keep -within the 8 character base name limit on this system. - -@item -precious-files-regex @var{regex} -Prevents removal of files from the temporary output directory whose -names match this regular expression. You might specify @samp{\.bbg?$} -to keep those files created with @code{gcc -ftest-coverage} for example. - -@item -release @var{release} -Specify that the library was generated by release @var{release} of your -package, so that users can easily tell what versions are newer than -others. Be warned that no two releases of your package will be binary -compatible if you use this flag. If you want binary compatibility, use -the @option{-version-info} flag instead (@pxref{Versioning}). - -@item -rpath @var{libdir} -If @var{output-file} is a library, it will eventually be installed in -@var{libdir}. If @var{output-file} is a program, add @var{libdir} to -the run-time path of the program. On platforms that don't support -hardcoding library paths into executables and only search PATH for -shared libraries, such as when @var{output-file} is a Windows (or -other PE platform) DLL, the @file{.la} control file will be installed in -@var{libdir}, but see @option{-bindir} above for the eventual destination -of the @file{.dll} or other library file itself. - -@item -R @var{libdir} -If @var{output-file} is a program, add @var{libdir} to its run-time -path. If @var{output-file} is a library, add @option{-R@var{libdir}} to its -@var{dependency_libs}, so that, whenever the library is linked into a -program, @var{libdir} will be added to its run-time path. - -@item -shared -If @var{output-file} is a program, then link it against any -uninstalled shared libtool libraries (this is the default behavior). -If @var{output-file} is a library, then only create a shared library. -In the later case, libtool will signal an error if it was configured -with @option{--disable-shared}, or if the host does not support shared -libraries. - -@item -shrext @var{suffix} -If @var{output-file} is a libtool library, replace the system's standard -file name extension for shared libraries with @var{suffix} (most systems -use @file{.so} here). This option is helpful in certain cases where an -application requires that shared libraries (typically modules) have an -extension other than the default one. Please note you must supply the -full file name extension including any leading dot. - -@item -static -If @var{output-file} is a program, then do not link it against any -uninstalled shared libtool libraries. If @var{output-file} is a -library, then only create a static library. - -@item -static-libtool-libs -If @var{output-file} is a program, then do not link it against any -shared libtool libraries. If @var{output-file} is a library, then only -create a static library. - -@item -version-info @var{current}[:@var{revision}[:@var{age}]] -If @var{output-file} is a libtool library, use interface version -information @var{current}, @var{revision}, and @var{age} to build it -(@pxref{Versioning}). Do @strong{not} use this flag to specify package -release information, rather see the @option{-release} flag. - -@item -version-number @var{major}[:@var{minor}[:@var{revision}]] -If @var{output-file} is a libtool library, compute interface version -information so that the resulting library uses the specified major, minor and -revision numbers. This is designed to permit libtool to be used with -existing projects where identical version numbers are already used across -operating systems. New projects should use the @option{-version-info} flag -instead. - -@item -weak @var{libname} -if @var{output-file} is a libtool library, declare that it provides a -weak @var{libname} interface. This is a hint to libtool that there is -no need to append @var{libname} to the list of dependency libraries of -@var{output-file}, because linking against @var{output-file} already -supplies the same interface (@pxref{Linking with dlopened modules}). - -@item -Wc,@var{flag} -@itemx -Xcompiler @var{flag} -Pass a linker-specific flag directly to the compiler. With @code{-Wc,}, -multiple flags may be separated by commas, whereas @code{-Xcompiler } -passes through commas unchanged. - -@item -Wa,@var{flag} -@itemx -Xassembler @var{flag} -Pass a linker-specific flag directly to the assembler. With @code{-Wa,}, -multiple flags may be separated by commas, whereas @code{-Xassembler } -passes through commas unchanged. - -@item -Wl,@var{flag} -@itemx -Xlinker @var{flag} -Pass a linker-specific flag directly to the linker. - -@item -XCClinker @var{flag} -Pass a link-specific flag to the compiler driver (@code{CC}) during linking. -@end table - -If the @var{output-file} ends in @file{.la}, then a libtool library is -created, which must be built only from library objects (@file{.lo} files). -The @option{-rpath} option is required. In the current implementation, -libtool libraries may not depend on other uninstalled libtool libraries -(@pxref{Inter-library dependencies}). - -If the @var{output-file} ends in @file{.a}, then a standard library is -created using @code{ar} and possibly @code{ranlib}. - -@cindex partial linking -@cindex linking, partial -If @var{output-file} ends in @file{.o} or @file{.lo}, then a reloadable object -file is created from the input files (generally using @samp{ld -r}). -This method is often called @dfn{partial linking}. - -Otherwise, an executable program is created. - -@node Execute mode -@section Execute mode -@cindex execute mode -@cindex mode, execute - -For @dfn{execute} mode, the library path is automatically set, then a -program is executed. - -The first of the @var{mode-args} is treated as a program name, with the -rest as arguments to that program. - -The following components of @var{mode-args} are treated specially: - -@table @option -@item -dlopen @var{file} -Add the directory containing @var{file} to the library path. -@end table - -This mode sets the library path environment variable according to any -@option{-dlopen} flags. - -If any of the @var{args} are libtool executable wrappers, then they are -translated into the name of their corresponding uninstalled binary, and -any of their required library directories are added to the library path. - -@node Install mode -@section Install mode -@cindex install mode -@cindex mode, install - -In @dfn{install} mode, libtool interprets most of the elements of -@var{mode-args} as an installation command beginning with -@command{cp}, or a BSD-compatible @command{install} program. - -The following components of @var{mode-args} are treated specially: - -@table @option -@item -inst-prefix-dir @var{inst-prefix-dir} -When installing into a temporary staging area, rather than the -final @code{prefix}, this argument is used to reflect the -temporary path, in much the same way @command{automake} uses -@env{DESTDIR}. For instance, if @code{prefix} is @file{/usr/local}, -but @var{inst-prefix-dir} is @file{/tmp}, then the object will be -installed under @file{/tmp/usr/local/}. If the installed object -is a libtool library, then the internal fields of that library -will reflect only @code{prefix}, not @var{inst-prefix-dir}: - -@example -# Directory that this library needs to be installed in: -libdir='/usr/local/lib' -@end example - -not - -@example -# Directory that this library needs to be installed in: -libdir='/tmp/usr/local/lib' -@end example - -@code{inst-prefix} is also used to ensure that if the installed -object must be relinked upon installation, that it is relinked -against the libraries in @var{inst-prefix-dir}/@code{prefix}, -not @code{prefix}. - -In truth, this option is not really intended for use when calling -libtool directly; it is automatically used when @code{libtool --mode=install} -calls @code{libtool --mode=relink}. Libtool does this by -analyzing the destination path given in the original -@code{libtool --mode=install} command and comparing it to the -expected installation path established during @code{libtool --mode=link}. - -Thus, end-users need change nothing, and @command{automake}-style -@code{make install DESTDIR=/tmp} will Just Work(tm) most of the time. -For systems where fast installation cannot be turned on, relinking -may be needed. In this case, a @samp{DESTDIR} install will fail. - -Currently it is not generally possible to install into a temporary -staging area that contains needed third-party libraries that are -not yet visible at their final location. -@end table - -The rest of the @var{mode-args} are interpreted as arguments to the -@command{cp} or @command{install} command. - -The command is run, and any necessary unprivileged post-installation -commands are also completed. - -@node Finish mode -@section Finish mode -@cindex finish mode -@cindex mode, finish - -@dfn{Finish} mode has two functions. One is to help system administrators -install libtool libraries so that they can be located and linked into -user programs. To invoke this functionality, pass the name of a library -directory as @var{mode-arg}. Running this command may require superuser -privileges, and the @option{--dry-run} option may be useful. - -The second is to facilitate transferring libtool libraries to a native -compilation environment after they were built in a cross-compilation -environment. Cross-compilation environments may rely on recent libtool -features, and running libtool in finish mode will make it easier to -work with older versions of libtool. This task is performed whenever -the @var{mode-arg} is a @file{.la} file. - -@node Uninstall mode -@section Uninstall mode -@cindex uninstall mode -@cindex mode, uninstall - -@dfn{Uninstall} mode deletes installed libraries, executables and objects. - -The first @var{mode-arg} is the name of the program to use to delete -files (typically @command{/bin/rm}). - -The remaining @var{mode-args} are either flags for the deletion program -(beginning with a @samp{-}), or the names of files to delete. - -@node Clean mode -@section Clean mode -@cindex clean mode -@cindex mode, clean - -@dfn{Clean} mode deletes uninstalled libraries, executables, objects -and libtool's temporary files associated with them. - -The first @var{mode-arg} is the name of the program to use to delete -files (typically @command{/bin/rm}). - -The remaining @var{mode-args} are either flags for the deletion program -(beginning with a @samp{-}), or the names of files to delete. - -@node Integrating libtool -@chapter Integrating libtool with your package - -This chapter describes how to integrate libtool with your packages so -that your users can install hassle-free shared libraries. - -There are several ways that Libtool may be integrated in your -package, described in the following sections. Typically, the Libtool -macro files as well as @file{ltmain.sh} are copied into your package -using @command{libtoolize} and @command{aclocal} after setting up the -@file{configure.ac} and toplevel @file{Makefile.am}, then -@command{autoconf} adds the needed tests to the @file{configure} script. -These individual steps are often automated with @command{autoreconf}. - -Here is a diagram showing how such a typical Libtool configuration works -when preparing a package for distribution, assuming that @file{m4} has -been chosen as location for additional Autoconf macros, and -@file{build-aux} as location for auxiliary build tools (@pxref{Input,, -The Autoconf Manual, autoconf, The Autoconf Manual}): - -@example -@group -libtool.m4 -----. .--> aclocal.m4 -----. -ltoptions.m4 ---+ .-> aclocal* -+ +--> autoconf* -ltversion.m4 ---+--+ `--> [copy in m4/] --+ | -ltsugar.m4 -----+ | ^ | \/ -lt~obsolete.m4 -+ +-> libtoolize* -----' | configure -[ltdl.m4] ------+ | | - `----------------------------------' - -ltmain.sh -----------> libtoolize* -> [copy in build-aux/] -@end group -@end example - -During configuration, the @file{libtool} script is generated either -through @command{config.status} or @command{config.lt}: - -@example -@group - .--> config.status* --. -configure* --+ +--> libtool - `--> [config.lt*] ----' ^ - | -ltmain.sh --------------------------------' -@end group -@end example - -At @command{make} run time, @command{libtool} is then invoked as needed -as a wrapper around compilers, linkers, install and cleanup programs. - -There are alternatives choices to several parts of the setup; for -example, the Libtool macro files can either be copied or symlinked into -the package, or copied into @file{aclocal.m4}. As another example, an -external, pre-configured @command{libtool} script may be used, -by-passing most of the tests and package-specific setup for Libtool. - -@menu -* Autoconf macros:: Autoconf macros exported by libtool. -* Makefile rules:: Writing @file{Makefile} rules for libtool. -* Using Automake:: Automatically supporting libtool. -* Configuring:: Configuring libtool for a host system. -* Distributing:: What files to distribute with your package. -* Static-only libraries:: Sometimes shared libraries are just a pain. -@end menu - -@node Autoconf macros -@section Autoconf macros exported by libtool - -Libtool uses a number of macros to interrogate the host system when it -is being built, and you can use some of them yourself too. Although -there are a great many other macros in the libtool installed m4 files, -these do not form part of the published interface, and are subject to -change between releases. - -@noindent -Macros in the @samp{LT_CMD_} namespace check for various shell -commands: - -@defmac LT_CMD_MAX_LEN -Finds the longest command line that can be safely passed to -@samp{$SHELL} without being truncated, and store in the shell variable -@samp{$max_cmd_len}. It is only an approximate value, but command -lines of this length or shorter are guaranteed not to be truncated. -@end defmac - -@noindent -Macros in the @samp{LT_FUNC_} namespace check characteristics of -library functions: - -@defmac LT_FUNC_DLSYM_USCORE -@samp{AC_DEFINE} the preprocessor symbol @samp{DLSYM_USCORE} if we -have to add an underscore to symbol-names passed in to @samp{dlsym}. -@end defmac - -@noindent -Macros in the @samp{LT_LIB_} namespace check characteristics of system -libraries: - -@defmac LT_LIB_M -Set @samp{LIBM} to the math library or libraries required on this -machine, if any. -@end defmac - -@defmac LT_LIB_DLLOAD -This is the macro used by @samp{libltdl} to determine what dlloaders -to use on this machine, if any. Several shell variables are set (and -@samp{AC_SUBST}ed) depending on the dlload interfaces are available on -this machine. @samp{LT_DLLOADERS} contains a list of libtool -libraries that can be used, and if necessary also sets -@samp{LIBADD_DLOPEN} if additional system libraries are required by -the @samp{dlopen} loader, and @samp{LIBADD_SHL_LOAD} if additional -system libraries are required by the @samp{shl_load} loader, -respectively. Finally some symbols are set in @file{config.h} -depending on the loaders that are found to work: @samp{HAVE_LIBDL}, -@samp{HAVE_SHL_LOAD}, @samp{HAVE_DYLD}, @samp{HAVE_DLD}. -@end defmac - -@noindent -Macros in the @samp{LT_PATH_} namespace search the system for the full -path to particular system commands: - -@defmac LT_PATH_LD -Add a @option{--with-gnu-ld} option to @file{configure}. Try to find -the path to the linker used by @samp{$CC}, and whether it is the -GNU linker. The result is stored in the shell variable -@samp{$LD}, which is @code{AC_SUBST}ed. -@end defmac - -@defmac LT_PATH_NM -Try to find a BSD-compatible @command{nm} or a MS-compatible -@command{dumpbin} command on this machine. The result is stored in the -shell variable @samp{$NM}, which is @code{AC_SUBST}ed. -@end defmac - -@noindent -Macros in the @samp{LT_SYS_} namespace probe for system -characteristics: - -@defmac LT_SYS_DLOPEN_SELF -Tests whether a program can dlopen itself, and then also whether the -same program can still dlopen itself when statically linked. Results -are stored in the shell variables @samp{$enable_dlopen_self} and -@samp{enable_dlopen_self_static} respectively. -@end defmac - -@defmac LT_SYS_DLOPEN_DEPLIBS -Define the preprocessor symbol @samp{LTDL_DLOPEN_DEPLIBS} if the -OS needs help to load dependent libraries for @samp{dlopen} (or -equivalent). -@end defmac - -@defmac LT_SYS_DLSEARCH_PATH -Define the preprocessor symbol @samp{LT_DLSEARCH_PATH} to the system -default library search path. -@end defmac - -@defmac LT_SYS_MODULE_EXT -Define the preprocessor symbol @samp{LT_MODULE_EXT} to the extension -used for runtime loadable modules. If you use libltdl to open -modules, then you can simply use the libtool library extension, -@file{.la}. -@end defmac - -@defmac LT_SYS_MODULE_PATH -Define the preprocessor symbol @samp{LT_MODULE_PATH_VAR} to the name -of the shell environment variable that determines the run-time module -search path. -@end defmac - -@defmac LT_SYS_SYMBOL_USCORE -Set the shell variable @samp{sys_symbol_underscore} to @samp{no} -unless the compiler prefixes global symbols with an underscore. -@end defmac - - -@node Makefile rules -@section Writing @file{Makefile} rules for libtool -@cindex Makefile -@cindex Makefile.am -@cindex Makefile.in - -Libtool is fully integrated with Automake (@pxref{Top,, Introduction, -automake, The Automake Manual}), starting with Automake version 1.2. - -If you want to use libtool in a regular @file{Makefile} (or -@file{Makefile.in}), you are on your own. If you're not using -Automake, and you don't know how to incorporate libtool into your -package you need to do one of the following: - -@enumerate 1 -@item -Download the latest Automake distribution from your nearest GNU -mirror, install it, and start using it. - -@item -Learn how to write @file{Makefile} rules by hand. They're sometimes complex, -but if you're clever enough to write rules for compiling your old -libraries, then you should be able to figure out new rules for libtool -libraries (hint: examine the @file{Makefile.in} in the @file{tests/demo} -subdirectory of the libtool distribution@dots{} note especially that it -was automatically generated from the @file{Makefile.am} by Automake). -@end enumerate - -@node Using Automake -@section Using Automake with libtool - -@vindex LTLIBRARIES -Libtool library support is implemented under the @samp{LTLIBRARIES} -primary. - -Here are some samples from the Automake @file{Makefile.am} in the -libtool distribution's @file{demo} subdirectory. - -First, to link a program against a libtool library, just use the -@samp{program_LDADD}@footnote{@c -@c -Since GNU Automake 1.5, the flags @option{-dlopen} -or @option{-dlpreopen} (@pxref{Link mode}) can be employed with the -@samp{program_LDADD} variable. Unfortunately, older releases didn't -accept these flags, so if you are stuck with an ancient Automake, we -recommend quoting the flag itself, and setting -@samp{program_DEPENDENCIES} too: - -@example -program_LDADD = "-dlopen" libfoo.la -program_DEPENDENCIES = libfoo.la -@end example -@c -} variable: - -@example -bin_PROGRAMS = hell hell_static - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = -static -@end example - -You may use the @samp{program_LDFLAGS} variable to stuff in any flags -you want to pass to libtool while linking @file{program} (such as -@option{-static} to avoid linking uninstalled shared libtool libraries). - -Building a libtool library is almost as trivial@dots{} note the use of -@samp{libhello_la_LDFLAGS} to pass the @option{-version-info} -(@pxref{Versioning}) option to libtool: - -@example -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LDFLAGS = -version-info 3:12:1 -@end example - -The @option{-rpath} option is passed automatically by Automake (except for -libraries listed as @code{noinst_LTLIBRARIES}), so you -should not specify it. - -@xref{A Shared Library, Building a Shared Library, The Automake Manual, -automake, The Automake Manual}, for more information. - -When building libtool archives which depend on built sources (for example a -generated header file), you may find it necessary to manually record -these dependencies. -Because libtool archives generate object file names manually recording these -dependencies is not as straightforward as the examples in Automake's manual -describe in their examples. -This effects header files in particular, because simply listing them as -@samp{nodist_libfoo_la_SOURCES} will not cause Automake to establish a -dependent relationship for the object files of @file{libfoo.la}. -A useful trick (although somewhat imprecise) is to manually record built -sources used by a libtool archive as dependencies of all the objects for that -library as shown below (as opposed to a particular object file): - -@example -# Build a libtool library, libhello.la which depends on a generated header. -hello.h: - echo '#define HELLO_MESSAGE "Hello, World!"' > $@@ -BUILT_SOURCES = hello.h -CLEANFILES = hello.h -nodist_libhello_la_SOURCES = hello.h -libhello_la_SOURCES = hello.c foo.h foo.c bar.h bar.c -# Manually record hello.h as a prerequisite for all objects in libhello.la -$(libhello_la_OBJECTS): hello.h -@end example - -@xref{Built Sources Example, Recording Dependencies manually, The Automake Manual, -automake, The Automake Manual}, for more information. - -@node Configuring -@section Configuring libtool -@cindex configuring libtool - -Libtool requires intimate knowledge of your compiler suite and operating -system to be able to create shared libraries and link against -them properly. When you install the libtool distribution, a -system-specific libtool script is installed into your binary directory. - -However, when you distribute libtool with your own packages -(@pxref{Distributing}), you do not always know the compiler suite and -operating system that are used to compile your package. - -For this reason, libtool must be @dfn{configured} before it can be -used. This idea should be familiar to anybody who has used a GNU -@code{configure} script. @code{configure} runs a number of tests for -system features, then generates the @file{Makefile}s (and possibly a -@file{config.h} header file), after which you can run @code{make} and -build the package. - -Libtool adds its own tests to your @code{configure} script to -generate a libtool script for the installer's host machine. - -@menu -* LT_INIT:: Configuring @code{libtool} in @file{configure.ac}. -* Configure notes:: Platform-specific notes for configuration. -@end menu - -@node LT_INIT -@subsection The @code{LT_INIT} macro - -If you are using GNU Autoconf (or Automake), you should add a call to -@code{LT_INIT} to your @file{configure.ac} file. This macro -adds many new tests to the @code{configure} script so that the generated -libtool script will understand the characteristics of the host. It's the -most important of a number of macros defined by Libtool: - -@defmac LT_PREREQ (@var{version}) -Ensure that a recent enough version of Libtool is being used. If the -version of Libtool used for @code{LT_INIT} is earlier than -@var{version}, print an error message to the standard -error output and exit with failure (exit status is 63). For example: - -@example -LT_PREREQ([@value{VERSION}]) -@end example -@end defmac - -@defmac LT_INIT (@var{options}) -@defmacx AC_PROG_LIBTOOL -@defmacx AM_PROG_LIBTOOL -Add support for the @option{--enable-shared}, @option{--disable-shared}, -@option{--enable-static}, @option{--disable-static}, @option{--with-pic}, and -@option{--without-pic} @code{configure} flags.@footnote{@code{LT_INIT} requires -that you define the @file{Makefile} variable @code{top_builddir} in your -@file{Makefile.in}. Automake does this automatically, but Autoconf -users should set it to the relative path to the top of your build -directory (@file{../..}, for example).} @code{AC_PROG_LIBTOOL} and -@code{AM_PROG_LIBTOOL} are deprecated names for older versions of this macro; -@code{autoupdate} will upgrade your @file{configure.ac} files. - -By default, this macro turns on shared libraries if they are available, -and also enables static libraries if they don't conflict with the shared -libraries. You can modify these defaults by passing either -@code{disable-shared} or @code{disable-static} in the option list to -@code{LT_INIT}, or using @code{AC_DISABLE_SHARED} or @code{AC_DISABLE_STATIC}. - -@example -# Turn off shared libraries during beta-testing, since they -# make the build process take too long. -LT_INIT([disable-shared]) -@end example - -The user may specify modified forms of the configure flags -@option{--enable-shared} and @option{--enable-static} to choose whether -shared or static libraries are built based on the name of the package. -For example, to have shared @samp{bfd} and @samp{gdb} libraries built, -but not shared @samp{libg++}, you can run all three @code{configure} -scripts as follows: - -@example -trick$ ./configure --enable-shared=bfd,gdb -@end example - -In general, specifying @option{--enable-shared=@var{pkgs}} is the same as -configuring with @option{--enable-shared} every package named in the -comma-separated @var{pkgs} list, and every other package with -@option{--disable-shared}. The @option{--enable-static=@var{pkgs}} flag -behaves similarly, but it uses @option{--enable-static} and -@option{--disable-static}. The same applies to the -@option{--enable-fast-install=@var{pkgs}} flag, which uses -@option{--enable-fast-install} and @option{--disable-fast-install}. - -The package name @samp{default} matches any packages that have not set -their name in the @code{PACKAGE} environment variable. - -The @option{--with-pic} and @option{--without-pic} configure flags can be used -to specify whether or not @command{libtool} uses PIC objects. By default, -@command{libtool} uses PIC objects for shared libraries and non-PIC objects for -static libraries. The @option{--with-pic} option also accepts a comma-separated -list of package names. Specifying @option{--with-pic=@var{pkgs}} is the same -as configuring every package in @var{pkgs} with @option{--with-pic} and every -other package with the default configuration. The package name @samp{default} -is treated the same as for @option{--enable-shared} and -@option{--enable-static}. - -This macro also sets the shell variable @code{LIBTOOL_DEPS}, that you -can use to automatically update the libtool script if it becomes -out-of-date. In order to do that, add to your @file{configure.ac}: - -@example -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -@end example - -and, to @file{Makefile.in} or @file{Makefile.am}: - -@example -LIBTOOL_DEPS = @@LIBTOOL_DEPS@@ -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status libtool -@end example - -If you are using GNU Automake, you can omit the assignment, as Automake -will take care of it. You'll obviously have to create some dependency -on @file{libtool}. - -Aside from @code{disable-static} and @code{disable-shared}, there are -other options that you can pass to @code{LT_INIT} to modify its -behaviour. Here is a full list: - -@table @samp -@item dlopen -Enable checking for dlopen support. This option should be used if -the package makes use of the @option{-dlopen} and @option{-dlpreopen} -libtool flags, otherwise libtool will assume that the system does not -support dlopening. - -@item win32-dll -This option should be used if the package has been ported to build clean -dlls on win32 platforms. Usually this means that any library data items -are exported with @code{__declspec(dllexport)} and imported with -@code{__declspec(dllimport)}. If this option is not used, libtool will -assume that the package libraries are not dll clean and will build only -static libraries on win32 hosts. - -Provision must be made to pass @option{-no-undefined} to @code{libtool} -in link mode from the package @code{Makefile}. Naturally, if you pass -@option{-no-undefined}, you must ensure that all the library symbols -@strong{really are} defined at link time! - -@item aix-soname=aix -@itemx aix-soname=svr4 -@itemx aix-soname=both -Enable the @option{--with-aix-soname} to @command{configure}, which the -user can pass to override the given default. - -By default (and @strong{always} in releases prior to 2.4.4), Libtool always -behaves as if @code{aix-soname=aix} is given, with no @command{configure} -option for the user to override. Specifically, when the @option{-brtl} linker -flag is seen in @code{LDFLAGS} at build-time, static archives are built from -static objects only, otherwise, traditional AIX shared library archives of -shared objects using in-archive versioning are built (with the @code{.a} file -extension!). Similarly, with @option{-brtl} in @code{LDFLAGS}, libtool -shared archives are built from shared objects, without any filename-based -versioning; and without @option{-brtl} no shared archives are built at all. - -When @code{aix-soname=svr4} option is given, or the -@option{--with-aix-soname=svr4} @command{configure} option is passed, static -archives are always created from static objects, even without @option{-brtl} -in @code{LDFLAGS}. Shared archives are made from shared objects, and filename -based versioning is enabled. - -When @code{aix-soname=both} option is given, or the -@option{--with-aix-soname=svr4} @command{configure} option is passed, static -archives are built traditionally (as @option{aix-soname=aix}), and both -kinds of shared archives are built. The @code{.la} pseudo-archive specifies -one or the other depending on whether @option{-brtl} is specified in -@code{LDFLAGS} when the library is built. - -@item disable-fast-install -Change the default behaviour for @code{LT_INIT} to disable -optimization for fast installation. The user may still override this -default, depending on platform support, by specifying -@option{--enable-fast-install} to @command{configure}. - -@item shared -Change the default behaviour for @code{LT_INIT} to enable -shared libraries. This is the default on all systems where -Libtool knows how to create shared libraries. -The user may still override this default by specifying -@option{--disable-shared} to @command{configure}. - -@item disable-shared -Change the default behaviour for @code{LT_INIT} to disable -shared libraries. The user may still override this default by -specifying @option{--enable-shared} to @command{configure}. - -@item static -Change the default behaviour for @code{LT_INIT} to enable -static libraries. This is the default on all systems where -shared libraries have been disabled for some reason, and on -most systems where shared libraries have been enabled. -If shared libraries are enabled, the user may still override -this default by specifying @option{--disable-static} to -@command{configure}. - -@item disable-static -Change the default behaviour for @code{LT_INIT} to disable -static libraries. The user may still override this default by -specifying @option{--enable-static} to @command{configure}. - -@item pic-only -Change the default behaviour for @command{libtool} to try to use only -PIC objects. The user may still override this default by specifying -@option{--without-pic} to @command{configure}. - -@item no-pic -Change the default behaviour of @command{libtool} to try to use only -non-PIC objects. The user may still override this default by -specifying @option{--with-pic} to @command{configure}. - -@end table - -@end defmac - -@defmac LT_LANG (@var{language}) -Enable @command{libtool} support for the language given if it -has not yet already been enabled. Languages accepted are ``C++'', -``Fortran 77'', ``Java'', ``Go'', and ``Windows Resource''. - -If Autoconf language support macros such as @code{AC_PROG_CXX} are -used in your @file{configure.ac}, Libtool language support will automatically -be enabled. - -Conversely using @code{LT_LANG} to enable language support for Libtool -will automatically enable Autoconf language support as well. - -Both of the following examples are therefore valid ways of adding C++ -language support to Libtool. - -@example -LT_INIT -LT_LANG([C++]) -@end example - -@example -LT_INIT -AC_PROG_CXX -@end example - -@end defmac - -@defmac AC_LIBTOOL_DLOPEN -This macro is deprecated, the @samp{dlopen} option to @code{LT_INIT} should be -used instead. -@end defmac - -@defmac AC_LIBTOOL_WIN32_DLL -This macro is deprecated, the @samp{win32-dll} option to @code{LT_INIT} should -be used instead. -@end defmac - -@defmac AC_DISABLE_FAST_INSTALL -This macro is deprecated, the @samp{disable-fast-install} option to @code{LT_INIT} -should be used instead. -@end defmac - -@defmac AC_DISABLE_SHARED -@defmacx AM_DISABLE_SHARED -Change the default behaviour for @code{LT_INIT} to disable shared libraries. -The user may still override this default by specifying @samp{--enable-shared}. -The option @samp{disable-shared} to @code{LT_INIT} is a shorthand for this. -@code{AM_DISABLE_SHARED} is a deprecated alias for @code{AC_DISABLE_SHARED}. -@end defmac - -@defmac AC_ENABLE_SHARED -@defmacx AM_ENABLE_SHARED -Change the default behaviour for @code{LT_INIT} to enable shared libraries. -This is the default on all systems where Libtool knows how to create -shared libraries. The user may still override this default by specifying -@samp{--disable-shared}. The option @samp{shared} to @code{LT_INIT} is a -shorthand for this. -@code{AM_ENABLE_SHARED} is a deprecated alias for @code{AC_ENABLE_SHARED}. -@end defmac - -@defmac AC_DISABLE_STATIC -@defmacx AM_DISABLE_STATIC -Change the default behaviour for @code{LT_INIT} to disable static libraries. -The user may still override this default by specifying @samp{--enable-static}. -The option @samp{disable-static} to @code{LT_INIT} is a shorthand for this. -@code{AM_DISABLE_STATIC} is a deprecated alias for @code{AC_DISABLE_STATIC}. -@end defmac - -@defmac AC_ENABLE_STATIC -@defmacx AM_ENABLE_STATIC -Change the default behaviour for @code{LT_INIT} to enable static libraries. -This is the default on all systems where shared libraries have been disabled -for some reason, and on most systems where shared libraries have been enabled. -If shared libraries are enabled, the user may still override this default by -specifying @samp{--disable-static}. The option @samp{static} to @code{LT_INIT} -is a shorthand for this. -@code{AM_ENABLE_STATIC} is a deprecated alias for @code{AC_ENABLE_STATIC}. -@end defmac - -The tests in @code{LT_INIT} also recognize the following -environment variables: - -@defvar CC -The C compiler that will be used by the generated @code{libtool}. If -this is not set, @code{LT_INIT} will look for @command{gcc} or -@command{cc}. -@end defvar - -@defvar CFLAGS -Compiler flags used to generate standard object files. If this is not -set, @code{LT_INIT} will not use any such flags. It affects -only the way @code{LT_INIT} runs tests, not the produced -@code{libtool}. -@end defvar - -@defvar CPPFLAGS -C preprocessor flags. If this is not set, @code{LT_INIT} will -not use any such flags. It affects only the way @code{LT_INIT} -runs tests, not the produced @code{libtool}. -@end defvar - -@defvar LD -The system linker to use (if the generated @code{libtool} requires one). -If this is not set, @code{LT_INIT} will try to find out what is -the linker used by @code{CC}. -@end defvar - -@defvar LDFLAGS -The flags to be used by @code{libtool} when it links a program. If -this is not set, @code{LT_INIT} will not use any such flags. It -affects only the way @code{LT_INIT} runs tests, not the produced -@code{libtool}. -@end defvar - -@defvar LIBS -The libraries to be used by @code{LT_INIT} when it links a -program. If this is not set, @code{LT_INIT} will not use any -such flags. It affects only the way @code{LT_INIT} runs tests, -not the produced @code{libtool}. -@end defvar - -@defvar NM -Program to use rather than checking for @command{nm}. -@end defvar - -@defvar RANLIB -Program to use rather than checking for @command{ranlib}. -@end defvar - -@defvar LN_S -A command that creates a link of a program, a soft-link if possible, a -hard-link otherwise. @code{LT_INIT} will check for a suitable -program if this variable is not set. -@end defvar - -@defvar DLLTOOL -Program to use rather than checking for @command{dlltool}. Only meaningful -for Cygwin/MS-Windows. -@end defvar - -@defvar OBJDUMP -Program to use rather than checking for @command{objdump}. Only meaningful -for Cygwin/MS-Windows. -@end defvar - -@defvar AS -Program to use rather than checking for @command{as}. Only used on -Cygwin/MS-Windows at the moment. -@end defvar - -@defvar MANIFEST_TOOL -Program to use rather than checking for @command{mt}, the Manifest Tool. -Only used on Cygwin/MS-Windows at the moment. -@end defvar - -@defvar LT_SYS_LIBRARY_PATH -Libtool has heuristics for the system search path for runtime-loaded -libraries. If the guessed default does not match the setup of the host -system, this variable can be used to modify that path list, as follows -(@code{LT_SYS_LIBRARY_PATH} is a colon-delimited list like @code{PATH}): -@itemize @bullet -@item @code{path:} -The heuristically determined paths will be appened after the trailing -colon; -@item @code{:path} -The heuristically determined paths will be prepended before the leading -colon; -@item @code{path::path} -The heuristically determined paths will be inserted between the double -colons; -@item @code{path} -With no dangling colons, the heuristically determined paths will be -ignored entirely. -@end itemize -@end defvar - -With 1.3 era libtool, if you wanted to know any details of what -libtool had discovered about your architecture and environment, you -had to run the script with @option{--config} and grep through the -results. This idiom was supported up to and including 1.5.x era -libtool, where it was possible to call the generated libtool script -from @file{configure.ac} as soon as @code{LT_INIT} had -completed. However, one of the features of libtool 1.4 was that the -libtool configuration was migrated out of a separate @file{ltconfig} -file, and added to the @code{LT_INIT} macro (nee @code{AC_PROG_LIBTOOL}), -so the results of the configuration tests were available directly to code in -@file{configure.ac}, rendering the call out to the generated libtool -script obsolete. - -Starting with libtool 2.0, the multipass generation of the libtool -script has been consolidated into a single @file{config.status} pass, -which happens after all the code in @file{configure.ac} has -completed. The implication of this is that the libtool script does -not exist during execution of code from @file{configure.ac}, and so -obviously it cannot be called for @option{--config} details anymore. If -you are upgrading projects that used this idiom to libtool 2.0 or -newer, you should replace those calls with direct references to the -equivalent Autoconf shell variables that are set by the configure time -tests before being passed to @file{config.status} for inclusion in the -generated libtool script. - -@defmac LT_OUTPUT -By default, the configured @file{libtool} script is generated by the -call to @code{AC_OUTPUT} command, and there is rarely any need to use -@file{libtool} from @file{configure}. However, sometimes it is -necessary to run configure time compile and link tests using -@file{libtool}. You can add @code{LT_OUTPUT} to your -@file{configure.ac} any time after @code{LT_INIT} and any -@code{LT_LANG} calls; that done, @file{libtool} will be created by a -specially generated @file{config.lt} file, and available for use in -later tests. - -Also, when @code{LT_OUTPUT} is used, for backwards compatibility with -Automake regeneration rules, @file{config.status} will call -@file{config.lt} to regenerate @file{libtool}, rather than generating -the file itself. -@end defmac - -@pindex aclocal -When you invoke the @command{libtoolize} program (@pxref{Invoking -libtoolize}), it will tell you where to find a definition of -@code{LT_INIT}. If you use Automake, the @command{aclocal} program -will automatically add @code{LT_INIT} support to your -@file{configure} script when it sees the invocation of @code{LT_INIT} -in @file{configure.ac}. - -Because of these changes, and the runtime version compatibility checks -Libtool now executes, we now advise @strong{against} including a copy of -@file{libtool.m4} (and brethren) in @file{acinclude.m4}. Instead, -you should set your project macro directory with -@code{AC_CONFIG_MACRO_DIRS}. When you @command{libtoolize} your -project, a copy of the relevant macro definitions will be placed in -your @code{AC_CONFIG_MACRO_DIRS}, where @command{aclocal} can reference -them directly from @file{aclocal.m4}. - - -@node Configure notes -@subsection Platform-specific configuration notes - -While Libtool tries to hide as many platform-specific features as possible, -some have to be taken into account when configuring either the Libtool package -or a libtoolized package. - -@include notes.texi - - -@node Distributing -@section Including libtool in your package - -In order to use libtool, you need to include the following files with -your package: - -@table @file -@item config.guess -@pindex config.guess -Attempt to guess a canonical system name. - -@item config.sub -@pindex config.sub -Canonical system name validation subroutine script. - -@item install-sh -@pindex install-sh -BSD-compatible @command{install} replacement script. - -@item ltmain.sh -@pindex ltmain.sh -A generic script implementing basic libtool functionality. -@end table - -Note that the libtool script itself should @emph{not} be included with -your package. @xref{Configuring}. - -You should use the @command{libtoolize} program, rather than manually -copying these files into your package. - -@menu -* Invoking libtoolize:: @code{libtoolize} command line options. -* Autoconf and LTLIBOBJS:: Autoconf automates LTLIBOBJS generation. -@end menu - -@node Invoking libtoolize -@subsection Invoking @command{libtoolize} -@pindex libtoolize -@cindex libtoolize command options -@cindex command options, libtoolize -@cindex options, libtoolize command - -The @command{libtoolize} program provides a standard way to add libtool -support to your package. In the future, it may implement better usage -checking, or other features to make libtool even easier to use. - -The @command{libtoolize} program has the following synopsis: - -@example -libtoolize [@var{option}]@dots{} -@end example - -@noindent -and accepts the following options: - -@table @option - -@item --copy -@itemx -c -Copy files from the libtool data directory rather than creating -symlinks. - -@item --debug -Dump a trace of shell script execution to standard output. This -produces a lot of output, so you may wish to pipe it to @command{less} (or -@command{more}) or redirect to a file. - -@item --dry-run -@itemx -n -Don't run any commands that modify the file system, just print them -out. - -@item --force -@itemx -f -Replace existing libtool files. By default, @command{libtoolize} won't -overwrite existing files. - -@item --help -Display a help message and exit. - -@item --ltdl [@var{target-directory-name}] -Install libltdl in the @var{target-directory-name} subdirectory of -your package. Normally, the directory is extracted from the argument -to @code{LT_CONFIG_LTDL_DIR} in @file{configure.ac}, though you can -also specify a subdirectory name here if you are not using Autoconf -for example. If @command{libtoolize} can't determine the target -directory, @samp{libltdl} is used as the default. - -@item --no-warn -Normally, Libtoolize tries to diagnose use of deprecated libtool macros -and other stylistic issues. If you are deliberately using outdated -calling conventions, this option prevents Libtoolize from explaining -how to update your project's Libtool conventions. - -@item --nonrecursive -If passed in conjunction with @option{--ltdl}, this option will cause -the @command{libltdl} installed by @samp{libtoolize} to be set up for -use with a non-recursive @command{automake} build. To make use of it, -you will need to add the following to the @file{Makefile.am} of the -parent project: - -@example -## libltdl/ltdl.mk @r{appends to the following variables} -## @r{so we set them here before including it:} -BUILT_SOURCES = - -AM_CPPFLAGS = -AM_LDFLAGS = - -include_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -EXTRA_DIST = - -CLEANFILES = -MOSTLYCLEANFILES = - -include libltdl/ltdl.mk -@end example - -@noindent - -@item --quiet -@itemx -q -Work silently. @samp{libtoolize --quiet} is used by GNU Automake -to add libtool files to your package if necessary. - -@item --recursive -If passed in conjunction with @option{--ltdl}, this option will cause -the @command{libtoolize} installed @samp{libltdl} to be set up for use -with a recursive @command{automake} build. To make use of it, you -will need to adjust the parent project's @file{configure.ac}: - -@example -AC_CONFIG_FILES([libltdl/Makefile]) -@end example - -@noindent -and @file{Makefile.am}: - -@example -SUBDIRS += libltdl -@end example - -@item --subproject -If passed in conjunction with @option{--ltdl}, this option will cause -the @command{libtoolize} installed @samp{libltdl} to be set up for -independent configuration and compilation as a self-contained -subproject. To make use of it, you should arrange for your build to -call @command{libltdl/configure}, and then run @command{make} in the -@file{libltdl} directory (or the subdirectory you put libltdl into). -If your project uses Autoconf, you can use the supplied -@samp{LT_WITH_LTDL} macro, or else call @samp{AC_CONFIG_SUBDIRS} -directly. - -Previous releases of @samp{libltdl} built exclusively in this mode, -but now it is the default mode both for backwards compatibility and -because, for example, it is suitable for use in projects that wish to -use @samp{libltdl}, but not use the Autotools for their own build -process. - -@item --verbose -@itemx -v -Work noisily! Give a blow by blow account of what -@command{libtoolize} is doing. - -@item --version -Print @command{libtoolize} version information and exit. -@end table - -@cindex LIBTOOLIZE_OPTIONS -Sometimes it can be useful to pass options to @command{libtoolize} even -though it is called by another program, such as @command{autoreconf}. A -limited number of options are parsed from the environment variable -@code{LIBTOOLIZE_OPTIONS}: currently @option{--debug}, @option{--no-warn}, -@option{--quiet} and @option{--verbose}. Multiple options passed in -@code{LIBTOOLIZE_OPTIONS} must be separated with a space, comma or a -colon. - -By default, a warning is issued for unknown options found in -@code{LIBTOOLIZE_OPTIONS} unless the first such option is -@option{--no-warn}. Where @command{libtoolize} has always quit -on receipt of an unknown option at the command line, this and all -previous releases of @command{libtoolize} will continue unabated whatever -the content of @code{LIBTOOLIZE_OPTIONS} (modulo some possible warning -messages). - -@example -trick$ @kbd{LIBTOOLIZE_OPTIONS=--no-warn,--quiet autoreconf --install} -@end example - -@findex AC_CONFIG_MACRO_DIRS -If @command{libtoolize} detects an explicit call to -@code{AC_CONFIG_MACRO_DIRS} (@pxref{Input, , The Autoconf Manual, -autoconf, The Autoconf Manual}) in your @file{configure.ac}, it will -put the Libtool macros in the specified directory. - -In the future other Autotools will automatically check the contents of -@code{AC_CONFIG_MACRO_DIRS}, but at the moment it is more portable to -add the macro directory to @code{ACLOCAL_AMFLAGS} in -@file{Makefile.am}, which is where the tools currently look. If -@command{libtoolize} doesn't see @code{AC_CONFIG_MACRO_DIRS}, it too -will honour the first @samp{-I} argument in @code{ACLOCAL_AMFLAGS} -when choosing a directory to store libtool configuration macros in. -It is perfectly sensible to use both @code{AC_CONFIG_MACRO_DIRS} and -@code{ACLOCAL_AMFLAGS}, as long as they are kept in synchronisation. - -@example -ACLOCAL_AMFLAGS = -I m4 -@end example - -When you bootstrap your project with @command{aclocal}, then you will -need to explicitly pass the same macro directory with -@command{aclocal}'s @samp{-I} flag: - -@example -trick$ @kbd{aclocal -I m4} -@end example - -@findex AC_CONFIG_AUX_DIR -If @command{libtoolize} detects an explicit call to -@code{AC_CONFIG_AUX_DIR} (@pxref{Input, , The Autoconf Manual, -autoconf, The Autoconf Manual}) in your @file{configure.ac}, it -will put the other support files in the specified directory. -Otherwise they too end up in the project root directory. - -Unless @option{--no-warn} is passed, @command{libtoolize} displays -hints for adding libtool support to your package, as well. - -@node Autoconf and LTLIBOBJS -@subsection Autoconf and @code{LTLIBOBJS} - -People used to add code like the following to their -@file{configure.ac}: - -@cindex LTLIBOBJS -@example -LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'` -AC_SUBST([LTLIBOBJS]) -@end example - -@noindent -This is no longer required (since Autoconf 2.54), and doesn't take -Automake's deansification support into account either, so doesn't work -correctly even with ancient Autoconfs! - -Provided you are using a recent (2.54 or better) incarnation of -Autoconf, the call to @code{AC_OUTPUT} takes care of setting -@code{LTLIBOBJS} up correctly, so you can simply delete such snippets -from your @file{configure.ac} if you had them. - - -@node Static-only libraries -@section Static-only libraries -@cindex debugging libraries -@cindex developing libraries -@cindex double-compilation, avoiding -@cindex avoiding shared libraries -@cindex eliding shared libraries -@cindex using shared libraries, not -@cindex shared libraries, not using -@cindex time, saving -@cindex saving time - -When you are developing a package, it is often worthwhile to configure -your package with the @option{--disable-shared} flag, or to override the -defaults for @code{LT_INIT} by using the @code{disable-shared} option -(@pxref{LT_INIT, , The @code{LT_INIT} macro}). This prevents libtool -from building shared libraries, which has several advantages: - -@itemize @bullet -@item -compilation is twice as fast, which can speed up your development cycle, - -@item -debugging is easier because you don't need to deal with any complexities -added by shared libraries, and - -@item -you can see how libtool behaves on static-only platforms. -@end itemize - -You may want to put a small note in your package @file{README} to let -other developers know that @option{--disable-shared} can save them time. -The following example note is taken from the GIMP@footnote{GNU Image -Manipulation Program, for those who haven't taken the plunge. See -@url{http://www.gimp.org/}.} distribution @file{README}: - -@example -The GIMP uses GNU Libtool to build shared libraries on a -variety of systems. While this is very nice for making usable -binaries, it can be a pain when trying to debug a program. For that -reason, compilation of shared libraries can be turned off by -specifying the @option{--disable-shared} option to @file{configure}. -@end example - - -@node Other languages -@chapter Using libtool with other languages -@cindex C, not using -@cindex languages, non-C -@cindex C++, using - -Libtool was first implemented to add support for writing shared -libraries in the C language. However, over time, libtool is being -integrated with other languages, so that programmers are free to reap -the benefits of shared libraries in their favorite programming language. - -This chapter describes how libtool interacts with other languages, -and what special considerations you need to make if you do not use C. - -@menu -* C++ libraries:: Writing libraries for C++ -* Tags:: Tags -@end menu - -@node C++ libraries -@section Writing libraries for C++ -@c FIXME: in the TOC, the ++ is too large (seems to be math mode) -@cindex trouble with C++ -@cindex pitfalls using C++ -@cindex C++, pitfalls - -Creating libraries of C++ code should be a fairly straightforward -process, because its object files differ from C ones in only three ways: - -@enumerate 1 -@item -Because of name mangling, C++ libraries are only usable by the C++ -compiler that created them. This decision was made by the designers of -C++ to protect users from conflicting implementations of -features such as constructors, exception handling, and RTTI. - -@item -On some systems, the C++ compiler must take special actions for the -dynamic linker to run dynamic (i.e., run-time) initializers. This means -that we should not call @command{ld} directly to link such libraries, and -we should use the C++ compiler instead. - -@item -C++ compilers will link some Standard C++ library in by default, but -libtool does not know what these libraries are, so it cannot even run -the inter-library dependence analyzer to check how to link it in. -Therefore, running @command{ld} to link a C++ program or library is deemed -to fail. -@end enumerate - -Because of these three issues, Libtool has been designed to always use -the C++ compiler to compile and link C++ programs and libraries. In -some instances the @code{main()} function of a program must also be -compiled with the C++ compiler for static C++ objects to be properly -initialized. - -@node Tags -@section Tags -@cindex tag names -@cindex language names -@cindex inferring tags - -Libtool supports multiple languages through the use of tags. Technically -a tag corresponds to a set of configuration variables associated with a -language. These variables tell @command{libtool} how it should create -objects and libraries for each language. - -Tags are defined at @command{configure}-time for each language activated -in the package (see @code{LT_LANG} in @ref{LT_INIT}). Here is the -correspondence between language names and tags names. - -@multitable {Windows Resource} {Tag name} -@item Language name @tab Tag name -@item C @tab CC -@item C++ @tab CXX -@item Java @tab GCJ -@item Fortran 77 @tab F77 -@item Fortran @tab FC -@item Go @tab GO -@item Windows Resource @tab RC -@end multitable - -@command{libtool} tries to automatically infer what tag to use from -the compiler command being used to compile or link. If it can't infer -a tag, then it defaults to the configuration for the @code{C} language. - -The tag can also be specified using @command{libtool}'s -@option{--tag=@var{tag}} option (@pxref{Invoking libtool}). It is a good -idea to do so in @file{Makefile} rules, because that will allow users to -substitute the compiler without relying on @command{libtool} inference -heuristics. When no tag is specified, @command{libtool} will default -to @code{CC}; this tag always exists. - -Finally, the set of tags available in a particular project can be -retrieved by tracing for the @code{LT_SUPPORTED_TAG} macro (@pxref{Trace -interface}). - -@node Versioning -@chapter Library interface versions -@cindex dynamic dependencies -@cindex dependency versioning -@cindex shared library versions - -The most difficult issue introduced by shared libraries is that of -creating and resolving runtime dependencies. Dependencies on programs -and libraries are often described in terms of a single name, such as -@command{sed}. So, one may say ``libtool depends on sed,'' and that is -good enough for most purposes. - -However, when an interface changes regularly, we need to be more -specific: ``Gnus 5.1 requires Emacs 19.28 or above.'' Here, the -description of an interface consists of a name, and a ``version -number.'' - -Even that sort of description is not accurate enough for some purposes. -What if Emacs 20 changes enough to break Gnus 5.1? - -The same problem exists in shared libraries: we require a formal version -system to describe the sorts of dependencies that programs have on -shared libraries, so that the dynamic linker can guarantee that programs -are linked only against libraries that provide the interface they -require. - -@menu -* Interfaces:: What are library interfaces? -* Libtool versioning:: Libtool's versioning system. -* Updating version info:: Changing version information before releases. -* Release numbers:: Breaking binary compatibility for aesthetics. -@end menu - -@node Interfaces -@section What are library interfaces? -@cindex library interfaces - -Interfaces for libraries may be any of the following (and more): - -@itemize @bullet -@item -global variables: both names and types - -@item -global functions: argument types and number, return types, and function names - -@item -standard input, standard output, standard error, and file formats - -@item -sockets, pipes, and other inter-process communication protocol formats -@end itemize - -Note that static functions do not count as interfaces, because they are -not directly available to the user of the library. - -@node Libtool versioning -@section Libtool's versioning system -@cindex libtool library versions -@cindex formal versioning -@cindex versioning, formal - -Libtool has its own formal versioning system. It is not as flexible as -some, but it is definitely the simplest of the more powerful versioning -systems. - -Think of a library as exporting several sets of interfaces, arbitrarily -represented by integers. When a program is linked against a library, it -may use any subset of those interfaces. - -Libtool's description of the interfaces that a program uses is simple: -it encodes the least and the greatest interface numbers in the resulting -binary (@var{first-interface}, @var{last-interface}). - -The dynamic linker is guaranteed that if a library supports @emph{every} -interface number between @var{first-interface} and @var{last-interface}, -then the program can be relinked against that library. - -Note that this can cause problems because libtool's compatibility -requirements are actually stricter than is necessary. - -Say @file{libhello} supports interfaces 5, 16, 17, 18, and 19, and that -libtool is used to link @file{test} against @file{libhello}. - -Libtool encodes the numbers 5 and 19 in @file{test}, and the dynamic -linker will only link @file{test} against libraries that support -@emph{every} interface between 5 and 19. So, the dynamic linker refuses -to link @file{test} against @file{libhello}! - -In order to eliminate this problem, libtool only allows libraries to -declare consecutive interface numbers. So, @file{libhello} can declare at -most that it supports interfaces 16 through 19. Then, the dynamic -linker will link @file{test} against @file{libhello}. - -So, libtool library versions are described by three integers: - -@table @var -@item current -The most recent interface number that this library implements. - -@item revision -The implementation number of the @var{current} interface. - -@item age -The difference between the newest and oldest interfaces that this -library implements. In other words, the library implements all the -interface numbers in the range from number @code{@var{current} - -@var{age}} to @code{@var{current}}. -@end table - -If two libraries have identical @var{current} and @var{age} numbers, -then the dynamic linker chooses the library with the greater -@var{revision} number. - -@node Updating version info -@section Updating library version information - -If you want to use libtool's versioning system, then you must specify -the version information to libtool using the @option{-version-info} flag -during link mode (@pxref{Link mode}). - -This flag accepts an argument of the form -@samp{@var{current}[:@var{revision}[:@var{age}]]}. So, passing -@option{-version-info 3:12:1} sets @var{current} to 3, @var{revision} to -12, and @var{age} to 1. - -If either @var{revision} or @var{age} are omitted, they default to 0. -Also note that @var{age} must be less than or equal to the @var{current} -interface number. - -Here are a set of rules to help you update your library version -information: - -@enumerate 1 -@item -Start with version information of @samp{0:0:0} for each libtool library. - -@item -Update the version information only immediately before a public release -of your software. More frequent updates are unnecessary, and only -guarantee that the current interface number gets larger faster. - -@item -If the library source code has changed at all since the last update, -then increment @var{revision} (@samp{@var{c}:@var{r}:@var{a}} becomes -@samp{@var{c}:@math{r+1}:@var{a}}). - -@item -If any interfaces have been added, removed, or changed since the last -update, increment @var{current}, and set @var{revision} to 0. - -@item -If any interfaces have been added since the last public release, then -increment @var{age}. - -@item -If any interfaces have been removed or changed since the last public -release, then set @var{age} to 0. -@end enumerate - -@strong{@emph{Never}} try to set the interface numbers so that they -correspond to the release number of your package. This is an abuse that -only fosters misunderstanding of the purpose of library versions. -Instead, use the @option{-release} flag (@pxref{Release numbers}), but be -warned that every release of your package will not be binary compatible -with any other release. - -The following explanation may help to understand the above rules a bit -better: consider that there are three possible kinds of reactions from -users of your library to changes in a shared library: - -@enumerate 1 -@item -Programs using the previous version may use the new version as -drop-in replacement, and programs using the new version can also work -with the previous one. In other words, no recompiling nor relinking -is needed. In this case, bump @var{revision} only, don't touch -@var{current} nor @var{age}. - -@item -Programs using the previous version may use the new version as -drop-in replacement, but programs using the new version may use APIs not -present in the previous one. In other words, a program linking against -the new version may fail with ``unresolved symbols'' if linking against -the old version at runtime: set @var{revision} to 0, bump @var{current} -and @var{age}. - -@item -Programs may need to be changed, recompiled, and relinked in order to use -the new version. Bump @var{current}, set @var{revision} and @var{age} -to 0. -@end enumerate - -@noindent -In the above description, @emph{programs} using the library in question -may also be replaced by other libraries using it. - - -@node Release numbers -@section Managing release information - -Often, people want to encode the name of the package release into the -shared library so that it is obvious to the user what package their -programs are linked against. This convention is used especially on -GNU/Linux: - -@example -trick$ @kbd{ls /usr/lib/libbfd*} -/usr/lib/libbfd.a /usr/lib/libbfd.so.2.7.0.2 -/usr/lib/libbfd.so -trick$ -@end example - -On @samp{trick}, @file{/usr/lib/libbfd.so} is a symbolic link to -@file{libbfd.so.2.7.0.2}, which was distributed as a part of -@samp{binutils-2.7.0.2}. - -Unfortunately, this convention conflicts directly with libtool's idea of -library interface versions, because the library interface rarely changes -at the same time that the release number does, and the library suffix is -never the same across all platforms. - -So, to accommodate both views, you can use the @option{-release} -flag to set release information for libraries for which you do not -want to use @option{-version-info}. For the @file{libbfd} example, the -next release that uses libtool should be built with @samp{-release -2.9.0}, which will produce the following files on GNU/Linux: - -@example -trick$ @kbd{ls /usr/lib/libbfd*} -/usr/lib/libbfd-2.9.0.so /usr/lib/libbfd.a -/usr/lib/libbfd.so -trick$ -@end example - -In this case, @file{/usr/lib/libbfd.so} is a symbolic link to -@file{libbfd-2.9.0.so}. This makes it obvious that the user is dealing -with @samp{binutils-2.9.0}, without compromising libtool's idea of -interface versions. - -Note that this option causes a modification of the library name, so do -not use it unless you want to break binary compatibility with any past -library releases. In general, you should only use @option{-release} for -package-internal libraries or for ones whose interfaces change very -frequently. - -@node Library tips -@chapter Tips for interface design -@cindex library interfaces, design -@cindex design of library interfaces - -Writing a good library interface takes a lot of practice and thorough -understanding of the problem that the library is intended to solve. - -If you design a good interface, it won't have to change often, you won't -have to keep updating documentation, and users won't have to keep -relearning how to use the library. - -Here is a brief list of tips for library interface design that may -help you in your exploits: - -@table @asis -@item Plan ahead -Try to make every interface truly minimal, so that you won't need to -delete entry points very often. - -@item Avoid interface changes -@cindex renaming interface functions -Some people love redesigning and changing entry points just for the heck -of it (note: @emph{renaming} a function is considered changing an entry -point). Don't be one of those people. If you must redesign an -interface, then try to leave compatibility functions behind so that -users don't need to rewrite their existing code. - -@item Use opaque data types -@cindex opaque data types -The fewer data type definitions a library user has access to, the -better. If possible, design your functions to accept a generic pointer -(that you can cast to an internal data type), and provide access -functions rather than allowing the library user to directly manipulate -the data. -That way, you have the freedom to change the data structures without -changing the interface. - -This is essentially the same thing as using abstract data types and -inheritance in an object-oriented system. - -@item Use header files -@cindex header files -If you are careful to document each of your library's global functions -and variables in header files, and include them in your library source -files, then the compiler will let you know if you make any interface -changes by accident (@pxref{C header files}). - -@item Use the @code{static} keyword (or equivalent) whenever possible -@cindex global functions -The fewer global functions your library has, the more flexibility you'll -have in changing them. Static functions and variables may change forms -as often as you like@dots{} your users cannot access them, so they -aren't interface changes. - -@item Be careful with array dimensions -The number of elements in a global array is part of an interface, even -if the header just declares @code{extern int foo[];}. This is because -on i386 and some other SVR4/ELF systems, when an application -references data in a shared library the size of that data (whatever -its type) is included in the application executable. If you might -want to change the size of an array or string then provide a pointer -not the actual array. -@end table - -@menu -* C header files:: How to write portable include files. -@end menu - -@node C header files -@section Writing C header files -@cindex portable C headers -@cindex C header files, portable -@cindex include files, portable - -Writing portable C header files can be difficult, since they may be read -by different types of compilers: - -@table @asis -@item C++ compilers -C++ compilers require that functions be declared with full prototypes, -since C++ is more strongly typed than C@. C functions and variables also -need to be declared with the @code{extern "C"} directive, so that the -names aren't mangled. @xref{C++ libraries}, for other issues relevant -to using C++ with libtool. - -@item ANSI C compilers -ANSI C compilers are not as strict as C++ compilers, but functions -should be prototyped to avoid unnecessary warnings when the header file -is @code{#include}d. - -@item non-ANSI C compilers -Non-ANSI compilers will report errors if functions are prototyped. -@end table - -These complications mean that your library interface headers must use -some C preprocessor magic to be usable by each of the above compilers. - -@file{foo.h} in the @file{tests/demo} subdirectory of the libtool -distribution serves as an example for how to write a header file that -can be safely installed in a system directory. - -Here are the relevant portions of that file: - -@example -/* BEGIN_C_DECLS should be used at the beginning of your declarations, - so that C++ compilers don't mangle their names. Use END_C_DECLS at - the end of C declarations. */ -#undef BEGIN_C_DECLS -#undef END_C_DECLS -#ifdef __cplusplus -# define BEGIN_C_DECLS extern "C" @{ -# define END_C_DECLS @} -#else -# define BEGIN_C_DECLS /* empty */ -# define END_C_DECLS /* empty */ -#endif - -/* PARAMS is a macro used to wrap function prototypes, so that - compilers that don't understand ANSI C prototypes still work, - and ANSI C compilers can issue warnings about type mismatches. */ -#undef PARAMS -#if defined __STDC__ || defined _AIX \ - || (defined __mips && defined _SYSTYPE_SVR4) \ - || defined WIN32 || defined __cplusplus -# define PARAMS(protos) protos -#else -# define PARAMS(protos) () -#endif -@end example - -These macros are used in @file{foo.h} as follows: - -@example -#ifndef FOO_H -#define FOO_H 1 - -/* The above macro definitions. */ -#include "@dots{}" - -BEGIN_C_DECLS - -int foo PARAMS((void)); -int hello PARAMS((void)); - -END_C_DECLS - -#endif /* !FOO_H */ -@end example - -Note that the @file{#ifndef FOO_H} prevents the body of @file{foo.h} -from being read more than once in a given compilation. - -Also the only thing that must go outside the -@code{BEGIN_C_DECLS}/@code{END_C_DECLS} pair are @code{#include} lines. -Strictly speaking it is only C symbol names that need to be protected, -but your header files will be more maintainable if you have a single -pair of these macros around the majority of the header contents. - -You should use these definitions of @code{PARAMS}, @code{BEGIN_C_DECLS}, -and @code{END_C_DECLS} into your own headers. Then, you may use them to -create header files that are valid for C++, ANSI, and non-ANSI -compilers@footnote{We used to recommend @code{__P}, -@code{__BEGIN_DECLS} and @code{__END_DECLS}. This was bad advice since -symbols (even preprocessor macro names) that begin with an underscore -are reserved for the use of the compiler.}. - -Do not be naive about writing portable code. Following the tips given -above will help you miss the most obvious problems, but there are -definitely other subtle portability issues. You may need to cope with -some of the following issues: - -@itemize @bullet -@item -Pre-ANSI compilers do not always support the @code{void *} generic -pointer type, and so need to use @code{char *} in its place. - -@item -The @code{const}, @code{inline} and @code{signed} keywords are not -supported by some compilers, especially pre-ANSI compilers. - -@item -The @code{long double} type is not supported by many compilers. -@end itemize - - -@node Inter-library dependencies -@chapter Inter-library dependencies -@cindex dependencies between libraries -@cindex inter-library dependencies - -By definition, every shared library system provides a way for -executables to depend on libraries, so that symbol resolution is -deferred until runtime. - -An @dfn{inter-library dependency} is where a library depends on -other libraries. For example, if the libtool library @file{libhello} -uses the @code{cos} function, then it has an inter-library dependency -on @file{libm}, the math library that implements @code{cos}. - -Some shared library systems provide this feature in an -internally-consistent way: these systems allow chains of dependencies of -potentially infinite length. - -However, most shared library systems are restricted in that they only -allow a single level of dependencies. In these systems, programs may -depend on shared libraries, but shared libraries may not depend on other -shared libraries. - -In any event, libtool provides a simple mechanism for you to declare -inter-library dependencies: for every library @file{lib@var{name}} that -your own library depends on, simply add a corresponding -@code{-l@var{name}} option to the link line when you create your -library. To make an example of our @file{libhello} that depends on -@file{libm}: - -@example -burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \ - -rpath /usr/local/lib -lm} -burger$ -@end example - -When you link a program against @file{libhello}, you don't need to -specify the same @samp{-l} options again: libtool will do that for you, -to guarantee that all the required libraries are found. This -restriction is only necessary to preserve compatibility with static -library systems and simple dynamic library systems. - -Some platforms, such as Windows, do not even allow you this -flexibility. In order to build a shared library, it must be entirely -self-contained or it must have dependencies known at link time (that is, -have references only to symbols that are found in the @file{.lo} files -or the specified @samp{-l} libraries), and you need to specify the -@option{-no-undefined} flag. By default, libtool builds only static -libraries on these kinds of platforms. - -The simple-minded inter-library dependency tracking code of libtool -releases prior to 1.2 was disabled because it was not clear when it was -possible to link one library with another, and complex failures would -occur. A more complex implementation of this concept was re-introduced -before release 1.3, but it has not been ported to all platforms that -libtool supports. The default, conservative behavior is to avoid -linking one library with another, introducing their inter-dependencies -only when a program is linked with them. - -@node Dlopened modules -@chapter Dlopened modules -@findex dlopen -@findex dlsym -@findex dlclose -@findex shl_load -@cindex dynamic linking, applications -@cindex dlopening modules -@cindex modules, dynamic -@cindex application-level dynamic linking - -It can sometimes be confusing to discuss @dfn{dynamic linking}, because -the term is used to refer to two different concepts: - -@enumerate 1 -@item -Compiling and linking a program against a shared library, which is -resolved automatically at run time by the dynamic linker. In this -process, dynamic linking is transparent to the application. - -@item -The application calling functions such as @code{dlopen} that load -arbitrary, user-specified modules at runtime. This type of dynamic -linking is explicitly controlled by the application. -@end enumerate - -To mitigate confusion, this manual refers to the second type of dynamic -linking as @dfn{dlopening} a module. - -The main benefit to dlopening object modules is the ability to access -compiled object code to extend your program, rather than using an -interpreted language. In fact, dlopen calls are frequently used in -language interpreters to provide an efficient way to extend the -language. - -Libtool provides support for dlopened modules. However, you should -indicate that your package is willing to use such support, by using the -@code{LT_INIT} option @samp{dlopen} in @file{configure.ac}. If this -option is not given, libtool will assume no dlopening mechanism is -available, and will try to simulate it. - -This chapter discusses how you as a dlopen application developer might -use libtool to generate dlopen-accessible modules. - -@menu -* Building modules:: Creating dlopenable objects and libraries. -* Dlpreopening:: Dlopening that works on static platforms. -* Linking with dlopened modules:: Using dlopenable modules in libraries. -* Finding the dlname:: Choosing the right file to @code{dlopen}. -* Dlopen issues:: Unresolved problems that need your attention. -@end menu - -@node Building modules -@section Building modules to dlopen - -On some operating systems, a program symbol must be specially declared -in order to be dynamically resolved with the @code{dlsym} (or -equivalent) function. Libtool provides the @option{-export-dynamic} and -@option{-module} link flags (@pxref{Link mode}), for you to make that -declaration. You need to use these flags if you are linking an -application program that dlopens other modules or a libtool library -that will also be dlopened. - -For example, if we wanted to build a shared library, @file{hello}, -that would later be dlopened by an application, we would add -@option{-module} to the other link flags: - -@example -burger$ @kbd{libtool --mode=link gcc -module -o hello.la foo.lo \ - hello.lo -rpath /usr/local/lib -lm} -burger$ -@end example - -If symbols from your @emph{executable} are needed to satisfy unresolved -references in a library you want to dlopen you will have to use the flag -@option{-export-dynamic}. You should use @option{-export-dynamic} while -linking the executable that calls dlopen: - -@example -burger$ @kbd{libtool --mode=link gcc -export-dynamic -o helldl main.o} -burger$ -@end example - -@node Dlpreopening -@section Dlpreopening - -Libtool provides special support for dlopening libtool object and -libtool library files, so that their symbols can be resolved -@emph{even on platforms without any @code{dlopen} and @code{dlsym} -functions}. - -Consider the following alternative ways of loading code into your -program, in order of increasing ``laziness'': - -@enumerate 1 -@item -Linking against object files that become part of the program executable, -whether or not they are referenced. If an object file cannot be found, -then the compile time linker refuses to create the executable. - -@item -Declaring a static library to the linker, so that it is searched at link -time to satisfy any undefined references in the above object -files. If the static library cannot be found, then the compile time -linker refuses to create the executable. - -@item -Declaring a shared library to the runtime linker, so that it is searched -at runtime to satisfy any undefined references in the above -files. If the shared library cannot be found, then the dynamic linker -aborts the program before it runs. - -@item -Dlopening a module, so that the application can resolve its own, -dynamically-computed references. If there is an error opening the -module, or the module is not found, then the application can recover -without crashing. -@end enumerate - -Libtool emulates @option{-dlopen} on static platforms by linking objects -into the program at compile time, and creating data structures that -represent the program's symbol table. In order to use this feature, -you must declare the objects you want your application to dlopen by -using the @option{-dlopen} or @option{-dlpreopen} flags when you link your -program (@pxref{Link mode}). - -@deftp {Data Type} {lt_dlsymlist} typedef struct @ - @{ @w{const char *@var{name};} @w{void *@var{address};} @} lt_dlsymlist -The @var{name} attribute is a null-terminated character string of the -symbol name, such as @code{"fprintf"}. The @var{address} attribute is a -generic pointer to the appropriate object, such as @code{&fprintf}. -@end deftp - -@deftypevar {const lt_dlsymlist } lt_preloaded_symbols[] -An array of @code{lt_dlsymlist} structures, representing all the preloaded -symbols linked into the program proper. For each module -@option{-dlpreopen}ed by the Libtool linked program -there is an element with the @var{name} of the module and an @var{address} -of @code{0}, followed by all symbols exported from this file. -For the executable itself the special name @samp{@@PROGRAM@@} is used. -The last element of all has a @var{name} and @var{address} of -@code{0}. - -To facilitate inclusion of symbol lists into libraries, -@code{lt_preloaded_symbols} is @samp{#define}d to a suitably unique name -in @file{ltdl.h}. - -This variable may not be declared @code{const} on some systems due to -relocation issues. -@end deftypevar - -Some compilers may allow identifiers that are not valid in ANSI C, such -as dollar signs. Libtool only recognizes valid ANSI C symbols (an -initial ASCII letter or underscore, followed by zero or more ASCII -letters, digits, and underscores), so non-ANSI symbols will not appear -in @code{lt_preloaded_symbols}. - -@deftypefun int lt_dlpreload (const lt_dlsymlist *@var{preloaded}) -Register the list of preloaded modules @var{preloaded}. -If @var{preloaded} is @code{NULL}, then all previously registered -symbol lists, except the list set by @code{lt_dlpreload_default}, -are deleted. Return 0 on success. -@end deftypefun - -@deftypefun int lt_dlpreload_default (const lt_dlsymlist *@var{preloaded}) -Set the default list of preloaded modules to @var{preloaded}, which -won't be deleted by @code{lt_dlpreload}. Note that this function does -@emph{not} require libltdl to be initialized using @code{lt_dlinit} and -can be used in the program to register the default preloaded modules. -Instead of calling this function directly, most programs will use the -macro @code{LTDL_SET_PRELOADED_SYMBOLS}. - -Return 0 on success. -@end deftypefun - -@defmac LTDL_SET_PRELOADED_SYMBOLS -Set the default list of preloaded symbols. -Should be used in your program to initialize libltdl's -list of preloaded modules. - -@example -#include - -int main() @{ - /* ... */ - LTDL_SET_PRELOADED_SYMBOLS(); - /* ... */ -@} -@end example -@end defmac - -@deftypefn {Function Type} {int} lt_dlpreload_callback_func (lt_dlhandle @var{handle}) -Functions of this type can be passed to @code{lt_dlpreload_open}, -which in turn will call back into a function thus passed for each -preloaded module that it opens. -@end deftypefn - -@deftypefun int lt_dlpreload_open (@w{const char *@var{originator},} @w{lt_dlpreload_callback_func *@var{func})} -Load all of the preloaded modules for @var{originator}. For every -module opened in this way, call @var{func}. - -@noindent -To open all of the modules preloaded into @file{libhell.la} -(presumably from within the @file{libhell.a} initialisation code): - -@example -#define preloaded_symbols lt_libhell_LTX_preloaded_symbols - -static int hell_preload_callback (lt_dlhandle handle); - -int -hell_init (void) -@{ - @dots{} - if (lt_dlpreload (&preloaded_symbols) == 0) - @{ - lt_dlpreload_open ("libhell", preload_callback); - @} - @dots{} -@} -@end example - -@noindent -Note that to prevent clashes between multiple preloaded modules, the -preloaded symbols are accessed via a mangled symbol name: to get the -symbols preloaded into @samp{libhell}, you must prefix -@samp{preloaded_symbols} with @samp{lt_}; the originator name, -@samp{libhell} in this case; and @samp{_LTX_}. That is, -@samp{lt_libhell_LTX_preloaded_symbols} here. -@end deftypefun - - -@node Linking with dlopened modules -@section Linking with dlopened modules -@cindex linking, dlopen -@cindex linking, dlpreopen - -When, say, an interpreter application uses dlopened modules to extend -the list of methods it provides, an obvious abstraction for the -maintainers of the interpreter is to have all methods (including the -built in ones supplied with the interpreter) accessed through -dlopen. For one thing, the dlopening functionality will be tested -even during routine invocations. For another, only one subsystem has -to be written for getting methods into the interpreter. - -The downside of this abstraction is, of course, that environments that -provide only static linkage can't even load the intrinsic interpreter -methods. Not so! We can statically link those methods by -@strong{dlpreopening} them. - -Unfortunately, since platforms such as AIX and cygwin require -that all library symbols must be resolved at compile time, the -interpreter maintainers will need to provide a library to both its own -dlpreopened modules, and third-party modules loaded by dlopen. In -itself, that is not so bad, except that the interpreter too must -provide those same symbols otherwise it will be impossible to resolve -all the symbols required by the modules as they are loaded. Things -are even worse if the code that loads the modules for the interpreter -is itself in a library -- and that is usually the case for any -non-trivial application. Modern platforms take care of this by -automatically loading all of a module's dependency libraries as the -module is loaded (libltdl can do this even on platforms that can't do -it by themselves). In the end, this leads to problems with duplicated -symbols and prevents modules from loading, and prevents the -application from compiling when modules are preloaded. - -@example -,-------------. ,------------------. ,-----------------. -| Interpreter |----> Module------------> Third-party | -`-------------' | Loader | |Dlopened Modules | - | | | `-----------------' - |,-------v--------.| | - || Dlpreopened || | - || Modules || | - |`----------------'| | - | | | | - |,-------v--------.| ,--------v--------. - ||Module Interface|| |Module Interface | - || Library || | Library | - |`----------------'| `-----------------' - `------------------' -@end example - -Libtool has the concept of @dfn{weak library interfaces} to circumvent -this problem. Recall that the code that dlopens method-provider -modules for the interpreter application resides in a library: All of -the modules and the dlopener library itself should be linked against -the common library that resolves the module symbols at compile time. -To guard against duplicate symbol definitions, and for dlpreopened -modules to work at all in this scenario, the dlopener library must -declare that it provides a weak library interface to the common -symbols in the library it shares with the modules. That way, when -@command{libtool} links the @strong{Module Loader} library with some -@strong{Dlpreopened Modules} that were in turn linked against the -@strong{Module Interface Library}, it knows that the @strong{Module -Loader} provides an already loaded @strong{Module Interface Library} -to resolve symbols for the @strong{Dlpreopened Modules}, and doesn't -ask the compiler driver to link an identical @strong{Module Interface -Library} dependency library too. - -In conjunction with Automake, the @file{Makefile.am} for the -@strong{Module Loader} might look like this: - -@example -lib_LTLIBRARIES = libinterface.la libloader.la - -libinterface_la_SOURCES = interface.c interface.h -libinterface_la_LDFLAGS = -version-info 3:2:1 - -libloader_la_SOURCES = loader.c -libloader_la_LDFLAGS = -weak libinterface.la \ - -version-info 3:2:1 \ - -dlpreopen ../modules/intrinsics.la -libloader_la_LIBADD = $(libinterface_la_OBJECTS) -@end example - -And the @file{Makefile.am} for the @file{intrinsics.la} module in a -sibling @file{modules} directory might look like this: - -@example -AM_CPPFLAGS = -I$(srcdir)/../libloader -AM_LDFLAGS = -no-undefined -module -avoid-version \ - -export-dynamic - -noinst_LTLIBRARIES = intrinsics.la - -intrinsics_la_LIBADD = ../libloader/libinterface.la - -../libloader/libinterface.la: - cd ../libloader && $(MAKE) $(AM_MAKEFLAGS) libinterface.la -@end example - -@cindex @option{-weak} option -For a more complex example, see the sources of @file{libltdl} in the -Libtool distribution, which is built with the help of the @option{-weak} -option. - - -@node Finding the dlname -@section Finding the correct name to dlopen -@cindex names of dynamic modules -@cindex dynamic modules, names - -After a library has been linked with @option{-module}, it can be dlopened. -Unfortunately, because of the variation in library names, -your package needs to determine the correct file to dlopen. - -The most straightforward and flexible implementation is to determine the -name at runtime, by finding the installed @file{.la} file, and searching -it for the following lines: - -@example -# The name that we can @code{dlopen}. -dlname='@var{dlname}' -@end example - -If @var{dlname} is empty, then the library cannot be dlopened. -Otherwise, it gives the dlname of the library. So, if the library was -installed as @file{/usr/local/lib/libhello.la}, and the @var{dlname} was -@file{libhello.so.3}, then @file{/usr/local/lib/libhello.so.3} should be -dlopened. - -If your program uses this approach, then it should search the -directories listed in the @code{LD_LIBRARY_PATH}@footnote{@code{LIBPATH} -on AIX, and @code{SHLIB_PATH} on HP-UX.} environment variable, as well as -the directory where libraries will eventually be installed. Searching -this variable (or equivalent) will guarantee that your program can find -its dlopened modules, even before installation, provided you have linked -them using libtool. - -@node Dlopen issues -@section Unresolved dlopen issues -@cindex pitfalls with dlopen -@cindex dlopening, pitfalls -@cindex trouble with dlopen - -The following problems are not solved by using libtool's dlopen support: - -@itemize @bullet -@item -Dlopen functions are generally only available on shared library -platforms. If you want your package to be portable to static platforms, -you have to use either libltdl (@pxref{Using libltdl}) or develop your -own alternatives to dlopening dynamic code. -Most reasonable solutions involve writing wrapper functions for the -@code{dlopen} family, which do package-specific tricks when dlopening -is unsupported or not available on a given platform. - -@item -There are major differences in implementations of the @code{dlopen} -family of functions. Some platforms do not even use the same function -names (notably HP-UX, with its @code{shl_load} family). - -@item -The application developer must write a custom search function -to discover the correct module filename to supply to @code{dlopen}. -@end itemize - -@node Using libltdl -@chapter Using libltdl -@findex libltdl -@findex dlopen -@findex dlsym -@findex dlclose -@findex dlerror -@findex shl_load -@cindex dynamic linking, applications -@cindex dlopening modules -@cindex modules, dynamic -@cindex application-level dynamic linking - -Libtool provides a small library, called @file{libltdl}, that aims at -hiding the various difficulties of dlopening libraries from programmers. -It consists of a few headers and small C source files that can be -distributed with applications that need dlopening functionality. On -some platforms, whose dynamic linkers are too limited for a simple -implementation of @file{libltdl} services, it requires GNU DLD, or it -will only emulate dynamic linking with libtool's dlpreopening mechanism. - -@noindent -libltdl supports currently the following dynamic linking mechanisms: - -@itemize @bullet -@item -@code{dlopen} (POSIX compliant systems, GNU/Linux, etc.) -@item -@code{shl_load} (HP-UX) -@item -@code{LoadLibrary} (Win16 and Win32) -@item -@code{load_add_on} (BeOS) -@item -@code{NSAddImage} or @code{NSLinkModule} (Darwin and Mac OS X) -@item -GNU DLD (emulates dynamic linking for static libraries) -@item -libtool's dlpreopen (@pxref{Dlpreopening}) -@end itemize - -@noindent -libltdl is licensed under the terms of the GNU Lesser General -Public License, with the following exception: - -@quotation -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include it under the same -distribution terms that you use for the rest of that program. -@end quotation - -@menu -* Libltdl interface:: How to use libltdl in your programs. -* Modules for libltdl:: Creating modules that can be @code{dlopen}ed. -* Thread Safety in libltdl:: Registering callbacks for multi-thread safety. -* User defined module data:: Associating data with loaded modules. -* Module loaders for libltdl:: Creating user defined module loaders. -* Distributing libltdl:: How to distribute libltdl with your package. -@end menu - -@node Libltdl interface -@section How to use libltdl in your programs - -@noindent -The libltdl API is similar to the POSIX dlopen interface, -which is very simple but powerful. - -@noindent -To use libltdl in your program you have to include the header file @file{ltdl.h}: - -@example -#include -@end example - -@noindent -The early releases of libltdl used some symbols that violated the -POSIX namespace conventions. These symbols are now deprecated, -and have been replaced by those described here. If you have code that -relies on the old deprecated symbol names, defining -@samp{LT_NON_POSIX_NAMESPACE} before you include @file{ltdl.h} provides -conversion macros. Whichever set of symbols you use, the new API is -not binary compatible with the last, so you will need to recompile -your application to use this version of libltdl. - -@noindent -Note that libltdl is not well tested in a multithreaded environment, -though the intention is that it should work (@pxref{Thread Safety -in libltdl, , Using libltdl in a multi threaded environment}). It was -reported that GNU/Linux's glibc 2.0's @code{dlopen} with -@samp{RTLD_LAZY} (that libltdl uses by default) is not thread-safe, -but this problem is supposed to be fixed in glibc 2.1. On the other -hand, @samp{RTLD_NOW} was reported to introduce problems in -multi-threaded applications on FreeBSD@. Working around these problems -is left as an exercise for the reader; contributions are certainly -welcome. - -@noindent -The following macros are defined by including @file{ltdl.h}: - -@defmac LT_PATHSEP_CHAR -@code{LT_PATHSEP_CHAR} is the system-dependent path separator, -that is, @samp{;} on Windows and @samp{:} everywhere else. -@end defmac - -@defmac LT_DIRSEP_CHAR -If @code{LT_DIRSEP_CHAR} is defined, it can be used as directory -separator in addition to @samp{/}. On Windows, this contains -@samp{\}. -@end defmac - - -@noindent -The following types are defined in @file{ltdl.h}: - -@deftp {Type} lt_dlhandle -@code{lt_dlhandle} is a module ``handle''. -Every lt_dlopened module has a handle associated with it. -@end deftp - -@deftp {Type} lt_dladvise -@code{lt_dladvise} is used to control optional module loading modes. -If it is not used, the default mode of the underlying system module -loader is used. -@end deftp - -@deftp {Type} lt_dlsymlist -@code{lt_dlsymlist} is a symbol list for dlpreopened modules -(@pxref{Dlpreopening}). -@end deftp - -@page -@noindent -libltdl provides the following functions: - -@deftypefun int lt_dlinit (void) -Initialize libltdl. -This function must be called before using libltdl -and may be called several times. -Return 0 on success, otherwise the number of errors. -@end deftypefun - -@deftypefun int lt_dlexit (void) -Shut down libltdl and close all modules. -This function will only then shut down libltdl when it was called as -many times as @code{lt_dlinit} has been successfully called. -Return 0 on success, otherwise the number of errors. -@end deftypefun - -@deftypefun lt_dlhandle lt_dlopen (const char *@var{filename}) -Open the module with the file name @var{filename} and return a -handle for it. @code{lt_dlopen} is able to open libtool dynamic -modules, preloaded static modules, the program itself and -native dynamic modules@footnote{Some platforms, notably Mac OS X, -differentiate between a runtime library that cannot be opened by -@code{lt_dlopen} and a dynamic module that can. For maximum -portability you should try to ensure that you only pass -@code{lt_dlopen} objects that have been compiled with libtool's -@option{-module} flag.}. - -Unresolved symbols in the module are resolved using its dependency -libraries and previously dlopened modules. If the executable using -this module was linked with the @option{-export-dynamic} flag, then the -global symbols in the executable will also be used to resolve -references in the module. - -If @var{filename} is @code{NULL} and the program was linked with -@option{-export-dynamic} or @option{-dlopen self}, @code{lt_dlopen} will -return a handle for the program itself, which can be used to access its -symbols. - -If libltdl cannot find the library and the file name @var{filename} does -not have a directory component it will additionally look in the -following search paths for the module (in the following order): - -@enumerate 1 -@item user-defined search path: -This search path can be changed by the program using the -functions @code{lt_dlsetsearchpath}, @code{lt_dladdsearchdir} and -@code{lt_dlinsertsearchdir}. - -@item libltdl's search path: -This search path is the value of the environment variable -@env{LTDL_LIBRARY_PATH}. - -@item system library search path: -The system dependent library search path -(e.g.@: on GNU/Linux it is @env{LD_LIBRARY_PATH}). -@end enumerate - -Each search path must be a list of absolute directories separated by -@code{LT_PATHSEP_CHAR}, for example, @code{"/usr/lib/mypkg:/lib/foo"}. -The directory names may not contain the path separator. - -If the same module is loaded several times, the same handle is returned. -If @code{lt_dlopen} fails for any reason, it returns @code{NULL}. -@end deftypefun - -@deftypefun lt_dlhandle lt_dlopenext (const char *@var{filename}) -The same as @code{lt_dlopen}, except that it tries to append -different file name extensions to the file name. -If the file with the file name @var{filename} cannot be found -libltdl tries to append the following extensions: - -@enumerate 1 -@item the libtool archive extension @file{.la} -@item the extension used for native dynamically loadable modules on the host platform, e.g., @file{.so}, @file{.sl}, etc. -@end enumerate - -This lookup strategy was designed to allow programs that don't -have knowledge about native dynamic libraries naming conventions -to be able to @code{dlopen} such libraries as well as libtool modules -transparently. -@end deftypefun - -@deftypefun lt_dlhandle lt_dlopenadvise (const char *@var{filename}, @w{lt_dladvise @var{advise}}) -The same as @code{lt_dlopen}, except that it also requires an additional -argument that may contain additional hints to the underlying system -module loader. The @var{advise} parameter is opaque and can only be -accessed with the functions documented below. - -Note that this function does not change the content of @var{advise}, so -unlike the other calls in this API takes a direct @code{lt_dladvise} -type, and not a pointer to the same. -@end deftypefun - -@deftypefun int lt_dladvise_init (lt_dladvise *@var{advise}) -The @var{advise} parameter can be used to pass hints to the module -loader when using @code{lt_dlopenadvise} to perform the loading. -The @var{advise} parameter needs to be initialised by this function -before it can be used. Any memory used by @var{advise} needs to be -recycled with @code{lt_dladvise_destroy} when it is no longer needed. - -On failure, @code{lt_dladvise_init} returns non-zero and sets an error -message that can be retrieved with @code{lt_dlerror}. -@end deftypefun - -@deftypefun int lt_dladvise_destroy (lt_dladvise *@var{advise}) -Recycle the memory used by @var{advise}. For an example, see the -documentation for @code{lt_dladvise_ext}. - -On failure, @code{lt_dladvise_destroy} returns non-zero and sets an error -message that can be retrieved with @code{lt_dlerror}. -@end deftypefun - -@deftypefun int lt_dladvise_ext (lt_dladvise *@var{advise}) -Set the @code{ext} hint on @var{advise}. Passing an @var{advise} -parameter to @code{lt_dlopenadvise} with this hint set causes it to -try to append different file name extensions like @code{lt_dlopenext}. - -The following example is equivalent to calling -@code{lt_dlopenext (filename)}: - -@example -lt_dlhandle -my_dlopenext (const char *filename) -@{ - lt_dlhandle handle = 0; - lt_dladvise advise; - - if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)) - handle = lt_dlopenadvise (filename, advise); - - lt_dladvise_destroy (&advise); - - return handle; -@} -@end example - -On failure, @code{lt_dladvise_ext} returns non-zero and sets an error -message that can be retrieved with @code{lt_dlerror}. -@end deftypefun - -@deftypefun int lt_dladvise_global (lt_dladvise *@var{advise}) -Set the @code{symglobal} hint on @var{advise}. Passing an @var{advise} -parameter to @code{lt_dlopenadvise} with this hint set causes it to try -to make the loaded module's symbols globally available for resolving -unresolved symbols in subsequently loaded modules. - -If neither the @code{symglobal} nor the @code{symlocal} hints are set, -or if a module is loaded without using the @code{lt_dlopenadvise} call -in any case, then the visibility of the module's symbols will be as per -the default for the underlying module loader and OS. Even if a -suitable hint is passed, not all loaders are able to act upon it in -which case @code{lt_dlgetinfo} will reveal whether the hint was actually -followed. - -On failure, @code{lt_dladvise_global} returns non-zero and sets an error -message that can be retrieved with @code{lt_dlerror}. -@end deftypefun - -@deftypefun int lt_dladvise_local (lt_dladvise *@var{advise}) -Set the @code{symlocal} hint on @var{advise}. Passing an @var{advise} -parameter to @code{lt_dlopenadvise} with this hint set causes it to try -to keep the loaded module's symbols hidden so that they are not -visible to subsequently loaded modules. - -If neither the @code{symglobal} nor the @code{symlocal} hints are set, -or if a module is loaded without using the @code{lt_dlopenadvise} call -in any case, then the visibility of the module's symbols will be as per -the default for the underlying module loader and OS. Even if a -suitable hint is passed, not all loaders are able to act upon it in -which case @code{lt_dlgetinfo} will reveal whether the hint was actually -followed. - -On failure, @code{lt_dladvise_local} returns non-zero and sets an error -message that can be retrieved with @code{lt_dlerror}. -@end deftypefun - -@deftypefun int lt_dladvise_resident (lt_dladvise *@var{advise}) -Set the @code{resident} hint on @var{advise}. Passing an @var{advise} -parameter to @code{lt_dlopenadvise} with this hint set causes it to try -to make the loaded module resident in memory, so that it cannot be -unloaded with a later call to @code{lt_dlclose}. - -On failure, @code{lt_dladvise_resident} returns non-zero and sets an error -message that can be retrieved with @code{lt_dlerror}. -@end deftypefun - -@deftypefun int lt_dladvise_preload (lt_dladvise *@var{advise}) -Set the @code{preload} hint on @var{advise}. Passing an @var{advise} -parameter to @code{lt_dlopenadvise} with this hint set causes it to -load only preloaded modules, so that if a suitable preloaded module is -not found, @code{lt_dlopenadvise} will return @code{NULL}. -@end deftypefun - -@deftypefun int lt_dlclose (lt_dlhandle @var{handle}) -Decrement the reference count on the module @var{handle}. -If it drops to zero and no other module depends on this module, -then the module is unloaded. -Return 0 on success. -@end deftypefun - -@deftypefun {void *} lt_dlsym (lt_dlhandle @var{handle}, const char *@var{name}) -Return the address in the module @var{handle}, where the symbol given -by the null-terminated string @var{name} is loaded. -If the symbol cannot be found, @code{NULL} is returned. -@end deftypefun - -@deftypefun {const char *} lt_dlerror (void) -Return a human readable string describing the most -recent error that occurred from any of libltdl's functions. -Return @code{NULL} if no errors have occurred since initialization -or since it was last called. -@end deftypefun - -@deftypefun int lt_dladdsearchdir (const char *@var{search_dir}) -Append the search directory @var{search_dir} to the current user-defined -library search path. Return 0 on success. -@end deftypefun - -@deftypefun int lt_dlinsertsearchdir (@w{const char *@var{before}}, @w{const char *@var{search_dir}}) -Insert the search directory @var{search_dir} into the user-defined library -search path, immediately before the element starting at address -@var{before}. If @var{before} is @samp{NULL}, then @var{search_dir} is -appending as if @code{lt_dladdsearchdir} had been called. Return 0 on success. -@end deftypefun - -@deftypefun int lt_dlsetsearchpath (const char *@var{search_path}) -Replace the current user-defined library search path with -@var{search_path}, which must be a list of absolute directories separated -by @code{LT_PATHSEP_CHAR}. Return 0 on success. -@end deftypefun - -@deftypefun {const char *} lt_dlgetsearchpath (void) -Return the current user-defined library search path. -@end deftypefun - -@deftypefun int lt_dlforeachfile (@w{const char *@var{search_path}}, @w{int (*@var{func}) (const char *@var{filename}, void * @var{data})}, @w{void * @var{data}}) -In some applications you may not want to load individual modules with -known names, but rather find all of the modules in a set of -directories and load them all during initialisation. With this function -you can have libltdl scan the @code{LT_PATHSEP_CHAR}-delimited directory list -in @var{search_path} for candidates, and pass them, along with -@var{data} to your own callback function, @var{func}. If @var{search_path} is -@samp{NULL}, then search all of the standard locations that -@code{lt_dlopen} would examine. This function will continue to make -calls to @var{func} for each file that it discovers in @var{search_path} -until one of these calls returns non-zero, or until the files are -exhausted. @samp{lt_dlforeachfile} returns the value returned by the last -call made to @var{func}. - -For example you could define @var{func} to build an ordered -@dfn{argv}-like vector of files using @var{data} to hold the address of -the start of the vector. -@end deftypefun - -@deftypefun int lt_dlmakeresident (lt_dlhandle @var{handle}) -Mark a module so that it cannot be @samp{lt_dlclose}d. This can be -useful if a module implements some core functionality in your project -that would cause your code to crash if removed. Return 0 on success. - -If you use @samp{lt_dlopen (NULL)} to get a @var{handle} for the running -binary, that handle will always be marked as resident, and consequently -cannot be successfully @samp{lt_dlclose}d. -@end deftypefun - -@deftypefun int lt_dlisresident (lt_dlhandle @var{handle}) -Check whether a particular module has been marked as resident, returning 1 -if it has or 0 otherwise. If there is an error while executing this -function, return -1 and set an error message for retrieval with -@code{lt_dlerror}. -@end deftypefun - -@node Modules for libltdl -@section Creating modules that can be @code{dlopen}ed - -Libtool modules are created like normal libtool libraries with a few -exceptions: - -You have to link the module with libtool's @option{-module} switch, -and you should link any program that is intended to dlopen the module with -@option{-dlopen @var{modulename.la}} where possible, so that libtool can -dlpreopen the module on platforms that do not support dlopening. If -the module depends on any other libraries, make sure you specify them -either when you link the module or when you link programs that dlopen it. -If you want to disable versioning (@pxref{Versioning}) for a specific module -you should link it with the @option{-avoid-version} switch. -Note that libtool modules don't need to have a "lib" prefix. -However, Automake 1.4 or higher is required to build such modules. - -Usually a set of modules provide the same interface, i.e.@: exports the same -symbols, so that a program can dlopen them without having to know more -about their internals: In order to avoid symbol conflicts all exported -symbols must be prefixed with "modulename_LTX_" (@var{modulename} is -the name of the module). Internal symbols must be named in such a way -that they won't conflict with other modules, for example, by prefixing -them with "_modulename_". Although some platforms support having the -same symbols defined more than once it is generally not portable and -it makes it impossible to dlpreopen such modules. - -libltdl will automatically cut the prefix off to get the real name of -the symbol. Additionally, it supports modules that do not use a -prefix so that you can also dlopen non-libtool modules. - -@file{foo1.c} gives an example of a portable libtool module. -Exported symbols are prefixed with "foo1_LTX_", internal symbols -with "_foo1_". Aliases are defined at the beginning so that the code -is more readable. - -@example -/* aliases for the exported symbols */ -#define foo foo1_LTX_foo -#define bar foo1_LTX_bar - -/* a global variable definition */ -int bar = 1; - -/* a private function */ -int _foo1_helper() @{ - return bar; -@} - -/* an exported function */ -int foo() @{ - return _foo1_helper(); -@} -@end example - -@noindent -The @file{Makefile.am} contains the necessary rules to build the -module @file{foo1.la}: - -@example -... -lib_LTLIBRARIES = foo1.la - -foo1_la_SOURCES = foo1.c -foo1_la_LDFLAGS = -module -... -@end example - - -@node Thread Safety in libltdl -@section Using libltdl in a multi threaded environment - -Libltdl provides a wrapper around whatever dynamic run-time object -loading mechanisms are provided by the host system, many of which are -themselves not thread safe. Consequently libltdl cannot itself be -consistently thread safe. - -If you wish to use libltdl in a multithreaded environment, then you -must mutex lock around libltdl calls, since they may in turn be calling -non-thread-safe system calls on some target hosts. - -Some old releases of libtool provided a mutex locking API that -was unusable with POSIX threads, so callers were forced to lock around -all libltdl API calls anyway. That mutex locking API was -next to useless, and is not present in current releases. - -Some future release of libtool may provide a new POSIX thread -compliant mutex locking API. - -@node User defined module data -@section Data associated with loaded modules - -Some of the internal information about each loaded module that is -maintained by libltdl is available to the user, in the form of this -structure: - -@deftypefn {Type} {struct} lt_dlinfo @{ @w{char *@var{filename};} @ - @w{char *@var{name};} @w{int @var{ref_count};} @ - @w{int @var{is_resident};} @w{int @var{is_symglobal};} @ - @w{int @var{is_symlocal};}@} -@code{lt_dlinfo} is used to store information about a module. -The @var{filename} attribute is a null-terminated character string of -the real module file name. If the module is a libtool module then -@var{name} is its module name (e.g.@: @code{"libfoo"} for -@code{"dir/libfoo.la"}), otherwise it is set to @code{NULL}. The -@var{ref_count} attribute is a reference counter that describes how -often the same module is currently loaded. The remaining fields can -be compared to any hints that were passed to @code{lt_dlopenadvise} -to determine whether the underlying loader was able to follow them. -@end deftypefn - -The following function will return a pointer to libltdl's internal copy -of this structure for the given @var{handle}: - -@deftypefun {const lt_dlinfo *} lt_dlgetinfo (@w{lt_dlhandle @var{handle}}) -Return a pointer to a struct that contains some information about -the module @var{handle}. The contents of the struct must not be modified. -Return @code{NULL} on failure. -@end deftypefun - -Furthermore, to save you from having to keep a list of the -handles of all the modules you have loaded, these functions allow you to -iterate over libltdl's list of loaded modules: - -@deftp {Type} lt_dlinterface_id -The opaque type used to hold the module interface details for each -registered libltdl client. -@end deftp - -@deftypefn {Type} int lt_dlhandle_interface (@w{lt_dlhandle @var{handle},} @ - @w{const char *@var{id_string}}) -Functions of this type are called to check that a handle conforms to a -library's expected module interface when iterating over the global -handle list. You should be careful to write a callback function of -this type that can correctly identify modules that belong to this -client, both to prevent other clients from accidentally finding your -loaded modules with the iterator functions below, and vice versa. The -best way to do this is to check that module @var{handle} conforms -to the interface specification of your loader using @code{lt_dlsym}. - -The callback may be given @strong{every} module loaded by all the -libltdl module clients in the current address space, including any -modules loaded by other libraries such as libltdl itself, and should -return non-zero if that module does not fulfill the interface -requirements of your loader. - -@example -int -my_interface_cb (lt_dlhandle handle, const char *id_string) -@{ - char *(*module_id) (void) = NULL; - - /* @r{A valid my_module must provide all of these symbols.} */ - if (!((module_id = (char*(*)(void)) lt_dlsym ("module_version")) - && lt_dlsym ("my_module_entrypoint"))) - return 1; - - if (strcmp (id_string, module_id()) != 0) - return 1; - - return 0; -@} -@end example -@end deftypefn - -@deftypefun lt_dlinterface_id lt_dlinterface_register @ - (@w{const char *@var{id_string}}, @w{lt_dlhandle_interface *@var{iface}}) -Use this function to register your interface validator with libltdl, -and in return obtain a unique key to store and retrieve per-module data. -You supply an @var{id_string} and @var{iface} so that the resulting -@code{lt_dlinterface_id} can be used to filter the module handles -returned by the iteration functions below. If @var{iface} is @code{NULL}, -all modules will be matched. -@end deftypefun - -@deftypefun void lt_dlinterface_free (@w{lt_dlinterface_id @var{iface}}) -Release the data associated with @var{iface}. -@end deftypefun - -@deftypefun int lt_dlhandle_map (@w{lt_dlinterface_id @var{iface}}, @ - @w{int (*@var{func}) (lt_dlhandle @var{handle}, void * @var{data})}, @ - @w{void * @var{data}}) -For each module that matches @var{iface}, call the function -@var{func}. When writing the @var{func} callback function, the -argument @var{handle} is the handle of a loaded module, and -@var{data} is the last argument passed to @code{lt_dlhandle_map}. As -soon as @var{func} returns a non-zero value for one of the handles, -@code{lt_dlhandle_map} will stop calling @var{func} and immediately -return that non-zero value. Otherwise 0 is eventually returned when -@var{func} has been successfully called for all matching modules. -@end deftypefun - -@deftypefun lt_dlhandle lt_dlhandle_iterate (@w{lt_dlinterface_id @ - @var{iface}}, @w{lt_dlhandle @var{place}}) -Iterate over the module handles loaded by @var{iface}, returning the -first matching handle in the list if @var{place} is @code{NULL}, and -the next one on subsequent calls. If @var{place} is the last element -in the list of eligible modules, this function returns @code{NULL}. - -@example -lt_dlhandle handle = 0; -lt_dlinterface_id iface = my_interface_id; - -while ((handle = lt_dlhandle_iterate (iface, handle))) - @{ - @dots{} - @} -@end example -@end deftypefun - -@deftypefun lt_dlhandle lt_dlhandle_fetch (@w{lt_dlinterface_id @var{iface}}, @w{const char *@var{module_name}}) -Search through the module handles loaded by @var{iface} for a module named -@var{module_name}, returning its handle if found or else @code{NULL} -if no such named module has been loaded by @var{iface}. -@end deftypefun - -However, you might still need to maintain your own list of loaded -module handles (in parallel with the list maintained inside libltdl) -if there were any other data that your application wanted to associate -with each open module. Instead, you can use the following API -calls to do that for you. You must first obtain a unique interface id -from libltdl as described above, and subsequently always use it to -retrieve the data you stored earlier. This allows different libraries -to each store their own data against loaded modules, without -interfering with one another. - -@deftypefun {void *} lt_dlcaller_set_data (@w{lt_dlinterface_id @var{key}}, @w{lt_dlhandle @var{handle}}, @w{void * @var{data}}) -Set @var{data} as the set of data uniquely associated with @var{key} and -@var{handle} for later retrieval. This function returns the @var{data} -previously associated with @var{key} and @var{handle} if any. A result of -0, may indicate that a diagnostic for the last error (if any) is available -from @code{lt_dlerror()}. - -For example, to correctly remove some associated data: - -@example -void *stale = lt_dlcaller_set_data (key, handle, 0); -if (stale != NULL) - @{ - free (stale); - @} -else - @{ - char *error_msg = lt_dlerror (); - - if (error_msg != NULL) - @{ - my_error_handler (error_msg); - return STATUS_FAILED; - @} - @} -@end example -@end deftypefun - -@deftypefun {void *} lt_dlcaller_get_data (@w{lt_dlinterface_id @var{key}}, @w{lt_dlhandle @var{handle}}) -Return the address of the data associated with @var{key} and -@var{handle}, or else @code{NULL} if there is none. -@end deftypefun - -Old versions of libltdl also provided a simpler, but similar, API -based around @code{lt_dlcaller_id}. Unfortunately, it had no -provision for detecting whether a module belonged to a particular -interface as libltdl didn't support multiple loaders in the same -address space at that time. Those APIs are no longer supported -as there would be no way to stop clients of the old APIs from -seeing (and accidentally altering) modules loaded by other libraries. - - -@node Module loaders for libltdl -@section How to create and register new module loaders - -Sometimes libltdl's many ways of gaining access to modules are not -sufficient for the purposes of a project. You can write your own -loader, and register it with libltdl so that @code{lt_dlopen} will be -able to use it. - -Writing a loader involves writing at least three functions that can be -called by @code{lt_dlopen}, @code{lt_dlsym} and @code{lt_dlclose}. -Optionally, you can provide a finalisation function to perform any -cleanup operations when @code{lt_dlexit} executes, and a symbol prefix -string that will be prepended to any symbols passed to @code{lt_dlsym}. -These functions must match the function pointer types below, after -which they can be allocated to an instance of @code{lt_user_dlloader} -and registered. - -Registering the loader requires that you choose a name for it, so that it -can be recognised by @code{lt_dlloader_find} and removed with -@code{lt_dlloader_remove}. The name you choose must be unique, and not -already in use by libltdl's builtin loaders: - -@table @asis -@item "dlopen" -The system dynamic library loader, if one exists. -@item "dld" -The GNU dld loader, if @file{libdld} was installed when libltdl was -built. -@item "dlpreload" -The loader for @code{lt_dlopen}ing of preloaded static modules. -@end table - -The prefix "dl" is reserved for loaders supplied with future versions of -libltdl, so you should not use that for your own loader names. - -@noindent -The following types are defined in @file{ltdl.h}: - -@deftp {Type} lt_module -@code{lt_module} is a dlloader dependent module. -The dynamic module loader extensions communicate using these low -level types. -@end deftp - -@deftp {Type} lt_dlloader -@code{lt_dlloader} is a handle for module loader types. -@end deftp - -@deftp {Type} lt_user_data -@code{lt_user_data} is used for specifying loader instance data. -@end deftp - -@deftypefn {Type} {struct} lt_user_dlloader @{@w{const char *@var{sym_prefix};} @w{lt_module_open *@var{module_open};} @w{lt_module_close *@var{module_close};} @w{lt_find_sym *@var{find_sym};} @w{lt_dlloader_exit *@var{dlloader_exit};} @} -If you want to define a new way to open dynamic modules, and have the -@code{lt_dlopen} API use it, you need to instantiate one of these -structures and pass it to @code{lt_dlloader_add}. You can pass whatever -you like in the @var{dlloader_data} field, and it will be passed back as -the value of the first parameter to each of the functions specified in -the function pointer fields. -@end deftypefn - -@deftypefn {Type} lt_module lt_module_open (@w{const char *@var{filename}}) -The type of the loader function for an @code{lt_dlloader} module -loader. The value set in the dlloader_data field of the @code{struct -lt_user_dlloader} structure will be passed into this function in the -@var{loader_data} parameter. Implementation of such a function should -attempt to load the named module, and return an @code{lt_module} -suitable for passing in to the associated @code{lt_module_close} and -@code{lt_sym_find} function pointers. If the function fails it should -return @code{NULL}, and set the error message with @code{lt_dlseterror}. -@end deftypefn - -@deftypefn {Type} int lt_module_close (@w{lt_user_data @var{loader_data},} @w{lt_module @var{module}}) -The type of the unloader function for a user defined module loader. -Implementation of such a function should attempt to release -any resources tied up by the @var{module} module, and then unload it -from memory. If the function fails for some reason, set the error -message with @code{lt_dlseterror} and return non-zero. -@end deftypefn - -@deftypefn {Type} {void *} lt_find_sym (@w{lt_module @var{module},} @w{const char *@var{symbol}}) -The type of the symbol lookup function for a user defined module loader. -Implementation of such a function should return the address of the named -@var{symbol} in the module @var{module}, or else set the error message -with @code{lt_dlseterror} and return @code{NULL} if lookup fails. -@end deftypefn - -@deftypefn {Type} int lt_dlloader_exit (@w{lt_user_data @var{loader_data}}) -The type of the finalisation function for a user defined module loader. -Implementation of such a function should free any resources associated -with the loader, including any user specified data in the -@code{dlloader_data} field of the @code{lt_user_dlloader}. If non-@code{NULL}, -the function will be called by @code{lt_dlexit}, and -@code{lt_dlloader_remove}. -@end deftypefn - -For example: - -@example -int -register_myloader (void) -@{ - lt_user_dlloader dlloader; - - /* User modules are responsible for their own initialisation. */ - if (myloader_init () != 0) - return MYLOADER_INIT_ERROR; - - dlloader.sym_prefix = NULL; - dlloader.module_open = myloader_open; - dlloader.module_close = myloader_close; - dlloader.find_sym = myloader_find_sym; - dlloader.dlloader_exit = myloader_exit; - dlloader.dlloader_data = (lt_user_data)myloader_function; - - /* Add my loader as the default module loader. */ - if (lt_dlloader_add (lt_dlloader_next (NULL), &dlloader, - "myloader") != 0) - return ERROR; - - return OK; -@} -@end example - -Note that if there is any initialisation required for the loader, -it must be performed manually before the loader is registered -- -libltdl doesn't handle user loader initialisation. - -Finalisation @emph{is} handled by libltdl however, and it is important -to ensure the @code{dlloader_exit} callback releases any resources claimed -during the initialisation phase. - -@page -@noindent -libltdl provides the following functions for writing your own module -loaders: - -@deftypefun int lt_dlloader_add (@w{lt_dlloader *@var{place},} @ - @w{lt_user_dlloader *@var{dlloader},} @w{const char *@var{loader_name}}) -Add a new module loader to the list of all loaders, either as the -last loader (if @var{place} is @code{NULL}), else immediately before the -loader passed as @var{place}. @var{loader_name} will be returned by -@code{lt_dlloader_name} if it is subsequently passed a newly -registered loader. These @var{loader_name}s must be unique, or -@code{lt_dlloader_remove} and @code{lt_dlloader_find} cannot -work. Returns 0 for success. - -@example -/* Make myloader be the last one. */ -if (lt_dlloader_add (NULL, myloader) != 0) - perror (lt_dlerror ()); -@end example -@end deftypefun - -@deftypefun int lt_dlloader_remove (@w{const char *@var{loader_name}}) -Remove the loader identified by the unique name, @var{loader_name}. -Before this can succeed, all modules opened by the named loader must -have been closed. Returns 0 for success, otherwise an error message can -be obtained from @code{lt_dlerror}. - -@example -/* Remove myloader. */ -if (lt_dlloader_remove ("myloader") != 0) - perror (lt_dlerror ()); -@end example -@end deftypefun - -@deftypefun {lt_dlloader *} lt_dlloader_next (@w{lt_dlloader *@var{place}}) -Iterate over the module loaders, returning the first loader if @var{place} is -@code{NULL}, and the next one on subsequent calls. The handle is for use with -@code{lt_dlloader_add}. - -@example -/* Make myloader be the first one. */ -if (lt_dlloader_add (lt_dlloader_next (NULL), myloader) != 0) - return ERROR; -@end example -@end deftypefun - -@deftypefun {lt_dlloader *} lt_dlloader_find (@w{const char *@var{loader_name}}) -Return the first loader with a matching @var{loader_name} identifier, or else -@code{NULL}, if the identifier is not found. - -The identifiers that may be used by libltdl itself, if the host -architecture supports them are @dfn{dlopen}@footnote{This is used for -the host dependent module loading API -- @code{shl_load} and -@code{LoadLibrary} for example}, @dfn{dld} and @dfn{dlpreload}. - -@example -/* Add a user loader as the next module loader to be tried if - the standard dlopen loader were to fail when lt_dlopening. */ -if (lt_dlloader_add (lt_dlloader_find ("dlopen"), myloader) != 0) - return ERROR; -@end example -@end deftypefun - -@deftypefun {const char *} lt_dlloader_name (@w{lt_dlloader *@var{place}}) -Return the identifying name of @var{place}, as obtained from -@code{lt_dlloader_next} or @code{lt_dlloader_find}. If this function fails, -it will return @code{NULL} and set an error for retrieval with -@code{lt_dlerror}. -@end deftypefun - -@deftypefun {lt_user_data *} lt_dlloader_data (@w{lt_dlloader *@var{place}}) -Return the address of the @code{dlloader_data} of @var{place}, as -obtained from @code{lt_dlloader_next} or @code{lt_dlloader_find}. If -this function fails, it will return @code{NULL} and set an error for -retrieval with @code{lt_dlerror}. -@end deftypefun - -@subsection Error handling within user module loaders - -@deftypefun int lt_dladderror (@w{const char *@var{diagnostic}}) -This function allows you to integrate your own error messages into -@code{lt_dlerror}. Pass in a suitable diagnostic message for return by -@code{lt_dlerror}, and an error identifier for use with -@code{lt_dlseterror} is returned. - -If the allocation of an identifier fails, this function returns -1. - -@example -int myerror = lt_dladderror ("doh!"); -if (myerror < 0) - perror (lt_dlerror ()); -@end example -@end deftypefun - -@deftypefun int lt_dlseterror (@w{int @var{errorcode}}) -When writing your own module loaders, you should use this function to -raise errors so that they are propagated through the @code{lt_dlerror} -interface. All of the standard errors used by libltdl are declared in -@file{ltdl.h}, or you can add more of your own with -@code{lt_dladderror}. This function returns 0 on success. - -@example -if (lt_dlseterror (LTDL_ERROR_NO_MEMORY) != 0) - perror (lt_dlerror ()); -@end example -@end deftypefun - -@node Distributing libltdl -@section How to distribute libltdl with your package - -Even though libltdl is installed together with libtool, you may wish -to include libltdl in the distribution of your package, for the -convenience of users of your package that don't have libtool or -libltdl installed, or if you are using features of a very new version -of libltdl that you don't expect your users to have yet. In such -cases, you must decide what flavor of libltdl you want to use: a -convenience library or an installable libtool library. - -The most simplistic way to add @code{libltdl} to your package is to -copy all the @file{libltdl} source files to a subdirectory within -your package and to build and link them along with the rest of your -sources. To help you do this, the m4 macros for Autoconf are -available in @file{ltdl.m4}. You must ensure that they are available -in @file{aclocal.m4} before you run Autoconf@footnote{@c -@c -We used to recommend adding the contents of @file{ltdl.m4} to -@file{acinclude.m4}, but with @command{aclocal} from a modern -Automake (1.8 or newer) and this release of libltdl that is not only -unnecessary but makes it easy to forget to upgrade @file{acinclude.m4} -if you move to a different release of libltdl. -@c -}. Having made the macros available, you must add a call to the -@samp{LTDL_INIT} macro (after the call to @samp{LT_INIT}) -to your package's @file{configure.ac} to -perform the configure time checks required to build the library -correctly. Unfortunately, this method has problems if you then try to -link the package binaries with an installed libltdl, or a library that -depends on libltdl, because of the duplicate symbol definitions. For -example, ultimately linking against two different versions of libltdl, -or against both a local convenience library and an installed libltdl -is bad. Ensuring that only one copy of the libltdl sources are linked -into any program is left as an exercise for the reader. - -@defmac LT_CONFIG_LTDL_DIR (@var{directory}) -Declare @var{directory} to be the location of the @code{libltdl} -source files, for @command{libtoolize --ltdl} to place -them. @xref{Invoking libtoolize}, for more details. Provided that you -add an appropriate @code{LT_CONFIG_LTDL_DIR} call in your -@file{configure.ac} before calling @command{libtoolize}, the -appropriate @code{libltdl} files will be installed automatically. -@end defmac - -@defmac LTDL_INIT (@var{options}) -@defmacx LT_WITH_LTDL -@defmacx AC_WITH_LTDL -@code{AC_WITH_LTDL} and @code{LT_WITH_LTDL} are deprecated names for -older versions of this macro; @command{autoupdate} will update your -@file{configure.ac} file. - -This macro adds the following options to the @command{configure} -script: - -@table @option -@item --with-ltdl-include @var{installed-ltdl-header-dir} -The @code{LTDL_INIT} macro will look in the standard header file -locations to find the installed @code{libltdl} headers. If -@code{LTDL_INIT} can't find them by itself, the person who builds -your package can use this option to tell @command{configure} where -the installed @code{libltdl} headers are. - -@item --with-ltdl-lib @var{installed-ltdl-library-dir} -Similarly, the person building your package can use this option to -help @command{configure} find the installed @file{libltdl.la}. - -@item --with-included-ltdl -If there is no installed @code{libltdl}, or in any case if the -person building your package would rather use the @code{libltdl} -sources shipped with the package in the subdirectory named by -@code{LT_CONFIG_LTDL_DIR}, they should pass this option to -@command{configure}. -@end table - -If the @option{--with-included-ltdl} is not passed at -configure time, and an installed @code{libltdl} is not -found@footnote{@c -@c -Even if libltdl is installed, @samp{LTDL_INIT} may fail -to detect it if libltdl depends on symbols provided by libraries -other than the C library. -@c -}, then @command{configure} will exit immediately with an error that -asks the user to either specify the location of an installed -@code{libltdl} using the @option{--with-ltdl-include} and -@option{--with-ltdl-lib} options, or to build with the -@code{libltdl} sources shipped with the package by passing -@option{--with-included-ltdl}. - -If an installed @code{libltdl} is found, then @code{LIBLTDL} is set to -the link flags needed to use it, and @code{LTDLINCL} to the preprocessor -flags needed to find the installed headers, and @code{LTDLDEPS} will -be empty. Note, however, that no version checking is performed. You -should manually check for the @code{libltdl} features you need in -@file{configure.ac}: - -@example -LT_INIT([dlopen]) -LTDL_INIT - -# The lt_dladvise_init symbol was added with libtool-2.2 -if test yes != "$with_included_ltdl"; then - save_CFLAGS=$CFLAGS - save_LDFLAGS=$LDFLAGS - CFLAGS="$CFLAGS $LTDLINCL" - LDFLAGS="$LDFLAGS $LIBLTDL" - AC_CHECK_LIB([ltdl], [lt_dladvise_init], - [], - [AC_MSG_ERROR([installed libltdl is too old])]) - LDFLAGS=$save_LDFLAGS - CFLAGS=$save_CFLAGS -fi -@end example - -@var{options} may include no more than one of the following build -modes depending on how you want your project to build @code{libltdl}: -@samp{nonrecursive}, @samp{recursive}, or @samp{subproject}. In order -for @command{libtoolize} to detect this option correctly, if you -supply one of these arguments, they must be given literally (i.e., -macros or shell variables that expand to the correct ltdl mode will not -work). - -@table @samp -@item nonrecursive -This is how the Libtool project distribution builds the @code{libltdl} -we ship and install. If you wish to use Automake to build -@code{libltdl} without invoking a recursive make to descend into the -@code{libltdl} subdirectory, then use this option. You will need to set -your configuration up carefully to make this work properly, and you will -need releases of Autoconf and Automake that support -@code{subdir-objects} and @code{LIBOBJDIR} properly. In your -@file{configure.ac}, add: - -@example -AM_INIT_AUTOMAKE([subdir-objects]) -AC_CONFIG_HEADERS([config.h]) -LT_CONFIG_LTDL_DIR([libltdl]) -LT_INIT([dlopen]) -LTDL_INIT([nonrecursive]) -@end example - -@noindent -You @emph{have to} use a config header, but it may have a name different -than @file{config.h}. - -Also, add the following near the top of your @file{Makefile.am}: - -@example -AM_CPPFLAGS = -AM_LDFLAGS = - -BUILT_SOURCES = -EXTRA_DIST = -CLEANFILES = -MOSTLYCLEANFILES = - -include_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -include libltdl/ltdl.mk -@end example - -@noindent -Unless you build no other libraries from this @file{Makefile.am}, -you will also need to change @code{lib_LTLIBRARIES} to assign with -@samp{+=} so that the @code{libltdl} targets declared in -@file{ltdl.mk} are not overwritten. - -@item recursive -This build mode still requires that you use Automake, but (in contrast -with @samp{nonrecursive}) uses the more usual device of starting another -@code{make} process in the @file{libltdl} subdirectory. To use this -mode, you should add to your @file{configure.ac}: - -@example -AM_INIT_AUTOMAKE -AC_CONFIG_HEADERS([config.h]) -LT_CONFIG_LTDL_DIR([libltdl]) -LT_INIT([dlopen]) -LTDL_INIT([recursive]) -AC_CONFIG_FILES([libltdl/Makefile]) -@end example - -@noindent -Again, you @emph{have to} use a config header, but it may have a name -different than @file{config.h} if you like. - -Also, add this to your @file{Makefile.am}: - -@example -SUBDIRS = libltdl -@end example - -@item subproject -This mode is the default unless you explicitly add @code{recursive} or -@code{nonrecursive} to your @code{LTDL_INIT} options; @code{subproject} -is the only mode supported by previous releases of libltdl. Even if you -do not use Autoconf in the parent project, then, in @samp{subproject} -mode, still @code{libltdl} contains all the necessary files to configure -and build itself -- you just need to arrange for your build system to -call @file{libltdl/configure} with appropriate options, and then run -@code{make} in the @code{libltdl} subdirectory. - -If you @emph{are} using Autoconf and Automake, then you will need to add -the following to your @file{configure.ac}: - -@example -LT_CONFIG_LTDL_DIR([libltdl]) -LTDL_INIT -@end example - -@noindent -and to @file{Makefile.am}: - -@example -SUBDIRS = libltdl -@end example -@end table - -Aside from setting the libltdl build mode, there are other keywords -that you can pass to @code{LTDL_INIT} to modify its behavior when -@option{--with-included-ltdl} has been given: - -@table @samp -@item convenience -This is the default unless you explicitly add @code{installable} to -your @code{LTDL_INIT} options. - -This keyword will cause options to be passed to the @command{configure} -script in the subdirectory named by @code{LT_CONFIG_LTDL_DIR} -to cause it to be built as a convenience library. If you're not -using automake, you will need to define @code{top_build_prefix}, -@code{top_builddir}, and @code{top_srcdir} in your makefile so that -@code{LIBLTDL}, @code{LTDLDEPS}, and @code{LTDLINCL} expand correctly. - -One advantage of the convenience library is that it is not installed, -so the fact that you use @code{libltdl} will not be apparent to the -user, and it won't overwrite a pre-installed version of -@code{libltdl} the system might already have in the installation -directory. On the other hand, if you want to upgrade @code{libltdl} -for any reason (e.g.@: a bugfix) you'll have to recompile your package -instead of just replacing the shared installed version of -@code{libltdl}. However, if your programs or libraries are linked -with other libraries that use such a pre-installed version of -@code{libltdl}, you may get linker errors or run-time crashes. -Another problem is that you cannot link the convenience library into -more than one libtool library, then link a single program with those -libraries, because you may get duplicate symbols. In general you can -safely use the convenience library in programs that don't depend on -other libraries that might use @code{libltdl} too. - -@item installable -This keyword will pass options to the @command{configure} -script in the subdirectory named by @code{LT_CONFIG_LTDL_DIR} -to cause it to be built as an installable library. If you're not -using automake, you will need to define @code{top_build_prefix}, -@code{top_builddir} and @code{top_srcdir} in your makefile so that -@code{LIBLTDL}, @code{LTDLDEPS}, and @code{LTDLINCL} are expanded -properly. - -Be aware that you could overwrite another @code{libltdl} already -installed to the same directory if you use this option. -@end table -@end defmac - -Whatever method you use, @samp{LTDL_INIT} will define the shell variable -@code{LIBLTDL} to the link flag that you should use to link with -@code{libltdl}, the shell variable @code{LTDLDEPS} to the files that -can be used as a dependency in @file{Makefile} rules, and the shell -variable @code{LTDLINCL} to the preprocessor flag that you should use to -compile programs that include @file{ltdl.h}. So, when you want to link a -program with libltdl, be it a convenience, installed or installable -library, just use @samp{$(LTDLINCL)} for preprocessing and compilation, -and @samp{$(LIBLTDL)} for linking. - -@itemize @bullet -@item -If your package is built using an installed version of @code{libltdl}, -@code{LIBLTDL} will be set to the compiler flags needed to link against -the installed library, @code{LTDLDEPS} will be empty, and @code{LTDLINCL} -will be set to the compiler flags needed to find the @code{libltdl} -header files. - -@item -If your package is built using the convenience libltdl, @code{LIBLTDL} -and @code{LTDLDEPS} will be the pathname for the convenience version of -libltdl (starting with @samp{$@{top_builddir@}/} or -@samp{$@{top_build_prefix@}}) and @code{LTDLINCL} will be @option{-I} -followed by the directory that contains @file{ltdl.h} (starting with -@samp{$@{top_srcdir@}/}). - -@item -If an installable version of the included @code{libltdl} is being -built, its pathname starting with @samp{$@{top_builddir@}/} or -@samp{$@{top_build_prefix@}}, will be stored in @code{LIBLTDL} and -@code{LTDLDEPS}, and @code{LTDLINCL} will be set just like in the case of -convenience library. -@end itemize - -You should probably also use the @samp{dlopen} option to @code{LT_INIT} -in your @file{configure.ac}, otherwise libtool will assume no dlopening -mechanism is supported, and revert to dlpreopening, which is probably not -what you want. Avoid using the @option{-static}, -@option{-static-libtool-libs}, or @option{-all-static} -switches when linking programs with libltdl. This will not work on -all platforms, because the dlopening functions may not be available -for static linking. - -The following example shows you how to embed an installable libltdl in -your package. In order to use the convenience variant, just replace the -@code{LTDL_INIT} option @samp{installable} with @samp{convenience}. We -assume that libltdl was embedded using @samp{libtoolize --ltdl}. - -configure.ac: -@example -... -# Name the subdirectory that contains libltdl sources -LT_CONFIG_LTDL_DIR([libltdl]) - -# Configure libtool with dlopen support if possible -LT_INIT([dlopen]) - -# Enable building of the installable libltdl library -LTDL_INIT([installable]) -... -@end example - -Makefile.am: -@example -... -SUBDIRS = libltdl - -AM_CPPFLAGS = $(LTDLINCL) - -myprog_LDFLAGS = -export-dynamic -myprog_LDADD = $(LIBLTDL) -dlopen self -dlopen foo1.la -myprog_DEPENDENCIES = $(LTDLDEPS) foo1.la -... -@end example - -@defmac LTDL_INSTALLABLE -@defmacx AC_LIBLTDL_INSTALLABLE -These macros are deprecated, the @samp{installable} option to -@code{LTDL_INIT} should be used instead. -@end defmac - -@defmac LTDL_CONVENIENCE -@defmacx AC_LIBLTDL_CONVENIENCE -These macros are deprecated, the @samp{convenience} option to -@code{LTDL_INIT} should be used instead. -@end defmac - - -@node Trace interface -@chapter Libtool's trace interface -@cindex trace interface -@cindex autoconf traces - -This section describes macros whose sole purpose is to be traced using -Autoconf's @option{--trace} option (@pxref{autoconf Invocation, , The -Autoconf Manual, autoconf, The Autoconf Manual}) to query the Libtool -configuration of a project. These macros are called by Libtool -internals and should never be called by user code; they should only be -traced. - -@defmac LT_SUPPORTED_TAG (@var{tag}) -This macro is called once for each language enabled in the package. Its -only argument, @var{tag}, is the tag-name corresponding to the language -(@pxref{Tags}). - -You can therefore retrieve the list of all tags enabled in a project -using the following command: -@example -autoconf --trace 'LT_SUPPORTED_TAG:$1' -@end example -@end defmac - - -@node FAQ -@chapter Frequently Asked Questions about libtool - -This chapter covers some questions that often come up on the mailing -lists. - -@menu -* Stripped link flags:: Dropped flags when creating a library -@end menu - -@node Stripped link flags -@section Why does libtool strip link flags when creating a library? - -When creating a shared library, but not when compiling or creating -a program, @command{libtool} drops some flags from the command line -provided by the user. This is done because flags unknown to -@command{libtool} may interfere with library creation or require -additional support from @command{libtool}, and because omitting -flags is usually the conservative choice for a successful build. - -If you encounter flags that you think are useful to pass, as a -work-around you can prepend flags with @code{-Wc,} or @code{-Xcompiler } -to allow them to be passed through to the compiler driver -(@pxref{Link mode}). Another possibility is to add flags already -to the compiler command at @command{configure} run time: - -@example -./configure CC='gcc -m64' -@end example - -If you think @command{libtool} should let some flag through by default, -here's how you can test such an inclusion: grab the Libtool development -tree, edit the @file{ltmain.in} file in the @file{libltdl/config} -subdirectory to pass through the flag (search for @samp{Flags to be -passed through}), re-bootstrap and build with the flags in question -added to @code{LDFLAGS}, @code{CFLAGS}, @code{CXXFLAGS}, etc. on the -@command{configure} command line as appropriate. Run the testsuite -as described in the @file{README} file and report results to -@value{BUGADDR}. - -@node Troubleshooting -@chapter Troubleshooting -@cindex troubleshooting -@cindex problems, solving -@cindex solving problems -@cindex problems, blaming somebody else for - -Libtool is under constant development, changing to remain up-to-date -with modern operating systems. If libtool doesn't work the way you -think it should on your platform, you should read this chapter to help -determine what the problem is, and how to resolve it. - -@menu -* Libtool test suite:: Libtool's self-tests. -* Reporting bugs:: How to report problems with libtool. -@end menu - -@node Libtool test suite -@section The libtool test suite -@cindex test suite - -Libtool comes with two integrated sets of tests to check that your build -is sane, that test its capabilities, and report obvious bugs in the -libtool program. These tests, too, are constantly evolving, based on -past problems with libtool, and known deficiencies in other operating -systems. - -As described in the @file{README} file, you may run @kbd{make -k check} -after you have built libtool (possibly before you install it) -to make sure that it meets basic functional requirements. - -@menu -* Test descriptions:: The contents of the old test suite. -* When tests fail:: What to do when a test fails. -@end menu - -@node Test descriptions -@subsection Description of test suite - -Here is a list of the current programs in the old test suite, and what -they test for: - -@table @file - -@item cdemo-conf.test -@itemx cdemo-make.test -@itemx cdemo-exec.test -@itemx cdemo-static.test -@itemx cdemo-static-make.test -@itemx cdemo-static-exec.test -@itemx cdemo-shared.test -@itemx cdemo-shared-make.test -@itemx cdemo-shared-exec.test -@itemx cdemo-undef.test -@itemx cdemo-undef-make.test -@itemx cdemo-undef-exec.test -@pindex cdemo-conf.test -@pindex cdemo-make.test -@pindex cdemo-exec.test -@pindex cdemo-static.test -@pindex cdemo-static-make.test -@pindex cdemo-static-exec.test -@pindex cdemo-shared.test -@pindex cdemo-shared-make.test -@pindex cdemo-shared-exec.test -@pindex cdemo-undef.test -@pindex cdemo-undef-make.test -@pindex cdemo-undef-exec.test -These programs check to see that the @file{tests/cdemo} subdirectory of -the libtool distribution can be configured and built correctly. - -The @file{tests/cdemo} subdirectory contains a demonstration of libtool -convenience libraries, a mechanism that allows build-time static -libraries to be created, in a way that their components can be later -linked into programs or other libraries, even shared ones. - -The tests matching @file{cdemo-*make.test} and @file{cdemo-*exec.test} -are executed three times, under three different libtool configurations: -@file{cdemo-conf.test} configures @file{cdemo/libtool} to build both -static and shared libraries (the default for platforms that support -both), @file{cdemo-static.test} builds only static libraries -(@samp{--disable-shared}), and @file{cdemo-shared.test} builds only -shared libraries (@samp{--disable-static}). - -The test @file{cdemo-undef.test} tests the generation of shared -libraries with undefined symbols on systems that allow this. - -@item demo-conf.test -@itemx demo-make.test -@itemx demo-exec.test -@itemx demo-inst.test -@itemx demo-unst.test -@itemx demo-static.test -@itemx demo-static-make.test -@itemx demo-static-exec.test -@itemx demo-static-inst.test -@itemx demo-static-unst.test -@itemx demo-shared.test -@itemx demo-shared-make.test -@itemx demo-shared-exec.test -@itemx demo-shared-inst.test -@itemx demo-shared-unst.test -@itemx demo-nofast.test -@itemx demo-nofast-make.test -@itemx demo-nofast-exec.test -@itemx demo-nofast-inst.test -@itemx demo-nofast-unst.test -@itemx demo-pic.test -@itemx demo-pic-make.test -@itemx demo-pic-exec.test -@itemx demo-nopic.test -@itemx demo-nopic-make.test -@itemx demo-nopic-exec.test -@pindex demo-conf.test -@pindex demo-make.test -@pindex demo-exec.test -@pindex demo-inst.test -@pindex demo-unst.test -@pindex demo-static.test -@pindex demo-static-make.test -@pindex demo-static-exec.test -@pindex demo-static-inst.test -@pindex demo-static-unst.test -@pindex demo-shared.test -@pindex demo-shared-make.test -@pindex demo-shared-exec.test -@pindex demo-shared-inst.test -@pindex demo-shared-unst.test -@pindex demo-nofast.test -@pindex demo-nofast-make.test -@pindex demo-nofast-exec.test -@pindex demo-nofast-inst.test -@pindex demo-nofast-unst.test -@pindex demo-pic.test -@pindex demo-pic-make.test -@pindex demo-pic-exec.test -@pindex demo-nopic.test -@pindex demo-nopic-make.test -@pindex demo-nopic-exec.test -These programs check to see that the @file{tests/demo} subdirectory of -the libtool distribution can be configured, built, installed, and -uninstalled correctly. - -The @file{tests/demo} subdirectory contains a demonstration of a trivial -package that uses libtool. The tests matching @file{demo-*make.test}, -@file{demo-*exec.test}, @file{demo-*inst.test} and -@file{demo-*unst.test} are executed four times, under four different -libtool configurations: @file{demo-conf.test} configures -@file{demo/libtool} to build both static and shared libraries, -@file{demo-static.test} builds only static libraries -(@option{--disable-shared}), and @file{demo-shared.test} builds only -shared libraries (@option{--disable-static}). -@file{demo-nofast.test} configures @file{demo/libtool} to -disable the fast-install mode (@option{--enable-fast-install=no}). -@file{demo-pic.test} configures @file{demo/libtool} to -prefer building PIC code (@option{--with-pic}), @file{demo-nopic.test} -to prefer non-PIC code (@option{--without-pic}). - -@item demo-deplibs.test -@pindex demo-deplibs.test -Many systems cannot link static libraries into shared libraries. -libtool uses a @code{deplibs_check_method} to prevent such cases. -This tests checks whether libtool's @code{deplibs_check_method} -works properly. - -@item demo-hardcode.test -@pindex demo-hardcode.test -On all systems with shared libraries, the location of the library can be -encoded in executables that are linked against it @pxref{Linking -executables}. This test checks under what conditions your system -linker hardcodes the library location, and guarantees that they -correspond to libtool's own notion of how your linker behaves. - -@item demo-relink.test -@itemx depdemo-relink.test -@pindex demo-relink.test -@pindex depdemo-relink.test -These tests check whether variable @code{shlibpath_overrides_runpath} is -properly set. If the test fails, it will indicate what the variable should -have been set to. - -@item demo-noinst-link.test -@pindex demo-noinst-link.test -Checks whether libtool will not try to link with a previously installed -version of a library when it should be linking with a just-built one. - -@item depdemo-conf.test -@itemx depdemo-make.test -@itemx depdemo-exec.test -@itemx depdemo-inst.test -@itemx depdemo-unst.test -@itemx depdemo-static.test -@itemx depdemo-static-make.test -@itemx depdemo-static-exec.test -@itemx depdemo-static-inst.test -@itemx depdemo-static-unst.test -@itemx depdemo-shared.test -@itemx depdemo-shared-make.test -@itemx depdemo-shared-exec.test -@itemx depdemo-shared-inst.test -@itemx depdemo-shared-unst.test -@itemx depdemo-nofast.test -@itemx depdemo-nofast-make.test -@itemx depdemo-nofast-exec.test -@itemx depdemo-nofast-inst.test -@itemx depdemo-nofast-unst.test -@pindex depdemo-conf.test -@pindex depdemo-make.test -@pindex depdemo-exec.test -@pindex depdemo-inst.test -@pindex depdemo-unst.test -@pindex depdemo-static.test -@pindex depdemo-static-make.test -@pindex depdemo-static-exec.test -@pindex depdemo-static-inst.test -@pindex depdemo-static-unst.test -@pindex depdemo-shared.test -@pindex depdemo-shared-make.test -@pindex depdemo-shared-exec.test -@pindex depdemo-shared-inst.test -@pindex depdemo-shared-unst.test -@pindex depdemo-nofast.test -@pindex depdemo-nofast-make.test -@pindex depdemo-nofast-exec.test -@pindex depdemo-nofast-inst.test -@pindex depdemo-nofast-unst.test -These programs check to see that the @file{tests/depdemo} subdirectory -of the libtool distribution can be configured, built, installed, and -uninstalled correctly. - -The @file{tests/depdemo} subdirectory contains a demonstration of -inter-library dependencies with libtool. The test programs link some -interdependent libraries. - -The tests matching @file{depdemo-*make.test}, @file{depdemo-*exec.test}, -@file{depdemo-*inst.test} and @file{depdemo-*unst.test} are executed -four times, under four different libtool configurations: -@file{depdemo-conf.test} configures @file{depdemo/libtool} to build both -static and shared libraries, @file{depdemo-static.test} builds only static -libraries (@option{--disable-shared}), and @file{depdemo-shared.test} builds -only shared libraries (@option{--disable-static}). -@file{depdemo-nofast.test} configures @file{depdemo/libtool} to -disable the fast-install mode (@option{--enable-fast-install=no}). - -@item mdemo-conf.test -@itemx mdemo-make.test -@itemx mdemo-exec.test -@itemx mdemo-inst.test -@itemx mdemo-unst.test -@itemx mdemo-static.test -@itemx mdemo-static-make.test -@itemx mdemo-static-exec.test -@itemx mdemo-static-inst.test -@itemx mdemo-static-unst.test -@itemx mdemo-shared.test -@itemx mdemo-shared-make.test -@itemx mdemo-shared-exec.test -@itemx mdemo-shared-inst.test -@itemx mdemo-shared-unst.test -@pindex mdemo-conf.test -@pindex mdemo-make.test -@pindex mdemo-exec.test -@pindex mdemo-inst.test -@pindex mdemo-unst.test -@pindex mdemo-static.test -@pindex mdemo-static-make.test -@pindex mdemo-static-exec.test -@pindex mdemo-static-inst.test -@pindex mdemo-static-unst.test -@pindex mdemo-shared.test -@pindex mdemo-shared-make.test -@pindex mdemo-shared-exec.test -@pindex mdemo-shared-inst.test -@pindex mdemo-shared-unst.test -These programs check to see that the @file{tests/mdemo} subdirectory of -the libtool distribution can be configured, built, installed, and -uninstalled correctly. - -The @file{tests/mdemo} subdirectory contains a demonstration of a -package that uses libtool and the system independent dlopen wrapper -@file{libltdl} to load modules. The library @file{libltdl} provides a -dlopen wrapper for various platforms (POSIX) -including support for dlpreopened modules (@pxref{Dlpreopening}). - -The tests matching @file{mdemo-*make.test}, @file{mdemo-*exec.test}, -@file{mdemo-*inst.test} and @file{mdemo-*unst.test} are executed -three times, under three different libtool configurations: -@file{mdemo-conf.test} configures @file{mdemo/libtool} to build both -static and shared libraries, @file{mdemo-static.test} builds only static -libraries (@option{--disable-shared}), and @file{mdemo-shared.test} builds -only shared libraries (@option{--disable-static}). - -@item mdemo-dryrun.test -@pindex mdemo-dryrun.test -This test checks whether libtool's @option{--dry-run} mode works properly. - -@item mdemo2-conf.test -@itemx mdemo2-exec.test -@itemx mdemo2-make.test -@pindex mdemo2-conf.test -@pindex mdemo2-exec.test -@pindex mdemo2-make.test -These programs check to see that the @file{tests/mdemo2} subdirectory of -the libtool distribution can be configured, built, and executed -correctly. - -The @file{tests/mdemo2} directory contains a demonstration of a package -that attempts to link with a library (from the @file{tests/mdemo} -directory) that itself does dlopening of libtool modules. - -@item link.test -@pindex link.test -This test guarantees that linking directly against a non-libtool static -library works properly. - -@item link-2.test -@pindex link-2.test -This test makes sure that files ending in @file{.lo} are never linked -directly into a program file. - -@item nomode.test -@pindex nomode.test -Check whether we can actually get help for libtool. - -@item objectlist.test -@pindex objectlist.test -Check that a nonexistent objectlist file is properly detected. - -@item pdemo-conf.test -@itemx pdemo-make.test -@itemx pdemo-exec.test -@itemx pdemo-inst.test -@pindex pdemo-conf.test -@pindex pdemo-make.test -@pindex pdemo-exec.test -@pindex pdemo-inst.test -These programs check to see that the @file{tests/pdemo} subdirectory of -the libtool distribution can be configured, built, and executed -correctly. - -The @file{pdemo-conf.test} lowers the @code{max_cmd_len} variable in the -generated libtool script to test the measures to evade command line -length limitations. - -@item quote.test -@pindex quote.test -This program checks libtool's metacharacter quoting. - -@item sh.test -@pindex sh.test -Checks for some nonportable or dubious or undesired shell constructs in -shell scripts. - -@item suffix.test -@pindex suffix.test -When other programming languages are used with libtool (@pxref{Other -languages}), the source files may end in suffixes other than @file{.c}. -This test validates that libtool can handle suffixes for all the file -types that it supports, and that it fails when the suffix is invalid. - -@item tagdemo-conf.test -@itemx tagdemo-make.test -@itemx tagdemo-exec.test -@itemx tagdemo-static.test -@itemx tagdemo-static-make.test -@itemx tagdemo-static-exec.test -@itemx tagdemo-shared.test -@itemx tagdemo-shared-make.test -@itemx tagdemo-shared-exec.test -@itemx tagdemo-undef.test -@itemx tagdemo-undef-make.test -@itemx tagdemo-undef-exec.test -@pindex tagdemo-conf.test -@pindex tagdemo-make.test -@pindex tagdemo-exec.test -@pindex tagdemo-static.test -@pindex tagdemo-static-make.test -@pindex tagdemo-static-exec.test -@pindex tagdemo-shared.test -@pindex tagdemo-shared-make.test -@pindex tagdemo-shared-exec.test -@pindex tagdemo-undef.test -@pindex tagdemo-undef-make.test -@pindex tagdemo-undef-exec.test -These programs check to see that the @file{tests/tagdemo} subdirectory -of the libtool distribution can be configured, built, and executed -correctly. - -The @file{tests/tagdemo} directory contains a demonstration of a package -that uses libtool's multi-language support through configuration tags. -It generates a library from C++ sources, which is then linked to a C++ -program. - -@item f77demo-conf.test -@itemx f77demo-make.test -@itemx f77demo-exec.test -@itemx f77demo-static.test -@itemx f77demo-static-make.test -@itemx f77demo-static-exec.test -@itemx f77demo-shared.test -@itemx f77demo-shared-make.test -@itemx f77demo-shared-exec.test -@pindex f77demo-conf.test -@pindex f77demo-make.test -@pindex f77demo-exec.test -@pindex f77demo-static.test -@pindex f77demo-static-make.test -@pindex f77demo-static-exec.test -@pindex f77demo-shared.test -@pindex f77demo-shared-make.test -@pindex f77demo-shared-exec.test -These programs check to see that the @file{tests/f77demo} subdirectory -of the libtool distribution can be configured, built, and executed -correctly. - -The @file{tests/f77demo} tests test Fortran 77 support in libtool by -creating libraries from Fortran 77 sources, and mixed Fortran and C -sources, and a Fortran 77 program to use the former library, and a C -program to use the latter library. - -@item fcdemo-conf.test -@itemx fcdemo-make.test -@itemx fcdemo-exec.test -@itemx fcdemo-static.test -@itemx fcdemo-static-make.test -@itemx fcdemo-static-exec.test -@itemx fcdemo-shared.test -@itemx fcdemo-shared-make.test -@itemx fcdemo-shared-exec.test -@pindex fcdemo-conf.test -@pindex fcdemo-make.test -@pindex fcdemo-exec.test -@pindex fcdemo-static.test -@pindex fcdemo-static-make.test -@pindex fcdemo-static-exec.test -@pindex fcdemo-shared.test -@pindex fcdemo-shared-make.test -@pindex fcdemo-shared-exec.test -These programs check to see that the @file{tests/fcdemo} subdirectory -of the libtool distribution can be configured, built, and executed -correctly. - -The @file{tests/fcdemo} is similar to the @file{tests/f77demo} -directory, except that Fortran 90 is used in combination with the -@samp{FC} interface provided by Autoconf and Automake. - -@end table - -The new, Autotest-based test suite uses keywords to classify certain -test groups: - -@table @samp -@item CXX -@itemx F77 -@itemx FC -@itemx GCJ -The test group exercises one of these @command{libtool} language tags. - -@item autoconf -@itemx automake -These keywords denote that the respective external program is needed -by the test group. The tests are typically skipped if the program is -not installed. The @samp{automake} keyword may also denote use of the -@command{aclocal} program. - -@item interactive -This test group may require user interaction on some systems. Typically, -this means closing a popup window about a DLL load error on Windows. - -@item libltdl -Denote that the @file{libltdl} library is exercised by the test group. - -@item libtool -@itemx libtoolize -Denote that the @command{libtool} or @command{libtoolize} scripts are -exercised by the test group, respectively. - -@item recursive -Denote that this test group may recursively re-invoke the test suite -itself, with changed settings and maybe a changed @command{libtool} -script. You may use the @env{INNER_TESTSUITEFLAGS} variable to pass -additional settings to this recursive invocation. Typically, recursive -invocations delimit the set of tests with another keyword, for example -by passing @code{-k libtool} right before the expansion of the -@env{INNER_TESTSUITEFLAGS} variable (without an intervening space, so -you get the chance for further delimitation). - -Test groups with the keyword @samp{recursive} should not be denoted with -keywords, in order to avoid infinite recursion. As a consequence, -recursive test groups themselves should never require user interaction, -while the test groups they invoke may do so. -@end table - -@cindex @samp{check-interactive} -@cindex @samp{check-noninteractive} -There is a convenience target @samp{check-noninteractive} that runs -all tests from both test suites that do not cause user interaction on -Windows. Conversely, the target @samp{check-interactive} runs the -complement of tests and might require closing popup windows about DLL -load errors on Windows. - - -@node When tests fail -@subsection When tests fail -@cindex failed tests -@cindex tests, failed - -When the tests in the old test suite are run via @command{make check}, -output is caught in per-test @file{tests/@var{test-name}.log} files -and summarized in the @file{test-suite.log} file. The exit status of each -program tells the @file{Makefile} whether or not the test succeeded. - -If a test fails, it means that there is either a programming error in -libtool, or in the test program itself. - -To investigate a particular test, you may run it directly, as you would -a normal program. When the test is invoked in this way, it produces -output that may be useful in determining what the problem is. - -The new, Autotest-based test suite produces as output a file -@file{tests/testsuite.log} that contains information about failed -tests. - -You can pass options to the test suite through the @command{make} -variable @env{TESTSUITEFLAGS} (@pxref{testsuite Invocation, , -The Autoconf Manual, autoconf, The Autoconf Manual}). - - -@node Reporting bugs -@section Reporting bugs -@cindex bug reports -@cindex reporting bugs -@cindex problem reports - -If you think you have discovered a bug in libtool, you should think -twice: the libtool maintainer is notorious for passing the buck (or -maybe that should be ``passing the bug''). Libtool was invented to fix -known deficiencies in shared library implementations, so, in a way, most -of the bugs in libtool are actually bugs in other operating systems. -However, the libtool maintainer would definitely be happy to add support -for somebody else's buggy operating system. [I wish there was a good -way to do winking smiley-faces in Texinfo.] - -Genuine bugs in libtool include problems with shell script portability, -documentation errors, and failures in the test suite (@pxref{Libtool -test suite}). - -First, check the documentation and help screens to make sure that the -behaviour you think is a problem is not already mentioned as a feature. - -Then, you should read the Emacs guide to reporting bugs (@pxref{Bugs, , -Reporting Bugs, emacs, The Emacs Manual}). Some of the details -listed there are specific to Emacs, but the principle behind them is a -general one. - -Finally, send a bug report to @value{BUGADDR} with any appropriate -@emph{facts}, such as test suite output (@pxref{When tests fail}), all -the details needed to reproduce the bug, and a brief description of why -you think the behaviour is a bug. Be sure to include the word -``libtool'' in the subject line, as well as the version number you are -using (which can be found by typing @kbd{libtool --version}). - -@node Maintaining -@chapter Maintenance notes for libtool - -This chapter contains information that the libtool maintainer finds -important. It will be of no use to you unless you are considering -porting libtool to new systems, or writing your own libtool. - -@menu -* New ports:: How to port libtool to new systems. -* Tested platforms:: When libtool was last tested. -* Platform quirks:: Information about different library systems. -* libtool script contents:: Configuration information that libtool uses. -* Cheap tricks:: Making libtool maintainership easier. -@end menu - -@node New ports -@section Porting libtool to new systems - -Before you embark on porting libtool to an unsupported system, it is -worthwhile to send e-mail to @value{MAILLIST}, to make sure that you are -not duplicating existing work. - -If you find that any porting documentation is missing, please complain! -Complaints with patches and improvements to the documentation, or to -libtool itself, are more than welcome. - -@menu -* Information sources:: Where to find relevant documentation -* Porting inter-library dependencies:: Implementation details explained -@end menu - -@node Information sources -@subsection Information sources - -Once it is clear that a new port is necessary, you'll generally need the -following information: - -@table @asis -@item canonical system name -You need the output of @code{config.guess} for this system, so that you -can make changes to the libtool configuration process without affecting -other systems. - -@item man pages for @command{ld} and @command{cc} -These generally describe what flags are used to generate PIC, to create -shared libraries, and to link against only static libraries. You may -need to follow some cross references to find the information that is -required. - -@item man pages for @command{ld.so}, @command{rtld}, or equivalent -These are a valuable resource for understanding how shared libraries are -loaded on the system. - -@item man page for @command{ldconfig}, or equivalent -This page usually describes how to install shared libraries. - -@item output from @kbd{ls -l /lib /usr/lib} -This shows the naming convention for shared libraries on the system, -including what names should be symbolic links. - -@item any additional documentation -Some systems have special documentation on how to build and install -shared libraries. -@end table - -If you know how to program the Bourne shell, then you can complete the -port yourself; otherwise, you'll have to find somebody with the relevant -skills who will do the work. People on the libtool mailing list are -usually willing to volunteer to help you with new ports, so you can send -the information to them. - -To do the port yourself, you'll definitely need to modify the -@code{libtool.m4} macros to make platform-specific changes to -the configuration process. You should search that file for the -@code{PORTME} keyword, which will give you some hints on what you'll -need to change. In general, all that is involved is modifying the -appropriate configuration variables (@pxref{libtool script contents}). - -Your best bet is to find an already-supported system that is similar to -yours, and make your changes based on that. In some cases, however, -your system will differ significantly from every other supported system, -and it may be necessary to add new configuration variables, and modify -the @code{ltmain.in} script accordingly. Be sure to write to the -mailing list before you make changes to @code{ltmain.in}, since they may -have advice on the most effective way of accomplishing what you want. - -@node Porting inter-library dependencies -@subsection Porting inter-library dependencies support -@cindex inter-library dependency -@vindex deplibs_check_method - -Since version 1.2c, libtool has re-introduced the ability to do -inter-library dependency on some platforms, thanks to a patch by Toshio -Kuratomi @email{badger@@prtr-13.ucsc.edu}. Here's a shortened version -of the message that contained his patch: - -The basic architecture is this: in @file{libtool.m4}, the person who -writes libtool makes sure @samp{$deplibs} is included in -@samp{$archive_cmds} somewhere and also sets the variable -@samp{$deplibs_check_method}, and maybe @samp{$file_magic_cmd} when -@samp{deplibs_check_method} is file_magic. - -@samp{deplibs_check_method} can be one of five things: -@table @samp -@item file_magic [@var{regex}] -@vindex file_magic -@vindex file_magic_cmd -@vindex file_magic_test_file -looks in the library link path for libraries that have the right -libname. Then it runs @samp{$file_magic_cmd} on the library and checks -for a match against the extended regular expression @var{regex}. When -@code{file_magic_test_file} is set by @file{libtool.m4}, it is used as an -argument to @samp{$file_magic_cmd} to verify whether the -regular expression matches its output, and warn the user otherwise. - -@item test_compile -@vindex test_compile -just checks whether it is possible to link a program out of a list of -libraries, and checks which of those are listed in the output of -@code{ldd}. It is currently unused, and will probably be dropped in the -future. - -@item pass_all -@vindex pass_all -will pass everything without any checking. This may work on platforms -where code is position-independent by default and inter-library -dependencies are properly supported by the dynamic linker, for example, -on DEC OSF/1 3 and 4. - -@item none -@vindex none -It causes deplibs to be reassigned @samp{deplibs=""}. That way -@samp{archive_cmds} can contain deplibs on all platforms, but not have -deplibs used unless needed. - -@item unknown -@vindex unknown -is the default for all systems unless overridden in @file{libtool.m4}. -It is the same as @samp{none}, but it documents that we really don't -know what the correct value should be, and we welcome patches that -improve it. -@end table - -Then in @file{ltmain.in} we have the real workhorse: a little -initialization and postprocessing (to setup/release variables for use -with eval echo libname_spec etc.) and a case statement that decides -the method that is being used. This is the real code@dots{} I wish I could -condense it a little more, but I don't think I can without function -calls. I've mostly optimized it (moved things out of loops, etc.) but -there is probably some fat left. I thought I should stop while I was -ahead, work on whatever bugs you discover, etc.@: before thinking about -more than obvious optimizations. - -@node Tested platforms -@section Tested platforms - -This table describes when libtool was last known to be tested on -platforms where it claims to support shared libraries: - -@example -@include PLATFORMS -@end example - -Note: The vendor-distributed HP-UX @command{sed}(1) programs are horribly -broken, and cannot handle libtool's requirements, so users may report -unusual problems. There is no workaround except to install a working -@command{sed} (such as GNU @command{sed}) on these systems. - -Note: The vendor-distributed NCR MP-RAS @command{cc} programs emits -copyright on standard error that confuse tests on size of -@file{conftest.err}. The workaround is to specify @code{CC} -when run @code{configure} with @kbd{CC='cc -Hnocopyr'}. - -@node Platform quirks -@section Platform quirks - -This section is dedicated to the sanity of the libtool maintainers. It -describes the programs that libtool uses, how they vary from system to -system, and how to test for them. - -Because libtool is a shell script, it can be difficult to understand -just by reading it from top to bottom. This section helps show why -libtool does things a certain way. Combined with the scripts -themselves, you should have a better sense of how to improve libtool, or -write your own. - -@menu -* References:: Finding more information. -* Compilers:: Creating object files from source files. -* Reloadable objects:: Binding object files together. -* Multiple dependencies:: Removing duplicate dependent libraries. -* Archivers:: Programs that create static archives. -* Cross compiling:: Issues that arise when cross compiling. -* File name conversion:: Converting file names between platforms. -* Windows DLLs:: Windows header defines. -@end menu - -@node References -@subsection References - -The following is a list of valuable documentation references: - -@itemize @bullet -@item -SGI's IRIX Manual Pages can be found at@* -@url{http://techpubs.sgi.com/cgi-bin/infosrch.cgi?cmd=browse&db=man}. - -@item -Sun's free service area -(@url{http://www.sun.com/service/online/free.html}) and documentation -server (@url{http://docs.sun.com/}). - -@item -Compaq's Tru64 UNIX online documentation is at@* -(@url{http://tru64unix.compaq.com/faqs/publications/pub_page/doc_list.html}) -with C++ documentation at@* -(@url{http://tru64unix.compaq.com/cplus/docs/index.htm}). - -@item -Hewlett-Packard has online documentation at -(@url{http://docs.hp.com/index.html}). - -@item -IBM has online documentation at -(@url{http://www.rs6000.ibm.com/resource/aix_resource/Pubs/}). -@end itemize - -@node Compilers -@subsection Compilers - -The only compiler characteristics that affect libtool are the flags -needed (if any) to generate PIC objects. In general, if a C compiler -supports certain PIC flags, then any derivative compilers support the -same flags. Until there are some noteworthy exceptions to this rule, -this section will document only C compilers. - -The following C compilers have standard command line options, regardless -of the platform: - -@table @code -@item gcc - -This is the GNU C compiler, which is also the system compiler for many -free operating systems (FreeBSD, GNU/Hurd, GNU/Linux, Lites, NetBSD, and -OpenBSD, to name a few). - -The @option{-fpic} or @option{-fPIC} flags can be used to generate -position-independent code. @option{-fPIC} is guaranteed to generate -working code, but the code is slower on m68k, m88k, and SPARC chips. -However, using @option{-fpic} on those chips imposes arbitrary size limits -on the shared libraries. -@end table - -The rest of this subsection lists compilers by the operating system that -they are bundled with: - -@c FIXME these should all be better-documented - -@table @code -@item aix3* -@itemx aix4* -Most AIX compilers have no PIC flags, since AIX (with the exception of -AIX for IA-64) runs on PowerPC and RS/6000 chips. @footnote{All code compiled -for the PowerPC and RS/6000 chips (@code{powerpc-*-*}, @code{powerpcle-*-*}, -and @code{rs6000-*-*}) is position-independent, regardless of the operating -system or compiler suite. So, ``regular objects'' can be used to build -shared libraries on these systems and no special PIC compiler flags are -required.} - -@item hpux10* -Use @samp{+Z} to generate PIC. - -@item osf3* -Digital/UNIX 3.x does not have PIC flags, at least not on the PowerPC -platform. - -@item solaris2* -Use @option{-KPIC} to generate PIC. - -@item sunos4* -Use @option{-PIC} to generate PIC. -@end table - -@node Reloadable objects -@subsection Reloadable objects - -On all known systems, a reloadable object can be created by running -@kbd{ld -r -o @var{output}.o @var{input1}.o @var{input2}.o}. This -reloadable object may be treated as exactly equivalent to other -objects. - -@node Multiple dependencies -@subsection Multiple dependencies - -On most modern platforms the order where dependent libraries are listed -has no effect on object generation. In theory, there are platforms -that require libraries that provide missing symbols to other libraries -to be listed after those libraries whose symbols they provide. - -Particularly, if a pair of static archives each resolve some of the -other's symbols, it might be necessary to list one of those archives -both before and after the other one. Libtool does not currently cope -with this situation well, since duplicate libraries are removed from -the link line by default. Libtool provides the command line option -@option{--preserve-dup-deps} to preserve all duplicate dependencies -in cases where it is necessary. - -@node Archivers -@subsection Archivers - -On all known systems, building a static library can be accomplished by -running @kbd{ar cr lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}}, -where the @file{.a} file is the output library, and each @file{.o} file is an -object file. - -On all known systems, if there is a program named @command{ranlib}, then it -must be used to ``bless'' the created library before linking against it, -with the @kbd{ranlib lib@var{name}.a} command. Some systems, like Irix, -use the @code{ar ts} command, instead. - -@node Cross compiling -@subsection Cross compiling -@cindex cross compile - -Most build systems support the ability to compile libraries and applications -on one platform for use on a different platform, provided a compiler capable -of generating the appropriate output is available. In such cross compiling -scenarios, the platform where the libraries or applications are compiled -is called the @dfn{build platform}, while the platform where the libraries -or applications are intended to be used or executed is called the -@dfn{host platform}. -@ref{GNU Build System,, The GNU Build System, automake, The Automake Manual}, -of which libtool is a part, supports cross compiling via arguments passed to -the configure script: @option{--build=...} and @option{--host=...}. However, -when the build platform and host platform are very different, libtool is -required to make certain accommodations to support these scenarios. - -In most cases, because the build platform and host platform differ, the -cross-compiled libraries and executables can't be executed or tested on the -build platform where they were compiled. The testsuites of most build systems -will often skip any tests that involve executing such foreign executables when -cross-compiling. However, if the build platform and host platform are -sufficiently similar, it is often possible to run cross-compiled applications. -Libtool's own testsuite often attempts to execute cross-compiled tests, but -will mark any failures as @emph{skipped} since the failure might simply be due -to the differences between the two platforms. - -In addition to cases where the host platform and build platform are extremely -similar (e.g. @samp{i586-pc-linux-gnu} and @samp{i686-pc-linux-gnu}), there is -another case where cross-compiled host applications may be executed on the -build platform. This is possible when the build platform supports an emulation -or API-enhanced environment for the host platform. One example of this -situation would be if the build platform were MinGW, and the host platform were -Cygwin (or vice versa). Both of these platforms can actually operate within a -single Windows instance, so Cygwin applications can be launched from a MinGW -context, and vice versa---provided certain care is taken. Another example -would be if the build platform were GNU/Linux on an x86 32bit processor, and -the host platform were MinGW. In this situation, the -@uref{http://www.winehq.org/, Wine} environment can be used to launch Windows -applications from the GNU/Linux operating system; again, provided certain care -is taken. - -One particular issue occurs when a Windows platform such as MinGW, Cygwin, or -MSYS is the host or build platform, while the other platform is a Unix-style -system. In these cases, there are often conflicts between the format of the -file names and paths expected within host platform libraries and executables, -and those employed on the build platform. - -This situation is best described using a concrete example: suppose the build -platform is GNU/Linux with canonical triplet @samp{i686-pc-linux-gnu}. Suppose -further that the host platform is MinGW with canonical triplet -@samp{i586-pc-mingw32}. On the GNU/Linux platform there is a cross compiler -following the usual naming conventions of such compilers, where the compiler -name is prefixed by the host canonical triplet (or suitable alias). (For more -information concerning canonical triplets and platform aliases, see -@ref{Specifying Target Triplets,, Specifying Target Triplets, autoconf, -The Autoconf Manual} and @ref{Canonicalizing,, Canonicalizing, autoconf, -The Autoconf Manual}) In this case, the C compiler is named -@samp{i586-pc-mingw32-gcc}. - -As described in @ref{Wrapper executables}, for the MinGW host platform libtool -uses a wrapper executable to set various environment variables before launching -the actual program executable. Like the program executable, the wrapper -executable is cross-compiled for the host platform (that is, for MinGW). As -described above, ordinarily a host platform executable cannot be executed on -the build platform, but in this case the Wine environment could be used to -launch the MinGW application from GNU/Linux. However, the wrapper executable, -as a host platform (MinGW) application, must set the @env{PATH} variable so -that the true application's dependent libraries can be located---but the -contents of the @env{PATH} variable must be structured for MinGW. Libtool -must use the Wine file name mapping facilities to determine the correct value -so that the wrapper executable can set the @env{PATH} variable to point to the -correct location. - -For example, suppose we are compiling an application in @file{/var/tmp} on -GNU/Linux, using separate source code and build directories: - -@example -@multitable @columnfractions 0.5 0.5 -@item @file{/var/tmp/foo-1.2.3/app/} @tab (application source code) -@item @file{/var/tmp/foo-1.2.3/lib/} @tab (library source code) -@item @file{/var/tmp/BUILD/app/} @tab (application build objects here) -@item @file{/var/tmp/BUILD/lib/} @tab (library build objects here) -@end multitable -@end example - -Since the library will be built in @file{/var/tmp/BUILD/lib}, the wrapper -executable (which will be in @file{/var/tmp/BUILD/app}) must add that -directory to @env{PATH} (actually, it must add the directory named -@var{objdir} under @file{/var/tmp/BUILD/lib}, but we'll ignore that detail -for now). However, Windows does not have a concept of Unix-style file or -directory names such as @file{/var/tmp/BUILD/lib}. Therefore, Wine provides -a mapping from Windows file names such as @file{C:\Program Files} to specific -Unix-style file names. Wine also provides a utility that can be used to map -Unix-style file names to Windows file names. - -In this case, the wrapper executable should actually add the value - -@example -Z:\var\tmp\BUILD\lib -@end example - -@noindent -to the @env{PATH}. libtool contains support for path conversions of this -type, for a certain limited set of build and host platform combinations. In -this case, libtool will invoke Wine's @command{winepath} utility to ensure that -the correct @env{PATH} value is used. @xref{File name conversion}. - -@node File name conversion -@subsection File name conversion -@cindex file name conversion -@cindex path conversion - -In certain situations, libtool must convert file names and paths between -formats appropriate to different platforms. Usually this occurs when -cross-compiling, and affects only the ability to launch host platform -executables on the build platform using an emulation or API-enhancement -environment such as Wine. Failure to convert paths -(@pxref{File Name Conversion Failure}) will cause a warning to be issued, but -rarely causes the build to fail---and should have no affect on the compiled -products, once installed properly on the host platform. For more information, -@pxref{Cross compiling}. - -However, file name conversion may also occur in another scenario: when using a -Unix emulation system on Windows (such as Cygwin or MSYS), combined with a -native Windows compiler such as MinGW or MSVC. Only a limited set of such -scenarios are currently supported; in other cases file name conversion is -skipped. The lack of file name conversion usually means that uninstalled -executables can't be launched, but only rarely causes the build to fail -(@pxref{File Name Conversion Failure}). - -libtool supports file name conversion in the following scenarios: - -@multitable @columnfractions .25 .25 .5 -@headitem build platform @tab host platform @tab Notes -@item MinGW (MSYS) @tab MinGW (Windows) -@tab @pxref{Native MinGW File Name Conversion} - -@item Cygwin @tab MinGW (Windows) -@tab @pxref{Cygwin/Windows File Name Conversion} - -@item Unix + Wine @tab MinGW (Windows) -@tab Requires Wine. @xref{Unix/Windows File Name Conversion}. - -@item MinGW (MSYS) @tab Cygwin -@tab Requires @env{LT_CYGPATH}. @xref{LT_CYGPATH}. Provided for testing -purposes only. - -@item Unix + Wine @tab Cygwin -@tab Requires both Wine and @env{LT_CYGPATH}, but does not yet work with -Cygwin 1.7.7 and Wine-1.2. -@xref{Unix/Windows File Name Conversion}, and @ref{LT_CYGPATH}. -@end multitable - -@menu -* File Name Conversion Failure:: What happens when file name conversion fails -* Native MinGW File Name Conversion:: MSYS file name conversion idiosyncrasies -* Cygwin/Windows File Name Conversion:: Using @command{cygpath} to convert Cygwin file names -* Unix/Windows File Name Conversion:: Using Wine to convert Unix paths -* LT_CYGPATH:: Invoking @command{cygpath} from other environments -* Cygwin to MinGW Cross:: Other notes concerning MinGW cross -@end menu - -@node File Name Conversion Failure -@subsubsection File Name Conversion Failure -@cindex File Name Conversion - Failure -@cindex Path Conversion - Failure - -In most cases, file name conversion is not needed or attempted. However, when -libtool detects that a specific combination of build and host platform does -require file name conversion, it is possible that the conversion may fail. -In these cases, you may see a warning such as the following: - -@example -Could not determine the host file name corresponding to - `... a file name ...' -Continuing, but uninstalled executables may not work. -@end example - -@noindent -or - -@example -Could not determine the host path corresponding to - `... a path ...' -Continuing, but uninstalled executables may not work. -@end example - -@noindent -This should not cause the build to fail. At worst, it means that the wrapper -executable will specify file names or paths appropriate for the build platform. -Since those are not appropriate for the host platform, the uninstalled -executables would not operate correctly, even when the wrapper executable is -launched via the appropriate emulation or API-enhancement (e.g. Wine). Simply -install the executables on the host platform, and execute them there. - -@node Native MinGW File Name Conversion -@subsubsection Native MinGW File Name Conversion -@cindex File Name Conversion - MinGW -@cindex Path Conversion - MinGW -@cindex MSYS - -MSYS is a Unix emulation environment for Windows, and is specifically designed -such that in normal usage it @emph{pretends} to be MinGW or native Windows, -but understands Unix-style file names and paths, and supports standard Unix -tools and shells. Thus, ``native'' MinGW builds are actually an odd sort of -cross-compile, from an MSYS Unix emulation environment ``pretending'' to be -MinGW, to actual native Windows. - -When an MSYS shell launches a native Windows executable (as opposed to other -@emph{MSYS} executables), it uses a system of heuristics to detect any -command-line arguments that contain file names or paths. It automatically -converts these file names from the MSYS (Unix-like) format, to the -corresponding Windows file name, before launching the executable. However, -this auto-conversion facility is only available when using the MSYS runtime -library. The wrapper executable itself is a MinGW application (that is, it -does not use the MSYS runtime library). The wrapper executable must set -@env{PATH} to, and call @code{_spawnv} with, values that have already been -converted from MSYS format to Windows. Thus, when libtool writes the source -code for the wrapper executable, it must manually convert MSYS paths to -Windows format, so that the Windows values can be hard-coded into the wrapper -executable. - -@node Cygwin/Windows File Name Conversion -@subsubsection Cygwin/Windows File Name Conversion -@cindex File Name Conversion - Cygwin to Windows -@cindex Path Conversion - Cygwin to Windows - -Cygwin provides a Unix emulation environment for Windows. As part of that -emulation, it provides a file system mapping that presents the Windows file -system in a Unix-compatible manner. Cygwin also provides a utility -@command{cygpath} that can be used to convert file names and paths between -the two representations. In a correctly configured Cygwin installation, -@command{cygpath} is always present, and is in the @env{PATH}. - -Libtool uses @command{cygpath} to convert from Cygwin (Unix-style) file names -and paths to Windows format when the build platform is Cygwin and the host -platform is MinGW. - -When the host platform is Cygwin, but the build platform is MSYS or some Unix -system, libtool also uses @command{cygpath} to convert from Windows to Cygwin -format (after first converting from the build platform format to Windows format; -@xref{Native MinGW File Name Conversion}, and -@ref{Unix/Windows File Name Conversion}.) Because the build platform is not -Cygwin, @command{cygpath} is not (and should not be) in the @env{PATH}. -Therefore, in this configuration the environment variable @env{LT_CYGPATH} is -required. @xref{LT_CYGPATH}. - -@node Unix/Windows File Name Conversion -@subsubsection Unix/Windows File Name Conversion -@cindex File Name Conversion - Unix to Windows -@cindex Path Conversion - Unix to Windows - - -@uref{http://www.winehq.org/, Wine} provides an interpretation environment for -some Unix platforms where Windows applications can be executed. It provides -a mapping between the Unix file system and a virtual Windows file system used -by the Windows programs. For the file name conversion to work, Wine must be -installed and properly configured on the build platform, and the -@command{winepath} application must be in the build platform's @env{PATH}. In -addition, on 32bit GNU/Linux it is usually helpful if the binfmt extension is -enabled. - -@node LT_CYGPATH -@subsubsection LT_CYGPATH -@cindex LT_CYGPATH - -For some cross-compile configurations (where the host platform is Cygwin), the -@command{cygpath} program is used to convert file names from the build platform -notation to the Cygwin form (technically, this conversion is from Windows -notation to Cygwin notation; the conversion from the build platform format -to Windows notation is performed via other means). However, because the -@command{cygpath} program is not (and should not be) in the @env{PATH} on -the build platform, @env{LT_CYGPATH} must specify the full build platform -file name (that is, the full Unix or MSYS file name) of the @command{cygpath} -program. - -The reason @command{cygpath} should not be in the build platform @env{PATH} is -twofold: first, @command{cygpath} is usually installed in the same directory as -many other Cygwin executables, such as @command{sed}, @command{cp}, etc. If -the build platform environment had this directory in its @env{PATH}, then these -Cygwin versions of common Unix utilities might be used in preference to the -ones provided by the build platform itself, with deleterious effects. Second, -especially when Cygwin-1.7 or later is used, multiple Cygwin installations can -coexist within the same Windows instance. Each installation will have separate -``mount tables'' specified in @file{@var{CYGROOT-N}/etc/fstab}. These -@dfn{mount tables} control how that instance of Cygwin will map Windows file -names and paths to Cygwin form. Each installation's @command{cygpath} utility -automatically deduces the appropriate @file{/etc/fstab} file. Since each -@file{@var{CYGROOT-N}/etc/fstab} mount table may specify different mappings, it -matters what @command{cygpath} is used. - -Note that @command{cygpath} is a Cygwin application; to execute this tool from -Unix requires a working and properly configured Wine installation, as well -as enabling the GNU/Linux @code{binfmt} extension. Furthermore, the Cygwin -@command{setup.exe} tool should have been used, via Wine, to properly install -Cygwin into the Wine file system (and registry). - -Unfortunately, Wine support for Cygwin is intermittent. Recent releases of -Cygwin (1.7 and above) appear to require more Windows API support than Wine -provides (as of Wine version 1.2); most Cygwin applications fail to execute. -This includes @command{cygpath} itself. Hence, it is best @emph{not} to use -the LT_CYGPATH machinery in libtool when performing Unix to Cygwin -cross-compiles. Similarly, it is best @emph{not} to enable the GNU/Linux binfmt -support in this configuration, because while Wine will fail to execute the -compiled Cygwin applications, it will still exit with status zero. This tends -to confuse build systems and test suites (including libtool's own testsuite, -resulting in spurious reported failures). Wine support for the older -Cygwin-1.5 series appears satisfactory, but the Cygwin team no longer supports -Cygwin-1.5. It is hoped that Wine will eventually be improved such that -Cygwin-1.7 will again operate correctly under Wine. Until then, libtool will -report warnings as described in @pxref{File Name Conversion Failure} in these -scenarios. - -However, @env{LT_CYGPATH} is also used for the MSYS to Cygwin cross compile -scenario, and operates as expected. - -@node Cygwin to MinGW Cross -@subsubsection Cygwin to MinGW Cross -@cindex Cygwin to MinGW Cross - -There are actually three different scenarios that could all legitimately be -called a ``Cygwin to MinGW'' cross compile. The current (and standard) -definition is when there is a compiler that produces native Windows libraries -and applications, but which itself is a Cygwin application, just as would be -expected in any other cross compile setup. - -However, historically there were two other definitions, which we will refer -to as the @emph{fake} one, and the @emph{lying} one. - -In the @emph{fake} Cygwin to MinGW cross compile case, you actually use a -native MinGW compiler, but you do so from within a Cygwin environment: - -@example -@kbd{export PATH="/c/MinGW/bin:$@{PATH@}"} -@kbd{configure --build=i686-pc-cygwin \ - --host=mingw32 \ - NM=/c/MinGW/bin/nm.exe} -@end example - -In this way, the build system ``knows'' that you are cross compiling, and the -file name conversion logic will be used. However, because the tools -(@command{mingw32-gcc}, @command{nm}, @command{ar}) used are actually native -Windows applications, they will not understand any Cygwin (that is, Unix-like) -absolute file names passed as command line arguments (and, unlike MSYS, Cygwin -does not automatically convert such arguments). However, so long as only -relative file names are used in the build system, and non-Windows-supported -Unix idioms such as symlinks and mount points are avoided, this scenario should -work. - -If you must use absolute file names, you will have to force Libtool to convert -file names for the toolchain in this case, by doing the following before you -run configure: - -@example -@kbd{export lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32} -@end example -@cindex lt_cv_to_tool_file_cmd -@cindex func_convert_file_cygwin_to_w32 - -In the @emph{lying} Cygwin to MinGW cross compile case, you lie to the -build system: - -@example -@kbd{export PATH="/c/MinGW/bin:$@{PATH@}"} -@kbd{configure --build=i686-pc-mingw32 \ - --host=i686-pc-mingw32 \ - --disable-dependency-tracking} -@end example - -@noindent -and claim that the build platform is MinGW, even though you are actually -running under @emph{Cygwin} and not MinGW. In this case, libtool does -@emph{not} know that you are performing a cross compile, and thinks instead -that you are performing a native MinGW build. However, as described in -(@pxref{Native MinGW File Name Conversion}), that scenario triggers an ``MSYS -to Windows'' file name conversion. This, of course, is the wrong conversion -since we are actually running under Cygwin. Also, the toolchain is expecting -Windows file names (not Cygwin) but unless told so Libtool will feed Cygwin -file names to the toolchain in this case. To force the correct file name -conversions in this situation, you should do the following @emph{before} -running configure: - -@example -@kbd{export lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32} -@kbd{export lt_cv_to_tool_file_cmd=func_convert_file_cygwin_to_w32} -@end example -@cindex lt_cv_to_host_file_cmd -@cindex lt_cv_to_tool_file_cmd -@cindex func_convert_file_cygwin_to_w32 - -Note that this relies on internal implementation details of libtool, and -is subject to change. Also, @code{--disable-dependency-tracking} is required, -because otherwise the MinGW GCC will generate dependency files that contain -Windows file names. This, in turn, will confuse the Cygwin @command{make} -program, which does not accept Windows file names: - -@example -Makefile:1: *** target pattern contains no `%'. Stop. -@end example - -There have also always been a number of other details required for the -@emph{lying} case to operate correctly, such as the use of so-called -@dfn{identity mounts}: - -@example -# @var{cygwin-root}/etc/fstab -D:/foo /foo some_fs binary 0 0 -D:/bar /bar some_fs binary 0 0 -E:/grill /grill some_fs binary 0 0 -@end example - -In this way, top-level directories of each drive are available using -identical names within Cygwin. - -Note that you also need to ensure that the standard Unix directories -(like @file{/bin}, @file{/lib}, @file{/usr}, @file{/etc}) appear in the root -of a drive. This means that you must install Cygwin itself into the @file{C:/} -root directory (or @file{D:/}, or @file{E:/}, etc)---instead of the -recommended installation into @file{C:/cygwin/}. In addition, all file names -used in the build system must be relative, symlinks should not be used within -the source or build directory trees, and all @option{-M*} options to -@command{gcc} except @option{-MMD} must be avoided. - -This is quite a fragile setup, but it has been in historical use, and so is -documented here. - -@node Windows DLLs -@subsection Windows DLLs -@cindex Windows DLLs - -This topic describes a couple of ways to portably create Windows Dynamic -Link Libraries (DLLs). Libtool knows how to create DLLs using GNU tools -and using Microsoft tools. - -A typical library has a ``hidden'' implementation with an interface -described in a header file. On just about every system, the interface -could be something like this: - -Example @file{foo.h}: - -@example -#ifndef FOO_H -#define FOO_H - -int one (void); -int two (void); -extern int three; - -#endif /* FOO_H */ -@end example - -@noindent -And the implementation could be something like this: - -Example @file{foo.c}: - -@example -#include "foo.h" - -int one (void) -@{ - return 1; -@} - -int two (void) -@{ - return three - one (); -@} - -int three = 3; -@end example - -When using contemporary GNU tools to create the Windows DLL, the above -code will work there too, thanks to its auto-import/auto-export -features. But that is not the case when using older GNU tools or perhaps -more interestingly when using proprietary tools. In those cases the code -will need additional decorations on the interface symbols with -@code{__declspec(dllimport)} and @code{__declspec(dllexport)} depending -on whether the library is built or it's consumed and how it's built and -consumed. However, it should be noted that it would have worked also -with Microsoft tools, if only the variable @code{three} hadn't been -there, due to the fact the Microsoft tools will automatically import -functions (but sadly not variables) and Libtool will automatically export -non-static symbols as described next. - -With Microsoft tools, Libtool digs through the object files that make up -the library, looking for non-static symbols to automatically export. -I.e., Libtool with Microsoft tools tries to mimic the auto-export feature -of contemporary GNU tools. It should be noted that the GNU auto-export -feature is turned off when an explicit @code{__declspec(dllexport)} is -seen. The GNU tools do this to not make more symbols visible for projects -that have already taken the trouble to decorate symbols. There is no -similar way to limit what symbols are visible in the code when Libtool -is using Microsoft tools. In order to limit symbol visibility in that -case you need to use one of the options @option{-export-symbols} or -@option{-export-symbols-regex}. - -No matching help with auto-import is provided by Libtool, which is why -variables must be decorated to import them from a DLL for everything but -contemporary GNU tools. As stated above, functions are automatically -imported by both contemporary GNU tools and Microsoft tools, but for -other proprietary tools the auto-import status of functions is unknown. - -When the objects that form the library are built, there are generally -two copies built for each object. One copy is used when linking the DLL -and one copy is used for the static library. On Windows systems, a pair -of defines are commonly used to discriminate how the interface symbols -should be decorated. The first define is @samp{-DDLL_EXPORT}, which is -automatically provided by Libtool when @command{libtool} builds the copy -of the object that is destined for the DLL. The second define is -@samp{-DLIBFOO_BUILD} (or similar), which is often added by the package -providing the library and is used when building the library, but not -when consuming the library. - -However, the matching double compile is not performed when consuming -libraries. It is therefore not possible to reliably distinguish if the -consumer is importing from a DLL or if it is going to use a static -library. - -With contemporary GNU tools, auto-import often saves the day, but see -the GNU ld documentation and its @option{--enable-auto-import} option -for some corner cases when it does not -(@pxref{Options, @option{--enable-auto-import}, Options specific to -i386 PE targets, ld, Using ld@comma{} the GNU linker}). - -With Microsoft tools you typically get away with always compiling the -code such that variables are expected to be imported from a DLL and -functions are expected to be found in a static library. The tools will -then automatically import the function from a DLL if that is where they -are found. If the variables are not imported from a DLL as expected, but -are found in a static library that is otherwise pulled in by some -function, the linker will issue a warning (LNK4217) that a locally -defined symbol is imported, but it still works. In other words, this -scheme will not work to only consume variables from a library. There is -also a price connected to this liberal use of imports in that an extra -indirection is introduced when you are consuming the static version of -the library. That extra indirection is unavoidable when the DLL is -consumed, but it is not needed when consuming the static library. - -For older GNU tools and other proprietary tools there is no generic way -to make it possible to consume either of the DLL or the static library -without user intervention, the tools need to be told what is intended. -One common assumption is that if a DLL is being built (@samp{DLL_EXPORT} -is defined) then that DLL is going to consume any dependent libraries as -DLLs. If that assumption is made everywhere, it is possible to select -how an end-user application is consuming libraries by adding a single -flag @samp{-DDLL_EXPORT} when a DLL build is required. This is of course -an all or nothing deal, either everything as DLLs or everything as static -libraries. - -To sum up the above, the header file of the foo library needs to be -changed into something like this: - -Modified @file{foo.h}: - -@example -#ifndef FOO_H -#define FOO_H - -#if defined _WIN32 && !defined __GNUC__ -# ifdef LIBFOO_BUILD -# ifdef DLL_EXPORT -# define LIBFOO_SCOPE __declspec (dllexport) -# define LIBFOO_SCOPE_VAR extern __declspec (dllexport) -# endif -# elif defined _MSC_VER -# define LIBFOO_SCOPE -# define LIBFOO_SCOPE_VAR extern __declspec (dllimport) -# elif defined DLL_EXPORT -# define LIBFOO_SCOPE __declspec (dllimport) -# define LIBFOO_SCOPE_VAR extern __declspec (dllimport) -# endif -#endif -#ifndef LIBFOO_SCOPE -# define LIBFOO_SCOPE -# define LIBFOO_SCOPE_VAR extern -#endif - -LIBFOO_SCOPE int one (void); -LIBFOO_SCOPE int two (void); -LIBFOO_SCOPE_VAR int three; - -#endif /* FOO_H */ -@end example - -When the targets are limited to contemporary GNU tools and Microsoft -tools, the above can be simplified to the following: - -Simplified @file{foo.h}: - -@example -#ifndef FOO_H -#define FOO_H - -#if defined _WIN32 && !defined __GNUC__ && !defined LIBFOO_BUILD -# define LIBFOO_SCOPE_VAR extern __declspec (dllimport) -#else -# define LIBFOO_SCOPE_VAR extern -#endif - -int one (void); -int two (void); -LIBFOO_SCOPE_VAR int three; - -#endif /* FOO_H */ -@end example - -This last simplified version can of course only work when Libtool is -used to build the DLL, as no symbols would be exported otherwise (i.e., -when using Microsoft tools). - -It should be noted that there are various projects that attempt to relax -these requirements by various low level tricks, but they are not -discussed here. -Examples are -@uref{http://alain.frisch.fr/@/flexdll.html, FlexDLL} and -@uref{http://edll.sourceforge.net/, edll}. - - -@node libtool script contents -@section @code{libtool} script contents -@cindex implementation of libtool -@cindex libtool implementation - -Since version 1.4, the @code{libtool} script is generated by -@code{configure} (@pxref{Configuring}). In earlier versions, -@code{configure} achieved this by calling a helper script called -@file{ltconfig}. From libtool version 0.7 to 1.0, this script -simply set shell variables, then sourced the libtool backend, -@code{ltmain.sh}. @code{ltconfig} from libtool version 1.1 through 1.3 -inlined the contents of @code{ltmain.sh} into the generated -@code{libtool}, which improved performance on many systems. The tests -that @file{ltconfig} used to perform are now kept in @file{libtool.m4} -where they can be written using Autoconf. This has the runtime -performance benefits of inlined @code{ltmain.sh}, @emph{and} improves -the build time a little while considerably easing the amount of raw -shell code that used to need maintaining. - -The convention used for naming variables that hold shell commands for -delayed evaluation, is to use the suffix @code{_cmd} where a single -line of valid shell script is needed, and the suffix @code{_cmds} where -multiple lines of shell script @strong{may} be delayed for later -evaluation. By convention, @code{_cmds} variables delimit the -evaluation units with the @code{~} character where necessary. - -Here is a listing of each of the configuration variables, and how they -are used within @code{ltmain.sh} (@pxref{Configuring}): - -@defvar AR -The name of the system library archiver. -@end defvar - -@defvar CC -The name of the compiler used to configure libtool. This will always -contain the compiler for the current language (@pxref{Tags}). -@end defvar - -@defvar ECHO -An @command{echo} program that does not interpret backslashes as an -escape character. It may be given only one argument, so due quoting -is necessary. -@end defvar - -@defvar LD -The name of the linker that libtool should use internally for reloadable -linking and possibly shared libraries. -@end defvar - -@defvar LTCC -@defvarx LTCFLAGS -The name of the C compiler and C compiler flags used to configure -libtool. -@end defvar - -@defvar NM -The name of a BSD- or MS-compatible program that produces listings of -global symbols. -For BSD @command{nm}, the symbols should be in one the following formats: - -@example -@var{address} C @var{global-variable-name} -@var{address} D @var{global-variable-name} -@var{address} T @var{global-function-name} -@end example - -For MS @command{dumpbin}, the symbols should be in one of the following -formats: - -@example -@var{counter} @var{size} UNDEF notype External | @var{global-var} -@var{counter} @var{address} @var{section} notype External | @var{global-var} -@var{counter} @var{address} @var{section} notype () External | @var{global-func} -@end example - -The @var{size} of the global variables are not zero and the @var{section} -of the global functions are not "UNDEF". Symbols in "pick any" sections -("pick any" appears in the section header) are not global either. -@end defvar - -@defvar RANLIB -Set to the name of the @command{ranlib} program, if any. -@end defvar - -@defvar allow_undefined_flag -The flag that is used by @samp{archive_cmds} to declare that -there will be unresolved symbols in the resulting shared library. -Empty, if no such flag is required. Set to @samp{unsupported} if there -is no way to generate a shared library with references to symbols that -aren't defined in that library. -@end defvar - -@defvar always_export_symbols -Whether libtool should automatically generate a list of exported symbols -using @code{export_symbols_cmds} before linking an archive. -Set to @samp{yes} or @samp{no}. Default is @samp{no}. -@end defvar - -@defvar archive_cmds -@defvarx archive_expsym_cmds -@defvarx old_archive_cmds -Commands used to create shared libraries, shared libraries with -@option{-export-symbols} and static libraries, respectively. -@end defvar - -@defvar archiver_list_spec -Specify filename containing input files for @code{AR}. -@end defvar - -@defvar old_archive_from_new_cmds -If the shared library depends on a static library, -@samp{old_archive_from_new_cmds} contains the commands used to create that -static library. If this variable is not empty, @samp{old_archive_cmds} is -not used. -@end defvar - -@defvar old_archive_from_expsyms_cmds -If a static library must be created from the export symbol list to -correctly link with a shared library, @samp{old_archive_from_expsyms_cmds} -contains the commands needed to create that static library. When these -commands are executed, the variable @code{soname} contains the name of the -shared library in question, and the @samp{$objdir/$newlib} contains the -path of the static library these commands should build. After executing -these commands, libtool will proceed to link against @samp{$objdir/$newlib} -instead of @code{soname}. -@end defvar - -@defvar lock_old_archive_extraction -Set to @samp{yes} if the extraction of a static library requires locking -the library file. This is required on Darwin. -@end defvar - -@defvar build -@defvarx build_alias -@defvarx build_os -Set to the specified and canonical names of the system that libtool was -built on. -@end defvar - -@defvar build_libtool_libs -Whether libtool should build shared libraries on this system. Set to -@samp{yes} or @samp{no}. -@end defvar - -@defvar build_old_libs -Whether libtool should build static libraries on this system. Set to -@samp{yes} or @samp{no}. -@end defvar - -@defvar compiler_c_o -Whether the compiler supports the @option{-c} and @option{-o} options -simultaneously. Set to @samp{yes} or @samp{no}. -@end defvar - -@defvar compiler_needs_object -Whether the compiler has to see an object listed on the command line in -order to successfully invoke the linker. If @samp{no}, then a set of -convenience archives or a set of object file names can be passed via -linker-specific options or linker scripts. -@end defvar - -@defvar dlopen_support -Whether @code{dlopen} is supported on the platform. -Set to @samp{yes} or @samp{no}. -@end defvar - -@defvar dlopen_self -Whether it is possible to @code{dlopen} the executable itself. -Set to @samp{yes} or @samp{no}. -@end defvar - -@defvar dlopen_self_static -Whether it is possible to @code{dlopen} the executable itself, when it -is linked statically (@option{-all-static}). Set to @samp{yes} or -@samp{no}. -@end defvar - -@defvar exclude_expsyms -List of symbols that should not be listed in the preloaded symbols. -@end defvar - -@defvar export_dynamic_flag_spec -Compiler link flag that allows a dlopened shared library to reference -symbols that are defined in the program. -@end defvar - -@defvar export_symbols_cmds -Commands to extract exported symbols from @code{libobjs} to the -file @code{export_symbols}. -@end defvar - -@defvar extract_expsyms_cmds -Commands to extract the exported symbols list from a shared library. -These commands are executed if there is no file @samp{$objdir/$soname-def}, -and should write the names of the exported symbols to that file, for -the use of @samp{old_archive_from_expsyms_cmds}. -@end defvar - -@defvar fast_install -Determines whether libtool will privilege the installer or the -developer. The assumption is that installers will seldom run programs -in the build tree, and the developer will seldom install. This is only -meaningful on platforms where @code{shlibpath_overrides_runpath} is -not @samp{yes}, so @code{fast_install} will be set to @samp{needless} in -this case. If @code{fast_install} set to @samp{yes}, libtool will create -programs that search for installed libraries, and, if a program is run -in the build tree, a new copy will be linked on-demand to use the -yet-to-be-installed libraries. If set to @samp{no}, libtool will create -programs that use the yet-to-be-installed libraries, and will link -a new copy of the program at install time. The default value is -@samp{yes} or @samp{needless}, depending on platform and configuration -flags, and it can be turned from @samp{yes} to @samp{no} with the -configure flag @option{--disable-fast-install}. - -On some systems, the linker always hardcodes paths to dependent libraries -into the output. In this case, @code{fast_install} is never set to @samp{yes}, -and relinking at install time is triggered. This also means that @env{DESTDIR} -installation does not work as expected. -@end defvar - -@defvar file_magic_glob -How to find potential files when @code{deplibs_check_method} is -@samp{file_magic}. @code{file_magic_glob} is a @code{sed} expression, -and the @code{sed} instance is fed potential file names that are -transformed by the @code{file_magic_glob} expression. Useful when the -shell does not support the shell option @code{nocaseglob}, making -@code{want_nocaseglob} inappropriate. Normally disabled (i.e. -@code{file_magic_glob} is empty). -@end defvar - -@defvar finish_cmds -Commands to tell the dynamic linker how to find shared libraries in a -specific directory. -@end defvar - -@defvar finish_eval -Same as @code{finish_cmds}, except the commands are not displayed. -@end defvar - -@defvar global_symbol_pipe -A pipeline that takes the output of @code{NM}, and produces a listing of -raw symbols followed by their C names. For example: - -@example -$ @kbd{eval "$NM progname | $global_symbol_pipe"} -D @var{symbol1} @var{C-symbol1} -T @var{symbol2} @var{C-symbol2} -C @var{symbol3} @var{C-symbol3} -@dots{} -$ -@end example - -The first column contains the symbol type (used to tell data from code) -but its meaning is system dependent. -@end defvar - -@defvar global_symbol_to_cdecl -A pipeline that translates the output of @code{global_symbol_pipe} into -proper C declarations. Since some platforms, such as HP/UX, have -linkers that differentiate code from data, data symbols are declared -as data, and code symbols are declared as functions. -@end defvar - -@defvar hardcode_action -Either @samp{immediate} or @samp{relink}, depending on whether shared -library paths can be hardcoded into executables before they are installed, -or if they need to be relinked. -@end defvar - -@defvar hardcode_direct -Set to @samp{yes} or @samp{no}, depending on whether the linker -hardcodes directories if a library is directly specified on the command -line (such as @samp{@var{dir}/lib@var{name}.a}) when -@code{hardcode_libdir_flag_spec} is specified. -@end defvar - -@defvar hardcode_direct_absolute -Some architectures hardcode "absolute" library directories that cannot -be overridden by @code{shlibpath_var} when @code{hardcode_direct} is -@samp{yes}. In that case set @code{hardcode_direct_absolute} to -@samp{yes}, or otherwise @samp{no}. -@end defvar - -@defvar hardcode_into_libs -Whether the platform supports hardcoding of run-paths into libraries. -If enabled, linking of programs will be much simpler but libraries will -need to be relinked during installation. Set to @samp{yes} or @samp{no}. -@end defvar - -@defvar hardcode_libdir_flag_spec -Flag to hardcode a @code{libdir} variable into a binary, so that the -dynamic linker searches @code{libdir} for shared libraries at runtime. -If it is empty, libtool will try to use some other hardcoding mechanism. -@end defvar - -@defvar hardcode_libdir_separator -If the compiler only accepts a single @code{hardcode_libdir_flag}, then -this variable contains the string that should separate multiple -arguments to that flag. -@end defvar - -@defvar hardcode_minus_L -Set to @samp{yes} or @samp{no}, depending on whether the linker -hardcodes directories specified by @option{-L} flags into the resulting -executable when @code{hardcode_libdir_flag_spec} is specified. -@end defvar - -@defvar hardcode_shlibpath_var -Set to @samp{yes} or @samp{no}, depending on whether the linker -hardcodes directories by writing the contents of @samp{$shlibpath_var} -into the resulting executable when @code{hardcode_libdir_flag_spec} is -specified. Set to @samp{unsupported} if directories specified by -@samp{$shlibpath_var} are searched at run time, but not at link time. -@end defvar - -@defvar host -@defvarx host_alias -@defvarx host_os -Set to the specified and canonical names of the system that libtool was -configured for. -@end defvar - -@defvar include_expsyms -List of symbols that must always be exported when using @code{export_symbols}. -@end defvar - -@defvar inherit_rpath -Whether the linker adds runtime paths of dependency libraries to the -runtime path list, requiring libtool to relink the output when installing. -Set to @samp{yes} or @samp{no}. Default is @samp{no}. -@end defvar - -@defvar install_override_mode -Permission mode override for installation of shared libraries. If the -runtime linker fails to load libraries with wrong permissions, then it -may fail to execute programs that are needed during installation, -because these need the library that has just been installed. In this -case, it is necessary to pass the mode to @command{install} with -@option{-m @var{install_override_mode}}. -@end defvar - -@defvar libext -The standard old archive suffix (normally @samp{a}). -@end defvar - -@defvar libname_spec -The format of a library name prefix. On all Unix systems, static -libraries are called @samp{lib@var{name}.a}, but on some systems (such -as OS/2 or MS-DOS), the library is just called @samp{@var{name}.a}. -@end defvar - -@defvar library_names_spec -A list of shared library names. The first is the name of the file, -the rest are symbolic links to the file. The name in the list is -the file name that the linker finds when given @option{-l@var{name}}. -@end defvar - -@defvar link_all_deplibs -Whether libtool must link a program against all its dependency libraries. -Set to @samp{yes} or @samp{no}. Default is @samp{unknown}, which is -a synonym for @samp{yes}. -@end defvar - -@defvar link_static_flag -Linker flag (passed through the C compiler) used to prevent dynamic -linking. -@end defvar - -@defvar macro_version -@defvarx macro_revision -The release and revision from which the libtool.m4 macros were -taken. This is used to ensure that macros and @code{ltmain.sh} -correspond to the same Libtool version. -@end defvar - -@defvar max_cmd_len -The approximate longest command line that can be passed to @samp{$SHELL} -without being truncated, as computed by @samp{LT_CMD_MAX_LEN}. -@end defvar - -@defvar need_lib_prefix -Whether we can @code{dlopen} modules without a @samp{lib} prefix. -Set to @samp{yes} or @samp{no}. By default, it is @samp{unknown}, which -means the same as @samp{yes}, but documents that we are not really sure -about it. @samp{no} means that it is possible to @code{dlopen} a -module without the @samp{lib} prefix. -@end defvar - -@defvar need_version -Whether versioning is required for libraries, i.e.@: whether the -dynamic linker requires a version suffix for all libraries. -Set to @samp{yes} or @samp{no}. By default, it is @samp{unknown}, which -means the same as @samp{yes}, but documents that we are not really sure -about it. -@end defvar - -@defvar need_locks -Whether files must be locked to prevent conflicts when compiling -simultaneously. Set to @samp{yes} or @samp{no}. -@end defvar - -@defvar nm_file_list_spec -Specify filename containing input files for @code{NM}. -@end defvar - -@defvar no_builtin_flag -Compiler flag to disable builtin functions that conflict with declaring -external global symbols as @code{char}. -@end defvar - -@defvar no_undefined_flag -The flag that is used by @samp{archive_cmds} to declare that -there will be no unresolved symbols in the resulting shared library. -Empty, if no such flag is required. -@end defvar - -@defvar objdir -The name of the directory that contains temporary libtool files. -@end defvar - -@defvar objext -The standard object file suffix (normally @samp{o}). -@end defvar - -@defvar pic_flag -Any additional compiler flags for building library object files. -@end defvar - -@defvar postinstall_cmds -@defvarx old_postinstall_cmds -Commands run after installing a shared or static library, respectively. -@end defvar - -@defvar postuninstall_cmds -@defvarx old_postuninstall_cmds -Commands run after uninstalling a shared or static library, respectively. -@end defvar - -@defvar postlink_cmds -Commands necessary for finishing linking programs. @code{postlink_cmds} -are executed immediately after the program is linked. Any occurrence of -the string @code{@@OUTPUT@@} in @code{postlink_cmds} is replaced by the -name of the created executable (i.e.@: not the wrapper, if a wrapper is -generated) prior to execution. Similarly, @code{@@TOOL_OUTPUT@@} is -replaced by the toolchain format of @code{@@OUTPUT@@}. Normally disabled -(i.e.@: @code{postlink_cmds} empty). -@end defvar - -@defvar reload_cmds -@defvarx reload_flag -Commands to create a reloadable object. Set @code{reload_cmds} to -@samp{false} on systems that cannot create reloadable objects. -@end defvar - -@defvar runpath_var -The environment variable that tells the linker what directories to -hardcode in the resulting executable. -@end defvar - -@defvar shlibpath_overrides_runpath -Indicates whether it is possible to override the hard-coded library -search path of a program with an environment variable. If this is set -to no, libtool may have to create two copies of a program in the build -tree, one to be installed and one to be run in the build tree only. -When each of these copies is created depends on the value of -@code{fast_install}. The default value is @samp{unknown}, which is -equivalent to @samp{no}. -@end defvar - -@defvar shlibpath_var -The environment variable that tells the dynamic linker where to find -shared libraries. -@end defvar - -@defvar soname_spec -The name coded into shared libraries, if different from the real name of -the file. -@end defvar - -@defvar striplib -@defvarx old_striplib -Command to strip a shared (@code{striplib}) or static (@code{old_striplib}) -library, respectively. If these variables are empty, the strip flag -in the install mode will be ignored for libraries (@pxref{Install mode}). -@end defvar - -@defvar sys_lib_dlsearch_path_spec -Expression to get the run-time system library search path. Directories -that appear in this list are never hard-coded into executables. -@end defvar - -@defvar sys_lib_search_path_spec -Expression to get the compile-time system library search path. This -variable is used by libtool when it has to test whether a certain -library is shared or static. The directories listed in -@code{shlibpath_var} are automatically appended to this list, every time -libtool runs (i.e., not at configuration time), because some linkers use -this variable to extend the library search path. Linker switches such -as @option{-L} also augment the search path. -@end defvar - -@defvar thread_safe_flag_spec -Linker flag (passed through the C compiler) used to generate thread-safe -libraries. -@end defvar - -@defvar to_host_file_cmd -If the toolchain is not native to the build platform (e.g.@: if you are using -MSYS to drive the scripting, but are using the MinGW native Windows compiler) -this variable describes how to convert file names from the format used by the -build platform to the format used by host platform. Normally set to -@samp{func_convert_file_noop}, libtool will autodetect most cases where -other values should be used. On rare occasions, it may be necessary to override -the autodetected value (@pxref{Cygwin to MinGW Cross}). -@end defvar - -@defvar to_tool_file_cmd -If the toolchain is not native to the build platform (e.g.@: if you are using -some Unix to drive the scripting together with a Windows toolchain running -in Wine) this variable describes how to convert file names from the format -used by the build platform to the format used by the toolchain. Normally set -to @samp{func_convert_file_noop}. -@end defvar - -@defvar version_type -The library version numbering type. One of @samp{libtool}, -@samp{freebsd-aout}, @samp{freebsd-elf}, @samp{irix}, @samp{linux}, -@samp{osf}, @samp{sunos}, @samp{windows}, or @samp{none}. -@end defvar - -@defvar want_nocaseglob -Find potential files using the shell option @code{nocaseglob}, when -@code{deplibs_check_method} is @samp{file_magic}. Normally set to -@samp{no}. Set to @samp{yes} to enable the @code{nocaseglob} shell -option when looking for potential file names in a case-insensitive -manner. -@end defvar - -@defvar whole_archive_flag_spec -Compiler flag to generate shared objects from convenience archives. -@end defvar - -@defvar wl -The C compiler flag that allows libtool to pass a flag directly to the -linker. Used as: @code{$@{wl@}@var{some-flag}}. -@end defvar - -Variables ending in @samp{_cmds} or @samp{_eval} contain a -@samp{~}-separated list of commands that are @code{eval}ed one after -another. If any of the commands return a nonzero exit status, libtool -generally exits with an error message. - -Variables ending in @samp{_spec} are @code{eval}ed before being used by -libtool. - -@node Cheap tricks -@section Cheap tricks - -Here are a few tricks that you can use to make maintainership -easier: - -@itemize @bullet -@item -When people report bugs, ask them to use the @option{--config}, -@option{--debug}, or @option{--features} flags, if you think they will help -you. These flags are there to help you get information directly, rather -than having to trust second-hand observation. - -@item -Rather than reconfiguring libtool every time I make a change to -@code{ltmain.in}, I keep a permanent @code{libtool} script in my -@env{PATH}, which sources @code{ltmain.in} directly. - -The following steps describe how to create such a script, where -@code{/home/src/libtool} is the directory containing the libtool source -tree, @code{/home/src/libtool/libtool} is a libtool script that has been -configured for your platform, and @code{~/bin} is a directory in your -@env{PATH}: - -@smallexample -trick$ cd ~/bin -trick$ sed 's%^\(macro_version=\).*$%\1@@VERSION@@%; - s%^\(macro_revision=\).*$%\1@@package_revision@@%; - /^# ltmain\.sh/q' /home/src/libtool/libtool > libtool -trick$ echo '. /home/src/libtool/ltmain.in' >> libtool -trick$ chmod +x libtool -trick$ libtool --version -ltmain.sh (GNU @@PACKAGE@@@@TIMESTAMP@@) @@VERSION@@ - -Copyright (C) 2014 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -trick$ -@end smallexample -@end itemize - -The output of the final @samp{libtool --version} command shows that the -@code{ltmain.in} script is being used directly. Now, modify -@code{~/bin/libtool} or @code{/home/src/libtool/ltmain.in} directly in -order to test new changes without having to rerun @code{configure}. - -@node GNU Free Documentation License -@appendix GNU Free Documentation License - -@cindex FDL, GNU Free Documentation License - -@include fdl.texi - -@page -@node Combined Index -@unnumbered Combined Index - -@printindex cp - -@bye diff --git a/BUILD/libtool-2.4.7/doc/libtoolize.1 b/BUILD/libtool-2.4.7/doc/libtoolize.1 deleted file mode 100644 index 5fb60ad..0000000 --- a/BUILD/libtool-2.4.7/doc/libtoolize.1 +++ /dev/null @@ -1,127 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.1. -.TH LIBTOOLIZE "1" "March 2022" "GNU libtool 2.4.7" "User Commands" -.SH NAME -libtoolize \- manual page for libtoolize 2.4.7 -.SH SYNOPSIS -.B libtoolize -[\fI\,OPTION\/\fR]... -.SH DESCRIPTION -Prepare a package to use libtool. -.SH OPTIONS -.TP -\fB\-c\fR, \fB\-\-copy\fR -copy files rather than symlinking them -.TP -\fB\-\-debug\fR -enable verbose shell tracing -.TP -\fB\-n\fR, \fB\-\-dry\-run\fR -print commands rather than running them -.TP -\fB\-f\fR, \fB\-\-force\fR -replace existing files -.TP -\fB\-i\fR, \fB\-\-install\fR -copy missing auxiliary files -.TP -\fB\-\-ltdl\fR[=\fI\,DIR\/\fR] -install libltdl sources [default: libltdl] -.TP -\fB\-\-no\-warnings\fR -equivalent to '\-Wnone' -.TP -\fB\-\-nonrecursive\fR -prepare ltdl for non\-recursive make -.TP -\fB\-q\fR, \fB\-\-quiet\fR -work silently -.TP -\fB\-\-recursive\fR -prepare ltdl for recursive make -.TP -\fB\-\-subproject\fR -prepare ltdl to configure and build independently -.TP -\fB\-v\fR, \fB\-\-verbose\fR -verbosely report processing -.TP -\fB\-\-version\fR -print version information and exit -.TP -\fB\-W\fR, \fB\-\-warnings\fR=\fI\,CATEGORY\/\fR -report the warnings falling in CATEGORY [all] -.TP -\fB\-h\fR, \fB\-\-help\fR -print short or long help message -.SS "Warning categories include:" -.TP -\&'all' -show all warnings -.TP -\&'none' -turn off all the warnings -.TP -\&'error' -warnings are treated as fatal errors -.TP -\&'environment' -show warnings about LIBTOOLIZE_OPTIONS content -.TP -\&'file' -show warnings about file copying and linking -.PP -The following space or comma delimited options can be passed to libtoolize -via the environment variable LIBTOOLIZE_OPTIONS, unknown environment -options are ignored: -.TP -\fB\-\-debug\fR -enable verbose shell tracing -.TP -\fB\-\-no\-warnings\fR -don't display warning messages -.TP -\fB\-\-quiet\fR -work silently -.TP -\fB\-\-verbose\fR -verbosely report processing -.PP -You must 'cd' to the top directory of your package before you run -\&'libtoolize'. -.PP -When reporting a bug, please describe a test case to reproduce it and -include the following information: -.TP -host\-triplet: -x86_64\-pc\-linux\-gnu -.TP -version: -libtoolize (GNU libtool) 2.4.7 -.TP -automake: -automake (GNU automake) 1.16.3 -.TP -autoconf: -autoconf (GNU Autoconf) 2.69 -.SH AUTHOR -Written by Gary V. Vaughan , 2003 -.SH "REPORTING BUGS" -Report bugs to . -.br -GNU libtool home page: . -.br -General help using GNU software: . -.SH COPYRIGHT -Copyright \(co 2022 Free Software Foundation, Inc. -.SH "SEE ALSO" -The full documentation for -.B libtoolize -is maintained as a Texinfo manual. If the -.B info -and -.B libtoolize -programs are properly installed at your site, the command -.IP -.B info libtoolize -.PP -should give you access to the complete manual. diff --git a/BUILD/libtool-2.4.7/doc/notes.texi b/BUILD/libtool-2.4.7/doc/notes.texi deleted file mode 100644 index 1fa8a0b..0000000 --- a/BUILD/libtool-2.4.7/doc/notes.texi +++ /dev/null @@ -1,79 +0,0 @@ -@itemize - -@item -You currently need GNU make to build the Libtool package itself. - -@item -On AIX there are two different styles of shared linking, one where symbols -are bound at link-time and one where symbols are bound at runtime only, -similar to ELF@. In case of doubt use @code{LDFLAGS=-Wl,-brtl} for the latter style. - -@item -On AIX, native tools are to be preferred over binutils; especially for C++ code, -if using the AIX Toolbox GCC 4.0 and binutils, configure with -@code{AR=/usr/bin/ar LD=/usr/bin/ld NM='/usr/bin/nm -B'}. - -@item -On AIX, the @command{/bin/sh} is very slow due to its inefficient handling -of here-documents. A modern shell is preferable: -@example -CONFIG_SHELL=/bin/bash; export $CONFIG_SHELL -$CONFIG_SHELL ./configure [...] -@end example - -@item -For C++ code with templates, it may be necessary to specify the way the compiler -will generate the instantiations. For Portland pgCC version5, use -@code{CXX='pgCC --one_instantiation_per_object'} and avoid parallel @command{make}. - -@item -On Darwin, for C++ code with templates you need two level shared libraries. -Libtool builds these by default if @env{MACOSX_DEPLOYMENT_TARGET} is set to -10.3 or later at @command{configure} time. See @url{rdar://problem/4135857} -for more information on this issue. - -@c @item -@c FreeBSD @command{make} does not conform to @sc{posix} in its handling -@c of file modification times, which causes it to loop while building libtool. -@c Consider using a different @command{such} as GNU make instead. - -@item -The default shell on UNICOS 9, a ksh 88e variant, is too buggy to -correctly execute the libtool script. Users are advised to install a -modern shell such as GNU bash. - -@item -Some HP-UX @command{sed} programs are horribly broken, and cannot handle -libtool's requirements, so users may report unusual problems. There -is no workaround except to install a working @command{sed} (such as GNU sed) -on these systems. - -@item -The vendor-distributed NCR MP-RAS @command{cc} programs emits copyright -on standard error that confuse tests on size of @file{conftest.err}. The -workaround is to specify @env{CC} when run configure with -@code{CC='cc -Hnocopyr'}. - -@item -Any earlier DG/UX system with ELF executables, such as R3.10 or -R4.10, is also likely to work, but hasn't been explicitly tested. - -@item -On Reliant Unix libtool has only been tested with the Siemens C-compiler -and an old version of @command{gcc} provided by Marco Walther. - -@item -@file{libtool.m4}, @file{ltdl.m4} and the @file{configure.ac} files are marked -to use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf itself, -and all recent releases of XEmacs. - -@item -When building on some GNU/Linux systems for multilib targets @command{libtool} -sometimes guesses the wrong paths that the linker and dynamic linker search by -default. If this occurs for the dynamic library path, you may use the -@code{LT_SYS_LIBRARY_PATH} environment variable to adjust. Otherwise, at -@command{configure} time you may override libtool's guesses by setting the -@command{autoconf} cache variables @code{lt_cv_sys_lib_search_path_spec} and -@code{lt_cv_sys_lib_dlsearch_path_spec} respectively. - -@end itemize diff --git a/BUILD/libtool-2.4.7/doc/notes.txt b/BUILD/libtool-2.4.7/doc/notes.txt deleted file mode 100644 index 97fafcd..0000000 --- a/BUILD/libtool-2.4.7/doc/notes.txt +++ /dev/null @@ -1,60 +0,0 @@ - * You currently need GNU make to build the Libtool package itself. - - * On AIX there are two different styles of shared linking, one where - symbols are bound at link-time and one where symbols are bound at - runtime only, similar to ELF. In case of doubt use - 'LDFLAGS=-Wl,-brtl' for the latter style. - - * On AIX, native tools are to be preferred over binutils; especially - for C++ code, if using the AIX Toolbox GCC 4.0 and binutils, - configure with 'AR=/usr/bin/ar LD=/usr/bin/ld NM='/usr/bin/nm -B''. - - * On AIX, the '/bin/sh' is very slow due to its inefficient handling - of here-documents. A modern shell is preferable: - CONFIG_SHELL=/bin/bash; export $CONFIG_SHELL - $CONFIG_SHELL ./configure [...] - - * For C++ code with templates, it may be necessary to specify the way - the compiler will generate the instantiations. For Portland pgCC - version5, use 'CXX='pgCC --one_instantiation_per_object'' and avoid - parallel 'make'. - - * On Darwin, for C++ code with templates you need two level shared - libraries. Libtool builds these by default if - 'MACOSX_DEPLOYMENT_TARGET' is set to 10.3 or later at 'configure' - time. See for more information on this - issue. - - * The default shell on UNICOS 9, a ksh 88e variant, is too buggy to - correctly execute the libtool script. Users are advised to install - a modern shell such as GNU bash. - - * Some HP-UX 'sed' programs are horribly broken, and cannot handle - libtool's requirements, so users may report unusual problems. - There is no workaround except to install a working 'sed' (such as - GNU sed) on these systems. - - * The vendor-distributed NCR MP-RAS 'cc' programs emits copyright on - standard error that confuse tests on size of 'conftest.err'. The - workaround is to specify 'CC' when run configure with 'CC='cc - -Hnocopyr''. - - * Any earlier DG/UX system with ELF executables, such as R3.10 or - R4.10, is also likely to work, but hasn't been explicitly tested. - - * On Reliant Unix libtool has only been tested with the Siemens - C-compiler and an old version of 'gcc' provided by Marco Walther. - - * 'libtool.m4', 'ltdl.m4' and the 'configure.ac' files are marked to - use autoconf-mode, which is distributed with GNU Emacs 21, Autoconf - itself, and all recent releases of XEmacs. - - * When building on some GNU/Linux systems for multilib targets - 'libtool' sometimes guesses the wrong paths that the linker and - dynamic linker search by default. If this occurs for the dynamic - library path, you may use the 'LT_SYS_LIBRARY_PATH' environment - variable to adjust. Otherwise, at 'configure' time you may - override libtool's guesses by setting the 'autoconf' cache - variables 'lt_cv_sys_lib_search_path_spec' and - 'lt_cv_sys_lib_dlsearch_path_spec' respectively. - diff --git a/BUILD/libtool-2.4.7/doc/stamp-vti b/BUILD/libtool-2.4.7/doc/stamp-vti deleted file mode 100644 index 795b659..0000000 --- a/BUILD/libtool-2.4.7/doc/stamp-vti +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 17 March 2022 -@set UPDATED-MONTH March 2022 -@set EDITION 2.4.7 -@set VERSION 2.4.7 diff --git a/BUILD/libtool-2.4.7/doc/version.texi b/BUILD/libtool-2.4.7/doc/version.texi deleted file mode 100644 index 795b659..0000000 --- a/BUILD/libtool-2.4.7/doc/version.texi +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 17 March 2022 -@set UPDATED-MONTH March 2022 -@set EDITION 2.4.7 -@set VERSION 2.4.7 diff --git a/BUILD/libtool-2.4.7/gnulib-tests/Makefile.am b/BUILD/libtool-2.4.7/gnulib-tests/Makefile.am deleted file mode 100644 index c7339a3..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/Makefile.am +++ /dev/null @@ -1,132 +0,0 @@ -## DO NOT EDIT! GENERATED AUTOMATICALLY! -## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2022 Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this file. If not, see . -# -# As a special exception to the GNU General Public License, -# this file may be distributed as part of a program that -# contains a configuration script generated by Autoconf, under -# the same distribution terms as the rest of that program. -# -# Generated by gnulib-tool. - -AUTOMAKE_OPTIONS = 1.11 foreign - -SUBDIRS = . -TESTS = -XFAIL_TESTS = -TESTS_ENVIRONMENT = -noinst_PROGRAMS = -check_PROGRAMS = -EXTRA_PROGRAMS = -noinst_HEADERS = -noinst_LIBRARIES = -EXTRA_DIST = -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = - -CFLAGS = @GL_CFLAG_ALLOW_WARNINGS@ $(GL_CFLAG_GNULIB_WARNINGS) @CFLAGS@ -CXXFLAGS = @GL_CXXFLAG_ALLOW_WARNINGS@ @CXXFLAGS@ - -AM_CPPFLAGS = \ - -D@GLtests_WITNESS@=1 \ - -I. -I$(srcdir) \ - -I.. -I$(srcdir)/.. \ - -I../lib -I$(srcdir)/../lib - -LDADD = ../lib/libgnu.la - -TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)' - -## begin gnulib module all-shells-tests - -TESTS_ENVIRONMENT += \ - abs_aux_dir='$(abs_aux_dir)' \ - abs_srcdir='$(abs_srcdir)' -EXTRA_DIST += test-all-shells.sh - -## end gnulib module all-shells-tests - -## begin gnulib module funclib.sh-tests - -TESTS += \ - test-funclib-quote.sh -EXTRA_DIST += test-funclib-quote.sh - -## end gnulib module funclib.sh-tests - -## begin gnulib module options-parser-tests - -TESTS += \ - test-option-parser.sh -EXTRA_DIST += test-option-parser.sh test-option-parser-helper - -## end gnulib module options-parser-tests - -## begin gnulib module test-framework-sh-tests - -TESTS += test-init.sh -EXTRA_DIST += init.sh -EXTRA_DIST += test-init.sh - -## end gnulib module test-framework-sh-tests - -## begin gnulib module update-copyright-tests - -TESTS += test-update-copyright.sh -TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)' -EXTRA_DIST += test-update-copyright.sh - -## end gnulib module update-copyright-tests - -## begin gnulib module vc-list-files-tests - -TESTS += test-vc-list-files-git.sh -TESTS += test-vc-list-files-cvs.sh -TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)' -EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh - -## end gnulib module vc-list-files-tests - -all: all-notice -all-notice: - @echo '## ---------------------------------------------------- ##' - @echo '## ------------------- Gnulib tests ------------------- ##' - @echo '## You can ignore compiler warnings in this directory. ##' - @echo '## ---------------------------------------------------- ##' - -check-am: check-notice -check-notice: - @echo '## ---------------------------------------------------------------------- ##' - @echo '## ---------------------------- Gnulib tests ---------------------------- ##' - @echo '## Please report test failures in this directory to . ##' - @echo '## ---------------------------------------------------------------------- ##' - -# Clean up after Solaris cc. -clean-local: - rm -rf SunWS_cache - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : diff --git a/BUILD/libtool-2.4.7/gnulib-tests/Makefile.in b/BUILD/libtool-2.4.7/gnulib-tests/Makefile.in deleted file mode 100644 index 8f72a84..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/Makefile.in +++ /dev/null @@ -1,1208 +0,0 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Copyright (C) 2002-2022 Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this file. If not, see . -# -# As a special exception to the GNU General Public License, -# this file may be distributed as part of a program that -# contains a configuration script generated by Autoconf, under -# the same distribution terms as the rest of that program. -# -# Generated by gnulib-tool. - - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -XFAIL_TESTS = -noinst_PROGRAMS = -check_PROGRAMS = -EXTRA_PROGRAMS = -subdir = gnulib-tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ - $(top_srcdir)/m4/autobuild.m4 \ - $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/zzgnulib.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -PROGRAMS = $(noinst_PROGRAMS) -LIBRARIES = $(noinst_LIBRARIES) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(noinst_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - check recheck distdir distdir-am -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -pkgdatadir = @pkgdatadir@ -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ARFLAGS = @ARFLAGS@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AUTOTEST = @AUTOTEST@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @GL_CFLAG_ALLOW_WARNINGS@ $(GL_CFLAG_GNULIB_WARNINGS) @CFLAGS@ -CONFIG_INCLUDE = @CONFIG_INCLUDE@ -CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @GL_CXXFLAG_ALLOW_WARNINGS@ @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FC = @FC@ -FCFLAGS = @FCFLAGS@ -FFLAGS = @FFLAGS@ -FGREP = @FGREP@ -FILECMD = @FILECMD@ -GCJ = @GCJ@ -GCJFLAGS = @GCJFLAGS@ -GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@ -GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@ -GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@ -GL_LIBOBJDEPS = @GL_LIBOBJDEPS@ -GL_LIBOBJS = @GL_LIBOBJS@ -GL_LTLIBOBJS = @GL_LTLIBOBJS@ -GLtests_LIBOBJDEPS = @GLtests_LIBOBJDEPS@ -GLtests_LIBOBJS = @GLtests_LIBOBJS@ -GLtests_LTLIBOBJS = @GLtests_LTLIBOBJS@ -GLtests_WITNESS = @GLtests_WITNESS@ -GOC = @GOC@ -GREP = @GREP@ -HELP2MAN = @HELP2MAN@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBADD_DL = @LIBADD_DL@ -LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ -LIBADD_DLOPEN = @LIBADD_DLOPEN@ -LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTDLOPEN = @LTDLOPEN@ -LTLIBOBJS = @LTLIBOBJS@ -LT_ARGZ_H = @LT_ARGZ_H@ -LT_CONFIG_H = @LT_CONFIG_H@ -LT_DLLOADERS = @LT_DLLOADERS@ -LT_DLPREOPEN = @LT_DLPREOPEN@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -M4 = @M4@ -M4_DEBUGFILE = @M4_DEBUGFILE@ -M4_GNU = @M4_GNU@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_aux_dir = @abs_aux_dir@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_FC = @ac_ct_FC@ -aclocaldir = @aclocaldir@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -aux_dir = @aux_dir@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -ltdl_dir = @ltdl_dir@ -macro_dir = @macro_dir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -package_revision = @package_revision@ -pdfdir = @pdfdir@ -pkgaux_scripts = @pkgaux_scripts@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sys_symbol_underscore = @sys_symbol_underscore@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -to_host_file_cmd = @to_host_file_cmd@ -to_tool_file_cmd = @to_tool_file_cmd@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -with_aix_soname = @with_aix_soname@ -AUTOMAKE_OPTIONS = 1.11 foreign -SUBDIRS = . -TESTS = test-funclib-quote.sh test-option-parser.sh test-init.sh \ - test-update-copyright.sh test-vc-list-files-git.sh \ - test-vc-list-files-cvs.sh -TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \ - abs_aux_dir='$(abs_aux_dir)' abs_srcdir='$(abs_srcdir)' \ - abs_aux_dir='$(abs_aux_dir)' abs_aux_dir='$(abs_aux_dir)' -noinst_HEADERS = -noinst_LIBRARIES = -EXTRA_DIST = test-all-shells.sh test-funclib-quote.sh \ - test-option-parser.sh test-option-parser-helper init.sh \ - test-init.sh test-update-copyright.sh \ - test-vc-list-files-git.sh test-vc-list-files-cvs.sh -BUILT_SOURCES = -SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump -MOSTLYCLEANDIRS = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = -AM_CPPFLAGS = \ - -D@GLtests_WITNESS@=1 \ - -I. -I$(srcdir) \ - -I.. -I$(srcdir)/.. \ - -I../lib -I$(srcdir)/../lib - -LDADD = ../lib/libgnu.la -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .log .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign gnulib-tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign gnulib-tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: $(check_PROGRAMS) - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -test-funclib-quote.sh.log: test-funclib-quote.sh - @p='test-funclib-quote.sh'; \ - b='test-funclib-quote.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test-option-parser.sh.log: test-option-parser.sh - @p='test-option-parser.sh'; \ - b='test-option-parser.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test-init.sh.log: test-init.sh - @p='test-init.sh'; \ - b='test-init.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test-update-copyright.sh.log: test-update-copyright.sh - @p='test-update-copyright.sh'; \ - b='test-update-copyright.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test-vc-list-files-git.sh.log: test-vc-list-files-git.sh - @p='test-vc-list-files-git.sh'; \ - b='test-vc-list-files-git.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test-vc-list-files-cvs.sh.log: test-vc-list-files-cvs.sh - @p='test-vc-list-files-cvs.sh'; \ - b='test-vc-list-files-cvs.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(PROGRAMS) $(LIBRARIES) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - clean-noinstLIBRARIES clean-noinstPROGRAMS mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool \ - mostlyclean-local - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) all check check-am install install-am \ - install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-TESTS check-am clean clean-checkPROGRAMS clean-generic \ - clean-libtool clean-local clean-noinstLIBRARIES \ - clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ - pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -all: all-notice -all-notice: - @echo '## ---------------------------------------------------- ##' - @echo '## ------------------- Gnulib tests ------------------- ##' - @echo '## You can ignore compiler warnings in this directory. ##' - @echo '## ---------------------------------------------------- ##' - -check-am: check-notice -check-notice: - @echo '## ---------------------------------------------------------------------- ##' - @echo '## ---------------------------- Gnulib tests ---------------------------- ##' - @echo '## Please report test failures in this directory to . ##' - @echo '## ---------------------------------------------------------------------- ##' - -# Clean up after Solaris cc. -clean-local: - rm -rf SunWS_cache - -mostlyclean-local: mostlyclean-generic - @for dir in '' $(MOSTLYCLEANDIRS); do \ - if test -n "$$dir" && test -d $$dir; then \ - echo "rmdir $$dir"; rmdir $$dir; \ - fi; \ - done; \ - : - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/BUILD/libtool-2.4.7/gnulib-tests/init.sh b/BUILD/libtool-2.4.7/gnulib-tests/init.sh deleted file mode 100644 index 933fdd4..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/init.sh +++ /dev/null @@ -1,700 +0,0 @@ -# source this file; set up for tests - -# Copyright (C) 2009-2022 Free Software Foundation, Inc. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Using this file in a test -# ========================= -# -# The typical skeleton of a test looks like this: -# -# #!/bin/sh -# . "${srcdir=.}/init.sh"; path_prepend_ . -# Execute some commands. -# Note that these commands are executed in a subdirectory, therefore you -# need to prepend "../" to relative filenames in the build directory. -# Note that the "path_prepend_ ." is useful only if the body of your -# test invokes programs residing in the initial directory. -# For example, if the programs you want to test are in src/, and this test -# script is named tests/test-1, then you would use "path_prepend_ ../src", -# or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH" -# to all tests via automake's TESTS_ENVIRONMENT. -# Set the exit code 0 for success, 77 for skipped, or 1 or other for failure. -# Use the skip_ and fail_ functions to print a diagnostic and then exit -# with the corresponding exit code. -# Exit $? - -# Executing a test that uses this file -# ==================================== -# -# Running a single test: -# $ make check TESTS=test-foo.sh -# -# Running a single test, with verbose output: -# $ make check TESTS=test-foo.sh VERBOSE=yes -# -# Running a single test, keeping the temporary directory: -# $ make check TESTS=test-foo.sh KEEP=yes -# -# Running a single test, with single-stepping: -# 1. Go into a sub-shell: -# $ bash -# 2. Set relevant environment variables from TESTS_ENVIRONMENT in the -# Makefile: -# $ export srcdir=../../tests # this is an example -# 3. Execute the commands from the test, copy&pasting them one by one: -# $ . "$srcdir/init.sh"; path_prepend_ . -# ... -# 4. Finally -# $ exit - -# ============================================================================= -# Elementary diagnostics - -ME_=`expr "./$0" : '.*/\(.*\)$'` - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# We use a trap below for cleanup. This requires us to go through -# hoops to get the right exit status transported through the handler. -# So use 'Exit STATUS' instead of 'exit STATUS' inside of the tests. -# Turn off errexit here so that we don't trip the bug with OSF1/Tru64 -# sh inside this function. -Exit () { set +e; (exit $1); exit $1; } - -# Print warnings (e.g., about skipped and failed tests) to this file number. -# Override by defining to say, 9, in init.cfg, and putting say, -# export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2 -# in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file. -# This is useful when using automake's parallel tests mode, to print -# the reason for skip/failure to console, rather than to the .log files. -: ${stderr_fileno_=2} - -# Note that correct expansion of "$*" depends on IFS starting with ' '. -# Always write the full diagnostic to stderr. -# When stderr_fileno_ is not 2, also emit the first line of the -# diagnostic to that file descriptor. -warn_ () -{ - # If IFS does not start with ' ', set it and emit the warning in a subshell. - case $IFS in - ' '*) printf '%s\n' "$*" >&2 - test $stderr_fileno_ = 2 \ - || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;; - *) (IFS=' '; warn_ "$@");; - esac -} -fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; } -skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; } -fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; } -framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; } - -# ============================================================================= -# Ensure the shell supports modern syntax. - -# Sanitize this shell to POSIX mode, if possible. -DUALCASE=1; export DUALCASE -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; - esac -fi - -# We require $(...) support unconditionally. -# We require that the printf built-in work correctly regarding octal escapes; -# this eliminates /bin/sh on AIX 7.2. -# We require non-surprising "local" semantics (this eliminates dash). -# This takes the admittedly draconian step of eliminating dash, because the -# assignment tab=$(printf '\t') works fine, yet preceding it with "local " -# transforms it into an assignment that sets the variable to the empty string. -# That is too counter-intuitive, and can lead to subtle run-time malfunction. -# The example below is less subtle in that with dash, it evokes the run-time -# exception "dash: 1: local: 1: bad variable name". -# We require a few additional shell features only when $EXEEXT is nonempty, -# in order to support automatic $EXEEXT emulation: -# - hyphen-containing alias names -# - we prefer to use ${var#...} substitution, rather than having -# to work around lack of support for that feature. -# The following code attempts to find a shell with support for these features. -# If the current shell passes the test, we're done. Otherwise, test other -# shells until we find one that passes. If one is found, re-exec it. -# If no acceptable shell is found, skip the current test. -# -# The "...set -x; P=1 true 2>err..." test is to disqualify any shell that -# emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do. -# -# Use "9" to indicate success (rather than 0), in case some shell acts -# like Solaris 10's /bin/sh but exits successfully instead of with status 2. - -# Eval this code in a subshell to determine a shell's suitability. -# 10 - passes all tests; ok to use -# 9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score -# ? - not ok -gl_shell_test_script_=' -test $(echo y) = y || exit 1 -LC_ALL=en_US.UTF-8 printf "\\351" 2>/dev/null \ - | LC_ALL=C tr "\\351" x | LC_ALL=C grep "^x$" > /dev/null \ - || exit 1 -printf "\\351" 2>/dev/null \ - | LC_ALL=C tr "\\351" x | LC_ALL=C grep "^x$" > /dev/null \ - || exit 1 -f_local_() { local v=1; }; f_local_ || exit 1 -f_dash_local_fail_() { local t=$(printf " 1"); }; f_dash_local_fail_ -score_=10 -if test "$VERBOSE" = yes; then - test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9 -fi -test -z "$EXEEXT" && exit $score_ -shopt -s expand_aliases -alias a-b="echo zoo" -v=abx - test ${v%x} = ab \ - && test ${v#a} = bx \ - && test $(a-b) = zoo \ - && exit $score_ -' - -if test "x$1" = "x--no-reexec"; then - shift -else - # Assume a working shell. Export to subshells (setup_ needs this). - gl_set_x_corrupts_stderr_=false - export gl_set_x_corrupts_stderr_ - - # Record the first marginally acceptable shell. - marginal_= - - # Search for a shell that meets our requirements. - for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \ - /bin/sh bash dash zsh pdksh fail - do - test "$re_shell_" = no_shell && continue - - # If we've made it all the way to the sentinel, "fail" without - # finding even a marginal shell, skip this test. - if test "$re_shell_" = fail; then - test -z "$marginal_" && skip_ failed to find an adequate shell - re_shell_=$marginal_ - break - fi - - # When testing the current shell, simply "eval" the test code. - # Otherwise, run it via $re_shell_ -c ... - if test "$re_shell_" = __current__; then - # 'eval'ing this code makes Solaris 10's /bin/sh exit with - # $? set to 2. It does not evaluate any of the code after the - # "unexpected" first '('. Thus, we must run it in a subshell. - ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1 - else - "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null - fi - - st_=$? - - # $re_shell_ works just fine. Use it. - if test $st_ = 10; then - gl_set_x_corrupts_stderr_=false - break - fi - - # If this is our first marginally acceptable shell, remember it. - if test "$st_:$marginal_" = 9: ; then - marginal_="$re_shell_" - gl_set_x_corrupts_stderr_=true - fi - done - - if test "$re_shell_" != __current__; then - # Found a usable shell. Preserve -v and -x. - case $- in - *v*x* | *x*v*) opts_=-vx ;; - *v*) opts_=-v ;; - *x*) opts_=-x ;; - *) opts_= ;; - esac - re_shell=$re_shell_ - export re_shell - exec "$re_shell_" $opts_ "$0" --no-reexec "$@" - echo "$ME_: exec failed" 1>&2 - exit 127 - fi -fi - -# ============================================================================= -# Ensure the shell behaves reasonably. - -# If this is bash, turn off all aliases. -test -n "$BASH_VERSION" && unalias -a - -# Note that when supporting $EXEEXT (transparently mapping from PROG_NAME to -# PROG_NAME.exe), we want to support hyphen-containing names like test-acos. -# That is part of the shell-selection test above. Why use aliases rather -# than functions? Because support for hyphen-containing aliases is more -# widespread than that for hyphen-containing function names. -test -n "$EXEEXT" && test -n "$BASH_VERSION" && shopt -s expand_aliases - -# ============================================================================= -# Creating a temporary directory (needed by the core test framework) - -# Create a temporary directory, much like mktemp -d does. -# Written by Jim Meyering. -# -# Usage: mktempd_ /tmp phoey.XXXXXXXXXX -# -# First, try to use the mktemp program. -# Failing that, we'll roll our own mktemp-like function: -# - try to get random bytes from /dev/urandom -# - failing that, generate output from a combination of quickly-varying -# sources and gzip. Ignore non-varying gzip header, and extract -# "random" bits from there. -# - given those bits, map to file-name bytes using tr, and try to create -# the desired directory. -# - make only $MAX_TRIES_ attempts - -# Helper function. Print $N pseudo-random bytes from a-zA-Z0-9. -rand_bytes_ () -{ - n_=$1 - - # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first? - # But if they have openssl, they probably have mktemp, too. - - chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 - dev_rand_=/dev/urandom - if test -r "$dev_rand_"; then - # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194. - dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \ - | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ - return - fi - - n_plus_50_=`expr $n_ + 50` - cmds_='date; date +%N; free; who -a; w; ps auxww; ps -ef' - data_=` (eval "$cmds_") 2>&1 | gzip ` - - # Ensure that $data_ has length at least 50+$n_ - while :; do - len_=`echo "$data_"|wc -c` - test $n_plus_50_ -le $len_ && break; - data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip ` - done - - echo "$data_" \ - | dd bs=1 skip=50 count=$n_ 2>/dev/null \ - | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ -} - -mktempd_ () -{ - case $# in - 2);; - *) fail_ "Usage: mktempd_ DIR TEMPLATE";; - esac - - destdir_=$1 - template_=$2 - - MAX_TRIES_=4 - - # Disallow any trailing slash on specified destdir: - # it would subvert the post-mktemp "case"-based destdir test. - case $destdir_ in - / | //) destdir_slash_=$destdir;; - */) fail_ "invalid destination dir: remove trailing slash(es)";; - *) destdir_slash_=$destdir_/;; - esac - - case $template_ in - *XXXX) ;; - *) fail_ \ - "invalid template: $template_ (must have a suffix of at least 4 X's)";; - esac - - # First, try to use mktemp. - d=`unset TMPDIR; { mktemp -d -t -p "$destdir_" "$template_"; } 2>/dev/null` && - - # The resulting name must be in the specified directory. - case $d in "$destdir_slash_"*) :;; *) false;; esac && - - # It must have created the directory. - test -d "$d" && - - # It must have 0700 permissions. Handle sticky "S" bits. - perms=`ls -dgo "$d" 2>/dev/null` && - case $perms in drwx--[-S]---*) :;; *) false;; esac && { - echo "$d" - return - } - - # If we reach this point, we'll have to create a directory manually. - - # Get a copy of the template without its suffix of X's. - base_template_=`echo "$template_"|sed 's/XX*$//'` - - # Calculate how many X's we've just removed. - template_length_=`echo "$template_" | wc -c` - nx_=`echo "$base_template_" | wc -c` - nx_=`expr $template_length_ - $nx_` - - err_= - i_=1 - while :; do - X_=`rand_bytes_ $nx_` - candidate_dir_="$destdir_slash_$base_template_$X_" - err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \ - && { echo "$candidate_dir_"; return; } - test $MAX_TRIES_ -le $i_ && break; - i_=`expr $i_ + 1` - done - fail_ "$err_" -} - -# ============================================================================= -# Core test framework - -# An arbitrary prefix to help distinguish test directories. -testdir_prefix_ () { printf gt; } - -# Set up the environment for the test to run in. -setup_ () -{ - if test "$VERBOSE" = yes; then - # Test whether set -x may cause the selected shell to corrupt an - # application's stderr. Many do, including zsh-4.3.10 and the /bin/sh - # from SunOS 5.11, OpenBSD 4.7 and Irix 6.5. - # If enabling verbose output this way would cause trouble, simply - # issue a warning and refrain. - if $gl_set_x_corrupts_stderr_; then - warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr" - else - set -x - fi - fi - - initial_cwd_=$PWD - - # Create and enter the temporary directory. - pfx_=`testdir_prefix_` - test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \ - || fail_ "failed to create temporary directory in $initial_cwd_" - cd "$test_dir_" || fail_ "failed to cd to temporary directory" - # Set variables srcdir, builddir, for the convenience of the test. - case $srcdir in - /* | ?:*) ;; - *) srcdir="../$srcdir" ;; - esac - builddir=".." - export srcdir builddir - - # As autoconf-generated configure scripts do, ensure that IFS - # is defined initially, so that saving and restoring $IFS works. - gl_init_sh_nl_=' -' - IFS=" "" $gl_init_sh_nl_" - - # This trap statement, along with a trap on 0 below, ensure that the - # temporary directory, $test_dir_, is removed upon exit as well as - # upon receipt of any of the listed signals. - for sig_ in 1 2 3 13 15; do - eval "trap 'Exit $(expr $sig_ + 128)' $sig_" - done - - # Remove relative and non-accessible directories from PATH, including '.' - # and Zero-length entries. - saved_IFS="$IFS" - IFS=: - new_PATH= - sep_= - for dir in $PATH; do - case "$dir" in - /*) test -d "$dir/." || continue - new_PATH="${new_PATH}${sep_}${dir}" - sep_=':';; - esac - done - IFS="$saved_IFS" - PATH="$new_PATH" - export PATH -} - -# This is a stub function that is run upon trap (upon regular exit and -# interrupt). Override it with a per-test function, e.g., to unmount -# a partition, or to undo any other global state changes. -cleanup_ () { :; } - -# Run the user-overridable cleanup_ function, remove the temporary -# directory and exit with the incoming value of $?. -remove_tmp_ () -{ - __st=$? - cleanup_ - if test "$KEEP" = yes; then - echo "Not removing temporary directory $test_dir_" - else - # cd out of the directory we're about to remove - cd "$initial_cwd_" || cd / || cd /tmp - chmod -R u+rwx "$test_dir_" - # If removal fails and exit status was to be 0, then change it to 1. - rm -rf "$test_dir_" || { test $__st = 0 && __st=1; } - fi - exit $__st -} - -# ============================================================================= -# Prepending directories to PATH - -# Given a directory name, DIR, if every entry in it that matches *.exe -# contains only the specified bytes (see the case stmt below), then print -# a space-separated list of those names and return 0. Otherwise, don't -# print anything and return 1. Naming constraints apply also to DIR. -find_exe_basenames_ () -{ - feb_dir_=$1 - feb_fail_=0 - feb_result_= - feb_sp_= - for feb_file_ in $feb_dir_/*.exe; do - # If there was no *.exe file, or there existed a file named "*.exe" that - # was deleted between the above glob expansion and the existence test - # below, just skip it. - test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \ - && continue - # Exempt [.exe, since we can't create a function by that name, yet - # we can't invoke [ by PATH search anyways due to shell builtins. - test "x$feb_file_" = "x$feb_dir_/[.exe" && continue - case $feb_file_ in - *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;; - *) # Remove leading file name components as well as the .exe suffix. - feb_file_=${feb_file_##*/} - feb_file_=${feb_file_%.exe} - feb_result_="$feb_result_$feb_sp_$feb_file_";; - esac - feb_sp_=' ' - done - test $feb_fail_ = 0 && printf %s "$feb_result_" - return $feb_fail_ -} - -# Consider the files in directory, $1. -# For each file name of the form PROG.exe, create an alias named -# PROG that simply invokes PROG.exe, then return 0. If any selected -# file name or the directory name, $1, contains an unexpected character, -# define no alias and return 1. -create_exe_shims_ () -{ - case $EXEEXT in - '') return 0 ;; - .exe) ;; - *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;; - esac - - base_names_=`find_exe_basenames_ $1` \ - || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; } - - if test -n "$base_names_"; then - for base_ in $base_names_; do - alias "$base_"="$base_$EXEEXT" - done - fi - - return 0 -} - -# Use this function to prepend to PATH an absolute name for each -# specified, possibly-$initial_cwd_-relative, directory. -path_prepend_ () -{ - while test $# != 0; do - path_dir_=$1 - case $path_dir_ in - '') fail_ "invalid path dir: '$1'";; - /* | ?:*) abs_path_dir_=$path_dir_;; - *) abs_path_dir_=$initial_cwd_/$path_dir_;; - esac - case $abs_path_dir_ in - *$PATH_SEPARATOR*) fail_ "invalid path dir: '$abs_path_dir_'";; - esac - PATH="$abs_path_dir_$PATH_SEPARATOR$PATH" - - # Create an alias, FOO, for each FOO.exe in this directory. - create_exe_shims_ "$abs_path_dir_" \ - || fail_ "something failed (above): $abs_path_dir_" - shift - done - export PATH -} - -# ============================================================================= -# Convenience environment variables for the tests - -# ----------------------------------------------------------------------------- - -# Enable glibc's malloc-perturbing option. -# This is useful for exposing code that depends on the fact that -# malloc-related functions often return memory that is mostly zeroed. -# If you have the time and cycles, use valgrind to do an even better job. -: ${MALLOC_PERTURB_=87} -export MALLOC_PERTURB_ - -# ----------------------------------------------------------------------------- - -# The interpreter for Bourne-shell scripts. -# No special standards compatibility requirements. -# Some environments, such as Android, don't have /bin/sh. -if test -f /bin/sh$EXEEXT; then - BOURNE_SHELL=/bin/sh -else - BOURNE_SHELL=sh -fi - -# ============================================================================= -# Convenience functions for the tests - -# ----------------------------------------------------------------------------- -# Return value checking - -# This is used to simplify checking of the return value -# which is useful when ensuring a command fails as desired. -# I.e., just doing `command ... &&fail=1` will not catch -# a segfault in command for example. With this helper you -# instead check an explicit exit code like -# returns_ 1 command ... || fail -returns_ () { - # Disable tracing so it doesn't interfere with stderr of the wrapped command - { set +x; } 2>/dev/null - - local exp_exit="$1" - shift - "$@" - test $? -eq $exp_exit && ret_=0 || ret_=1 - - if test "$VERBOSE" = yes && test "$gl_set_x_corrupts_stderr_" = false; then - set -x - fi - { return $ret_; } 2>/dev/null -} - -# ----------------------------------------------------------------------------- -# Text file comparison - -# Emit a header similar to that from diff -u; Print the simulated "diff" -# command so that the order of arguments is clear. Don't bother with @@ lines. -emit_diff_u_header_ () -{ - printf '%s\n' "diff -u $*" \ - "--- $1 1970-01-01" \ - "+++ $2 1970-01-01" -} - -# Arrange not to let diff or cmp operate on /dev/null, -# since on some systems (at least OSF/1 5.1), that doesn't work. -# When there are not two arguments, or no argument is /dev/null, return 2. -# When one argument is /dev/null and the other is not empty, -# cat the nonempty file to stderr and return 1. -# Otherwise, return 0. -compare_dev_null_ () -{ - test $# = 2 || return 2 - - if test "x$1" = x/dev/null; then - test -s "$2" || return 0 - emit_diff_u_header_ "$@"; sed 's/^/+/' "$2" - return 1 - fi - - if test "x$2" = x/dev/null; then - test -s "$1" || return 0 - emit_diff_u_header_ "$@"; sed 's/^/-/' "$1" - return 1 - fi - - return 2 -} - -for diff_opt_ in -u -U3 -c '' no; do - test "$diff_opt_" != no && - diff_out_=`exec 2>/dev/null; diff $diff_opt_ "$0" "$0" < /dev/null` && - break -done -if test "$diff_opt_" != no; then - if test -z "$diff_out_"; then - compare_ () { diff $diff_opt_ "$@"; } - else - compare_ () - { - # If no differences were found, AIX and HP-UX 'diff' produce output - # like "No differences encountered". Hide this output. - diff $diff_opt_ "$@" > diff.out - diff_status_=$? - test $diff_status_ -eq 0 || cat diff.out || diff_status_=2 - rm -f diff.out || diff_status_=2 - return $diff_status_ - } - fi -elif cmp -s /dev/null /dev/null 2>/dev/null; then - compare_ () { cmp -s "$@"; } -else - compare_ () { cmp "$@"; } -fi - -# Usage: compare EXPECTED ACTUAL -# -# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more. -# Otherwise, propagate $? to caller: any diffs have already been printed. -compare () -{ - # This looks like it can be factored to use a simple "case $?" - # after unchecked compare_dev_null_ invocation, but that would - # fail in a "set -e" environment. - if compare_dev_null_ "$@"; then - return 0 - else - case $? in - 1) return 1;; - *) compare_ "$@";; - esac - fi -} - -# ----------------------------------------------------------------------------- - -# If you want to override the testdir_prefix_ function, -# or to add more utility functions, use this file. -test -f "$srcdir/init.cfg" \ - && . "$srcdir/init.cfg" - -# ============================================================================= -# Set up the environment for the test to run in. - -setup_ "$@" -# This trap is here, rather than in the setup_ function, because some -# shells run the exit trap at shell function exit, rather than script exit. -trap remove_tmp_ 0 diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-all-shells.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-all-shells.sh deleted file mode 100644 index a6dcba2..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/test-all-shells.sh +++ /dev/null @@ -1,103 +0,0 @@ -#! /bin/sh - -# Unit test helper. - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2015-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - - -# This shell snippet (when sourced) tries to find as many /bin/sh compatible -# shells as possible on tested box -- and then re-executes the calling script -# in all of them. At the end, the default shell (/bin/sh usually) is also -# tested. -# -# To write compatible test-case, you usually need only those lines: -# -# #! /bin/sh -# -# all_shells_script=$0 -# . "$abs_srcdir/test-all-shells.sh" -# -# your_check && all_shells_error "failed your_check" -# -# $all_shells_exit_cmd - - -# List of shells we try to check in. -: ${GL_ALL_SHELLS='ash bash dash ksh ksh88 mksh zsh busybox'} - -# List of directories to search for the shell interpreter. -: ${GL_ALL_SHELLS_DIRS='/bin /sbin'} - -# List of shell emulations to test with BusyBox. -: ${GL_ALL_SHELLS_BBE='sh ash'} - -. "$abs_aux_dir"/funclib.sh || exit 1 - -all_shells_exit_cmd=: - -: ${all_shells_script=false} - - -all_shells_error () -{ - $ECHO "error: $*" >&2 - all_shells_exit_cmd=false -} - - -__notify_shell () -{ - $ECHO "== running in '$*' ==" >&2 -} - - -__reexec_in_all_shells () -{ - for _G_dir in $GL_ALL_SHELLS_DIRS - do - for _G_shell in $GL_ALL_SHELLS - do - _G_abs_shell=$_G_dir/$_G_shell - test -f "$_G_abs_shell" || continue - - case $_G_abs_shell in - *busybox) - for _G_bbe in $GL_ALL_SHELLS_BBE - do - _G_full_bb="$_G_abs_shell $_G_bbe" - __notify_shell "$_G_full_bb" - __GL_ALL_SHELLS_SHELL="$_G_full_bb" \ - "$_G_abs_shell" "$_G_bbe" "$all_shells_script" ${1+"$@"} \ - || all_shells_error "can't run in $_G_bbe" - done - ;; - *) - __notify_shell "$_G_abs_shell" - __GL_ALL_SHELLS_SHELL="$_G_abs_shell" \ - "$_G_abs_shell" "$all_shells_script" ${1+"$@"} \ - || all_shells_error "can't run in $_G_abs_shell" - ;; - esac - done - done -} - - -test x = "x$__GL_ALL_SHELLS_SHELL" \ - && __reexec_in_all_shells ${1+"$@"} \ - && __notify_shell "default shell" - -: diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-funclib-quote.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-funclib-quote.sh deleted file mode 100755 index d895d1c..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/test-funclib-quote.sh +++ /dev/null @@ -1,183 +0,0 @@ -#! /bin/sh - -# Unit tests for funclib.sh - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2015-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - - -all_shells_script=$0 -. "$abs_srcdir/test-all-shells.sh" || exit 1 - - -_compare_or_error () -{ - _G_msg="$1: strings differ: - a: $2 - b: $3" - test "$2" = "$3" || all_shells_error "$_G_msg" -} - - -dump_args () -{ - dump_args_result= - _separator= - for arg - do - func_append dump_args_result "$_separator$arg" - _separator=' ' - done -} - - -# test_q_eval DESC ARGs... -# ------------------------ -# Apply 'func_quote eval' on ARGs and eval the result. The eval-ed result must -# 100% match the original ARGs. -test_q_eval () -{ - description="$1" ; shift - - dump_args ${1+"$@"} - original=$dump_args_result - - $ECHO "~> func_quote eval: $description: $original" - - # Pretty implementation - func_quote eval,pretty ${1+"$@"} \ - || all_shells_error "can't pretty func_quote args '$*'" - eval "set dummy $func_quote_result" ; shift - dump_args ${1+"$@"} - pretty=$dump_args_result - - # Fast implementation (if available) - func_quote eval ${1+"$@"} || all_shells_error "can't fast func_quote args '$*'" - eval "set dummy $func_quote_result" ; shift - dump_args ${1+"$@"} - fast=$dump_args_result - - _compare_or_error "$description (pretty)" "$original" "$pretty" - _compare_or_error "$description (fast)" "$original" "$fast" -} - - -# test_q_arg_eval DESC ARG -# ------------------------ -# Apply 'func_quote_arg eval' on ARG and eval the result. Echo-ed result within -# eval must match original echo-ed ARG. -test_q_arg_eval () -{ - description=$1 - original=$2 - original_echo=`$ECHO "$original"` - - $ECHO "~> func_quote_arg eval: $description: $original_echo" - - func_quote_arg pretty,unquoted "$original" \ - || all_shells_error "can't quote_arg: $original" - pretty=$func_quote_arg_result - pretty_unquoted=$func_quote_arg_unquoted_result - pretty_echo=`eval '$ECHO '"$pretty"` \ - || all_shells_error "can't eval: $pretty" - - pretty_unquoted_echo=`eval '$ECHO '"\"$pretty_unquoted\""` \ - || all_shells_error "can't eval: $pretty" - - # Fast implementation. - func_quote_arg eval "$original" - fast=$func_quote_arg_result - fast_echo=`eval '$ECHO '"$fast"` || all_shells_error "can't eval: $pretty" - - _compare_or_error "$description (pretty)" \ - "$original_echo" "$pretty_echo" - _compare_or_error "$description (pretty_unquoted)" \ - "$original_echo" "$pretty_unquoted_echo" - _compare_or_error "$description (fast)" \ - "$original_echo" "$fast_echo" -} - - -# test_q_expand DESC EXP_RESULT ARG -# --------------------------------- -# Test that 'func_quote expand' works fine --> all shell special characters are -# quoted except '$' -- while all variables are expanded. -test_q_expand () -{ - description=$1 ; shift - exp_result=$1 ; shift - - dump_args ${1+"$@"} - $ECHO "~> func_quote expand: $description: $dump_args_result" - - func_quote expand ${1+"$@"} - eval "set dummy $func_quote_result" ; shift - dump_args ${1+"$@"} - - _compare_or_error "$description (expand)" "$exp_result" "$dump_args_result" -} - - -## ============== ## -## Start testing! ## -## ============== ## - -aaa=aaa ; bbb=bbb ; ccc=ccc ; ddd=ddd - -# Needed for later testing of globbing. -touch fltestA fltestB - -test_q_eval basic a b c -# TODO: Intentionally not checking newline here yet, it never worked. -test_q_eval spaces 'space space' 'tab tab' -test_q_eval empty_arg '' '' '' -test_q_eval globs '*' '.*' '[a-zA-Z0-9_]' '?' '~' -test_q_eval variables '$aaa' '${bbb}' '"${ccc} $ddd"' -test_q_eval exclamation-mark '$!' '!$' '!' -test_q_eval tilde '"~"' -test_q_eval single-quotes "'a'" "'"'$bbb'"'" -test_q_eval shell-vars '$1' '$@' '$*' 'ending$' -test_q_eval complicated-cmd grep b '>' /noperm '<' /noperm - -test_q_arg_eval basic a -test_q_arg_eval single-quotes "'''" -test_q_arg_eval double-quotes '"""' -test_q_arg_eval tilde '~' -test_q_arg_eval ampersand '&' -test_q_arg_eval pipe '|' -test_q_arg_eval questionmark 'fltest?' -test_q_arg_eval glob-bracket 'fltest[A-Z]' -test_q_arg_eval space 'space space' -test_q_arg_eval tab 'tab tab' -test_q_arg_eval '`command`' '`false command`' -test_q_arg_eval '$(command)' '$(false command)' -test_q_arg_eval semicolon '; false' -test_q_arg_eval vars '$aaa ${bbb} "${ccc} $ddd"' -test_q_arg_eval if-then-else 'if false; then false; else false; fi' -test_q_arg_eval file-redirect 'echo a > /no-perm 2> /no-perm' -test_q_arg_eval case-stmt 'case $empty in "") false;; a) broken ;; esac' -test_q_arg_eval comment 'unexistent #' -test_q_arg_eval func 'func () { } # syntax error' - -test_q_expand basic 'a b c aaa d' a b c '$aaa' d -test_q_expand double-quotes '" " " "bbb"' '"' '" "' '"$bbb"' -test_q_expand spaces ' ccc' ' ' ' ' '${ccc}' -# Note the *no expected space* here! -test_q_expand non-existent '' '$empty' '${empty}' -test_q_expand non-existent-2 '"" ""' '"$empty"' '"${empty}"' -# TODO: Intentionally not checking '$(cmd)' yet. -test_q_expand '`command`' '`aaa bbb`' '`$aaa $empty${bbb}`' - -$all_shells_exit_cmd && rm -rf fltest* diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-init.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-init.sh deleted file mode 100755 index 75ebaf0..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/test-init.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# Unit tests for init.sh -# Copyright (C) 2011-2022 Free Software Foundation, Inc. -# This file is part of the GNUlib Library. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . */ - -: ${srcdir=.} -. "$srcdir/init.sh"; path_prepend_ . - -fail=0 - -test_compare() -{ - touch empty || fail=1 - echo xyz > in || fail=1 - - compare /dev/null /dev/null >out 2>err || fail=1 - test -s out && fail_ "out not empty: $(cat out)" - # "err" should be empty, too, but has "set -x" output when VERBOSE=yes - case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac - - compare /dev/null empty >out 2>err || fail=1 - test -s out && fail_ "out not empty: $(cat out)" - case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac - - compare in in >out 2>err || fail=1 - test -s out && fail_ "out not empty: $(cat out)" - case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac - - compare /dev/null in >out 2>err && fail=1 - cat <<\EOF > exp -diff -u /dev/null in ---- /dev/null 1970-01-01 -+++ in 1970-01-01 -+xyz -EOF - compare exp out || fail=1 - case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac - - compare empty in >out 2>err && fail=1 - # Compare against expected output only if compare is using diff -u. - if grep @ out >/dev/null; then - # Remove the TAB-date suffix on each --- and +++ line, - # for both the expected and the actual output files. - # Also remove the @@ line, since Solaris 5.10 and GNU diff formats differ: - # -@@ -0,0 +1 @@ - # +@@ -1,0 +1,1 @@ - # Also, remove space after leading '+', since AIX 7.1 diff outputs a space. - sed 's/ .*//;/^@@/d;s/^+ /+/' out > k && mv k out - cat <<\EOF > exp ---- empty -+++ in -+xyz -EOF - compare exp out || fail=1 - fi - case $- in *x*) ;; *) test -s err && fail_ "err not empty: $(cat err)";; esac -} - -test_compare - -Exit $fail diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser-helper b/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser-helper deleted file mode 100755 index 392337a..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser-helper +++ /dev/null @@ -1,200 +0,0 @@ -#! /bin/sh - -# Unit tests for funclib.sh - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2015-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - -. "$abs_aux_dir"/funclib.sh || exit 1 -. "$abs_aux_dir"/options-parser || exit 1 - -set -e - -scriptversion='test-version' - -func_help () -{ - $ECHO "HELP" - exit 0 -} - - -# Make sure that setting _result has no effect if we return non-zero -# return value. -test_prep_do_nothing () -{ - : -} -func_add_hook func_options_prep test_prep_do_nothing - - -test_prep_shortcuts () -{ - debug_on= - test x--debug = "x$1" && debug_on=--debug && shift - - case $1 in - short|shortc|shortcu|shortcut) - shift - func_quote eval --test SHORTCUT $debug_on ${1+"$@"} - test_prep_shortcuts_result=$func_quote_result - ;; - *) - ;; - esac -} -func_add_hook func_options_prep test_prep_shortcuts - - -test_parse_split_short () -{ - while test $# -gt 0 - do - _G_opt=$1 ; shift - case $_G_opt in - -t?*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - *) - set dummy "$_G_opt" ${1+"$@"} ; shift - ;; - esac - break - done - - func_quote eval ${1+"$@"} - test_parse_split_short_result=$func_quote_result -} -func_add_hook func_parse_options test_parse_split_short - - -test_parse_subst_equal_signs () -{ - _G_opt=$1 ; shift - case $_G_opt in - --*=*) - func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - func_quote eval ${1+"$@"} - test_parse_subst_equal_signs_result=$func_quote_result - ;; - *) - ;; - esac -} -func_add_hook func_parse_options test_parse_subst_equal_signs - - -test_parse_do_nothing () -{ - : -} -func_add_hook func_parse_options test_parse_do_nothing - - -test_parse_eat_test () -{ - _t_parse_match=false - _G_opt=$1 ; shift - case $_G_opt in - --test|-t) - _t_parse_match=: - if test $# = 0; then - func_missing_arg $_G_opt - else - opt_test=$1 - shift - fi - ;; - esac - - if $_t_parse_match; then - func_quote eval ${1+"$@"} - test_parse_eat_test_result=$func_quote_result - fi -} -func_add_hook func_parse_options test_parse_eat_test - - -test_validate_do_nothing () -{ - : -} -func_add_hook func_validate_options test_validate_do_nothing - - -test_validate_eat_sth () -{ - if test validate_out = "$1"; then - shift - func_quote eval ${1+"$@"} - test_validate_eat_sth_result=$func_quote_result - fi -} -func_add_hook func_validate_options test_validate_eat_sth - - -unset_test_opt () -{ - case $# in - 0) - $ECHO UNSET_TEST - ;; - 1) - $ECHO "ONE_ARG $*" - ;; - 2) - case $1 in - eval) - eval "$2" - exit $? - ;; - esac - ;; - 3) - $ECHO THREE_ARGS - ;; - *) - $ECHO MORE_ARGS - ;; - esac -} - - -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - -case ${opt_test-unset} in - '') - $ECHO "EMPTY_TEST" - ;; - unset) - unset_test_opt ${1+"$@"} - ;; - false) - $ECHO "FALSE_TEST" - exit 1 - ;; - *) - $ECHO $opt_test - ;; -esac - -: diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser.sh deleted file mode 100755 index 840baac..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/test-option-parser.sh +++ /dev/null @@ -1,131 +0,0 @@ -#! /bin/sh - -# Unit tests for option-parser - -# This is free software. There is NO warranty; not even for -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Copyright (C) 2015-2019, 2021 Bootstrap Authors -# -# This file is dual licensed under the terms of the MIT license -# , and GPL version 2 or later -# . You must apply one of -# these licenses when using or redistributing this software or any of -# the files within it. See the URLs above, or the file `LICENSE` -# included in the Bootstrap distribution for the full license texts. - -# Please report bugs or propose patches to: -# - -all_shells_script=$0 -. "$abs_srcdir/test-all-shells.sh" - -. "$abs_aux_dir"/options-parser || exit 1 - -helper="$__GL_ALL_SHELLS_SHELL $abs_srcdir/test-option-parser-helper" - -check_output_inner () -{ - exp_output=$1 ; shift - exp_retval=$1 ; shift - - func_quote pretty ${1+"$@"} - $ECHO "[[ output check ]] args: $func_quote_result" - - output=`$helper ${1+"$@"} 2>/dev/null` - rc=$? - test "$rc" -eq "$exp_retval" \ - || all_shells_error "unexpected exit status $rc $exp_retval" - - if test "$exp_output" = "$output" - then - : - else - $ECHO "expected:" - $ECHO "$exp_output" - $ECHO "given:" - $ECHO "$output" - all_shells_error "unexpected output" - fi -} - - -check_output () -{ - _co_exp_output=$1 ; shift - _co_exp_retval=$1 ; shift - check_output_inner "$_co_exp_output" "$_co_exp_retval" ${1+"$@"} - check_output_inner "$_co_exp_output" "$_co_exp_retval" --debug ${1+"$@"} -} - - -check_retval () -{ - exp_retval=$1 ; shift - func_quote pretty ${1+"$@"} - $ECHO "[[ retval check ]] args: $func_quote_result" - $helper ${1+"$@"} >/dev/null 2>/dev/null - rc=$? - test "$rc" -eq "$exp_retval" \ - || all_shells_error "unexpected retval $rc (should be $exp_retval)" -} - - -grep_output () -{ - grep_for=$1 ; shift - exp_retval=$1 ; shift - - func_quote pretty ${1+"$@"} - $ECHO "[[ grep for '$grep_for' ]] args: $func_quote_result" - - output=`$helper ${1+"$@"} 2>/dev/null` - rc=$? - case $output in - *$grep_for*) : ;; - *) all_shells_error "$grep_for is not in stdout $output" ;; - esac - - test "$rc" -eq "$exp_retval" \ - || all_shells_error "unexpected retval $rc (should be $exp_retval)" -} - - -check_output HELP 0 --help -check_output HELP 0 --test jej --help -check_output HELP 0 --test=jej --help -check_output HELP 0 --test= --help - -check_output EMPTY_TEST 0 --test= -check_output EMPTY_TEST 0 -t '' -check_output EMPTY_TEST 0 --test '' -check_output FALSE_TEST 1 --test=false -check_output FALSE_TEST 1 -tfalse -check_output FALSE_TEST 1 -t false -check_output UNSET_TEST 0 -check_output 'ONE_ARG a' 0 a -check_output THREE_ARGS 0 a b c -check_output MORE_ARGS 0 a b c d - -check_output SHORTCUT 0 short -check_output SHORTCUT 0 shortcut -check_output HELP 0 short --help - -check_output eval 4 eval 'echo eval ; exit 4' -check_output eval 4 validate_out eval 'echo eval ; exit 4' - -# No argument. -check_retval 1 --test -check_retval 1 --not-existent -check_retval 1 short --not-existent - -grep_output test-version 0 --version -grep_output test-version 0 --version --whatever -grep_output test-version 0 --debug --version - -# TODO: Shouldn't this code be able to parse multiple occurrences of -# single option (IOW, hooks should be called in loop..)? -# check_output FALSE_TEST 1 short --test false -# check_output FALSE_TEST 1 --test a --test false - -$all_shells_exit_cmd diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-update-copyright.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-update-copyright.sh deleted file mode 100755 index a88a3d0..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/test-update-copyright.sh +++ /dev/null @@ -1,561 +0,0 @@ -#!/bin/sh -# Test suite for update-copyright. -# Copyright (C) 2009-2022 Free Software Foundation, Inc. -# This file is part of the GNUlib Library. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -diffout=`diff -u /dev/null /dev/null 2>&1` -if test x"$diffout" = x"" && test $? -eq 0; then - compare() { diff -u "$@"; } -else - compare() { cmp "$@"; } -fi - -# Ensure the update-copyright program gets found. -PATH=$abs_aux_dir:$PATH -export PATH - -TMP_BASE=update-copyright.test -trap 'rm -f $TMP_BASE*' 0 1 2 3 15 - -## --------------------------------- ## -## Skip if user does not have perl. ## -## --------------------------------- ## - -TMP=$TMP_BASE -s=$TMP-script -cat <<\EOF > $s -#!/bin/sh -#! -*-perl-*- -# This is a prologue that allows to run a perl script as an executable -# on systems that are compliant to a POSIX version before POSIX:2017. -# On such systems, the usual invocation of an executable through execlp() -# or execvp() fails with ENOEXEC if it is a script that does not start -# with a #! line. The script interpreter mentioned in the #! line has -# to be /bin/sh, because on GuixSD systems that is the only program that -# has a fixed file name. The second line is essential for perl and is -# also useful for editing this file in Emacs. The next two lines below -# are valid code in both sh and perl. When executed by sh, they re-execute -# the script through the perl program found in $PATH. The '-x' option -# is essential as well; without it, perl would re-execute the script -# through /bin/sh. When executed by perl, the next two lines are a no-op. -eval 'exec perl -wSx -pi "$0" "$@"' - if 0; - -s/a/b/ -EOF -chmod a+x $s -echo a > $TMP-in -./$s $TMP-in 2>/dev/null && test b = "`cat $TMP-in 2>/dev/null`" || - { - printf '%s\n' "$0: skipping this test;" \ - 'your system has insufficient support for Perl' 1>&2 - exit 77 - } - -# Skip this test if Perl is too old. FIXME: 5.8.0 is just a guess. -# We have a report that 5.6.1 is inadequate and that 5.8.0 works. -perl -e 'require 5.8.0' || { - echo '$0: skipping this test; Perl version is too old' 1>&2 - exit 77 -} - -# Do not let a different envvar setting perturb results. -UPDATE_COPYRIGHT_MAX_LINE_LENGTH=72 -export UPDATE_COPYRIGHT_MAX_LINE_LENGTH - -## ----------------------------- ## -## Examples from documentation. ## -## ----------------------------- ## - -TMP=$TMP_BASE-ex -cat > $TMP.1 < $TMP.2 < $TMP.3 < $TMP.4 < $TMP.5 < $TMP.6 < $TMP.7 < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare - $TMP-stderr < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare - $TMP-stderr < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP <<\EOF -Rem Copyright (C) 87, 88, 1991, 1992, 1993, 1994, 1995, 1996, 1997,@ -Rem 98, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@ -Rem 2009 Free Software Foundation, Inc.@ -EOF -UPDATE_COPYRIGHT_YEAR=2010 \ - update-copyright $TMP 1> $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -tr @ '\015' > $TMP-exp <<\EOF -Rem Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,@ -Rem 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@ -Rem 2009, 2010 Free Software Foundation, Inc.@ -EOF -compare $TMP-exp $TMP || exit 1 -rm $TMP* - -## --------------- ## -## Omitted "(C)". ## -## --------------- ## - -TMP=$TMP_BASE-omitted-circle-c -cat > $TMP < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP < $TMP.star < $TMP.space < $TMP.single-line < $TMP.single-line-wrapped < $TMP.extra-text-star < $TMP.extra-text-space < $TMP.two-digit-final-is-substr-of-first < $TMP-stdout 2> $TMP-stderr -compare /dev/null $TMP-stdout || exit 1 -compare /dev/null $TMP-stderr || exit 1 -compare - $TMP.star <. */ - -: ${srcdir=.} -. "$srcdir/init.sh"; path_prepend_ . - -tmpdir=vc-cvs -repo=`pwd`/$tmpdir/repo - -fail=0 -for i in with-cvsu without; do - # On the first iteration, test using cvsu, if it's in your path. - # On the second iteration, ensure that cvsu fails, so we'll - # exercise the awk-using code. - if test $i = without; then - printf '%s\n' '#!/bin/sh' 'exit 1' > cvsu - chmod a+x cvsu - PATH=`pwd`:$PATH - export PATH - fi - ok=0 - mkdir $tmpdir && cd $tmpdir && - # without cvs, skip the test - { ( cvs -Q -d "$repo" init ) > /dev/null 2>&1 \ - || skip_ "cvs not found in PATH"; } && - mkdir w && cd w && - mkdir d && - touch d/a b c && - cvs -Q -d "$repo" import -m imp m M M0 && - cvs -Q -d "$repo" co m && cd m && - printf '%s\n' b c d/a > expected && - $BOURNE_SHELL "$abs_aux_dir/vc-list-files" | sort > actual && - compare expected actual && - ok=1 - test $ok = 0 && fail=1 -done - -Exit $fail diff --git a/BUILD/libtool-2.4.7/gnulib-tests/test-vc-list-files-git.sh b/BUILD/libtool-2.4.7/gnulib-tests/test-vc-list-files-git.sh deleted file mode 100755 index 7c4da79..0000000 --- a/BUILD/libtool-2.4.7/gnulib-tests/test-vc-list-files-git.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# Unit tests for vc-list-files -# Copyright (C) 2008-2022 Free Software Foundation, Inc. -# This file is part of the GNUlib Library. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . */ - -: ${srcdir=.} -. "$srcdir/init.sh"; path_prepend_ . - -tmpdir=vc-git-$$ -GIT_DIR= GIT_WORK_TREE=; unset GIT_DIR GIT_WORK_TREE - -fail=1 -mkdir $tmpdir && cd $tmpdir && - # without git, skip the test - # The double use of 'exit' is needed for the reference to $? inside the trap. - { ( git init -q ) > /dev/null 2>&1 \ - || skip_ "git not found in PATH"; } && - mkdir d && - touch d/a b c && - git config user.email "you@example.com" && - git config user.name "Your Name" && - git add . > /dev/null && - git commit -q -a -m log && - printf '%s\n' b c d/a > expected && - $BOURNE_SHELL "$abs_aux_dir/vc-list-files" > actual && - compare expected actual && - fail=0 - -Exit $fail diff --git a/BUILD/libtool-2.4.7/libltdl/COPYING.LIB b/BUILD/libtool-2.4.7/libltdl/COPYING.LIB deleted file mode 100644 index 4362b49..0000000 --- a/BUILD/libtool-2.4.7/libltdl/COPYING.LIB +++ /dev/null @@ -1,502 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/BUILD/libtool-2.4.7/libltdl/Makefile.am b/BUILD/libtool-2.4.7/libltdl/Makefile.am deleted file mode 100644 index e2ec2b8..0000000 --- a/BUILD/libtool-2.4.7/libltdl/Makefile.am +++ /dev/null @@ -1,159 +0,0 @@ -## ltdl.mk -- includable Makefile snippet -## -## Copyright (C) 2003-2005, 2007, 2011-2019, 2021-2022 Free Software -## Foundation, Inc. -## Written by Gary V. Vaughan, 2003 -## -## NOTE: The canonical source of this file is maintained with the -## GNU Libtool package. Report bugs to bug-libtool@gnu.org. -## -## GNU Libltdl is free software; you can redistribute it and/or -## modify it under the terms of the GNU Lesser General Public -## License as published by the Free Software Foundation; either -## version 2 of the License, or (at your option) any later version. -## -## As a special exception to the GNU Lesser General Public License, -## if you distribute this file as part of a program or library that -## is built using GNU libtool, you may include this file under the -## same distribution terms that you use for the rest of that program. -## -## GNU Libltdl is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU Lesser General Public License for more details. -## -## You should have received a copy of the GNU LesserGeneral Public -## License along with GNU Libltdl; see the file COPYING.LIB. If not, a -## copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -## or obtained by writing to the Free Software Foundation, Inc., -## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -##### - -ACLOCAL_AMFLAGS = -I ../m4 -AUTOMAKE_OPTIONS = foreign -AM_CPPFLAGS = -AM_LDFLAGS = -BUILT_SOURCES = -include_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = -EXTRA_LTLIBRARIES = -EXTRA_DIST = -CLEANFILES = -MOSTLYCLEANFILES = - -# -I$(srcdir) is needed for user that built libltdl with a sub-Automake -# (not as a sub-package!) using 'nostdinc': -AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \ - -DLTDL -I. -I$(srcdir) -Ilibltdl \ - -I$(srcdir)/libltdl -AM_LDFLAGS += -no-undefined -LTDL_VERSION_INFO = -version-info 10:2:3 - -noinst_LTLIBRARIES += $(LT_DLLOADERS) - -if INSTALL_LTDL -ltdlincludedir = $(includedir)/libltdl -ltdlinclude_HEADERS = libltdl/lt_system.h \ - libltdl/lt_error.h \ - libltdl/lt_dlloader.h -include_HEADERS += ltdl.h -lib_LTLIBRARIES += libltdl.la -endif - -if CONVENIENCE_LTDL -noinst_LTLIBRARIES += libltdlc.la -endif - -libltdl_la_SOURCES = libltdl/lt__alloc.h \ - libltdl/lt__dirent.h \ - libltdl/lt__glibc.h \ - libltdl/lt__private.h \ - libltdl/lt__strl.h \ - libltdl/lt_dlloader.h \ - libltdl/lt_error.h \ - libltdl/lt_system.h \ - libltdl/slist.h \ - loaders/preopen.c \ - lt__alloc.c \ - lt_dlloader.c \ - lt_error.c \ - ltdl.c \ - ltdl.h \ - slist.c - -EXTRA_DIST += lt__dirent.c \ - lt__strl.c - -libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS) -libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN) -libltdl_la_LIBADD = $(LTLIBOBJS) -libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS) - -libltdlc_la_SOURCES = $(libltdl_la_SOURCES) -libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS) -libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN) -libltdlc_la_LIBADD = $(libltdl_la_LIBADD) -libltdlc_la_DEPENDENCIES= $(libltdl_la_DEPENDENCIES) - -## The loaders are preopened by libltdl, itself always built from -## pic-objects (either as a shared library, or a convenience library), -## so the loaders themselves must be made from pic-objects too. We -## use convenience libraries for that purpose: -EXTRA_LTLIBRARIES += dlopen.la \ - dld_link.la \ - dyld.la \ - load_add_on.la \ - loadlibrary.la \ - shl_load.la - -dlopen_la_SOURCES = loaders/dlopen.c -dlopen_la_LDFLAGS = -module -avoid-version -dlopen_la_LIBADD = $(LIBADD_DLOPEN) - -dld_link_la_SOURCES = loaders/dld_link.c -dld_link_la_LDFLAGS = -module -avoid-version -dld_link_la_LIBADD = -ldld - -dyld_la_SOURCES = loaders/dyld.c -dyld_la_LDFLAGS = -module -avoid-version - -load_add_on_la_SOURCES = loaders/load_add_on.c -load_add_on_la_LDFLAGS = -module -avoid-version - -loadlibrary_la_SOURCES = loaders/loadlibrary.c -loadlibrary_la_LDFLAGS = -module -avoid-version - -shl_load_la_SOURCES = loaders/shl_load.c -shl_load_la_LDFLAGS = -module -avoid-version -shl_load_la_LIBADD = $(LIBADD_SHL_LOAD) - -## Make sure these will be cleaned even when they're not built by default: -CLEANFILES += libltdl.la \ - libltdlc.la \ - libdlloader.la - -## Automake-1.9.6 doesn't clean subdir AC_LIBOBJ compiled objects -## automatically: -CLEANFILES += $(LIBOBJS) $(LTLIBOBJS) - -EXTRA_DIST += COPYING.LIB \ - README - -## --------------------------- ## -## Gnulib Makefile.am snippets ## -## --------------------------- ## - -BUILT_SOURCES += libltdl/$(LT_ARGZ_H) -EXTRA_DIST += libltdl/lt__argz_.h \ - lt__argz.c - -# We need the following in order to create an when the system -# doesn't have one that works with the given compiler. -all-local $(lib_OBJECTS): $(LT_ARGZ_H) -libltdl/lt__argz.h: libltdl/lt__argz_.h - $(AM_V_at)$(mkinstalldirs) . libltdl - $(AM_V_GEN)cp $(srcdir)/libltdl/lt__argz_.h $@-t - $(AM_V_at)mv $@-t $@ -MOSTLYCLEANFILES += libltdl/lt__argz.h \ - libltdl/lt__argz.h-t diff --git a/BUILD/libtool-2.4.7/libltdl/Makefile.in b/BUILD/libtool-2.4.7/libltdl/Makefile.in deleted file mode 100644 index 9e8cf06..0000000 --- a/BUILD/libtool-2.4.7/libltdl/Makefile.in +++ /dev/null @@ -1,1293 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -##### - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@INSTALL_LTDL_TRUE@am__append_1 = ltdl.h -@INSTALL_LTDL_TRUE@am__append_2 = libltdl.la -@CONVENIENCE_LTDL_TRUE@am__append_3 = libltdlc.la -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../m4/libtool.m4 \ - $(top_srcdir)/../m4/ltargz.m4 $(top_srcdir)/../m4/ltdl.m4 \ - $(top_srcdir)/../m4/ltoptions.m4 \ - $(top_srcdir)/../m4/ltsugar.m4 \ - $(top_srcdir)/../m4/ltversion.m4 \ - $(top_srcdir)/../m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__include_HEADERS_DIST) \ - $(am__ltdlinclude_HEADERS_DIST) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" \ - "$(DESTDIR)$(ltdlincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) -dld_link_la_DEPENDENCIES = -am__dirstamp = $(am__leading_dot)dirstamp -am_dld_link_la_OBJECTS = loaders/dld_link.lo -dld_link_la_OBJECTS = $(am_dld_link_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -dld_link_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(dld_link_la_LDFLAGS) $(LDFLAGS) -o $@ -am__DEPENDENCIES_1 = -dlopen_la_DEPENDENCIES = $(am__DEPENDENCIES_1) -am_dlopen_la_OBJECTS = loaders/dlopen.lo -dlopen_la_OBJECTS = $(am_dlopen_la_OBJECTS) -dlopen_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(dlopen_la_LDFLAGS) $(LDFLAGS) -o $@ -dyld_la_LIBADD = -am_dyld_la_OBJECTS = loaders/dyld.lo -dyld_la_OBJECTS = $(am_dyld_la_OBJECTS) -dyld_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(dyld_la_LDFLAGS) $(LDFLAGS) -o $@ -am_libltdl_la_OBJECTS = loaders/libltdl_la-preopen.lo \ - libltdl_la-lt__alloc.lo libltdl_la-lt_dlloader.lo \ - libltdl_la-lt_error.lo libltdl_la-ltdl.lo libltdl_la-slist.lo -libltdl_la_OBJECTS = $(am_libltdl_la_OBJECTS) -libltdl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libltdl_la_LDFLAGS) $(LDFLAGS) -o $@ -@INSTALL_LTDL_TRUE@am_libltdl_la_rpath = -rpath $(libdir) -am__objects_1 = loaders/libltdlc_la-preopen.lo \ - libltdlc_la-lt__alloc.lo libltdlc_la-lt_dlloader.lo \ - libltdlc_la-lt_error.lo libltdlc_la-ltdl.lo \ - libltdlc_la-slist.lo -am_libltdlc_la_OBJECTS = $(am__objects_1) -libltdlc_la_OBJECTS = $(am_libltdlc_la_OBJECTS) -libltdlc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libltdlc_la_LDFLAGS) $(LDFLAGS) -o $@ -@CONVENIENCE_LTDL_TRUE@am_libltdlc_la_rpath = -load_add_on_la_LIBADD = -am_load_add_on_la_OBJECTS = loaders/load_add_on.lo -load_add_on_la_OBJECTS = $(am_load_add_on_la_OBJECTS) -load_add_on_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(load_add_on_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -loadlibrary_la_LIBADD = -am_loadlibrary_la_OBJECTS = loaders/loadlibrary.lo -loadlibrary_la_OBJECTS = $(am_loadlibrary_la_OBJECTS) -loadlibrary_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(loadlibrary_la_LDFLAGS) $(LDFLAGS) -o \ - $@ -shl_load_la_DEPENDENCIES = $(am__DEPENDENCIES_1) -am_shl_load_la_OBJECTS = loaders/shl_load.lo -shl_load_la_OBJECTS = $(am_shl_load_la_OBJECTS) -shl_load_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(shl_load_la_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/../build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = $(DEPDIR)/lt__argz.Plo $(DEPDIR)/lt__dirent.Plo \ - $(DEPDIR)/lt__strl.Plo ./$(DEPDIR)/libltdl_la-lt__alloc.Plo \ - ./$(DEPDIR)/libltdl_la-lt_dlloader.Plo \ - ./$(DEPDIR)/libltdl_la-lt_error.Plo \ - ./$(DEPDIR)/libltdl_la-ltdl.Plo \ - ./$(DEPDIR)/libltdl_la-slist.Plo \ - ./$(DEPDIR)/libltdlc_la-lt__alloc.Plo \ - ./$(DEPDIR)/libltdlc_la-lt_dlloader.Plo \ - ./$(DEPDIR)/libltdlc_la-lt_error.Plo \ - ./$(DEPDIR)/libltdlc_la-ltdl.Plo \ - ./$(DEPDIR)/libltdlc_la-slist.Plo \ - loaders/$(DEPDIR)/dld_link.Plo loaders/$(DEPDIR)/dlopen.Plo \ - loaders/$(DEPDIR)/dyld.Plo \ - loaders/$(DEPDIR)/libltdl_la-preopen.Plo \ - loaders/$(DEPDIR)/libltdlc_la-preopen.Plo \ - loaders/$(DEPDIR)/load_add_on.Plo \ - loaders/$(DEPDIR)/loadlibrary.Plo \ - loaders/$(DEPDIR)/shl_load.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(dld_link_la_SOURCES) $(dlopen_la_SOURCES) \ - $(dyld_la_SOURCES) $(libltdl_la_SOURCES) \ - $(libltdlc_la_SOURCES) $(load_add_on_la_SOURCES) \ - $(loadlibrary_la_SOURCES) $(shl_load_la_SOURCES) -DIST_SOURCES = $(dld_link_la_SOURCES) $(dlopen_la_SOURCES) \ - $(dyld_la_SOURCES) $(libltdl_la_SOURCES) \ - $(libltdlc_la_SOURCES) $(load_add_on_la_SOURCES) \ - $(loadlibrary_la_SOURCES) $(shl_load_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__include_HEADERS_DIST = ltdl.h -am__ltdlinclude_HEADERS_DIST = libltdl/lt_system.h libltdl/lt_error.h \ - libltdl/lt_dlloader.h -HEADERS = $(include_HEADERS) $(ltdlinclude_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ - config-h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -AM_RECURSIVE_TARGETS = cscope -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config-h.in \ - $(top_srcdir)/../build-aux/compile \ - $(top_srcdir)/../build-aux/config.guess \ - $(top_srcdir)/../build-aux/config.sub \ - $(top_srcdir)/../build-aux/depcomp \ - $(top_srcdir)/../build-aux/install-sh \ - $(top_srcdir)/../build-aux/ltmain.sh \ - $(top_srcdir)/../build-aux/missing ../build-aux/compile \ - ../build-aux/config.guess ../build-aux/config.sub \ - ../build-aux/depcomp ../build-aux/install-sh \ - ../build-aux/ltmain.sh \ - ../build-aux/missing COPYING.LIB \ - README lt__argz.c lt__dirent.c lt__strl.c -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -# Exists only to be overridden by the user if desired. -AM_DISTCHECK_DVI_TARGET = dvi -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FILECMD = @FILECMD@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBADD_DL = @LIBADD_DL@ -LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ -LIBADD_DLOPEN = @LIBADD_DLOPEN@ -LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTDLOPEN = @LTDLOPEN@ -LTLIBOBJS = @LTLIBOBJS@ -LT_ARGZ_H = @LT_ARGZ_H@ -LT_CONFIG_H = @LT_CONFIG_H@ -LT_DLLOADERS = @LT_DLLOADERS@ -LT_DLPREOPEN = @LT_DLPREOPEN@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sys_symbol_underscore = @sys_symbol_underscore@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -ACLOCAL_AMFLAGS = -I ../m4 -AUTOMAKE_OPTIONS = foreign - -# -I$(srcdir) is needed for user that built libltdl with a sub-Automake -# (not as a sub-package!) using 'nostdinc': -AM_CPPFLAGS = -DLT_CONFIG_H='<$(LT_CONFIG_H)>' -DLTDL -I. -I$(srcdir) \ - -Ilibltdl -I$(srcdir)/libltdl -AM_LDFLAGS = -no-undefined -BUILT_SOURCES = libltdl/$(LT_ARGZ_H) -include_HEADERS = $(am__append_1) -noinst_LTLIBRARIES = $(LT_DLLOADERS) $(am__append_3) -lib_LTLIBRARIES = $(am__append_2) -EXTRA_LTLIBRARIES = dlopen.la dld_link.la dyld.la load_add_on.la \ - loadlibrary.la shl_load.la -EXTRA_DIST = lt__dirent.c lt__strl.c COPYING.LIB README \ - libltdl/lt__argz_.h lt__argz.c -CLEANFILES = libltdl.la libltdlc.la libdlloader.la $(LIBOBJS) \ - $(LTLIBOBJS) -MOSTLYCLEANFILES = libltdl/lt__argz.h libltdl/lt__argz.h-t -LTDL_VERSION_INFO = -version-info 10:2:3 -@INSTALL_LTDL_TRUE@ltdlincludedir = $(includedir)/libltdl -@INSTALL_LTDL_TRUE@ltdlinclude_HEADERS = libltdl/lt_system.h \ -@INSTALL_LTDL_TRUE@ libltdl/lt_error.h \ -@INSTALL_LTDL_TRUE@ libltdl/lt_dlloader.h - -libltdl_la_SOURCES = libltdl/lt__alloc.h \ - libltdl/lt__dirent.h \ - libltdl/lt__glibc.h \ - libltdl/lt__private.h \ - libltdl/lt__strl.h \ - libltdl/lt_dlloader.h \ - libltdl/lt_error.h \ - libltdl/lt_system.h \ - libltdl/slist.h \ - loaders/preopen.c \ - lt__alloc.c \ - lt_dlloader.c \ - lt_error.c \ - ltdl.c \ - ltdl.h \ - slist.c - -libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS) -libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN) -libltdl_la_LIBADD = $(LTLIBOBJS) -libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS) -libltdlc_la_SOURCES = $(libltdl_la_SOURCES) -libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS) -libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN) -libltdlc_la_LIBADD = $(libltdl_la_LIBADD) -libltdlc_la_DEPENDENCIES = $(libltdl_la_DEPENDENCIES) -dlopen_la_SOURCES = loaders/dlopen.c -dlopen_la_LDFLAGS = -module -avoid-version -dlopen_la_LIBADD = $(LIBADD_DLOPEN) -dld_link_la_SOURCES = loaders/dld_link.c -dld_link_la_LDFLAGS = -module -avoid-version -dld_link_la_LIBADD = -ldld -dyld_la_SOURCES = loaders/dyld.c -dyld_la_LDFLAGS = -module -avoid-version -load_add_on_la_SOURCES = loaders/load_add_on.c -load_add_on_la_LDFLAGS = -module -avoid-version -loadlibrary_la_SOURCES = loaders/loadlibrary.c -loadlibrary_la_LDFLAGS = -module -avoid-version -shl_load_la_SOURCES = loaders/shl_load.c -shl_load_la_LDFLAGS = -module -avoid-version -shl_load_la_LIBADD = $(LIBADD_SHL_LOAD) -all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config-h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config-h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -loaders/$(am__dirstamp): - @$(MKDIR_P) loaders - @: > loaders/$(am__dirstamp) -loaders/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) loaders/$(DEPDIR) - @: > loaders/$(DEPDIR)/$(am__dirstamp) -loaders/dld_link.lo: loaders/$(am__dirstamp) \ - loaders/$(DEPDIR)/$(am__dirstamp) - -dld_link.la: $(dld_link_la_OBJECTS) $(dld_link_la_DEPENDENCIES) $(EXTRA_dld_link_la_DEPENDENCIES) - $(AM_V_CCLD)$(dld_link_la_LINK) $(dld_link_la_OBJECTS) $(dld_link_la_LIBADD) $(LIBS) -loaders/dlopen.lo: loaders/$(am__dirstamp) \ - loaders/$(DEPDIR)/$(am__dirstamp) - -dlopen.la: $(dlopen_la_OBJECTS) $(dlopen_la_DEPENDENCIES) $(EXTRA_dlopen_la_DEPENDENCIES) - $(AM_V_CCLD)$(dlopen_la_LINK) $(dlopen_la_OBJECTS) $(dlopen_la_LIBADD) $(LIBS) -loaders/dyld.lo: loaders/$(am__dirstamp) \ - loaders/$(DEPDIR)/$(am__dirstamp) - -dyld.la: $(dyld_la_OBJECTS) $(dyld_la_DEPENDENCIES) $(EXTRA_dyld_la_DEPENDENCIES) - $(AM_V_CCLD)$(dyld_la_LINK) $(dyld_la_OBJECTS) $(dyld_la_LIBADD) $(LIBS) -loaders/libltdl_la-preopen.lo: loaders/$(am__dirstamp) \ - loaders/$(DEPDIR)/$(am__dirstamp) - -libltdl.la: $(libltdl_la_OBJECTS) $(libltdl_la_DEPENDENCIES) $(EXTRA_libltdl_la_DEPENDENCIES) - $(AM_V_CCLD)$(libltdl_la_LINK) $(am_libltdl_la_rpath) $(libltdl_la_OBJECTS) $(libltdl_la_LIBADD) $(LIBS) -loaders/libltdlc_la-preopen.lo: loaders/$(am__dirstamp) \ - loaders/$(DEPDIR)/$(am__dirstamp) - -libltdlc.la: $(libltdlc_la_OBJECTS) $(libltdlc_la_DEPENDENCIES) $(EXTRA_libltdlc_la_DEPENDENCIES) - $(AM_V_CCLD)$(libltdlc_la_LINK) $(am_libltdlc_la_rpath) $(libltdlc_la_OBJECTS) $(libltdlc_la_LIBADD) $(LIBS) -loaders/load_add_on.lo: loaders/$(am__dirstamp) \ - loaders/$(DEPDIR)/$(am__dirstamp) - -load_add_on.la: $(load_add_on_la_OBJECTS) $(load_add_on_la_DEPENDENCIES) $(EXTRA_load_add_on_la_DEPENDENCIES) - $(AM_V_CCLD)$(load_add_on_la_LINK) $(load_add_on_la_OBJECTS) $(load_add_on_la_LIBADD) $(LIBS) -loaders/loadlibrary.lo: loaders/$(am__dirstamp) \ - loaders/$(DEPDIR)/$(am__dirstamp) - -loadlibrary.la: $(loadlibrary_la_OBJECTS) $(loadlibrary_la_DEPENDENCIES) $(EXTRA_loadlibrary_la_DEPENDENCIES) - $(AM_V_CCLD)$(loadlibrary_la_LINK) $(loadlibrary_la_OBJECTS) $(loadlibrary_la_LIBADD) $(LIBS) -loaders/shl_load.lo: loaders/$(am__dirstamp) \ - loaders/$(DEPDIR)/$(am__dirstamp) - -shl_load.la: $(shl_load_la_OBJECTS) $(shl_load_la_DEPENDENCIES) $(EXTRA_shl_load_la_DEPENDENCIES) - $(AM_V_CCLD)$(shl_load_la_LINK) $(shl_load_la_OBJECTS) $(shl_load_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f loaders/*.$(OBJEXT) - -rm -f loaders/*.lo - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__argz.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__dirent.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lt__strl.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-lt__alloc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-lt_dlloader.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-lt_error.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-ltdl.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdl_la-slist.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-lt__alloc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-lt_dlloader.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-lt_error.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-ltdl.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libltdlc_la-slist.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/dld_link.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/dlopen.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/dyld.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/libltdl_la-preopen.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/libltdlc_la-preopen.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/load_add_on.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/loadlibrary.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@loaders/$(DEPDIR)/shl_load.Plo@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -loaders/libltdl_la-preopen.lo: loaders/preopen.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loaders/libltdl_la-preopen.lo -MD -MP -MF loaders/$(DEPDIR)/libltdl_la-preopen.Tpo -c -o loaders/libltdl_la-preopen.lo `test -f 'loaders/preopen.c' || echo '$(srcdir)/'`loaders/preopen.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) loaders/$(DEPDIR)/libltdl_la-preopen.Tpo loaders/$(DEPDIR)/libltdl_la-preopen.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='loaders/preopen.c' object='loaders/libltdl_la-preopen.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loaders/libltdl_la-preopen.lo `test -f 'loaders/preopen.c' || echo '$(srcdir)/'`loaders/preopen.c - -libltdl_la-lt__alloc.lo: lt__alloc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-lt__alloc.lo -MD -MP -MF $(DEPDIR)/libltdl_la-lt__alloc.Tpo -c -o libltdl_la-lt__alloc.lo `test -f 'lt__alloc.c' || echo '$(srcdir)/'`lt__alloc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-lt__alloc.Tpo $(DEPDIR)/libltdl_la-lt__alloc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt__alloc.c' object='libltdl_la-lt__alloc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-lt__alloc.lo `test -f 'lt__alloc.c' || echo '$(srcdir)/'`lt__alloc.c - -libltdl_la-lt_dlloader.lo: lt_dlloader.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-lt_dlloader.lo -MD -MP -MF $(DEPDIR)/libltdl_la-lt_dlloader.Tpo -c -o libltdl_la-lt_dlloader.lo `test -f 'lt_dlloader.c' || echo '$(srcdir)/'`lt_dlloader.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-lt_dlloader.Tpo $(DEPDIR)/libltdl_la-lt_dlloader.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt_dlloader.c' object='libltdl_la-lt_dlloader.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-lt_dlloader.lo `test -f 'lt_dlloader.c' || echo '$(srcdir)/'`lt_dlloader.c - -libltdl_la-lt_error.lo: lt_error.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-lt_error.lo -MD -MP -MF $(DEPDIR)/libltdl_la-lt_error.Tpo -c -o libltdl_la-lt_error.lo `test -f 'lt_error.c' || echo '$(srcdir)/'`lt_error.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-lt_error.Tpo $(DEPDIR)/libltdl_la-lt_error.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt_error.c' object='libltdl_la-lt_error.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-lt_error.lo `test -f 'lt_error.c' || echo '$(srcdir)/'`lt_error.c - -libltdl_la-ltdl.lo: ltdl.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-ltdl.lo -MD -MP -MF $(DEPDIR)/libltdl_la-ltdl.Tpo -c -o libltdl_la-ltdl.lo `test -f 'ltdl.c' || echo '$(srcdir)/'`ltdl.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-ltdl.Tpo $(DEPDIR)/libltdl_la-ltdl.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ltdl.c' object='libltdl_la-ltdl.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-ltdl.lo `test -f 'ltdl.c' || echo '$(srcdir)/'`ltdl.c - -libltdl_la-slist.lo: slist.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdl_la-slist.lo -MD -MP -MF $(DEPDIR)/libltdl_la-slist.Tpo -c -o libltdl_la-slist.lo `test -f 'slist.c' || echo '$(srcdir)/'`slist.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdl_la-slist.Tpo $(DEPDIR)/libltdl_la-slist.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='slist.c' object='libltdl_la-slist.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdl_la-slist.lo `test -f 'slist.c' || echo '$(srcdir)/'`slist.c - -loaders/libltdlc_la-preopen.lo: loaders/preopen.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loaders/libltdlc_la-preopen.lo -MD -MP -MF loaders/$(DEPDIR)/libltdlc_la-preopen.Tpo -c -o loaders/libltdlc_la-preopen.lo `test -f 'loaders/preopen.c' || echo '$(srcdir)/'`loaders/preopen.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) loaders/$(DEPDIR)/libltdlc_la-preopen.Tpo loaders/$(DEPDIR)/libltdlc_la-preopen.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='loaders/preopen.c' object='loaders/libltdlc_la-preopen.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loaders/libltdlc_la-preopen.lo `test -f 'loaders/preopen.c' || echo '$(srcdir)/'`loaders/preopen.c - -libltdlc_la-lt__alloc.lo: lt__alloc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-lt__alloc.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-lt__alloc.Tpo -c -o libltdlc_la-lt__alloc.lo `test -f 'lt__alloc.c' || echo '$(srcdir)/'`lt__alloc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-lt__alloc.Tpo $(DEPDIR)/libltdlc_la-lt__alloc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt__alloc.c' object='libltdlc_la-lt__alloc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-lt__alloc.lo `test -f 'lt__alloc.c' || echo '$(srcdir)/'`lt__alloc.c - -libltdlc_la-lt_dlloader.lo: lt_dlloader.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-lt_dlloader.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-lt_dlloader.Tpo -c -o libltdlc_la-lt_dlloader.lo `test -f 'lt_dlloader.c' || echo '$(srcdir)/'`lt_dlloader.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-lt_dlloader.Tpo $(DEPDIR)/libltdlc_la-lt_dlloader.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt_dlloader.c' object='libltdlc_la-lt_dlloader.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-lt_dlloader.lo `test -f 'lt_dlloader.c' || echo '$(srcdir)/'`lt_dlloader.c - -libltdlc_la-lt_error.lo: lt_error.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-lt_error.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-lt_error.Tpo -c -o libltdlc_la-lt_error.lo `test -f 'lt_error.c' || echo '$(srcdir)/'`lt_error.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-lt_error.Tpo $(DEPDIR)/libltdlc_la-lt_error.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lt_error.c' object='libltdlc_la-lt_error.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-lt_error.lo `test -f 'lt_error.c' || echo '$(srcdir)/'`lt_error.c - -libltdlc_la-ltdl.lo: ltdl.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-ltdl.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-ltdl.Tpo -c -o libltdlc_la-ltdl.lo `test -f 'ltdl.c' || echo '$(srcdir)/'`ltdl.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-ltdl.Tpo $(DEPDIR)/libltdlc_la-ltdl.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ltdl.c' object='libltdlc_la-ltdl.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-ltdl.lo `test -f 'ltdl.c' || echo '$(srcdir)/'`ltdl.c - -libltdlc_la-slist.lo: slist.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libltdlc_la-slist.lo -MD -MP -MF $(DEPDIR)/libltdlc_la-slist.Tpo -c -o libltdlc_la-slist.lo `test -f 'slist.c' || echo '$(srcdir)/'`slist.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libltdlc_la-slist.Tpo $(DEPDIR)/libltdlc_la-slist.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='slist.c' object='libltdlc_la-slist.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libltdlc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libltdlc_la-slist.lo `test -f 'slist.c' || echo '$(srcdir)/'`slist.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf loaders/.libs loaders/_libs - -distclean-libtool: - -rm -f libtool config.lt -install-includeHEADERS: $(include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ - done - -uninstall-includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) -install-ltdlincludeHEADERS: $(ltdlinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(ltdlincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(ltdlincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(ltdlincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(ltdlincludedir)" || exit $$?; \ - done - -uninstall-ltdlincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(ltdlinclude_HEADERS)'; test -n "$(ltdlincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(ltdlincludedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-zstd: distdir - tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - *.tar.zst*) \ - zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f loaders/$(DEPDIR)/$(am__dirstamp) - -rm -f loaders/$(am__dirstamp) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f $(DEPDIR)/lt__argz.Plo - -rm -f $(DEPDIR)/lt__dirent.Plo - -rm -f $(DEPDIR)/lt__strl.Plo - -rm -f ./$(DEPDIR)/libltdl_la-lt__alloc.Plo - -rm -f ./$(DEPDIR)/libltdl_la-lt_dlloader.Plo - -rm -f ./$(DEPDIR)/libltdl_la-lt_error.Plo - -rm -f ./$(DEPDIR)/libltdl_la-ltdl.Plo - -rm -f ./$(DEPDIR)/libltdl_la-slist.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-lt__alloc.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-lt_dlloader.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-lt_error.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-ltdl.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-slist.Plo - -rm -f loaders/$(DEPDIR)/dld_link.Plo - -rm -f loaders/$(DEPDIR)/dlopen.Plo - -rm -f loaders/$(DEPDIR)/dyld.Plo - -rm -f loaders/$(DEPDIR)/libltdl_la-preopen.Plo - -rm -f loaders/$(DEPDIR)/libltdlc_la-preopen.Plo - -rm -f loaders/$(DEPDIR)/load_add_on.Plo - -rm -f loaders/$(DEPDIR)/loadlibrary.Plo - -rm -f loaders/$(DEPDIR)/shl_load.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-includeHEADERS install-ltdlincludeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f $(DEPDIR)/lt__argz.Plo - -rm -f $(DEPDIR)/lt__dirent.Plo - -rm -f $(DEPDIR)/lt__strl.Plo - -rm -f ./$(DEPDIR)/libltdl_la-lt__alloc.Plo - -rm -f ./$(DEPDIR)/libltdl_la-lt_dlloader.Plo - -rm -f ./$(DEPDIR)/libltdl_la-lt_error.Plo - -rm -f ./$(DEPDIR)/libltdl_la-ltdl.Plo - -rm -f ./$(DEPDIR)/libltdl_la-slist.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-lt__alloc.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-lt_dlloader.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-lt_error.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-ltdl.Plo - -rm -f ./$(DEPDIR)/libltdlc_la-slist.Plo - -rm -f loaders/$(DEPDIR)/dld_link.Plo - -rm -f loaders/$(DEPDIR)/dlopen.Plo - -rm -f loaders/$(DEPDIR)/dyld.Plo - -rm -f loaders/$(DEPDIR)/libltdl_la-preopen.Plo - -rm -f loaders/$(DEPDIR)/libltdlc_la-preopen.Plo - -rm -f loaders/$(DEPDIR)/load_add_on.Plo - -rm -f loaders/$(DEPDIR)/loadlibrary.Plo - -rm -f loaders/$(DEPDIR)/shl_load.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \ - uninstall-ltdlincludeHEADERS - -.MAKE: all check install install-am install-exec install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles am--refresh check \ - check-am clean clean-cscope clean-generic clean-libLTLIBRARIES \ - clean-libtool clean-noinstLTLIBRARIES cscope cscopelist-am \ - ctags ctags-am dist dist-all dist-bzip2 dist-gzip dist-lzip \ - dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \ - distclean distclean-compile distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-includeHEADERS install-info \ - install-info-am install-libLTLIBRARIES \ - install-ltdlincludeHEADERS install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-includeHEADERS \ - uninstall-libLTLIBRARIES uninstall-ltdlincludeHEADERS - -.PRECIOUS: Makefile - - -# We need the following in order to create an when the system -# doesn't have one that works with the given compiler. -all-local $(lib_OBJECTS): $(LT_ARGZ_H) -libltdl/lt__argz.h: libltdl/lt__argz_.h - $(AM_V_at)$(mkinstalldirs) . libltdl - $(AM_V_GEN)cp $(srcdir)/libltdl/lt__argz_.h $@-t - $(AM_V_at)mv $@-t $@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/BUILD/libtool-2.4.7/libltdl/README b/BUILD/libtool-2.4.7/libltdl/README deleted file mode 100644 index fd80bbd..0000000 --- a/BUILD/libtool-2.4.7/libltdl/README +++ /dev/null @@ -1,21 +0,0 @@ -This is GNU libltdl, a system independent dlopen wrapper for GNU libtool. - -It supports the following dlopen interfaces: -* dlopen (POSIX) -* shl_load (HP-UX) -* LoadLibrary (Win16 and Win32) -* load_add_on (BeOS) -* GNU DLD (emulates dynamic linking for static libraries) -* dyld (darwin/Mac OS X) -* libtool's dlpreopen --- - Copyright (C) 1999, 2003, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Thomas Tanner, 1999 - - This file is part of GNU Libtool. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. diff --git a/BUILD/libtool-2.4.7/libltdl/aclocal.m4 b/BUILD/libtool-2.4.7/libltdl/aclocal.m4 deleted file mode 100644 index 284199b..0000000 --- a/BUILD/libtool-2.4.7/libltdl/aclocal.m4 +++ /dev/null @@ -1,1139 +0,0 @@ -# generated automatically by aclocal 1.16.3 -*- Autoconf -*- - -# Copyright (C) 1996-2020 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# Copyright (C) 2002-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.16' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.3], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.3])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - AS_CASE([$CONFIG_FILES], - [*\'*], [eval set x "$CONFIG_FILES"], - [*], [set x $CONFIG_FILES]) - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`AS_DIRNAME(["$am_mf"])` - am_filepart=`AS_BASENAME(["$am_mf"])` - AM_RUN_LOG([cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles]) || am_rc=$? - done - if test $am_rc -ne 0; then - AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE="gmake" (or whatever is - necessary). You can also try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking).]) - fi - AS_UNSET([am_dirpart]) - AS_UNSET([am_filepart]) - AS_UNSET([am_mf]) - AS_UNSET([am_rc]) - rm -f conftest-deps.mk -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking is enabled. -# This creates each '.Po' and '.Plo' makefile fragment that we'll need in -# order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAKE_INCLUDE() -# ----------------- -# Check whether make has an 'include' directive that can support all -# the idioms we need for our automatic dependency tracking code. -AC_DEFUN([AM_MAKE_INCLUDE], -[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) - AS_CASE([$?:`cat confinc.out 2>/dev/null`], - ['0:this is the am__doit target'], - [AS_CASE([$s], - [BSD], [am__include='.include' am__quote='"'], - [am__include='include' am__quote=''])]) - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -AC_MSG_RESULT([${_am_result}]) -AC_SUBST([am__include])]) -AC_SUBST([am__quote])]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - MISSING="\${SHELL} '$am_aux_dir/missing'" -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2020 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([../m4/libtool.m4]) -m4_include([../m4/ltargz.m4]) -m4_include([../m4/ltdl.m4]) -m4_include([../m4/ltoptions.m4]) -m4_include([../m4/ltsugar.m4]) -m4_include([../m4/ltversion.m4]) -m4_include([../m4/lt~obsolete.m4]) diff --git a/BUILD/libtool-2.4.7/libltdl/config-h.in b/BUILD/libtool-2.4.7/libltdl/config-h.in deleted file mode 100644 index 3061cbe..0000000 --- a/BUILD/libtool-2.4.7/libltdl/config-h.in +++ /dev/null @@ -1,180 +0,0 @@ -/* config-h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the `argz_add' function. */ -#undef HAVE_ARGZ_ADD - -/* Define to 1 if you have the `argz_append' function. */ -#undef HAVE_ARGZ_APPEND - -/* Define to 1 if you have the `argz_count' function. */ -#undef HAVE_ARGZ_COUNT - -/* Define to 1 if you have the `argz_create_sep' function. */ -#undef HAVE_ARGZ_CREATE_SEP - -/* Define to 1 if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define to 1 if you have the `argz_insert' function. */ -#undef HAVE_ARGZ_INSERT - -/* Define to 1 if you have the `argz_next' function. */ -#undef HAVE_ARGZ_NEXT - -/* Define to 1 if you have the `argz_stringify' function. */ -#undef HAVE_ARGZ_STRINGIFY - -/* Define to 1 if you have the `closedir' function. */ -#undef HAVE_CLOSEDIR - -/* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if - you don't. */ -#undef HAVE_DECL_CYGWIN_CONV_PATH - -/* Define to 1 if you have the header file. */ -#undef HAVE_DIRENT_H - -/* Define if you have the GNU dld library. */ -#undef HAVE_DLD - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLD_H - -/* Define to 1 if you have the `dlerror' function. */ -#undef HAVE_DLERROR - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_DL_H - -/* Define if you have the _dyld_func_lookup function. */ -#undef HAVE_DYLD - -/* Define to 1 if the system has the type `error_t'. */ -#undef HAVE_ERROR_T - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define if you have the libdl library or equivalent. */ -#undef HAVE_LIBDL - -/* Define if libdlloader will be built on this platform */ -#undef HAVE_LIBDLLOADER - -/* Define to 1 if you have the header file. */ -#undef HAVE_MACH_O_DYLD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `opendir' function. */ -#undef HAVE_OPENDIR - -/* Define if libtool can extract symbol lists from object files. */ -#undef HAVE_PRELOADED_SYMBOLS - -/* Define to 1 if you have the `readdir' function. */ -#undef HAVE_READDIR - -/* Define if you have the shl_load function. */ -#undef HAVE_SHL_LOAD - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strlcat' function. */ -#undef HAVE_STRLCAT - -/* Define to 1 if you have the `strlcpy' function. */ -#undef HAVE_STRLCPY - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_DL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* This value is set to 1 to indicate that the system argz facility works */ -#undef HAVE_WORKING_ARGZ - -/* Define if the OS needs help to load dependent libraries for dlopen(). */ -#undef LTDL_DLOPEN_DEPLIBS - -/* Define to the system default library search path. */ -#undef LT_DLSEARCH_PATH - -/* The archive extension */ -#undef LT_LIBEXT - -/* The archive prefix */ -#undef LT_LIBPREFIX - -/* Define to the extension used for runtime loadable modules, say, ".so". */ -#undef LT_MODULE_EXT - -/* Define to the name of the environment variable that determines the run-time - module search path. */ -#undef LT_MODULE_PATH_VAR - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#undef LT_OBJDIR - -/* Define to the shared library suffix, say, ".dylib". */ -#undef LT_SHARED_EXT - -/* Define to the shared archive member specification, say "(shr.o)". */ -#undef LT_SHARED_LIB_MEMBER - -/* Define if dlsym() requires a leading underscore in symbol names. */ -#undef NEED_USCORE - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Version number of package */ -#undef VERSION - -/* Define so that glibc/gnulib argp.h does not typedef error_t. */ -#undef __error_t_defined - -/* Define to a type to use for 'error_t' if it is not otherwise available. */ -#undef error_t diff --git a/BUILD/libtool-2.4.7/libltdl/configure b/BUILD/libtool-2.4.7/libltdl/configure deleted file mode 100755 index 625c6a3..0000000 --- a/BUILD/libtool-2.4.7/libltdl/configure +++ /dev/null @@ -1,15659 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libltdl 2.4.3a. -# -# Report bugs to . -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: bug-libtool@gnu.org about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='libltdl' -PACKAGE_TARNAME='libltdl' -PACKAGE_VERSION='2.4.3a' -PACKAGE_STRING='libltdl 2.4.3a' -PACKAGE_BUGREPORT='bug-libtool@gnu.org' -PACKAGE_URL='' - -ac_unique_file="ltdl.c" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LTDLOPEN -LT_CONFIG_H -CONVENIENCE_LTDL_FALSE -CONVENIENCE_LTDL_TRUE -INSTALL_LTDL_FALSE -INSTALL_LTDL_TRUE -LT_ARGZ_H -LIBOBJS -sys_symbol_underscore -LIBADD_DL -LT_DLPREOPEN -LIBADD_DLD_LINK -LIBADD_SHL_LOAD -LIBADD_DLOPEN -LT_DLLOADERS -CPP -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -ac_ct_AR -AR -FILECMD -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -EGREP -GREP -SED -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -OBJDUMP -DLLTOOL -AS -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL -am__quote' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -enable_dependency_tracking -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_ltdl_install -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -LT_SYS_LIBRARY_PATH -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures libltdl 2.4.3a to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/libltdl] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of libltdl 2.4.3a:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-ltdl-install install libltdl - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, [default=aix]. - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot[=DIR] Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -libltdl configure 2.4.3a -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by libltdl $as_me 2.4.3a, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_config_headers="$ac_config_headers config.h:config-h.in" - - -ac_aux_dir= -for ac_dir in ../build-aux "$srcdir"/../build-aux; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../build-aux \"$srcdir\"/../build-aux" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - - - - - - # I am me! - - -## ------------------------ ## -## Automake Initialisation. ## -## ------------------------ ## - -am__api_version='1.16' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` - -if test x"${MISSING+set}" != xset; then - MISSING="\${SHELL} '$am_aux_dir/missing'" -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='libltdl' - VERSION='2.4.3a' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - - -## ------------------------------- ## -## Libtool specific configuration. ## -## ------------------------------- ## -pkgdatadir='$datadir'"/$PACKAGE" - - -## ----------------------- ## -## Libtool initialisation. ## -## ----------------------- ## -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.7' -macro_revision='2.4.7' - - - - - - - - - - - - - -ltmain=$ac_aux_dir/ltmain.sh - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 - (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - case $?:`cat confinc.out 2>/dev/null` in #( - '0:this is the am__doit target') : - case $s in #( - BSD) : - am__include='.include' am__quote='"' ;; #( - *) : - am__include='include' am__quote='' ;; -esac ;; #( - *) : - ;; -esac - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test yes != "$GCC"; then - reload_cmds=false - fi - ;; - darwin*) - if test yes = "$GCC"; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. -set dummy ${ac_tool_prefix}file; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FILECMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$FILECMD"; then - ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_FILECMD="${ac_tool_prefix}file" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FILECMD=$ac_cv_prog_FILECMD -if test -n "$FILECMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 -$as_echo "$FILECMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_FILECMD"; then - ac_ct_FILECMD=$FILECMD - # Extract the first word of "file", so it can be a program name with args. -set dummy file; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FILECMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_FILECMD"; then - ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FILECMD="file" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD -if test -n "$ac_ct_FILECMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 -$as_echo "$ac_ct_FILECMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_FILECMD" = x; then - FILECMD=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FILECMD=$ac_ct_FILECMD - fi -else - FILECMD="$ac_cv_prog_FILECMD" -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='$FILECMD -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly* | midnightbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=$FILECMD - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - 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]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - 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]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} - - - - - - -# Use ARFLAGS variable as AR's operation code to sync the variable naming with -# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -# higher priority because thats what people were doing historically (setting -# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -# variable obsoleted/removed. - -test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} -lt_ar_flags=$AR_FLAGS - - - - - - -# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -# by AR_FLAGS because that was never working and AR_FLAGS is about to die. - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++ or ICC, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -if test -z "$lt_DD"; then - ac_path_lt_DD_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_lt_DD" || continue -if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi - $ac_path_lt_DD_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_lt_DD"; then - : - fi -else - ac_cv_path_lt_DD=$lt_DD -fi - -rm -f conftest.i conftest2.i conftest.out -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else - printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } - - - - - - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - emul=elf - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `$FILECMD conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `$FILECMD conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 - $AR $AR_FLAGS libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) - case $MACOSX_DEPLOYMENT_TARGET,$host in - 10.[012],*|,*powerpc*-darwin[5-8]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - *) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options -enable_dlopen=yes -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - pic_mode=default -fi - - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[5-9]*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } - -# Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : - withval=$with_aix_soname; case $withval in - aix|svr4|both) - ;; - *) - as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_with_aix_soname=aix -fi - - with_aix_soname=$lt_cv_with_aix_soname -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC and -# ICC, which need '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -func_cc_basename $compiler -cc_basename=$func_cc_basename_result - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/${ac_tool_prefix}file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/file"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac -fi - -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC=$CC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test yes = "$GCC"; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - lt_prog_compiler_pic='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - case $host_os in - os2*) - lt_prog_compiler_static='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_pic_works"; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test yes = "$lt_cv_prog_compiler_static_works"; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links=nottested -if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - export_dynamic_flag_spec='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$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)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='$wl--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - file_list_spec='@' - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='$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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='$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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='$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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='$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' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='$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' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - export_dynamic_flag_spec='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test no = "$ld_shlibs"; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$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' - else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - hardcode_direct=no - hardcode_direct_absolute=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - export_dynamic_flag_spec='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$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 - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=/usr/lib:/lib - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' $wl-bernotok' - allow_undefined_flag=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="$archive_expsym_cmds"'~$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' - fi - if test aix != "$with_aix_soname"; then - archive_expsym_cmds="$archive_expsym_cmds"'~$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' - else - # used by -dlpreopen to get the symbols - archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$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)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test yes = "$lt_cv_ld_force_load"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="$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" - module_expsym_cmds="$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" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test yes = "$GCC"; then - archive_cmds='$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' - else - archive_cmds='$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' - fi - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test yes = "$lt_cv_prog_compiler__b"; then - archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test no = "$with_gnu_ld"; then - hardcode_libdir_flag_spec='$wl+b $wl$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - archive_cmds='$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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test yes = "$lt_cv_irix_exported_symbol"; then - archive_expsym_cmds='$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' - fi - else - archive_cmds='$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' - archive_expsym_cmds='$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' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - ld_shlibs=yes - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - export_dynamic_flag_spec='$wl-E' - else - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='$wl-rpath,$libdir' - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - shrext_cmds=.dll - archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - enable_shared_with_static_runtimes=yes - file_list_spec='@' - ;; - - osf3*) - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$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' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$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' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - allow_undefined_flag=' $wl-expect_unresolved $wl\*' - archive_cmds='$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' - hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$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' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $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' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='$wl-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='$wl-z,text' - allow_undefined_flag='$wl-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='$wl-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='$wl-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test no = "$ld_shlibs" && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([A-Za-z]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - - - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a(lib.so.V)' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - hardcode_libdir_flag_spec='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test yes = "$hardcode_automatic"; then - - # We can hardcode non-existent directories. - if test no != "$hardcode_direct" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && - test no != "$hardcode_minus_L"; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test relink = "$hardcode_action" || - test yes = "$inherit_rpath"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test yes = "$cross_compiling"; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -z "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -else - if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - case $host_os in - darwin*) - # FIXME - insert some real tests, host_os isn't really good enough - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ;; - freebsd*) - if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac - fi -fi - - - - - - - - - - - - - # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 -$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } -if ${libltdl_cv_shlibext+:} false; then : - $as_echo_n "(cached) " >&6 -else - -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_shlibext" >&5 -$as_echo "$libltdl_cv_shlibext" >&6; } -if test -n "$libltdl_cv_shlibext"; then - -cat >>confdefs.h <<_ACEOF -#define LT_MODULE_EXT "$libltdl_cv_shlibext" -_ACEOF - -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - -cat >>confdefs.h <<_ACEOF -#define LT_SHARED_EXT "$libltdl_cv_shrext" -_ACEOF - -fi -if test -n "$shared_archive_member_spec"; then - -cat >>confdefs.h <<_ACEOF -#define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 -$as_echo_n "checking what variable specifies run-time module search path... " >&6; } -if ${lt_cv_module_path_var+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_module_path_var=$shlibpath_var -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 -$as_echo "$lt_cv_module_path_var" >&6; } -if test -n "$lt_cv_module_path_var"; then - -cat >>confdefs.h <<_ACEOF -#define LT_MODULE_PATH_VAR "$lt_cv_module_path_var" -_ACEOF - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the default library search path" >&5 -$as_echo_n "checking for the default library search path... " >&6; } -if ${lt_cv_sys_dlsearch_path+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 -$as_echo "$lt_cv_sys_dlsearch_path" >&6; } -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path=$dir - else - sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir - fi - done - -cat >>confdefs.h <<_ACEOF -#define LT_DLSEARCH_PATH "$sys_dlsearch_path" -_ACEOF - -fi - - -LT_DLLOADERS= - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -lt_dlload_save_LIBS=$LIBS - -LIBADD_DLOPEN= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 -$as_echo_n "checking for library containing dlopen... " >&6; } -if ${ac_cv_search_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dl; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_dlopen=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_dlopen+:} false; then : - break -fi -done -if ${ac_cv_search_dlopen+:} false; then : - -else - ac_cv_search_dlopen=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 -$as_echo "$ac_cv_search_dlopen" >&6; } -ac_res=$ac_cv_search_dlopen -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -$as_echo "#define HAVE_LIBDL 1" >>confdefs.h - - if test "$ac_cv_search_dlopen" != "none required"; then - LIBADD_DLOPEN=-ldl - fi - libltdl_cv_lib_dl_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_DLFCN_H -# include -#endif - -int -main () -{ -dlopen(0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "#define HAVE_LIBDL 1" >>confdefs.h - - libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - -$as_echo "#define HAVE_LIBDL 1" >>confdefs.h - - LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" -fi - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" -then - lt_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - for ac_func in dlerror -do : - ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" -if test "x$ac_cv_func_dlerror" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLERROR 1 -_ACEOF - -fi -done - - LIBS=$lt_save_LIBS -fi - - -LIBADD_SHL_LOAD= -ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - -$as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - -$as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD=-ldld -fi - -fi - - - -case $host_os in -darwin[1567].*) -# We only want this for pre-Mac OS X 10.4. - ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" -if test "x$ac_cv_func__dyld_func_lookup" = xyes; then : - -$as_echo "#define HAVE_DYLD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" -fi - - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | pw32*) - ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include -" -if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl -_ACEOF - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - -$as_echo "#define HAVE_DLD 1" >>confdefs.h - - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" -fi - - - - -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - -$as_echo "#define HAVE_LIBDLLOADER 1" >>confdefs.h - -fi - - -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" - - -LIBS=$lt_dlload_save_LIBS -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5 -$as_echo_n "checking for _ prefix in compiled symbols... " >&6; } -if ${lt_cv_sys_symbol_underscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&5 - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "configure: failed program was:" >&5 - cat conftest.c >&5 - fi - rm -rf conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5 -$as_echo "$lt_cv_sys_symbol_underscore" >&6; } - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - - -if test yes = "$lt_cv_sys_symbol_underscore"; then - if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 -$as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } -if ${libltdl_cv_need_uscore+:} false; then : - $as_echo_n "(cached) " >&6 -else - libltdl_cv_need_uscore=unknown - dlsym_uscore_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - libname=conftmod # stay within 8.3 filename limits! - cat >$libname.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; } -_LT_EOF - - # ltfn_module_cmds module_cmds - # Execute tilde-delimited MODULE_CMDS with environment primed for - # $module_cmds or $archive_cmds type content. - ltfn_module_cmds () - {( # subshell avoids polluting parent global environment - module_cmds_save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$module_cmds_save_ifs - libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext - rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. - major=; versuffix=; verstring=; deplibs= - ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= - eval $cmd - done - IFS=$module_cmds_save_ifs - )} - - # Compile a loadable module using libtool macro expansion results. - $CC $pic_flag -c $libname.$ac_ext - ltfn_module_cmds "${module_cmds:-$archive_cmds}" - - # Try to fetch fnord with dlsym(). - libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 - cat >conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifndef RTLD_GLOBAL -# ifdef DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# else -# define RTLD_GLOBAL 0 -# endif -#endif -#ifndef RTLD_NOW -# ifdef DL_NOW -# define RTLD_NOW DL_NOW -# else -# define RTLD_NOW 0 -# endif -#endif -int main () { - void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); - int status = $libltdl_dlunknown; - if (handle) { - if (dlsym (handle, "fnord")) - status = $libltdl_dlnouscore; - else { - if (dlsym (handle, "_fnord")) - status = $libltdl_dluscore; - else - puts (dlerror ()); - } - dlclose (handle); - } else - puts (dlerror ()); - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - libltdl_status=$? - case x$libltdl_status in - x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; - x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; - x*) libltdl_cv_need_uscore=unknown ;; - esac - fi - rm -rf conftest* $libname* - LIBS=$dlsym_uscore_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 -$as_echo "$libltdl_cv_need_uscore" >&6; } - fi -fi - -if test yes = "$libltdl_cv_need_uscore"; then - -$as_echo "#define NEED_USCORE 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether deplibs are loaded by dlopen" >&5 -$as_echo_n "checking whether deplibs are loaded by dlopen... " >&6; } -if ${lt_cv_sys_dlopen_deplibs+:} false; then : - $as_echo_n "(cached) " >&6 -else - # PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this 'case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[4-9]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly* | midnightbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[12345]*|irix6.[01]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[1234]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say 'no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to 'yes'. Without it, it would be 'no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say 'yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 -$as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } -if test yes != "$lt_cv_sys_dlopen_deplibs"; then - -$as_echo "#define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h - -fi - - -for ac_header in argz.h -do : - ac_fn_c_check_header_compile "$LINENO" "argz.h" "ac_cv_header_argz_h" "$ac_includes_default -" -if test "x$ac_cv_header_argz_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ARGZ_H 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if defined(HAVE_ARGZ_H) -# include -#endif -" -if test "x$ac_cv_type_error_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_ERROR_T 1 -_ACEOF - - -else - -$as_echo "#define error_t int" >>confdefs.h - - -$as_echo "#define __error_t_defined 1" >>confdefs.h - -fi - - -LT_ARGZ_H= -for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - LT_ARGZ_H=lt__argz.h; case " $LIBOBJS " in - *" lt__argz.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext" - ;; -esac - -fi -done - - -if test -z "$LT_ARGZ_H"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 -$as_echo_n "checking if argz actually works... " >&6; } -if ${lt_cv_sys_argz_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test no != "$cross_compiling"; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test 1 -lt "$lt_os_major" \ - || { test 1 -eq "$lt_os_major" \ - && { test 5 -lt "$lt_os_minor" \ - || { test 5 -eq "$lt_os_minor" \ - && test 24 -lt "$lt_os_micro"; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 -$as_echo "$lt_cv_sys_argz_works" >&6; } - if test yes = "$lt_cv_sys_argz_works"; then : - -$as_echo "#define HAVE_WORKING_ARGZ 1" >>confdefs.h - -else - LT_ARGZ_H=lt__argz.h - case " $LIBOBJS " in - *" lt__argz.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lt__argz.$ac_objext" - ;; -esac - -fi -fi - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libtool supports -dlopen/-dlpreopen" >&5 -$as_echo_n "checking whether libtool supports -dlopen/-dlpreopen... " >&6; } -if ${libltdl_cv_preloaded_symbols+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$lt_cv_sys_global_symbol_pipe"; then - libltdl_cv_preloaded_symbols=yes - else - libltdl_cv_preloaded_symbols=no - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 -$as_echo "$libltdl_cv_preloaded_symbols" >&6; } -if test yes = "$libltdl_cv_preloaded_symbols"; then - -$as_echo "#define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h - -fi - - - -# Check whether --enable-ltdl-install was given. -if test "${enable_ltdl_install+set}" = set; then : - enableval=$enable_ltdl_install; -fi - - -case ,$enable_ltdl_install,$enable_ltdl_convenience in - *yes*) ;; - *) enable_ltdl_convenience=yes ;; -esac - - if test no != "${enable_ltdl_install-no}"; then - INSTALL_LTDL_TRUE= - INSTALL_LTDL_FALSE='#' -else - INSTALL_LTDL_TRUE='#' - INSTALL_LTDL_FALSE= -fi - - if test no != "${enable_ltdl_convenience-no}"; then - CONVENIENCE_LTDL_TRUE= - CONVENIENCE_LTDL_FALSE='#' -else - CONVENIENCE_LTDL_TRUE='#' - CONVENIENCE_LTDL_FALSE= -fi - - - - - - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). - - - -for ac_header in unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_func in closedir opendir readdir -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIBOBJS " in - *" lt__dirent.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lt__dirent.$ac_objext" - ;; -esac - -fi -done - -for ac_func in strlcat strlcpy -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIBOBJS " in - *" lt__strl.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS lt__strl.$ac_objext" - ;; -esac - -fi -done - - - -cat >>confdefs.h <<_ACEOF -#define LT_LIBEXT "$libext" -_ACEOF - - -name= -eval "lt_libprefix=\"$libname_spec\"" - -cat >>confdefs.h <<_ACEOF -#define LT_LIBPREFIX "$lt_libprefix" -_ACEOF - - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" - - - - -## -------- ## -## Outputs. ## -## -------- ## -ac_config_files="$ac_config_files Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then - as_fn_error $? "conditional \"INSTALL_LTDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then - as_fn_error $? "conditional \"CONVENIENCE_LTDL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -LT_CONFIG_H=config.h - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by libltdl $as_me 2.4.3a, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -libltdl config.status 2.4.3a -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' -configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -FILECMD \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -sharedlib_from_linklib_cmd \ -AR \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_import \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -lt_cv_nm_interface \ -nm_file_list_spec \ -lt_cv_truncate_bin \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -configure_time_dlsearch_path \ -configure_time_lt_sys_library_path; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile' - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config-h.in" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - case $CONFIG_FILES in #( - *\'*) : - eval set x "$CONFIG_FILES" ;; #( - *) : - set x $CONFIG_FILES ;; #( - *) : - ;; -esac - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE=\"gmake\" (or whatever is - necessary). You can also try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Assembler program. -AS=$lt_AS - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Object dumper program. -OBJDUMP=$lt_OBJDUMP - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# A file(cmd) program that detects file types. -FILECMD=$lt_FILECMD - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive (by configure). -lt_ar_flags=$lt_ar_flags - -# Flags to create an archive. -AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - $SED '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/BUILD/libtool-2.4.7/libltdl/configure.ac b/BUILD/libtool-2.4.7/libltdl/configure.ac deleted file mode 100644 index bb519d9..0000000 --- a/BUILD/libtool-2.4.7/libltdl/configure.ac +++ /dev/null @@ -1,76 +0,0 @@ -# Process this file with autoconf to create configure. -*- autoconf -*- -# -# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free -# Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# NOTE: The canonical source of this file is maintained with the -# GNU Libtool package. Report bugs to bug-libtool@gnu.org. -# -# GNU Libltdl is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# As a special exception to the GNU Lesser General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libltdl is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU LesserGeneral Public -# License along with GNU Libltdl; see the file COPYING.LIB. If not, a -# copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# This configure.ac is not used at all by the libtool bootstrap, but -# is copied to the ltdl subdirectory if you libtoolize --ltdl your own -# project. Adding LT_WITH_LTDL to your project configure.ac will then -# configure this directory if your user doesn't want to use the installed -# libltdl. - -AC_PREREQ(2.59)dnl We use AS_HELP_STRING - - -## ------------------------ ## -## Autoconf initialisation. ## -## ------------------------ ## -AC_INIT([libltdl], [2.4.3a], [bug-libtool@gnu.org]) -AC_CONFIG_HEADERS([config.h:config-h.in]) -AC_CONFIG_SRCDIR([ltdl.c]) -AC_CONFIG_AUX_DIR([../build-aux]) -LT_CONFIG_LTDL_DIR([.]) # I am me! - - -## ------------------------ ## -## Automake Initialisation. ## -## ------------------------ ## - -AM_INIT_AUTOMAKE([gnu subdir-objects]) -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - - -## ------------------------------- ## -## Libtool specific configuration. ## -## ------------------------------- ## -pkgdatadir='$datadir'"/$PACKAGE" - - -## ----------------------- ## -## Libtool initialisation. ## -## ----------------------- ## -LT_INIT([dlopen win32-dll]) -_LTDL_SETUP - - -## -------- ## -## Outputs. ## -## -------- ## -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__alloc.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__alloc.h deleted file mode 100644 index 6a59d49..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__alloc.h +++ /dev/null @@ -1,59 +0,0 @@ -/* lt__alloc.h -- internal memory management interface - - Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, - Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#if !defined LT__ALLOC_H -#define LT__ALLOC_H 1 - -#include "lt_system.h" - -LT_BEGIN_C_DECLS - -#define MALLOC(tp, n) (tp*) lt__malloc((n) * sizeof(tp)) -#define REALLOC(tp, mem, n) (tp*) lt__realloc((mem), (n) * sizeof(tp)) -#define FREE(mem) LT_STMT_START { \ - free (mem); mem = NULL; } LT_STMT_END -#define MEMREASSIGN(p, q) LT_STMT_START { \ - if ((p) != (q)) { free (p); (p) = (q); (q) = 0; } \ - } LT_STMT_END - -/* If set, this function is called when memory allocation has failed. */ -LT_SCOPE void (*lt__alloc_die) (void); - -LT_SCOPE void *lt__malloc (size_t n); -LT_SCOPE void *lt__zalloc (size_t n); -LT_SCOPE void *lt__realloc (void *mem, size_t n); -LT_SCOPE void *lt__memdup (void const *mem, size_t n); - -LT_SCOPE char *lt__strdup (const char *string); - -LT_END_C_DECLS - -#endif /*!defined LT__ALLOC_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__argz_.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__argz_.h deleted file mode 100644 index 40ea81d..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__argz_.h +++ /dev/null @@ -1,69 +0,0 @@ -/* lt__argz.h -- internal argz interface for non-glibc systems - - Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#if !defined LT__ARGZ_H -#define LT__ARGZ_H 1 - -#include -#define __need_error_t -#include -#include - -#if defined LTDL -# include "lt__glibc.h" -# include "lt_system.h" -#else -# define LT_SCOPE -#endif - -#if defined __cplusplus -extern "C" { -#endif - -LT_SCOPE error_t argz_append (char **pargz, size_t *pargz_len, - const char *buf, size_t buf_len); -LT_SCOPE error_t argz_create_sep(const char *str, int delim, - char **pargz, size_t *pargz_len); -LT_SCOPE error_t argz_insert (char **pargz, size_t *pargz_len, - char *before, const char *entry); -LT_SCOPE char * argz_next (char *argz, size_t argz_len, - const char *entry); -LT_SCOPE void argz_stringify (char *argz, size_t argz_len, int sep); - -#if defined __cplusplus -} -#endif - -#if !defined LTDL -# undef LT_SCOPE -#endif - -#endif /*!defined LT__ARGZ_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__dirent.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__dirent.h deleted file mode 100644 index 760a336..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__dirent.h +++ /dev/null @@ -1,88 +0,0 @@ -/* lt__dirent.h -- internal directory entry scanning interface - - Copyright (C) 2001, 2004, 2006, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Bob Friesenhahn, 2001 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#if !defined LT__DIRENT_H -#define LT__DIRENT_H 1 - -#if defined LT_CONFIG_H -# include LT_CONFIG_H -#else -# include -#endif - -#include "lt_system.h" - -#ifdef HAVE_DIRENT_H -/* We have a fully operational dirent subsystem. */ -# include -# define D_NAMLEN(dirent) (strlen((dirent)->d_name)) - -#elif defined __WINDOWS__ -/* Use some wrapper code to emulate dirent on windows.. */ -# define WINDOWS_DIRENT_EMULATION 1 - -# include - -# define D_NAMLEN(dirent) (strlen((dirent)->d_name)) -# define dirent lt__dirent -# define DIR lt__DIR -# define opendir lt__opendir -# define readdir lt__readdir -# define closedir lt__closedir - -LT_BEGIN_C_DECLS - -struct dirent -{ - char d_name[LT_FILENAME_MAX]; - int d_namlen; -}; - -typedef struct -{ - HANDLE hSearch; - WIN32_FIND_DATA Win32FindData; - BOOL firsttime; - struct dirent file_info; -} DIR; - - -LT_SCOPE DIR * opendir (const char *path); -LT_SCOPE struct dirent *readdir (DIR *entry); -LT_SCOPE void closedir (DIR *entry); - -LT_END_C_DECLS - -#else /* !defined __WINDOWS__*/ -ERROR - cannot find dirent -#endif /*!defined __WINDOWS__*/ - -#endif /*!defined LT__DIRENT_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__glibc.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__glibc.h deleted file mode 100644 index fff2a5c..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__glibc.h +++ /dev/null @@ -1,89 +0,0 @@ -/* lt__glibc.h -- support for non glibc environments - - Copyright (C) 2004, 2006-2007, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#if !defined LT__GLIBC_H -#define LT__GLIBC_H 1 - -#if defined LT_CONFIG_H -# include LT_CONFIG_H -#else -# include -#endif - -#if !defined HAVE_ARGZ_H || !defined HAVE_WORKING_ARGZ -/* Redefine any glibc symbols we reimplement to import the - implementations into our lt__ namespace so we don't ever - clash with the system library if our clients use argz_* - from there in addition to libltdl. */ -# undef argz_append -# define argz_append lt__argz_append -# undef argz_create_sep -# define argz_create_sep lt__argz_create_sep -# undef argz_insert -# define argz_insert lt__argz_insert -# undef argz_next -# define argz_next lt__argz_next -# undef argz_stringify -# define argz_stringify lt__argz_stringify - -# include - -#else - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#ifdef __cplusplus -} -#endif - -#endif /*!defined HAVE_ARGZ_H || !defined HAVE_WORKING_ARGZ*/ - -# define slist_concat lt__slist_concat -# define slist_cons lt__slist_cons -# define slist_delete lt__slist_delete -# define slist_remove lt__slist_remove -# define slist_reverse lt__slist_reverse -# define slist_sort lt__slist_sort -# define slist_tail lt__slist_tail -# define slist_nth lt__slist_nth -# define slist_find lt__slist_find -# define slist_length lt__slist_length -# define slist_foreach lt__slist_foreach -# define slist_box lt__slist_box -# define slist_unbox lt__slist_unbox - -#include - -#endif /*!defined LT__GLIBC_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__private.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__private.h deleted file mode 100644 index cf1ec4b..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__private.h +++ /dev/null @@ -1,150 +0,0 @@ -/* lt__private.h -- internal apis for libltdl - - Copyright (C) 2004-2008, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy con be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#if !defined LT__PRIVATE_H -#define LT__PRIVATE_H 1 - -#if defined LT_CONFIG_H -# include LT_CONFIG_H -#else -# include -#endif - -#include -#include -#include -#include -#include - -#if defined HAVE_UNISTD_H -# include -#endif - -/* Import internal interfaces... */ -#include "lt__alloc.h" -#include "lt__dirent.h" -#include "lt__strl.h" -#include "lt__glibc.h" - -/* ...and all exported interfaces. */ -#include "ltdl.h" - -#if defined WITH_DMALLOC -# include -#endif - -/* DLL building support on win32 hosts; mostly to workaround their - ridiculous implementation of data symbol exporting. */ -#ifndef LT_GLOBAL_DATA -# if defined __WINDOWS__ || defined __CYGWIN__ -# if defined DLL_EXPORT /* defined by libtool (if required) */ -# define LT_GLOBAL_DATA __declspec(dllexport) -# endif -# endif -# ifndef LT_GLOBAL_DATA -# define LT_GLOBAL_DATA /* static linking or !__WINDOWS__ */ -# endif -#endif - -#ifndef __attribute__ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ -# define __attribute__(x) -# endif -#endif - -#ifndef LT__UNUSED -# define LT__UNUSED __attribute__ ((__unused__)) -#endif - - -LT_BEGIN_C_DECLS - -#if !defined errno -extern int errno; -#endif - -LT_SCOPE void lt__alloc_die_callback (void); - - -/* For readability: */ -#define STRNEQ(s1, s2) (strcmp((s1), (s2)) != 0) -#define STREQ(s1, s2) (strcmp((s1), (s2)) == 0) - - - -/* --- OPAQUE STRUCTURES DECLARED IN LTDL.H --- */ - -/* This type is used for the array of interface data sets in each handler. */ -typedef struct { - lt_dlinterface_id key; - void * data; -} lt_interface_data; - -struct lt__handle { - lt_dlhandle next; - const lt_dlvtable * vtable; /* dlopening interface */ - lt_dlinfo info; /* user visible fields */ - int depcount; /* number of dependencies */ - lt_dlhandle * deplibs; /* dependencies */ - lt_module module; /* system module handle */ - void * system; /* system specific data */ - lt_interface_data * interface_data; /* per caller associated data */ - int flags; /* various boolean stats */ -}; - -struct lt__advise { - unsigned int try_ext:1; /* try system library extensions. */ - unsigned int is_resident:1; /* module can't be unloaded. */ - unsigned int is_symglobal:1; /* module symbols can satisfy - subsequently loaded modules. */ - unsigned int is_symlocal:1; /* module symbols are only available - locally. */ - unsigned int try_preload_only:1;/* only preloaded modules will be tried. */ -}; - -/* --- ERROR HANDLING --- */ - -/* Extract the diagnostic strings from the error table macro in the same - order as the enumerated indices in lt_error.h. */ - -#define LT__STRERROR(name) lt__error_string(LT_CONC(LT_ERROR_,name)) - -#define LT__GETERROR(lvalue) (lvalue) = lt__get_last_error() -#define LT__SETERRORSTR(errormsg) lt__set_last_error(errormsg) -#define LT__SETERROR(errorcode) LT__SETERRORSTR(LT__STRERROR(errorcode)) - -LT_SCOPE const char *lt__error_string (int errorcode); -LT_SCOPE const char *lt__get_last_error (void); -LT_SCOPE const char *lt__set_last_error (const char *errormsg); - -LT_END_C_DECLS - -#endif /*!defined LT__PRIVATE_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__strl.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt__strl.h deleted file mode 100644 index be1cd06..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt__strl.h +++ /dev/null @@ -1,54 +0,0 @@ -/* lt__strl.h -- size-bounded string copying and concatenation - - Copyright (C) 2004, 2006, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Bob Friesenhahn, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#if !defined LT__STRL_H -#define LT__STRL_H 1 - -#if defined LT_CONFIG_H -# include LT_CONFIG_H -#else -# include -#endif - -#include -#include "lt_system.h" - -#if !defined HAVE_STRLCAT -# define strlcat(dst,src,dstsize) lt_strlcat(dst,src,dstsize) -LT_SCOPE size_t lt_strlcat(char *dst, const char *src, const size_t dstsize); -#endif /* !defined HAVE_STRLCAT */ - -#if !defined HAVE_STRLCPY -# define strlcpy(dst,src,dstsize) lt_strlcpy(dst,src,dstsize) -LT_SCOPE size_t lt_strlcpy(char *dst, const char *src, const size_t dstsize); -#endif /* !defined HAVE_STRLCPY */ - -#endif /*!defined LT__STRL_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_dlloader.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_dlloader.h deleted file mode 100644 index 7701ffe..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_dlloader.h +++ /dev/null @@ -1,91 +0,0 @@ -/* lt_dlloader.h -- dynamic library loader interface - - Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#if !defined LT_DLLOADER_H -#define LT_DLLOADER_H 1 - -#include - -LT_BEGIN_C_DECLS - -typedef void * lt_dlloader; -typedef void * lt_module; -typedef void * lt_user_data; -typedef struct lt__advise * lt_dladvise; - -/* Function pointer types for module loader vtable entries: */ -typedef lt_module lt_module_open (lt_user_data data, - const char *filename, - lt_dladvise advise); -typedef int lt_module_close (lt_user_data data, - lt_module module); -typedef void * lt_find_sym (lt_user_data data, lt_module module, - const char *symbolname); -typedef int lt_dlloader_init (lt_user_data data); -typedef int lt_dlloader_exit (lt_user_data data); - -/* Default priority is LT_DLLOADER_PREPEND if none is explicitly given. */ -typedef enum { - LT_DLLOADER_PREPEND = 0, LT_DLLOADER_APPEND -} lt_dlloader_priority; - -/* This structure defines a module loader, as populated by the get_vtable - entry point of each loader. */ -typedef struct { - const char * name; - const char * sym_prefix; - lt_module_open * module_open; - lt_module_close * module_close; - lt_find_sym * find_sym; - lt_dlloader_init * dlloader_init; - lt_dlloader_exit * dlloader_exit; - lt_user_data dlloader_data; - lt_dlloader_priority priority; -} lt_dlvtable; - -LT_SCOPE int lt_dlloader_add (const lt_dlvtable *vtable); -LT_SCOPE lt_dlloader lt_dlloader_next (const lt_dlloader loader); - -LT_SCOPE lt_dlvtable * lt_dlloader_remove (const char *name); -LT_SCOPE const lt_dlvtable *lt_dlloader_find (const char *name); -LT_SCOPE const lt_dlvtable *lt_dlloader_get (lt_dlloader loader); - - -/* Type of a function to get a loader's vtable: */ -typedef const lt_dlvtable *lt_get_vtable (lt_user_data data); - -#ifdef LT_DEBUG_LOADERS -LT_SCOPE void lt_dlloader_dump (void); -#endif - -LT_END_C_DECLS - -#endif /*!defined LT_DLLOADER_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_error.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_error.h deleted file mode 100644 index ab3acd8..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_error.h +++ /dev/null @@ -1,86 +0,0 @@ -/* lt_error.h -- error propagation interface - - Copyright (C) 1999-2001, 2004, 2007, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1999 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -/* Only include this header file once. */ -#if !defined LT_ERROR_H -#define LT_ERROR_H 1 - -#include - -LT_BEGIN_C_DECLS - -/* Defining error strings alongside their symbolic names in a macro in - this way allows us to expand the macro in different contexts with - confidence that the enumeration of symbolic names will map correctly - onto the table of error strings. \0 is appended to the strings to - expilicitely initialize the string terminator. */ -#define lt_dlerror_table \ - LT_ERROR(UNKNOWN, "unknown error\0") \ - LT_ERROR(DLOPEN_NOT_SUPPORTED, "dlopen support not available\0") \ - LT_ERROR(INVALID_LOADER, "invalid loader\0") \ - LT_ERROR(INIT_LOADER, "loader initialization failed\0") \ - LT_ERROR(REMOVE_LOADER, "loader removal failed\0") \ - LT_ERROR(FILE_NOT_FOUND, "file not found\0") \ - LT_ERROR(DEPLIB_NOT_FOUND, "dependency library not found\0") \ - LT_ERROR(NO_SYMBOLS, "no symbols defined\0") \ - LT_ERROR(CANNOT_OPEN, "can't open the module\0") \ - LT_ERROR(CANNOT_CLOSE, "can't close the module\0") \ - LT_ERROR(SYMBOL_NOT_FOUND, "symbol not found\0") \ - LT_ERROR(NO_MEMORY, "not enough memory\0") \ - LT_ERROR(INVALID_HANDLE, "invalid module handle\0") \ - LT_ERROR(BUFFER_OVERFLOW, "internal buffer overflow\0") \ - LT_ERROR(INVALID_ERRORCODE, "invalid errorcode\0") \ - LT_ERROR(SHUTDOWN, "library already shutdown\0") \ - LT_ERROR(CLOSE_RESIDENT_MODULE, "can't close resident module\0") \ - LT_ERROR(INVALID_MUTEX_ARGS, "internal error (code withdrawn)\0")\ - LT_ERROR(INVALID_POSITION, "invalid search path insert position\0")\ - LT_ERROR(CONFLICTING_FLAGS, "symbol visibility can be global or local\0") - -/* Enumerate the symbolic error names. */ -enum { -#define LT_ERROR(name, diagnostic) LT_CONC(LT_ERROR_, name), - lt_dlerror_table -#undef LT_ERROR - - LT_ERROR_MAX -}; - -/* Should be max of the error string lengths above (plus one for C++) */ -#define LT_ERROR_LEN_MAX (41) - -/* These functions are only useful from inside custom module loaders. */ -LT_SCOPE int lt_dladderror (const char *diagnostic); -LT_SCOPE int lt_dlseterror (int errorcode); - - -LT_END_C_DECLS - -#endif /*!defined LT_ERROR_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_system.h b/BUILD/libtool-2.4.7/libltdl/libltdl/lt_system.h deleted file mode 100644 index 2ac204c..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/lt_system.h +++ /dev/null @@ -1,167 +0,0 @@ -/* lt_system.h -- system portability abstraction layer - - Copyright (C) 2004, 2007, 2010-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#if !defined LT_SYSTEM_H -#define LT_SYSTEM_H 1 - -#include -#include -#include - -/* Some systems do not define EXIT_*, even with STDC_HEADERS. */ -#if !defined EXIT_SUCCESS -# define EXIT_SUCCESS 0 -#endif -#if !defined EXIT_FAILURE -# define EXIT_FAILURE 1 -#endif - -/* Just pick a big number... */ -#define LT_FILENAME_MAX 2048 - - -/* Saves on those hard to debug '\0' typos.... */ -#define LT_EOS_CHAR '\0' - -/* LTDL_BEGIN_C_DECLS should be used at the beginning of your declarations, - so that C++ compilers don't mangle their names. Use LTDL_END_C_DECLS at - the end of C declarations. */ -#if defined __cplusplus -# define LT_BEGIN_C_DECLS extern "C" { -# define LT_END_C_DECLS } -#else -# define LT_BEGIN_C_DECLS /* empty */ -# define LT_END_C_DECLS /* empty */ -#endif - -/* LT_STMT_START/END are used to create macros that expand to a - a single compound statement in a portable way. */ -#if defined __GNUC__ && !defined __STRICT_ANSI__ && !defined __cplusplus -# define LT_STMT_START (void)( -# define LT_STMT_END ) -#else -# if (defined sun || defined __sun__) -# define LT_STMT_START if (1) -# define LT_STMT_END else (void)0 -# else -# define LT_STMT_START do -# define LT_STMT_END while (0) -# endif -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Canonicalise Windows and Cygwin recognition macros. - To match the values set by recent Cygwin compilers, make sure that if - __CYGWIN__ is defined (after canonicalisation), __WINDOWS__ is NOT! */ -#if defined __CYGWIN32__ && !defined __CYGWIN__ -# define __CYGWIN__ __CYGWIN32__ -#endif -#if defined __CYGWIN__ -# if defined __WINDOWS__ -# undef __WINDOWS__ -# endif -#elif defined _WIN32 -# define __WINDOWS__ _WIN32 -#elif defined WIN32 -# define __WINDOWS__ WIN32 -#endif -#if defined __CYGWIN__ && defined __WINDOWS__ -# undef __WINDOWS__ -#endif - - -/* DLL building support on win32 hosts; mostly to workaround their - ridiculous implementation of data symbol exporting. */ -#if !defined LT_SCOPE -# if defined __WINDOWS__ || defined __CYGWIN__ -# if defined DLL_EXPORT /* defined by libtool (if required) */ -# define LT_SCOPE extern __declspec(dllexport) -# endif -# if defined LIBLTDL_DLL_IMPORT /* define if linking with this dll */ - /* note: cygwin/mingw compilers can rely instead on auto-import */ -# define LT_SCOPE extern __declspec(dllimport) -# endif -# endif -# if !defined LT_SCOPE /* static linking or !__WINDOWS__ */ -# define LT_SCOPE extern -# endif -#endif - -#if defined __WINDOWS__ -/* LT_DIRSEP_CHAR is accepted *in addition* to '/' as a directory - separator when it is set. */ -# define LT_DIRSEP_CHAR '\\' -# define LT_PATHSEP_CHAR ';' -#else -# define LT_PATHSEP_CHAR ':' -#endif - -#if defined _MSC_VER /* Visual Studio */ -# define R_OK 4 -#endif - -/* fopen() mode flags for reading a text file */ -#undef LT_READTEXT_MODE -#if defined __WINDOWS__ || defined __CYGWIN__ -# define LT_READTEXT_MODE "rt" -#else -# define LT_READTEXT_MODE "r" -#endif - -/* The extra indirection to the LT__STR and LT__CONC macros is required so - that if the arguments to LT_STR() (or LT_CONC()) are themselves macros, - they will be expanded before being quoted. */ -#ifndef LT_STR -# define LT__STR(arg) #arg -# define LT_STR(arg) LT__STR(arg) -#endif - -#ifndef LT_CONC -# define LT__CONC(a, b) a##b -# define LT_CONC(a, b) LT__CONC(a, b) -#endif -#ifndef LT_CONC3 -# define LT__CONC3(a, b, c) a##b##c -# define LT_CONC3(a, b, c) LT__CONC3(a, b, c) -#endif - -#endif /*!defined LT_SYSTEM_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/libltdl/slist.h b/BUILD/libtool-2.4.7/libltdl/libltdl/slist.h deleted file mode 100644 index 8427244..0000000 --- a/BUILD/libtool-2.4.7/libltdl/libltdl/slist.h +++ /dev/null @@ -1,97 +0,0 @@ -/* slist.h -- generalised singly linked lists - - Copyright (C) 2000, 2004, 2009, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2000 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -/* A generalised list. This is deliberately transparent so that you - can make the NEXT field of all your chained data structures first, - and then cast them to '(SList *)' so that they can be manipulated - by this API. - - Alternatively, you can generate raw SList elements using slist_new(), - and put the element data in the USERDATA field. Either way you - get to manage the memory involved by yourself. -*/ - -#if !defined SLIST_H -#define SLIST_H 1 - -#if defined LTDL -# include -# include -#else -# define LT_SCOPE -#endif - -#include - -#if defined __cplusplus -extern "C" { -#endif - -typedef struct slist { - struct slist *next; /* chain forward pointer*/ - const void *userdata; /* for boxed 'SList' item */ -} SList; - -typedef void * SListCallback (SList *item, void *userdata); -typedef int SListCompare (const SList *item1, const SList *item2, - void *userdata); - -LT_SCOPE SList *slist_concat (SList *head, SList *tail); -LT_SCOPE SList *slist_cons (SList *item, SList *slist); - -LT_SCOPE SList *slist_delete (SList *slist, void (*delete_fct) (void *item)); -LT_SCOPE SList *slist_remove (SList **phead, SListCallback *find, - void *matchdata); -LT_SCOPE SList *slist_reverse (SList *slist); -LT_SCOPE SList *slist_sort (SList *slist, SListCompare *compare, - void *userdata); - -LT_SCOPE SList *slist_tail (SList *slist); -LT_SCOPE SList *slist_nth (SList *slist, size_t n); -LT_SCOPE void * slist_find (SList *slist, SListCallback *find, - void *matchdata); -LT_SCOPE size_t slist_length (SList *slist); - -LT_SCOPE void * slist_foreach (SList *slist, SListCallback *foreach, - void *userdata); - -LT_SCOPE SList *slist_box (const void *userdata); -LT_SCOPE void * slist_unbox (SList *item); - -#if defined __cplusplus -} -#endif - -#if !defined LTDL -# undef LT_SCOPE -#endif - -#endif /*!defined SLIST_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/dld_link.c b/BUILD/libtool-2.4.7/libltdl/loaders/dld_link.c deleted file mode 100644 index 18c78ac..0000000 --- a/BUILD/libtool-2.4.7/libltdl/loaders/dld_link.c +++ /dev/null @@ -1,158 +0,0 @@ -/* loader-dld_link.c -- dynamic linking with dld - - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_dlloader.h" - -/* Use the preprocessor to rename non-static symbols to avoid namespace - collisions when the loader code is statically linked into libltdl. - Use the "_LTX_" prefix so that the symbol addresses can - be fetched from the preloaded symbol list by lt_dlsym(): */ -#define get_vtable dld_link_LTX_get_vtable - -LT_BEGIN_C_DECLS -LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); -LT_END_C_DECLS - - -/* Boilerplate code to set up the vtable for hooking this loader into - libltdl's loader list: */ -static int vl_exit (lt_user_data loader_data); -static lt_module vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise advise); -static int vm_close (lt_user_data loader_data, lt_module module); -static void * vm_sym (lt_user_data loader_data, lt_module module, - const char *symbolname); - -static lt_dlvtable *vtable = 0; - -/* Return the vtable for this loader, only the name and sym_prefix - attributes (plus the virtual function implementations, obviously) - change between loaders. */ -lt_dlvtable * -get_vtable (lt_user_data loader_data) -{ - if (!vtable) - { - vtable = lt__zalloc (sizeof *vtable); - } - - if (vtable && !vtable->name) - { - vtable->name = "lt_dld_link"; - vtable->module_open = vm_open; - vtable->module_close = vm_close; - vtable->find_sym = vm_sym; - vtable->dlloader_exit = vl_exit; - vtable->dlloader_data = loader_data; - vtable->priority = LT_DLLOADER_APPEND; - } - - if (vtable && (vtable->dlloader_data != loader_data)) - { - LT__SETERROR (INIT_LOADER); - return 0; - } - - return vtable; -} - - - -/* --- IMPLEMENTATION --- */ - - -#if defined HAVE_DLD_H -# include -#endif - -/* A function called through the vtable when this loader is no - longer needed by the application. */ -static int -vl_exit (lt_user_data loader_data LT__UNUSED) -{ - vtable = NULL; - return 0; -} - -/* A function called through the vtable to open a module with this - loader. Returns an opaque representation of the newly opened - module for processing with this loader's other vtable functions. */ -static lt_module -vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, - lt_dladvise advise LT__UNUSED) -{ - lt_module module = lt__strdup (filename); - - if (module && dld_link (filename) != 0) - { - LT__SETERROR (CANNOT_OPEN); - FREE (module); - } - - return module; -} - -/* A function called through the vtable when a particular module - should be unloaded. */ -static int -vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) -{ - int errors = 0; - - if (dld_unlink_by_file ((char*)(module), 1) != 0) - { - LT__SETERROR (CANNOT_CLOSE); - ++errors; - } - else - { - FREE (module); - } - - return errors; -} - -/* A function called through the vtable to get the address of - a symbol loaded from a particular module. */ -static void * -vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED, - const char *name) -{ - void *address = dld_get_func (name); - - if (!address) - { - LT__SETERROR (SYMBOL_NOT_FOUND); - } - - return address; -} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/dlopen.c b/BUILD/libtool-2.4.7/libltdl/loaders/dlopen.c deleted file mode 100644 index bce7a05..0000000 --- a/BUILD/libtool-2.4.7/libltdl/loaders/dlopen.c +++ /dev/null @@ -1,275 +0,0 @@ -/* loader-dlopen.c -- dynamic linking with dlopen/dlsym - - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_dlloader.h" - -/* Use the preprocessor to rename non-static symbols to avoid namespace - collisions when the loader code is statically linked into libltdl. - Use the "_LTX_" prefix so that the symbol addresses can - be fetched from the preloaded symbol list by lt_dlsym(): */ -#define get_vtable dlopen_LTX_get_vtable - -LT_BEGIN_C_DECLS -LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); -LT_END_C_DECLS - - -/* Boilerplate code to set up the vtable for hooking this loader into - libltdl's loader list: */ -static int vl_exit (lt_user_data loader_data); -static lt_module vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise advise); -static int vm_close (lt_user_data loader_data, lt_module module); -static void * vm_sym (lt_user_data loader_data, lt_module module, - const char *symbolname); - -static lt_dlvtable *vtable = 0; - -/* Return the vtable for this loader, only the name and sym_prefix - attributes (plus the virtual function implementations, obviously) - change between loaders. */ -lt_dlvtable * -get_vtable (lt_user_data loader_data) -{ - if (!vtable) - { - vtable = (lt_dlvtable *) lt__zalloc (sizeof *vtable); - } - - if (vtable && !vtable->name) - { - vtable->name = "lt_dlopen"; -#if defined DLSYM_USCORE - vtable->sym_prefix = "_"; -#endif - vtable->module_open = vm_open; - vtable->module_close = vm_close; - vtable->find_sym = vm_sym; - vtable->dlloader_exit = vl_exit; - vtable->dlloader_data = loader_data; - vtable->priority = LT_DLLOADER_PREPEND; - } - - if (vtable && (vtable->dlloader_data != loader_data)) - { - LT__SETERROR (INIT_LOADER); - return 0; - } - - return vtable; -} - - - -/* --- IMPLEMENTATION --- */ - - -#if defined HAVE_DLFCN_H -# include -#endif - -#if defined HAVE_SYS_DL_H -# include -#endif - - -/* We may have to define LT_LAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#if !defined LT_LAZY_OR_NOW -# if defined RTLD_LAZY -# define LT_LAZY_OR_NOW RTLD_LAZY -# else -# if defined DL_LAZY -# define LT_LAZY_OR_NOW DL_LAZY -# endif -# endif /* !RTLD_LAZY */ -#endif -#if !defined LT_LAZY_OR_NOW -# if defined RTLD_NOW -# define LT_LAZY_OR_NOW RTLD_NOW -# else -# if defined DL_NOW -# define LT_LAZY_OR_NOW DL_NOW -# endif -# endif /* !RTLD_NOW */ -#endif -#if !defined LT_LAZY_OR_NOW -# define LT_LAZY_OR_NOW 0 -#endif /* !LT_LAZY_OR_NOW */ - -/* We only support local and global symbols from modules for loaders - that provide such a thing, otherwise the system default is used. */ -#if !defined RTLD_GLOBAL -# if defined DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# endif -#endif /* !RTLD_GLOBAL */ -#if !defined RTLD_LOCAL -# if defined DL_LOCAL -# define RTLD_LOCAL DL_LOCAL -# endif -#endif /* !RTLD_LOCAL */ - -#if defined HAVE_DLERROR -# define DLERROR(arg) dlerror () -#else -# define DLERROR(arg) LT__STRERROR (arg) -#endif - -#define DL__SETERROR(errorcode) \ - LT__SETERRORSTR (DLERROR (errorcode)) - - -/* A function called through the vtable when this loader is no - longer needed by the application. */ -static int -vl_exit (lt_user_data loader_data LT__UNUSED) -{ - vtable = NULL; - return 0; -} - - -/* A function called through the vtable to open a module with this - loader. Returns an opaque representation of the newly opened - module for processing with this loader's other vtable functions. */ -static lt_module -vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, - lt_dladvise advise) -{ - int module_flags = LT_LAZY_OR_NOW; - lt_module module; -#ifdef RTLD_MEMBER - int len = LT_STRLEN (filename); -#endif - - if (advise) - { -#ifdef RTLD_GLOBAL - /* If there is some means of asking for global symbol resolution, - do so. */ - if (advise->is_symglobal) - module_flags |= RTLD_GLOBAL; -#else - /* Otherwise, reset that bit so the caller can tell it wasn't - acted on. */ - advise->is_symglobal = 0; -#endif - -/* And similarly for local only symbol resolution. */ -#ifdef RTLD_LOCAL - if (advise->is_symlocal) - module_flags |= RTLD_LOCAL; -#else - advise->is_symlocal = 0; -#endif - } - -#ifdef RTLD_MEMBER /* AIX */ - if (len >= 4) /* at least "l(m)" */ - { - /* Advise loading an archive member only if the filename really - contains both the opening and closing parent, and a member. */ - if (filename[len-1] == ')') - { - const char *opening = strrchr(filename, '('); - if (opening && opening < (filename+len-2) && strchr(opening+1, '/') == NULL) - module_flags |= RTLD_MEMBER; - } - } -#endif - - module = dlopen (filename, module_flags); - -#if defined RTLD_MEMBER && defined LT_SHARED_LIB_MEMBER - if (!module && len && !(module_flags & RTLD_MEMBER) && errno == ENOEXEC) - { - /* Loading without a member specified failed with "Exec format error". - So the file is there, but either has wrong bitwidth, or is an - archive eventually containing the default shared archive member. - Retry with default member, getting same error in worst case. */ - const char *member = LT_SHARED_LIB_MEMBER; - - char *attempt = MALLOC (char, len + strlen (member) + 1); - if (!attempt) - { - LT__SETERROR (NO_MEMORY); - return module; - } - - sprintf (attempt, "%s%s", filename, member); - module = vm_open (loader_data, attempt, advise); - FREE (attempt); - return module; - } -#endif - - if (!module) - { - DL__SETERROR (CANNOT_OPEN); - } - - return module; -} - - -/* A function called through the vtable when a particular module - should be unloaded. */ -static int -vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) -{ - int errors = 0; - - if (dlclose (module) != 0) - { - DL__SETERROR (CANNOT_CLOSE); - ++errors; - } - - return errors; -} - - -/* A function called through the vtable to get the address of - a symbol loaded from a particular module. */ -static void * -vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) -{ - void *address = dlsym (module, name); - - if (!address) - { - DL__SETERROR (SYMBOL_NOT_FOUND); - } - - return address; -} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/dyld.c b/BUILD/libtool-2.4.7/libltdl/loaders/dyld.c deleted file mode 100644 index 3100f54..0000000 --- a/BUILD/libtool-2.4.7/libltdl/loaders/dyld.c +++ /dev/null @@ -1,511 +0,0 @@ -/* loader-dyld.c -- dynamic linking on darwin and OS X - - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Peter O'Gorman, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_dlloader.h" - -/* Use the preprocessor to rename non-static symbols to avoid namespace - collisions when the loader code is statically linked into libltdl. - Use the "_LTX_" prefix so that the symbol addresses can - be fetched from the preloaded symbol list by lt_dlsym(): */ -#define get_vtable dyld_LTX_get_vtable - -LT_BEGIN_C_DECLS -LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); -LT_END_C_DECLS - - -/* Boilerplate code to set up the vtable for hooking this loader into - libltdl's loader list: */ -static int vl_init (lt_user_data loader_data); -static int vl_exit (lt_user_data loader_data); -static lt_module vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise advise); -static int vm_close (lt_user_data loader_data, lt_module module); -static void * vm_sym (lt_user_data loader_data, lt_module module, - const char *symbolname); - -static lt_dlvtable *vtable = 0; - -/* Return the vtable for this loader, only the name and sym_prefix - attributes (plus the virtual function implementations, obviously) - change between loaders. */ -lt_dlvtable * -get_vtable (lt_user_data loader_data) -{ - if (!vtable) - { - vtable = lt__zalloc (sizeof *vtable); - } - - if (vtable && !vtable->name) - { - vtable->name = "lt_dyld"; - vtable->sym_prefix = "_"; - vtable->dlloader_init = vl_init; - vtable->module_open = vm_open; - vtable->module_close = vm_close; - vtable->find_sym = vm_sym; - vtable->dlloader_exit = vl_exit; - vtable->dlloader_data = loader_data; - vtable->priority = LT_DLLOADER_APPEND; - } - - if (vtable && (vtable->dlloader_data != loader_data)) - { - LT__SETERROR (INIT_LOADER); - return 0; - } - - return vtable; -} - - - -/* --- IMPLEMENTATION --- */ - - -#if defined HAVE_MACH_O_DYLD_H -# if !defined __APPLE_CC__ && !defined __MWERKS__ && !defined __private_extern__ - /* Is this correct? Does it still function properly? */ -# define __private_extern__ extern -# endif -# include -#endif - -#include - -/* We have to put some stuff here that isn't in older dyld.h files */ -#if !defined ENUM_DYLD_BOOL -# define ENUM_DYLD_BOOL -# undef FALSE -# undef TRUE - enum DYLD_BOOL { - FALSE, - TRUE - }; -#endif -#if !defined LC_REQ_DYLD -# define LC_REQ_DYLD 0x80000000 -#endif -#if !defined LC_LOAD_WEAK_DYLIB -# define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD) -#endif - -#if !defined NSADDIMAGE_OPTION_NONE -# define NSADDIMAGE_OPTION_NONE 0x0 -#endif -#if !defined NSADDIMAGE_OPTION_RETURN_ON_ERROR -# define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1 -#endif -#if !defined NSADDIMAGE_OPTION_WITH_SEARCHING -# define NSADDIMAGE_OPTION_WITH_SEARCHING 0x2 -#endif -#if !defined NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED -# define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4 -#endif -#if !defined NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME -# define NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME 0x8 -#endif - -#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND -# define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0 -#endif -#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW -# define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW 0x1 -#endif -#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY -# define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY 0x2 -#endif -#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR -# define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4 -#endif - -#define LT__SYMLOOKUP_OPTS (NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW \ - | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) - -#if defined __BIG_ENDIAN__ -# define LT__MAGIC MH_MAGIC -#else -# define LT__MAGIC MH_CIGAM -#endif - -#define DYLD__SETMYERROR(errmsg) LT__SETERRORSTR (dylderror (errmsg)) -#define DYLD__SETERROR(errcode) DYLD__SETMYERROR (LT__STRERROR (errcode)) - -typedef struct mach_header mach_header; -typedef struct dylib_command dylib_command; - -static const char *dylderror (const char *errmsg); -static const mach_header *lt__nsmodule_get_header (NSModule module); -static const char *lt__header_get_instnam (const mach_header *mh); -static const mach_header *lt__match_loadedlib (const char *name); -static NSSymbol lt__linkedlib_symbol (const char *symname, const mach_header *mh); - -static const mach_header *(*lt__addimage) (const char *image_name, - unsigned long options) = 0; -static NSSymbol (*lt__image_symbol) (const mach_header *image, - const char *symbolName, - unsigned long options) = 0; -static enum DYLD_BOOL (*lt__image_symbol_p) (const mach_header *image, - const char *symbolName) = 0; -static enum DYLD_BOOL (*lt__module_export) (NSModule module) = 0; - -static int dyld_cannot_close = 0; - - -/* A function called through the vtable when this loader is no - longer needed by the application. */ -static int -vl_exit (lt_user_data loader_data LT__UNUSED) -{ - vtable = NULL; - return 0; -} - -/* A function called through the vtable to initialise this loader. */ -static int -vl_init (lt_user_data loader_data) -{ - int errors = 0; - - if (! dyld_cannot_close) - { - if (!_dyld_present ()) - { - ++errors; - } - else - { - (void) _dyld_func_lookup ("__dyld_NSAddImage", - (unsigned long*) <__addimage); - (void) _dyld_func_lookup ("__dyld_NSLookupSymbolInImage", - (unsigned long*)<__image_symbol); - (void) _dyld_func_lookup ("__dyld_NSIsSymbolNameDefinedInImage", - (unsigned long*) <__image_symbol_p); - (void) _dyld_func_lookup ("__dyld_NSMakePrivateModulePublic", - (unsigned long*) <__module_export); - dyld_cannot_close = lt_dladderror ("can't close a dylib"); - } - } - - return errors; -} - - -/* A function called through the vtable to open a module with this - loader. Returns an opaque representation of the newly opened - module for processing with this loader's other vtable functions. */ -static lt_module -vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise advise LT__UNUSED) -{ - lt_module module = 0; - NSObjectFileImage ofi = 0; - - if (!filename) - { - return (lt_module) -1; - } - - switch (NSCreateObjectFileImageFromFile (filename, &ofi)) - { - case NSObjectFileImageSuccess: - module = NSLinkModule (ofi, filename, NSLINKMODULE_OPTION_RETURN_ON_ERROR - | NSLINKMODULE_OPTION_PRIVATE - | NSLINKMODULE_OPTION_BINDNOW); - NSDestroyObjectFileImage (ofi); - - if (module) - { - lt__module_export (module); - } - break; - - case NSObjectFileImageInappropriateFile: - if (lt__image_symbol_p && lt__image_symbol) - { - module = (lt_module) lt__addimage(filename, - NSADDIMAGE_OPTION_RETURN_ON_ERROR); - } - break; - - case NSObjectFileImageFailure: - case NSObjectFileImageArch: - case NSObjectFileImageFormat: - case NSObjectFileImageAccess: - /*NOWORK*/ - break; - } - - if (!module) - { - DYLD__SETERROR (CANNOT_OPEN); - } - - return module; -} - - -/* A function called through the vtable when a particular module - should be unloaded. */ -static int -vm_close (lt_user_data loader_data, lt_module module) -{ - int errors = 0; - - if (module != (lt_module) -1) - { - const mach_header *mh = (const mach_header *) module; - int flags = 0; - if (mh->magic == LT__MAGIC) - { - lt_dlseterror (dyld_cannot_close); - ++errors; - } - else - { - /* Currently, if a module contains c++ static destructors and it - is unloaded, we get a segfault in atexit(), due to compiler and - dynamic loader differences of opinion, this works around that. */ - if ((const struct section *) NULL != - getsectbynamefromheader (lt__nsmodule_get_header (module), - "__DATA", "__mod_term_func")) - { - flags |= NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED; - } -#if defined __ppc__ - flags |= NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES; -#endif - if (!NSUnLinkModule (module, flags)) - { - DYLD__SETERROR (CANNOT_CLOSE); - ++errors; - } - } - } - - return errors; -} - -/* A function called through the vtable to get the address of - a symbol loaded from a particular module. */ -static void * -vm_sym (lt_user_data loader_data, lt_module module, const char *name) -{ - NSSymbol *nssym = 0; - const mach_header *mh = (const mach_header *) module; - char saveError[256] = "Symbol not found"; - - if (module == (lt_module) -1) - { - void *address, *unused; - _dyld_lookup_and_bind (name, (unsigned long*) &address, &unused); - return address; - } - - if (mh->magic == LT__MAGIC) - { - if (lt__image_symbol_p && lt__image_symbol) - { - if (lt__image_symbol_p (mh, name)) - { - nssym = lt__image_symbol (mh, name, LT__SYMLOOKUP_OPTS); - } - } - - } - else - { - nssym = NSLookupSymbolInModule (module, name); - } - - if (!nssym) - { - strlcpy (saveError, dylderror (LT__STRERROR (SYMBOL_NOT_FOUND)), 255); - saveError[255] = 0; - if (!mh) - { - mh = (mach_header *)lt__nsmodule_get_header (module); - } - nssym = lt__linkedlib_symbol (name, mh); - } - - if (!nssym) - { - LT__SETERRORSTR (saveError); - } - - return nssym ? NSAddressOfSymbol (nssym) : 0; -} - - - - -/* --- HELPER FUNCTIONS --- */ - - -/* Return the dyld error string, or the passed in error string if none. */ -static const char * -dylderror (const char *errmsg) -{ - NSLinkEditErrors ler; - int lerno; - const char *file; - const char *errstr; - - NSLinkEditError (&ler, &lerno, &file, &errstr); - - if (! (errstr && *errstr)) - { - errstr = errmsg; - } - - return errstr; -} - -/* There should probably be an apple dyld api for this. */ -static const mach_header * -lt__nsmodule_get_header (NSModule module) -{ - int i = _dyld_image_count(); - const char *modname = NSNameOfModule (module); - const mach_header *mh = 0; - - if (!modname) - return NULL; - - while (i > 0) - { - --i; - if (strneq (_dyld_get_image_name (i), modname)) - { - mh = _dyld_get_image_header (i); - break; - } - } - - return mh; -} - -/* NSAddImage is also used to get the loaded image, but it only works if - the lib is installed, for uninstalled libs we need to check the - install_names against each other. Note that this is still broken if - DYLD_IMAGE_SUFFIX is set and a different lib was loaded as a result. */ -static const char * -lt__header_get_instnam (const mach_header *mh) -{ - unsigned long offset = sizeof(mach_header); - const char* result = 0; - int j; - - for (j = 0; j < mh->ncmds; j++) - { - struct load_command *lc; - - lc = (struct load_command*) (((unsigned long) mh) + offset); - if (LC_ID_DYLIB == lc->cmd) - { - result=(char*)(((dylib_command*) lc)->dylib.name.offset + - (unsigned long) lc); - } - offset += lc->cmdsize; - } - - return result; -} - -static const mach_header * -lt__match_loadedlib (const char *name) -{ - const mach_header *mh = 0; - int i = _dyld_image_count(); - - while (i > 0) - { - const char *id; - - --i; - id = lt__header_get_instnam (_dyld_get_image_header (i)); - if (id && strneq (id, name)) - { - mh = _dyld_get_image_header (i); - break; - } - } - - return mh; -} - -/* Safe to assume our mh is good. */ -static NSSymbol -lt__linkedlib_symbol (const char *symname, const mach_header *mh) -{ - NSSymbol symbol = 0; - - if (lt__image_symbol && NSIsSymbolNameDefined (symname)) - { - unsigned long offset = sizeof(mach_header); - struct load_command *lc; - int j; - - for (j = 0; j < mh->ncmds; j++) - { - lc = (struct load_command*) (((unsigned long) mh) + offset); - if ((LC_LOAD_DYLIB == lc->cmd) || (LC_LOAD_WEAK_DYLIB == lc->cmd)) - { - unsigned long base = ((dylib_command *) lc)->dylib.name.offset; - char *name = (char *) (base + (unsigned long) lc); - const mach_header *mh1 = lt__match_loadedlib (name); - - if (!mh1) - { - /* Maybe NSAddImage can find it */ - mh1 = lt__addimage (name, - NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED - | NSADDIMAGE_OPTION_WITH_SEARCHING - | NSADDIMAGE_OPTION_RETURN_ON_ERROR); - } - - if (mh1) - { - symbol = lt__image_symbol (mh1, symname, LT__SYMLOOKUP_OPTS); - if (symbol) - break; - } - } - - offset += lc->cmdsize; - } - } - - return symbol; -} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/load_add_on.c b/BUILD/libtool-2.4.7/libltdl/loaders/load_add_on.c deleted file mode 100644 index f0a675b..0000000 --- a/BUILD/libtool-2.4.7/libltdl/loaders/load_add_on.c +++ /dev/null @@ -1,167 +0,0 @@ -/* loader-load_add_on.c -- dynamic linking for BeOS - - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_dlloader.h" - -/* Use the preprocessor to rename non-static symbols to avoid namespace - collisions when the loader code is statically linked into libltdl. - Use the "_LTX_" prefix so that the symbol addresses can - be fetched from the preloaded symbol list by lt_dlsym(): */ -#define get_vtable load_add_on_LTX_get_vtable - -LT_BEGIN_C_DECLS -LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); -LT_END_C_DECLS - - -/* Boilerplate code to set up the vtable for hooking this loader into - libltdl's loader list: */ -static int vl_exit (lt_user_data loader_data); -static lt_module vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise advise); -static int vm_close (lt_user_data loader_data, lt_module module); -static void * vm_sym (lt_user_data loader_data, lt_module module, - const char *symbolname); - -static lt_dlvtable *vtable = 0; - -/* Return the vtable for this loader, only the name and sym_prefix - attributes (plus the virtual function implementations, obviously) - change between loaders. */ -lt_dlvtable * -get_vtable (lt_user_data loader_data) -{ - if (!vtable) - { - vtable = lt__zalloc (sizeof *vtable); - } - - if (vtable && !vtable->name) - { - vtable->name = "lt_load_add_on"; - vtable->module_open = vm_open; - vtable->module_close = vm_close; - vtable->find_sym = vm_sym; - vtable->dlloader_exit = vl_exit; - vtable->dlloader_data = loader_data; - vtable->priority = LT_DLLOADER_APPEND; - } - - if (vtable && (vtable->dlloader_data != loader_data)) - { - LT__SETERROR (INIT_LOADER); - return 0; - } - - return vtable; -} - - - -/* --- IMPLEMENTATION --- */ - - -#include - -/* A function called through the vtable when this loader is no - longer needed by the application. */ -static int -vl_exit (lt_user_data loader_data LT__UNUSED) -{ - vtable = NULL; - return 0; -} - -/* A function called through the vtable to open a module with this - loader. Returns an opaque representation of the newly opened - module for processing with this loader's other vtable functions. */ -static lt_module -vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, - lt_dladvise advise LT__UNUSED) -{ - image_id image = 0; - - if (filename) - { - image = load_add_on (filename); - } - else - { - image_info info; - int32 cookie = 0; - if (get_next_image_info (0, &cookie, &info) == B_OK) - image = load_add_on (info.name); - } - - if (image <= 0) - { - LT__SETERROR (CANNOT_OPEN); - image = 0; - } - - return (lt_module) image; -} - - -/* A function called through the vtable when a particular module - should be unloaded. */ -static int -vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) -{ - int errors = 0; - - if (unload_add_on ((image_id) module) != B_OK) - { - LT__SETERROR (CANNOT_CLOSE); - ++errors; - } - - return errors; -} - - -/* A function called through the vtable to get the address of - a symbol loaded from a particular module. */ -static void * -vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) -{ - void *address = 0; - image_id image = (image_id) module; - - if (get_image_symbol (image, name, B_SYMBOL_TYPE_ANY, address) != B_OK) - { - LT__SETERROR (SYMBOL_NOT_FOUND); - address = 0; - } - - return address; -} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/loadlibrary.c b/BUILD/libtool-2.4.7/libltdl/loaders/loadlibrary.c deleted file mode 100644 index 8f0829f..0000000 --- a/BUILD/libtool-2.4.7/libltdl/loaders/loadlibrary.c +++ /dev/null @@ -1,369 +0,0 @@ -/* loader-loadlibrary.c -- dynamic linking for Win32 - - Copyright (C) 1998-2000, 2004-2008, 2010-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_dlloader.h" - -#if defined __CYGWIN__ -# include -#endif - -/* Use the preprocessor to rename non-static symbols to avoid namespace - collisions when the loader code is statically linked into libltdl. - Use the "_LTX_" prefix so that the symbol addresses can - be fetched from the preloaded symbol list by lt_dlsym(): */ -#define get_vtable loadlibrary_LTX_get_vtable - -LT_BEGIN_C_DECLS -LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); -LT_END_C_DECLS - - -/* Boilerplate code to set up the vtable for hooking this loader into - libltdl's loader list: */ -static int vl_exit (lt_user_data loader_data); -static lt_module vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise advise); -static int vm_close (lt_user_data loader_data, lt_module module); -static void * vm_sym (lt_user_data loader_data, lt_module module, - const char *symbolname); - -static lt_dlinterface_id iface_id = 0; -static lt_dlvtable *vtable = 0; - -/* Return the vtable for this loader, only the name and sym_prefix - attributes (plus the virtual function implementations, obviously) - change between loaders. */ -lt_dlvtable * -get_vtable (lt_user_data loader_data) -{ - if (!vtable) - { - vtable = (lt_dlvtable *) lt__zalloc (sizeof *vtable); - iface_id = lt_dlinterface_register ("ltdl loadlibrary", NULL); - } - - if (vtable && !vtable->name) - { - vtable->name = "lt_loadlibrary"; - vtable->module_open = vm_open; - vtable->module_close = vm_close; - vtable->find_sym = vm_sym; - vtable->dlloader_exit = vl_exit; - vtable->dlloader_data = loader_data; - vtable->priority = LT_DLLOADER_APPEND; - } - - if (vtable && (vtable->dlloader_data != loader_data)) - { - LT__SETERROR (INIT_LOADER); - return 0; - } - - return vtable; -} - - - -/* --- IMPLEMENTATION --- */ - - -#include - -#define LOCALFREE(mem) LT_STMT_START { \ - if (mem) { LocalFree ((void *)mem); mem = NULL; } } LT_STMT_END -#define LOADLIB__SETERROR(errmsg) LT__SETERRORSTR (loadlibraryerror (errmsg)) -#define LOADLIB_SETERROR(errcode) LOADLIB__SETERROR (LT__STRERROR (errcode)) - -static const char *loadlibraryerror (const char *default_errmsg); -static DWORD WINAPI wrap_getthreaderrormode (void); -static DWORD WINAPI fallback_getthreaderrormode (void); -static BOOL WINAPI wrap_setthreaderrormode (DWORD mode, DWORD *oldmode); -static BOOL WINAPI fallback_setthreaderrormode (DWORD mode, DWORD *oldmode); - -typedef DWORD (WINAPI getthreaderrormode_type) (void); -typedef BOOL (WINAPI setthreaderrormode_type) (DWORD, DWORD *); - -static getthreaderrormode_type *getthreaderrormode = wrap_getthreaderrormode; -static setthreaderrormode_type *setthreaderrormode = wrap_setthreaderrormode; -static char *error_message = 0; - - -/* A function called through the vtable when this loader is no - longer needed by the application. */ -static int -vl_exit (lt_user_data loader_data LT__UNUSED) -{ - vtable = NULL; - LOCALFREE (error_message); - return 0; -} - -/* A function called through the vtable to open a module with this - loader. Returns an opaque representation of the newly opened - module for processing with this loader's other vtable functions. */ -static lt_module -vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, - lt_dladvise advise LT__UNUSED) -{ - lt_module module = 0; - char *ext; - char wpath[MAX_PATH]; - size_t len; - - if (!filename) - { - /* Get the name of main module */ - *wpath = 0; - GetModuleFileName (NULL, wpath, sizeof (wpath)); - filename = wpath; - } - else - { - len = LT_STRLEN (filename); - - if (len >= MAX_PATH) - { - LT__SETERROR (CANNOT_OPEN); - return 0; - } - -#if HAVE_DECL_CYGWIN_CONV_PATH - if (cygwin_conv_path (CCP_POSIX_TO_WIN_A, filename, wpath, MAX_PATH)) - { - LT__SETERROR (CANNOT_OPEN); - return 0; - } - len = 0; -#elif defined __CYGWIN__ - cygwin_conv_to_full_win32_path (filename, wpath); - len = 0; -#else - strcpy(wpath, filename); -#endif - - ext = strrchr (wpath, '.'); - if (!ext) - { - /* Append a '.' to stop Windows from adding an - implicit '.dll' extension. */ - if (!len) - len = strlen (wpath); - - if (len + 1 >= MAX_PATH) - { - LT__SETERROR (CANNOT_OPEN); - return 0; - } - - wpath[len] = '.'; - wpath[len+1] = '\0'; - } - } - - { - /* Silence dialog from LoadLibrary on some failures. */ - DWORD errormode = getthreaderrormode (); - DWORD last_error; - - setthreaderrormode (errormode | SEM_FAILCRITICALERRORS, NULL); - - module = LoadLibrary (wpath); - - /* Restore the error mode. */ - last_error = GetLastError (); - setthreaderrormode (errormode, NULL); - SetLastError (last_error); - } - - /* libltdl expects this function to fail if it is unable - to physically load the library. Sadly, LoadLibrary - will search the loaded libraries for a match and return - one of them if the path search load fails. - - We check whether LoadLibrary is returning a handle to - an already loaded module, and simulate failure if we - find one. */ - { - lt_dlhandle cur = 0; - - while ((cur = lt_dlhandle_iterate (iface_id, cur))) - { - if (!cur->module) - { - cur = 0; - break; - } - - if (cur->module == module) - { - break; - } - } - - if (!module) - LOADLIB_SETERROR (CANNOT_OPEN); - else if (cur) - { - LT__SETERROR (CANNOT_OPEN); - module = 0; - } - } - - return module; -} - - -/* A function called through the vtable when a particular module - should be unloaded. */ -static int -vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) -{ - int errors = 0; - - if (FreeLibrary ((HMODULE) module) == 0) - { - LOADLIB_SETERROR (CANNOT_CLOSE); - ++errors; - } - - return errors; -} - - -/* A function called through the vtable to get the address of - a symbol loaded from a particular module. */ -static void * -vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) -{ - void *address = (void *) GetProcAddress ((HMODULE) module, name); - - if (!address) - { - LOADLIB_SETERROR (SYMBOL_NOT_FOUND); - } - - return address; -} - - - -/* --- HELPER FUNCTIONS --- */ - - -/* Return the windows error message, or the passed in error message on - failure. */ -static const char * -loadlibraryerror (const char *default_errmsg) -{ - size_t len; - LOCALFREE (error_message); - - FormatMessageA (FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - GetLastError (), - 0, - (char *) &error_message, - 0, NULL); - - /* Remove trailing CRNL */ - len = LT_STRLEN (error_message); - if (len && error_message[len - 1] == '\n') - error_message[--len] = LT_EOS_CHAR; - if (len && error_message[len - 1] == '\r') - error_message[--len] = LT_EOS_CHAR; - - return len ? error_message : default_errmsg; -} - -/* A function called through the getthreaderrormode variable that checks - if the system supports GetThreadErrorMode (or GetErrorMode) and arranges - for it or a fallback implementation to be called directly in the future. - The selected version is then called. */ -static DWORD WINAPI -wrap_getthreaderrormode (void) -{ - HMODULE kernel32 = GetModuleHandleA ("kernel32.dll"); - getthreaderrormode - = (getthreaderrormode_type *) GetProcAddress (kernel32, - "GetThreadErrorMode"); - if (!getthreaderrormode) - getthreaderrormode - = (getthreaderrormode_type *) GetProcAddress (kernel32, - "GetErrorMode"); - if (!getthreaderrormode) - getthreaderrormode = fallback_getthreaderrormode; - return getthreaderrormode (); -} - -/* A function called through the getthreaderrormode variable for cases - where the system does not support GetThreadErrorMode or GetErrorMode */ -static DWORD WINAPI -fallback_getthreaderrormode (void) -{ - /* Prior to Windows Vista, the only way to get the current error - mode was to set a new one. In our case, we are setting a new - error mode right after "getting" it while ignoring the error - mode in effect when setting the new error mode, so that's - fairly ok. */ - return (DWORD) SetErrorMode (SEM_FAILCRITICALERRORS); -} - -/* A function called through the setthreaderrormode variable that checks - if the system supports SetThreadErrorMode and arranges for it or a - fallback implementation to be called directly in the future. - The selected version is then called. */ -static BOOL WINAPI -wrap_setthreaderrormode (DWORD mode, DWORD *oldmode) -{ - HMODULE kernel32 = GetModuleHandleA ("kernel32.dll"); - setthreaderrormode - = (setthreaderrormode_type *) GetProcAddress (kernel32, - "SetThreadErrorMode"); - if (!setthreaderrormode) - setthreaderrormode = fallback_setthreaderrormode; - return setthreaderrormode (mode, oldmode); -} - -/* A function called through the setthreaderrormode variable for cases - where the system does not support SetThreadErrorMode. */ -static BOOL WINAPI -fallback_setthreaderrormode (DWORD mode, DWORD *oldmode) -{ - /* Prior to Windows 7, there was no way to set the thread local error - mode, so set the process global error mode instead. */ - DWORD old = (DWORD) SetErrorMode (mode); - if (oldmode) - *oldmode = old; - return TRUE; -} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/preopen.c b/BUILD/libtool-2.4.7/libltdl/loaders/preopen.c deleted file mode 100644 index 232106f..0000000 --- a/BUILD/libtool-2.4.7/libltdl/loaders/preopen.c +++ /dev/null @@ -1,387 +0,0 @@ -/* loader-preopen.c -- emulate dynamic linking using preloaded_symbols - - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_dlloader.h" - -/* Use the preprocessor to rename non-static symbols to avoid namespace - collisions when the loader code is statically linked into libltdl. - Use the "_LTX_" prefix so that the symbol addresses can - be fetched from the preloaded symbol list by lt_dlsym(): */ -#define get_vtable preopen_LTX_get_vtable - -LT_BEGIN_C_DECLS -LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); -LT_END_C_DECLS - - -/* Boilerplate code to set up the vtable for hooking this loader into - libltdl's loader list: */ -static int vl_init (lt_user_data loader_data); -static int vl_exit (lt_user_data loader_data); -static lt_module vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise advise); -static int vm_close (lt_user_data loader_data, lt_module module); -static void * vm_sym (lt_user_data loader_data, lt_module module, - const char *symbolname); - -static lt_dlvtable *vtable = 0; - -/* Return the vtable for this loader, only the name and sym_prefix - attributes (plus the virtual function implementations, obviously) - change between loaders. */ -lt_dlvtable * -get_vtable (lt_user_data loader_data) -{ - if (!vtable) - { - vtable = (lt_dlvtable *) lt__zalloc (sizeof *vtable); - } - - if (vtable && !vtable->name) - { - vtable->name = "lt_preopen"; - vtable->sym_prefix = 0; - vtable->module_open = vm_open; - vtable->module_close = vm_close; - vtable->find_sym = vm_sym; - vtable->dlloader_init = vl_init; - vtable->dlloader_exit = vl_exit; - vtable->dlloader_data = loader_data; - vtable->priority = LT_DLLOADER_PREPEND; - } - - if (vtable && (vtable->dlloader_data != loader_data)) - { - LT__SETERROR (INIT_LOADER); - return 0; - } - - return vtable; -} - - - -/* --- IMPLEMENTATION --- */ - - -/* Wrapper type to chain together symbol lists of various origins. */ -typedef struct symlist_chain -{ - struct symlist_chain *next; - const lt_dlsymlist *symlist; -} symlist_chain; - - -static int add_symlist (const lt_dlsymlist *symlist); -static int free_symlists (void); - -/* The start of the symbol lists chain. */ -static symlist_chain *preloaded_symlists = 0; - -/* A symbol list preloaded before lt_init() was called. */ -static const lt_dlsymlist *default_preloaded_symbols = 0; - - -/* A function called through the vtable to initialise this loader. */ -static int -vl_init (lt_user_data loader_data LT__UNUSED) -{ - int errors = 0; - - preloaded_symlists = 0; - if (default_preloaded_symbols) - { - errors = lt_dlpreload (default_preloaded_symbols); - } - - return errors; -} - - -/* A function called through the vtable when this loader is no - longer needed by the application. */ -static int -vl_exit (lt_user_data loader_data LT__UNUSED) -{ - vtable = NULL; - free_symlists (); - return 0; -} - - -/* A function called through the vtable to open a module with this - loader. Returns an opaque representation of the newly opened - module for processing with this loader's other vtable functions. */ -static lt_module -vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, - lt_dladvise advise LT__UNUSED) -{ - symlist_chain *lists; - lt_module module = 0; - - if (!preloaded_symlists) - { - LT__SETERROR (NO_SYMBOLS); - goto done; - } - - /* Can't use NULL as the reflective symbol header, as NULL is - used to mark the end of the entire symbol list. Self-dlpreopened - symbols follow this magic number, chosen to be an unlikely - clash with a real module name. */ - if (!filename) - { - filename = "@PROGRAM@"; - } - - for (lists = preloaded_symlists; lists; lists = lists->next) - { - const lt_dlsymlist *symbol; - for (symbol= lists->symlist; symbol->name; ++symbol) - { - if (!symbol->address && STREQ (symbol->name, filename)) - { - /* If the next symbol's name and address is 0, it means - the module just contains the originator and no symbols. - In this case we pretend that we never saw the module and - hope that some other loader will be able to load the module - and have access to its symbols */ - const lt_dlsymlist *next_symbol = symbol +1; - if (next_symbol->address && next_symbol->name) - { - module = (lt_module) lists->symlist; - goto done; - } - } - } - } - - LT__SETERROR (FILE_NOT_FOUND); - - done: - return module; -} - - -/* A function called through the vtable when a particular module - should be unloaded. */ -static int -vm_close (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED) -{ - /* Just to silence gcc -Wall */ - module = 0; - return 0; -} - - -/* A function called through the vtable to get the address of - a symbol loaded from a particular module. */ -static void * -vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) -{ - lt_dlsymlist *symbol = (lt_dlsymlist*) module; - - if (symbol[1].name && STREQ (symbol[1].name, "@INIT@")) - { - symbol++; /* Skip optional init entry. */ - } - - symbol +=2; /* Skip header (originator then libname). */ - - while (symbol->name) - { - if (STREQ (symbol->name, name)) - { - return symbol->address; - } - - ++symbol; - } - - LT__SETERROR (SYMBOL_NOT_FOUND); - - return 0; -} - - - -/* --- HELPER FUNCTIONS --- */ - - -/* The symbol lists themselves are not allocated from the heap, but - we can unhook them and free up the chain of links between them. */ -static int -free_symlists (void) -{ - symlist_chain *lists; - - lists = preloaded_symlists; - while (lists) - { - symlist_chain *next = lists->next; - FREE (lists); - lists = next; - } - preloaded_symlists = 0; - - return 0; -} - -/* Add a new symbol list to the global chain. */ -static int -add_symlist (const lt_dlsymlist *symlist) -{ - symlist_chain *lists; - int errors = 0; - - /* Search for duplicate entries: */ - for (lists = preloaded_symlists; - lists && lists->symlist != symlist; lists = lists->next) - /*NOWORK*/; - - /* Don't add the same list twice: */ - if (!lists) - { - symlist_chain *tmp = (symlist_chain *) lt__zalloc (sizeof *tmp); - - if (tmp) - { - tmp->symlist = symlist; - tmp->next = preloaded_symlists; - preloaded_symlists = tmp; - - if (symlist[1].name && STREQ (symlist[1].name, "@INIT@")) - { - void (*init_symlist)(void); - *(void **)(&init_symlist) = symlist[1].address; - (*init_symlist)(); - } - } - else - { - ++errors; - } - } - - return errors; -} - - - -/* --- PRELOADING API CALL IMPLEMENTATIONS --- */ - - -/* Save a default symbol list for later. */ -int -lt_dlpreload_default (const lt_dlsymlist *preloaded) -{ - default_preloaded_symbols = preloaded; - return 0; -} - - -/* Add a symbol list to the global chain, or with a NULL argument, - revert to just the default list. */ -int -lt_dlpreload (const lt_dlsymlist *preloaded) -{ - int errors = 0; - - if (preloaded) - { - errors = add_symlist (preloaded); - } - else - { - free_symlists(); - - if (default_preloaded_symbols) - { - errors = lt_dlpreload (default_preloaded_symbols); - } - } - - return errors; -} - - -/* Open all the preloaded modules from the named originator, executing - a callback for each one. If ORIGINATOR is NULL, then call FUNC for - each preloaded module from the program itself. */ -int -lt_dlpreload_open (const char *originator, lt_dlpreload_callback_func *func) -{ - symlist_chain *list; - int errors = 0; - int found = 0; - - /* For each symlist in the chain... */ - for (list = preloaded_symlists; list; list = list->next) - { - /* ...that was preloaded by the requesting ORIGINATOR... */ - if ((originator && STREQ (list->symlist->name, originator)) - || (!originator && STREQ (list->symlist->name, "@PROGRAM@"))) - { - const lt_dlsymlist *symbol; - unsigned int idx = 0; - - ++found; - - /* ...load the symbols per source compilation unit: - (we preincrement the index to skip over the originator entry) */ - while ((symbol = &list->symlist[++idx])->name != 0) - { - if ((symbol->address == 0) - && (STRNEQ (symbol->name, "@PROGRAM@"))) - { - lt_dlhandle handle = lt_dlopen (symbol->name); - if (handle == 0) - { - ++errors; - } - else - { - errors += (*func) (handle); - } - } - } - } - } - - if (!found) - { - LT__SETERROR(CANNOT_OPEN); - ++errors; - } - - return errors; -} diff --git a/BUILD/libtool-2.4.7/libltdl/loaders/shl_load.c b/BUILD/libtool-2.4.7/libltdl/loaders/shl_load.c deleted file mode 100644 index 43933b0..0000000 --- a/BUILD/libtool-2.4.7/libltdl/loaders/shl_load.c +++ /dev/null @@ -1,222 +0,0 @@ -/* loader-shl_load.c -- dynamic linking with shl_load (HP-UX) - - Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_dlloader.h" - -/* Use the preprocessor to rename non-static symbols to avoid namespace - collisions when the loader code is statically linked into libltdl. - Use the "_LTX_" prefix so that the symbol addresses can - be fetched from the preloaded symbol list by lt_dlsym(): */ -#define get_vtable shl_load_LTX_get_vtable - -LT_BEGIN_C_DECLS -LT_SCOPE lt_dlvtable *get_vtable (lt_user_data loader_data); -LT_END_C_DECLS - - -/* Boilerplate code to set up the vtable for hooking this loader into - libltdl's loader list: */ -static int vl_exit (lt_user_data loader_data); -static lt_module vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise advise); -static int vm_close (lt_user_data loader_data, lt_module module); -static void * vm_sym (lt_user_data loader_data, lt_module module, - const char *symbolname); - -static lt_dlvtable *vtable = 0; - -/* Return the vtable for this loader, only the name and sym_prefix - attributes (plus the virtual function implementations, obviously) - change between loaders. */ -lt_dlvtable * -get_vtable (lt_user_data loader_data) -{ - if (!vtable) - { - vtable = lt__zalloc (sizeof *vtable); - } - - if (vtable && !vtable->name) - { - vtable->name = "lt_shl_load"; - vtable->module_open = vm_open; - vtable->module_close = vm_close; - vtable->find_sym = vm_sym; - vtable->dlloader_exit = vl_exit; - vtable->dlloader_data = loader_data; - vtable->priority = LT_DLLOADER_APPEND; - } - - if (vtable && (vtable->dlloader_data != loader_data)) - { - LT__SETERROR (INIT_LOADER); - return 0; - } - - return vtable; -} - - - -/* --- IMPLEMENTATION --- */ - - -#if defined HAVE_DL_H -# include -#endif - -/* some flags are missing on some systems, so we provide - * harmless defaults. - * - * Mandatory: - * BIND_IMMEDIATE - Resolve symbol references when the library is loaded. - * BIND_DEFERRED - Delay code symbol resolution until actual reference. - * - * Optionally: - * BIND_FIRST - Place the library at the head of the symbol search - * order. - * BIND_NONFATAL - The default BIND_IMMEDIATE behavior is to treat all - * unsatisfied symbols as fatal. This flag allows - * binding of unsatisfied code symbols to be deferred - * until use. - * [Perl: For certain libraries, like DCE, deferred - * binding often causes run time problems. Adding - * BIND_NONFATAL to BIND_IMMEDIATE still allows - * unresolved references in situations like this.] - * BIND_NOSTART - Do not call the initializer for the shared library - * when the library is loaded, nor on a future call to - * shl_unload(). - * BIND_VERBOSE - Print verbose messages concerning possible - * unsatisfied symbols. - * - * hp9000s700/hp9000s800: - * BIND_RESTRICTED - Restrict symbols visible by the library to those - * present at library load time. - * DYNAMIC_PATH - Allow the loader to dynamically search for the - * library specified by the path argument. - */ - -#if !defined DYNAMIC_PATH -# define DYNAMIC_PATH 0 -#endif -#if !defined BIND_RESTRICTED -# define BIND_RESTRICTED 0 -#endif - -#define LT_BIND_FLAGS (BIND_IMMEDIATE | BIND_NONFATAL | DYNAMIC_PATH) - - -/* A function called through the vtable when this loader is no - longer needed by the application. */ -static int -vl_exit (lt_user_data loader_data LT__UNUSED) -{ - vtable = NULL; - return 0; -} - -/* A function called through the vtable to open a module with this - loader. Returns an opaque representation of the newly opened - module for processing with this loader's other vtable functions. */ -static lt_module -vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, - lt_dladvise advise LT__UNUSED) -{ - static shl_t self = (shl_t) 0; - lt_module module = shl_load (filename, LT_BIND_FLAGS, 0L); - - /* Since searching for a symbol against a NULL module handle will also - look in everything else that was already loaded and exported with - the -E compiler flag, we always cache a handle saved before any - modules are loaded. */ - if (!self) - { - void *address; - shl_findsym (&self, "main", TYPE_UNDEFINED, &address); - } - - if (!filename) - { - module = self; - } - else - { - module = shl_load (filename, LT_BIND_FLAGS, 0L); - - if (!module) - { - LT__SETERROR (CANNOT_OPEN); - } - } - - return module; -} - -/* A function called through the vtable when a particular module - should be unloaded. */ -static int -vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) -{ - int errors = 0; - - if (module && (shl_unload ((shl_t) (module)) != 0)) - { - LT__SETERROR (CANNOT_CLOSE); - ++errors; - } - - return errors; -} - - -/* A function called through the vtable to get the address of - a symbol loaded from a particular module. */ -static void * -vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) -{ - void *address = 0; - - /* sys_shl_open should never return a NULL module handle */ - if (module == (lt_module) 0) - { - LT__SETERROR (INVALID_HANDLE); - } - else if (!shl_findsym((shl_t*) &module, name, TYPE_UNDEFINED, &address)) - { - if (!address) - { - LT__SETERROR (SYMBOL_NOT_FOUND); - } - } - - return address; -} diff --git a/BUILD/libtool-2.4.7/libltdl/lt__alloc.c b/BUILD/libtool-2.4.7/libltdl/lt__alloc.c deleted file mode 100644 index 6e69b2a..0000000 --- a/BUILD/libtool-2.4.7/libltdl/lt__alloc.c +++ /dev/null @@ -1,96 +0,0 @@ -/* lt__alloc.c -- internal memory management interface - - Copyright (C) 2004, 2006-2007, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" - -#include - -#include "lt__alloc.h" - -static void alloc_die_default (void); - -void (*lt__alloc_die) (void) = alloc_die_default; - -/* Unless overridden, exit on memory failure. */ -static void -alloc_die_default (void) -{ - fprintf (stderr, "Out of memory.\n"); - exit (EXIT_FAILURE); -} - -void * -lt__malloc (size_t n) -{ - void *mem; - - if (! (mem = malloc (n))) - (*lt__alloc_die) (); - - return mem; -} - -void * -lt__zalloc (size_t n) -{ - void *mem; - - if ((mem = lt__malloc (n))) - memset (mem, 0, n); - - return mem; -} - -void * -lt__realloc (void *mem, size_t n) -{ - if (! (mem = realloc (mem, n))) - (*lt__alloc_die) (); - - return mem; -} - -void * -lt__memdup (void const *mem, size_t n) -{ - void *newmem; - - if ((newmem = lt__malloc (n))) - return memcpy (newmem, mem, n); - - return 0; -} - -char * -lt__strdup (const char *string) -{ - return (char *) lt__memdup (string, strlen (string) +1); -} diff --git a/BUILD/libtool-2.4.7/libltdl/lt__argz.c b/BUILD/libtool-2.4.7/libltdl/lt__argz.c deleted file mode 100644 index acbc29a..0000000 --- a/BUILD/libtool-2.4.7/libltdl/lt__argz.c +++ /dev/null @@ -1,225 +0,0 @@ -/* lt__argz.c -- argz implementation for non-glibc systems - - Copyright (C) 2004, 2006-2008, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#if defined LTDL && defined LT_CONFIG_H -# include LT_CONFIG_H -#else -# include -#endif - -#include - -#include -#include -#include -#include -#include - -#define EOS_CHAR '\0' - -error_t -argz_append (char **pargz, size_t *pargz_len, const char *buf, size_t buf_len) -{ - size_t argz_len; - char *argz; - - assert (pargz); - assert (pargz_len); - assert ((*pargz && *pargz_len) || (!*pargz && !*pargz_len)); - - /* If nothing needs to be appended, no more work is required. */ - if (buf_len == 0) - return 0; - - /* Ensure there is enough room to append BUF_LEN. */ - argz_len = *pargz_len + buf_len; - argz = (char *) realloc (*pargz, argz_len); - if (!argz) - return ENOMEM; - - /* Copy characters from BUF after terminating '\0' in ARGZ. */ - memcpy (argz + *pargz_len, buf, buf_len); - - /* Assign new values. */ - *pargz = argz; - *pargz_len = argz_len; - - return 0; -} - - -error_t -argz_create_sep (const char *str, int delim, char **pargz, size_t *pargz_len) -{ - size_t argz_len; - char *argz = 0; - - assert (str); - assert (pargz); - assert (pargz_len); - - /* Make a copy of STR, but replacing each occurrence of - DELIM with '\0'. */ - argz_len = 1+ strlen (str); - if (argz_len) - { - const char *p; - char *q; - - argz = (char *) malloc (argz_len); - if (!argz) - return ENOMEM; - - for (p = str, q = argz; *p != EOS_CHAR; ++p) - { - if (*p == delim) - { - /* Ignore leading delimiters, and fold consecutive - delimiters in STR into a single '\0' in ARGZ. */ - if ((q > argz) && (q[-1] != EOS_CHAR)) - *q++ = EOS_CHAR; - else - --argz_len; - } - else - *q++ = *p; - } - /* Copy terminating EOS_CHAR. */ - *q = *p; - } - - /* If ARGZ_LEN has shrunk to nothing, release ARGZ's memory. */ - if (!argz_len) - argz = (free (argz), (char *) 0); - - /* Assign new values. */ - *pargz = argz; - *pargz_len = argz_len; - - return 0; -} - - -error_t -argz_insert (char **pargz, size_t *pargz_len, char *before, const char *entry) -{ - assert (pargz); - assert (pargz_len); - assert (entry && *entry); - - /* No BEFORE address indicates ENTRY should be inserted after the - current last element. */ - if (!before) - return argz_append (pargz, pargz_len, entry, 1+ strlen (entry)); - - /* This probably indicates a programmer error, but to preserve - semantics, scan back to the start of an entry if BEFORE points - into the middle of it. */ - while ((before > *pargz) && (before[-1] != EOS_CHAR)) - --before; - - { - size_t entry_len = 1+ strlen (entry); - size_t argz_len = *pargz_len + entry_len; - size_t offset = before - *pargz; - char *argz = (char *) realloc (*pargz, argz_len); - - if (!argz) - return ENOMEM; - - /* Make BEFORE point to the equivalent offset in ARGZ that it - used to have in *PARGZ incase realloc() moved the block. */ - before = argz + offset; - - /* Move the ARGZ entries starting at BEFORE up into the new - space at the end -- making room to copy ENTRY into the - resulting gap. */ - memmove (before + entry_len, before, *pargz_len - offset); - memcpy (before, entry, entry_len); - - /* Assign new values. */ - *pargz = argz; - *pargz_len = argz_len; - } - - return 0; -} - - -char * -argz_next (char *argz, size_t argz_len, const char *entry) -{ - assert ((argz && argz_len) || (!argz && !argz_len)); - - if (entry) - { - /* Either ARGZ/ARGZ_LEN is empty, or ENTRY points into an address - within the ARGZ vector. */ - assert ((!argz && !argz_len) - || ((argz <= entry) && (entry < (argz + argz_len)))); - - /* Move to the char immediately after the terminating - '\0' of ENTRY. */ - entry = 1+ strchr (entry, EOS_CHAR); - - /* Return either the new ENTRY, or else NULL if ARGZ is - exhausted. */ - return (entry >= argz + argz_len) ? 0 : (char *) entry; - } - else - { - /* This should probably be flagged as a programmer error, - since starting an argz_next loop with the iterator set - to ARGZ is safer. To preserve semantics, handle the NULL - case by returning the start of ARGZ (if any). */ - if (argz_len > 0) - return argz; - else - return 0; - } -} - - -void -argz_stringify (char *argz, size_t argz_len, int sep) -{ - assert ((argz && argz_len) || (!argz && !argz_len)); - - if (sep) - { - --argz_len; /* don't stringify the terminating EOS */ - while (--argz_len > 0) - { - if (argz[argz_len] == EOS_CHAR) - argz[argz_len] = sep; - } - } -} diff --git a/BUILD/libtool-2.4.7/libltdl/lt__dirent.c b/BUILD/libtool-2.4.7/libltdl/lt__dirent.c deleted file mode 100644 index bb5a180..0000000 --- a/BUILD/libtool-2.4.7/libltdl/lt__dirent.c +++ /dev/null @@ -1,107 +0,0 @@ -/* lt__dirent.c -- internal directory entry scanning interface - - Copyright (C) 2001, 2004, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Bob Friesenhahn, 2001 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" - -#include - -#include "lt__dirent.h" - -#if defined __WINDOWS__ - -void -closedir (DIR *entry) -{ - assert (entry != (DIR *) NULL); - FindClose (entry->hSearch); - free (entry); -} - - -DIR * -opendir (const char *path) -{ - char file_spec[LT_FILENAME_MAX]; - DIR *entry; - - assert (path != (char *) 0); - if (lt_strlcpy (file_spec, path, sizeof file_spec) >= sizeof file_spec - || lt_strlcat (file_spec, "\\", sizeof file_spec) >= sizeof file_spec) - return (DIR *) 0; - entry = (DIR *) malloc (sizeof(DIR)); - if (entry != (DIR *) 0) - { - entry->firsttime = TRUE; - entry->hSearch = FindFirstFile (file_spec, &entry->Win32FindData); - - if (entry->hSearch == INVALID_HANDLE_VALUE) - { - if (lt_strlcat (file_spec, "\\*.*", sizeof file_spec) < sizeof file_spec) - { - entry->hSearch = FindFirstFile (file_spec, &entry->Win32FindData); - } - - if (entry->hSearch == INVALID_HANDLE_VALUE) - { - entry = (free (entry), (DIR *) 0); - } - } - } - - return entry; -} - - -struct dirent * -readdir (DIR *entry) -{ - int status; - - if (entry == (DIR *) 0) - return (struct dirent *) 0; - - if (!entry->firsttime) - { - status = FindNextFile (entry->hSearch, &entry->Win32FindData); - if (status == 0) - return (struct dirent *) 0; - } - - entry->firsttime = FALSE; - if (lt_strlcpy (entry->file_info.d_name, entry->Win32FindData.cFileName, - sizeof entry->file_info.d_name) >= sizeof entry->file_info.d_name) - return (struct dirent *) 0; - entry->file_info.d_namlen = strlen (entry->file_info.d_name); - - return &entry->file_info; -} - -#endif /*defined __WINDOWS__*/ diff --git a/BUILD/libtool-2.4.7/libltdl/lt__strl.c b/BUILD/libtool-2.4.7/libltdl/lt__strl.c deleted file mode 100644 index 0170169..0000000 --- a/BUILD/libtool-2.4.7/libltdl/lt__strl.c +++ /dev/null @@ -1,128 +0,0 @@ -/* lt__strl.c -- size-bounded string copying and concatenation - - Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, - Inc. - Written by Bob Friesenhahn, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include -#include - -#include "lt__strl.h" - -/* - lt_strlcat appends the NULL-terminated string src to the end of dst. - It will append at most dstsize - strlen(dst) - 1 bytes, - NULL-terminating the result. The total length of the string that - would have been created given sufficient buffer size (may be longer - than dstsize) is returned. This function substitutes for strlcat(), - which is available under NetBSD, FreeBSD and Solaris 9. - - Buffer overflow can be checked as follows: - - if (lt_strlcat(dst, src, dstsize) >= dstsize) - return -1; -*/ -#if !defined HAVE_STRLCAT -size_t -lt_strlcat(char *dst, const char *src, const size_t dstsize) -{ - size_t length; - char *p; - const char *q; - - assert(dst != NULL); - assert(src != (const char *) NULL); - assert(dstsize >= 1); - - length=strlen(dst); - - /* - Copy remaining characters from src while constraining length to - size - 1. - */ - for ( p = dst + length, q = src; - (*q != 0) && (length < dstsize - 1); - length++, p++, q++ ) - *p = *q; - - dst[length]='\0'; - - /* - Add remaining length of src to length. - */ - while (*q++) - length++; - - return length; -} -#endif /* !defined HAVE_STRLCAT */ - -/* - lt_strlcpy copies up to dstsize - 1 characters from the NULL-terminated - string src to dst, NULL-terminating the result. The total length of - the string that would have been created given sufficient buffer - size (may be longer than dstsize) is returned. This function - substitutes for strlcpy(), which is available under OpenBSD, FreeBSD - and Solaris 9. - - Buffer overflow can be checked as follows: - - if (lt_strlcpy(dst, src, dstsize) >= dstsize) - return -1; -*/ -#if !defined HAVE_STRLCPY -size_t -lt_strlcpy(char *dst, const char *src, const size_t dstsize) -{ - size_t length=0; - char *p; - const char *q; - - assert(dst != NULL); - assert(src != (const char *) NULL); - assert(dstsize >= 1); - - /* - Copy src to dst within bounds of size-1. - */ - for ( p=dst, q=src, length=0; - (*q != 0) && (length < dstsize-1); - length++, p++, q++ ) - *p = *q; - - dst[length]='\0'; - - /* - Add remaining length of src to length. - */ - while (*q++) - length++; - - return length; -} -#endif /* !defined HAVE_STRLCPY */ diff --git a/BUILD/libtool-2.4.7/libltdl/lt_dlloader.c b/BUILD/libtool-2.4.7/libltdl/lt_dlloader.c deleted file mode 100644 index 6f6fcfe..0000000 --- a/BUILD/libtool-2.4.7/libltdl/lt_dlloader.c +++ /dev/null @@ -1,215 +0,0 @@ -/* lt_dlloader.c -- dynamic library loader interface - - Copyright (C) 2004, 2007-2008, 2011-2019, 2021-2022 Free Software - Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_dlloader.h" - -#define RETURN_SUCCESS 0 -#define RETURN_FAILURE 1 - -static void * loader_callback (SList *item, void *userdata); - -/* A list of all the dlloaders we know about, each stored as a boxed - SList item: */ -static SList *loaders = 0; - - -/* Return NULL, unless the loader in this ITEM has a matching name, - in which case we return the matching item so that its address is - passed back out (for possible freeing) by slist_remove. */ -static void * -loader_callback (SList *item, void *userdata) -{ - const lt_dlvtable *vtable = (const lt_dlvtable *) item->userdata; - const char * name = (const char *) userdata; - - assert (vtable); - - return STREQ (vtable->name, name) ? (void *) item : NULL; -} - - -/* Hook VTABLE into our global LOADERS list according to its own - PRIORITY field value. */ -int -lt_dlloader_add (const lt_dlvtable *vtable) -{ - SList *item; - - if ((vtable == 0) /* diagnose invalid vtable fields */ - || (vtable->module_open == 0) - || (vtable->module_close == 0) - || (vtable->find_sym == 0) - || ((vtable->priority != LT_DLLOADER_PREPEND) && - (vtable->priority != LT_DLLOADER_APPEND))) - { - LT__SETERROR (INVALID_LOADER); - return RETURN_FAILURE; - } - - item = slist_box (vtable); - if (!item) - { - (*lt__alloc_die) (); - - /* Let the caller know something went wrong if lt__alloc_die - doesn't abort. */ - return RETURN_FAILURE; - } - - if (vtable->priority == LT_DLLOADER_PREPEND) - { - loaders = slist_cons (item, loaders); - } - else - { - assert (vtable->priority == LT_DLLOADER_APPEND); - loaders = slist_concat (loaders, item); - } - - return RETURN_SUCCESS; -} - -#ifdef LT_DEBUG_LOADERS -static void * -loader_dump_callback (SList *item, void *userdata) -{ - const lt_dlvtable *vtable = (const lt_dlvtable *) item->userdata; - fprintf (stderr, ", %s", (vtable && vtable->name) ? vtable->name : "(null)"); - return 0; -} - -void -lt_dlloader_dump (void) -{ - fprintf (stderr, "loaders: "); - if (!loaders) - { - fprintf (stderr, "(empty)"); - } - else - { - const lt_dlvtable *head = (const lt_dlvtable *) loaders->userdata; - fprintf (stderr, "%s", (head && head->name) ? head->name : "(null)"); - if (slist_tail (loaders)) - slist_foreach (slist_tail (loaders), loader_dump_callback, NULL); - } - fprintf (stderr, "\n"); -} -#endif - -/* An iterator for the global loader list: if LOADER is NULL, then - return the first element, otherwise the following element. */ -lt_dlloader -lt_dlloader_next (lt_dlloader loader) -{ - SList *item = (SList *) loader; - return (lt_dlloader) (item ? item->next : loaders); -} - - -/* Non-destructive unboxing of a loader. */ -const lt_dlvtable * -lt_dlloader_get (lt_dlloader loader) -{ - return (const lt_dlvtable *) (loader ? ((SList *) loader)->userdata : NULL); -} - - -/* Return the contents of the first item in the global loader list - with a matching NAME after removing it from that list. If there - was no match, return NULL; if there is an error, return NULL and - set an error for lt_dlerror; do not set an error if only resident - modules need this loader; in either case, the loader list is not - changed if NULL is returned. */ -lt_dlvtable * -lt_dlloader_remove (const char *name) -{ - const lt_dlvtable * vtable = lt_dlloader_find (name); - static const char id_string[] = "lt_dlloader_remove"; - lt_dlinterface_id iface; - lt_dlhandle handle = 0; - int in_use = 0; - int in_use_by_resident = 0; - - if (!vtable) - { - LT__SETERROR (INVALID_LOADER); - return 0; - } - - /* Fail if there are any open modules that use this loader. */ - iface = lt_dlinterface_register (id_string, NULL); - if (!iface) - /* No memory, error is already set. */ - return 0; - - while ((handle = lt_dlhandle_iterate (iface, handle))) - { - lt_dlhandle cur = handle; - if (cur->vtable == vtable) - { - in_use = 1; - if (lt_dlisresident (handle)) - in_use_by_resident = 1; - } - } - lt_dlinterface_free (iface); - if (in_use) - { - if (!in_use_by_resident) - LT__SETERROR (REMOVE_LOADER); - return 0; - } - - /* Call the loader finalisation function. */ - if (vtable && vtable->dlloader_exit) - { - if ((*vtable->dlloader_exit) (vtable->dlloader_data) != 0) - { - /* If there is an exit function, and it returns non-zero - then it must set an error, and we will not remove it - from the list. */ - return 0; - } - } - - /* If we got this far, remove the loader from our global list. */ - return (lt_dlvtable *) - slist_unbox ((SList *) slist_remove (&loaders, loader_callback, (void *) name)); -} - - -const lt_dlvtable * -lt_dlloader_find (const char *name) -{ - return lt_dlloader_get (slist_find (loaders, loader_callback, (void *) name)); -} diff --git a/BUILD/libtool-2.4.7/libltdl/lt_error.c b/BUILD/libtool-2.4.7/libltdl/lt_error.c deleted file mode 100644 index 23ac77e..0000000 --- a/BUILD/libtool-2.4.7/libltdl/lt_error.c +++ /dev/null @@ -1,111 +0,0 @@ -/* lt_error.c -- error propagation interface - - Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1999 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_error.h" - -static const char *last_error = 0; -static const char error_strings[LT_ERROR_MAX][LT_ERROR_LEN_MAX + 1] = - { -#define LT_ERROR(name, diagnostic) diagnostic, - lt_dlerror_table -#undef LT_ERROR - }; - -static const char **user_error_strings = 0; -static int errorcount = LT_ERROR_MAX; - -int -lt_dladderror (const char *diagnostic) -{ - int errindex = 0; - int result = -1; - const char **temp = (const char **) 0; - - assert (diagnostic); - - errindex = errorcount - LT_ERROR_MAX; - temp = REALLOC (const char *, user_error_strings, 1 + errindex); - if (temp) - { - user_error_strings = temp; - user_error_strings[errindex] = diagnostic; - result = errorcount++; - } - - return result; -} - -int -lt_dlseterror (int errindex) -{ - int errors = 0; - - if (errindex >= errorcount || errindex < 0) - { - /* Ack! Error setting the error message! */ - LT__SETERROR (INVALID_ERRORCODE); - ++errors; - } - else if (errindex < LT_ERROR_MAX) - { - /* No error setting the error message! */ - LT__SETERRORSTR (error_strings[errindex]); - } - else - { - /* No error setting the error message! */ - LT__SETERRORSTR (user_error_strings[errindex - LT_ERROR_MAX]); - } - - return errors; -} - -const char * -lt__error_string (int errorcode) -{ - assert (errorcode >= 0); - assert (errorcode < LT_ERROR_MAX); - - return error_strings[errorcode]; -} - -const char * -lt__get_last_error (void) -{ - return last_error; -} - -const char * -lt__set_last_error (const char *errormsg) -{ - return last_error = errormsg; -} diff --git a/BUILD/libtool-2.4.7/libltdl/ltdl.c b/BUILD/libtool-2.4.7/libltdl/ltdl.c deleted file mode 100644 index 607c6b7..0000000 --- a/BUILD/libtool-2.4.7/libltdl/ltdl.c +++ /dev/null @@ -1,2471 +0,0 @@ -/* ltdl.c -- system independent dlopen wrapper - - Copyright (C) 1998-2000, 2004-2008, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Thomas Tanner, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "lt__private.h" -#include "lt_system.h" -#include "lt_dlloader.h" - - -/* --- MANIFEST CONSTANTS --- */ - - -/* Standard libltdl search path environment variable name */ -#undef LTDL_SEARCHPATH_VAR -#define LTDL_SEARCHPATH_VAR "LTDL_LIBRARY_PATH" - -/* Standard libtool archive file extension. */ -#undef LT_ARCHIVE_EXT -#define LT_ARCHIVE_EXT ".la" - -/* max. filename length */ -#if !defined LT_FILENAME_MAX -# define LT_FILENAME_MAX 1024 -#endif - -#if !defined LT_LIBEXT -# define LT_LIBEXT "a" -#endif - -#if !defined LT_LIBPREFIX -# define LT_LIBPREFIX "lib" -#endif - -/* This is the maximum symbol size that won't require malloc/free */ -#undef LT_SYMBOL_LENGTH -#define LT_SYMBOL_LENGTH 128 - -/* This accounts for the _LTX_ separator */ -#undef LT_SYMBOL_OVERHEAD -#define LT_SYMBOL_OVERHEAD 5 - -/* Various boolean flags can be stored in the flags field of an - lt_dlhandle... */ -#define LT_DLIS_RESIDENT(handle) ((handle)->info.is_resident) -#define LT_DLIS_SYMGLOBAL(handle) ((handle)->info.is_symglobal) -#define LT_DLIS_SYMLOCAL(handle) ((handle)->info.is_symlocal) - - -static const char objdir[] = LT_OBJDIR; -static const char archive_ext[] = LT_ARCHIVE_EXT; -static const char libext[] = LT_LIBEXT; -static const char libprefix[] = LT_LIBPREFIX; -#if defined LT_MODULE_EXT -static const char shlib_ext[] = LT_MODULE_EXT; -#endif -/* If the loadable module suffix is not the same as the linkable - * shared library suffix, this will be defined. */ -#if defined LT_SHARED_EXT -static const char shared_ext[] = LT_SHARED_EXT; -#endif -#if defined LT_DLSEARCH_PATH -static const char sys_dlsearch_path[] = LT_DLSEARCH_PATH; -#endif - - - - -/* --- DYNAMIC MODULE LOADING --- */ - - -/* The type of a function used at each iteration of foreach_dirinpath(). */ -typedef int foreach_callback_func (char *filename, void *data1, - void *data2); -/* foreachfile_callback itself calls a function of this type: */ -typedef int file_worker_func (const char *filename, void *data); - - -static int foreach_dirinpath (const char *search_path, - const char *base_name, - foreach_callback_func *func, - void *data1, void *data2); -static int find_file_callback (char *filename, void *data1, - void *data2); -static int find_handle_callback (char *filename, void *data, - void *ignored); -static int foreachfile_callback (char *filename, void *data1, - void *data2); - - -static int canonicalize_path (const char *path, char **pcanonical); -static int argzize_path (const char *path, - char **pargz, size_t *pargz_len); -static FILE *find_file (const char *search_path, - const char *base_name, char **pdir); -static lt_dlhandle *find_handle (const char *search_path, - const char *base_name, - lt_dlhandle *handle, - lt_dladvise advise); -static int find_module (lt_dlhandle *handle, const char *dir, - const char *libdir, const char *dlname, - const char *old_name, int installed, - lt_dladvise advise); -static int has_library_ext (const char *filename); -static int load_deplibs (lt_dlhandle handle, char *deplibs); -static int trim (char **dest, const char *str); -static int try_dlopen (lt_dlhandle *handle, - const char *filename, const char *ext, - lt_dladvise advise); -static int tryall_dlopen (lt_dlhandle *handle, - const char *filename, - lt_dladvise padvise, - const lt_dlvtable *vtable); -static int unload_deplibs (lt_dlhandle handle); -static int lt_argz_insert (char **pargz, size_t *pargz_len, - char *before, const char *entry); -static int lt_argz_insertinorder (char **pargz, size_t *pargz_len, - const char *entry); -static int lt_argz_insertdir (char **pargz, size_t *pargz_len, - const char *dirnam, struct dirent *dp); -static int lt_dlpath_insertdir (char **ppath, char *before, - const char *dir); -static int list_files_by_dir (const char *dirnam, - char **pargz, size_t *pargz_len); -static int file_not_found (void); - -#ifdef HAVE_LIBDLLOADER -static int loader_init_callback (lt_dlhandle handle); -#endif /* HAVE_LIBDLLOADER */ - -static int loader_init (lt_get_vtable *vtable_func, - lt_user_data data); - -static char *user_search_path= 0; -static lt_dlhandle handles = 0; -static int initialized = 0; - -/* Our memory failure callback sets the error message to be passed back - up to the client, so we must be careful to return from mallocation - callers if allocation fails (as this callback returns!!). */ -void -lt__alloc_die_callback (void) -{ - LT__SETERROR (NO_MEMORY); -} - -#ifdef HAVE_LIBDLLOADER -/* This function is called to initialise each preloaded module loader, - and hook it into the list of loaders to be used when attempting to - dlopen an application module. */ -static int -loader_init_callback (lt_dlhandle handle) -{ - lt_get_vtable *vtable_func = (lt_get_vtable *) lt_dlsym (handle, "get_vtable"); - return loader_init (vtable_func, 0); -} -#endif /* HAVE_LIBDLLOADER */ - -static int -loader_init (lt_get_vtable *vtable_func, lt_user_data data) -{ - const lt_dlvtable *vtable = 0; - int errors = 0; - - if (vtable_func) - { - vtable = (*vtable_func) (data); - } - - /* lt_dlloader_add will LT__SETERROR if it fails. */ - errors += lt_dlloader_add (vtable); - - assert (errors || vtable); - - if ((!errors) && vtable->dlloader_init) - { - if ((*vtable->dlloader_init) (vtable->dlloader_data)) - { - LT__SETERROR (INIT_LOADER); - ++errors; - } - } - - return errors; -} - -/* Bootstrap the loader loading with the preopening loader. */ -#define get_vtable preopen_LTX_get_vtable -#define preloaded_symbols LT_CONC3(lt_, LTDLOPEN, _LTX_preloaded_symbols) - -LT_BEGIN_C_DECLS -LT_SCOPE const lt_dlvtable * get_vtable (lt_user_data data); -LT_END_C_DECLS -#ifdef HAVE_LIBDLLOADER -extern LT_DLSYM_CONST lt_dlsymlist preloaded_symbols[]; -#endif - -/* Initialize libltdl. */ -int -lt_dlinit (void) -{ - int errors = 0; - - /* Initialize only at first call. */ - if (++initialized == 1) - { - lt__alloc_die = lt__alloc_die_callback; - handles = 0; - user_search_path = 0; /* empty search path */ - - /* First set up the statically loaded preload module loader, so - we can use it to preopen the other loaders we linked in at - compile time. */ - errors += loader_init (get_vtable, 0); - - /* Now open all the preloaded module loaders, so the application - can use _them_ to lt_dlopen its own modules. */ -#ifdef HAVE_LIBDLLOADER - if (!errors) - { - errors += lt_dlpreload (preloaded_symbols); - } - - if (!errors) - { - errors += lt_dlpreload_open (LT_STR(LTDLOPEN), loader_init_callback); - } -#endif /* HAVE_LIBDLLOADER */ - } - -#ifdef LT_DEBUG_LOADERS - lt_dlloader_dump(); -#endif - - return errors; -} - -int -lt_dlexit (void) -{ - /* shut down libltdl */ - lt_dlloader *loader = 0; - lt_dlhandle handle = handles; - int errors = 0; - - if (!initialized) - { - LT__SETERROR (SHUTDOWN); - ++errors; - goto done; - } - - /* shut down only at last call. */ - if (--initialized == 0) - { - int level; - - while (handles && LT_DLIS_RESIDENT (handles)) - { - handles = handles->next; - } - - /* close all modules */ - for (level = 1; handle; ++level) - { - lt_dlhandle cur = handles; - int saw_nonresident = 0; - - while (cur) - { - lt_dlhandle tmp = cur; - cur = cur->next; - if (!LT_DLIS_RESIDENT (tmp)) - { - saw_nonresident = 1; - if (tmp->info.ref_count <= level) - { - if (lt_dlclose (tmp)) - { - ++errors; - } - /* Make sure that the handle pointed to by 'cur' still exists. - lt_dlclose recursively closes dependent libraries, which removes - them from the linked list. One of these might be the one - pointed to by 'cur'. */ - if (cur) - { - for (tmp = handles; tmp; tmp = tmp->next) - if (tmp == cur) - break; - if (! tmp) - cur = handles; - } - } - } - } - /* done if only resident modules are left */ - if (!saw_nonresident) - break; - } - - /* When removing loaders, we can only find out failure by testing - the error string, so avoid a spurious one from an earlier - failed command. */ - if (!errors) - LT__SETERRORSTR (0); - - /* close all loaders */ - for (loader = (lt_dlloader *) lt_dlloader_next (NULL); loader;) - { - lt_dlloader *next = (lt_dlloader *) lt_dlloader_next (loader); - lt_dlvtable *vtable = (lt_dlvtable *) lt_dlloader_get (loader); - - if ((vtable = lt_dlloader_remove ((char *) vtable->name))) - { - FREE (vtable); - } - else - { - /* ignore errors due to resident modules */ - const char *err; - LT__GETERROR (err); - if (err) - ++errors; - } - - loader = next; - } - - FREE(user_search_path); - } - - done: - return errors; -} - - -/* Try VTABLE or, if VTABLE is NULL, all available loaders for FILENAME. - If the library is not successfully loaded, return non-zero. Otherwise, - the dlhandle is stored at the address given in PHANDLE. */ -static int -tryall_dlopen (lt_dlhandle *phandle, const char *filename, - lt_dladvise advise, const lt_dlvtable *vtable) -{ - lt_dlhandle handle = handles; - const char * saved_error = 0; - int errors = 0; - -#ifdef LT_DEBUG_LOADERS - fprintf (stderr, "tryall_dlopen (%s, %s)\n", - filename ? filename : "(null)", - vtable ? vtable->name : "(ALL)"); -#endif - - LT__GETERROR (saved_error); - - /* check whether the module was already opened */ - for (;handle; handle = handle->next) - { - if ((handle->info.filename == filename) /* dlopen self: 0 == 0 */ - || (handle->info.filename && filename - && STREQ (handle->info.filename, filename))) - { - break; - } - } - - if (handle) - { - ++handle->info.ref_count; - *phandle = handle; - goto done; - } - - handle = *phandle; - if (filename) - { - /* Comment out the check of file permissions using access. - This call seems to always return -1 with error EACCES. - */ - /* We need to catch missing file errors early so that - file_not_found() can detect what happened. - if (access (filename, R_OK) != 0) - { - LT__SETERROR (FILE_NOT_FOUND); - ++errors; - goto done; - } */ - - handle->info.filename = lt__strdup (filename); - if (!handle->info.filename) - { - ++errors; - goto done; - } - } - else - { - handle->info.filename = 0; - } - - { - lt_dlloader loader = lt_dlloader_next (0); - const lt_dlvtable *loader_vtable; - - do - { - if (vtable) - loader_vtable = vtable; - else - loader_vtable = lt_dlloader_get (loader); - -#ifdef LT_DEBUG_LOADERS - fprintf (stderr, "Calling %s->module_open (%s)\n", - (loader_vtable && loader_vtable->name) ? loader_vtable->name : "(null)", - filename ? filename : "(null)"); -#endif - handle->module = (*loader_vtable->module_open) (loader_vtable->dlloader_data, - filename, advise); -#ifdef LT_DEBUG_LOADERS - if (!handle->module) { - char *error; - LT__GETERROR(error); - fprintf (stderr, " Result: Failed\n" - " Error message << %s >>\n", - error ? error : "(null)"); - } else { - fprintf (stderr, " Result: Success\n"); - } -#endif - - if (handle->module != 0) - { - if (advise) - { - handle->info.is_resident = advise->is_resident; - handle->info.is_symglobal = advise->is_symglobal; - handle->info.is_symlocal = advise->is_symlocal; - } - break; - } - } - while (!vtable && (loader = lt_dlloader_next (loader))); - - /* If VTABLE was given but couldn't open the module, or VTABLE wasn't - given but we exhausted all loaders without opening the module, bail - out! */ - if ((vtable && !handle->module) - || (!vtable && !loader)) - { - FREE (handle->info.filename); - ++errors; - goto done; - } - - handle->vtable = loader_vtable; - } - - LT__SETERRORSTR (saved_error); - - done: - return errors; -} - - -static int -tryall_dlopen_module (lt_dlhandle *handle, const char *prefix, - const char *dirname, const char *dlname, - lt_dladvise advise) -{ - int error = 0; - char *filename = 0; - size_t filename_len = 0; - size_t dirname_len = LT_STRLEN (dirname); - - assert (handle); - assert (dirname); - assert (dlname); -#if defined LT_DIRSEP_CHAR - /* Only canonicalized names (i.e. with DIRSEP chars already converted) - should make it into this function: */ - assert (strchr (dirname, LT_DIRSEP_CHAR) == 0); -#endif - - if (dirname_len > 0) - if (dirname[dirname_len -1] == '/') - --dirname_len; - filename_len = dirname_len + 1 + LT_STRLEN (dlname); - - /* Allocate memory, and combine DIRNAME and MODULENAME into it. - The PREFIX (if any) is handled below. */ - filename = MALLOC (char, filename_len + 1); - if (!filename) - return 1; - - sprintf (filename, "%.*s/%s", (int) dirname_len, dirname, dlname); - - /* Now that we have combined DIRNAME and MODULENAME, if there is - also a PREFIX to contend with, simply recurse with the arguments - shuffled. Otherwise, attempt to open FILENAME as a module. */ - if (prefix) - { - error += tryall_dlopen_module (handle, (const char *) 0, - prefix, filename, advise); - } - else if (tryall_dlopen (handle, filename, advise, 0) != 0) - { - ++error; - } - - FREE (filename); - return error; -} - -static int -find_module (lt_dlhandle *handle, const char *dir, const char *libdir, - const char *dlname, const char *old_name, int installed, - lt_dladvise advise) -{ - /* Try to open the old library first; if it was dlpreopened, - we want the preopened version of it, even if a dlopenable - module is available. */ - if (old_name && tryall_dlopen (handle, old_name, - advise, lt_dlloader_find ("lt_preopen") ) == 0) - { - return 0; - } - - /* Try to open the dynamic library. */ - if (dlname) - { - /* try to open the installed module */ - if (installed && libdir) - { - if (tryall_dlopen_module (handle, (const char *) 0, - libdir, dlname, advise) == 0) - return 0; - } - - /* try to open the not-installed module */ - if (!installed) - { - if (tryall_dlopen_module (handle, dir, objdir, - dlname, advise) == 0) - return 0; - } - - /* maybe it was moved to another directory */ - { - if (dir && (tryall_dlopen_module (handle, (const char *) 0, - dir, dlname, advise) == 0)) - return 0; - } - } - - return 1; -} - - -static int -canonicalize_path (const char *path, char **pcanonical) -{ - char *canonical = 0; - - assert (path && *path); - assert (pcanonical); - - canonical = MALLOC (char, 1+ LT_STRLEN (path)); - if (!canonical) - return 1; - - { - size_t dest = 0; - size_t src; - for (src = 0; path[src] != LT_EOS_CHAR; ++src) - { - /* Path separators are not copied to the beginning or end of - the destination, or if another separator would follow - immediately. */ - if (path[src] == LT_PATHSEP_CHAR) - { - if ((dest == 0) - || (path[1+ src] == LT_PATHSEP_CHAR) - || (path[1+ src] == LT_EOS_CHAR)) - continue; - } - - /* Anything other than a directory separator is copied verbatim. */ - if ((path[src] != '/') -#if defined LT_DIRSEP_CHAR - && (path[src] != LT_DIRSEP_CHAR) -#endif - ) - { - canonical[dest++] = path[src]; - } - /* Directory separators are converted and copied only if they are - not at the end of a path -- i.e. before a path separator or - NULL terminator. */ - else if ((path[1+ src] != LT_PATHSEP_CHAR) - && (path[1+ src] != LT_EOS_CHAR) -#if defined LT_DIRSEP_CHAR - && (path[1+ src] != LT_DIRSEP_CHAR) -#endif - && (path[1+ src] != '/')) - { - canonical[dest++] = '/'; - } - } - - /* Add an end-of-string marker at the end. */ - canonical[dest] = LT_EOS_CHAR; - } - - /* Assign new value. */ - *pcanonical = canonical; - - return 0; -} - -static int -argzize_path (const char *path, char **pargz, size_t *pargz_len) -{ - error_t error; - - assert (path); - assert (pargz); - assert (pargz_len); - - if ((error = argz_create_sep (path, LT_PATHSEP_CHAR, pargz, pargz_len))) - { - switch (error) - { - case ENOMEM: - LT__SETERROR (NO_MEMORY); - break; - default: - LT__SETERROR (UNKNOWN); - break; - } - - return 1; - } - - return 0; -} - -/* Repeatedly call FUNC with each LT_PATHSEP_CHAR delimited element - of SEARCH_PATH and references to DATA1 and DATA2, until FUNC returns - non-zero or all elements are exhausted. If BASE_NAME is non-NULL, - it is appended to each SEARCH_PATH element before FUNC is called. */ -static int -foreach_dirinpath (const char *search_path, const char *base_name, - foreach_callback_func *func, void *data1, void *data2) -{ - int result = 0; - size_t filenamesize = 0; - size_t lenbase = LT_STRLEN (base_name); - size_t argz_len = 0; - char *argz = 0; - char *filename = 0; - char *canonical = 0; - - if (!search_path || !*search_path) - { - LT__SETERROR (FILE_NOT_FOUND); - goto cleanup; - } - - if (canonicalize_path (search_path, &canonical) != 0) - goto cleanup; - - if (argzize_path (canonical, &argz, &argz_len) != 0) - goto cleanup; - - { - char *dir_name = 0; - while ((dir_name = argz_next (argz, argz_len, dir_name))) - { - size_t lendir = LT_STRLEN (dir_name); - - if (1+ lendir + lenbase >= filenamesize) - { - FREE (filename); - filenamesize = 1+ lendir + 1+ lenbase; /* "/d" + '/' + "f" + '\0' */ - filename = MALLOC (char, filenamesize); - if (!filename) - goto cleanup; - } - - assert (filenamesize > lendir); - strcpy (filename, dir_name); - - if (base_name && *base_name) - { - if (filename[lendir -1] != '/') - filename[lendir++] = '/'; - strcpy (filename +lendir, base_name); - } - - if ((result = (*func) (filename, data1, data2))) - { - break; - } - } - } - - cleanup: - FREE (argz); - FREE (canonical); - FREE (filename); - - return result; -} - -/* If FILEPATH can be opened, store the name of the directory component - in DATA1, and the opened FILE* structure address in DATA2. Otherwise - DATA1 is unchanged, but DATA2 is set to a pointer to NULL. */ -static int -find_file_callback (char *filename, void *data1, void *data2) -{ - char **pdir = (char **) data1; - FILE **pfile = (FILE **) data2; - int is_done = 0; - - assert (filename && *filename); - assert (pdir); - assert (pfile); - - if ((*pfile = fopen (filename, LT_READTEXT_MODE))) - { - char *dirend = strrchr (filename, '/'); - - if (dirend > filename) - *dirend = LT_EOS_CHAR; - - FREE (*pdir); - *pdir = lt__strdup (filename); - is_done = (*pdir == 0) ? -1 : 1; - } - - return is_done; -} - -static FILE * -find_file (const char *search_path, const char *base_name, char **pdir) -{ - FILE *file = 0; - - foreach_dirinpath (search_path, base_name, find_file_callback, pdir, &file); - - return file; -} - -static int -find_handle_callback (char *filename, void *data, void *data2) -{ - lt_dlhandle *phandle = (lt_dlhandle *) data; - int notfound = access (filename, R_OK); - lt_dladvise advise = (lt_dladvise) data2; - - /* Bail out if file cannot be read... */ - if (notfound) - return 0; - - /* Try to dlopen the file, but do not continue searching in any - case. */ - if (tryall_dlopen (phandle, filename, advise, 0) != 0) - *phandle = 0; - - return 1; -} - -/* If HANDLE was found return it, otherwise return 0. If HANDLE was - found but could not be opened, *HANDLE will be set to 0. */ -static lt_dlhandle * -find_handle (const char *search_path, const char *base_name, - lt_dlhandle *phandle, lt_dladvise advise) -{ - if (!search_path) - return 0; - - if (!foreach_dirinpath (search_path, base_name, find_handle_callback, - phandle, advise)) - return 0; - - return phandle; -} - -#if !defined LTDL_DLOPEN_DEPLIBS -static int -load_deplibs (lt_dlhandle handle, char * deplibs LT__UNUSED) -{ - handle->depcount = 0; - return 0; -} - -#else /* defined LTDL_DLOPEN_DEPLIBS */ -static int -load_deplibs (lt_dlhandle handle, char *deplibs) -{ - char *p, *save_search_path = 0; - int depcount = 0; - int i; - char **names = 0; - int errors = 0; - - handle->depcount = 0; - - if (!deplibs) - { - return errors; - } - ++errors; - - if (user_search_path) - { - save_search_path = lt__strdup (user_search_path); - if (!save_search_path) - goto cleanup; - } - - /* extract search paths and count deplibs */ - p = deplibs; - while (*p) - { - if (!isspace ((unsigned char) *p)) - { - char *end = p+1; - while (*end && !isspace((unsigned char) *end)) - { - ++end; - } - - if (strncmp(p, "-L", 2) == 0 || strncmp(p, "-R", 2) == 0) - { - char save = *end; - *end = 0; /* set a temporary string terminator */ - if (lt_dladdsearchdir(p+2)) - { - goto cleanup; - } - *end = save; - } - else - { - ++depcount; - } - - p = end; - } - else - { - ++p; - } - } - - - if (!depcount) - { - errors = 0; - goto cleanup; - } - - names = MALLOC (char *, depcount); - if (!names) - goto cleanup; - - /* now only extract the actual deplibs */ - depcount = 0; - p = deplibs; - while (*p) - { - if (isspace ((unsigned char) *p)) - { - ++p; - } - else - { - char *end = p+1; - while (*end && !isspace ((unsigned char) *end)) - { - ++end; - } - - if (strncmp(p, "-L", 2) != 0 && strncmp(p, "-R", 2) != 0) - { - char *name; - char save = *end; - *end = 0; /* set a temporary string terminator */ - if (strncmp(p, "-l", 2) == 0) - { - size_t name_len = 3+ /* "lib" */ LT_STRLEN (p + 2); - name = MALLOC (char, 1+ name_len); - if (name) - sprintf (name, "lib%s", p+2); - } - else - name = lt__strdup(p); - - if (!name) - goto cleanup_names; - - names[depcount++] = name; - *end = save; - } - p = end; - } - } - - /* load the deplibs (in reverse order) - At this stage, don't worry if the deplibs do not load correctly, - they may already be statically linked into the loading application - for instance. There will be a more enlightening error message - later on if the loaded module cannot resolve all of its symbols. */ - if (depcount) - { - lt_dlhandle cur = handle; - int j = 0; - - cur->deplibs = MALLOC (lt_dlhandle, depcount); - if (!cur->deplibs) - goto cleanup_names; - - for (i = 0; i < depcount; ++i) - { - cur->deplibs[j] = lt_dlopenext(names[depcount-1-i]); - if (cur->deplibs[j]) - { - ++j; - } - } - - cur->depcount = j; /* Number of successfully loaded deplibs */ - errors = 0; - } - - cleanup_names: - for (i = 0; i < depcount; ++i) - { - FREE (names[i]); - } - - cleanup: - FREE (names); - /* restore the old search path */ - if (save_search_path) { - MEMREASSIGN (user_search_path, save_search_path); - } - - return errors; -} -#endif /* defined LTDL_DLOPEN_DEPLIBS */ - -static int -unload_deplibs (lt_dlhandle handle) -{ - int i; - int errors = 0; - lt_dlhandle cur = handle; - - if (cur->depcount) - { - for (i = 0; i < cur->depcount; ++i) - { - if (!LT_DLIS_RESIDENT (cur->deplibs[i])) - { - errors += lt_dlclose (cur->deplibs[i]); - } - } - FREE (cur->deplibs); - } - - return errors; -} - -static int -trim (char **dest, const char *str) -{ - /* remove the leading and trailing "'" from str - and store the result in dest */ - const char *end = strrchr (str, '\''); - size_t len = LT_STRLEN (str); - char *tmp; - - FREE (*dest); - - if (!end || end == str) - return 1; - - if (len > 3 && str[0] == '\'') - { - tmp = MALLOC (char, end - str); - if (!tmp) - return 1; - - memcpy(tmp, &str[1], (end - str) - 1); - tmp[(end - str) - 1] = LT_EOS_CHAR; - *dest = tmp; - } - else - { - *dest = 0; - } - - return 0; -} - -/* Read the .la file FILE. */ -static int -parse_dotla_file(FILE *file, char **dlname, char **libdir, char **deplibs, - char **old_name, int *installed) -{ - int errors = 0; - size_t line_len = LT_FILENAME_MAX; - char * line = MALLOC (char, line_len); - - if (!line) - { - LT__SETERROR (FILE_NOT_FOUND); - return 1; - } - - while (!feof (file)) - { - line[line_len-2] = '\0'; - if (!fgets (line, (int) line_len, file)) - { - break; - } - - /* Handle the case where we occasionally need to read a line - that is longer than the initial buffer size. - Behave even if the file contains NUL bytes due to corruption. */ - while (line[line_len-2] != '\0' && line[line_len-2] != '\n' && !feof (file)) - { - line = REALLOC (char, line, line_len *2); - if (!line) - { - ++errors; - goto cleanup; - } - line[line_len * 2 - 2] = '\0'; - if (!fgets (&line[line_len -1], (int) line_len +1, file)) - { - break; - } - line_len *= 2; - } - - if (line[0] == '\n' || line[0] == '#') - { - continue; - } - -#undef STR_DLNAME -#define STR_DLNAME "dlname=" - if (strncmp (line, STR_DLNAME, sizeof (STR_DLNAME) - 1) == 0) - { - errors += trim (dlname, &line[sizeof (STR_DLNAME) - 1]); - } - -#undef STR_OLD_LIBRARY -#define STR_OLD_LIBRARY "old_library=" - else if (strncmp (line, STR_OLD_LIBRARY, - sizeof (STR_OLD_LIBRARY) - 1) == 0) - { - errors += trim (old_name, &line[sizeof (STR_OLD_LIBRARY) - 1]); - } - - /* Windows native tools do not understand the POSIX paths we store - in libdir. */ -#undef STR_LIBDIR -#define STR_LIBDIR "libdir=" - else if (strncmp (line, STR_LIBDIR, sizeof (STR_LIBDIR) - 1) == 0) - { - errors += trim (libdir, &line[sizeof(STR_LIBDIR) - 1]); -#ifdef __WINDOWS__ - /* Disallow following unix-style paths on MinGW. */ - if (*libdir && (**libdir == '/' || **libdir == '\\')) - **libdir = '\0'; -#endif - } - -#undef STR_DL_DEPLIBS -#define STR_DL_DEPLIBS "dependency_libs=" - else if (strncmp (line, STR_DL_DEPLIBS, - sizeof (STR_DL_DEPLIBS) - 1) == 0) - { - errors += trim (deplibs, &line[sizeof (STR_DL_DEPLIBS) - 1]); - } - else if (STREQ (line, "installed=yes\n")) - { - *installed = 1; - } - else if (STREQ (line, "installed=no\n")) - { - *installed = 0; - } - -#undef STR_LIBRARY_NAMES -#define STR_LIBRARY_NAMES "library_names=" - else if (!*dlname && strncmp (line, STR_LIBRARY_NAMES, - sizeof (STR_LIBRARY_NAMES) - 1) == 0) - { - char *last_libname; - errors += trim (dlname, &line[sizeof (STR_LIBRARY_NAMES) - 1]); - if (!errors - && *dlname - && (last_libname = strrchr (*dlname, ' ')) != 0) - { - last_libname = lt__strdup (last_libname + 1); - if (!last_libname) - { - ++errors; - goto cleanup; - } - MEMREASSIGN (*dlname, last_libname); - } - } - - if (errors) - break; - } -cleanup: - FREE (line); - return errors; -} - - -/* Try to open FILENAME as a module. */ -static int -try_dlopen (lt_dlhandle *phandle, const char *filename, const char *ext, - lt_dladvise advise) -{ - const char * saved_error = 0; - char * archive_name = 0; - char * canonical = 0; - char * base_name = 0; - char * dir = 0; - char * name = 0; - char * attempt = 0; - int errors = 0; - lt_dlhandle newhandle; - - assert (phandle); - assert (*phandle == 0); - -#ifdef LT_DEBUG_LOADERS - fprintf (stderr, "try_dlopen (%s, %s)\n", - filename ? filename : "(null)", - ext ? ext : "(null)"); -#endif - - LT__GETERROR (saved_error); - - /* dlopen self? */ - if (!filename) - { - *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); - if (*phandle == 0) - return 1; - - newhandle = *phandle; - - /* lt_dlclose()ing yourself is very bad! Disallow it. */ - newhandle->info.is_resident = 1; - - if (tryall_dlopen (&newhandle, 0, advise, 0) != 0) - { - FREE (*phandle); - return 1; - } - - goto register_handle; - } - - assert (filename && *filename); - - if (ext) - { - attempt = MALLOC (char, LT_STRLEN (filename) + LT_STRLEN (ext) + 1); - if (!attempt) - return 1; - - sprintf(attempt, "%s%s", filename, ext); - } - else - { - attempt = lt__strdup (filename); - if (!attempt) - return 1; - } - - /* Doing this immediately allows internal functions to safely - assume only canonicalized paths are passed. */ - if (canonicalize_path (attempt, &canonical) != 0) - { - ++errors; - goto cleanup; - } - - /* If the canonical module name is a path (relative or absolute) - then split it into a directory part and a name part. */ - base_name = strrchr (canonical, '/'); - if (base_name) - { - size_t dirlen = (1+ base_name) - canonical; - - dir = MALLOC (char, 1+ dirlen); - if (!dir) - { - ++errors; - goto cleanup; - } - - strlcpy (dir, canonical, dirlen); - dir[dirlen] = LT_EOS_CHAR; - - ++base_name; - } - else - MEMREASSIGN (base_name, canonical); - - assert (base_name && *base_name); - - ext = strrchr (base_name, '.'); - if (!ext) - { - ext = base_name + LT_STRLEN (base_name); - } - - /* extract the module name from the file name */ - name = MALLOC (char, ext - base_name + 1); - if (!name) - { - ++errors; - goto cleanup; - } - - /* canonicalize the module name */ - { - int i; - for (i = 0; i < ext - base_name; ++i) - { - if (isalnum ((unsigned char)(base_name[i]))) - { - name[i] = base_name[i]; - } - else - { - name[i] = '_'; - } - } - name[ext - base_name] = LT_EOS_CHAR; - } - - /* Before trawling through the file system in search of a module, - check whether we are opening a preloaded module. */ - if (!dir) - { - const lt_dlvtable *vtable = lt_dlloader_find ("lt_preopen"); - - if (vtable) - { - /* libprefix + name + "." + libext + NULL */ - archive_name = MALLOC (char, strlen (libprefix) + LT_STRLEN (name) + strlen (libext) + 2); - *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); - - if ((*phandle == NULL) || (archive_name == NULL)) - { - ++errors; - goto cleanup; - } - newhandle = *phandle; - - /* Preloaded modules are always named according to their old - archive name. */ - if (strncmp(name, "lib", 3) == 0) - { - sprintf (archive_name, "%s%s.%s", libprefix, name + 3, libext); - } - else - { - sprintf (archive_name, "%s.%s", name, libext); - } - - if (tryall_dlopen (&newhandle, archive_name, advise, vtable) == 0) - { - goto register_handle; - } - - /* If we're still here, there was no matching preloaded module, - so put things back as we found them, and continue searching. */ - FREE (*phandle); - newhandle = NULL; - } - } - - /* If we are allowing only preloaded modules, and we didn't find - anything yet, give up on the search here. */ - if (advise && advise->try_preload_only) - { - goto cleanup; - } - - /* Check whether we are opening a libtool module (.la extension). */ - if (ext && STREQ (ext, archive_ext)) - { - /* this seems to be a libtool module */ - FILE * file = 0; - char * dlname = 0; - char * old_name = 0; - char * libdir = 0; - char * deplibs = 0; - - /* if we can't find the installed flag, it is probably an - installed libtool archive, produced with an old version - of libtool */ - int installed = 1; - - /* Now try to open the .la file. If there is no directory name - component, try to find it first in user_search_path and then other - prescribed paths. Otherwise (or in any case if the module was not - yet found) try opening just the module name as passed. */ - if (!dir) - { - const char *search_path = user_search_path; - - if (search_path) - file = find_file (user_search_path, base_name, &dir); - - if (!file) - { - search_path = getenv (LTDL_SEARCHPATH_VAR); - if (search_path) - file = find_file (search_path, base_name, &dir); - } - -#if defined LT_MODULE_PATH_VAR - if (!file) - { - search_path = getenv (LT_MODULE_PATH_VAR); - if (search_path) - file = find_file (search_path, base_name, &dir); - } -#endif -#if defined LT_DLSEARCH_PATH - if (!file && *sys_dlsearch_path) - { - file = find_file (sys_dlsearch_path, base_name, &dir); - } -#endif - } - else - { - file = fopen (attempt, LT_READTEXT_MODE); - } - - /* If we didn't find the file by now, it really isn't there. Set - the status flag, and bail out. */ - if (!file) - { - LT__SETERROR (FILE_NOT_FOUND); - ++errors; - goto cleanup; - } - - /* read the .la file */ - if (parse_dotla_file(file, &dlname, &libdir, &deplibs, - &old_name, &installed) != 0) - ++errors; - - fclose (file); - - /* allocate the handle */ - *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); - if (*phandle == 0) - ++errors; - - if (errors) - { - FREE (dlname); - FREE (old_name); - FREE (libdir); - FREE (deplibs); - FREE (*phandle); - goto cleanup; - } - - assert (*phandle); - - if (load_deplibs (*phandle, deplibs) == 0) - { - newhandle = *phandle; - /* find_module may replace newhandle */ - if (find_module (&newhandle, dir, libdir, dlname, old_name, - installed, advise)) - { - unload_deplibs (*phandle); - ++errors; - } - } - else - { - ++errors; - } - - FREE (dlname); - FREE (old_name); - FREE (libdir); - FREE (deplibs); - - if (errors) - { - FREE (*phandle); - goto cleanup; - } - - if (*phandle != newhandle) - { - unload_deplibs (*phandle); - } - } - else - { - /* not a libtool module */ - *phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle)); - if (*phandle == 0) - { - ++errors; - goto cleanup; - } - - newhandle = *phandle; - - /* If the module has no directory name component, try to find it - first in user_search_path and then other prescribed paths. - Otherwise (or in any case if the module was not yet found) try - opening just the module name as passed. */ - if ((dir || (!find_handle (user_search_path, base_name, - &newhandle, advise) - && !find_handle (getenv (LTDL_SEARCHPATH_VAR), base_name, - &newhandle, advise) -#if defined LT_MODULE_PATH_VAR - && !find_handle (getenv (LT_MODULE_PATH_VAR), base_name, - &newhandle, advise) -#endif -#if defined LT_DLSEARCH_PATH - && !find_handle (sys_dlsearch_path, base_name, - &newhandle, advise) -#endif - ))) - { - if (tryall_dlopen (&newhandle, attempt, advise, 0) != 0) - { - newhandle = NULL; - } - } - - if (!newhandle) - { - FREE (*phandle); - ++errors; - goto cleanup; - } - } - - register_handle: - MEMREASSIGN (*phandle, newhandle); - - if ((*phandle)->info.ref_count == 0) - { - (*phandle)->info.ref_count = 1; - MEMREASSIGN ((*phandle)->info.name, name); - - (*phandle)->next = handles; - handles = *phandle; - } - - LT__SETERRORSTR (saved_error); - - cleanup: - FREE (dir); - FREE (attempt); - FREE (name); - if (!canonical) /* was MEMREASSIGNed */ - FREE (base_name); - FREE (canonical); - FREE (archive_name); - - return errors; -} - - -/* If the last error message stored was 'FILE_NOT_FOUND', then return - non-zero. */ -static int -file_not_found (void) -{ - const char *error = 0; - - LT__GETERROR (error); - if (error == LT__STRERROR (FILE_NOT_FOUND)) - return 1; - - return 0; -} - - -/* Unless FILENAME already bears a suitable library extension, then - return 0. */ -static int -has_library_ext (const char *filename) -{ - const char * ext = 0; - - assert (filename); - - ext = strrchr (filename, '.'); - - if (ext && ((STREQ (ext, archive_ext)) -#if defined LT_MODULE_EXT - || (STREQ (ext, shlib_ext)) -#endif -#if defined LT_SHARED_EXT - || (STREQ (ext, shared_ext)) -#endif - )) - { - return 1; - } - - return 0; -} - - -/* Initialise and configure a user lt_dladvise opaque object. */ - -int -lt_dladvise_init (lt_dladvise *padvise) -{ - lt_dladvise advise = (lt_dladvise) lt__zalloc (sizeof (struct lt__advise)); - *padvise = advise; - return (advise ? 0 : 1); -} - -int -lt_dladvise_destroy (lt_dladvise *padvise) -{ - if (padvise) - FREE(*padvise); - return 0; -} - -int -lt_dladvise_ext (lt_dladvise *padvise) -{ - assert (padvise && *padvise); - (*padvise)->try_ext = 1; - return 0; -} - -int -lt_dladvise_resident (lt_dladvise *padvise) -{ - assert (padvise && *padvise); - (*padvise)->is_resident = 1; - return 0; -} - -int -lt_dladvise_local (lt_dladvise *padvise) -{ - assert (padvise && *padvise); - (*padvise)->is_symlocal = 1; - return 0; -} - -int -lt_dladvise_global (lt_dladvise *padvise) -{ - assert (padvise && *padvise); - (*padvise)->is_symglobal = 1; - return 0; -} - -int -lt_dladvise_preload (lt_dladvise *padvise) -{ - assert (padvise && *padvise); - (*padvise)->try_preload_only = 1; - return 0; -} - -/* Libtool-1.5.x interface for loading a new module named FILENAME. */ -lt_dlhandle -lt_dlopen (const char *filename) -{ - return lt_dlopenadvise (filename, NULL); -} - - -/* If FILENAME has an ARCHIVE_EXT or MODULE_EXT extension, try to - open the FILENAME as passed. Otherwise try appending ARCHIVE_EXT, - and if a file is still not found try again with MODULE_EXT appended - instead. */ -lt_dlhandle -lt_dlopenext (const char *filename) -{ - lt_dlhandle handle = 0; - lt_dladvise advise; - - if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)) - handle = lt_dlopenadvise (filename, advise); - - lt_dladvise_destroy (&advise); - return handle; -} - - -lt_dlhandle -lt_dlopenadvise (const char *filename, lt_dladvise advise) -{ - lt_dlhandle handle = 0; - int errors = 0; - const char * saved_error = 0; - - LT__GETERROR (saved_error); - - /* Can't have symbols hidden and visible at the same time! */ - if (advise && advise->is_symlocal && advise->is_symglobal) - { - LT__SETERROR (CONFLICTING_FLAGS); - return 0; - } - - if (!filename - || !advise - || !advise->try_ext - || has_library_ext (filename)) - { - /* Just incase we missed a code path in try_dlopen() that reports - an error, but forgot to reset handle... */ - if (try_dlopen (&handle, filename, NULL, advise) != 0) - return 0; - - return handle; - } - else if (filename && *filename) - { - - /* First try appending ARCHIVE_EXT. */ - errors += try_dlopen (&handle, filename, archive_ext, advise); - - /* If we found FILENAME, stop searching -- whether we were able to - load the file as a module or not. If the file exists but loading - failed, it is better to return an error message here than to - report FILE_NOT_FOUND when the alternatives (foo.so etc) are not - in the module search path. */ - if (handle || ((errors > 0) && !file_not_found ())) - return handle; - -#if defined LT_MODULE_EXT - /* Try appending SHLIB_EXT. */ - LT__SETERRORSTR (saved_error); - errors = try_dlopen (&handle, filename, shlib_ext, advise); - - /* As before, if the file was found but loading failed, return now - with the current error message. */ - if (handle || ((errors > 0) && !file_not_found ())) - return handle; -#endif - -#if defined LT_SHARED_EXT - /* Try appending SHARED_EXT. */ - LT__SETERRORSTR (saved_error); - errors = try_dlopen (&handle, filename, shared_ext, advise); - - /* As before, if the file was found but loading failed, return now - with the current error message. */ - if (handle || ((errors > 0) && !file_not_found ())) - return handle; -#endif - } - - /* Still here? Then we really did fail to locate any of the file - names we tried. */ - LT__SETERROR (FILE_NOT_FOUND); - return 0; -} - - -static int -lt_argz_insert (char **pargz, size_t *pargz_len, char *before, - const char *entry) -{ - error_t error; - - /* Prior to Sep 8, 2005, newlib had a bug where argz_insert(pargz, - pargz_len, NULL, entry) failed with EINVAL. */ - if (before) - error = argz_insert (pargz, pargz_len, before, entry); - else - error = argz_append (pargz, pargz_len, entry, 1 + strlen (entry)); - - if (error) - { - switch (error) - { - case ENOMEM: - LT__SETERROR (NO_MEMORY); - break; - default: - LT__SETERROR (UNKNOWN); - break; - } - return 1; - } - - return 0; -} - -static int -lt_argz_insertinorder (char **pargz, size_t *pargz_len, const char *entry) -{ - char *before = 0; - - assert (pargz); - assert (pargz_len); - assert (entry && *entry); - - if (*pargz) - while ((before = argz_next (*pargz, *pargz_len, before))) - { - int cmp = strcmp (entry, before); - - if (cmp < 0) break; - if (cmp == 0) return 0; /* No duplicates! */ - } - - return lt_argz_insert (pargz, pargz_len, before, entry); -} - -static int -lt_argz_insertdir (char **pargz, size_t *pargz_len, const char *dirnam, - struct dirent *dp) -{ - char *buf = 0; - size_t buf_len = 0; - char *end = 0; - size_t end_offset = 0; - size_t dir_len = 0; - int errors = 0; - - assert (pargz); - assert (pargz_len); - assert (dp); - - dir_len = LT_STRLEN (dirnam); - end = dp->d_name + D_NAMLEN(dp); - - /* Ignore version numbers. */ - { - char *p; - for (p = end; p -1 > dp->d_name; --p) - if (strchr (".0123456789", p[-1]) == 0) - break; - - if (*p == '.') - end = p; - } - - /* Ignore filename extension. */ - { - char *p; - for (p = end -1; p > dp->d_name; --p) - if (*p == '.') - { - end = p; - break; - } - } - - /* Prepend the directory name. */ - end_offset = end - dp->d_name; - buf_len = dir_len + 1+ end_offset; - buf = MALLOC (char, 1+ buf_len); - if (!buf) - return ++errors; - - assert (buf); - - strcpy (buf, dirnam); - strcat (buf, "/"); - strncat (buf, dp->d_name, end_offset); - buf[buf_len] = LT_EOS_CHAR; - - /* Try to insert (in order) into ARGZ/ARGZ_LEN. */ - if (lt_argz_insertinorder (pargz, pargz_len, buf) != 0) - ++errors; - - FREE (buf); - - return errors; -} - -static int -list_files_by_dir (const char *dirnam, char **pargz, size_t *pargz_len) -{ - DIR *dirp = 0; - int errors = 0; - - assert (dirnam && *dirnam); - assert (pargz); - assert (pargz_len); - assert (dirnam[LT_STRLEN(dirnam) -1] != '/'); - - dirp = opendir (dirnam); - if (dirp) - { - struct dirent *dp = 0; - - while ((dp = readdir (dirp))) - if (dp->d_name[0] != '.') - if (lt_argz_insertdir (pargz, pargz_len, dirnam, dp)) - { - ++errors; - break; - } - - closedir (dirp); - } - else - ++errors; - - return errors; -} - - -/* If there are any files in DIRNAME, call the function passed in - DATA1 (with the name of each file and DATA2 as arguments). */ -static int -foreachfile_callback (char *dirname, void *data1, void *data2) -{ - file_worker_func *func = *(file_worker_func **) data1; - - int is_done = 0; - char *argz = 0; - size_t argz_len = 0; - - if (list_files_by_dir (dirname, &argz, &argz_len) != 0) - goto cleanup; - if (!argz) - goto cleanup; - - { - char *filename = 0; - while ((filename = argz_next (argz, argz_len, filename))) - if ((is_done = (*func) (filename, data2))) - break; - } - - cleanup: - FREE (argz); - - return is_done; -} - - -/* Call FUNC for each unique extensionless file in SEARCH_PATH, along - with DATA. The filenames passed to FUNC would be suitable for - passing to lt_dlopenext. The extensions are stripped so that - individual modules do not generate several entries (e.g. libfoo.la, - libfoo.so, libfoo.so.1, libfoo.so.1.0.0). If SEARCH_PATH is NULL, - then the same directories that lt_dlopen would search are examined. */ -int -lt_dlforeachfile (const char *search_path, - int (*func) (const char *filename, void *data), - void *data) -{ - int is_done = 0; - file_worker_func **fpptr = &func; - - if (search_path) - { - /* If a specific path was passed, search only the directories - listed in it. */ - is_done = foreach_dirinpath (search_path, 0, - foreachfile_callback, fpptr, data); - } - else - { - /* Otherwise search the default paths. */ - is_done = foreach_dirinpath (user_search_path, 0, - foreachfile_callback, fpptr, data); - if (!is_done) - { - is_done = foreach_dirinpath (getenv(LTDL_SEARCHPATH_VAR), 0, - foreachfile_callback, fpptr, data); - } - -#if defined LT_MODULE_PATH_VAR - if (!is_done) - { - is_done = foreach_dirinpath (getenv(LT_MODULE_PATH_VAR), 0, - foreachfile_callback, fpptr, data); - } -#endif -#if defined LT_DLSEARCH_PATH - if (!is_done && *sys_dlsearch_path) - { - is_done = foreach_dirinpath (sys_dlsearch_path, 0, - foreachfile_callback, fpptr, data); - } -#endif - } - - return is_done; -} - -int -lt_dlclose (lt_dlhandle handle) -{ - lt_dlhandle cur, last; - int errors = 0; - - /* check whether the handle is valid */ - last = cur = handles; - while (cur && handle != cur) - { - last = cur; - cur = cur->next; - } - - if (!cur) - { - LT__SETERROR (INVALID_HANDLE); - ++errors; - goto done; - } - - cur = handle; - cur->info.ref_count--; - - /* Note that even with resident modules, we must track the ref_count - correctly incase the user decides to reset the residency flag - later (even though the API makes no provision for that at the - moment). */ - if (cur->info.ref_count <= 0 && !LT_DLIS_RESIDENT (cur)) - { - lt_user_data data = cur->vtable->dlloader_data; - - if (cur != handles) - { - last->next = cur->next; - } - else - { - handles = cur->next; - } - - errors += cur->vtable->module_close (data, cur->module); - errors += unload_deplibs (handle); - - /* It is up to the callers to free the data itself. */ - FREE (cur->interface_data); - - FREE (cur->info.filename); - FREE (cur->info.name); - FREE (cur); - - goto done; - } - - if (LT_DLIS_RESIDENT (handle)) - { - LT__SETERROR (CLOSE_RESIDENT_MODULE); - ++errors; - } - - done: - return errors; -} - -void * -lt_dlsym (lt_dlhandle place, const char *symbol) -{ - size_t lensym; - char lsym[LT_SYMBOL_LENGTH]; - char *sym; - void *address; - lt_user_data data; - lt_dlhandle handle; - - if (!place) - { - LT__SETERROR (INVALID_HANDLE); - return 0; - } - - handle = place; - - if (!symbol) - { - LT__SETERROR (SYMBOL_NOT_FOUND); - return 0; - } - - lensym = LT_STRLEN (symbol) + LT_STRLEN (handle->vtable->sym_prefix) - + LT_STRLEN (handle->info.name); - - if (lensym + LT_SYMBOL_OVERHEAD < LT_SYMBOL_LENGTH) - { - sym = lsym; - } - else - { - sym = MALLOC (char, lensym + LT_SYMBOL_OVERHEAD + 1); - if (!sym) - { - LT__SETERROR (BUFFER_OVERFLOW); - return 0; - } - } - - data = handle->vtable->dlloader_data; - if (handle->info.name) - { - const char *saved_error; - - LT__GETERROR (saved_error); - - /* this is a libtool module */ - if (handle->vtable->sym_prefix) - { - strcpy(sym, handle->vtable->sym_prefix); - strcat(sym, handle->info.name); - } - else - { - strcpy(sym, handle->info.name); - } - - strcat(sym, "_LTX_"); - strcat(sym, symbol); - - /* try "modulename_LTX_symbol" */ - address = handle->vtable->find_sym (data, handle->module, sym); - if (address) - { - if (sym != lsym) - { - FREE (sym); - } - return address; - } - LT__SETERRORSTR (saved_error); - } - - /* otherwise try "symbol" */ - if (handle->vtable->sym_prefix) - { - strcpy(sym, handle->vtable->sym_prefix); - strcat(sym, symbol); - } - else - { - strcpy(sym, symbol); - } - - address = handle->vtable->find_sym (data, handle->module, sym); - if (sym != lsym) - { - FREE (sym); - } - - return address; -} - -const char * -lt_dlerror (void) -{ - const char *error; - - LT__GETERROR (error); - LT__SETERRORSTR (0); - - return error; -} - -static int -lt_dlpath_insertdir (char **ppath, char *before, const char *dir) -{ - int errors = 0; - char *canonical = 0; - char *argz = 0; - size_t argz_len = 0; - - assert (ppath); - assert (dir && *dir); - - if (canonicalize_path (dir, &canonical) != 0) - { - ++errors; - goto cleanup; - } - - assert (canonical && *canonical); - - /* If *PPATH is empty, set it to DIR. */ - if (*ppath == 0) - { - assert (!before); /* BEFORE cannot be set without PPATH. */ - assert (dir); /* Without DIR, don't call this function! */ - - *ppath = lt__strdup (dir); - if (*ppath == 0) - ++errors; - - goto cleanup; - } - - assert (ppath && *ppath); - - if (argzize_path (*ppath, &argz, &argz_len) != 0) - { - ++errors; - goto cleanup; - } - - /* Convert BEFORE into an equivalent offset into ARGZ. This only works - if *PPATH is already canonicalized, and hence does not change length - with respect to ARGZ. We canonicalize each entry as it is added to - the search path, and don't call this function with (uncanonicalized) - user paths, so this is a fair assumption. */ - if (before) - { - assert (*ppath <= before); - assert ((int) (before - *ppath) <= (int) strlen (*ppath)); - - before = before - *ppath + argz; - } - - if (lt_argz_insert (&argz, &argz_len, before, dir) != 0) - { - ++errors; - goto cleanup; - } - - argz_stringify (argz, argz_len, LT_PATHSEP_CHAR); - MEMREASSIGN(*ppath, argz); - - cleanup: - FREE (argz); - FREE (canonical); - - return errors; -} - -int -lt_dladdsearchdir (const char *search_dir) -{ - int errors = 0; - - if (search_dir && *search_dir) - { - if (lt_dlpath_insertdir (&user_search_path, 0, search_dir) != 0) - ++errors; - } - - return errors; -} - -int -lt_dlinsertsearchdir (const char *before, const char *search_dir) -{ - int errors = 0; - - if (before) - { - if ((before < user_search_path) - || (before >= user_search_path + LT_STRLEN (user_search_path))) - { - LT__SETERROR (INVALID_POSITION); - return 1; - } - } - - if (search_dir && *search_dir) - { - if (lt_dlpath_insertdir (&user_search_path, - (char *) before, search_dir) != 0) - { - ++errors; - } - } - - return errors; -} - -int -lt_dlsetsearchpath (const char *search_path) -{ - int errors = 0; - - FREE (user_search_path); - - if (!search_path || !LT_STRLEN (search_path)) - { - return errors; - } - - if (canonicalize_path (search_path, &user_search_path) != 0) - ++errors; - - return errors; -} - -const char * -lt_dlgetsearchpath (void) -{ - const char *saved_path; - - saved_path = user_search_path; - - return saved_path; -} - -int -lt_dlmakeresident (lt_dlhandle handle) -{ - int errors = 0; - - if (!handle) - { - LT__SETERROR (INVALID_HANDLE); - ++errors; - } - else - { - handle->info.is_resident = 1; - } - - return errors; -} - -int -lt_dlisresident (lt_dlhandle handle) -{ - if (!handle) - { - LT__SETERROR (INVALID_HANDLE); - return -1; - } - - return LT_DLIS_RESIDENT (handle); -} - - - -/* --- MODULE INFORMATION --- */ - -typedef struct { - char *id_string; - lt_dlhandle_interface *iface; -} lt__interface_id; - -lt_dlinterface_id -lt_dlinterface_register (const char *id_string, lt_dlhandle_interface *iface) -{ - lt__interface_id *interface_id = (lt__interface_id *) lt__malloc (sizeof *interface_id); - - /* If lt__malloc fails, it will LT__SETERROR (NO_MEMORY), which - can then be detected with lt_dlerror() if we return 0. */ - if (interface_id) - { - interface_id->id_string = lt__strdup (id_string); - if (!interface_id->id_string) - FREE (interface_id); - else - interface_id->iface = iface; - } - - return (lt_dlinterface_id) interface_id; -} - -void lt_dlinterface_free (lt_dlinterface_id key) -{ - lt__interface_id *interface_id = (lt__interface_id *)key; - FREE (interface_id->id_string); - FREE (interface_id); -} - -void * -lt_dlcaller_set_data (lt_dlinterface_id key, lt_dlhandle handle, void *data) -{ - int n_elements = 0; - void *stale = (void *) 0; - lt_dlhandle cur = handle; - int i; - - if (cur->interface_data) - while (cur->interface_data[n_elements].key) - ++n_elements; - - for (i = 0; i < n_elements; ++i) - { - if (cur->interface_data[i].key == key) - { - stale = cur->interface_data[i].data; - break; - } - } - - /* Ensure that there is enough room in this handle's interface_data - array to accept a new element (and an empty end marker). */ - if (i == n_elements) - { - lt_interface_data *temp - = REALLOC (lt_interface_data, cur->interface_data, 2+ n_elements); - - if (!temp) - { - stale = 0; - goto done; - } - - cur->interface_data = temp; - - /* We only need this if we needed to allocate a new interface_data. */ - cur->interface_data[i].key = key; - cur->interface_data[1+ i].key = 0; - } - - cur->interface_data[i].data = data; - - done: - return stale; -} - -void * -lt_dlcaller_get_data (lt_dlinterface_id key, lt_dlhandle handle) -{ - void *result = (void *) 0; - lt_dlhandle cur = handle; - - /* Locate the index of the element with a matching KEY. */ - if (cur->interface_data) - { - int i; - for (i = 0; cur->interface_data[i].key; ++i) - { - if (cur->interface_data[i].key == key) - { - result = cur->interface_data[i].data; - break; - } - } - } - - return result; -} - -const lt_dlinfo * -lt_dlgetinfo (lt_dlhandle handle) -{ - if (!handle) - { - LT__SETERROR (INVALID_HANDLE); - return 0; - } - - return &(handle->info); -} - - -lt_dlhandle -lt_dlhandle_iterate (lt_dlinterface_id iface, lt_dlhandle place) -{ - lt_dlhandle handle = place; - lt__interface_id *iterator = (lt__interface_id *) iface; - - assert (iface); /* iface is a required argument */ - - if (!handle) - handle = handles; - else - handle = handle->next; - - /* advance while the interface check fails */ - while (handle && iterator->iface - && ((*iterator->iface) (handle, iterator->id_string) != 0)) - { - handle = handle->next; - } - - return handle; -} - - -lt_dlhandle -lt_dlhandle_fetch (lt_dlinterface_id iface, const char *module_name) -{ - lt_dlhandle handle = 0; - - assert (iface); /* iface is a required argument */ - - while ((handle = lt_dlhandle_iterate (iface, handle))) - { - lt_dlhandle cur = handle; - if (cur && cur->info.name && STREQ (cur->info.name, module_name)) - break; - } - - return handle; -} - - -int -lt_dlhandle_map (lt_dlinterface_id iface, - int (*func) (lt_dlhandle handle, void *data), void *data) -{ - lt__interface_id *iterator = (lt__interface_id *) iface; - lt_dlhandle cur = handles; - - assert (iface); /* iface is a required argument */ - - while (cur) - { - int errorcode = 0; - - /* advance while the interface check fails */ - while (cur && iterator->iface - && ((*iterator->iface) (cur, iterator->id_string) != 0)) - { - cur = cur->next; - } - - if ((errorcode = (*func) (cur, data)) != 0) - return errorcode; - } - - return 0; -} diff --git a/BUILD/libtool-2.4.7/libltdl/ltdl.h b/BUILD/libtool-2.4.7/libltdl/ltdl.h deleted file mode 100644 index c72209e..0000000 --- a/BUILD/libtool-2.4.7/libltdl/ltdl.h +++ /dev/null @@ -1,163 +0,0 @@ -/* ltdl.h -- generic dlopen functions - - Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2019, 2021-2022 - Free Software Foundation, Inc. - Written by Thomas Tanner, 1998 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -/* Only include this header file once. */ -#if !defined LTDL_H -#define LTDL_H 1 - -#include -#include -#include - -LT_BEGIN_C_DECLS - - -/* LT_STRLEN can be used safely on NULL pointers. */ -#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0) - - -/* --- DYNAMIC MODULE LOADING API --- */ - - -typedef struct lt__handle *lt_dlhandle; /* A loaded module. */ - -/* Initialisation and finalisation functions for libltdl. */ -LT_SCOPE int lt_dlinit (void); -LT_SCOPE int lt_dlexit (void); - -/* Module search path manipulation. */ -LT_SCOPE int lt_dladdsearchdir (const char *search_dir); -LT_SCOPE int lt_dlinsertsearchdir (const char *before, - const char *search_dir); -LT_SCOPE int lt_dlsetsearchpath (const char *search_path); -LT_SCOPE const char *lt_dlgetsearchpath (void); -LT_SCOPE int lt_dlforeachfile ( - const char *search_path, - int (*func) (const char *filename, void *data), - void *data); - -/* User module loading advisors. */ -LT_SCOPE int lt_dladvise_init (lt_dladvise *advise); -LT_SCOPE int lt_dladvise_destroy (lt_dladvise *advise); -LT_SCOPE int lt_dladvise_ext (lt_dladvise *advise); -LT_SCOPE int lt_dladvise_resident (lt_dladvise *advise); -LT_SCOPE int lt_dladvise_local (lt_dladvise *advise); -LT_SCOPE int lt_dladvise_global (lt_dladvise *advise); -LT_SCOPE int lt_dladvise_preload (lt_dladvise *advise); - -/* Portable libltdl versions of the system dlopen() API. */ -LT_SCOPE lt_dlhandle lt_dlopen (const char *filename); -LT_SCOPE lt_dlhandle lt_dlopenext (const char *filename); -LT_SCOPE lt_dlhandle lt_dlopenadvise (const char *filename, - lt_dladvise advise); -LT_SCOPE void * lt_dlsym (lt_dlhandle handle, const char *name); -LT_SCOPE const char *lt_dlerror (void); -LT_SCOPE int lt_dlclose (lt_dlhandle handle); - - - -/* --- PRELOADED MODULE SUPPORT --- */ - - -/* A preopened symbol. Arrays of this type comprise the exported - symbols for a dlpreopened module. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; - -typedef int lt_dlpreload_callback_func (lt_dlhandle handle); - -LT_SCOPE int lt_dlpreload (const lt_dlsymlist *preloaded); -LT_SCOPE int lt_dlpreload_default (const lt_dlsymlist *preloaded); -LT_SCOPE int lt_dlpreload_open (const char *originator, - lt_dlpreload_callback_func *func); - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols -/* Ensure C linkage. */ -extern LT_DLSYM_CONST lt_dlsymlist lt__PROGRAM__LTX_preloaded_symbols[]; - -#define LTDL_SET_PRELOADED_SYMBOLS() \ - lt_dlpreload_default(lt_preloaded_symbols) - - - - -/* --- MODULE INFORMATION --- */ - - -/* Associating user data with loaded modules. */ -typedef void * lt_dlinterface_id; -typedef int lt_dlhandle_interface (lt_dlhandle handle, const char *id_string); - -LT_SCOPE lt_dlinterface_id lt_dlinterface_register (const char *id_string, - lt_dlhandle_interface *iface); -LT_SCOPE void lt_dlinterface_free (lt_dlinterface_id key); -LT_SCOPE void * lt_dlcaller_set_data (lt_dlinterface_id key, - lt_dlhandle handle, void *data); -LT_SCOPE void * lt_dlcaller_get_data (lt_dlinterface_id key, - lt_dlhandle handle); - - -/* Read only information pertaining to a loaded module. */ -typedef struct { - char * filename; /* file name */ - char * name; /* module name */ - int ref_count; /* number of times lt_dlopened minus - number of times lt_dlclosed. */ - unsigned int is_resident:1; /* module can't be unloaded. */ - unsigned int is_symglobal:1; /* module symbols can satisfy - subsequently loaded modules. */ - unsigned int is_symlocal:1; /* module symbols are only available - locally. */ -} lt_dlinfo; - -LT_SCOPE const lt_dlinfo *lt_dlgetinfo (lt_dlhandle handle); - -LT_SCOPE lt_dlhandle lt_dlhandle_iterate (lt_dlinterface_id iface, - lt_dlhandle place); -LT_SCOPE lt_dlhandle lt_dlhandle_fetch (lt_dlinterface_id iface, - const char *module_name); -LT_SCOPE int lt_dlhandle_map (lt_dlinterface_id iface, - int (*func) (lt_dlhandle handle, void *data), - void *data); - - - -/* Deprecated module residency management API. */ -LT_SCOPE int lt_dlmakeresident (lt_dlhandle handle); -LT_SCOPE int lt_dlisresident (lt_dlhandle handle); - -#define lt_ptr void * - -LT_END_C_DECLS - -#endif /*!defined LTDL_H*/ diff --git a/BUILD/libtool-2.4.7/libltdl/ltdl.mk b/BUILD/libtool-2.4.7/libltdl/ltdl.mk deleted file mode 100644 index 0120353..0000000 --- a/BUILD/libtool-2.4.7/libltdl/ltdl.mk +++ /dev/null @@ -1,149 +0,0 @@ -## ltdl.mk -- includable Makefile snippet -## -## Copyright (C) 2003-2005, 2007, 2011-2019, 2021-2022 Free Software -## Foundation, Inc. -## Written by Gary V. Vaughan, 2003 -## -## NOTE: The canonical source of this file is maintained with the -## GNU Libtool package. Report bugs to bug-libtool@gnu.org. -## -## GNU Libltdl is free software; you can redistribute it and/or -## modify it under the terms of the GNU Lesser General Public -## License as published by the Free Software Foundation; either -## version 2 of the License, or (at your option) any later version. -## -## As a special exception to the GNU Lesser General Public License, -## if you distribute this file as part of a program or library that -## is built using GNU libtool, you may include this file under the -## same distribution terms that you use for the rest of that program. -## -## GNU Libltdl is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU Lesser General Public License for more details. -## -## You should have received a copy of the GNU LesserGeneral Public -## License along with GNU Libltdl; see the file COPYING.LIB. If not, a -## copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -## or obtained by writing to the Free Software Foundation, Inc., -## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -##### - -## DO NOT REMOVE THIS LINE -- make depends on it - -# -I$(srcdir) is needed for user that built libltdl with a sub-Automake -# (not as a sub-package!) using 'nostdinc': -AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \ - -DLTDL -I. -I$(srcdir) -Ilibltdl \ - -I$(srcdir)/libltdl -Ilibltdl/libltdl \ - -I$(srcdir)/libltdl/libltdl -AM_LDFLAGS += -no-undefined -LTDL_VERSION_INFO = -version-info 10:2:3 - -noinst_LTLIBRARIES += $(LT_DLLOADERS) - -if INSTALL_LTDL -ltdlincludedir = $(includedir)/libltdl -ltdlinclude_HEADERS = libltdl/libltdl/lt_system.h \ - libltdl/libltdl/lt_error.h \ - libltdl/libltdl/lt_dlloader.h -include_HEADERS += libltdl/ltdl.h -lib_LTLIBRARIES += libltdl/libltdl.la -endif - -if CONVENIENCE_LTDL -noinst_LTLIBRARIES += libltdl/libltdlc.la -endif - -libltdl_libltdl_la_SOURCES = libltdl/libltdl/lt__alloc.h \ - libltdl/libltdl/lt__dirent.h \ - libltdl/libltdl/lt__glibc.h \ - libltdl/libltdl/lt__private.h \ - libltdl/libltdl/lt__strl.h \ - libltdl/libltdl/lt_dlloader.h \ - libltdl/libltdl/lt_error.h \ - libltdl/libltdl/lt_system.h \ - libltdl/libltdl/slist.h \ - libltdl/loaders/preopen.c \ - libltdl/lt__alloc.c \ - libltdl/lt_dlloader.c \ - libltdl/lt_error.c \ - libltdl/ltdl.c \ - libltdl/ltdl.h \ - libltdl/slist.c - -EXTRA_DIST += libltdl/lt__dirent.c \ - libltdl/lt__strl.c - -libltdl_libltdl_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN) $(AM_CPPFLAGS) -libltdl_libltdl_la_LDFLAGS = $(AM_LDFLAGS) $(LTDL_VERSION_INFO) $(LT_DLPREOPEN) -libltdl_libltdl_la_LIBADD = $(LTLIBOBJS) -libltdl_libltdl_la_DEPENDENCIES = $(LT_DLLOADERS) $(LTLIBOBJS) - -libltdl_libltdlc_la_SOURCES = $(libltdl_libltdl_la_SOURCES) -libltdl_libltdlc_la_CPPFLAGS = -DLTDLOPEN=$(LTDLOPEN)c $(AM_CPPFLAGS) -libltdl_libltdlc_la_LDFLAGS = $(AM_LDFLAGS) $(LT_DLPREOPEN) -libltdl_libltdlc_la_LIBADD = $(libltdl_libltdl_la_LIBADD) -libltdl_libltdlc_la_DEPENDENCIES= $(libltdl_libltdl_la_DEPENDENCIES) - -## The loaders are preopened by libltdl, itself always built from -## pic-objects (either as a shared library, or a convenience library), -## so the loaders themselves must be made from pic-objects too. We -## use convenience libraries for that purpose: -EXTRA_LTLIBRARIES += libltdl/dlopen.la \ - libltdl/dld_link.la \ - libltdl/dyld.la \ - libltdl/load_add_on.la \ - libltdl/loadlibrary.la \ - libltdl/shl_load.la - -libltdl_dlopen_la_SOURCES = libltdl/loaders/dlopen.c -libltdl_dlopen_la_LDFLAGS = -module -avoid-version -libltdl_dlopen_la_LIBADD = $(LIBADD_DLOPEN) - -libltdl_dld_link_la_SOURCES = libltdl/loaders/dld_link.c -libltdl_dld_link_la_LDFLAGS = -module -avoid-version -libltdl_dld_link_la_LIBADD = -ldld - -libltdl_dyld_la_SOURCES = libltdl/loaders/dyld.c -libltdl_dyld_la_LDFLAGS = -module -avoid-version - -libltdl_load_add_on_la_SOURCES = libltdl/loaders/load_add_on.c -libltdl_load_add_on_la_LDFLAGS = -module -avoid-version - -libltdl_loadlibrary_la_SOURCES = libltdl/loaders/loadlibrary.c -libltdl_loadlibrary_la_LDFLAGS = -module -avoid-version - -libltdl_shl_load_la_SOURCES = libltdl/loaders/shl_load.c -libltdl_shl_load_la_LDFLAGS = -module -avoid-version -libltdl_shl_load_la_LIBADD = $(LIBADD_SHL_LOAD) - -## Make sure these will be cleaned even when they're not built by default: -CLEANFILES += libltdl/libltdl.la \ - libltdl/libltdlc.la \ - libltdl/libdlloader.la - -## Automake-1.9.6 doesn't clean subdir AC_LIBOBJ compiled objects -## automatically: -CLEANFILES += $(LIBOBJS) $(LTLIBOBJS) - -EXTRA_DIST += libltdl/COPYING.LIB \ - libltdl/README - -## --------------------------- ## -## Gnulib Makefile.am snippets ## -## --------------------------- ## - -BUILT_SOURCES += libltdl/libltdl/$(LT_ARGZ_H) -EXTRA_DIST += libltdl/libltdl/lt__argz_.h \ - libltdl/lt__argz.c - -# We need the following in order to create an when the system -# doesn't have one that works with the given compiler. -all-local $(lib_OBJECTS): libltdl/libltdl/$(LT_ARGZ_H) -libltdl/libltdl/lt__argz.h: libltdl/libltdl/lt__argz_.h - $(AM_V_at)$(mkinstalldirs) . libltdl/libltdl - $(AM_V_GEN)cp $(srcdir)/libltdl/libltdl/lt__argz_.h $@-t - $(AM_V_at)mv $@-t $@ -MOSTLYCLEANFILES += libltdl/libltdl/lt__argz.h \ - libltdl/libltdl/lt__argz.h-t diff --git a/BUILD/libtool-2.4.7/libltdl/slist.c b/BUILD/libtool-2.4.7/libltdl/slist.c deleted file mode 100644 index 7820f08..0000000 --- a/BUILD/libtool-2.4.7/libltdl/slist.c +++ /dev/null @@ -1,379 +0,0 @@ -/* slist.c -- generalised singly linked lists - - Copyright (C) 2000, 2004, 2007-2009, 2011-2019, 2021-2022 Free - Software Foundation, Inc. - Written by Gary V. Vaughan, 2000 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include - -#include "slist.h" -#include - -static SList * slist_sort_merge (SList *left, SList *right, - SListCompare *compare, void *userdata); - - -/* Call DELETE repeatedly on each element of HEAD. - - CAVEAT: If you call this when HEAD is the start of a list of boxed - items, you must remember that each item passed back to your - DELETE function will be a boxed item that must be slist_unbox()ed - before operating on its contents. - - e.g. void boxed_delete (void *item) { item_free (slist_unbox (item)); } - ... - slist = slist_delete (slist, boxed_delete); - ... -*/ -SList * -slist_delete (SList *head, void (*delete_fct) (void *item)) -{ - assert (delete_fct); - - while (head) - { - SList *next = head->next; - (*delete_fct) (head); - head = next; - } - - return 0; -} - -/* Call FIND repeatedly with MATCHDATA and each item of *PHEAD, until - FIND returns non-NULL, or the list is exhausted. If a match is found - the matching item is destructively removed from *PHEAD, and the value - returned by the matching call to FIND is returned. - - CAVEAT: To avoid memory leaks, unless you already have the address of - the stale item, you should probably return that from FIND if - it makes a successful match. Don't forget to slist_unbox() - every item in a boxed list before operating on its contents. */ -SList * -slist_remove (SList **phead, SListCallback *find, void *matchdata) -{ - SList *stale = 0; - void *result = 0; - - assert (find); - - if (!phead || !*phead) - return 0; - - /* Does the head of the passed list match? */ - result = (*find) (*phead, matchdata); - if (result) - { - stale = *phead; - *phead = stale->next; - } - /* what about the rest of the elements? */ - else - { - SList *head; - for (head = *phead; head->next; head = head->next) - { - result = (*find) (head->next, matchdata); - if (result) - { - stale = head->next; - head->next = stale->next; - break; - } - } - } - - return (SList *) result; -} - -/* Call FIND repeatedly with each element of SLIST and MATCHDATA, until - FIND returns non-NULL, or the list is exhausted. If a match is found - the value returned by the matching call to FIND is returned. */ -void * -slist_find (SList *slist, SListCallback *find, void *matchdata) -{ - void *result = 0; - - assert (find); - - for (; slist; slist = slist->next) - { - result = (*find) (slist, matchdata); - if (result) - break; - } - - return result; -} - -/* Return a single list, composed by destructively concatenating the - items in HEAD and TAIL. The values of HEAD and TAIL are undefined - after calling this function. - - CAVEAT: Don't mix boxed and unboxed items in a single list. - - e.g. slist1 = slist_concat (slist1, slist2); */ -SList * -slist_concat (SList *head, SList *tail) -{ - SList *last; - - if (!head) - { - return tail; - } - - last = head; - while (last->next) - last = last->next; - - last->next = tail; - - return head; -} - -/* Return a single list, composed by destructively appending all of - the items in SLIST to ITEM. The values of ITEM and SLIST are undefined - after calling this function. - - CAVEAT: Don't mix boxed and unboxed items in a single list. - - e.g. slist1 = slist_cons (slist_box (data), slist1); */ -SList * -slist_cons (SList *item, SList *slist) -{ - if (!item) - { - return slist; - } - - assert (!item->next); - - item->next = slist; - return item; -} - -/* Return a list starting at the second item of SLIST. */ -SList * -slist_tail (SList *slist) -{ - return slist ? slist->next : NULL; -} - -/* Return a list starting at the Nth item of SLIST. If SLIST is less - than N items long, NULL is returned. Just to be confusing, list items - are counted from 1, to get the 2nd element of slist: - - e.g. shared_list = slist_nth (slist, 2); */ -SList * -slist_nth (SList *slist, size_t n) -{ - for (;n > 1 && slist; n--) - slist = slist->next; - - return slist; -} - -/* Return the number of items in SLIST. We start counting from 1, so - the length of a list with no items is 0, and so on. */ -size_t -slist_length (SList *slist) -{ - size_t n; - - for (n = 0; slist; ++n) - slist = slist->next; - - return n; -} - -/* Destructively reverse the order of items in SLIST. The value of SLIST - is undefined after calling this function. - - CAVEAT: You must store the result of this function, or you might not - be able to get all the items except the first one back again. - - e.g. slist = slist_reverse (slist); */ -SList * -slist_reverse (SList *slist) -{ - SList *result = 0; - SList *next; - - while (slist) - { - next = slist->next; - slist->next = result; - result = slist; - slist = next; - } - - return result; -} - -/* Call FOREACH once for each item in SLIST, passing both the item and - USERDATA on each call. */ -void * -slist_foreach (SList *slist, SListCallback *foreach, void *userdata) -{ - void *result = 0; - - assert (foreach); - - while (slist) - { - SList *next = slist->next; - result = (*foreach) (slist, userdata); - - if (result) - break; - - slist = next; - } - - return result; -} - -/* Destructively merge the items of two ordered lists LEFT and RIGHT, - returning a single sorted list containing the items of both -- Part of - the quicksort algorithm. The values of LEFT and RIGHT are undefined - after calling this function. - - At each iteration, add another item to the merged list by taking the - lowest valued item from the head of either LEFT or RIGHT, determined - by passing those items and USERDATA to COMPARE. COMPARE should return - less than 0 if the head of LEFT has the lower value, greater than 0 if - the head of RIGHT has the lower value, otherwise 0. */ -static SList * -slist_sort_merge (SList *left, SList *right, SListCompare *compare, - void *userdata) -{ - SList merged, *insert; - - insert = &merged; - - while (left && right) - { - if ((*compare) (left, right, userdata) <= 0) - { - insert = insert->next = left; - left = left->next; - } - else - { - insert = insert->next = right; - right = right->next; - } - } - - insert->next = left ? left : right; - - return merged.next; -} - -/* Perform a destructive quicksort on the items in SLIST, by repeatedly - calling COMPARE with a pair of items from SLIST along with USERDATA - at every iteration. COMPARE is a function as defined above for - slist_sort_merge(). The value of SLIST is undefined after calling - this function. - - e.g. slist = slist_sort (slist, compare, 0); */ -SList * -slist_sort (SList *slist, SListCompare *compare, void *userdata) -{ - SList *left, *right; - - if (!slist) - return slist; - - /* Be sure that LEFT and RIGHT never contain the same item. */ - left = slist; - right = slist->next; - - if (!right) - return left; - - /* Skip two items with RIGHT and one with SLIST, until RIGHT falls off - the end. SLIST must be about half way along. */ - while (right && (right = right->next)) - { - if (!right || !(right = right->next)) - break; - slist = slist->next; - } - right = slist->next; - slist->next = 0; - - /* Sort LEFT and RIGHT, then merge the two. */ - return slist_sort_merge (slist_sort (left, compare, userdata), - slist_sort (right, compare, userdata), - compare, userdata); -} - - -/* Aside from using the functions above to manage chained structures of - any type that has a NEXT pointer as its first field, SLISTs can - be comprised of boxed items. The boxes are chained together in - that case, so there is no need for a NEXT field in the item proper. - Some care must be taken to slist_box and slist_unbox each item in - a boxed list at the appropriate points to avoid leaking the memory - used for the boxes. It us usually a very bad idea to mix boxed and - non-boxed items in a single list. */ - -/* Return a 'boxed' freshly mallocated 1 element list containing - USERDATA. */ -SList * -slist_box (const void *userdata) -{ - SList *item = (SList *) malloc (sizeof *item); - - if (item) - { - item->next = 0; - item->userdata = userdata; - } - - return item; -} - -/* Return the contents of a 'boxed' ITEM, recycling the box itself. */ -void * -slist_unbox (SList *item) -{ - void *userdata = 0; - - if (item) - { - /* Strip the const, because responsibility for this memory - passes to the caller on return. */ - userdata = (void *) item->userdata; - free (item); - } - - return userdata; -} diff --git a/BUILD/libtool-2.4.7/libltdl/stamp-mk b/BUILD/libtool-2.4.7/libltdl/stamp-mk deleted file mode 100644 index 859afb1..0000000 --- a/BUILD/libtool-2.4.7/libltdl/stamp-mk +++ /dev/null @@ -1 +0,0 @@ -stamp diff --git a/BUILD/libtool-2.4.7/libtoolize.in b/BUILD/libtool-2.4.7/libtoolize.in deleted file mode 100644 index 0c40fed..0000000 --- a/BUILD/libtool-2.4.7/libtoolize.in +++ /dev/null @@ -1,1945 +0,0 @@ -#! /usr/bin/env sh - -# Prepare a package to use libtool. -# Written by Gary V. Vaughan , 2003 - -# Copyright (C) 2003-2019, 2021-2022 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# Libtoolize is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# Libtoolize is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtoolize --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} -: ${EGREP="@EGREP@"} -: ${FGREP="@FGREP@"} -: ${GREP="@GREP@"} -: ${LN_S="@LN_S@"} -: ${SED="@SED@"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir under normal use, though -# we also need to be able to find them in $srcdir during testing, or if -# executed directly from the build tree. - -. "@auxscriptsdir@/funclib.sh" -. "@auxscriptsdir@/options-parser" -. "@auxscriptsdir@/extract-trace" - -# Set a version string. -scriptversion='(GNU @PACKAGE@) @VERSION@' - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]...' - -# Short help message in response to '-h'. -usage_message="Options: - -c, --copy copy files rather than symlinking them - --debug enable verbose shell tracing - -n, --dry-run print commands rather than running them - -f, --force replace existing files - -i, --install copy missing auxiliary files - --ltdl[=DIR] install libltdl sources [default: libltdl] - --no-warnings equivalent to '-Wnone' - --nonrecursive prepare ltdl for non-recursive make - -q, --quiet work silently - --recursive prepare ltdl for recursive make - --subproject prepare ltdl to configure and build independently - -v, --verbose verbosely report processing - --version print version information and exit - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -h, --help print short or long help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - 'environment' show warnings about LIBTOOLIZE_OPTIONS content - 'file' show warnings about file copying and linking - -The following space or comma delimited options can be passed to $progname -via the environment variable LIBTOOLIZE_OPTIONS, unknown environment -options are ignored: - - --debug enable verbose shell tracing - --no-warnings don't display warning messages - --quiet work silently - --verbose verbosely report processing - -You must 'cd' to the top directory of your package before you run -'$progname'. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: @host_triplet@ - version: $progname (GNU @PACKAGE@) @VERSION@ - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to <@PACKAGE_BUGREPORT@>. -GNU @PACKAGE@ home page: <@PACKAGE_URL@>. -General help using GNU software: ." - exit 0 -} - -warning_categories='environment file' - - -# libtoolize_environment_options [ARG]... -# --------------------------------------- -# Parse environment options. -libtoolize_environment_options () -{ - $debug_mode - - my_sed_env_opt='1s/^\([^,:; ]*\).*$/\1/;q' - my_sed_env_rest='1s/^[^,:; ]*[,:; ]*\(.*\)$/\1/;q' - - while test -n "$LIBTOOLIZE_OPTIONS"; do - opt=`echo "$LIBTOOLIZE_OPTIONS" | $SED "$my_sed_env_opt"` - LIBTOOLIZE_OPTIONS=`echo "$LIBTOOLIZE_OPTIONS" | $SED "$my_sed_env_rest"` - - case $opt in - --debug|--no-warn|--no-warning|--no-warnings|--quiet|--verbose) - envopts="${envopts+$envopts }$opt" ;; - --*) env_warning="${env_warning+$env_warning -}unrecognized environment option '$opt'" ;; - *) func_fatal_help "garbled LIBTOOLIZE_OPTIONS near '$opt'" ;; - esac - done - - # Pass back the updated list of options. - if test -n "$envopts"; then - func_quote eval "$envopts" ${1+"$@"} - else - func_quote eval ${1+"$@"} - fi - libtoolize_environment_options_result=$func_quote_result -} -func_add_hook func_options_prep libtoolize_environment_options - - -# libtoolize_options_prep [ARG]... -# -------------------------------- -# Preparation for options parsed by libtoolize. -libtoolize_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_copy=false - opt_dry_run=false - opt_force=false - opt_install=false - opt_ltdl=false - opt_nonrecursive=false - opt_quiet=false - opt_recursive=false - opt_subproject=false - - ltdl_mode= -} -func_add_hook func_options_prep libtoolize_options_prep - - -# libtoolize_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtoolize specific options. -libtoolize_parse_options () -{ - $debug_cmd - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_opt=$1 - shift - case $_G_opt in - --copy|-c) opt_copy=: ;; - - --dry-run|--dryrun|-n) - $opt_dry_run || { - opt_dry_run=: - CP="func_echo_all $CP" - test -n "$LN_S" && LN_S="func_echo_all $LN_S" - MKDIR="func_echo_all $MKDIR" - RM="func_echo_all $RM" - } - ;; - - --force|-f) opt_force=: ;; - - --install|-i) opt_install=: ;; - - --ltdl) opt_ltdl=: - if test 0 -lt $#; then - case $1 in - -*) ;; - *) ltdl_dir=`$ECHO "$1" | $SED 's|/*$||'` - shift - ;; - esac - fi - ;; - - --nonrecursive|--non-recursive) - opt_nonrecursive=: - ;; - - --quiet|--automake|-q) # --automake is for 1.5 compatibility - opt_quiet=: ;; - - --recursive) opt_recursive=: ;; - - --subproject) opt_subproject=: ;; - - # Separate non-argument short options: - -c*|-f*|-i*|-n*|-q*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - # save modified positional parameters for caller - func_quote eval ${1+"$@"} - libtoolize_parse_options_result=$func_quote_result -} -func_add_hook func_parse_options libtoolize_parse_options - - -# libtoolize_validate_options [ARG]... -# ------------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtoolize_validate_options () -{ - # show any warnings saved by LIBTOOLIZE_OPTIONS parsing - test -n "$env_warning" && func_warning environment "$env_warning" - - # validate $opt_nonrecursive, $opt_recursive and $opt_subproject - if $opt_nonrecursive; then - if $opt_recursive || $opt_subproject; then - func_error "you can have at most one of --non-recursive, --recursive and --subproject" - fi - ltdl_mode=nonrecursive - elif $opt_recursive; then - $opt_subproject && - func_error "you can have at most one of --non-recursive, --recursive and --subproject" - ltdl_mode=recursive - elif $opt_subproject; then - ltdl_mode=subproject - fi - - # any remaining arguments are an error - test 0 -lt $# && - func_fatal_help "unknown additional arguments: '${1+$@}'" - - # Pass back the empty argument list - func_quote eval ${1+"$@"} - libtoolize_validate_options_result=$func_quote_result -} -func_add_hook func_validate_options libtoolize_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - -# func_notquiet_once MSG_VAR -# -------------------------- -# Call func_notquiet with the value of MSG_VAR, and then set MSG_VAR='' so -# that subsequent calls will have no effect. -func_notquiet_once () -{ - $debug_cmd - - if test -n "$1"; then - eval my_msg=\$$1 - - if test -n "$my_msg"; then - func_notquiet "$my_msg" - eval $1= - fi - fi -} - - -# func_notquiet_hdr MSG_VAR ARG... -# -------------------------------- -# With at least 1 non-empty ARG, call func_notquiet_once with MSG_VAR, -# and then func_notquiet with the remaining arguments. -func_notquiet_hdr () -{ - $debug_cmd - - my_msg_var=$1; shift - test -n "$*" || return - - func_notquiet_once "$my_msg_var" - func_notquiet "$*" -} - - -# func_notquiet_error_hdr MSG_VAR ARG... -# -------------------------------------- -# Much the same as func_notquiet_header, but for (non-fatal) error -# messages. -func_notquiet_error_hdr () -{ - $debug_cmd - - my_msg_var=$1; shift - test -n "$*" || return - - func_notquiet_once "$my_msg_var" - func_error "$*" - - exit_status=$EXIT_FAILURE -} - - -# func_copy FILENAME SRCDIR DESTDIR [MSG_VAR [FILTER]] -# ---------------------------------------------------- -# If option '--copy' was specified, or soft-linking SRCFILE to DESTFILE -# fails, then try to copy SRCFILE to DESTFILE (making sure to update the -# timestamp so that a series of files with dependencies can be copied -# in the right order that their timestamps won't trigger rebuilds). If -# FILTER is non-empty, it is a sed script to apply to SRCFILE as it is -# copied. MSG_VAR names a variable for use with func_notquiet_hdr. -func_copy () -{ - $debug_cmd - - my_filename=$1 - my_srcdir=$2 - my_destdir=$3 - my_msg_var=$4 - my_filter=$5 - - my_srcfile=$my_srcdir/$my_filename - my_destfile=$my_destdir/$my_filename - - # Libtool is probably misinstalled if this happens: - test -f "$my_srcfile" || { - func_notquiet_error_hdr "$my_msg_var" "'$my_srcfile' not found" - return 1 - } - - # Require --force to remove existing $my_destfile. - $opt_force && $RM "$my_destfile" - test -f "$my_destfile" && { - func_notquiet_error_hdr "$my_msg_var" \ - "'$my_destfile' exists: use '--force' to overwrite" - return 1 - } - - # Be careful to support 'func_copy dir/target srcbase destbase'. - func_dirname "$my_destfile" - func_mkdir_p "$func_dirname_result" - - # Filters always take priority. - if test -n "$my_filter"; then - if $opt_dry_run || $SED -e "$my_filter" "$my_srcfile" > "$my_destfile" 2>/dev/null - then - func_notquiet_once "$my_msg_var" - if $opt_verbose; then - func_notquiet "$SED -e '$my_filter' $my_srcfile > $my_destfile" - else - func_notquiet "creating file '$my_destfile'" - fi - else - func_notquiet_error_hdr "$my_msg_var" "creating '$my_destfile' from '$my_srcfile' failed" - return 1 - fi - return 0 - fi - - # Otherwise copy or link according to '--copy' option. - if $opt_copy; then - my_copycmd=$CP - my_copy_type=copying - else - my_copycmd=$LN_S - my_copy_type=linking - fi - my_copy_msg="$my_copy_type file '$my_destfile'" - $opt_verbose && my_copy_msg="$my_copycmd $my_srcfile $my_destdir" - - if $opt_dry_run || $my_copycmd "$my_srcfile" "$my_destfile" 2>/dev/null - then - func_notquiet_hdr "$my_msg_var" "$my_copy_msg" - else - func_notquiet_error_hdr "$my_msg_var" \ - "$my_copy_type '$my_srcdir/$my_filename' to '$my_destdir/' failed" - return 1 - fi -} - - -# func_included_files SEARCHFILE -# ------------------------------ -# Output INCLUDEFILE if SEARCHFILE m4_includes it, else output SEARCHFILE. -func_included_files () -{ - $debug_cmd - - my_searchfile=$1 - - my_include_regex= - my_sed_include=' - /^m4_include(\[.*\])$/ { - s|^m4_include(\[\(.*\)\])$|\1| - p - } - d' - - if test -f "$my_searchfile"; then - $ECHO "$my_searchfile" - - # Only recurse when we don't care if all the variables we use get - # trashed, since they are in global scope. - for my_filename in `$SED "$my_sed_include" "$my_searchfile"`; do - func_included_files $my_filename - done - fi -} - - -# func_serial FILENAME [MACRO_REGEX] -# ---------------------------------- -# Output the value of the serial number comment in FILENAME, where the -# comment line must also match MACRO_REGEX, if given. -func_serial () -{ - $debug_cmd - - my_filename=$1 - my_macro_regex=$2 - my_sed_serial=' - /^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ { - s|^# serial \([1-9][0-9.]*\).*$|\1| - q - } - d' - - # Search FILENAME and all the files it m4_includes for a serial number - # in the file that AC_DEFUNs MACRO_REGEX. - my_serial= - func_dirname_and_basename "$my_filename" - my_filebase=$func_basename_result - for my_file in `func_included_files "$my_filename"`; do - if test -z "$my_macro_regex" || - test aclocal.m4 = "$my_filename" || - test "X$my_macro_regex" = "X$my_filebase" || - func_grep '^AC_DEFUN(\['"$my_macro_regex" "$my_file" - then - my_serial=`$SED -e "$my_sed_serial" "$my_file"` - break - fi - done - - # If the file has no serial number, we assume it's ancient. - test -n "$my_serial" || my_serial=0 - - $ECHO "$my_serial" -} - - -# func_serial_max SERIAL1 SERIAL2 -# ------------------------------- -# Compare (possibly multi-part, '.' delimited) serial numbers, and -# return the largest in $func_serial_max_result. If they are the -# same, func_serial_max_result will be empty. -func_serial_max () -{ - $debug_cmd - - my_serial1=$1 - my_serial2=$2 - - my_sed_dot='s/\..*$//g' - my_sed_rest='s/^[0-9][1-9]*\.*//' - my_sed_digits='s/[^0-9.]//g' - - # Incase they turn out to be the same, we'll set it to empty - func_serial_max_result= - - test "X$1$2" = X`$ECHO "$1$2" | $SED "$my_sed_digits"` || { - func_error "serial numbers '$1' or '$2' contain non-digit chars" - return - } - - while test -n "$my_serial1$my_serial2"; do - my_serial1_part=`$ECHO "$my_serial1" | $SED "$my_sed_dot"` - my_serial2_part=`$ECHO "$my_serial2" | $SED "$my_sed_dot"` - - test -z "$my_serial1_part$my_serial2_part" \ - && break - - test -z "$my_serial1_part" \ - && { func_serial_max_result=$2; break; } - - test -z "$my_serial2_part" \ - && { func_serial_max_result=$1; break; } - - test "$my_serial1_part" -gt "$my_serial2_part" \ - && { func_serial_max_result=$1; break; } - - test "$my_serial2_part" -gt "$my_serial1_part" \ - && { func_serial_max_result=$2; break; } - - my_serial1=`$ECHO "$my_serial1" | $SED "$my_sed_rest"` - my_serial2=`$ECHO "$my_serial2" | $SED "$my_sed_rest"` - done -} - - -# func_serial_update_check SRCFILE SRC_SERIAL DESTFILE DEST_SERIAL -# ---------------------------------------------------------------- -# Unless SRC_SERIAL is newer than DEST_SERIAL set $func_serial_update_check -# to 'false'. -func_serial_update_check () -{ - $debug_cmd - - $require_ac_ltdl_dir - $require_ac_macro_dir - - my_srcfile=$1 - my_src_serial=$2 - my_destfile=$3 - my_dest_serial=$4 - my_update_p=: - - if test -f "$my_destfile"; then - test 0 = "$my_src_serial" && { - func_warning file "no serial number on '$my_srcfile', not copying." - return - } - - # Determine whether the destination has an older serial. - func_serial_max "$my_src_serial" "$my_dest_serial" - test "X$my_src_serial" = "X$func_serial_max_result" || my_update_p=false - - test "X$my_src_serial" = "X$func_serial_max_result" \ - && func_verbose "'$my_srcfile' is serial $my_src_serial, greater than $my_dest_serial in '$my_destfile'" - - if test "X$my_dest_serial" = "X$func_serial_max_result"; then - func_verbose "'$my_srcfile' is serial $my_src_serial, less than $my_dest_serial in '$my_destfile'" - $opt_force || if test -n "$ac_macro_dir$ac_ltdl_dir"; then - func_error "'$my_destfile' is newer: use '--force' to overwrite" - fi - fi - fi - - func_serial_update_check_result=$my_update_p -} - - -# func_aclocal_update_check FILENAME -# ---------------------------------- -# Unless serial number of FILENAME is newer than the matching serial number -# in aclocal.m4, set $func_aclocal_update_check to 'false'. -func_aclocal_update_check () -{ - $debug_cmd - - my_filename=$1 - - my_srcfile=$aclocaldir/$1 - my_destfile=aclocal.m4 - - case $my_filename in - libtool.m4) - my_src_serial=`func_serial "$my_srcfile" LT_INIT` - my_dest_serial=`func_serial "$my_destfile" LT_INIT` - - # Strictly, this libtoolize ought not to have to deal with ancient - # serial formats, but we accept them here to be complete: - test 0 = "$my_src_serial" && - my_src_serial=`func_serial "$my_srcfile" 'A[CM]_PROG_LIBTOOL'` - test 0 = "$my_dest_serial" && - my_dest_serial=`func_serial "$my_destfile" 'A[CM]_PROG_LIBTOOL'` - ;; - ltdl.m4) - my_src_serial=`func_serial "$my_srcfile" LTDL_INIT` - my_dest_serial=`func_serial "$my_destfile" LTDL_INIT` - ;; - *) - my_src_serial=`func_serial "$my_srcfile" "$my_filename"` - my_dest_serial=`func_serial "$my_destfile" "$my_filename"` - ;; - esac - - func_serial_update_check \ - "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" - - func_aclocal_update_check_result=$func_serial_update_check_result -} - - -# func_serial_update FILENAME SRCDIR DESTDIR [MSG_VAR] [MACRO_RE] [OLD_MACRO_RE] -# ------------------------------------------------------------------------------ -# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME -# has a newer serial number, or DESTFILE does not yet exist, or the user -# specified '--force' at the command line. If given, MACRO_REGEX or -# OLD_MACRO_REGEX must match any text after "# serial N" in both files. -func_serial_update () -{ - $debug_cmd - - my_filename=$1 - my_srcdir=$2 - my_destdir=$3 - my_msg_var=$4 - my_macro_regex=$5 - my_old_macro_regex=$6 - - my_serial_update_p=: - my_return_status=1 - my_srcfile=$my_srcdir/$my_filename - my_destfile=$my_destdir/$my_filename - - test -f "$my_srcfile" || func_fatal_error "'$my_srcfile' does not exist." - - if test -f "$my_destfile"; then - my_src_serial=`func_serial "$my_srcfile" "$my_macro_regex"` - my_dest_serial=`func_serial "$my_destfile" "$my_macro_regex"` - - # Strictly, this libtoolize ought not to have to deal with ancient - # serial formats, but we accept them here to be complete: - test 0 = "$my_src_serial" && - my_src_serial=`func_serial "$my_srcfile" "$my_old_macro_regex"` - - test 0 = "$my_dest_serial" && - my_dest_serial=`func_serial "$my_destfile" "$my_old_macro_regex"` - - func_serial_update_check \ - "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" - my_serial_update_p=$func_serial_update_check_result - fi - - if $my_serial_update_p || $opt_force; then - $RM "$my_destfile" - func_copy "$my_filename" "$my_srcdir" "$my_destdir" "$my_msg_var" - my_return_status=$? - elif $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then - func_notquiet_hdr "$my_msg_var" "'$my_destfile' is already up to date." - fi - - # Do this after the copy for hand maintained 'aclocal.m4', incase - # it has 'm4_include([DESTFILE])', so the copy effectively already - # updated 'aclocal.m4'. - my_included_files=`func_included_files aclocal.m4` - case `echo " "$my_included_files" "` in - - # Skip included files: - *" $my_destfile "*) ;; - - # Otherwise compare to aclocal.m4 serial number (func_serial - # returns 0 for older macro serial numbers before we provided - # serial tags, so the update message will be correctly given - # if aclocal.m4 contains an untagged --i.e older-- macro file): - *) - if test -f aclocal.m4; then - func_serial_max \ - "$my_src_serial" `func_serial aclocal.m4 "$my_macro_regex"` - if test "X$my_src_serial" = "X$func_serial_max_result"; then - func_notquiet_hdr "$my_msg_var" \ - "You should add the contents of '$my_destfile' to 'aclocal.m4'." - fi - fi - ;; - esac - return $my_return_status -} - - -# func_keyword_update FILENAME SRCDIR DESTDIR SED_SCRIPT [MSG_VAR] -# ---------------------------------------------------------------- -# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME -# has a newer revision according to the serial number extracted by -# SED_SCRIPT, or DESTFILE does not yet exist, or the user specified -# '--force' at the command line. -func_keyword_update () -{ - $debug_cmd - - my_filename=$1 - my_srcdir=$2 - my_destdir=$3 - my_sed_script=$4 - my_msg_var=$5 - - my_srcfile=$my_srcdir/$my_filename - my_destfile=$my_destdir/$my_filename - - my_keyword_update_p=: - - test -f "$my_srcfile" || func_fatal_error "'$my_srcfile' does not exist." - - if test -f "$my_destfile"; then - my_src_serial=`$SED -e "$my_sed_script" "$my_srcfile"` - test -z "$my_src_serial" && { - func_warning file "no serial number in '$my_srcfile', not copying." - return - } - - my_dest_serial=`$SED -e "$my_sed_script" "$my_destfile"` - test -n "$my_dest_serial" || my_dest_serial=0 - - func_serial_update_check \ - "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" - my_keyword_update_p=$func_serial_update_check_result - fi - - if $my_keyword_update_p || $opt_force; then - $RM "$my_destfile" - func_copy "$my_filename" "$my_srcdir" "$my_destdir" "$my_msg_var" - elif $opt_verbose || $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then - func_notquiet_hdr "$my_msg_var" "'$my_destfile' is already up to date." - fi -} - - -# func_ltmain_update FILENAME SRCDIR DESTDIR [MSG_VAR] -# ---------------------------------------------------- -# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME -# has a newer revision, or DESTFILE does not yet exist, or the user -# specified '--force' at the command line. -func_ltmain_update () -{ - $debug_cmd - - my_sed_ltmain=' - /^package_revision='\''*[0-9][1-9.]*'\''*/ { - s|^package_revision='\''*\([0-9.]*\)'\''*[ ]*$|\1| - p - } - d' - - func_keyword_update "$1" "$2" "$3" "$my_sed_ltmain" "$4" - - return $my_return_status -} - - -# func_config_update FILENAME SRCDIR DESTDIR [MSG_VAR] -# ---------------------------------------------------- -# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME -# has a newer timestamp, or DESTFILE does not yet exist, or the user -# specified '--force' at the command line. -func_config_update () -{ - $debug_cmd - - my_sed_config=' - /^timestamp='\''*[0-9][1-9-]*'\''*/ { - s|^timestamp='\''*\([0-9-]*\)'\''*|\1| - s|-|.|g - p - } - d' - - func_keyword_update "$1" "$2" "$3" "$my_sed_config" "$4" - - return $my_return_status -} - - -# func_install_update FILENAME SRCDIR DESTDIR [MSG_VAR] -# ----------------------------------------------------- -# Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME -# has a newer timestamp, or DESTFILE does not yet exist, or the user -# specified '--force' at the command line. -func_install_update () -{ - $debug_cmd - - my_sed_install=' - /^scriptversion='\''*[0-9][1-9.-]*'\''*/ { - s|[#;].*|| - s|^scriptversion='\''*\([0-9.-]*\)'\''*|\1| - s|-|.|g - p - } - d' - - func_keyword_update "$1" "$2" "$3" "$my_sed_install" "$4" - - return $my_return_status -} - - -# func_install_pkgmacro_files -# --------------------------- -# Install copies of the libtool and libltdl m4 macros into this package. -func_install_pkgmacro_files () -{ - $debug_cmd - - $require_ac_macro_dir - $require_am_macro_dir - $require_ltdl_mode - $require_macro_dir - - $opt_ltdl || test -n "$ac_macro_dir$am_macro_dir" || return - - # Remove any lingering files that my have been installed by some - # previous libtoolize release: - $opt_force && for file in $all_pkgmacro_files; do - test -f "$macro_dir/$file" && func_verbose "rm -f '$macro_dir/$file'" - rm -f "$macro_dir/$file" - done - - # Install the libltdl autoconf macros to this project's source tree. - $opt_quiet || if test -n "$ac_macro_dir"; then - my_pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIRS, '$ac_macro_dir'." - else - my_pkgmacro_header="putting macros in '$macro_dir'." - fi - - for file in $pkgmacro_files; do - case $file in - libtool.m4) - func_serial_update "$file" "$aclocaldir" "$macro_dir" \ - my_pkgmacro_header LT_INIT 'A[CM]_PROG_LIBTOOL' - ;; - ltdl.m4) - if $opt_ltdl; then - func_serial_update "$file" "$aclocaldir" "$macro_dir" \ - my_pkgmacro_header 'LTDL_INIT' - else - func_verbose "Not copying '$macro_dir/$file', libltdl not used." - fi - ;; - ltoptions.m4|ltsugar.m4|ltversion.m4|lt~obsolete.m4) - func_serial_update "$file" "$aclocaldir" "$macro_dir" \ - my_pkgmacro_header "$file" - ;; - *) - if $opt_ltdl; then - func_serial_update "$file" "$aclocaldir" "$macro_dir" \ - my_pkgmacro_header "$file" - else - func_verbose "Not copying '$macro_dir/$file', libltdl not used." - fi - ;; - esac - done -} - - -# func_install_pkgltdl_files -# -------------------------- -# Install copies of the libltdl files into this package. Any auxiliary -# or m4 macro files needed in the libltdl tree will also be copied by -# func_install_pkgaux_files and func_install_pkgmacro_files resp. -func_install_pkgltdl_files () -{ - $debug_cmd - - $opt_ltdl || return - - $require_ac_ltdl_dir - $require_ltdl_dir - $require_ltdl_mode - - # Remove any lingering files that my have been installed by some - # previous libtoolize release: - $opt_force && for file in $all_pkgltdl_files; do - test -f "$ltdl_dir/$file" && func_verbose "rm -f '$ltdl_dir/$file'" - rm -f "$ltdl_dir/$file" - done - - # Copy all the files from installed libltdl to this project, if the - # user specified '--ltdl'. - $opt_quiet || if test -n "$ac_ltdl_dir"; then - pkgltdl_header="putting libltdl files in LT_CONFIG_LTDL_DIR, '$ac_ltdl_dir'." - else - pkgltdl_header="putting libltdl files in '$ltdl_dir'." - fi - - $require_filter_Makefile_am - $require_filter_ltdl_mk - - # Copy ltdl sources appropriate to the requested ltdl_mode. - for file in $pkgltdl_files; do - my_copy_filter= - case $file in - Makefile.am|Makefile.in) - test nonrecursive = "$ltdl_mode" && continue - my_copy_filter=$filter_Makefile_am - ;; - - ltdl.mk) - test nonrecursive = "$ltdl_mode" || continue - my_copy_filter=$filter_ltdl_mk - ;; - - aclocal.m4) - test subproject = "$ltdl_mode" && { - $require_filter_aclocal_m4 - - # Always copy aclocal.m4, otherwise regenerating it can - # overwrite the destination if it is symlinked. - ( opt_copy=: - func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ - pkgltdl_header "$filter_aclocal_m4" - ) - } - continue - ;; - - config-h.in) - test subproject = "$ltdl_mode" || continue - ;; - - configure) - test subproject = "$ltdl_mode" && { - $require_filter_configure_ac - - # Always copy configure, otherwise regenerating it can - # overwrite the destination if it is symlinked. - ( opt_copy=: - func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ - pkgltdl_header "$filter_configure_ac" - ) - } - continue - ;; - - configure.ac) - test subproject = "$ltdl_mode" || continue - $require_filter_configure_ac - my_copy_filter=$filter_configure_ac - ;; - esac - - # Still here? Copy the file then, with selected filters. - func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ - pkgltdl_header "$my_copy_filter" - - # FIXME: Remove in 2013 - # (along with deprecation warning in func_check_macros) - test ltdl.mk = "$file" \ - && func_grep "^-\?include $ltdl_dir/Makefile.inc\$" Makefile.am \ - && mv "$ltdl_dir/$file" "$ltdl_dir/Makefile.inc" \ - && func_notquiet "renaming file '$ltdl_dir/Makefile.inc'" - done -} - - -# func_install_pkgaux_files -# ------------------------- -# Install copies of the auxiliary files into this package according to -# the whether libltdl is included as a subproject, and whether the parent -# shares the AC_CONFIG_AUX_DIR setting. -func_install_pkgaux_files () -{ - $debug_cmd - - $require_ac_aux_dir - $require_aux_dir - $require_configure_ac - $require_ltdl_mode - - # Remove any lingering files that my have been installed by some - # previous libtoolize release: - $opt_force && for file in $all_pkgaux_files; do - test -f "$aux_dir/$file" && func_verbose "rm -f '$aux_dir/$file'" - rm -f "$aux_dir/$file" - done - - if test -n "$ac_aux_dir"; then - pkgaux_header="putting auxiliary files in AC_CONFIG_AUX_DIR, '$ac_aux_dir'." - else - pkgaux_header="putting auxiliary files in '$aux_dir'." - fi - - for file in $pkgaux_files; do - case $file in - config.guess|config.sub) - $opt_install || test subproject = "$ltdl_mode" || continue - func_config_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header - ;; - install-sh) - $opt_install || test subproject = "$ltdl_mode" || continue - func_install_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header - ;; - ltmain.sh) - func_ltmain_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header - ;; - *) - test subproject = "$ltdl_mode" || continue - func_copy "$file" "$pkgauxdir" "$aux_dir" pkgaux_header - ;; - esac - done - - # If the parent project is using Autoconf and linking with Libtool, - # even if subproject libltdl already has a copy, the parent project - # will still need to build libtool for its own purposes, and might - # need another copy of ltmain.sh if the parent didn't declare an - # AC_CONFIG_AUX_DIR. - pkgaux_hdr="putting another copy of auxiliary files in '.'" - test -f "$configure_ac" \ - && test -z "$ac_aux_dir" \ - && test subproject = "$ltdl_mode" \ - && test "$aux_dir" = "$ltdl_dir" \ - && func_ltmain_update "$file" "$pkgauxdir" . pkgaux_hdr - - # FIXME: Remove in 2013. - # Very old parent projects using 'libtoolize --install --ltdl', and - # a top-level $configure_ac to build the ltdl subproject, but not - # using Automake themselves, might still be relying on the old - # behaviour of libtoolize to put a second copy of some 'Auxiliary - # Programs' needed by the top-level configure (instead of using - # the recommended method: 'automake --add-missing'). - test -f "$configure_ac" \ - && test subproject = "$ltdl_mode" \ - && test "$aux_dir" = "$ltdl_dir" \ - && func_config_update config.guess "$pkgauxdir" . pkgaux_hdr \ - && func_config_update config.sub "$pkgauxdir" . pkgaux_hdr \ - && func_install_update install-sh "$pkgauxdir" . pkgaux_hdr -} - - -# func_nonemptydir_p DIRVAR -# ------------------------- -# DIRVAR is the name of a variable to evaluate. Unless DIRVAR names -# a directory that exists and is non-empty abort with a diagnostic. -func_nonemptydir_p () -{ - $debug_cmd - - my_dirvar=$1 - my_dir=`eval echo "\\\$$my_dirvar"` - - # Is it a directory at all? - test -d "$my_dir" \ - || func_fatal_error "\$$my_dirvar is not a directory: '$my_dir'" - - # check that the directories contents can be ls'ed - test -n "`{ cd $my_dir && ls; } 2>/dev/null`" \ - || func_fatal_error "cannot list files: '$my_dir'" -} - - -# func_check_macros -# ----------------- -# Sanity check macros from aclocal.m4 against installed versions. -func_check_macros () -{ - $debug_cmd - - $require_ac_ltdl_dir - $require_ac_macro_dir - $require_am_macro_dir - $require_aux_dir - $require_configure_ac - $require_ltdl_dir - $require_ltdl_mode - $require_macro_dir - $require_seen_ltdl - $require_seen_libtool - - $opt_quiet && return - test -n "$configure_ac" || return - - ac_config_macro_dir_advised=false - - if test -z "$ac_macro_dir$am_macro_dir"; then - my_missing= - for file in $pkgmacro_files; do - case $file in - ltargz.m4|ltdl.m4) $opt_ltdl || continue ;; - esac - if test -f "aclocal.m4"; then - func_aclocal_update_check $file - $func_aclocal_update_check_result || continue - fi - my_missing="$my_missing $file" - done - - if test -n "$my_missing"; then - func_echo "You should add the contents of the following files to 'aclocal.m4':" - for need in $my_missing; do - func_echo " '$aclocaldir/$need'" - done - fi - fi - - ## ---------------------------------------------------------- ## - ## Since we return early here when --no-warn was given: ## - ## DO NOT PUT ANYTHING BUT UPGRADE ADVICE MESSAGES BELOW HERE ## - ## ---------------------------------------------------------- ## - - test " none" = "$opt_warning_types" && return - - $seen_libtool || - func_echo "Remember to add 'LT_INIT' to $configure_ac." - - # Suggest using LTDL_INIT if appropriate: - $opt_ltdl && if test : != "$seen_ltdl"; then - case $ltdl_mode in - subproject) ltdl_init_args= ;; - *) ltdl_init_args="([$ltdl_mode])" ;; - esac - func_echo "Remember to add 'LTDL_INIT$ltdl_init_args' to $configure_ac." - fi - - if $opt_ltdl; then - # Remind the user to call LT_CONFIG_LTDL_DIR: - test -n "$ac_ltdl_dir" || - func_echo "Remember to add 'LT_CONFIG_LTDL_DIR([$ltdl_dir])' to '$configure_ac'." - - # For nonrecursive mode, warn about continued use of Makefile.inc: - # FIXME: Remove in 2013 - # (along with last minute rename in func_install_pkgltdl_files) - if test nonrecursive = "$ltdl_mode"; then - if func_grep "^-\?include $ltdl_dir/Makefile.inc\$" Makefile.am; - then - func_error "Use of 'include $ltdl_dir/Makefile.inc' is deprecated!" - func_echo "Consider updating to use of 'include $ltdl_dir/ltdl.mk' in Makefile.am." - fi - fi - fi - - # Suggest modern idioms for storing autoconf macros: - $ac_config_macro_dir_advised || if test -z "$macro_dir" || test . = "$macro_dir"; then - func_echo "Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to $configure_ac and" - func_echo "rerunning $progname, to keep the correct libtool macros in-tree." - ac_config_macro_dir_advised=: - - elif test -z "$ac_macro_dir"; then - func_echo "Consider adding 'AC_CONFIG_MACRO_DIRS([$macro_dir])' to $configure_ac," - func_echo "and rerunning $progname and aclocal." - ac_config_macro_dir_advised=: - fi - - if test -z "$am_macro_dir$ac_macro_dir"; then - func_echo "Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am." - - elif test -z "$am_macro_dir"; then - func_echo "Consider adding '-I $macro_dir' to ACLOCAL_AMFLAGS in Makefile.am." - fi - - # Don't trace for this, we're just checking the user didn't invoke it - # directly from configure.ac. - $SED 's|dnl .*$||; s|# .*$||' "$configure_ac" | $GREP AC_PROG_RANLIB >/dev/null && - func_echo "'AC_PROG_RANLIB' is rendered obsolete by 'LT_INIT'" - - # FIXME: Ensure ltmain.sh, libtool.m4 and ltdl.m4 are from the same release -} - - - -## ------------------## -## Helper functions. ## -## ------------------## - -# This section contains the helper functions used by the rest of -# this script. - - -# func_autoconf_configure MAYBE-CONFIGURE-FILE -# -------------------------------------------- -# Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current -# directory that contains an uncommented call to AC_INIT. -func_autoconf_configure () -{ - $debug_cmd - - _G_sed_no_comment='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;' - _G_ac_init= - - # If we were passed a genuine file, make sure it calls AC_INIT. - test -f "$1" \ - && _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT` - - # Otherwise it is not a genuine Autoconf input file. - test -n "$_G_ac_init" - _G_status=$? - - test 0 -ne "$_G_status" \ - && func_verbose "'$1' not using Autoconf" - - (exit $_G_status) -} - - -# func_make_relative_dir_filter CURRDIR SRCDIR DESTDIR [PREFIX [SUFFIX]] -# ---------------------------------------------------------------------- -# Make a sed script suitable for appending to a copy filter, which will -# replace occurrences of CURRDIR with the relative path from SRCDIR to -# DESTDIR if they are different, otherwise the result is the empty -# string: -# -# func_make_relative_dir_filter ltdl config ../build-aux -# => 's|\.\./build-aux|../config|g' -# func_make_relative_dir_filter ltdl ltdl/m4 ../m4 -# => 's|\.\./m4|m4|g' -# func_make_relative_dir_filter libltdl build-aux ../build-aux -# => '' -# -# If PREFIX (and SUFFIX) are passed they are prepended (and appended) -# to the match and replacement expressions literally: -# -# func_make_relative_dir_filter ltdl ltdl/m4 ../m4 '-I ' ' ' -# => 's|-I \.\./m4 |-I m4 |g' -func_make_relative_dir_filter () -{ - $debug_cmd - - my_currdir=$1 - my_srcdir=$2 - my_destdir=$3 - - func_relative_path "$my_srcdir" "$my_destdir" - - if test "$my_currdir" = "$func_relative_path_result"; then - func_make_relative_dir_filter_result= - else - my_match_currdir=`$ECHO "$my_currdir" |$SED "$sed_make_literal_regex"` - - # Avoid substituting with 'dir/./file' when current dir is '.'. - if test . = "$my_currdir"; then - func_make_relative_dir_filter_result=" - s|$4$my_match_currdir/$5|$4$5|g" - else - func_make_relative_dir_filter_result=" - s|$4$my_match_currdir$5|$4$func_relative_path_result$5|g" - fi - fi -} - -# func_make_relative_ltdl_filter CURRDIR DESTDIR [PREFIX [SUFFIX]] -# ---------------------------------------------------------------- -# As 'func_make_relative_dir_filter' optimised for the common case where -# SRCDIR is '$ltdl_dir'. -func_make_relative_ltdl_filter () -{ - $debug_cmd - - $require_ltdl_dir - - func_make_relative_dir_filter "$1" "$ltdl_dir" "$2" "$3" "$4" - func_make_relative_ltdl_filter_result=$func_make_relative_dir_filter_result -} - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Where a variable already has a non- -# empty value (as set by the package's 'bootstrap.conf'), that value is -# used in preference to deriving the default. Call them using their -# associated 'require_*' variable to ensure that they are executed, at -# most, once. -# -# Some of the require functions are very similar, so we generate those -# as this file is sourced. They look complicated, but they are the same -# as normal function declarations wrapped in "eval ''", so -# that embedded single quotes need to be escaped, and wherever a symbol -# is generated, we drop out of the single quotes and expand a variable -# that holds the symbol. -# -# After that, the rest appear in asciibetical order. - -for base in '' ltdl_; do - if test ltdl_ = "$base"; then p='$pkgltdldir/'; else p=; fi - - # require_Makefile_am - # require_ltdl_Makefile_am - # ------------------------ - # If not already set, set Makefile_am to 'Makefile.am' if that file is - # present in the current directory, and similarly for - # '$pkgltdldir/Makefile.am'. - r=${base}Makefile_am - v=require_$r - f=func_$v - eval $v'='$f' - '$f' () - { - $debug_cmd - - test -n "$'$r'" || '$r'='$p'Makefile.am - - if test -f "$'$r'"; then - func_verbose "found '\'\$$r\''" - else - '$r'= - fi - - '$v'=: - }' - o=$r - - - # require_aclocal_amflags - # require_ltdl_aclocal_amflags - # ---------------------------- - # Extract '$aclocal_amflags' from 'Makefile.am' if present, and - # similarly for 'libltdl/Makefile.am'. - r=${base}aclocal_amflags - v=require_$r - f=func_$v - eval $v'='$f' - '$f' () - { - $debug_cmd - - $require_'$o' - - test -n "$'$o'" && { - _G_sed_extract_aclocal_amflags='\''s|#.*$|| - /^[ ]*ACLOCAL_AMFLAGS[ ]*=/ { - s|^.*=[ ]*\(.*\)|'$r'="\1"| - p - }'\'' - - _G_aclocal_flags_cmd=`$SED -n "$_G_sed_extract_aclocal_amflags" \ - "$'$o'"` - eval "$_G_aclocal_flags_cmd" - - test -n "$'$r'" && func_verbose "'$r'='\$$r\''" - } - - '$v'=: - }' - o=$r - - - # require_am_macro_dir - # require_ltdl_am_macro_dir - # ------------------------- - # Set am_macro_dir to the first directory specified in - # ACLOCAL_AMFLAGS from 'Makefile.am', and similarly for - # 'libltdl/Makefile.am'. - r=${base}am_macro_dir - v=require_$r - f=func_$v - eval $v'='$f' - '$f' () - { - $debug_cmd - - $require_'$o' - - _G_minus_I_seen=false - for _G_arg in $'$o'; do - case $_G_minus_I_seen,$_G_arg in - :,*) '$r'=$_G_arg; break ;; - *,-I) _G_minus_I_seen=: ;; - *,-I*) '$r'=`expr x$_G_arg : '\''x-I\(.*\)$'\''`; break ;; - esac - done - - test -n "$'$r'" && func_verbose "'$r'='\'\$$r\''" - - '$v'=: - }' - o=$r - -done - - -# require_ac_aux_dir -# ------------------ -# Extract ac_aux_dir from AC_CONFIG_AUX_DIR. -require_ac_aux_dir=func_require_ac_aux_dir -func_require_ac_aux_dir () -{ - $debug_cmd - - $require_configure_ac - - test -n "$configure_ac" && { - func_extract_trace_first AC_CONFIG_AUX_DIR - ac_aux_dir=$func_extract_trace_first_result - - case $ac_aux_dir in - *\$*) - func_fatal_error "\ -cannot expand unknown variable in AC_CONFIG_AUX_DIR argument." - ;; - esac - } - - test -n "$ac_aux_dir" && func_verbose "ac_aux_dir='$ac_aux_dir'" - - require_ac_aux_dir=: -} - - -# require_ac_ltdl_dir -# ------------------- -# Extract ac_ltdl_dir from LT_CONFIG_LTDL_DIR. -require_ac_ltdl_dir=func_require_ac_ltdl_dir -func_require_ac_ltdl_dir () -{ - $debug_cmd - - $require_configure_ac - - if test -n "$configure_ac"; then - func_extract_trace_first LT_CONFIG_LTDL_DIR - ac_ltdl_dir=$func_extract_trace_first_result - - case $ac_ltdl_dir in - *\$*) - func_fatal_error "\ -cannot expand unknown variable in LT_CONFIG_LTDL_DIR argument." - ;; - esac - fi - - # Strip trailing slashes. - ac_ltdl_dir=`echo "$ac_ltdl_dir" |$SED 's|/*$||'` - - require_ac_ltdl_dir=: -} - - -# require_ac_ltdl_mode -# -------------------- -# Extract mode name from LTDL_INIT options. -require_ac_ltdl_mode=func_require_ac_ltdl_mode -func_require_ac_ltdl_mode () -{ - $debug_cmd - - $require_ac_ltdl_options - - case " $ac_ltdl_options " in - *" nonrecursive "*) ac_ltdl_mode=nonrecursive ;; - *" recursive "*) ac_ltdl_mode=recursive ;; - *" subproject "*) ac_ltdl_mode=subproject ;; - esac - - require_ac_ltdl_mode=: -} - - -# require_ac_ltdl_options -# ----------------------- -# Extract ac_ltdl_options from LTDL_INIT. -require_ac_ltdl_options=func_require_ac_ltdl_options -func_require_ac_ltdl_options () -{ - $debug_cmd - - $require_configure_ac - - if test -n "$configure_ac"; then - func_extract_trace_first LTDL_INIT - ac_ltdl_options=$func_extract_trace_first_result - - case $ac_ltdl_options in - *\$*) - func_fatal_error "\ -cannot expand unknown variable in LTDL_INIT argument." - ;; - esac - fi - - require_ac_ltdl_mode=: -} - - -# require_ac_macro_dir -# -------------------- -# Extract ac_macro_dir from AC_CONFIG_MACRO_DIRS. -require_ac_macro_dir=func_require_ac_macro_dir -func_require_ac_macro_dir () -{ - $debug_cmd - - $require_configure_ac - - if test -n "$configure_ac"; then - func_extract_trace_first AC_CONFIG_MACRO_DIRS - ac_macro_dir=`expr "x$func_extract_trace_first_result" : 'x\([^ ]*\)'` - - test -n "$ac_macro_dir" || { - func_extract_trace_first AC_CONFIG_MACRO_DIR - ac_macro_dir=$func_extract_trace_first_result - } - fi - - require_ac_macro_dir=: -} - - -# require_aux_dir -# --------------- -# Set aux_dir according to AC_CONFIG_AUX_DIR or else use the same -# heuristics as Autoconf to intuit an appropriate setting. -require_aux_dir=func_require_aux_dir -func_require_aux_dir () -{ - $debug_cmd - - $require_ac_aux_dir - - test -z "$aux_dir" && aux_dir=$ac_aux_dir - - # Subproject ltdl without $configure_ac keeps pkgauxfiles in - # specified --ltdl optarg directory. - test -z "$aux_dir" && $opt_ltdl && { - $require_configure_ac - - test -n "$configure_ac" || { - $require_ltdl_dir - $require_ltdl_mode - - test subproject = "$ltdl_mode" && aux_dir=$ltdl_dir - } - } - - test -z "$aux_dir" && { - # Try to intuit aux_dir using the same heuristic as Autoconf. - for _G_dir in . .. ../..; do - if test -f "$_G_dir/install-sh" || test -f "$_G_dir/install.sh" - then - aux_dir=$_G_dir - break - fi - done - } - - # Use the current directory if all else fails. - test -z "$aux_dir" && aux_dir=. - - require_aux_dir=: -} - - -# require_configure_ac -# -------------------- -# Ensure that there is a 'configure.ac' or 'configure.in' file in this -# directory, and that '$configure_ac' contains its name. -require_configure_ac=func_require_configure_ac -func_require_configure_ac () -{ - $debug_cmd - - test -z "$configure_ac" \ - && func_autoconf_configure configure.ac && configure_ac=configure.ac - test -z "$configure_ac" \ - && func_autoconf_configure configure.in && configure_ac=configure.in - test -z "$configure_ac" \ - || func_verbose "found '$configure_ac'" - - require_configure_ac=: -} - - -# require_filter_Makefile_am -# -------------------------- -# Set 'filter_Makefile_am' ready for passing to func_copy when libltdl's -# stock Makefile.am contents need to be filtered to work in recursive -# mode. -require_filter_Makefile_am=func_require_filter_Makefile_am -func_require_filter_Makefile_am () -{ - $debug_cmd - - $require_ltdl_mode - - case $ltdl_mode in - recursive) - filter_Makefile_am=' - /^[^#]/{ - s|(LIBOBJS)|(ltdl_LIBOBJS)|g - s|(LTLIBOBJS)|(ltdl_LTLIBOBJS)|g - }' - ;; - - subproject) - # Adjust default relative macro_dir paths. - $require_ltdl_am_macro_dir - - func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" '-I ' - test -z "$func_make_relative_ltdl_filter_result" || { - func_append filter_Makefile_am " - /^ACLOCAL_AMFLAGS = /{ - $func_make_relative_ltdl_filter_result - }" - } - func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" 'dir)' - func_append filter_Makefile_am "$func_make_relative_ltdl_filter_result" - - # Adjust default relative aux_dir paths. - $require_ltdl_ac_aux_dir - func_make_relative_ltdl_filter "$ltdl_ac_aux_dir" "$aux_dir" - func_append filter_Makefile_am "$func_make_relative_ltdl_filter_result" - ;; - esac - - require_filter_Makefile_am=: -} - - -# require_filter_aclocal_m4 -# ------------------------- -# Set 'filter_aclocal_m4' ready for passing to func_copy when libltdl's -# stock aclocal.m4 contents need to be filtered to work in recursive -# mode. -require_filter_aclocal_m4=func_require_filter_aclocal_m4 -func_require_filter_aclocal_m4 () -{ - $debug_cmd - - $require_ltdl_am_macro_dir - - func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" - - test -z "$func_make_relative_ltdl_filter_result" || { - func_append filter_aclocal_m4 " - /^[m]4_include(/{ - $func_make_relative_ltdl_filter_result - }" - } - - require_filter_aclocal_m4=: -} - - -# require_filter_configure_ac -# --------------------------- -# Set 'filter_configure_ac' ready for passing to func_copy when -# libltdl's stock configure.ac contents need to be filtered to work in -# subproject mode. -require_filter_configure_ac=func_require_filter_configure_ac -func_require_filter_configure_ac () -{ - $debug_cmd - - $require_ltdl_ac_aux_dir - - func_make_relative_ltdl_filter "$ltdl_ac_aux_dir" "$aux_dir" - func_append filter_configure_ac "$func_make_relative_ltdl_filter_result" - - require_filter_configure_ac=: -} - - -# require_filter_ltdl_mk -# ---------------------- -# Set 'filter_ltdl_mk' ready for passing to func_copy in order for the -# contents of ltdl.mk to match the nonrecursive libltdl directory into -# which it is copied. -require_filter_ltdl_mk=func_require_filter_ltdl_mk -func_require_filter_ltdl_mk () -{ - $debug_cmd - - $require_ltdl_dir - - # Note that we strip comments right here, rather than rely on - # using a $SED that allows comments. - my_uscore=`$ECHO "$ltdl_dir" | $SED 's|[/.+-]|_|g'` - filter_ltdl_mk=`$ECHO ' - /^[^#]/{ - - # Use only libltdl conditional objects. - s|(LIBOBJS)|(ltdl_LIBOBJS)|g - s|(LTLIBOBJS)|(ltdl_LTLIBOBJS)|g - - # Convert libltdl path and variable sections to $ltdl_dir. - s|libltdl_|@my_uscore@_| - s|libltdl/|@ltdl_dir@/| - s|: libltdl/|: @ltdl_dir@/| - s| -Ilibltdl | -I@ltdl_dir@ | - s|\$(libltdl_|\$(@my_uscore@_| - s|)/libltdl |)/@ltdl_dir@ | - s|@my_uscore@|'"$my_uscore"'|g - s|@ltdl_dir@|'"$ltdl_dir"'|g - - }' | $SED '/^[ ]*#/d;/^$/d'` - - require_filter_ltdl_mk=: -} - - -# require_ltdl_ac_aux_dir -# ----------------------- -# This needs to work in subproject mode, when GNU M4 may not be -# available and hence extract-trace can't be used. But since we -# installed libltdl/configure.ac, then we already know what value -# we used. -require_ltdl_ac_aux_dir=func_require_ltdl_ac_aux_dir -func_require_ltdl_ac_aux_dir () -{ - $debug_cmd - - ltdl_ac_aux_dir="@ltdl_ac_aux_dir@" - func_verbose "ltdl_ac_aux_dir='$ltdl_ac_aux_dir'" - - require_ltdl_ac_aux_dir=: -} - - -# require_ltdl_dir -# ---------------- -# If both are specified, ensure both --ltdl=LTDL_DIR and -# LT_CONFIG_LTDL_DIR agree, and set ltdl_dir to the value of either. -require_ltdl_dir=func_require_ltdl_dir -func_require_ltdl_dir () -{ - $debug_cmd - - $require_ac_ltdl_dir - - test -z "$ltdl_dir" && ltdl_dir=$ac_ltdl_dir - test -z "$ltdl_dir" && $opt_ltdl && ltdl_dir=libltdl - - if test -n "$ac_ltdl_dir"; then - test "$ac_ltdl_dir" = "$ltdl_dir" || func_fatal_error "\ ---ltdl='$ltdl_dir' does not match LT_CONFIG_LTDL_DIR($ac_ltdl_dir)" - fi - - require_ltdl_dir=: -} - - -# require_ltdl_mode -# ----------------- -# If both are specified, ensure both command line setting and LTDL_INIT -# option agree, and set ltdl_mode to the value of either. -require_ltdl_mode=func_require_ltdl_mode -func_require_ltdl_mode () -{ - $debug_cmd - - $require_ac_ltdl_mode - - test -z "$ltdl_mode" && ltdl_mode=$ac_ltdl_mode - test -z "$ltdl_mode" && { - $require_ltdl_dir - - test -n "$ltdl_dir" && ltdl_mode=subproject - } - - if test -n "$ac_ltdl_mode"; then - test "$ac_ltdl_mode" = "$ltdl_mode" || func_fatal_error "\ ---$ltdl_mode does not match LTDL_INIT($ac_ltdl_mode)" - fi - - func_verbose "ltdl mode='$ltdl_mode'" - - require_ltdl_mode=: -} - - -# require_macro_dir -# ----------------- -# If both are specified, ensure both ACLOCAL_AMFLAGS and -# AC_CONFIG_MACRO_DIRS agree, and set macro_dir to the value of either. -require_macro_dir=func_require_macro_dir -func_require_macro_dir () -{ - $debug_cmd - - $require_ac_macro_dir - $require_am_macro_dir - - # AC_CONFIG_MACRO_DIRS takes precedence. - macro_dir=$ac_macro_dir - - # Followed by first -I optarg from ACLOCAL_AMFLAGS. - test -z "$macro_dir" && macro_dir=$am_macro_dir - - # Subproject ltdl without either of the above keeps macros in - # specified --ltdl optarg subdirectory. - test -z "$macro_dir" && $opt_ltdl && { - $require_ltdl_dir - $require_ltdl_mode - - test subproject = "$ltdl_mode" && macro_dir=$ltdl_dir/m4 - } - - # Use ./m4 as the last resort. - test -z "$macro_dir" && macro_dir=m4 - - # Diagnose conflicts. - if test -n "$ac_macro_dir" && test -n "$am_macro_dir"; then - test "$ac_macro_dir" = "$am_macro_dir" || func_fatal_error "\ -AC_CONFIG_MACRO_DIRS([$ac_macro_dir]) conflicts with ACLOCAL_AMFLAGS=-I $am_macro_dir." - fi - - require_macro_dir=: -} - - -# require_seen_ltdl -# ----------------- -# Determine from contents of $configure_ac whether this project contains -# libltdl. -require_seen_ltdl=func_require_seen_ltdl -func_require_seen_ltdl () -{ - $debug_cmd - - $require_configure_ac - - if test -n "$configure_ac"; then - func_extract_trace AC_LIB_LTDL,AC_WITH_LTDL,LT_WITH_LTDL,LTDL_INIT - test -n "$func_extract_trace_result" && seen_ltdl=: - fi - test -n "$seen_ltdl" || seen_ltdl=false - - $seen_ltdl && func_verbose "found LTDL_INIT invocation" - - require_seen_ltdl=: -} - - -# require_seen_libtool -# -------------------- -# Determine from contents of $configure_ac whether this project is using -# Libtool to compile (some of) its objects. -require_seen_libtool=func_require_seen_libtool -func_require_seen_libtool () -{ - $debug_cmd - - $require_configure_ac - - if test -n "$configure_ac"; then - func_extract_trace AM_PROG_LIBTOOL,AC_PROG_LIBTOOL,LT_INIT - test -n "$func_extract_trace_result" && seen_libtool=: - fi - test -n "$seen_libtool" || seen_libtool=false - - $seen_libtool && func_verbose "found LT_INIT invocation" - - require_seen_libtool=: -} - - - -## ----------- ## -## Main. ## -## ----------- ## - -{ - # Lists of all files libtoolize has ever installed. These are removed - # before installing the latest files when --force was passed to help - # ensure a clean upgrade. - # Do not remove config.guess, config.sub or install-sh, we don't - # install them without --install, and the project may not be using - # Automake. Similarly, do not remove Gnulib files. - all_pkgaux_files="compile depcomp missing ltmain.sh" - all_pkgmacro_files="libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 ltversion.in ltversion.m4 lt~obsolete.m4" - all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__argz.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__argz.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h ltdl.mk slist.c" - - # Files installed by func_install_*, some files are missing from these - # lists deliberately because their respective func_install has to handle - # the missing filenames specially. - pkgaux_files="@pkgaux_files@" - pkgltdl_files="@pkgltdl_files@" - pkgmacro_files="@pkgmacro_files@" - - # Locations for important files: - prefix="@prefix@" - datadir="@datadir@" - pkgauxdir="@pkgauxdir@" - pkgltdldir="@pkgdatadir@" - aclocaldir="@aclocaldir@" - - # Allow the user to override the master libtoolize repository: - if test -n "$_lt_pkgdatadir"; then - pkgauxdir=$_lt_pkgdatadir/build-aux - pkgltdldir=$_lt_pkgdatadir/libltdl - aclocaldir=$_lt_pkgdatadir/m4 - fi - func_nonemptydir_p pkgauxdir - func_nonemptydir_p pkgltdldir - func_nonemptydir_p aclocaldir - - extract_trace=$pkgauxdir/extract-trace - - # :::BE CAREFUL HERE::: - # func_check_macros needs to check whether --ltdl was specified when - # LTDL_INIT was not seen, so we can't just use one variable for both - # conditions, or that check will be impossible. No need to clutter the - # rest of the code with '$opt_ltdl || $seen_ltdl' though, because we CAN - # safely set opt_ltdl to true if LTDL_INIT was seen: - $require_seen_ltdl - $seen_ltdl && opt_ltdl=: - - func_install_pkgaux_files - func_install_pkgmacro_files - func_install_pkgltdl_files - - func_check_macros -} - -exit $exit_status - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/BUILD/libtool-2.4.7/m4/00gnulib.m4 b/BUILD/libtool-2.4.7/m4/00gnulib.m4 deleted file mode 100644 index dea34e8..0000000 --- a/BUILD/libtool-2.4.7/m4/00gnulib.m4 +++ /dev/null @@ -1,85 +0,0 @@ -# 00gnulib.m4 serial 8 -dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This file must be named something that sorts before all other -dnl gnulib-provided .m4 files. It is needed until the clang fix has -dnl been included in Autoconf. - -# The following definitions arrange to use a compiler option -# -Werror=implicit-function-declaration in AC_CHECK_DECL, when the -# compiler is clang. Without it, clang implicitly declares "known" -# library functions in C mode, but not in C++ mode, which would cause -# Gnulib to omit a declaration and thus later produce an error in C++ -# mode. As of clang 9.0, these "known" functions are identified through -# LIBBUILTIN invocations in the LLVM source file -# llvm/tools/clang/include/clang/Basic/Builtins.def. -# It's not possible to AC_REQUIRE the extra tests from AC_CHECK_DECL, -# because AC_CHECK_DECL, like other Autoconf built-ins, is not supposed -# to AC_REQUIRE anything: some configure.ac files have their first -# AC_CHECK_DECL executed conditionally. Therefore append the extra tests -# to AC_PROG_CC. -AC_DEFUN([gl_COMPILER_CLANG], -[ -dnl AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([whether the compiler is clang], - [gl_cv_compiler_clang], - [dnl Use _AC_COMPILE_IFELSE instead of AC_EGREP_CPP, to avoid error - dnl "circular dependency of AC_LANG_COMPILER(C)" if AC_PROG_CC has - dnl not yet been invoked. - _AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ - #ifdef __clang__ - barfbarf - #endif - ]],[[]]) - ], - [gl_cv_compiler_clang=no], - [gl_cv_compiler_clang=yes]) - ]) -]) -AC_DEFUN([gl_COMPILER_PREPARE_CHECK_DECL], -[ -dnl AC_REQUIRE([AC_PROG_CC]) -dnl AC_REQUIRE([gl_COMPILER_CLANG]) - AC_CACHE_CHECK([for compiler option needed when checking for declarations], - [gl_cv_compiler_check_decl_option], - [if test $gl_cv_compiler_clang = yes; then - dnl Test whether the compiler supports the option - dnl '-Werror=implicit-function-declaration'. - save_ac_compile="$ac_compile" - ac_compile="$ac_compile -Werror=implicit-function-declaration" - dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a - dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". - _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], - [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'], - [gl_cv_compiler_check_decl_option=none]) - ac_compile="$save_ac_compile" - else - gl_cv_compiler_check_decl_option=none - fi - ]) - if test "x$gl_cv_compiler_check_decl_option" != xnone; then - ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option" - else - ac_compile_for_check_decl="$ac_compile" - fi -]) -dnl Redefine _AC_CHECK_DECL_BODY so that it references ac_compile_for_check_decl -dnl instead of ac_compile. If, for whatever reason, the override of AC_PROG_CC -dnl in zzgnulib.m4 is inactive, use the original ac_compile. -m4_define([_AC_CHECK_DECL_BODY], -[ ac_save_ac_compile="$ac_compile" - if test -n "$ac_compile_for_check_decl"; then - ac_compile="$ac_compile_for_check_decl" - fi] -m4_defn([_AC_CHECK_DECL_BODY])[ ac_compile="$ac_save_ac_compile" -]) - -# gl_00GNULIB -# ----------- -# Witness macro that this file has been included. Needed to force -# Automake to include this file prior to all other gnulib .m4 files. -AC_DEFUN([gl_00GNULIB]) diff --git a/BUILD/libtool-2.4.7/m4/autobuild.m4 b/BUILD/libtool-2.4.7/m4/autobuild.m4 deleted file mode 100644 index 2d54154..0000000 --- a/BUILD/libtool-2.4.7/m4/autobuild.m4 +++ /dev/null @@ -1,40 +0,0 @@ -# autobuild.m4 serial 7 -dnl Copyright (C) 2004, 2006-2019, 2021-2022 Free Software Foundation, -dnl Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Simon Josefsson - -# Usage: AB_INIT([MODE]). -AC_DEFUN([AB_INIT], -[ - AC_REQUIRE([AC_CANONICAL_BUILD]) - AC_REQUIRE([AC_CANONICAL_HOST]) - - if test -z "$AB_PACKAGE"; then - AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE} - fi - AC_MSG_NOTICE([autobuild project... $AB_PACKAGE]) - - if test -z "$AB_VERSION"; then - AB_VERSION=${PACKAGE_VERSION:-$VERSION} - fi - AC_MSG_NOTICE([autobuild revision... $AB_VERSION]) - - hostname=`hostname` - if test "$hostname"; then - AC_MSG_NOTICE([autobuild hostname... $hostname]) - fi - - ifelse([$1],[],,[AC_MSG_NOTICE([autobuild mode... $1])]) - - date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ` - if test "$?" != 0; then - date=`date` - fi - if test "$date"; then - AC_MSG_NOTICE([autobuild timestamp... $date]) - fi -]) diff --git a/BUILD/libtool-2.4.7/m4/gnulib-common.m4 b/BUILD/libtool-2.4.7/m4/gnulib-common.m4 deleted file mode 100644 index dbc4079..0000000 --- a/BUILD/libtool-2.4.7/m4/gnulib-common.m4 +++ /dev/null @@ -1,1069 +0,0 @@ -# gnulib-common.m4 serial 72 -dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -AC_PREREQ([2.62]) - -# gl_COMMON -# is expanded unconditionally through gnulib-tool magic. -AC_DEFUN([gl_COMMON], [ - dnl Use AC_REQUIRE here, so that the code is expanded once only. - AC_REQUIRE([gl_00GNULIB]) - AC_REQUIRE([gl_COMMON_BODY]) - AC_REQUIRE([gl_ZZGNULIB]) -]) -AC_DEFUN([gl_COMMON_BODY], [ - AH_VERBATIM([_GL_GNUC_PREREQ], -[/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ -#if defined __GNUC__ && defined __GNUC_MINOR__ -# define _GL_GNUC_PREREQ(major, minor) \ - ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__)) -#else -# define _GL_GNUC_PREREQ(major, minor) 0 -#endif -]) - AH_VERBATIM([_Noreturn], -[/* The _Noreturn keyword of C11. */ -#ifndef _Noreturn -# if (defined __cplusplus \ - && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ - || (defined _MSC_VER && 1900 <= _MSC_VER)) \ - && 0) - /* [[noreturn]] is not practically usable, because with it the syntax - extern _Noreturn void func (...); - would not be valid; such a declaration would only be valid with 'extern' - and '_Noreturn' swapped, or without the 'extern' keyword. However, some - AIX system header files and several gnulib header files use precisely - this syntax with 'extern'. */ -# define _Noreturn [[noreturn]] -# elif ((!defined __cplusplus || defined __clang__) \ - && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || (!defined __STRICT_ANSI__ \ - && (_GL_GNUC_PREREQ (4, 7) \ - || (defined __apple_build_version__ \ - ? 6000000 <= __apple_build_version__ \ - : 3 < __clang_major__ + (5 <= __clang_minor__)))))) - /* _Noreturn works as-is. */ -# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C -# define _Noreturn __attribute__ ((__noreturn__)) -# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0) -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn -# endif -#endif -]) - AH_VERBATIM([isoc99_inline], -[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for Mac OS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif]) - AH_VERBATIM([attribute], -[/* Attributes. */ -#if (defined __has_attribute \ - && (!defined __clang_minor__ \ - || 3 < __clang_major__ + (5 <= __clang_minor__))) -# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) -#else -# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr -# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2) -# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95) -# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1) -# define _GL_ATTR_diagnose_if 0 -# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3) -# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1) -# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0) -# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6) -# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0) -# ifdef _ICC -# define _GL_ATTR_may_alias 0 -# else -# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3) -# endif -# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1) -# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3) -# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0) -# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3) -# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96) -# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9) -# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0) -# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7) -# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) -#endif - -#ifdef __has_c_attribute -# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) -#else -# define _GL_HAS_C_ATTRIBUTE(attr) 0 -#endif - -]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's _Alignas instead. -[ -/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function - is the size of the returned memory block. - _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied - by the Nth argument of the function is the size of the returned memory block. - */ -/* Applies to: function, pointer to function, function types. */ -#if _GL_HAS_ATTRIBUTE (alloc_size) -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) -#else -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) -#endif - -/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the - function and report an error if it cannot do so. */ -/* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (always_inline) -# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) -#else -# define _GL_ATTRIBUTE_ALWAYS_INLINE -#endif - -/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show - in stack traces when debugging. The compiler should omit the function from - stack traces. */ -/* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (artificial) -# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) -#else -# define _GL_ATTRIBUTE_ARTIFICIAL -#endif - -/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ -/* Applies to: functions. */ -/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at - . - Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ -#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ -# ifndef __SUNPRO_C -# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) -# else -# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) -# endif -#else -# define _GL_ATTRIBUTE_COLD -#endif - -/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate - calls to the function with the same arguments. - This attribute is safe for a function that neither depends on nor affects - observable state, and always returns exactly once - e.g., does not loop - forever, and does not call longjmp. - (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (const) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST -#endif - -/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers - that can be freed by passing them as the Ith argument to the - function F. - _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that - can be freed via 'free'; it can be used only after declaring 'free'. */ -/* Applies to: functions. Cannot be used on inline functions. */ -#if _GL_GNUC_PREREQ (11, 0) -# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) -#else -# define _GL_ATTRIBUTE_DEALLOC(f, i) -#endif -/* If gnulib's or has already defined this macro, continue - to use this earlier definition, since may not have been included - yet. */ -#ifndef _GL_ATTRIBUTE_DEALLOC_FREE -# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) -#endif - -/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. - The compiler may warn if the entity is used. */ -/* Applies to: - - function, variable, - - struct, union, struct/union member, - - enumeration, enumeration item, - - typedef, - in C++ also: namespace, class, template specialization. */ -#if _GL_HAS_C_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] -#elif _GL_HAS_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) -#else -# define _GL_ATTRIBUTE_DEPRECATED -#endif - -/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and - the function call is not optimized away. - _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and - the function call is not optimized away. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (error) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) -#elif _GL_HAS_ATTRIBUTE (diagnose_if) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) -#else -# define _GL_ATTRIBUTE_ERROR(msg) -# define _GL_ATTRIBUTE_WARNING(msg) -#endif - -/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain - visible to debuggers etc., even with '-fwhole-program'. */ -/* Applies to: functions, variables. */ -#if _GL_HAS_ATTRIBUTE (externally_visible) -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) -#else -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE -#endif - -/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if - the control flow falls through to the immediately following 'case' or - 'default' label. The compiler should not warn in this case. */ -/* Applies to: Empty statement (;), inside a 'switch' statement. */ -/* Always expands to something. */ -#if _GL_HAS_C_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] -#elif _GL_HAS_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) -#else -# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) -#endif - -/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) - declares that the STRING-INDEXth function argument is a format string of - style ARCHETYPE, which is one of: - printf, gnu_printf - scanf, gnu_scanf, - strftime, gnu_strftime, - strfmon, - or the same thing prefixed and suffixed with '__'. - If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK - are suitable for the format string. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (format) -# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) -#else -# define _GL_ATTRIBUTE_FORMAT(spec) -#endif - -/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other - compilation unit, it executes code from that unit only by return or by - exception handling. This declaration lets the compiler optimize that unit - more aggressively. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (leaf) -# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) -#else -# define _GL_ATTRIBUTE_LEAF -#endif - -/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly - allocated memory. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (malloc) -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC -#endif - -/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the - same storage as pointers to other types. Thus this declaration disables - strict aliasing optimization. */ -/* Applies to: types. */ -/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ -#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C -# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) -#else -# define _GL_ATTRIBUTE_MAY_ALIAS -#endif - -/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if - the entity is not used. The compiler should not warn if the entity is not - used. */ -/* Applies to: - - function, variable, - - struct, union, struct/union member, - - enumeration, enumeration item, - - typedef, - in C++ also: class. */ -/* In C++ and C2x, this is spelled [[__maybe_unused__]]. - GCC's syntax is __attribute__ ((__unused__)). - clang supports both syntaxes. */ -#if _GL_HAS_C_ATTRIBUTE (maybe_unused) -# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] -#else -# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED -#endif -/* Alternative spelling of this macro, for convenience. */ -#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED -/* Earlier spellings of this macro. */ -#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED - -/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not - discard the return value. The compiler may warn if the caller does not use - the return value, unless the caller uses something like ignore_value. */ -/* Applies to: function, enumeration, class. */ -#if _GL_HAS_C_ATTRIBUTE (nodiscard) -# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] -#elif _GL_HAS_ATTRIBUTE (warn_unused_result) -# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) -#else -# define _GL_ATTRIBUTE_NODISCARD -#endif - -/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the - function. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (noinline) -# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) -#else -# define _GL_ATTRIBUTE_NOINLINE -#endif - -/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... - must not be NULL. - _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be - null. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nonnull) -# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) -#else -# define _GL_ATTRIBUTE_NONNULL(args) -#endif - -/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is - not meant to be NUL-terminated. */ -/* Applies to: struct/union members and variables that are arrays of element - type '[[un]signed] char'. */ -#if _GL_HAS_ATTRIBUTE (nonstring) -# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) -#else -# define _GL_ATTRIBUTE_NONSTRING -#endif - -/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ - -/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. - */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus -# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) -#else -# define _GL_ATTRIBUTE_NOTHROW -#endif - -/* _GL_ATTRIBUTE_PACKED declares: - For struct members: The member has the smallest possible alignment. - For struct, union, class: All members have the smallest possible alignment, - minimizing the memory required. */ -/* Applies to: struct members, struct, union, - in C++ also: class. */ -#if _GL_HAS_ATTRIBUTE (packed) -# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) -#else -# define _GL_ATTRIBUTE_PACKED -#endif - -/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate - calls to the function with the same arguments if observable state is not - changed between calls. - This attribute is safe for a function that does not affect - observable state, and always returns exactly once. - (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (pure) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE -#endif - -/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is - a non-NULL pointer. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (returns_nonnull) -# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) -#else -# define _GL_ATTRIBUTE_RETURNS_NONNULL -#endif - -/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a - trailing NULL argument. - _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). - _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ -/* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (sentinel) -# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) -#else -# define _GL_ATTRIBUTE_SENTINEL(pos) -#endif - -/* A helper macro. Don't use it directly. */ -#if _GL_HAS_ATTRIBUTE (unused) -# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_ATTRIBUTE_UNUSED -#endif - -]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead. -[ -/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the - immediately preceding label is not used. The compiler should not warn - if the label is not used. */ -/* Applies to: label (both in C and C++). */ -/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' - syntax. But clang does. */ -#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ -# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED -#else -# define _GL_UNUSED_LABEL -#endif -]) - AH_VERBATIM([async_safe], -[/* The _GL_ASYNC_SAFE marker should be attached to functions that are - signal handlers (for signals other than SIGABRT, SIGPIPE) or can be - invoked from such signal handlers. Such functions have some restrictions: - * All functions that it calls should be marked _GL_ASYNC_SAFE as well, - or should be listed as async-signal-safe in POSIX - - section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in - particular, are NOT async-signal-safe. - * All memory locations (variables and struct fields) that these functions - access must be marked 'volatile'. This holds for both read and write - accesses. Otherwise the compiler might optimize away stores to and - reads from such locations that occur in the program, depending on its - data flow analysis. For example, when the program contains a loop - that is intended to inspect a variable set from within a signal handler - while (!signal_occurred) - ; - the compiler is allowed to transform this into an endless loop if the - variable 'signal_occurred' is not declared 'volatile'. - Additionally, recall that: - * A signal handler should not modify errno (except if it is a handler - for a fatal signal and ends by raising the same signal again, thus - provoking the termination of the process). If it invokes a function - that may clobber errno, it needs to save and restore the value of - errno. */ -#define _GL_ASYNC_SAFE -]) - AH_VERBATIM([micro_optimizations], -[/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where - n1 and n2 are expressions without side effects, that evaluate to real - numbers (excluding NaN). - It returns - 1 if n1 > n2 - 0 if n1 == n2 - -1 if n1 < n2 - The naïve code (n1 > n2 ? 1 : n1 < n2 ? -1 : 0) produces a conditional - jump with nearly all GCC versions up to GCC 10. - This variant (n1 < n2 ? -1 : n1 > n2) produces a conditional with many - GCC versions up to GCC 9. - The better code (n1 > n2) - (n1 < n2) from Hacker's Delight § 2-9 - avoids conditional jumps in all GCC versions >= 3.4. */ -#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2))) -]) - dnl Hint which direction to take regarding cross-compilation guesses: - dnl When a user installs a program on a platform they are not intimately - dnl familiar with, --enable-cross-guesses=conservative is the appropriate - dnl choice. It implements the "If we don't know, assume the worst" principle. - dnl However, when an operating system developer (on a platform which is not - dnl yet known to gnulib) builds packages for their platform, they want to - dnl expose, not hide, possible platform bugs; in this case, - dnl --enable-cross-guesses=risky is the appropriate choice. - dnl Sets the variables - dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad), - dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad). - AC_ARG_ENABLE([cross-guesses], - [AS_HELP_STRING([--enable-cross-guesses={conservative|risky}], - [specify policy for cross-compilation guesses])], - [if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then - AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses]) - enableval=conservative - fi - gl_cross_guesses="$enableval"], - [gl_cross_guesses=conservative]) - if test $gl_cross_guesses = risky; then - gl_cross_guess_normal="guessing yes" - gl_cross_guess_inverted="guessing no" - else - gl_cross_guess_normal="guessing no" - gl_cross_guess_inverted="guessing yes" - fi - dnl Preparation for running test programs: - dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not - dnl to /dev/tty, so they can be redirected to log files. Such diagnostics - dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. - LIBC_FATAL_STDERR_=1 - export LIBC_FATAL_STDERR_ -]) - -# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename]) -# gl_MODULE_INDICATOR_INIT_VARIABLE([variablename], [initialvalue]) -# initializes the shell variable that indicates the presence of the given module -# as a C preprocessor expression. -AC_DEFUN([gl_MODULE_INDICATOR_INIT_VARIABLE], -[ - GL_MODULE_INDICATOR_PREFIX[]_[$1]=m4_if([$2], , [0], [$2]) - AC_SUBST(GL_MODULE_INDICATOR_PREFIX[]_[$1]) -]) - -# gl_MODULE_INDICATOR_CONDITION -# expands to a C preprocessor expression that evaluates to 1 or 0, depending -# whether a gnulib module that has been requested shall be considered present -# or not. -m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) - -# gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) -# sets the shell variable that indicates the presence of the given module to -# a C preprocessor expression that will evaluate to 1. -AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], -[ - gl_MODULE_INDICATOR_SET_VARIABLE_AUX( - [GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], - [gl_MODULE_INDICATOR_CONDITION]) -]) - -# gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable]) -# modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION. -# The shell variable's value is a C preprocessor expression that evaluates -# to 0 or 1. -AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], -[ - m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], - [ - dnl Simplify the expression VALUE || 1 to 1. - $1=1 - ], - [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], - [gl_MODULE_INDICATOR_CONDITION])]) -]) - -# gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition]) -# modifies the shell variable to include the given condition. The shell -# variable's value is a C preprocessor expression that evaluates to 0 or 1. -AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], -[ - dnl Simplify the expression 1 || CONDITION to 1. - if test "$[]$1" != 1; then - dnl Simplify the expression 0 || CONDITION to CONDITION. - if test "$[]$1" = 0; then - $1=$2 - else - $1="($[]$1 || $2)" - fi - fi -]) - -# gl_MODULE_INDICATOR([modulename]) -# defines a C macro indicating the presence of the given module -# in a location where it can be used. -# | Value | Value | -# | in lib/ | in tests/ | -# --------------------------------------------+---------+-----------+ -# Module present among main modules: | 1 | 1 | -# --------------------------------------------+---------+-----------+ -# Module present among tests-related modules: | 0 | 1 | -# --------------------------------------------+---------+-----------+ -# Module not present at all: | 0 | 0 | -# --------------------------------------------+---------+-----------+ -AC_DEFUN([gl_MODULE_INDICATOR], -[ - AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), - [gl_MODULE_INDICATOR_CONDITION], - [Define to a C preprocessor expression that evaluates to 1 or 0, - depending whether the gnulib module $1 shall be considered present.]) -]) - -# gl_MODULE_INDICATOR_FOR_TESTS([modulename]) -# defines a C macro indicating the presence of the given module -# in lib or tests. This is useful to determine whether the module -# should be tested. -# | Value | Value | -# | in lib/ | in tests/ | -# --------------------------------------------+---------+-----------+ -# Module present among main modules: | 1 | 1 | -# --------------------------------------------+---------+-----------+ -# Module present among tests-related modules: | 1 | 1 | -# --------------------------------------------+---------+-----------+ -# Module not present at all: | 0 | 0 | -# --------------------------------------------+---------+-----------+ -AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], -[ - AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], - [Define to 1 when the gnulib module $1 should be tested.]) -]) - -# gl_ASSERT_NO_GNULIB_POSIXCHECK -# asserts that there will never be a need to #define GNULIB_POSIXCHECK. -# and thereby enables an optimization of configure and config.h. -# Used by Emacs. -AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], -[ - dnl Override gl_WARN_ON_USE_PREPARE. - dnl But hide this definition from 'aclocal'. - AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) -]) - -# gl_ASSERT_NO_GNULIB_TESTS -# asserts that there will be no gnulib tests in the scope of the configure.ac -# and thereby enables an optimization of config.h. -# Used by Emacs. -AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS], -[ - dnl Override gl_MODULE_INDICATOR_FOR_TESTS. - AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], []) -]) - -# Test whether exists. -# Set HAVE_FEATURES_H. -AC_DEFUN([gl_FEATURES_H], -[ - AC_CHECK_HEADERS_ONCE([features.h]) - if test $ac_cv_header_features_h = yes; then - HAVE_FEATURES_H=1 - else - HAVE_FEATURES_H=0 - fi - AC_SUBST([HAVE_FEATURES_H]) -]) - -# gl_PROG_CC_C99 -# Modifies the value of the shell variable CC in an attempt to make $CC -# understand ISO C99 source code. -AC_DEFUN([gl_PROG_CC_C99], -[ - dnl Just use AC_PROG_CC_C99. - dnl When AC_PROG_CC_C99 and AC_PROG_CC_STDC are used together, the substituted - dnl value of CC will contain the C99 enabling options twice. But this is only - dnl a cosmetic problem. - dnl With Autoconf >= 2.70, use AC_PROG_CC since it implies AC_PROG_CC_C99; - dnl this avoids a "warning: The macro `AC_PROG_CC_C99' is obsolete." - m4_version_prereq([2.70], - [AC_REQUIRE([AC_PROG_CC])], - [AC_REQUIRE([AC_PROG_CC_C99])]) -]) - -# gl_PROG_AR_RANLIB -# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. -# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override -# the values. -AC_DEFUN([gl_PROG_AR_RANLIB], -[ - dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler - dnl as "cc", and GCC as "gcc". They have different object file formats and - dnl library formats. In particular, the GNU binutils programs ar and ranlib - dnl produce libraries that work only with gcc, not with cc. - AC_REQUIRE([AC_PROG_CC]) - dnl The '][' hides this use from 'aclocal'. - AC_BEFORE([$0], [A][M_PROG_AR]) - AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], - [ - AC_EGREP_CPP([Amsterdam], - [ -#ifdef __ACK__ -Amsterdam -#endif - ], - [gl_cv_c_amsterdam_compiler=yes], - [gl_cv_c_amsterdam_compiler=no]) - ]) - - dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not - dnl building with __ACK__. - if test $gl_cv_c_amsterdam_compiler = yes; then - if test -z "$AR"; then - AR='cc -c.a' - fi - if test -z "$ARFLAGS"; then - ARFLAGS='-o' - fi - else - dnl AM_PROG_AR was added in automake v1.11.2. AM_PROG_AR does not AC_SUBST - dnl ARFLAGS variable (it is filed into Makefile.in directly by automake - dnl script on-demand, if not specified by ./configure of course). - dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above - dnl will be ignored. Also, pay attention to call AM_PROG_AR in else block - dnl because AM_PROG_AR is written so it could re-set AR variable even for - dnl __ACK__. It may seem like its easier to avoid calling the macro here, - dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good - dnl default value and automake should usually know them). - dnl - dnl The '][' hides this use from 'aclocal'. - m4_ifdef([A][M_PROG_AR], [A][M_PROG_AR], [:]) - fi - - dnl In case the code above has not helped with setting AR/ARFLAGS, use - dnl Automake-documented default values for AR and ARFLAGS, but prefer - dnl ${host}-ar over ar (useful for cross-compiling). - AC_CHECK_TOOL([AR], [ar], [ar]) - if test -z "$ARFLAGS"; then - ARFLAGS='cr' - fi - - AC_SUBST([AR]) - AC_SUBST([ARFLAGS]) - if test -z "$RANLIB"; then - if test $gl_cv_c_amsterdam_compiler = yes; then - RANLIB=':' - else - dnl Use the ranlib program if it is available. - AC_PROG_RANLIB - fi - fi - AC_SUBST([RANLIB]) -]) - -# AC_C_RESTRICT -# This definition is copied from post-2.70 Autoconf and overrides the -# AC_C_RESTRICT macro from autoconf 2.60..2.70. -m4_version_prereq([2.70.1], [], [ -AC_DEFUN([AC_C_RESTRICT], -[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], - [ac_cv_c_restrict=no - # Put '__restrict__' first, to avoid problems with glibc and non-GCC; see: - # https://lists.gnu.org/archive/html/bug-autoconf/2016-02/msg00006.html - # Put 'restrict' last, because C++ lacks it. - for ac_kw in __restrict__ __restrict _Restrict restrict; do - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[typedef int *int_ptr; - int foo (int_ptr $ac_kw ip) { return ip[0]; } - int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ - int bar (int ip[$ac_kw]) { return ip[0]; } - ]], - [[int s[1]; - int *$ac_kw t = s; - t[0] = 0; - return foo (t) + bar (t); - ]])], - [ac_cv_c_restrict=$ac_kw]) - test "$ac_cv_c_restrict" != no && break - done - ]) - AH_VERBATIM([restrict], -[/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported only directly. */ -#undef restrict -/* Work around a bug in older versions of Sun C++, which did not - #define __restrict__ or support _Restrict or __restrict__ - even though the corresponding Sun C compiler ended up with - "#define restrict _Restrict" or "#define restrict __restrict__" - in the previous line. This workaround can be removed once - we assume Oracle Developer Studio 12.5 (2016) or later. */ -#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__ -# define _Restrict -# define __restrict__ -#endif]) - case $ac_cv_c_restrict in - restrict) ;; - no) AC_DEFINE([restrict], []) ;; - *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; - esac -])# AC_C_RESTRICT -]) - -# gl_BIGENDIAN -# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. -# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some -# macros invoke AC_C_BIGENDIAN with arguments. -AC_DEFUN([gl_BIGENDIAN], -[ - AC_C_BIGENDIAN -]) - -# A temporary file descriptor. -# Must be less than 10, because dash 0.5.8 does not support redirections -# with multi-digit file descriptors. -m4_define([GL_TMP_FD], 9) - -# gl_SILENT(command) -# executes command, but without the normal configure output. -# This is useful when you want to invoke AC_CACHE_CHECK (or AC_CHECK_FUNC etc.) -# inside another AC_CACHE_CHECK. -AC_DEFUN([gl_SILENT], -[ - exec GL_TMP_FD>&AS_MESSAGE_FD AS_MESSAGE_FD>/dev/null - $1 - exec AS_MESSAGE_FD>&GL_TMP_FD GL_TMP_FD>&- -]) - -# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) -# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not -# output a spurious "(cached)" mark in the midst of other configure output. -# This macro should be used instead of AC_CACHE_VAL when it is not surrounded -# by an AC_MSG_CHECKING/AC_MSG_RESULT pair. -AC_DEFUN([gl_CACHE_VAL_SILENT], -[ - gl_SILENT([ - AC_CACHE_VAL([$1], [$2]) - ]) -]) - -# gl_CONDITIONAL(conditional, condition) -# is like AM_CONDITIONAL(conditional, condition), except that it does not -# produce an error -# configure: error: conditional "..." was never defined. -# Usually this means the macro was only invoked conditionally. -# when only invoked conditionally. Instead, in that case, both the _TRUE -# and the _FALSE case are disabled. -AC_DEFUN([gl_CONDITIONAL], -[ - pushdef([AC_CONFIG_COMMANDS_PRE], [:])dnl - AM_CONDITIONAL([$1], [$2]) - popdef([AC_CONFIG_COMMANDS_PRE])dnl - if test -z "${[$1]_TRUE}" && test -z "${[$1]_FALSE}"; then - [$1]_TRUE='#' - [$1]_FALSE='#' - fi -]) - -# gl_CC_ALLOW_WARNINGS -# sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option -# that reverts a preceding '-Werror' option, if available. -# This is expected to be '-Wno-error' on gcc, clang (except clang/MSVC), xlclang -# and empty otherwise. -AC_DEFUN([gl_CC_ALLOW_WARNINGS], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_CACHE_CHECK([for C compiler option to allow warnings], - [gl_cv_cc_wallow], - [rm -f conftest* - echo 'int dummy;' > conftest.c - AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c 2>conftest1.err]) >/dev/null - AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wno-error -c conftest.c 2>conftest2.err]) >/dev/null - dnl Test the number of error output lines, because AIX xlc accepts the - dnl option '-Wno-error', just to produce a warning - dnl "Option -Wno-error was incorrectly specified. The option will be ignored." - dnl afterwards. - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cc_wallow='-Wno-error' - else - gl_cv_cc_wallow=none - fi - rm -f conftest* - ]) - case "$gl_cv_cc_wallow" in - none) GL_CFLAG_ALLOW_WARNINGS='' ;; - *) GL_CFLAG_ALLOW_WARNINGS="$gl_cv_cc_wallow" ;; - esac - AC_SUBST([GL_CFLAG_ALLOW_WARNINGS]) -]) - -# gl_CXX_ALLOW_WARNINGS -# sets and substitutes a variable GL_CXXFLAG_ALLOW_WARNINGS, to a $(CC) option -# that reverts a preceding '-Werror' option, if available. -AC_DEFUN([gl_CXX_ALLOW_WARNINGS], -[ - dnl Requires AC_PROG_CXX or gl_PROG_ANSI_CXX. - if test -n "$CXX" && test "$CXX" != no; then - AC_CACHE_CHECK([for C++ compiler option to allow warnings], - [gl_cv_cxx_wallow], - [rm -f conftest* - echo 'int dummy;' > conftest.cc - AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -c conftest.cc 2>conftest1.err]) >/dev/null - AC_TRY_COMMAND([${CXX-c++} $CXXFLAGS $CPPFLAGS -Wno-error -c conftest.cc 2>conftest2.err]) >/dev/null - dnl Test the number of error output lines, because AIX xlC accepts the - dnl option '-Wno-error', just to produce a warning - dnl "Option -Wno-error was incorrectly specified. The option will be ignored." - dnl afterwards. - if test $? = 0 && test `wc -l < conftest1.err` = `wc -l < conftest2.err`; then - gl_cv_cxx_wallow='-Wno-error' - else - gl_cv_cxx_wallow=none - fi - rm -f conftest* - ]) - case "$gl_cv_cxx_wallow" in - none) GL_CXXFLAG_ALLOW_WARNINGS='' ;; - *) GL_CXXFLAG_ALLOW_WARNINGS="$gl_cv_cxx_wallow" ;; - esac - else - GL_CXXFLAG_ALLOW_WARNINGS='' - fi - AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) -]) - -# gl_CC_GNULIB_WARNINGS -# sets and substitutes a variable GL_CFLAG_GNULIB_WARNINGS, to a $(CC) option -# set that enables or disables warnings as suitable for the Gnulib coding style. -AC_DEFUN([gl_CC_GNULIB_WARNINGS], -[ - AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) - dnl Assume that the compiler supports -Wno-* options only if it also supports - dnl -Wno-error. - GL_CFLAG_GNULIB_WARNINGS='' - if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then - dnl Enable these warning options: - dnl - dnl GCC clang - dnl -Wno-cast-qual >= 3 >= 3.9 - dnl -Wno-conversion >= 3 >= 3.9 - dnl -Wno-float-conversion >= 4.9 >= 3.9 - dnl -Wno-float-equal >= 3 >= 3.9 - dnl -Wimplicit-fallthrough >= 7 >= 3.9 - dnl -Wno-pedantic >= 4.8 >= 3.9 - dnl -Wno-sign-compare >= 3 >= 3.9 - dnl -Wno-sign-conversion >= 4.3 >= 3.9 - dnl -Wno-type-limits >= 4.3 >= 3.9 - dnl -Wno-undef >= 3 >= 3.9 - dnl -Wno-unsuffixed-float-constants >= 4.5 - dnl -Wno-unused-function >= 3 >= 3.9 - dnl -Wno-unused-parameter >= 3 >= 3.9 - dnl - cat > conftest.c <<\EOF - #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-cast-qual - -Wno-conversion - -Wno-float-equal - -Wno-sign-compare - -Wno-undef - -Wno-unused-function - -Wno-unused-parameter - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-float-conversion - #endif - #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wimplicit-fallthrough - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-pedantic - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) - -Wno-sign-conversion - -Wno-type-limits - #endif - #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 - -Wno-unsuffixed-float-constants - #endif -EOF - gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" - if AC_TRY_EVAL([gl_command]); then - gl_options=`grep -v '#' conftest.out` - for word in $gl_options; do - GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" - done - fi - rm -f conftest.c conftest.out - fi - AC_SUBST([GL_CFLAG_GNULIB_WARNINGS]) -]) - -dnl gl_CONDITIONAL_HEADER([foo.h]) -dnl takes a shell variable GL_GENERATE_FOO_H (with value true or false) as input -dnl and produces -dnl - an AC_SUBSTed variable FOO_H that is either a file name or empty, based -dnl on whether GL_GENERATE_FOO_H is true or false, -dnl - an Automake conditional GL_GENERATE_FOO_H that evaluates to the value of -dnl the shell variable GL_GENERATE_FOO_H. -AC_DEFUN([gl_CONDITIONAL_HEADER], -[ - m4_pushdef([gl_header_name], AS_TR_SH(m4_toupper($1))) - m4_pushdef([gl_generate_var], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) - m4_pushdef([gl_generate_cond], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) - case "$gl_generate_var" in - false) gl_header_name='' ;; - true) - dnl It is OK to use a .h file in lib/ from within tests/, but not vice - dnl versa. - if test -z "$gl_header_name"; then - gl_header_name="${gl_source_base_prefix}$1" - fi - ;; - *) echo "*** gl_generate_var is not set correctly" 1>&2; exit 1 ;; - esac - AC_SUBST(gl_header_name) - gl_CONDITIONAL(gl_generate_cond, [$gl_generate_var]) - m4_popdef([gl_generate_cond]) - m4_popdef([gl_generate_var]) - m4_popdef([gl_header_name]) -]) - -dnl Expands to some code for use in .c programs that, on native Windows, defines -dnl the Microsoft deprecated alias function names to the underscore-prefixed -dnl actual function names. With this macro, these function names are available -dnl without linking with '-loldnames' and without generating warnings. -dnl Usage: Use it after all system header files are included. -dnl #include <...> -dnl #include <...> -dnl ]GL_MDA_DEFINES[ -dnl ... -AC_DEFUN([GL_MDA_DEFINES],[ -AC_REQUIRE([_GL_MDA_DEFINES]) -[$gl_mda_defines] -]) -AC_DEFUN([_GL_MDA_DEFINES], -[gl_mda_defines=' -#if defined _WIN32 && !defined __CYGWIN__ -#define access _access -#define chdir _chdir -#define chmod _chmod -#define close _close -#define creat _creat -#define dup _dup -#define dup2 _dup2 -#define ecvt _ecvt -#define execl _execl -#define execle _execle -#define execlp _execlp -#define execv _execv -#define execve _execve -#define execvp _execvp -#define execvpe _execvpe -#define fcloseall _fcloseall -#define fcvt _fcvt -#define fdopen _fdopen -#define fileno _fileno -#define gcvt _gcvt -#define getcwd _getcwd -#define getpid _getpid -#define getw _getw -#define isatty _isatty -#define j0 _j0 -#define j1 _j1 -#define jn _jn -#define lfind _lfind -#define lsearch _lsearch -#define lseek _lseek -#define memccpy _memccpy -#define mkdir _mkdir -#define mktemp _mktemp -#define open _open -#define putenv _putenv -#define putw _putw -#define read _read -#define rmdir _rmdir -#define strdup _strdup -#define swab _swab -#define tempnam _tempnam -#define tzset _tzset -#define umask _umask -#define unlink _unlink -#define utime _utime -#define wcsdup _wcsdup -#define write _write -#define y0 _y0 -#define y1 _y1 -#define yn _yn -#endif -' -]) diff --git a/BUILD/libtool-2.4.7/m4/gnulib-comp.m4 b/BUILD/libtool-2.4.7/m4/gnulib-comp.m4 deleted file mode 100644 index 7b2af04..0000000 --- a/BUILD/libtool-2.4.7/m4/gnulib-comp.m4 +++ /dev/null @@ -1,308 +0,0 @@ -# DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2022 Free Software Foundation, Inc. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this file. If not, see . -# -# As a special exception to the GNU General Public License, -# this file may be distributed as part of a program that -# contains a configuration script generated by Autoconf, under -# the same distribution terms as the rest of that program. -# -# Generated by gnulib-tool. -# -# This file represents the compiled summary of the specification in -# gnulib-cache.m4. It lists the computed macro invocations that need -# to be invoked from configure.ac. -# In projects that use version control, this file can be treated like -# other built files. - - -# This macro should be invoked from ./configure.ac, in the section -# "Checks for programs", right after AC_PROG_CC, and certainly before -# any checks for libraries, header files, types and library functions. -AC_DEFUN([GL_EARLY], -[ - m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace - m4_pattern_allow([^gl_ES$])dnl a valid locale name - m4_pattern_allow([^gl_LIBOBJS$])dnl a variable - m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - - # Pre-early section. - AC_REQUIRE([gl_PROG_AR_RANLIB]) - - # Code from module all-shells-tests: - # Code from module announce-gen: - # Code from module bootstrap: - # Code from module do-release-commit-and-tag: - # Code from module extract-trace: - # Code from module funclib.sh: - # Code from module funclib.sh-tests: - # Code from module gendocs: - # Code from module git-version-gen: - # Code from module gitlog-to-changelog: - # Code from module gnu-web-doc-update: - # Code from module gnumakefile: - # Code from module gnupload: - # Code from module inline-source: - # Code from module maintainer-makefile: - # Code from module options-parser: - # Code from module options-parser-tests: - # Code from module readme-release: - # Code from module test-framework-sh: - # Code from module test-framework-sh-tests: - # Code from module update-copyright: - # Code from module update-copyright-tests: - # Code from module useless-if-before-free: - # Code from module vc-list-files: - # Code from module vc-list-files-tests: -]) - -# This macro should be invoked from ./configure.ac, in the section -# "Check for header files, types and library functions". -AC_DEFUN([GL_INIT], -[ - AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) - gl_cond_libtool=true - gl_m4_base='m4' - m4_pushdef([AC_LIBOBJ], m4_defn([GL_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([GL_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([GL_LIBSOURCES])) - m4_pushdef([GL_LIBSOURCES_LIST], []) - m4_pushdef([GL_LIBSOURCES_DIR], []) - m4_pushdef([GL_MACRO_PREFIX], [GL]) - m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_GL]) - gl_COMMON - gl_source_base='lib' - gl_source_base_prefix= - # Autoconf 2.61a.99 and earlier don't support linking a file only - # in VPATH builds. But since GNUmakefile is for maintainer use - # only, it does not matter if we skip the link with older autoconf. - # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH - # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - m4_if(m4_version_compare([2.61a.100], - m4_defn([m4_PACKAGE_VERSION])), [1], [], - [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], - [GNUmakefile=$GNUmakefile])]) - AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER], - [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])]) - AC_REQUIRE([AC_PROG_SED]) - AC_REQUIRE([AC_PROG_GREP]) - # End of code from modules - m4_ifval(GL_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([GL_LIBSOURCES_DIR])[ || - for gl_file in ]GL_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([GL_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([GL_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([GL_MODULE_INDICATOR_PREFIX]) - m4_popdef([GL_MACRO_PREFIX]) - m4_popdef([GL_LIBSOURCES_DIR]) - m4_popdef([GL_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - GL_libobjs= - GL_ltlibobjs= - GL_libobjdeps= - if test -n "$GL_LIBOBJS"; then - # Remove the extension. -changequote(,)dnl - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' -changequote([, ])dnl - for i in `for i in $GL_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GL_libobjs="$GL_libobjs $i.$ac_objext" - GL_ltlibobjs="$GL_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GL_libobjdeps="$GL_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - AC_SUBST([GL_LIBOBJS], [$GL_libobjs]) - AC_SUBST([GL_LTLIBOBJS], [$GL_ltlibobjs]) - AC_SUBST([GL_LIBOBJDEPS], [$GL_libobjdeps]) - ]) - gltests_libdeps= - gltests_ltlibdeps= - m4_pushdef([AC_LIBOBJ], m4_defn([GLtests_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([GLtests_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([GLtests_LIBSOURCES])) - m4_pushdef([GLtests_LIBSOURCES_LIST], []) - m4_pushdef([GLtests_LIBSOURCES_DIR], []) - m4_pushdef([GL_MACRO_PREFIX], [GLtests]) - m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL_GL]) - gl_COMMON - AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) - AC_REQUIRE([gl_CXX_ALLOW_WARNINGS]) - gl_source_base='gnulib-tests' - gl_source_base_prefix= -changequote(,)dnl - GLtests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS -changequote([, ])dnl - AC_SUBST([GLtests_WITNESS]) - gl_module_indicator_condition=$GLtests_WITNESS - m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - AC_SUBST([abs_aux_dir]) - abs_aux_dir=`cd "$ac_aux_dir"; pwd` - AC_SUBST([abs_aux_dir]) - m4_popdef([gl_MODULE_INDICATOR_CONDITION]) - m4_ifval(GLtests_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([GLtests_LIBSOURCES_DIR])[ || - for gl_file in ]GLtests_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([GLtests_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([GLtests_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([GL_MODULE_INDICATOR_PREFIX]) - m4_popdef([GL_MACRO_PREFIX]) - m4_popdef([GLtests_LIBSOURCES_DIR]) - m4_popdef([GLtests_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - GLtests_libobjs= - GLtests_ltlibobjs= - GLtests_libobjdeps= - if test -n "$GLtests_LIBOBJS"; then - # Remove the extension. -changequote(,)dnl - sed_drop_objext='s/\.o$//;s/\.obj$//' - sed_dirname1='s,//*,/,g' - sed_dirname2='s,\(.\)/$,\1,' - sed_dirname3='s,^[^/]*$,.,' - sed_dirname4='s,\(.\)/[^/]*$,\1,' - sed_basename1='s,.*/,,' -changequote([, ])dnl - for i in `for i in $GLtests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - GLtests_libobjs="$GLtests_libobjs $i.$ac_objext" - GLtests_ltlibobjs="$GLtests_ltlibobjs $i.lo" - i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` - i_base=`echo "$i" | sed -e "$sed_basename1"` - GLtests_libobjdeps="$GLtests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Plo" - done - fi - AC_SUBST([GLtests_LIBOBJS], [$GLtests_libobjs]) - AC_SUBST([GLtests_LTLIBOBJS], [$GLtests_ltlibobjs]) - AC_SUBST([GLtests_LIBOBJDEPS], [$GLtests_libobjdeps]) - ]) - AC_REQUIRE([gl_CC_GNULIB_WARNINGS]) -]) - -# Like AC_LIBOBJ, except that the module name goes -# into GL_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([GL_LIBOBJ], [ - AS_LITERAL_IF([$1], [GL_LIBSOURCES([$1.c])])dnl - GL_LIBOBJS="$GL_LIBOBJS $1.$ac_objext" -]) - -# Like AC_REPLACE_FUNCS, except that the module name goes -# into GL_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([GL_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [GL_LIBOBJ($ac_func)]) -]) - -# Like AC_LIBSOURCES, except the directory where the source file is -# expected is derived from the gnulib-tool parameterization, -# and alloca is special cased (for the alloca-opt module). -# We could also entirely rely on EXTRA_lib..._SOURCES. -AC_DEFUN([GL_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([GL_LIBSOURCES_DIR], [lib]) - m4_append([GL_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) - -# Like AC_LIBOBJ, except that the module name goes -# into GLtests_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([GLtests_LIBOBJ], [ - AS_LITERAL_IF([$1], [GLtests_LIBSOURCES([$1.c])])dnl - GLtests_LIBOBJS="$GLtests_LIBOBJS $1.$ac_objext" -]) - -# Like AC_REPLACE_FUNCS, except that the module name goes -# into GLtests_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([GLtests_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [GLtests_LIBOBJ($ac_func)]) -]) - -# Like AC_LIBSOURCES, except the directory where the source file is -# expected is derived from the gnulib-tool parameterization, -# and alloca is special cased (for the alloca-opt module). -# We could also entirely rely on EXTRA_lib..._SOURCES. -AC_DEFUN([GLtests_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([GLtests_LIBSOURCES_DIR], [gnulib-tests]) - m4_append([GLtests_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) - -# This macro records the list of files which have been installed by -# gnulib-tool and may be removed by future gnulib-tool invocations. -AC_DEFUN([GL_FILE_LIST], [ - build-aux/announce-gen - build-aux/bootstrap.in - build-aux/do-release-commit-and-tag - build-aux/extract-trace - build-aux/funclib.sh - build-aux/gendocs.sh - build-aux/git-version-gen - build-aux/gitlog-to-changelog - build-aux/gnu-web-doc-update - build-aux/gnupload - build-aux/inline-source - build-aux/options-parser - build-aux/update-copyright - build-aux/useless-if-before-free - build-aux/vc-list-files - doc/gendocs_template - doc/gendocs_template_min - m4/00gnulib.m4 - m4/gnulib-common.m4 - m4/zzgnulib.m4 - tests/init.sh - tests/test-all-shells.sh - tests/test-funclib-quote.sh - tests/test-init.sh - tests/test-option-parser-helper - tests/test-option-parser.sh - tests/test-update-copyright.sh - tests/test-vc-list-files-cvs.sh - tests/test-vc-list-files-git.sh - top/GNUmakefile - top/README-release - top/maint.mk -]) diff --git a/BUILD/libtool-2.4.7/m4/libtool.m4 b/BUILD/libtool-2.4.7/m4/libtool.m4 deleted file mode 100644 index e3adeda..0000000 --- a/BUILD/libtool-2.4.7/m4/libtool.m4 +++ /dev/null @@ -1,8403 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -]) - -# serial 59 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS=$ltmain - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_PREPARE_CC_BASENAME -# ----------------------- -m4_defun([_LT_PREPARE_CC_BASENAME], [ -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in @S|@*""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} -])# _LT_PREPARE_CC_BASENAME - - -# _LT_CC_BASENAME(CC) -# ------------------- -# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, -# but that macro is also expanded into generated libtool script, which -# arranges for $SED and $ECHO to be set by different means. -m4_defun([_LT_CC_BASENAME], -[m4_require([_LT_PREPARE_CC_BASENAME])dnl -AC_REQUIRE([_LT_DECL_SED])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl -func_cc_basename $1 -cc_basename=$func_cc_basename_result -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_DECL_FILECMD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl -m4_require([_LT_CMD_TRUNCATE])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a '.a' archive for static linking (except MSVC and -# ICC, which need '.lib'). -libext=a - -with_gnu_ld=$lt_cv_prog_gnu_ld - -old_CC=$CC -old_CFLAGS=$CFLAGS - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from 'configure', and 'config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# 'config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain=$ac_aux_dir/ltmain.sh -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the 'libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to 'config.status' so that its -# declaration there will have the same value as in 'configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags='_LT_TAGS'dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into 'config.status', and then the shell code to quote escape them in -# for loops in 'config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# '#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test 0 = "$lt_write_fail" && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -'$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test 0 != $[#] -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try '$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try '$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test yes = "$silent" && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -_LT_COPYING -_LT_LIBTOOL_TAGS - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -_LT_PREPARE_MUNGE_PATH_LIST -_LT_PREPARE_CC_BASENAME - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - $SED '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "$LT_MULTI_MODULE"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test 0 = "$_lt_result"; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS=$save_LDFLAGS - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) - case $MACOSX_DEPLOYMENT_TARGET,$host in - 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - *) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test yes = "$lt_cv_apple_cc_single_mod"; then - _lt_dar_single_mod='$single_module' - fi - if test yes = "$lt_cv_ld_exported_symbols_list"; then - _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' - fi - if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test yes = "$lt_cv_ld_force_load"; then - _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\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined - case $cc_basename in - ifort*|nagfor*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test yes = "$_lt_dar_can_shared"; then - output_verbose_link_cmd=func_echo_all - _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" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _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" - _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" - m4_if([$1], [CXX], -[ if test yes != "$lt_cv_apple_cc_single_mod"; then - _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" - _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" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test set = "${lt_cv_aix_libpath+set}"; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script that will find a shell with a builtin -# printf (that we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case $ECHO in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[m4_require([_LT_DECL_SED])dnl -AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], - [Search for dependent libraries within DIR (or the compiler's sysroot - if not specified).])], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case $with_sysroot in #( - yes) - if test yes = "$GCC"; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([$with_sysroot]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and where our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test no = "$enable_libtool_lock" || enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out what ABI is being produced by ac_compile, and set mode - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `$FILECMD conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE=32 - ;; - *ELF-64*) - HPUX_IA64_MODE=64 - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test yes = "$lt_cv_prog_gnu_ld"; then - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -mips64*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - emul=elf - case `$FILECMD conftest.$ac_objext` in - *32-bit*) - emul="${emul}32" - ;; - *64-bit*) - emul="${emul}64" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *MSB*) - emul="${emul}btsmip" - ;; - *LSB*) - emul="${emul}ltsmip" - ;; - esac - case `$FILECMD conftest.$ac_objext` in - *N32*) - emul="${emul}n32" - ;; - esac - LD="${LD-ld} -m $emul" - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. Note that the listed cases only cover the - # situations where additional linker options are needed (such as when - # doing 32-bit compilation for a host where ld defaults to 64-bit, or - # vice versa); the common cases where no linker options are needed do - # not appear in the list. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `$FILECMD conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `$FILECMD conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*linux*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*linux*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test yes != "$lt_cv_cc_needs_belf"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS=$SAVE_CFLAGS - fi - ;; -*-*solaris*) - # Find out what ABI is being produced by ac_compile, and set linker - # options accordingly. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `$FILECMD conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD=${LD-ld}_sol2 - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks=$enable_libtool_lock -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -_LT_DECL([], [AR], [1], [The archiver]) - -# Use ARFLAGS variable as AR's operation code to sync the variable naming with -# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -# higher priority because thats what people were doing historically (setting -# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -# variable obsoleted/removed. - -test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} -lt_ar_flags=$AR_FLAGS -_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) - -# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -# by AR_FLAGS because that was never working and AR_FLAGS is about to die. -_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], - [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test 0 -eq "$ac_status"; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test 0 -ne "$ac_status"; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test no = "$lt_cv_ar_at_file"; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - bitrig* | openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test yes = "[$]$2"; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS=$save_LDFLAGS -]) - -if test yes = "[$]$2"; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring=ABCD - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test X`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test 17 != "$i" # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n "$lt_cv_sys_max_cmd_len"; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test yes = "$cross_compiling"; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test yes != "$enable_dlopen"; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen=load_add_on - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen=LoadLibrary - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ - lt_cv_dlopen=dyld - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - tpf*) - # Don't try to run any link tests for TPF. We know it's impossible - # because TPF is a cross-compiler, and we know how we open DSOs. - lt_cv_dlopen=dlopen - lt_cv_dlopen_libs= - lt_cv_dlopen_self=no - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen=shl_load], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen=dlopen], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test no = "$lt_cv_dlopen"; then - enable_dlopen=no - else - enable_dlopen=yes - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS=$CPPFLAGS - test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS=$LDFLAGS - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS=$LIBS - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test yes = "$lt_cv_dlopen_self"; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links=nottested -if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test no = "$hard_links"; then - AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", - [Define to the sub-directory where libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then - - # We can hardcode non-existent directories. - if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && - test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || - test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then - # Fast installation is not supported - enable_fast_install=no -elif test yes = "$shlibpath_overrides_runpath" || - test no = "$enable_shared"; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -z "$STRIP"; then - AC_MSG_RESULT([no]) -else - if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) - else - case $host_os in - darwin*) - # FIXME - insert some real tests, host_os isn't really good enough - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - ;; - freebsd*) - if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac - fi -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_PREPARE_MUNGE_PATH_LIST -# --------------------------- -# Make sure func_munge_path_list() is defined correctly. -m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], -[[# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x@S|@2 in - x) - ;; - *:) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" - ;; - x:*) - eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" - ;; - *) - eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" - ;; - esac -} -]])# _LT_PREPARE_PATH_LIST - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test yes = "$GCC"; then - case $host_os in - darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; - *) lt_awk_arg='/^libraries:/' ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; - *) lt_sed_strip_eq='s|=/|/|g' ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary... - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - # ...but if some path component already ends with the multilib dir we assume - # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). - case "$lt_multi_os_dir; $lt_search_path_spec " in - "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) - lt_multi_os_dir= - ;; - esac - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" - elif test -n "$lt_multi_os_dir"; then - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS = " "; FS = "/|\n";} { - lt_foo = ""; - lt_count = 0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo = "/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=.so -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -AC_ARG_VAR([LT_SYS_LIBRARY_PATH], -[User-defined run-time library search path.]) - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='$libname$release$shared_ext$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test ia64 = "$host_cpu"; then - # AIX 5 supports IA64 - library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line '#! .'. This would cause the generated library to - # depend on '.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # Using Import Files as archive members, it is possible to support - # filename-based versioning of shared library archives on AIX. While - # this would work for both with and without runtime linking, it will - # prevent static linking of such archives. So we do filename-based - # shared library versioning with .so extension only, which is used - # when both runtime linking and shared linking is enabled. - # Unfortunately, runtime linking may impact performance, so we do - # not want this to be the default eventually. Also, we use the - # versioned .so libs for executables only if there is the -brtl - # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. - # To allow for filename-based versioning support, we need to create - # libNAME.so.V as an archive file, containing: - # *) an Import File, referring to the versioned filename of the - # archive as well as the shared archive member, telling the - # bitwidth (32 or 64) of that shared object, and providing the - # list of exported symbols of that shared object, eventually - # decorated with the 'weak' keyword - # *) the shared object with the F_LOADONLY flag set, to really avoid - # it being seen by the linker. - # At run time we better use the real file rather than another symlink, - # but for link time we create the symlink libNAME.so -> libNAME.so.V - - case $with_aix_soname,$aix_use_runtimelinking in - # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - aix,yes) # traditional libtool - dynamic_linker='AIX unversionable lib.so' - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - aix,no) # traditional AIX only - dynamic_linker='AIX lib.a[(]lib.so.V[)]' - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - ;; - svr4,*) # full svr4 only - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,yes) # both, prefer svr4 - dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" - library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' - # unpreferred sharedlib libNAME.a needs extra handling - 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"' - 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"' - # We do not specify a path in Import Files, so LIBPATH fires. - shlibpath_overrides_runpath=yes - ;; - *,no) # both, prefer aix - dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" - library_names_spec='$libname$release.a $libname.a' - soname_spec='$libname$release$shared_ext$major' - # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling - 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)' - 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"' - ;; - esac - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - 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' - ;; - esac - ;; - -beos*) - library_names_spec='$libname$shared_ext' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl* | *,icl*) - # Native MSVC or ICC - libname_spec='$name' - soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' - library_names_spec='$libname.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec=$LIB - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC and ICC wrapper - library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly* | midnightbsd*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - if test 32 = "$HPUX_IA64_MODE"; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - sys_lib_dlsearch_path_spec=/usr/lib/hpux32 - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - sys_lib_dlsearch_path_spec=/usr/lib/hpux64 - fi - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test yes = "$lt_cv_prog_gnu_ld"; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" - sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -linux*android*) - version_type=none # Android doesn't support versioned libraries. - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext' - soname_spec='$libname$release$shared_ext' - finish_cmds= - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - dynamic_linker='Android linker' - # Don't embed -rpath directories since the linker doesn't support them. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - - # Ideally, we could use ldconfig to report *all* directores which are - # searched for libraries, however this is still not possible. Aside from not - # being certain /sbin/ldconfig is available, command - # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, - # even though it is searched at run-time. Try to do the best guess by - # appending ld.so.conf contents (and includes) to the search path. - if test -f /etc/ld.so.conf; then - 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' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd* | bitrig*) - version_type=sunos - sys_lib_dlsearch_path_spec=/usr/lib - need_lib_prefix=no - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - need_version=no - else - need_version=yes - fi - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -os2*) - libname_spec='$name' - version_type=windows - shrext_cmds=.dll - need_version=no - need_lib_prefix=no - # OS/2 can only load a DLL with a base name of 8 characters or less. - soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; - v=$($ECHO $release$versuffix | tr -d .-); - n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); - $ECHO $n$v`$shared_ext' - library_names_spec='${libname}_dll.$libext' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=BEGINLIBPATH - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - postinstall_cmds='base_file=`basename \$file`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='$libname$release$shared_ext$major' - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test yes = "$with_gnu_ld"; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec; then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' - soname_spec='$libname$shared_ext.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=sco - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test yes = "$with_gnu_ld"; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' - soname_spec='$libname$release$shared_ext$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test no = "$dynamic_linker" && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test yes = "$GCC"; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then - sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec -fi - -if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then - sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec -fi - -# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... -configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec - -# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code -func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" - -# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool -configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], - [Detected run-time system search path for libraries]) -_LT_DECL([], [configure_time_lt_sys_library_path], [2], - [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program that can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD=$MAGIC_CMD - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$1"; then - lt_cv_path_MAGIC_CMD=$ac_dir/"$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD=$lt_cv_path_MAGIC_CMD - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS=$lt_save_ifs - MAGIC_CMD=$lt_save_MAGIC_CMD - ;; -esac]) -MAGIC_CMD=$lt_cv_path_MAGIC_CMD -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program that can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test no = "$withval" || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test yes = "$GCC"; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return, which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD=$ac_prog - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test yes = "$with_gnu_ld"; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD=$ac_dir/$ac_prog - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i -cat conftest.i conftest.i >conftest2.i -: ${lt_DD:=$DD} -AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], -[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: -fi]) -rm -f conftest.i conftest2.i conftest.out]) -])# _LT_PATH_DD - - -# _LT_CMD_TRUNCATE -# ---------------- -# find command to truncate a binary pipe -m4_defun([_LT_CMD_TRUNCATE], -[m4_require([_LT_PATH_DD]) -AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], -[printf 0123456789abcdef0123456789abcdef >conftest.i -cat conftest.i conftest.i >conftest2.i -lt_cv_truncate_bin= -if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then - cmp -s conftest.i conftest.out \ - && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" -fi -rm -f conftest.i conftest2.i conftest.out -test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) -_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], - [Command to truncate a binary pipe]) -])# _LT_CMD_TRUNCATE - - -# _LT_CHECK_MAGIC_METHOD -# ---------------------- -# how to check for library dependencies -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_MAGIC_METHOD], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -AC_CACHE_CHECK([how to recognize dependent libraries], -lt_cv_deplibs_check_method, -[lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# 'unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# that responds to the $file_magic_cmd with a given extended regex. -# If you have 'file' or equivalent on your system and you're not sure -# whether 'pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[[4-9]]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[[45]]*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='$FILECMD -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly* | midnightbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=$FILECMD - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [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]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=$FILECMD - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd* | bitrig*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - 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]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -os2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM=$NM -else - lt_nm_to_check=${ac_tool_prefix}nm - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS=$lt_save_ifs - test -z "$ac_dir" && ac_dir=. - tmp_nm=$ac_dir/$lt_tmp_nm - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the 'sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty - case $build_os in - mingw*) lt_bad_file=conftest.nm/nofile ;; - *) lt_bad_file=/dev/null ;; - esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in - *$lt_bad_file* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS=$lt_save_ifs - done - : ${lt_cv_path_NM=no} -fi]) -if test no != "$lt_cv_path_NM"; then - NM=$lt_cv_path_NM -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols -headers" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test : != "$DUMPBIN"; then - NM=$DUMPBIN - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh; - # decide which one to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd=$ECHO - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test yes != "$lt_cv_path_mainfest_tool"; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# _LT_DLL_DEF_P([FILE]) -# --------------------- -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with func_dll_def_p in the libtool script -AC_DEFUN([_LT_DLL_DEF_P], -[dnl - test DEF = "`$SED -n dnl - -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace - -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments - -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl - -e q dnl Only consider the first "real" line - $1`" dnl -])# _LT_DLL_DEF_P - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM=-lm) - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test yes = "$GCC"; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test ia64 = "$host_cpu"; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" - # Adjust the below global symbol transforms to fixup imported variables. - lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" - lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" - lt_c_name_lib_hook="\ - -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ - -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" -else - # Disable hooks by default. - lt_cv_sys_global_symbol_to_import= - lt_cdecl_hook= - lt_c_name_hook= - lt_c_name_lib_hook= -fi - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ -$lt_cdecl_hook\ -" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ -$lt_c_name_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - -# Transform an extracted symbol line into symbol name with lib prefix and -# symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ -$lt_c_name_lib_hook\ -" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ -" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ -" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function, - # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++ or ICC, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ -" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ -" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ -" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ -" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS=conftstm.$ac_objext - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test yes = "$pipe_works"; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], - [Transform the output of nm into a list of symbols to manually relocate]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], - [The name lister interface]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test yes = "$GXX"; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _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" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly* | midnightbsd*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - if test ia64 != "$host_cpu"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64, which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test yes = "$GCC"; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the '-m68020' flag to GCC prevents building anything better, - # like '-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test ia64 = "$host_cpu"; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - case $cc_basename in - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - case $host_os in - os2*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' - ;; - esac - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64, which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms that do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _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' - else - _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 == "L") || (\$ 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' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl* | icl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _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' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ' (' and ')$', so one must not match beginning or - # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', - # as well as any symbol that contains 'd'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - if test yes != "$GCC"; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) - with_gnu_ld=yes - ;; - openbsd* | bitrig*) - with_gnu_ld=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test yes = "$with_gnu_ld"; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test yes = "$lt_use_gnu_ld_interface"; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='$wl' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test ia64 != "$host_cpu"; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _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)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _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' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _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' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _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' - _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' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test linux-dietlibc = "$host_os"; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test no = "$tmp_diet" - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _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' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _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' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - nagfor*) # NAGFOR 5.3 - tmp_sharedflag='-Wl,-shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _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' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) # Sun C 5.9 - _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' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - tcc*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' - ;; - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _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' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to GNU nm, but means don't demangle to AIX nm. - # Without the "-l" option, or with the "-B" option, AIX nm treats - # weak defined symbols like other global defined symbols, whereas - # GNU nm marks them as "W". - # While the 'weak' keyword is ignored in the Export File, we need - # it in the Import File for the 'aix-soname' feature, so we have - # to replace the "-B" option with "-P" for AIX nm. - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _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' - else - _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 == "L") || (\$ 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' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then - aix_use_runtimelinking=yes - break - fi - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # traditional, no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GCC"; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag="$shared_flag "'$wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - _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 - else - if test ia64 = "$host_cpu"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared libraries. - _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' - fi - if test aix != "$with_aix_soname"; then - _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' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _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)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl* | icl*) - # Native MSVC or ICC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _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' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC and ICC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly* | midnightbsd*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test yes = "$GCC"; then - _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' - else - _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' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - ;; - - hpux10*) - if test yes,no = "$GCC,$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test yes,no = "$GCC,$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test yes = "$GCC"; then - _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' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS=$save_LDFLAGS]) - if test yes = "$lt_cv_irix_exported_symbol"; then - _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' - fi - else - _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' - _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' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - linux*) - case $cc_basename in - tcc*) - # Fabrice Bellard et al's Tiny C Compiler - _LT_TAGVAR(ld_shlibs, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - ;; - - osf3*) - if test yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _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' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _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' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test yes = "$GCC"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _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' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _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' - _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~ - $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' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test yes = "$GCC"; then - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='$wl' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. GCC discards it without '$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test yes = "$GCC"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test sequent = "$host_vendor"; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - if test yes = "$GCC"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test sni = "$host_vendor"; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test yes,yes = "$GCC,$enable_shared"; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting $shlibpath_var if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC=$CC -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report what library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC=$lt_save_CC -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test no != "$CXX" && - ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || - (test g++ != "$CXX"))); then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_caught_CXX_error"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test yes = "$GXX"; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test yes = "$GXX"; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test yes = "$with_gnu_ld"; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='$wl' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test ia64 = "$host_cpu"; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag= - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # have runtime linking enabled, and use it for executables. - # For shared libraries, we enable/disable runtime linking - # depending on the kind of the shared library created - - # when "with_aix_soname,aix_use_runtimelinking" is: - # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables - # "aix,yes" lib.so shared, rtl:yes, for executables - # lib.a static archive - # "both,no" lib.so.V(shr.o) shared, rtl:yes - # lib.a(lib.so.V) shared, rtl:no, for executables - # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a(lib.so.V) shared, rtl:no - # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables - # lib.a static archive - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then - # With aix-soname=svr4, we create the lib.so.V shared archives only, - # so we don't have lib.a shared libs to link our executables. - # We have to force runtime linking in this case. - aix_use_runtimelinking=yes - LDFLAGS="$LDFLAGS -Wl,-brtl" - fi - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='$wl-f,' - case $with_aix_soname,$aix_use_runtimelinking in - aix,*) ;; # no import file - svr4,* | *,yes) # use import file - # The Import File defines what to hardcode. - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - ;; - esac - - if test yes = "$GXX"; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`$CC -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test yes = "$aix_use_runtimelinking"; then - shared_flag=$shared_flag' $wl-G' - fi - # Need to ensure runtime linking is disabled for the traditional - # shared library, or the linker may eventually find shared libraries - # /with/ Import File - we do not want to mix them. - shared_flag_aix='-shared' - shared_flag_svr4='-shared $wl-G' - else - # not using gcc - if test ia64 = "$host_cpu"; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test yes = "$aix_use_runtimelinking"; then - shared_flag='$wl-G' - else - shared_flag='$wl-bM:SRE' - fi - shared_flag_aix='$wl-bM:SRE' - shared_flag_svr4='$wl-G' - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - # The "-G" linker flag allows undefined symbols. - _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - - _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 - else - if test ia64 = "$host_cpu"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _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" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' - if test yes = "$with_gnu_ld"; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' - # -brtl affects multiple linker settings, -berok does not and is overridden later - compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' - if test svr4 != "$with_aix_soname"; then - # This is similar to how AIX traditionally builds its shared - # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. - _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' - fi - if test aix != "$with_aix_soname"; then - _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' - else - # used by -dlpreopen to get the symbols - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' - fi - _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl* | ,icl* | no,icl*) - # Native MSVC or ICC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=.dll - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp "$export_symbols" "$output_objdir/$soname.def"; - echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; - else - $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile=$lt_outputfile.exe - lt_tool_outputfile=$lt_tool_outputfile.exe - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _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' - # If the export-symbols file already is a .def file, use it as - # is; otherwise, prepend EXPORTS... - _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $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' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - shrext_cmds=.dll - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ - $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ - $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ - $ECHO EXPORTS >> $output_objdir/$libname.def~ - prefix_cmds="$SED"~ - if test EXPORTS = "`$SED 1q $export_symbols`"; then - prefix_cmds="$prefix_cmds -e 1d"; - fi~ - prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ - cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ - $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ - emximp -o $lib $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly* | midnightbsd*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _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' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes = "$GXX"; then - _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' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test no = "$with_gnu_ld"; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _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' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _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' - ;; - *) - _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' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _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' - _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' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _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' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test yes = "$GXX"; then - if test no = "$with_gnu_ld"; then - _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' - else - _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' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _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' - _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' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $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' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _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' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' - _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' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test yes = "$supports_anon_versioning"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | $SED 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _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' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _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' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd* | bitrig*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then - _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' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _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' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - _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' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _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' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $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~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - 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"' - ;; - *) - if test yes,no = "$GXX,$with_gnu_ld"; then - _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' - case $host in - osf3*) - _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' - ;; - *) - _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' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands '-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test yes,no = "$GXX,$with_gnu_ld"; then - _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require '-G' NOT '-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $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' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We CANNOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - - _LT_TAGVAR(GCC, $1)=$GXX - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test yes != "$_lt_caught_CXX_error" - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case @S|@2 in - .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; - *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $prev$p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test x-L = "$p" || - test x-R = "$p"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test no = "$pre_test_object_deps_done"; then - case $prev in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)=$prev$p - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test no = "$pre_test_object_deps_done"; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)=$p - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)=$p - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test no = "$F77"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_F77"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)=$G77 - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_F77" - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test no = "$FC"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test yes != "$_lt_disable_FC"; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test no = "$can_build_shared" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test yes = "$enable_shared" && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test ia64 != "$host_cpu"; then - case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in - yes,aix,yes) ;; # shared object as lib.so file only - yes,svr4,*) ;; # shared object as lib.so archive member only - yes,*) enable_static=no ;; # shared object in lib.a archive as well - esac - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test yes = "$enable_shared" || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu - _LT_TAGVAR(LD, $1)=$LD - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test yes != "$_lt_disable_FC" - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)=$LD -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to 'libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code=$lt_simple_compile_test_code - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_FILECMD -# ---------------- -# Check for a file(cmd) program that can be used to detect file type and magic -m4_defun([_LT_DECL_FILECMD], -[AC_CHECK_TOOL([FILECMD], [file], [:]) -_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) -])# _LD_DECL_FILECMD - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f "$lt_ac_sed" && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test 10 -lt "$lt_ac_count" && break - lt_ac_count=`expr $lt_ac_count + 1` - if test "$lt_ac_count" -gt "$lt_ac_max"; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine what file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/BUILD/libtool-2.4.7/m4/ltargz.m4 b/BUILD/libtool-2.4.7/m4/ltargz.m4 deleted file mode 100644 index c544082..0000000 --- a/BUILD/libtool-2.4.7/m4/ltargz.m4 +++ /dev/null @@ -1,77 +0,0 @@ -# Portability macros for glibc argz. -*- Autoconf -*- -# -# Copyright (C) 2004-2007, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 2 ltargz.m4 - -AC_DEFUN([LT_FUNC_ARGZ], [ -dnl Required for use of '$SED' in Cygwin configuration. -AC_REQUIRE([AC_PROG_SED])dnl -AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_TYPES([error_t], - [], - [AC_DEFINE([error_t], [int], - [Define to a type to use for 'error_t' if it is not otherwise available.]) - AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h - does not typedef error_t.])], - [#if defined(HAVE_ARGZ_H) -# include -#endif]) - -LT_ARGZ_H= -AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) - -dnl if have system argz functions, allow forced use of -dnl libltdl-supplied implementation (and default to do so -dnl on "known bad" systems). Could use a runtime check, but -dnl (a) detecting malloc issues is notoriously unreliable -dnl (b) only known system that declares argz functions, -dnl provides them, yet they are broken, is cygwin -dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) -dnl So, it's more straightforward simply to special case -dnl this for known bad systems. -AS_IF([test -z "$LT_ARGZ_H"], - [AC_CACHE_CHECK( - [if argz actually works], - [lt_cv_sys_argz_works], - [[case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test no != "$cross_compiling"; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test 1 -lt "$lt_os_major" \ - || { test 1 -eq "$lt_os_major" \ - && { test 5 -lt "$lt_os_minor" \ - || { test 5 -eq "$lt_os_minor" \ - && test 24 -lt "$lt_os_micro"; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac]]) - AS_IF([test yes = "$lt_cv_sys_argz_works"], - [AC_DEFINE([HAVE_WORKING_ARGZ], 1, - [This value is set to 1 to indicate that the system argz facility works])], - [LT_ARGZ_H=lt__argz.h - AC_LIBOBJ([lt__argz])])]) - -AC_SUBST([LT_ARGZ_H]) -]) diff --git a/BUILD/libtool-2.4.7/m4/ltdl.m4 b/BUILD/libtool-2.4.7/m4/ltdl.m4 deleted file mode 100644 index 772c150..0000000 --- a/BUILD/libtool-2.4.7/m4/ltdl.m4 +++ /dev/null @@ -1,910 +0,0 @@ -# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- -# -# Copyright (C) 1999-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Thomas Tanner, 1999 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 21 LTDL_INIT - -# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) -# ------------------------------------------ -# DIRECTORY contains the libltdl sources. It is okay to call this -# function multiple times, as long as the same DIRECTORY is always given. -AC_DEFUN([LT_CONFIG_LTDL_DIR], -[AC_BEFORE([$0], [LTDL_INIT]) -_$0($*) -])# LT_CONFIG_LTDL_DIR - -# We break this out into a separate macro, so that we can call it safely -# internally without being caught accidentally by the sed scan in libtoolize. -m4_defun([_LT_CONFIG_LTDL_DIR], -[dnl remove trailing slashes -m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$])) -m4_case(_LTDL_DIR, - [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply '.' - m4_if(_ARG_DIR, [.], - [], - [m4_define([_LTDL_DIR], _ARG_DIR) - _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])], - [m4_if(_ARG_DIR, _LTDL_DIR, - [], - [m4_fatal([multiple libltdl directories: ']_LTDL_DIR[', ']_ARG_DIR['])])]) -m4_popdef([_ARG_DIR]) -])# _LT_CONFIG_LTDL_DIR - -# Initialise: -m4_define([_LTDL_DIR], []) - - -# _LT_BUILD_PREFIX -# ---------------- -# If Autoconf is new enough, expand to '$(top_build_prefix)', otherwise -# to '$(top_builddir)/'. -m4_define([_LT_BUILD_PREFIX], -[m4_ifdef([AC_AUTOCONF_VERSION], - [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]), - [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX], - [$(top_build_prefix)], - [$(top_builddir)/])], - [$(top_build_prefix)])], - [$(top_builddir)/])[]dnl -]) - - -# LTDL_CONVENIENCE -# ---------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with -# '$(top_build_prefix)' if available, otherwise with '$(top_builddir)/', -# and LTDLINCL will be prefixed with '$(top_srcdir)/' (note the single -# quotes!). If your package is not flat and you're not using automake, -# define top_build_prefix, top_builddir, and top_srcdir appropriately -# in your Makefiles. -AC_DEFUN([LTDL_CONVENIENCE], -[AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -])# LTDL_CONVENIENCE - -# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools, -# now we have LT_CONFIG_LTDL_DIR: -AU_DEFUN([AC_LIBLTDL_CONVENIENCE], -[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], []) - - -# _LTDL_CONVENIENCE -# ----------------- -# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]). -m4_defun([_LTDL_CONVENIENCE], -[case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; -esac -LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la" -LTDLDEPS=$LIBLTDL -LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" - -AC_SUBST([LIBLTDL]) -AC_SUBST([LTDLDEPS]) -AC_SUBST([LTDLINCL]) - -# For backwards non-gettext consistent compatibility... -INCLTDL=$LTDLINCL -AC_SUBST([INCLTDL]) -])# _LTDL_CONVENIENCE - - -# LTDL_INSTALLABLE -# ---------------- -# sets LIBLTDL to the link flags for the libltdl installable library -# and LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl -# is not found, LIBLTDL will be prefixed with '$(top_build_prefix)' if -# available, otherwise with '$(top_builddir)/', and LTDLINCL will be -# prefixed with '$(top_srcdir)/' (note the single quotes!). If your -# package is not flat and you're not using automake, define top_build_prefix, -# top_builddir, and top_srcdir appropriately in your Makefiles. -# In the future, this macro may have to be called after LT_INIT. -AC_DEFUN([LTDL_INSTALLABLE], -[AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -])# LTDL_INSTALLABLE - -# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools, -# now we have LT_CONFIG_LTDL_DIR: -AU_DEFUN([AC_LIBLTDL_INSTALLABLE], -[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], []) - - -# _LTDL_INSTALLABLE -# ----------------- -# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]). -m4_defun([_LTDL_INSTALLABLE], -[if test -f "$prefix/lib/libltdl.la"; then - lt_save_LDFLAGS=$LDFLAGS - LDFLAGS="-L$prefix/lib $LDFLAGS" - AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes]) - LDFLAGS=$lt_save_LDFLAGS - if test yes = "${lt_lib_ltdl-no}"; then - if test yes != "$enable_ltdl_install"; then - # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install - AC_MSG_WARN([not overwriting libltdl at $prefix, force with '--enable-ltdl-install']) - enable_ltdl_install=no - fi - elif test no = "$enable_ltdl_install"; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - fi -fi - -# If configure.ac declared an installable ltdl, and the user didn't override -# with --disable-ltdl-install, we will install the shipped libltdl. -case $enable_ltdl_install in - no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL=-lltdl - LTDLDEPS= - LTDLINCL= - ;; - *) enable_ltdl_install=yes - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la" - LTDLDEPS=$LIBLTDL - LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" - ;; -esac - -AC_SUBST([LIBLTDL]) -AC_SUBST([LTDLDEPS]) -AC_SUBST([LTDLINCL]) - -# For backwards non-gettext consistent compatibility... -INCLTDL=$LTDLINCL -AC_SUBST([INCLTDL]) -])# LTDL_INSTALLABLE - - -# _LTDL_MODE_DISPATCH -# ------------------- -m4_define([_LTDL_MODE_DISPATCH], -[dnl If _LTDL_DIR is '.', then we are configuring libltdl itself: -m4_if(_LTDL_DIR, [], - [], - dnl if _LTDL_MODE was not set already, the default value is 'subproject': - [m4_case(m4_default(_LTDL_MODE, [subproject]), - [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR) - _LT_SHELL_INIT([lt_dlopen_dir=$lt_ltdl_dir])], - [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/])], - [recursive], [], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl -dnl Be careful not to expand twice: -m4_define([$0], []) -])# _LTDL_MODE_DISPATCH - - -# _LT_LIBOBJ(MODULE_NAME) -# ----------------------- -# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead -# of into LIBOBJS. -AC_DEFUN([_LT_LIBOBJ], [ - m4_pattern_allow([^_LT_LIBOBJS$]) - _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" -])# _LT_LIBOBJS - - -# LTDL_INIT([OPTIONS]) -# -------------------- -# Clients of libltdl can use this macro to allow the installer to -# choose between a shipped copy of the ltdl sources or a preinstalled -# version of the library. If the shipped ltdl sources are not in a -# subdirectory named libltdl, the directory name must be given by -# LT_CONFIG_LTDL_DIR. -AC_DEFUN([LTDL_INIT], -[dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -dnl We need to keep our own list of libobjs separate from our parent project, -dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while -dnl we look for our own LIBOBJs. -m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) -m4_pushdef([AC_LIBSOURCES]) - -dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: -m4_if(_LTDL_MODE, [], - [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) - m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) - -AC_ARG_WITH([included_ltdl], - [AS_HELP_STRING([--with-included-ltdl], - [use the GNU ltdl sources included here])]) - -if test yes != "$with_included_ltdl"; then - # We are not being forced to use the included libltdl sources, so - # decide whether there is a useful installed version we can use. - AC_CHECK_HEADER([ltdl.h], - [AC_CHECK_DECL([lt_dlinterface_register], - [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], - [with_included_ltdl=no], - [with_included_ltdl=yes])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT - #include ])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT] - ) -fi - -dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE -dnl was called yet, then for old times' sake, we assume libltdl is in an -dnl eponymous directory: -AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) - -AC_ARG_WITH([ltdl_include], - [AS_HELP_STRING([--with-ltdl-include=DIR], - [use the ltdl headers installed in DIR])]) - -if test -n "$with_ltdl_include"; then - if test -f "$with_ltdl_include/ltdl.h"; then : - else - AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) - fi -else - with_ltdl_include=no -fi - -AC_ARG_WITH([ltdl_lib], - [AS_HELP_STRING([--with-ltdl-lib=DIR], - [use the libltdl.la installed in DIR])]) - -if test -n "$with_ltdl_lib"; then - if test -f "$with_ltdl_lib/libltdl.la"; then : - else - AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) - fi -else - with_ltdl_lib=no -fi - -case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in - ,yes,no,no,) - m4_case(m4_default(_LTDL_TYPE, [convenience]), - [convenience], [_LTDL_CONVENIENCE], - [installable], [_LTDL_INSTALLABLE], - [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) - ;; - ,no,no,no,) - # If the included ltdl is not to be used, then use the - # preinstalled libltdl we found. - AC_DEFINE([HAVE_LTDL], [1], - [Define this if a modern libltdl is already installed]) - LIBLTDL=-lltdl - LTDLDEPS= - LTDLINCL= - ;; - ,no*,no,*) - AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) - ;; - *) with_included_ltdl=no - LIBLTDL="-L$with_ltdl_lib -lltdl" - LTDLDEPS= - LTDLINCL=-I$with_ltdl_include - ;; -esac -INCLTDL=$LTDLINCL - -# Report our decision... -AC_MSG_CHECKING([where to find libltdl headers]) -AC_MSG_RESULT([$LTDLINCL]) -AC_MSG_CHECKING([where to find libltdl library]) -AC_MSG_RESULT([$LIBLTDL]) - -_LTDL_SETUP - -dnl restore autoconf definition. -m4_popdef([AC_LIBOBJ]) -m4_popdef([AC_LIBSOURCES]) - -AC_CONFIG_COMMANDS_PRE([ - _ltdl_libobjs= - _ltdl_ltlibobjs= - if test -n "$_LT_LIBOBJS"; then - # Remove the extension. - _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do - _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" - _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" - done - fi - AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) - AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) -]) - -# Only expand once: -m4_define([LTDL_INIT]) -])# LTDL_INIT - -# Old names: -AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) -AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) -AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIB_LTDL], []) -dnl AC_DEFUN([AC_WITH_LTDL], []) -dnl AC_DEFUN([LT_WITH_LTDL], []) - - -# _LTDL_SETUP -# ----------- -# Perform all the checks necessary for compilation of the ltdl objects -# -- including compiler checks and header checks. This is a public -# interface mainly for the benefit of libltdl's own configure.ac, most -# other users should call LTDL_INIT instead. -AC_DEFUN([_LTDL_SETUP], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl -AC_REQUIRE([LT_SYS_MODULE_PATH])dnl -AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl -AC_REQUIRE([LT_LIB_DLLOAD])dnl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl -AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl -AC_REQUIRE([LT_FUNC_ARGZ])dnl - -m4_require([_LT_CHECK_OBJDIR])dnl -m4_require([_LT_HEADER_DLFCN])dnl -m4_require([_LT_CHECK_DLPREOPEN])dnl -m4_require([_LT_DECL_SED])dnl - -dnl Don't require this, or it will be expanded earlier than the code -dnl that sets the variables it relies on: -_LT_ENABLE_INSTALL - -dnl _LTDL_MODE specific code must be called at least once: -_LTDL_MODE_DISPATCH - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). -AC_CONFIG_COMMANDS_PRE([dnl -m4_pattern_allow([^LT_CONFIG_H$])dnl -m4_ifset([AH_HEADER], - [LT_CONFIG_H=AH_HEADER], - [m4_ifset([AC_LIST_HEADERS], - [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], - [])])]) -AC_SUBST([LT_CONFIG_H]) - -AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], - [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) -AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) - -m4_pattern_allow([LT_LIBEXT])dnl -AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) - -name= -eval "lt_libprefix=\"$libname_spec\"" -m4_pattern_allow([LT_LIBPREFIX])dnl -AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" -AC_SUBST([LTDLOPEN]) -])# _LTDL_SETUP - - -# _LT_ENABLE_INSTALL -# ------------------ -m4_define([_LT_ENABLE_INSTALL], -[AC_ARG_ENABLE([ltdl-install], - [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])]) - -case ,$enable_ltdl_install,$enable_ltdl_convenience in - *yes*) ;; - *) enable_ltdl_convenience=yes ;; -esac - -m4_ifdef([AM_CONDITIONAL], -[AM_CONDITIONAL(INSTALL_LTDL, test no != "${enable_ltdl_install-no}") - AM_CONDITIONAL(CONVENIENCE_LTDL, test no != "${enable_ltdl_convenience-no}")]) -])# _LT_ENABLE_INSTALL - - -# LT_SYS_DLOPEN_DEPLIBS -# --------------------- -AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_CACHE_CHECK([whether deplibs are loaded by dlopen], - [lt_cv_sys_dlopen_deplibs], - [# PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this 'case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[[4-9]]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly* | midnightbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[[12345]]*|irix6.[[01]]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[[1234]]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say 'no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to 'yes'. Without it, it would be 'no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say 'yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - ]) -if test yes != "$lt_cv_sys_dlopen_deplibs"; then - AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], - [Define if the OS needs help to load dependent libraries for dlopen().]) -fi -])# LT_SYS_DLOPEN_DEPLIBS - -# Old name: -AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], []) - - -# LT_SYS_MODULE_EXT -# ----------------- -AC_DEFUN([LT_SYS_MODULE_EXT], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([what extension is used for runtime loadable modules], - [libltdl_cv_shlibext], -[ -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - ]) -if test -n "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_MODULE_EXT])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], - [Define to the extension used for runtime loadable modules, say, ".so".]) -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_SHARED_EXT])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], - [Define to the shared library suffix, say, ".dylib".]) -fi -if test -n "$shared_archive_member_spec"; then - m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], - [Define to the shared archive member specification, say "(shr.o)".]) -fi -])# LT_SYS_MODULE_EXT - -# Old name: -AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SHLIBEXT], []) - - -# LT_SYS_MODULE_PATH -# ------------------ -AC_DEFUN([LT_SYS_MODULE_PATH], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([what variable specifies run-time module search path], - [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) -if test -n "$lt_cv_module_path_var"; then - m4_pattern_allow([LT_MODULE_PATH_VAR])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], - [Define to the name of the environment variable that determines the run-time module search path.]) -fi -])# LT_SYS_MODULE_PATH - -# Old name: -AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SHLIBPATH], []) - - -# LT_SYS_DLSEARCH_PATH -# -------------------- -AC_DEFUN([LT_SYS_DLSEARCH_PATH], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([for the default library search path], - [lt_cv_sys_dlsearch_path], - [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path=$dir - else - sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir - fi - done - m4_pattern_allow([LT_DLSEARCH_PATH])dnl - AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], - [Define to the system default library search path.]) -fi -])# LT_SYS_DLSEARCH_PATH - -# Old name: -AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], []) - - -# _LT_CHECK_DLPREOPEN -# ------------------- -m4_defun([_LT_CHECK_DLPREOPEN], -[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], - [libltdl_cv_preloaded_symbols], - [if test -n "$lt_cv_sys_global_symbol_pipe"; then - libltdl_cv_preloaded_symbols=yes - else - libltdl_cv_preloaded_symbols=no - fi - ]) -if test yes = "$libltdl_cv_preloaded_symbols"; then - AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1], - [Define if libtool can extract symbol lists from object files.]) -fi -])# _LT_CHECK_DLPREOPEN - - -# LT_LIB_DLLOAD -# ------------- -AC_DEFUN([LT_LIB_DLLOAD], -[m4_pattern_allow([^LT_DLLOADERS$]) -LT_DLLOADERS= -AC_SUBST([LT_DLLOADERS]) - -AC_LANG_PUSH([C]) -lt_dlload_save_LIBS=$LIBS - -LIBADD_DLOPEN= -AC_SEARCH_LIBS([dlopen], [dl], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - if test "$ac_cv_search_dlopen" != "none required"; then - LIBADD_DLOPEN=-ldl - fi - libltdl_cv_lib_dl_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H -# include -#endif - ]], [[dlopen(0, 0);]])], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_CHECK_LIB([svld], [dlopen], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) -if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" -then - lt_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - AC_CHECK_FUNCS([dlerror]) - LIBS=$lt_save_LIBS -fi -AC_SUBST([LIBADD_DLOPEN]) - -LIBADD_SHL_LOAD= -AC_CHECK_FUNC([shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], - [AC_CHECK_LIB([dld], [shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD=-ldld])]) -AC_SUBST([LIBADD_SHL_LOAD]) - -case $host_os in -darwin[[1567]].*) -# We only want this for pre-Mac OS X 10.4. - AC_CHECK_FUNC([_dyld_func_lookup], - [AC_DEFINE([HAVE_DYLD], [1], - [Define if you have the _dyld_func_lookup function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | pw32*) - AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -AC_CHECK_LIB([dld], [dld_link], - [AC_DEFINE([HAVE_DLD], [1], - [Define if you have the GNU dld library.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) -AC_SUBST([LIBADD_DLD_LINK]) - -m4_pattern_allow([^LT_DLPREOPEN$]) -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - AC_DEFINE([HAVE_LIBDLLOADER], [1], - [Define if libdlloader will be built on this platform]) -fi -AC_SUBST([LT_DLPREOPEN]) - -dnl This isn't used anymore, but set it for backwards compatibility -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" -AC_SUBST([LIBADD_DL]) - -LIBS=$lt_dlload_save_LIBS -AC_LANG_POP -])# LT_LIB_DLLOAD - -# Old name: -AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_DLLIB], []) - - -# LT_SYS_SYMBOL_USCORE -# -------------------- -# does the compiler prefix global symbols with an underscore? -AC_DEFUN([LT_SYS_SYMBOL_USCORE], -[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([for _ prefix in compiled symbols], - [lt_cv_sys_symbol_underscore], - [lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.c >&AS_MESSAGE_LOG_FD - fi - rm -rf conftest* - ]) - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - AC_SUBST([sys_symbol_underscore]) -])# LT_SYS_SYMBOL_USCORE - -# Old name: -AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], []) - - -# LT_FUNC_DLSYM_USCORE -# -------------------- -AC_DEFUN([LT_FUNC_DLSYM_USCORE], -[AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext -if test yes = "$lt_cv_sys_symbol_underscore"; then - if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then - AC_CACHE_CHECK([whether we have to add an underscore for dlsym], - [libltdl_cv_need_uscore], - [libltdl_cv_need_uscore=unknown - dlsym_uscore_save_LIBS=$LIBS - LIBS="$LIBS $LIBADD_DLOPEN" - libname=conftmod # stay within 8.3 filename limits! - cat >$libname.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" -/* When -fvisibility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif -int fnord () { return 42; }] -_LT_EOF - - # ltfn_module_cmds module_cmds - # Execute tilde-delimited MODULE_CMDS with environment primed for - # $module_cmds or $archive_cmds type content. - ltfn_module_cmds () - {( # subshell avoids polluting parent global environment - module_cmds_save_ifs=$IFS; IFS='~' - for cmd in @S|@1; do - IFS=$module_cmds_save_ifs - libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext - rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. - major=; versuffix=; verstring=; deplibs= - ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= - eval $cmd - done - IFS=$module_cmds_save_ifs - )} - - # Compile a loadable module using libtool macro expansion results. - $CC $pic_flag -c $libname.$ac_ext - ltfn_module_cmds "${module_cmds:-$archive_cmds}" - - # Try to fetch fnord with dlsym(). - libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 - cat >conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" -#if HAVE_DLFCN_H -#include -#endif -#include -#ifndef RTLD_GLOBAL -# ifdef DL_GLOBAL -# define RTLD_GLOBAL DL_GLOBAL -# else -# define RTLD_GLOBAL 0 -# endif -#endif -#ifndef RTLD_NOW -# ifdef DL_NOW -# define RTLD_NOW DL_NOW -# else -# define RTLD_NOW 0 -# endif -#endif -int main () { - void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); - int status = $libltdl_dlunknown; - if (handle) { - if (dlsym (handle, "fnord")) - status = $libltdl_dlnouscore; - else { - if (dlsym (handle, "_fnord")) - status = $libltdl_dluscore; - else - puts (dlerror ()); - } - dlclose (handle); - } else - puts (dlerror ()); - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - libltdl_status=$? - case x$libltdl_status in - x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; - x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; - x*) libltdl_cv_need_uscore=unknown ;; - esac - fi - rm -rf conftest* $libname* - LIBS=$dlsym_uscore_save_LIBS - ]) - fi -fi - -if test yes = "$libltdl_cv_need_uscore"; then - AC_DEFINE([NEED_USCORE], [1], - [Define if dlsym() requires a leading underscore in symbol names.]) -fi -])# LT_FUNC_DLSYM_USCORE - -# Old name: -AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], []) diff --git a/BUILD/libtool-2.4.7/m4/ltoptions.m4 b/BUILD/libtool-2.4.7/m4/ltoptions.m4 deleted file mode 100644 index b0b5e9c..0000000 --- a/BUILD/libtool-2.4.7/m4/ltoptions.m4 +++ /dev/null @@ -1,437 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free -# Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 8 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option '$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl 'shared' nor 'disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], - [_LT_WITH_AIX_SONAME([aix])]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the 'shared' and -# 'disable-shared' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the 'static' and -# 'disable-static' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the 'fast-install' -# and 'disable-fast-install' LT_INIT options. -# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for pkg in $enableval; do - IFS=$lt_save_ifs - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the 'disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_AIX_SONAME([DEFAULT]) -# ---------------------------------- -# implement the --with-aix-soname flag, and support the `aix-soname=aix' -# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT -# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. -m4_define([_LT_WITH_AIX_SONAME], -[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl -shared_archive_member_spec= -case $host,$enable_shared in -power*-*-aix[[5-9]]*,yes) - AC_MSG_CHECKING([which variant of shared library versioning to provide]) - AC_ARG_WITH([aix-soname], - [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], - [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], - [case $withval in - aix|svr4|both) - ;; - *) - AC_MSG_ERROR([Unknown argument to --with-aix-soname]) - ;; - esac - lt_cv_with_aix_soname=$with_aix_soname], - [AC_CACHE_VAL([lt_cv_with_aix_soname], - [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) - with_aix_soname=$lt_cv_with_aix_soname]) - AC_MSG_RESULT([$with_aix_soname]) - if test aix != "$with_aix_soname"; then - # For the AIX way of multilib, we name the shared archive member - # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', - # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. - # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, - # the AIX toolchain works better with OBJECT_MODE set (default 32). - if test 64 = "${OBJECT_MODE-32}"; then - shared_archive_member_spec=shr_64 - else - shared_archive_member_spec=shr - fi - fi - ;; -*) - with_aix_soname=aix - ;; -esac - -_LT_DECL([], [shared_archive_member_spec], [0], - [Shared archive member basename, for filename based shared library versioning on AIX])dnl -])# _LT_WITH_AIX_SONAME - -LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) -LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' -# LT_INIT options. -# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, - for lt_pkg in $withval; do - IFS=$lt_save_ifs - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS=$lt_save_ifs - ;; - esac], - [pic_mode=m4_default([$1], [default])]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the 'pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/BUILD/libtool-2.4.7/m4/ltsugar.m4 b/BUILD/libtool-2.4.7/m4/ltsugar.m4 deleted file mode 100644 index 902508b..0000000 --- a/BUILD/libtool-2.4.7/m4/ltsugar.m4 +++ /dev/null @@ -1,124 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59, which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff --git a/BUILD/libtool-2.4.7/m4/ltversion.in b/BUILD/libtool-2.4.7/m4/ltversion.in deleted file mode 100644 index 52976c5..0000000 --- a/BUILD/libtool-2.4.7/m4/ltversion.in +++ /dev/null @@ -1,24 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, -# Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial @MACRO_SERIAL@ ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [@MACRO_VERSION@]) -m4_define([LT_PACKAGE_REVISION], [@MACRO_REVISION@]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='@MACRO_VERSION@' -macro_revision='@MACRO_REVISION@' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff --git a/BUILD/libtool-2.4.7/m4/ltversion.m4 b/BUILD/libtool-2.4.7/m4/ltversion.m4 deleted file mode 100644 index b155d0a..0000000 --- a/BUILD/libtool-2.4.7/m4/ltversion.m4 +++ /dev/null @@ -1,24 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, -# Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 4245 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.7]) -m4_define([LT_PACKAGE_REVISION], [2.4.7]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.7' -macro_revision='2.4.7' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff --git a/BUILD/libtool-2.4.7/m4/lt~obsolete.m4 b/BUILD/libtool-2.4.7/m4/lt~obsolete.m4 deleted file mode 100644 index 0f7a875..0000000 --- a/BUILD/libtool-2.4.7/m4/lt~obsolete.m4 +++ /dev/null @@ -1,99 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free -# Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/BUILD/libtool-2.4.7/m4/m4.m4 b/BUILD/libtool-2.4.7/m4/m4.m4 deleted file mode 100644 index c2263dd..0000000 --- a/BUILD/libtool-2.4.7/m4/m4.m4 +++ /dev/null @@ -1,83 +0,0 @@ -# m4.m4 serial 12 - -# Copyright (C) 2000, 2006-2019, 2021-2022 Free Software Foundation, -# Inc. - -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. This file is offered as-is, -# without warranty of any kind. - -# AC_PROG_GNU_M4 -# -------------- -# Check for GNU M4, at least 1.4.6 (all earlier versions had bugs in -# trace support and regexp support): -# http://lists.gnu.org/archive/html/bug-gnu-utils/2006-11/msg00096.html -# http://lists.gnu.org/archive/html/bug-autoconf/2009-07/msg00023.html -# Also, check whether --error-output (through 1.4.x) or --debugfile (2.0) -# is supported, and AC_SUBST M4_DEBUGFILE accordingly. -# Also avoid versions of m4 that trigger strstr bugs. -AC_DEFUN([AC_PROG_GNU_M4], - [AC_ARG_VAR([M4], [Location of GNU M4 1.4.6 or later. Defaults to the first - program of 'm4', 'gm4', or 'gnum4' on PATH that meets Autoconf needs.]) - AC_CACHE_CHECK([for GNU M4 that supports accurate traces], [ac_cv_path_M4], - [rm -f conftest.m4f -ac_had_posixly_correct=${POSIXLY_CORRECT:+yes} -AS_UNSET([POSIXLY_CORRECT]) -AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4 gnum4], - [dnl Creative quoting here to avoid raw dnl and ifdef in configure. - # Root out GNU M4 1.4.5, as well as non-GNU m4 that ignore -t, -F. - # Root out GNU M4 1.4.15 with buggy false negative replacement strstr. - # Root out Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 with buggy - # false positive strstr. - ac_snippet=change'quote(<,>)in''dir(,mac,bug)' - ac_snippet=${ac_snippet}pat'subst(a,\(b\)\|\(a\),\1)d'nl - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(..wi.d.,.d.),-1,bug)' - ac_snippet=$ac_snippet${as_nl}if'else(in''dex(dnl -;:11-:12-:12-:12-:12-:12-:12-:12-:12.:12.:12.:12.:12.:12.:12.:12.:12-,dnl -:12-:12-:12-:12-:12-:12-:12-:12-),-1,,strstr-bug2)' - test -z "`$ac_path_M4 -F conftest.m4f &1`" \ - && test -z "`AS_ECHO([$ac_snippet]) | $ac_path_M4 --trace=mac 2>&1`" \ - && test -f conftest.m4f \ - && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: - rm -f conftest.m4f], - [AC_MSG_ERROR([no acceptable m4 could be found in \$PATH. -GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. -GNU M4 1.4.15 uses a buggy replacement strstr on some systems. -Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.])])]) - M4=$ac_cv_path_M4 - AC_CACHE_CHECK([whether $ac_cv_path_M4 accepts --gnu], - [ac_cv_prog_gnu_m4_gnu], - [case `$M4 --help < /dev/null 2>&1` in - *--gnu*) ac_cv_prog_gnu_m4_gnu=yes ;; - *) ac_cv_prog_gnu_m4_gnu=no ;; - esac]) - if test yes = "$ac_cv_prog_gnu_m4_gnu"; then - M4_GNU=--gnu - else - M4_GNU= - fi - AC_SUBST([M4_GNU]) - if test yes = "$ac_had_posixly_correct"; then - POSIXLY_CORRECT=: - if test no = $ac_cv_prog_gnu_m4_gnu; then - AC_MSG_WARN([the version of M4 that was found does not support -g]) - AC_MSG_WARN([using it with POSIXLY_CORRECT set may cause problems]) - fi - fi - AC_CACHE_CHECK([how m4 supports trace files], [ac_cv_prog_gnu_m4_debugfile], - [case `$M4 --help < /dev/null 2>&1` in - *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;; - *) ac_cv_prog_gnu_m4_debugfile=--error-output ;; - esac]) - AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile]) -]) - -# Compatibility for bootstrapping with Autoconf 2.61. -dnl FIXME - replace this with AC_PREREQ([2.62]) after the release. -# AC_PATH_PROGS_FEATURE_CHECK was added the same time the slightly broken, -# undocumented _AC_PATH_PROG_FEATURE_CHECK was deleted. -m4_ifndef([AC_PATH_PROGS_FEATURE_CHECK], - [m4_define([AC_PATH_PROGS_FEATURE_CHECK], - [_AC_PATH_PROG_FEATURE_CHECK([$1], [$2], [$3], [$5]) -])]) diff --git a/BUILD/libtool-2.4.7/m4/zzgnulib.m4 b/BUILD/libtool-2.4.7/m4/zzgnulib.m4 deleted file mode 100644 index fd73a20..0000000 --- a/BUILD/libtool-2.4.7/m4/zzgnulib.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# zzgnulib.m4 serial 1 -dnl Copyright (C) 2020-2022 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This file must be named something that sorts after all other -dnl package- or gnulib-provided .m4 files - at least for those packages -dnl that redefine AC_PROG_CC. - -dnl Redefine AC_PROG_CC so that it ends with invocations of gl_COMPILER_CLANG -dnl and gl_COMPILER_PREPARE_CHECK_DECL. -m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[ -gl_COMPILER_CLANG -gl_COMPILER_PREPARE_CHECK_DECL -]) - -# gl_ZZGNULIB -# ----------- -# Witness macro that this file has been included. Needed to force -# Automake to include this file after all other gnulib .m4 files. -AC_DEFUN([gl_ZZGNULIB]) diff --git a/BUILD/libtool-2.4.7/maint.mk b/BUILD/libtool-2.4.7/maint.mk deleted file mode 100644 index 92cef42..0000000 --- a/BUILD/libtool-2.4.7/maint.mk +++ /dev/null @@ -1,1778 +0,0 @@ -# -*-Makefile-*- -# This Makefile fragment tries to be general-purpose enough to be -# used by many projects via the gnulib maintainer-makefile module. - -## Copyright (C) 2001-2022 Free Software Foundation, Inc. -## -## This program is free software: you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 3 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program. If not, see . - -# This is reported not to work with make-3.79.1 -# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) -ME := maint.mk - -# These variables ought to be defined through the configure.ac section -# of the module description. But some packages import this file directly, -# ignoring the module description. -AWK ?= awk -GREP ?= grep -SED ?= sed - -# Helper variables. -_empty = -_sp = $(_empty) $(_empty) - -# _equal,S1,S2 -# ------------ -# If S1 == S2, return S1, otherwise the empty string. -_equal = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) - -# member-check,VARIABLE,VALID-VALUES -# ---------------------------------- -# Check that $(VARIABLE) is in the space-separated list of VALID-VALUES, and -# return it. Die otherwise. -member-check = \ - $(strip \ - $(if $($(1)), \ - $(if $(findstring $(_sp),$($(1))), \ - $(error invalid $(1): '$($(1))', expected $(2)), \ - $(or $(findstring $(_sp)$($(1))$(_sp),$(_sp)$(2)$(_sp)), \ - $(error invalid $(1): '$($(1))', expected $(2)))), \ - $(error $(1) undefined))) - -# Do not save the original name or timestamp in the .tar.gz file. -# Use --rsyncable if available. -gzip_rsyncable := \ - $(shell gzip --help 2>/dev/null|$(GREP) rsyncable >/dev/null \ - && printf %s --rsyncable) -GZIP_ENV = '--no-name --best $(gzip_rsyncable)' - -GIT = git -VC = $(GIT) - -VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir) - -# You can override this variable in cfg.mk if your gnulib submodule lives -# in a different location. -gnulib_dir ?= $(shell if test -f $(srcdir)/gnulib/gnulib-tool; then \ - echo $(srcdir)/gnulib; \ - else \ - echo ${GNULIB_SRCDIR}; \ - fi) - -# You can override this variable in cfg.mk to set your own regexp -# matching files to ignore. -VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$ - -# This is to preprocess robustly the output of $(VC_LIST), so that even -# when $(srcdir) is a pathological name like "....", the leading sed command -# removes only the intended prefix. -_dot_escaped_srcdir = $(subst .,\.,$(srcdir)) - -# Post-process $(VC_LIST) output, prepending $(srcdir)/, but only -# when $(srcdir) is not ".". -ifeq ($(srcdir),.) - _prepend_srcdir_prefix = -else - _prepend_srcdir_prefix = | $(SED) 's|^|$(srcdir)/|' -endif - -# In order to be able to consistently filter "."-relative names, -# (i.e., with no $(srcdir) prefix), this definition is careful to -# remove any $(srcdir) prefix, and to restore what it removes. -_sc_excl = \ - $(or $(exclude_file_name_regexp--$@),^$$) -VC_LIST_EXCEPT = \ - $(VC_LIST) | $(SED) 's|^$(_dot_escaped_srcdir)/||' \ - | if test -f $(srcdir)/.x-$@; then $(GREP) -vEf $(srcdir)/.x-$@; \ - else $(GREP) -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \ - | $(GREP) -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \ - $(_prepend_srcdir_prefix) - -ifeq ($(origin prev_version_file), undefined) - prev_version_file = $(srcdir)/.prev-version -endif - -PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null) -VERSION_REGEXP = $(subst .,\.,$(VERSION)) -PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) - -ifeq ($(VC),$(GIT)) - this-vc-tag = v$(VERSION) - this-vc-tag-regexp = v$(VERSION_REGEXP) -else - tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') - tag-this-version = $(subst .,_,$(VERSION)) - this-vc-tag = $(tag-package)-$(tag-this-version) - this-vc-tag-regexp = $(this-vc-tag) -endif -my_distdir = $(PACKAGE)-$(VERSION) - -# Old releases are stored here. -release_archive_dir ?= ../release - -# If RELEASE_TYPE is undefined, but RELEASE is, use its second word. -# But overwrite VERSION. -ifdef RELEASE - VERSION := $(word 1, $(RELEASE)) - RELEASE_TYPE ?= $(word 2, $(RELEASE)) -endif - -# Validate and return $(RELEASE_TYPE), or die. -RELEASE_TYPES = alpha beta stable -release-type = $(call member-check,RELEASE_TYPE,$(RELEASE_TYPES)) - -# Override gnu_rel_host and url_dir_list in cfg.mk if these are not right. -# Use alpha.gnu.org for alpha and beta releases. -# Use ftp.gnu.org for stable releases. -gnu_ftp_host-alpha = alpha.gnu.org -gnu_ftp_host-beta = alpha.gnu.org -gnu_ftp_host-stable = ftp.gnu.org -gnu_rel_host ?= $(gnu_ftp_host-$(release-type)) - -url_dir_list ?= $(if $(call _equal,$(gnu_rel_host),ftp.gnu.org), \ - https://ftpmirror.gnu.org/$(PACKAGE), \ - https://$(gnu_rel_host)/gnu/$(PACKAGE)) - -# Override this in cfg.mk if you are using a different format in your -# NEWS file. -today = $(shell date +%Y-%m-%d) - -# Select which lines of NEWS are searched for $(news-check-regexp). -# This is a sed line number spec. The default says that we search -# lines 1..10 of NEWS for $(news-check-regexp). -# If you want to search only line 3 or only lines 20-22, use "3" or "20,22". -news-check-lines-spec ?= 1,10 -news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)' - -# Prevent programs like 'sort' from considering distinct strings to be equal. -# Doing it here saves us from having to set LC_ALL elsewhere in this file. -export LC_ALL = C - -## --------------- ## -## Sanity checks. ## -## --------------- ## - -ifneq ($(_gl-Makefile),) -_cfg_mk := $(wildcard $(srcdir)/cfg.mk) - -# Collect the names of rules starting with 'sc_'. -syntax-check-rules := $(sort $(shell env LC_ALL=C $(SED) -n \ - 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(srcdir)/$(ME) $(_cfg_mk))) -.PHONY: $(syntax-check-rules) - -ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0) - local-checks-available += $(syntax-check-rules) -else - local-checks-available += no-vc-detected -no-vc-detected: - @echo "No version control files detected; skipping syntax check" -endif -.PHONY: $(local-checks-available) - -# Arrange to print the name of each syntax-checking rule just before running it. -$(syntax-check-rules): %: %.m -sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules)) -.PHONY: $(sc_m_rules_) -$(sc_m_rules_): - @echo $(patsubst sc_%.m, %, $@) - @date +%s.%N > .sc-start-$(basename $@) - -# Compute and print the elapsed time for each syntax-check rule. -sc_z_rules_ = $(patsubst %, %.z, $(syntax-check-rules)) -.PHONY: $(sc_z_rules_) -$(sc_z_rules_): %.z: % - @end=$$(date +%s.%N); \ - start=$$(cat .sc-start-$*); \ - rm -f .sc-start-$*; \ - $(AWK) -v s=$$start -v e=$$end \ - 'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null - -# The patsubst here is to replace each sc_% rule with its sc_%.z wrapper -# that computes and prints elapsed time. -local-check := \ - $(patsubst sc_%, sc_%.z, \ - $(filter-out $(local-checks-to-skip), $(local-checks-available))) - -syntax-check: $(local-check) -endif - -# _sc_search_regexp -# -# This macro searches for a given construct in the selected files and -# then takes some action. -# -# Parameters (shell variables): -# -# prohibit | require -# -# Regular expression (ERE) denoting either a forbidden construct -# or a required construct. Those arguments are exclusive. -# -# exclude -# -# Regular expression (ERE) denoting lines to ignore that matched -# a prohibit construct. For example, this can be used to exclude -# comments that mention why the nearby code uses an alternative -# construct instead of the simpler prohibited construct. -# -# in_vc_files | in_files -# -# grep-E-style regexp selecting the files to check. For in_vc_files, -# the regexp is used to select matching files from the list of all -# version-controlled files; for in_files, it's from the names printed -# by "find $(srcdir)". When neither is specified, use all files that -# are under version control. -# -# containing | non_containing -# -# Select the files (non) containing strings matching this regexp. -# If both arguments are specified then CONTAINING takes -# precedence. -# -# with_grep_options -# -# Extra options for grep. -# -# ignore_case -# -# Ignore case. -# -# halt -# -# Message to display before to halting execution. -# -# Finally, you may exempt files based on an ERE matching file names. -# For example, to exempt from the sc_space_tab check all files with the -# .diff suffix, set this Make variable: -# -# exclude_file_name_regexp--sc_space_tab = \.diff$ -# -# Note that while this functionality is mostly inherited via VC_LIST_EXCEPT, -# when filtering by name via in_files, we explicitly filter out matching -# names here as well. - -# Initialize each, so that envvar settings cannot interfere. -export require = -export prohibit = -export exclude = -export in_vc_files = -export in_files = -export containing = -export non_containing = -export halt = -export with_grep_options = - -# By default, _sc_search_regexp does not ignore case. -export ignore_case = -_ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :) - -define _sc_say_and_exit - dummy=; : so we do not need a semicolon before each use; \ - { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; }; -endef - -define _sc_search_regexp - dummy=; : so we do not need a semicolon before each use; \ - \ - : Check arguments; \ - test -n "$$prohibit" && test -n "$$require" \ - && { msg='Cannot specify both prohibit and require' \ - $(_sc_say_and_exit) } || :; \ - test -z "$$prohibit" && test -z "$$require" \ - && { msg='Should specify either prohibit or require' \ - $(_sc_say_and_exit) } || :; \ - test -z "$$prohibit" && test -n "$$exclude" \ - && { msg='Use of exclude requires a prohibit pattern' \ - $(_sc_say_and_exit) } || :; \ - test -n "$$in_vc_files" && test -n "$$in_files" \ - && { msg='Cannot specify both in_vc_files and in_files' \ - $(_sc_say_and_exit) } || :; \ - test "x$$halt" != x \ - || { msg='halt not defined' $(_sc_say_and_exit) }; \ - \ - : Filter by file name; \ - if test -n "$$in_files"; then \ - files=$$(find $(srcdir) | $(GREP) -E "$$in_files" \ - | $(GREP) -Ev '$(_sc_excl)'); \ - else \ - files=$$($(VC_LIST_EXCEPT)); \ - if test -n "$$in_vc_files"; then \ - files=$$(echo "$$files" | $(GREP) -E "$$in_vc_files"); \ - fi; \ - fi; \ - \ - : Filter by content; \ - test -n "$$files" \ - && test -n "$$containing" \ - && { files=$$(echo "$$files" | xargs $(GREP) -l "$$containing"); } \ - || :; \ - test -n "$$files" \ - && test -n "$$non_containing" \ - && { files=$$(echo "$$files" | xargs $(GREP) -vl "$$non_containing"); } \ - || :; \ - \ - : Check for the construct; \ - if test -n "$$files"; then \ - if test -n "$$prohibit"; then \ - echo "$$files" \ - | xargs $(GREP) $$with_grep_options $(_ignore_case) -nE \ - "$$prohibit" /dev/null \ - | $(GREP) -vE "$${exclude:-^$$}" \ - && { msg="$$halt" $(_sc_say_and_exit) } \ - || :; \ - else \ - echo "$$files" \ - | xargs \ - $(GREP) $$with_grep_options $(_ignore_case) -LE "$$require" \ - | $(GREP) . \ - && { msg="$$halt" $(_sc_say_and_exit) } \ - || :; \ - fi \ - else :; \ - fi || :; -endef - -sc_avoid_if_before_free: - @$(VC_LIST_EXCEPT) \ - | $(GREP) -v useless-if-before-free \ - | xargs \ - $(srcdir)/$(_build-aux)/useless-if-before-free \ - $(useless_free_options) \ - && { printf '$(ME): found useless "if"' \ - ' before "free" above\n' 1>&2; \ - exit 1; } \ - || : - -sc_cast_of_argument_to_free: - @prohibit='\/dev/null 2>&1; then \ - (cd $(srcdir) && autoconf --trace AC_CONFIG_FILES:'$$1') | \ - tr ' ' '\n' | \ - $(SED) -ne '/Makefile/{s/\.in$$//;p;}' | \ - while read m; do \ - $(MAKE) -qp -f $$m .DUMMY-TARGET 2>/dev/null | \ - $(AWK) -v file=$$m -e '$($@_awk_)' || exit 1; \ - done; \ - fi - -# Using EXIT_SUCCESS as the first argument to error is misleading, -# since when that parameter is 0, error does not exit. Use '0' instead. -sc_error_exit_success: - @prohibit='error *\(EXIT_SUCCESS,' \ - in_vc_files='\.[chly]$$' \ - halt='found error (EXIT_SUCCESS' \ - $(_sc_search_regexp) - -# "FATAL:" should be fully upper-cased in error messages -# "WARNING:" should be fully upper-cased, or fully lower-cased -sc_error_message_warn_fatal: - @$(VC_LIST_EXCEPT) \ - | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \ - | $(GREP) -E '"Warning|"Fatal|"fatal' \ - && { echo '$(ME): use FATAL, WARNING or warning' 1>&2; \ - exit 1; } \ - || : - -# Error messages should not start with a capital letter -sc_error_message_uppercase: - @$(VC_LIST_EXCEPT) \ - | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \ - | $(GREP) -E '"[A-Z]' \ - | $(GREP) -vE '"FATAL|"WARNING|"Java|"C#|"PRI' \ - && { echo '$(ME): found capitalized error message' 1>&2; \ - exit 1; } \ - || : - -# Error messages should not end with a period -sc_error_message_period: - @$(VC_LIST_EXCEPT) \ - | xargs $(GREP) -nEA2 '[^rp]error *\(' /dev/null \ - | $(GREP) -E '[^."]\."' \ - && { echo '$(ME): found error message ending in period' 1>&2; \ - exit 1; } \ - || : - -sc_file_system: - @prohibit=file''system \ - exclude='/proc/filesystems' \ - ignore_case=1 \ - halt='found use of "file''system"; spell it "file system"' \ - $(_sc_search_regexp) - -# Don't use cpp tests of this symbol. All code assumes config.h is included. -sc_prohibit_have_config_h: - @prohibit='^# *if.*HAVE''_CONFIG_H' \ - halt='found use of HAVE''_CONFIG_H; remove' \ - $(_sc_search_regexp) - -# Nearly all .c files must include . However, we also permit this -# via inclusion of a package-specific header, if cfg.mk specified one. -# config_h_header must be suitable for grep -E. -config_h_header ?= -sc_require_config_h: - @require='^# *include $(config_h_header)' \ - in_vc_files='\.c$$' \ - halt='the above files do not include ' \ - $(_sc_search_regexp) - -# Print each file name for which the first #include does not match -# $(config_h_header). Like grep -m 1, this only looks at the first match. -perl_config_h_first_ = \ - -e 'BEGIN {$$ret = 0}' \ - -e 'if (/^\# *include\b/) {' \ - -e ' if (not m{^\# *include $(config_h_header)}) {' \ - -e ' print "$$ARGV\n";' \ - -e ' $$ret = 1;' \ - -e ' }' \ - -e ' \# Move on to next file after first include' \ - -e ' close ARGV;' \ - -e '}' \ - -e 'END {exit $$ret}' - -# You must include before including any other header file. -# This can possibly be via a package-specific header, if given by cfg.mk. -sc_require_config_h_first: - @if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \ - files=$$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$') && \ - perl -n $(perl_config_h_first_) $$files || \ - { echo '$(ME): the above files include some other header' \ - 'before ' 1>&2; exit 1; } || :; \ - else :; \ - fi - -sc_prohibit_HAVE_MBRTOWC: - @prohibit='\bHAVE_MBRTOWC\b' \ - halt="do not use $$prohibit; it is always defined" \ - $(_sc_search_regexp) - -# To use this "command" macro, you must first define two shell variables: -# h: the header name, with no enclosing <> or "" -# re: a regular expression that matches IFF something provided by $h is used. -define _sc_header_without_use - dummy=; : so we do not need a semicolon before each use; \ - h_esc=`echo '[<"]'"$$h"'[">]'|$(SED) 's/\./\\\\./g'`; \ - if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \ - files=$$($(GREP) -l '^# *include '"$$h_esc" \ - $$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$')) && \ - $(GREP) -LE "$$re" $$files | $(GREP) . && \ - { echo "$(ME): the above files include $$h but don't use it" \ - 1>&2; exit 1; } || :; \ - else :; \ - fi -endef - -# Prohibit the inclusion of assert.h without an actual use of assert. -sc_prohibit_assert_without_use: - @h='assert.h' re='\new(file => "/dev/stdin")->as_string'|sed 's/\?://g' -# Note this was produced by the above: -# _xa1 = \ -#x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup) -# But we can do better, in at least two ways: -# 1) take advantage of two "dup"-suffixed strings: -# x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup) -# 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable -# "char|[cmz]" -# x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) -_xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) -_xa2 = X([CZ]|N?M)ALLOC -sc_prohibit_xalloc_without_use: - @h='xalloc.h' \ - re='\<($(_xa1)|$(_xa2)) *\('\ - $(_sc_header_without_use) - -# Extract function names: -# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h -_hash_re = \ -clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning -_hash_fn = \<($(_hash_re)) *\( -_hash_struct = (struct )?\<[Hh]ash_(table|tuning)\> -sc_prohibit_hash_without_use: - @h='hash.h' \ - re='$(_hash_fn)|$(_hash_struct)'\ - $(_sc_header_without_use) - -sc_prohibit_cloexec_without_use: - @h='cloexec.h' re='\<(set_cloexec_flag|dup_cloexec) *\(' \ - $(_sc_header_without_use) - -sc_prohibit_posixver_without_use: - @h='posixver.h' re='\' \ - halt='do not use HAVE''_FCNTL_H or O'_NDELAY \ - $(_sc_search_regexp) - -# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ - -# Each nonempty ChangeLog line must start with a year number, or a TAB. -sc_changelog: - @prohibit='^[^12 ]' \ - in_vc_files='^ChangeLog$$' \ - halt='found unexpected prefix in a ChangeLog' \ - $(_sc_search_regexp) - -# Ensure that each .c file containing a "main" function also -# calls bindtextdomain. -sc_bindtextdomain: - @require='bindtextdomain *\(' \ - in_vc_files='\.c$$' \ - containing='\
/dev/null \ - && : || { die=1; echo $$i; } \ - done; \ - test $$die = 1 && \ - { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ - echo 1>&2 'Exit something'; \ - exit 1; } || :; \ - fi - -sc_trailing_blank: - @prohibit='[ ]$$' \ - halt='found trailing blank(s)' \ - exclude='^Binary file .* matches$$' \ - $(_sc_search_regexp) - -# Match lines like the following, but where there is only one space -# between the options and the description: -# -D, --all-repeated[=delimit-method] print all duplicate lines\n -longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? -sc_two_space_separator_in_usage: - @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ - halt='help2man requires at least two spaces between an option and its description'\ - $(_sc_search_regexp) - -# A regexp matching function names like "error" that may be used -# to emit translatable messages. -_gl_translatable_diag_func_re ?= error - -# Look for diagnostics that aren't marked for translation. -# This won't find any for which error's format string is on a separate line. -sc_unmarked_diagnostics: - @prohibit='\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \ - exclude='(_|ngettext ?)\(' \ - halt='found unmarked diagnostic(s)' \ - $(_sc_search_regexp) - -# Avoid useless parentheses like those in this example: -# #if defined (SYMBOL) || defined (SYM2) -sc_useless_cpp_parens: - @prohibit='^# *if .*defined *\(' \ - halt='found useless parentheses in cpp directive' \ - $(_sc_search_regexp) - -# List headers for which HAVE_HEADER_H is always true, assuming you are -# using the appropriate gnulib module. CAUTION: for each "unnecessary" -# #if HAVE_HEADER_H that you remove, be sure that your project explicitly -# requires the gnulib module that guarantees the usability of that header. -gl_assured_headers_ = \ - cd $(gnulib_dir)/lib && echo *.in.h|$(SED) 's/\.in\.h//g' - -# Convert the list of names to upper case, and replace each space with "|". -az_ = abcdefghijklmnopqrstuvwxyz -AZ_ = ABCDEFGHIJKLMNOPQRSTUVWXYZ -gl_header_upper_case_or_ = \ - $$($(gl_assured_headers_) \ - | tr $(az_)/.- $(AZ_)___ \ - | tr -s ' ' '|' \ - ) -sc_prohibit_always_true_header_tests: - @or=$(gl_header_upper_case_or_); \ - re="HAVE_($$or)_H"; \ - prohibit='\<'"$$re"'\>' \ - halt=$$(printf '%s\n' \ - 'do not test the above HAVE_
_H symbol(s);' \ - ' with the corresponding gnulib module, they are always true') \ - $(_sc_search_regexp) - -sc_prohibit_defined_have_decl_tests: - @prohibit='(#[ ]*ifn?def|\[ (]+HAVE_DECL_' \ - halt='HAVE_DECL macros are always defined' \ - $(_sc_search_regexp) - -# ================================================================== -gl_other_headers_ ?= \ - intprops.h \ - openat.h \ - stat-macros.h - -# Perl -lne code to extract "significant" cpp-defined symbols from a -# gnulib header file, eliminating a few common false-positives. -# The exempted names below are defined only conditionally in gnulib, -# and hence sometimes must/may be defined in application code. -gl_extract_significant_defines_ = \ - /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\ - && $$2 !~ /(?:rpl_|_used_without_)/\ - && $$1 !~ /^(?:NSIG|ENODATA)$$/\ - && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\ - and print $$1 - -# Create a list of regular expressions matching the names -# of macros that are guaranteed to be defined by parts of gnulib. -define def_sym_regex - gen_h=$(gl_generated_headers_); \ - (cd $(gnulib_dir)/lib; \ - for f in *.in.h $(gl_other_headers_); do \ - test -f $$f \ - && perl -lne '$(gl_extract_significant_defines_)' $$f; \ - done; \ - ) | sort -u \ - | $(SED) 's/^/^ *# *(define|undef) */;s/$$/\\>/' -endef - -# Don't define macros that we already get from gnulib header files. -sc_prohibit_always-defined_macros: - @if test -d $(gnulib_dir); then \ - case $$(echo all: | $(GREP) -l -f - Makefile) in Makefile);; *) \ - echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \ - esac; \ - regex=$$($(def_sym_regex)); export regex; \ - $(VC_LIST_EXCEPT) \ - | xargs sh -c 'echo $$regex | $(GREP) -E -f - "$$@"' \ - dummy /dev/null \ - && { printf '$(ME): define the above' \ - ' via some gnulib .h file\n' 1>&2; \ - exit 1; } \ - || :; \ - fi -# ================================================================== - -# Prohibit checked in backup files. -sc_prohibit_backup_files: - @$(VC_LIST) | $(GREP) '~$$' && \ - { echo '$(ME): found version controlled backup file' 1>&2; \ - exit 1; } || : - -# Require the latest GPL. -sc_GPL_version: - @prohibit='either ''version [^3]' \ - halt='GPL vN, N!=3' \ - $(_sc_search_regexp) - -# Require the latest GFDL. Two regexp, since some .texi files end up -# line wrapping between 'Free Documentation License,' and 'Version'. -_GFDL_regexp = (Free ''Documentation.*Version 1\.[^3]|Version 1\.[^3] or any) -sc_GFDL_version: - @prohibit='$(_GFDL_regexp)' \ - halt='GFDL vN, N!=3' \ - $(_sc_search_regexp) - -# Don't use Texinfo's @acronym{}. -# https://lists.gnu.org/r/bug-gnulib/2010-03/msg00321.html -texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$ -sc_texinfo_acronym: - @prohibit='@acronym\{' \ - in_vc_files='$(texinfo_suffix_re_)' \ - halt='found use of Texinfo @acronym{}' \ - $(_sc_search_regexp) - -cvs_keywords = \ - Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State - -sc_prohibit_cvs_keyword: - @prohibit='\$$($(cvs_keywords))\$$' \ - halt='do not use CVS keyword expansion' \ - $(_sc_search_regexp) - -# This Perl code is slightly obfuscated. Not only is each "$" doubled -# because it's in a Makefile, but the $$c's are comments; we cannot -# use "#" due to the way the script ends up concatenated onto one line. -# It would be much more concise, and would produce better output (including -# counts) if written as: -# perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV: ".length $1' ... -# but that would be far less efficient, reading the entire contents -# of each file, rather than just the last two bytes of each. -# In addition, while the code below detects both blank lines and a missing -# newline at EOF, the above detects only the former. -# -# This is a perl script that is expected to be the single-quoted argument -# to a command-line "-le". The remaining arguments are file names. -# Print the name of each file that does not end in exactly one newline byte. -# I.e., warn if there are blank lines (2 or more newlines), or if the -# last byte is not a newline. However, currently we don't complain -# about any file that contains exactly one byte. -# Exit nonzero if at least one such file is found, otherwise, exit 0. -# Warn about, but otherwise ignore open failure. Ignore seek/read failure. -# -# Use this if you want to remove trailing empty lines from selected files: -# perl -pi -0777 -e 's/\n\n+$/\n/' files... -# -require_exactly_one_NL_at_EOF_ = \ - foreach my $$f (@ARGV) \ - { \ - open F, "<", $$f or (warn "failed to open $$f: $$!\n"), next; \ - my $$p = sysseek (F, -2, 2); \ - my $$c = "seek failure probably means file has < 2 bytes; ignore"; \ - my $$last_two_bytes; \ - defined $$p and $$p = sysread F, $$last_two_bytes, 2; \ - close F; \ - $$c = "ignore read failure"; \ - $$p && ($$last_two_bytes eq "\n\n" \ - || substr ($$last_two_bytes,1) ne "\n") \ - and (print $$f), $$fail=1; \ - } \ - END { exit defined $$fail } -sc_prohibit_empty_lines_at_EOF: - @$(VC_LIST_EXCEPT) \ - | xargs perl -le '$(require_exactly_one_NL_at_EOF_)' \ - || { echo '$(ME): empty line(s) or no newline at EOF' 1>&2; \ - exit 1; } \ - || : - -# Make sure we don't use st_blocks. Use ST_NBLOCKS instead. -# This is a bit of a kludge, since it prevents use of the string -# even in comments, but for now it does the job with no false positives. -sc_prohibit_stat_st_blocks: - @prohibit='[.>]st_blocks' \ - halt='do not use st_blocks; use ST_NBLOCKS' \ - $(_sc_search_regexp) - -# Make sure we don't define any S_IS* macros in src/*.c files. -# They're already defined via gnulib's sys/stat.h replacement. -sc_prohibit_S_IS_definition: - @prohibit='^ *# *define *S_IS' \ - halt='do not define S_IS* macros; include ' \ - $(_sc_search_regexp) - -# Perl block to convert a match to FILE_NAME:LINENO:TEST, -# that is shared by two definitions below. -perl_filename_lineno_text_ = \ - -e ' {' \ - -e ' $$n = ($$` =~ tr/\n/\n/ + 1);' \ - -e ' ($$v = $$&) =~ s/\n/\\n/g;' \ - -e ' print "$$ARGV:$$n:$$v\n";' \ - -e ' }' - -prohibit_doubled_words_ = \ - the then in an on if is it but for or at and do to can -# expand the regex before running the check to avoid using expensive captures -prohibit_doubled_word_expanded_ = \ - $(join $(prohibit_doubled_words_),$(addprefix \s+,$(prohibit_doubled_words_))) -prohibit_doubled_word_RE_ ?= \ - /\b(?:$(subst $(_sp),|,$(prohibit_doubled_word_expanded_)))\b/gims -prohibit_doubled_word_ = \ - -e 'while ($(prohibit_doubled_word_RE_))' \ - $(perl_filename_lineno_text_) - -# Define this to a regular expression that matches -# any filename:dd:match lines you want to ignore. -# The default is to ignore no matches. -ignore_doubled_word_match_RE_ ?= ^$$ - -sc_prohibit_doubled_word: - @$(VC_LIST_EXCEPT) \ - | xargs perl -n -0777 $(prohibit_doubled_word_) \ - | $(GREP) -vE '$(ignore_doubled_word_match_RE_)' \ - | $(GREP) . \ - && { echo '$(ME): doubled words' 1>&2; exit 1; } \ - || : - -# A regular expression matching undesirable combinations of words like -# "can not"; this matches them even when the two words appear on different -# lines, but not when there is an intervening delimiter like "#" or "*". -# Similarly undesirable, "See @xref{...}", since an @xref should start -# a sentence. Explicitly prohibit any prefix of "see" or "also". -# Also prohibit a prefix matching "\w+ +". -# @pxref gets the same see/also treatment and should be parenthesized; -# presume it must *not* start a sentence. -# POSIX spells it "timestamp" rather than "time\s+stamp", so we do, too. -bad_xref_re_ ?= (?:[\w,:;] +|(?:see|also)\s+)\@xref\{ -bad_pxref_re_ ?= (?:[.!?]|(?:see|also))\s+\@pxref\{ -prohibit_undesirable_word_seq_RE_ ?= \ - /(?:\bcan\s+not\b|\btime\s+stamps?\b|$(bad_xref_re_)|$(bad_pxref_re_))/gims -prohibit_undesirable_word_seq_ = \ - -e 'while ($(prohibit_undesirable_word_seq_RE_))' \ - $(perl_filename_lineno_text_) -# Define this to a regular expression that matches -# any filename:dd:match lines you want to ignore. -# The default is to ignore no matches. -ignore_undesirable_word_sequence_RE_ ?= ^$$ - -sc_prohibit_undesirable_word_seq: - @$(VC_LIST_EXCEPT) \ - | xargs perl -n -0777 $(prohibit_undesirable_word_seq_) \ - | $(GREP) -vE '$(ignore_undesirable_word_sequence_RE_)' \ - | $(GREP) . \ - && { echo '$(ME): undesirable word sequence' >&2; exit 1; } \ - || : - -# Except for shell files and for loops, double semicolon is probably a mistake -sc_prohibit_double_semicolon: - @prohibit='; *;[ {} \]*(/[/*]|$$)' \ - in_vc_files='\.[chly]$$' \ - exclude='\bfor *\(.*\)' \ - halt="Double semicolon detected" \ - $(_sc_search_regexp) - -_ptm1 = use "test C1 && test C2", not "test C1 -''a C2" -_ptm2 = use "test C1 || test C2", not "test C1 -''o C2" -# Using test's -a and -o operators is not portable. -# We prefer test over [, since the latter is spelled [[ in configure.ac. -sc_prohibit_test_minus_ao: - @prohibit='(\ /dev/null \ - || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ - done; \ - test $$fail = 1 && \ - { echo 1>&2 '$(ME): the above do not link with any ICONV library'; \ - exit 1; } || :; \ - fi - -# Warn about "c0nst struct Foo const foo[]", -# but not about "char const *const foo" or "#define const const". -sc_redundant_const: - @prohibit='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \ - halt='redundant "const" in declarations' \ - $(_sc_search_regexp) - -sc_const_long_option: - @prohibit='^ *static.*struct option ' \ - exclude='const struct option|struct option const' \ - halt='add "const" to the above declarations' \ - $(_sc_search_regexp) - -NEWS_hash = \ - $$($(SED) -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ - $(srcdir)/NEWS \ - | perl -0777 -pe \ - 's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms' \ - | md5sum - \ - | $(SED) 's/ .*//') - -# Ensure that we don't accidentally insert an entry into an old NEWS block. -sc_immutable_NEWS: - @if test -f $(srcdir)/NEWS; then \ - test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ - { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ - fi - -# Update the hash stored above. Do this after each release and -# for any corrections to old entries. -update-NEWS-hash: NEWS - perl -pi -e 's/^(old_NEWS_hash[ \t]+:?=[ \t]+).*/$${1}'"$(NEWS_hash)/" \ - $(srcdir)/cfg.mk - -# Ensure that we use only the standard $(VAR) notation, -# not @...@ in Makefile.am, now that we can rely on automake -# to emit a definition for each substituted variable. -# However, there is still one case in which @VAR@ use is not just -# legitimate, but actually required: when augmenting an automake-defined -# variable with a prefix. For example, gettext uses this: -# MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@ -# otherwise, makeinfo would put German or French (current locale) -# navigation hints in the otherwise-English documentation. -# -# Allow the package to add exceptions via a hook in cfg.mk; -# for example, @PRAGMA_SYSTEM_HEADER@ can be permitted by -# setting this to ' && !/PRAGMA_SYSTEM_HEADER/'. -_makefile_at_at_check_exceptions ?= -sc_makefile_at_at_check: - @perl -ne '/\@\w+\@/' \ - -e ' && !/(\w+)\s+=.*\@\1\@$$/' \ - -e ''$(_makefile_at_at_check_exceptions) \ - -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \ - $$($(VC_LIST_EXCEPT) | $(GREP) -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \ - && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : - -news-check: NEWS - $(AM_V_GEN)if $(SED) -n $(news-check-lines-spec)p $< \ - | $(GREP) -E $(news-check-regexp) >/dev/null; then \ - :; \ - else \ - echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \ - exit 1; \ - fi - -sc_makefile_TAB_only_indentation: - @prohibit='^ [ ]{8}' \ - in_vc_files='akefile|\.mk$$' \ - halt='found TAB-8-space indentation' \ - $(_sc_search_regexp) - -sc_m4_quote_check: - @prohibit='(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \ - in_vc_files='(^configure\.ac|\.m4)$$' \ - halt='quote the first arg to AC_DEF*' \ - $(_sc_search_regexp) - -fix_po_file_diag = \ -'you have changed the set of files with translatable diagnostics;\n\ -apply the above patch\n' - -# Generate a list of files in which to search for translatable strings. -perl_translatable_files_list_ = \ - -e 'foreach $$file (@ARGV) {' \ - -e ' \# Consider only file extensions with one or two letters' \ - -e ' $$file =~ /\...?$$/ or next;' \ - -e ' \# Ignore m4 and mk files' \ - -e ' $$file =~ /\.m[4k]$$/ and next;' \ - -e ' \# Ignore a .c or .h file with a corresponding .l or .y file' \ - -e ' $$file =~ /(.+)\.[ch]$$/ && (-e "$${1}.l" || -e "$${1}.y")' \ - -e ' and next;' \ - -e ' \# Skip unreadable files' \ - -e ' -r $$file or next;' \ - -e ' print "$$file ";' \ - -e '}' - -# Verify that all source files using _() (more specifically, files that -# match $(_gl_translatable_string_re)) are listed in po/POTFILES.in. -po_file ?= $(srcdir)/po/POTFILES.in -generated_files ?= $(srcdir)/lib/*.[ch] -_gl_translatable_string_re ?= \b(N?_|gettext *)\([^)"]*("|$$) -sc_po_check: - @if test -f $(po_file); then \ - $(GREP) -E -v '^(#|$$)' $(po_file) \ - | $(GREP) -v '^src/false\.c$$' | sort > $@-1; \ - { $(VC_LIST_EXCEPT); echo $(generated_files); } \ - | xargs perl $(perl_translatable_files_list_) \ - | xargs $(GREP) -E -l '$(_gl_translatable_string_re)' \ - | $(SED) 's|^$(_dot_escaped_srcdir)/||' \ - | sort -u > $@-2; \ - diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ - || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ - rm -f $@-1 $@-2; \ - fi - -# Sometimes it is useful to change the PATH environment variable -# in Makefiles. When doing so, it's better not to use the Unix-centric -# path separator of ':', but rather the automake-provided '$(PATH_SEPARATOR)'. -msg = 'Do not use ":" above; use $$(PATH_SEPARATOR) instead' -sc_makefile_path_separator_check: - @prohibit='PATH[=].*:' \ - in_vc_files='akefile|\.mk$$' \ - halt=$(msg) \ - $(_sc_search_regexp) - -# Check that 'make alpha' will not fail at the end of the process, -# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release) -# and is read-only. -writable-files: - $(AM_V_GEN)if test -d $(release_archive_dir); then \ - for file in $(DIST_ARCHIVES); do \ - for p in ./ $(release_archive_dir)/; do \ - test -e $$p$$file || continue; \ - test -w $$p$$file \ - || { echo ERROR: $$p$$file is not writable; fail=1; }; \ - done; \ - done; \ - test "$$fail" && exit 1 || : ; \ - else :; \ - fi - -v_etc_file = $(gnulib_dir)/lib/version-etc.c -sample-test = tests/sample-test -texi = doc/$(PACKAGE).texi -# Make sure that the copyright date in $(v_etc_file) is up to date. -# Do the same for the $(sample-test) and the main doc/.texi file. -sc_copyright_check: - @require='enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' \ - in_files=$(v_etc_file) \ - halt='out of date copyright in $(v_etc_file); update it' \ - $(_sc_search_regexp) - @require='# Copyright \(C\) '$$(date +%Y)' Free' \ - in_vc_files=$(sample-test) \ - halt='out of date copyright in $(sample-test); update it' \ - $(_sc_search_regexp) - @require='Copyright @copyright\{\} .*'$$(date +%Y) \ - in_vc_files=$(texi) \ - halt='out of date copyright in $(texi); update it' \ - $(_sc_search_regexp) - -# If tests/help-version exists and seems to be new enough, assume that its -# use of init.sh and path_prepend_ is correct, and ensure that every other -# use of init.sh is identical. -# This is useful because help-version cross-checks prog --version -# with $(VERSION), which verifies that its path_prepend_ invocation -# sets PATH correctly. This is an inexpensive way to ensure that -# the other init.sh-using tests also get it right. -_hv_file ?= $(srcdir)/tests/help-version -_hv_regex_weak ?= ^ *\. .*/init\.sh" -# Fix syntax-highlighters " -_hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh" -sc_cross_check_PATH_usage_in_tests: - @if test -f $(_hv_file); then \ - $(GREP) -l 'VERSION mismatch' $(_hv_file) >/dev/null \ - || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \ - exit 0; }; \ - $(GREP) -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \ - || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \ - exit 1; }; \ - good=$$($(GREP) -E '$(_hv_regex_strong)' $(_hv_file)); \ - $(VC_LIST_EXCEPT) \ - | xargs $(GREP) -lE '$(_hv_regex_weak)' \ - | xargs $(GREP) -LFx "$$good" \ - | $(GREP) . \ - && { printf "$(ME): the above files use" \ - " path_prepend_ inconsistently\n" 1>&2; \ - exit 1; } \ - || :; \ - fi - -# BRE regex of file contents to identify a test script. -_test_script_regex ?= \ - -# In tests, use "compare expected actual", not the reverse. -sc_prohibit_reversed_compare_failure: - @prohibit='\ vc-diffs || : - $(AM_V_at)if test -s vc-diffs; then \ - cat vc-diffs; \ - echo "Some files are locally modified:" 1>&2; \ - exit 1; \ - else \ - rm vc-diffs; \ - fi - -rel-files = $(DIST_ARCHIVES) - -gnulib-version = $$(cd $(gnulib_dir) \ - && { git describe || git rev-parse --short=10 HEAD; } ) -bootstrap-tools ?= autoconf,automake,gnulib - -gpgv = $$(gpgv2 --version >/dev/null && echo gpgv2 || echo gpgv) -# If it's not already specified, derive the GPG key ID from -# the signed tag we've just applied to mark this release. -gpg_key_ID ?= \ - $$(cd $(srcdir) \ - && git cat-file tag v$(VERSION) \ - | $(gpgv) --status-fd 1 --keyring /dev/null - - 2>/dev/null \ - | $(AWK) '/^\[GNUPG:\] ERRSIG / {print $$3; exit}') - -translation_project_ ?= coordinator@translationproject.org - -# Make info-gnu the default only for a stable release. -announcement_Cc_stable = $(translation_project_), $(PACKAGE_BUGREPORT) -announcement_mail_headers_stable = \ - To: info-gnu@gnu.org \ - Cc: $(announcement_Cc_) \ - Mail-Followup-To: $(PACKAGE_BUGREPORT) - -announcement_Cc_alpha = $(translation_project_) -announcement_mail_headers_alpha = \ - To: $(PACKAGE_BUGREPORT) \ - Cc: $(announcement_Cc_) - -announcement_mail_Cc_beta = $(announcement_mail_Cc_alpha) -announcement_mail_headers_beta = $(announcement_mail_headers_alpha) - -announcement_Cc_ ?= $(announcement_Cc_$(release-type)) -announcement_mail_headers_ ?= $(announcement_mail_headers_$(release-type)) -announcement: NEWS ChangeLog $(rel-files) -# Not $(AM_V_GEN) since the output of this command serves as -# announcement message: it would start with " GEN announcement". - $(AM_V_at)$(srcdir)/$(_build-aux)/announce-gen \ - --mail-headers='$(announcement_mail_headers_)' \ - --release-type=$(release-type) \ - --package=$(PACKAGE) \ - --prev=$(PREV_VERSION) \ - --curr=$(VERSION) \ - --gpg-key-id=$(gpg_key_ID) \ - --srcdir=$(srcdir) \ - --news=$(srcdir)/NEWS \ - --bootstrap-tools=$(bootstrap-tools) \ - $$(case ,$(bootstrap-tools), in (*,gnulib,*) \ - echo --gnulib-version=$(gnulib-version);; esac) \ - $(addprefix --url-dir=, $(url_dir_list)) - -.PHONY: release-commit -release-commit: - $(AM_V_GEN)cd $(srcdir) \ - && $(_build-aux)/do-release-commit-and-tag \ - -C $(abs_builddir) $(RELEASE) - -## ---------------- ## -## Updating files. ## -## ---------------- ## - -ftp-gnu = https://ftp.gnu.org/gnu -www-gnu = https://www.gnu.org - -upload_dest_dir_ ?= $(PACKAGE) -upload_command = \ - $(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \ - --to $(gnu_rel_host):$(upload_dest_dir_) \ - $(rel-files) -emit_upload_commands: - @echo ===================================== - @echo ===================================== - @echo '$(upload_command)' - @echo '# send the ~/announce-$(my_distdir) e-mail' - @echo ===================================== - @echo ===================================== - -.PHONY: upload -upload: - $(AM_V_GEN)$(upload_command) - -define emit-commit-log - printf '%s\n' 'maint: post-release administrivia' '' \ - '* NEWS: Add header line for next release.' \ - '* .prev-version: Record previous version.' \ - '* cfg.mk (old_NEWS_hash): Auto-update.' -endef - -.PHONY: no-submodule-changes -no-submodule-changes: - $(AM_V_GEN)if test -d $(srcdir)/.git \ - && git --version >/dev/null 2>&1; then \ - diff=$$(cd $(srcdir) && git submodule -q foreach \ - git diff-index --name-only HEAD) \ - || exit 1; \ - case $$diff in '') ;; \ - *) echo '$(ME): submodule files are locally modified:'; \ - echo "$$diff"; exit 1;; esac; \ - else \ - : ; \ - fi - -submodule-checks ?= no-submodule-changes public-submodule-commit - -# Ensure that each sub-module commit we're using is public. -# Without this, it is too easy to tag and release code that -# cannot be built from a fresh clone. -.PHONY: public-submodule-commit -public-submodule-commit: - $(AM_V_GEN)if test -d $(srcdir)/.git \ - && git --version >/dev/null 2>&1; then \ - cd $(srcdir) && \ - git submodule --quiet foreach \ - 'test "$$(git rev-parse "$$sha1")" \ - = "$$(git merge-base origin "$$sha1")"' \ - || { echo '$(ME): found non-public submodule commit' >&2; \ - exit 1; }; \ - else \ - : ; \ - fi -# This rule has a high enough utility/cost ratio that it should be a -# dependent of "check" by default. However, some of us do occasionally -# commit a temporary change that deliberately points to a non-public -# submodule commit, and want to be able to use rules like "make check". -# In that case, run e.g., "make check gl_public_submodule_commit=" -# to disable this test. -gl_public_submodule_commit ?= public-submodule-commit -check: $(gl_public_submodule_commit) - -.PHONY: alpha beta stable release -ALL_RECURSIVE_TARGETS += alpha beta stable -alpha beta stable: $(local-check) writable-files $(submodule-checks) - $(AM_V_GEN)test $@ = stable \ - && { echo $(VERSION) | $(GREP) -E '^[0-9]+(\.[0-9]+)+$$' \ - || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ - || : - $(AM_V_at)$(MAKE) vc-diff-check - $(AM_V_at)$(MAKE) news-check - $(AM_V_at)$(MAKE) distcheck - $(AM_V_at)$(MAKE) dist - $(AM_V_at)$(MAKE) $(release-prep-hook) RELEASE_TYPE=$@ - $(AM_V_at)$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ - -release: - $(AM_V_GEN)$(MAKE) _version - $(AM_V_at)$(MAKE) $(release-type) - -# Override this in cfg.mk if you follow different procedures. -release-prep-hook ?= release-prep - -gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?] -.PHONY: release-prep -release-prep: - $(AM_V_GEN)$(MAKE) --no-print-directory -s announcement \ - > ~/announce-$(my_distdir) - $(AM_V_at)if test -d $(release_archive_dir); then \ - ln $(rel-files) $(release_archive_dir); \ - chmod a-w $(rel-files); \ - fi - $(AM_V_at)echo $(VERSION) > $(prev_version_file) - $(AM_V_at)$(MAKE) update-NEWS-hash - $(AM_V_at)perl -pi \ - -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' \ - $(srcdir)/NEWS - $(AM_V_at)msg=$$($(emit-commit-log)) || exit 1; \ - cd $(srcdir) && $(VC) commit -m "$$msg" -a - -# Override this with e.g., -s $(srcdir)/some_other_name.texi -# if the default $(PACKAGE)-derived name doesn't apply. -gendocs_options_ ?= - -.PHONY: web-manual -web-manual: - $(AM_V_GEN)test -z "$(manual_title)" \ - && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : - $(AM_V_at)cd '$(srcdir)/doc'; \ - $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \ - -o '$(abs_builddir)/doc/manual' \ - --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ - "$(PACKAGE_NAME) - $(manual_title)" - $(AM_V_at)echo " *** Upload the doc/manual directory to web-cvs." - -.PHONY: web-manual-update -web-manual-update: - $(AM_V_GEN)cd $(srcdir) \ - && $(_build-aux)/gnu-web-doc-update -C $(abs_builddir) - - -# Code Coverage - -init-coverage: - $(MAKE) $(AM_MAKEFLAGS) clean - lcov --directory . --zerocounters - -COVERAGE_CCOPTS ?= "-g --coverage" -COVERAGE_OUT ?= doc/coverage - -build-coverage: - $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) - $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check - mkdir -p $(COVERAGE_OUT) - lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ - --capture - -gen-coverage: - genhtml --output-directory $(COVERAGE_OUT) \ - $(COVERAGE_OUT)/$(PACKAGE).info \ - --highlight --frames --legend \ - --title "$(PACKAGE_NAME)" - -coverage: - $(MAKE) init-coverage - $(MAKE) build-coverage - $(MAKE) gen-coverage - -# Some projects carry local adjustments for gnulib modules via patches in -# a gnulib patch directory whose default name is gl/ (defined in bootstrap -# via local_gl_dir=gl). Those patches become stale as the originals evolve -# in gnulib. Use this rule to refresh any stale patches. It applies each -# patch to the original in $(gnulib_dir) and uses the temporary result to -# generate a fuzz-free .diff file. If you customize the name of your local -# gnulib patch directory via bootstrap.conf, this rule detects that name. -# Run this from a non-VPATH (i.e., srcdir) build directory. -.PHONY: refresh-gnulib-patches -refresh-gnulib-patches: - gl=gl; \ - if test -f bootstrap.conf; then \ - t=$$(perl -lne '/^\s*local_gl_dir=(\S+)/ and $$d=$$1;' \ - -e 'END{defined $$d and print $$d}' bootstrap.conf); \ - test -n "$$t" && gl=$$t; \ - fi; \ - for diff in $$(cd $$gl; git ls-files | $(GREP) '\.diff$$'); do \ - b=$$(printf %s "$$diff"|$(SED) 's/\.diff$$//'); \ - VERSION_CONTROL=none \ - patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1; \ - ( cd $(gnulib_dir) || exit 1; \ - git diff "$$b" > "../$$gl/$$diff"; \ - git checkout $$b ) || exit 1; \ - done - -# Update gettext files. -PACKAGE ?= $(shell basename $(PWD)) -PO_DOMAIN ?= $(PACKAGE) -POURL = https://translationproject.org/latest/$(PO_DOMAIN)/ -PODIR ?= po -refresh-po: - rm -f $(PODIR)/*.po && \ - echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \ - wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ - echo 'en@boldquot' > $(PODIR)/LINGUAS && \ - echo 'en@quot' >> $(PODIR)/LINGUAS && \ - ls $(PODIR)/*.po | $(SED) 's/\.po//;s,$(PODIR)/,,' | \ - sort >> $(PODIR)/LINGUAS - -# Indentation - -indent_args ?= -ppi 1 -C_SOURCES ?= $$($(VC_LIST_EXCEPT) | grep '\.[ch]\(.in\)\?$$') -INDENT_SOURCES ?= $(C_SOURCES) -exclude_file_name_regexp--indent ?= $(exclude_file_name_regexp--sc_indent) - -.PHONY: indent -indent: # Running indent once is not idempotent, but running it twice is. - $(AM_V_GEN)indent $(indent_args) $(INDENT_SOURCES) && \ - indent $(indent_args) $(INDENT_SOURCES) - -sc_indent: - @if ! command -v indent > /dev/null; then \ - echo 1>&2 '$(ME): sc_indent: indent is missing'; \ - else \ - fail=0; files="$(INDENT_SOURCES)"; \ - for f in $$files; do \ - indent $(indent_args) -st $$f \ - | indent $(indent_args) -st - \ - | diff -u $$f - || fail=1; \ - done; \ - test $$fail = 1 && \ - { echo 1>&2 '$(ME): code format error, try "make indent"'; \ - exit 1; } || :; \ - fi - -# If you want to set UPDATE_COPYRIGHT_* environment variables, -# put the assignments in this variable. -update-copyright-env ?= - -# Run this rule once per year (usually early in January) -# to update all FSF copyright year lists in your project. -# If you have an additional project-specific rule, -# add it in cfg.mk along with a line 'update-copyright: prereq'. -# By default, exclude all variants of COPYING; you can also -# add exemptions (such as ChangeLog..* for rotated change logs) -# in the file .x-update-copyright. -.PHONY: update-copyright -update-copyright: - $(AM_V_GEN)$(GREP) -l -w Copyright \ - $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ - | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@ - -# This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not -# overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS. - -# NOTE: to override any _gl_TS_* default value, you must -# define the variable(s) using "export" in cfg.mk. -_gl_TS_dir ?= src - -ALL_RECURSIVE_TARGETS += sc_tight_scope -sc_tight_scope: tight-scope.mk - @fail=0; \ - if ! $(GREP) '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \ - > /dev/null \ - && ! $(GREP) -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \ - > /dev/null 2>&1; then \ - echo '$(ME): skipping $@'; \ - else \ - $(MAKE) -s -C $(_gl_TS_dir) \ - -f Makefile \ - -f $(abs_top_srcdir)/cfg.mk \ - -f $(abs_top_builddir)/$< \ - _gl_tight_scope \ - || fail=1; \ - fi; \ - rm -f $<; \ - exit $$fail - -tight-scope.mk: $(ME) - @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(srcdir)/$(ME) > $@-t - @mv $@-t $@ - -ifeq (a,b) -# TS-start - -# Most functions should have static scope. -# Any that don't must be marked with 'extern', but 'main' -# and 'usage' are exceptions: they're always extern, but -# do not need to be marked. Symbols matching '__.*' are -# reserved by the compiler, so are automatically excluded below. -_gl_TS_unmarked_extern_functions ?= main usage -_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\w+) *\(/ - -# If your project uses a macro like "XTERN", then put -# the following in cfg.mk to override this default: -# export _gl_TS_extern = extern|XTERN -_gl_TS_extern ?= extern - -# The second nm|grep checks for file-scope variables with 'extern' scope. -# Without gnulib's progname module, you might put program_name here. -# Symbols matching '__.*' are reserved by the compiler, -# so are automatically excluded below. -_gl_TS_unmarked_extern_vars ?= - -# NOTE: the _match variables are perl expressions -- not mere regular -# expressions -- so that you can extend them to match other patterns -# and easily extract matched variable names. -# For example, if your project declares some global variables via -# a macro like this: GLOBAL(type, var_name, initializer), then you -# can override this definition to automatically extract those names: -# export _gl_TS_var_match = \ -# /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/ -_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/ - -# The names of object files in (or relative to) $(_gl_TS_dir). -_gl_TS_obj_files ?= *.$(OBJEXT) - -# Files in which to search for the one-line style extern declarations. -# $(_gl_TS_dir)-relative. -_gl_TS_headers ?= $(noinst_HEADERS) -_gl_TS_other_headers ?= *.h - -.PHONY: _gl_tight_scope -_gl_tight_scope: $(bin_PROGRAMS) - sed_wrap='s/^/^_?/;s/$$/$$/'; \ - t=exceptions-$$$$; \ - trap 's=$$?; rm -f $$t; exit $$s' 0; \ - for sig in 1 2 3 13 15; do \ - eval "trap 'v=`expr $$sig + 128`; (exit $$v); exit $$v' $$sig"; \ - done; \ - src=`for f in $(SOURCES); do \ - test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ - hdr=`for f in $(_gl_TS_headers); do \ - test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ - ( printf '%s\n' '__.*' $(_gl_TS_unmarked_extern_functions); \ - $(GREP) -h -A1 '^extern .*[^;]$$' $$src \ - | $(GREP) -vE '^(extern |--|#)' | $(SED) 's/ .*//; /^$$/d'; \ - perl -lne \ - '$(_gl_TS_function_match) and print $$1' $$hdr; \ - ) | sort -u | $(SED) "$$sed_wrap" > $$t; \ - nm -g $(_gl_TS_obj_files)|$(SED) -n 's/.* T //p'|$(GREP) -Ev -f $$t \ - && { echo the above functions should have static scope >&2; \ - exit 1; } || : ; \ - ( printf '%s\n' '__.*' main $(_gl_TS_unmarked_extern_vars); \ - perl -lne '$(_gl_TS_var_match) and print $$1' \ - $$hdr $(_gl_TS_other_headers) \ - ) | sort -u | $(SED) "$$sed_wrap" > $$t; \ - nm -g $(_gl_TS_obj_files) | $(SED) -n 's/.* [BCDGRS] //p' \ - | sort -u | $(GREP) -Ev -f $$t \ - && { echo the above variables should have static scope >&2; \ - exit 1; } || : -# TS-end -endif diff --git a/BUILD/libtool-2.4.7/tests/am-subdir.at b/BUILD/libtool-2.4.7/tests/am-subdir.at deleted file mode 100644 index dd20128..0000000 --- a/BUILD/libtool-2.4.7/tests/am-subdir.at +++ /dev/null @@ -1,151 +0,0 @@ -# am-subdir.at -- libtool subdir-objects support -*- Autotest -*- - -# Copyright (C) 2004, 2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Libtool subdir-objects support.]) - - -## ----------- ## -## C Language. ## -## ----------- ## - -AT_SETUP([C subdir-objects]) - -AT_DATA([[configure.ac]], -[[AC_INIT([subdir-demo], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) -AM_INIT_AUTOMAKE -LT_INIT([win32-dll]) -AC_PROG_CC -AM_PROG_CC_C_O -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([[Makefile.am]], -[[ACLOCAL_AMFLAGS = -I m4 -AUTOMAKE_OPTIONS = subdir-objects foreign 1.6 -AM_CPPFLAGS = -I$(top_srcdir)/../.. - -lib_LTLIBRARIES = subdir/libsub.la -subdir_libsub_la_SOURCES= subdir/sub.c - -bin_PROGRAMS = subdir/subdemo -subdir_subdemo_SOURCES = subdir/main.c -subdir_subdemo_LDADD = subdir/libsub.la -]]) - -test -d subdir || { rm -f subdir && mkdir subdir; } - -AT_DATA([[subdir/main.c]], -[[#include - -extern void sub (void); - -int main (void) -{ - printf ("Welcome to GNU Libtool subdir-objects test!\n"); - sub(); - return 0; -} -]]) - -AT_DATA([[subdir/sub.c]], -[[#include -void sub (void) { printf ("** This is libsub **\n"); } -]]) - -LT_AT_BOOTSTRAP([--copy], [-I m4], [ignore], [--add-missing]) - -LT_AT_EXEC_CHECK([subdir/subdemo], 0, stdout) -AT_CHECK([$GREP 'Welcome to GNU Libtool subdir-objects test' stdout], - [], [ignore]) -AT_CHECK([$GREP 'This is libsub' stdout], - [], [ignore]) - -AT_CLEANUP - - -## ------------- ## -## C++ Language. ## -## ------------- ## - -AT_SETUP([C++ subdir-objects]) -LT_AT_TAG([CXX]) - -AT_DATA([[configure.ac]], -[[AC_INIT([subdir-demo], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) -AM_INIT_AUTOMAKE -AC_PROG_CC -AM_PROG_CC_C_O -AC_PROG_CXX -AC_PROG_CXXCPP - -AC_LANG([C++]) -LT_INIT([win32-dll]) - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([[Makefile.am]], -[[ACLOCAL_AMFLAGS = -I m4 -AUTOMAKE_OPTIONS = subdir-objects foreign 1.6 -AM_CPPFLAGS = -I$(top_srcdir)/../.. - -lib_LTLIBRARIES = subdir/libsub.la -subdir_libsub_la_SOURCES= subdir/sub.cxx subdir/sub.hxx - -bin_PROGRAMS = subdir/subdemo -subdir_subdemo_SOURCES = subdir/main.cxx -subdir_subdemo_LDADD = subdir/libsub.la -]]) - -test -d subdir || { rm -f subdir && mkdir subdir; } - -AT_DATA([[subdir/sub.hxx]], -[[class libsub { public: int sub (void); }; -]]) - -AT_DATA([[subdir/main.cxx]], -[[#include "sub.hxx" - -int main (void) -{ - libsub SUB; - return SUB.sub() != 27; -} -]]) - -AT_DATA([[subdir/sub.cxx]], -[[#include "sub.hxx" - -int libsub::sub (void) { return 27; } -]]) - -LT_AT_BOOTSTRAP([--copy], [-I m4], [ignore], [--add-missing]) - -LT_AT_EXEC_CHECK([subdir/subdemo], 0) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/archive-in-archive.at b/BUILD/libtool-2.4.7/tests/archive-in-archive.at deleted file mode 100644 index caffcee..0000000 --- a/BUILD/libtool-2.4.7/tests/archive-in-archive.at +++ /dev/null @@ -1,60 +0,0 @@ -# dmacks.at -- test for dmacks bug -*- Autotest -*- -# -# Copyright (C) 2007-2008, 2010-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Peter O'Gorman, 2007 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_SETUP([static library contains static library]) -AT_KEYWORDS([libtool]) - -# This test passes with MS lib. -AT_XFAIL_IF([case $AR in ar-lib\ * | *[[/\\]]ar-lib\ *) false;; *) :;; esac]) - -AT_DATA([foo.c], -[ -int foo() { return 1;} -]) - -AT_DATA([bar.c], -[ -int bar() { return 1;} -]) - -thisdir=`cd . && pwd` -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c -$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ --o libfoo.la foo.lo -version-info 1:0:0 -rpath $thisdir -$LIBTOOL --mode=install cp libfoo.la $thisdir -eval `$EGREP '^(old_library)=' < libfoo.la` -libfoo=$old_library -AT_CHECK([$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ - -o libbar.la bar.lo $libfoo -version-info 1:0:0 -rpath $thisdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp libbar.la $thisdir], [], [ignore], [ignore]) -eval `$EGREP '^(old_library)=' < libbar.la` -libbar=$old_library -AT_CHECK([$AR -t $libbar | $GREP $libfoo],[1],[ignore],[ignore]) -AT_CHECK([$AR -t $libbar | $GREP foo.$OBJEXT],[],[ignore],[ignore]) -AT_CHECK([$AR -t $libbar | $GREP bar.$OBJEXT],[],[ignore],[ignore]) -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/bindir.at b/BUILD/libtool-2.4.7/tests/bindir.at deleted file mode 100644 index 38f3eb1..0000000 --- a/BUILD/libtool-2.4.7/tests/bindir.at +++ /dev/null @@ -1,361 +0,0 @@ -# bindir.at - Test the -bindir option -# -# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. -# Written by Dave Korn, 2009 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -#### -# In this testcase, and in the chunk of code that makes use -# of $bindir in ltmain.in, we would very much have liked to -# automatically decide which systems require dynamically-loaded -# libraries to be installed to a directory in $PATH according -# to the libtool properties that tell us that "the system provides -# no way to hard-code library paths into executables, and also -# has no $shlibpath_var independent of the PATH variable", in -# Ralf's words. But it turns out this is not possible, as:- -# -#> * Dave Korn wrote on Fri, Aug 14, 2009 at 04:30:27AM CEST: -#>>> Ralf Wildenhues wrote: -#>>> -#>>>>> But in this particular case, I would argue that either you look at -#>>>>> the libtool variables shlibpath_var and hardcode_action for "PATH" -#>>>>> and "unsupported". -#>>> -#>>> On Cygwin, $hardcode_action = "immediate" in the generated libtool -#>>> script. Did you perhaps mean $hardcode_shlibpath_var, which is indeed -#>>> "unsupported"? -#> -#> Oh brother, yes, I forgot about those bogus hardcode_libdir_flag_spec -#> settings. They fool _LT_LINKER_HARDCODE_LIBPATH. I don't remember whether -#> they were needed in order to not break some semantics in ltmain (they -#> probably were). -#> -#> Anyway, $hardcode_action = "immediate" is definitely wrong, but fixing that -#> now is also way out of scope of this patch. So I guess we need to stick to -#> host matching in the code, and work out a separate fix for the setting of -#> $hardcode_libdir_flag_spec. -# -# So alas we punt for now, and just hardcode the relevant OSs that require -# this functionality. That's Cygwin, MinGW and CeGCC for now; see the case -# statement in ltmain.in around where the 'tdlname' variable is set. - -#### -# First a simple test that we can build and run an executable with a couple of -# tiny libraries. - -AT_SETUP([bindir basic lib test]) - -bindirneeded=: -case $host_os in - cygwin*|mingw*|cegcc*) - ;; - *) - bindirneeded=false - ;; -esac - -#### -# These routines save the PATH before a test and restore it after, -# prepending a chosen directory to the path on the platforms where -# -bindir is needed after saving. -# - -func_save_and_prepend_path () -{ - save_PATH=$PATH - if $bindirneeded; then - PATH=$1$PATH_SEPARATOR$PATH - fi - export PATH -} - -func_restore_path () -{ - PATH=$save_PATH - export PATH -} - -AT_DATA([foo.c],[[ -int x=11; -]]) - -AT_DATA([baz.c],[[ -extern int x; -int baz (void); -int baz (void) { return x;} -]]) - -AT_DATA([bar.c],[[ -extern int baz (void); -int y=3; -int bar (void); -int bar (void) { return y + baz ();} -]]) - -AT_DATA([main.c],[[ -#include -extern int baz (void); -extern int bar (void); -int main() { -if (baz () + bar () - 25) abort (); -return 0; -} -]]) - - -curdir=`pwd` -eval "`$LIBTOOL --config | $GREP '^objdir='`" - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c],[0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c],[0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo baz.lo -rpath $curdir/$objdir],[0],[ignore],[ignore]) - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c],[0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS bar.lo libfoo.la -rpath $curdir/$objdir],[0],[ignore],[ignore]) - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c],[0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libbar.la libfoo.la],[0],[ignore],[ignore]) - -# Check both static and shared versions run. We don't install them -# here, that will be covered by the later tests; we've rpath'd things -# so that they can all be run in situ. - -LT_AT_NOINST_EXEC_CHECK([./main]) - -# Ensure libraries can be found on PATH, if we are on one -# of the affected platforms, before testing the shared version. - -func_save_and_prepend_path "$curdir/$objdir" -$bindirneeded && { - LT_AT_NOINST_EXEC_CHECK([$objdir/main]) -} - -# In fact, prepending the PATH as above is superfluous on the windows -# platforms that this feature is primarily aimed at, as the DLL search -# path always includes the directory from which the app was launched. -# To make sure it still works even when not side-by-side, we'll install -# the main executable and execute it from there while the PATH still -# points to the shared libs in the .libs subdir. On other platforms, -# the rpaths we set at link time will guarantee it runs from the bindir. - -mkdir $curdir/bin -AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/bin/main$EXEEXT], [], [ignore], [ignore]) -LT_AT_EXEC_CHECK([$curdir/bin/main$EXEEXT], [0], [ignore], [ignore], []) -func_restore_path - -AT_CLEANUP - -#### -# This is the main testcase. For a variety of bindir and libdir -# settings, it verifies that all the files get installed exactly -# where we want them to go, and that they can be executed once -# installed. -# - -AT_SETUP([bindir install tests]) - -bindirneeded=: -case $host_os in - cygwin*|mingw*|cegcc*) - ;; - *) - bindirneeded=false - ;; -esac - -eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`" -AT_CHECK([test yes = "$build_libtool_libs" || exit 77]) - -#### -# These routines save the PATH before a test and restore it after, -# prepending a chosen directory to the path on the platforms where -# -bindir is needed after saving. -# - -func_save_and_prepend_path () -{ - save_PATH=$PATH - if $bindirneeded; then - PATH=$1$PATH_SEPARATOR$PATH - fi - export PATH -} - -func_restore_path () -{ - PATH=$save_PATH - export PATH -} - -AT_DATA([foo.c],[[ -int x=11; -]]) - -AT_DATA([baz.c],[[ -extern int x; -int baz (void); -int baz (void) { return x;} -]]) - -AT_DATA([bar.c],[[ -extern int baz (void); -int y=3; -int bar (void); -int bar (void) { return y + baz ();} -]]) - -AT_DATA([main.c],[[ -#include -extern int baz (void); -extern int bar (void); -int main() { -if (baz () + bar () - 25) abort (); -return 0; -} -]]) - -# We only need to compile once, but we'll need to relink for each different value -# of libdir in order to set the rpath, and we'll install for each combination of -# libdir and bindir. - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c],[0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c],[0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c],[0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c],[0],[ignore],[ignore]) - -# Now try installing the libs. There are the following cases: -# No -bindir -# -bindir below lib install dir -# -bindir is lib install dir -# -bindir beside lib install dir -# -bindir above lib dir -# -bindir above and beside lib dir -# -bindir in entirely unrelated prefix. - -curdir=`pwd` -for libdir in \ - $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0 \ - $curdir/usr/lib/gcc/../gcc/.//i686-pc-cygwin/4.5.0/../../././//. \ - $curdir/usr/lib/ \ - $curdir/usr/lib \ - $curdir/baz \ - $curdir/baz/lib/; -do - - # Do a basic install with no -bindir option for reference. We use the sbin/ - # dir for the main exe to avoid the potential "this only works because it's - # side-by-side with the libs" default DLL search path problem mentioned above. - rm -rf $libdir $curdir/bin $curdir/sbin $curdir/baz $curdir/usr - AS_MKDIR_P($libdir) - AS_MKDIR_P($curdir/sbin) - AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir],[0],[ignore],[ignore]) - AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la -rpath $libdir],[0],[ignore],[ignore]) - AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL libfoo.la $libdir], [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/sbin/main$EXEEXT], [], [ignore], [ignore]) - - # And ensure it went where we expect. Could be looking for any of - # 'cygfoo-0.dll', 'libfoo-0.dll', 'foo-0.dll', or 'libfoo.so.0'. We'll - # simplify this check by taking advantage of the fact that if it's a DLL, - # it has to go in bindir, so we'll not check for both forms in libdir. - if $bindirneeded; then - AT_CHECK([test -f "$libdir"/../bin/???foo-0.dll || ls "$libdir"/../bin/*foo*0*], [], [ignore], [ignore]) - else - AT_CHECK([ls $libdir/*foo*], [], [ignore], [ignore]) - fi - - # And that it can be executed. - func_save_and_prepend_path "$libdir/../bin" - LT_AT_EXEC_CHECK([$curdir/sbin/main$EXEEXT], [0], [ignore], [ignore], []) - func_restore_path - - for bindir in \ - $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0/bin/ \ - $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0/bin \ - $curdir/usr/lib/gcc/i686-pc-cygwin/bin \ - $curdir/usr/lib/bin \ - $curdir/usr/bin/ \ - $curdir/usr/bin \ - /tmp/foo/bar; - do - - # Clear any old stuff out before we install. Because bindir - # may be in /tmp, we have to take care to create it securely - # and not to delete and recreate it if we do. - rm -rf $libdir $curdir/bin $curdir/sbin $curdir/baz $curdir/usr - - tmp= - case $bindir in - /tmp*) - # Create a temporary directory $tmp in $TMPDIR (default /tmp). - # Use mktemp if possible; otherwise fall back on mkdir, - # with $RANDOM to make collisions less likely. - : ${TMPDIR=/tmp} - { - tmp=` - (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null - ` && - test -n "$tmp" && test -d "$tmp" - } || { - tmp=$TMPDIR/foo$$-$RANDOM - (umask 077 && mkdir "$tmp") - } || AT_CHECK([exit 77]) - bindir=$tmp/bar - ;; - *) - # Clear any old stuff out before we install. - rm -rf $bindir - AS_MKDIR_P($bindir) - ;; - esac - - # Relink with new rpaths. - AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -no-undefined -bindir $bindir -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir],[0],[ignore],[ignore]) - AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la],[0],[ignore],[ignore]) - - # Recreate directories (bindir already done) and install. - AS_MKDIR_P($libdir) - AS_MKDIR_P($curdir/sbin) - AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL libfoo.la "$libdir"], [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT "$curdir/sbin/main$EXEEXT"], [], [ignore], [ignore]) - - # Ensure it went to bindir rather than default dir this time. - if $bindirneeded; then - AT_CHECK([test -f "$bindir"/???foo-0.dll || ls "$bindir"/*foo*0*], [], [ignore], [ignore]) - else - AT_CHECK([ls "$libdir"/*foo*], [], [ignore], [ignore]) - fi - - # And that it can be executed. - func_save_and_prepend_path "$bindir" - LT_AT_EXEC_CHECK([$curdir/sbin/main$EXEEXT], [0], [ignore], [ignore], []) - func_restore_path - - # Clean up if we made a temp dir. Subdirs under our testdir get rm'd - # and recreated at the top of the loop. Securely created subdirs under - # /tmp get created precisely once and rm'd when we're done with them. - if test ! -z "$tmp"; then - rm -rf "$tmp" - fi - - done -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/cdemo.at b/BUILD/libtool-2.4.7/tests/cdemo.at deleted file mode 100644 index a131aef..0000000 --- a/BUILD/libtool-2.4.7/tests/cdemo.at +++ /dev/null @@ -1,194 +0,0 @@ -# cdemo.at -- Using Automake to build a program and library -*- Autotest -*- -# -# Copyright (C) 2003-2004, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2003 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Convenience libraries.]) - - -# _LT_SETUP -# --------- -m4_define([_LT_SETUP], -[AT_DATA([configure.ac], -[[AC_INIT([cdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libfoo.la -libfoo_la_SOURCES = foo.c -libfoo_la_LIBADD = $(LIBM) -libfoo_la_LDFLAGS = -no-undefined -noinst_HEADERS = foo.h - -bin_PROGRAMS = cdemo -cdemo_SOURCES = main.c -cdemo_LDADD = libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -]]) - -AT_DATA([foo.h], -[[#ifndef FOO_H -#define FOO_H 1 - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -extern int foo(); - -extern int hello(); - -#endif -]]) - -AT_DATA([foo.c], -[[#include -#include -#include - -#include "foo.h" - -int foo() { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} - -int hello() { - printf ("** This is libfoo **\n"); - return HELLO_RET; -} -]]) - -AT_DATA([main.c], -[[#include -#include -#include "foo.h" - -int main () -{ - int value; - - printf ("Welcome to GNU libtool cdemo!\n"); - - value = hello(); - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - - if (foo () == FOO_RET) - printf("foo is ok!\n"); - - return 0; -} -]]) - -LT_AT_HOST_DATA([expout], -[[Welcome to GNU libtool cdemo! -** This is libfoo ** -hello returned: 57616 -hello is ok! -cos (0.0) = 1 -foo is ok! -]]) -]) # _LT_SETUP - - -## ------------- ## -## Cdemo static. ## -## ------------- ## - -AT_SETUP([build and link against a static library]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-shared], - [^build_old_libs=yes], [^build_libtool_libs=no]) -LT_AT_CHECK_EXECUTE([], [./cdemo]) - -AT_CLEANUP - - -## ------------- ## -## Cdemo shared. ## -## ------------- ## - -AT_SETUP([build and link against a dynamic library]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-static], - [^build_old_libs=no], [^build_libtool_libs=yes]) -LT_AT_CHECK_EXECUTE([], [./cdemo]) - -AT_CLEANUP - - -## ----------- ## -## Cdemo conf. ## -## ----------- ## - -AT_SETUP([build both static and dynamic]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([], - [^build_old_libs=yes], [^build_libtool_libs=yes]) -LT_AT_CHECK_EXECUTE([], [./cdemo]) - -AT_CLEANUP - - -## ------------ ## -## Cdemo undef. ## -## ------------ ## - -AT_SETUP([allow_undefined_flag]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-static]) - -AT_CHECK([$EGREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77)], - 1, [ignore]) - -$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool - -LT_AT_CHECK_EXECUTE([], [./cdemo]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/cmdline_wrap.at b/BUILD/libtool-2.4.7/tests/cmdline_wrap.at deleted file mode 100644 index 53eadf1..0000000 --- a/BUILD/libtool-2.4.7/tests/cmdline_wrap.at +++ /dev/null @@ -1,51 +0,0 @@ -# cmdline_wrap.at -- run tests with low max_cmd_len -*- Autotest -*- - -# Copyright (C) 2007, 2009, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2007 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# Make sure libtool works when it needs to wrap command lines. -# We simulate this by setting max_cmd_len very low. - -AT_SETUP([Run tests with low max_cmd_len]) -AT_KEYWORDS([recursive expensive]) -dnl If we already have failures, then reruns will fail too! -fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do test -f "$f" && echo "$f"; done` -echo "DEBUG: fail_list='$fail_list'" -AT_CHECK([test -z "$fail_list" || (exit 77)]) -m4_ifdef([AT_CAPTURE_FILE], -[AT_CAPTURE_FILE([testsuite.log])]) - -$SED 's|max_cmd_len=.*|max_cmd_len="24"|' < $LIBTOOL > libtool -chmod +x libtool -LIBTOOL=`pwd`/libtool -export LIBTOOL -# run the suite in a subdirectory, otherwise the two suites will compete -# for the output file 'testsuite.log'. -mkdir tests -cd tests -INNER_TESTSUITEFLAGS="$INNER_TESTSUITEFLAGS abs_top_srcdir=$abs_top_srcdir \ - abs_builddir=$abs_builddir" -AT_CHECK([$CONFIG_SHELL $abs_srcdir/testsuite -k libtool$INNER_TESTSUITEFLAGS], - [], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/configure-funcs.at b/BUILD/libtool-2.4.7/tests/configure-funcs.at deleted file mode 100644 index 6feee70..0000000 --- a/BUILD/libtool-2.4.7/tests/configure-funcs.at +++ /dev/null @@ -1,70 +0,0 @@ -# configure-functions.at -- shared shell functions. -*- Autotest -*- -# -# Copyright (C) 2015-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Functions shared with configure and libtool.]) - -m4_define([_AT_FUNC_SETUP], [dnl -AT_SETUP([$1 works])dnl -_lt_bin=$abs_top_builddir/libtool -re_begincf='^# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE' -re_endcf='^# ### END FUNCTIONS SHARED WITH CONFIGURE' - -$ECHO '#!/bin/sh' > "$1" -$ECHO '#: ${SED=sed}' >> "$1" -$ECHO '#: ${ECHO=echo}' >> "$1" - -sed "1,/$re_begincf/d;/$re_endcf/,\$d" < "$_lt_bin" >> "$1" -]) - -_AT_FUNC_SETUP([func_munge_path_list]) - -cat <<\EOF >> func_munge_path_list -for orig in "/usr/lib" " /lib /usr/lib "; do - $ECHO "'$orig':" - for path in "/p1:" "/p3:/p2:" ":/a1" ":/a2:/a3" "/p4::/a4" "/p6:/p5::/a5:/a6"; do - old=$orig - func_munge_path_list orig "$path" || exit 1 - $ECHO "munge ($path) = $orig" - done -done -EOF -chmod +x func_munge_path_list - -AT_CHECK([ECHO="$ECHO" SED="$SED" ./func_munge_path_list], [0], -['/usr/lib': -munge (/p1:) = /p1 /usr/lib -munge (/p3:/p2:) = /p3 /p2 /p1 /usr/lib -munge (:/a1) = /p3 /p2 /p1 /usr/lib /a1 -munge (:/a2:/a3) = /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 -munge (/p4::/a4) = /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 -munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 -' /lib /usr/lib ': -munge (/p1:) = /p1 /lib /usr/lib @&t@ -munge (/p3:/p2:) = /p3 /p2 /p1 /lib /usr/lib @&t@ -munge (:/a1) = /p3 /p2 /p1 /lib /usr/lib /a1 -munge (:/a2:/a3) = /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 -munge (/p4::/a4) = /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 -munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 -], []) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/configure-iface.at b/BUILD/libtool-2.4.7/tests/configure-iface.at deleted file mode 100644 index 229ac34..0000000 --- a/BUILD/libtool-2.4.7/tests/configure-iface.at +++ /dev/null @@ -1,329 +0,0 @@ -# configure-iface.at -- test ltdl configure interface -*- Autotest -*- -# -# Copyright (C) 2007-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2007 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([configure interface to libltdl.]) - -# _LT_AT_LTDL_SETUP -# ----------------- -m4_pushdef([_LT_AT_LTDL_SETUP], -[AT_DATA([main.c], -[[#include -#include - -typedef int funcp (void); - -static int errors = 0; - -int -main (void) -{ - lt_dlhandle handle; - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (lt_dlinit () != 0) - { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror ()); - return 1; - } - - handle = lt_dlopenext ("libmodule"); - if (!handle) - { - fprintf (stderr, "can't open libmodule: %s\n", lt_dlerror ()); - ++errors; - } - - { - funcp *f = (funcp *) lt_dlsym (handle, "f"); - - if (f) - { - printf ("%d\n", f ()); - } - else - { - fprintf (stderr, "function 'f' not found: %s\n", lt_dlerror ()); - ++errors; - } - } - - if (lt_dlexit () != 0) - { - fprintf (stderr, "error during exit: %s\n", lt_dlerror ()); - ++errors; - } - - return (errors != 0); -} -]]) - -AT_DATA([libmodule.c], -[[#ifdef __cplusplus -extern "C" { -#endif -int f (void) { return 5150; } -#ifdef __cplusplus -} -#endif -]]) - -LT_AT_HOST_DATA([expout], -[[5150 -]]) -])# _LT_AT_LTDL_SETUP - - -## -------------------- ## -## Installable libltdl. ## -## -------------------- ## - -AT_SETUP([installable libltdl]) -AT_KEYWORDS([libltdl]) - -_LT_AT_LTDL_SETUP - -AT_DATA([configure.ac], -[[AC_INIT([installable-ltdl-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([libltdl/config]) -AC_CONFIG_MACRO_DIRS([libltdl/m4]) -AC_CONFIG_HEADERS([config.h:config.hin]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT([dlopen]) -LTDL_INIT([installable]) -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = 1.7 - -SUBDIRS = libltdl - -AM_CPPFLAGS = $(LTDLINCL) - -lib_LTLIBRARIES = libmodule.la -# Automake < 1.8 will use libmodule.la.c as default source, -# while newer will choose libmodule.c; so specify it here. -libmodule_la_SOURCES = libmodule.c -libmodule_la_LDFLAGS = -module - -bin_PROGRAMS = main -main_LDFLAGS = -dlopen libmodule.la -main_LDADD = $(LIBLTDL) -main_DEPENDENCIES = $(LTDLDEPS) libmodule.la -]]) - -# Install everything! -prefix=`pwd`/_inst - -LT_AT_BOOTSTRAP([--ltdl], [-I libltdl/m4], [], [--add-missing], [], - [--with-included-ltdl --prefix=$prefix], [all install]) - -# TODO: Check that the installed program 'main' is linked against our libltdl -AT_CHECK([test -f "$prefix/lib/libltdl.la"]) -AT_CHECK([test -f "$prefix/include/ltdl.h"]) - -# Check that main is rebuilt if libltdl.la is newer -rm -f libltdl/libltdl.la -AT_CHECK([$MAKE -q main$EXEEXT || exit 1], [1], [ignore], [ignore]) - -AT_CLEANUP - - -## ------------------------------- ## -## Link against installed libltdl. ## -## ------------------------------- ## - -AT_SETUP([--with-ltdl-include/lib]) -AT_KEYWORDS([libltdl]) - -# Install libltdl -prefix=`pwd`/_inst - -LT_AT_LIBTOOLIZE([--copy --ltdl=ltdl]) - -(cd ltdl -LT_AT_CONFIGURE([--enable-ltdl-install --prefix=$prefix]) -LT_AT_MAKE([all install]) -) - -# Remove build files -rm -rf ltdl/ - -AT_CHECK([test -f "$prefix/lib/libltdl.la"]) -AT_CHECK([test -f "$prefix/include/ltdl.h"]) - -_LT_AT_LTDL_SETUP - -AT_DATA([configure.ac], -[[AC_INIT([configure-iface-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_MACRO_DIRS([_inst/aclocal]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT([dlopen]) -LTDL_INIT -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = 1.7 - -AM_CPPFLAGS = $(LTDLINCL) - -lib_LTLIBRARIES = libmodule.la -# Automake < 1.8 will use libmodule.la.c as default source, -# while newer will choose libmodule.c; so specify it here. -libmodule_la_SOURCES = libmodule.c -libmodule_la_LDFLAGS = -module - -bin_PROGRAMS = main -main_LDFLAGS = -dlopen libmodule.la -main_LDADD = $(LIBLTDL) -main_DEPENDENCIES = $(LTDLDEPS) libmodule.la -]]) - -## Try to avoid linking against a previously installed libltdl found -## with an explicit -L/path. -save_LDFLAGS=$LDFLAGS -LDFLAGS= -for l in $save_LDFLAGS -do - case $l in - -L*) ;; - *) LDFLAGS="$LDFLAGS $l" ;; - esac -done - -# We don't use 'libtoolize --ltdl', so that we get an error if the test -# tries to build and link against its own ltdl sources: -LT_AT_BOOTSTRAP([], [-I _inst/aclocal], [], [--add-missing], [], - [--with-ltdl-lib=$prefix/lib --with-ltdl-include=$prefix/include], - [all]) - -## TODO: portable ldd check for correct libltdl -## Currently, this test doesn't fail if 'main' ends up linking against a -## previously installed system libltdl. -LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen libmodule.la], [], [expout], []) - -AT_CLEANUP - - -## ------------------------------------- ## -## Link against shipped libltdl sources. ## -## ------------------------------------- ## - -AT_SETUP([--with-included-ltdl]) -AT_KEYWORDS([libltdl]) - -_LT_AT_LTDL_SETUP - -AT_DATA([configure.ac], -[[AC_INIT([configure-iface-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([libltdl/config]) -AC_CONFIG_MACRO_DIRS([libltdl/m4]) -AC_CONFIG_HEADERS([config.h:config.hin]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT([dlopen]) -LTDL_INIT -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = 1.7 - -SUBDIRS = libltdl - -AM_CPPFLAGS = $(LTDLINCL) - -lib_LTLIBRARIES = libmodule.la -# Automake < 1.8 will use libmodule.la.c as default source, -# while newer will choose libmodule.c; so specify it here. -libmodule_la_SOURCES = libmodule.c -libmodule_la_LDFLAGS = -module - -bin_PROGRAMS = main -main_LDFLAGS = -dlopen libmodule.la -main_LDADD = $(LIBLTDL) -main_DEPENDENCIES = $(LTDLDEPS) libmodule.la -]]) - -LT_AT_BOOTSTRAP([--ltdl], [-I libltdl/m4], [], [--add-missing], [], - [--with-included-ltdl], [all]) - -# --with-included-ltdl should build a convenience lib by default -AT_CHECK([test -f libltdl/libltdlc.la]) - -## TODO: portable ldd check for correct libltdl -## Currently, this test doesn't fail if 'main' ends up linking against a -## previously installed system libltdl. -LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen libmodule.la], [], [expout], []) - -# Check that main is rebuilt if libltdlc.la is newer -rm -f libltdl/libltdlc.la -AT_CHECK([$MAKE -q main$EXEEXT || exit 1], [1], [ignore], [ignore]) - -AT_CLEANUP - - -## -------------------- ## -## Convenience libltdl. ## -## -------------------- ## - -AT_SETUP([convenience libltdl]) - -AT_DATA([configure.ac], -[[AC_INIT -AC_CONFIG_AUX_DIR([libltdl/config]) -AC_LIBLTDL_CONVENIENCE -AC_LIBTOOL_DLOPEN -AC_PROG_LIBTOOL -AC_CONFIG_FILES(Makefile) -AC_OUTPUT -]]) -AT_DATA([Makefile.in], -[[LIBLTDL = @LIBLTDL@ -print-ltdl: - echo $(LIBLTDL) -]]) - -LT_AT_BOOTSTRAP([--ltdl], [-I libltdl/m4], [ignore], [ignore], [], [], [ignore]) -AT_CHECK([$MAKE print-ltdl], [], [stdout], [ignore]) -AT_CHECK([$GREP libltdl/libltdlc.la stdout], [], [ignore]) - -AT_CLEANUP - -dnl Be careful not to let the definition leak into other tests -m4_popdef([_LT_AT_LTDL_SETUP]) diff --git a/BUILD/libtool-2.4.7/tests/convenience.at b/BUILD/libtool-2.4.7/tests/convenience.at deleted file mode 100644 index 65e7522..0000000 --- a/BUILD/libtool-2.4.7/tests/convenience.at +++ /dev/null @@ -1,290 +0,0 @@ -# convenience.at -- testing C convenience archives -*- Autotest -*- - -# Copyright (C) 2005, 2007-2019, 2021-2022 Free Software Foundation, -# Inc. -# Written by Ralf Wildenhues, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# Test that convenience archives work. -# for each TAG, test: -# - adding one or multiple convenience archives -# - with or without additional objects on the cmdline - -AT_SETUP([C convenience archives]) -AT_KEYWORDS([libtool]) - -cat >main1.c <main2.c <main3.c < a$i.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main$i.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -done -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist], - [0],[ignore],[ignore]) - -conv= -for i in 1 2 3; do - conv=$conv$i - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la], - [0],[ignore],[ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la], - [0],[ignore],[ignore]) - LT_AT_EXEC_CHECK([./main_static]) - LT_AT_EXEC_CHECK([./main]) -done -AT_CLEANUP - - -AT_SETUP([C++ convenience archives]) -LT_AT_TAG([CXX]) -AT_KEYWORDS([libtool]) - -cat >main1.cpp <main2.cpp <main3.cpp < a$i.cpp - $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c main$i.cpp - $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c a$i.cpp - $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba$i.la a$i.lo -done -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist], - [0],[ignore],[ignore]) - -conv= -for i in 1 2 3; do - conv=$conv$i - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la], - [0],[ignore],[ignore]) - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la], - [0],[ignore],[ignore]) - LT_AT_EXEC_CHECK([./main_static]) - LT_AT_EXEC_CHECK([./main]) -done -AT_CLEANUP - - -AT_SETUP([F77 convenience archives]) -LT_AT_TAG([F77]) -AT_KEYWORDS([libtool]) - -cat >main1.f <main2.f <main3.f <a$i.f <main1.f <main2.f <main3.f <a$i.f <foo1.java <foo2.java <foo3.java <A$i.java < ./libtool - chmod +x libtool - LIBTOOL=./libtool - - # Make sure $restrictive_flags do not cause a failure - # themselves (e.g. because a non-gcc compiler doesn't - # understand them). Tru64 cc only fails when linking. - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS trivial.c || continue - - AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c], - [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -no-undefined -o liba.la -rpath /foo liba.lo], - [], [ignore], [ignore]) - AT_CHECK([test -f liba.la]) - - AT_CHECK([$CC $CPPFLAGS $CFLAGS -c usea.c], - [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la], - [], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./usea], [0], [ignore], [ignore], []) -done - - -# Test run-time activation of wrapper debugging. -# This is not part of the loop above, because we -# need to check, not ignore, the output. -CFLAGS=$orig_CFLAGS -LIBTOOL=$orig_LIBTOOL - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo], - [], [ignore], [ignore]) -AT_CHECK([test -f liba.la]) - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c usea.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la], - [], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./usea], [0], [ignore], [stderr], [--lt-debug]) -LT_AT_UNIFY_NL([stderr]) -AT_CHECK([$GREP 'libtool wrapper' stderr], [0], [ignore], [ignore]) - - -# Test compile-time activation of wrapper debugging. -# We structure this test as a loop, so that we can 'break' out of it -# if necessary -- even though the loop by design executes only once. -for debugwrapper_flags in '-DLT_DEBUGWRAPPER'; do - CFLAGS="$orig_CFLAGS $debugwrapper_flags" - $SED -e "s/LTCFLAGS=.*/&' $debugwrapper_flags'/" \ - -e "s/^lt_option_debug=/lt_option_debug=1/" \ - < "$orig_LIBTOOL" > ./libtool - LIBTOOL=./libtool - - # Make sure $debugwrapper_flags do not cause a failure - # themselves (e.g. because a non-gcc compiler doesn't - # understand them). Tru64 cc only fails when linking. - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS trivial.c || continue - - AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c], - [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo], - [], [ignore], [ignore]) - AT_CHECK([test -f liba.la]) - - AT_CHECK([$CC $CPPFLAGS $CFLAGS -c usea.c], - [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la], - [], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./usea], [0], [ignore], [stderr], []) - LT_AT_UNIFY_NL([stderr]) - AT_CHECK([$GREP 'libtool wrapper' stderr], [0], [ignore], [ignore]) -done - - -AT_CLEANUP - - -AT_SETUP([cwrapper string length]) - -eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" - -AT_DATA([liba.c], -[[int liba_func1 (int arg) -{ - return arg + 1; -} -]]) -AT_DATA([usea.c], -[[extern int liba_func1 (int arg); -int main (void) -{ - int a = 2; - int b = liba_func1 (a); - if (b == 3) return 0; - return 1; -} -]]) - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined ]dnl - [-o liba.la -rpath /foo liba.lo], - [], [ignore], [ignore]) -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c usea.c], - [], [ignore], [ignore]) - - -# Make sure PATH is at least 250 chars, which should force line breaks -# in lt-usea.c. - -dirpath= -save_IFS=$IFS -IFS=$PATH_SEPARATOR -for dirpath in $PATH; do - IFS=$save_IFS - break -done -IFS=$save_IFS - -until $ECHO "PATH=$PATH" | $GREP 'PATH=.\{250\}'; do - PATH=$PATH$PATH_SEPARATOR$dirpath -done -export PATH - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-fast-install ]dnl - [-o usea$EXEEXT usea.$OBJEXT liba.la], - [], [ignore], [ignore]) - -# Skip if no cwrapper is generated. -AT_CHECK([test -f "$objdir/lt-usea.c" || exit 77]) - -# Try to make sure the test is relevant. -AT_CHECK([$GREP ' *fputs' $objdir/lt-usea.c > /dev/null]) -# Check for no overly long fputs. -AT_CHECK([$GREP ' *fputs.\{250\}' $objdir/lt-usea.c], [1]) - - -AT_CLEANUP - - -AT_SETUP([cwrapper and installed shared libraries]) -AT_KEYWORDS([libtool]) - -# make sure existing libtool is configured for shared libraries -AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], - [], [ignore]) - -LDFLAGS="$LDFLAGS -no-undefined" - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -mkdir $inst $libdir $bindir - -# Build the library in a separate directory to avoid the special case -# of loading from the current directory. - -mkdir foo -cd foo -# build and install "old" library version -AT_DATA([a.c], [[ -int liba_ver (void) { return 1; } -]]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL liba.la $libdir], - [], [ignore], [ignore]) - -# build a new library version -AT_DATA([a.c], [[ -int liba_ver (void) { return 2; } -]]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo], - [], [ignore], [ignore]) - -cd .. - -# build and run test application -AT_DATA([m.c], [[ -extern int liba_ver (void); -int main (void) -{ - int r = (liba_ver () == 2) ? 0 : 1; - return r; -} -]]) - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c m.c], [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT foo/liba.la], - [], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./m1], [0], [ignore], [ignore], []) - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT foo/liba.la -L$inst/lib], - [], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./m2], [0], [ignore], [ignore], []) - - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/darwin.at b/BUILD/libtool-2.4.7/tests/darwin.at deleted file mode 100644 index 1c5622b..0000000 --- a/BUILD/libtool-2.4.7/tests/darwin.at +++ /dev/null @@ -1,447 +0,0 @@ -# darwin.at - tests specific to Mac OS X -# -# Copyright (C) 2008-2009, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Peter O'Gorman, 2008 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Mac OS X tests]) -AT_SETUP([darwin fat compile]) -noskip=: -case $host_os in -darwin*) ;; -*) noskip=false ;; -esac - -AT_DATA([simple.c] ,[[ -int main() { return 0;} -]]) - -$noskip && { -$CC $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 -o simple simple.c 2>&1 > /dev/null || noskip=false -rm -f simple -} - -AT_CHECK([$noskip || (exit 77)]) - -AT_DATA([foo.c],[[ -int x=0; -]]) - -AT_DATA([baz.c],[[ -int y=0; -]]) - -AT_DATA([bar.c],[[ -extern int x; -int bar(void); -int bar() { return x;} -]]) - -AT_DATA([main.c],[[ -extern int x; -extern int y; - -int main() { -return x+y; -} -]]) - -mkdir bin -AT_DATA([bin/basename],[[ -#! /bin/sh - -usage="usage: $0 argument" -if test $# != 1; then - echo $usage >&2 - exit 1 -fi - -echo $1 | $SED "s|^.*/||" -]]) - -chmod +x bin/basename -save_PATH=$PATH -PATH=`pwd`/bin:$PATH -export PATH - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 foo.c],[0],[ignore],[ignore]) - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 baz.c],[0],[ignore],[ignore]) - -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo],[0],[ignore],[ignore]) - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 bar.c],[0],[ignore],[ignore]) - -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent],[0],[ignore],[ignore]) - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 main.c],[0],[ignore],[ignore]) - -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la],[0],[ignore],[ignore]) - -PATH=$save_PATH -AT_CLEANUP - - -AT_SETUP([darwin concurrent library extraction]) - -AT_DATA([foo.c], [[ -int foo (void) { return 0; } -]]) - -AT_DATA([bar.c], [[ -extern int foo1 (void); -int bar (void) { return foo1 (); } -]]) -cp bar.c baz.c - -objects= -for obj in 1 2 3 4 5 6 7 8; do - $SED "s/foo/foo$obj/" < foo.c > foo$obj.c - AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo$obj.c], - [], [ignore], [ignore]) - objects="$objects foo$obj.lo" -done -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c baz.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la $objects], - [], [ignore], [ignore]) - -# Hypothesis: concurrent convenience archive extraction works. -for i in 1 2 3 4 5; do - rm -f libbar.la libbaz.la - AT_CHECK([($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS ]dnl - [ -o libbar.la bar.lo -rpath /foo libfoo.la) & ]dnl - [($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS ]dnl - [ -o libbaz.la baz.lo -rpath /foo libfoo.la) & ]dnl - [wait; test -f libbar.la && test -f libbaz.la], - [], [ignore], [ignore]) -done - -# Hypothesis: the lock is not used in dry run mode. -eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" -# Next line is internal detail. -lockfile=$objdir/libfoo.a.lock -echo stamp > $lockfile -AT_CHECK([$LIBTOOL --dry-run --mode=link $CC $CFLAGS $LDFLAGS ]dnl - [ -o libbar.la bar.lo -rpath /foo libfoo.la], - [], [ignore], [ignore]) -AT_CHECK([$GREP stamp $lockfile], [], [ignore]) - -AT_CLEANUP - -AT_SETUP([darwin gdb debug information]) - -AT_CHECK([gdb --version || (exit 77)],[ignore],[ignore],[ignore]) - -AT_DATA([foo.c], [[ -int foo (void) { return 0; } -]]) - -AT_DATA([bar.c], [[ -extern int foo (void); -int bar (void) { return foo (); } -]]) - -AT_DATA([main.c], [[ -extern int bar(void); - -int main() { return bar();} -]]) - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c], - [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo], - [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS ]dnl - [ -o libbar.la bar.lo -rpath /foo libfoo.la ], - [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS ]dnl - [ -o main main.lo libbar.la],[], [ignore], [ignore]) -AT_CHECK([echo quit | $LIBTOOL --mode=execute gdb main], - [ignore], [ignore], [stderr]) - -AT_CHECK([$GREP 'Could not find object file' stderr],[1],[ignore],[ignore]) - -AT_XFAIL_IF([ -eval "`$LIBTOOL --config | $EGREP '^(whole_archive_flag_spec)='`" -case $whole_archive_flag_spec:$host_os in -:darwin*) : ;; -*) false ;; -esac ]) - -# Remove any dSYM bundle -rm -rf .libs/*.dSYM - -AT_CHECK([echo quit | $LIBTOOL --mode=execute gdb main], - [ignore], [ignore], [stderr]) -AT_CHECK([$GREP 'Could not find object file' stderr],[1],[ignore],[ignore]) - -AT_CLEANUP - -AT_SETUP([darwin ld warnings changing configure results]) - -AT_DATA([configure.ac], -[[AC_INIT([ld-stderr], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -LT_INIT -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am],[ -ACLOCAL_AMFLAGS = -I m4 -]) -LT_AT_LIBTOOLIZE([--copy --force]) -LT_AT_AUTORECONF([--force --install]) -LT_AT_CONFIGURE -AT_CHECK([./libtool --config],[ignore],[stdout],[ignore]) -mv stdout expout -LT_AT_CONFIGURE([LDFLAGS=-L/there/is/no/dir/here]) -AT_CHECK([./libtool --config],[ignore],[expout],[ignore]) -AT_CLEANUP - -AT_SETUP([darwin can lt_dlopen .dylib and .so files]) - -AT_KEYWORDS([libltdl dylib]) - -# This test requires shared library support. -AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], - [], [ignore]) - -eval `$LIBTOOL --config | $EGREP '^shrext_cmds='` - -module=no -eval shared_ext=\"$shrext_cmds\" -module=yes -eval module_ext=\"$shrext_cmds\" - -# Only bother with this test if module extension is different from -# shared extension -AT_CHECK([test "$shared_ext" != "$module_ext" || exit 77]) - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -prefix=`pwd`/inst -libdir=$prefix/lib -bindir=$prefix/bin -mkdir $prefix $libdir $bindir - -# This code is copied from the Autobook: -# -# so if it needs changes, be sure to notify the Autobook authors -# about them. - -AT_DATA([simple-module.c], -[[ -#include - -#ifdef __cplusplus -extern "C" -#endif -int -run (const char *argument) -{ - printf ("Hello, %s!\n", argument); - return 0; -} -]]) - -AT_DATA([ltdl-loader.c], -[[ -#include -#include -#ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -# define EXIT_SUCCESS 0 -#endif - -#include -#ifndef PATH_MAX -# define PATH_MAX 255 -#endif - -#include -#include - -#ifndef MODULE_PATH_ENV -# define MODULE_PATH_ENV "MODULE_PATH" -#endif - -typedef int entrypoint (const char *argument); - -/* Save and return a copy of the dlerror() error message, - since the next API call may overwrite the original. */ -static char *dlerrordup (char *errormsg); - -int -main (int argc, const char *argv[]) -{ - char *errormsg = NULL; - lt_dlhandle module = NULL; - entrypoint *run = NULL; - int errors = 0; - - if (argc != 3) - { - fprintf (stderr, "USAGE: main MODULENAME ARGUMENT\n"); - exit (EXIT_FAILURE); - } - - /* Initialise libltdl. */ - errors = lt_dlinit (); - - /* Set the module search path. */ - if (!errors) - { - const char *path = getenv (MODULE_PATH_ENV); - - if (path != NULL) - errors = lt_dlsetsearchpath (path); - } - - /* Load the module. */ - if (!errors) - module = lt_dlopenext (argv[1]); - - /* Find the entry point. */ - if (module) - { - run = (entrypoint *) lt_dlsym (module, "run"); - - /* In principle, run might legitimately be NULL, so - I don't use run == NULL as an error indicator - in general. */ - errormsg = dlerrordup (errormsg); - if (errormsg != NULL) - { - errors = lt_dlclose (module); - module = NULL; - } - } - else - errors = 1; - - /* Call the entry point function. */ - if (!errors) - { - int result = (*run) (argv[2]); - if (result < 0) - errormsg = strdup ("module entry point execution failed"); - else - printf ("\t=> %d\n", result); - } - - /* Unload the module, now that we are done with it. */ - if (!errors) - errors = lt_dlclose (module); - - if (errors) - { - /* Diagnose the encountered error. */ - errormsg = dlerrordup (errormsg); - - if (!errormsg) - { - fprintf (stderr, "%s: dlerror() failed.\n", argv[0]); - return EXIT_FAILURE; - } - } - - /* Finished with ltdl now. */ - if (!errors) - if (lt_dlexit () != 0) - errormsg = dlerrordup (errormsg); - - if (errormsg) - { - fprintf (stderr, "%s: %s.\n", argv[0], errormsg); - free (errormsg); - exit (EXIT_FAILURE); - } - - return EXIT_SUCCESS; -} - -/* Be careful to save a copy of the error message, - since the next API call may overwrite the original. */ -static char * -dlerrordup (char *errormsg) -{ - char *error = (char *) lt_dlerror (); - if (error && !errormsg) - errormsg = strdup (error); - return errormsg; -} -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la ]dnl - [simple-module.lo -rpath $libdir -module -avoid-version], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libsimple-dylib.la ]dnl - [simple-module.lo -rpath $libdir -avoid-version], - [], [ignore], [ignore]) -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ]dnl - [ltdl-loader.$OBJEXT -dlopen self $LIBLTDL], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp libsimple-dylib.la $libdir/libsimple-dylib.la], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=clean rm -f simple-module.la], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=clean rm -f libsimple-dylib.la], [], [ignore], [ignore]) - -rm $libdir/simple-module.la -rm $libdir/libsimple-dylib.la - -for dir in inst/lib "$libdir"; do - LT_AT_EXEC_CHECK([./ltdl-loader], [], [stdout], [ignore], - [$dir/simple-module World]) - AT_CHECK([$GREP "Hello, World" stdout], [], [ignore]) - LT_AT_EXEC_CHECK([./ltdl-loader], [], [stdout], [ignore], - [$dir/libsimple-dylib World]) - AT_CHECK([$GREP "Hello, World" stdout], [], [ignore]) -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/demo.at b/BUILD/libtool-2.4.7/tests/demo.at deleted file mode 100644 index 28b2d1f..0000000 --- a/BUILD/libtool-2.4.7/tests/demo.at +++ /dev/null @@ -1,986 +0,0 @@ -# demo.at -- Linking and loading. -*- Autotest -*- -# -# Copyright (C) 2003-2004, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2003 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Linking and loading.]) - -## ------------------------------------------- ## -## Some functions shared by later tests cases. ## -## ------------------------------------------- ## - -# This function needs to be used, rather than 'exit', when a 'trap' handler is -# in effect that refers to $?. -func_exit () -{ - (exit $1); exit $1 -} - -func_restore_files () -{ - test -n "$objdir" || exit 1 - mv -f "$objdir"/temp/libs/* "$objdir" - mv -f "$objdir/temp/libhello.la" . - rm -rf "$objdir/temp" -} - -func_save_files () -{ - test -n "$objdir" || exit 1 - $lt_INSTALL -d "$objdir/temp/libs" - cp -f libhello.la "$objdir/temp" - cp -f "$objdir"/libhello.* "$objdir/lt-hell$EXEEXT" "$objdir/temp/libs" -} - - -# _LT_DEMO_SETUP -# -------------- -m4_define([_LT_DEMO_SETUP], -[AT_DATA([configure.ac], -[[AC_INIT([demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf $@ - echo '#! /bin/sh' > $@ - echo 'echo sorry, -dlopen is unsupported' >> $@ - chmod +x $@ - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -]]) - -AT_DATA([demo.mk], -[[## Don't abort for lack of demo.mk -]]) - -AT_DATA([foo.h], -[[#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -]]) - -AT_DATA([foo.c], -[[#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -]]) - -AT_DATA([hell1.c], -[[#include -int hell1 (void) { return 1; } -]]) - -AT_DATA([hell2.c], -[[#include -int hell2 (void) { return 2; } -]]) - -AT_DATA([hello.c], -[[#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -]]) - -AT_DATA([main.c], -[[#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -]]) - -AT_DATA([dlmain.c], -[[#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -]]) - -LT_AT_HOST_DATA([expout], -[[Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -]]) - -prefix=`pwd`/_inst -]) # _LT_DEMO_SETUP - - -# _LT_CHECK_EXECUTE([TARGETS]) -# ---------------------------- -# Run the listed make rules, and check that the built binaries work. -m4_define([_LT_CHECK_EXECUTE], -[LT_AT_CHECK_EXECUTE([$1], - [./hell_static], [./hell]) -AT_CHECK([./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)'], 0, [ignore]) -]) - - -# _LT_CHECK_INSTALL -# ----------------- -# Run the make install rule, and check that installed binaries work too. -m4_define([_LT_CHECK_INSTALL], -[# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -LT_AT_CHECK_EXECUTE([install], - [$prefix/bin/hell_static], [$prefix/bin/hell]) -AT_CHECK([$prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)'], 0, [ignore]) -]) - - -## ------------ ## -## Demo static. ## -## ------------ ## - -AT_SETUP([link against a preloaded static library]) - -_LT_DEMO_SETUP - -LT_AT_CHECK_CONFIG([--disable-shared], - [^build_old_libs=yes], [^build_libtool_libs=no]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## ------------ ## -## Demo shared. ## -## ------------ ## - -AT_SETUP([build and dynamically load a module]) - -_LT_DEMO_SETUP - -LT_AT_CHECK_CONFIG([--disable-static], - [^build_old_libs=no], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## ---------- ## -## Demo conf. ## -## ---------- ## - -AT_SETUP([preload static and dynamic module]) - -_LT_DEMO_SETUP - -LT_AT_CHECK_CONFIG([], - [^build_old_libs=yes], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## ------------ ## -## Demo deplib. ## -## ------------ ## - -# This is one of the essential tests for deplibs_check_method=pass_all. -# If this one passes with pass_all, it is likely that pass_all works. - -AT_SETUP([deplibs_check_method]) - -_LT_DEMO_SETUP - -AT_DATA([demo.mk], -[[EXTRA_LIBRARIES = libhell0.a -libhell0_a_SOURCES = -libhell0_a_LIBADD = hello.$(OBJEXT) foo.$(OBJEXT) -EXTRA_LTLIBRARIES = libhell1.la libhell2.la -libhell1_la_SOURCES = hell1.c -libhell1_la_LIBADD = -L. -lhell0 -libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir) -libhell1_la_DEPENDENCIES = libhell0.a -libhell2_la_SOURCES = hell2.c -libhell2_la_LIBADD = -L. -lhell0 -libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir) -libhell2_la_DEPENDENCIES = libhell0.a -EXTRA_PROGRAMS = hell0 -hell0_SOURCES = main.c -hell0_LDADD = libhell1.la libhell2.la $(LIBM) - -# 'hell0' in EXTRA_PROGRAMS gets translated to 'hell0.exe'; but we -# must explicitly list the wrapper script 'hell0'. (bin_PROGRAMS -# are handled seamlessly by automake rules; the extra step is only -# necessary for EXTRA_PROGRAMS) -CLEANFILES = $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) hell0 - -deplibs-check: hell0$(EXEEXT) -]]) - -LT_AT_CHECK_CONFIG([--disable-static]) -LT_AT_MAKE([deplibs-check]) -LT_AT_EXEC_CHECK([./hell0], 0, [expout]) - -AT_CLEANUP - - -## ------------ ## -## Demo nofast. ## -## ------------ ## - -AT_SETUP([disable fast install]) - -_LT_DEMO_SETUP - -LT_AT_CHECK_CONFIG([--enable-fast-install=no]) -AT_CHECK([$EGREP '^hardcode_action=relink' libtool && (exit 77)], 1) - -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## --------- ## -## Demo pic. ## -## --------- ## - -AT_SETUP([force PIC objects]) - -_LT_DEMO_SETUP - -LT_AT_CHECK_CONFIG([--with-pic]) -_LT_CHECK_EXECUTE - -AT_CLEANUP - - -## ----------- ## -## Demo nopic. ## -## ----------- ## - -AT_SETUP([force non-PIC objects]) - -AT_CHECK([case $host in -hppa*|x86_64*|s390*) - # These hosts cannot use non-PIC shared libs - exit 77 ;; -*-solaris*|*-sunos*) - # Libtool does not build non-PIC shared libs on these hosts - exit 77 ;; -esac - -if test "X$build" = "X$host" && test -d "/etc/selinux"; then - _selinux=`getenforce 2>/dev/null || echo "Disabled"` - case $_selinux in - *Enforcing) - _sebool_allow_execmod=`getsebool allow_execmod 2>/dev/null` - case $_sebool_allow_execmod in - *off) - # SELinux policy disallows non-PIC - exit 77 - ;; - esac - ;; - esac -fi -]) - -_LT_DEMO_SETUP -LT_AT_CHECK_CONFIG([--with-pic=no]) -_LT_CHECK_EXECUTE - -AT_CLEANUP - - -## -------------- ## -## Demo hardcode. ## -## -------------- ## - -AT_SETUP([hardcoding library path]) - -_LT_DEMO_SETUP - -AT_DATA([demo.mk], -[[hardcode_tests = hc-direct hc-libflag hc-libpath hc-minusL -CLEANFILES = $(hardcode_tests) - -# Unfortunately, in order to test libtool thoroughly, we need access -# to its private directory. -objdir = `$(LIBTOOL) --config | $(SED) -n -e 's/^objdir=\(.*\)$$/\1/p'` - -# Test programs to see what gets hardcoded. -.PHONY: hardcode -hardcode: $(hardcode_tests) -SET_HARDCODE_FLAGS = \ - eval `$(LIBTOOL) --config | $(SED) -n -e '/^hardcode_.*=/p; /^wl=/p'` -hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la - @rm -f hc-direct - @echo "You may ignore any linking errors from the following command:" - @shlib=./$(objdir)/libhello.a; \ - eval "`$(GREP) '^library_names' libhello.la`"; \ - for lib in $$library_names; do \ - shlib="./$(objdir)/$$lib"; \ - done; \ - $(SET_HARDCODE_FLAGS); \ - libdir=$(libdir); \ - flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ - echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ - eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@" - -hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la - @$(SET_HARDCODE_FLAGS); \ - libdir=`pwd`/$(objdir); \ - flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ - if test -z "$$flag"; then \ - echo "echo unsupported > $@"; \ - echo unsupported > $@ || status="$$?"; \ - else \ - echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM)"; \ - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM) || status="$$?"; \ - fi; \ - exit $$status - -hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la - @rm -f hc-libpath - @echo "You may ignore any linking errors from the following command:" - @$(SET_HARDCODE_FLAGS); \ - eval `$(LIBTOOL) --config | $(GREP) '^shlibpath_var='`; \ - libdir=$(libdir); \ - flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ - echo "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ - eval "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" - -hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES) - @rm -f hc-minusL - @$(SET_HARDCODE_FLAGS); \ - libdir=$(libdir); \ - flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ - echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ - eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" -]]) - -LT_AT_CHECK_CONFIG([--disable-static]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL - -eval `$EGREP '^library_names=' libhello.la` -AT_CHECK([test -n "$library_names" || (exit 77)]) - -# Extra tools we may need -: ${DUMPSTABS="dumpstabs"} - -LT_AT_MAKE([hardcode]) - -eval "`$LIBTOOL --config | $EGREP '^hardcode_(direct|minus_L|shlibpath_var|libdir_flag_spec)='`" - -AT_CHECK([[exit_status=0 -func_hardcode_filter_fp () -{ - $FGREP -v "LT_OBJDIR \"$objdir/\"" 2>/dev/null -} -for file in hc-*; do - case $file in - hc-direct) expected="$hardcode_direct" ;; - hc-libpath) expected="$hardcode_shlibpath_var" ;; - hc-minusL) expected="$hardcode_minus_L" ;; - - hc-libflag) - if test -n "$hardcode_libdir_flag_spec"; then - expected=yes - else - expected=unsupported - fi - ;; - - *) - continue - ;; - esac - - # Discover whether the objdir really was hardcoded. - hardcoded=no - - # Solaris cc may store the command line in a debugging section, - # which leads to false positives. Unfortunately, Solaris strip - # is not capable to remove the section (unlike GNU binutils strip). - # So we use dumpstabs if it seems to work. - if { $DUMPSTABS -d $file; } >/dev/null 2>&1; then - if $DUMPSTABS -d $file 2>/dev/null | $FGREP "$objdir" >/dev/null 2>&1; then - hardcoded=yes - else - hardcoded=no - fi - - # At least AIX fgrep doesn't work for binary files, and AIX also - # doesn't have strings(1), so we need this strange conversion - # (which only works on ASCII). - # AIX fgrep also has a limited line length, so we turn unprintable - # characters into newlines. - elif cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \ - | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then - hardcoded=yes - - elif cat $file | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then - # We retry fgrep without tr, in case the above lead to a false negative. - hardcoded=yes - elif ($SED -e '1!d' $file | $GREP 'unsupported') >/dev/null 2>&1; then - hardcoded=unsupported - fi - - # Check the result. - case $hardcoded in - yes) - if test yes = "$expected"; then - echo "$objdir was hardcoded in '$file', as libtool expected" - else - echo "$objdir was hardcoded in '$file', which fooled libtool" 1>&2 - exit_status=1 - fi - ;; - - no) - if test no = "$expected"; then - echo "$objdir was not hardcoded in '$file', as libtool expected" - else - echo "$objdir was not hardcoded in '$file', which fooled libtool" 1>&2 - exit_status=1 - fi - ;; - - unsupported) - if test unsupported = "$expected"; then - echo "'$file' was not linked properly, as libtool expected" - else - echo "'$file' was not linked properly, which fooled libtool" 1>&2 - exit_status=1 - fi - ;; - esac -done -]], 0, [ignore]) - -AT_CLEANUP - - -## ------------ ## -## Demo relink. ## -## ------------ ## - -AT_SETUP([binary relinking at install time]) -AT_KEYWORDS([interactive])dnl This test causes a popup on Windows - -_LT_DEMO_SETUP - -LT_AT_CHECK_CONFIG -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL - -# Check to make sure we have a dynamic library. -eval `$EGREP '^library_names=' libhello.la` -AT_CHECK([test -n "$library_names" || (exit 77)]) - -func_save_files -# AIX 5.3 '/bin/sh' will invoke the trap for 0 at the end of a -# function, so we set the trap outside of a function to be portable. -trap func_restore_files 0 1 2 13 15 - -eval "`$LIBTOOL --config | $EGREP '^shlibpath_overrides_runpath='`" -eval "`$LIBTOOL --config | $EGREP '^hardcode_(action|direct|into_libs)='`" - -# Allow the binary to link on-demand if need be. -./hell$EXEEXT >/dev/null || : - -# Remove libhello.la from build tree. -rm -f libhello.la "$objdir"/libhello.* - -# Either uninstalled ./hell will run using the just installed libraries -# when the uninstalled libs are missing, or relinking at install time -# is necessary, and the uninstalled ./hell has only the uninstalled -# library paths hardcoded. -AT_CHECK([./hell$EXEEXT >/dev/null || test relink,yes = "$hardcode_action,$hardcode_direct"]) - -# Link an incomplete libhello.la. -LT_AT_MAKE([libhello.la], [libhello_la_OBJECTS=hello.lo]) -AT_CHECK([test -f libhello.la]) - -# Try running uninstalled ./hell with only broken libhello.la in build tree. -# If the following has normal exit status, shlibpath_overrides_runpath is -# wrong, and should be set to 'no' on this host. -# The unusual '|| (exit 1)' is to normalize all non-zero exit statuses. -LT_AT_CHECK([./hell || (exit 1)], 1, [ignore], [ignore]) - -test relink = "$hardcode_action" || -test yes = "$shlibpath_overrides_runpath" || -{ - AT_CHECK([rm -f $objdir/lt-hell$EXEEXT]) - AT_CHECK([cp $objdir/hell$EXEEXT $objdir/lt-hell$EXEEXT]) - - # Running demo/hell with installed libhello.la. - # If the following check fails, then shlibpath_overrides_runpath is - # wrong, and should be set to 'yes' on this host. - LT_AT_CHECK([./hell], 0, [expout]) -} - -func_restore_files - -# Undo the effect of the previous 'trap' command. Some shellology: -# We cannot use "trap - 0 1 2 3 13 15", because Solaris sh would attempt to -# execute the command "-". "trap '' ..." is fine only for signal 0 (= normal -# exit); for the others we need to call 'exit' explicitly. The value of $? is -# 128 + signal number and is set before the trap-registered command is run. -trap '' 0 -trap 'func_exit $?' 1 2 3 13 15 - -AT_CLEANUP - - -## ----------------- ## -## Demo noinst link. ## -## ----------------- ## - -AT_SETUP([uninstalled libraries have priority]) - -_LT_DEMO_SETUP - -LT_AT_CHECK_CONFIG -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL - -# Remove libhello.la and hell from build tree. -rm -f libhello.la "hell$EXEEXT" - -# If this check fails (i.e. the make succeeds), then the installed library -# was used, which is wrong. -AT_CHECK([$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE hell$EXEEXT libhello_la_OBJECTS=hello.lo || (exit 1)], - [1], [ignore], [ignore]) - -AT_CLEANUP - - -## ----------- ## -## Pdemo conf. ## -## ----------- ## - -AT_SETUP([linking with long file names]) - -_LT_DEMO_SETUP - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = longer_file_name_hello.c longer_file_name_foo.c longer_file_name_foo2.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from longer_file_name_main.c and libhello.la -hell_SOURCES = longer_file_name_main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = longer_file_name_main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = longer_file_name_dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf $@ - echo '#! /bin/sh' > $@ - echo 'echo sorry, -dlopen is unsupported' >> $@ - chmod +x $@ - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -]]) - -AT_DATA([main.c], -[[#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (foo2 () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -]]) - -AT_DATA([foo.h], -[[#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int foo2 (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -]]) - -AT_DATA([foo2.c], -[[#include -#include -#include - -#include "foo.h" - -int foo2 (void) { - printf ("foo2 cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -]]) - -LT_AT_HOST_DATA([expout], -[[Welcome to GNU Hell! -cos (0.0) = 1 -foo2 cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -]]) - -for file in dlmain.c foo.c foo2.c hello.c main.c; do - mv $file longer_file_name_$file -done - -LT_AT_CHECK_CONFIG -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/depdemo.at b/BUILD/libtool-2.4.7/tests/depdemo.at deleted file mode 100644 index 7794cf2..0000000 --- a/BUILD/libtool-2.4.7/tests/depdemo.at +++ /dev/null @@ -1,431 +0,0 @@ -# depdemo.at -- Library interdependencies -*- Autotest -*- -# -# Copyright (C) 2003-2004, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2003 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Library interdependencies.]) - -## ------------------------------------------- ## -## Some functions shared by later tests cases. ## -## ------------------------------------------- ## - -func_restore_files () -{ - test "`echo _fnord/temp/libs/*`" = "_fnord/temp/libs/*" \ - || mv -f _fnord/temp/libs/* "l3/$objdir" - mv -f "_fnord/temp/libl3.la" "l3" - test -f "_fnord/temp/lt-depdemo$EXEEXT" \ - && mv -f "_fnord/temp/lt-depdemo$EXEEXT" "$objdir" - test -f "_fnord/temp/depdemo$EXEEXT" \ - && mv -f "_fnord/temp/depdemo$EXEEXT" "$objdir" - rm -rf "_fnord" -} - -func_save_files () -{ - test -n "$objdir" || exit 1 - $lt_INSTALL -d "_fnord/temp/libs" - test -f "$objdir/lt-depdemo$EXEEXT" \ - && cp -f "$objdir/lt-depdemo$EXEEXT" "_fnord/temp" - test -f "$objdir/depdemo$EXEEXT" \ - && cp -f "$objdir/depdemo$EXEEXT" "_fnord/temp" - cp -f l3/libl3.la "_fnord/temp" - cp -f l3/"$objdir"/* "_fnord/temp/libs" -} - - -# _LT_SETUP -# --------- -m4_define([_LT_SETUP], -[AT_DATA([configure.ac], -[[AC_INIT([depdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = l1 l2 l3 l4 - -bin_PROGRAMS = depdemo depdemo_static - -depdemo_SOURCES = main.c -depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ - $(top_builddir)/l4/libl4.la -depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ - $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la - -depdemo_static_SOURCES = $(depdemo_SOURCES) -depdemo_static_LDADD = $(depdemo_LDADD) -depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) -depdemo_static_LDFLAGS = $(STATIC) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -]]) - -AT_DATA([main.c], -[[#include -#include -#include - -#include "l1/l1.h" -#include "l2/l2.h" -#include "l4/l4.h" - -#define STREQ !strcmp - -int main (int argc, char **argv) -{ - printf("dependencies:\n"); - func_l1(0); - func_l2(0); - func_l4(0); - if (argc == 2 && STREQ (argv[1], "-alt") - && var_l1 + var_l2 + var_l4 == 8) - return 0; - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", - var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); - if (var_l1 + var_l2 + var_l4 != 19) - { - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", - var_l1,var_l2,var_l4); - return 1; - } - return 0; -} -]]) - -# Create 4 directorys of mostly identical files. -for i in 1 2 3 4; do - mkdir l$i - - # l$i/Makefile.am: - { - $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' - $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i - $ECHO 'lib_LTLIBRARIES = libl'$i'.la' - $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' - $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' - $ECHO 'libl'$i'_la_LIBADD =' - if test 4 != $i; then - j=1; while test "$j" -lt "$i"; do - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' - j=`expr 1 + $j` - done - else - j=3 - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' - fi - } > l$i/Makefile.am - - # l$i/l$i.h - [{ - $ECHO '#ifndef L'$i'_H' - $ECHO '#define L'$i'_H' - $ECHO - $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' - $ECHO '# ifdef BUILDING_LIBL'$i - $ECHO '# ifdef DLL_EXPORT' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' - $ECHO '# endif' - $ECHO '# else' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' - $ECHO '# endif' - $ECHO '#endif' - $ECHO '#ifndef LIBL'$i'_SCOPE' - $ECHO '# define LIBL'$i'_SCOPE extern' - $ECHO '#endif' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO 'extern "C" {' - $ECHO '#endif' - $ECHO - $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' - $ECHO ' int func_l'$i' (int);' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO '}' - $ECHO '#endif' - $ECHO '#endif' - }] > l$i/l$i.h - - # l$i/l$i.c: - { - if test 4 -ne $i; then - $ECHO '#include ' - $ECHO '#include ' - $ECHO - $ECHO '#include "l'$i'/l'$i'.h"' - j=1; while test "$j" -lt "$i"; do - $ECHO '#include "l'$j'/l'$j'.h"' - j=`expr 1 + $j` - done - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - if test 1 -eq $i; then - $ECHO ' var_l1++;' - else - j=1; while test "$j" -lt "$i"; do - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' var_l'$i' += var_l'$j';' - j=`expr 1 + $j` - done - fi - $ECHO ' return 0;' - $ECHO '}' - else - j=3 - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include "l'$i'/l'$i'.h"' - $ECHO '#include "l'$j'/l'$j'.h"' - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf("libm [cos (0.0) = %g]\n", (double) cos ((double) 0.0));' - $ECHO ' var_l'$i' += var_l'$j';' - $ECHO ' return 0;' - $ECHO '}' - fi - } > l$i/l$i.c -done - - -LT_AT_HOST_DATA([expout], -[[dependencies: -l1 (0) -l2 (0) - l1 (1) -l4 (0) - l3 (0) - l1 (2) - l2 (2) - l1 (3) -libm cos (0.0) = 1 -var_l1(4) + var_l2(6) + var_l4(9) == 19 -]]) - -prefix=`pwd`/_inst -]) # _LT_SETUP - - - -# _LT_CHECK_EXECUTE([TARGETS]) -# ---------------------------- -# Run the listed make rules, and check that the built binaries work. -m4_define([_LT_CHECK_EXECUTE], -[LT_AT_CHECK_EXECUTE([$1], - [./depdemo_static], [./depdemo]) -]) - -# _LT_CHECK_INSTALL -# ----------------- -# Run the make install rule, and check that installed binaries work too. -m4_define([_LT_CHECK_INSTALL], -[# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH -LT_AT_CHECK_EXECUTE([install], - [$prefix/bin/depdemo_static], [$prefix/bin/depdemo]) -]) - - -## --------------- ## -## Depdemo static. ## -## --------------- ## - -AT_SETUP([static library interdependencies]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-shared], - [^build_old_libs=yes], [^build_libtool_libs=no]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## --------------- ## -## Depdemo shared. ## -## --------------- ## - -AT_SETUP([shared library interdependencies]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-static], - [^build_old_libs=no], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## ------------- ## -## Depdemo conf. ## -## ------------- ## - -AT_SETUP([shared and static interdependencies]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([], - [^build_old_libs=yes], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## --------------- ## -## Depdemo nofast. ## -## --------------- ## - -AT_SETUP([disable fast install]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--enable-fast-install=no]) -AT_CHECK([$EGREP '^hardcode_action=relink' libtool && (exit 77)], 1) - -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## --------------- ## -## Depdemo relink. ## -## --------------- ## - -AT_SETUP([binary relinking at install time]) -AT_KEYWORDS([interactive])dnl This test causes a popup on Windows - -_LT_SETUP - -LT_AT_CHECK_CONFIG -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL - -# Check to make sure we have a dynamic library. -eval `$EGREP '^library_names=' l3/libl3.la` -AT_CHECK([test -n "$library_names" || (exit 77)]) - -func_save_files - -# AIX 5.3 '/bin/sh' will invoke the trap for 0 at the end of a -# function, so we set the trap outside of a function to be portable. -trap func_restore_files 0 1 2 13 15 - -eval "`$LIBTOOL --config | $EGREP '^shlibpath_overrides_runpath='`" -eval "`$LIBTOOL --config | $EGREP '^hardcode_(action|direct|into_libs)='`" - -# Can't finish these tests reliably when cross-compiling. -AT_CHECK([test "X$host" = "X$build" || (exit 77)]) - -# Allow the binary to link on-demand if need be. -./depdemo$EXEEXT >/dev/null || : - -# Remove l3/libl3.la from build tree. -rm -f l3/libl3.la "l3/$objdir"/libl3.* - -# Either: -# - uninstalled ./depdem will run using the just installed libraries -# when the uninstalled libs are missing; -# - on AIX 4.1, when the installed copy of libl3 is loaded, it brings -# with it the installed copies of libl1 and libl2, with disjoint -# counters var_l1 and var_l2. This is arguably unacceptable behaviour -# but definitely not enough of a reason for the test to fail; -# - or relinking at install time is necessary, and the uninstalled -# depdemo has only the uninstalled library paths hardcoded. -AT_CHECK([./depdemo$EXEEXT >/dev/null || - ./depdemo$EXEEXT -alt || - test relink,yes = "$hardcode_action,$hardcode_direct"]) - -# Link an incomplete l3/libl3.la. -(cd l3 && - LT_AT_MAKE([libl3.la], [libl3_la_OBJECTS=../l2/l2.lo]) -) -AT_CHECK([test -f l3/libl3.la]) - -# Try running uninstalled ./depdemo with only broken libl3.la in build tree. -# If the following has normal exit status, shlibpath_overrides_runpath is -# wrong, and should be set to 'no' on this host. -# The unusual '|| (exit 1)' is to normalize all non-zero exit statuses. -AT_CHECK([./depdemo$EXEEXT || (exit 1)], 1, [ignore], [ignore]) - -test relink = "$hardcode_action" || -test yes = "$shlibpath_overrides_runpath" || -{ - AT_CHECK([rm -f $objdir/lt-depdemo$EXEEXT]) - AT_CHECK([cp $objdir/depdemo$EXEEXT $objdir/lt-depdemo$EXEEXT]) - - # Running depdemo with installed libl3.la. - # If the following check fails, then shlibpath_overrides_runpath is - # wrong, and should be set to 'yes' on this host. - LT_AT_CHECK([./depdemo], 0, [expout]) -} - -# Undo the effect of the previous 'trap' command. Some shellology: -# We cannot use "trap - 0 1 2 3 13 15", because Solaris sh would attempt to -# execute the command "-". "trap '' ..." is fine only for signal 0 (= normal -# exit); for the others we need to call 'exit' explicitly. The value of $? is -# 128 + signal number and is set before the trap-registered command is run. -trap '' 0 -trap 'func_exit $?' 1 2 3 13 15 - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/deplib-in-subdir.at b/BUILD/libtool-2.4.7/tests/deplib-in-subdir.at deleted file mode 100644 index 56e3292..0000000 --- a/BUILD/libtool-2.4.7/tests/deplib-in-subdir.at +++ /dev/null @@ -1,157 +0,0 @@ -# deplib-in-subdir.at -- -*- Autotest -*- - -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# It should be possible to use a nontrivial relative path to the output -# file name when creating libraries and programs. The deplibs of these -# might have relative paths as well. When executing uninstalled programs, -# the paths relative to $PWD at build time needs to be translated to a -# path valid at execution time. -# -# Also test installing these libraries and programs; however, -# use consistent relative paths between 'libtool --mode=link' and -# 'libtool --mode=install' in this test. - -AT_SETUP([deplib in subdir]) -AT_KEYWORDS([libtool]) - -AT_DATA([a1.c], -[[int a1 () { return 0; } -]]) -AT_DATA([a2.c], -[[int a2 () { return 0; } -]]) -AT_DATA([a3.c], -[[int a3 () { return 0; } -]]) -AT_DATA([b1.c], -[[extern int a1 (); -int b1 () { return a1 (); } -]]) -AT_DATA([b2.c], -[[extern int a2 (); -int b2 () { return a2 (); } -]]) -AT_DATA([b3.c], -[[extern int a3 (); -int b3 () { return a3 (); } -]]) -AT_DATA([m.c], -[[extern int b1 (); -extern int b2 (); -extern int b3 (); -int main () { return b1 () + b2 () + b3 (); } -]]) - -cwd=`pwd` -instdir=$cwd/inst -lib1dir=$instdir/lib1 -lib2dir=$instdir/lib2 -bindir=$instdir/bin -addrunpath=$cwd/foobar -LDFLAGS="$LDFLAGS -no-undefined" - -flags='-export-symbols-regex ".*"' - -mkdir -p sub1 sub2/subsub sub3/subsub $instdir $lib1dir $lib2dir $bindir - -for file in a1.c a2.c a3.c b1.c b2.c b3.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -$CC $CPPFLAGS $CFLAGS -c m.c -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba1.la a1.lo -rpath $lib1dir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba2.la a2.lo -rpath $lib1dir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba3.la a3.lo -rpath $lib1dir], - [], [ignore], [ignore]) - -AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub2/subsub/libb1.la b1.lo ]dnl - [-rpath $lib2dir sub1/liba1.la' "$flags"], - [], [ignore], [ignore]) -cd sub2 -AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/libb2.la ../b2.lo ]dnl - [-rpath $lib2dir ../sub1/liba2.la' "$flags"], - [], [ignore], [ignore]) -cd subsub -AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb3.la ../../b3.lo ]dnl - [-rpath $lib2dir ../../sub1/liba3.la' "$flags"], - [], [ignore], [ignore]) -cd ../.. -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub3/subsub/m1$EXEEXT m.$OBJEXT ]dnl - [sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la], - [], [ignore], [ignore]) -cd sub3 -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/m2$EXEEXT ../m.$OBJEXT ]dnl - [../sub2/subsub/libb1.la ../sub2/subsub/libb2.la ../sub2/subsub/libb3.la], - [], [ignore], [ignore]) -cd subsub -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT ../../m.$OBJEXT ]dnl - [../../sub2/subsub/libb1.la ../../sub2/subsub/libb2.la ../../sub2/subsub/libb3.la], - [], [ignore], [ignore]) -cd ../.. - -for i in 1 2 3; do - LT_AT_EXEC_CHECK([./sub3/subsub/m$i]) - cd sub3 - LT_AT_EXEC_CHECK([./subsub/m$i]) - cd subsub - LT_AT_EXEC_CHECK([./m$i]) - cd ../.. -done - -for i in 1 2 3; do - AT_CHECK([$LIBTOOL --mode=install cp sub1/liba$i.la $lib1dir/liba.la], [], [ignore], [ignore]) -done - -AT_CHECK([$LIBTOOL --mode=install cp sub2/subsub/libb1.la $lib2dir/libb1.la], [], [ignore], [ignore]) -cd sub2 -AT_CHECK([$LIBTOOL --mode=install cp subsub/libb2.la $lib2dir/libb2.la], [], [ignore], [ignore]) -cd subsub -AT_CHECK([$LIBTOOL --mode=install cp libb3.la $lib2dir/libb3.la], [], [ignore], [ignore]) -cd ../.. - -AT_CHECK([$LIBTOOL --mode=install cp sub3/subsub/m1$EXEEXT $bindir/m1$EXEEXT], [], [ignore], [ignore]) -cd sub3 -AT_CHECK([$LIBTOOL --mode=install cp subsub/m2$EXEEXT $bindir/m2$EXEEXT], [], [ignore], [ignore]) -cd subsub -AT_CHECK([$LIBTOOL --mode=install cp m3$EXEEXT $bindir/m3$EXEEXT], [], [ignore], [ignore]) -cd ../.. - -AT_CHECK([$LIBTOOL --mode=clean rm -f sub1/liba1.la sub1/liba2.la sub1/liba3.la ]dnl - [sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la ]dnl - [sub3/subsub/m1$EXEEXT sub3/subsub/m2$EXEEXT sub3/subsub/m3$EXEEXT], - [], [ignore], [ignore]) - -for i in 1 2 3; do - LT_AT_EXEC_CHECK([$bindir/m$i$EXEEXT]) - cd $bindir - LT_AT_EXEC_CHECK([./m$i$EXEEXT]) - cd $cwd -done - -PATH=$bindir${PATH_SEPARATOR-:}$PATH -for i in 1 2 3; do - LT_AT_EXEC_CHECK([m$i$EXEEXT]) -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/deplibs-ident.at b/BUILD/libtool-2.4.7/tests/deplibs-ident.at deleted file mode 100644 index d56343b..0000000 --- a/BUILD/libtool-2.4.7/tests/deplibs-ident.at +++ /dev/null @@ -1,80 +0,0 @@ -# deplibs-ident.at -- detecting identical deplibs -*- Autotest -*- - -# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Detecting identical deplibs.]) - - -## ----------------------------------------------- ## -## Different relative paths within the build tree. ## -## ----------------------------------------------- ## - -AT_SETUP([build tree relpaths]) -AT_KEYWORDS([libtool]) - -mkdir a a/b c -echo 'int c() { return 0; }' > c/libcee.c -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c/libcee.c -o c/libcee.lo], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere], - [0],[ignore],[ignore]) - -depl_1=../c/libcee.la -depl_2=`pwd`/c/libcee.la -depl_3="-L../c -lcee" - -( - cd a - for i in 1 2 3; do - eval depend_on_c=\"\$depl_$i\" - echo "extern int c(void); int a$i() { return c(); }" > liba$i.c - AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba$i.c], - [0],[ignore],[ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la liba$i.lo $depend_on_c -rpath /nowhere], - [0],[ignore],[ignore]) - done -) - -AT_DATA([a/b/b.c], -[[extern int a1(void), a2(void), a3(void), c(void); -int main() { return a1() + a2() + a3() + c(); } -]]) - -( - cd a/b - AT_CHECK([$CC $CFLAGS -c b.c],[0],[ignore],[ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b$EXEEXT b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere], - [0],[stdout],[ignore]) - AT_CHECK([$EGREP 'cee.*cee' stdout], 1, [ignore], [ignore]) - AT_XFAIL_IF([dnl - eval `$LIBTOOL --config | $EGREP '^hardcode_(direct|direct_absolute|action)='` - case $hardcode_action,$hardcode_direct,$hardcode_direct_absolute in - relink,yes,no) :;; - *,no,*) :;; - *) false;; - esac]) - dnl This is currently broken in libtool -) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/deplibs-mingw.at b/BUILD/libtool-2.4.7/tests/deplibs-mingw.at deleted file mode 100644 index 50ba209..0000000 --- a/BUILD/libtool-2.4.7/tests/deplibs-mingw.at +++ /dev/null @@ -1,97 +0,0 @@ -# deplibs-mingw.at -- -*- Autotest -*- - -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# Check that deplibs are detected correctly even if there is no 'file' -# command installed. - -AT_SETUP([deplibs without file command]) -AT_KEYWORDS([libtool]) - -cwd=`pwd` -instdir=$cwd/inst -libdir=$instdir/lib -bindir=$instdir/bin -save_LDFLAGS=$LDFLAGS -LDFLAGS="$LDFLAGS -no-undefined" - -mkdir inst inst/bin inst/lib - -AT_DATA([a.c], -[[int a () { return 0; } -]]) -AT_DATA([b.c], -[[extern int a (); -int b () { return a (); } -]]) - -for file in a.c b.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir], - [], [ignore], [ignore]) -AT_CHECK([library_names= && . ./liba.la && if test -z "$library_names"; then exit 77; fi ], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore]) -rm -f $libdir/liba.la - -# check once with 'file' (if present) and once without, if on MinGW. -for try in with-file without-file; do - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir ]dnl - [-L$libdir -la], - [], [ignore], [ignore]) - AT_CHECK([library_names= && . ./libb.la && if test -z "$library_names"; then exit 99; fi ], - [], [ignore], [ignore]) - - case $host_os in - mingw*) - if file /; then - mkdir bin new-libtool - - cat >bin/file <<\EOF -#! /bin/sh -exit 1 -EOF - chmod +x bin/file - PATH=`pwd`/bin${PATH_SEPARATOR-:}$PATH - cd new-libtool - # configure might fail due to in-tree build of toplevel, or - # missing configure flags and other reasons. - LDFLAGS=$save_LDFLAGS - LT_AT_CONFIGURE([|| exit 77], ["$abs_top_srcdir"/configure]) - LDFLAGS="$LDFLAGS -no-undefined" - cd .. - LIBTOOL=new-libtool/libtool - export LIBTOOL - # Check whether the generated script is usable; otherwise, skip. - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libunrelated.la a.lo -rpath $libdir] dnl - [|| exit 77], [], [ignore], [ignore]) - else - break; - fi;; - *) - break;; - esac -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/destdir.at b/BUILD/libtool-2.4.7/tests/destdir.at deleted file mode 100644 index 398b008..0000000 --- a/BUILD/libtool-2.4.7/tests/destdir.at +++ /dev/null @@ -1,143 +0,0 @@ -# destdir.at -- test various DESTDIR issues -*- Autotest -*- - -# Copyright (C) 2006-2007, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2006 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([DESTDIR tests]) - -# Common setup for the next few tests. -m4_pushdef([_LT_DIRSETUP], -[# DESTDIR installs do not work with relink at install time. -AT_XFAIL_IF([eval `$LIBTOOL --config | $GREP '^fast_install='` - case $fast_install in no) :;; *) false;; esac]) -LDFLAGS="$LDFLAGS -no-undefined" -if test -n "$we_are_on_a_safe_system"; then # let's read shorter cmdlines. - DESTDIR=/tmp/dest - prefix=/tmp/inst - rm -rf $DESTDIR $prefix -else - DESTDIR=`pwd`/dest - prefix=`pwd`/inst -fi -libdir=$prefix/lib -bindir=$prefix/bin -$mkdir_p src $prefix $DESTDIR $DESTDIR$prefix -eval `$LIBTOOL --config | $EGREP '^(FGREP|OBJDUMP)='` -]) - - -AT_SETUP([Simple DESTDIR install]) -AT_KEYWORDS([libtool]) - -# A program that depends upon a library, both in the same package. -_LT_DIRSETUP -cd src -echo 'int a() { return 0; }' > a.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -echo 'extern int a(); int main() { return a(); }' > m.c -$CC $CPPFLAGS $CFLAGS -c m.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la -mkdir $DESTDIR$libdir $DESTDIR$bindir -AT_CHECK([$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT], - [], [ignore], [ignore]) -$LIBTOOL --mode=clean rm -f liba.la m -LT_AT_MVDIR(["$DESTDIR$libdir"], ["$libdir"]) -LT_AT_MVDIR(["$DESTDIR$bindir"], ["$bindir"]) -# We ignore failure on purpose here: we may not be root. -AT_CHECK([$LIBTOOL --mode=finish $libdir], [ignore], [ignore], [ignore]) -LT_AT_EXEC_CHECK([$bindir/m$EXEEXT]) - -AT_CLEANUP - - -AT_SETUP([DESTDIR with in-package deplibs]) -AT_KEYWORDS([libtool]) - -# A program that depends upon a library that depends upon another -# library, all in the same package. Use two deplibs, one in $libdir -# and one in another directory. -_LT_DIRSETUP -cd src -echo 'int a1dep() { return 0; }' > a1dep.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a1dep.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba1dep.la a1dep.lo -rpath $libdir -echo 'int a2dep() { return 0; }' > a2dep.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a2dep.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba2dep.la a2dep.lo -rpath ${libdir}2 -echo 'extern int a1dep(), a2dep(); int a() { return a1dep() + a2dep(); }' > a.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir liba1dep.la liba2dep.la -echo 'extern int a(); int main() { return a(); }' > m.c -$CC $CPPFLAGS $CFLAGS -c m.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la -mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir -AT_CHECK([$LIBTOOL --mode=install cp liba1dep.la $DESTDIR$libdir/liba1dep.la], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp liba2dep.la $DESTDIR${libdir}2/liba2dep.la], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT], - [], [ignore], [ignore]) -$LIBTOOL --mode=clean rm -f liba1dep.la liba2dep.la liba.la m -LT_AT_MVDIR(["$DESTDIR$libdir"], ["$libdir"]) -LT_AT_MVDIR(["$DESTDIR${libdir}2"], ["${libdir}2"]) -LT_AT_MVDIR(["$DESTDIR$bindir"], ["$bindir"]) -# We ignore failure on purpose here: we may not be root. -AT_CHECK([$LIBTOOL --mode=finish $libdir ${libdir}2], [ignore], [ignore], [ignore]) - -# put false libraries in the DESTDIR paths: if the installed program -# refers to them, that is a bug. -mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir -for lib in a1dep a2dep a; do - case $lib in - a2dep) ldir=${libdir}2;; - *) ldir=$libdir;; - esac - echo "int this_should_not_be_linked_against () { return 0; }" > $lib.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $lib.c - # Note the rpath argument includes $DESTDIR: the installed false libs - # should be functional (i.e., not need 'libtool --mode=finish'). - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o lib$lib.la $lib.lo -rpath $DESTDIR$ldir - $LIBTOOL --mode=install cp lib$lib.la $DESTDIR$ldir/lib$lib.la -done - -LT_AT_EXEC_CHECK([$bindir/m$EXEEXT]) - -# TODO: make this more portable: -if test false != "$OBJDUMP" && ($OBJDUMP -p $bindir/m$EXEEXT) >/dev/null 2>&1; then - AT_CHECK([$OBJDUMP -p $bindir/m$EXEEXT | $EGREP -i "R(UN)?PATH.*$DESTDIR"], [1]) - . $libdir/liba.la - set x $library_names - lname=$2 - if test -n "$lname"; then - AT_CHECK([$OBJDUMP -p $libdir/$lname | $EGREP -i "R(UN)?PATH.*$DESTDIR"], [1]) - fi -fi - -AT_CLEANUP - -m4_popdef([_LT_DIRSETUP]) diff --git a/BUILD/libtool-2.4.7/tests/dlloader-api.at b/BUILD/libtool-2.4.7/tests/dlloader-api.at deleted file mode 100644 index a87704f..0000000 --- a/BUILD/libtool-2.4.7/tests/dlloader-api.at +++ /dev/null @@ -1,441 +0,0 @@ -# dlloader.at -- test dlloader functionality -*- Autotest -*- -# -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([dlloader API]) -AT_KEYWORDS([libltdl]) - -AT_DATA([main.c], -[[#include -#include -#include -#include - -static int -first_init (lt_user_data data) -{ - const char *ctx = (const char *) data; - - printf ("first_init: %s\n", ctx); - - return 0; -} - -static lt_module -first_open (lt_user_data data, const char *filename, lt_dladvise advise) -{ - static const char *first_module = "first"; - const char *ctx = (const char *) data; - - /* Use a magic string to avoid possible interactions with file system - * objects. Prepend '/' to short-circuit libltdl's search of - * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). - */ - if (!filename || strcmp (filename, "/libltdl_dlloader_api_test_first")) - { - printf ("first_open denies a request\n"); - lt_dlseterror (LT_ERROR_FILE_NOT_FOUND); - return NULL; - } - - printf ("first_open (\"%s\"): %s\n", filename, ctx); - - return (lt_module) first_module; -} - -static const char * -first_symbol (void) -{ - return "first_symbol"; -} - -static void * -first_sym (lt_user_data data, lt_module module, const char *symbolname) -{ - const char *ctx = (const char *) data; - const char *filename = (const char *) module; - - printf ("first_sym (%s): %s\n", filename, ctx); - - return (void *) first_symbol; -} - -static int -first_close (lt_user_data data, lt_module module) -{ - const char *ctx = (const char *) data; - const char *filename = (const char *) module; - - printf ("first_close (%s): %s\n", filename, ctx); - - return 0; -} - -static int -first_exit (lt_user_data data) -{ - const char *ctx = (const char *) data; - - printf ("first_exit: %s\n", ctx); - - return 0; -} - -static int -last_init (lt_user_data data) -{ - const char *ctx = (const char *) data; - - printf ("last_init: %s\n", ctx); - - return 0; -} - -static lt_module -last_open (lt_user_data data, const char *filename, lt_dladvise advise) -{ - static const char *last_module = "last"; - const char *ctx = (const char *) data; - - /* Use a magic string to avoid possible interactions with file system - * objects. Prepend '/' to short-circuit libltdl's search of - * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). - */ - if (!filename || strcmp (filename, "/libltdl_dlloader_api_test_last")) - { - printf ("last_open denies a request\n"); - lt_dlseterror (LT_ERROR_FILE_NOT_FOUND); - return NULL; - } - - printf ("last_open (\"%s\"): %s\n", filename, ctx); - - return (lt_module) last_module; -} - -static const char * -last_symbol (void) -{ - return "last_symbol"; -} - -static void * -last_sym (lt_user_data data, lt_module module, const char *symbolname) -{ - const char *ctx = (const char *) data; - const char *filename = (const char *) module; - - printf ("last_sym (%s): %s\n", filename, ctx); - - return (void *) last_symbol; -} - -static int -last_close (lt_user_data data, lt_module module) -{ - const char *ctx = (const char *) data; - const char *filename = (const char *) module; - - printf ("last_close (%s): %s\n", filename, ctx); - - return 0; -} - -static int -last_exit (lt_user_data data) -{ - const char *ctx = (const char *) data; - - printf ("last_exit: %s\n", ctx); - - return 0; -} - -typedef const char *module_func (void); - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlvtable *first; - lt_dlvtable *last; - lt_dlhandle module = NULL; - module_func *symbol; - const char *first_ctx = "first_ctx"; - const char *last_ctx = "last_ctx"; - const lt_dlvtable *finder; - - LTDL_SET_PRELOADED_SYMBOLS (); - - if (lt_dlinit ()) - { - printf ("lt_dlinit failed\n"); - return 1; - } - - first = (lt_dlvtable *) malloc (sizeof (*first)); - if (!first) - { - printf ("malloc failed\n"); - err = 1; - goto cleanup; - } - - first->name = "first"; - first->sym_prefix = NULL; - first->module_open = first_open; - first->module_close = first_close; - first->find_sym = first_sym; - first->dlloader_init = first_init; /* test that it isn't called twice */ - first->dlloader_exit = first_exit; - first->dlloader_data = (lt_user_data) first_ctx; - first->priority = LT_DLLOADER_PREPEND; - - if (first_init (first->dlloader_data)) - { - printf ("first_init failed\n"); - err = 1; - goto cleanup; - } - - if (lt_dlloader_add (first)) - { - printf ("lt_dlloader_add failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - finder = lt_dlloader_find ("first"); - - if (!finder) - { - printf ("lt_dlloader_find failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("Found loader \"%s\"\n", finder->name); - - last = (lt_dlvtable *) malloc (sizeof (*last)); - if (!last) - { - printf ("malloc failed\n"); - err = 1; - goto cleanup; - } - - last->name = "last"; - last->sym_prefix = NULL; - last->module_open = last_open; - last->module_close = last_close; - last->find_sym = last_sym; - last->dlloader_init = last_init; /* test that it isn't called twice */ - last->dlloader_exit = last_exit; - last->dlloader_data = (lt_user_data) last_ctx; - last->priority = LT_DLLOADER_APPEND; - - if (last_init (last->dlloader_data)) - { - printf ("last_init failed\n"); - err = 1; - goto cleanup; - } - - if (lt_dlloader_add (last)) - { - printf ("lt_dlloader_add failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - finder = lt_dlloader_find ("last"); - - if (!finder) - { - printf ("lt_dlloader_find failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("Found loader \"%s\"\n", finder->name); - - /* Use a magic string to avoid possible interactions with file system - * objects. Prepend '/' to short-circuit libltdl's search of - * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). - */ - module = lt_dlopen ("/libltdl_dlloader_api_test_first"); - - if (!module) - { - printf ("lt_dlopen failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - symbol = (module_func *) lt_dlsym (module, "symbol"); - - if (!symbol) - { - printf ("lt_dlsym failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("result: %s\n", symbol ()); - - lt_dlclose (module); - module = lt_dlopen ("./module.la"); - - if (!module) - { - printf ("lt_dlopen failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - symbol = (module_func *) lt_dlsym (module, "symbol"); - - if (!symbol) - { - printf ("lt_dlsym failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("result: %s\n", symbol ()); - - lt_dlclose (module); - - /* Use a magic string to avoid possible interactions with file system - * objects. Prepend '/' to short-circuit libltdl's search of - * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). - */ - module = lt_dlopen ("/libltdl_dlloader_api_test_last"); - - if (!module) - { - printf ("lt_dlopen failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - symbol = (module_func *) lt_dlsym (module, "symbol"); - - if (!symbol) - { - printf ("lt_dlsym failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("result: %s\n", symbol ()); - - if (lt_dlopen ("no-module")) - { - printf ("lt_dlopen unexpectedly opened \"no-module\"\n"); - err = 1; - goto cleanup; - } - - if (lt_dlloader_remove ("first") != first) - { - printf ("vtable of first loader has changed\n"); - err = 1; - goto cleanup; - } - - free (first); - -cleanup: - if (module) - { - lt_dlclose (module); - } - lt_dlexit (); - return err; -} -]]) - -AT_DATA([module.c], -[[ -#ifdef __cplusplus -extern "C" -#endif -const char *symbol (void); -const char * -symbol (void) -{ - return "module_symbol"; -} -]]) - -LT_AT_HOST_DATA(expout, -[[first_init: first_ctx -Found loader "first" -last_init: last_ctx -Found loader "last" -first_open ("/libltdl_dlloader_api_test_first"): first_ctx -first_sym (first): first_ctx -result: first_symbol -first_close (first): first_ctx -first_open denies a request -result: module_symbol -first_open denies a request -last_open ("/libltdl_dlloader_api_test_last"): last_ctx -last_sym (last): last_ctx -result: last_symbol -first_open denies a request -last_open denies a request -first_exit: first_ctx -last_close (last): last_ctx -last_exit: last_ctx -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la ]dnl - [-rpath /nowhere -module -avoid-version -no-undefined ]dnl - [module.lo], - [], [ignore], [ignore]) - -dnl Not possible to override the preopen loader, so skip if not shared. -. ./module.la -AT_CHECK([test -n "$dlname" || (exit 77)]) - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl - [main.$OBJEXT -dlopen module.la $LIBLTDL], - [], [ignore], [ignore]) - -LT_AT_EXEC_CHECK([./main], [], [expout], [ignore], []) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/dumpbin-symbols.at b/BUILD/libtool-2.4.7/tests/dumpbin-symbols.at deleted file mode 100644 index f4bd0fe..0000000 --- a/BUILD/libtool-2.4.7/tests/dumpbin-symbols.at +++ /dev/null @@ -1,111 +0,0 @@ -# dumpbin-symbols.at -- libtool "dumpbin -symbols" support -*- Autotest -*- - -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Windows tests.]) -AT_SETUP([dumpbin -symbols section hiding]) - -# I don't know of a stable way to create a pair of objects that -# exhibits the potential problem, so this test fakes it by -# testing with output from a case that do have the potential -# problem. - -# First check if the global_symbol_pipe can handle the below -# test case at all, and skip if $NM is not MS dumpbin. - -AT_DATA([variable.c], -[[ -int some_variable = 0; -]]) - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c variable.c], [], [ignore], [ignore]) -AT_CHECK([$NM variable.$OBJEXT], [], [stdout], [ignore]) -AT_CHECK([$GREP 'External.*some_variable' stdout || exit 77], [], [ignore]) - -eval `$LIBTOOL --config | $EGREP '^(global_symbol_pipe)='` - -AT_DATA([dumpbin-output], -[[ -Dump of file foo.obj - -File Type: COFF OBJECT - -COFF SYMBOL TABLE -000 00AB766F ABS notype Static | @comp.id -001 00000001 ABS notype Static | @feat.00 -002 00000000 SECT1 notype Static | .drectve - Section length 8F, #relocs 0, #linenums 0, checksum 0 -004 00000000 SECT2 notype Static | .debug$S - Section length 44B4, #relocs 1C, #linenums 0, checksum 0 -006 00000000 SECT3 notype Static | .rdata - Section length 1, #relocs 0, #linenums 0, checksum 0, selection 2 (pick any) -008 00000000 SECT3 notype External | ?value@?$integral_constant@_N$0A@@tr1@std@@2_NB (public: static bool const std::tr1::integral_constant::value) -009 00000000 SECT4 notype Static | .rdata - Section length 1, #relocs 0, #linenums 0, checksum 77073096, selection 2 (pick any) -*snip lots of uninteresting crap* -12A 00000000 SECT5B notype Static | .text - Section length 4B, #relocs 2, #linenums 0, checksum 22AE8362, selection 2 (pick any) -12C 00000000 SECT5C notype Static | .debug$S - Section length 150, #relocs B, #linenums 0, checksum 0, selection 5 (pick associative Section 0x5B) -12F 00000000 SECT5D notype Static | .debug$T - Section length 5C, #relocs 0, #linenums 0, checksum 0 - -String Table Size = 0x15EF bytes - - -Dump of file conv.lib - -File Type: LIBRARY - -COFF SYMBOL TABLE -000 00AB766F ABS notype Static | @comp.id -001 00000001 ABS notype Static | @feat.00 -002 00000000 SECT1 notype Static | .drectve - Section length 2F, #relocs 0, #linenums 0, checksum 0 -004 00000000 SECT2 notype Static | .debug$S - Section length 70C, #relocs 5, #linenums 0, checksum 0 -006 00000000 SECT3 notype Static | .text - Section length A, #relocs 0, #linenums 0, checksum BAFC81C1 -008 00000000 SECT3 notype () External | _convenience -009 00000000 SECT4 notype Static | .debug$T - Section length 5C, #relocs 0, #linenums 0, checksum 0 - -String Table Size = 0x11 bytes - - Summary - - 5B3C .debug$S - B8 .debug$T - BE .drectve - 129 .rdata - C .sxdata - 613 .text - 6C .text$x - B8 .xdata$x -]]) - -# Check if the _convenience symbol from section SECT3 in conv.lib is -# present even if section SECT3 in foo.obj is hidden. -AT_CHECK([< dumpbin-output eval "$global_symbol_pipe"], [], [stdout]) -AT_CHECK([$GREP convenience stdout], [], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/duplicate_conv.at b/BUILD/libtool-2.4.7/tests/duplicate_conv.at deleted file mode 100644 index d672d16..0000000 --- a/BUILD/libtool-2.4.7/tests/duplicate_conv.at +++ /dev/null @@ -1,92 +0,0 @@ -# duplicate_conv.at -- duplicate convenience archive names -*- Autotest -*- - -# Copyright (C) 2006, 2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2006 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([duplicate convenience archive names]) -AT_KEYWORDS([libtool]) - -eval `$LIBTOOL --config | $SED -n '/^reload_cmds=/,/^$/p'` - -# We create two convenience archives with the same name, and _also_ -# containing an object with the same name. This is necessary to detect -# the failure with both 1.5.22 and HEAD, since the latter does not (did -# not?) remove the temporary output directory, thus masking the failure -# when all objects have distinct names. - -mkdir a b c - -echo 'int a () { return 0; }' > a/a.c -echo 'int a2() { return 0; }' > b/a.c -echo 'int b () { return 0; }' > b/b.c -echo 'extern int a(), a2(), b(); int c() { return a() + a2() + b(); }' > c.c -echo 'extern int c(); int main() { return c(); }' > main.c - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a/a.c -o a/a.lo -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b/a.c -o b/a.lo -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b/b.c -o b/b.lo -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c c.c -$CC $CPPFLAGS $CFLAGS -c main.c -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o a/liba.la a/a.lo -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o b/liba.la b/a.lo b/b.lo - -# Fold into convenience archive. -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -o libcee.la c.lo a/liba.la b/liba.la], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la], - [0], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) -$LIBTOOL --mode=clean rm -f libcee.la - - -# FIXME: For this test, we may want to zero out whole_archive_flag_spec; -# OTOH, we'd like to test the other situation, too. - -# Fold into static library. -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -static -o libcee.la c.lo a/liba.la b/liba.la], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la], - [0], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) -$LIBTOOL --mode=clean rm -f libcee.la - -# Fold into library. -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -o libcee.la c.lo a/liba.la b/liba.la], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la], - [0], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) -$LIBTOOL --mode=clean rm -f libcee.la - -AT_CHECK([test false = "$reload_cmds" && exit 77], [1]) - -# Test whether this works with reloadable objects as well. -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o cee.$OBJEXT c.lo a/liba.la b/liba.la], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT cee.$OBJEXT], - [0], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) - -# TODO: test dlpreloading of duplicates (when it is implemented) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/duplicate_deps.at b/BUILD/libtool-2.4.7/tests/duplicate_deps.at deleted file mode 100644 index afeba08..0000000 --- a/BUILD/libtool-2.4.7/tests/duplicate_deps.at +++ /dev/null @@ -1,77 +0,0 @@ -# duplicate_deps.at -- preserve duplicate convenience deps -*- Autotest -*- - -# Copyright (C) 2006-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2006 -$ -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([preserve duplicate convenience deps]) -AT_KEYWORDS([libtool]) - -# --preserve-dup-deps should work for convenience archives. - -# Create a circular dependency of liba and libb: -# a1 pulls in b1, that pulls in a2. -cat >a1.c <<\EOF -extern int b1 (); -int a1 () { return b1 (); } -EOF -cat >a2.c <<\EOF -int a2 () { return 0; } -EOF -cat >b1.c <<\EOF -extern int a2 (); -int b1 () { return a2 (); } -EOF -cat >main.c <<\EOF -extern int a1 (); -int main () { return a1 (); } -EOF - -for file in a1.c a2.c b1.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -$CC $CPPFLAGS $CFLAGS -c main.c -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o liba.la a1.lo a2.lo - -# This could be worked around by adding liba.la to libb.la -# (in that case all objects from liba would be merged into -# libb.a as well, possibly renamed.) -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b1.lo liba.la -AT_CHECK([$LIBTOOL --mode=link --tag=CC \ - $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la], - [0], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./main]) - -# Forgo the workaround and create a true circular dependency. -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b1.lo -# Some systems find all symbols anyway; skip this test on such systems. -AT_CHECK([$LIBTOOL --mode=link --tag=CC \ - $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la liba.la \ - && exit 77], - [1], [ignore], [ignore]) -# Other systems need special treatment, which currently fails. -AT_XFAIL_IF([:]) -AT_CHECK([$LIBTOOL --mode=link --preserve-dup-deps --tag=CC \ - $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la liba.la], - [0], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/duplicate_members.at b/BUILD/libtool-2.4.7/tests/duplicate_members.at deleted file mode 100755 index 82ceaed..0000000 --- a/BUILD/libtool-2.4.7/tests/duplicate_members.at +++ /dev/null @@ -1,78 +0,0 @@ -# duplicate_members.at -- duplicate members in archive tests -*- Autotest -*- - -# Copyright (C) 2005, 2007-2009, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Alexandre Oliva & Peter O'Gorman, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([duplicate members in archive tests]) -AT_KEYWORDS([libtool]) - -# we don't want to use whole_archive_flag_spec, even if available -$SED -e 's|^whole_archive_flag_spec=.*|whole_archive_flag_spec=|g' < $LIBTOOL > libtool - -chmod +x ./libtool -LIBTOOL=./libtool - -AT_DATA(bar.c, -[[extern int foo1 (), foo2 (), foo3 (), foo4 (), foo5 (), foo6 (); -int bar() { - int result = foo1 () + foo2 () + foo3 () + foo4 () + foo5 () + foo6 (); - return result; -} -]]) - -AT_DATA(main.c, -[[int bar(); -int main() -{ -if (bar() == 21) return 0; -return 1; -} -]]) - - -for a in 1 2 3 4 5 6 -do - mkdir $a - echo "int foo$a() {return $a;}" > $a/a.c -done - - -for a in 1 2 3 4 5 6 -do - $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o $a/a.lo $a/a.c -done -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libc0.la 6/a.lo -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la ]dnl - [1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la], [], [ignore], [ignore]) - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la ]dnl - [ bar.lo libconv.la -rpath /notexist], [], [ignore], [ignore]) - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.lo main.c -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl - [main.lo ./libbar.la], [], [ignore], [ignore]) - -LT_AT_EXEC_CHECK([./main],[0],[ignore],[ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/early-libtool.at b/BUILD/libtool-2.4.7/tests/early-libtool.at deleted file mode 100644 index 2cbf415..0000000 --- a/BUILD/libtool-2.4.7/tests/early-libtool.at +++ /dev/null @@ -1,230 +0,0 @@ -# early-libtool.at -- early libtool script generation -*- Autotest -*- - -# Copyright (C) 2005-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([libtool script generation.]) - - -## --------------------------------------------- ## -## Building libtool normally from config.status. ## -## --------------------------------------------- ## - -AT_SETUP([config.status]) - -AT_DATA([configure.ac], -[[AC_INIT([libtool-demo], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.in], -[[prefix = @prefix@ -libdir = @libdir@ -top_builddir = . -SHELL = @SHELL@ -DEFAULT_INCLUDES = -I. -I@srcdir@ -EXEEXT = @EXEEXT@ -LIBTOOL = @LIBTOOL@ -OBJEXT = @OBJEXT@ - -CPPFLAGS = @CPPFLAGS@ -CFLAGS = @CFLAGS@ -LDFLAGS = @LDFLAGS@ - -COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) -LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) -LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -o $@ - -all: hell$(EXEEXT) - -libhello.la: hello.lo - $(LINK) -rpath $(libdir) hello.lo -hell$(EXEEXT): main.$(OBJEXT) libhello.la - $(LINK) main.$(OBJEXT) libhello.la - -.SUFFIXES: -.SUFFIXES: .c .$(OBJEXT) .lo - -.c.$(OBJEXT): - $(COMPILE) -c $< -.c.lo: - $(LTCOMPILE) -c -o $@ $< -]]) - -AT_DATA([hello.c], -[[#include - -void -hello (void) -{ - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); -} -]]) - -AT_DATA([main.c], -[[#include - -extern void hello (void); - -int -main (void) -{ - printf ("Welcome to GNU Hell!\n"); - - hello (); - - return 0; -} -]]) - -cat > missing <<_EOF -#! /bin/sh -exit 0 -_EOF -chmod a+x missing - -LT_AT_LIBTOOLIZE([--copy --verbose --install]) -LT_AT_ACLOCAL([-I m4]) -LT_AT_AUTOCONF([--force]) -LT_AT_CONFIGURE -LT_AT_MAKE - -LT_AT_EXEC_CHECK([./hell], [0], [stdout]) -AT_CHECK([$GREP 'Welcome to GNU Hell' stdout], [], [ignore]) -AT_CHECK([$GREP 'This is not GNU Hello.' stdout], - [], [ignore]) - -AT_CLEANUP - - -## ------------------------------------------ ## -## Building and using libtool from config.lt. ## -## ------------------------------------------ ## - -AT_SETUP([config.lt]) - -AT_DATA([configure.ac], -[[AC_INIT([libtool-demo], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LT_OUTPUT - -cat >hello.c <<\_EOF -#include - -void -hello (void) -{ - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); -} -_EOF - -# Prove that we can run libtool from inside configure: -$SHELL ./libtool --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS \ - -I. -I$srcdir -c -o hello.lo hello.c || exit 1 -$SHELL ./libtool --mode=link --tag=CC $CC $CFLAGS $LDFLAGS \ - -o libhello.la -rpath /notexist hello.lo || exit 1 - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.in], -[[prefix = @prefix@ -libdir = @libdir@ -top_builddir = . -SHELL = @SHELL@ -DEFAULT_INCLUDES = -I. -I@srcdir@ -EXEEXT = @EXEEXT@ -LIBTOOL = @LIBTOOL@ -OBJEXT = @OBJEXT@ - -CPPFLAGS = @CPPFLAGS@ -CFLAGS = @CFLAGS@ -LDFLAGS = @LDFLAGS@ - -COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) -LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -o $@ - -all: hell$(EXEEXT) - -hell$(EXEEXT): main.$(OBJEXT) libhello.la - $(LINK) main.$(OBJEXT) libhello.la - -.SUFFIXES: -.SUFFIXES: .c .$(OBJEXT) - -.c.$(OBJEXT): - $(COMPILE) -c $< -]]) - -AT_DATA([hello.c], -[[#include - -void -hello (void) -{ - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); -} -]]) - -AT_DATA([main.c], -[[#include - -extern void hello (void); - -int -main (int argc, char *argv[]) -{ - printf ("Welcome to GNU Hell!\n"); - - hello (); - - return 0; -} -]]) - -cat > missing <<_EOF -#! /bin/sh -exit 0 -_EOF -chmod a+x missing - -LT_AT_LIBTOOLIZE([--copy --verbose --install]) -LT_AT_ACLOCAL([-I m4]) -LT_AT_AUTOCONF([--force]) -LT_AT_CONFIGURE -LT_AT_MAKE - -LT_AT_EXEC_CHECK([./hell], [0], [stdout]) -AT_CHECK([$GREP 'Welcome to GNU Hell' stdout], [], [ignore]) -AT_CHECK([$GREP 'This is not GNU Hello.' stdout], [], [ignore]) - -# Make sure config.status --recheck updates the libtool script -rm libtool -AT_CHECK([$SHELL ./config.status --recheck],[0],[ignore],[ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/exceptions.at b/BUILD/libtool-2.4.7/tests/exceptions.at deleted file mode 100644 index 28b1787..0000000 --- a/BUILD/libtool-2.4.7/tests/exceptions.at +++ /dev/null @@ -1,401 +0,0 @@ -# exception.at -- test C++ exception handling with libtool -*- Autotest -*- -# -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([C++ exception handling]) -AT_KEYWORDS([libtool]) -AT_KEYWORDS([libltdl]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" - -# Win32 (and cygwin) notes -# ------------------------ -# When using C++ and Win32 DLLs, data types used in the DLL's interface -# that are other-than-POD, must have vtables, typeinfo, and other -# elements resolved when the client is linked. This includes exception -# classes. Therefore, the exception class "modexc" thrown by the -# dynamically-loaded module must be defined in a separate DLL, to which -# both that module and main must be directly linked; hence, the 'common' -# library. Not using a 'common' library in this manner represents an -# ODR violation, unless the platform's runtime loader is capable of -# rationalizing vague linkage items such as vtables, typeinfo, and -# typename elements) at runtime. The Win32 loader is not capable of -# this, but some ELF loaders appear to be. -# -# Similar treatment is not necessary for liba (e.g. the libexc -# exception class), because that library is not dynamically loaded. As a -# consequence, vague linkage items for the class libexc are resolved at -# link time using the vague linkage rules, for both Win32 and other -# (e.g. ELF) platforms. -# -# Also, when linking a C++ DLL with another C++ DLL, some versions of -# the GNU toolchain on Win32 (or cygwin) mistakenly re-export symbols -# that were imported from the other DLL, when the client DLL is linked -# using -export-all-symbols. Similar issues MAY also arise with those -# versions of the GNU toolchain if using the libtool link flags -# -export-symbols LIST or -export-symbols-regex REGEX, if any symbols -# from the dependency, rather than client, library are listed (or match -# the regex). However, in this test, none of these situations apply, -# so we don't directly address it. Otherwise, the correct mechanism -# would be to avoid all of those flags, and instead explicitly decorate -# all symbols with appropriate __declspec (dllexport) or -# __declspec (dllimport) flags when building the DLLs and the clients. -# -# For more information, see these two threads: -# http://lists.gnu.org/archive/html/bug-libtool/2010-06/msg00069.html -# http://cygwin.com/ml/cygwin/2010-06/msg00392.html -# To sum up: C++ is complicated. -AT_DATA([common.h], -[[#ifndef LIBTOOL_TEST_COMMON_HEADER -#define LIBTOOL_TEST_COMMON_HEADER - -#include -#include - -#if defined __CYGWIN__ || defined _WIN32 -# if defined DLL_EXPORT || defined USING_COMMON_DLL -# if defined LIBTOOL_TEST_IN_COMMON -# define COMMON_IMPEXP __declspec (dllexport) -# else -# define COMMON_IMPEXP __declspec (dllimport) -# endif -# else -# define COMMON_IMPEXP -# endif -#else -# define COMMON_IMPEXP -#endif - -class COMMON_IMPEXP modexc : public std::exception { -public: - modexc (std::string str) : message (str) { } - ~modexc () throw () { } - virtual const char *what () const throw () - { - return message.c_str (); - } -private: - std::string message; -}; - -extern "C" int COMMON_IMPEXP common_dummy (void); -#endif -]]) - -AT_DATA([common.cpp], -[[#define LIBTOOL_TEST_IN_COMMON -#include "common.h" - -extern "C" -int common_dummy (void) -{ - return 0; -} -]]) - -AT_DATA([module.h], -[[#include "common.h" - -#if defined __CYGWIN__ || defined _WIN32 -# if defined DLL_EXPORT || defined USING_MODULE_DLL -# if defined LIBTOOL_TEST_IN_MODULE -# define MODULE_IMPEXP __declspec (dllexport) -# else -# define MODULE_IMPEXP __declspec (dllimport) -# endif -# else -# define MODULE_IMPEXP -# endif -#else -# define MODULE_IMPEXP -#endif - -extern "C" int MODULE_IMPEXP modfoo () throw (modexc); -]]) - -AT_DATA([module.cpp], -[[#include -#define LIBTOOL_TEST_IN_MODULE -#include "module.h" - -int modbar (void) throw (modexc) -{ - throw modexc ("exception in module"); -} - -extern "C" -int modfoo (void) throw (modexc) -{ - try { - modbar (); - } - catch (modexc e) { - std::cerr << "caught inside module: " << e.what () << '\n'; - throw modexc ("exception from module"); - } - return 0; -} -]]) - -AT_DATA([lib.h], -[[#include -#include - - -#if defined __CYGWIN__ || defined _WIN32 -# if defined DLL_EXPORT || defined USING_LIB_DLL -# if defined LIBTOOL_TEST_IN_LIB -# define LIB_IMPEXP __declspec (dllexport) -# else -# define LIB_IMPEXP __declspec (dllimport) -# endif -# else -# define LIB_IMPEXP -# endif -#else -# define LIB_IMPEXP -#endif - -class LIB_IMPEXP libexc : public std::exception { -public: - libexc (std::string str) : message (str) { } - ~libexc () throw () { } - virtual const char *what () const throw () - { - return message.c_str (); - } -private: - std::string message; -}; -int LIB_IMPEXP libfoo () throw (libexc); -]]) - -AT_DATA([lib.cpp], -[[#include -#define LIBTOOL_TEST_IN_LIB -#include "lib.h" - -int libbar (void) throw (libexc) -{ - throw libexc ("exception in library"); -} - -int libfoo (void) throw (libexc) -{ - try { - libbar (); - } - catch (libexc e) { - std::cerr << "caught inside lib: " << e.what () << '\n'; - throw libexc ("exception from library"); - } - return 0; -} -]]) - -AT_DATA([main.cpp], -[[#include -#include -#include -#include -#include -#include "common.h" -#include "lib.h" -#include "module.h" - -class exc : public std::exception { -public: - exc (std::string str) : message (str) { } - ~exc () throw () { } - virtual const char *what () const throw () - { - return message.c_str (); - } -private: - std::string message; -}; - -int foo (void) throw (exc) -{ - throw exc ("exception in program"); - return 0; -} - -int exceptions_in_prog (void) -{ - std::cerr << "exceptions_in_prog\n"; - try { - foo (); - } - catch (exc e) { - std::cerr << "caught: " << e.what () << '\n'; - return 0; - } - return 1; -} - -int exceptions_in_lib (void) -{ - std::cerr << "exceptions_in_lib\n"; - try { - libfoo (); - } - catch (libexc e) { - std::cerr << "caught: " << e.what () << '\n'; - return 0; - } - return 1; -} - -int exceptions_in_module (void) -{ - std::cerr << "exceptions_in_module\n"; - - if (lt_dlinit ()) - { - std::cerr << "init error: " << lt_dlerror () << '\n'; - return 1; - } - - // Some systems need RTLD_GLOBAL for exceptions to work in modules. - lt_dladvise advise; - if (lt_dladvise_init (&advise) || lt_dladvise_global (&advise)) - { - std::cerr << "error setting advise global\n"; - return 1; - } - - lt_dlhandle handle = lt_dlopenadvise ("module.la", advise); - if (handle == NULL) - { - std::cerr << "dlopen failed: " << lt_dlerror () << '\n'; - return 1; - } - lt_dladvise_destroy (&advise); - - typedef int (*pfun) (void); - pfun pf = (pfun) lt_dlsym (handle, "modfoo"); - if (pf == NULL) - { - std::cerr << "dlsym failed: " << lt_dlerror () << '\n'; - return 1; - } - - bool exception_caught = false; - try { - (*pf) (); - } - catch (modexc e) { - std::cerr << "caught: " << e.what () << '\n'; - exception_caught = true; - } - - /* Only close the module after all of its objects have gone out of scope. */ - if (exception_caught) - { - if (lt_dlclose (handle)) - { - std::cerr << "dlclose failed: " << lt_dlerror () << '\n'; - return 1; - } - if (lt_dlexit ()) - { - std::cerr << "lt_dlexit failed: " << lt_dlerror () << '\n'; - return 1; - } - return 0; - } - return 1; -} - -int main (void) -{ - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (exceptions_in_prog ()) - return 1; - if (exceptions_in_lib ()) - return 1; - if (exceptions_in_module ()) - return 1; - return 0; -} -]]) - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -moddir=$inst/mod -mkdir l m $inst $libdir $bindir $moddir - -# If the C++ compiler isn't capable, don't bother. -AT_CHECK([$CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77], [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c common.cpp], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c lib.cpp], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -c module.cpp], - [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/libcommon.la ]dnl - [common.lo -no-undefined -version-info 1:0:0 -rpath $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/liba.la ]dnl - [lib.lo -no-undefined -version-info 1:0:0 -rpath $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o m/module.la ]dnl - [module.lo l/libcommon.la -module -avoid-version -no-undefined -rpath $moddir], - [], [ignore], [ignore]) - -# We need -export-dynamic for the exception handling in modules to work. -AT_CHECK([$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT ]dnl - [main.$OBJEXT l/liba.la l/libcommon.la -dlopen m/module.la $LIBLTDL -export-dynamic], - [], [ignore], [ignore]) - -LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen m/module.la], [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=install cp l/libcommon.la $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp l/liba.la $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp m/module.la $moddir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp main$EXEEXT $bindir], - [], [ignore], [ignore]) -rm -rf l m main$EXEEXT - -LTDL_LIBRARY_PATH=$moddir -export LTDL_LIBRARY_PATH -LT_AT_EXEC_CHECK([$bindir/main], [], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/execute-mode.at b/BUILD/libtool-2.4.7/tests/execute-mode.at deleted file mode 100644 index 7f4ad39..0000000 --- a/BUILD/libtool-2.4.7/tests/execute-mode.at +++ /dev/null @@ -1,221 +0,0 @@ -# execute-mode.at -- libtool --mode=execute -*- Autotest -*- -# -# Copyright (C) 2008-2019, 2021-2022 Free Software Foundation, Inc. -# Written by Ralf Wildenhues, 2008 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([execute mode]) -AT_KEYWORDS([libtool]) - -eval `$LIBTOOL --config | $EGREP '^(FGREP)='` - -AT_DATA([foo], -[[#! /bin/sh -if test $# -gt 0; then - for arg - do - printf %s\\n "$arg" - done -else - : -fi -]]) - -AT_DATA([lt-wrapper], -[[#! /bin/sh -# Generated by GNU libtool. -# fake wrapper script. -program=lt-real -progdir=. -if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then - # Run the actual program with our arguments. - exec "$progdir/$program" ${1+"$@"} - echo "$0: cannot exec $program $*" >&2 - exit 1 -fi -]]) - -AT_DATA([lt-real], -[[#! /bin/sh -for arg -do - printf %s\\n "$arg" -done -cat -]]) - -AT_DATA([libfakelib.la], -[[# libfakelib.la - a libtool library file -# Generated by ltmain.sh (GNU libtool 1.2605 2008/03/04 22:31:32) 2.3a -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -dlname='' -library_names='' -old_library='libfakelib.a' -inherited_linker_flags='' -dependency_libs='' -weak_library_names='' -current= -age= -revision= -installed=no -shouldnotlink=yes -dlopen='' -dlpreopen='' -libdir='' -]]) - -mkdir sub -cp foo sub/foo -chmod +x foo sub/foo lt-wrapper lt-real - -AT_DATA([liba.c], -[[int a () { return 0; } -]]) - -AT_DATA([main.c], -[[#include -extern int a (); -int main (int argc, char **argv) -{ - int i; - for (i=1; i' \ - '' '' -do - if test -z "$arg1"; then - arg1=$arg2; continue - fi - AT_CHECK([$LIBTOOL --mode=execute ./foo abc "$arg1" "$arg2" xyz], [], [stdout], [ignore]) - AT_CHECK([$FGREP "$arg1" stdout], [], [ignore]) - AT_CHECK([test -z "$arg2" || $FGREP "$arg2" stdout], [], [ignore]) - AT_CHECK([test `$SED -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4]) - AT_CHECK([$LIBTOOL --mode=execute ./lt-wrapper abc "$arg1" "$arg2" xyz can-hide - case $archive_expsym_cmds in - *-retain-symbols-file*) echo false >can-hide ;; - esac]) -can_hide=: -test -s can-hide && can_hide=false - -LDFLAGS="$LDFLAGS -no-undefined" -libdir=`pwd`/inst/lib -mkdir inst inst/lib - -AT_DATA(a.c, -[[/* all kinds of data items */ -#ifdef __cplusplus -extern "C" { -#endif - -int v1; -static int v2; -int v3 = 0; -int v4 = 1; -extern const int v5, v6; -extern const char *v7; -extern const char v8[]; -extern int (*const v12) (void); -const int v5 = 0; -const int v6 = 1; -const char* v7 = "\01foo"; -const char v8[] = "\01bar"; -int v9(void) { return v2 + 1; } -int (*v10) (void); -int (*v11) (void) = v9; -int (*const v12) (void) = v9; - -typedef struct { int arr[1000]; } large; -large v13; -large v14 = { { 0 } }; -large v15 = { { 1 } }; - -int w1 (void) { return 0; } - -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA(asyms, -[[v1 -v3 -v4 -v5 -v6 -v7 -v8 -v9 -v10 -v11 -v12 -v13 -v14 -v15 -]]) - -AT_DATA(main.c, -[[ -/* w32 fun. With GCC, you can have auto-import, which will work for - * functions and non-const variables. With MSVC, you have to explicitly - * import all variables. Depending on the amount of portability, you - * need these annotations: LIBA_SCOPE for GCC, and also LIBA_SCOPE_VAR - * for MSVC. Of course you can merge both to one, this test only avoids - * that in order to expose the auto-import feature on Cygwin. - * - * For users, it's best to realize that they should not provide any - * non-function API at all. - */ -#if defined LIBA_DLL_IMPORT -# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ -# define LIBA_SCOPE extern __declspec(dllimport) -# if defined _MSC_VER -# define LIBA_SCOPE_VAR LIBA_SCOPE -# endif -# endif -#endif -#if !defined LIBA_SCOPE -# define LIBA_SCOPE extern -#endif -#if !defined LIBA_SCOPE_VAR -# define LIBA_SCOPE_VAR extern -#endif -#ifdef __cplusplus -extern "C" { -#endif -LIBA_SCOPE_VAR int v1; -LIBA_SCOPE_VAR int v3, v4; -LIBA_SCOPE const int v5, v6; -LIBA_SCOPE_VAR const char* v7; -LIBA_SCOPE_VAR const char v8[]; -extern int v9(void); -LIBA_SCOPE_VAR int (*v10) (void); -LIBA_SCOPE_VAR int (*v11) (void); -LIBA_SCOPE int (*const v12) (void); -#ifdef __cplusplus -} -#endif - -typedef struct { int arr[1000]; } large; -LIBA_SCOPE_VAR large v13, v14, v15; - -int main (void) -{ - char s = v7[0] + v8[0]; - return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() - + v13.arr[0] + v14.arr[0] + v15.arr[0] - - 8; -} -]]) - -AT_DATA([broken.c], -[[ -/* these symbols should not be exported */ -#ifdef __cplusplus -extern "C" { -#endif -extern int w1 (void); -#ifdef __cplusplus -} -#endif -int main (void) -{ - return w1 (); -} -]]) - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c],[0],[ignore],[ignore]) -AT_CHECK([$CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c],[0],[ignore],[ignore]) -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c broken.c],[0],[ignore],[ignore]) - -for exportsyms in '' '-export-symbols-regex "v.*"' '-export-symbols asyms' -do - # case 1: shared library built from object. - LT_AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \ - -rpath $libdir' $exportsyms], [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la], - [], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./main]) - if test -n "$exportsyms" && $can_hide; then - AT_CHECK([if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o broken$EXEEXT broken.$OBJEXT liba.la - then (exit 1); else :; fi], [], [ignore], [ignore]) - fi - - # case 2: shared library built from convenience archive. - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libconv.la a.lo], - [], [ignore], [ignore]) - LT_AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la libconv.la \ - -rpath $libdir' $exportsyms], [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la], - [], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./main]) - if test -n "$exportsyms" && $can_hide; then - AT_CHECK([if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o broken$EXEEXT broken.$OBJEXT liba.la - then (exit 1); else :; fi], [], [ignore], [ignore]) - fi -done - -AT_CHECK([$can_hide || (exit 77)]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/f77demo.at b/BUILD/libtool-2.4.7/tests/f77demo.at deleted file mode 100644 index 7b1ba4d..0000000 --- a/BUILD/libtool-2.4.7/tests/f77demo.at +++ /dev/null @@ -1,337 +0,0 @@ -# f77demo.at -- Fortran 77 language support. -*- Autotest -*- -# -# Copyright (C) 2003, 2005-2006, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Eric Lindahl, 2002 -# Written by Gary V. Vaughan, 2003 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([F77 language support.]) - - -# _LT_SETUP -# --------- -m4_define([_LT_SETUP], -[LT_AT_TAG([F77]) -AT_KEYWORDS([libtool]) - -AT_DATA([configure.ac], -[[AC_INIT([f77demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -AC_PROG_F77 -dnl When configuring for 'make dist' purposes, skip checks that may yield fatal -dnl errors when there is no working F77 compiler. -if test -z "$with_dist"; then - dnl Check the flags needed to link f77 programs with ld (i.e. cc) - AC_F77_LIBRARY_LDFLAGS - dnl Check for underscoring of external names - AC_F77_WRAPPERS -fi -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la - -libfoo_la_SOURCES = foof.f -libfoo_la_LIBADD = libfoo2.la -libfoo_la_LDFLAGS = -no-undefined - -libfoo2_la_SOURCES = foof2.f -libfoo2_la_LDFLAGS = -no-undefined - -libfoo3_la_SOURCES = foof3.f -libfoo3_la_LDFLAGS = -no-undefined - -libmix_la_SOURCES = foof.f foof2.f fooc.c -libmix_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h - -bin_PROGRAMS = fprogram cprogram - -fprogram_SOURCES = fprogram.f -fprogram_LDADD = libfoo.la libfoo3.la - -cprogram_SOURCES = cprogram.c -cprogram_LDADD = libmix.la $(FLIBS) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -]]) - -AT_DATA([fprogram.f], -[[ program fprogram - implicit none - integer*4 arg,res - - write(*,*) 'Welcome to GNU libtool Fortran demo!' - write(*,*) 'Real programmers write in FORTRAN.' - arg=2 - - call fsub(arg,res) - - write(*,*) 'fsub returned, saying that 2 *',arg,' =',res - - if (res.eq.4) then - write(*,*) 'fsub is ok!' - endif - - call fsub3(arg,res) - - write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res - - if (res.eq.8) then - write(*,*) 'fsub3 is ok!' - endif - - stop - end -]]) - -AT_DATA([cprogram.c], -[[#include -#include - -#include "foo.h" - -int -main () -{ - int arg,cres,fres; - - printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); - - arg=2; - - cres=csub(arg); - - printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); - - if(cres==2*arg) - printf ("The C subroutine is ok!\n"); - - printf("\nCalling the C wrapper routine...\n"); - fres=fwrapper(arg); - - printf ("The C wrapper to the fortran subroutine returned,\n" - "claiming that 2*%d = %d\n",arg,fres); - - if(fres==2*arg) - printf ("The Fortran 77 subroutine is ok!\n"); - - return 0; -} -]]) - -AT_DATA([foo.h], -[[#ifndef _FOO_H_ -#define _FOO_H_ 1 - -/* config.h is necessary for the fortran name mangling */ -#include - -/* csub is an extremely useful subroutine that - * returns the argument multiplied by two :-) - */ -extern int csub(int); - -/* This routine performs the same action, but - * calls the fortran subroutine fsub to do the - * real work. - */ -extern int fwrapper(int); - -/* fsub does the same thing as csub, i.e. res=arg*2. - * Use autoconf macro for fortran function names. - * Note that fortran passes args by reference, so - * you need to provide pointers to your ints. - */ -extern -#ifdef __cplusplus -"C" -#endif -void F77_FUNC(fsub,FSUB)(int *arg, int *res); - -#endif -]]) - -AT_DATA([fooc.c], -[[#include -#include - -#include "foo.h" - -int csub(int arg) -{ - return (2*arg); -} - - -int fwrapper(int arg) -{ - int res; - printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); - F77_FUNC(fsub,FSUB)(&arg,&res); - printf("Returned from the Fortran 77 subroutine...\n"); - return res; -} -]]) - -AT_DATA([foof.f], -[[ subroutine fsub(arg,res) - write(*,*) 'fsub called' - call fsubf(arg,res) - return - end -]]) - -AT_DATA([foof2.f], -[[ subroutine fsubf(arg,res) - implicit none - integer*4 arg,res - write(*,*) 'fsubf called' - res=arg*2 - return - end -]]) - -AT_DATA([foof3.f], -[[ subroutine fsub3(arg,res) - implicit none - integer*4 arg,res - write(*,*) 'fsub3 called' - res=arg*4 - return - end -]]) - -LT_AT_AUTOHEADER -]) # _LT_SETUP - - -# _LT_CHECK_EXECUTE -# ----------------- -# Run the default make rule, and check that the built binaries work. -m4_define([_LT_CHECK_EXECUTE], -[LT_AT_MAKE - -# Due to differences in line-endings between C stdout and Fortran -# stdout, as well as unpredictable output ordering between platforms -# and runtimes, we can't reliably check the output here... although -# it should be some variation of the following: -LT_AT_HOST_DATA([expout], -[[ Welcome to GNU libtool Fortran demo! - Real programmers write in FORTRAN. - fsub called - fsubf called - fsub returned, saying that 2 * 2 = 4 - fsub is ok! - fsub3 called - fsub3 returned, saying that 4 * 2 = 8 - fsub3 is ok! -]]) -LT_AT_EXEC_CHECK([./fprogram], 0, [stdout]) - -# A weaker output content check that is agnostic to the issues above. -AT_CHECK([$GREP 'Welcome to GNU libtool Fortran demo!' stdout], - [0], [ignore]) - -# Similarly, we can't reliably compare actual output with the following. -LT_AT_HOST_DATA([expout], -[[Welcome to GNU libtool mixed C/Fortran demo! -The C subroutine returned, claiming that 2*2 = 4 -The C subroutine is ok! - -Calling the C wrapper routine... -Calling the Fortran 77 subroutine from the C wrapper... - fsub called - fsubf called -Returned from the Fortran 77 subroutine... -The C wrapper to the fortran subroutine returned, -claiming that 2*2 = 4 -The Fortran 77 subroutine is ok! -]]) -LT_AT_EXEC_CHECK([./cprogram], 0, [stdout]) - -# A weaker output content check that is agnostic to the issues above. -AT_CHECK([$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout], - [0], [ignore]) -]) - - -## --------------- ## -## F77demo static. ## -## --------------- ## - -AT_SETUP([static library]) - -# Executing the static fprogram might be interactive on MSYS. -AT_KEYWORDS([interactive]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-shared], - [^build_old_libs=yes], [^build_libtool_libs=no]) -_LT_CHECK_EXECUTE - -AT_CLEANUP - - -## --------------- ## -## F77demo shared. ## -## --------------- ## - -AT_SETUP([shared library]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-static], - [^build_old_libs=no], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE - -AT_CLEANUP - - -## ------------- ## -## F77demo conf. ## -## ------------- ## - -AT_SETUP([shared and static together]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([], - [^build_old_libs=yes], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/fail.at b/BUILD/libtool-2.4.7/tests/fail.at deleted file mode 100644 index 8f8c960..0000000 --- a/BUILD/libtool-2.4.7/tests/fail.at +++ /dev/null @@ -1,123 +0,0 @@ -# fail.at -- test that libtool really fail when it should -*- Autotest -*- -# -# Copyright (C) 2005, 2008-2009, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# TODO: many possible failure cases missing. (But how to simulate a full disk?) - -AT_SETUP([Failure tests]) -AT_KEYWORDS([libtool]) -eval `$LIBTOOL --config | $EGREP '^(pic_mode|pic_flag|build_old_libs|build_libtool_libs)='` -LDFLAGS="$LDFLAGS -no-undefined" - -m4_pushdef([FAIL_CHECK], -[AT_CHECK([if $1; then (exit 1); else :; fi], [0], [ignore], [ignore]) -]) - -AT_DATA([script], -[[#! /bin/sh -exit 0 -]]) -chmod +x script -if test -x script >/dev/null 2>&1; then - test_x="test -x" -else - test_x=: -fi - -# compile failure -echo 'choke me' > a.c -FAIL_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c]) -AT_CHECK([test -f a.lo], [1]) - -# non-PIC compile failure -case $pic_mode in default | no) - case " $CFLAGS " in - *\ -prefer-pic\ *) ;; - *) - case $build_old_libs,$pic_flag in yes,*-DPIC*) - AT_DATA([a.c], [[ -#ifndef PIC - choke me -#endif -]]) - FAIL_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -no-suppress -c a.c]) - AT_CHECK([test -f a.lo], [1]) - ;; - esac - ;; - esac - ;; -esac - -# program creation failure. -# We can't rely on 'main' not being present: the QNX linker -# won't error out in that case, although the resulting binary won't work. -# So we provoke a link failure due to an unresolved symbol, and require -# libtool to fail only if the link without libtool would have failed, too. -cat > a.c <<'EOF' -extern int nonexistent_function (void); -int main (void) -{ - return nonexistent_function (); -} -EOF -$CC $CPPFLAGS $CFLAGS -c a.c -if $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT; then :; else - rm -f a a$EXEEXT - FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT]) - AT_CHECK([{ test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; }], [1]) - FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT -static]) - AT_CHECK([{ test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; }], [1]) -fi - -# shared library creation failure -case $build_libtool_libs in yes) - echo 'int duplicate_name(void) { return 0; }' > a.c - echo 'double duplicate_name(double x) { return 2.*x; }' > b.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c - # Unfortunately, this may actually succeed on AIX and IRIX :( - # So, also add a bogus object file to provoke more failure. - echo 'int whatever(void) { return 0;}' > c.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c.c - ( - . ./c.lo - test none = "$pic_object" || echo choke me >"$pic_object" - test none = "$non_pic_object" || echo choke me >"$non_pic_object" - ) - FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo b.lo c.lo -rpath /foo]) - AT_CHECK([test -f liba.la], [1]) - ;; -esac - -# Ensure we diagnose '-L path'. -echo 'int main () { return 0; }' > d.c -echo 'int foo () { return 0; }' > space-after-L.c -$CC $CPPFLAGS $CFLAGS -c d.c -$CC $CPPFLAGS $CFLAGS -c space-after-L.c -FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -L space-after-L.$OBJEXT -o d$EXEEXT d.$OBJEXT]) -FAIL_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o d$EXEEXT d.$OBJEXT -L]) - -m4_popdef([FAIL_CHECK]) -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/fcdemo.at b/BUILD/libtool-2.4.7/tests/fcdemo.at deleted file mode 100644 index ef05d94..0000000 --- a/BUILD/libtool-2.4.7/tests/fcdemo.at +++ /dev/null @@ -1,351 +0,0 @@ -# fcdemo.at -- Fortran 90/95 language support. -*- Autotest -*- -# -# Copyright (C) 2003, 2005-2006, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Eric Lindahl, 2002 -# Written by Gary V. Vaughan, 2003 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Fortran language support.]) - - -# _LT_SETUP -# --------- -m4_define([_LT_SETUP], -[LT_AT_TAG([FC]) -AT_KEYWORDS([libtool]) - -AT_DATA([configure.ac], -[[AC_INIT([fcdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -AC_LANG_PUSH([Fortran]) -AC_PROG_FC -dnl Check the flags needed to link fc programs with ld (i.e. cc) -AC_FC_LIBRARY_LDFLAGS -dnl Check for underscoring of external names -AC_FC_WRAPPERS -dnl We need to use .f90 and not .f to enable Automake FC support -dnl Some Intel ifc/ifort do not understand .f95. :-/ -AC_FC_SRCEXT([f90]) -dnl Yes, we want free-form Fortran! -AC_FC_FREEFORM -AC_LANG_POP - -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la - -libfoo_la_SOURCES = foof.f90 -libfoo_la_LIBADD = libfoo2.la -libfoo_la_LDFLAGS = -no-undefined - -libfoo2_la_SOURCES = foof2.f90 -libfoo2_la_LDFLAGS = -no-undefined - -libfoo3_la_SOURCES = foof3.f90 -libfoo3_la_LDFLAGS = -no-undefined - -libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c -libmix_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h - -bin_PROGRAMS = fprogram cprogram - -fprogram_SOURCES = fprogram.f90 -fprogram_LDADD = libfoo.la libfoo3.la - -cprogram_SOURCES = cprogram.c -cprogram_LDADD = libmix.la $(FCLIBS) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -# Work around Automake bug, where FCFLAGS_f90 is not provided: -.f90.o: - $(FCCOMPILE) -c -o @S|@@ $(FCFLAGS_f90) $< - -.f90.obj: - $(FCCOMPILE) -c -o @S|@@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'` - -.f90.lo: - $(LTFCCOMPILE) -c -o @S|@@ $(FCFLAGS_f90) $< -]]) - -AT_DATA([fprogram.f90], -[[program fprogram - implicit none - integer arg,res - - write(*,*) 'Welcome to GNU libtool Fortran demo!' - write(*,*) 'Real programmers write in FORTRAN.' - arg=2 - - call fsub(arg,res) - - write(*,*) 'fsub returned, saying that 2 *',arg,' =',res - - if (res.eq.4) then - write(*,*) 'fsub is ok!' - endif - - call fsub3(arg,res) - - write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res - - if (res.eq.8) then - write(*,*) 'fsub3 is ok!' - endif - - stop -end -]]) - -AT_DATA([cprogram.c], -[[#include -#include - -#include "foo.h" - -int -main () -{ - int arg,cres,fres; - - printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); - - arg=2; - - cres=csub (arg); - - printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); - - if (cres == 2*arg) - printf ("The C subroutine is ok!\n"); - - printf ("\nCalling the C wrapper routine...\n"); - fres = fwrapper (arg); - - printf ("The C wrapper to the fortran subroutine returned,\n" - "claiming that 2*%d = %d\n",arg,fres); - - if (fres == 2*arg) - printf ("The Fortran subroutine is ok!\n"); - - return 0; -} -]]) - -AT_DATA([foo.h], -[[#ifndef _FOO_H_ -#define _FOO_H_ 1 - -/* config.h is necessary for the fortran name mangling */ -#include - -/* csub is an extremely useful subroutine that - * returns the argument multiplied by two :-) - */ -extern int csub(int); - -/* This routine performs the same action, but - * calls the fortran subroutine fsub to do the - * real work. - */ -extern int fwrapper(int); - -/* fsub does the same thing as csub, i.e. res=arg*2. - * Use autoconf macro for fortran function names. - * Note that fortran passes args by reference, so - * you need to provide pointers to your ints. - */ -extern -#ifdef __cplusplus -"C" -#endif -void FC_FUNC(fsub,FSUB)(int *arg, int *res); - -#endif -]]) - -AT_DATA([fooc.c], -[[#include -#include - -#include "foo.h" - -int csub(int arg) -{ - return (2*arg); -} - - -int fwrapper(int arg) -{ - int res; - printf("Calling the Fortran subroutine from the C wrapper...\n"); - FC_FUNC(fsub,FSUB)(&arg,&res); - printf("Returned from the Fortran subroutine...\n"); - return res; -} -]]) - -AT_DATA([foof.f90], -[[subroutine fsub(arg,res) - write(*,*) 'fsub called' - call fsubf(arg,res) - return -end -]]) - -AT_DATA([foof2.f90], -[[subroutine fsubf(arg,res) - implicit none - integer arg,res - write(*,*) 'fsubf called' - res=arg*2 - return -end -]]) - -AT_DATA([foof3.f90], -[[subroutine fsub3(arg,res) - implicit none - integer arg,res - write(*,*) 'fsub3 called' - res=arg*4 - return -end -]]) - -LT_AT_AUTOHEADER -]) # _LT_SETUP - - -# _LT_CHECK_EXECUTE -# ----------------- -# Run the default make rule, and check that the built binaries work. -m4_define([_LT_CHECK_EXECUTE], -[LT_AT_MAKE - -# Due to differences in line-endings between C stdout and Fortran -# stdout, as well as unpredictable output ordering between platforms -# and runtimes, we can't reliably check the output here... although -# it should be some variation of the following: -LT_AT_HOST_DATA([expout], -[[ Welcome to GNU libtool Fortran demo! - Real programmers write in FORTRAN. - fsub called - fsubf called - fsub returned, saying that 2 * 2 = 4 - fsub is ok! - fsub3 called - fsub3 returned, saying that 4 * 2 = 8 - fsub3 is ok! -]]) -LT_AT_EXEC_CHECK([./fprogram], 0, [stdout]) - -# A weaker output content check that is agnostic to the issues above. -AT_CHECK([$GREP 'Welcome to GNU libtool Fortran demo!' stdout], - [0], [ignore]) - -# Similarly, we can't reliably compare actual output with the following. -LT_AT_HOST_DATA([expout], -[[Welcome to GNU libtool mixed C/Fortran demo! -The C subroutine returned, claiming that 2*2 = 4 -The C subroutine is ok! - -Calling the C wrapper routine... -Calling the Fortran subroutine from the C wrapper... - fsub called - fsubf called -Returned from the Fortran subroutine... -The C wrapper to the fortran subroutine returned, -claiming that 2*2 = 4 -The Fortran subroutine is ok! -]]) -LT_AT_EXEC_CHECK([./cprogram], 0, [stdout]) - -# A weaker output content check that is agnostic to the issues above. -AT_CHECK([$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout], - [0], [ignore]) -]) - - -## -------------- ## -## Fcdemo static. ## -## -------------- ## - -AT_SETUP([static library]) - -# Executing the static fprogram might be interactive on MSYS. -AT_KEYWORDS([interactive]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-shared], - [^build_old_libs=yes], [^build_libtool_libs=no]) -_LT_CHECK_EXECUTE - -AT_CLEANUP - - -## -------------- ## -## Fcdemo shared. ## -## -------------- ## - -AT_SETUP([shared library]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-static], - [^build_old_libs=no], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE - -AT_CLEANUP - - -## ------------ ## -## Fcdemo conf. ## -## ------------ ## - -AT_SETUP([shared and static together]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([], - [^build_old_libs=yes], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/flags.at b/BUILD/libtool-2.4.7/tests/flags.at deleted file mode 100644 index 706ea9f..0000000 --- a/BUILD/libtool-2.4.7/tests/flags.at +++ /dev/null @@ -1,116 +0,0 @@ -# flags.at -- libtool passing of flags -*- Autotest -*- -# -# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -m4_foreach([lt_tag], [CC, CXX, F77, FC, GCJ], -[AT_SETUP([passing lt_tag flags through libtool]) -AT_KEYWORDS([libtool]) -LT_AT_TAG(m4_defn([lt_tag])) - -LDFLAGS="$LDFLAGS -no-undefined" -eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" - -m4_case(lt_tag, -[CC], [AT_DATA([a.c], -[[int main () { return 0; } -]]) -compile="$CC $CPPFLAGS $CFLAGS" link="$CC $CFLAGS $LDFLAGS" source=a.c -], -[CXX], [AT_DATA([a.cpp], -[[int main () { return 0; } -]]) -compile="$CXX $CPPFLAGS $CXXFLAGS" link="$CXX $CXXFLAGS $LDFLAGS" source=a.cpp -], -[F77], [AT_DATA([a.f], -[[ program main - end -]]) -compile="$F77 $FFLAGS" link="$F77 $FFLAGS $LDFLAGS" source=a.f -], -[FC], [AT_DATA([a.f90], -[[ program main - end -]]) -compile="$FC $FCFLAGS" link="$FC $FCFLAGS $LDFLAGS" source=a.f90 -], -[GCJ], [AT_DATA([a.java], -[[class a {} -]]) -compile="$GCJ $GCJFLAGS" link="$GCJ $GCJFLAGS $LDFLAGS" source=a.java -]) - -# Linker flags are not passed to the archiver, so don't test static libraries. -if $LIBTOOL --features | $GREP 'enable shared libraries'; then - library_and_module='library.la "module.la -module -avoid-version"' -else - library_and_module= -fi - -eval "`$LIBTOOL --tag=lt_tag --config | $EGREP '^(wl|archive_cmds)='`" - -AT_CHECK([$LIBTOOL --tag=lt_tag --mode=compile $compile -c $source], - [], [ignore], [ignore]) - -# Linker flags are prefixed with $wl iff they are passed to the -# compiler driver, instead of directly to the linker. -case $archive_cmds in -*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; -*) maybe_wl=$wl compiler_flags_in_liblink=: ;; -esac - -for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do - case $flag in - -Wc, | -Xcompiler\ ) - AT_CHECK([$LIBTOOL -n --tag=lt_tag --mode=compile $compile ]dnl - [$flag-foo -c $source], [], [stdout], [ignore]) - AT_CHECK([$FGREP " -foo" stdout], [], [ignore]) - flag_prefix_prog= - flag_prefix_lib= - flags_in_liblink=$compiler_flags_in_liblink - ;; - -Wl, | -Xlinker\ ) - flag_prefix_prog=$wl - flag_prefix_lib=$maybe_wl - flags_in_liblink=: - ;; - esac - - AT_CHECK([$LIBTOOL -n --tag=lt_tag --mode=link $link ]dnl - [-o program$EXEEXT a.lo $flag-foo], [], [stdout], [ignore]) - AT_CHECK([$FGREP " $flag_prefix_prog-foo" stdout], [], [ignore]) - - eval set x "$library_and_module" - for output - do - test x = "$output" && continue - AT_CHECK([$LIBTOOL -n --tag=lt_tag --mode=link $link ]dnl - [-o $output a.lo -rpath /nowhere $flag-foo], [], [stdout], [ignore]) - if $flags_in_liblink; then - AT_CHECK([$FGREP " $flag_prefix_lib-foo" stdout], [], [ignore]) - else - AT_CHECK([$FGREP " $flag_prefix_lib-foo" stdout], [1]) - fi - done -done - -AT_CLEANUP -])dnl m4_foreach(tag) diff --git a/BUILD/libtool-2.4.7/tests/help.at b/BUILD/libtool-2.4.7/tests/help.at deleted file mode 100644 index ae0e7a7..0000000 --- a/BUILD/libtool-2.4.7/tests/help.at +++ /dev/null @@ -1,191 +0,0 @@ -# help.at -- standard command line options -*- Autotest -*- -# -# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Testing libtool functions.]) - -AT_SETUP([standard command line options]) -AT_KEYWORDS([libtool]) -AT_KEYWORDS([libtoolize]) - -AT_CHECK([$LIBTOOLIZE --help], [], [ignore]) -AT_CHECK([$LIBTOOLIZE --version], [], [stdout]) -AT_CHECK([$GREP 'Copyright.*Free Software Foundation' stdout], [], [ignore]) -AT_CHECK([$LIBTOOL --help], [], [ignore]) -AT_CHECK([$LIBTOOL --help-all], [], [ignore]) -AT_CHECK([$LIBTOOL --version], [], [stdout]) -AT_CHECK([$GREP 'Copyright.*Free Software Foundation' stdout], [], [ignore]) - -AT_CHECK([$LIBTOOL], [1], [stdout], [stderr]) -AT_CHECK([$GREP 'specify a MODE' stderr], [], [ignore]) -AT_CHECK([$GREP ' --help' stdout], [], [ignore]) - -AT_CLEANUP - - -AT_SETUP([mode short-hands]) - -AT_DATA([a.c], -[[int a () { return 0; } -]]) - -AT_DATA([main.c], -[[extern int a (); -int main () { return a (); } -]]) - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -mkdir $inst $libdir $bindir - -AT_CHECK([$LIBTOOL compile $CC $CPPFLAGS $CFLAGS -c a.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl - [-no-undefined -rpath $libdir], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL l $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo ]dnl - [liba.la], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL execute --dry-run ./main$EXEEXT], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL exe --dry-run ./main$EXEEXT], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL e --dry-run ./main$EXEEXT], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL install cp liba.la $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL i cp main$EXEEXT $bindir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL finish $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL f $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL uninstall rm -f $libdir/liba.la], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL u rm -f $bindir/main$EXEEXT], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL clean rm -f main$EXEEXT], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL cl liba.la], - [], [ignore], [ignore]) - -AT_CLEANUP - - -AT_SETUP([debug tracing]) - -AT_DATA([a.c], -[[int a () { return 0; } -]]) - -AT_DATA([b.c], -[[extern int a (); -int b () { return a (); } -]]) - -AT_DATA([main.c], -[[extern int b (); -int main () { return b (); } -]]) - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -mkdir $inst $libdir $bindir - -# This test will not work correctly if --debug is passed. -AT_CHECK([case "$LIBTOOL $CC $CPPFLAGS $CFLAGS $LDFLAGS " in ]dnl - [ *\ --debug\ *) exit 77;; *) :;; esac]) - -check_trace () -{ - if test X--debug = "X$trace"; then - AT_CHECK([$GREP 'enabling shell trace mode' stdout stderr], [0], [ignore]) - AT_CHECK([$GREP ' --mode' stderr], [0], [ignore]) - else - AT_CHECK([$GREP 'enabling shell trace mode' stdout stderr], [1]) - AT_CHECK([$GREP ' --mode' stderr], [1]) - fi -} - -orig_LIBTOOL=$LIBTOOL -for trace in '' --debug; do - LIBTOOL="$orig_LIBTOOL $trace" - - # Hypothesis: debug output should happen if (and only if) --debug is - # passed, for compile, link, install, uninstall, and clean modes. - AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c], - [], [stdout], [stderr]) - check_trace - AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c], - [], [stdout], [stderr]) - check_trace - AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl - [ -no-undefined -rpath $libdir], [], [stdout], [stderr]) - check_trace - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo ]dnl - [ -no-undefined -rpath $libdir liba.la], [], [stdout], [stderr]) - check_trace - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ]dnl - [libb.la], [], [stdout], [stderr]) - check_trace - LT_AT_NOINST_EXEC_CHECK([./main], [], [], [stdout], [stderr]) - check_trace - - AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir], - [], [stdout], [stderr]) - check_trace - - # Hypothesis: --debug should be passed to relink mode if (and only if) - # it was passed at link mode. - AT_CHECK([$orig_LIBTOOL --mode=install $lt_INSTALL liba.la libb.la $libdir], - [], [stdout], [stderr]) - if $GREP ': relinking ' stdout stderr; then - if test X--debug = "X$trace"; then - AT_CHECK([$GREP ' --mode=relink' stdout stderr | $GREP ' --debug '], - [0], [ignore]) - else - AT_CHECK([$GREP ' --mode=relink' stdout stderr | $GREP ' --debug '], - [1]) - fi - fi - - AT_CHECK([$LIBTOOL --mode=install cp main$EXEEXT $bindir], - [], [stdout], [stderr]) - check_trace - AT_CHECK([$LIBTOOL --mode=finish $bindir], [], [stdout], [stderr]) - check_trace - - AT_CHECK([$LIBTOOL --mode=uninstall rm -f $bindir/main$EXEEXT ]dnl - [$libdir/libb.la $libdir/liba.la], [], [stdout], [stderr]) - check_trace - AT_CHECK([$LIBTOOL --mode=clean rm -f $bindir/main$EXEEXT ]dnl - [$libdir/libb.la $libdir/liba.la], [], [stdout], [stderr]) - check_trace - -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/indirect_deps.at b/BUILD/libtool-2.4.7/tests/indirect_deps.at deleted file mode 100644 index 2af75ac..0000000 --- a/BUILD/libtool-2.4.7/tests/indirect_deps.at +++ /dev/null @@ -1,118 +0,0 @@ -# indirect_deps.at -- support for link_all_deplibs=no -*- Autotest -*- - -# Copyright (C) 2007-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2007. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([indirect convenience]) -AT_KEYWORDS([libtool]) - -AT_DATA([a.c], [[ -#include -int a () { return 0; } -double ad (double x) { return sin (x); } -]]) -AT_DATA([b.c], [[ -extern int a (); -extern double ad (double); -int b () { return a () + (int) ad (0.0); } -]]) -AT_DATA([c.c], [[ -extern int b (); -int c () { return b (); } -]]) -AT_DATA([m.c], [[ -extern int c (); -int main () { return c (); } -]]) - -LDFLAGS="$LDFLAGS -no-undefined" -for file in a.c b.c c.c; do - $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c $file -done -$CC $CPPFLAGS $CFLAGS -c m.c - -# liba is an indirect dependency of libd and of libconv. -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath /nowhere -lm -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b.lo liba.la -rpath /nowhere -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la c.lo libb.la -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libd.la libconv.la -rpath /nowhere - -for st in '' -static; do - AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m.$OBJEXT libd.la], - [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m.$OBJEXT libconv.la], - [], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./m1]) - LT_AT_EXEC_CHECK([./m2]) -done - -AT_CLEANUP - - -AT_SETUP([indirect uninstalled]) -AT_KEYWORDS([libtool]) - -AT_DATA([a.c], [[ -int a () { return 0; } -]]) -AT_DATA([b.c], [[ -extern int a (); -int b () { return a (); } -]]) -AT_DATA([c.c], [[ -extern int b (); -int c () { return b (); } -]]) - -AT_DATA([m1.c], [[ -extern int b (); -int main () { return b (); } -]]) -AT_DATA([m2.c], [[ -extern int c (); -int main () { return c (); } -]]) - -mkdir a b c -LDFLAGS="$LDFLAGS -no-undefined" -for file in a.c b.c c.c; do - $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c $file -done -for file in m1.c m2.c; do - $CC $CPPFLAGS $CFLAGS -c $file -done - -for st in '' -static; do - $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o a/liba.la a.lo -rpath /nowherea - $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o b/libb.la b.lo a/liba.la -rpath /nowhereb - $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o c/libcee.la c.lo b/libb.la -rpath /nowherec - - AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m1.$OBJEXT b/libb.la], - [], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m2.$OBJEXT c/libcee.la], - [], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./m1]) - LT_AT_EXEC_CHECK([./m2]) -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/infer-tag.at b/BUILD/libtool-2.4.7/tests/infer-tag.at deleted file mode 100644 index 6708f61..0000000 --- a/BUILD/libtool-2.4.7/tests/infer-tag.at +++ /dev/null @@ -1,98 +0,0 @@ -# infer-tag.at -- libtool without --tag -*- Autotest -*- -# -# Copyright (C) 2008, 2010-2019, 2021-2022 Free Software Foundation, -# Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# Check that func_infer_tag works. - -# We add one test per tag, so that only those tests are skipped -# for which the tags are disabled (otherwise we only ever test -# on systems where all tags are enabled). - -AT_SETUP([inferred tag]) -AT_KEYWORDS([libtool]) - -AT_DATA([a.c], -[[int a (void) { return 0; } -]]) - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c], - [], [ignore], [ignore]) - -AT_CLEANUP - -AT_SETUP([CXX inferred tag]) -LT_AT_TAG([CXX]) -AT_KEYWORDS([libtool]) - -AT_DATA([a.cpp], -[[int a (void) { return 0; } -]]) - -AT_CHECK([$LIBTOOL --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c a.cpp], - [], [ignore], [ignore]) - -AT_CLEANUP - -AT_SETUP([F77 inferred tag]) -LT_AT_TAG([F77]) -AT_KEYWORDS([libtool]) - -AT_DATA([a.f], -[[ program main - end -]]) - -AT_CHECK([$LIBTOOL --mode=compile $F77 $FFLAGS -c a.f], - [], [ignore], [ignore]) - -AT_CLEANUP - -AT_SETUP([FC inferred tag]) -LT_AT_TAG([FC]) -AT_KEYWORDS([libtool]) - -AT_DATA([a.f], -[[ program main - end -]]) - -AT_CHECK([$LIBTOOL --mode=compile $FC $FCFLAGS -c a.f], - [], [ignore], [ignore]) - -AT_CLEANUP - -AT_SETUP([GCJ inferred tag]) -LT_AT_TAG([GCJ]) -AT_KEYWORDS([libtool]) - -AT_DATA([A.java], -[[public class A { - private int a; - public A () { a = 0; } -}; -]]) - -AT_CHECK([$LIBTOOL --mode=compile $GCJ $GCJCFLAGS -c A.java], - [], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/inherited_flags.at b/BUILD/libtool-2.4.7/tests/inherited_flags.at deleted file mode 100644 index 8cc5a20..0000000 --- a/BUILD/libtool-2.4.7/tests/inherited_flags.at +++ /dev/null @@ -1,114 +0,0 @@ -# inherited_flags.at -- test inherited_linker_flags -*- Autotest -*- -# -# Copyright (C) 2005-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Peter O'Garman, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_SETUP([inherited_linker_flags]) -AT_KEYWORDS([libtool]) - -AT_DATA([foo.c], -[ -int foo() { return 1;} -]) - -AT_DATA([bar.c], -[ -int bar() { return 1;} -]) - -AT_DATA([baz.c], -[ -int baz() { return 1;} -]) - -AT_DATA([both.c], -[ -int both() { return 1;} -]) - -AT_DATA([main.c], -[ -int main() { return 0;} -]) - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o baz.lo baz.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o both.lo both.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.lo main.c -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo -rpath /nonexistent -no-undefined -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /nonexistent -no-undefined -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libboth.la both.lo -rpath /nonexistent -no-undefined - - -mv libfoo.la libfoo.la.bak -$SED -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_inlikely_existing_lib/g' < libfoo.la.bak > libfoo.la -rm libfoo.la.bak - -mv libbar.la libbar.la.bak -$SED -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_unlikely_existing_lib/g' < libbar.la.bak > libbar.la -rm libbar.la.bak - -mv libboth.la libboth.la.bak -$SED -e "s/^inherited_linker_flags.*/inherited_linker_flags='-llt_inlikely_existing_lib -llt_unlikely_existing_lib'/g" < libboth.la.bak > libboth.la -rm libboth.la.bak - -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la], - [ignore],[stdout],[ignore]) -# We used to grep for -# 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib' -# here. This fails on win32/MSVC because the generated command lines have a -# different syntax. So drop the first 'l'. -AT_CHECK([$LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77)], [1], [ignore]) -AT_CHECK([$GREP 'lt_[[ui]]nlikely_existing_lib.*lt_[[ui]]nlikely_existing_lib' stdout], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la], - [ignore],[stdout],[ignore]) -AT_CHECK([$GREP 'lt_[[ui]]nlikely_existing_lib.*lt_[[ui]]nlikely_existing_lib' stdout], - [0],[ignore],[ignore]) - -# now check for duplicates -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la], - [ignore],[stdout],[ignore]) -AT_CHECK([$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout], - [1],[ignore],[ignore]) -AT_CHECK([$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout], - [1],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la], - [ignore],[stdout],[ignore]) -AT_CHECK([$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout], - [1],[ignore],[ignore]) -AT_CHECK([$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout], - [1],[ignore],[ignore]) - -mv libboth.la libboth.la.bak -$SED "s/^inherited_linker_flags.*/inherited_linker_flags='-framework Cocoa -framework ApplicationServices'/" < libboth.la.bak > libboth.la -rm libboth.la.bak - -AT_CHECK([$LIBTOOL -n --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -framework Cocoa -framework ApplicationServices -o libbaz.la baz.lo libboth.la -no-undefined -rpath /nonexistent], - [], [stdout], [ignore]) -AT_CHECK([$GREP Cocoa.ltframework stdout], [1], [], []) -AT_CHECK([$GREP ' -framework Cocoa' stdout], [0], [ignore], []) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/install.at b/BUILD/libtool-2.4.7/tests/install.at deleted file mode 100644 index 9417b15..0000000 --- a/BUILD/libtool-2.4.7/tests/install.at +++ /dev/null @@ -1,53 +0,0 @@ -# install.at -- install mode tests -*- Autotest -*- -# -# Copyright (C) 2008-2009, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2008 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([Install tests]) -AT_KEYWORDS([libtool]) - -# Ensure that install_override_mode overrides the mode of the shared -# library (and only the shared library). - -AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], - [], [ignore]) -$SED 's|^\(install_override_mode\)=.*|\1=755|' < $LIBTOOL > ./libtool -LIBTOOL=./libtool -chmod a+rx $LIBTOOL - -inst=`pwd`/inst -mkdir inst - -echo 'int a () { return 0; }' > a.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl - [-rpath $inst -no-undefined], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL liba.la $inst], - [], [stdout], [ignore]) -AT_CHECK([$GREP ' -m 755' stdout], [], [ignore]) -AT_CHECK([$LIBTOOL --mode=install $lt_INSTALL -m 644 liba.la $inst], - [], [stdout], [ignore]) -AT_CHECK([$GREP ' -m 755' stdout], [], [ignore]) -AT_CHECK([$GREP ' -m 644.*liba.la' stdout], [], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lalib-syntax.at b/BUILD/libtool-2.4.7/tests/lalib-syntax.at deleted file mode 100644 index 4922a86..0000000 --- a/BUILD/libtool-2.4.7/tests/lalib-syntax.at +++ /dev/null @@ -1,137 +0,0 @@ -# lalib-syntax.at -- parsing .la files robustly -*- Autotest -*- -# -# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([syntax of .la files]) -AT_KEYWORDS([libtool]) -AT_KEYWORDS([libltdl]) - -AT_XFAIL_IF([:]) dnl libltdl does not consistently return non-NULL lt_dlerror - -AT_DATA([main.c], -[[#include -#include -#include - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle plugin_handle; - - if (argc < 2) - { - fprintf (stderr, "usage: %s plugin\n", argv[0]); - return 1; - } - - lt_dlinit (); - plugin_handle = lt_dlopenext (argv[1]); - if (NULL != plugin_handle) - { - printf ("plugin opened successfully!\n"); - lt_dlclose (plugin_handle); - } - else - { - const char *error = lt_dlerror (); - assert (error != NULL); - printf ("plugin failed to open: %s\n", error); - err = 1; - } - lt_dlexit (); - return err; -} -]]) - -AT_DATA([module.c], -[[int foo (void) { return 0; } -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$CPPFLAGS $LTDLINCL" - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la module.lo ]dnl - [-module -avoid-version -rpath /somewhere], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.$OBJEXT $LIBLTDL], - [], [ignore], [ignore]) - - -# Several bogus test cases. - -AT_DATA([missing-closing-quote.la], -[[# missing-closing-quote.la - a libtool library file -# Generated by libtool -dlname='module.so -library_names='module.so module.so module.so' -old_library='module.a' -installed=no -shouldnotlink=yes -libdir='/somewhere' -]]) - -AT_DATA([wrong-quotes.la], -[[# wrong-quotes.la - a libtool library file -# Generated by libtool -dlname=module.so -library_names='module.so module.so module.so' -old_library='module.a' -installed=no -shouldnotlink=yes -libdir='/somewhere' -]]) - -AT_DATA([no-dlname.la], -[[# no-dlname.la - a libtool library file -# Generated by libtool -installed=no -shouldnotlink=yes -libdir='/somewhere' -]]) - -AT_DATA([nonexistent-dlname.la], -[[# nonexistent-dlname.la - a libtool library file -# Generated by libtool -dlname='does-not-exist.so' -installed=no -shouldnotlink=yes -libdir='/somewhere' -]]) - -for file in ./missing-closing-quote.la ./wrong-quotes.la \ - ./no-dlname.la ./nonexistent-dlname.la; do - LT_AT_EXEC_CHECK([./main], [1], [stdout], [ignore], [$file]) - AT_CHECK([$GREP 'plugin failed to open' stdout], [], [ignore]) -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/libtool.at b/BUILD/libtool-2.4.7/tests/libtool.at deleted file mode 100755 index fd412ab..0000000 --- a/BUILD/libtool-2.4.7/tests/libtool.at +++ /dev/null @@ -1,244 +0,0 @@ -# libtool.at -- basic libtool operation tests -*- Autotest -*- -# -# Copyright (C) 2003-2005, 2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2003 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Basic libtool operation.]) - - -## ------------------ ## -## Check help output. ## -## ------------------ ## - -AT_SETUP([check help output]) - -AT_CHECK([$LIBTOOL --help], [0], [stdout], [stderr]) -AT_CHECK([$GREP '^Usage:' stdout stderr], [0], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link --help], [0], [stdout], [stderr]) -AT_CHECK([$GREP '^Usage:' stdout stderr], [0], [ignore]) - -AT_CLEANUP - - -## ------------------- ## -## No mode diagnostic. ## -## ------------------- ## - -AT_SETUP([diagnose no mode specified]) - -AT_CHECK([$LIBTOOL], [1], [ignore], [stderr]) -AT_CHECK([$GREP 'you must specify a MODE' stderr], [0], [ignore]) - -AT_CLEANUP - - -## ----------------------------------- ## -## Shell meta-characters in filenames. ## -## ----------------------------------- ## - -AT_SETUP([quote shell meta-characters in filenames]) - -eval `$LIBTOOL --config | $GREP '^wl='` - -# Do the torture test. -for mode in compile link install; do - - # Unfortunately, without an array data type, it is nearly impossible - # to protect libtool from metacharacters in filenames. So, we just - # try metacharacters in the options it needs to pass to other programs. - - # preargs and postargs need to go through libtool unmodified. - case $mode in - compile) - preargs="$CC -c" - preflag= - match_preflag= - flag=-DVAR= - postargs=foo.c - ;; - - link) - preargs="$CC -o hell -g -O" - preflag=-Wl, - match_preflag=$wl - flag=-someflag= - postargs=foo.o - ;; - - install) - preargs="install -c" - preflag= - match_preflag= - flag=--something= - postargs="hell /usr/local/bin/hell" - ;; - esac - - - # Trivial... - - AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag:test" $postargs], - [0], [stdout]) - # We must not attempt to match $preargs in the output, because libtool - # may modify them. For example, on Cygwin, 'libtool --mode=link gcc -o - # foo foo.o' becomes 'gcc -o foo.exe foo.o'. - AT_CHECK([$GREP "$mode:.*$match_preflag$flag:test " stdout], [0], [ignore]) - - - # Non-trivial... - - # Backslash needs to be double-escaped: one escape is stripped as the shell - # collects arguments for grep (\\\\\\\\ => \\\\), and then another escape - # is stripped by grep itself (\\\\ => \\) before the resulting expression is - # matched (grepping for \\ matches \): - AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag\\:test\\" $postargs], - [0], [stdout]) - # NOTE: we use "..."'"'"..." to insert a literal quote into the expression - # because "...\"..." is not expanded consistently by all shells. - AT_CHECK([$GREP "$mode:.*$match_preflag"'"\{0,1\}'"$flag\\\\\\\\:test\\\\\\\\"'"\{0,1\} ' stdout], - [0], [ignore]) - - # Shell metacharacters that should be backslashified by libtool. - for mchar in \" \` \$; do - AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs], - [0], [stdout]) - AT_CHECK([$GREP "$mode:.*$match_preflag"'"'"\{0,1\}$flag\\\\$mchar:test\\\\$mchar"'"'"\{0,1\} " stdout], [0], [ignore]) - done - - # Shell metacharacters that should be double quoted by libtool, and need - # backslash escaping for input to grep. - for mchar in "@<:@" "@:>@" "^" "*"; do - - AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs], - [0], [stdout]) - AT_CHECK([$GREP "$mode:.*$match_preflag\"$flag\\$mchar:test\\$mchar\" " stdout], [0], [ignore]) - done - - # Metacharacters that should be double quoted by libtool, but which are - # not special to grep (NOTE: Some of these ARE special to $EGREP!!). - for mchar in "~" "#" "&" "(" ")" "{" "}" "|" ";" "<" ">" "?" "'" " " " "; do - - AT_CHECK([$LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs], - [0], [stdout]) - AT_CHECK([$GREP "$mode:.*$match_preflag\"$flag$mchar:test$mchar\" " stdout], [0], [ignore]) - done -done - -AT_CLEANUP - - -## -------------------------- ## -## Transform source suffices. ## -## -------------------------- ## - -AT_SETUP([transform source suffices]) - -# Extensions taken from the ones that Automake recognizes, plus Objective C, -# and GNU Ada. Also test that multiple dots are handled correctly. -extensions="C F S ada adb ads asm c c++ cc cpp cxx f f90 F90 f95 F95 f03 F03 for go m s sx ada.ada" -bad_names=foo. - -for ext in $extensions; do - # Try a sample compile command. - AT_CHECK([$LIBTOOL -n --mode=compile compiler -c foo.$ext], - [1], [ignore], [stderr]) - AT_CHECK([$GREP 'cannot' stderr], [1], [ignore]) -done - -# Make sure that invalid suffixes are not recognized. -for name in $bad_names; do - AT_CHECK([$LIBTOOL -n --mode=compile compiler -c $name], - [1], [ignore], [stderr]) - AT_CHECK([$GREP 'cannot' stderr], [0], [ignore]) -done - -AT_CLEANUP - - -## --------------------- ## -## Check link operation. ## -## --------------------- ## - -AT_SETUP([check link mode operation]) - -AT_CHECK([$LIBTOOL -n --mode=link $CC -o gettext ../lib/libnlsut.a], [0], [stdout]) -AT_CHECK([$EGREP '../lib/libnlsut.a' stdout], [0], [ignore]) - - -AT_DATA([hell.lo], -[[# Generated by libtool -pic_object=none -non_pic_object=hell.o -]]) - -AT_CHECK([$LIBTOOL -n --mode=link $CC -o something foo.o hell.lo], [0], [stdout], [ignore]) -AT_CHECK([$FGREP '.lo ' stdout], [1], [ignore]) - -AT_CLEANUP - - -## -------------------------------- ## -## Check objectlist file operation. ## -## -------------------------------- ## - -AT_SETUP([check objectlist file operation]) - -AT_CHECK([$LIBTOOL -n --mode=link $CC -objectlist nonexistent], [1], [ignore], [stderr]) -AT_CHECK([$GREP 'nonexistent' stderr], [0], [ignore]) - -AT_CLEANUP - - -## --------------------------------- ## -## Check LT_SUPPORTED_TAG interface. ## -## --------------------------------- ## - -AT_SETUP([test LT_SUPPORTED_TAG interface]) - -AT_CHECK([test no != "$AUTOCONF" || exit 77]) - -cp $abs_top_srcdir/aclocal.m4 ./aclocal.m4 -cp $abs_top_srcdir/configure.ac ./configure.ac -cp -r $abs_top_srcdir/build-aux ./build-aux -cp -r $abs_top_srcdir/m4 ./m4 - -# Retrieve the list of tags supported by our main libtool script. -traced_tags=`$AUTOCONF --trace 'LT_SUPPORTED_TAG:$1'` -AT_CHECK([test -n "$traced_tags"]) - -# Ensure each of them is accepted by --tag. -# (We do some useless operation like erasing an empty file, because -# we are just interested in whether --tag accepts the tag or not.) -for tag in $traced_tags; do - AT_CHECK([$LIBTOOL -n --mode=link --tag=$tag compiler -o liba.la foo.lo], - [], [ignore], [stderr]) - AT_CHECK([$GREP 'ignoring unknown tag' stderr], [1], [ignore]) -done - -# Ensure the above command would have failed for unknown tags -AT_CHECK([$LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo], - [], [ignore], [stderr]) -AT_CHECK([$GREP 'ignoring unknown tag' stderr], [0], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/libtoolize.at b/BUILD/libtool-2.4.7/tests/libtoolize.at deleted file mode 100644 index 44ca2eb..0000000 --- a/BUILD/libtool-2.4.7/tests/libtoolize.at +++ /dev/null @@ -1,1166 +0,0 @@ -# libtoolize.at -- test libtoolize operation -*- Autotest -*- -# -# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Libtoolize operation.]) - -# _LT_CONFIGURE_AC -# ---------------- -m4_define([_LT_CONFIGURE_AC], -[AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -]]) -])# _LT_CONFIGURE_AC - -# _LT_LIBTOOLIZE_SETUP -# -------------------- -m4_define([_LT_LIBTOOLIZE_SETUP], -[_LT_CONFIGURE_AC - -test -d m4 || { rm -f m4 && mkdir m4; } - -rm -f m4/libtool.m4 m4/ltoptions.m4 build-aux/ltmain.sh - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I m4 -]]) - -# This file should be upgraded. -AT_DATA([m4/libtool.m4], [[ -# serial 25 LT_INIT -]]) - -# This file has a very high serial number, and should be left unchanged -# until --force is passed. -AT_DATA([m4/ltoptions.m4], [[ -# serial 99999 ltoptions.m4 -]]) - -test -d build-aux || { rm -f build-aux && mkdir build-aux; } - -# This file has a very high serial number, and needs --force to be updated. -AT_DATA([build-aux/ltmain.sh], [[ -package_revision=9999.9999 -]]) - -# This file has a very old serial number, but should be left unchanged -# unless the --install flag is invoked. -AT_DATA([build-aux/config.guess], [[ -timestamp='1970-01-01' -]]) -])# LT_LIBTOOLIZE_SETUP - - -## ------------------- ## -## Macro installation. ## -## ------------------- ## - -AT_SETUP([libtoolize macro installation]) - -_LT_CONFIGURE_AC - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - -AT_CLEANUP - - -## ------------------------- ## -## ACLOCAL_AMFLAGS mismatch. ## -## ------------------------- ## - -AT_SETUP([libtoolize macro directory mismatch error]) - -_LT_CONFIGURE_AC - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I me2 -]]) - -AT_DATA(experr, -[[libtoolize: error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with ACLOCAL_AMFLAGS=-I me2. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 1, [ignore], experr) - -AT_CLEANUP - - -## ----------------------------------------- ## -## AC_CONFIG_MACRO_DIRS macrodir extraction. ## -## ----------------------------------------- ## - -AT_SETUP([multiple AC_CONFIG_MACRO_DIRS invocation]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([first]) -AC_CONFIG_MACRO_DIRS([second]) -LT_INIT -AC_OUTPUT -]]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'first'. -libtoolize: copying file 'first/libtool.m4' -libtoolize: copying file 'first/ltoptions.m4' -libtoolize: copying file 'first/ltsugar.m4' -libtoolize: copying file 'first/ltversion.m4' -libtoolize: copying file 'first/lt~obsolete.m4' -libtoolize: Consider adding '-I first' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - -AT_CLEANUP - - -AT_SETUP([multiple AC_CONFIG_MACRO_DIRS directories]) - -AT_DATA([configure.ac], -[[AC_INIT([libtooize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([first second third]) -LT_INIT -AC_OUTPUT -]]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'first'. -libtoolize: copying file 'first/libtool.m4' -libtoolize: copying file 'first/ltoptions.m4' -libtoolize: copying file 'first/ltsugar.m4' -libtoolize: copying file 'first/ltversion.m4' -libtoolize: copying file 'first/lt~obsolete.m4' -libtoolize: Consider adding '-I first' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - -AT_CLEANUP - - - -## ------------------------------------ ## -## ACLOCAL_AMFLAGS macrodir extraction. ## -## ------------------------------------ ## - -AT_SETUP([libtoolize ACLOCAL_AMFLAGS extraction]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -LT_INIT -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I first -I second -]]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in 'first'. -libtoolize: copying file 'first/libtool.m4' -libtoolize: copying file 'first/ltoptions.m4' -libtoolize: copying file 'first/ltsugar.m4' -libtoolize: copying file 'first/ltversion.m4' -libtoolize: copying file 'first/lt~obsolete.m4' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([first])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - -AT_CLEANUP - - -## -------------- ## -## Serial update. ## -## -------------- ## - -AT_SETUP([libtoolize macro serial update]) - -_LT_LIBTOOLIZE_SETUP - - - -## -------------------------------------------------------------------- ## -## First we try to update with some newer files in the destination dir. ## -## -------------------------------------------------------------------- ## - -AT_DATA(expout, -[[libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -]]) - -AT_DATA(experr, -[[libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr) - - -## ---------------------------------------------------------- ## -## Next, a second update attempt with everything now updated. ## -## ---------------------------------------------------------- ## - -: >expout - -AT_DATA(experr, -[[libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr) - - -## ----------------------------------------------------------- ## -## Now, a forced update to downgrade files with newer serials. ## -## ----------------------------------------------------------- ## - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout) - - -## ---------------------------------------------------------------- ## -## A final update attempt with everything previously force updated. ## -## ---------------------------------------------------------------- ## - -: >expout - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - -AT_CLEANUP - - -## --------------- ## -## --install flag. ## -## --------------- ## - -AT_SETUP([libtoolize config files serial update]) - -_LT_LIBTOOLIZE_SETUP - - - -## -------------------------------------------------------------------- ## -## First we try to update with some newer files in the destination dir. ## -## -------------------------------------------------------------------- ## - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -]]) - -AT_DATA(experr, -[[libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout, experr) - - -## ---------------------------------------------------------- ## -## Next, a second update attempt with everything now updated. ## -## ---------------------------------------------------------- ## - -: >expout - -AT_DATA(experr, -[[libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout, experr) - - -## ----------------------------------------------------------- ## -## Now, a forced update to downgrade files with newer serials. ## -## ----------------------------------------------------------- ## - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --force --install], 0, expout) - - -## ---------------------------------------------------------------- ## -## A final update attempt with everything previously force updated. ## -## ---------------------------------------------------------------- ## - -: >expout - -LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout) - -AT_CLEANUP - - -## ----------------------------------------------------------------- ## -## Ensure libtoolize works when LT_CONFIG_LTDL_DIR is not specified. ## -## ----------------------------------------------------------------- ## - -AT_SETUP([diagnose missing LT_CONFIG_LTDL_DIR]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltargz.m4' -libtoolize: copying file 'm4/ltdl.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in 'ltdl'. -libtoolize: copying file 'ltdl/COPYING.LIB' -libtoolize: copying file 'ltdl/README' -libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' -libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' -libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' -libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' -libtoolize: copying file 'ltdl/libltdl/lt__private.h' -libtoolize: copying file 'ltdl/libltdl/lt__strl.h' -libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: copying file 'ltdl/libltdl/lt_error.h' -libtoolize: copying file 'ltdl/libltdl/lt_system.h' -libtoolize: copying file 'ltdl/libltdl/slist.h' -libtoolize: copying file 'ltdl/loaders/dld_link.c' -libtoolize: copying file 'ltdl/loaders/dlopen.c' -libtoolize: copying file 'ltdl/loaders/dyld.c' -libtoolize: copying file 'ltdl/loaders/load_add_on.c' -libtoolize: copying file 'ltdl/loaders/loadlibrary.c' -libtoolize: copying file 'ltdl/loaders/preopen.c' -libtoolize: copying file 'ltdl/loaders/shl_load.c' -libtoolize: copying file 'ltdl/lt__alloc.c' -libtoolize: copying file 'ltdl/lt__argz.c' -libtoolize: copying file 'ltdl/lt__dirent.c' -libtoolize: copying file 'ltdl/lt__strl.c' -libtoolize: copying file 'ltdl/lt_dlloader.c' -libtoolize: copying file 'ltdl/lt_error.c' -libtoolize: copying file 'ltdl/ltdl.c' -libtoolize: copying file 'ltdl/ltdl.h' -libtoolize: creating file 'ltdl/ltdl.mk' -libtoolize: copying file 'ltdl/slist.c' -libtoolize: Remember to add 'LT_CONFIG_LTDL_DIR([ltdl])' to 'configure.ac'. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LTDL_INIT([nonrecursive]) -AC_OUTPUT -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --install --ltdl=ltdl], 0, expout) - -AT_CLEANUP - - -## ---------------------------- ## -## Make sure ltdl.m4 is copied. ## -## ---------------------------- ## - -# _LT_AT_LTDL_SETUP -# ----------------- -# Macro to generate data files common to several tests. -m4_pushdef([_LT_AT_LTDL_SETUP], -[AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: linking file 'build-aux/compile' -libtoolize: linking file 'build-aux/config.guess' -libtoolize: linking file 'build-aux/config.sub' -libtoolize: linking file 'build-aux/depcomp' -libtoolize: linking file 'build-aux/install-sh' -libtoolize: linking file 'build-aux/missing' -libtoolize: linking file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: linking file 'm4/libtool.m4' -libtoolize: linking file 'm4/ltargz.m4' -libtoolize: linking file 'm4/ltdl.m4' -libtoolize: linking file 'm4/ltoptions.m4' -libtoolize: linking file 'm4/ltsugar.m4' -libtoolize: linking file 'm4/ltversion.m4' -libtoolize: linking file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: linking file 'ltdl/COPYING.LIB' -libtoolize: linking file 'ltdl/Makefile.am' -libtoolize: linking file 'ltdl/README' -libtoolize: linking file 'ltdl/configure.ac' -libtoolize: copying file 'ltdl/aclocal.m4' -libtoolize: linking file 'ltdl/Makefile.in' -libtoolize: linking file 'ltdl/config-h.in' -libtoolize: copying file 'ltdl/configure' -libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' -libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' -libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' -libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' -libtoolize: linking file 'ltdl/libltdl/lt__private.h' -libtoolize: linking file 'ltdl/libltdl/lt__strl.h' -libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: linking file 'ltdl/libltdl/lt_error.h' -libtoolize: linking file 'ltdl/libltdl/lt_system.h' -libtoolize: linking file 'ltdl/libltdl/slist.h' -libtoolize: linking file 'ltdl/loaders/dld_link.c' -libtoolize: linking file 'ltdl/loaders/dlopen.c' -libtoolize: linking file 'ltdl/loaders/dyld.c' -libtoolize: linking file 'ltdl/loaders/load_add_on.c' -libtoolize: linking file 'ltdl/loaders/loadlibrary.c' -libtoolize: linking file 'ltdl/loaders/preopen.c' -libtoolize: linking file 'ltdl/loaders/shl_load.c' -libtoolize: linking file 'ltdl/lt__alloc.c' -libtoolize: linking file 'ltdl/lt__argz.c' -libtoolize: linking file 'ltdl/lt__dirent.c' -libtoolize: linking file 'ltdl/lt__strl.c' -libtoolize: linking file 'ltdl/lt_dlloader.c' -libtoolize: linking file 'ltdl/lt_error.c' -libtoolize: linking file 'ltdl/ltdl.c' -libtoolize: linking file 'ltdl/ltdl.h' -libtoolize: linking file 'ltdl/slist.c' -]]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LTDL_INIT -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I m4 -]]) -])# _LT_AT_LTDL_SETUP - -## ------------------------------------------------ ## -## First we make sure libtoolize --ltdl is working. ## -## ------------------------------------------------ ## - -AT_SETUP([copy ltdl.m4 with shared macro directory]) - -_LT_AT_LTDL_SETUP - -LT_AT_CHECK_LIBTOOLIZE([--ltdl], 0, expout) - -AT_CLEANUP - -## ----------------------------------------------------- ## -## And also that libtoolize is taking note of LTDL_INIT. ## -## ----------------------------------------------------- ## - -AT_SETUP([correctly parse LTDL_INIT from configure.ac]) - -_LT_AT_LTDL_SETUP - -LT_AT_CHECK_LIBTOOLIZE([], 0, expout) - -AT_CLEANUP - -## ----------------------------------------------------------- ## -## And finally, that libtoolize diagnoses a missing LTDL_INIT. ## -## ----------------------------------------------------------- ## - -AT_SETUP([diagnose missing LTDL_INIT invocation]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/compile' -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/depcomp' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: copying file 'build-aux/missing' -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltargz.m4' -libtoolize: copying file 'm4/ltdl.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: copying file 'ltdl/COPYING.LIB' -libtoolize: copying file 'ltdl/Makefile.am' -libtoolize: copying file 'ltdl/README' -libtoolize: copying file 'ltdl/configure.ac' -libtoolize: copying file 'ltdl/aclocal.m4' -libtoolize: copying file 'ltdl/Makefile.in' -libtoolize: copying file 'ltdl/config-h.in' -libtoolize: copying file 'ltdl/configure' -libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' -libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' -libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' -libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' -libtoolize: copying file 'ltdl/libltdl/lt__private.h' -libtoolize: copying file 'ltdl/libltdl/lt__strl.h' -libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: copying file 'ltdl/libltdl/lt_error.h' -libtoolize: copying file 'ltdl/libltdl/lt_system.h' -libtoolize: copying file 'ltdl/libltdl/slist.h' -libtoolize: copying file 'ltdl/loaders/dld_link.c' -libtoolize: copying file 'ltdl/loaders/dlopen.c' -libtoolize: copying file 'ltdl/loaders/dyld.c' -libtoolize: copying file 'ltdl/loaders/load_add_on.c' -libtoolize: copying file 'ltdl/loaders/loadlibrary.c' -libtoolize: copying file 'ltdl/loaders/preopen.c' -libtoolize: copying file 'ltdl/loaders/shl_load.c' -libtoolize: copying file 'ltdl/lt__alloc.c' -libtoolize: copying file 'ltdl/lt__argz.c' -libtoolize: copying file 'ltdl/lt__dirent.c' -libtoolize: copying file 'ltdl/lt__strl.c' -libtoolize: copying file 'ltdl/lt_dlloader.c' -libtoolize: copying file 'ltdl/lt_error.c' -libtoolize: copying file 'ltdl/ltdl.c' -libtoolize: copying file 'ltdl/ltdl.h' -libtoolize: copying file 'ltdl/slist.c' -libtoolize: Remember to add 'LTDL_INIT' to configure.ac. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -]]) - -LT_AT_CHECK_LIBTOOLIZE([--ltdl --copy], 0, expout) - -AT_CLEANUP - -m4_popdef([_LT_AT_LTDL_SETUP]) - -## ------------------------------------------------------ ## -## Creating an aclocal.m4 without in-tree libtool macros. ## -## ------------------------------------------------------ ## - -AT_SETUP([upgrading verbatim style aclocal.m4]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -LT_INIT -AC_OUTPUT -]]) - -AT_DATA([expout], -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: You should add the contents of the following files to 'aclocal.m4': -libtoolize: '/usr/local/share/aclocal/libtool.m4' -libtoolize: '/usr/local/share/aclocal/ltoptions.m4' -libtoolize: '/usr/local/share/aclocal/ltsugar.m4' -libtoolize: '/usr/local/share/aclocal/ltversion.m4' -libtoolize: '/usr/local/share/aclocal/lt~obsolete.m4' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - - -## --------------------------------------- ## -## Upgrading a hand maintained aclocal.m4. ## -## --------------------------------------- ## - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I m4 -]]) - -AT_DATA([aclocal.m4], -[[# This should need upgrading: -# serial 25 LT_INIT -AC_DEFUN([LT_INIT], -[blah]) - -# This is newer than the upgrade version: -# serial 99999 ltoptions.m4 - -# This is older than the upgrade version: -# serial 1 ltversion.m4 -]]) - -AT_DATA([expout], -[[libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: You should add the contents of 'm4/ltsugar.m4' to 'aclocal.m4'. -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: You should add the contents of 'm4/ltversion.m4' to 'aclocal.m4'. -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: You should add the contents of 'm4/lt~obsolete.m4' to 'aclocal.m4'. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - - -## ------------------------------------------- ## -## Upgrading an aclocal maintained aclocal.m4. ## -## ------------------------------------------- ## - -LT_AT_ACLOCAL([-I m4]) - -rm -f m4/libtool.m4 m4/ltoptions.m4 - -# This file should be upgraded. -AT_DATA([m4/libtool.m4], [[ -# serial 25 LT_INIT -AC_DEFUN([LT_INIT]) -]]) - -# This file has a very high serial number, and should be left unchanged. -AT_DATA([m4/ltoptions.m4], [[ -# serial 99999 ltoptions.m4 -]]) - -AT_DATA([expout], -[[libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -]]) - -AT_DATA([experr], -[[libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout, experr) - -## ----------------------------------------------------------- ## -## Now, a forced update to downgrade files with newer serials. ## -## ----------------------------------------------------------- ## - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout) - -AT_CLEANUP - - -## ------------------------------------------------------------------- ## -## Ensure libtoolize works when AC_CONFIG_MACRO_DIRS is not specified. ## -## ------------------------------------------------------------------- ## - -AT_SETUP([verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -LT_INIT -AC_OUTPUT -]]) - -AT_DATA([aclocal.m4], -[[# This should need upgrading: -# serial 25 LT_INIT -AC_DEFUN([LT_INIT], -[blah]) - -# This is newer than the upgrade version: -# serial 99999 ltoptions.m4 - -# This is older than the upgrade version: -# serial 1 ltversion.m4 -]]) - -AT_DATA([expout], -[[libtoolize: putting auxiliary files in '.'. -libtoolize: copying file './ltmain.sh' -libtoolize: You should add the contents of the following files to 'aclocal.m4': -libtoolize: '/usr/local/share/aclocal/libtool.m4' -libtoolize: '/usr/local/share/aclocal/ltsugar.m4' -libtoolize: '/usr/local/share/aclocal/ltversion.m4' -libtoolize: '/usr/local/share/aclocal/lt~obsolete.m4' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - - -## ------------------------------------------------------------------------ ## -## Upgrading an aclocal maintained aclocal.m4 without AC_CONFIG_MACRO_DIRS. ## -## ------------------------------------------------------------------------ ## - -LT_AT_ACLOCAL([-I $abs_top_srcdir/m4]) - -## The following code is adapted (and simplified) from libtoolize.in -#### -basename='s|^.*/||' - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - -# func_serial filename [macro_regex] -# Output the value of the serial number comment in FILENAME, where the -# comment line must also match MACRO_REGEX, if given. -func_serial () -{ - my_filename=$1 - my_macro_regex=$2 - my_sed_serial=' - /^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ { - s|^# serial \([1-9][0-9.]*\).*$|\1| - q - } - d' - - # Search FILENAME and all the files it m4_includes for a serial number - # in the file that AC_DEFUNs MACRO_REGEX. - my_serial= - if test -z "$my_macro_regex" || - test aclocal.m4 = "$my_filename" || - test "$my_macro_regex" = `echo "$my_filename" | $SED "$basename"` || - func_grep '^AC_DEFUN(\@<:@'"$my_macro_regex" "$my_filename" - then - my_serial=`$SED -e "$my_sed_serial" "$my_filename"` - fi - - # If the file has no serial number, something is badly wrong! - test -n "$my_serial" || exit 1 - - echo $my_serial -} - -# Make the serial number in aclocal.m4 higher than installed ltoptions.m4, -# and the others match the macro files that libtoolize will compare against. -libtool_serial=`func_serial "$tst_aclocaldir/libtool.m4" LT_INIT` -ltversion_serial=`func_serial "$tst_aclocaldir/ltversion.m4" ltversion.m4` -ltsugar_serial=`func_serial "$tst_aclocaldir/ltsugar.m4" ltsugar.m4` -lt_obsolete_serial=`func_serial "$tst_aclocaldir/lt~obsolete.m4" lt~obsolete.m4` -$SED -e 's|^#.*serial.*ltoptions.m4$|# serial 99999 ltoptions.m4|' \ - -e "s|^#.*serial.*libtool.m4\$|# serial $libtool_serial libtool.m4|" \ - -e "s|^#.*serial.*ltversion.m4\$|# serial $ltversion_serial ltversion.m4|" \ - -e "s|^#.*serial.*ltsugar.m4\$|# serial $ltsugar_serial ltsugar.m4|" \ - -e "s|^#.*serial.*lt~obsolete.m4\$|# serial $lt_obsolete_serial lt~obsolete.m4|" \ - < aclocal.m4 > aclocal.m4t -mv -f aclocal.m4t aclocal.m4 - -AT_DATA([expout], -[[libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - - -## --------------------- ## -## Now, a forced update. ## -## --------------------- ## - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in '.'. -libtoolize: copying file './ltmain.sh' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --force], 0, expout) - -AT_CLEANUP - - -## -------------------------------------------------------------- ## -## Check nonrecursive ltdl puts m4 files in AC_CONFIG_MACRO_DIRS. ## -## -------------------------------------------------------------- ## - -AT_SETUP([nonrecursive ltdl with AC_CONFIG_MACRO_DIRS]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltargz.m4' -libtoolize: copying file 'm4/ltdl.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: copying file 'ltdl/COPYING.LIB' -libtoolize: copying file 'ltdl/README' -libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' -libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' -libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' -libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' -libtoolize: copying file 'ltdl/libltdl/lt__private.h' -libtoolize: copying file 'ltdl/libltdl/lt__strl.h' -libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: copying file 'ltdl/libltdl/lt_error.h' -libtoolize: copying file 'ltdl/libltdl/lt_system.h' -libtoolize: copying file 'ltdl/libltdl/slist.h' -libtoolize: copying file 'ltdl/loaders/dld_link.c' -libtoolize: copying file 'ltdl/loaders/dlopen.c' -libtoolize: copying file 'ltdl/loaders/dyld.c' -libtoolize: copying file 'ltdl/loaders/load_add_on.c' -libtoolize: copying file 'ltdl/loaders/loadlibrary.c' -libtoolize: copying file 'ltdl/loaders/preopen.c' -libtoolize: copying file 'ltdl/loaders/shl_load.c' -libtoolize: copying file 'ltdl/lt__alloc.c' -libtoolize: copying file 'ltdl/lt__argz.c' -libtoolize: copying file 'ltdl/lt__dirent.c' -libtoolize: copying file 'ltdl/lt__strl.c' -libtoolize: copying file 'ltdl/lt_dlloader.c' -libtoolize: copying file 'ltdl/lt_error.c' -libtoolize: copying file 'ltdl/ltdl.c' -libtoolize: copying file 'ltdl/ltdl.h' -libtoolize: creating file 'ltdl/ltdl.mk' -libtoolize: copying file 'ltdl/slist.c' -]]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LTDL_INIT([nonrecursive]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I m4 -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --install --ltdl=ltdl], 0, expout) - -AT_CLEANUP - - -## ------------------------------------------------- ## -## Check subproject ltdl with unconventional layout. ## -## ------------------------------------------------- ## - -AT_SETUP([subproject ltdl with unconventional layout]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'acaux'. -libtoolize: copying file 'acaux/compile' -libtoolize: copying file 'acaux/config.guess' -libtoolize: copying file 'acaux/config.sub' -libtoolize: copying file 'acaux/depcomp' -libtoolize: copying file 'acaux/install-sh' -libtoolize: copying file 'acaux/missing' -libtoolize: copying file 'acaux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'acm4'. -libtoolize: copying file 'acm4/libtool.m4' -libtoolize: copying file 'acm4/ltargz.m4' -libtoolize: copying file 'acm4/ltdl.m4' -libtoolize: copying file 'acm4/ltoptions.m4' -libtoolize: copying file 'acm4/ltsugar.m4' -libtoolize: copying file 'acm4/ltversion.m4' -libtoolize: copying file 'acm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: copying file 'ltdl/COPYING.LIB' -libtoolize: creating file 'ltdl/Makefile.am' -libtoolize: copying file 'ltdl/README' -libtoolize: creating file 'ltdl/configure.ac' -libtoolize: creating file 'ltdl/aclocal.m4' -libtoolize: creating file 'ltdl/Makefile.in' -libtoolize: copying file 'ltdl/config-h.in' -libtoolize: creating file 'ltdl/configure' -libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' -libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' -libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' -libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' -libtoolize: copying file 'ltdl/libltdl/lt__private.h' -libtoolize: copying file 'ltdl/libltdl/lt__strl.h' -libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: copying file 'ltdl/libltdl/lt_error.h' -libtoolize: copying file 'ltdl/libltdl/lt_system.h' -libtoolize: copying file 'ltdl/libltdl/slist.h' -libtoolize: copying file 'ltdl/loaders/dld_link.c' -libtoolize: copying file 'ltdl/loaders/dlopen.c' -libtoolize: copying file 'ltdl/loaders/dyld.c' -libtoolize: copying file 'ltdl/loaders/load_add_on.c' -libtoolize: copying file 'ltdl/loaders/loadlibrary.c' -libtoolize: copying file 'ltdl/loaders/preopen.c' -libtoolize: copying file 'ltdl/loaders/shl_load.c' -libtoolize: copying file 'ltdl/lt__alloc.c' -libtoolize: copying file 'ltdl/lt__argz.c' -libtoolize: copying file 'ltdl/lt__dirent.c' -libtoolize: copying file 'ltdl/lt__strl.c' -libtoolize: copying file 'ltdl/lt_dlloader.c' -libtoolize: copying file 'ltdl/lt_error.c' -libtoolize: copying file 'ltdl/ltdl.c' -libtoolize: copying file 'ltdl/ltdl.h' -libtoolize: copying file 'ltdl/slist.c' -libtoolize: Consider adding '-I acm4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([acaux]) -AC_CONFIG_MACRO_DIRS([acm4]) -LT_INIT -LTDL_INIT([subproject]) -AC_OUTPUT -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout) - -AT_CLEANUP - - -## ------------------------------------------- ## -## Create a working subproject without GNU M4. ## -## ------------------------------------------- ## - -AT_SETUP([Subproject ltdl without GNU M4]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in 'ltdl'. -libtoolize: linking file 'ltdl/compile' -libtoolize: linking file 'ltdl/config.guess' -libtoolize: linking file 'ltdl/config.sub' -libtoolize: linking file 'ltdl/depcomp' -libtoolize: linking file 'ltdl/install-sh' -libtoolize: linking file 'ltdl/missing' -libtoolize: linking file 'ltdl/ltmain.sh' -libtoolize: putting macros in 'ltdl/m4'. -libtoolize: linking file 'ltdl/m4/libtool.m4' -libtoolize: linking file 'ltdl/m4/ltargz.m4' -libtoolize: linking file 'ltdl/m4/ltdl.m4' -libtoolize: linking file 'ltdl/m4/ltoptions.m4' -libtoolize: linking file 'ltdl/m4/ltsugar.m4' -libtoolize: linking file 'ltdl/m4/ltversion.m4' -libtoolize: linking file 'ltdl/m4/lt~obsolete.m4' -libtoolize: putting libltdl files in 'ltdl'. -libtoolize: linking file 'ltdl/COPYING.LIB' -libtoolize: creating file 'ltdl/Makefile.am' -libtoolize: linking file 'ltdl/README' -libtoolize: creating file 'ltdl/configure.ac' -libtoolize: creating file 'ltdl/aclocal.m4' -libtoolize: creating file 'ltdl/Makefile.in' -libtoolize: linking file 'ltdl/config-h.in' -libtoolize: creating file 'ltdl/configure' -libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' -libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' -libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' -libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' -libtoolize: linking file 'ltdl/libltdl/lt__private.h' -libtoolize: linking file 'ltdl/libltdl/lt__strl.h' -libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: linking file 'ltdl/libltdl/lt_error.h' -libtoolize: linking file 'ltdl/libltdl/lt_system.h' -libtoolize: linking file 'ltdl/libltdl/slist.h' -libtoolize: linking file 'ltdl/loaders/dld_link.c' -libtoolize: linking file 'ltdl/loaders/dlopen.c' -libtoolize: linking file 'ltdl/loaders/dyld.c' -libtoolize: linking file 'ltdl/loaders/load_add_on.c' -libtoolize: linking file 'ltdl/loaders/loadlibrary.c' -libtoolize: linking file 'ltdl/loaders/preopen.c' -libtoolize: linking file 'ltdl/loaders/shl_load.c' -libtoolize: linking file 'ltdl/lt__alloc.c' -libtoolize: linking file 'ltdl/lt__argz.c' -libtoolize: linking file 'ltdl/lt__dirent.c' -libtoolize: linking file 'ltdl/lt__strl.c' -libtoolize: linking file 'ltdl/lt_dlloader.c' -libtoolize: linking file 'ltdl/lt_error.c' -libtoolize: linking file 'ltdl/ltdl.c' -libtoolize: linking file 'ltdl/ltdl.h' -libtoolize: linking file 'ltdl/slist.c' -]]) - -AT_DATA([no-m4], -[[#! /bin/sh -echo 'error: do not call m4' >&2 -exit 1 -]]) -chmod a+x ./no-m4 - -AT_CHECK([PATH=`pwd`:$PATH M4=`pwd`/no-m4 $LIBTOOLIZE --ltdl=ltdl], 0, expout) - -AT_CLEANUP - - -## --------------------------- ## -## Garbled LIBTOOLIZE_OPTIONS. ## -## --------------------------- ## - -AT_SETUP([LIBTOOLIZE_OPTIONS]) - -_LT_CONFIGURE_AC - -LIBTOOLIZE_OPTIONS=narf -export LIBTOOLIZE_OPTIONS - -AT_DATA(experr, -[[libtoolize: error: garbled LIBTOOLIZE_OPTIONS near 'narf' -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 1, [ignore], experr) - - -## --------------------------- ## -## Unknown LIBTOOLIZE_OPTIONS. ## -## --------------------------- ## - -LIBTOOLIZE_OPTIONS=--no-such-option -export LIBTOOLIZE_OPTIONS - -AT_DATA(experr, -[[libtoolize: warning: unrecognized environment option '--no-such-option' -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, [ignore], experr) - - -## ----------------------------- ## -## --no-warn environment option. ## -## ----------------------------- ## - -LIBTOOLIZE_OPTIONS=--no-warn,--no-such-option -export LIBTOOLIZE_OPTIONS - -: >experr - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, [ignore], experr) - -AT_CLEANUP - - -## ------------------------------------------------------ ## -## Remove file droppings from old libtoolize invocations. ## -## ------------------------------------------------------ ## - -AT_SETUP([cleanup old installation]) - -_LT_CONFIGURE_AC - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I m4 -]]) - -AT_DATA([acinclude.m4], -[[AC_DEFUN([LT_INIT], -[: keep me, I might be hand maintained!]) # LT_INIT -]]) - -AT_DATA([libltdl/acinclude.m4], -[[AC_DEFUN([LT_INIT], -[: delete me, I was left here by on old libltdl build]) # LT_INIT -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --force --ltdl], 0, [ignore]) - -# check files are left as expected -AT_CHECK([$GREP 'keep me' acinclude.m4], 0, [ignore]) -AT_CHECK([test -f libltdl/acinclude.m4], 1, [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/link-order.at b/BUILD/libtool-2.4.7/tests/link-order.at deleted file mode 100644 index 3f01a00..0000000 --- a/BUILD/libtool-2.4.7/tests/link-order.at +++ /dev/null @@ -1,127 +0,0 @@ -# link-order.at -- ensure that library linking order matches -*- Autotest -*- -# -# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Alexandre Oliva & Ralf Wildenhues, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_SETUP([Link order test]) -AT_KEYWORDS([libtool]) -eval `$LIBTOOL --config | $EGREP '^(hardcode_direct|hardcode_direct_absolute|shrext_cmds)='` -LDFLAGS="$LDFLAGS -no-undefined" - -module=no -eval shared_ext=\"$shrext_cmds\" - -prefix_old=`pwd`/old -prefix_new=`pwd`/new -mkdir src $prefix_old $prefix_new $prefix_old/lib $prefix_new/lib - -AT_DATA(src/c.c, -[[int c = 1; -]]) - -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/c.c -o src/c.lo -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/libcee.la src/c.lo -rpath $prefix_old/lib -$LIBTOOL --mode=install cp src/libcee.la $prefix_old/lib/libcee.la - -for i in old new; do - rm -rf src - mkdir src - - cat >src/a_$i.c <src/b_$i.c <src/main_$i.c <name); - } - - module = lt_dlopen (argv[1]); - error = lt_dlerror (); - - if (module) - { - printf ("lt_dlopen: success!\n"); - - if (argc == 2) - { - /* But failure was the desired result... */ - printf ("expected failure\n"); - err = 2; - goto cleanup; - } - } - else if (argc > 2) - { - /* Didn't expect failure... */ - printf ("lt_dlopen: failure: %s\n", error); - err = 2; - goto cleanup; - } - else if (standard_error_message (error)) - { - /* Expected custom error message... */ - printf ("lt_dlopen: standard error (bad): %s\n", error); - err = 1; - goto cleanup; - } - else - { - printf ("lt_dlopen: custom error (good): %s\n", error); - goto cleanup; - } - - symbol = lt_dlsym (module, argv[2]); - error = lt_dlerror (); - - if (symbol) - { - printf ("lt_dlsym: success!\n"); - } - else if (standard_error_message (error)) - { - /* Expected custom failure message... */ - printf ("lt_dlsym: standard error (bad): %s\n", error); - err = 1; - } - else - { - printf ("lt_dlsym: custom error (good): %s\n", error); - } - -cleanup: - if (module) - { - lt_dlclose (module); - } - lt_dlexit (); - return err; -} -]]) - -AT_DATA([foomod.c], -[[ -#ifdef __cplusplus -extern "C" -#endif -int foosym (void); -int -foosym (void) -{ - return 0; -} -]]) - -AT_DATA([bardep.c], -[[ -#ifdef __cplusplus -extern "C" -#endif -int bardep (void); -int -bardep (void) -{ - return 0; -} -]]) - -AT_DATA([barmod.c], -[[ -#ifdef __cplusplus -extern "C" { -#endif -int bardep (void); -int barsym (void); -#ifdef __cplusplus -} -#endif -int -barsym (void) -{ - return bardep (); -} -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -inst=`pwd`/inst -libdir=$inst/lib - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) -for file in foomod.c bardep.c barmod.c; do - AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file], - [], [ignore], [ignore]) -done -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o foomod.la ]dnl - [-rpath $libdir -module -avoid-version -no-undefined ]dnl - [foomod.lo], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbardep.la ]dnl - [-rpath $libdir -avoid-version -no-undefined ]dnl - [bardep.lo], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o barmod.la ]dnl - [-rpath $libdir -module -avoid-version -no-undefined ]dnl - [barmod.lo ./libbardep.la], - [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl - [main.$OBJEXT $LIBLTDL], - [], [ignore], [ignore]) - -. ./foomod.la -AT_CHECK([test -n "$dlname" || (exit 77)]) - -LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./foomod.la no_symbol]) - -# chmod -x doesn't appear to work in MSYS, and Wine can load no-exec dlls. -dnl chmod -x $objdir/$dlname -dnl LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./foomod.la]) - -rm -f $objdir/$dlname -LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./foomod.la]) - -LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./barmod.la no_symbol]) - -. ./libbardep.la -# chmod -x doesn't appear to work in MSYS, and Wine can load no-exec dlls. -dnl chmod -x $objdir/$dlname -dnl LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./barmod.la]) - -rm -f $objdir/$dlname -LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./barmod.la]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/localization.at b/BUILD/libtool-2.4.7/tests/localization.at deleted file mode 100644 index 695d762..0000000 --- a/BUILD/libtool-2.4.7/tests/localization.at +++ /dev/null @@ -1,73 +0,0 @@ -# localization.at -- libtool and locales -*- Autotest -*- -# -# Copyright (C) 2008-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([localized compiler messages]) -AT_KEYWORDS([libtool]) - -# Let's try German locale. :-) -m4_pushdef([lt_localize], -[LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE]) - -AT_DATA([a.c], -[[int x[-1]; -]]) -AT_DATA([b.c], -[[int y; -]]) - -# First see if setting a locale is accepted at all. -AT_CHECK([(lt_localize $CC $CPPFLAGS $CFLAGS -c b.c) || exit 77], - [], [stdout], [stderr]) - -# Find out about expected output. -AT_CHECK([(lt_localize $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1], - [1], [stdout], [stderr]) -LT_AT_NORMALIZE_COMPILER_OUTPUT([stdout], [expected-stdout]) -LT_AT_NORMALIZE_COMPILER_OUTPUT([stderr], [expected-stderr]) -AT_CHECK([(lt_localize $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1], - [1], [stdout], [stderr]) -LT_AT_NORMALIZE_COMPILER_OUTPUT([stdout], [libtool-stdout]) -LT_AT_NORMALIZE_COMPILER_OUTPUT([stderr], [libtool-stderr]) -# Avoid these errors: -# GNU/Linux: -# /bin/sh: warning: setlocale: LC_ALL: cannot change locale (de_DE) -# HP-UX: -# Warning! One or more of your selected locales are not available. -# Please invoke the commands "locale" and "locale -a" to verify your -# selections and the available locales. -# -# Continuing processing using the "C" locale. -AT_CHECK([$GREP locale stdout stderr && exit 77], [1]) -AT_CHECK([diff expected-stderr libtool-stderr]) -AT_CHECK([diff expected-stdout libtool-stdout]) - -# check that we get our quoting right. -m4_define([lt_localize], -[[LANGUAGE='a; nosuchprogram " '\'' & $x /#+*(){}|,:`\ !%']]) -AT_CHECK([(lt_localize $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b.c)], - [0], [stdout], [stderr]) -AT_CHECK([$GREP nosuchprogram stdout stderr], [1]) - -m4_popdef([lt_localize]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dladvise.at b/BUILD/libtool-2.4.7/tests/lt_dladvise.at deleted file mode 100644 index 76f7e7a..0000000 --- a/BUILD/libtool-2.4.7/tests/lt_dladvise.at +++ /dev/null @@ -1,390 +0,0 @@ -# lt_dladvise.at -- test libltdl functionality -*- Autotest -*- -# -# Copyright (C) 2007-2009, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2007 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# Try to keep the new interfaces of HEAD separate from those of -# branch-1-5 to facilitate testing of older releases. - -AT_SETUP([lt_dlopenadvise library loading]) -AT_KEYWORDS([libltdl]) - -AT_DATA([main.c], -[[#include -#include - -typedef int funcp (int); - -static int errors = 0; - -static void -complain (const char *msg) -{ - const char *errmsg = lt_dlerror (); - fprintf (stderr, "%s", msg); - if (errmsg) - fprintf (stderr, ": %s\n", errmsg); - else - fprintf (stderr, ".\n"); - ++errors; -} - -static lt_dlhandle -moduleopen (const char *filename, lt_dladvise advise) -{ - lt_dlhandle handle; - - handle = lt_dlopenadvise (filename, advise); - if (!handle) - { - fprintf (stderr, "can't open the module %s!\n", filename); - complain ("error was"); - } - - return handle; -} - -static int -moduletest (lt_dlhandle handle, const char *fname, const char *vname) -{ - funcp *f = (funcp *) lt_dlsym (handle, fname); - int *v = (int *) lt_dlsym (handle, vname); - - if (!f) - { - fprintf (stderr, "function '%s' not found\n", fname); - ++errors; - return -1; - } - if (!v) - { - fprintf (stderr, "variable '%s' not found\n", vname); - ++errors; - return -1; - } - return f (*v); -} - -void -hint_ext (void) -{ - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_ext (&advise)) - complain ("error setting advise ext"); - - handle = moduleopen ("libdepend", advise); - - if (handle) - printf ("depend: %d\n", moduletest (handle, "g", "j")); - - lt_dladvise_destroy (&advise); -} - -void -hint_resident (void) -{ - const lt_dlinfo *info; - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_resident (&advise)) - complain ("error setting advise resident"); - - handle = moduleopen ("libresident.la", advise); - - if (handle) - { - info = lt_dlgetinfo (handle); - if (!info->is_resident) - complain ("error taking advise resident"); - - /* cannot close resident modules */ - if (lt_dlclose (handle) == 0) - complain ("successfully unloaded resident module"); - - printf ("resident: %d\n", moduletest (handle, "func", "numb")); - } - - lt_dladvise_destroy (&advise); -} - -void -hint_local (void) -{ - const lt_dlinfo *info; - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_local (&advise)) - complain ("error setting advise local"); - - handle = moduleopen ("liblocal.la", advise); - - if (handle) - { - info = lt_dlgetinfo (handle); - printf ("local: %d\n", moduletest (handle, "f", "i")); - - /* If the symlocal hint was taken, don't unload this module - and test that our local symbolnames won't clash with modglobal. */ - if (!info->is_symlocal && lt_dlclose (handle)) - complain ("error unloading modlocal"); - } - - lt_dladvise_destroy (&advise); -} - -void -hint_global (void) -{ - const lt_dlinfo *info; - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_global (&advise)) - complain ("error setting advise global"); - - handle = moduleopen ("libglobal.la", advise); - - if (handle) - { - info = lt_dlgetinfo (handle); - printf ("global: %d\n", moduletest (handle, "f", "i")); - - /* Don't attempt to load moddepend unless modglobal was successfully - loaded and the symglobal hint was taken, and the system allows to - have undefined symbols. */ - if (info && info->is_symglobal && HAVE_UNDEFINED_SYMBOLS) - { - hint_ext (); - } - else - { - /* Fake the output so the test won't fail when using a dlloader - unable to take symglobal hints. */ - printf ("depend: 5\n"); - } - } - - lt_dladvise_destroy (&advise); -} - -void -hint_preload (void) -{ - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_preload (&advise)) - complain ("error setting advise preload"); - - handle = moduleopen ("libpreload.la", advise); - - if (handle) - { - printf("preload: %d\n", moduletest (handle, "h", "k")); - } - - lt_dladvise_destroy (&advise); -} - -int -main (void) -{ - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (lt_dlinit() != 0) - { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - hint_resident (); - hint_local (); -#ifdef HAVE_SHARED - hint_global (); -#else - /* This ugly hack is because we have symbols with the same name in both the - global module and the local one, we can't lt_dlopen the local module - locally and then later load the global module globally because of this. - Instead of skipping the test entirely, we test what we can and - have this hack. */ - printf ("global: 4\n"); - printf ("depend: 5\n"); -#endif - hint_preload (); - - if (lt_dlexit () != 0) - complain ("error during exit"); - - return (errors != 0); -} -]]) - -AT_DATA([modresident.c], -[[#ifdef __cplusplus -extern "C" { -#endif -int func (int x) { return x / 3; } -int numb = 7; -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA([modlocal.c], -[[#ifdef __cplusplus -extern "C" { -#endif -int f (int x) { return (x * x) / 10; } -int i = 6; -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA([modglobal.c], -[[#ifdef __cplusplus -extern "C" { -#endif -int f (int x) { return x - 1; } -int i = 5; -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA([moddepend.c], -[[#ifdef __cplusplus -extern "C" { -#endif -extern int f (int), i; -int g (int x) { return f (i) + x - 3; } -int j = 4; -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA([modpreload.c], -[[#ifdef __cplusplus -extern "C" { -#endif -int h (int x) { return 2 * x; } -int k = 3; -#ifdef __cplusplus -} -#endif -]]) - -LT_AT_HOST_DATA([expout], -[[resident: 2 -local: 3 -global: 4 -depend: 5 -preload: 6 -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" - -dlopenable='resident local global' -dlpreloadable='preload' - -# ------------------------------------------------------------------------- # -# The depend test makes no sense unless compiled without -no-undefined. By # -# not building the depend module in that case, when this test passes we can # -# be sure that hint_global() above, is being correctly informed those hosts # -# are reporting not able to accept the global hint to lt_dlopenadvise(). # -# ------------------------------------------------------------------------- # - -have_shared=false -$LIBTOOL --features | $GREP 'enable shared libraries' >/dev/null && have_shared=: - -case $host_os,$have_shared in -cygwin* | mingw* | cegcc* | *,false) - # These hosts do not support linking without -no-undefined - CPPFLAGS="$CPPFLAGS -DHAVE_UNDEFINED_SYMBOLS=0" - ;; -*) - CPPFLAGS="$CPPFLAGS -DHAVE_UNDEFINED_SYMBOLS=1" - dlopenable="$dlopen depend" - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c moddepend.c - AT_CHECK([$LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o libdepend.la ]dnl - [moddepend.lo -rpath /foo -avoid-version], [], [ignore], [ignore]) - ;; -esac - -$have_shared && CPPFLAGS="$CPPFLAGS -DHAVE_SHARED" - -# ------------------------------------------------------------------------- # -# Other modules can be tested correctly even when built with -no-undefined. # -# ------------------------------------------------------------------------- # - -LDFLAGS="$LDFLAGS -no-undefined" - -$CC $CPPFLAGS $CFLAGS -c main.c -for name in resident local global preload; do - # FIXME: adding -static to libpreload shouldn't be necessary. - # Fix this properly in ltmain, then remove this workaround. - if test preload = "$name"; then - st=-static - else - st= - fi - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c mod$name.c - AT_CHECK([$LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o lib$name.la ]dnl - [mod$name.lo $st -rpath /foo -avoid-version], [], [ignore], [ignore]) -done - -preloaded= -for module in $dlpreloadable; do - preloaded="${preloaded+$preloaded }-dlpreopen lib$module.la" -done - -modules= -for module in $dlopenable; do - modules="${modules+$modules }-dlopen lib$module.la" -done - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $preloaded $modules $LIBLTDL], - [], [ignore], [ignore]) - -# Remove loadable libpreload module, so we know it is the preloaded module -# that is being executed by a successful test invocation: -AT_CHECK([$LIBTOOL --mode=clean rm -f libpreload.la], [], [ignore], [ignore]) - -LT_AT_NOINST_EXEC_CHECK([./main], [$modules], [], [expout], []) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dlexit.at b/BUILD/libtool-2.4.7/tests/lt_dlexit.at deleted file mode 100644 index e9a2c2a..0000000 --- a/BUILD/libtool-2.4.7/tests/lt_dlexit.at +++ /dev/null @@ -1,165 +0,0 @@ -# lt_dlexit.at -- test libltdl functionality -*- Autotest -*- -# -# Copyright (C) 2007-2008, 2010-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Dave Brolley & Ralf Wildenhues, 2007 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# Try to keep the new interfaces of HEAD separate from those of -# branch-1-5 to facilitate testing of older releases. - -AT_BANNER([Libltdl functionality.]) - -AT_SETUP([lt_dlexit unloading libs]) -AT_KEYWORDS([libltdl]) - -# Test for -# http://lists.gnu.org/archive/html/bug-libtool/2007-01/msg00014.html -# http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00013.html - -AT_DATA([main.c], -[[#include -#include -#include - -typedef int (*pfun_T) (int); -typedef int *pvar_T; - -/* lt_dlopen wrapper */ -static lt_dlhandle -xdlopen (const char *filename) -{ - lt_dlhandle handle = lt_dlopen (filename); - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - } - return handle; -} - -/* lt_dlsym wrapper: try one function and one variable */ -static int -xdlsymtest (lt_dlhandle handle, const char *func, const char *var) -{ - pfun_T pf = (pfun_T) lt_dlsym (handle, func); - pvar_T pv = (pvar_T) lt_dlsym (handle, var); - if (pf == NULL) { - fprintf (stderr, "function '%s' not found\n", func); - return 1; - } - if (pv == NULL) { - fprintf (stderr, "variable '%s' not found\n", var); - return 1; - } - return (*pf) (*pv); -} - -int -main (void) -{ - lt_dlhandle b1; - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - if (lt_dlexit() != 0) { - fprintf (stderr, "error during first lt_dlexit: %s\n", lt_dlerror()); - return 1; - } - if (lt_dlinit() != 0) { - fprintf (stderr, "error during second initialization: %s\n", lt_dlerror()); - return 1; - } - if (!(b1 = xdlopen ("modb1.la"))) return 1; - if (xdlsymtest (b1, "fb1", "vb1")) return 1; - /* do not lt_dlclose here on purpose. */ - - if (lt_dlexit() != 0) { - fprintf (stderr, "error during exit: %s\n", lt_dlerror()); - return 1; - } - return 0; -} -]]) - - -AT_DATA([a1.c], -[[#ifdef __cplusplus -extern "C" { -#endif -int f1 (int x) { return x - 1; } -int v1 = 1; -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA([b1.c], -[[#ifdef __cplusplus -extern "C" { -#endif -#if defined DLL_EXPORT && defined _WIN32 && defined _MSC_VER -# define LIBA1_SCOPE extern __declspec (dllimport) -#endif -#if !defined LIBA1_SCOPE -# define LIBA1_SCOPE extern -#endif -LIBA1_SCOPE int f1 (int); -LIBA1_SCOPE int v1; -int fb1 (int x) { return f1 (v1) + x - 3; } -int vb1 = 3; -#ifdef __cplusplus -} -#endif -]]) - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" - -for file in a1 b1; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c -done -$CC $CPPFLAGS $CFLAGS -c main.c -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba1.la a1.lo \ - -rpath /foo -avoid-version], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o modb1.la b1.lo \ - -rpath /foo -module -avoid-version liba1.la], [], [ignore], [ignore]) - -# TODO: test -dlpreopen -for dlopen in -dlopen; do - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT \ - $dlopen modb1.la $LIBLTDL], [], [ignore], [ignore]) - LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen modb1.la]) -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dlopen.at b/BUILD/libtool-2.4.7/tests/lt_dlopen.at deleted file mode 100644 index 1987e95..0000000 --- a/BUILD/libtool-2.4.7/tests/lt_dlopen.at +++ /dev/null @@ -1,104 +0,0 @@ -# lt_dlopen.at -- test libltdl functionality -*- Autotest -*- -# -# Copyright (C) 2009, 2011-2019, 2021-2022 Free Software Foundation, -# Inc. -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([lt_dlopen error messages]) -AT_KEYWORDS([libltdl]) - -# The bug is not fixed: -AT_XFAIL_IF([:]) - -# This test only works if the system allows undefined symbols. -eval `$LIBTOOL --config | $GREP '^allow_undefined_flag='` -AT_CHECK([test unsupported != "$allow_undefined_flag" || exit 77]) - -AT_DATA([main.c], -[[#include -#include - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle plugin_handle; - - if (argc < 2) - { - fprintf (stderr, "usage: %s plugin\n", argv[0]); - return 1; - } - - lt_dlinit (); - plugin_handle = lt_dlopenext (argv[1]); - if (NULL != plugin_handle) - { - printf ("plugin opened successfully!\n"); - lt_dlclose (plugin_handle); - } - else - { - printf ("plugin failed to open: %s\n", lt_dlerror()); - err = 1; - } - lt_dlexit (); - return err; -} -]]) - -AT_DATA([good-plugin.c], -[[int foo; -int *i = &foo; -]]) - -AT_DATA([missing-symbol-plugin.c], -[[/* On systems that allow undefined symbols, this will compile, - but the symbol "foo" won't be found at runtime */ -extern int foo; -int *i = &foo; -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -inst=`pwd`/inst -libdir=$inst/lib - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) -for file in good-plugin.c missing-symbol-plugin.c; do - AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file], - [], [ignore], [ignore]) -done -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o good-plugin.la -rpath $libdir ]dnl - [-module -avoid-version good-plugin.lo], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o missing-symbol-plugin.la -rpath $libdir]dnl - [-module -avoid-version missing-symbol-plugin.lo], [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ]dnl - [-dlopen good-plugin.la -dlopen missing-symbol-plugin.la $LIBLTDL], - [], [ignore], [ignore]) - -LT_AT_EXEC_CHECK([./main], [], [ignore], [ignore], [./good-plugin.la]) -LT_AT_EXEC_CHECK([./main], [1], [ignore], [stderr], [./missing-symbol-plugin.la]) -AT_CHECK([$GREP 'missing symbol' stderr], [], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dlopen_a.at b/BUILD/libtool-2.4.7/tests/lt_dlopen_a.at deleted file mode 100644 index 95f18a0..0000000 --- a/BUILD/libtool-2.4.7/tests/lt_dlopen_a.at +++ /dev/null @@ -1,98 +0,0 @@ -# lt_dlopen_a.at -- test libltdl functionality -*- Autotest -*- -# -# Copyright (C) 2009, 2011-2019, 2021-2022 Free Software Foundation, -# Inc. -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([lt_dlopen archive]) -AT_KEYWORDS([libltdl lt_dlopen_a]) - -AT_DATA([main.c], -[[#include -#include - -/* This dlopen() in the main executable should override any dlopen()s in - shared libraries etc. - - If that is not the case (or the platform does not use dlopen()) then this - test should exit 77, causing the test to SKIP. -*/ -static int retcde = 77; - -void * dlopen(const char *path, int mode) { - if (!(strcmp(path,"plugin.a") && strcmp(path,"plugin.lib"))) - { - fprintf(stderr,"Tried to open archive %s\n",path); - retcde = 1; - } - else - { - fprintf(stderr,"Opening ... %s\n", path); - if (retcde == 77) retcde = 0; - } - return NULL; -} - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle plugin_handle; - - lt_dlinit (); - plugin_handle = lt_dlopenext (argv[1]); - lt_dlexit (); - return retcde; -} -]]) - -AT_DATA([plugin.c], -[[ -int i = 1; -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c || exit 77],[],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c || exit 77], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath ]dnl - [$libdir -module -no-undefined -avoid-version plugin.lo || exit 77], - [], [ignore], [ignore]) - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT ]dnl - [main.$OBJEXT -dlopen plugin.la $LIBLTDL || exit 77], - [], [ignore], [ignore]) - -mkdir -p $libdir -mkdir -p $bindir - -AT_CHECK([$LIBTOOL --mode=install cp plugin.la $libdir],[], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp main$EXEEXT $bindir],[], [ignore], [ignore]) -AT_CHECK([test -f "$libdir/plugin.a" || exit 77]) -LT_AT_EXEC_CHECK([$bindir/main], [], [ignore], [ignore],[$libdir/plugin.la]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/lt_dlopenext.at b/BUILD/libtool-2.4.7/tests/lt_dlopenext.at deleted file mode 100644 index 4d4ad3d..0000000 --- a/BUILD/libtool-2.4.7/tests/lt_dlopenext.at +++ /dev/null @@ -1,251 +0,0 @@ -# lt_dlopenext.at -- test libltdl functionality -*- Autotest -*- -# -# Copyright (C) 2009-2019, 2021-2022 Free Software Foundation, Inc. -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([lt_dlopenext error messages]) -AT_KEYWORDS([libltdl]) - -# This test requires shared library support. -AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], - [], [ignore]) - -prefix=`pwd`/inst -libdir=$prefix/lib -bindir=$prefix/bin -mkdir $prefix $libdir $bindir - -# This code is copied from the Autobook: -# -# so if it needs changes, be sure to notify the Autobook authors -# about them. - -AT_DATA([simple-module.c], -[[ -#include - -#ifdef __cplusplus -extern "C" -#endif -int -run (const char *argument) -{ - printf ("Hello, %s!\n", argument); - return 0; -} -]]) - -AT_DATA([ltdl-loader.c], -[[ -#include -#include -#ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -# define EXIT_SUCCESS 0 -#endif - -#include -#ifndef PATH_MAX -# define PATH_MAX 255 -#endif - -#include -#include - -#ifndef MODULE_PATH_ENV -# define MODULE_PATH_ENV "MODULE_PATH" -#endif - -typedef int entrypoint (const char *argument); - -/* Save and return a copy of the dlerror() error message, - since the next API call may overwrite the original. */ -static char *dlerrordup (char *errormsg); - -int -main (int argc, const char *argv[]) -{ - char *errormsg = NULL; - lt_dlhandle module = NULL; - entrypoint *run = NULL; - int errors = 0; - - if (argc != 3) - { - fprintf (stderr, "USAGE: main MODULENAME ARGUMENT\n"); - exit (EXIT_FAILURE); - } - - /* Initialise libltdl. */ - errors = lt_dlinit (); - - /* Set the module search path. */ - if (!errors) - { - const char *path = getenv (MODULE_PATH_ENV); - - if (path != NULL) - errors = lt_dlsetsearchpath (path); - } - - /* Load the module. */ - if (!errors) - module = lt_dlopenext (argv[1]); - - /* Find the entry point. */ - if (module) - { - run = (entrypoint *) lt_dlsym (module, "run"); - - /* In principle, run might legitimately be NULL, so - I don't use run == NULL as an error indicator - in general. */ - errormsg = dlerrordup (errormsg); - if (errormsg != NULL) - { - errors = lt_dlclose (module); - module = NULL; - } - } - else - errors = 1; - - /* Call the entry point function. */ - if (!errors) - { - int result = (*run) (argv[2]); - if (result < 0) - errormsg = strdup ("module entry point execution failed"); - else - printf ("\t=> %d\n", result); - } - - /* Unload the module, now that we are done with it. */ - if (!errors) - errors = lt_dlclose (module); - - if (errors) - { - /* Diagnose the encountered error. */ - errormsg = dlerrordup (errormsg); - - if (!errormsg) - { - fprintf (stderr, "%s: dlerror() failed.\n", argv[0]); - return EXIT_FAILURE; - } - } - - /* Finished with ltdl now. */ - if (!errors) - if (lt_dlexit () != 0) - errormsg = dlerrordup (errormsg); - - if (errormsg) - { - fprintf (stderr, "%s: %s.\n", argv[0], errormsg); - free (errormsg); - exit (EXIT_FAILURE); - } - - return EXIT_SUCCESS; -} - -/* Be careful to save a copy of the error message, - since the next API call may overwrite the original. */ -static char * -dlerrordup (char *errormsg) -{ - char *error = (char *) lt_dlerror (); - if (error && !errormsg) - errormsg = strdup (error); - return errormsg; -} -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la ]dnl - [simple-module.lo -rpath $libdir -module -avoid-version], - [], [ignore], [ignore]) -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ]dnl - [ltdl-loader.$OBJEXT -dlopen self $LIBLTDL], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=clean rm -f simple-module.la], [], [ignore], [ignore]) - -# Try finding the module with and without the .la file, with absolute -# path, relative path, or one of the path variables. Do not override -# $PATH for w32, see shlibpath.at for the hacks this requires. -# -# Finding the module without the .la file will not work if MODULE_EXT -# aka. shared_ext is empty. - -eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shrext_cmds)='` - -module=no -eval shared_ext=\"$shrext_cmds\" -if test -n "$shared_ext"; then - have_lafile="with without" -else - have=with -fi - -if test PATH = "$shlibpath_var"; then - $unset shlibpath_var || shlibpath_var= -fi - -for lafile in $have_lafile; do - if test without = "$lafile"; then - rm $libdir/simple-module.la - fi - - for dir in inst/lib "$libdir"; do - LT_AT_EXEC_CHECK([./ltdl-loader], [], [stdout], [ignore], - [$dir/simple-module World]) - AT_CHECK([$GREP "Hello, World" stdout], [], [ignore]) - - for var in MODULE_PATH LTDL_LIBRARY_PATH $shlibpath_var - do - eval $var=\$dir - export $var - LT_AT_EXEC_CHECK([./ltdl-loader], [], [stdout], [ignore], - [simple-module World]) - AT_CHECK([$GREP "Hello, World" stdout], [], [ignore]) - $unset $var || eval $var= - done - done -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/ltdl-api.at b/BUILD/libtool-2.4.7/tests/ltdl-api.at deleted file mode 100644 index eca6d9b..0000000 --- a/BUILD/libtool-2.4.7/tests/ltdl-api.at +++ /dev/null @@ -1,40 +0,0 @@ -# ltdl-api.at -- test libltdl API -*- Autotest -*- -# -# Copyright (C) 2008, 2011-2019, 2021-2022 Free Software Foundation, -# Inc. -# Written by Ralf Wildenhues, 2008. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([ltdl API]) -AT_KEYWORDS([libltdl]) - -# Ensure that no symbols from argz are unrenamed. -eval `$LIBTOOL --config | $EGREP '^(NM|global_symbol_pipe|objext)='` -lt__argz_o=$abs_top_builddir/libltdl/lt__argz.$objext -AT_CHECK([test -f "$lt__argz_o" || exit 77]) -AT_CHECK([eval "$NM \"\$lt__argz_o\" | $global_symbol_pipe"], - [], [stdout], [ignore]) -# Check for global symbols beginning with "argz_" -AT_CHECK([$GREP "^T argz_" stdout], [1]) -# and also for the _ prefixed version "_argz_" -AT_CHECK([$GREP "^T _argz_" stdout], [1]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/ltdl-libdir.at b/BUILD/libtool-2.4.7/tests/ltdl-libdir.at deleted file mode 100644 index 7ec91bc..0000000 --- a/BUILD/libtool-2.4.7/tests/ltdl-libdir.at +++ /dev/null @@ -1,124 +0,0 @@ -# ltdl-libdir.at -- test libltdl functionality -*- Autotest -*- -# -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([libdir of installed modules]) -AT_KEYWORDS([libltdl]) - -# This test requires shared library support. -AT_CHECK([$LIBTOOL --features | $GREP 'enable shared libraries' || exit 77], - [], [ignore]) - -# With MinGW, try Windows-style paths only. -if pwd -W >/dev/null 2>&1; then - prefix=`pwd -W`/inst -else - prefix=`pwd`/inst -fi -libdir=$prefix/lib -bindir=$prefix/bin -mkdir $prefix $libdir $bindir - -AT_DATA([a.c], -[[#ifdef __cplusplus -extern "C" -#endif -int f (void) -{ - return 42; -} -]]) - -AT_DATA([m.c], -[[ -#include -#include - -typedef int func_f(void); - -int -main (int argc, const char *argv[]) -{ - lt_dlhandle module = NULL; - func_f *f = NULL; - - if (lt_dlinit()) { - fprintf(stderr, "lt_dlinit failed '%s'\n", lt_dlerror()); - return 1; - } - - module = lt_dlopen("./a.la"); - - if (!module) { - fprintf(stderr, "lt_dlopen failed '%s'\n", lt_dlerror()); - return 1; - } - - f = (func_f *)lt_dlsym(module, "f"); - - if (!f) { - fprintf(stderr, "lt_dlsym failed '%s'\n", lt_dlerror()); - return 1; - } - - if (f() != 42) { - fprintf(stderr, "f did not return 42\n"); - return 1; - } - - lt_dlclose(module); - lt_dlexit(); - return 0; -} -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip installcheck if --disable-ltdl-install was used. -AT_CHECK([test -f "$LIBLTDL" || exit 77]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a.la ]dnl - [a.lo -rpath $libdir -module -shared -avoid-version], - [], [ignore], [ignore]) -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c m.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT ]dnl - [m.$OBJEXT $LIBLTDL], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp a.la $libdir/a.la], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT], - [], [ignore], [ignore]) - -# Try finding the module via the libdir entry in a misplaced .la file. - -mv $libdir/a.la $bindir/a.la -cd $bindir -LT_AT_EXEC_CHECK([./m], - [], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/mdemo.at b/BUILD/libtool-2.4.7/tests/mdemo.at deleted file mode 100644 index 7a76286..0000000 --- a/BUILD/libtool-2.4.7/tests/mdemo.at +++ /dev/null @@ -1,855 +0,0 @@ -# demo.at -- Dynamic ltdl runtime loading -*- Autotest -*- -# -# Copyright (C) 1998, 2002-2004, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Thomas Tanner, 1998 -# Written by Greg Eisenhauer, 2002 -# Rewritten by Gary V. Vaughan, 2003 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Dynamic ltdl runtime loading.]) - -# _LT_SETUP -# --------- -m4_define([_LT_SETUP], -[dnl We can't use AT_DATA here, because we need an unquoted here- -dnl document to splice in the path to the top level libltdl directory, -dnl but, we do need to double m4-quote to prevent premature expansion -dnl of any active m4 symbols in the here-doc content, and to maintain -dnl the square-bracket symbols as is. -[cat >configure.ac <<_EOT_ -AC_INIT([mdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT([dlopen win32-dll]) -LTDL_INIT([nonrecursive convenience]) -AC_SUBST([LIBTOOL_DEPS]) -AC_SUBST([INCLTDL]) -AC_SUBST([LIBLTDL]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_EOT_] - - -[cat >Makefile.am <<_EOT_ -AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign -ACLOCAL_AMFLAGS = -I m4 -AM_CPPFLAGS = \$(INCLTDL) -AM_LDFLAGS = - -noinst_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -include_HEADERS = - -EXTRA_DIST = - -BUILT_SOURCES = -CLEANFILES = -MOSTLYCLEANFILES = - -lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la - -foo1_la_SOURCES = foo1.c -foo1_la_LIBADD = \$(LIBM) libsub.la -foo1_la_LDFLAGS = -no-undefined -module -avoid-version - -libfoo2_la_SOURCES = foo2.c -libfoo2_la_LIBADD = \$(LIBM) libsub.la -libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" - -libsub_la_SOURCES = sub.c -libsub_la_LDFLAGS = -no-undefined - -## Use -export-symbols-regex here explicitly because libltdl marks -## its exported symbols, and we use libltdl as a convenience archive. -## Thus, on w32, auto-exporting is turned off. -libmlib_la_SOURCES = mlib.c -libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la -libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" -libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -noinst_HEADERS = foo.h - -bin_PROGRAMS = mdemo mdemo_static - -# Create a version of mdemo that does dlopen. -mdemo_SOURCES = main.c -mdemo_LDFLAGS = -export-dynamic -## The quotes around -dlopen below fool automake into accepting it -mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ - "-dlopen" foo1.la "-dlopen" libfoo2.la -mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -# Create a statically linked version of mdemo. -mdemo_static_SOURCES = \$(mdemo_SOURCES) -mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) -mdemo_static_LDADD = \$(mdemo_LDADD) -mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) - -libtool: \$(LIBTOOL_DEPS) - \$(SHELL) ./config.status --recheck - -include \$(srcdir)/libltdl/ltdl.mk -include \$(srcdir)/mdemo.mk -_EOT_] - -AT_DATA([mdemo.mk], -[[# Don't abort for lack of mdemo.mk -]]) - -AT_DATA([foo.h], -[[#ifndef FOO_H -#define FOO_H - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -int sub (void); - -#endif -]]) - -AT_DATA([foo1.c], -[[#include -#include -#include - -#include "foo.h" - -#define nothing foo1_LTX_nothing -#define foo1 foo1_LTX_foo1 -#define hello foo1_LTX_hello - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -/* private function */ -int _foo1_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo1 (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return _foo1_helper (); -} - -int hello () { - printf ("** This is foolib 1 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA([foo2.c], -[[#include -#include -#include - -#include "foo.h" - -#define nothing libfoo2_LTX_nothing -#define foo2 libfoo2_LTX_foo2 -#define hello libfoo2_LTX_hello - -/* Give a global variable definition. */ -int nothing; - -/* private function */ -int _foo2_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo2 (void) { - printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); - return _foo2_helper (); -} - -int hello () { - printf ("** This is foolib 2 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA([mlib.c], -[[#include -#include - -#include "foo.h" -#include "ltdl.h" - -int test_dl (char *filename) { - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - handle = lt_dlopen(filename); - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -mlib_func (int argc, char **argv) -{ - int ret = 0; - int i; - /* - * Would be nice if this somehow worked for libraries, not just executables. - * LTDL_SET_PRELOADED_SYMBOLS(); - */ - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - if (test_dl(argv[i])) - ret = 1; - - lt_dlexit(); - return ret; -} -]]) - -AT_DATA([sub.c], -[[#include -#include -void sub (void) { printf ("sub() called\n"); } -]]) - -AT_DATA([main.c], -[[#include -#include -#include - -#include "foo.h" -#include "ltdl.h" - -#ifdef __cplusplus -# define EXPORT extern "C" -#else -# define EXPORT extern -#endif - -EXPORT int myfunc (void); - -int -test_dl (char *filename, int test_ext) -{ - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - if (test_ext) - handle = lt_dlopenext (filename); - else - handle = lt_dlopen (filename); - - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -myfunc () -{ - return HELLO_RET; -} - -int myvar; - -int -test_dlself () -{ - lt_dlhandle handle; - int (*pmyfunc)() = 0; - int *pmyvar = 0; - int ret = 0; - - handle = lt_dlopen(0); - if (!handle) { - fprintf (stderr, "can't dlopen the program!\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); - if (pmyfunc) - { - int value = (*pmyfunc) (); - - printf ("myfunc returned: %i\n", value); - if (value == HELLO_RET) - printf("myfunc is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'myfunc' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pmyvar = (int*)lt_dlsym(handle, "myvar"); - /* Try assigning to the variable. */ - if (pmyvar) - *pmyvar = 1; - else - { - fprintf (stderr, "did not find the 'myvar' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - lt_dlclose(handle); - return ret; -} - -static int -callback (const char *filename, void *data) -{ - printf ("%s: %s\n", (char *)data, filename); - return 0; -} - -static int -try_iterate (const char *search_path) -{ - char *s = "try_iterate"; - return lt_dlforeachfile (search_path, callback, s); -} - -/* cheap dirname clone. We require a '/' separator, nonempty and large - enough input, not ending with '/', and we will overwrite the input. */ -static char * -my_dirname (char *path) -{ - char *p = strrchr (path, '/'); - if (p) - *p = '\0'; - else - { - path[0] = '.'; - path[1] = '\0'; - } - return path; -} - -int -main (int argc, char **argv) -{ - int i; - int ret = 0; - char *p; - - printf ("Welcome to GNU libtool mdemo!\n"); - - if (argc < 2) { - fprintf (stderr, "usage: %s module [module...]\n", argv[0]); - } - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - { - if (test_dl(argv[i], 0)) - ret = 1; - p = strrchr(argv[i], '.'); - if (p) - { - *p = '\0'; - if (test_dl(argv[i], 1)) - ret = 1; - *p = '.'; - } - } - - if (test_dlself()) - ret = 1; - - for (i = 1; i < argc; i++) - if (argv[i][0] != '\0') - { - my_dirname (argv[i]); - if (try_iterate (argv[i])) - ret = 1; - } - - lt_dlexit(); - return ret; -} -]]) - -LT_AT_HOST_DATA([expout], -[[Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -]]) - -prefix=`pwd`/_inst -]) # _LT_SETUP - - -# _LT_CHECK_EXECUTE -# ----------------- -# Run the listed make rules, and check that the built binaries work. -m4_define([_LT_CHECK_EXECUTE], -[LT_AT_MAKE -LT_AT_EXEC_CHECK([./mdemo_static], 0, [ignore], [], - [./foo1.la ./libfoo2.la | $GREP '^try_iterate: ']) -LT_AT_EXEC_CHECK([./mdemo], 0, [ignore], [], - [./foo1.la ./libfoo2.la | $GREP '^try_iterate: ']) -LT_AT_EXEC_CHECK([./mdemo_static], 0, [ignore], [], - [`pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: ']) -LT_AT_EXEC_CHECK([./mdemo], 0, [ignore], [], - [`pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: ']) -]) - -# _LT_CHECK_INSTALL -# ----------------- -# Run the make install rule, and check that installed binaries work too. -m4_define([_LT_CHECK_INSTALL], -[LT_AT_MAKE([install]) - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -LT_AT_EXEC_CHECK([$prefix/bin/mdemo_static], 0, [ignore], [], - [$prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: ']) -LT_AT_EXEC_CHECK([$prefix/bin/mdemo], 0, [ignore], [], - [$prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: ']) -]) - - -## ------------- ## -## Mdemo static. ## -## ------------- ## - -AT_SETUP([dynamically ltdl preload static modules]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--with-included-ltdl --disable-shared], - [^build_old_libs=yes], [^build_libtool_libs=no]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## ------------- ## -## Mdemo shared. ## -## ------------- ## - -AT_SETUP([dynamically ltdl load a shared module]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--with-included-ltdl --disable-static], - [^build_old_libs=no], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## ----------- ## -## Mdemo conf. ## -## ----------- ## - -AT_SETUP([ltdl load shared and static modules]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--with-included-ltdl], - [^build_old_libs=yes], [^build_libtool_libs=yes]) -_LT_CHECK_EXECUTE -_LT_CHECK_INSTALL -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - - -## ------------- ## -## Mdemo dryrun. ## -## ------------- ## - -AT_SETUP([ltdl dryrun]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--with-included-ltdl]) -LT_AT_MAKE([all-local libltdl/libltdlc.la]) - -# create 'before' and 'after' in a directory deep within objdir, -# so that their creation and removal does not modify even a timestamp -# in the output of 'ls -l . $objdir' -$lt_INSTALL -d "$objdir/temp/temp" -before=$objdir/temp/temp/before -after=$objdir/temp/temp/after - -# Create a new libtool script that will enter dry run if the environment -# variable force_dry_run is set -$SED 's|^[[ ]]*opt_dry_run=.*$|opt_dry_run=$force_dry_run|' libtool > ltnew && mv ltnew libtool -export force_dry_run - -# main.o is not compiled with libtool, but it depends on it, so make -# sure it is up-to-date. libfoo2.la is linked with libsub.la, so make -# sure it exists, otherwise libtool will complain. -force_dry_run=false -LT_AT_MAKE([main.$objext]) - -# Making object files -# ls -l in MSYS sometimes shows year, not time, for really fresh files. -sleep 1 -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -force_dry_run=: -LT_AT_MAKE([foo1.lo foo2.lo libsub.la]) -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -AT_CHECK([cmp "$before" "$after"], 0, [ignore]) - -# Now really make them -force_dry_run=false -LT_AT_MAKE([foo1.lo foo2.lo libsub.la]) - -# Making libraries -sleep 1 # for MSYS -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -force_dry_run=: -LT_AT_MAKE([foo1.la libfoo2.la]) -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -AT_CHECK([cmp "$before" "$after"], 0, [ignore]) - -# Now really make them -force_dry_run=false -LT_AT_MAKE([foo1.la libfoo2.la]) - -# Making programs -sleep 1 # for MSYS -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -force_dry_run=: -LT_AT_MAKE([mdemo$EXEEXT mdemo_static$EXEEXT]) -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -AT_CHECK([cmp "$before" "$after"], 0, [ignore]) - -# Running $MAKE install -# Libtool does not create these directories -$lt_INSTALL -d "$prefix/bin" -$lt_INSTALL -d "$prefix/include" -$lt_INSTALL -d "$prefix/lib" - -sleep 1 # for MSYS -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$before" -force_dry_run=: -LT_AT_MAKE([install]) - -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$after" -AT_CHECK([cmp "$before" "$after"], 0, [ignore]) - -# Now really install -force_dry_run=false -LT_AT_MAKE([install]) - -# Running $MAKE uninstall -# Libtool does not uninstall the programs, remove them first -rm -f "$prefix/bin/mdemo$EXEEXT" "$prefix/bin/mdemo_static$EXEEXT" - -sleep 1 # for MSYS -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$before" -force_dry_run=: -LT_AT_MAKE([uninstall]) -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$after" -AT_CHECK([cmp "$before" "$after"], 0, [ignore]) - -# Now really uninstall -force_dry_run=false -LT_AT_CHECK_UNINSTALL - -AT_CLEANUP - -## ------- ## -## Mdemo2. ## -## ------- ## - -AT_SETUP([link with library that loads ltdl modules]) - -_LT_SETUP - -AT_DATA([mdemo.mk], -[[bin_PROGRAMS += mdemo2 mdemo2_static - -# Create a version of mdemo2 that links a library that does dlopen. -mdemo2_LDFLAGS = -export-dynamic "-dlopen" force -mdemo2_LDADD = libmlib.la - -# Create a statically linked version of mdemo. -mdemo2_static_SOURCES = mdemo2.c -mdemo2_static_LDFLAGS = $(STATIC) $(mdemo2_LDFLAGS) -mdemo2_static_LDADD = $(mdemo2_LDADD) -mdemo2_static_DEPENDENCIES = $(mdemo2_DEPENDENCIES) -]]) - -AT_DATA([mdemo2.c], -[[#include -#include "ltdl.h" - -extern int mlib_func (int, char **); - -int main (int argc, char **argv) -{ - int ret = 0; - - printf ("Welcome to GNU libtool mdemo2!\n"); - if (argc < 2) { - fprintf (stderr, "usage: %s module [module...]\n", argv[0]); - } - - /* This must be called in the program to get the preloaded symbols */ - LTDL_SET_PRELOADED_SYMBOLS(); - - ret = mlib_func(argc, argv); - - return ret; -} -]]) - -# Normalize line endings after $EGREP instead of using LT_AT_HOST_DATA -# here, since $EGREP *may* normalize line endings for us. -AT_DATA([expout], -[[Welcome to GNU libtool mdemo2! -module name: foo1 -module reference count: 1 -** This is foolib 1 ** -hello returned: 57616 -hello is ok! -cos (0.0) = 1 -sub() called -foo1 is ok! -module name: libfoo2 -module reference count: 1 -** This is foolib 2 ** -hello returned: 57616 -hello is ok! -sin (0.0) = 0 -sub() called -foo2 is ok! -]]) - -LT_AT_CHECK_CONFIG([--with-included-ltdl]) - -LT_AT_MAKE - -LT_AT_EXEC_CHECK([./mdemo2_static], 0, [stdout], [], - [./foo1.la ./libfoo2.la | $EGREP -v '^module filename: ']) -LT_AT_UNIFY_NL([stdout]) -LT_AT_CHECK([diff expout stdout]) - -LT_AT_EXEC_CHECK([./mdemo2], 0, [stdout], [], - [./foo1.la ./libfoo2.la | $EGREP -v '^module filename: ']) -LT_AT_UNIFY_NL([stdout]) -LT_AT_CHECK([diff expout stdout]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/need_lib_prefix.at b/BUILD/libtool-2.4.7/tests/need_lib_prefix.at deleted file mode 100644 index 358586c..0000000 --- a/BUILD/libtool-2.4.7/tests/need_lib_prefix.at +++ /dev/null @@ -1,198 +0,0 @@ -# need-lib-prefix.at -- test libltdl functionality -*- Autotest -*- -# -# Copyright (C) 2007-2008, 2010-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2007 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([enforced lib prefix]) -AT_KEYWORDS([libltdl libtool]) - -# Originally written to simulate a failure visible on systems -# that need a library prefix like 'lib', such as BeOS. Currently -# the prefix is hardcoded as 'lib', so systems that require a -# different prefix skips the test. - -AT_DATA([main.c], -[[#include -#include - -typedef int fun (int); - -static int errors = 0; - -static void -complain (const char *msg) -{ - const char *errmsg = lt_dlerror (); - fprintf (stderr, "%s", msg); - if (errmsg) - fprintf (stderr, ": %s\n", errmsg); - else - fprintf (stderr, ".\n"); - ++errors; -} - -static lt_dlhandle -moduleopen (const char *filename) -{ - lt_dlhandle handle; - - handle = lt_dlopen (filename); - if (!handle) - { - fprintf (stderr, "can't open the module %s!\n", filename); - complain ("error was"); - } - - return handle; -} - -static int -moduletest (lt_dlhandle handle) -{ - const lt_dlinfo *info = lt_dlgetinfo (handle); - fun *f = (fun *) lt_dlsym (handle, "f"); - int *v = (int *) lt_dlsym (handle, "i"); - - if (!f) - { - complain ("function 'f' not found"); - return 1; - } - if (!v) - { - complain ("variable 'i' not found"); - return 1; - } - printf ("%s: %d\n", info->name, f (*v)); - - return 0; -} - -int -main (int argc, char **argv) -{ - lt_dlhandle handle; - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (lt_dlinit() != 0) - { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - if (lt_dlpreload_open (0, moduletest) != 0) - complain ("error during preloading"); - - if (lt_dlexit () != 0) - complain ("error during exit"); - - return (errors != 0); -} -]]) - -AT_DATA([foo1.c], -[[#define f foo1_LTX_f -#define i foo1_LTX_i -#ifdef __cplusplus -extern "C" { -#endif -int f (int x) { return x / 3; } -int i = 7; -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA([foo2.c], -[[#define f libfoo2_LTX_f -#define i libfoo2_LTX_i -#ifdef __cplusplus -extern "C" { -#endif -int f (int x) { return (x * x) / 10; } -int i = 6; -#ifdef __cplusplus -} -#endif -]]) - -LT_AT_HOST_DATA([expout], -[[libfoo1: 2 -libfoo2: 3 -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS=$LDFLAGS - -# Skip this test when libraries are not normally prefixed with lib. -# E.g., for MSVC and OS/2. -eval "`$LIBTOOL --config | $EGREP '^(libname_spec)='`" -name= -eval libname=\"$libname_spec\" -AT_CHECK([test lib = "$libname" || exit 77]) - -# Create our own libtool, forcing need_lib_prefix setting -$SED 's|^\(need_lib_prefix\)=.*$|\1=unknown|' $LIBTOOL > ./libtool -LIBTOOL="$SHELL ./libtool" - -# Installation directory: -instdir=`pwd`/_inst - -$CC $CPPFLAGS $CFLAGS -c main.c -for file in foo1 foo2; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c -done - -AT_CHECK([$LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o foo1.la foo1.lo -rpath $instdir/lib], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o libfoo2.la foo2.lo -rpath $instdir/lib], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlpreopen foo1.la -dlpreopen libfoo2.la $LIBLTDL], - [], [ignore], [ignore]) - -LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen foo1.la -dlopen libfoo2.la], - [], [expout], []) - -# Install the libraries. -mkdir $instdir -mkdir $instdir/lib -$LIBTOOL --mode=install cp foo1.la $instdir/lib/foo1.la -$LIBTOOL --mode=install cp libfoo2.la $instdir/lib/libfoo2.la - -# Install the binary -mkdir $instdir/bin -$LIBTOOL --mode=install cp main$EXEEXT $instdir/bin/main$EXEEXT - -LT_AT_EXEC_CHECK([$instdir/bin/main], [], [expout], []) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/no-executables.at b/BUILD/libtool-2.4.7/tests/no-executables.at deleted file mode 100644 index 68c5c32..0000000 --- a/BUILD/libtool-2.4.7/tests/no-executables.at +++ /dev/null @@ -1,80 +0,0 @@ -# no-executables.at -- Libtool usage in GCC -*- Autotest -*- - -# Copyright (C) 2008, 2010-2019, 2021-2022 Free Software Foundation, -# Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Libtool usage in GCC]) -AT_SETUP([AC_NO_EXECUTABLES]) - -mkdir m4 - -AT_DATA([configure.ac], -[[AC_INIT([no-exec], [1]) -AC_CONFIG_MACRO_DIRS([m4]) - -# We punt a bit here, to get the results of AC_PROG_CC -# (and allow it to do link tests) but still error out on -# link tests within Libtool macros. -LDFLAGS=-lnosuchlibrary -AC_NO_EXECUTABLES -AC_PROG_CC -AC_PROG_CXX -AC_PROG_F77 -AC_PROG_FC -AM_PROG_GCJ - -# Consequently, we have to set cache variables for each link -# test we may need. For the purposes of this test, it shouldn't -# matter much whether these values are actually wrong, the point -# is that the linker should never be invoked. - -lt_cv_shlibpath_overrides_runpath=no -lt_cv_archive_cmds_need_lc=no -lt_cv_cc_needs_belf=no -lt_cv_ld_exported_symbols_list=no -lt_cv_prog_compiler_static_works=no -lt_cv_aix_libpath=/usr/lib:/lib -lt_cv_irix_exported_symbol=yes - -# Deal with AC_LIBTOOL_DLOPEN in one of two possible ways: -# - do not execute it at all in the ac_no_link case -# - preset the individual Autoconf test variables - -if ${test_ac_libtool_dlopen-false}; then - ac_cv_func_shl_load=no - ac_cv_lib_dld_shl_load=no - ac_cv_func_dlopen=no - ac_cv_lib_dl_dlopen=no - ac_cv_lib_svld_dlopen=no - ac_cv_lib_dld_dld_link=no - AC_LIBTOOL_DLOPEN -fi -AC_PROG_LIBTOOL - -AC_OUTPUT -]]) - -LT_AT_BOOTSTRAP([--install], [-I m4], [ignore], [ignore], [], [ignore], [ignore]) -LT_AT_CONFIGURE([]) -LT_AT_CONFIGURE([test_ac_libtool_dlopen=:]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/nocase.at b/BUILD/libtool-2.4.7/tests/nocase.at deleted file mode 100644 index f962575..0000000 --- a/BUILD/libtool-2.4.7/tests/nocase.at +++ /dev/null @@ -1,85 +0,0 @@ -# nocase.at -- test for nocase lib search -*- Autotest -*- -# -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# Written by Peter Rosin, 2007 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_SETUP([nocase library search]) -AT_KEYWORDS([libtool]) - -eval `$LIBTOOL --config | $EGREP '^(want_nocaseglob|file_magic_glob)='` - -AT_CHECK([test yes != "$want_nocaseglob" && ]dnl - [test -z "$file_magic_glob" && exit 77], - [1], [ignore], [ignore]) - -mkdir foo -AT_DATA([foo/Foo.c], -[ -int Foo (void) { return 1; } -]) - -mkdir bar -AT_DATA([bar/bar.c], -[ -extern int Foo (void); -int bar (void) { return Foo (); } -]) - -AT_DATA([main.c], -[ -extern int bar (void); -int main (void) { return bar (); } -]) - -libdir=`pwd`/inst/lib -mkdir inst inst/bin inst/lib - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo/Foo.lo foo/Foo.c -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o foo/libFoo.la foo/Foo.lo ]dnl - [-no-undefined -version-info 1:0:0 -rpath $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp foo/libFoo.la $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=clean rm -f foo/libFoo.la], - [], [ignore], [ignore]) - -rm -f $libdir/libFoo.la - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar/bar.lo bar/bar.c -AT_CHECK([$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o bar/libbar.la bar/bar.lo ]dnl - [-L$libdir -lfoo -no-undefined -version-info 1:0:0 -rpath $libdir], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp bar/libbar.la $libdir], - [], [ignore], [ignore]) - -str=`$EGREP '^(old_library)=' < $libdir/libbar.la` -eval "$str" -libbar=$old_library -rm -f $libdir/$libbar - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.$OBJEXT main.c - -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$libdir -lbar], - [], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/nonrecursive.at b/BUILD/libtool-2.4.7/tests/nonrecursive.at deleted file mode 100644 index 854edcf..0000000 --- a/BUILD/libtool-2.4.7/tests/nonrecursive.at +++ /dev/null @@ -1,150 +0,0 @@ -# nonrecursive.at -- test nonrecursive Automake Libltdl -*- Autotest -*- -# -# Copyright (C) 2005, 2008-2009, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Nonrecursive Automake Libltdl.]) - -# _LT_AT_LTDL_SETUP -# ----------------- -m4_pushdef([_LT_AT_LTDL_SETUP], -[AT_DATA([configure.ac], -[[AC_INIT([subdirectory-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([ltdl/config]) -AC_CONFIG_MACRO_DIRS([ltdl/m4]) -AC_CONFIG_LIBOBJ_DIR([ltdl]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign subdir-objects]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT -LTDL_INIT([nonrecursive]) -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I ltdl/m4 -AUTOMAKE_OPTIONS = 1.9.6 -BUILT_SOURCES = - -AM_CPPFLAGS = -AM_LDFLAGS = - -include_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = foo.la -EXTRA_LTLIBRARIES = - -EXTRA_DIST = - -CLEANFILES = -MOSTLYCLEANFILES = - -include ltdl/ltdl.mk - -foo_la_LDFLAGS = -module -avoid-version -no-undefined -foo_la_SOURCES = foo.c -]]) - -echo 'int dummy = 0;' > foo.c -])# _LT_AT_LTDL_SETUP - -## ------------------------ ## -## Softlinked libltdl tree. ## -## ------------------------ ## - -AT_SETUP([compiling softlinked libltdl]) - -_LT_AT_LTDL_SETUP - -LT_AT_LIBTOOLIZE([--ltdl]) -AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) - -# Support vanilla autoconf-2.59 & automake-1.9.6 -for file in lt__argz.c lt__dirent.c lt__strl.c; do - cp ltdl/$file $file -done - -LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [], [--add-missing --copy], - [], [], [all $tst_dist]) - -AT_CHECK([test -f ltdl/libltdlc.la]) - -AT_CLEANUP - - -## -------------------- ## -## Copied libltdl tree. ## -## -------------------- ## - -AT_SETUP([compiling copied libltdl]) - -_LT_AT_LTDL_SETUP - -LT_AT_LIBTOOLIZE([--copy --ltdl]) -AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) - -# Support vanilla autoconf-2.59 & automake-1.9.6 -for file in lt__argz.c lt__dirent.c lt__strl.c; do - cp ltdl/$file $file -done - -LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [], [--add-missing --copy], - [], [], [all $tst_dist]) - -AT_CHECK([test -f ltdl/libltdlc.la]) - -AT_CLEANUP - - -## ------------------------- ## -## Installable libltdl tree. ## -## ------------------------- ## - -AT_SETUP([installable libltdl]) - -_LT_AT_LTDL_SETUP - -prefix=`pwd`/_inst - -LT_AT_LIBTOOLIZE([--copy --ltdl]) -AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) - -# Support vanilla autoconf-2.59 & automake-1.9.6 -for file in lt__argz.c lt__dirent.c lt__strl.c; do - cp ltdl/$file $file -done - -LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [], [--add-missing --copy], - [], [--enable-ltdl-install --prefix=$prefix], [all install $tst_dist]) - -AT_CHECK([test -f "$prefix/lib/libltdl.la"]) -AT_CHECK([test -f "$prefix/include/ltdl.h"]) - -AT_CLEANUP - -dnl Be careful not to let the definition leak into other tests -m4_popdef([_LT_AT_LTDL_SETUP]) diff --git a/BUILD/libtool-2.4.7/tests/old-m4-iface.at b/BUILD/libtool-2.4.7/tests/old-m4-iface.at deleted file mode 100644 index 39b35bd..0000000 --- a/BUILD/libtool-2.4.7/tests/old-m4-iface.at +++ /dev/null @@ -1,197 +0,0 @@ -# old-m4-iface.at -- exercise old m4 interface to libtool -*- Autotest -*- -# -# Copyright (C) 2005, 2008-2009, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([Support for older m4 interface.]) - -######################################################################## -## -## TODO: -## test all the interfaces currently supported by AU_DEFUN/AU_ALIAS -## test autoupdate on all of those tests' configure.in -## -######################################################################## - -## -------------------------------------------------------- ## -## An overtly simple old-school AM_PROG_LIBTOOL invocation. ## -## -------------------------------------------------------- ## - -AT_SETUP([AM_PROG_LIBTOOL]) - -AT_DATA([configure.in], -[[AC_INIT(old.c) -AM_PROG_LIBTOOL -AC_SUBST([LIBTOOL_DEPS]) -AC_OUTPUT(Makefile) -]]) - -AT_DATA([Makefile.in], -[[COMPILE = @CC@ @CPPFLAGS@ @CFLAGS@ -LINK = @CC@ @CFLAGS@ @LDFLAGS@ -o $@ -SHELL = @SHELL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ - -all: libtool old@EXEEXT@ - -old@EXEEXT@: old.@OBJEXT@ - $(LINK) old.@OBJEXT@ - -.SUFFIXES: -.SUFFIXES: .c .@OBJEXT@ - -.c.@OBJEXT@: - $(COMPILE) -c $< - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -]]) - - -AT_DATA([old.c], -[[#include - -int main (void) -{ - printf ("Hello, World!"); - return 0; -} -]]) - -LT_AT_LIBTOOLIZE([--install]) - -# This is slightly bogus, since only libtool.m4 was required in aclocal.m4 -# with libtool-1.5x... -AT_CHECK([test -f aclocal.m4 || - cat "$tst_aclocaldir/libtool.m4" "$tst_aclocaldir/ltoptions.m4" \ - "$tst_aclocaldir/ltsugar.m4" "$tst_aclocaldir/ltversion.m4" \ - "$tst_aclocaldir/lt~obsolete.m4" > aclocal.m4]) - -LT_AT_BOOTSTRAP([ignore], [ignore], [ignore], [ignore], [--force]) - -LT_AT_EXEC_CHECK([./old], 0, [Hello, World!]) - -# Now, test that libtoolize doesn't mistakenly think the user called -# any libtool macros if in fact she didn't. -$SED '/AM_PROG_LIBTOOL/d' configure.in >configure.int -mv -f configure.int configure.in -AT_CHECK([$LIBTOOLIZE -n], [0], [stdout], [stderr]) -# ensure no shell errors: -AT_CHECK([$GREP -v "^libtoolize: " stderr], [1]) -AT_CHECK([$GREP "Remember to add.*LT_INIT.*to configure.in" stdout], [0], [ignore]) -AT_CHECK([$GREP "Consider adding.*LT_WITH_LTDL" stdout], [1]) -AT_CHECK([$GREP "Remember to add.*LT_CONFIG_LTDL_DIR" stdout], [1]) - -AT_CLEANUP - - -## --------------------------- ## -## An old style libltdl build. ## -## --------------------------- ## - -AT_SETUP([AC_WITH_LTDL]) - -_LTDL_PROJECT_FILES - -AT_DATA([configure.in], -[[AC_PREREQ(2.50) -AC_INIT([main.c]) -AC_PROG_MAKE_SET -AC_LIBTOOL_DLOPEN -AM_PROG_LIBTOOL -AC_WITH_LTDL -AC_OUTPUT(Makefile) -]]) - -AT_DATA([Makefile.in], -[[top_srcdir = . -top_builddir = . -COMPILE = @CC@ @INCLTDL@ @CPPFLAGS@ @CFLAGS@ -LTCOMPILE = @LIBTOOL@ --mode=compile $(COMPILE) -LTLINK = @LIBTOOL@ --mode=link @CC@ -no-undefined @CFLAGS@ @LDFLAGS@ -o $@ -SHELL = @SHELL@ -@SET_MAKE@ - -TARGETS = libltdl/libltdlc.la module.la ltdldemo@EXEEXT@ - -all: $(TARGETS) - -libltdl/libltdlc.la: - cd libltdl && $(MAKE) - -module.la: module.lo - $(LTLINK) module.lo -module -avoid-version -rpath /dev/null - -ltdldemo@EXEEXT@: main.@OBJEXT@ module.la libltdl/libltdlc.la - $(LTLINK) main.@OBJEXT@ -dlopen module.la @LIBLTDL@ @LIBS@ - -.SUFFIXES: -.SUFFIXES: .c .@OBJEXT@ .lo - -.c.@OBJEXT@: - $(COMPILE) -c $< - -.c.lo: - $(LTCOMPILE) -c -o $@ $< -]]) - -# Be sure to use the in-tree libltdl, somebody might have removed -# an installed libltdl.la file. -LT_AT_BOOTSTRAP([--ltdl --install], [-I libltdl/m4], [ignore], [ignore], - [--force], [--with-included-ltdl]) - -LT_AT_EXEC_CHECK([./ltdldemo], 0, [ignore]) - -AT_CLEANUP - - -## ---------------------------- ## -## AC_CONFIG_MACRO_DIR support. ## -## ---------------------------- ## - -AT_SETUP([AC_CONFIG_MACRO_DIR]) - -AT_DATA([configure.ac], -[[AC_INIT([libtoolize-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) -LT_INIT -AC_OUTPUT -]]) - -AT_DATA(expout, -[[libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -]]) - -LT_AT_CHECK_LIBTOOLIZE([--copy], 0, expout) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/package.m4 b/BUILD/libtool-2.4.7/tests/package.m4 deleted file mode 100644 index 4aeaab3..0000000 --- a/BUILD/libtool-2.4.7/tests/package.m4 +++ /dev/null @@ -1,7 +0,0 @@ -# Signature of the current package. -m4_define([AT_PACKAGE_NAME], [GNU Libtool]) -m4_define([AT_PACKAGE_TARNAME], [libtool]) -m4_define([AT_PACKAGE_VERSION], [2.4.7]) -m4_define([AT_PACKAGE_STRING], [GNU Libtool 2.4.7]) -m4_define([AT_PACKAGE_BUGREPORT], [bug-libtool@gnu.org]) -m4_define([AT_PACKAGE_URL], [http://www.gnu.org/software/libtool/]) diff --git a/BUILD/libtool-2.4.7/tests/pic_flag.at b/BUILD/libtool-2.4.7/tests/pic_flag.at deleted file mode 100644 index 87620f5..0000000 --- a/BUILD/libtool-2.4.7/tests/pic_flag.at +++ /dev/null @@ -1,63 +0,0 @@ -# pic_flag.at -- override the pic_flag at configure time -*- Autotest -*- - -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([override pic_flag at configure time]) - -# Just try to configure the Libtool package with -fpic if we can compile -# with it, for C and C++. - -AT_DATA([foo.c], -[[int data = 42; -int func(void) { return data; } -]]) - -cp foo.c foo.cpp -C_pic_flag='-fpic -DPIC' -AT_CHECK([$CC $CPPFLAGS $CFLAGS $C_pic_flag -c foo.c || exit 77], - [], [stdout], [stderr]) -# The configure test for the PIC flag also checks for warnings. -AT_CHECK([$GREP fpic stdout stderr && exit 77], [1]) -AT_CHECK([[$GREP '[uU]nknown.*option' stdout stderr && exit 77]], [1]) - -CXX_pic_flag='-fpic -DPIC' -if $CXX $CPPFLAGS $CXXFLAGS $CXX_pic_flag -c foo.cpp; then :; else - CXX_pic_flag= -fi - -# Set up a tests/demo.at style project. -_LT_DEMO_SETUP - -# Bootstrap, and configure it so that we can extract libtool --config -# settings. -LT_AT_BOOTSTRAP([], [-I m4], [], [--add-missing], [], - [ignore], [ignore]) - -LT_AT_CONFIGURE([lt_cv_prog_compiler_pic="$C_pic_flag" ]dnl - [lt_cv_prog_compiler_pic_CXX="$CXX_pic_flag"], - [./configure]) -: ${MAKE=make} -AT_CHECK([$MAKE], [], [stdout], [ignore]) -AT_CHECK([if ./libtool --features | $GREP 'enable shared libraries'; then ]dnl - [ $GREP ' -fpic' stdout; else exit 77; fi], [], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/recursive.at b/BUILD/libtool-2.4.7/tests/recursive.at deleted file mode 100644 index 832beea..0000000 --- a/BUILD/libtool-2.4.7/tests/recursive.at +++ /dev/null @@ -1,120 +0,0 @@ -# recursive.at -- test recursive Automake libltdl build -*- Autotest -*- -# -# Copyright (C) 2005, 2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Recursive Automake Libltdl.]) - -# _LT_AT_LTDL_SETUP -# ----------------- -m4_pushdef([_LT_AT_LTDL_SETUP], -[AT_DATA([configure.ac], -[[AC_INIT([subdirectory-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([ltdl/config]) -AC_CONFIG_MACRO_DIRS([ltdl/m4]) -AC_CONFIG_LIBOBJ_DIR([ltdl]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT -LTDL_INIT([recursive]) -AC_CONFIG_FILES([Makefile ltdl/Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I ltdl/m4 -AUTOMAKE_OPTIONS = 1.7 -SUBDIRS = ltdl -lib_LTLIBRARIES = foo.la -foo_la_LDFLAGS = -module -avoid-version -no-undefined -foo_la_SOURCES = foo.c -]]) - -echo 'int dummy = 0;' > foo.c -])# _LT_AT_LTDL_SETUP - -## ------------------------ ## -## Softlinked libltdl tree. ## -## ------------------------ ## - -AT_SETUP([compiling softlinked libltdl]) - -_LT_AT_LTDL_SETUP - -LT_AT_LIBTOOLIZE([--ltdl]) -AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) - -LT_AT_AUTORECONF([--force --verbose --install]) -LT_AT_CONFIGURE -LT_AT_MAKE([all $tst_dist]) - -AT_CHECK([test -f ltdl/libltdlc.la]) - -AT_CLEANUP - - -## -------------------- ## -## Copied libltdl tree. ## -## -------------------- ## - -AT_SETUP([compiling copied libltdl]) - -_LT_AT_LTDL_SETUP - -LT_AT_LIBTOOLIZE([--copy --ltdl]) -AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) - -LT_AT_AUTORECONF([--force --verbose --install]) -LT_AT_CONFIGURE -LT_AT_MAKE([all $tst_dist]) - -AT_CHECK([test -f ltdl/libltdlc.la]) - -AT_CLEANUP - - -## ------------------------- ## -## Installable libltdl tree. ## -## ------------------------- ## - -AT_SETUP([installable libltdl]) - -_LT_AT_LTDL_SETUP - -prefix=`pwd`/_inst - -LT_AT_LIBTOOLIZE([--copy --ltdl]) -AT_CHECK([if test -f ltdl/configure.ac; then false; fi]) - -LT_AT_AUTORECONF([--force --verbose --install]) -LT_AT_CONFIGURE([--enable-ltdl-install --prefix=$prefix]) -LT_AT_MAKE([all install $tst_dist]) - -AT_CHECK([test -f "$prefix/lib/libltdl.la"]) -AT_CHECK([test -f "$prefix/include/ltdl.h"]) - -AT_CLEANUP - -dnl Be careful not to let the definition leak into other tests -m4_popdef([_LT_AT_LTDL_SETUP]) diff --git a/BUILD/libtool-2.4.7/tests/resident.at b/BUILD/libtool-2.4.7/tests/resident.at deleted file mode 100644 index 8e395c0..0000000 --- a/BUILD/libtool-2.4.7/tests/resident.at +++ /dev/null @@ -1,148 +0,0 @@ -# resident.at -- test resident modules -*- Autotest -*- - -# Copyright (C) 2010-2019, 2021-2022 Free Software Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# Ensure resident modules are not unloaded at program exit: -# they need to be able to invoke atexit handlers. - -AT_SETUP([resident modules]) -AT_KEYWORDS([libltdl]) - -AT_DATA([main.c], -[[#include -#include - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle plugin_handle; - lt_dladvise advise; - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (argc < 2) - { - fprintf (stderr, "usage: %s plugin\n", argv[0]); - return 1; - } - - lt_dlinit (); - if (lt_dladvise_init (&advise) != 0 - || lt_dladvise_ext (&advise) != 0 - || lt_dladvise_resident (&advise) != 0) - { - printf ("advise failure: %s\n", lt_dlerror ()); - err = 1; - } - else - { - plugin_handle = lt_dlopenadvise (argv[1], advise); - if (NULL != plugin_handle) - { - int (*pf) (void); - printf ("plugin opened successfully!\n"); - pf = (int (*) (void)) lt_dlsym (plugin_handle, "setup_plugin"); - if (pf) - pf (); - else - { - printf ("dlsym failure: %s\n", lt_dlerror ()); - err = 1; - } - if (!lt_dlisresident (plugin_handle)) - { - printf ("module wrongly not marked resident\n"); - err = 1; - } - if (lt_dlclose (plugin_handle) != 0) - { - printf ("close failure (expected): %s\n", lt_dlerror ()); - } - else - { - printf ("wrongly closed resident module\n"); - err = 1; - } - } - else - { - printf ("plugin failed to open: %s\n", lt_dlerror ()); - err = 1; - } - if (lt_dladvise_destroy (&advise) != 0) - { - printf ("advise destroy failure: %s\n", lt_dlerror ()); - err = 1; - } - } - lt_dlexit (); - return err; -} -]]) - -AT_DATA([plugin.c], -[[#include -#include - -void -bye (void) -{ - puts ("called from atexit handler"); -} - -#ifdef __cplusplus -extern "C" -#endif -int -setup_plugin (void) -{ - atexit (bye); -} -]]) - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -AT_CHECK([case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac], [], [ignore]) - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" -inst=`pwd`/inst -libdir=$inst/lib - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c main.c], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir ]dnl - [-module -avoid-version plugin.lo], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ]dnl - [-dlopen plugin.la $LIBLTDL], - [], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./main], [], [stdout], [ignore], [./plugin.la]) -AT_CHECK([$GREP 'called from atexit handler' stdout], [], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/runpath-in-lalib.at b/BUILD/libtool-2.4.7/tests/runpath-in-lalib.at deleted file mode 100644 index b7837c3..0000000 --- a/BUILD/libtool-2.4.7/tests/runpath-in-lalib.at +++ /dev/null @@ -1,67 +0,0 @@ -# runpath-in-lalib.at -- -*- Autotest -*- - -# Copyright (C) 2007-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2007 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([Runpath in libtool library files]) -AT_KEYWORDS([libtool]) - -AT_DATA([a.c], -[[int a () { return 0; } -]]) -AT_DATA([b.c], -[[extern int a (); -int b () { return a (); } -]]) -AT_DATA([m.c], -[[extern int b (); -int main () { return b (); } -]]) - -instdir=`pwd`/inst -libdir=$instdir/lib -bindir=$instdir/bin -addrunpath=`pwd`/foobar - -mkdir $instdir $libdir $bindir - -for file in a.c b.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -$CC $CPPFLAGS $CFLAGS -c m.c -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -R$addrunpath], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir liba.la], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT libb.la], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir/liba.la], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp libb.la $libdir/libb.la], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT], [], [ignore], [ignore]) - -AT_CHECK([$GREP /foobar $libdir/liba.la], [], [ignore]) -AT_CHECK([$GREP /foobar $libdir/libb.la], [], [ignore]) - -# TODO: check that m gets -R, too. - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/search-path.at b/BUILD/libtool-2.4.7/tests/search-path.at deleted file mode 100644 index 58e6f89..0000000 --- a/BUILD/libtool-2.4.7/tests/search-path.at +++ /dev/null @@ -1,98 +0,0 @@ -# search-path.at -- test sys_lib_search_path_spec -*- Autotest -*- -# -# Copyright (C) 2006, 2008, 2010-2019, 2021-2022 Free Software -# Foundation, Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([sys_lib_search_path]) -AT_KEYWORDS([libtool]) -LDFLAGS="$LDFLAGS -no-undefined" - -AT_DATA([main.c], -[[extern -#ifdef __cplusplus -"C" -#endif -int inflate (); -int main() -{ - return inflate (); -} -]]) - -$CC $CPPFLAGS $CFLAGS -c main.c -eval `$LIBTOOL --config | $EGREP '^(sys_lib_search_path_spec)='` -eval sys_lib_search_path=\"$sys_lib_search_path_spec\" -no_libz=: -for path in $sys_lib_search_path; do - if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$path -lz - then - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -lz], - [], [ignore], [ignore]) - no_libz=false - break - fi -done - -# If -lz doesn't exist (hello, cross compiler!), we need a dummy test. -if $no_libz; then - AT_CHECK([exit 77]) -fi - -AT_CLEANUP - - -AT_SETUP([sys_lib_search_path on w32]) -AT_KEYWORDS([libtool]) - -# Check if libtool knows the path to system libraries. Using -# a w32 system library since the test is designed to check if -# the libtool handling of the sys_lib_search_path variable is -# correct for MSVC. - -LDFLAGS="$LDFLAGS -no-undefined" - -AT_DATA([gc.c], -[[#include -HCURSOR get_cursor (void) -{ - return GetCursor (); -} -]]) - -eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`" -AT_CHECK([test yes = "$build_libtool_libs" || exit 77]) - -AT_CHECK([$LIBTOOL --mode=compile --tag=CC \ - $CC $CPPFLAGS $CFLAGS -o gc.lo -c gc.c || exit 77], - [], [ignore], [ignore]) - -# Ok, compile was fine, then it should be possible to link too. - -AT_CHECK([$LIBTOOL --mode=link --tag=CC --tag=disable-static \ - $CC $CFLAGS $LDFLAGS -o libgc.la gc.lo -rpath /nowhere -luser32], - [], [ignore], [ignore]) - -# If -luser32 was found, then libtool will build a shared library, -# otherwise libtool will fall back to creating a static library. -AT_CHECK([$GREP old_library=\'\' libgc.la], [], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/shlibpath.at b/BUILD/libtool-2.4.7/tests/shlibpath.at deleted file mode 100644 index 4898dc4..0000000 --- a/BUILD/libtool-2.4.7/tests/shlibpath.at +++ /dev/null @@ -1,74 +0,0 @@ -# shlibpath.at -- Test shlibpath settings -*- Autotest -*- -# -# Copyright (C) 2006, 2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2006 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([shlibpath_overrides_runpath]) -AT_KEYWORDS([libtool]) - -mkdir sub sub/lib sub/bin -echo 'int a () { return 0; }' > a.c -echo 'extern int a (); int main () { return a(); }' > m.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib -$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la -$LIBTOOL --mode=clean rm -f liba.la -rm -f sub/lib/liba.la - -$CC $CPPFLAGS $CFLAGS -c m.c -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT -Lsub/lib -la -R`pwd`/sub/lib], - [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT -Lsub/lib -la], - [], [ignore], [ignore]) - -LT_AT_MVDIR([sub], [moved]) -mkdir sub sub/lib sub/bin -echo 'int wrong_lib () { return 0; }' > a.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib -$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la -$LIBTOOL --mode=clean rm -f liba.la - -eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shlibpath_overrides_runpath)='` - -# No point checking a system with static libraries: -LT_AT_EXEC_CHECK([./m], [1], [ignore], [ignore], [|| exit 1 && exit 77]) - -if test PATH = "$shlibpath_var"; then - addpath=`pwd`/moved/bin -else - addpath=`pwd`/moved/lib -fi -sep= -eval test -n \"\$$shlibpath_var\" && sep=: -eval $shlibpath_var='$addpath$sep$'$shlibpath_var -export $shlibpath_var -if test no != "$shlibpath_overrides_runpath"; then - LT_AT_EXEC_CHECK([./m], [0], [ignore], [ignore]) -else - LT_AT_EXEC_CHECK([./m], [1], [ignore], [ignore], [|| exit 1]) -fi -# Test that shlibpath_var is effective in adding paths at all: -LT_AT_EXEC_CHECK([./m2], [0], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/slist.at b/BUILD/libtool-2.4.7/tests/slist.at deleted file mode 100644 index e267525..0000000 --- a/BUILD/libtool-2.4.7/tests/slist.at +++ /dev/null @@ -1,171 +0,0 @@ -# slist.at -- test slist.c -*- Autotest -*- -# -# Copyright (C) 2009, 2011-2019, 2021-2022 Free Software Foundation, -# Inc. -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_SETUP([SList functionality]) - -AT_DATA([test-slist.c], [[ -#include -#include -#include -#include -#include -#include "slist.h" - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -void *find_string (SList *item, void *data) -{ - if (data != NULL && STREQ ((const char *) item->userdata, (const char *)data)) - return item; - else - return NULL; -} - -void boxed_delete (void *item) -{ - free (slist_unbox ((SList *) item)); -} - -void *print_item (SList *item, void *userdata) -{ - userdata = userdata; /* unused */ - printf ("%s\n", (const char*)item->userdata); - return NULL; -} - -int list_compare (const SList *item1, const SList *item2, void *userdata) -{ - userdata = userdata; - return strcmp ((const char *) item1->userdata, (const char *)item2->userdata); -} - -int main () -{ - int i; - SList *empty_list = NULL, *list = NULL, *item, *list_save; - char *data = NULL; - - /* slist_cons */ - list = slist_cons (NULL, NULL); - - for (i=0; i < 10; ++i) { - data = (char *) malloc (42); - assert (data); - sprintf (data, "foo%d", i); - list = slist_cons (slist_box (data), list); - } - list_save = list; - list = slist_cons (NULL, list); - assert (list == list_save); - - - /* slist_find */ - assert (slist_find (NULL, find_string, (void *) "whatever") == NULL); - assert (slist_find (empty_list, find_string, (void *) "whatever") == NULL); - assert (slist_find (list, find_string, (void *) "foo10") == NULL); - item = (SList *) slist_find (list, find_string, (void *) "foo1"); - assert (item != NULL); - assert (STREQ ((const char *) item->userdata, "foo1")); - - item = slist_nth (list, 10); - assert (item != NULL && STREQ ((const char *) item->userdata, "foo0")); - - puts ("list as inserted:"); - slist_foreach (list, print_item, NULL); - puts ("reversed list:"); - list = slist_reverse (list); - slist_foreach (list, print_item, NULL); - - item = slist_nth (list, 1); - assert (item != NULL && STREQ ((const char *) item->userdata, "foo0")); - - assert (10 == slist_length (list)); - - /* slist_tail is the second item, not the last one */ - item = slist_tail (list); - assert (item != NULL && STREQ ((const char *) item->userdata, "foo1")); - - assert (slist_tail (slist_nth (list, 10)) == NULL); - - /* slist_sort and implicitly, slist_sort_merge */ - assert (slist_sort (NULL, list_compare, NULL) == NULL); - list = slist_sort (list, list_compare, NULL); - puts ("list after no-op sort:"); - slist_foreach (list, print_item, NULL); - - list = slist_reverse (list); - puts ("reversed list:"); - slist_foreach (list, print_item, NULL); - puts ("sorting reversed list:"); - list = slist_sort (list, list_compare, NULL); - slist_foreach (list, print_item, NULL); - - /* slist_remove */ - assert (slist_remove (NULL, find_string, NULL) == NULL); - assert (slist_remove (&empty_list, find_string, NULL) == NULL); - - list_save = list; - assert (slist_remove (&list, find_string, NULL) == NULL); - assert (list_save == list); - - /* remove entries: middle, last, first, not present */ - /* slist_reverse above has left us with increasing order */ - list_save = list; - item = slist_remove (&list, find_string, (void *) "foo5"); - assert (list_save == list); - assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo5")); - free (data); - - list_save = list; - item = slist_remove (&list, find_string, (void *) "foo9"); - assert (list_save == list); - assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo9")); - free (data); - - list_save = list; - item = slist_remove (&list, find_string, (void *) "foo0"); - assert (list_save != list); - assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo0")); - free (data); - - list_save = list; - item = slist_remove (&list, find_string, (void *) "foo5"); - assert (list_save == list); - assert (item == NULL); - - assert (slist_delete (list, boxed_delete) == NULL); - return 0; -} -]]) - -CPPFLAGS="-I$top_srcdir/libltdl -I$top_srcdir/libltdl/libltdl -I$abs_top_builddir" -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c test-slist.c], - [], [ignore], [ignore]) -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c $top_srcdir/libltdl/slist.c], - [], [ignore], [ignore]) -AT_CHECK([$CC $CFLAGS $LDFLAGS -o test-slist test-slist.$OBJEXT slist.$OBJEXT], - [], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./test-slist], [], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/standalone.at b/BUILD/libtool-2.4.7/tests/standalone.at deleted file mode 100644 index d7aac1e..0000000 --- a/BUILD/libtool-2.4.7/tests/standalone.at +++ /dev/null @@ -1,90 +0,0 @@ -# standalone.at -- test standalone libltdl builds -*- Autotest -*- -# -# Copyright (C) 2005, 2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2006 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Standalone Libltdl.]) - -## ------------------------ ## -## Softlinked libltdl tree. ## -## ------------------------ ## - -AT_SETUP([compiling softlinked libltdl]) - -LT_AT_CHECK_LIBTOOLIZE([--ltdl=.], [], [ignore]) -LT_AT_CONFIGURE -LT_AT_MAKE([all $tst_dist]) - -AT_CHECK([test -f libltdlc.la]) - -AT_CLEANUP - - -## -------------------- ## -## Copied libltdl tree. ## -## -------------------- ## - -AT_SETUP([compiling copied libltdl]) - -LT_AT_CHECK_LIBTOOLIZE([--copy --ltdl=.], [], [ignore]) -LT_AT_CONFIGURE -LT_AT_MAKE([all $tst_dist]) - -AT_CHECK([test -f libltdlc.la]) - -AT_CLEANUP - - -## ------------------------- ## -## Installable libltdl tree. ## -## ------------------------- ## - -AT_SETUP([installable libltdl]) - -prefix=`pwd`/_inst - -LT_AT_CHECK_LIBTOOLIZE([--copy --ltdl=.], [], [ignore]) -LT_AT_CONFIGURE([--enable-ltdl-install --prefix=$prefix]) -LT_AT_MAKE([all install $tst_dist]) - -AT_CHECK([test -f "$prefix/lib/libltdl.la"]) -AT_CHECK([test -f "$prefix/include/ltdl.h"]) - -AT_CLEANUP - - -## ----------------------------------------------- ## -## libltdl is usable without Autoconf or Automake. ## -## ----------------------------------------------- ## - -AT_SETUP([linking libltdl without autotools]) - -_LTDL_PROJECT_FILES([libltdl]) -LT_AT_CHECK_LIBTOOLIZE([--copy --ltdl], [], [ignore]) -LT_AT_MAKE([], [CC="$CC" LIBTOOLFLAGS="$LIBTOOLFLAGS" CPPFLAGS="$CPPFLAGS" ]dnl - [CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" ]dnl - [CONFIGURE_OPTIONS="$configure_options"]) - -LT_AT_EXEC_CHECK([./ltdldemo], 0, [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/static.at b/BUILD/libtool-2.4.7/tests/static.at deleted file mode 100644 index aee3c0a..0000000 --- a/BUILD/libtool-2.4.7/tests/static.at +++ /dev/null @@ -1,380 +0,0 @@ -# static.at -- test flags for static/dynamic linking -*- Autotest -*- -# -# Copyright (C) 2006-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2006 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -##### NOTES ##### -# -# - How do we test whether a library was linked statically? -# We could -# - try $NM on the program to see whether it includes the symbol definitions. -# disadvantage: for uninstalled programs, we may need to find out the name -# of the _real_ linked-against-uninstalled executable -# (.libs/prog vs .libs/lt-prog etc). -# - simply remove the libraries before execution. If the program still works, -# then the library was linked statically. -# -Does this work on all systems? -# -No, it will fail on AIX with non-rtl-created libraries: plain '-static' -# will only cause the linker not to consider '*.so' libraries, but only -# '*.a'. The latter, however, may still be shared images. :-/ -# '-all-static' still works, however. -# -# It will not work with dlpreloading until we fix its related bug. -# -# Let's try the latter until we know better. - -# - Test -Bstatic/-Bdynamic. It should work with all of: -# - (un)installed libtool libraries -# - non-libtool libraries -# - direct or pulled-in libraries -# - libraries of which there are only one kind available (TODO) -# (in the static case, should having only the shared one provoke failure?) - -# - Check no extraneous run paths have been added. - -# - make sure -Bstatic/-Bdynamic cannot be mixed with -all-static (TODO) - -# - should -Bstatic/-Bdynamic be mixable with -static or -static-libtool-libs? -# Semantics could be as follows: -# - '-static'/'-static-libtool-libs' set the default, which is the initial -# value, then '-Bstatic'/'-Bdynamic' override that -# - '-Bdefault' resets to the default value given by the other switches. - -# - TODO: test exposure for dlopened and dlpreopened modules, -# without and with diverse static flag combinations. - -# - TODO: test other tags: C++ etc. -# (most likely the Sun compiler suite will be the only problem child). - -AT_SETUP([static linking flags for programs]) -AT_KEYWORDS([libtool]) -AT_KEYWORDS([interactive])dnl Some of the exec_fail test cause popups with MinGW. - -LDFLAGS="$LDFLAGS -no-undefined" -prefix=`pwd`/inst -bindir=$prefix/bin -prefix1=`pwd`/inst1 -prefix2=`pwd`/inst2 -prefix3=`pwd`/inst3 -libdir1=$prefix1/lib -libdir2=$prefix2/lib -libdir3=$prefix3/lib -srcdir_broken=`pwd`/broken-src -prefix_broken=`pwd`/broken -libdir_broken=$prefix_broken/lib -bindir_broken=$prefix_broken/bin - -have_static=false -have_shared=false -per_deplib=false -$LIBTOOL --features | $GREP 'enable static libraries' >/dev/null && have_static=: -$LIBTOOL --features | $GREP 'enable shared libraries' >/dev/null && have_shared=: -eval `$LIBTOOL --config | - $EGREP '^(per_deplib_(static|dynamic)_flag|shlibpath_var|link_static_flag)='` -if test -n "$per_deplib_static_flag" && test -n "$per_deplib_dynamic_flag"; then - per_deplib=: -fi -# On GNU/Linux with --disable-static, m-all-static fails to link. -# What we'd like to state here is: if the user actively passed -# --disable-static (as opposed to: the libtool.m4 macros set -# enable_static=no), then they cannot expect -all-static to work. -# So we punt, knowing that we mangle enable_static on AIX only. -can_link_all_static=-all-static -case $host_os,$have_static,$link_static_flag in - aix*) ;; - *,false,?*) can_link_all_static= ;; -esac - -# Create broken libraries. They will later be moved to those -# directories where the respective libraries should be linked -# statically from. This detects both failure to link statically -# and failure to omit extraneous run paths. -mkdir $srcdir_broken $prefix_broken $libdir_broken -( - cd $srcdir_broken - echo 'int this_should_not_be_linked_against() { return 0; }' > a.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c - for i in 1 1dep 2 2dep 3 3dep; do - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a.lo -rpath $libdir_broken - $LIBTOOL --mode=install cp liba$i.la $libdir_broken/liba$i.la - done -) - -func_fix_path () -{ - # For w32, hardcoding cannot work, but $libdir/../bin is where binaries - # usually are installed. Since we use several prefixes for testing - # convenience -- it allows us to replace the good libraries easily with - # broken ones and vice versa -- we have to set PATH to find them. - # Since OTOH we put broken libs of all names in the "moved" prefixes, - # we have to ensure that this prefix comes last: otherwise we may link - # against a broken library but the good one would come later in the PATH. - # So we let the caller of this function set the order: the "other" two - # come first. - if test PATH = "$shlibpath_var"; then - save_PATH=$PATH - sep= - test -z "$PATH" || sep=: - PATH=$2/bin:$3/bin:$1/bin$sep$PATH - fi - -} - -func_restore_path () -{ - test PATH = "$shlibpath_var" && PATH=$save_PATH -} - -# func_move_libs srcdir_to_move prefix_to_move other_prefix other_prefix -func_move_libs () -{ - LT_AT_MVDIR(["$1"], ["$1-moved"]) - LT_AT_MVDIR(["$2"], ["$2-moved"]) - LT_AT_MVDIR(["$srcdir_broken"], ["$1"]) - LT_AT_MVDIR(["$prefix_broken"], ["$2"]) - func_fix_path "$2" "$3" "$4" -} - -# func_restore_libs srcdir_to_restore prefix_to_restore -func_restore_libs () -{ - func_restore_path - LT_AT_MVDIR(["$2"], ["$prefix_broken"]) - LT_AT_MVDIR(["$1"], ["$srcdir_broken"]) - LT_AT_MVDIR(["$2-moved"], ["$2"]) - LT_AT_MVDIR(["$1-moved"], ["$1"]) -} - -# make sure the program can be run. -func_test_exec () -{ - # On AIX without runtimelinking, this does not make sense. - if $have_static; then - echo "## The following should succeed:" - for st - do - echo "# m$st" - LT_AT_EXEC_CHECK([./m$st]) - # For some per-deplib flag combinations there may be no installed program, - # because liba2 is not yet installed. - if test -f "$bindir/m$st$EXEEXT"; then - LT_AT_EXEC_CHECK([$bindir/m$st]) - fi - done - fi -} - -# make sure the program cannot be run. -func_test_exec_fail () -{ - # No point in testing if we're linking statically anyway. - # TODO: Maybe in the 'else' case we could test for success? - if $have_shared; then - echo "## The following should fail:" - for st - do - echo "# m$st" - LT_AT_EXEC_CHECK([./m$st], [1], [], [ignore], [|| (exit 1)]) - # For some per-deplib flag combinations there may be no installed program, - # because liba2 is not yet installed. - if test -f "$bindir/m$st$EXEEXT"; then - LT_AT_EXEC_CHECK([$bindir/m$st], [1], [], [ignore], [|| (exit 1)]) - fi - done - fi -} - - -# Try three independent libraries, -# one installed libtool library, -# one uninstalled libtool library, -# one non-libtool library, -# the libtool libraries each having a dependency, or not. -# Try both an uninstalled and the corresponding installed program. - -for withdep in no yes; do - echo - echo "### libraries with dependencies: $withdep" - rm -rf src $prefix $prefix1 $prefix2 $prefix3 - mkdir src $prefix $bindir $prefix1 $prefix2 $prefix3 - cd src - - ### build the libraries. - for i in 1 2 3; do - eval ldir=\$libdir$i - mkdir a$i $ldir - cd a$i - case $withdep,$i in - no,* | yes,3) - echo "int a$i() { return 0; }" > a$i.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -rpath $ldir - ;; - *) - echo "int a${i}dep() { return 0; }" > a${i}dep.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a${i}dep.c - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba${i}dep.la a${i}dep.lo -rpath $ldir - echo "extern int a${i}dep(); int a$i() { return a${i}dep(); }" > a$i.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -rpath $ldir ./liba${i}dep.la - ;; - esac - cd .. - done - - ### install the libraries. - test yes = "$withdep" && $LIBTOOL --mode=install cp a1/liba1dep.la $libdir1/liba1dep.la - $LIBTOOL --mode=install cp a1/liba1.la $libdir1/liba1.la - $LIBTOOL --mode=install cp a3/liba3.la $libdir3/liba3.la - $LIBTOOL --mode=clean rm -f a1/liba1.la a3/liba3.la - test yes = "$withdep" && $LIBTOOL --mode=clean rm -f a1/liba1dep.la - # simulate a non-libtool lib: - rm -f $libdir3/liba3.la - - - ### build the programs. - echo 'extern int a1(), a2(), a3(); - int main() { return a1() + a2() + a3(); }' > m.c - $CC $CPPFLAGS $CFLAGS -c m.c - - # global static flags. - for st in -static -static-libtool-libs $can_link_all_static; do - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o m$st$EXEEXT m.$OBJEXT \ - -L$libdir1 -la1 a2/liba2.la -L$libdir3 -R$libdir3 -la3], - [0], [ignore], [ignore]) - done - - # per-deplib static/shared flags. - # also try a bit redundant flags, and shuffled order (for run paths check). - if $per_deplib; then - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la -L$libdir3 -R$libdir3 -la3], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT \ - -L$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic -L$libdir3 -R$libdir3 -la3], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT m.$OBJEXT \ - -L$libdir1 -la1 a2/liba2.la -L$libdir3 -Bstatic -la3 -Bdynamic], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m12$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 a2/liba2.la -Bdynamic -L$libdir3 -R$libdir3 -la3], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m13$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la \ - -L$libdir3 -Bstatic -la3 -Bdynamic], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m31$EXEEXT m.$OBJEXT \ - -L$libdir3 -Bstatic -la3 -Bdynamic a2/liba2.la \ - -L$libdir1 -Bstatic -la1 -Bdynamic], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m23$EXEEXT m.$OBJEXT \ - -L$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic \ - -L$libdir3 -Bstatic -la3 -Bdynamic], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 a2/liba2.la -L$libdir3 -la3 -Bdynamic], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123a$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 -Bdynamic -Bstatic a2/liba2.la -Bdynamic \ - -Bstatic -L$libdir3 -la3 -Bdynamic], - [0], [ignore], [ignore]) - dnl # This usually fails. So don't do it. - dnl AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123b$EXEEXT m.$OBJEXT \ - dnl -L$libdir1 -Bstatic -la1 a2/liba2.la -L$libdir3 -la3], - dnl [0], [ignore], [ignore]) - fi - - ### install the programs. - # We can't install any program that links dynamically against liba2. - for st in -static -static-libtool-libs $can_link_all_static `$per_deplib && echo 2 12 23 123 123a`; do - echo "# m$st" - AT_CHECK([$LIBTOOL --mode=install cp m$st$EXEEXT $bindir/m$st$EXEEXT], [0], [ignore], [stderr]) - if $have_static; then - AT_CHECK([$EGREP 'relinking|has not been installed' stderr], [1], [], []) - fi - done - dnl AT_CHECK([$LIBTOOL --mode=install cp m123b$EXEEXT $bindir/m123b$EXEEXT], [0], [ignore], [ignore]) - - - ### Run each program once so that relinking has happened. - - func_fix_path $prefix1 $prefix2 $prefix3 - func_test_exec -static -static-libtool-libs -all-static `$per_deplib && echo 1 2 3 12 13 23 31 123 123a` - func_restore_path - - # For each library: - # - remove the library images to catch failure to link statically/dynamically, - # - add false other deplibs in the paths to catch (some) wrongly added run paths. - - # if '-all-static' does not work, do not exercise it any more. - all_static=-all-static - test -z "$link_static_flag" && all_static= - - echo "### test whether installed libtool library liba2 was linked statically" - func_move_libs a2 $prefix2 $prefix3 $prefix1 - func_test_exec -static -static-libtool-libs $all_static `$per_deplib && echo 2 12 23 123 123a` - $per_deplib && func_test_exec_fail 1 3 13 31 - func_restore_libs a2 $prefix2 - - echo "### test whether uninstalled libtool library liba1 was linked statically" - func_move_libs a1 $prefix1 $prefix2 $prefix3 - func_test_exec -static-libtool-libs $all_static `$per_deplib && echo 1 12 13 31 123 123a` - $per_deplib && func_test_exec_fail -static 2 3 23 - func_restore_libs a1 $prefix1 - - echo "### test whether non-libtool library liba3 was linked statically" - func_move_libs a3 $prefix3 $prefix1 $prefix2 - func_test_exec $all_static `$per_deplib && echo 3 13 23 31 123 123a` - # no '-static-libtool-libs' flag below, because some hosts such as - # Cray prefer static libs by default. - # and doesn't exercise anything not already tested above: - func_test_exec_fail -static `$per_deplib && echo 1 2 12` - func_restore_libs a3 $prefix3 - - cd .. -done - -AT_CLEANUP - - -AT_SETUP([ccache -all-static]) - -AT_DATA([ccache], -[[#! /bin/sh -# poor man's ccache clone -case $1 in --*) echo "bogus argument: $1" >&2; exit 1 ;; -esac -exec "$@" -]]) -chmod +x ./ccache - -AT_DATA([a.c], -[[int main(void) { return 0; } -]]) - -AT_CHECK([$CC $CPPFLAGS $CFLAGS -c a.c], [], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --mode=link --tag=CC ./ccache $CC $CFLAGS $LDFLAGS -all-static a.$OBJEXT -o a$EXEEXT], - [], [ignore], [ignore]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/stresstest.at b/BUILD/libtool-2.4.7/tests/stresstest.at deleted file mode 100644 index c59007a..0000000 --- a/BUILD/libtool-2.4.7/tests/stresstest.at +++ /dev/null @@ -1,291 +0,0 @@ -# stresstest.at -- Libtool stress test -*- Autotest -*- -# -# Copyright (C) 2005-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Ralf Wildenhues, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -# Test various flag and option combinations. -# Test linkage against objects in various sections. - -# Note: This test is experimental, and might be too strict for some systems. - -AT_BANNER([Libtool stress test.]) -AT_SETUP([Link option thorough search test]) -AT_KEYWORDS([libtool expensive]) -eval `$LIBTOOL --config | $EGREP '^(CC|objdir|allow_undefined_flag)='` - -mkdir sub sub2 sub3 2>/dev/null - -AT_DATA(a.c, -[[/* all kinds of data items */ -#ifdef __cplusplus -extern "C" { -#endif -int v1; -static int v2; -int v3 = 0; -int v4 = 1; -extern const int v5, v6; -extern const char *v7; -extern const char v8[]; -extern int (*const v12) (void); -const int v5 = 0; -const int v6 = 1; -const char* v7 = "\01foo"; -const char v8[] = "\01bar"; -int v9(void) { return v2 + 1; } -int (*v10) (void); -int (*v11) (void) = v9; -int (*const v12) (void) = v9; - -typedef struct { int arr[1000]; } large; -large v13; -large v14 = { { 0 } }; -large v15 = { { 1 } }; -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA(asyms, -[[v1 -v3 -v4 -v5 -v6 -v7 -v8 -v9 -v10 -v11 -v12 -v13 -v14 -v15 -]]) - -AT_DATA(b.c, -[[int b = 42; -int b3 = 1; -int ab = 1; -]]) - -AT_DATA(main.c, -[[ -#if defined LIBA_DLL_IMPORT -# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ -# define LIBA_SCOPE extern __declspec(dllimport) -# if defined _MSC_VER -# define LIBA_SCOPE_VAR LIBA_SCOPE -# endif -# endif -#endif -#if !defined LIBA_SCOPE -# define LIBA_SCOPE extern -#endif -#if !defined LIBA_SCOPE_VAR -# define LIBA_SCOPE_VAR extern -#endif -#ifdef __cplusplus -extern "C" { -#endif -LIBA_SCOPE_VAR int v1; -LIBA_SCOPE_VAR int v3, v4; -LIBA_SCOPE const int v5, v6; -LIBA_SCOPE_VAR const char* v7; -LIBA_SCOPE_VAR const char v8[]; -extern int v9(void); -LIBA_SCOPE_VAR int (*v10) (void); -LIBA_SCOPE_VAR int (*v11) (void); -LIBA_SCOPE int (*const v12) (void); -#ifdef __cplusplus -} -#endif - -typedef struct { int arr[1000]; } large; -LIBA_SCOPE_VAR large v13, v14, v15; - -int main(void) -{ - char s = v7[0] + v8[0]; - return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() - + v13.arr[0] + v14.arr[0] + v15.arr[0] - - 8; -} -]]) - -AT_DATA(dlself.c, -[[ -#if defined LIBA_DLL_IMPORT -# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ -# define LIBA_SCOPE extern __declspec(dllimport) -# if defined _MSC_VER -# define LIBA_SCOPE_VAR LIBA_SCOPE -# endif -# endif -#endif -#if !defined LIBA_SCOPE -# define LIBA_SCOPE extern -#endif -#if !defined LIBA_SCOPE_VAR -# define LIBA_SCOPE_VAR extern -#endif -#ifdef __cplusplus -extern "C" { -#endif -LIBA_SCOPE_VAR int v1; -LIBA_SCOPE_VAR int v3, v4; -LIBA_SCOPE const int v5, v6; -LIBA_SCOPE_VAR const char* v7; -LIBA_SCOPE_VAR const char v8[]; -extern int v9(void); -LIBA_SCOPE_VAR int (*v10) (void); -LIBA_SCOPE_VAR int (*v11) (void); -LIBA_SCOPE int (*const v12) (void); - -typedef struct { int arr[1000]; } large; -LIBA_SCOPE_VAR large v13, v14, v15; - -extern int w1; -extern int w3, w4; -extern const int w5, w6; -extern const char* w7; -extern const char w8[]; -extern int w9(void); -extern int (*w10) (void); -extern int (*w11) (void); -extern int (*const w12) (void); -extern large w13, w14, w15; -#ifdef __cplusplus -} -#endif - -int main(void) -{ - char s = v7[0] + v8[0] + w7[0] + w8[0]; - return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() - + v13.arr[0] + v14.arr[0] + v15.arr[0] - + w1 + w3 + w4 + w5 + w6 + w9() + w11() + w12() - + w13.arr[0] + w14.arr[0] + w15.arr[0] - - 16; -} - - -#ifdef __cplusplus -extern "C" { -#endif -int w1; -static int w2; -int w3 = 0; -int w4 = 1; -const int w5 = 0; -const int w6 = 1; -const char* w7 = "\01foo"; -const char w8[] = "\01bar"; -int w9(void) { return w2 + 1; } -int (*w10) (void); -int (*w11) (void) = w9; -int (*const w12) (void) = w9; -large w13; -large w14 = { { 0 } }; -large w15 = { { 1 } }; -#ifdef __cplusplus -} -#endif -]]) - -AT_DATA(dlselfsyms, -[[w1 -w3 -w4 -w5 -w6 -w7 -w8 -w9 -w10 -w11 -w12 -w13 -w14 -w15 -]]) - - -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -o sub/a.lo], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c -o sub/b.lo], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c -o main-static.lo], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c dlself.c -o sub3/dlself.lo], - [0],[ignore],[ignore]) -AT_CHECK([$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c dlself.c -o sub3/dlself-static.lo], - [0],[ignore],[ignore]) - -case $allow_undefined_flag in - unsupported) undef_opts=-no-undefined ;; - *) undef_opts='"" -no-undefined' ;; -esac - -# expose problems with the regex: -touch vfoo v.bar - -for l1 in $undef_opts -do - for l2 in '' '-export-symbols-regex "v.*"' '-export-symbols asyms' - do - for l3 in '' '-rpath /nonexistent' - do - linkargs="$l1 $l2 $l3" - for rel in '' ./ `pwd`/ - do - LT_AT_CHECK([eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o "$rel"sub2/liba.la "$rel"sub/a.lo' $linkargs], - [0],[ignore],[ignore]) - for st in '' '-static' '-no-install' - do - # if '-static' is not passed, and the library is shared, then we have - # to use -DLIBA_DLL_IMPORT, thus main.lo (and not main-static.lo). - case $st,$l3 in - -static,*) mst=-static ;; - *,-rpath*) mst= ;; - *) mst=-static ;; - esac - - LT_AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o "$rel"main$EXEEXT "$rel"main$mst.lo "$rel"sub2/liba.la], - [0],[ignore],[ignore]) - LT_AT_EXEC_CHECK([./main],[0]) - for l10 in '' '-export-symbols dlselfsyms' - do - LT_AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o "$rel"sub3/dlself$EXEEXT "$rel"sub3/dlself$mst.lo "$rel"sub2/liba.la sub/b.lo -dlopen self $l10], - [0],[ignore],[ignore]) - LT_AT_EXEC_CHECK([./sub3/dlself],[0]) - done - done - done - done - done -done - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/subproject.at b/BUILD/libtool-2.4.7/tests/subproject.at deleted file mode 100644 index 67b1a31..0000000 --- a/BUILD/libtool-2.4.7/tests/subproject.at +++ /dev/null @@ -1,123 +0,0 @@ -# subproject.at -- test subproject Libltdl builds -*- Autotest -*- -# -# Copyright (C) 2005, 2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([Subproject Libltdl.]) - -# _LT_AT_LTDL_SETUP -# ----------------- -m4_pushdef([_LT_AT_LTDL_SETUP], -[AT_DATA([configure.ac], -[[AC_INIT([subproject-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -LT_CONFIG_LTDL_DIR([sub/ltdl]) -AC_CONFIG_AUX_DIR([sub/ltdl/config]) -AC_CONFIG_MACRO_DIRS([sub/ltdl/m4]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT -LT_WITH_LTDL -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[ACLOCAL_AMFLAGS = -I sub/ltdl/m4 -AUTOMAKE_OPTIONS = 1.9 -SUBDIRS = sub/ltdl -lib_LTLIBRARIES = foo.la -foo_la_LDFLAGS = -module -avoid-version -no-undefined -]]) - -echo 'int dummy = 0;' > foo.c -])# _LT_AT_LTDL_SETUP - -## ------------------------ ## -## Softlinked libltdl tree. ## -## ------------------------ ## - -AT_SETUP([compiling softlinked libltdl]) - -_LT_AT_LTDL_SETUP - -LT_AT_BOOTSTRAP([--ltdl], [-I sub/ltdl/m4], [ignore], [--add-missing --copy], - [], [], [all $tst_dist]) - -AT_CHECK([test -f sub/ltdl/libltdlc.la]) - -AT_CLEANUP - - -## -------------------- ## -## Copied libltdl tree. ## -## -------------------- ## - -AT_SETUP([compiling copied libltdl]) - -_LT_AT_LTDL_SETUP - -LT_AT_BOOTSTRAP([--copy --ltdl], [-I sub/ltdl/m4], [ignore], - [--add-missing --copy], [], [], [all $tst_dist]) - -AT_CHECK([test -f sub/ltdl/libltdlc.la]) - -AT_CLEANUP - - -## ------------------------- ## -## Installable libltdl tree. ## -## ------------------------- ## - -AT_SETUP([installable libltdl]) - -prefix=`pwd`/_inst - -_LT_AT_LTDL_SETUP - -LT_AT_BOOTSTRAP([--copy --ltdl], [-I sub/ltdl/m4], [ignore], - [--add-missing --copy], [], [--enable-ltdl-install --prefix=$prefix], - [all install $tst_dist]) - -AT_CHECK([test -f "$prefix/lib/libltdl.la"]) -AT_CHECK([test -f "$prefix/include/ltdl.h"]) - -AT_CLEANUP - - -## ----------------------------------------------- ## -## libltdl is usable without Autoconf or Automake. ## -## ----------------------------------------------- ## - -AT_SETUP([linking libltdl without autotools]) - -_LTDL_PROJECT_FILES([sub/ltdl]) -LT_AT_LIBTOOLIZE([--copy --ltdl=sub/ltdl]) -LT_AT_MAKE([], [CC="$CC" LIBTOOLFLAGS="$LIBTOOLFLAGS" CPPFLAGS="$CPPFLAGS" ]dnl - [CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" SHELL="$SHELL" MAKE="${MAKE-make}" ]dnl - [CONFIGURE_OPTIONS="$configure_options"]) - -LT_AT_EXEC_CHECK([./ltdldemo], 0, [ignore]) - -AT_CLEANUP - -dnl Be careful not to let the definition leak into other tests -m4_popdef([_LT_AT_LTDL_SETUP]) diff --git a/BUILD/libtool-2.4.7/tests/sysroot.at b/BUILD/libtool-2.4.7/tests/sysroot.at deleted file mode 100644 index 540edde..0000000 --- a/BUILD/libtool-2.4.7/tests/sysroot.at +++ /dev/null @@ -1,209 +0,0 @@ -# static.at -- test flags for sysrooting -*- Autotest -*- -# -# Copyright (C) 2009, 2011-2019, 2021-2022 Free Software Foundation, -# Inc. -# Written by Paolo Bonzini, 2009 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -m4_define([SYSROOT_TEST], [ -AT_SETUP([$1]) -AT_KEYWORDS([libtool sysroot]) - -gcc_sysroot=`$CC --print-sysroot 2> /dev/null` -if test $? != 0; then - gcc_sysroot= -fi -AT_CHECK([test -n "$gcc_sysroot" || exit 77]) - -# Detect installation prefix for the compiler -prefix= -for i in crt0.o crt1.o crt2.o crti.o; do - j=`$CC --print-file-name $i 2> /dev/null` - test $? = 0 || continue - case $j in - $gcc_sysroot*/lib/$i) - prefix=`echo "$j" | $SED "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"` - break ;; - esac -done -AT_CHECK([test -n "$prefix" || exit 77]) - -sysroot=`pwd`/sys-root - -# difficult to use AS_DIRNAME inside the AT_CHECK macro, so -# encapsulate as a shell function. -local_dirname() { - AS_DIRNAME(["$[]1"]) -} - -AT_CHECK([ -(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \! -type d) | \ -while read file; do - dir=`local_dirname "$sysroot/$file"` - test -d "$dir" || mkdir -p "$dir" - rm -f "$sysroot/$file" - ln -s "$gcc_sysroot/$file" "$sysroot/$file" || \ - cp "$gcc_sysroot/$file" "$sysroot/$file" -done]) - -LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined" -configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix" - -#??? -if test PATH = "$shlibpath_var"; then - configure_options="$configure_options --libdir=/$prefix/bin" -fi - -AT_CHECK([mkdir lib1 lib2 prog]) - -# Build and install package 1. -AT_DATA([lib1/configure.ac], -[[AC_INIT([lib1], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([lib1.c]) -LT_INIT -AC_OUTPUT(Makefile) -]]) - -AT_DATA([lib1/Makefile.am], -[[lib_LTLIBRARIES = lib1.la -lib1_la_SOURCES = lib1.c -lib1_la_LDFLAGS = -rpath $(libdir) -]]) - -AT_DATA([lib1/lib1.c], -[[#include -#include -char *f(const char *s) -{ - return strdup (s); -} -]]) - -cd lib1 -LT_AT_BOOTSTRAP([], [-I $abs_top_srcdir/libltdl/m4], [ignore], - [--add-missing], [], [], [all]) - -AT_CHECK([$MAKE install DESTDIR=$sysroot], [0], [ignore], [ignore]) -AT_CHECK([test -f "$sysroot/$prefix/lib/lib1.la"]) -AT_CHECK([$GREP -F "$sysroot" "$sysroot/$prefix/lib/lib1.la"], [1]) -cd .. - -# Build and install package 2. -AT_DATA([lib2/configure.ac], -[[AC_INIT([lib2], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([lib2.c]) -LT_INIT -sysroot=$with_sysroot -AC_SUBST([sysroot]) -AC_OUTPUT(Makefile) -]]) - -AT_DATA([lib2/Makefile.am], -[[lib_LTLIBRARIES = lib2.la -lib2_la_SOURCES = lib2.c -lib2_la_LDFLAGS = -rpath $(libdir) -lib2_la_LIBADD = $2]1[$3 -]]) - -AT_DATA([lib2/lib2.c], -[[#include -#include -#include -extern char *f(const char *s); -char *g(const char *s) -{ - char *q = f(s); - puts (q); - return q; -} -]]) - -cd lib2 -LT_AT_BOOTSTRAP([], [-I $abs_top_srcdir/libltdl/m4], [ignore], - [--add-missing], [], [], [all]) - -AT_CHECK([$MAKE install DESTDIR=$sysroot], [0], [ignore], [ignore]) -AT_CHECK([test -f "$sysroot/$prefix/lib/lib2.la"]) -AT_CHECK([$GREP -F "$sysroot" "$sysroot/$prefix/lib/lib2.la"], [1]) -cd .. - -# Build and install a program. -AT_DATA([prog/configure.ac], -[[AC_INIT([prog], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([prog.c]) -LT_INIT -sysroot=$with_sysroot -AC_SUBST([sysroot]) -AC_OUTPUT(Makefile) -]]) - -AT_DATA([prog/Makefile.am], -[[bin_PROGRAMS = prog -prog_SOURCES = prog.c -prog_LDADD = $2]2[$3 -]]) - -AT_DATA([prog/prog.c], -[[#include -#include -#include -extern char *g(const char *s); -int main() -{ - char *q = g("hello world"); - free (q); - return 0; -} -]]) - -cd prog -LT_AT_BOOTSTRAP([], [-I $abs_top_srcdir/libltdl/m4], [ignore], - [--add-missing], [], [], [all]) - -AT_CHECK([$MAKE install DESTDIR=$sysroot], [0], [ignore], [ignore]) -AT_CHECK([test -f "$sysroot/$prefix/bin/prog$EXEEXT"]) -AT_CHECK([$GREP -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT"], [1]) -AT_CHECK([$GREP "'.*=" $sysroot/$prefix/lib/lib2.la], [0], [ignore]) -AT_CHECK([./libtool --mode=finish $sysroot/$prefix/lib/lib@<:@12@:>@.la], [0], [ignore]) -AT_CHECK([$GREP "'.*=" $sysroot/$prefix/lib/lib@<:@12@:>@.la], [1]) - -# missing tests -# 1) pass absolute .la files -# 2) pass absolute -L -# 2) pass relative .la files - -cd .. -AT_CLEANUP -]) - -AT_BANNER([sysroot tests]) -SYSROOT_TEST([-L=.../lib -l], [-L=$(libdir) -l], []) -SYSROOT_TEST([-L SYSROOT/.../lib -l], [-L$(sysroot)$(libdir) -l], []) -SYSROOT_TEST([SYSROOT/.../*.la], [$(sysroot)$(libdir)/lib], [.la]) - -dnl This one does not make sense. -dnl SYSROOT_TEST([=.../*.la], [=$(libdir)/lib], [.la]) diff --git a/BUILD/libtool-2.4.7/tests/tagdemo.at b/BUILD/libtool-2.4.7/tests/tagdemo.at deleted file mode 100644 index 995bdd4..0000000 --- a/BUILD/libtool-2.4.7/tests/tagdemo.at +++ /dev/null @@ -1,396 +0,0 @@ -# tagdemo.at -- C++ Language support. -*- Autotest -*- -# -# Copyright (C) 2003-2005, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Gary V. Vaughan, 2003 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - - -AT_BANNER([C++ language support.]) - - -# _LT_SETUP -# --------- -m4_define([_LT_SETUP], -[LT_AT_TAG([CXX]) -AT_KEYWORDS([libtool]) - -AT_DATA([configure.ac], -[[AC_INIT([tagdemo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE -AC_PROG_CC -AC_PROG_CPP -AC_PROG_CC_C_O -AC_PROG_CXX -AC_PROG_CXXCPP - -# Check for namespace support and new-style headers -AC_LANG_PUSH([C++]) -AC_MSG_CHECKING([whether the compiler implements namespaces]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], - [[using namespace A::B; return i;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_NAMESPACES],[1], - [define if the compiler implements namespaces])], - [AC_MSG_RESULT([no])]) - -AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include -#ifdef HAVE_NAMESPACES -using namespace std; -#endif ]], [[cout << "bingo\n"; return 0;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_IOSTREAM],[1], - [define if the compiler has ISO C++ iostream])], - [AC_MSG_RESULT([no])]) -AC_LANG_POP([C++]) - -AC_LANG([C++]) -LT_INIT - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -]]) - -AT_DATA([Makefile.am], -[[AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libconv.la -lib_LTLIBRARIES = libfoo.la libbaz.la - -libfoo_la_SOURCES = foo.cpp -libfoo_la_LDFLAGS = -no-undefined -libfoo_la_LIBADD = libconv.la $(LIBM) - -# Test some of the ILD support when using tagged configurations. -libbaz_la_SOURCES = baz.cpp -libbaz_la_LDFLAGS = -no-undefined -libbaz_la_LIBADD = libfoo.la - -# Test convenience libraries. -libconv_la_SOURCES = conv.cpp -libconv_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h baz.h conv.h - -bin_PROGRAMS = tagdemo - -tagdemo_SOURCES = main.cpp -tagdemo_LDADD = libbaz.la libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -]]) - -AT_DATA([main.cpp], -[[#include -#if HAVE_IOSTREAM -# include -#else -# include -#endif - -#include "foo.h" -#include "baz.h" -#include "conv.h" - -#if HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -int main (int, char *[]) -{ - cout << "Welcome to GNU libtool tagdemo C++!" << endl; - - foobar_derived FB; - // Instantiate the derived class. - - foobar *fb = &FB; - // Have some fun with polymorphism. - - int value = fb->hello(); - - cout << "foobar::hello returned: " << value << endl; - if (value = HELLO_RET) - cout << "foobar::hello is ok!" << endl; - - if (fb->foo() == FOO_RET) - cout << "foobar::foo is ok!" << endl; - - // -------------- - - barbaz_derived BB; - // Instantiate the derived class. - - barbaz *bb = &BB; - // Have some fun with polymorphism. - - // barbaz_derived::baz() should return FOO_RET since it calls - // foobar_derived::foo(), which in turn calls ::foo(). - if (bb->baz() == FOO_RET) - cout << "barbaz::baz is ok!" << endl; - - // -------------- - - if (convenience()) - cout << "convenience is ok!" << endl; - - return 0; -} -]]) - -AT_DATA([foo.h], -[[#ifndef FOO_H -#define FOO_H -// Silly constants that the functions return. -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -// Our C test functions. -extern "C" -{ - int foo(void); - int hello(void); -} - -// Our test C++ base class. -class foobar -{ -public: - virtual int foo(void) = 0; - virtual int hello(void) = 0; - // Some dummy pure virtual functions. -}; - - -// Our test C++ derived class. -class foobar_derived : public foobar -{ -public: - virtual int foo(void); - virtual int hello(void); - // Override the base class' pure virtual functions. -}; - -#endif -]]) - -AT_DATA([foo.cpp], -[[#include -#ifdef HAVE_IOSTREAM -# include -#else -# include -#endif - -#ifdef HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -#include - -#include "foo.h" - -// Our C functions. -int -foo(void) -{ - cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; - return FOO_RET; -} - -int -hello(void) -{ - cout << "** This is libfoo (tagdemo) **" << endl; - return HELLO_RET; -} - - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -foobar_derived::foo(void) -{ - return ::foo(); -} - -int -foobar_derived::hello(void) -{ - return ::hello(); -} -]]) - -AT_DATA([baz.h], -[[#ifndef BAZ_H -#define BAZ_H 1 - -// Our test C++ base class. -class barbaz -{ -public: - virtual int baz(void) = 0; - // Some dummy pure virtual functions. -}; - -// Our test C++ derived class. -class barbaz_derived : public barbaz -{ -public: - virtual int baz(void); - // Override the base class' pure virtual functions. -}; - -#endif -]]) - -AT_DATA([baz.cpp], -[[#include - -#include "foo.h" -#include "baz.h" - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -barbaz_derived::baz(void) -{ - foobar_derived FB; - - return FB.foo(); -} -]]) - -AT_DATA([conv.h], -[[#ifndef CONV_H -#define CONV_H - -// Our C test functions. -extern "C" -{ - int convenience(void); -} - -#endif -]]) - -AT_DATA([conv.cpp], -[[#include - -#include "conv.h" - -//Our C function. -int convenience (void) { return 1; } -]]) - -LT_AT_HOST_DATA([expout], -[[Welcome to GNU libtool tagdemo C++! -** This is libfoo (tagdemo) ** -foobar::hello returned: 57616 -foobar::hello is ok! -cos (0.0) = 1 -foobar::foo is ok! -cos (0.0) = 1 -barbaz::baz is ok! -convenience is ok! -]]) - -prefix=`pwd`/_inst -]) # _LT_SETUP - - -## --------------- ## -## Tagdemo static. ## -## --------------- ## - -AT_SETUP([static library]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-shared], - [^build_old_libs=yes], [^build_libtool_libs=no]) -LT_AT_CHECK_EXECUTE([], [./tagdemo]) - -AT_CLEANUP - - -## --------------- ## -## Tagdemo shared. ## -## --------------- ## - -AT_SETUP([shared library]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([--disable-static], - [^build_old_libs=no], [^build_libtool_libs=yes]) -LT_AT_CHECK_EXECUTE([], [./tagdemo]) - -AT_CLEANUP - - -## ------------- ## -## Tagdemo conf. ## -## ------------- ## - -AT_SETUP([shared and static together]) - -_LT_SETUP - -LT_AT_CHECK_CONFIG([], - [^build_old_libs=yes], [^build_libtool_libs=yes]) -LT_AT_CHECK_EXECUTE([], [./tagdemo]) - -AT_CLEANUP - - -## -------------- ## -## Tagdemo undef. ## -## -------------- ## - -AT_SETUP([allow_undefined_flag]) - -_LT_SETUP - -LT_AT_BOOTSTRAP([], [-I m4], [], [--add-missing], [], - [--disable-static], [ignore]) -AT_CHECK([$GREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77)], - 1, [ignore]) -$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool -LT_AT_CHECK_EXECUTE([], [./tagdemo]) - - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/template.at b/BUILD/libtool-2.4.7/tests/template.at deleted file mode 100644 index 1d41ead..0000000 --- a/BUILD/libtool-2.4.7/tests/template.at +++ /dev/null @@ -1,324 +0,0 @@ -# template.at -- test C++ templates with libtool -*- Autotest -*- -# -# Copyright (C) 2005, 2007-2008, 2011-2019, 2021-2022 Free Software -# Foundation, Inc. -# Written by Markus Christen, 2005 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -AT_BANNER([C++ template tests.]) - -AT_SETUP([simple template test]) -LT_AT_TAG([CXX]) -AT_KEYWORDS([libtool]) - -AT_DATA(aclib.h, -[[int cf(int); -]]) - -AT_DATA(aclib.cpp, -[[#include "aclib.h" -template - -T cq(T b) -{ - return b * 3; -} - -int cf(int i) -{ - return cq(i); -} -]]) - -AT_DATA(alib.h, -[[int f(int); -]]) - -AT_DATA(alib.cpp, -[[#include "alib.h" - -template -T q(T b) -{ - return b * 2; -} - -int f(int i) -{ - return q(i); -} -]]) - -AT_DATA(prog.cpp, -[[#include "alib.h" -#include "aclib.h" - -int main() -{ - return f(3) + 3 - cf(3) != 0; -} -]]) - -AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o alib.lo alib.cpp], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o aclib.lo aclib.cpp], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libaclib.la aclib.lo], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libalib.la -rpath /nonexistent alib.lo libaclib.la], - [0], [ignore], [ignore]) -AT_CHECK([$CXX -I. $CPPFLAGS $CXXFLAGS -c prog.cpp], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o prog$EXEEXT prog.$OBJEXT libalib.la], - [0], [ignore], [ignore]) - -LT_AT_EXEC_CHECK([./prog], [0], [ignore], [ignore]) - - -dnl with autoreconf, use: - -dnl AT_DATA(configure.ac, -dnl [[AC_INIT([template_1], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) -dnl AC_CONFIG_HEADERS([config.h:config-h.in]) -dnl AC_CONFIG_MACRO_DIRS([m4]) -dnl AC_CONFIG_AUX_DIR([config]) -dnl AM_INIT_AUTOMAKE([foreign]) -dnl AC_LANG([C++]) -dnl AC_PROG_CXX -dnl AC_PROG_LIBTOOL -dnl AC_CONFIG_FILES([Makefile]) -dnl AC_OUTPUT -dnl ]]) - -dnl AT_DATA(Makefile.am, -dnl [[ACLOCAL_AMFLAGS = -I m4 -dnl noinst_LTLIBRARIES = libaclib.la -dnl libaclib_la_SOURCES = aclib.cpp aclib.h -dnl lib_LTLIBRARIES = libalib.la -dnl include_HEADERS = alib.h -dnl libalib_la_SOURCES = alib.cpp -dnl libalib_la_LIBADD = libaclib.la -dnl bin_PROGRAMS = prog -dnl prog_SOURCES = prog.cpp -dnl LDADD = libalib.la -dnl ]]) - -AT_CLEANUP - - -AT_SETUP([template test with subdirs]) -LT_AT_TAG([CXX]) -AT_KEYWORDS([libtool]) - -noskip=: -withundef=: -# Mac OS X. -# The linker has issues with this test. -case $host in -*-darwin*) noskip=false ;; -*-aix*) withundef=false ;; -esac - - -CPPFLAGS="$CPPFLAGS -I../src/lib -I../src/lib2" - -mkdir src obj -( cd src; mkdir lib lib2 sub ) -( cd obj; mkdir lib lib2 sub ) - -AT_DATA(src/lib/a.hh, -[[template -unsigned int a(const T&); - -template -unsigned int a(const T& t) -{ - return sizeof t; -} - -extern int a2(char t); - -inline int a3(const double* t) -{ - return a(t); -} -]]) - -AT_DATA(src/lib/a.cpp, -[[#include "a.hh" - -int a2(char t) -{ - return a(t); -} -]]) - -AT_DATA(src/lib2/b.hh, -[[#include "a.hh" - -template -unsigned int b(T& t) -{ - return a(t); -} -extern int b2(char* t); -struct bs { int bi; }; -extern int b3(bs t); -]]) - -AT_DATA(src/lib2/b.cpp, -[[#include "b.hh" - -int b2(char* t) -{ - return a2(t[0]); -} - -int b3(bs t) -{ - return b(t); -} -]]) - -AT_DATA(src/sub/main.cpp, -[[#include "b.hh" - -int main() -{ - double foo; - const char s = ' '; - char d; - char *t = &d; - return b(foo) + a3(&foo) + b2(t) - a(s) - - (sizeof(double) + sizeof(double*)); -} -]]) - -cd obj - -# If the compiler supports -c -o, we want to use it: -# it may make a difference for templates -eval `$LIBTOOL --tag=CXX --config | $GREP ^compiler_c_o=` -case $compiler_c_o in -yes) - main_o=sub/main.$OBJEXT - AT_CHECK([$CXX $CPPFLAGS $CXXFLAGS -c -o $main_o ../src/sub/main.cpp], - [0], [ignore], [ignore]) - ;; -*) - main_o=main.$OBJEXT - AT_CHECK([$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp], - [0], [ignore], [ignore]) - ;; -esac - -AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp], - [0], [ignore], [ignore]) -AT_CHECK([$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp], - [0], [ignore], [ignore]) -# both convenience -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la], - [0], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./sub/main], [ignore]) -# lib convenience -if $noskip && $withundef; then - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la], - [0], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./sub/main]) -fi - -# both installed -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo], - [0], [ignore], [ignore]) -if $withundef; then - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la], - [0], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./sub/main]) -fi - -# both convenience, libb depending on liba -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la], - [0], [ignore], [ignore]) -AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la], - [0], [ignore], [ignore]) -LT_AT_EXEC_CHECK([./sub/main]) -# lib convenience -if $noskip; then - - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la], - [0], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./sub/main]) -fi -# both installed -if $noskip; then - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar], - [0], [ignore], [ignore]) - AT_CHECK([$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la], - [0], [ignore], [ignore]) - LT_AT_EXEC_CHECK([./sub/main]) -fi - -cd .. - -AT_CHECK([$noskip || (exit 77)]) - -dnl with autoreconf use: -dnl -dnl AT_DATA(src/configure.ac, -dnl [[AC_INIT([template_2], ]]AT_PACKAGE_VERSION[[, ]]AT_PACKAGE_BUGREPORT[[) -dnl AC_CONFIG_HEADERS([config.h:config-h.in]) -dnl AC_CONFIG_MACRO_DIRS([m4]) -dnl AC_CONFIG_AUX_DIR([config]) -dnl AM_INIT_AUTOMAKE([foreign subdir-objects]) -dnl AC_LANG([C++]) -dnl AC_PROG_CXX -dnl AC_PROG_LIBTOOL -dnl AC_CONFIG_FILES([Makefile]) -dnl AC_OUTPUT -dnl ]]) -dnl -dnl AT_DATA(src/Makefile.am, -dnl [[ACLOCAL_AMFLAGS = -I m4 -dnl INCLUDES = -I$(srcdir)/lib -I$(srcdir)/lib2 -dnl bin_PROGRAMS = sub/main -dnl noinst_LTLIBRARIES = lib/liba.la lib2/libb.la -dnl lib_liba_la_SOURCES = lib/a.cpp lib/a.hh -dnl lib2_libb_la_SOURCES = lib2/b.cpp lib2/b.hh -dnl #lib2_libb_la_LIBADD = lib/liba.la -dnl sub_main_SOURCES = sub/main.cpp -dnl sub_main_LDADD = lib2/libb.la lib/liba.la -dnl ]]) - -AT_CLEANUP diff --git a/BUILD/libtool-2.4.7/tests/testsuite b/BUILD/libtool-2.4.7/tests/testsuite deleted file mode 100755 index 24265e4..0000000 --- a/BUILD/libtool-2.4.7/tests/testsuite +++ /dev/null @@ -1,51628 +0,0 @@ -#! /bin/sh -# Generated from tests/testsuite.at by GNU Autoconf 2.69. -# -# Copyright (C) 2009-2012 Free Software Foundation, Inc. -# -# This test suite is free software; the Free Software Foundation gives -# unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - - - -SHELL=${CONFIG_SHELL-/bin/sh} - -# How were we run? -at_cli_args="$@" - - -# Not all shells have the 'times' builtin; the subshell is needed to make -# sure we discard the 'times: not found' message from the shell. -at_times_p=false -(times) >/dev/null 2>&1 && at_times_p=: - -# CLI Arguments to pass to the debugging scripts. -at_debug_args= -# -e sets to true -at_errexit_p=false -# Shall we be verbose? ':' means no, empty means yes. -at_verbose=: -at_quiet= -# Running several jobs in parallel, 0 means as many as test groups. -at_jobs=1 -at_traceon=: -at_trace_echo=: -at_check_filter_trace=: - -# Shall we keep the debug scripts? Must be `:' when the suite is -# run by a debug script, so that the script doesn't remove itself. -at_debug_p=false -# Display help message? -at_help_p=false -# Display the version message? -at_version_p=false -# List test groups? -at_list_p=false -# --clean -at_clean=false -# Test groups to run -at_groups= -# Whether to rerun failed tests. -at_recheck= -# Whether a write failure occurred -at_write_fail=0 - -# The directory we run the suite in. Default to . if no -C option. -at_dir=`pwd` -# An absolute reference to this testsuite script. -case $as_myself in - [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; - * ) at_myself=$at_dir/$as_myself ;; -esac -# Whether -C is in effect. -at_change_dir=false - -# Whether to enable colored test results. -at_color=auto -# List of the tested programs. -at_tested='' -# As many question marks as there are digits in the last test group number. -# Used to normalize the test group numbers so that `ls' lists them in -# numerical order. -at_format='???' -# Description of all the test groups. -at_help_all="1;configure-funcs.at:39;func_munge_path_list works;; -2;libtoolize.at:84;libtoolize macro installation;libtoolize; -3;libtoolize.at:109;libtoolize macro directory mismatch error;libtoolize; -4;libtoolize.at:130;multiple AC_CONFIG_MACRO_DIRS invocation;libtoolize; -5;libtoolize.at:158;multiple AC_CONFIG_MACRO_DIRS directories;libtoolize; -6;libtoolize.at:190;libtoolize ACLOCAL_AMFLAGS extraction;libtoolize; -7;libtoolize.at:225;libtoolize macro serial update;libtoolize; -8;libtoolize.at:298;libtoolize config files serial update;libtoolize; -9;libtoolize.at:378;diagnose missing LT_CONFIG_LTDL_DIR;libtoolize; -10;libtoolize.at:523;copy ltdl.m4 with shared macro directory;libtoolize; -11;libtoolize.at:535;correctly parse LTDL_INIT from configure.ac;libtoolize; -12;libtoolize.at:547;diagnose missing LTDL_INIT invocation;libtoolize; -13;libtoolize.at:624;upgrading verbatim style aclocal.m4;libtoolize automake; -14;libtoolize.at:748;verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS;libtoolize automake; -15;libtoolize.at:877;nonrecursive ltdl with AC_CONFIG_MACRO_DIRS;libtoolize; -16;libtoolize.at:948;subproject ltdl with unconventional layout;libtoolize; -17;libtoolize.at:1024;Subproject ltdl without GNU M4;; -18;libtoolize.at:1096;LIBTOOLIZE_OPTIONS;libtoolize; -19;libtoolize.at:1142;cleanup old installation;libtoolize; -20;libtool.at:33;check help output;; -21;libtool.at:48;diagnose no mode specified;; -22;libtool.at:60;quote shell meta-characters in filenames;; -23;libtool.at:155;transform source suffices;; -24;libtool.at:183;check link mode operation;; -25;libtool.at:205;check objectlist file operation;; -26;libtool.at:217;test LT_SUPPORTED_TAG interface;; -27;demo.at:384;link against a preloaded static library;libtoolize automake autoconf; -28;demo.at:401;build and dynamically load a module;libtoolize automake autoconf; -29;demo.at:418;preload static and dynamic module;libtoolize automake autoconf; -30;demo.at:438;deplibs_check_method;libtoolize automake autoconf; -31;demo.at:479;disable fast install;libtoolize automake autoconf; -32;demo.at:497;force PIC objects;libtoolize automake autoconf; -33;demo.at:511;force non-PIC objects;libtoolize automake autoconf; -34;demo.at:549;hardcoding library path;libtoolize automake autoconf; -35;demo.at:719;binary relinking at install time;interactive libtoolize automake autoconf; -36;demo.at:791;uninstalled libraries have priority;libtoolize automake autoconf; -37;demo.at:814;linking with long file names;libtoolize automake autoconf; -38;pic_flag.at:24;override pic_flag at configure time;libtoolize automake autoconf; -39;with-pic.at:24;test --with-pic;libtoolize automake autoconf; -40;cdemo.at:136;build and link against a static library;libtoolize automake autoconf; -41;cdemo.at:151;build and link against a dynamic library;libtoolize automake autoconf; -42;cdemo.at:166;build both static and dynamic;libtoolize automake autoconf; -43;cdemo.at:181;allow_undefined_flag;libtoolize automake autoconf; -44;convenience.at:31;C convenience archives;libtool; -45;convenience.at:70;C++ convenience archives;cxx libtool; -46;convenience.at:110;F77 convenience archives;f77 libtool; -47;convenience.at:170;FC convenience archives;fc libtool; -48;convenience.at:230;Java convenience archives;gcj libtool; -49;depdemo.at:286;static library interdependencies;libtoolize automake autoconf; -50;depdemo.at:303;shared library interdependencies;libtoolize automake autoconf; -51;depdemo.at:320;shared and static interdependencies;libtoolize automake autoconf; -52;depdemo.at:337;disable fast install;libtoolize automake autoconf; -53;depdemo.at:355;binary relinking at install time;interactive libtoolize automake autoconf; -54;help.at:26;standard command line options;libtool libtoolize; -55;help.at:45;mode short-hands;; -56;help.at:97;debug tracing;; -57;duplicate_members.at:26;duplicate members in archive tests;libtool; -58;duplicate_conv.at:26;duplicate convenience archive names;libtool; -59;duplicate_deps.at:26;preserve duplicate convenience deps;libtool; -60;flags.at:24;passing CC flags through libtool;libtool cc; -61;flags.at:24;passing CXX flags through libtool;libtool cxx; -62;flags.at:24;passing F77 flags through libtool;libtool f77; -63;flags.at:24;passing FC flags through libtool;libtool fc; -64;flags.at:24;passing GCJ flags through libtool;libtool gcj; -65;inherited_flags.at:27;inherited_linker_flags;libtool; -66;link-order.at:27;Link order test;libtool; -67;link-order2.at:47;Link order of deplibs;libtool interactive; -68;fail.at:28;Failure tests;libtool; -69;shlibpath.at:26;shlibpath_overrides_runpath;libtool; -70;runpath-in-lalib.at:26;Runpath in libtool library files;libtool; -71;static.at:69;static linking flags for programs;libtool interactive; -72;static.at:360;ccache -all-static;; -73;export.at:26;Export test;libtool; -74;export-def.at:25;export from a DLL with a .def file;libtool; -75;search-path.at:25;sys_lib_search_path;libtool; -76;search-path.at:63;sys_lib_search_path on w32;libtool; -77;indirect_deps.at:26;indirect convenience;libtool; -78;indirect_deps.at:72;indirect uninstalled;libtool; -79;archive-in-archive.at:27;static library contains static library;libtool; -80;exeext.at:26;both of -o prog and -o prog\$EXEEXT work;libtool; -81;execute-mode.at:25;execute mode;libtool; -82;bindir.at:64;bindir basic lib test;; -83;bindir.at:173;bindir install tests;; -84;cwrapper.at:25;cwrapper for uninstalled executables;libtool; -85;cwrapper.at:138;cwrapper string length;; -86;cwrapper.at:201;cwrapper and installed shared libraries;libtool; -87;deplib-in-subdir.at:34;deplib in subdir;libtool; -88;infer-tag.at:31;inferred tag;libtool; -89;infer-tag.at:43;CXX inferred tag;cxx libtool; -90;infer-tag.at:56;F77 inferred tag;f77 libtool; -91;infer-tag.at:70;FC inferred tag;fc libtool; -92;infer-tag.at:84;GCJ inferred tag;gcj libtool; -93;localization.at:24;localized compiler messages;libtool; -94;nocase.at:26;nocase library search;libtool; -95;install.at:26;Install tests;libtool; -96;versioning.at:24;versioning;libtool; -97;destdir.at:49;Simple DESTDIR install;libtool; -98;destdir.at:76;DESTDIR with in-package deplibs;libtool; -99;old-m4-iface.at:41;AM_PROG_LIBTOOL;libtoolize autoconf; -100;old-m4-iface.at:113;AC_WITH_LTDL;libtoolize automake autoconf; -101;old-m4-iface.at:173;AC_CONFIG_MACRO_DIR;libtoolize; -102;am-subdir.at:34;C subdir-objects;libtoolize automake autoconf; -103;am-subdir.at:94;C++ subdir-objects;cxx libtoolize automake autoconf; -104;lt_dlexit.at:31;lt_dlexit unloading libs;libltdl; -105;lt_dladvise.at:29;lt_dlopenadvise library loading;libltdl; -106;lt_dlopen.at:24;lt_dlopen error messages;libltdl; -107;lt_dlopen_a.at:24;lt_dlopen archive;libltdl lt_dlopen_a; -108;lt_dlopenext.at:23;lt_dlopenext error messages;libltdl; -109;ltdl-libdir.at:23;libdir of installed modules;libltdl; -110;ltdl-api.at:26;ltdl API;libltdl; -111;dlloader-api.at:23;dlloader API;libltdl; -112;loadlibrary.at:23;loadlibrary error messages;libltdl; -113;lalib-syntax.at:24;syntax of .la files;libtool libltdl; -114;resident.at:27;resident modules;libltdl; -115;slist.at:25;SList functionality;; -116;need_lib_prefix.at:26;enforced lib prefix;libltdl libtool; -117;mdemo.at:625;dynamically ltdl preload static modules;libtoolize automake autoconf; -118;mdemo.at:642;dynamically ltdl load a shared module;libtoolize automake autoconf; -119;mdemo.at:659;ltdl load shared and static modules;libtoolize automake autoconf; -120;mdemo.at:676;ltdl dryrun;libtoolize automake autoconf; -121;mdemo.at:777;link with library that loads ltdl modules;libtoolize automake autoconf; -122;standalone.at:32;compiling softlinked libltdl;libtoolize; -123;standalone.at:47;compiling copied libltdl;libtoolize; -124;standalone.at:62;installable libltdl;libtoolize; -125;standalone.at:80;linking libltdl without autotools;libtoolize; -126;subproject.at:58;compiling softlinked libltdl;libtoolize automake autoconf; -127;subproject.at:74;compiling copied libltdl;libtoolize automake autoconf; -128;subproject.at:90;installable libltdl;libtoolize automake autoconf; -129;subproject.at:110;linking libltdl without autotools;libtoolize; -130;nonrecursive.at:79;compiling softlinked libltdl;libtoolize automake autoconf; -131;nonrecursive.at:103;compiling copied libltdl;libtoolize automake autoconf; -132;nonrecursive.at:127;installable libltdl;libtoolize automake autoconf; -133;recursive.at:61;compiling softlinked libltdl;libtoolize autoconf automake; -134;recursive.at:81;compiling copied libltdl;libtoolize autoconf automake; -135;recursive.at:101;installable libltdl;libtoolize autoconf automake; -136;tagdemo.at:339;static library;cxx libtool libtoolize automake autoconf; -137;tagdemo.at:354;shared library;cxx libtool libtoolize automake autoconf; -138;tagdemo.at:369;shared and static together;cxx libtool libtoolize automake autoconf; -139;tagdemo.at:384;allow_undefined_flag;cxx libtool libtoolize automake autoconf; -140;template.at:28;simple template test;cxx libtool; -141;template.at:127;template test with subdirs;cxx libtool; -142;ctor.at:28;C++ static constructors;cxx libtool; -143;exceptions.at:24;C++ exception handling;libtool libltdl; -144;early-libtool.at:33;config.status;libtoolize automake autoconf; -145;early-libtool.at:127;config.lt;libtoolize automake autoconf; -146;no-executables.at:26;AC_NO_EXECUTABLES;libtoolize automake autoconf; -147;deplibs-ident.at:33;build tree relpaths;libtool; -148;configure-iface.at:103;installable libltdl;libltdl libtoolize automake autoconf; -149;configure-iface.at:163;--with-ltdl-include/lib;libltdl libtoolize automake autoconf; -150;configure-iface.at:244;--with-included-ltdl;libltdl libtoolize automake autoconf; -151;configure-iface.at:305;convenience libltdl;libtoolize automake autoconf; -152;f77demo.at:296;static library;interactive f77 libtool autoconf libtoolize automake; -153;f77demo.at:314;shared library;f77 libtool autoconf libtoolize automake; -154;f77demo.at:329;shared and static together;f77 libtool autoconf libtoolize automake; -155;fcdemo.at:310;static library;interactive fc libtool autoconf libtoolize automake; -156;fcdemo.at:328;shared library;fc libtool autoconf libtoolize automake; -157;fcdemo.at:343;shared and static together;fc libtool autoconf libtoolize automake; -158;darwin.at:27;darwin fat compile;; -159;darwin.at:104;darwin concurrent library extraction;; -160;darwin.at:153;darwin gdb debug information;; -161;darwin.at:209;darwin ld warnings changing configure results;libtoolize autoconf automake; -162;darwin.at:233;darwin can lt_dlopen .dylib and .so files;libltdl dylib; -163;dumpbin-symbols.at:25;dumpbin -symbols section hiding;; -164;deplibs-mingw.at:27;deplibs without file command;libtool; -165;sysroot.at:204;-L=.../lib -l;libtool sysroot libtoolize automake autoconf; -166;sysroot.at:205;-L SYSROOT/.../lib -l;libtool sysroot libtoolize automake autoconf; -167;sysroot.at:206;SYSROOT/.../*.la;libtool sysroot libtoolize automake autoconf; -168;stresstest.at:32;Link option thorough search test;libtool expensive; -169;cmdline_wrap.at:29;Run tests with low max_cmd_len;recursive expensive; -" -# List of the all the test groups. -at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` - -# at_fn_validate_ranges NAME... -# ----------------------------- -# Validate and normalize the test group number contained in each variable -# NAME. Leading zeroes are treated as decimal. -at_fn_validate_ranges () -{ - for at_grp - do - eval at_value=\$$at_grp - if test $at_value -lt 1 || test $at_value -gt 169; then - $as_echo "invalid test group: $at_value" >&2 - exit 1 - fi - case $at_value in - 0*) # We want to treat leading 0 as decimal, like expr and test, but - # AS_VAR_ARITH treats it as octal if it uses $(( )). - # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the - # expr fork, but it is not worth the effort to determine if the - # shell supports XSI when the user can just avoid leading 0. - eval $at_grp='`expr $at_value + 0`' ;; - esac - done -} - -at_prev= -for at_option -do - # If the previous option needs an argument, assign it. - if test -n "$at_prev"; then - at_option=$at_prev=$at_option - at_prev= - fi - - case $at_option in - *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; - *) at_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $at_option in - --help | -h ) - at_help_p=: - ;; - - --list | -l ) - at_list_p=: - ;; - - --version | -V ) - at_version_p=: - ;; - - --clean | -c ) - at_clean=: - ;; - - --color ) - at_color=always - ;; - --color=* ) - case $at_optarg in - no | never | none) at_color=never ;; - auto | tty | if-tty) at_color=auto ;; - always | yes | force) at_color=always ;; - *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` - as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; - esac - ;; - - --debug | -d ) - at_debug_p=: - ;; - - --errexit | -e ) - at_debug_p=: - at_errexit_p=: - ;; - - --verbose | -v ) - at_verbose=; at_quiet=: - ;; - - --trace | -x ) - at_traceon='set -x' - at_trace_echo=echo - at_check_filter_trace=at_fn_filter_trace - ;; - - [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) - at_fn_validate_ranges at_option - as_fn_append at_groups "$at_option$as_nl" - ;; - - # Ranges - [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) - at_range_start=`echo $at_option |tr -d X-` - at_fn_validate_ranges at_range_start - at_range=`$as_echo "$at_groups_all" | \ - sed -ne '/^'$at_range_start'$/,$p'` - as_fn_append at_groups "$at_range$as_nl" - ;; - - -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) - at_range_end=`echo $at_option |tr -d X-` - at_fn_validate_ranges at_range_end - at_range=`$as_echo "$at_groups_all" | \ - sed -ne '1,/^'$at_range_end'$/p'` - as_fn_append at_groups "$at_range$as_nl" - ;; - - [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ - [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \ - [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \ - [0-9][0-9][0-9]-[0-9][0-9][0-9] | \ - [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \ - [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ) - at_range_start=`expr $at_option : '\(.*\)-'` - at_range_end=`expr $at_option : '.*-\(.*\)'` - if test $at_range_start -gt $at_range_end; then - at_tmp=$at_range_end - at_range_end=$at_range_start - at_range_start=$at_tmp - fi - at_fn_validate_ranges at_range_start at_range_end - at_range=`$as_echo "$at_groups_all" | \ - sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` - as_fn_append at_groups "$at_range$as_nl" - ;; - - # Directory selection. - --directory | -C ) - at_prev=--directory - ;; - --directory=* ) - at_change_dir=: - at_dir=$at_optarg - if test x- = "x$at_dir" ; then - at_dir=./- - fi - ;; - - # Parallel execution. - --jobs | -j ) - at_jobs=0 - ;; - --jobs=* | -j[0-9]* ) - if test -n "$at_optarg"; then - at_jobs=$at_optarg - else - at_jobs=`expr X$at_option : 'X-j\(.*\)'` - fi - case $at_jobs in *[!0-9]*) - at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` - as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; - esac - ;; - - # Keywords. - --keywords | -k ) - at_prev=--keywords - ;; - --keywords=* ) - at_groups_selected=$at_help_all - at_save_IFS=$IFS - IFS=, - set X $at_optarg - shift - IFS=$at_save_IFS - for at_keyword - do - at_invert= - case $at_keyword in - '!'*) - at_invert="-v" - at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'` - ;; - esac - # It is on purpose that we match the test group titles too. - at_groups_selected=`$as_echo "$at_groups_selected" | - grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` - done - # Smash the keywords. - at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` - as_fn_append at_groups "$at_groups_selected$as_nl" - ;; - --recheck) - at_recheck=: - ;; - - *=*) - at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $at_envvar in - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$at_envvar'" ;; - esac - at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` - # Export now, but save eval for later and for debug scripts. - export $at_envvar - as_fn_append at_debug_args " $at_envvar='$at_value'" - ;; - - *) $as_echo "$as_me: invalid option: $at_option" >&2 - $as_echo "Try \`$0 --help' for more information." >&2 - exit 1 - ;; - esac -done - -# Verify our last option didn't require an argument -if test -n "$at_prev"; then : - as_fn_error $? "\`$at_prev' requires an argument" -fi - -# The file containing the suite. -at_suite_log=$at_dir/$as_me.log - -# Selected test groups. -if test -z "$at_groups$at_recheck"; then - at_groups=$at_groups_all -else - if test -n "$at_recheck" && test -r "$at_suite_log"; then - at_oldfails=`sed -n ' - /^Failed tests:$/,/^Skipped tests:$/{ - s/^[ ]*\([1-9][0-9]*\):.*/\1/p - } - /^Unexpected passes:$/,/^## Detailed failed tests/{ - s/^[ ]*\([1-9][0-9]*\):.*/\1/p - } - /^## Detailed failed tests/q - ' "$at_suite_log"` - as_fn_append at_groups "$at_oldfails$as_nl" - fi - # Sort the tests, removing duplicates. - at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` -fi - -if test x"$at_color" = xalways \ - || { test x"$at_color" = xauto && test -t 1; }; then - at_red=`printf '\033[0;31m'` - at_grn=`printf '\033[0;32m'` - at_lgn=`printf '\033[1;32m'` - at_blu=`printf '\033[1;34m'` - at_std=`printf '\033[m'` -else - at_red= at_grn= at_lgn= at_blu= at_std= -fi - -# Help message. -if $at_help_p; then - cat <<_ATEOF || at_write_fail=1 -Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] - -Run all the tests, or the selected TESTS, given by numeric ranges, and -save a detailed log file. Upon failure, create debugging scripts. - -Do not change environment variables directly. Instead, set them via -command line arguments. Set \`AUTOTEST_PATH' to select the executables -to exercise. Each relative directory is expanded as build and source -directories relative to the top level of this distribution. -E.g., from within the build directory /tmp/foo-1.0, invoking this: - - $ $0 AUTOTEST_PATH=bin - -is equivalent to the following, assuming the source directory is /src/foo-1.0: - - PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 -_ATEOF -cat <<_ATEOF || at_write_fail=1 - -Operation modes: - -h, --help print the help message, then exit - -V, --version print version number, then exit - -c, --clean remove all the files this test suite might create and exit - -l, --list describes all the tests, or the selected TESTS -_ATEOF -cat <<_ATEOF || at_write_fail=1 - -Execution tuning: - -C, --directory=DIR - change to directory DIR before starting - --color[=never|auto|always] - disable colored test results, or enable even without terminal - -j, --jobs[=N] - Allow N jobs at once; infinite jobs with no arg (default 1) - -k, --keywords=KEYWORDS - select the tests matching all the comma-separated KEYWORDS - multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD - --recheck select all tests that failed or passed unexpectedly last time - -e, --errexit abort as soon as a test fails; implies --debug - -v, --verbose force more detailed output - default for debugging scripts - -d, --debug inhibit clean up and top-level logging - default for debugging scripts - -x, --trace enable tests shell tracing -_ATEOF -cat <<_ATEOF || at_write_fail=1 - -Report bugs to . -GNU Libtool home page: . -General help using GNU software: . -_ATEOF - exit $at_write_fail -fi - -# List of tests. -if $at_list_p; then - cat <<_ATEOF || at_write_fail=1 -GNU Libtool 2.4.7 test suite test groups: - - NUM: FILE-NAME:LINE TEST-GROUP-NAME - KEYWORDS - -_ATEOF - # Pass an empty line as separator between selected groups and help. - $as_echo "$at_groups$as_nl$as_nl$at_help_all" | - awk 'NF == 1 && FS != ";" { - selected[$ 1] = 1 - next - } - /^$/ { FS = ";" } - NF > 0 { - if (selected[$ 1]) { - printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 - if ($ 4) { - lmax = 79 - indent = " " - line = indent - len = length (line) - n = split ($ 4, a, " ") - for (i = 1; i <= n; i++) { - l = length (a[i]) + 1 - if (i > 1 && len + l > lmax) { - print line - line = indent " " a[i] - len = length (line) - } else { - line = line " " a[i] - len += l - } - } - if (n) - print line - } - } - }' || at_write_fail=1 - exit $at_write_fail -fi -if $at_version_p; then - $as_echo "$as_me (GNU Libtool 2.4.7)" && - cat <<\_ATEOF || at_write_fail=1 - -Copyright (C) 2012 Free Software Foundation, Inc. -This test suite is free software; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. -_ATEOF - exit $at_write_fail -fi - -# Should we print banners? Yes if more than one test is run. -case $at_groups in #( - *$as_nl* ) - at_print_banners=: ;; #( - * ) at_print_banners=false ;; -esac -# Text for banner N, set to a single space once printed. -# Banner 1. configure-funcs.at:24 -# Category starts at test group 1. -at_banner_text_1="Functions shared with configure and libtool." -# Banner 2. libtoolize.at:27 -# Category starts at test group 2. -at_banner_text_2="Libtoolize operation." -# Banner 3. libtool.at:26 -# Category starts at test group 20. -at_banner_text_3="Basic libtool operation." -# Banner 4. demo.at:27 -# Category starts at test group 27. -at_banner_text_4="Linking and loading." -# Banner 5. cdemo.at:27 -# Category starts at test group 40. -at_banner_text_5="Convenience libraries." -# Banner 6. depdemo.at:27 -# Category starts at test group 49. -at_banner_text_6="Library interdependencies." -# Banner 7. help.at:24 -# Category starts at test group 54. -at_banner_text_7="Testing libtool functions." -# Banner 8. destdir.at:26 -# Category starts at test group 97. -at_banner_text_8="DESTDIR tests" -# Banner 9. old-m4-iface.at:27 -# Category starts at test group 99. -at_banner_text_9="Support for older m4 interface." -# Banner 10. am-subdir.at:27 -# Category starts at test group 102. -at_banner_text_10="Libtool subdir-objects support." -# Banner 11. lt_dlexit.at:29 -# Category starts at test group 104. -at_banner_text_11="Libltdl functionality." -# Banner 12. mdemo.at:29 -# Category starts at test group 117. -at_banner_text_12="Dynamic ltdl runtime loading." -# Banner 13. standalone.at:26 -# Category starts at test group 122. -at_banner_text_13="Standalone Libltdl." -# Banner 14. subproject.at:26 -# Category starts at test group 126. -at_banner_text_14="Subproject Libltdl." -# Banner 15. nonrecursive.at:27 -# Category starts at test group 130. -at_banner_text_15="Nonrecursive Automake Libltdl." -# Banner 16. recursive.at:26 -# Category starts at test group 133. -at_banner_text_16="Recursive Automake Libltdl." -# Banner 17. tagdemo.at:27 -# Category starts at test group 136. -at_banner_text_17="C++ language support." -# Banner 18. template.at:26 -# Category starts at test group 140. -at_banner_text_18="C++ template tests." -# Banner 19. ctor.at:26 -# Category starts at test group 142. -at_banner_text_19="Constructors." -# Banner 20. early-libtool.at:26 -# Category starts at test group 144. -at_banner_text_20="libtool script generation." -# Banner 21. no-executables.at:25 -# Category starts at test group 146. -at_banner_text_21="Libtool usage in GCC" -# Banner 22. deplibs-ident.at:26 -# Category starts at test group 147. -at_banner_text_22="Detecting identical deplibs." -# Banner 23. configure-iface.at:26 -# Category starts at test group 148. -at_banner_text_23="configure interface to libltdl." -# Banner 24. f77demo.at:28 -# Category starts at test group 152. -at_banner_text_24="F77 language support." -# Banner 25. fcdemo.at:28 -# Category starts at test group 155. -at_banner_text_25="Fortran language support." -# Banner 26. darwin.at:26 -# Category starts at test group 158. -at_banner_text_26="Mac OS X tests" -# Banner 27. dumpbin-symbols.at:24 -# Category starts at test group 163. -at_banner_text_27="Windows tests." -# Banner 28. sysroot.at:203 -# Category starts at test group 165. -at_banner_text_28="sysroot tests" -# Banner 29. stresstest.at:31 -# Category starts at test group 168. -at_banner_text_29="Libtool stress test." - -# Take any -C into account. -if $at_change_dir ; then - test x != "x$at_dir" && cd "$at_dir" \ - || as_fn_error $? "unable to change directory" - at_dir=`pwd` -fi - -# Load the config files for any default variable assignments. -for at_file in atconfig atlocal -do - test -r $at_file || continue - . ./$at_file || as_fn_error $? "invalid content: $at_file" -done - -# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: -: "${at_top_build_prefix=$at_top_builddir}" - -# Perform any assignments requested during argument parsing. -eval "$at_debug_args" - -# atconfig delivers names relative to the directory the test suite is -# in, but the groups themselves are run in testsuite-dir/group-dir. -if test -n "$at_top_srcdir"; then - builddir=../.. - for at_dir_var in srcdir top_srcdir top_build_prefix - do - eval at_val=\$at_$at_dir_var - case $at_val in - [\\/$]* | ?:[\\/]* ) at_prefix= ;; - *) at_prefix=../../ ;; - esac - eval "$at_dir_var=\$at_prefix\$at_val" - done -fi - -## -------------------- ## -## Directory structure. ## -## -------------------- ## - -# This is the set of directories and files used by this script -# (non-literals are capitalized): -# -# TESTSUITE - the testsuite -# TESTSUITE.log - summarizes the complete testsuite run -# TESTSUITE.dir/ - created during a run, remains after -d or failed test -# + at-groups/ - during a run: status of all groups in run -# | + NNN/ - during a run: meta-data about test group NNN -# | | + check-line - location (source file and line) of current AT_CHECK -# | | + status - exit status of current AT_CHECK -# | | + stdout - stdout of current AT_CHECK -# | | + stder1 - stderr, including trace -# | | + stderr - stderr, with trace filtered out -# | | + test-source - portion of testsuite that defines group -# | | + times - timestamps for computing duration -# | | + pass - created if group passed -# | | + xpass - created if group xpassed -# | | + fail - created if group failed -# | | + xfail - created if group xfailed -# | | + skip - created if group skipped -# + at-stop - during a run: end the run if this file exists -# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction -# + 0..NNN/ - created for each group NNN, remains after -d or failed test -# | + TESTSUITE.log - summarizes the group results -# | + ... - files created during the group - -# The directory the whole suite works in. -# Should be absolute to let the user `cd' at will. -at_suite_dir=$at_dir/$as_me.dir -# The file containing the suite ($at_dir might have changed since earlier). -at_suite_log=$at_dir/$as_me.log -# The directory containing helper files per test group. -at_helper_dir=$at_suite_dir/at-groups -# Stop file: if it exists, do not start new jobs. -at_stop_file=$at_suite_dir/at-stop -# The fifo used for the job dispatcher. -at_job_fifo=$at_suite_dir/at-job-fifo - -if $at_clean; then - test -d "$at_suite_dir" && - find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -f -r "$at_suite_dir" "$at_suite_log" - exit $? -fi - -# Don't take risks: use only absolute directories in PATH. -# -# For stand-alone test suites (ie. atconfig was not found), -# AUTOTEST_PATH is relative to `.'. -# -# For embedded test suites, AUTOTEST_PATH is relative to the top level -# of the package. Then expand it into build/src parts, since users -# may create executables in both places. -AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` -at_path= -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $AUTOTEST_PATH $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR -case $as_dir in - [\\/]* | ?:[\\/]* ) - as_fn_append at_path "$as_dir" - ;; - * ) - if test -z "$at_top_build_prefix"; then - # Stand-alone test suite. - as_fn_append at_path "$as_dir" - else - # Embedded test suite. - as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" - as_fn_append at_path "$at_top_srcdir/$as_dir" - fi - ;; -esac - done -IFS=$as_save_IFS - - -# Now build and simplify PATH. -# -# There might be directories that don't exist, but don't redirect -# builtins' (eg., cd) stderr directly: Ultrix's sh hates that. -at_new_path= -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $at_path -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -d "$as_dir" || continue -case $as_dir in - [\\/]* | ?:[\\/]* ) ;; - * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; -esac -case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in - *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; - $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; - *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; -esac - done -IFS=$as_save_IFS - -PATH=$at_new_path -export PATH - -# Setting up the FDs. - - - -# 5 is the log file. Not to be overwritten if `-d'. -if $at_debug_p; then - at_suite_log=/dev/null -else - : >"$at_suite_log" -fi -exec 5>>"$at_suite_log" - -# Banners and logs. -$as_echo "## ----------------------------- ## -## GNU Libtool 2.4.7 test suite. ## -## ----------------------------- ##" -{ - $as_echo "## ----------------------------- ## -## GNU Libtool 2.4.7 test suite. ## -## ----------------------------- ##" - echo - - $as_echo "$as_me: command line was:" - $as_echo " \$ $0 $at_cli_args" - echo - - # If ChangeLog exists, list a few lines in case it might help determining - # the exact version. - if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then - $as_echo "## ---------- ## -## ChangeLog. ## -## ---------- ##" - echo - sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" - echo - fi - - { -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} - echo - - # Contents of the config files. - for at_file in atconfig atlocal - do - test -r $at_file || continue - $as_echo "$as_me: $at_file:" - sed 's/^/| /' $at_file - echo - done -} >&5 - -: ${tst_dist=dist} -: ${ACLOCAL=aclocal} -: ${AUTOHEADER=autoheader} -: ${AUTOCONF=autoconf} -: ${AUTOMAKE=automake} -: ${AUTORECONF=autoreconf} -test set = "${ECHO+set}" || ECHO=${as_echo-'printf %s\n'} -: ${ECHO=$as_echo} -for tool in ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF; do - if eval \$$tool --version >/dev/null 2>&1; then :; else eval $tool=no; fi -done -export ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF -eval `$LIBTOOL --config | $EGREP '^(objdir|objext)'` -eval `$LIBTOOL --config | $EGREP '^(host|host_os|host_alias|build|build_alias|to_host_file_cmd|to_tool_file_cmd)='` -configure_options=--prefix=/nonexistent -if test -n "$host_alias"; then - configure_options="$configure_options --host $host_alias" -fi -if test -n "$build_alias"; then - configure_options="$configure_options --build $build_alias" -fi -if test -n "$to_host_file_cmd"; then - configure_options="$configure_options lt_cv_to_host_file_cmd=$to_host_file_cmd" -fi -if test -n "$to_tool_file_cmd"; then - configure_options="$configure_options lt_cv_to_tool_file_cmd=$to_tool_file_cmd" -fi -: ${mkdir_p="$abs_top_srcdir/build-aux/install-sh -d"} -# Fix relative paths in $lt_INSTALL -case $lt_INSTALL in - *build-aux/install-sh*) - lt_INSTALL=$abs_top_srcdir/build-aux/install-sh - ;; -esac - -# func_extract_trace support -. "$abs_top_srcdir/build-aux/funclib.sh" -. "$abs_top_srcdir/build-aux/extract-trace" - - -# Unset some MAKE... variables that may cause $MAKE to act like a -# recursively invoked sub-make. Any $MAKE invocation in a test is -# conceptually an independent invocation. -unset MFLAGS MAKEFLAGS MAKELEVEL __MKLVL__ MAKE_JOBS_FIFO - -# On AIX, shared libraries remain loaded in memory after use if they -# are world-readable, until root issues slibclean. On NFS, this causes -# a testsuite rerun to fail to clean up test group directories. Avoid -# this with a suitable umask. Do not do this on other systems, for -# example HP-UX suffers unless shared libraries are mode 555. -case $host_os in -aix*) umask o-rwx ;; -esac - -## ------------------------- ## -## Autotest shell functions. ## -## ------------------------- ## - -# at_fn_banner NUMBER -# ------------------- -# Output banner NUMBER, provided the testsuite is running multiple groups and -# this particular banner has not yet been printed. -at_fn_banner () -{ - $at_print_banners || return 0 - eval at_banner_text=\$at_banner_text_$1 - test "x$at_banner_text" = "x " && return 0 - eval "at_banner_text_$1=\" \"" - if test -z "$at_banner_text"; then - $at_first || echo - else - $as_echo "$as_nl$at_banner_text$as_nl" - fi -} # at_fn_banner - -# at_fn_check_prepare_notrace REASON LINE -# --------------------------------------- -# Perform AT_CHECK preparations for the command at LINE for an untraceable -# command; REASON is the reason for disabling tracing. -at_fn_check_prepare_notrace () -{ - $at_trace_echo "Not enabling shell tracing (command contains $1)" - $as_echo "$2" >"$at_check_line_file" - at_check_trace=: at_check_filter=: - : >"$at_stdout"; : >"$at_stderr" -} - -# at_fn_check_prepare_trace LINE -# ------------------------------ -# Perform AT_CHECK preparations for the command at LINE for a traceable -# command. -at_fn_check_prepare_trace () -{ - $as_echo "$1" >"$at_check_line_file" - at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace - : >"$at_stdout"; : >"$at_stderr" -} - -# at_fn_check_prepare_dynamic COMMAND LINE -# ---------------------------------------- -# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate -# preparation function. -at_fn_check_prepare_dynamic () -{ - case $1 in - *$as_nl*) - at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; - *) - at_fn_check_prepare_trace "$2" ;; - esac -} - -# at_fn_filter_trace -# ------------------ -# Remove the lines in the file "$at_stderr" generated by "set -x" and print -# them to stderr. -at_fn_filter_trace () -{ - mv "$at_stderr" "$at_stder1" - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -} - -# at_fn_log_failure FILE-LIST -# --------------------------- -# Copy the files in the list on stdout with a "> " prefix, and exit the shell -# with a failure exit code. -at_fn_log_failure () -{ - for file - do $as_echo "$file:"; sed 's/^/> /' "$file"; done - echo 1 > "$at_status_file" - exit 1 -} - -# at_fn_check_skip EXIT-CODE LINE -# ------------------------------- -# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit -# the test group subshell with that same exit code. Use LINE in any report -# about test failure. -at_fn_check_skip () -{ - case $1 in - 99) echo 99 > "$at_status_file"; at_failed=: - $as_echo "$2: hard failure"; exit 99;; - 77) echo 77 > "$at_status_file"; exit 77;; - esac -} - -# at_fn_check_status EXPECTED EXIT-CODE LINE -# ------------------------------------------ -# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. -# Otherwise, if it is 77 or 99, exit the test group subshell with that same -# exit code; if it is anything else print an error message referring to LINE, -# and fail the test. -at_fn_check_status () -{ - case $2 in - $1 ) ;; - 77) echo 77 > "$at_status_file"; exit 77;; - 99) echo 99 > "$at_status_file"; at_failed=: - $as_echo "$3: hard failure"; exit 99;; - *) $as_echo "$3: exit code was $2, expected $1" - at_failed=:;; - esac -} - -# at_fn_diff_devnull FILE -# ----------------------- -# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff -# invocations. -at_fn_diff_devnull () -{ - test -s "$1" || return 0 - $at_diff "$at_devnull" "$1" -} - -# at_fn_test NUMBER -# ----------------- -# Parse out test NUMBER from the tail of this file. -at_fn_test () -{ - eval at_sed=\$at_sed$1 - sed "$at_sed" "$at_myself" > "$at_test_source" -} - -# at_fn_create_debugging_script -# ----------------------------- -# Create the debugging script $at_group_dir/run which will reproduce the -# current test group. -at_fn_create_debugging_script () -{ - { - echo "#! /bin/sh" && - echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && - $as_echo "cd '$at_dir'" && - $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && - echo 'exit 1' - } >"$at_group_dir/run" && - chmod +x "$at_group_dir/run" -} - -## -------------------------------- ## -## End of autotest shell functions. ## -## -------------------------------- ## -{ - $as_echo "## ---------------- ## -## Tested programs. ## -## ---------------- ##" - echo -} >&5 - -# Report what programs are being tested. -for at_program in : $at_tested -do - test "$at_program" = : && continue - case $at_program in - [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; - * ) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -f "$as_dir/$at_program" && break - done -IFS=$as_save_IFS - - at_program_=$as_dir/$at_program ;; - esac - if test -f "$at_program_"; then - { - $as_echo "$at_srcdir/testsuite.at:529: $at_program_ --version" - "$at_program_" --version &5 2>&1 - else - as_fn_error $? "cannot find $at_program" "$LINENO" 5 - fi -done - -{ - $as_echo "## ------------------ ## -## Running the tests. ## -## ------------------ ##" -} >&5 - -at_start_date=`date` -at_start_time=`date +%s 2>/dev/null` -$as_echo "$as_me: starting at: $at_start_date" >&5 - -# Create the master directory if it doesn't already exist. -as_dir="$at_suite_dir"; as_fn_mkdir_p || - as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 - -# Can we diff with `/dev/null'? DU 5.0 refuses. -if diff /dev/null /dev/null >/dev/null 2>&1; then - at_devnull=/dev/null -else - at_devnull=$at_suite_dir/devnull - >"$at_devnull" -fi - -# Use `diff -u' when possible. -if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" -then - at_diff='diff -u' -else - at_diff=diff -fi - -# Get the last needed group. -for at_group in : $at_groups; do :; done - -# Extract the start and end lines of each test group at the tail -# of this file -awk ' -BEGIN { FS="" } -/^#AT_START_/ { - start = NR -} -/^#AT_STOP_/ { - test = substr ($ 0, 10) - print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" - if (test == "'"$at_group"'") exit -}' "$at_myself" > "$at_suite_dir/at-source-lines" && -. "$at_suite_dir/at-source-lines" || - as_fn_error $? "cannot create test line number cache" "$LINENO" 5 -rm -f "$at_suite_dir/at-source-lines" - -# Set number of jobs for `-j'; avoid more jobs than test groups. -set X $at_groups; shift; at_max_jobs=$# -if test $at_max_jobs -eq 0; then - at_jobs=1 -fi -if test $at_jobs -ne 1 && - { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then - at_jobs=$at_max_jobs -fi - -# If parallel mode, don't output banners, don't split summary lines. -if test $at_jobs -ne 1; then - at_print_banners=false - at_quiet=: -fi - -# Set up helper dirs. -rm -rf "$at_helper_dir" && -mkdir "$at_helper_dir" && -cd "$at_helper_dir" && -{ test -z "$at_groups" || mkdir $at_groups; } || -as_fn_error $? "testsuite directory setup failed" "$LINENO" 5 - -# Functions for running a test group. We leave the actual -# test group execution outside of a shell function in order -# to avoid hitting zsh 4.x exit status bugs. - -# at_fn_group_prepare -# ------------------- -# Prepare for running a test group. -at_fn_group_prepare () -{ - # The directory for additional per-group helper files. - at_job_dir=$at_helper_dir/$at_group - # The file containing the location of the last AT_CHECK. - at_check_line_file=$at_job_dir/check-line - # The file containing the exit status of the last command. - at_status_file=$at_job_dir/status - # The files containing the output of the tested commands. - at_stdout=$at_job_dir/stdout - at_stder1=$at_job_dir/stder1 - at_stderr=$at_job_dir/stderr - # The file containing the code for a test group. - at_test_source=$at_job_dir/test-source - # The file containing dates. - at_times_file=$at_job_dir/times - - # Be sure to come back to the top test directory. - cd "$at_suite_dir" - - # Clearly separate the test groups when verbose. - $at_first || $at_verbose echo - - at_group_normalized=$at_group - - eval 'while :; do - case $at_group_normalized in #( - '"$at_format"'*) break;; - esac - at_group_normalized=0$at_group_normalized - done' - - - # Create a fresh directory for the next test group, and enter. - # If one already exists, the user may have invoked ./run from - # within that directory; we remove the contents, but not the - # directory itself, so that we aren't pulling the rug out from - # under the shell's notion of the current directory. - at_group_dir=$at_suite_dir/$at_group_normalized - at_group_log=$at_group_dir/$as_me.log - if test -d "$at_group_dir"; then - find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; - rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* -fi || - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 -$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} - # Be tolerant if the above `rm' was not able to remove the directory. - as_dir="$at_group_dir"; as_fn_mkdir_p - - echo 0 > "$at_status_file" - - # In verbose mode, append to the log file *and* show on - # the standard output; in quiet mode only write to the log. - if test -z "$at_verbose"; then - at_tee_pipe='tee -a "$at_group_log"' - else - at_tee_pipe='cat >> "$at_group_log"' - fi -} - -# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] -# ------------------------------------------------- -# Declare the test group ORDINAL, located at LINE with group description DESC, -# and residing under BANNER. Use PAD to align the status column. -at_fn_group_banner () -{ - at_setup_line="$2" - test -n "$5" && at_fn_banner $5 - at_desc="$3" - case $1 in - [0-9]) at_desc_line=" $1: ";; - [0-9][0-9]) at_desc_line=" $1: " ;; - *) at_desc_line="$1: " ;; - esac - as_fn_append at_desc_line "$3$4" - $at_quiet $as_echo_n "$at_desc_line" - echo "# -*- compilation -*-" >> "$at_group_log" -} - -# at_fn_group_postprocess -# ----------------------- -# Perform cleanup after running a test group. -at_fn_group_postprocess () -{ - # Be sure to come back to the suite directory, in particular - # since below we might `rm' the group directory we are in currently. - cd "$at_suite_dir" - - if test ! -f "$at_check_line_file"; then - sed "s/^ */$as_me: WARNING: /" <<_ATEOF - A failure happened in a test group before any test could be - run. This means that test suite is improperly designed. Please - report this failure to . -_ATEOF - $as_echo "$at_setup_line" >"$at_check_line_file" - at_status=99 - fi - $at_verbose $as_echo_n "$at_group. $at_setup_line: " - $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" - case $at_xfail:$at_status in - yes:0) - at_msg="UNEXPECTED PASS" - at_res=xpass - at_errexit=$at_errexit_p - at_color=$at_red - ;; - no:0) - at_msg="ok" - at_res=pass - at_errexit=false - at_color=$at_grn - ;; - *:77) - at_msg='skipped ('`cat "$at_check_line_file"`')' - at_res=skip - at_errexit=false - at_color=$at_blu - ;; - no:* | *:99) - at_msg='FAILED ('`cat "$at_check_line_file"`')' - at_res=fail - at_errexit=$at_errexit_p - at_color=$at_red - ;; - yes:*) - at_msg='expected failure ('`cat "$at_check_line_file"`')' - at_res=xfail - at_errexit=false - at_color=$at_lgn - ;; - esac - echo "$at_res" > "$at_job_dir/$at_res" - # In parallel mode, output the summary line only afterwards. - if test $at_jobs -ne 1 && test -n "$at_verbose"; then - $as_echo "$at_desc_line $at_color$at_msg$at_std" - else - # Make sure there is a separator even with long titles. - $as_echo " $at_color$at_msg$at_std" - fi - at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" - case $at_status in - 0|77) - # $at_times_file is only available if the group succeeded. - # We're not including the group log, so the success message - # is written in the global log separately. But we also - # write to the group log in case they're using -d. - if test -f "$at_times_file"; then - at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' - rm -f "$at_times_file" - fi - $as_echo "$at_log_msg" >> "$at_group_log" - $as_echo "$at_log_msg" >&5 - - # Cleanup the group directory, unless the user wants the files - # or the success was unexpected. - if $at_debug_p || test $at_res = xpass; then - at_fn_create_debugging_script - if test $at_res = xpass && $at_errexit; then - echo stop > "$at_stop_file" - fi - else - if test -d "$at_group_dir"; then - find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -fr "$at_group_dir" - fi - rm -f "$at_test_source" - fi - ;; - *) - # Upon failure, include the log into the testsuite's global - # log. The failure message is written in the group log. It - # is later included in the global log. - $as_echo "$at_log_msg" >> "$at_group_log" - - # Upon failure, keep the group directory for autopsy, and create - # the debugging script. With -e, do not start any further tests. - at_fn_create_debugging_script - if $at_errexit; then - echo stop > "$at_stop_file" - fi - ;; - esac -} - - -## ------------ ## -## Driver loop. ## -## ------------ ## - - -if (set -m && set +m && set +b) >/dev/null 2>&1; then - set +b - at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- -else - at_job_control_on=: at_job_control_off=: at_job_group= -fi - -for at_signal in 1 2 15; do - trap 'set +x; set +e - $at_job_control_off - at_signal='"$at_signal"' - echo stop > "$at_stop_file" - trap "" $at_signal - at_pgids= - for at_pgid in `jobs -p 2>/dev/null`; do - at_pgids="$at_pgids $at_job_group$at_pgid" - done - test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null - wait - if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then - echo >&2 - fi - at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` - set x $at_signame - test 0 -gt 2 && at_signame=$at_signal - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 -$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} - as_fn_arith 128 + $at_signal && exit_status=$as_val - as_fn_exit $exit_status' $at_signal -done - -rm -f "$at_stop_file" -at_first=: - -if test $at_jobs -ne 1 && - rm -f "$at_job_fifo" && - test -n "$at_job_group" && - ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null -then - # FIFO job dispatcher. - - trap 'at_pids= - for at_pid in `jobs -p`; do - at_pids="$at_pids $at_job_group$at_pid" - done - if test -n "$at_pids"; then - at_sig=TSTP - test "${TMOUT+set}" = set && at_sig=STOP - kill -$at_sig $at_pids 2>/dev/null - fi - kill -STOP $$ - test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP - - echo - # Turn jobs into a list of numbers, starting from 1. - at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` - - set X $at_joblist - shift - for at_group in $at_groups; do - $at_job_control_on 2>/dev/null - ( - # Start one test group. - $at_job_control_off - if $at_first; then - exec 7>"$at_job_fifo" - else - exec 6<&- - fi - trap 'set +x; set +e - trap "" PIPE - echo stop > "$at_stop_file" - echo >&7 - as_fn_exit 141' PIPE - at_fn_group_prepare - if cd "$at_group_dir" && - at_fn_test $at_group && - . "$at_test_source" - then :; else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 -$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} - at_failed=: - fi - at_fn_group_postprocess - echo >&7 - ) & - $at_job_control_off - if $at_first; then - at_first=false - exec 6<"$at_job_fifo" 7>"$at_job_fifo" - fi - shift # Consume one token. - if test $# -gt 0; then :; else - read at_token <&6 || break - set x $* - fi - test -f "$at_stop_file" && break - done - exec 7>&- - # Read back the remaining ($at_jobs - 1) tokens. - set X $at_joblist - shift - if test $# -gt 0; then - shift - for at_job - do - read at_token - done <&6 - fi - exec 6<&- - wait -else - # Run serially, avoid forks and other potential surprises. - for at_group in $at_groups; do - at_fn_group_prepare - if cd "$at_group_dir" && - at_fn_test $at_group && - . "$at_test_source"; then :; else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 -$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} - at_failed=: - fi - at_fn_group_postprocess - test -f "$at_stop_file" && break - at_first=false - done -fi - -# Wrap up the test suite with summary statistics. -cd "$at_helper_dir" - -# Use ?..???? when the list must remain sorted, the faster * otherwise. -at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` -at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` -at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` -at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do - echo $f; done | sed '/?/d; s,/xpass,,'` -at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do - echo $f; done | sed '/?/d; s,/fail,,'` - -set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list -shift; at_group_count=$# -set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* -set X $at_xfail_list; shift; at_xfail_count=$# -set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* -set X $at_skip_list; shift; at_skip_count=$# - -as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val -as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val -as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val - -# Back to the top directory. -cd "$at_dir" -rm -rf "$at_helper_dir" - -# Compute the duration of the suite. -at_stop_date=`date` -at_stop_time=`date +%s 2>/dev/null` -$as_echo "$as_me: ending at: $at_stop_date" >&5 -case $at_start_time,$at_stop_time in - [0-9]*,[0-9]*) - as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val - as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val - as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val - as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val - as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val - at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" - $as_echo "$as_me: test suite duration: $at_duration" >&5 - ;; -esac - -echo -$as_echo "## ------------- ## -## Test results. ## -## ------------- ##" -echo -{ - echo - $as_echo "## ------------- ## -## Test results. ## -## ------------- ##" - echo -} >&5 - -if test $at_run_count = 1; then - at_result="1 test" - at_were=was -else - at_result="$at_run_count tests" - at_were=were -fi -if $at_errexit_p && test $at_unexpected_count != 0; then - if test $at_xpass_count = 1; then - at_result="$at_result $at_were run, one passed" - else - at_result="$at_result $at_were run, one failed" - fi - at_result="$at_result unexpectedly and inhibited subsequent tests." - at_color=$at_red -else - # Don't you just love exponential explosion of the number of cases? - at_color=$at_red - case $at_xpass_count:$at_fail_count:$at_xfail_count in - # So far, so good. - 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; - 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; - - # Some unexpected failures - 0:*:0) at_result="$at_result $at_were run, -$at_fail_count failed unexpectedly." ;; - - # Some failures, both expected and unexpected - 0:*:1) at_result="$at_result $at_were run, -$at_total_fail_count failed ($at_xfail_count expected failure)." ;; - 0:*:*) at_result="$at_result $at_were run, -$at_total_fail_count failed ($at_xfail_count expected failures)." ;; - - # No unexpected failures, but some xpasses - *:0:*) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly." ;; - - # No expected failures, but failures and xpasses - *:1:0) at_result="$at_result $at_were run, -$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; - *:*:0) at_result="$at_result $at_were run, -$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; - - # All of them. - *:*:1) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly, -$at_total_fail_count failed ($at_xfail_count expected failure)." ;; - *:*:*) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly, -$at_total_fail_count failed ($at_xfail_count expected failures)." ;; - esac - - if test $at_skip_count = 0 && test $at_run_count -gt 1; then - at_result="All $at_result" - fi -fi - -# Now put skips in the mix. -case $at_skip_count in - 0) ;; - 1) at_result="$at_result -1 test was skipped." ;; - *) at_result="$at_result -$at_skip_count tests were skipped." ;; -esac - -if test $at_unexpected_count = 0; then - echo "$at_color$at_result$at_std" - echo "$at_result" >&5 -else - echo "${at_color}ERROR: $at_result$at_std" >&2 - echo "ERROR: $at_result" >&5 - { - echo - $as_echo "## ------------------------ ## -## Summary of the failures. ## -## ------------------------ ##" - - # Summary of failed and skipped tests. - if test $at_fail_count != 0; then - echo "Failed tests:" - $SHELL "$at_myself" $at_fail_list --list - echo - fi - if test $at_skip_count != 0; then - echo "Skipped tests:" - $SHELL "$at_myself" $at_skip_list --list - echo - fi - if test $at_xpass_count != 0; then - echo "Unexpected passes:" - $SHELL "$at_myself" $at_xpass_list --list - echo - fi - if test $at_fail_count != 0; then - $as_echo "## ---------------------- ## -## Detailed failed tests. ## -## ---------------------- ##" - echo - for at_group in $at_fail_list - do - at_group_normalized=$at_group - - eval 'while :; do - case $at_group_normalized in #( - '"$at_format"'*) break;; - esac - at_group_normalized=0$at_group_normalized - done' - - cat "$at_suite_dir/$at_group_normalized/$as_me.log" - echo - done - echo - fi - if test -n "$at_top_srcdir"; then - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## ${at_top_build_prefix}config.log ## -_ASBOX - sed 's/^/| /' ${at_top_build_prefix}config.log - echo - fi - } >&5 - - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## $as_me.log was created. ## -_ASBOX - - echo - if $at_debug_p; then - at_msg='per-test log files' - else - at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" - fi - $as_echo "Please send $at_msg and all information you think might help: - - To: - Subject: [GNU Libtool 2.4.7] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} - -You may investigate any problem if you feel able to do so, in which -case the test suite provides a good starting point. Its output may -be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. -" - exit 1 -fi - -exit 0 - -## ------------- ## -## Actual tests. ## -## ------------- ## -#AT_START_1 -at_fn_group_banner 1 'configure-funcs.at:39' \ - "func_munge_path_list works" " " 1 -at_xfail=no -( - $as_echo "1. $at_setup_line: testing $at_desc ..." - $at_traceon -_lt_bin=$abs_top_builddir/libtool -re_begincf='^# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE' -re_endcf='^# ### END FUNCTIONS SHARED WITH CONFIGURE' - -$ECHO '#!/bin/sh' > "func_munge_path_list" -$ECHO '#: ${SED=sed}' >> "func_munge_path_list" -$ECHO '#: ${ECHO=echo}' >> "func_munge_path_list" - -sed "1,/$re_begincf/d;/$re_endcf/,\$d" < "$_lt_bin" >> "func_munge_path_list" - - -cat <<\EOF >> func_munge_path_list -for orig in "/usr/lib" " /lib /usr/lib "; do - $ECHO "'$orig':" - for path in "/p1:" "/p3:/p2:" ":/a1" ":/a2:/a3" "/p4::/a4" "/p6:/p5::/a5:/a6"; do - old=$orig - func_munge_path_list orig "$path" || exit 1 - $ECHO "munge ($path) = $orig" - done -done -EOF -chmod +x func_munge_path_list - -{ set +x -$as_echo "$at_srcdir/configure-funcs.at:53: ECHO=\"\$ECHO\" SED=\"\$SED\" ./func_munge_path_list" -at_fn_check_prepare_dynamic "ECHO=\"$ECHO\" SED=\"$SED\" ./func_munge_path_list" "configure-funcs.at:53" -( $at_check_trace; ECHO="$ECHO" SED="$SED" ./func_munge_path_list -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "'/usr/lib': -munge (/p1:) = /p1 /usr/lib -munge (/p3:/p2:) = /p3 /p2 /p1 /usr/lib -munge (:/a1) = /p3 /p2 /p1 /usr/lib /a1 -munge (:/a2:/a3) = /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 -munge (/p4::/a4) = /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 -munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 -' /lib /usr/lib ': -munge (/p1:) = /p1 /lib /usr/lib -munge (/p3:/p2:) = /p3 /p2 /p1 /lib /usr/lib -munge (:/a1) = /p3 /p2 /p1 /lib /usr/lib /a1 -munge (:/a2:/a3) = /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 -munge (/p4::/a4) = /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 -munge (/p6:/p5::/a5:/a6) = /p6 /p5 /p4 /p3 /p2 /p1 /lib /usr/lib /a1 /a2 /a3 /a4 /a5 /a6 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/configure-funcs.at:53" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_1 -#AT_START_2 -at_fn_group_banner 2 'libtoolize.at:84' \ - "libtoolize macro installation" " " 2 -at_xfail=no -( - $as_echo "2. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:100: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:100" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:100" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_2 -#AT_START_3 -at_fn_group_banner 3 'libtoolize.at:109' \ - "libtoolize macro directory mismatch error" " " 2 -at_xfail=no -( - $as_echo "3. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I me2 -_ATEOF - - -cat >experr <<'_ATEOF' -libtoolize: error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with ACLOCAL_AMFLAGS=-I me2. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:121: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:121" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtoolize.at:121" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_3 -#AT_START_4 -at_fn_group_banner 4 'libtoolize.at:130' \ - "multiple AC_CONFIG_MACRO_DIRS invocation" " " 2 -at_xfail=no -( - $as_echo "4. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([first]) -AC_CONFIG_MACRO_DIRS([second]) -LT_INIT -AC_OUTPUT -_ATEOF - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'first'. -libtoolize: copying file 'first/libtool.m4' -libtoolize: copying file 'first/ltoptions.m4' -libtoolize: copying file 'first/ltsugar.m4' -libtoolize: copying file 'first/ltversion.m4' -libtoolize: copying file 'first/lt~obsolete.m4' -libtoolize: Consider adding '-I first' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:153: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:153" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:153" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_4 -#AT_START_5 -at_fn_group_banner 5 'libtoolize.at:158' \ - "multiple AC_CONFIG_MACRO_DIRS directories" " " 2 -at_xfail=no -( - $as_echo "5. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtooize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([first second third]) -LT_INIT -AC_OUTPUT -_ATEOF - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'first'. -libtoolize: copying file 'first/libtool.m4' -libtoolize: copying file 'first/ltoptions.m4' -libtoolize: copying file 'first/ltsugar.m4' -libtoolize: copying file 'first/ltversion.m4' -libtoolize: copying file 'first/lt~obsolete.m4' -libtoolize: Consider adding '-I first' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:180: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:180" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:180" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_5 -#AT_START_6 -at_fn_group_banner 6 'libtoolize.at:190' \ - "libtoolize ACLOCAL_AMFLAGS extraction" " " 2 -at_xfail=no -( - $as_echo "6. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -LT_INIT -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I first -I second -_ATEOF - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in 'first'. -libtoolize: copying file 'first/libtool.m4' -libtoolize: copying file 'first/ltoptions.m4' -libtoolize: copying file 'first/ltsugar.m4' -libtoolize: copying file 'first/ltversion.m4' -libtoolize: copying file 'first/lt~obsolete.m4' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([first])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:216: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:216" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:216" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_6 -#AT_START_7 -at_fn_group_banner 7 'libtoolize.at:225' \ - "libtoolize macro serial update" " " 2 -at_xfail=no -( - $as_echo "7. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - - -test -d m4 || { rm -f m4 && mkdir m4; } - -rm -f m4/libtool.m4 m4/ltoptions.m4 build-aux/ltmain.sh - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -_ATEOF - - -# This file should be upgraded. -cat >m4/libtool.m4 <<'_ATEOF' - -# serial 25 LT_INIT -_ATEOF - - -# This file has a very high serial number, and should be left unchanged -# until --force is passed. -cat >m4/ltoptions.m4 <<'_ATEOF' - -# serial 99999 ltoptions.m4 -_ATEOF - - -test -d build-aux || { rm -f build-aux && mkdir build-aux; } - -# This file has a very high serial number, and needs --force to be updated. -cat >build-aux/ltmain.sh <<'_ATEOF' - -package_revision=9999.9999 -_ATEOF - - -# This file has a very old serial number, but should be left unchanged -# unless the --install flag is invoked. -cat >build-aux/config.guess <<'_ATEOF' - -timestamp='1970-01-01' -_ATEOF - - - - - -## -------------------------------------------------------------------- ## -## First we try to update with some newer files in the destination dir. ## -## -------------------------------------------------------------------- ## - -cat >expout <<'_ATEOF' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -_ATEOF - - -cat >experr <<'_ATEOF' -libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:248: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:248" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:248" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ---------------------------------------------------------- ## -## Next, a second update attempt with everything now updated. ## -## ---------------------------------------------------------- ## - -: >expout - -cat >experr <<'_ATEOF' -libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:262: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:262" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:262" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ----------------------------------------------------------- ## -## Now, a forced update to downgrade files with newer serials. ## -## ----------------------------------------------------------- ## - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:280: \$LIBTOOLIZE --copy --force - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:280" -( $at_check_trace; $LIBTOOLIZE --copy --force - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:280" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ---------------------------------------------------------------- ## -## A final update attempt with everything previously force updated. ## -## ---------------------------------------------------------------- ## - -: >expout - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:289: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:289" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:289" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_7 -#AT_START_8 -at_fn_group_banner 8 'libtoolize.at:298' \ - "libtoolize config files serial update" " " 2 -at_xfail=no -( - $as_echo "8. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - - -test -d m4 || { rm -f m4 && mkdir m4; } - -rm -f m4/libtool.m4 m4/ltoptions.m4 build-aux/ltmain.sh - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -_ATEOF - - -# This file should be upgraded. -cat >m4/libtool.m4 <<'_ATEOF' - -# serial 25 LT_INIT -_ATEOF - - -# This file has a very high serial number, and should be left unchanged -# until --force is passed. -cat >m4/ltoptions.m4 <<'_ATEOF' - -# serial 99999 ltoptions.m4 -_ATEOF - - -test -d build-aux || { rm -f build-aux && mkdir build-aux; } - -# This file has a very high serial number, and needs --force to be updated. -cat >build-aux/ltmain.sh <<'_ATEOF' - -package_revision=9999.9999 -_ATEOF - - -# This file has a very old serial number, but should be left unchanged -# unless the --install flag is invoked. -cat >build-aux/config.guess <<'_ATEOF' - -timestamp='1970-01-01' -_ATEOF - - - - - -## -------------------------------------------------------------------- ## -## First we try to update with some newer files in the destination dir. ## -## -------------------------------------------------------------------- ## - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -_ATEOF - - -cat >experr <<'_ATEOF' -libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:325: \$LIBTOOLIZE --copy --install - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:325" -( $at_check_trace; $LIBTOOLIZE --copy --install - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:325" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ---------------------------------------------------------- ## -## Next, a second update attempt with everything now updated. ## -## ---------------------------------------------------------- ## - -: >expout - -cat >experr <<'_ATEOF' -libtoolize: error: 'build-aux/ltmain.sh' is newer: use '--force' to overwrite -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:339: \$LIBTOOLIZE --copy --install - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:339" -( $at_check_trace; $LIBTOOLIZE --copy --install - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:339" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ----------------------------------------------------------- ## -## Now, a forced update to downgrade files with newer serials. ## -## ----------------------------------------------------------- ## - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:360: \$LIBTOOLIZE --copy --force --install - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:360" -( $at_check_trace; $LIBTOOLIZE --copy --force --install - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:360" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ---------------------------------------------------------------- ## -## A final update attempt with everything previously force updated. ## -## ---------------------------------------------------------------- ## - -: >expout - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:369: \$LIBTOOLIZE --copy --install - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:369" -( $at_check_trace; $LIBTOOLIZE --copy --install - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:369" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_8 -#AT_START_9 -at_fn_group_banner 9 'libtoolize.at:378' \ - "diagnose missing LT_CONFIG_LTDL_DIR" " " 2 -at_xfail=no -( - $as_echo "9. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltargz.m4' -libtoolize: copying file 'm4/ltdl.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in 'ltdl'. -libtoolize: copying file 'ltdl/COPYING.LIB' -libtoolize: copying file 'ltdl/README' -libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' -libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' -libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' -libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' -libtoolize: copying file 'ltdl/libltdl/lt__private.h' -libtoolize: copying file 'ltdl/libltdl/lt__strl.h' -libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: copying file 'ltdl/libltdl/lt_error.h' -libtoolize: copying file 'ltdl/libltdl/lt_system.h' -libtoolize: copying file 'ltdl/libltdl/slist.h' -libtoolize: copying file 'ltdl/loaders/dld_link.c' -libtoolize: copying file 'ltdl/loaders/dlopen.c' -libtoolize: copying file 'ltdl/loaders/dyld.c' -libtoolize: copying file 'ltdl/loaders/load_add_on.c' -libtoolize: copying file 'ltdl/loaders/loadlibrary.c' -libtoolize: copying file 'ltdl/loaders/preopen.c' -libtoolize: copying file 'ltdl/loaders/shl_load.c' -libtoolize: copying file 'ltdl/lt__alloc.c' -libtoolize: copying file 'ltdl/lt__argz.c' -libtoolize: copying file 'ltdl/lt__dirent.c' -libtoolize: copying file 'ltdl/lt__strl.c' -libtoolize: copying file 'ltdl/lt_dlloader.c' -libtoolize: copying file 'ltdl/lt_error.c' -libtoolize: copying file 'ltdl/ltdl.c' -libtoolize: copying file 'ltdl/ltdl.h' -libtoolize: creating file 'ltdl/ltdl.mk' -libtoolize: copying file 'ltdl/slist.c' -libtoolize: Remember to add 'LT_CONFIG_LTDL_DIR([ltdl])' to 'configure.ac'. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LTDL_INIT([nonrecursive]) -AC_OUTPUT -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:437: \$LIBTOOLIZE --copy --install --ltdl=ltdl - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:437" -( $at_check_trace; $LIBTOOLIZE --copy --install --ltdl=ltdl - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:437" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_9 -#AT_START_10 -at_fn_group_banner 10 'libtoolize.at:523' \ - "copy ltdl.m4 with shared macro directory" " " 2 -at_xfail=no -( - $as_echo "10. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: linking file 'build-aux/compile' -libtoolize: linking file 'build-aux/config.guess' -libtoolize: linking file 'build-aux/config.sub' -libtoolize: linking file 'build-aux/depcomp' -libtoolize: linking file 'build-aux/install-sh' -libtoolize: linking file 'build-aux/missing' -libtoolize: linking file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: linking file 'm4/libtool.m4' -libtoolize: linking file 'm4/ltargz.m4' -libtoolize: linking file 'm4/ltdl.m4' -libtoolize: linking file 'm4/ltoptions.m4' -libtoolize: linking file 'm4/ltsugar.m4' -libtoolize: linking file 'm4/ltversion.m4' -libtoolize: linking file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: linking file 'ltdl/COPYING.LIB' -libtoolize: linking file 'ltdl/Makefile.am' -libtoolize: linking file 'ltdl/README' -libtoolize: linking file 'ltdl/configure.ac' -libtoolize: copying file 'ltdl/aclocal.m4' -libtoolize: linking file 'ltdl/Makefile.in' -libtoolize: linking file 'ltdl/config-h.in' -libtoolize: copying file 'ltdl/configure' -libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' -libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' -libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' -libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' -libtoolize: linking file 'ltdl/libltdl/lt__private.h' -libtoolize: linking file 'ltdl/libltdl/lt__strl.h' -libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: linking file 'ltdl/libltdl/lt_error.h' -libtoolize: linking file 'ltdl/libltdl/lt_system.h' -libtoolize: linking file 'ltdl/libltdl/slist.h' -libtoolize: linking file 'ltdl/loaders/dld_link.c' -libtoolize: linking file 'ltdl/loaders/dlopen.c' -libtoolize: linking file 'ltdl/loaders/dyld.c' -libtoolize: linking file 'ltdl/loaders/load_add_on.c' -libtoolize: linking file 'ltdl/loaders/loadlibrary.c' -libtoolize: linking file 'ltdl/loaders/preopen.c' -libtoolize: linking file 'ltdl/loaders/shl_load.c' -libtoolize: linking file 'ltdl/lt__alloc.c' -libtoolize: linking file 'ltdl/lt__argz.c' -libtoolize: linking file 'ltdl/lt__dirent.c' -libtoolize: linking file 'ltdl/lt__strl.c' -libtoolize: linking file 'ltdl/lt_dlloader.c' -libtoolize: linking file 'ltdl/lt_error.c' -libtoolize: linking file 'ltdl/ltdl.c' -libtoolize: linking file 'ltdl/ltdl.h' -libtoolize: linking file 'ltdl/slist.c' -_ATEOF - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LTDL_INIT -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -_ATEOF - - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:527: \$LIBTOOLIZE --ltdl - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:527" -( $at_check_trace; $LIBTOOLIZE --ltdl - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:527" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_10 -#AT_START_11 -at_fn_group_banner 11 'libtoolize.at:535' \ - "correctly parse LTDL_INIT from configure.ac" " " 2 -at_xfail=no -( - $as_echo "11. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: linking file 'build-aux/compile' -libtoolize: linking file 'build-aux/config.guess' -libtoolize: linking file 'build-aux/config.sub' -libtoolize: linking file 'build-aux/depcomp' -libtoolize: linking file 'build-aux/install-sh' -libtoolize: linking file 'build-aux/missing' -libtoolize: linking file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: linking file 'm4/libtool.m4' -libtoolize: linking file 'm4/ltargz.m4' -libtoolize: linking file 'm4/ltdl.m4' -libtoolize: linking file 'm4/ltoptions.m4' -libtoolize: linking file 'm4/ltsugar.m4' -libtoolize: linking file 'm4/ltversion.m4' -libtoolize: linking file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: linking file 'ltdl/COPYING.LIB' -libtoolize: linking file 'ltdl/Makefile.am' -libtoolize: linking file 'ltdl/README' -libtoolize: linking file 'ltdl/configure.ac' -libtoolize: copying file 'ltdl/aclocal.m4' -libtoolize: linking file 'ltdl/Makefile.in' -libtoolize: linking file 'ltdl/config-h.in' -libtoolize: copying file 'ltdl/configure' -libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' -libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' -libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' -libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' -libtoolize: linking file 'ltdl/libltdl/lt__private.h' -libtoolize: linking file 'ltdl/libltdl/lt__strl.h' -libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: linking file 'ltdl/libltdl/lt_error.h' -libtoolize: linking file 'ltdl/libltdl/lt_system.h' -libtoolize: linking file 'ltdl/libltdl/slist.h' -libtoolize: linking file 'ltdl/loaders/dld_link.c' -libtoolize: linking file 'ltdl/loaders/dlopen.c' -libtoolize: linking file 'ltdl/loaders/dyld.c' -libtoolize: linking file 'ltdl/loaders/load_add_on.c' -libtoolize: linking file 'ltdl/loaders/loadlibrary.c' -libtoolize: linking file 'ltdl/loaders/preopen.c' -libtoolize: linking file 'ltdl/loaders/shl_load.c' -libtoolize: linking file 'ltdl/lt__alloc.c' -libtoolize: linking file 'ltdl/lt__argz.c' -libtoolize: linking file 'ltdl/lt__dirent.c' -libtoolize: linking file 'ltdl/lt__strl.c' -libtoolize: linking file 'ltdl/lt_dlloader.c' -libtoolize: linking file 'ltdl/lt_error.c' -libtoolize: linking file 'ltdl/ltdl.c' -libtoolize: linking file 'ltdl/ltdl.h' -libtoolize: linking file 'ltdl/slist.c' -_ATEOF - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LTDL_INIT -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -_ATEOF - - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:539: \$LIBTOOLIZE - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:539" -( $at_check_trace; $LIBTOOLIZE - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:539" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_11 -#AT_START_12 -at_fn_group_banner 12 'libtoolize.at:547' \ - "diagnose missing LTDL_INIT invocation" " " 2 -at_xfail=no -( - $as_echo "12. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/compile' -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/depcomp' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: copying file 'build-aux/missing' -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltargz.m4' -libtoolize: copying file 'm4/ltdl.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: copying file 'ltdl/COPYING.LIB' -libtoolize: copying file 'ltdl/Makefile.am' -libtoolize: copying file 'ltdl/README' -libtoolize: copying file 'ltdl/configure.ac' -libtoolize: copying file 'ltdl/aclocal.m4' -libtoolize: copying file 'ltdl/Makefile.in' -libtoolize: copying file 'ltdl/config-h.in' -libtoolize: copying file 'ltdl/configure' -libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' -libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' -libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' -libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' -libtoolize: copying file 'ltdl/libltdl/lt__private.h' -libtoolize: copying file 'ltdl/libltdl/lt__strl.h' -libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: copying file 'ltdl/libltdl/lt_error.h' -libtoolize: copying file 'ltdl/libltdl/lt_system.h' -libtoolize: copying file 'ltdl/libltdl/slist.h' -libtoolize: copying file 'ltdl/loaders/dld_link.c' -libtoolize: copying file 'ltdl/loaders/dlopen.c' -libtoolize: copying file 'ltdl/loaders/dyld.c' -libtoolize: copying file 'ltdl/loaders/load_add_on.c' -libtoolize: copying file 'ltdl/loaders/loadlibrary.c' -libtoolize: copying file 'ltdl/loaders/preopen.c' -libtoolize: copying file 'ltdl/loaders/shl_load.c' -libtoolize: copying file 'ltdl/lt__alloc.c' -libtoolize: copying file 'ltdl/lt__argz.c' -libtoolize: copying file 'ltdl/lt__dirent.c' -libtoolize: copying file 'ltdl/lt__strl.c' -libtoolize: copying file 'ltdl/lt_dlloader.c' -libtoolize: copying file 'ltdl/lt_error.c' -libtoolize: copying file 'ltdl/ltdl.c' -libtoolize: copying file 'ltdl/ltdl.h' -libtoolize: copying file 'ltdl/slist.c' -libtoolize: Remember to add 'LTDL_INIT' to configure.ac. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:614: \$LIBTOOLIZE --ltdl --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:614" -( $at_check_trace; $LIBTOOLIZE --ltdl --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:614" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_12 -#AT_START_13 -at_fn_group_banner 13 'libtoolize.at:624' \ - "upgrading verbatim style aclocal.m4" " " 2 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes -( - $as_echo "13. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -LT_INIT -AC_OUTPUT -_ATEOF - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: You should add the contents of the following files to 'aclocal.m4': -libtoolize: '/usr/local/share/aclocal/libtool.m4' -libtoolize: '/usr/local/share/aclocal/ltoptions.m4' -libtoolize: '/usr/local/share/aclocal/ltsugar.m4' -libtoolize: '/usr/local/share/aclocal/ltversion.m4' -libtoolize: '/usr/local/share/aclocal/lt~obsolete.m4' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:647: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:647" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:647" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## --------------------------------------- ## -## Upgrading a hand maintained aclocal.m4. ## -## --------------------------------------- ## - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -_ATEOF - - -cat >aclocal.m4 <<'_ATEOF' -# This should need upgrading: -# serial 25 LT_INIT -AC_DEFUN([LT_INIT], -[blah]) - -# This is newer than the upgrade version: -# serial 99999 ltoptions.m4 - -# This is older than the upgrade version: -# serial 1 ltversion.m4 -_ATEOF - - -cat >expout <<'_ATEOF' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: You should add the contents of 'm4/ltsugar.m4' to 'aclocal.m4'. -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: You should add the contents of 'm4/ltversion.m4' to 'aclocal.m4'. -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: You should add the contents of 'm4/lt~obsolete.m4' to 'aclocal.m4'. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:691: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:691" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:691" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ------------------------------------------- ## -## Upgrading an aclocal maintained aclocal.m4. ## -## ------------------------------------------- ## - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/libtoolize.at:698: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "libtoolize.at:698" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:698" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -rm -f m4/libtool.m4 m4/ltoptions.m4 - -# This file should be upgraded. -cat >m4/libtool.m4 <<'_ATEOF' - -# serial 25 LT_INIT -AC_DEFUN([LT_INIT]) -_ATEOF - - -# This file has a very high serial number, and should be left unchanged. -cat >m4/ltoptions.m4 <<'_ATEOF' - -# serial 99999 ltoptions.m4 -_ATEOF - - -cat >expout <<'_ATEOF' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -_ATEOF - - -cat >experr <<'_ATEOF' -libtoolize: error: 'm4/ltoptions.m4' is newer: use '--force' to overwrite -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:722: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:722" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:722" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -## ----------------------------------------------------------- ## -## Now, a forced update to downgrade files with newer serials. ## -## ----------------------------------------------------------- ## - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:739: \$LIBTOOLIZE --copy --force - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:739" -( $at_check_trace; $LIBTOOLIZE --copy --force - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:739" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_13 -#AT_START_14 -at_fn_group_banner 14 'libtoolize.at:748' \ - "verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIRS" " " 2 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes -( - $as_echo "14. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -LT_INIT -AC_OUTPUT -_ATEOF - - -cat >aclocal.m4 <<'_ATEOF' -# This should need upgrading: -# serial 25 LT_INIT -AC_DEFUN([LT_INIT], -[blah]) - -# This is newer than the upgrade version: -# serial 99999 ltoptions.m4 - -# This is older than the upgrade version: -# serial 1 ltversion.m4 -_ATEOF - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in '.'. -libtoolize: copying file './ltmain.sh' -libtoolize: You should add the contents of the following files to 'aclocal.m4': -libtoolize: '/usr/local/share/aclocal/libtool.m4' -libtoolize: '/usr/local/share/aclocal/ltsugar.m4' -libtoolize: '/usr/local/share/aclocal/ltversion.m4' -libtoolize: '/usr/local/share/aclocal/lt~obsolete.m4' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:782: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:782" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:782" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ------------------------------------------------------------------------ ## -## Upgrading an aclocal maintained aclocal.m4 without AC_CONFIG_MACRO_DIRS. ## -## ------------------------------------------------------------------------ ## - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/libtoolize.at:789: \$ACLOCAL -I \$abs_top_srcdir/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/m4$macro_dir" "libtoolize.at:789" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:789" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -## The following code is adapted (and simplified) from libtoolize.in -#### -basename='s|^.*/||' - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - -# func_serial filename [macro_regex] -# Output the value of the serial number comment in FILENAME, where the -# comment line must also match MACRO_REGEX, if given. -func_serial () -{ - my_filename=$1 - my_macro_regex=$2 - my_sed_serial=' - /^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ { - s|^# serial \([1-9][0-9.]*\).*$|\1| - q - } - d' - - # Search FILENAME and all the files it m4_includes for a serial number - # in the file that AC_DEFUNs MACRO_REGEX. - my_serial= - if test -z "$my_macro_regex" || - test aclocal.m4 = "$my_filename" || - test "$my_macro_regex" = `echo "$my_filename" | $SED "$basename"` || - func_grep '^AC_DEFUN(\['"$my_macro_regex" "$my_filename" - then - my_serial=`$SED -e "$my_sed_serial" "$my_filename"` - fi - - # If the file has no serial number, something is badly wrong! - test -n "$my_serial" || exit 1 - - echo $my_serial -} - -# Make the serial number in aclocal.m4 higher than installed ltoptions.m4, -# and the others match the macro files that libtoolize will compare against. -libtool_serial=`func_serial "$tst_aclocaldir/libtool.m4" LT_INIT` -ltversion_serial=`func_serial "$tst_aclocaldir/ltversion.m4" ltversion.m4` -ltsugar_serial=`func_serial "$tst_aclocaldir/ltsugar.m4" ltsugar.m4` -lt_obsolete_serial=`func_serial "$tst_aclocaldir/lt~obsolete.m4" lt~obsolete.m4` -$SED -e 's|^#.*serial.*ltoptions.m4$|# serial 99999 ltoptions.m4|' \ - -e "s|^#.*serial.*libtool.m4\$|# serial $libtool_serial libtool.m4|" \ - -e "s|^#.*serial.*ltversion.m4\$|# serial $ltversion_serial ltversion.m4|" \ - -e "s|^#.*serial.*ltsugar.m4\$|# serial $ltsugar_serial ltsugar.m4|" \ - -e "s|^#.*serial.*lt~obsolete.m4\$|# serial $lt_obsolete_serial lt~obsolete.m4|" \ - < aclocal.m4 > aclocal.m4t -mv -f aclocal.m4t aclocal.m4 - -cat >expout <<'_ATEOF' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:853: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:853" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:853" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## --------------------- ## -## Now, a forced update. ## -## --------------------- ## - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in '.'. -libtoolize: copying file './ltmain.sh' -libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, -libtoolize: and rerunning libtoolize and aclocal. -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:868: \$LIBTOOLIZE --copy --force - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:868" -( $at_check_trace; $LIBTOOLIZE --copy --force - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:868" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_14 -#AT_START_15 -at_fn_group_banner 15 'libtoolize.at:877' \ - "nonrecursive ltdl with AC_CONFIG_MACRO_DIRS" " " 2 -at_xfail=no -( - $as_echo "15. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/config.guess' -libtoolize: copying file 'build-aux/config.sub' -libtoolize: copying file 'build-aux/install-sh' -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltargz.m4' -libtoolize: copying file 'm4/ltdl.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: copying file 'ltdl/COPYING.LIB' -libtoolize: copying file 'ltdl/README' -libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' -libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' -libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' -libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' -libtoolize: copying file 'ltdl/libltdl/lt__private.h' -libtoolize: copying file 'ltdl/libltdl/lt__strl.h' -libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: copying file 'ltdl/libltdl/lt_error.h' -libtoolize: copying file 'ltdl/libltdl/lt_system.h' -libtoolize: copying file 'ltdl/libltdl/slist.h' -libtoolize: copying file 'ltdl/loaders/dld_link.c' -libtoolize: copying file 'ltdl/loaders/dlopen.c' -libtoolize: copying file 'ltdl/loaders/dyld.c' -libtoolize: copying file 'ltdl/loaders/load_add_on.c' -libtoolize: copying file 'ltdl/loaders/loadlibrary.c' -libtoolize: copying file 'ltdl/loaders/preopen.c' -libtoolize: copying file 'ltdl/loaders/shl_load.c' -libtoolize: copying file 'ltdl/lt__alloc.c' -libtoolize: copying file 'ltdl/lt__argz.c' -libtoolize: copying file 'ltdl/lt__dirent.c' -libtoolize: copying file 'ltdl/lt__strl.c' -libtoolize: copying file 'ltdl/lt_dlloader.c' -libtoolize: copying file 'ltdl/lt_error.c' -libtoolize: copying file 'ltdl/ltdl.c' -libtoolize: copying file 'ltdl/ltdl.h' -libtoolize: creating file 'ltdl/ltdl.mk' -libtoolize: copying file 'ltdl/slist.c' -_ATEOF - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LTDL_INIT([nonrecursive]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:939: \$LIBTOOLIZE --copy --install --ltdl=ltdl - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:939" -( $at_check_trace; $LIBTOOLIZE --copy --install --ltdl=ltdl - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:939" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_15 -#AT_START_16 -at_fn_group_banner 16 'libtoolize.at:948' \ - "subproject ltdl with unconventional layout" " " 2 -at_xfail=no -( - $as_echo "16. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'acaux'. -libtoolize: copying file 'acaux/compile' -libtoolize: copying file 'acaux/config.guess' -libtoolize: copying file 'acaux/config.sub' -libtoolize: copying file 'acaux/depcomp' -libtoolize: copying file 'acaux/install-sh' -libtoolize: copying file 'acaux/missing' -libtoolize: copying file 'acaux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'acm4'. -libtoolize: copying file 'acm4/libtool.m4' -libtoolize: copying file 'acm4/ltargz.m4' -libtoolize: copying file 'acm4/ltdl.m4' -libtoolize: copying file 'acm4/ltoptions.m4' -libtoolize: copying file 'acm4/ltsugar.m4' -libtoolize: copying file 'acm4/ltversion.m4' -libtoolize: copying file 'acm4/lt~obsolete.m4' -libtoolize: putting libltdl files in LT_CONFIG_LTDL_DIR, 'ltdl'. -libtoolize: copying file 'ltdl/COPYING.LIB' -libtoolize: creating file 'ltdl/Makefile.am' -libtoolize: copying file 'ltdl/README' -libtoolize: creating file 'ltdl/configure.ac' -libtoolize: creating file 'ltdl/aclocal.m4' -libtoolize: creating file 'ltdl/Makefile.in' -libtoolize: copying file 'ltdl/config-h.in' -libtoolize: creating file 'ltdl/configure' -libtoolize: copying file 'ltdl/libltdl/lt__alloc.h' -libtoolize: copying file 'ltdl/libltdl/lt__argz_.h' -libtoolize: copying file 'ltdl/libltdl/lt__dirent.h' -libtoolize: copying file 'ltdl/libltdl/lt__glibc.h' -libtoolize: copying file 'ltdl/libltdl/lt__private.h' -libtoolize: copying file 'ltdl/libltdl/lt__strl.h' -libtoolize: copying file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: copying file 'ltdl/libltdl/lt_error.h' -libtoolize: copying file 'ltdl/libltdl/lt_system.h' -libtoolize: copying file 'ltdl/libltdl/slist.h' -libtoolize: copying file 'ltdl/loaders/dld_link.c' -libtoolize: copying file 'ltdl/loaders/dlopen.c' -libtoolize: copying file 'ltdl/loaders/dyld.c' -libtoolize: copying file 'ltdl/loaders/load_add_on.c' -libtoolize: copying file 'ltdl/loaders/loadlibrary.c' -libtoolize: copying file 'ltdl/loaders/preopen.c' -libtoolize: copying file 'ltdl/loaders/shl_load.c' -libtoolize: copying file 'ltdl/lt__alloc.c' -libtoolize: copying file 'ltdl/lt__argz.c' -libtoolize: copying file 'ltdl/lt__dirent.c' -libtoolize: copying file 'ltdl/lt__strl.c' -libtoolize: copying file 'ltdl/lt_dlloader.c' -libtoolize: copying file 'ltdl/lt_error.c' -libtoolize: copying file 'ltdl/ltdl.c' -libtoolize: copying file 'ltdl/ltdl.h' -libtoolize: copying file 'ltdl/slist.c' -libtoolize: Consider adding '-I acm4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([acaux]) -AC_CONFIG_MACRO_DIRS([acm4]) -LT_INIT -LTDL_INIT([subproject]) -AC_OUTPUT -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/libtoolize.at:1015: \$LIBTOOLIZE --copy --install - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1015" -( $at_check_trace; $LIBTOOLIZE --copy --install - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1015" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_16 -#AT_START_17 -at_fn_group_banner 17 'libtoolize.at:1024' \ - "Subproject ltdl without GNU M4" " " 2 -at_xfail=no -( - $as_echo "17. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in 'ltdl'. -libtoolize: linking file 'ltdl/compile' -libtoolize: linking file 'ltdl/config.guess' -libtoolize: linking file 'ltdl/config.sub' -libtoolize: linking file 'ltdl/depcomp' -libtoolize: linking file 'ltdl/install-sh' -libtoolize: linking file 'ltdl/missing' -libtoolize: linking file 'ltdl/ltmain.sh' -libtoolize: putting macros in 'ltdl/m4'. -libtoolize: linking file 'ltdl/m4/libtool.m4' -libtoolize: linking file 'ltdl/m4/ltargz.m4' -libtoolize: linking file 'ltdl/m4/ltdl.m4' -libtoolize: linking file 'ltdl/m4/ltoptions.m4' -libtoolize: linking file 'ltdl/m4/ltsugar.m4' -libtoolize: linking file 'ltdl/m4/ltversion.m4' -libtoolize: linking file 'ltdl/m4/lt~obsolete.m4' -libtoolize: putting libltdl files in 'ltdl'. -libtoolize: linking file 'ltdl/COPYING.LIB' -libtoolize: creating file 'ltdl/Makefile.am' -libtoolize: linking file 'ltdl/README' -libtoolize: creating file 'ltdl/configure.ac' -libtoolize: creating file 'ltdl/aclocal.m4' -libtoolize: creating file 'ltdl/Makefile.in' -libtoolize: linking file 'ltdl/config-h.in' -libtoolize: creating file 'ltdl/configure' -libtoolize: linking file 'ltdl/libltdl/lt__alloc.h' -libtoolize: linking file 'ltdl/libltdl/lt__argz_.h' -libtoolize: linking file 'ltdl/libltdl/lt__dirent.h' -libtoolize: linking file 'ltdl/libltdl/lt__glibc.h' -libtoolize: linking file 'ltdl/libltdl/lt__private.h' -libtoolize: linking file 'ltdl/libltdl/lt__strl.h' -libtoolize: linking file 'ltdl/libltdl/lt_dlloader.h' -libtoolize: linking file 'ltdl/libltdl/lt_error.h' -libtoolize: linking file 'ltdl/libltdl/lt_system.h' -libtoolize: linking file 'ltdl/libltdl/slist.h' -libtoolize: linking file 'ltdl/loaders/dld_link.c' -libtoolize: linking file 'ltdl/loaders/dlopen.c' -libtoolize: linking file 'ltdl/loaders/dyld.c' -libtoolize: linking file 'ltdl/loaders/load_add_on.c' -libtoolize: linking file 'ltdl/loaders/loadlibrary.c' -libtoolize: linking file 'ltdl/loaders/preopen.c' -libtoolize: linking file 'ltdl/loaders/shl_load.c' -libtoolize: linking file 'ltdl/lt__alloc.c' -libtoolize: linking file 'ltdl/lt__argz.c' -libtoolize: linking file 'ltdl/lt__dirent.c' -libtoolize: linking file 'ltdl/lt__strl.c' -libtoolize: linking file 'ltdl/lt_dlloader.c' -libtoolize: linking file 'ltdl/lt_error.c' -libtoolize: linking file 'ltdl/ltdl.c' -libtoolize: linking file 'ltdl/ltdl.h' -libtoolize: linking file 'ltdl/slist.c' -_ATEOF - - -cat >no-m4 <<'_ATEOF' -#! /bin/sh -echo 'error: do not call m4' >&2 -exit 1 -_ATEOF - -chmod a+x ./no-m4 - -{ set +x -$as_echo "$at_srcdir/libtoolize.at:1087: PATH=\`pwd\`:\$PATH M4=\`pwd\`/no-m4 \$LIBTOOLIZE --ltdl=ltdl" -at_fn_check_prepare_notrace 'a `...` command substitution' "libtoolize.at:1087" -( $at_check_trace; PATH=`pwd`:$PATH M4=`pwd`/no-m4 $LIBTOOLIZE --ltdl=ltdl -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1087" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_17 -#AT_START_18 -at_fn_group_banner 18 'libtoolize.at:1096' \ - "LIBTOOLIZE_OPTIONS" " " 2 -at_xfail=no -( - $as_echo "18. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - - -LIBTOOLIZE_OPTIONS=narf -export LIBTOOLIZE_OPTIONS - -cat >experr <<'_ATEOF' -libtoolize: error: garbled LIBTOOLIZE_OPTIONS near 'narf' -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:1107: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1107" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtoolize.at:1107" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## --------------------------- ## -## Unknown LIBTOOLIZE_OPTIONS. ## -## --------------------------- ## - -LIBTOOLIZE_OPTIONS=--no-such-option -export LIBTOOLIZE_OPTIONS - -cat >experr <<'_ATEOF' -libtoolize: warning: unrecognized environment option '--no-such-option' -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:1121: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1121" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1121" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -## ----------------------------- ## -## --no-warn environment option. ## -## ----------------------------- ## - -LIBTOOLIZE_OPTIONS=--no-warn,--no-such-option -export LIBTOOLIZE_OPTIONS - -: >experr - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < experr > experr.t -mv -f experr.t experr -{ set +x -$as_echo "$at_srcdir/libtoolize.at:1133: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1133" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -$at_diff experr "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1133" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_18 -#AT_START_19 -at_fn_group_banner 19 'libtoolize.at:1142' \ - "cleanup old installation" " " 2 -at_xfail=no -( - $as_echo "19. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -_ATEOF - - -cat >acinclude.m4 <<'_ATEOF' -AC_DEFUN([LT_INIT], -[: keep me, I might be hand maintained!]) # LT_INIT -_ATEOF - - -cat >libltdl/acinclude.m4 <<'_ATEOF' -AC_DEFUN([LT_INIT], -[: delete me, I was left here by on old libltdl build]) # LT_INIT -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/libtoolize.at:1160: \$LIBTOOLIZE --copy --force --ltdl - -" -at_fn_check_prepare_notrace 'an embedded newline' "libtoolize.at:1160" -( $at_check_trace; $LIBTOOLIZE --copy --force --ltdl - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1160" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# check files are left as expected -{ set +x -$as_echo "$at_srcdir/libtoolize.at:1163: \$GREP 'keep me' acinclude.m4" -at_fn_check_prepare_dynamic "$GREP 'keep me' acinclude.m4" "libtoolize.at:1163" -( $at_check_trace; $GREP 'keep me' acinclude.m4 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtoolize.at:1163" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/libtoolize.at:1164: test -f libltdl/acinclude.m4" -at_fn_check_prepare_trace "libtoolize.at:1164" -( $at_check_trace; test -f libltdl/acinclude.m4 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtoolize.at:1164" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_19 -#AT_START_20 -at_fn_group_banner 20 'libtool.at:33' \ - "check help output" " " 3 -at_xfail=no -( - $as_echo "20. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/libtool.at:35: \$LIBTOOL --help" -at_fn_check_prepare_dynamic "$LIBTOOL --help" "libtool.at:35" -( $at_check_trace; $LIBTOOL --help -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:35" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/libtool.at:36: \$GREP '^Usage:' stdout stderr" -at_fn_check_prepare_dynamic "$GREP '^Usage:' stdout stderr" "libtool.at:36" -( $at_check_trace; $GREP '^Usage:' stdout stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:36" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/libtool.at:38: \$LIBTOOL --mode=link --help" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --help" "libtool.at:38" -( $at_check_trace; $LIBTOOL --mode=link --help -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:38" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/libtool.at:39: \$GREP '^Usage:' stdout stderr" -at_fn_check_prepare_dynamic "$GREP '^Usage:' stdout stderr" "libtool.at:39" -( $at_check_trace; $GREP '^Usage:' stdout stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:39" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_20 -#AT_START_21 -at_fn_group_banner 21 'libtool.at:48' \ - "diagnose no mode specified" " " 3 -at_xfail=no -( - $as_echo "21. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/libtool.at:50: \$LIBTOOL" -at_fn_check_prepare_dynamic "$LIBTOOL" "libtool.at:50" -( $at_check_trace; $LIBTOOL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:50" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/libtool.at:51: \$GREP 'you must specify a MODE' stderr" -at_fn_check_prepare_dynamic "$GREP 'you must specify a MODE' stderr" "libtool.at:51" -( $at_check_trace; $GREP 'you must specify a MODE' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:51" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_21 -#AT_START_22 -at_fn_group_banner 22 'libtool.at:60' \ - "quote shell meta-characters in filenames" " " 3 -at_xfail=no -( - $as_echo "22. $at_setup_line: testing $at_desc ..." - $at_traceon - - -eval `$LIBTOOL --config | $GREP '^wl='` - -# Do the torture test. -for mode in compile link install; do - - # Unfortunately, without an array data type, it is nearly impossible - # to protect libtool from metacharacters in filenames. So, we just - # try metacharacters in the options it needs to pass to other programs. - - # preargs and postargs need to go through libtool unmodified. - case $mode in - compile) - preargs="$CC -c" - preflag= - match_preflag= - flag=-DVAR= - postargs=foo.c - ;; - - link) - preargs="$CC -o hell -g -O" - preflag=-Wl, - match_preflag=$wl - flag=-someflag= - postargs=foo.o - ;; - - install) - preargs="install -c" - preflag= - match_preflag= - flag=--something= - postargs="hell /usr/local/bin/hell" - ;; - esac - - - # Trivial... - - { set +x -$as_echo "$at_srcdir/libtool.at:101: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag:test\" \$postargs" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag:test\" $postargs" "libtool.at:101" -( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag:test" $postargs -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:101" -$at_failed && at_fn_log_failure -$at_traceon; } - - # We must not attempt to match $preargs in the output, because libtool - # may modify them. For example, on Cygwin, 'libtool --mode=link gcc -o - # foo foo.o' becomes 'gcc -o foo.exe foo.o'. - { set +x -$as_echo "$at_srcdir/libtool.at:106: \$GREP \"\$mode:.*\$match_preflag\$flag:test \" stdout" -at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag$flag:test \" stdout" "libtool.at:106" -( $at_check_trace; $GREP "$mode:.*$match_preflag$flag:test " stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:106" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - # Non-trivial... - - # Backslash needs to be double-escaped: one escape is stripped as the shell - # collects arguments for grep (\\\\\\\\ => \\\\), and then another escape - # is stripped by grep itself (\\\\ => \\) before the resulting expression is - # matched (grepping for \\ matches \): - { set +x -$as_echo "$at_srcdir/libtool.at:115: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag\\\\:test\\\\\" \$postargs" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag\\\\:test\\\\\" $postargs" "libtool.at:115" -( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag\\:test\\" $postargs -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - - # NOTE: we use "..."'"'"..." to insert a literal quote into the expression - # because "...\"..." is not expanded consistently by all shells. - { set +x -$as_echo "$at_srcdir/libtool.at:119: \$GREP \"\$mode:.*\$match_preflag\"'\"\\{0,1\\}'\"\$flag\\\\\\\\\\\\\\\\:test\\\\\\\\\\\\\\\\\"'\"\\{0,1\\} ' stdout" -at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag\"'\"\\{0,1\\}'\"$flag\\\\\\\\\\\\\\\\:test\\\\\\\\\\\\\\\\\"'\"\\{0,1\\} ' stdout" "libtool.at:119" -( $at_check_trace; $GREP "$mode:.*$match_preflag"'"\{0,1\}'"$flag\\\\\\\\:test\\\\\\\\"'"\{0,1\} ' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:119" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # Shell metacharacters that should be backslashified by libtool. - for mchar in \" \` \$; do - { set +x -$as_echo "$at_srcdir/libtool.at:124: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag\$mchar:test\$mchar\" \$postargs" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag$mchar:test$mchar\" $postargs" "libtool.at:124" -( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:124" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/libtool.at:126: \$GREP \"\$mode:.*\$match_preflag\"'\"'\"\\{0,1\\}\$flag\\\\\\\\\$mchar:test\\\\\\\\\$mchar\"'\"'\"\\{0,1\\} \" stdout" -at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag\"'\"'\"\\{0,1\\}$flag\\\\\\\\$mchar:test\\\\\\\\$mchar\"'\"'\"\\{0,1\\} \" stdout" "libtool.at:126" -( $at_check_trace; $GREP "$mode:.*$match_preflag"'"'"\{0,1\}$flag\\\\$mchar:test\\\\$mchar"'"'"\{0,1\} " stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:126" -$at_failed && at_fn_log_failure -$at_traceon; } - - done - - # Shell metacharacters that should be double quoted by libtool, and need - # backslash escaping for input to grep. - for mchar in "[" "]" "^" "*"; do - - { set +x -$as_echo "$at_srcdir/libtool.at:133: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag\$mchar:test\$mchar\" \$postargs" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag$mchar:test$mchar\" $postargs" "libtool.at:133" -( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:133" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/libtool.at:135: \$GREP \"\$mode:.*\$match_preflag\\\"\$flag\\\\\$mchar:test\\\\\$mchar\\\" \" stdout" -at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag\\\"$flag\\\\$mchar:test\\\\$mchar\\\" \" stdout" "libtool.at:135" -( $at_check_trace; $GREP "$mode:.*$match_preflag\"$flag\\$mchar:test\\$mchar\" " stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:135" -$at_failed && at_fn_log_failure -$at_traceon; } - - done - - # Metacharacters that should be double quoted by libtool, but which are - # not special to grep (NOTE: Some of these ARE special to $EGREP!!). - for mchar in "~" "#" "&" "(" ")" "{" "}" "|" ";" "<" ">" "?" "'" " " " "; do - - { set +x -$as_echo "$at_srcdir/libtool.at:142: \$LIBTOOL -n --mode=\$mode \$preargs \$preflag\"\$flag\$mchar:test\$mchar\" \$postargs" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=$mode $preargs $preflag\"$flag$mchar:test$mchar\" $postargs" "libtool.at:142" -( $at_check_trace; $LIBTOOL -n --mode=$mode $preargs $preflag"$flag$mchar:test$mchar" $postargs -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:142" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/libtool.at:144: \$GREP \"\$mode:.*\$match_preflag\\\"\$flag\$mchar:test\$mchar\\\" \" stdout" -at_fn_check_prepare_dynamic "$GREP \"$mode:.*$match_preflag\\\"$flag$mchar:test$mchar\\\" \" stdout" "libtool.at:144" -( $at_check_trace; $GREP "$mode:.*$match_preflag\"$flag$mchar:test$mchar\" " stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:144" -$at_failed && at_fn_log_failure -$at_traceon; } - - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_22 -#AT_START_23 -at_fn_group_banner 23 'libtool.at:155' \ - "transform source suffices" " " 3 -at_xfail=no -( - $as_echo "23. $at_setup_line: testing $at_desc ..." - $at_traceon - - -# Extensions taken from the ones that Automake recognizes, plus Objective C, -# and GNU Ada. Also test that multiple dots are handled correctly. -extensions="C F S ada adb ads asm c c++ cc cpp cxx f f90 F90 f95 F95 f03 F03 for go m s sx ada.ada" -bad_names=foo. - -for ext in $extensions; do - # Try a sample compile command. - { set +x -$as_echo "$at_srcdir/libtool.at:164: \$LIBTOOL -n --mode=compile compiler -c foo.\$ext" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=compile compiler -c foo.$ext" "libtool.at:164" -( $at_check_trace; $LIBTOOL -n --mode=compile compiler -c foo.$ext -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:164" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/libtool.at:166: \$GREP 'cannot' stderr" -at_fn_check_prepare_dynamic "$GREP 'cannot' stderr" "libtool.at:166" -( $at_check_trace; $GREP 'cannot' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:166" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -# Make sure that invalid suffixes are not recognized. -for name in $bad_names; do - { set +x -$as_echo "$at_srcdir/libtool.at:171: \$LIBTOOL -n --mode=compile compiler -c \$name" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=compile compiler -c $name" "libtool.at:171" -( $at_check_trace; $LIBTOOL -n --mode=compile compiler -c $name -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:171" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/libtool.at:173: \$GREP 'cannot' stderr" -at_fn_check_prepare_dynamic "$GREP 'cannot' stderr" "libtool.at:173" -( $at_check_trace; $GREP 'cannot' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:173" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_23 -#AT_START_24 -at_fn_group_banner 24 'libtool.at:183' \ - "check link mode operation" " " 3 -at_xfail=no -( - $as_echo "24. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/libtool.at:185: \$LIBTOOL -n --mode=link \$CC -o gettext ../lib/libnlsut.a" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link $CC -o gettext ../lib/libnlsut.a" "libtool.at:185" -( $at_check_trace; $LIBTOOL -n --mode=link $CC -o gettext ../lib/libnlsut.a -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/libtool.at:186: \$EGREP '../lib/libnlsut.a' stdout" -at_fn_check_prepare_dynamic "$EGREP '../lib/libnlsut.a' stdout" "libtool.at:186" -( $at_check_trace; $EGREP '../lib/libnlsut.a' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:186" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -cat >hell.lo <<'_ATEOF' -# Generated by libtool -pic_object=none -non_pic_object=hell.o -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/libtool.at:195: \$LIBTOOL -n --mode=link \$CC -o something foo.o hell.lo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link $CC -o something foo.o hell.lo" "libtool.at:195" -( $at_check_trace; $LIBTOOL -n --mode=link $CC -o something foo.o hell.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:195" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/libtool.at:196: \$FGREP '.lo ' stdout" -at_fn_check_prepare_dynamic "$FGREP '.lo ' stdout" "libtool.at:196" -( $at_check_trace; $FGREP '.lo ' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:196" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_24 -#AT_START_25 -at_fn_group_banner 25 'libtool.at:205' \ - "check objectlist file operation" " " 3 -at_xfail=no -( - $as_echo "25. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/libtool.at:207: \$LIBTOOL -n --mode=link \$CC -objectlist nonexistent" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link $CC -objectlist nonexistent" "libtool.at:207" -( $at_check_trace; $LIBTOOL -n --mode=link $CC -objectlist nonexistent -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:207" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/libtool.at:208: \$GREP 'nonexistent' stderr" -at_fn_check_prepare_dynamic "$GREP 'nonexistent' stderr" "libtool.at:208" -( $at_check_trace; $GREP 'nonexistent' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:208" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_25 -#AT_START_26 -at_fn_group_banner 26 'libtool.at:217' \ - "test LT_SUPPORTED_TAG interface" " " 3 -at_xfail=no -( - $as_echo "26. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/libtool.at:219: test no != \"\$AUTOCONF\" || exit 77" -at_fn_check_prepare_dynamic "test no != \"$AUTOCONF\" || exit 77" "libtool.at:219" -( $at_check_trace; test no != "$AUTOCONF" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:219" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cp $abs_top_srcdir/aclocal.m4 ./aclocal.m4 -cp $abs_top_srcdir/configure.ac ./configure.ac -cp -r $abs_top_srcdir/build-aux ./build-aux -cp -r $abs_top_srcdir/m4 ./m4 - -# Retrieve the list of tags supported by our main libtool script. -traced_tags=`$AUTOCONF --trace 'LT_SUPPORTED_TAG:$1'` -{ set +x -$as_echo "$at_srcdir/libtool.at:228: test -n \"\$traced_tags\"" -at_fn_check_prepare_dynamic "test -n \"$traced_tags\"" "libtool.at:228" -( $at_check_trace; test -n "$traced_tags" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Ensure each of them is accepted by --tag. -# (We do some useless operation like erasing an empty file, because -# we are just interested in whether --tag accepts the tag or not.) -for tag in $traced_tags; do - { set +x -$as_echo "$at_srcdir/libtool.at:234: \$LIBTOOL -n --mode=link --tag=\$tag compiler -o liba.la foo.lo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link --tag=$tag compiler -o liba.la foo.lo" "libtool.at:234" -( $at_check_trace; $LIBTOOL -n --mode=link --tag=$tag compiler -o liba.la foo.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:234" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/libtool.at:236: \$GREP 'ignoring unknown tag' stderr" -at_fn_check_prepare_dynamic "$GREP 'ignoring unknown tag' stderr" "libtool.at:236" -( $at_check_trace; $GREP 'ignoring unknown tag' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/libtool.at:236" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -# Ensure the above command would have failed for unknown tags -{ set +x -$as_echo "$at_srcdir/libtool.at:240: \$LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo" "libtool.at:240" -( $at_check_trace; $LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:240" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/libtool.at:242: \$GREP 'ignoring unknown tag' stderr" -at_fn_check_prepare_dynamic "$GREP 'ignoring unknown tag' stderr" "libtool.at:242" -( $at_check_trace; $GREP 'ignoring unknown tag' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/libtool.at:242" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_26 -#AT_START_27 -at_fn_group_banner 27 'demo.at:384' \ - "link against a preloaded static library" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "27. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:388: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:388" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:388: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:388" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:388: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:388" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:388: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:388" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:388: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:388" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:388: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:388" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:388: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "demo.at:388" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/demo.at:388: \$EGREP '^build_libtool_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "demo.at:388" -( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:390: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:390" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:390" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:390: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:390" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:390" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:390: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:390" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:390" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:390: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:390" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:390" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -for target in install -do - { set +x -$as_echo "$at_srcdir/demo.at:391: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:391" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:391" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:391: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:391" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:391" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:391: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:391" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:391" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:391: \$prefix/bin/helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:391" -( $at_check_trace; $prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:391" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/demo.at:392: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:392" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:392" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/demo.at:392: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:392" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:392" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_27 -#AT_START_28 -at_fn_group_banner 28 'demo.at:401' \ - "build and dynamically load a module" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "28. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:405: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:405" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:405: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:405" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:405: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:405" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:405: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:405" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:405" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:405: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:405" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:405: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:405" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:405: \$EGREP '^build_old_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "demo.at:405" -( $at_check_trace; $EGREP '^build_old_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/demo.at:405: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "demo.at:405" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:405" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:407: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:407" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:407" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:407: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:407" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:407" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:407: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:407" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:407" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:407: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:407" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:407" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -for target in install -do - { set +x -$as_echo "$at_srcdir/demo.at:408: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:408" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:408" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:408: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:408" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:408" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:408: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:408" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:408" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:408: \$prefix/bin/helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:408" -( $at_check_trace; $prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:408" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/demo.at:409: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:409" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:409" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/demo.at:409: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:409" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:409" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_28 -#AT_START_29 -at_fn_group_banner 29 'demo.at:418' \ - "preload static and dynamic module" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "29. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:422: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:422" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:422: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:422" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:422: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:422" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:422: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:422" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:422" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:422: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:422" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:422: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:422" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:422: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "demo.at:422" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/demo.at:422: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "demo.at:422" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:422" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:424: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:424" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:424" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:424: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:424" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:424" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:424: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:424" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:424" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:424: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:424" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:424" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -for target in install -do - { set +x -$as_echo "$at_srcdir/demo.at:425: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:425" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:425" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:425: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:425" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:425" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:425: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:425" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:425" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:425: \$prefix/bin/helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:425" -( $at_check_trace; $prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:425" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/demo.at:426: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:426" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:426" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/demo.at:426: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:426" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:426" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_29 -#AT_START_30 -at_fn_group_banner 30 'demo.at:438' \ - "deplibs_check_method" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "30. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -cat >demo.mk <<'_ATEOF' -EXTRA_LIBRARIES = libhell0.a -libhell0_a_SOURCES = -libhell0_a_LIBADD = hello.$(OBJEXT) foo.$(OBJEXT) -EXTRA_LTLIBRARIES = libhell1.la libhell2.la -libhell1_la_SOURCES = hell1.c -libhell1_la_LIBADD = -L. -lhell0 -libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir) -libhell1_la_DEPENDENCIES = libhell0.a -libhell2_la_SOURCES = hell2.c -libhell2_la_LIBADD = -L. -lhell0 -libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir) -libhell2_la_DEPENDENCIES = libhell0.a -EXTRA_PROGRAMS = hell0 -hell0_SOURCES = main.c -hell0_LDADD = libhell1.la libhell2.la $(LIBM) - -# 'hell0' in EXTRA_PROGRAMS gets translated to 'hell0.exe'; but we -# must explicitly list the wrapper script 'hell0'. (bin_PROGRAMS -# are handled seamlessly by automake rules; the extra step is only -# necessary for EXTRA_PROGRAMS) -CLEANFILES = $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES) $(EXTRA_PROGRAMS) hell0 - -deplibs-check: hell0$(EXEEXT) -_ATEOF - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:468: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:468" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:468: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:468" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:468: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:468" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:468: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:468" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:468" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:468: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:468" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:468: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:468" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:468" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in deplibs-check -do - { set +x -$as_echo "$at_srcdir/demo.at:469: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:469" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:469" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell0; if test -f "./hell0$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:470: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:470" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:470" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_30 -#AT_START_31 -at_fn_group_banner 31 'demo.at:479' \ - "disable fast install" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "31. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:483: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:483" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:483: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:483" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:483: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:483" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:483: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:483" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:483" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:483: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:483" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:483: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-fast-install=no" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:483" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-fast-install=no -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:483" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:484: \$EGREP '^hardcode_action=relink' libtool && (exit 77)" -at_fn_check_prepare_dynamic "$EGREP '^hardcode_action=relink' libtool && (exit 77)" "demo.at:484" -( $at_check_trace; $EGREP '^hardcode_action=relink' libtool && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:484" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:486: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:486" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:486" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:486: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:486" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:486" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:486: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:486" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:486" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:486: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:486" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:486" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -for target in install -do - { set +x -$as_echo "$at_srcdir/demo.at:487: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:487" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:487" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:487: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:487" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:487" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:487: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:487" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:487" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:487: \$prefix/bin/helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:487" -( $at_check_trace; $prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:487" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/demo.at:488: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:488" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:488" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/demo.at:488: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "demo.at:488" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:488" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_31 -#AT_START_32 -at_fn_group_banner 32 'demo.at:497' \ - "force PIC objects" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "32. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:501: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:501" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:501: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:501" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:501: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:501" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:501: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:501" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:501" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:501: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:501" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:501: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-pic" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:501" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-pic -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:501" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:502: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:502" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:502" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:502: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:502" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:502" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:502: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:502" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:502" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:502: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:502" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:502" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_32 -#AT_START_33 -at_fn_group_banner 33 'demo.at:511' \ - "force non-PIC objects" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "33. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/demo.at:513: case \$host in -hppa*|x86_64*|s390*) - # These hosts cannot use non-PIC shared libs - exit 77 ;; -*-solaris*|*-sunos*) - # Libtool does not build non-PIC shared libs on these hosts - exit 77 ;; -esac - -if test \"X\$build\" = \"X\$host\" && test -d \"/etc/selinux\"; then - _selinux=\`getenforce 2>/dev/null || echo \"Disabled\"\` - case \$_selinux in - *Enforcing) - _sebool_allow_execmod=\`getsebool allow_execmod 2>/dev/null\` - case \$_sebool_allow_execmod in - *off) - # SELinux policy disallows non-PIC - exit 77 - ;; - esac - ;; - esac -fi -" -at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:513" -( $at_check_trace; case $host in -hppa*|x86_64*|s390*) - # These hosts cannot use non-PIC shared libs - exit 77 ;; -*-solaris*|*-sunos*) - # Libtool does not build non-PIC shared libs on these hosts - exit 77 ;; -esac - -if test "X$build" = "X$host" && test -d "/etc/selinux"; then - _selinux=`getenforce 2>/dev/null || echo "Disabled"` - case $_selinux in - *Enforcing) - _sebool_allow_execmod=`getsebool allow_execmod 2>/dev/null` - case $_sebool_allow_execmod in - *off) - # SELinux policy disallows non-PIC - exit 77 - ;; - esac - ;; - esac -fi - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:513" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:539: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:539" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:539: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:539" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:539: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:539" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:539: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:539" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:539" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:539: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:539" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:539: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-pic=no" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:539" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-pic=no -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:539" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:540: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:540" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:540" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:540: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:540" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:540" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:540: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:540" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:540" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:540: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:540" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:540" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_33 -#AT_START_34 -at_fn_group_banner 34 'demo.at:549' \ - "hardcoding library path" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "34. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -cat >demo.mk <<'_ATEOF' -hardcode_tests = hc-direct hc-libflag hc-libpath hc-minusL -CLEANFILES = $(hardcode_tests) - -# Unfortunately, in order to test libtool thoroughly, we need access -# to its private directory. -objdir = `$(LIBTOOL) --config | $(SED) -n -e 's/^objdir=\(.*\)$$/\1/p'` - -# Test programs to see what gets hardcoded. -.PHONY: hardcode -hardcode: $(hardcode_tests) -SET_HARDCODE_FLAGS = \ - eval `$(LIBTOOL) --config | $(SED) -n -e '/^hardcode_.*=/p; /^wl=/p'` -hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la - @rm -f hc-direct - @echo "You may ignore any linking errors from the following command:" - @shlib=./$(objdir)/libhello.a; \ - eval "`$(GREP) '^library_names' libhello.la`"; \ - for lib in $$library_names; do \ - shlib="./$(objdir)/$$lib"; \ - done; \ - $(SET_HARDCODE_FLAGS); \ - libdir=$(libdir); \ - flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ - echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ - eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) $(LIBM) $$flag || echo unsupported > $@" - -hc-libflag: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la - @$(SET_HARDCODE_FLAGS); \ - libdir=`pwd`/$(objdir); \ - flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ - if test -z "$$flag"; then \ - echo "echo unsupported > $@"; \ - echo unsupported > $@ || status="$$?"; \ - else \ - echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM)"; \ - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$flag -L$(libdir) -lhello $(LIBS) $(LIBM) || status="$$?"; \ - fi; \ - exit $$status - -hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES) $(libdir)/libhello.la - @rm -f hc-libpath - @echo "You may ignore any linking errors from the following command:" - @$(SET_HARDCODE_FLAGS); \ - eval `$(LIBTOOL) --config | $(GREP) '^shlibpath_var='`; \ - libdir=$(libdir); \ - flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ - echo "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ - eval "$$shlibpath_var=./$(objdir) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" - -hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES) - @rm -f hc-minusL - @$(SET_HARDCODE_FLAGS); \ - libdir=$(libdir); \ - flag=`eval echo \"$$hardcode_libdir_flag_spec\"`; \ - echo "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@"; \ - eval "$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS) $(LIBM) $$flag || echo unsupported > $@" -_ATEOF - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:612: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:612" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:612: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:612" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:612: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:612" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:612: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:612" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:612" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:612: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:612" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:612: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:612" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:612" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:613: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:613" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:613" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:613: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:613" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:613" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:613: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:613" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:613" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:613: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:613" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:613" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -for target in install -do - { set +x -$as_echo "$at_srcdir/demo.at:614: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:614" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:614" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:614: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:614" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:614" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:614: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:614" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:614" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:614: \$prefix/bin/helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:614" -( $at_check_trace; $prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:614" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -eval `$EGREP '^library_names=' libhello.la` -{ set +x -$as_echo "$at_srcdir/demo.at:617: test -n \"\$library_names\" || (exit 77)" -at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "demo.at:617" -( $at_check_trace; test -n "$library_names" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:617" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Extra tools we may need -: ${DUMPSTABS="dumpstabs"} - -for target in hardcode -do - { set +x -$as_echo "$at_srcdir/demo.at:622: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:622" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:622" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -eval "`$LIBTOOL --config | $EGREP '^hardcode_(direct|minus_L|shlibpath_var|libdir_flag_spec)='`" - -{ set +x -$as_echo "$at_srcdir/demo.at:626: exit_status=0 -func_hardcode_filter_fp () -{ - \$FGREP -v \"LT_OBJDIR \\\"\$objdir/\\\"\" 2>/dev/null -} -for file in hc-*; do - case \$file in - hc-direct) expected=\"\$hardcode_direct\" ;; - hc-libpath) expected=\"\$hardcode_shlibpath_var\" ;; - hc-minusL) expected=\"\$hardcode_minus_L\" ;; - - hc-libflag) - if test -n \"\$hardcode_libdir_flag_spec\"; then - expected=yes - else - expected=unsupported - fi - ;; - - *) - continue - ;; - esac - - # Discover whether the objdir really was hardcoded. - hardcoded=no - - # Solaris cc may store the command line in a debugging section, - # which leads to false positives. Unfortunately, Solaris strip - # is not capable to remove the section (unlike GNU binutils strip). - # So we use dumpstabs if it seems to work. - if { \$DUMPSTABS -d \$file; } >/dev/null 2>&1; then - if \$DUMPSTABS -d \$file 2>/dev/null | \$FGREP \"\$objdir\" >/dev/null 2>&1; then - hardcoded=yes - else - hardcoded=no - fi - - # At least AIX fgrep doesn't work for binary files, and AIX also - # doesn't have strings(1), so we need this strange conversion - # (which only works on ASCII). - # AIX fgrep also has a limited line length, so we turn unprintable - # characters into newlines. - elif cat \$file | (tr '\\000-\\037\\200-\\377' '\\n' || cat) 2>/dev/null \\ - | func_hardcode_filter_fp | \$FGREP \"\$objdir\" > /dev/null 2>&1; then - hardcoded=yes - - elif cat \$file | func_hardcode_filter_fp | \$FGREP \"\$objdir\" > /dev/null 2>&1; then - # We retry fgrep without tr, in case the above lead to a false negative. - hardcoded=yes - elif (\$SED -e '1!d' \$file | \$GREP 'unsupported') >/dev/null 2>&1; then - hardcoded=unsupported - fi - - # Check the result. - case \$hardcoded in - yes) - if test yes = \"\$expected\"; then - echo \"\$objdir was hardcoded in '\$file', as libtool expected\" - else - echo \"\$objdir was hardcoded in '\$file', which fooled libtool\" 1>&2 - exit_status=1 - fi - ;; - - no) - if test no = \"\$expected\"; then - echo \"\$objdir was not hardcoded in '\$file', as libtool expected\" - else - echo \"\$objdir was not hardcoded in '\$file', which fooled libtool\" 1>&2 - exit_status=1 - fi - ;; - - unsupported) - if test unsupported = \"\$expected\"; then - echo \"'\$file' was not linked properly, as libtool expected\" - else - echo \"'\$file' was not linked properly, which fooled libtool\" 1>&2 - exit_status=1 - fi - ;; - esac -done -" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:626" -( $at_check_trace; exit_status=0 -func_hardcode_filter_fp () -{ - $FGREP -v "LT_OBJDIR \"$objdir/\"" 2>/dev/null -} -for file in hc-*; do - case $file in - hc-direct) expected="$hardcode_direct" ;; - hc-libpath) expected="$hardcode_shlibpath_var" ;; - hc-minusL) expected="$hardcode_minus_L" ;; - - hc-libflag) - if test -n "$hardcode_libdir_flag_spec"; then - expected=yes - else - expected=unsupported - fi - ;; - - *) - continue - ;; - esac - - # Discover whether the objdir really was hardcoded. - hardcoded=no - - # Solaris cc may store the command line in a debugging section, - # which leads to false positives. Unfortunately, Solaris strip - # is not capable to remove the section (unlike GNU binutils strip). - # So we use dumpstabs if it seems to work. - if { $DUMPSTABS -d $file; } >/dev/null 2>&1; then - if $DUMPSTABS -d $file 2>/dev/null | $FGREP "$objdir" >/dev/null 2>&1; then - hardcoded=yes - else - hardcoded=no - fi - - # At least AIX fgrep doesn't work for binary files, and AIX also - # doesn't have strings(1), so we need this strange conversion - # (which only works on ASCII). - # AIX fgrep also has a limited line length, so we turn unprintable - # characters into newlines. - elif cat $file | (tr '\000-\037\200-\377' '\n' || cat) 2>/dev/null \ - | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then - hardcoded=yes - - elif cat $file | func_hardcode_filter_fp | $FGREP "$objdir" > /dev/null 2>&1; then - # We retry fgrep without tr, in case the above lead to a false negative. - hardcoded=yes - elif ($SED -e '1!d' $file | $GREP 'unsupported') >/dev/null 2>&1; then - hardcoded=unsupported - fi - - # Check the result. - case $hardcoded in - yes) - if test yes = "$expected"; then - echo "$objdir was hardcoded in '$file', as libtool expected" - else - echo "$objdir was hardcoded in '$file', which fooled libtool" 1>&2 - exit_status=1 - fi - ;; - - no) - if test no = "$expected"; then - echo "$objdir was not hardcoded in '$file', as libtool expected" - else - echo "$objdir was not hardcoded in '$file', which fooled libtool" 1>&2 - exit_status=1 - fi - ;; - - unsupported) - if test unsupported = "$expected"; then - echo "'$file' was not linked properly, as libtool expected" - else - echo "'$file' was not linked properly, which fooled libtool" 1>&2 - exit_status=1 - fi - ;; - esac -done - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:626" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_34 -#AT_START_35 -at_fn_group_banner 35 'demo.at:719' \ - "binary relinking at install time" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "35. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:724: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:724" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:724: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:724" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:724: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:724" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:724: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:724" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:724" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:724: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:724" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:724: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:724" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:724" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:725: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:725" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:725" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:725: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:725" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:725" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:725: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:725" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:725" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:725: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:725" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:725" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -for target in install -do - { set +x -$as_echo "$at_srcdir/demo.at:726: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:726" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:726" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:726: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:726" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:726" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:726: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:726" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:726" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:726: \$prefix/bin/helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:726" -( $at_check_trace; $prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:726" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Check to make sure we have a dynamic library. -eval `$EGREP '^library_names=' libhello.la` -{ set +x -$as_echo "$at_srcdir/demo.at:730: test -n \"\$library_names\" || (exit 77)" -at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "demo.at:730" -( $at_check_trace; test -n "$library_names" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:730" -$at_failed && at_fn_log_failure -$at_traceon; } - - -func_save_files -# AIX 5.3 '/bin/sh' will invoke the trap for 0 at the end of a -# function, so we set the trap outside of a function to be portable. -trap func_restore_files 0 1 2 13 15 - -eval "`$LIBTOOL --config | $EGREP '^shlibpath_overrides_runpath='`" -eval "`$LIBTOOL --config | $EGREP '^hardcode_(action|direct|into_libs)='`" - -# Allow the binary to link on-demand if need be. -./hell$EXEEXT >/dev/null || : - -# Remove libhello.la from build tree. -rm -f libhello.la "$objdir"/libhello.* - -# Either uninstalled ./hell will run using the just installed libraries -# when the uninstalled libs are missing, or relinking at install time -# is necessary, and the uninstalled ./hell has only the uninstalled -# library paths hardcoded. -{ set +x -$as_echo "$at_srcdir/demo.at:750: ./hell\$EXEEXT >/dev/null || test relink,yes = \"\$hardcode_action,\$hardcode_direct\"" -at_fn_check_prepare_dynamic "./hell$EXEEXT >/dev/null || test relink,yes = \"$hardcode_action,$hardcode_direct\"" "demo.at:750" -( $at_check_trace; ./hell$EXEEXT >/dev/null || test relink,yes = "$hardcode_action,$hardcode_direct" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:750" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Link an incomplete libhello.la. -for target in libhello.la -do - { set +x -$as_echo "$at_srcdir/demo.at:753: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target libhello_la_OBJECTS=hello.lo" -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target libhello_la_OBJECTS=hello.lo" "demo.at:753" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target libhello_la_OBJECTS=hello.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:753" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -{ set +x -$as_echo "$at_srcdir/demo.at:754: test -f libhello.la" -at_fn_check_prepare_trace "demo.at:754" -( $at_check_trace; test -f libhello.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:754" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Try running uninstalled ./hell with only broken libhello.la in build tree. -# If the following has normal exit status, shlibpath_overrides_runpath is -# wrong, and should be set to 'no' on this host. -# The unusual '|| (exit 1)' is to normalize all non-zero exit statuses. -echo "./hell || (exit 1)"; { set +x -$as_echo "$at_srcdir/demo.at:760: ./hell || (exit 1)" -at_fn_check_prepare_trace "demo.at:760" -( $at_check_trace; ./hell || (exit 1) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:760" -$at_failed && at_fn_log_failure -$at_traceon; } - - -test relink = "$hardcode_action" || -test yes = "$shlibpath_overrides_runpath" || -{ - { set +x -$as_echo "$at_srcdir/demo.at:765: rm -f \$objdir/lt-hell\$EXEEXT" -at_fn_check_prepare_dynamic "rm -f $objdir/lt-hell$EXEEXT" "demo.at:765" -( $at_check_trace; rm -f $objdir/lt-hell$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:765" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/demo.at:766: cp \$objdir/hell\$EXEEXT \$objdir/lt-hell\$EXEEXT" -at_fn_check_prepare_dynamic "cp $objdir/hell$EXEEXT $objdir/lt-hell$EXEEXT" "demo.at:766" -( $at_check_trace; cp $objdir/hell$EXEEXT $objdir/lt-hell$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:766" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # Running demo/hell with installed libhello.la. - # If the following check fails, then shlibpath_overrides_runpath is - # wrong, and should be set to 'yes' on this host. - echo "./hell"; { set +x -$as_echo "$at_srcdir/demo.at:771: ./hell" -at_fn_check_prepare_trace "demo.at:771" -( $at_check_trace; ./hell -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:771" -$at_failed && at_fn_log_failure -$at_traceon; } - -} - -func_restore_files - -# Undo the effect of the previous 'trap' command. Some shellology: -# We cannot use "trap - 0 1 2 3 13 15", because Solaris sh would attempt to -# execute the command "-". "trap '' ..." is fine only for signal 0 (= normal -# exit); for the others we need to call 'exit' explicitly. The value of $? is -# 128 + signal number and is set before the trap-registered command is run. -trap '' 0 -trap 'func_exit $?' 1 2 3 13 15 - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_35 -#AT_START_36 -at_fn_group_banner 36 'demo.at:791' \ - "uninstalled libraries have priority" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "36. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:795: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:795" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:795: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:795" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:795: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:795" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:795: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:795" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:795" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:795: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:795" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:795: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:795" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:795" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:796: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:796" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:796" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:796: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:796" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:796" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:796: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:796" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:796" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:796: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:796" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:796" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -for target in install -do - { set +x -$as_echo "$at_srcdir/demo.at:797: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:797" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:797" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:797: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:797" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:797" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:797: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:797" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:797" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:797: \$prefix/bin/helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:797" -( $at_check_trace; $prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:797" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Remove libhello.la and hell from build tree. -rm -f libhello.la "hell$EXEEXT" - -# If this check fails (i.e. the make succeeds), then the installed library -# was used, which is wrong. -{ set +x -$as_echo "$at_srcdir/demo.at:804: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE hell\$EXEEXT libhello_la_OBJECTS=hello.lo || (exit 1)" -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE hell$EXEEXT libhello_la_OBJECTS=hello.lo || (exit 1)" "demo.at:804" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE hell$EXEEXT libhello_la_OBJECTS=hello.lo || (exit 1) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:804" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_36 -#AT_START_37 -at_fn_group_banner 37 'demo.at:814' \ - "linking with long file names" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "37. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = longer_file_name_hello.c longer_file_name_foo.c longer_file_name_foo2.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from longer_file_name_main.c and libhello.la -hell_SOURCES = longer_file_name_main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = longer_file_name_main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = longer_file_name_dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf $@ - echo '#! /bin/sh' > $@ - echo 'echo sorry, -dlopen is unsupported' >> $@ - chmod +x $@ - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (foo2 () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int foo2 (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo2.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -int foo2 (void) { - printf ("foo2 cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -foo2 cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -for file in dlmain.c foo.c foo2.c hello.c main.c; do - mv $file longer_file_name_$file -done - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/demo.at:982: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "demo.at:982" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/demo.at:982: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "demo.at:982" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:982: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "demo.at:982" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/demo.at:982: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "demo.at:982" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/demo.at:982" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:982: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "demo.at:982" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:982: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "demo.at:982" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:982" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/demo.at:983: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:983" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:983" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./hell_static; if test -f "./hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:983: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:983" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:983" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:983: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:983" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:983" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:983: ./helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:983" -( $at_check_trace; ./helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:983" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -for target in install -do - { set +x -$as_echo "$at_srcdir/demo.at:984: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "demo.at:984" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:984" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/hell_static; if test -f "$prefix/bin/hell_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:984: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:984" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:984" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/hell; if test -f "$prefix/bin/hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/demo.at:984: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "demo.at:984" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:984" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/demo.at:984: \$prefix/bin/helldl\$EXEEXT | - \$EGREP '(Welcome to .*GNU Hell|unsupported)'" -at_fn_check_prepare_notrace 'an embedded newline' "demo.at:984" -( $at_check_trace; $prefix/bin/helldl$EXEEXT | - $EGREP '(Welcome to .*GNU Hell|unsupported)' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/demo.at:984" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_37 -#AT_START_38 -at_fn_group_banner 38 'pic_flag.at:24' \ - "override pic_flag at configure time" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "38. $at_setup_line: testing $at_desc ..." - $at_traceon - - -# Just try to configure the Libtool package with -fpic if we can compile -# with it, for C and C++. - -cat >foo.c <<'_ATEOF' -int data = 42; -int func(void) { return data; } -_ATEOF - - -cp foo.c foo.cpp -C_pic_flag='-fpic -DPIC' -{ set +x -$as_echo "$at_srcdir/pic_flag.at:36: \$CC \$CPPFLAGS \$CFLAGS \$C_pic_flag -c foo.c || exit 77" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS $C_pic_flag -c foo.c || exit 77" "pic_flag.at:36" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS $C_pic_flag -c foo.c || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:36" -$at_failed && at_fn_log_failure -$at_traceon; } - -# The configure test for the PIC flag also checks for warnings. -{ set +x -$as_echo "$at_srcdir/pic_flag.at:39: \$GREP fpic stdout stderr && exit 77" -at_fn_check_prepare_dynamic "$GREP fpic stdout stderr && exit 77" "pic_flag.at:39" -( $at_check_trace; $GREP fpic stdout stderr && exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/pic_flag.at:39" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/pic_flag.at:40: \$GREP '[uU]nknown.*option' stdout stderr && exit 77" -at_fn_check_prepare_dynamic "$GREP '[uU]nknown.*option' stdout stderr && exit 77" "pic_flag.at:40" -( $at_check_trace; $GREP '[uU]nknown.*option' stdout stderr && exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/pic_flag.at:40" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CXX_pic_flag='-fpic -DPIC' -if $CXX $CPPFLAGS $CXXFLAGS $CXX_pic_flag -c foo.cpp; then :; else - CXX_pic_flag= -fi - -# Set up a tests/demo.at style project. -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -# Bootstrap, and configure it so that we can extract libtool --config -# settings. -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/pic_flag.at:52: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "pic_flag.at:52" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:52" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/pic_flag.at:52: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "pic_flag.at:52" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:52" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/pic_flag.at:52: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "pic_flag.at:52" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:52" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/pic_flag.at:52: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "pic_flag.at:52" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/pic_flag.at:52" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/pic_flag.at:52: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "pic_flag.at:52" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:52" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - - -{ set +x -$as_echo "$at_srcdir/pic_flag.at:55: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" lt_cv_prog_compiler_pic=\"\$C_pic_flag\" lt_cv_prog_compiler_pic_CXX=\"\$CXX_pic_flag\"" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "pic_flag.at:55" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" lt_cv_prog_compiler_pic="$C_pic_flag" lt_cv_prog_compiler_pic_CXX="$CXX_pic_flag" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:55" -$at_failed && at_fn_log_failure -$at_traceon; } - - -: ${MAKE=make} -{ set +x -$as_echo "$at_srcdir/pic_flag.at:59: \$MAKE" -at_fn_check_prepare_dynamic "$MAKE" "pic_flag.at:59" -( $at_check_trace; $MAKE -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:59" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/pic_flag.at:60: if ./libtool --features | \$GREP 'enable shared libraries'; then \$GREP ' -fpic' stdout; else exit 77; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "pic_flag.at:60" -( $at_check_trace; if ./libtool --features | $GREP 'enable shared libraries'; then $GREP ' -fpic' stdout; else exit 77; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/pic_flag.at:60" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_38 -#AT_START_39 -at_fn_group_banner 39 'with-pic.at:24' \ - "test --with-pic" " " 4 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "39. $at_setup_line: testing $at_desc ..." - $at_traceon - - -# Set up a tests/demo.at style project. -cat >configure.ac <<'_ATEOF' -AC_INIT([demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([dlopen win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -case $lt_cv_sys_global_symbol_pipe in - ?*) binary_helldl=yes ;; -esac -AM_CONDITIONAL([BINARY_HELLDL], [test yes = "$binary_helldl"]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -# Build a libtool library, libhello.la for installation in libdir. -lib_LTLIBRARIES = libhello.la -libhello_la_SOURCES = hello.c foo.c -libhello_la_LIBADD = $(LIBM) -libhello_la_LDFLAGS = -no-undefined -version-info 3:12:1 -libhello_la_CPPFLAGS = $(AM_CPPFLAGS) -DBUILDING_LIBHELLO - -include_HEADERS = foo.h - -if BINARY_HELLDL -BUILD_helldl = helldl -else -BUILD_helldl = -endif - -bin_PROGRAMS = hell hell_static $(BUILD_helldl) - -# Build hell from main.c and libhello.la -hell_SOURCES = main.c -hell_LDADD = libhello.la - -# Create a statically linked version of hell. -hell_static_SOURCES = main.c -hell_static_LDADD = libhello.la -hell_static_LDFLAGS = $(STATIC) - -if BINARY_HELLDL - -# Create a version of hell that does a preloaded dlopen. -helldl_SOURCES = dlmain.c -helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la -helldl_DEPENDENCIES = libhello.la - -else - -# Create a script that says that -dlopen is not supported. -bin_SCRIPTS = helldl -helldl helldl$(EXEEXT): - rm -rf - echo '#! /bin/sh' > - echo 'echo sorry, -dlopen is unsupported' >> - chmod +x - -endif - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -include $(srcdir)/demo.mk -_ATEOF - - -cat >demo.mk <<'_ATEOF' -## Don't abort for lack of demo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* At some point, cygwin will stop defining __CYGWIN32__, but b19 and - * earlier do not define __CYGWIN__. This snippet allows us to check - * for __CYGWIN__ reliably for both current, old, and (probable) future - * releases. - */ -#ifdef __CYGWIN32__ -# ifndef __CYGWIN__ -# define __CYGWIN__ -# endif -#endif - -#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__ -# ifdef BUILDING_LIBHELLO -# ifdef DLL_EXPORT -# define LIBHELLO_SCOPE extern __declspec (dllexport) -# endif -# else -# define LIBHELLO_SCOPE extern __declspec (dllimport) -# endif -#endif -#ifndef LIBHELLO_SCOPE -# define LIBHELLO_SCOPE extern -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -#ifdef __cplusplus -extern "C" { -#endif - -int foo (void); -int hello (void); -LIBHELLO_SCOPE int nothing; - -#ifdef __cplusplus -} -#endif - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -int foo (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} -_ATEOF - - -cat >hell1.c <<'_ATEOF' -#include -int hell1 (void) { return 1; } -_ATEOF - - -cat >hell2.c <<'_ATEOF' -#include -int hell2 (void) { return 2; } -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int hello (void) { - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int main () -{ - printf ("Welcome to GNU Hell!\n"); - - /* Try assigning to the nothing variable. */ - nothing = 1; - - /* Just call the functions and check return values. */ - if (foo () != FOO_RET) - return 1; - - if (hello () != HELLO_RET) - return 2; - - return 0; -} -_ATEOF - - -cat >dlmain.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define STREQ !strcmp - -#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols - -typedef struct -{ - const char *name; - void *address; -} lt_dlsymlist; - -extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; - -int main () -{ - const lt_dlsymlist *s; - int (*pfoo)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - - printf ("Welcome to *modular* GNU Hell!\n"); - - /* Look up the symbols we require for this demonstration. */ - s = lt_preloaded_symbols; - while (s->name) - { - if (s->address) { - const char *name = s->name; - printf ("found symbol: %s\n", name); - if (STREQ ("@INIT@", name)) - ((void(*)())s->address)(); - if (STREQ ("hello", name)) - phello = (int(*)())s->address; - else if (STREQ ("foo", name)) - pfoo = (int(*)())s->address; - else if (STREQ ("nothing", name)) -#ifndef _WIN32 - /* In an ideal world we could do this... */ - pnothing = (int*)s->address; -#else /* !_WIN32 */ - /* In an ideal world a shared lib would be able to export data */ - pnothing = (int*)¬hing; -#endif - } else - printf ("found file: %s\n", s->name); - s ++; - } - - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - fprintf (stderr, "did not find the 'nothing' variable\n"); - - /* Just call the functions and check return values. */ - if (pfoo) - { - if ((*pfoo) () != FOO_RET) - return 1; - } - else - fprintf (stderr, "did not find the 'foo' function\n"); - - if (phello) - { - if ((*phello) () != HELLO_RET) - return 3; - } - else - fprintf (stderr, "did not find the 'hello' function\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -# Bootstrap, and configure it so that we can extract libtool --config -# settings. -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/with-pic.at:31: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "with-pic.at:31" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/with-pic.at:31: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "with-pic.at:31" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/with-pic.at:31: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "with-pic.at:31" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/with-pic.at:31: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "with-pic.at:31" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/with-pic.at:31" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/with-pic.at:31: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "with-pic.at:31" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/with-pic.at:31: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:31" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:31" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -eval `$LIBTOOL --config | $EGREP '^(pic_flag|FGREP)='` - -no_dlls=: -case " $pic_flag " in -*" -DDLL_EXPORT "*) no_dlls=false ;; -esac -{ set +x -$as_echo "$at_srcdir/with-pic.at:39: \$no_dlls || exit 77" -at_fn_check_prepare_dynamic "$no_dlls || exit 77" "with-pic.at:39" -( $at_check_trace; $no_dlls || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:39" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/with-pic.at:40: test . != \"\$at_srcdir\" || exit 77" -at_fn_check_prepare_dynamic "test . != \"$at_srcdir\" || exit 77" "with-pic.at:40" -( $at_check_trace; test . != "$at_srcdir" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:40" -$at_failed && at_fn_log_failure -$at_traceon; } - - -: ${MAKE=make} - -{ set +x -$as_echo "$at_srcdir/with-pic.at:44: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared --with-pic=no" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:44" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared --with-pic=no -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:44" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/with-pic.at:45: \$MAKE" -at_fn_check_prepare_dynamic "$MAKE" "with-pic.at:45" -( $at_check_trace; $MAKE -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:45" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/with-pic.at:46: \$FGREP -v \"\$pic_flag\" stdout" -at_fn_check_prepare_dynamic "$FGREP -v \"$pic_flag\" stdout" "with-pic.at:46" -( $at_check_trace; $FGREP -v "$pic_flag" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:46" -$at_failed && at_fn_log_failure -$at_traceon; } - -$MAKE clean - -{ set +x -$as_echo "$at_srcdir/with-pic.at:49: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared --with-pic=yes" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:49" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared --with-pic=yes -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:49" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/with-pic.at:50: \$MAKE" -at_fn_check_prepare_dynamic "$MAKE" "with-pic.at:50" -( $at_check_trace; $MAKE -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:50" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/with-pic.at:51: \$FGREP \"\$pic_flag\" stdout" -at_fn_check_prepare_dynamic "$FGREP \"$pic_flag\" stdout" "with-pic.at:51" -( $at_check_trace; $FGREP "$pic_flag" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:51" -$at_failed && at_fn_log_failure -$at_traceon; } - -$MAKE clean - -{ set +x -$as_echo "$at_srcdir/with-pic.at:54: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared --with-pic=\"demo,foo,bar\"" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:54" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared --with-pic="demo,foo,bar" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:54" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/with-pic.at:55: \$MAKE" -at_fn_check_prepare_dynamic "$MAKE" "with-pic.at:55" -( $at_check_trace; $MAKE -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:55" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/with-pic.at:56: \$FGREP \"\$pic_flag\" stdout" -at_fn_check_prepare_dynamic "$FGREP \"$pic_flag\" stdout" "with-pic.at:56" -( $at_check_trace; $FGREP "$pic_flag" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:56" -$at_failed && at_fn_log_failure -$at_traceon; } - -$MAKE clean - -{ set +x -$as_echo "$at_srcdir/with-pic.at:59: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared --with-pic=\"foo,bar\"" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "with-pic.at:59" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared --with-pic="foo,bar" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:59" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/with-pic.at:60: \$MAKE" -at_fn_check_prepare_dynamic "$MAKE" "with-pic.at:60" -( $at_check_trace; $MAKE -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:60" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/with-pic.at:61: \$FGREP -v \"\$pic_flag\" stdout" -at_fn_check_prepare_dynamic "$FGREP -v \"$pic_flag\" stdout" "with-pic.at:61" -( $at_check_trace; $FGREP -v "$pic_flag" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/with-pic.at:61" -$at_failed && at_fn_log_failure -$at_traceon; } - -$MAKE clean - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_39 -#AT_START_40 -at_fn_group_banner 40 'cdemo.at:136' \ - "build and link against a static library" " " 5 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "40. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([cdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libfoo.la -libfoo_la_SOURCES = foo.c -libfoo_la_LIBADD = $(LIBM) -libfoo_la_LDFLAGS = -no-undefined -noinst_HEADERS = foo.h - -bin_PROGRAMS = cdemo -cdemo_SOURCES = main.c -cdemo_LDADD = libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H 1 - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -extern int foo(); - -extern int hello(); - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -int foo() { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} - -int hello() { - printf ("** This is libfoo **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include "foo.h" - -int main () -{ - int value; - - printf ("Welcome to GNU libtool cdemo!\n"); - - value = hello(); - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - - if (foo () == FOO_RET) - printf("foo is ok!\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU libtool cdemo! -** This is libfoo ** -hello returned: 57616 -hello is ok! -cos (0.0) = 1 -foo is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/cdemo.at:140: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:140" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:140: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:140" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:140: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:140" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/cdemo.at:140: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:140" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:140: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:140" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:140: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "cdemo.at:140" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:140: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "cdemo.at:140" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cdemo.at:140: \$EGREP '^build_libtool_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "cdemo.at:140" -( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/cdemo.at:142: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:142" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:142" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./cdemo; if test -f "./cdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cdemo.at:142: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cdemo.at:142" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:142" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_40 -#AT_START_41 -at_fn_group_banner 41 'cdemo.at:151' \ - "build and link against a dynamic library" " " 5 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "41. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([cdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libfoo.la -libfoo_la_SOURCES = foo.c -libfoo_la_LIBADD = $(LIBM) -libfoo_la_LDFLAGS = -no-undefined -noinst_HEADERS = foo.h - -bin_PROGRAMS = cdemo -cdemo_SOURCES = main.c -cdemo_LDADD = libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H 1 - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -extern int foo(); - -extern int hello(); - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -int foo() { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} - -int hello() { - printf ("** This is libfoo **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include "foo.h" - -int main () -{ - int value; - - printf ("Welcome to GNU libtool cdemo!\n"); - - value = hello(); - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - - if (foo () == FOO_RET) - printf("foo is ok!\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU libtool cdemo! -** This is libfoo ** -hello returned: 57616 -hello is ok! -cos (0.0) = 1 -foo is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/cdemo.at:155: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:155" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:155: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:155" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:155: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:155" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/cdemo.at:155: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:155" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:155: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:155" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:155: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "cdemo.at:155" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:155: \$EGREP '^build_old_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "cdemo.at:155" -( $at_check_trace; $EGREP '^build_old_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cdemo.at:155: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "cdemo.at:155" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/cdemo.at:157: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:157" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:157" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./cdemo; if test -f "./cdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cdemo.at:157: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cdemo.at:157" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:157" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_41 -#AT_START_42 -at_fn_group_banner 42 'cdemo.at:166' \ - "build both static and dynamic" " " 5 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "42. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([cdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libfoo.la -libfoo_la_SOURCES = foo.c -libfoo_la_LIBADD = $(LIBM) -libfoo_la_LDFLAGS = -no-undefined -noinst_HEADERS = foo.h - -bin_PROGRAMS = cdemo -cdemo_SOURCES = main.c -cdemo_LDADD = libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H 1 - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -extern int foo(); - -extern int hello(); - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -int foo() { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} - -int hello() { - printf ("** This is libfoo **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include "foo.h" - -int main () -{ - int value; - - printf ("Welcome to GNU libtool cdemo!\n"); - - value = hello(); - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - - if (foo () == FOO_RET) - printf("foo is ok!\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU libtool cdemo! -** This is libfoo ** -hello returned: 57616 -hello is ok! -cos (0.0) = 1 -foo is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/cdemo.at:170: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:170" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:170: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:170" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:170: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:170" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/cdemo.at:170: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:170" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:170" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:170: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:170" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:170: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "cdemo.at:170" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:170: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "cdemo.at:170" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cdemo.at:170: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "cdemo.at:170" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:170" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/cdemo.at:172: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:172" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:172" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./cdemo; if test -f "./cdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cdemo.at:172: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cdemo.at:172" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:172" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_42 -#AT_START_43 -at_fn_group_banner 43 'cdemo.at:181' \ - "allow_undefined_flag" " " 5 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "43. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([cdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libfoo.la -libfoo_la_SOURCES = foo.c -libfoo_la_LIBADD = $(LIBM) -libfoo_la_LDFLAGS = -no-undefined -noinst_HEADERS = foo.h - -bin_PROGRAMS = cdemo -cdemo_SOURCES = main.c -cdemo_LDADD = libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H 1 - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -extern int foo(); - -extern int hello(); - -#endif -_ATEOF - - -cat >foo.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -int foo() { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return FOO_RET; -} - -int hello() { - printf ("** This is libfoo **\n"); - return HELLO_RET; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include "foo.h" - -int main () -{ - int value; - - printf ("Welcome to GNU libtool cdemo!\n"); - - value = hello(); - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - - if (foo () == FOO_RET) - printf("foo is ok!\n"); - - return 0; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU libtool cdemo! -** This is libfoo ** -hello returned: 57616 -hello is ok! -cos (0.0) = 1 -foo is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/cdemo.at:185: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "cdemo.at:185" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:185: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "cdemo.at:185" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:185: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "cdemo.at:185" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/cdemo.at:185: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "cdemo.at:185" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:185: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "cdemo.at:185" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:185: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "cdemo.at:185" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -{ set +x -$as_echo "$at_srcdir/cdemo.at:187: \$EGREP \"^allow_undefined_flag=.\\{0,1\\}unsupported.\\{0,1\\}\$\" libtool && (exit 77)" -at_fn_check_prepare_dynamic "$EGREP \"^allow_undefined_flag=.\\{0,1\\}unsupported.\\{0,1\\}$\" libtool && (exit 77)" "cdemo.at:187" -( $at_check_trace; $EGREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/cdemo.at:187" -$at_failed && at_fn_log_failure -$at_traceon; } - - -$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool - -for target in all -do - { set +x -$as_echo "$at_srcdir/cdemo.at:192: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "cdemo.at:192" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:192" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./cdemo; if test -f "./cdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cdemo.at:192: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cdemo.at:192" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cdemo.at:192" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_43 -#AT_START_44 -at_fn_group_banner 44 'convenience.at:31' \ - "C convenience archives" " " 5 -at_xfail=no -( - $as_echo "44. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >main1.c <main2.c <main3.c < a$i.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main$i.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -done -{ set +x -$as_echo "$at_srcdir/convenience.at:52: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" "convenience.at:52" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:52" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/convenience.at:54: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:54" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:54" -$at_failed && at_fn_log_failure -$at_traceon; } - - -conv= -for i in 1 2 3; do - conv=$conv$i - { set +x -$as_echo "$at_srcdir/convenience.at:60: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -static -o main_static\$EXEEXT main\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la" "convenience.at:60" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:60" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/convenience.at:62: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la" "convenience.at:62" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:64: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:64" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:64" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:65: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:65" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:65" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_44 -#AT_START_45 -at_fn_group_banner 45 'convenience.at:70' \ - "C++ convenience archives" " " 5 -at_xfail=no -( - $as_echo "45. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/convenience.at:71: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "convenience.at:71" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:71" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/convenience.at:71: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "convenience.at:71" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:71" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >main1.cpp <main2.cpp <main3.cpp < a$i.cpp - $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c main$i.cpp - $LIBTOOL --tag=CXX --mode=compile $CXX $CXXFLAGS -c a$i.cpp - $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba$i.la a$i.lo -done -{ set +x -$as_echo "$at_srcdir/convenience.at:92: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist" "convenience.at:92" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba12.la liba1.la liba2.la -rpath /notexist -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:92" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/convenience.at:94: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:94" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:94" -$at_failed && at_fn_log_failure -$at_traceon; } - - -conv= -for i in 1 2 3; do - conv=$conv$i - { set +x -$as_echo "$at_srcdir/convenience.at:100: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -static -o main_static\$EXEEXT main\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la" "convenience.at:100" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:100" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/convenience.at:102: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o main\$EXEEXT main\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la" "convenience.at:102" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:102" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:104: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:104" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:104" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:105: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:105" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:105" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_45 -#AT_START_46 -at_fn_group_banner 46 'convenience.at:110' \ - "F77 convenience archives" " " 5 -at_xfail=no -( - $as_echo "46. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/convenience.at:111: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "convenience.at:111" -( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:111" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -cat >main1.f <main2.f <main3.f <a$i.f <>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:152" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/convenience.at:154: \$LIBTOOL --tag=F77 --mode=link \$F77 \$FFLAGS \$LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:154" -( $at_check_trace; $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:154" -$at_failed && at_fn_log_failure -$at_traceon; } - - -conv= -for i in 1 2 3; do - conv=$conv$i - { set +x -$as_echo "$at_srcdir/convenience.at:160: \$LIBTOOL --tag=F77 --mode=link \$F77 \$FFLAGS \$LDFLAGS -static -o main_static\$EXEEXT main\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la" "convenience.at:160" -( $at_check_trace; $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:160" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/convenience.at:162: \$LIBTOOL --tag=F77 --mode=link \$F77 \$FFLAGS \$LDFLAGS -o main\$EXEEXT main\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la" "convenience.at:162" -( $at_check_trace; $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:162" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:164: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:164" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:164" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:165: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:165" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:165" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_46 -#AT_START_47 -at_fn_group_banner 47 'convenience.at:170' \ - "FC convenience archives" " " 5 -at_xfail=no -( - $as_echo "47. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/convenience.at:171: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "convenience.at:171" -( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:171" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Autoconf will accept f77 or similar as a valid FC, but often f77 - # will not compile fortran90 code; in that case skip the FC checks. - cat >fc_test.f90 <<'_ATEOF' - program main - - end -_ATEOF - - { set +x -$as_echo "$at_srcdir/convenience.at:171: \$FC \$FCFLAGS fc_test.f90 || exit 77" -at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "convenience.at:171" -( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:171" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >main1.f <main2.f <main3.f <a$i.f <>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:212" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/convenience.at:214: \$LIBTOOL --tag=FC --mode=link \$FC \$FCFLAGS \$LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:214" -( $at_check_trace; $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o liba123.la a3.lo liba1.la liba2.la -rpath /notexist -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:214" -$at_failed && at_fn_log_failure -$at_traceon; } - - -conv= -for i in 1 2 3; do - conv=$conv$i - { set +x -$as_echo "$at_srcdir/convenience.at:220: \$LIBTOOL --tag=FC --mode=link \$FC \$FCFLAGS \$LDFLAGS -static -o main_static\$EXEEXT main\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la" "convenience.at:220" -( $at_check_trace; $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -static -o main_static$EXEEXT main$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:220" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/convenience.at:222: \$LIBTOOL --tag=FC --mode=link \$FC \$FCFLAGS \$LDFLAGS -o main\$EXEEXT main\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la" "convenience.at:222" -( $at_check_trace; $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS -o main$EXEEXT main$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:222" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:224: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:224" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:224" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:225: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:225" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:225" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_47 -#AT_START_48 -at_fn_group_banner 48 'convenience.at:230' \ - "Java convenience archives" " " 5 -at_xfail=no -( - $as_echo "48. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/convenience.at:231: { test -n \"\$GCJ\" && test \"X\$GCJ\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$GCJ\" && test \"X$GCJ\" != Xno; } || (exit 77)" "convenience.at:231" -( $at_check_trace; { test -n "$GCJ" && test "X$GCJ" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:231" -$at_failed && at_fn_log_failure -$at_traceon; } - -# There are just too many broken gcj installations out there, either missing - # libgcj.spec or unable to find it. Skip the test for them. - cat >gcj_test.java <<'_ATEOF' -public class gcj_test { - public static void main(String[] argv) { } - } -_ATEOF - - { set +x -$as_echo "$at_srcdir/convenience.at:231: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77" -at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "convenience.at:231" -( $at_check_trace; $GCJ $GCJFLAGS -c gcj_test.java || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:231" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/convenience.at:231: \$GCJ \$GCJFLAGS --main=gcj_test -o gcj_test\$EXEEXT gcj_test.java || exit 77" -at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS --main=gcj_test -o gcj_test$EXEEXT gcj_test.java || exit 77" "convenience.at:231" -( $at_check_trace; $GCJ $GCJFLAGS --main=gcj_test -o gcj_test$EXEEXT gcj_test.java || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:231" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/convenience.at:231: ./gcj_test\$EXEEXT || exit 77" -at_fn_check_prepare_dynamic "./gcj_test$EXEEXT || exit 77" "convenience.at:231" -( $at_check_trace; ./gcj_test$EXEEXT || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:231" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >foo1.java <foo2.java <foo3.java <A$i.java <>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:275" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/convenience.at:277: \$LIBTOOL --tag=GCJ --mode=link \$GCJ \$GCJFLAGS \$LDFLAGS -o liba123.la A3.lo liba1.la liba2.la -rpath /notexist" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba123.la A3.lo liba1.la liba2.la -rpath /notexist" "convenience.at:277" -( $at_check_trace; $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -o liba123.la A3.lo liba1.la liba2.la -rpath /notexist -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:277" -$at_failed && at_fn_log_failure -$at_traceon; } - - -conv= -for i in 1 2 3; do - conv=$conv$i - { set +x -$as_echo "$at_srcdir/convenience.at:283: \$LIBTOOL --tag=GCJ --mode=link \$GCJ \$GCJFLAGS \$LDFLAGS -static --main=foo\$i -o main_static\$EXEEXT foo\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -static --main=foo$i -o main_static$EXEEXT foo$i.lo liba$conv.la" "convenience.at:283" -( $at_check_trace; $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS -static --main=foo$i -o main_static$EXEEXT foo$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/convenience.at:285: \$LIBTOOL --tag=GCJ --mode=link \$GCJ \$GCJFLAGS \$LDFLAGS --main=foo\$i -o main\$EXEEXT foo\$i.lo liba\$conv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS --main=foo$i -o main$EXEEXT foo$i.lo liba$conv.la" "convenience.at:285" -( $at_check_trace; $LIBTOOL --tag=GCJ --mode=link $GCJ $GCJFLAGS $LDFLAGS --main=foo$i -o main$EXEEXT foo$i.lo liba$conv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:285" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main_static; if test -f "./main_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:287: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:287" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:287" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/convenience.at:288: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "convenience.at:288" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/convenience.at:288" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_48 -#AT_START_49 -at_fn_group_banner 49 'depdemo.at:286' \ - "static library interdependencies" " " 6 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "49. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = l1 l2 l3 l4 - -bin_PROGRAMS = depdemo depdemo_static - -depdemo_SOURCES = main.c -depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ - $(top_builddir)/l4/libl4.la -depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ - $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la - -depdemo_static_SOURCES = $(depdemo_SOURCES) -depdemo_static_LDADD = $(depdemo_LDADD) -depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) -depdemo_static_LDFLAGS = $(STATIC) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "l1/l1.h" -#include "l2/l2.h" -#include "l4/l4.h" - -#define STREQ !strcmp - -int main (int argc, char **argv) -{ - printf("dependencies:\n"); - func_l1(0); - func_l2(0); - func_l4(0); - if (argc == 2 && STREQ (argv[1], "-alt") - && var_l1 + var_l2 + var_l4 == 8) - return 0; - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", - var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); - if (var_l1 + var_l2 + var_l4 != 19) - { - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", - var_l1,var_l2,var_l4); - return 1; - } - return 0; -} -_ATEOF - - -# Create 4 directorys of mostly identical files. -for i in 1 2 3 4; do - mkdir l$i - - # l$i/Makefile.am: - { - $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' - $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i - $ECHO 'lib_LTLIBRARIES = libl'$i'.la' - $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' - $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' - $ECHO 'libl'$i'_la_LIBADD =' - if test 4 != $i; then - j=1; while test "$j" -lt "$i"; do - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' - j=`expr 1 + $j` - done - else - j=3 - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' - fi - } > l$i/Makefile.am - - # l$i/l$i.h - { - $ECHO '#ifndef L'$i'_H' - $ECHO '#define L'$i'_H' - $ECHO - $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' - $ECHO '# ifdef BUILDING_LIBL'$i - $ECHO '# ifdef DLL_EXPORT' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' - $ECHO '# endif' - $ECHO '# else' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' - $ECHO '# endif' - $ECHO '#endif' - $ECHO '#ifndef LIBL'$i'_SCOPE' - $ECHO '# define LIBL'$i'_SCOPE extern' - $ECHO '#endif' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO 'extern "C" {' - $ECHO '#endif' - $ECHO - $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' - $ECHO ' int func_l'$i' (int);' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO '}' - $ECHO '#endif' - $ECHO '#endif' - } > l$i/l$i.h - - # l$i/l$i.c: - { - if test 4 -ne $i; then - $ECHO '#include ' - $ECHO '#include ' - $ECHO - $ECHO '#include "l'$i'/l'$i'.h"' - j=1; while test "$j" -lt "$i"; do - $ECHO '#include "l'$j'/l'$j'.h"' - j=`expr 1 + $j` - done - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - if test 1 -eq $i; then - $ECHO ' var_l1++;' - else - j=1; while test "$j" -lt "$i"; do - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' var_l'$i' += var_l'$j';' - j=`expr 1 + $j` - done - fi - $ECHO ' return 0;' - $ECHO '}' - else - j=3 - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include "l'$i'/l'$i'.h"' - $ECHO '#include "l'$j'/l'$j'.h"' - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' - $ECHO ' var_l'$i' += var_l'$j';' - $ECHO ' return 0;' - $ECHO '}' - fi - } > l$i/l$i.c -done - - -cat >expout <<'_ATEOF' -dependencies: -l1 (0) -l2 (0) - l1 (1) -l4 (0) - l3 (0) - l1 (2) - l2 (2) - l1 (3) -libm cos (0.0) = 1 -var_l1(4) + var_l2(6) + var_l4(9) == 19 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/depdemo.at:290: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:290" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:290: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:290" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:290: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:290" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/depdemo.at:290: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:290" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:290: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:290" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:290: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:290" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:290: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "depdemo.at:290" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/depdemo.at:290: \$EGREP '^build_libtool_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "depdemo.at:290" -( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/depdemo.at:292: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:292" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:292" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:292: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:292" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:292" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:292: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:292" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:292" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH -for target in install -do - { set +x -$as_echo "$at_srcdir/depdemo.at:293: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:293" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:293" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:293: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:293" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:293" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:293: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:293" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:293" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/depdemo.at:294: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:294" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:294" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/depdemo.at:294: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:294" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:294" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_49 -#AT_START_50 -at_fn_group_banner 50 'depdemo.at:303' \ - "shared library interdependencies" " " 6 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "50. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = l1 l2 l3 l4 - -bin_PROGRAMS = depdemo depdemo_static - -depdemo_SOURCES = main.c -depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ - $(top_builddir)/l4/libl4.la -depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ - $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la - -depdemo_static_SOURCES = $(depdemo_SOURCES) -depdemo_static_LDADD = $(depdemo_LDADD) -depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) -depdemo_static_LDFLAGS = $(STATIC) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "l1/l1.h" -#include "l2/l2.h" -#include "l4/l4.h" - -#define STREQ !strcmp - -int main (int argc, char **argv) -{ - printf("dependencies:\n"); - func_l1(0); - func_l2(0); - func_l4(0); - if (argc == 2 && STREQ (argv[1], "-alt") - && var_l1 + var_l2 + var_l4 == 8) - return 0; - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", - var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); - if (var_l1 + var_l2 + var_l4 != 19) - { - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", - var_l1,var_l2,var_l4); - return 1; - } - return 0; -} -_ATEOF - - -# Create 4 directorys of mostly identical files. -for i in 1 2 3 4; do - mkdir l$i - - # l$i/Makefile.am: - { - $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' - $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i - $ECHO 'lib_LTLIBRARIES = libl'$i'.la' - $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' - $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' - $ECHO 'libl'$i'_la_LIBADD =' - if test 4 != $i; then - j=1; while test "$j" -lt "$i"; do - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' - j=`expr 1 + $j` - done - else - j=3 - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' - fi - } > l$i/Makefile.am - - # l$i/l$i.h - { - $ECHO '#ifndef L'$i'_H' - $ECHO '#define L'$i'_H' - $ECHO - $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' - $ECHO '# ifdef BUILDING_LIBL'$i - $ECHO '# ifdef DLL_EXPORT' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' - $ECHO '# endif' - $ECHO '# else' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' - $ECHO '# endif' - $ECHO '#endif' - $ECHO '#ifndef LIBL'$i'_SCOPE' - $ECHO '# define LIBL'$i'_SCOPE extern' - $ECHO '#endif' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO 'extern "C" {' - $ECHO '#endif' - $ECHO - $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' - $ECHO ' int func_l'$i' (int);' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO '}' - $ECHO '#endif' - $ECHO '#endif' - } > l$i/l$i.h - - # l$i/l$i.c: - { - if test 4 -ne $i; then - $ECHO '#include ' - $ECHO '#include ' - $ECHO - $ECHO '#include "l'$i'/l'$i'.h"' - j=1; while test "$j" -lt "$i"; do - $ECHO '#include "l'$j'/l'$j'.h"' - j=`expr 1 + $j` - done - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - if test 1 -eq $i; then - $ECHO ' var_l1++;' - else - j=1; while test "$j" -lt "$i"; do - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' var_l'$i' += var_l'$j';' - j=`expr 1 + $j` - done - fi - $ECHO ' return 0;' - $ECHO '}' - else - j=3 - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include "l'$i'/l'$i'.h"' - $ECHO '#include "l'$j'/l'$j'.h"' - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' - $ECHO ' var_l'$i' += var_l'$j';' - $ECHO ' return 0;' - $ECHO '}' - fi - } > l$i/l$i.c -done - - -cat >expout <<'_ATEOF' -dependencies: -l1 (0) -l2 (0) - l1 (1) -l4 (0) - l3 (0) - l1 (2) - l2 (2) - l1 (3) -libm cos (0.0) = 1 -var_l1(4) + var_l2(6) + var_l4(9) == 19 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/depdemo.at:307: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:307" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:307: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:307" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:307: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:307" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/depdemo.at:307: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:307" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:307" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:307: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:307" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:307: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:307" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:307: \$EGREP '^build_old_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "depdemo.at:307" -( $at_check_trace; $EGREP '^build_old_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/depdemo.at:307: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "depdemo.at:307" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:307" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/depdemo.at:309: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:309" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:309" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:309: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:309" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:309" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:309: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:309" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:309" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH -for target in install -do - { set +x -$as_echo "$at_srcdir/depdemo.at:310: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:310" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:310" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:310: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:310" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:310" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:310: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:310" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:310" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/depdemo.at:311: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:311" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:311" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/depdemo.at:311: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:311" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:311" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_50 -#AT_START_51 -at_fn_group_banner 51 'depdemo.at:320' \ - "shared and static interdependencies" " " 6 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "51. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = l1 l2 l3 l4 - -bin_PROGRAMS = depdemo depdemo_static - -depdemo_SOURCES = main.c -depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ - $(top_builddir)/l4/libl4.la -depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ - $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la - -depdemo_static_SOURCES = $(depdemo_SOURCES) -depdemo_static_LDADD = $(depdemo_LDADD) -depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) -depdemo_static_LDFLAGS = $(STATIC) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "l1/l1.h" -#include "l2/l2.h" -#include "l4/l4.h" - -#define STREQ !strcmp - -int main (int argc, char **argv) -{ - printf("dependencies:\n"); - func_l1(0); - func_l2(0); - func_l4(0); - if (argc == 2 && STREQ (argv[1], "-alt") - && var_l1 + var_l2 + var_l4 == 8) - return 0; - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", - var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); - if (var_l1 + var_l2 + var_l4 != 19) - { - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", - var_l1,var_l2,var_l4); - return 1; - } - return 0; -} -_ATEOF - - -# Create 4 directorys of mostly identical files. -for i in 1 2 3 4; do - mkdir l$i - - # l$i/Makefile.am: - { - $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' - $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i - $ECHO 'lib_LTLIBRARIES = libl'$i'.la' - $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' - $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' - $ECHO 'libl'$i'_la_LIBADD =' - if test 4 != $i; then - j=1; while test "$j" -lt "$i"; do - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' - j=`expr 1 + $j` - done - else - j=3 - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' - fi - } > l$i/Makefile.am - - # l$i/l$i.h - { - $ECHO '#ifndef L'$i'_H' - $ECHO '#define L'$i'_H' - $ECHO - $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' - $ECHO '# ifdef BUILDING_LIBL'$i - $ECHO '# ifdef DLL_EXPORT' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' - $ECHO '# endif' - $ECHO '# else' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' - $ECHO '# endif' - $ECHO '#endif' - $ECHO '#ifndef LIBL'$i'_SCOPE' - $ECHO '# define LIBL'$i'_SCOPE extern' - $ECHO '#endif' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO 'extern "C" {' - $ECHO '#endif' - $ECHO - $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' - $ECHO ' int func_l'$i' (int);' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO '}' - $ECHO '#endif' - $ECHO '#endif' - } > l$i/l$i.h - - # l$i/l$i.c: - { - if test 4 -ne $i; then - $ECHO '#include ' - $ECHO '#include ' - $ECHO - $ECHO '#include "l'$i'/l'$i'.h"' - j=1; while test "$j" -lt "$i"; do - $ECHO '#include "l'$j'/l'$j'.h"' - j=`expr 1 + $j` - done - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - if test 1 -eq $i; then - $ECHO ' var_l1++;' - else - j=1; while test "$j" -lt "$i"; do - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' var_l'$i' += var_l'$j';' - j=`expr 1 + $j` - done - fi - $ECHO ' return 0;' - $ECHO '}' - else - j=3 - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include "l'$i'/l'$i'.h"' - $ECHO '#include "l'$j'/l'$j'.h"' - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' - $ECHO ' var_l'$i' += var_l'$j';' - $ECHO ' return 0;' - $ECHO '}' - fi - } > l$i/l$i.c -done - - -cat >expout <<'_ATEOF' -dependencies: -l1 (0) -l2 (0) - l1 (1) -l4 (0) - l3 (0) - l1 (2) - l2 (2) - l1 (3) -libm cos (0.0) = 1 -var_l1(4) + var_l2(6) + var_l4(9) == 19 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/depdemo.at:324: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:324" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:324: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:324" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:324: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:324" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/depdemo.at:324: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:324" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:324" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:324: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:324" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:324: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:324" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:324: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "depdemo.at:324" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/depdemo.at:324: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "depdemo.at:324" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:324" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/depdemo.at:326: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:326" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:326" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:326: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:326" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:326" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:326: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:326" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:326" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH -for target in install -do - { set +x -$as_echo "$at_srcdir/depdemo.at:327: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:327" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:327" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:327: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:327" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:327" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:327: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:327" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:327" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/depdemo.at:328: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:328" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:328" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/depdemo.at:328: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:328" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:328" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_51 -#AT_START_52 -at_fn_group_banner 52 'depdemo.at:337' \ - "disable fast install" " " 6 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "52. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = l1 l2 l3 l4 - -bin_PROGRAMS = depdemo depdemo_static - -depdemo_SOURCES = main.c -depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ - $(top_builddir)/l4/libl4.la -depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ - $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la - -depdemo_static_SOURCES = $(depdemo_SOURCES) -depdemo_static_LDADD = $(depdemo_LDADD) -depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) -depdemo_static_LDFLAGS = $(STATIC) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "l1/l1.h" -#include "l2/l2.h" -#include "l4/l4.h" - -#define STREQ !strcmp - -int main (int argc, char **argv) -{ - printf("dependencies:\n"); - func_l1(0); - func_l2(0); - func_l4(0); - if (argc == 2 && STREQ (argv[1], "-alt") - && var_l1 + var_l2 + var_l4 == 8) - return 0; - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", - var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); - if (var_l1 + var_l2 + var_l4 != 19) - { - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", - var_l1,var_l2,var_l4); - return 1; - } - return 0; -} -_ATEOF - - -# Create 4 directorys of mostly identical files. -for i in 1 2 3 4; do - mkdir l$i - - # l$i/Makefile.am: - { - $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' - $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i - $ECHO 'lib_LTLIBRARIES = libl'$i'.la' - $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' - $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' - $ECHO 'libl'$i'_la_LIBADD =' - if test 4 != $i; then - j=1; while test "$j" -lt "$i"; do - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' - j=`expr 1 + $j` - done - else - j=3 - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' - fi - } > l$i/Makefile.am - - # l$i/l$i.h - { - $ECHO '#ifndef L'$i'_H' - $ECHO '#define L'$i'_H' - $ECHO - $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' - $ECHO '# ifdef BUILDING_LIBL'$i - $ECHO '# ifdef DLL_EXPORT' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' - $ECHO '# endif' - $ECHO '# else' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' - $ECHO '# endif' - $ECHO '#endif' - $ECHO '#ifndef LIBL'$i'_SCOPE' - $ECHO '# define LIBL'$i'_SCOPE extern' - $ECHO '#endif' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO 'extern "C" {' - $ECHO '#endif' - $ECHO - $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' - $ECHO ' int func_l'$i' (int);' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO '}' - $ECHO '#endif' - $ECHO '#endif' - } > l$i/l$i.h - - # l$i/l$i.c: - { - if test 4 -ne $i; then - $ECHO '#include ' - $ECHO '#include ' - $ECHO - $ECHO '#include "l'$i'/l'$i'.h"' - j=1; while test "$j" -lt "$i"; do - $ECHO '#include "l'$j'/l'$j'.h"' - j=`expr 1 + $j` - done - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - if test 1 -eq $i; then - $ECHO ' var_l1++;' - else - j=1; while test "$j" -lt "$i"; do - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' var_l'$i' += var_l'$j';' - j=`expr 1 + $j` - done - fi - $ECHO ' return 0;' - $ECHO '}' - else - j=3 - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include "l'$i'/l'$i'.h"' - $ECHO '#include "l'$j'/l'$j'.h"' - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' - $ECHO ' var_l'$i' += var_l'$j';' - $ECHO ' return 0;' - $ECHO '}' - fi - } > l$i/l$i.c -done - - -cat >expout <<'_ATEOF' -dependencies: -l1 (0) -l2 (0) - l1 (1) -l4 (0) - l3 (0) - l1 (2) - l2 (2) - l1 (3) -libm cos (0.0) = 1 -var_l1(4) + var_l2(6) + var_l4(9) == 19 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/depdemo.at:341: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:341" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:341: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:341" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:341: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:341" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/depdemo.at:341: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:341" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:341" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:341: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:341" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:341: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-fast-install=no" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:341" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-fast-install=no -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:341" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:342: \$EGREP '^hardcode_action=relink' libtool && (exit 77)" -at_fn_check_prepare_dynamic "$EGREP '^hardcode_action=relink' libtool && (exit 77)" "depdemo.at:342" -( $at_check_trace; $EGREP '^hardcode_action=relink' libtool && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:342" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/depdemo.at:344: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:344" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:344" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:344: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:344" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:344" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:344: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:344" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:344" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH -for target in install -do - { set +x -$as_echo "$at_srcdir/depdemo.at:345: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:345" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:345" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:345: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:345" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:345" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:345: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:345" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:345" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/depdemo.at:346: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:346" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:346" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/depdemo.at:346: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "depdemo.at:346" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:346" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_52 -#AT_START_53 -at_fn_group_banner 53 'depdemo.at:355' \ - "binary relinking at install time" " " 6 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "53. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([depdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -LT_INIT([win32-dll]) -AC_SUBST([LIBTOOL_DEPS]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) - -LT_LIB_M -AC_CONFIG_FILES([Makefile l1/Makefile l2/Makefile l3/Makefile l4/Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = l1 l2 l3 l4 - -bin_PROGRAMS = depdemo depdemo_static - -depdemo_SOURCES = main.c -depdemo_LDADD = $(top_builddir)/l1/libl1.la $(top_builddir)/l2/libl2.la \ - $(top_builddir)/l4/libl4.la -depdemo_DEPENDENCIES = $(top_builddir)/l1/libl1.la \ - $(top_builddir)/l2/libl2.la $(top_builddir)/l4/libl4.la - -depdemo_static_SOURCES = $(depdemo_SOURCES) -depdemo_static_LDADD = $(depdemo_LDADD) -depdemo_static_DEPENDENCIES = $(depdemo_DEPENDENCIES) -depdemo_static_LDFLAGS = $(STATIC) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "l1/l1.h" -#include "l2/l2.h" -#include "l4/l4.h" - -#define STREQ !strcmp - -int main (int argc, char **argv) -{ - printf("dependencies:\n"); - func_l1(0); - func_l2(0); - func_l4(0); - if (argc == 2 && STREQ (argv[1], "-alt") - && var_l1 + var_l2 + var_l4 == 8) - return 0; - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) == %d\n", - var_l1,var_l2,var_l4, var_l1 + var_l2 + var_l4); - if (var_l1 + var_l2 + var_l4 != 19) - { - printf("var_l1(%d) + var_l2(%d) + var_l4(%d) != 19\n", - var_l1,var_l2,var_l4); - return 1; - } - return 0; -} -_ATEOF - - -# Create 4 directorys of mostly identical files. -for i in 1 2 3 4; do - mkdir l$i - - # l$i/Makefile.am: - { - $ECHO 'AUTOMAKE_OPTIONS = no-dependencies foreign' - $ECHO 'AM_CPPFLAGS = -I$(top_srcdir) -DBUILDING_LIBL'$i - $ECHO 'lib_LTLIBRARIES = libl'$i'.la' - $ECHO 'libl'$i'_la_SOURCES = l'$i'.c l'$i'.h' - $ECHO 'libl'$i'_la_LDFLAGS = -no-undefined' - $ECHO 'libl'$i'_la_LIBADD =' - if test 4 != $i; then - j=1; while test "$j" -lt "$i"; do - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la' - j=`expr 1 + $j` - done - else - j=3 - $ECHO 'libl'$i'_la_LIBADD += $(top_builddir)/l'$j'/libl'$j'.la $(LIBM)' - fi - } > l$i/Makefile.am - - # l$i/l$i.h - { - $ECHO '#ifndef L'$i'_H' - $ECHO '#define L'$i'_H' - $ECHO - $ECHO '#if (defined _WIN32 || defined _WIN32_WCE) && !defined __GNUC__' - $ECHO '# ifdef BUILDING_LIBL'$i - $ECHO '# ifdef DLL_EXPORT' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllexport)' - $ECHO '# endif' - $ECHO '# else' - $ECHO '# define LIBL'$i'_SCOPE extern __declspec (dllimport)' - $ECHO '# endif' - $ECHO '#endif' - $ECHO '#ifndef LIBL'$i'_SCOPE' - $ECHO '# define LIBL'$i'_SCOPE extern' - $ECHO '#endif' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO 'extern "C" {' - $ECHO '#endif' - $ECHO - $ECHO ' LIBL'$i'_SCOPE int var_l'$i';' - $ECHO ' int func_l'$i' (int);' - $ECHO - $ECHO '#ifdef __cplusplus' - $ECHO '}' - $ECHO '#endif' - $ECHO '#endif' - } > l$i/l$i.h - - # l$i/l$i.c: - { - if test 4 -ne $i; then - $ECHO '#include ' - $ECHO '#include ' - $ECHO - $ECHO '#include "l'$i'/l'$i'.h"' - j=1; while test "$j" -lt "$i"; do - $ECHO '#include "l'$j'/l'$j'.h"' - j=`expr 1 + $j` - done - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - if test 1 -eq $i; then - $ECHO ' var_l1++;' - else - j=1; while test "$j" -lt "$i"; do - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' var_l'$i' += var_l'$j';' - j=`expr 1 + $j` - done - fi - $ECHO ' return 0;' - $ECHO '}' - else - j=3 - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include ' - $ECHO '#include "l'$i'/l'$i'.h"' - $ECHO '#include "l'$j'/l'$j'.h"' - $ECHO - $ECHO 'int var_l'$i' = 0;' - $ECHO 'int func_l'$i' (int indent) {' - $ECHO ' int i;' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf ("l'$i' (%i)\n", var_l'$i');' - $ECHO ' func_l'$j'(indent+1);' - $ECHO ' for (i = 0; i < indent; i++)' - $ECHO " putchar (' ');" - $ECHO ' printf("libm cos (0.0) = %g\n", (double) cos ((double) 0.0));' - $ECHO ' var_l'$i' += var_l'$j';' - $ECHO ' return 0;' - $ECHO '}' - fi - } > l$i/l$i.c -done - - -cat >expout <<'_ATEOF' -dependencies: -l1 (0) -l2 (0) - l1 (1) -l4 (0) - l3 (0) - l1 (2) - l2 (2) - l1 (3) -libm cos (0.0) = 1 -var_l1(4) + var_l2(6) + var_l4(9) == 19 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/depdemo.at:360: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "depdemo.at:360" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:360: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "depdemo.at:360" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:360: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "depdemo.at:360" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/depdemo.at:360: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "depdemo.at:360" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:360" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:360: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "depdemo.at:360" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/depdemo.at:360: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "depdemo.at:360" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:360" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/depdemo.at:361: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:361" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:361" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./depdemo_static; if test -f "./depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:361: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:361" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:361" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./depdemo; if test -f "./depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:361: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:361" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:361" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH -for target in install -do - { set +x -$as_echo "$at_srcdir/depdemo.at:362: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "depdemo.at:362" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:362" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=$prefix/bin/depdemo_static; if test -f "$prefix/bin/depdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:362: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:362" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:362" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/depdemo; if test -f "$prefix/bin/depdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/depdemo.at:362: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "depdemo.at:362" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:362" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - - -# Check to make sure we have a dynamic library. -eval `$EGREP '^library_names=' l3/libl3.la` -{ set +x -$as_echo "$at_srcdir/depdemo.at:366: test -n \"\$library_names\" || (exit 77)" -at_fn_check_prepare_dynamic "test -n \"$library_names\" || (exit 77)" "depdemo.at:366" -( $at_check_trace; test -n "$library_names" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:366" -$at_failed && at_fn_log_failure -$at_traceon; } - - -func_save_files - -# AIX 5.3 '/bin/sh' will invoke the trap for 0 at the end of a -# function, so we set the trap outside of a function to be portable. -trap func_restore_files 0 1 2 13 15 - -eval "`$LIBTOOL --config | $EGREP '^shlibpath_overrides_runpath='`" -eval "`$LIBTOOL --config | $EGREP '^hardcode_(action|direct|into_libs)='`" - -# Can't finish these tests reliably when cross-compiling. -{ set +x -$as_echo "$at_srcdir/depdemo.at:378: test \"X\$host\" = \"X\$build\" || (exit 77)" -at_fn_check_prepare_dynamic "test \"X$host\" = \"X$build\" || (exit 77)" "depdemo.at:378" -( $at_check_trace; test "X$host" = "X$build" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:378" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Allow the binary to link on-demand if need be. -./depdemo$EXEEXT >/dev/null || : - -# Remove l3/libl3.la from build tree. -rm -f l3/libl3.la "l3/$objdir"/libl3.* - -# Either: -# - uninstalled ./depdem will run using the just installed libraries -# when the uninstalled libs are missing; -# - on AIX 4.1, when the installed copy of libl3 is loaded, it brings -# with it the installed copies of libl1 and libl2, with disjoint -# counters var_l1 and var_l2. This is arguably unacceptable behaviour -# but definitely not enough of a reason for the test to fail; -# - or relinking at install time is necessary, and the uninstalled -# depdemo has only the uninstalled library paths hardcoded. -{ set +x -$as_echo "$at_srcdir/depdemo.at:395: ./depdemo\$EXEEXT >/dev/null || - ./depdemo\$EXEEXT -alt || - test relink,yes = \"\$hardcode_action,\$hardcode_direct\"" -at_fn_check_prepare_notrace 'an embedded newline' "depdemo.at:395" -( $at_check_trace; ./depdemo$EXEEXT >/dev/null || - ./depdemo$EXEEXT -alt || - test relink,yes = "$hardcode_action,$hardcode_direct" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:395" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Link an incomplete l3/libl3.la. -(cd l3 && - for target in libl3.la -do - { set +x -$as_echo "$at_srcdir/depdemo.at:401: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target libl3_la_OBJECTS=../l2/l2.lo" -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target libl3_la_OBJECTS=../l2/l2.lo" "depdemo.at:401" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target libl3_la_OBJECTS=../l2/l2.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:401" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -) -{ set +x -$as_echo "$at_srcdir/depdemo.at:403: test -f l3/libl3.la" -at_fn_check_prepare_trace "depdemo.at:403" -( $at_check_trace; test -f l3/libl3.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:403" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Try running uninstalled ./depdemo with only broken libl3.la in build tree. -# If the following has normal exit status, shlibpath_overrides_runpath is -# wrong, and should be set to 'no' on this host. -# The unusual '|| (exit 1)' is to normalize all non-zero exit statuses. -{ set +x -$as_echo "$at_srcdir/depdemo.at:409: ./depdemo\$EXEEXT || (exit 1)" -at_fn_check_prepare_dynamic "./depdemo$EXEEXT || (exit 1)" "depdemo.at:409" -( $at_check_trace; ./depdemo$EXEEXT || (exit 1) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/depdemo.at:409" -$at_failed && at_fn_log_failure -$at_traceon; } - - -test relink = "$hardcode_action" || -test yes = "$shlibpath_overrides_runpath" || -{ - { set +x -$as_echo "$at_srcdir/depdemo.at:414: rm -f \$objdir/lt-depdemo\$EXEEXT" -at_fn_check_prepare_dynamic "rm -f $objdir/lt-depdemo$EXEEXT" "depdemo.at:414" -( $at_check_trace; rm -f $objdir/lt-depdemo$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:414" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/depdemo.at:415: cp \$objdir/depdemo\$EXEEXT \$objdir/lt-depdemo\$EXEEXT" -at_fn_check_prepare_dynamic "cp $objdir/depdemo$EXEEXT $objdir/lt-depdemo$EXEEXT" "depdemo.at:415" -( $at_check_trace; cp $objdir/depdemo$EXEEXT $objdir/lt-depdemo$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:415" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # Running depdemo with installed libl3.la. - # If the following check fails, then shlibpath_overrides_runpath is - # wrong, and should be set to 'yes' on this host. - echo "./depdemo"; { set +x -$as_echo "$at_srcdir/depdemo.at:420: ./depdemo" -at_fn_check_prepare_trace "depdemo.at:420" -( $at_check_trace; ./depdemo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/depdemo.at:420" -$at_failed && at_fn_log_failure -$at_traceon; } - -} - -# Undo the effect of the previous 'trap' command. Some shellology: -# We cannot use "trap - 0 1 2 3 13 15", because Solaris sh would attempt to -# execute the command "-". "trap '' ..." is fine only for signal 0 (= normal -# exit); for the others we need to call 'exit' explicitly. The value of $? is -# 128 + signal number and is set before the trap-registered command is run. -trap '' 0 -trap 'func_exit $?' 1 2 3 13 15 - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_53 -#AT_START_54 -at_fn_group_banner 54 'help.at:26' \ - "standard command line options" " " 7 -at_xfail=no -( - $as_echo "54. $at_setup_line: testing $at_desc ..." - $at_traceon - - - - -{ set +x -$as_echo "$at_srcdir/help.at:30: \$LIBTOOLIZE --help" -at_fn_check_prepare_dynamic "$LIBTOOLIZE --help" "help.at:30" -( $at_check_trace; $LIBTOOLIZE --help -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:30" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:31: \$LIBTOOLIZE --version" -at_fn_check_prepare_dynamic "$LIBTOOLIZE --version" "help.at:31" -( $at_check_trace; $LIBTOOLIZE --version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:31" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:32: \$GREP 'Copyright.*Free Software Foundation' stdout" -at_fn_check_prepare_dynamic "$GREP 'Copyright.*Free Software Foundation' stdout" "help.at:32" -( $at_check_trace; $GREP 'Copyright.*Free Software Foundation' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:32" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:33: \$LIBTOOL --help" -at_fn_check_prepare_dynamic "$LIBTOOL --help" "help.at:33" -( $at_check_trace; $LIBTOOL --help -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:33" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:34: \$LIBTOOL --help-all" -at_fn_check_prepare_dynamic "$LIBTOOL --help-all" "help.at:34" -( $at_check_trace; $LIBTOOL --help-all -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:34" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:35: \$LIBTOOL --version" -at_fn_check_prepare_dynamic "$LIBTOOL --version" "help.at:35" -( $at_check_trace; $LIBTOOL --version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:35" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:36: \$GREP 'Copyright.*Free Software Foundation' stdout" -at_fn_check_prepare_dynamic "$GREP 'Copyright.*Free Software Foundation' stdout" "help.at:36" -( $at_check_trace; $GREP 'Copyright.*Free Software Foundation' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:36" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/help.at:38: \$LIBTOOL" -at_fn_check_prepare_dynamic "$LIBTOOL" "help.at:38" -( $at_check_trace; $LIBTOOL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/help.at:38" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:39: \$GREP 'specify a MODE' stderr" -at_fn_check_prepare_dynamic "$GREP 'specify a MODE' stderr" "help.at:39" -( $at_check_trace; $GREP 'specify a MODE' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:39" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:40: \$GREP ' --help' stdout" -at_fn_check_prepare_dynamic "$GREP ' --help' stdout" "help.at:40" -( $at_check_trace; $GREP ' --help' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:40" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_54 -#AT_START_55 -at_fn_group_banner 55 'help.at:45' \ - "mode short-hands" " " 7 -at_xfail=no -( - $as_echo "55. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >a.c <<'_ATEOF' -int a () { return 0; } -_ATEOF - - -cat >main.c <<'_ATEOF' -extern int a (); -int main () { return a (); } -_ATEOF - - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -mkdir $inst $libdir $bindir - -{ set +x -$as_echo "$at_srcdir/help.at:61: \$LIBTOOL compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$LIBTOOL compile $CC $CPPFLAGS $CFLAGS -c a.c" "help.at:61" -( $at_check_trace; $LIBTOOL compile $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:61" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:63: \$LIBTOOL co \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c" "help.at:63" -( $at_check_trace; $LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:63" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:65: \$LIBTOOL co \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c" "help.at:65" -( $at_check_trace; $LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:65" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:67: \$LIBTOOL link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -no-undefined -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -no-undefined -rpath $libdir" "help.at:67" -( $at_check_trace; $LIBTOOL link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -no-undefined -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:67" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:69: \$LIBTOOL l \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.lo liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL l $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo liba.la" "help.at:69" -( $at_check_trace; $LIBTOOL l $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:69" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:71: \$LIBTOOL execute --dry-run ./main\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL execute --dry-run ./main$EXEEXT" "help.at:71" -( $at_check_trace; $LIBTOOL execute --dry-run ./main$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:71" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:73: \$LIBTOOL exe --dry-run ./main\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL exe --dry-run ./main$EXEEXT" "help.at:73" -( $at_check_trace; $LIBTOOL exe --dry-run ./main$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:73" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:75: \$LIBTOOL e --dry-run ./main\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL e --dry-run ./main$EXEEXT" "help.at:75" -( $at_check_trace; $LIBTOOL e --dry-run ./main$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:75" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:77: \$LIBTOOL install cp liba.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL install cp liba.la $libdir" "help.at:77" -( $at_check_trace; $LIBTOOL install cp liba.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:77" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:79: \$LIBTOOL i cp main\$EXEEXT \$bindir" -at_fn_check_prepare_dynamic "$LIBTOOL i cp main$EXEEXT $bindir" "help.at:79" -( $at_check_trace; $LIBTOOL i cp main$EXEEXT $bindir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:81: \$LIBTOOL finish \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL finish $libdir" "help.at:81" -( $at_check_trace; $LIBTOOL finish $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:81" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:83: \$LIBTOOL f \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL f $libdir" "help.at:83" -( $at_check_trace; $LIBTOOL f $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:83" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:85: \$LIBTOOL uninstall rm -f \$libdir/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL uninstall rm -f $libdir/liba.la" "help.at:85" -( $at_check_trace; $LIBTOOL uninstall rm -f $libdir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:85" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:87: \$LIBTOOL u rm -f \$bindir/main\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL u rm -f $bindir/main$EXEEXT" "help.at:87" -( $at_check_trace; $LIBTOOL u rm -f $bindir/main$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:87" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:89: \$LIBTOOL clean rm -f main\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL clean rm -f main$EXEEXT" "help.at:89" -( $at_check_trace; $LIBTOOL clean rm -f main$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:89" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/help.at:91: \$LIBTOOL cl liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL cl liba.la" "help.at:91" -( $at_check_trace; $LIBTOOL cl liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_55 -#AT_START_56 -at_fn_group_banner 56 'help.at:97' \ - "debug tracing" " " 7 -at_xfail=no -( - $as_echo "56. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >a.c <<'_ATEOF' -int a () { return 0; } -_ATEOF - - -cat >b.c <<'_ATEOF' -extern int a (); -int b () { return a (); } -_ATEOF - - -cat >main.c <<'_ATEOF' -extern int b (); -int main () { return b (); } -_ATEOF - - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -mkdir $inst $libdir $bindir - -# This test will not work correctly if --debug is passed. -{ set +x -$as_echo "$at_srcdir/help.at:119: case \"\$LIBTOOL \$CC \$CPPFLAGS \$CFLAGS \$LDFLAGS \" in *\\ --debug\\ *) exit 77;; *) :;; esac" -at_fn_check_prepare_dynamic "case \"$LIBTOOL $CC $CPPFLAGS $CFLAGS $LDFLAGS \" in *\\ --debug\\ *) exit 77;; *) :;; esac" "help.at:119" -( $at_check_trace; case "$LIBTOOL $CC $CPPFLAGS $CFLAGS $LDFLAGS " in *\ --debug\ *) exit 77;; *) :;; esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/help.at:119" -$at_failed && at_fn_log_failure -$at_traceon; } - - -check_trace () -{ - if test X--debug = "X$trace"; then - { set +x -$as_echo "$at_srcdir/help.at:125: \$GREP 'enabling shell trace mode' stdout stderr" -at_fn_check_prepare_dynamic "$GREP 'enabling shell trace mode' stdout stderr" "help.at:125" -( $at_check_trace; $GREP 'enabling shell trace mode' stdout stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:125" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/help.at:126: \$GREP ' --mode' stderr" -at_fn_check_prepare_dynamic "$GREP ' --mode' stderr" "help.at:126" -( $at_check_trace; $GREP ' --mode' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:126" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/help.at:128: \$GREP 'enabling shell trace mode' stdout stderr" -at_fn_check_prepare_dynamic "$GREP 'enabling shell trace mode' stdout stderr" "help.at:128" -( $at_check_trace; $GREP 'enabling shell trace mode' stdout stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/help.at:128" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/help.at:129: \$GREP ' --mode' stderr" -at_fn_check_prepare_dynamic "$GREP ' --mode' stderr" "help.at:129" -( $at_check_trace; $GREP ' --mode' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/help.at:129" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi -} - -orig_LIBTOOL=$LIBTOOL -for trace in '' --debug; do - LIBTOOL="$orig_LIBTOOL $trace" - - # Hypothesis: debug output should happen if (and only if) --debug is - # passed, for compile, link, install, uninstall, and clean modes. - { set +x -$as_echo "$at_srcdir/help.at:139: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "help.at:139" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:139" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - { set +x -$as_echo "$at_srcdir/help.at:142: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c b.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c" "help.at:142" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:142" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - { set +x -$as_echo "$at_srcdir/help.at:145: \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "help.at:145" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/help.at:146: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -no-undefined -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -no-undefined -rpath $libdir" "help.at:146" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -no-undefined -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:146" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - { set +x -$as_echo "$at_srcdir/help.at:149: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb.la b.lo -no-undefined -rpath \$libdir liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -no-undefined -rpath $libdir liba.la" "help.at:149" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -no-undefined -rpath $libdir liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:149" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - { set +x -$as_echo "$at_srcdir/help.at:152: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT libb.la" "help.at:152" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:152" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/help.at:155: if \$LIBTOOL --mode=execute \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "help.at:155" -( $at_check_trace; if $LIBTOOL --mode=execute "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - - - check_trace - - { set +x -$as_echo "$at_srcdir/help.at:158: \$LIBTOOL --mode=install cp liba.la libb.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la libb.la $libdir" "help.at:158" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la libb.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:158" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - - # Hypothesis: --debug should be passed to relink mode if (and only if) - # it was passed at link mode. - { set +x -$as_echo "$at_srcdir/help.at:164: \$orig_LIBTOOL --mode=install \$lt_INSTALL liba.la libb.la \$libdir" -at_fn_check_prepare_dynamic "$orig_LIBTOOL --mode=install $lt_INSTALL liba.la libb.la $libdir" "help.at:164" -( $at_check_trace; $orig_LIBTOOL --mode=install $lt_INSTALL liba.la libb.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:164" -$at_failed && at_fn_log_failure -$at_traceon; } - - if $GREP ': relinking ' stdout stderr; then - if test X--debug = "X$trace"; then - { set +x -$as_echo "$at_srcdir/help.at:168: \$GREP ' --mode=relink' stdout stderr | \$GREP ' --debug '" -at_fn_check_prepare_notrace 'a shell pipeline' "help.at:168" -( $at_check_trace; $GREP ' --mode=relink' stdout stderr | $GREP ' --debug ' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:168" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/help.at:171: \$GREP ' --mode=relink' stdout stderr | \$GREP ' --debug '" -at_fn_check_prepare_notrace 'a shell pipeline' "help.at:171" -( $at_check_trace; $GREP ' --mode=relink' stdout stderr | $GREP ' --debug ' -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/help.at:171" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - fi - - { set +x -$as_echo "$at_srcdir/help.at:176: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "help.at:176" -( $at_check_trace; $LIBTOOL --mode=install cp main$EXEEXT $bindir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:176" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - { set +x -$as_echo "$at_srcdir/help.at:179: \$LIBTOOL --mode=finish \$bindir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=finish $bindir" "help.at:179" -( $at_check_trace; $LIBTOOL --mode=finish $bindir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:179" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - - { set +x -$as_echo "$at_srcdir/help.at:182: \$LIBTOOL --mode=uninstall rm -f \$bindir/main\$EXEEXT \$libdir/libb.la \$libdir/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=uninstall rm -f $bindir/main$EXEEXT $libdir/libb.la $libdir/liba.la" "help.at:182" -( $at_check_trace; $LIBTOOL --mode=uninstall rm -f $bindir/main$EXEEXT $libdir/libb.la $libdir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:182" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - { set +x -$as_echo "$at_srcdir/help.at:185: \$LIBTOOL --mode=clean rm -f \$bindir/main\$EXEEXT \$libdir/libb.la \$libdir/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f $bindir/main$EXEEXT $libdir/libb.la $libdir/liba.la" "help.at:185" -( $at_check_trace; $LIBTOOL --mode=clean rm -f $bindir/main$EXEEXT $libdir/libb.la $libdir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/help.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - - check_trace - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_56 -#AT_START_57 -at_fn_group_banner 57 'duplicate_members.at:26' \ - "duplicate members in archive tests" " " 7 -at_xfail=no -( - $as_echo "57. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# we don't want to use whole_archive_flag_spec, even if available -$SED -e 's|^whole_archive_flag_spec=.*|whole_archive_flag_spec=|g' < $LIBTOOL > libtool - -chmod +x ./libtool -LIBTOOL=./libtool - -cat >bar.c <<'_ATEOF' -extern int foo1 (), foo2 (), foo3 (), foo4 (), foo5 (), foo6 (); -int bar() { - int result = foo1 () + foo2 () + foo3 () + foo4 () + foo5 () + foo6 (); - return result; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -int bar(); -int main() -{ -if (bar() == 21) return 0; -return 1; -} -_ATEOF - - - -for a in 1 2 3 4 5 6 -do - mkdir $a - echo "int foo$a() {return $a;}" > $a/a.c -done - - -for a in 1 2 3 4 5 6 -do - $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o $a/a.lo $a/a.c -done -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libc0.la 6/a.lo -{ set +x -$as_echo "$at_srcdir/duplicate_members.at:65: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o libconv.la 1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la 1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la" "duplicate_members.at:65" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la 1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_members.at:65" -$at_failed && at_fn_log_failure -$at_traceon; } - - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c -{ set +x -$as_echo "$at_srcdir/duplicate_members.at:69: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o libbar.la bar.lo libconv.la -rpath /notexist" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo libconv.la -rpath /notexist" "duplicate_members.at:69" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo libconv.la -rpath /notexist -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_members.at:69" -$at_failed && at_fn_log_failure -$at_traceon; } - - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.lo main.c -{ set +x -$as_echo "$at_srcdir/duplicate_members.at:73: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.lo ./libbar.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo ./libbar.la" "duplicate_members.at:73" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo ./libbar.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_members.at:73" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/duplicate_members.at:76: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_members.at:76" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_members.at:76" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_57 -#AT_START_58 -at_fn_group_banner 58 'duplicate_conv.at:26' \ - "duplicate convenience archive names" " " 7 -at_xfail=no -( - $as_echo "58. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -eval `$LIBTOOL --config | $SED -n '/^reload_cmds=/,/^$/p'` - -# We create two convenience archives with the same name, and _also_ -# containing an object with the same name. This is necessary to detect -# the failure with both 1.5.22 and HEAD, since the latter does not (did -# not?) remove the temporary output directory, thus masking the failure -# when all objects have distinct names. - -mkdir a b c - -echo 'int a () { return 0; }' > a/a.c -echo 'int a2() { return 0; }' > b/a.c -echo 'int b () { return 0; }' > b/b.c -echo 'extern int a(), a2(), b(); int c() { return a() + a2() + b(); }' > c.c -echo 'extern int c(); int main() { return c(); }' > main.c - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a/a.c -o a/a.lo -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b/a.c -o b/a.lo -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b/b.c -o b/b.lo -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c c.c -$CC $CPPFLAGS $CFLAGS -c main.c -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o a/liba.la a/a.lo -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o b/liba.la b/a.lo b/b.lo - -# Fold into convenience archive. -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:54: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -no-undefined -o libcee.la c.lo a/liba.la b/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -o libcee.la c.lo a/liba.la b/liba.la" "duplicate_conv.at:54" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -o libcee.la c.lo a/liba.la b/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:54" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:56: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT ./libcee.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la" "duplicate_conv.at:56" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:56" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:58: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_conv.at:58" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:58" -$at_failed && at_fn_log_failure -$at_traceon; } - - -$LIBTOOL --mode=clean rm -f libcee.la - - -# FIXME: For this test, we may want to zero out whole_archive_flag_spec; -# OTOH, we'd like to test the other situation, too. - -# Fold into static library. -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:66: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -no-undefined -rpath /foo -static -o libcee.la c.lo a/liba.la b/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -static -o libcee.la c.lo a/liba.la b/liba.la" "duplicate_conv.at:66" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -static -o libcee.la c.lo a/liba.la b/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:66" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:68: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT ./libcee.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la" "duplicate_conv.at:68" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:68" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:70: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_conv.at:70" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:70" -$at_failed && at_fn_log_failure -$at_traceon; } - - -$LIBTOOL --mode=clean rm -f libcee.la - -# Fold into library. -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:74: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -no-undefined -rpath /foo -o libcee.la c.lo a/liba.la b/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -o libcee.la c.lo a/liba.la b/liba.la" "duplicate_conv.at:74" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -no-undefined -rpath /foo -o libcee.la c.lo a/liba.la b/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:74" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:76: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT ./libcee.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la" "duplicate_conv.at:76" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT ./libcee.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:76" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:78: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_conv.at:78" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:78" -$at_failed && at_fn_log_failure -$at_traceon; } - - -$LIBTOOL --mode=clean rm -f libcee.la - -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:81: test false = \"\$reload_cmds\" && exit 77" -at_fn_check_prepare_dynamic "test false = \"$reload_cmds\" && exit 77" "duplicate_conv.at:81" -( $at_check_trace; test false = "$reload_cmds" && exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/duplicate_conv.at:81" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Test whether this works with reloadable objects as well. -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:84: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o cee.\$OBJEXT c.lo a/liba.la b/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o cee.$OBJEXT c.lo a/liba.la b/liba.la" "duplicate_conv.at:84" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o cee.$OBJEXT c.lo a/liba.la b/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:84" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:86: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT cee.\$OBJEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT cee.$OBJEXT" "duplicate_conv.at:86" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT cee.$OBJEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/duplicate_conv.at:88: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_conv.at:88" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_conv.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# TODO: test dlpreloading of duplicates (when it is implemented) - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_58 -#AT_START_59 -at_fn_group_banner 59 'duplicate_deps.at:26' \ - "preserve duplicate convenience deps" " " 7 -at_xfail=yes -( - $as_echo "59. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# --preserve-dup-deps should work for convenience archives. - -# Create a circular dependency of liba and libb: -# a1 pulls in b1, that pulls in a2. -cat >a1.c <<\EOF -extern int b1 (); -int a1 () { return b1 (); } -EOF -cat >a2.c <<\EOF -int a2 () { return 0; } -EOF -cat >b1.c <<\EOF -extern int a2 (); -int b1 () { return a2 (); } -EOF -cat >main.c <<\EOF -extern int a1 (); -int main () { return a1 (); } -EOF - -for file in a1.c a2.c b1.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -$CC $CPPFLAGS $CFLAGS -c main.c -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o liba.la a1.lo a2.lo - -# This could be worked around by adding liba.la to libb.la -# (in that case all objects from liba would be merged into -# libb.a as well, possibly renamed.) -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b1.lo liba.la -{ set +x -$as_echo "$at_srcdir/duplicate_deps.at:59: \$LIBTOOL --mode=link --tag=CC \\ - \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la libb.la" -at_fn_check_prepare_notrace 'an embedded newline' "duplicate_deps.at:59" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC \ - $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_deps.at:59" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/duplicate_deps.at:62: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "duplicate_deps.at:62" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_deps.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Forgo the workaround and create a true circular dependency. -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b1.lo -# Some systems find all symbols anyway; skip this test on such systems. -{ set +x -$as_echo "$at_srcdir/duplicate_deps.at:67: \$LIBTOOL --mode=link --tag=CC \\ - \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la libb.la liba.la \\ - && exit 77" -at_fn_check_prepare_notrace 'an embedded newline' "duplicate_deps.at:67" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC \ - $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la liba.la \ - && exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/duplicate_deps.at:67" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Other systems need special treatment, which currently fails. - -{ set +x -$as_echo "$at_srcdir/duplicate_deps.at:73: \$LIBTOOL --mode=link --preserve-dup-deps --tag=CC \\ - \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la libb.la liba.la" -at_fn_check_prepare_notrace 'an embedded newline' "duplicate_deps.at:73" -( $at_check_trace; $LIBTOOL --mode=link --preserve-dup-deps --tag=CC \ - $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la libb.la liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/duplicate_deps.at:73" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_59 -#AT_START_60 -at_fn_group_banner 60 'flags.at:24' \ - "passing CC flags through libtool" " " 7 -at_xfail=no -( - $as_echo "60. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/flags.at:24: { test -n \"\$CC\" && test \"X\$CC\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CC\" && test \"X$CC\" != Xno; } || (exit 77)" "flags.at:24" -( $at_check_trace; { test -n "$CC" && test "X$CC" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -LDFLAGS="$LDFLAGS -no-undefined" -eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" - -cat >a.c <<'_ATEOF' -int main () { return 0; } -_ATEOF - -compile="$CC $CPPFLAGS $CFLAGS" link="$CC $CFLAGS $LDFLAGS" source=a.c - - -# Linker flags are not passed to the archiver, so don't test static libraries. -if $LIBTOOL --features | $GREP 'enable shared libraries'; then - library_and_module='library.la "module.la -module -avoid-version"' -else - library_and_module= -fi - -eval "`$LIBTOOL --tag=CC --config | $EGREP '^(wl|archive_cmds)='`" - -{ set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=CC --mode=compile \$compile -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CC --mode=compile $compile -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL --tag=CC --mode=compile $compile -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Linker flags are prefixed with $wl iff they are passed to the -# compiler driver, instead of directly to the linker. -case $archive_cmds in -*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; -*) maybe_wl=$wl compiler_flags_in_liblink=: ;; -esac - -for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do - case $flag in - -Wc, | -Xcompiler\ ) - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CC --mode=compile \$compile \$flag-foo -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CC --mode=compile $compile $flag-foo -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=CC --mode=compile $compile $flag-foo -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " -foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - flag_prefix_prog= - flag_prefix_lib= - flags_in_liblink=$compiler_flags_in_liblink - ;; - -Wl, | -Xlinker\ ) - flag_prefix_prog=$wl - flag_prefix_lib=$maybe_wl - flags_in_liblink=: - ;; - esac - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CC --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CC --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=CC --mode=link $link -o program$EXEEXT a.lo $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - eval set x "$library_and_module" - for output - do - test x = "$output" && continue - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CC --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CC --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=CC --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - if $flags_in_liblink; then - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_60 -#AT_START_61 -at_fn_group_banner 61 'flags.at:24' \ - "passing CXX flags through libtool" " " 7 -at_xfail=no -( - $as_echo "61. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/flags.at:24: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "flags.at:24" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/flags.at:24: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "flags.at:24" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -LDFLAGS="$LDFLAGS -no-undefined" -eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" - -cat >a.cpp <<'_ATEOF' -int main () { return 0; } -_ATEOF - -compile="$CXX $CPPFLAGS $CXXFLAGS" link="$CXX $CXXFLAGS $LDFLAGS" source=a.cpp - - -# Linker flags are not passed to the archiver, so don't test static libraries. -if $LIBTOOL --features | $GREP 'enable shared libraries'; then - library_and_module='library.la "module.la -module -avoid-version"' -else - library_and_module= -fi - -eval "`$LIBTOOL --tag=CXX --config | $EGREP '^(wl|archive_cmds)='`" - -{ set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=CXX --mode=compile \$compile -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $compile -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $compile -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Linker flags are prefixed with $wl iff they are passed to the -# compiler driver, instead of directly to the linker. -case $archive_cmds in -*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; -*) maybe_wl=$wl compiler_flags_in_liblink=: ;; -esac - -for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do - case $flag in - -Wc, | -Xcompiler\ ) - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CXX --mode=compile \$compile \$flag-foo -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CXX --mode=compile $compile $flag-foo -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=CXX --mode=compile $compile $flag-foo -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " -foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - flag_prefix_prog= - flag_prefix_lib= - flags_in_liblink=$compiler_flags_in_liblink - ;; - -Wl, | -Xlinker\ ) - flag_prefix_prog=$wl - flag_prefix_lib=$maybe_wl - flags_in_liblink=: - ;; - esac - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CXX --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CXX --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=CXX --mode=link $link -o program$EXEEXT a.lo $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - eval set x "$library_and_module" - for output - do - test x = "$output" && continue - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=CXX --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=CXX --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=CXX --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - if $flags_in_liblink; then - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_61 -#AT_START_62 -at_fn_group_banner 62 'flags.at:24' \ - "passing F77 flags through libtool" " " 7 -at_xfail=no -( - $as_echo "62. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/flags.at:24: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "flags.at:24" -( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -LDFLAGS="$LDFLAGS -no-undefined" -eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" - -cat >a.f <<'_ATEOF' - program main - end -_ATEOF - -compile="$F77 $FFLAGS" link="$F77 $FFLAGS $LDFLAGS" source=a.f - - -# Linker flags are not passed to the archiver, so don't test static libraries. -if $LIBTOOL --features | $GREP 'enable shared libraries'; then - library_and_module='library.la "module.la -module -avoid-version"' -else - library_and_module= -fi - -eval "`$LIBTOOL --tag=F77 --config | $EGREP '^(wl|archive_cmds)='`" - -{ set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=F77 --mode=compile \$compile -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=F77 --mode=compile $compile -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL --tag=F77 --mode=compile $compile -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Linker flags are prefixed with $wl iff they are passed to the -# compiler driver, instead of directly to the linker. -case $archive_cmds in -*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; -*) maybe_wl=$wl compiler_flags_in_liblink=: ;; -esac - -for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do - case $flag in - -Wc, | -Xcompiler\ ) - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=F77 --mode=compile \$compile \$flag-foo -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=F77 --mode=compile $compile $flag-foo -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=F77 --mode=compile $compile $flag-foo -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " -foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - flag_prefix_prog= - flag_prefix_lib= - flags_in_liblink=$compiler_flags_in_liblink - ;; - -Wl, | -Xlinker\ ) - flag_prefix_prog=$wl - flag_prefix_lib=$maybe_wl - flags_in_liblink=: - ;; - esac - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=F77 --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=F77 --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=F77 --mode=link $link -o program$EXEEXT a.lo $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - eval set x "$library_and_module" - for output - do - test x = "$output" && continue - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=F77 --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=F77 --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=F77 --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - if $flags_in_liblink; then - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_62 -#AT_START_63 -at_fn_group_banner 63 'flags.at:24' \ - "passing FC flags through libtool" " " 7 -at_xfail=no -( - $as_echo "63. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/flags.at:24: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "flags.at:24" -( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Autoconf will accept f77 or similar as a valid FC, but often f77 - # will not compile fortran90 code; in that case skip the FC checks. - cat >fc_test.f90 <<'_ATEOF' - program main - - end -_ATEOF - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FC \$FCFLAGS fc_test.f90 || exit 77" -at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "flags.at:24" -( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -LDFLAGS="$LDFLAGS -no-undefined" -eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" - -cat >a.f90 <<'_ATEOF' - program main - end -_ATEOF - -compile="$FC $FCFLAGS" link="$FC $FCFLAGS $LDFLAGS" source=a.f90 - - -# Linker flags are not passed to the archiver, so don't test static libraries. -if $LIBTOOL --features | $GREP 'enable shared libraries'; then - library_and_module='library.la "module.la -module -avoid-version"' -else - library_and_module= -fi - -eval "`$LIBTOOL --tag=FC --config | $EGREP '^(wl|archive_cmds)='`" - -{ set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=FC --mode=compile \$compile -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=FC --mode=compile $compile -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL --tag=FC --mode=compile $compile -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Linker flags are prefixed with $wl iff they are passed to the -# compiler driver, instead of directly to the linker. -case $archive_cmds in -*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; -*) maybe_wl=$wl compiler_flags_in_liblink=: ;; -esac - -for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do - case $flag in - -Wc, | -Xcompiler\ ) - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=FC --mode=compile \$compile \$flag-foo -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=FC --mode=compile $compile $flag-foo -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=FC --mode=compile $compile $flag-foo -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " -foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - flag_prefix_prog= - flag_prefix_lib= - flags_in_liblink=$compiler_flags_in_liblink - ;; - -Wl, | -Xlinker\ ) - flag_prefix_prog=$wl - flag_prefix_lib=$maybe_wl - flags_in_liblink=: - ;; - esac - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=FC --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=FC --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=FC --mode=link $link -o program$EXEEXT a.lo $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - eval set x "$library_and_module" - for output - do - test x = "$output" && continue - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=FC --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=FC --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=FC --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - if $flags_in_liblink; then - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_63 -#AT_START_64 -at_fn_group_banner 64 'flags.at:24' \ - "passing GCJ flags through libtool" " " 7 -at_xfail=no -( - $as_echo "64. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/flags.at:24: { test -n \"\$GCJ\" && test \"X\$GCJ\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$GCJ\" && test \"X$GCJ\" != Xno; } || (exit 77)" "flags.at:24" -( $at_check_trace; { test -n "$GCJ" && test "X$GCJ" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - -# There are just too many broken gcj installations out there, either missing - # libgcj.spec or unable to find it. Skip the test for them. - cat >gcj_test.java <<'_ATEOF' -public class gcj_test { - public static void main(String[] argv) { } - } -_ATEOF - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77" -at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "flags.at:24" -( $at_check_trace; $GCJ $GCJFLAGS -c gcj_test.java || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -LDFLAGS="$LDFLAGS -no-undefined" -eval "`$LIBTOOL --config | $EGREP '^(FGREP)='`" - -cat >a.java <<'_ATEOF' -class a {} -_ATEOF - -compile="$GCJ $GCJFLAGS" link="$GCJ $GCJFLAGS $LDFLAGS" source=a.java - - -# Linker flags are not passed to the archiver, so don't test static libraries. -if $LIBTOOL --features | $GREP 'enable shared libraries'; then - library_and_module='library.la "module.la -module -avoid-version"' -else - library_and_module= -fi - -eval "`$LIBTOOL --tag=GCJ --config | $EGREP '^(wl|archive_cmds)='`" - -{ set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL --tag=GCJ --mode=compile \$compile -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=GCJ --mode=compile $compile -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL --tag=GCJ --mode=compile $compile -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Linker flags are prefixed with $wl iff they are passed to the -# compiler driver, instead of directly to the linker. -case $archive_cmds in -*\$LD*\$linker_flags*) maybe_wl= compiler_flags_in_liblink=false ;; -*) maybe_wl=$wl compiler_flags_in_liblink=: ;; -esac - -for flag in -Wc, -Wl, '-Xcompiler ' '-Xlinker '; do - case $flag in - -Wc, | -Xcompiler\ ) - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=GCJ --mode=compile \$compile \$flag-foo -c \$source" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=GCJ --mode=compile $compile $flag-foo -c $source" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=GCJ --mode=compile $compile $flag-foo -c $source -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" -foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" -foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " -foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - flag_prefix_prog= - flag_prefix_lib= - flags_in_liblink=$compiler_flags_in_liblink - ;; - -Wl, | -Xlinker\ ) - flag_prefix_prog=$wl - flag_prefix_lib=$maybe_wl - flags_in_liblink=: - ;; - esac - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=GCJ --mode=link \$link -o program\$EXEEXT a.lo \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=GCJ --mode=link $link -o program$EXEEXT a.lo $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=GCJ --mode=link $link -o program$EXEEXT a.lo $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_prog-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_prog-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_prog-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - - eval set x "$library_and_module" - for output - do - test x = "$output" && continue - { set +x -$as_echo "$at_srcdir/flags.at:24: \$LIBTOOL -n --tag=GCJ --mode=link \$link -o \$output a.lo -rpath /nowhere \$flag-foo" -at_fn_check_prepare_dynamic "$LIBTOOL -n --tag=GCJ --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo" "flags.at:24" -( $at_check_trace; $LIBTOOL -n --tag=GCJ --mode=link $link -o $output a.lo -rpath /nowhere $flag-foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - if $flags_in_liblink; then - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/flags.at:24: \$FGREP \" \$flag_prefix_lib-foo\" stdout" -at_fn_check_prepare_dynamic "$FGREP \" $flag_prefix_lib-foo\" stdout" "flags.at:24" -( $at_check_trace; $FGREP " $flag_prefix_lib-foo" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/flags.at:24" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_64 -#AT_START_65 -at_fn_group_banner 65 'inherited_flags.at:27' \ - "inherited_linker_flags" " " 7 -at_xfail=no -( - $as_echo "65. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >foo.c <<'_ATEOF' - -int foo() { return 1;} -_ATEOF - - -cat >bar.c <<'_ATEOF' - -int bar() { return 1;} -_ATEOF - - -cat >baz.c <<'_ATEOF' - -int baz() { return 1;} -_ATEOF - - -cat >both.c <<'_ATEOF' - -int both() { return 1;} -_ATEOF - - -cat >main.c <<'_ATEOF' - -int main() { return 0;} -_ATEOF - - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o baz.lo baz.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o both.lo both.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.lo main.c -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo -rpath /nonexistent -no-undefined -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /nonexistent -no-undefined -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libboth.la both.lo -rpath /nonexistent -no-undefined - - -mv libfoo.la libfoo.la.bak -$SED -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_inlikely_existing_lib/g' < libfoo.la.bak > libfoo.la -rm libfoo.la.bak - -mv libbar.la libbar.la.bak -$SED -e 's/^inherited_linker_flags.*/inherited_linker_flags=-llt_unlikely_existing_lib/g' < libbar.la.bak > libbar.la -rm libbar.la.bak - -mv libboth.la libboth.la.bak -$SED -e "s/^inherited_linker_flags.*/inherited_linker_flags='-llt_inlikely_existing_lib -llt_unlikely_existing_lib'/g" < libboth.la.bak > libboth.la -rm libboth.la.bak - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:77: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la" "inherited_flags.at:77" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/inherited_flags.at:77" -$at_failed && at_fn_log_failure -$at_traceon; } - -# We used to grep for -# 'llt_[[ui]]nlikely_existing_lib.*llt_[[ui]]nlikely_existing_lib' -# here. This fails on win32/MSVC because the generated command lines have a -# different syntax. So drop the first 'l'. -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:83: \$LIBTOOL --features | \$GREP 'disable shared libraries' && (exit 77)" -at_fn_check_prepare_notrace 'a shell pipeline' "inherited_flags.at:83" -( $at_check_trace; $LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:83" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:84: \$GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout" -at_fn_check_prepare_dynamic "$GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout" "inherited_flags.at:84" -( $at_check_trace; $GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/inherited_flags.at:84" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:86: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la" "inherited_flags.at:86" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/inherited_flags.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:88: \$GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout" -at_fn_check_prepare_dynamic "$GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout" "inherited_flags.at:88" -( $at_check_trace; $GREP 'lt_[ui]nlikely_existing_lib.*lt_[ui]nlikely_existing_lib' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/inherited_flags.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# now check for duplicates -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:92: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la" "inherited_flags.at:92" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/inherited_flags.at:92" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:94: \$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout" -at_fn_check_prepare_dynamic "$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout" "inherited_flags.at:94" -( $at_check_trace; $GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:94" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:96: \$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout" -at_fn_check_prepare_dynamic "$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout" "inherited_flags.at:96" -( $at_check_trace; $GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:98: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la" "inherited_flags.at:98" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo -no-undefined -rpath /nonexistent ./libfoo.la ./libbar.la ./libboth.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/inherited_flags.at:98" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:100: \$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout" -at_fn_check_prepare_dynamic "$GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout" "inherited_flags.at:100" -( $at_check_trace; $GREP 'lt_inlikely_existing_lib.*lt_inlikely_existing_lib' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:100" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:102: \$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout" -at_fn_check_prepare_dynamic "$GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout" "inherited_flags.at:102" -( $at_check_trace; $GREP 'lt_unlikely_existing_lib.*lt_unlikely_existing_lib' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:102" -$at_failed && at_fn_log_failure -$at_traceon; } - - -mv libboth.la libboth.la.bak -$SED "s/^inherited_linker_flags.*/inherited_linker_flags='-framework Cocoa -framework ApplicationServices'/" < libboth.la.bak > libboth.la -rm libboth.la.bak - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:109: \$LIBTOOL -n --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -framework Cocoa -framework ApplicationServices -o libbaz.la baz.lo libboth.la -no-undefined -rpath /nonexistent" -at_fn_check_prepare_dynamic "$LIBTOOL -n --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -framework Cocoa -framework ApplicationServices -o libbaz.la baz.lo libboth.la -no-undefined -rpath /nonexistent" "inherited_flags.at:109" -( $at_check_trace; $LIBTOOL -n --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -framework Cocoa -framework ApplicationServices -o libbaz.la baz.lo libboth.la -no-undefined -rpath /nonexistent -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/inherited_flags.at:109" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:111: \$GREP Cocoa.ltframework stdout" -at_fn_check_prepare_dynamic "$GREP Cocoa.ltframework stdout" "inherited_flags.at:111" -( $at_check_trace; $GREP Cocoa.ltframework stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/inherited_flags.at:111" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/inherited_flags.at:112: \$GREP ' -framework Cocoa' stdout" -at_fn_check_prepare_dynamic "$GREP ' -framework Cocoa' stdout" "inherited_flags.at:112" -( $at_check_trace; $GREP ' -framework Cocoa' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/inherited_flags.at:112" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_65 -#AT_START_66 -at_fn_group_banner 66 'link-order.at:27' \ - "Link order test" " " 7 -at_xfail=no -( - $as_echo "66. $at_setup_line: testing $at_desc ..." - $at_traceon - - -eval `$LIBTOOL --config | $EGREP '^(hardcode_direct|hardcode_direct_absolute|shrext_cmds)='` -LDFLAGS="$LDFLAGS -no-undefined" - -module=no -eval shared_ext=\"$shrext_cmds\" - -prefix_old=`pwd`/old -prefix_new=`pwd`/new -mkdir src $prefix_old $prefix_new $prefix_old/lib $prefix_new/lib - -cat >src/c.c <<'_ATEOF' -int c = 1; -_ATEOF - - -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c src/c.c -o src/c.lo -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/libcee.la src/c.lo -rpath $prefix_old/lib -$LIBTOOL --mode=install cp src/libcee.la $prefix_old/lib/libcee.la - -for i in old new; do - rm -rf src - mkdir src - - cat >src/a_$i.c <src/b_$i.c <>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -$LIBTOOL --mode=clean rm -f src/libb.la -$LIBTOOL --mode=clean rm -f src/liba.la - -case $host_os in -aix* | interix*) ;; # These systems have different path syntax -*) - # Do not error if we do not relink (e.g. static-only systems) - case $hardcode_direct$hardcode_direct_absolute in - yesno) - { set +x -$as_echo "$at_srcdir/link-order.at:101: if \$EGREP relinking stderr; then - \$EGREP \" .*\\/new\\/lib/libb\$shared_ext .*\\/old\\/lib/libcee\$shared_ext\" stdout - else :; fi" -at_fn_check_prepare_notrace 'an embedded newline' "link-order.at:101" -( $at_check_trace; if $EGREP relinking stderr; then - $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout - else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:101" -if $at_failed; then : - echo "wrong link order" -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - ;; - *) - { set +x -$as_echo "$at_srcdir/link-order.at:106: if \$EGREP relinking stderr; then - \$EGREP \" -L.*\\/new\\/lib -lb -L.*\\/old\\/lib -lcee\" stdout - else :; fi" -at_fn_check_prepare_notrace 'an embedded newline' "link-order.at:106" -( $at_check_trace; if $EGREP relinking stderr; then - $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout - else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:106" -if $at_failed; then : - echo "wrong link order" -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - ;; - esac - ;; -esac - -for i in old new; do - cat >src/main_$i.c <>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:122" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=src/main_$i; if test -f "src/main_$i$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/link-order.at:124: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order.at:124" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link-order.at:124" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_66 -#AT_START_67 -at_fn_group_banner 67 'link-order2.at:47' \ - "Link order of deplibs" " " 7 -at_xfail=no -( - $as_echo "67. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='` - -undefined_setting=-no-undefined -shared_fails=no -case $host_os,$LDFLAGS,$allow_undefined_flag in -aix*,*-brtl*,*) ;; -aix*) shared_fails=yes ;; -darwin*,*,*-flat_namespace*) undefined_setting= ;; -darwin*,*,*) shared_fails=yes ;; -esac - -deflibdir=`pwd`/lib -defbindir=`pwd`/lib -libdir=`pwd`/inst/lib -bindir=`pwd`/inst/bin -mkdir bin lib inst inst/bin inst/lib -LDFLAGS="$LDFLAGS $undefined_setting -L$deflibdir" - -cat >a0.c <<\EOF -int a (void) { return 1; } -EOF - -cat >a1.c <<\EOF -int a (void) { return 0; } -EOF - -cat >b.c <<\EOF -int a (void); -int b (void) { return a (); } -EOF - -cat >main.c <<\EOF -#include -extern int a (void); -extern int b (void); -int main (void) -{ - return !(a () + b () == 0); -} -EOF - -for file in a0 a1 b; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c -done -$CC $CPPFLAGS $CFLAGS -c main.c - -# Build an old, installed library. -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir -$LIBTOOL --mode=install cp liba0.la $deflibdir/liba0.la -$LIBTOOL --mode=clean rm -f liba0.la - -for type_of_depdepl in libtool non-libtool; do - echo "type of depdepl: $type_of_depdepl" - if test non-libtool = "$type_of_depdepl"; then - # Simulate a non-Libtool system library. - rm $deflibdir/liba1.la - addpath=$deflibdir - if test PATH = "$shlibpath_var"; then - addpath=$defbindir - fi - sep= - eval test -n \"\$$shlibpath_var\" && sep=: - eval $shlibpath_var='$addpath$sep$'$shlibpath_var - export $shlibpath_var - fi - for static in '' -static-libtool-libs; do - case `$LIBTOOL --features` in - *disable\ static\ libraries*) test -z "$static" || continue;; - esac - test non-libtool,-static-libtool-libs = "$type_of_depdepl,$static" && - static=-all-static - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir - { set +x -$as_echo "$at_srcdir/link-order2.at:124: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$static -o main\$EXEEXT main.\$OBJEXT libb.la -la0" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0" "link-order2.at:124" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:124" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/link-order2.at:126: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order2.at:126" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:126" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # Now test that if we reverse the link order, the program fails. - { set +x -$as_echo "$at_srcdir/link-order2.at:128: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$static -o wrong\$EXEEXT main.\$OBJEXT -la0 libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la" "link-order2.at:128" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:128" -$at_failed && at_fn_log_failure -$at_traceon; } - - if test yes, != "$shared_fails,$static"; then - lt_exe=./wrong; if test -f "./wrong$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/link-order2.at:131: if \"\$lt_exe\" || (exit 1); then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" || (exit 1); then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order2.at:131" -( $at_check_trace; if "$lt_exe" || (exit 1); then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/link-order2.at:131" -$at_failed && at_fn_log_failure -$at_traceon; } - - - fi - - $LIBTOOL --mode=install cp liba1.la $libdir/liba1.la - $LIBTOOL --mode=install cp libb.la $libdir/libb.la - $LIBTOOL --mode=install cp main$EXEEXT $bindir/main$EXEEXT - $LIBTOOL --mode=install cp wrong$EXEEXT $bindir/wrong$EXEEXT - $LIBTOOL --mode=clean rm -f liba1.la libb.la - lt_exe=$bindir/main; if test -f "$bindir/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/link-order2.at:139: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order2.at:139" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:139" -$at_failed && at_fn_log_failure -$at_traceon; } - - - if test yes, = "$shared_fails,$static"; then - lt_exe=$bindir/wrong; if test -f "$bindir/wrong$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/link-order2.at:141: if \"\$lt_exe\" || (exit 1); then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" || (exit 1); then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "link-order2.at:141" -( $at_check_trace; if "$lt_exe" || (exit 1); then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/link-order2.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - - - fi - done -done - -{ set +x -$as_echo "$at_srcdir/link-order2.at:146: test no = \"\$shared_fails\" || (exit 77)" -at_fn_check_prepare_dynamic "test no = \"$shared_fails\" || (exit 77)" "link-order2.at:146" -( $at_check_trace; test no = "$shared_fails" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/link-order2.at:146" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Now the converse: if both the program and the library need libm, then -# it needs to be sorted last. (TODO) - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_67 -#AT_START_68 -at_fn_group_banner 68 'fail.at:28' \ - "Failure tests" " " 7 -at_xfail=no -( - $as_echo "68. $at_setup_line: testing $at_desc ..." - $at_traceon - - -eval `$LIBTOOL --config | $EGREP '^(pic_mode|pic_flag|build_old_libs|build_libtool_libs)='` -LDFLAGS="$LDFLAGS -no-undefined" - - - -cat >script <<'_ATEOF' -#! /bin/sh -exit 0 -_ATEOF - -chmod +x script -if test -x script >/dev/null 2>&1; then - test_x="test -x" -else - test_x=: -fi - -# compile failure -echo 'choke me' > a.c -{ set +x -$as_echo "$at_srcdir/fail.at:50: if \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c; then (exit 1); else :; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c; then (exit 1); else :; fi" "fail.at:50" -( $at_check_trace; if $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c; then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fail.at:50" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/fail.at:51: test -f a.lo" -at_fn_check_prepare_trace "fail.at:51" -( $at_check_trace; test -f a.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/fail.at:51" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# non-PIC compile failure -case $pic_mode in default | no) - case " $CFLAGS " in - *\ -prefer-pic\ *) ;; - *) - case $build_old_libs,$pic_flag in yes,*-DPIC*) - cat >a.c <<'_ATEOF' - -#ifndef PIC - choke me -#endif -_ATEOF - - { set +x -$as_echo "$at_srcdir/fail.at:64: if \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -no-suppress -c a.c; then (exit 1); else :; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -no-suppress -c a.c; then (exit 1); else :; fi" "fail.at:64" -( $at_check_trace; if $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -no-suppress -c a.c; then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fail.at:64" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/fail.at:65: test -f a.lo" -at_fn_check_prepare_trace "fail.at:65" -( $at_check_trace; test -f a.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/fail.at:65" -$at_failed && at_fn_log_failure -$at_traceon; } - - ;; - esac - ;; - esac - ;; -esac - -# program creation failure. -# We can't rely on 'main' not being present: the QNX linker -# won't error out in that case, although the resulting binary won't work. -# So we provoke a link failure due to an unresolved symbol, and require -# libtool to fail only if the link without libtool would have failed, too. -cat > a.c <<'EOF' -extern int nonexistent_function (void); -int main (void) -{ - return nonexistent_function (); -} -EOF -$CC $CPPFLAGS $CFLAGS -c a.c -if $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT; then :; else - rm -f a a$EXEEXT - { set +x -$as_echo "$at_srcdir/fail.at:88: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o a\$EXEEXT a.\$OBJEXT; then (exit 1); else :; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT; then (exit 1); else :; fi" "fail.at:88" -( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT; then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fail.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/fail.at:89: { test -f a && \$test_x a; } || { test -f a\$EXEEXT && \$test_x a\$EXEEXT; }" -at_fn_check_prepare_dynamic "{ test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; }" "fail.at:89" -( $at_check_trace; { test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; } -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/fail.at:89" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/fail.at:90: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o a\$EXEEXT a.\$OBJEXT -static; then (exit 1); else :; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT -static; then (exit 1); else :; fi" "fail.at:90" -( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a$EXEEXT a.$OBJEXT -static; then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fail.at:90" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/fail.at:91: { test -f a && \$test_x a; } || { test -f a\$EXEEXT && \$test_x a\$EXEEXT; }" -at_fn_check_prepare_dynamic "{ test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; }" "fail.at:91" -( $at_check_trace; { test -f a && $test_x a; } || { test -f a$EXEEXT && $test_x a$EXEEXT; } -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/fail.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi - -# shared library creation failure -case $build_libtool_libs in yes) - echo 'int duplicate_name(void) { return 0; }' > a.c - echo 'double duplicate_name(double x) { return 2.*x; }' > b.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c - # Unfortunately, this may actually succeed on AIX and IRIX :( - # So, also add a bogus object file to provoke more failure. - echo 'int whatever(void) { return 0;}' > c.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c.c - ( - . ./c.lo - test none = "$pic_object" || echo choke me >"$pic_object" - test none = "$non_pic_object" || echo choke me >"$non_pic_object" - ) - { set +x -$as_echo "$at_srcdir/fail.at:109: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo b.lo c.lo -rpath /foo; then (exit 1); else :; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo b.lo c.lo -rpath /foo; then (exit 1); else :; fi" "fail.at:109" -( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo b.lo c.lo -rpath /foo; then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fail.at:109" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/fail.at:110: test -f liba.la" -at_fn_check_prepare_trace "fail.at:110" -( $at_check_trace; test -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/fail.at:110" -$at_failed && at_fn_log_failure -$at_traceon; } - - ;; -esac - -# Ensure we diagnose '-L path'. -echo 'int main () { return 0; }' > d.c -echo 'int foo () { return 0; }' > space-after-L.c -$CC $CPPFLAGS $CFLAGS -c d.c -$CC $CPPFLAGS $CFLAGS -c space-after-L.c -{ set +x -$as_echo "$at_srcdir/fail.at:119: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -L space-after-L.\$OBJEXT -o d\$EXEEXT d.\$OBJEXT; then (exit 1); else :; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -L space-after-L.$OBJEXT -o d$EXEEXT d.$OBJEXT; then (exit 1); else :; fi" "fail.at:119" -( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -L space-after-L.$OBJEXT -o d$EXEEXT d.$OBJEXT; then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fail.at:119" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/fail.at:120: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o d\$EXEEXT d.\$OBJEXT -L; then (exit 1); else :; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o d$EXEEXT d.$OBJEXT -L; then (exit 1); else :; fi" "fail.at:120" -( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o d$EXEEXT d.$OBJEXT -L; then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fail.at:120" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_68 -#AT_START_69 -at_fn_group_banner 69 'shlibpath.at:26' \ - "shlibpath_overrides_runpath" " " 7 -at_xfail=no -( - $as_echo "69. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -mkdir sub sub/lib sub/bin -echo 'int a () { return 0; }' > a.c -echo 'extern int a (); int main () { return a(); }' > m.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib -$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la -$LIBTOOL --mode=clean rm -f liba.la -rm -f sub/lib/liba.la - -$CC $CPPFLAGS $CFLAGS -c m.c -{ set +x -$as_echo "$at_srcdir/shlibpath.at:39: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m\$EXEEXT m.\$OBJEXT -Lsub/lib -la -R\`pwd\`/sub/lib" -at_fn_check_prepare_notrace 'a `...` command substitution' "shlibpath.at:39" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT -Lsub/lib -la -R`pwd`/sub/lib -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:39" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/shlibpath.at:41: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m2\$EXEEXT m.\$OBJEXT -Lsub/lib -la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT -Lsub/lib -la" "shlibpath.at:41" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT -Lsub/lib -la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:41" -$at_failed && at_fn_log_failure -$at_traceon; } - - -$mkdir_p moved -(cd sub && find . -type d) | (cd moved && xargs $mkdir_p) -for file in `cd sub && find . -type f -print -o -type l -print` -do - mv sub/$file moved/$file -done -rm -rf sub - -mkdir sub sub/lib sub/bin -echo 'int wrong_lib () { return 0; }' > a.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib -$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la -$LIBTOOL --mode=clean rm -f liba.la - -eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shlibpath_overrides_runpath)='` - -# No point checking a system with static libraries: -lt_exe=./m; if test -f "./m$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/shlibpath.at:55: if \"\$lt_exe\" || exit 1 && exit 77; then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" || exit 1 && exit 77; then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "shlibpath.at:55" -( $at_check_trace; if "$lt_exe" || exit 1 && exit 77; then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/shlibpath.at:55" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -if test PATH = "$shlibpath_var"; then - addpath=`pwd`/moved/bin -else - addpath=`pwd`/moved/lib -fi -sep= -eval test -n \"\$$shlibpath_var\" && sep=: -eval $shlibpath_var='$addpath$sep$'$shlibpath_var -export $shlibpath_var -if test no != "$shlibpath_overrides_runpath"; then - lt_exe=./m; if test -f "./m$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/shlibpath.at:67: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "shlibpath.at:67" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:67" -$at_failed && at_fn_log_failure -$at_traceon; } - - -else - lt_exe=./m; if test -f "./m$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/shlibpath.at:69: if \"\$lt_exe\" || exit 1; then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" || exit 1; then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "shlibpath.at:69" -( $at_check_trace; if "$lt_exe" || exit 1; then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/shlibpath.at:69" -$at_failed && at_fn_log_failure -$at_traceon; } - - -fi -# Test that shlibpath_var is effective in adding paths at all: -lt_exe=./m2; if test -f "./m2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/shlibpath.at:72: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "shlibpath.at:72" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/shlibpath.at:72" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_69 -#AT_START_70 -at_fn_group_banner 70 'runpath-in-lalib.at:26' \ - "Runpath in libtool library files" " " 7 -at_xfail=no -( - $as_echo "70. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >a.c <<'_ATEOF' -int a () { return 0; } -_ATEOF - -cat >b.c <<'_ATEOF' -extern int a (); -int b () { return a (); } -_ATEOF - -cat >m.c <<'_ATEOF' -extern int b (); -int main () { return b (); } -_ATEOF - - -instdir=`pwd`/inst -libdir=$instdir/lib -bindir=$instdir/bin -addrunpath=`pwd`/foobar - -mkdir $instdir $libdir $bindir - -for file in a.c b.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -$CC $CPPFLAGS $CFLAGS -c m.c -{ set +x -$as_echo "$at_srcdir/runpath-in-lalib.at:52: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -rpath \$libdir -R\$addrunpath" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -R$addrunpath" "runpath-in-lalib.at:52" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -R$addrunpath -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:52" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/runpath-in-lalib.at:54: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb.la b.lo -rpath \$libdir liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir liba.la" "runpath-in-lalib.at:54" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:54" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/runpath-in-lalib.at:56: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m\$EXEEXT m.\$OBJEXT libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT libb.la" "runpath-in-lalib.at:56" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:56" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/runpath-in-lalib.at:58: \$LIBTOOL --mode=install cp liba.la \$libdir/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir/liba.la" "runpath-in-lalib.at:58" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:58" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/runpath-in-lalib.at:59: \$LIBTOOL --mode=install cp libb.la \$libdir/libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libb.la $libdir/libb.la" "runpath-in-lalib.at:59" -( $at_check_trace; $LIBTOOL --mode=install cp libb.la $libdir/libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:59" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/runpath-in-lalib.at:60: \$LIBTOOL --mode=install cp m\$EXEEXT \$bindir/m\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT" "runpath-in-lalib.at:60" -( $at_check_trace; $LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:60" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/runpath-in-lalib.at:62: \$GREP /foobar \$libdir/liba.la" -at_fn_check_prepare_dynamic "$GREP /foobar $libdir/liba.la" "runpath-in-lalib.at:62" -( $at_check_trace; $GREP /foobar $libdir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/runpath-in-lalib.at:63: \$GREP /foobar \$libdir/libb.la" -at_fn_check_prepare_dynamic "$GREP /foobar $libdir/libb.la" "runpath-in-lalib.at:63" -( $at_check_trace; $GREP /foobar $libdir/libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/runpath-in-lalib.at:63" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# TODO: check that m gets -R, too. - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_70 -#AT_START_71 -at_fn_group_banner 71 'static.at:69' \ - "static linking flags for programs" " " 7 -at_xfail=no -( - $as_echo "71. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -LDFLAGS="$LDFLAGS -no-undefined" -prefix=`pwd`/inst -bindir=$prefix/bin -prefix1=`pwd`/inst1 -prefix2=`pwd`/inst2 -prefix3=`pwd`/inst3 -libdir1=$prefix1/lib -libdir2=$prefix2/lib -libdir3=$prefix3/lib -srcdir_broken=`pwd`/broken-src -prefix_broken=`pwd`/broken -libdir_broken=$prefix_broken/lib -bindir_broken=$prefix_broken/bin - -have_static=false -have_shared=false -per_deplib=false -$LIBTOOL --features | $GREP 'enable static libraries' >/dev/null && have_static=: -$LIBTOOL --features | $GREP 'enable shared libraries' >/dev/null && have_shared=: -eval `$LIBTOOL --config | - $EGREP '^(per_deplib_(static|dynamic)_flag|shlibpath_var|link_static_flag)='` -if test -n "$per_deplib_static_flag" && test -n "$per_deplib_dynamic_flag"; then - per_deplib=: -fi -# On GNU/Linux with --disable-static, m-all-static fails to link. -# What we'd like to state here is: if the user actively passed -# --disable-static (as opposed to: the libtool.m4 macros set -# enable_static=no), then they cannot expect -all-static to work. -# So we punt, knowing that we mangle enable_static on AIX only. -can_link_all_static=-all-static -case $host_os,$have_static,$link_static_flag in - aix*) ;; - *,false,?*) can_link_all_static= ;; -esac - -# Create broken libraries. They will later be moved to those -# directories where the respective libraries should be linked -# statically from. This detects both failure to link statically -# and failure to omit extraneous run paths. -mkdir $srcdir_broken $prefix_broken $libdir_broken -( - cd $srcdir_broken - echo 'int this_should_not_be_linked_against() { return 0; }' > a.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c - for i in 1 1dep 2 2dep 3 3dep; do - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a.lo -rpath $libdir_broken - $LIBTOOL --mode=install cp liba$i.la $libdir_broken/liba$i.la - done -) - -func_fix_path () -{ - # For w32, hardcoding cannot work, but $libdir/../bin is where binaries - # usually are installed. Since we use several prefixes for testing - # convenience -- it allows us to replace the good libraries easily with - # broken ones and vice versa -- we have to set PATH to find them. - # Since OTOH we put broken libs of all names in the "moved" prefixes, - # we have to ensure that this prefix comes last: otherwise we may link - # against a broken library but the good one would come later in the PATH. - # So we let the caller of this function set the order: the "other" two - # come first. - if test PATH = "$shlibpath_var"; then - save_PATH=$PATH - sep= - test -z "$PATH" || sep=: - PATH=$2/bin:$3/bin:$1/bin$sep$PATH - fi - -} - -func_restore_path () -{ - test PATH = "$shlibpath_var" && PATH=$save_PATH -} - -# func_move_libs srcdir_to_move prefix_to_move other_prefix other_prefix -func_move_libs () -{ - $mkdir_p "$1-moved" -(cd "$1" && find . -type d) | (cd "$1-moved" && xargs $mkdir_p) -for file in `cd "$1" && find . -type f -print -o -type l -print` -do - mv "$1"/$file "$1-moved"/$file -done -rm -rf "$1" - - $mkdir_p "$2-moved" -(cd "$2" && find . -type d) | (cd "$2-moved" && xargs $mkdir_p) -for file in `cd "$2" && find . -type f -print -o -type l -print` -do - mv "$2"/$file "$2-moved"/$file -done -rm -rf "$2" - - $mkdir_p "$1" -(cd "$srcdir_broken" && find . -type d) | (cd "$1" && xargs $mkdir_p) -for file in `cd "$srcdir_broken" && find . -type f -print -o -type l -print` -do - mv "$srcdir_broken"/$file "$1"/$file -done -rm -rf "$srcdir_broken" - - $mkdir_p "$2" -(cd "$prefix_broken" && find . -type d) | (cd "$2" && xargs $mkdir_p) -for file in `cd "$prefix_broken" && find . -type f -print -o -type l -print` -do - mv "$prefix_broken"/$file "$2"/$file -done -rm -rf "$prefix_broken" - - func_fix_path "$2" "$3" "$4" -} - -# func_restore_libs srcdir_to_restore prefix_to_restore -func_restore_libs () -{ - func_restore_path - $mkdir_p "$prefix_broken" -(cd "$2" && find . -type d) | (cd "$prefix_broken" && xargs $mkdir_p) -for file in `cd "$2" && find . -type f -print -o -type l -print` -do - mv "$2"/$file "$prefix_broken"/$file -done -rm -rf "$2" - - $mkdir_p "$srcdir_broken" -(cd "$1" && find . -type d) | (cd "$srcdir_broken" && xargs $mkdir_p) -for file in `cd "$1" && find . -type f -print -o -type l -print` -do - mv "$1"/$file "$srcdir_broken"/$file -done -rm -rf "$1" - - $mkdir_p "$2" -(cd "$2-moved" && find . -type d) | (cd "$2" && xargs $mkdir_p) -for file in `cd "$2-moved" && find . -type f -print -o -type l -print` -do - mv "$2-moved"/$file "$2"/$file -done -rm -rf "$2-moved" - - $mkdir_p "$1" -(cd "$1-moved" && find . -type d) | (cd "$1" && xargs $mkdir_p) -for file in `cd "$1-moved" && find . -type f -print -o -type l -print` -do - mv "$1-moved"/$file "$1"/$file -done -rm -rf "$1-moved" - -} - -# make sure the program can be run. -func_test_exec () -{ - # On AIX without runtimelinking, this does not make sense. - if $have_static; then - echo "## The following should succeed:" - for st - do - echo "# m$st" - lt_exe=./m$st; if test -f "./m$st$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/static.at:177: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "static.at:177" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/static.at:177" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # For some per-deplib flag combinations there may be no installed program, - # because liba2 is not yet installed. - if test -f "$bindir/m$st$EXEEXT"; then - lt_exe=$bindir/m$st; if test -f "$bindir/m$st$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/static.at:181: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "static.at:181" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/static.at:181" -$at_failed && at_fn_log_failure -$at_traceon; } - - - fi - done - fi -} - -# make sure the program cannot be run. -func_test_exec_fail () -{ - # No point in testing if we're linking statically anyway. - # TODO: Maybe in the 'else' case we could test for success? - if $have_shared; then - echo "## The following should fail:" - for st - do - echo "# m$st" - lt_exe=./m$st; if test -f "./m$st$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/static.at:197: if \"\$lt_exe\" || (exit 1); then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" || (exit 1); then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "static.at:197" -( $at_check_trace; if "$lt_exe" || (exit 1); then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/static.at:197" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # For some per-deplib flag combinations there may be no installed program, - # because liba2 is not yet installed. - if test -f "$bindir/m$st$EXEEXT"; then - lt_exe=$bindir/m$st; if test -f "$bindir/m$st$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/static.at:201: if \"\$lt_exe\" || (exit 1); then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" || (exit 1); then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "static.at:201" -( $at_check_trace; if "$lt_exe" || (exit 1); then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/static.at:201" -$at_failed && at_fn_log_failure -$at_traceon; } - - - fi - done - fi -} - - -# Try three independent libraries, -# one installed libtool library, -# one uninstalled libtool library, -# one non-libtool library, -# the libtool libraries each having a dependency, or not. -# Try both an uninstalled and the corresponding installed program. - -for withdep in no yes; do - echo - echo "### libraries with dependencies: $withdep" - rm -rf src $prefix $prefix1 $prefix2 $prefix3 - mkdir src $prefix $bindir $prefix1 $prefix2 $prefix3 - cd src - - ### build the libraries. - for i in 1 2 3; do - eval ldir=\$libdir$i - mkdir a$i $ldir - cd a$i - case $withdep,$i in - no,* | yes,3) - echo "int a$i() { return 0; }" > a$i.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -rpath $ldir - ;; - *) - echo "int a${i}dep() { return 0; }" > a${i}dep.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a${i}dep.c - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba${i}dep.la a${i}dep.lo -rpath $ldir - echo "extern int a${i}dep(); int a$i() { return a${i}dep(); }" > a$i.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a$i.c - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la a$i.lo -rpath $ldir ./liba${i}dep.la - ;; - esac - cd .. - done - - ### install the libraries. - test yes = "$withdep" && $LIBTOOL --mode=install cp a1/liba1dep.la $libdir1/liba1dep.la - $LIBTOOL --mode=install cp a1/liba1.la $libdir1/liba1.la - $LIBTOOL --mode=install cp a3/liba3.la $libdir3/liba3.la - $LIBTOOL --mode=clean rm -f a1/liba1.la a3/liba3.la - test yes = "$withdep" && $LIBTOOL --mode=clean rm -f a1/liba1dep.la - # simulate a non-libtool lib: - rm -f $libdir3/liba3.la - - - ### build the programs. - echo 'extern int a1(), a2(), a3(); - int main() { return a1() + a2() + a3(); }' > m.c - $CC $CPPFLAGS $CFLAGS -c m.c - - # global static flags. - for st in -static -static-libtool-libs $can_link_all_static; do - { set +x -$as_echo "$at_srcdir/static.at:262: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$st -o m\$st\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -la1 a2/liba2.la -L\$libdir3 -R\$libdir3 -la3" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:262" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o m$st$EXEEXT m.$OBJEXT \ - -L$libdir1 -la1 a2/liba2.la -L$libdir3 -R$libdir3 -la3 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:262" -$at_failed && at_fn_log_failure -$at_traceon; } - - done - - # per-deplib static/shared flags. - # also try a bit redundant flags, and shuffled order (for run paths check). - if $per_deplib; then - { set +x -$as_echo "$at_srcdir/static.at:270: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m1\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la -L\$libdir3 -R\$libdir3 -la3" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:270" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la -L$libdir3 -R$libdir3 -la3 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:270" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/static.at:273: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m2\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic -L\$libdir3 -R\$libdir3 -la3" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:273" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT \ - -L$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic -L$libdir3 -R$libdir3 -la3 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:273" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/static.at:276: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m3\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -la1 a2/liba2.la -L\$libdir3 -Bstatic -la3 -Bdynamic" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:276" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT m.$OBJEXT \ - -L$libdir1 -la1 a2/liba2.la -L$libdir3 -Bstatic -la3 -Bdynamic -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:276" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/static.at:279: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m12\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -Bstatic -la1 a2/liba2.la -Bdynamic -L\$libdir3 -R\$libdir3 -la3" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:279" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m12$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 a2/liba2.la -Bdynamic -L$libdir3 -R$libdir3 -la3 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:279" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/static.at:282: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m13\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la \\ - -L\$libdir3 -Bstatic -la3 -Bdynamic" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:282" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m13$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 -Bdynamic a2/liba2.la \ - -L$libdir3 -Bstatic -la3 -Bdynamic -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:282" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/static.at:286: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m31\$EXEEXT m.\$OBJEXT \\ - -L\$libdir3 -Bstatic -la3 -Bdynamic a2/liba2.la \\ - -L\$libdir1 -Bstatic -la1 -Bdynamic" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:286" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m31$EXEEXT m.$OBJEXT \ - -L$libdir3 -Bstatic -la3 -Bdynamic a2/liba2.la \ - -L$libdir1 -Bstatic -la1 -Bdynamic -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:286" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/static.at:290: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m23\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic \\ - -L\$libdir3 -Bstatic -la3 -Bdynamic" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:290" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m23$EXEEXT m.$OBJEXT \ - -L$libdir1 -la1 -Bstatic a2/liba2.la -Bdynamic \ - -L$libdir3 -Bstatic -la3 -Bdynamic -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/static.at:294: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m123\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -Bstatic -la1 a2/liba2.la -L\$libdir3 -la3 -Bdynamic" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:294" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 a2/liba2.la -L$libdir3 -la3 -Bdynamic -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:294" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/static.at:297: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m123a\$EXEEXT m.\$OBJEXT \\ - -L\$libdir1 -Bstatic -la1 -Bdynamic -Bstatic a2/liba2.la -Bdynamic \\ - -Bstatic -L\$libdir3 -la3 -Bdynamic" -at_fn_check_prepare_notrace 'an embedded newline' "static.at:297" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m123a$EXEEXT m.$OBJEXT \ - -L$libdir1 -Bstatic -la1 -Bdynamic -Bstatic a2/liba2.la -Bdynamic \ - -Bstatic -L$libdir3 -la3 -Bdynamic -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:297" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - - ### install the programs. - # We can't install any program that links dynamically against liba2. - for st in -static -static-libtool-libs $can_link_all_static `$per_deplib && echo 2 12 23 123 123a`; do - echo "# m$st" - { set +x -$as_echo "$at_srcdir/static.at:311: \$LIBTOOL --mode=install cp m\$st\$EXEEXT \$bindir/m\$st\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$st$EXEEXT $bindir/m$st$EXEEXT" "static.at:311" -( $at_check_trace; $LIBTOOL --mode=install cp m$st$EXEEXT $bindir/m$st$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:311" -$at_failed && at_fn_log_failure -$at_traceon; } - - if $have_static; then - { set +x -$as_echo "$at_srcdir/static.at:313: \$EGREP 'relinking|has not been installed' stderr" -at_fn_check_prepare_notrace 'a shell pipeline' "static.at:313" -( $at_check_trace; $EGREP 'relinking|has not been installed' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/static.at:313" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - done - - - ### Run each program once so that relinking has happened. - - func_fix_path $prefix1 $prefix2 $prefix3 - func_test_exec -static -static-libtool-libs -all-static `$per_deplib && echo 1 2 3 12 13 23 31 123 123a` - func_restore_path - - # For each library: - # - remove the library images to catch failure to link statically/dynamically, - # - add false other deplibs in the paths to catch (some) wrongly added run paths. - - # if '-all-static' does not work, do not exercise it any more. - all_static=-all-static - test -z "$link_static_flag" && all_static= - - echo "### test whether installed libtool library liba2 was linked statically" - func_move_libs a2 $prefix2 $prefix3 $prefix1 - func_test_exec -static -static-libtool-libs $all_static `$per_deplib && echo 2 12 23 123 123a` - $per_deplib && func_test_exec_fail 1 3 13 31 - func_restore_libs a2 $prefix2 - - echo "### test whether uninstalled libtool library liba1 was linked statically" - func_move_libs a1 $prefix1 $prefix2 $prefix3 - func_test_exec -static-libtool-libs $all_static `$per_deplib && echo 1 12 13 31 123 123a` - $per_deplib && func_test_exec_fail -static 2 3 23 - func_restore_libs a1 $prefix1 - - echo "### test whether non-libtool library liba3 was linked statically" - func_move_libs a3 $prefix3 $prefix1 $prefix2 - func_test_exec $all_static `$per_deplib && echo 3 13 23 31 123 123a` - # no '-static-libtool-libs' flag below, because some hosts such as - # Cray prefer static libs by default. - # and doesn't exercise anything not already tested above: - func_test_exec_fail -static `$per_deplib && echo 1 2 12` - func_restore_libs a3 $prefix3 - - cd .. -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_71 -#AT_START_72 -at_fn_group_banner 72 'static.at:360' \ - "ccache -all-static" " " 7 -at_xfail=no -( - $as_echo "72. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >ccache <<'_ATEOF' -#! /bin/sh -# poor man's ccache clone -case $1 in --*) echo "bogus argument: $1" >&2; exit 1 ;; -esac -exec "$@" -_ATEOF - -chmod +x ./ccache - -cat >a.c <<'_ATEOF' -int main(void) { return 0; } -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/static.at:376: \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c a.c" "static.at:376" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:376" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/static.at:377: \$LIBTOOL --mode=link --tag=CC ./ccache \$CC \$CFLAGS \$LDFLAGS -all-static a.\$OBJEXT -o a\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC ./ccache $CC $CFLAGS $LDFLAGS -all-static a.$OBJEXT -o a$EXEEXT" "static.at:377" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC ./ccache $CC $CFLAGS $LDFLAGS -all-static a.$OBJEXT -o a$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/static.at:377" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_72 -#AT_START_73 -at_fn_group_banner 73 'export.at:26' \ - "Export test" " " 7 -at_xfail=no -( - $as_echo "73. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/export.at:29: \$LIBTOOL --features | \$GREP 'disable shared libraries' && (exit 77)" -at_fn_check_prepare_notrace 'a shell pipeline' "export.at:29" -( $at_check_trace; $LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/export.at:29" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/export.at:31: eval \`\$LIBTOOL --config | \$SED -n '/^archive_expsym_cmds=/,/^\$/p'\` - test -n \"\$archive_expsym_cmds\" || echo false >can-hide - case \$archive_expsym_cmds in - *-retain-symbols-file*) echo false >can-hide ;; - esac" -at_fn_check_prepare_notrace 'a `...` command substitution' "export.at:31" -( $at_check_trace; eval `$LIBTOOL --config | $SED -n '/^archive_expsym_cmds=/,/^$/p'` - test -n "$archive_expsym_cmds" || echo false >can-hide - case $archive_expsym_cmds in - *-retain-symbols-file*) echo false >can-hide ;; - esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/export.at:31" -$at_failed && at_fn_log_failure -$at_traceon; } - -can_hide=: -test -s can-hide && can_hide=false - -LDFLAGS="$LDFLAGS -no-undefined" -libdir=`pwd`/inst/lib -mkdir inst inst/lib - -cat >a.c <<'_ATEOF' -/* all kinds of data items */ -#ifdef __cplusplus -extern "C" { -#endif - -int v1; -static int v2; -int v3 = 0; -int v4 = 1; -extern const int v5, v6; -extern const char *v7; -extern const char v8[]; -extern int (*const v12) (void); -const int v5 = 0; -const int v6 = 1; -const char* v7 = "\01foo"; -const char v8[] = "\01bar"; -int v9(void) { return v2 + 1; } -int (*v10) (void); -int (*v11) (void) = v9; -int (*const v12) (void) = v9; - -typedef struct { int arr[1000]; } large; -large v13; -large v14 = { { 0 } }; -large v15 = { { 1 } }; - -int w1 (void) { return 0; } - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >asyms <<'_ATEOF' -v1 -v3 -v4 -v5 -v6 -v7 -v8 -v9 -v10 -v11 -v12 -v13 -v14 -v15 -_ATEOF - - -cat >main.c <<'_ATEOF' - -/* w32 fun. With GCC, you can have auto-import, which will work for - * functions and non-const variables. With MSVC, you have to explicitly - * import all variables. Depending on the amount of portability, you - * need these annotations: LIBA_SCOPE for GCC, and also LIBA_SCOPE_VAR - * for MSVC. Of course you can merge both to one, this test only avoids - * that in order to expose the auto-import feature on Cygwin. - * - * For users, it's best to realize that they should not provide any - * non-function API at all. - */ -#if defined LIBA_DLL_IMPORT -# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ -# define LIBA_SCOPE extern __declspec(dllimport) -# if defined _MSC_VER -# define LIBA_SCOPE_VAR LIBA_SCOPE -# endif -# endif -#endif -#if !defined LIBA_SCOPE -# define LIBA_SCOPE extern -#endif -#if !defined LIBA_SCOPE_VAR -# define LIBA_SCOPE_VAR extern -#endif -#ifdef __cplusplus -extern "C" { -#endif -LIBA_SCOPE_VAR int v1; -LIBA_SCOPE_VAR int v3, v4; -LIBA_SCOPE const int v5, v6; -LIBA_SCOPE_VAR const char* v7; -LIBA_SCOPE_VAR const char v8[]; -extern int v9(void); -LIBA_SCOPE_VAR int (*v10) (void); -LIBA_SCOPE_VAR int (*v11) (void); -LIBA_SCOPE int (*const v12) (void); -#ifdef __cplusplus -} -#endif - -typedef struct { int arr[1000]; } large; -LIBA_SCOPE_VAR large v13, v14, v15; - -int main (void) -{ - char s = v7[0] + v8[0]; - return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() - + v13.arr[0] + v14.arr[0] + v15.arr[0] - - 8; -} -_ATEOF - - -cat >broken.c <<'_ATEOF' - -/* these symbols should not be exported */ -#ifdef __cplusplus -extern "C" { -#endif -extern int w1 (void); -#ifdef __cplusplus -} -#endif -int main (void) -{ - return w1 (); -} -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/export.at:165: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "export.at:165" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:165" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/export.at:166: \$CC \$CPPFLAGS -DLIBA_DLL_IMPORT \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c" "export.at:166" -( $at_check_trace; $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:166" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/export.at:167: \$CC \$CPPFLAGS \$CFLAGS -c broken.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c broken.c" "export.at:167" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c broken.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:167" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for exportsyms in '' '-export-symbols-regex "v.*"' '-export-symbols asyms' -do - # case 1: shared library built from object. - echo "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \\ - -rpath $libdir' $exportsyms"; { set +x -$as_echo "$at_srcdir/export.at:172: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo \\ - -rpath \$libdir' \$exportsyms" -at_fn_check_prepare_notrace 'an embedded newline' "export.at:172" -( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \ - -rpath $libdir' $exportsyms -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:172" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/export.at:174: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la" "export.at:174" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:174" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/export.at:176: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "export.at:176" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/export.at:176" -$at_failed && at_fn_log_failure -$at_traceon; } - - - if test -n "$exportsyms" && $can_hide; then - { set +x -$as_echo "$at_srcdir/export.at:178: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o broken\$EXEEXT broken.\$OBJEXT liba.la - then (exit 1); else :; fi" -at_fn_check_prepare_notrace 'an embedded newline' "export.at:178" -( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o broken$EXEEXT broken.$OBJEXT liba.la - then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:178" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - - # case 2: shared library built from convenience archive. - { set +x -$as_echo "$at_srcdir/export.at:183: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libconv.la a.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libconv.la a.lo" "export.at:183" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libconv.la a.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:183" -$at_failed && at_fn_log_failure -$at_traceon; } - - echo "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la libconv.la \\ - -rpath $libdir' $exportsyms"; { set +x -$as_echo "$at_srcdir/export.at:185: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la libconv.la \\ - -rpath \$libdir' \$exportsyms" -at_fn_check_prepare_notrace 'an embedded newline' "export.at:185" -( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la libconv.la \ - -rpath $libdir' $exportsyms -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/export.at:187: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la" "export.at:187" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:187" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/export.at:189: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "export.at:189" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/export.at:189" -$at_failed && at_fn_log_failure -$at_traceon; } - - - if test -n "$exportsyms" && $can_hide; then - { set +x -$as_echo "$at_srcdir/export.at:191: if \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o broken\$EXEEXT broken.\$OBJEXT liba.la - then (exit 1); else :; fi" -at_fn_check_prepare_notrace 'an embedded newline' "export.at:191" -( $at_check_trace; if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o broken$EXEEXT broken.$OBJEXT liba.la - then (exit 1); else :; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export.at:191" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi -done - -{ set +x -$as_echo "$at_srcdir/export.at:196: \$can_hide || (exit 77)" -at_fn_check_prepare_dynamic "$can_hide || (exit 77)" "export.at:196" -( $at_check_trace; $can_hide || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/export.at:196" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_73 -#AT_START_74 -at_fn_group_banner 74 'export-def.at:25' \ - "export from a DLL with a .def file" " " 7 -at_xfail=no -( - $as_echo "74. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/export-def.at:28: \$LIBTOOL --features | \$GREP 'disable shared libraries' && (exit 77)" -at_fn_check_prepare_notrace 'a shell pipeline' "export-def.at:28" -( $at_check_trace; $LIBTOOL --features | $GREP 'disable shared libraries' && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/export-def.at:28" -$at_failed && at_fn_log_failure -$at_traceon; } - -eval `$LIBTOOL --config | $EGREP '^(shrext_cmds|libname_spec|soname_spec)='` - -eval shared_ext=\"$shrext_cmds\" - -# skip if not building a .dll -{ set +x -$as_echo "$at_srcdir/export-def.at:35: test .dll = \"\$shared_ext\" || (exit 77)" -at_fn_check_prepare_dynamic "test .dll = \"$shared_ext\" || (exit 77)" "export-def.at:35" -( $at_check_trace; test .dll = "$shared_ext" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:35" -$at_failed && at_fn_log_failure -$at_traceon; } - - -LDFLAGS="$LDFLAGS -no-undefined" -libdir=`pwd`/inst/lib -mkdir inst inst/lib - -cat >a.c <<'_ATEOF' -/* a */ -#ifdef __cplusplus -extern "C" { -#endif - -int v1 = -1; -int v2 (void) { return -2; } - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >syms <<'_ATEOF' -v1 -v2 -_ATEOF - - -cat >def1 <<'_ATEOF' -EXPORTS -v1 DATA -v2 -_ATEOF - - -cat >def2 <<'_ATEOF' -; Def file - ; with some very important comments -EXPORTS -v1 DATA -v2 -_ATEOF - - -cat >def3 <<'_ATEOF' - - EXPORTS v1 DATA - v2 -_ATEOF - - -cat >def4 <<'_ATEOF' - LIBRARY %soname% -EXPORTS -v1 DATA -v2 -_ATEOF - - -cat >main.c <<'_ATEOF' - -/* w32 fun. With GCC, you can have auto-import, which will work for - * functions and non-const variables. With MSVC, you have to explicitly - * import all variables. - * - * For users, it's best to realize that they should not provide any - * non-function API at all. - */ -#if defined LIBA_DLL_IMPORT -# if defined _WIN32 && defined _MSC_VER -# define LIBA_SCOPE_VAR extern __declspec(dllimport) -# endif -#endif -#if !defined LIBA_SCOPE_VAR -# define LIBA_SCOPE_VAR extern -#endif -#ifdef __cplusplus -extern "C" { -#endif -LIBA_SCOPE_VAR int v1; -extern int v2(void); -#ifdef __cplusplus -} -#endif - -int main (void) -{ - return v1 + v2() + 3; -} -_ATEOF - - -name=a -eval libname=\"$libname_spec\" -major=0 -versuffix=-$major -eval soname=\"$soname_spec\" - -{ set +x -$as_echo "$at_srcdir/export-def.at:125: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "export-def.at:125" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:125" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/export-def.at:126: \$CC \$CPPFLAGS -DLIBA_DLL_IMPORT \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c" "export-def.at:126" -( $at_check_trace; $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:126" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for exportsyms in syms def1 def2 def3 def4 -do - $SED "s/%soname%/$soname/" -i $exportsyms - - echo "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \\ - -rpath $libdir' -export-symbols $exportsyms"; { set +x -$as_echo "$at_srcdir/export-def.at:132: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo \\ - -rpath \$libdir' -export-symbols \$exportsyms" -at_fn_check_prepare_notrace 'an embedded newline' "export-def.at:132" -( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo \ - -rpath $libdir' -export-symbols $exportsyms -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:132" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/export-def.at:134: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la" "export-def.at:134" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:134" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/export-def.at:136: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "export-def.at:136" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/export-def.at:136" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_74 -#AT_START_75 -at_fn_group_banner 75 'search-path.at:25' \ - "sys_lib_search_path" " " 7 -at_xfail=no -( - $as_echo "75. $at_setup_line: testing $at_desc ..." - $at_traceon - - -LDFLAGS="$LDFLAGS -no-undefined" - -cat >main.c <<'_ATEOF' -extern -#ifdef __cplusplus -"C" -#endif -int inflate (); -int main() -{ - return inflate (); -} -_ATEOF - - -$CC $CPPFLAGS $CFLAGS -c main.c -eval `$LIBTOOL --config | $EGREP '^(sys_lib_search_path_spec)='` -eval sys_lib_search_path=\"$sys_lib_search_path_spec\" -no_libz=: -for path in $sys_lib_search_path; do - if $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$path -lz - then - { set +x -$as_echo "$at_srcdir/search-path.at:48: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -lz" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -lz" "search-path.at:48" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -lz -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:48" -$at_failed && at_fn_log_failure -$at_traceon; } - - no_libz=false - break - fi -done - -# If -lz doesn't exist (hello, cross compiler!), we need a dummy test. -if $no_libz; then - { set +x -$as_echo "$at_srcdir/search-path.at:57: exit 77" -at_fn_check_prepare_trace "search-path.at:57" -( $at_check_trace; exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:57" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_75 -#AT_START_76 -at_fn_group_banner 76 'search-path.at:63' \ - "sys_lib_search_path on w32" " " 7 -at_xfail=no -( - $as_echo "76. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# Check if libtool knows the path to system libraries. Using -# a w32 system library since the test is designed to check if -# the libtool handling of the sys_lib_search_path variable is -# correct for MSVC. - -LDFLAGS="$LDFLAGS -no-undefined" - -cat >gc.c <<'_ATEOF' -#include -HCURSOR get_cursor (void) -{ - return GetCursor (); -} -_ATEOF - - -eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`" -{ set +x -$as_echo "$at_srcdir/search-path.at:82: test yes = \"\$build_libtool_libs\" || exit 77" -at_fn_check_prepare_dynamic "test yes = \"$build_libtool_libs\" || exit 77" "search-path.at:82" -( $at_check_trace; test yes = "$build_libtool_libs" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:82" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/search-path.at:84: \$LIBTOOL --mode=compile --tag=CC \\ - \$CC \$CPPFLAGS \$CFLAGS -o gc.lo -c gc.c || exit 77" -at_fn_check_prepare_notrace 'an embedded newline' "search-path.at:84" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC \ - $CC $CPPFLAGS $CFLAGS -o gc.lo -c gc.c || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:84" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Ok, compile was fine, then it should be possible to link too. - -{ set +x -$as_echo "$at_srcdir/search-path.at:90: \$LIBTOOL --mode=link --tag=CC --tag=disable-static \\ - \$CC \$CFLAGS \$LDFLAGS -o libgc.la gc.lo -rpath /nowhere -luser32" -at_fn_check_prepare_notrace 'an embedded newline' "search-path.at:90" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC --tag=disable-static \ - $CC $CFLAGS $LDFLAGS -o libgc.la gc.lo -rpath /nowhere -luser32 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:90" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# If -luser32 was found, then libtool will build a shared library, -# otherwise libtool will fall back to creating a static library. -{ set +x -$as_echo "$at_srcdir/search-path.at:96: \$GREP old_library=\\'\\' libgc.la" -at_fn_check_prepare_dynamic "$GREP old_library=\\'\\' libgc.la" "search-path.at:96" -( $at_check_trace; $GREP old_library=\'\' libgc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/search-path.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_76 -#AT_START_77 -at_fn_group_banner 77 'indirect_deps.at:26' \ - "indirect convenience" " " 7 -at_xfail=no -( - $as_echo "77. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >a.c <<'_ATEOF' - -#include -int a () { return 0; } -double ad (double x) { return sin (x); } -_ATEOF - -cat >b.c <<'_ATEOF' - -extern int a (); -extern double ad (double); -int b () { return a () + (int) ad (0.0); } -_ATEOF - -cat >c.c <<'_ATEOF' - -extern int b (); -int c () { return b (); } -_ATEOF - -cat >m.c <<'_ATEOF' - -extern int c (); -int main () { return c (); } -_ATEOF - - -LDFLAGS="$LDFLAGS -no-undefined" -for file in a.c b.c c.c; do - $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c $file -done -$CC $CPPFLAGS $CFLAGS -c m.c - -# liba is an indirect dependency of libd and of libconv. -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath /nowhere -lm -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libb.la b.lo liba.la -rpath /nowhere -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libconv.la c.lo libb.la -$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o libd.la libconv.la -rpath /nowhere - -for st in '' -static; do - { set +x -$as_echo "$at_srcdir/indirect_deps.at:61: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS \$st -o m1\$EXEEXT m.\$OBJEXT libd.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m.$OBJEXT libd.la" "indirect_deps.at:61" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m.$OBJEXT libd.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:61" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/indirect_deps.at:63: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS \$st -o m2\$EXEEXT m.\$OBJEXT libconv.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m.$OBJEXT libconv.la" "indirect_deps.at:63" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m.$OBJEXT libconv.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:63" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./m1; if test -f "./m1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/indirect_deps.at:65: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "indirect_deps.at:65" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:65" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=./m2; if test -f "./m2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/indirect_deps.at:66: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "indirect_deps.at:66" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:66" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_77 -#AT_START_78 -at_fn_group_banner 78 'indirect_deps.at:72' \ - "indirect uninstalled" " " 7 -at_xfail=no -( - $as_echo "78. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >a.c <<'_ATEOF' - -int a () { return 0; } -_ATEOF - -cat >b.c <<'_ATEOF' - -extern int a (); -int b () { return a (); } -_ATEOF - -cat >c.c <<'_ATEOF' - -extern int b (); -int c () { return b (); } -_ATEOF - - -cat >m1.c <<'_ATEOF' - -extern int b (); -int main () { return b (); } -_ATEOF - -cat >m2.c <<'_ATEOF' - -extern int c (); -int main () { return c (); } -_ATEOF - - -mkdir a b c -LDFLAGS="$LDFLAGS -no-undefined" -for file in a.c b.c c.c; do - $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c $file -done -for file in m1.c m2.c; do - $CC $CPPFLAGS $CFLAGS -c $file -done - -for st in '' -static; do - $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o a/liba.la a.lo -rpath /nowherea - $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o b/libb.la b.lo a/liba.la -rpath /nowhereb - $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o c/libcee.la c.lo b/libb.la -rpath /nowherec - - { set +x -$as_echo "$at_srcdir/indirect_deps.at:110: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS \$st -o m1\$EXEEXT m1.\$OBJEXT b/libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m1.$OBJEXT b/libb.la" "indirect_deps.at:110" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m1$EXEEXT m1.$OBJEXT b/libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:110" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/indirect_deps.at:112: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS \$st -o m2\$EXEEXT m2.\$OBJEXT c/libcee.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m2.$OBJEXT c/libcee.la" "indirect_deps.at:112" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS $st -o m2$EXEEXT m2.$OBJEXT c/libcee.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:112" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./m1; if test -f "./m1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/indirect_deps.at:114: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "indirect_deps.at:114" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:114" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=./m2; if test -f "./m2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/indirect_deps.at:115: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "indirect_deps.at:115" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/indirect_deps.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_78 -#AT_START_79 -at_fn_group_banner 79 'archive-in-archive.at:27' \ - "static library contains static library" " " 7 -at_xfail=no - case $AR in ar-lib\ * | *[/\\]ar-lib\ *) false;; *) :;; esac && at_xfail=yes -( - $as_echo "79. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# This test passes with MS lib. - - -cat >foo.c <<'_ATEOF' - -int foo() { return 1;} -_ATEOF - - -cat >bar.c <<'_ATEOF' - -int bar() { return 1;} -_ATEOF - - -thisdir=`cd . && pwd` -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c -$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ --o libfoo.la foo.lo -version-info 1:0:0 -rpath $thisdir -$LIBTOOL --mode=install cp libfoo.la $thisdir -eval `$EGREP '^(old_library)=' < libfoo.la` -libfoo=$old_library -{ set +x -$as_echo "$at_srcdir/archive-in-archive.at:51: \$LIBTOOL --mode=link --tag=CC --tag=disable-shared \$CC \$CFLAGS \$LDFLAGS \\ - -o libbar.la bar.lo \$libfoo -version-info 1:0:0 -rpath \$thisdir" -at_fn_check_prepare_notrace 'an embedded newline' "archive-in-archive.at:51" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ - -o libbar.la bar.lo $libfoo -version-info 1:0:0 -rpath $thisdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/archive-in-archive.at:51" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/archive-in-archive.at:54: \$LIBTOOL --mode=install cp libbar.la \$thisdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libbar.la $thisdir" "archive-in-archive.at:54" -( $at_check_trace; $LIBTOOL --mode=install cp libbar.la $thisdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/archive-in-archive.at:54" -$at_failed && at_fn_log_failure -$at_traceon; } - -eval `$EGREP '^(old_library)=' < libbar.la` -libbar=$old_library -{ set +x -$as_echo "$at_srcdir/archive-in-archive.at:57: \$AR -t \$libbar | \$GREP \$libfoo" -at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:57" -( $at_check_trace; $AR -t $libbar | $GREP $libfoo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/archive-in-archive.at:57" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/archive-in-archive.at:58: \$AR -t \$libbar | \$GREP foo.\$OBJEXT" -at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:58" -( $at_check_trace; $AR -t $libbar | $GREP foo.$OBJEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/archive-in-archive.at:58" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/archive-in-archive.at:59: \$AR -t \$libbar | \$GREP bar.\$OBJEXT" -at_fn_check_prepare_notrace 'a shell pipeline' "archive-in-archive.at:59" -( $at_check_trace; $AR -t $libbar | $GREP bar.$OBJEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/archive-in-archive.at:59" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_79 -#AT_START_80 -at_fn_group_banner 80 'exeext.at:26' \ - "both of -o prog and -o prog\$EXEEXT work" " " 7 -at_xfail=no -( - $as_echo "80. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/exeext.at:29: test -n \"\$EXEEXT\" || exit 77" -at_fn_check_prepare_dynamic "test -n \"$EXEEXT\" || exit 77" "exeext.at:29" -( $at_check_trace; test -n "$EXEEXT" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:29" -$at_failed && at_fn_log_failure -$at_traceon; } - - -bin=`pwd`/bin -binext=`pwd`/binext -mkdir src $bin srcext $binext - -cat >src/prog.c <<'_ATEOF' - -int main(void) { return 0; } -_ATEOF - - -$CC $CPPFLAGS $CFLAGS -c src/prog.c -o src/prog.$OBJEXT - -{ set +x -$as_echo "$at_srcdir/exeext.at:42: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o src/prog src/prog.\$OBJEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/prog src/prog.$OBJEXT" "exeext.at:42" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o src/prog src/prog.$OBJEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:42" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/exeext.at:44: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o srcext/prog\$EXEEXT src/prog.\$OBJEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o srcext/prog$EXEEXT src/prog.$OBJEXT" "exeext.at:44" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o srcext/prog$EXEEXT src/prog.$OBJEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:44" -$at_failed && at_fn_log_failure -$at_traceon; } - - -$LIBTOOL --mode=install cp src/prog $bin/prog -$LIBTOOL --mode=install cp srcext/prog$EXEEXT $binext/prog$EXEEXT - -lt_exe=$bin/prog; if test -f "$bin/prog$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/exeext.at:50: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "exeext.at:50" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:50" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$binext/prog$EXEEXT; if test -f "$binext/prog$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/exeext.at:51: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "exeext.at:51" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/exeext.at:51" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_80 -#AT_START_81 -at_fn_group_banner 81 'execute-mode.at:25' \ - "execute mode" " " 7 -at_xfail=no -( - $as_echo "81. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -eval `$LIBTOOL --config | $EGREP '^(FGREP)='` - -cat >foo <<'_ATEOF' -#! /bin/sh -if test $# -gt 0; then - for arg - do - printf %s\\n "$arg" - done -else - : -fi -_ATEOF - - -cat >lt-wrapper <<'_ATEOF' -#! /bin/sh -# Generated by GNU libtool. -# fake wrapper script. -program=lt-real -progdir=. -if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then - # Run the actual program with our arguments. - exec "$progdir/$program" ${1+"$@"} - echo "$0: cannot exec $program $*" >&2 - exit 1 -fi -_ATEOF - - -cat >lt-real <<'_ATEOF' -#! /bin/sh -for arg -do - printf %s\\n "$arg" -done -cat -_ATEOF - - -cat >libfakelib.la <<'_ATEOF' -# libfakelib.la - a libtool library file -# Generated by ltmain.sh (GNU libtool 1.2605 2008/03/04 22:31:32) 2.3a -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -dlname='' -library_names='' -old_library='libfakelib.a' -inherited_linker_flags='' -dependency_libs='' -weak_library_names='' -current= -age= -revision= -installed=no -shouldnotlink=yes -dlopen='' -dlpreopen='' -libdir='' -_ATEOF - - -mkdir sub -cp foo sub/foo -chmod +x foo sub/foo lt-wrapper lt-real - -cat >liba.c <<'_ATEOF' -int a () { return 0; } -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -extern int a (); -int main (int argc, char **argv) -{ - int i; - for (i=1; i>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:117" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:119: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la -rpath \$libdir liba.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la -rpath $libdir liba.lo" "execute-mode.at:119" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la -rpath $libdir liba.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:119" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:121: \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "execute-mode.at:121" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:121" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:123: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la" "execute-mode.at:123" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:123" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# end of preparatory blurb. -# Now, when doing the tests, we both try the fake wrappers plus the real one -# (only the latter exposes the C wrappers used for w32 systems). -# With the latter, however, we need to ignore additional output; esp. wine -# may be rather noisy. - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:132: \$LIBTOOL --mode=execute ./foo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo" "execute-mode.at:132" -( $at_check_trace; $LIBTOOL --mode=execute ./foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:132" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:133: \$LIBTOOL --mode=execute sub/foo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute sub/foo" "execute-mode.at:133" -( $at_check_trace; $LIBTOOL --mode=execute sub/foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:133" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:134: \$LIBTOOL --mode=execute ./foo foo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo foo" "execute-mode.at:134" -( $at_check_trace; $LIBTOOL --mode=execute ./foo foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:134" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:136: \$LIBTOOL --mode=execute ./lt-wrapper foo >"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:136" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:138: cd sub && \$LIBTOOL --mode=execute ./foo ../foo" -at_fn_check_prepare_dynamic "cd sub && $LIBTOOL --mode=execute ./foo ../foo" "execute-mode.at:138" -( $at_check_trace; cd sub && $LIBTOOL --mode=execute ./foo ../foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "../foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:138" -$at_failed && at_fn_log_failure -$at_traceon; } - -# suppose that ./foo is gdb, and lt-wrapper is the wrapper script. -{ set +x -$as_echo "$at_srcdir/execute-mode.at:141: \$LIBTOOL --mode=execute ./foo lt-wrapper bar baz >"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "./lt-real -bar -baz -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# check that stdin works even with -dlopen. -{ set +x -$as_echo "$at_srcdir/execute-mode.at:148: echo bar | \$LIBTOOL --mode=execute -dlopen libfakelib.la ./lt-wrapper foo" -at_fn_check_prepare_notrace 'a shell pipeline' "execute-mode.at:148" -( $at_check_trace; echo bar | $LIBTOOL --mode=execute -dlopen libfakelib.la ./lt-wrapper foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "foo -bar -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:148" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Check that a missing real program causes an error. -# The error message and code are likely to be 126, -# "No such file or directory" but system-dependent. -mv -f lt-real lt-backup -{ set +x -$as_echo "$at_srcdir/execute-mode.at:157: \$LIBTOOL --mode=execute ./lt-wrapper foo >"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/execute-mode.at:157" -$at_failed && at_fn_log_failure -$at_traceon; } - -mv -f lt-backup lt-real - -# Now use arguments that require decent quoting. -{ set +x -$as_echo "$at_srcdir/execute-mode.at:162: \$LIBTOOL --mode=execute ./foo \"arg with special chars: \\\$!&*'\\\`()\"" -at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:162" -( $at_check_trace; $LIBTOOL --mode=execute ./foo "arg with special chars: \$!&*'\`()" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "arg with special chars: \$!&*'\`() -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:162" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:165: \$LIBTOOL --mode=execute ./lt-wrapper \"arg with special chars: \\\$!&*'\\\`()\" >"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "arg with special chars: \$!&*'\`() -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:165" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:168: \$LIBTOOL --mode=execute ./foo lt-wrapper \"arg with special chars: \\\$!&*'\\\`()\"" -at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:168" -( $at_check_trace; $LIBTOOL --mode=execute ./foo lt-wrapper "arg with special chars: \$!&*'\`()" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "./lt-real -arg with special chars: \$!&*'\`() -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:168" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/execute-mode.at:172: if \$LIBTOOL --mode=execute \"\$lt_exe\" \"arg with special chars: \\\$!&*'\\\`()\"; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:172" -( $at_check_trace; if $LIBTOOL --mode=execute "$lt_exe" "arg with special chars: \$!&*'\`()"; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:172" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:174: \$FGREP 'arg with special chars: \$!&*'\\''\`()' stdout" -at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:174" -( $at_check_trace; $FGREP 'arg with special chars: $!&*'\''`()' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:174" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# We always pair two args. The first one is never the empty string. -arg1= -for arg2 in \ - 'def ghi' '' \ - 'd"e' 'f"g' \ - 'd\"e' 'f\"g' \ - 'd\\"e' 'f\\"g' \ - 'd\\\"e' 'f\\\"g' \ - 'd\' '' \ - 'd\\' '' \ - 'd\\\' '' \ - 'd\\\\' '' \ - '<' '>' \ - '' '' -do - if test -z "$arg1"; then - arg1=$arg2; continue - fi - { set +x -$as_echo "$at_srcdir/execute-mode.at:194: \$LIBTOOL --mode=execute ./foo abc \"\$arg1\" \"\$arg2\" xyz" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo abc \"$arg1\" \"$arg2\" xyz" "execute-mode.at:194" -( $at_check_trace; $LIBTOOL --mode=execute ./foo abc "$arg1" "$arg2" xyz -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:194" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:195: \$FGREP \"\$arg1\" stdout" -at_fn_check_prepare_dynamic "$FGREP \"$arg1\" stdout" "execute-mode.at:195" -( $at_check_trace; $FGREP "$arg1" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:195" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:196: test -z \"\$arg2\" || \$FGREP \"\$arg2\" stdout" -at_fn_check_prepare_dynamic "test -z \"$arg2\" || $FGREP \"$arg2\" stdout" "execute-mode.at:196" -( $at_check_trace; test -z "$arg2" || $FGREP "$arg2" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:196" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:197: test \`\$SED -n '/^abc\$/,/^xyz\$/p' stdout | wc -l\` -eq 4" -at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:197" -( $at_check_trace; test `$SED -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:197" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:198: \$LIBTOOL --mode=execute ./lt-wrapper abc \"\$arg1\" \"\$arg2\" xyz >"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:198" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:199: \$FGREP \"\$arg1\" stdout" -at_fn_check_prepare_dynamic "$FGREP \"$arg1\" stdout" "execute-mode.at:199" -( $at_check_trace; $FGREP "$arg1" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:199" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:200: test -z \"\$arg2\" || \$FGREP \"\$arg2\" stdout" -at_fn_check_prepare_dynamic "test -z \"$arg2\" || $FGREP \"$arg2\" stdout" "execute-mode.at:200" -( $at_check_trace; test -z "$arg2" || $FGREP "$arg2" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:200" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:201: test \`\$SED -n '/^abc\$/,/^xyz\$/p' stdout | wc -l\` -eq 4" -at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:201" -( $at_check_trace; test `$SED -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:201" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:202: \$LIBTOOL --mode=execute ./foo lt-wrapper abc \"\$arg1\" \"\$arg2\" xyz" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./foo lt-wrapper abc \"$arg1\" \"$arg2\" xyz" "execute-mode.at:202" -( $at_check_trace; $LIBTOOL --mode=execute ./foo lt-wrapper abc "$arg1" "$arg2" xyz -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:202" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:203: \$FGREP \"\$arg1\" stdout" -at_fn_check_prepare_dynamic "$FGREP \"$arg1\" stdout" "execute-mode.at:203" -( $at_check_trace; $FGREP "$arg1" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:203" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:204: test -z \"\$arg2\" || \$FGREP \"\$arg2\" stdout" -at_fn_check_prepare_dynamic "test -z \"$arg2\" || $FGREP \"$arg2\" stdout" "execute-mode.at:204" -( $at_check_trace; test -z "$arg2" || $FGREP "$arg2" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:205: test \`\$SED -n '/^abc\$/,/^xyz\$/p' stdout | wc -l\` -eq 4" -at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:205" -( $at_check_trace; test `$SED -n '/^abc$/,/^xyz$/p' stdout | wc -l` -eq 4 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:206: \$LIBTOOL --mode=execute ./main\$EXEEXT abc \"\$arg1\" \"\$arg2\" xyz" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute ./main$EXEEXT abc \"$arg1\" \"$arg2\" xyz" "execute-mode.at:206" -( $at_check_trace; $LIBTOOL --mode=execute ./main$EXEEXT abc "$arg1" "$arg2" xyz -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:207: \$FGREP \"\$arg1\" stdout" -at_fn_check_prepare_dynamic "$FGREP \"$arg1\" stdout" "execute-mode.at:207" -( $at_check_trace; $FGREP "$arg1" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:207" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/execute-mode.at:208: test -z \"\$arg2\" || \$FGREP \"\$arg2\" stdout" -at_fn_check_prepare_dynamic "test -z \"$arg2\" || $FGREP \"$arg2\" stdout" "execute-mode.at:208" -( $at_check_trace; test -z "$arg2" || $FGREP "$arg2" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:208" -$at_failed && at_fn_log_failure -$at_traceon; } - - # Do not match EOL here, cross setups may have an extra \r here. - { set +x -$as_echo "$at_srcdir/execute-mode.at:210: test \`\$SED -n '/^abc/,/^xyz/p' stdout | wc -l\` -eq 4" -at_fn_check_prepare_notrace 'a `...` command substitution' "execute-mode.at:210" -( $at_check_trace; test `$SED -n '/^abc/,/^xyz/p' stdout | wc -l` -eq 4 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:210" -$at_failed && at_fn_log_failure -$at_traceon; } - - arg1= -done - -# Check that .la files are not transformed by the wrapper searching loop. -{ set +x -$as_echo "$at_srcdir/execute-mode.at:215: \$LIBTOOL --mode=execute echo ./main\$EXEEXT liba.lo libfakelib.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=execute echo ./main$EXEEXT liba.lo libfakelib.la" "execute-mode.at:215" -( $at_check_trace; $LIBTOOL --mode=execute echo ./main$EXEEXT liba.lo libfakelib.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:215" -$at_failed && at_fn_log_failure -$at_traceon; } - -# This could be .libs/lt-main or similar (or just plain 'main'). -{ set +x -$as_echo "$at_srcdir/execute-mode.at:217: \$GREP main stdout" -at_fn_check_prepare_dynamic "$GREP main stdout" "execute-mode.at:217" -( $at_check_trace; $GREP main stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:217" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:218: \$GREP liba.lo stdout" -at_fn_check_prepare_dynamic "$GREP liba.lo stdout" "execute-mode.at:218" -( $at_check_trace; $GREP liba.lo stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:218" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/execute-mode.at:219: \$GREP libfakelib.la stdout" -at_fn_check_prepare_dynamic "$GREP libfakelib.la stdout" "execute-mode.at:219" -( $at_check_trace; $GREP libfakelib.la stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/execute-mode.at:219" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_81 -#AT_START_82 -at_fn_group_banner 82 'bindir.at:64' \ - "bindir basic lib test" " " 7 -at_xfail=no -( - $as_echo "82. $at_setup_line: testing $at_desc ..." - $at_traceon - - -bindirneeded=: -case $host_os in - cygwin*|mingw*|cegcc*) - ;; - *) - bindirneeded=false - ;; -esac - -#### -# These routines save the PATH before a test and restore it after, -# prepending a chosen directory to the path on the platforms where -# -bindir is needed after saving. -# - -func_save_and_prepend_path () -{ - save_PATH=$PATH - if $bindirneeded; then - PATH=$1$PATH_SEPARATOR$PATH - fi - export PATH -} - -func_restore_path () -{ - PATH=$save_PATH - export PATH -} - -cat >foo.c <<'_ATEOF' - -int x=11; -_ATEOF - - -cat >baz.c <<'_ATEOF' - -extern int x; -int baz (void); -int baz (void) { return x;} -_ATEOF - - -cat >bar.c <<'_ATEOF' - -extern int baz (void); -int y=3; -int bar (void); -int bar (void) { return y + baz ();} -_ATEOF - - -cat >main.c <<'_ATEOF' - -#include -extern int baz (void); -extern int bar (void); -int main() { -if (baz () + bar () - 25) abort (); -return 0; -} -_ATEOF - - - -curdir=`pwd` -eval "`$LIBTOOL --config | $GREP '^objdir='`" - -{ set +x -$as_echo "$at_srcdir/bindir.at:127: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o foo.lo \$CPPFLAGS \$CFLAGS foo.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c" "bindir.at:127" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:127" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/bindir.at:128: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o baz.lo \$CPPFLAGS \$CFLAGS baz.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c" "bindir.at:128" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:128" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/bindir.at:129: \$LIBTOOL --mode=link --tag=CC \$CC -no-undefined -o libfoo.la \$CPPFLAGS \$CFLAGS \$LDFLAGS foo.lo baz.lo -rpath \$curdir/\$objdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo baz.lo -rpath $curdir/$objdir" "bindir.at:129" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo baz.lo -rpath $curdir/$objdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:129" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/bindir.at:131: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o bar.lo \$CPPFLAGS \$CFLAGS bar.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c" "bindir.at:131" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:131" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/bindir.at:132: \$LIBTOOL --mode=link --tag=CC \$CC -no-undefined -o libbar.la \$CPPFLAGS \$CFLAGS \$LDFLAGS bar.lo libfoo.la -rpath \$curdir/\$objdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS bar.lo libfoo.la -rpath $curdir/$objdir" "bindir.at:132" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS bar.lo libfoo.la -rpath $curdir/$objdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:132" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/bindir.at:134: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o main.lo \$CPPFLAGS \$CFLAGS main.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c" "bindir.at:134" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:134" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/bindir.at:135: \$LIBTOOL --mode=link --tag=CC \$CC -o main\$EXEEXT \$CPPFLAGS \$CFLAGS \$LDFLAGS main.lo libbar.la libfoo.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libbar.la libfoo.la" "bindir.at:135" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libbar.la libfoo.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:135" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Check both static and shared versions run. We don't install them -# here, that will be covered by the later tests; we've rpath'd things -# so that they can all be run in situ. - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/bindir.at:141: if \$LIBTOOL --mode=execute \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:141" -( $at_check_trace; if $LIBTOOL --mode=execute "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Ensure libraries can be found on PATH, if we are on one -# of the affected platforms, before testing the shared version. - -func_save_and_prepend_path "$curdir/$objdir" -$bindirneeded && { - lt_exe=$objdir/main; if test -f "$objdir/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/bindir.at:148: if \$LIBTOOL --mode=execute \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:148" -( $at_check_trace; if $LIBTOOL --mode=execute "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:148" -$at_failed && at_fn_log_failure -$at_traceon; } - - -} - -# In fact, prepending the PATH as above is superfluous on the windows -# platforms that this feature is primarily aimed at, as the DLL search -# path always includes the directory from which the app was launched. -# To make sure it still works even when not side-by-side, we'll install -# the main executable and execute it from there while the PATH still -# points to the shared libs in the .libs subdir. On other platforms, -# the rpaths we set at link time will guarantee it runs from the bindir. - -mkdir $curdir/bin -{ set +x -$as_echo "$at_srcdir/bindir.at:160: \$LIBTOOL --mode=install \$lt_INSTALL main\$EXEEXT \$curdir/bin/main\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/bin/main$EXEEXT" "bindir.at:160" -( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/bin/main$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:160" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=$curdir/bin/main$EXEEXT; if test -f "$curdir/bin/main$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/bindir.at:161: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:161" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:161" -$at_failed && at_fn_log_failure -$at_traceon; } - - -func_restore_path - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_82 -#AT_START_83 -at_fn_group_banner 83 'bindir.at:173' \ - "bindir install tests" " " 7 -at_xfail=no -( - $as_echo "83. $at_setup_line: testing $at_desc ..." - $at_traceon - - -bindirneeded=: -case $host_os in - cygwin*|mingw*|cegcc*) - ;; - *) - bindirneeded=false - ;; -esac - -eval "`$LIBTOOL --config | $GREP '^build_libtool_libs='`" -{ set +x -$as_echo "$at_srcdir/bindir.at:185: test yes = \"\$build_libtool_libs\" || exit 77" -at_fn_check_prepare_dynamic "test yes = \"$build_libtool_libs\" || exit 77" "bindir.at:185" -( $at_check_trace; test yes = "$build_libtool_libs" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - - -#### -# These routines save the PATH before a test and restore it after, -# prepending a chosen directory to the path on the platforms where -# -bindir is needed after saving. -# - -func_save_and_prepend_path () -{ - save_PATH=$PATH - if $bindirneeded; then - PATH=$1$PATH_SEPARATOR$PATH - fi - export PATH -} - -func_restore_path () -{ - PATH=$save_PATH - export PATH -} - -cat >foo.c <<'_ATEOF' - -int x=11; -_ATEOF - - -cat >baz.c <<'_ATEOF' - -extern int x; -int baz (void); -int baz (void) { return x;} -_ATEOF - - -cat >bar.c <<'_ATEOF' - -extern int baz (void); -int y=3; -int bar (void); -int bar (void) { return y + baz ();} -_ATEOF - - -cat >main.c <<'_ATEOF' - -#include -extern int baz (void); -extern int bar (void); -int main() { -if (baz () + bar () - 25) abort (); -return 0; -} -_ATEOF - - -# We only need to compile once, but we'll need to relink for each different value -# of libdir in order to set the rpath, and we'll install for each combination of -# libdir and bindir. - -{ set +x -$as_echo "$at_srcdir/bindir.at:239: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o foo.lo \$CPPFLAGS \$CFLAGS foo.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c" "bindir.at:239" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS foo.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:239" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/bindir.at:240: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o baz.lo \$CPPFLAGS \$CFLAGS baz.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c" "bindir.at:240" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS baz.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:240" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/bindir.at:241: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o bar.lo \$CPPFLAGS \$CFLAGS bar.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c" "bindir.at:241" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS bar.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:241" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/bindir.at:242: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o main.lo \$CPPFLAGS \$CFLAGS main.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c" "bindir.at:242" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:242" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Now try installing the libs. There are the following cases: -# No -bindir -# -bindir below lib install dir -# -bindir is lib install dir -# -bindir beside lib install dir -# -bindir above lib dir -# -bindir above and beside lib dir -# -bindir in entirely unrelated prefix. - -curdir=`pwd` -for libdir in \ - $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0 \ - $curdir/usr/lib/gcc/../gcc/.//i686-pc-cygwin/4.5.0/../../././//. \ - $curdir/usr/lib/ \ - $curdir/usr/lib \ - $curdir/baz \ - $curdir/baz/lib/; -do - - # Do a basic install with no -bindir option for reference. We use the sbin/ - # dir for the main exe to avoid the potential "this only works because it's - # side-by-side with the libs" default DLL search path problem mentioned above. - rm -rf $libdir $curdir/bin $curdir/sbin $curdir/baz $curdir/usr - as_dir=$libdir; as_fn_mkdir_p - as_dir=$curdir/sbin; as_fn_mkdir_p - { set +x -$as_echo "$at_srcdir/bindir.at:269: \$LIBTOOL --mode=link --tag=CC \$CC -no-undefined -o libfoo.la \$CPPFLAGS \$CFLAGS \$LDFLAGS foo.lo bar.lo baz.lo -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir" "bindir.at:269" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -no-undefined -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:269" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/bindir.at:270: \$LIBTOOL --mode=link --tag=CC \$CC -o main\$EXEEXT \$CPPFLAGS \$CFLAGS \$LDFLAGS main.lo libfoo.la -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la -rpath $libdir" "bindir.at:270" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:270" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/bindir.at:271: \$LIBTOOL --mode=install \$lt_INSTALL libfoo.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL libfoo.la $libdir" "bindir.at:271" -( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL libfoo.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:271" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/bindir.at:272: \$LIBTOOL --mode=install \$lt_INSTALL main\$EXEEXT \$curdir/sbin/main\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/sbin/main$EXEEXT" "bindir.at:272" -( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL main$EXEEXT $curdir/sbin/main$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:272" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # And ensure it went where we expect. Could be looking for any of - # 'cygfoo-0.dll', 'libfoo-0.dll', 'foo-0.dll', or 'libfoo.so.0'. We'll - # simplify this check by taking advantage of the fact that if it's a DLL, - # it has to go in bindir, so we'll not check for both forms in libdir. - if $bindirneeded; then - { set +x -$as_echo "$at_srcdir/bindir.at:279: test -f \"\$libdir\"/../bin/???foo-0.dll || ls \"\$libdir\"/../bin/*foo*0*" -at_fn_check_prepare_dynamic "test -f \"$libdir\"/../bin/???foo-0.dll || ls \"$libdir\"/../bin/*foo*0*" "bindir.at:279" -( $at_check_trace; test -f "$libdir"/../bin/???foo-0.dll || ls "$libdir"/../bin/*foo*0* -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:279" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/bindir.at:281: ls \$libdir/*foo*" -at_fn_check_prepare_dynamic "ls $libdir/*foo*" "bindir.at:281" -( $at_check_trace; ls $libdir/*foo* -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:281" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - - # And that it can be executed. - func_save_and_prepend_path "$libdir/../bin" - lt_exe=$curdir/sbin/main$EXEEXT; if test -f "$curdir/sbin/main$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/bindir.at:286: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:286" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:286" -$at_failed && at_fn_log_failure -$at_traceon; } - - - func_restore_path - - for bindir in \ - $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0/bin/ \ - $curdir/usr/lib/gcc/i686-pc-cygwin/4.5.0/bin \ - $curdir/usr/lib/gcc/i686-pc-cygwin/bin \ - $curdir/usr/lib/bin \ - $curdir/usr/bin/ \ - $curdir/usr/bin \ - /tmp/foo/bar; - do - - # Clear any old stuff out before we install. Because bindir - # may be in /tmp, we have to take care to create it securely - # and not to delete and recreate it if we do. - rm -rf $libdir $curdir/bin $curdir/sbin $curdir/baz $curdir/usr - - tmp= - case $bindir in - /tmp*) - # Create a temporary directory $tmp in $TMPDIR (default /tmp). - # Use mktemp if possible; otherwise fall back on mkdir, - # with $RANDOM to make collisions less likely. - : ${TMPDIR=/tmp} - { - tmp=` - (umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null - ` && - test -n "$tmp" && test -d "$tmp" - } || { - tmp=$TMPDIR/foo$$-$RANDOM - (umask 077 && mkdir "$tmp") - } || { set +x -$as_echo "$at_srcdir/bindir.at:319: exit 77" -at_fn_check_prepare_trace "bindir.at:319" -( $at_check_trace; exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:319" -$at_failed && at_fn_log_failure -$at_traceon; } - - bindir=$tmp/bar - ;; - *) - # Clear any old stuff out before we install. - rm -rf $bindir - as_dir=$bindir; as_fn_mkdir_p - ;; - esac - - # Relink with new rpaths. - { set +x -$as_echo "$at_srcdir/bindir.at:330: \$LIBTOOL --mode=link --tag=CC \$CC -no-undefined -bindir \$bindir -o libfoo.la \$CPPFLAGS \$CFLAGS \$LDFLAGS foo.lo bar.lo baz.lo -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -no-undefined -bindir $bindir -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir" "bindir.at:330" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -no-undefined -bindir $bindir -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS foo.lo bar.lo baz.lo -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:330" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/bindir.at:331: \$LIBTOOL --mode=link --tag=CC \$CC -o main\$EXEEXT \$CPPFLAGS \$CFLAGS \$LDFLAGS main.lo libfoo.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la" "bindir.at:331" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS main.lo libfoo.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:331" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # Recreate directories (bindir already done) and install. - as_dir=$libdir; as_fn_mkdir_p - as_dir=$curdir/sbin; as_fn_mkdir_p - { set +x -$as_echo "$at_srcdir/bindir.at:336: \$LIBTOOL --mode=install \$lt_INSTALL libfoo.la \"\$libdir\"" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL libfoo.la \"$libdir\"" "bindir.at:336" -( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL libfoo.la "$libdir" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:336" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/bindir.at:337: \$LIBTOOL --mode=install \$lt_INSTALL main\$EXEEXT \"\$curdir/sbin/main\$EXEEXT\"" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL main$EXEEXT \"$curdir/sbin/main$EXEEXT\"" "bindir.at:337" -( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL main$EXEEXT "$curdir/sbin/main$EXEEXT" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:337" -$at_failed && at_fn_log_failure -$at_traceon; } - - - # Ensure it went to bindir rather than default dir this time. - if $bindirneeded; then - { set +x -$as_echo "$at_srcdir/bindir.at:341: test -f \"\$bindir\"/???foo-0.dll || ls \"\$bindir\"/*foo*0*" -at_fn_check_prepare_dynamic "test -f \"$bindir\"/???foo-0.dll || ls \"$bindir\"/*foo*0*" "bindir.at:341" -( $at_check_trace; test -f "$bindir"/???foo-0.dll || ls "$bindir"/*foo*0* -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:341" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - { set +x -$as_echo "$at_srcdir/bindir.at:343: ls \"\$libdir\"/*foo*" -at_fn_check_prepare_dynamic "ls \"$libdir\"/*foo*" "bindir.at:343" -( $at_check_trace; ls "$libdir"/*foo* -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi - - # And that it can be executed. - func_save_and_prepend_path "$bindir" - lt_exe=$curdir/sbin/main$EXEEXT; if test -f "$curdir/sbin/main$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/bindir.at:348: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "bindir.at:348" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/bindir.at:348" -$at_failed && at_fn_log_failure -$at_traceon; } - - - func_restore_path - - # Clean up if we made a temp dir. Subdirs under our testdir get rm'd - # and recreated at the top of the loop. Securely created subdirs under - # /tmp get created precisely once and rm'd when we're done with them. - if test ! -z "$tmp"; then - rm -rf "$tmp" - fi - - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_83 -#AT_START_84 -at_fn_group_banner 84 'cwrapper.at:25' \ - "cwrapper for uninstalled executables" " " 7 -at_xfail=no -( - $as_echo "84. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# make sure existing libtool is configured for shared libraries -{ set +x -$as_echo "$at_srcdir/cwrapper.at:29: \$LIBTOOL --features | \$GREP 'disable shared libraries' && exit 77" -at_fn_check_prepare_notrace 'a shell pipeline' "cwrapper.at:29" -( $at_check_trace; $LIBTOOL --features | $GREP 'disable shared libraries' && exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/cwrapper.at:29" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >trivial.c <<'_ATEOF' - -int main (void) -{ - return 0; -} -_ATEOF - -cat >liba.c <<'_ATEOF' -int liba_func1 (int arg) -{ - return arg + 1; -} -_ATEOF - -cat >usea.c <<'_ATEOF' -extern int liba_func1 (int arg); -int main (void) -{ - int a = 2; - int b = liba_func1 (a); - if (b == 3) return 0; - return 1; -} -_ATEOF - - -orig_CFLAGS=$CFLAGS -orig_LIBTOOL=$LIBTOOL -for restrictive_flags in '-Wall -Werror' '-std=c89 -Wall -Werror' '-std=c99 -Wall -Werror'; do - CFLAGS="$orig_CFLAGS $restrictive_flags" - $SED "s/LTCFLAGS=.*/&' $restrictive_flags'/" < "$orig_LIBTOOL" > ./libtool - chmod +x libtool - LIBTOOL=./libtool - - # Make sure $restrictive_flags do not cause a failure - # themselves (e.g. because a non-gcc compiler doesn't - # understand them). Tru64 cc only fails when linking. - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS trivial.c || continue - - { set +x -$as_echo "$at_srcdir/cwrapper.at:69: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "cwrapper.at:69" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:69" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cwrapper.at:71: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -version-info=0.0.0 -no-undefined -o liba.la -rpath /foo liba.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -no-undefined -o liba.la -rpath /foo liba.lo" "cwrapper.at:71" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -no-undefined -o liba.la -rpath /foo liba.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:71" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cwrapper.at:73: test -f liba.la" -at_fn_check_prepare_trace "cwrapper.at:73" -( $at_check_trace; test -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:73" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/cwrapper.at:75: \$CC \$CPPFLAGS \$CFLAGS -c usea.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:75" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c usea.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:75" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cwrapper.at:77: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o usea\$EXEEXT usea.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la" "cwrapper.at:77" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:77" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./usea; if test -f "./usea$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cwrapper.at:79: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:79" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - - -# Test run-time activation of wrapper debugging. -# This is not part of the loop above, because we -# need to check, not ignore, the output. -CFLAGS=$orig_CFLAGS -LIBTOOL=$orig_LIBTOOL - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:89: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "cwrapper.at:89" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:89" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:91: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" "cwrapper.at:91" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:93: test -f liba.la" -at_fn_check_prepare_trace "cwrapper.at:93" -( $at_check_trace; test -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:93" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:95: \$CC \$CPPFLAGS \$CFLAGS -c usea.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:95" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c usea.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:95" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:97: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o usea\$EXEEXT usea.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la" "cwrapper.at:97" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:97" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./usea; if test -f "./usea$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cwrapper.at:99: if \"\$lt_exe\" --lt-debug; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" --lt-debug; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:99" -( $at_check_trace; if "$lt_exe" --lt-debug; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:99" -$at_failed && at_fn_log_failure -$at_traceon; } - - -case $host_os in - mingw*) - tr -d '\015' < stderr > stderr.t - mv -f stderr.t stderr ;; -esac -{ set +x -$as_echo "$at_srcdir/cwrapper.at:101: \$GREP 'libtool wrapper' stderr" -at_fn_check_prepare_dynamic "$GREP 'libtool wrapper' stderr" "cwrapper.at:101" -( $at_check_trace; $GREP 'libtool wrapper' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:101" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Test compile-time activation of wrapper debugging. -# We structure this test as a loop, so that we can 'break' out of it -# if necessary -- even though the loop by design executes only once. -for debugwrapper_flags in '-DLT_DEBUGWRAPPER'; do - CFLAGS="$orig_CFLAGS $debugwrapper_flags" - $SED -e "s/LTCFLAGS=.*/&' $debugwrapper_flags'/" \ - -e "s/^lt_option_debug=/lt_option_debug=1/" \ - < "$orig_LIBTOOL" > ./libtool - LIBTOOL=./libtool - - # Make sure $debugwrapper_flags do not cause a failure - # themselves (e.g. because a non-gcc compiler doesn't - # understand them). Tru64 cc only fails when linking. - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS trivial.c || continue - - { set +x -$as_echo "$at_srcdir/cwrapper.at:119: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "cwrapper.at:119" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:119" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cwrapper.at:121: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" "cwrapper.at:121" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:121" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cwrapper.at:123: test -f liba.la" -at_fn_check_prepare_trace "cwrapper.at:123" -( $at_check_trace; test -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:123" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/cwrapper.at:125: \$CC \$CPPFLAGS \$CFLAGS -c usea.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:125" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c usea.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:125" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/cwrapper.at:127: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o usea\$EXEEXT usea.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la" "cwrapper.at:127" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o usea$EXEEXT usea.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:127" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./usea; if test -f "./usea$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cwrapper.at:129: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:129" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:129" -$at_failed && at_fn_log_failure -$at_traceon; } - - - case $host_os in - mingw*) - tr -d '\015' < stderr > stderr.t - mv -f stderr.t stderr ;; -esac - { set +x -$as_echo "$at_srcdir/cwrapper.at:131: \$GREP 'libtool wrapper' stderr" -at_fn_check_prepare_dynamic "$GREP 'libtool wrapper' stderr" "cwrapper.at:131" -( $at_check_trace; $GREP 'libtool wrapper' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:131" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_84 -#AT_START_85 -at_fn_group_banner 85 'cwrapper.at:138' \ - "cwrapper string length" " " 7 -at_xfail=no -( - $as_echo "85. $at_setup_line: testing $at_desc ..." - $at_traceon - - -eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" - -cat >liba.c <<'_ATEOF' -int liba_func1 (int arg) -{ - return arg + 1; -} -_ATEOF - -cat >usea.c <<'_ATEOF' -extern int liba_func1 (int arg); -int main (void) -{ - int a = 2; - int b = liba_func1 (a); - if (b == 3) return 0; - return 1; -} -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:159: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c" "cwrapper.at:159" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:159" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:161: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo" "cwrapper.at:161" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-undefined -o liba.la -rpath /foo liba.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:161" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:164: \$CC \$CPPFLAGS \$CFLAGS -c usea.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c usea.c" "cwrapper.at:164" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c usea.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:164" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Make sure PATH is at least 250 chars, which should force line breaks -# in lt-usea.c. - -dirpath= -save_IFS=$IFS -IFS=$PATH_SEPARATOR -for dirpath in $PATH; do - IFS=$save_IFS - break -done -IFS=$save_IFS - -until $ECHO "PATH=$PATH" | $GREP 'PATH=.\{250\}'; do - PATH=$PATH$PATH_SEPARATOR$dirpath -done -export PATH - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:185: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -no-fast-install -o usea\$EXEEXT usea.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-fast-install -o usea$EXEEXT usea.$OBJEXT liba.la" "cwrapper.at:185" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -no-fast-install -o usea$EXEEXT usea.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:185" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Skip if no cwrapper is generated. -{ set +x -$as_echo "$at_srcdir/cwrapper.at:190: test -f \"\$objdir/lt-usea.c\" || exit 77" -at_fn_check_prepare_dynamic "test -f \"$objdir/lt-usea.c\" || exit 77" "cwrapper.at:190" -( $at_check_trace; test -f "$objdir/lt-usea.c" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:190" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Try to make sure the test is relevant. -{ set +x -$as_echo "$at_srcdir/cwrapper.at:193: \$GREP ' *fputs' \$objdir/lt-usea.c > /dev/null" -at_fn_check_prepare_dynamic "$GREP ' *fputs' $objdir/lt-usea.c > /dev/null" "cwrapper.at:193" -( $at_check_trace; $GREP ' *fputs' $objdir/lt-usea.c > /dev/null -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:193" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Check for no overly long fputs. -{ set +x -$as_echo "$at_srcdir/cwrapper.at:195: \$GREP ' *fputs.\\{250\\}' \$objdir/lt-usea.c" -at_fn_check_prepare_dynamic "$GREP ' *fputs.\\{250\\}' $objdir/lt-usea.c" "cwrapper.at:195" -( $at_check_trace; $GREP ' *fputs.\{250\}' $objdir/lt-usea.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/cwrapper.at:195" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_85 -#AT_START_86 -at_fn_group_banner 86 'cwrapper.at:201' \ - "cwrapper and installed shared libraries" " " 7 -at_xfail=no -( - $as_echo "86. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# make sure existing libtool is configured for shared libraries -{ set +x -$as_echo "$at_srcdir/cwrapper.at:205: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" -at_fn_check_prepare_notrace 'a shell pipeline' "cwrapper.at:205" -( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -LDFLAGS="$LDFLAGS -no-undefined" - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -mkdir $inst $libdir $bindir - -# Build the library in a separate directory to avoid the special case -# of loading from the current directory. - -mkdir foo -cd foo -# build and install "old" library version -cat >a.c <<'_ATEOF' - -int liba_ver (void) { return 1; } -_ATEOF - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:224: \$LIBTOOL --mode=compile --tag=CC \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c" "cwrapper.at:224" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:224" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:226: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -version-info=0.0.0 -o liba.la -rpath \$libdir a.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo" "cwrapper.at:226" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:226" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:228: \$LIBTOOL --mode=install \$lt_INSTALL liba.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL liba.la $libdir" "cwrapper.at:228" -( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL liba.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# build a new library version -cat >a.c <<'_ATEOF' - -int liba_ver (void) { return 2; } -_ATEOF - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:235: \$LIBTOOL --mode=compile --tag=CC \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c" "cwrapper.at:235" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:235" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:237: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -version-info=0.0.0 -o liba.la -rpath \$libdir a.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo" "cwrapper.at:237" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -version-info=0.0.0 -o liba.la -rpath $libdir a.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:237" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cd .. - -# build and run test application -cat >m.c <<'_ATEOF' - -extern int liba_ver (void); -int main (void) -{ - int r = (liba_ver () == 2) ? 0 : 1; - return r; -} -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:252: \$CC \$CPPFLAGS \$CFLAGS -c m.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c m.c" "cwrapper.at:252" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c m.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:252" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:254: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m1\$EXEEXT m.\$OBJEXT foo/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT foo/liba.la" "cwrapper.at:254" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m1$EXEEXT m.$OBJEXT foo/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:254" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./m1; if test -f "./m1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cwrapper.at:256: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:256" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:256" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -{ set +x -$as_echo "$at_srcdir/cwrapper.at:258: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m2\$EXEEXT m.\$OBJEXT foo/liba.la -L\$inst/lib" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT foo/liba.la -L$inst/lib" "cwrapper.at:258" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2$EXEEXT m.$OBJEXT foo/liba.la -L$inst/lib -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:258" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./m2; if test -f "./m2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/cwrapper.at:260: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "cwrapper.at:260" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cwrapper.at:260" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_86 -#AT_START_87 -at_fn_group_banner 87 'deplib-in-subdir.at:34' \ - "deplib in subdir" " " 7 -at_xfail=no -( - $as_echo "87. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >a1.c <<'_ATEOF' -int a1 () { return 0; } -_ATEOF - -cat >a2.c <<'_ATEOF' -int a2 () { return 0; } -_ATEOF - -cat >a3.c <<'_ATEOF' -int a3 () { return 0; } -_ATEOF - -cat >b1.c <<'_ATEOF' -extern int a1 (); -int b1 () { return a1 (); } -_ATEOF - -cat >b2.c <<'_ATEOF' -extern int a2 (); -int b2 () { return a2 (); } -_ATEOF - -cat >b3.c <<'_ATEOF' -extern int a3 (); -int b3 () { return a3 (); } -_ATEOF - -cat >m.c <<'_ATEOF' -extern int b1 (); -extern int b2 (); -extern int b3 (); -int main () { return b1 () + b2 () + b3 (); } -_ATEOF - - -cwd=`pwd` -instdir=$cwd/inst -lib1dir=$instdir/lib1 -lib2dir=$instdir/lib2 -bindir=$instdir/bin -addrunpath=$cwd/foobar -LDFLAGS="$LDFLAGS -no-undefined" - -flags='-export-symbols-regex ".*"' - -mkdir -p sub1 sub2/subsub sub3/subsub $instdir $lib1dir $lib2dir $bindir - -for file in a1.c a2.c a3.c b1.c b2.c b3.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -$CC $CPPFLAGS $CFLAGS -c m.c -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:81: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub1/liba1.la a1.lo -rpath \$lib1dir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba1.la a1.lo -rpath $lib1dir" "deplib-in-subdir.at:81" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba1.la a1.lo -rpath $lib1dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:81" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:83: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub1/liba2.la a2.lo -rpath \$lib1dir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba2.la a2.lo -rpath $lib1dir" "deplib-in-subdir.at:83" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba2.la a2.lo -rpath $lib1dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:83" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:85: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub1/liba3.la a3.lo -rpath \$lib1dir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba3.la a3.lo -rpath $lib1dir" "deplib-in-subdir.at:85" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub1/liba3.la a3.lo -rpath $lib1dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:85" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:88: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub2/subsub/libb1.la b1.lo -rpath \$lib2dir sub1/liba1.la' \"\$flags\"" -at_fn_check_prepare_dynamic "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub2/subsub/libb1.la b1.lo -rpath $lib2dir sub1/liba1.la' \"$flags\"" "deplib-in-subdir.at:88" -( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub2/subsub/libb1.la b1.lo -rpath $lib2dir sub1/liba1.la' "$flags" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd sub2 -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:92: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o subsub/libb2.la ../b2.lo -rpath \$lib2dir ../sub1/liba2.la' \"\$flags\"" -at_fn_check_prepare_dynamic "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/libb2.la ../b2.lo -rpath $lib2dir ../sub1/liba2.la' \"$flags\"" "deplib-in-subdir.at:92" -( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/libb2.la ../b2.lo -rpath $lib2dir ../sub1/liba2.la' "$flags" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:92" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd subsub -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:96: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb3.la ../../b3.lo -rpath \$lib2dir ../../sub1/liba3.la' \"\$flags\"" -at_fn_check_prepare_dynamic "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb3.la ../../b3.lo -rpath $lib2dir ../../sub1/liba3.la' \"$flags\"" "deplib-in-subdir.at:96" -( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb3.la ../../b3.lo -rpath $lib2dir ../../sub1/liba3.la' "$flags" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd ../.. -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:100: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o sub3/subsub/m1\$EXEEXT m.\$OBJEXT sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub3/subsub/m1$EXEEXT m.$OBJEXT sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la" "deplib-in-subdir.at:100" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o sub3/subsub/m1$EXEEXT m.$OBJEXT sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:100" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd sub3 -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:104: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o subsub/m2\$EXEEXT ../m.\$OBJEXT ../sub2/subsub/libb1.la ../sub2/subsub/libb2.la ../sub2/subsub/libb3.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/m2$EXEEXT ../m.$OBJEXT ../sub2/subsub/libb1.la ../sub2/subsub/libb2.la ../sub2/subsub/libb3.la" "deplib-in-subdir.at:104" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o subsub/m2$EXEEXT ../m.$OBJEXT ../sub2/subsub/libb1.la ../sub2/subsub/libb2.la ../sub2/subsub/libb3.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:104" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd subsub -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:108: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m3\$EXEEXT ../../m.\$OBJEXT ../../sub2/subsub/libb1.la ../../sub2/subsub/libb2.la ../../sub2/subsub/libb3.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT ../../m.$OBJEXT ../../sub2/subsub/libb1.la ../../sub2/subsub/libb2.la ../../sub2/subsub/libb3.la" "deplib-in-subdir.at:108" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m3$EXEEXT ../../m.$OBJEXT ../../sub2/subsub/libb1.la ../../sub2/subsub/libb2.la ../../sub2/subsub/libb3.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:108" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd ../.. - -for i in 1 2 3; do - lt_exe=./sub3/subsub/m$i; if test -f "./sub3/subsub/m$i$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:114: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:114" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:114" -$at_failed && at_fn_log_failure -$at_traceon; } - - - cd sub3 - lt_exe=./subsub/m$i; if test -f "./subsub/m$i$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:116: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:116" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:116" -$at_failed && at_fn_log_failure -$at_traceon; } - - - cd subsub - lt_exe=./m$i; if test -f "./m$i$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:118: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:118" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:118" -$at_failed && at_fn_log_failure -$at_traceon; } - - - cd ../.. -done - -for i in 1 2 3; do - { set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:123: \$LIBTOOL --mode=install cp sub1/liba\$i.la \$lib1dir/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp sub1/liba$i.la $lib1dir/liba.la" "deplib-in-subdir.at:123" -( $at_check_trace; $LIBTOOL --mode=install cp sub1/liba$i.la $lib1dir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:123" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:126: \$LIBTOOL --mode=install cp sub2/subsub/libb1.la \$lib2dir/libb1.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp sub2/subsub/libb1.la $lib2dir/libb1.la" "deplib-in-subdir.at:126" -( $at_check_trace; $LIBTOOL --mode=install cp sub2/subsub/libb1.la $lib2dir/libb1.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:126" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd sub2 -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:128: \$LIBTOOL --mode=install cp subsub/libb2.la \$lib2dir/libb2.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp subsub/libb2.la $lib2dir/libb2.la" "deplib-in-subdir.at:128" -( $at_check_trace; $LIBTOOL --mode=install cp subsub/libb2.la $lib2dir/libb2.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:128" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd subsub -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:130: \$LIBTOOL --mode=install cp libb3.la \$lib2dir/libb3.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libb3.la $lib2dir/libb3.la" "deplib-in-subdir.at:130" -( $at_check_trace; $LIBTOOL --mode=install cp libb3.la $lib2dir/libb3.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:130" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd ../.. - -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:133: \$LIBTOOL --mode=install cp sub3/subsub/m1\$EXEEXT \$bindir/m1\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp sub3/subsub/m1$EXEEXT $bindir/m1$EXEEXT" "deplib-in-subdir.at:133" -( $at_check_trace; $LIBTOOL --mode=install cp sub3/subsub/m1$EXEEXT $bindir/m1$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:133" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd sub3 -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:135: \$LIBTOOL --mode=install cp subsub/m2\$EXEEXT \$bindir/m2\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp subsub/m2$EXEEXT $bindir/m2$EXEEXT" "deplib-in-subdir.at:135" -( $at_check_trace; $LIBTOOL --mode=install cp subsub/m2$EXEEXT $bindir/m2$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:135" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd subsub -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:137: \$LIBTOOL --mode=install cp m3\$EXEEXT \$bindir/m3\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m3$EXEEXT $bindir/m3$EXEEXT" "deplib-in-subdir.at:137" -( $at_check_trace; $LIBTOOL --mode=install cp m3$EXEEXT $bindir/m3$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:137" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd ../.. - -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:140: \$LIBTOOL --mode=clean rm -f sub1/liba1.la sub1/liba2.la sub1/liba3.la sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la sub3/subsub/m1\$EXEEXT sub3/subsub/m2\$EXEEXT sub3/subsub/m3\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f sub1/liba1.la sub1/liba2.la sub1/liba3.la sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la sub3/subsub/m1$EXEEXT sub3/subsub/m2$EXEEXT sub3/subsub/m3$EXEEXT" "deplib-in-subdir.at:140" -( $at_check_trace; $LIBTOOL --mode=clean rm -f sub1/liba1.la sub1/liba2.la sub1/liba3.la sub2/subsub/libb1.la sub2/subsub/libb2.la sub2/subsub/libb3.la sub3/subsub/m1$EXEEXT sub3/subsub/m2$EXEEXT sub3/subsub/m3$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for i in 1 2 3; do - lt_exe=$bindir/m$i$EXEEXT; if test -f "$bindir/m$i$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:146: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:146" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:146" -$at_failed && at_fn_log_failure -$at_traceon; } - - - cd $bindir - lt_exe=./m$i$EXEEXT; if test -f "./m$i$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:148: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:148" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:148" -$at_failed && at_fn_log_failure -$at_traceon; } - - - cd $cwd -done - -PATH=$bindir${PATH_SEPARATOR-:}$PATH -for i in 1 2 3; do - lt_exe=m$i$EXEEXT; if test -f "m$i$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/deplib-in-subdir.at:154: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "deplib-in-subdir.at:154" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/deplib-in-subdir.at:154" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_87 -#AT_START_88 -at_fn_group_banner 88 'infer-tag.at:31' \ - "inferred tag" " " 7 -at_xfail=no -( - $as_echo "88. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >a.c <<'_ATEOF' -int a (void) { return 0; } -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:38: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "infer-tag.at:38" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:38" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_88 -#AT_START_89 -at_fn_group_banner 89 'infer-tag.at:43' \ - "CXX inferred tag" " " 7 -at_xfail=no -( - $as_echo "89. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:44: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "infer-tag.at:44" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:44" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:44: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "infer-tag.at:44" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:44" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >a.cpp <<'_ATEOF' -int a (void) { return 0; } -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:51: \$LIBTOOL --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS -c a.cpp" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c a.cpp" "infer-tag.at:51" -( $at_check_trace; $LIBTOOL --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c a.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:51" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_89 -#AT_START_90 -at_fn_group_banner 90 'infer-tag.at:56' \ - "F77 inferred tag" " " 7 -at_xfail=no -( - $as_echo "90. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:57: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "infer-tag.at:57" -( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:57" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -cat >a.f <<'_ATEOF' - program main - end -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:65: \$LIBTOOL --mode=compile \$F77 \$FFLAGS -c a.f" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $F77 $FFLAGS -c a.f" "infer-tag.at:65" -( $at_check_trace; $LIBTOOL --mode=compile $F77 $FFLAGS -c a.f -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:65" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_90 -#AT_START_91 -at_fn_group_banner 91 'infer-tag.at:70' \ - "FC inferred tag" " " 7 -at_xfail=no -( - $as_echo "91. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:71: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "infer-tag.at:71" -( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:71" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Autoconf will accept f77 or similar as a valid FC, but often f77 - # will not compile fortran90 code; in that case skip the FC checks. - cat >fc_test.f90 <<'_ATEOF' - program main - - end -_ATEOF - - { set +x -$as_echo "$at_srcdir/infer-tag.at:71: \$FC \$FCFLAGS fc_test.f90 || exit 77" -at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "infer-tag.at:71" -( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:71" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >a.f <<'_ATEOF' - program main - end -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:79: \$LIBTOOL --mode=compile \$FC \$FCFLAGS -c a.f" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $FC $FCFLAGS -c a.f" "infer-tag.at:79" -( $at_check_trace; $LIBTOOL --mode=compile $FC $FCFLAGS -c a.f -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_91 -#AT_START_92 -at_fn_group_banner 92 'infer-tag.at:84' \ - "GCJ inferred tag" " " 7 -at_xfail=no -( - $as_echo "92. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:85: { test -n \"\$GCJ\" && test \"X\$GCJ\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$GCJ\" && test \"X$GCJ\" != Xno; } || (exit 77)" "infer-tag.at:85" -( $at_check_trace; { test -n "$GCJ" && test "X$GCJ" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:85" -$at_failed && at_fn_log_failure -$at_traceon; } - -# There are just too many broken gcj installations out there, either missing - # libgcj.spec or unable to find it. Skip the test for them. - cat >gcj_test.java <<'_ATEOF' -public class gcj_test { - public static void main(String[] argv) { } - } -_ATEOF - - { set +x -$as_echo "$at_srcdir/infer-tag.at:85: \$GCJ \$GCJFLAGS -c gcj_test.java || exit 77" -at_fn_check_prepare_dynamic "$GCJ $GCJFLAGS -c gcj_test.java || exit 77" "infer-tag.at:85" -( $at_check_trace; $GCJ $GCJFLAGS -c gcj_test.java || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:85" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >A.java <<'_ATEOF' -public class A { - private int a; - public A () { a = 0; } -}; -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/infer-tag.at:95: \$LIBTOOL --mode=compile \$GCJ \$GCJCFLAGS -c A.java" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $GCJ $GCJCFLAGS -c A.java" "infer-tag.at:95" -( $at_check_trace; $LIBTOOL --mode=compile $GCJ $GCJCFLAGS -c A.java -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/infer-tag.at:95" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_92 -#AT_START_93 -at_fn_group_banner 93 'localization.at:24' \ - "localized compiler messages" " " 7 -at_xfail=no -( - $as_echo "93. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# Let's try German locale. :-) - - -cat >a.c <<'_ATEOF' -int x[-1]; -_ATEOF - -cat >b.c <<'_ATEOF' -int y; -_ATEOF - - -# First see if setting a locale is accepted at all. -{ set +x -$as_echo "$at_srcdir/localization.at:39: (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE \$CC \$CPPFLAGS \$CFLAGS -c b.c) || exit 77" -at_fn_check_prepare_dynamic "(LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $CC $CPPFLAGS $CFLAGS -c b.c) || exit 77" "localization.at:39" -( $at_check_trace; (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $CC $CPPFLAGS $CFLAGS -c b.c) || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/localization.at:39" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Find out about expected output. -{ set +x -$as_echo "$at_srcdir/localization.at:43: (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE \$CC \$CPPFLAGS \$CFLAGS -c a.c) || exit 1" -at_fn_check_prepare_dynamic "(LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1" "localization.at:43" -( $at_check_trace; (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/localization.at:43" -$at_failed && at_fn_log_failure -$at_traceon; } - -_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` -$SED "/^distcc\[[0-9]*\]/d - /^$_ltbase: compile/d - s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < stdout > stdout.t -case $host_os in - mingw*) - tr -d '\015' < stdout.t > expected-stdout ;; - *) - cp stdout.t expected-stdout ;; -esac -_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` -$SED "/^distcc\[[0-9]*\]/d - /^$_ltbase: compile/d - s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < stderr > stderr.t -case $host_os in - mingw*) - tr -d '\015' < stderr.t > expected-stderr ;; - *) - cp stderr.t expected-stderr ;; -esac -{ set +x -$as_echo "$at_srcdir/localization.at:47: (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE \$LIBTOOL --mode=compile --tag=CC \$CC \$CPPFLAGS \$CFLAGS -c a.c) || exit 1" -at_fn_check_prepare_dynamic "(LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1" "localization.at:47" -( $at_check_trace; (LANG=de_DE LANGUAGE=de_DE LC_ALL=de_DE $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c) || exit 1 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/localization.at:47" -$at_failed && at_fn_log_failure -$at_traceon; } - -_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` -$SED "/^distcc\[[0-9]*\]/d - /^$_ltbase: compile/d - s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < stdout > stdout.t -case $host_os in - mingw*) - tr -d '\015' < stdout.t > libtool-stdout ;; - *) - cp stdout.t libtool-stdout ;; -esac -_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` -$SED "/^distcc\[[0-9]*\]/d - /^$_ltbase: compile/d - s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < stderr > stderr.t -case $host_os in - mingw*) - tr -d '\015' < stderr.t > libtool-stderr ;; - *) - cp stderr.t libtool-stderr ;; -esac -# Avoid these errors: -# GNU/Linux: -# /bin/sh: warning: setlocale: LC_ALL: cannot change locale (de_DE) -# HP-UX: -# Warning! One or more of your selected locales are not available. -# Please invoke the commands "locale" and "locale -a" to verify your -# selections and the available locales. -# -# Continuing processing using the "C" locale. -{ set +x -$as_echo "$at_srcdir/localization.at:60: \$GREP locale stdout stderr && exit 77" -at_fn_check_prepare_dynamic "$GREP locale stdout stderr && exit 77" "localization.at:60" -( $at_check_trace; $GREP locale stdout stderr && exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/localization.at:60" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/localization.at:61: diff expected-stderr libtool-stderr" -at_fn_check_prepare_trace "localization.at:61" -( $at_check_trace; diff expected-stderr libtool-stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/localization.at:61" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/localization.at:62: diff expected-stdout libtool-stdout" -at_fn_check_prepare_trace "localization.at:62" -( $at_check_trace; diff expected-stdout libtool-stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/localization.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# check that we get our quoting right. - -{ set +x -$as_echo "$at_srcdir/localization.at:67: (LANGUAGE='a; nosuchprogram \" '\\'' & \$x /#+*(){}|,:\`\\ !%' \$LIBTOOL --mode=compile --tag=CC \$CC \$CPPFLAGS \$CFLAGS -c b.c)" -at_fn_check_prepare_notrace 'a `...` command substitution' "localization.at:67" -( $at_check_trace; (LANGUAGE='a; nosuchprogram " '\'' & $x /#+*(){}|,:`\ !%' $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c b.c) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/localization.at:67" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/localization.at:69: \$GREP nosuchprogram stdout stderr" -at_fn_check_prepare_dynamic "$GREP nosuchprogram stdout stderr" "localization.at:69" -( $at_check_trace; $GREP nosuchprogram stdout stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/localization.at:69" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_93 -#AT_START_94 -at_fn_group_banner 94 'nocase.at:26' \ - "nocase library search" " " 7 -at_xfail=no -( - $as_echo "94. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -eval `$LIBTOOL --config | $EGREP '^(want_nocaseglob|file_magic_glob)='` - -{ set +x -$as_echo "$at_srcdir/nocase.at:31: test yes != \"\$want_nocaseglob\" && test -z \"\$file_magic_glob\" && exit 77" -at_fn_check_prepare_dynamic "test yes != \"$want_nocaseglob\" && test -z \"$file_magic_glob\" && exit 77" "nocase.at:31" -( $at_check_trace; test yes != "$want_nocaseglob" && test -z "$file_magic_glob" && exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/nocase.at:31" -$at_failed && at_fn_log_failure -$at_traceon; } - - -mkdir foo -cat >foo/Foo.c <<'_ATEOF' - -int Foo (void) { return 1; } -_ATEOF - - -mkdir bar -cat >bar/bar.c <<'_ATEOF' - -extern int Foo (void); -int bar (void) { return Foo (); } -_ATEOF - - -cat >main.c <<'_ATEOF' - -extern int bar (void); -int main (void) { return bar (); } -_ATEOF - - -libdir=`pwd`/inst/lib -mkdir inst inst/bin inst/lib - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo/Foo.lo foo/Foo.c -{ set +x -$as_echo "$at_srcdir/nocase.at:58: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o foo/libFoo.la foo/Foo.lo -no-undefined -version-info 1:0:0 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o foo/libFoo.la foo/Foo.lo -no-undefined -version-info 1:0:0 -rpath $libdir" "nocase.at:58" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o foo/libFoo.la foo/Foo.lo -no-undefined -version-info 1:0:0 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:58" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/nocase.at:61: \$LIBTOOL --mode=install cp foo/libFoo.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp foo/libFoo.la $libdir" "nocase.at:61" -( $at_check_trace; $LIBTOOL --mode=install cp foo/libFoo.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:61" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/nocase.at:63: \$LIBTOOL --mode=clean rm -f foo/libFoo.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f foo/libFoo.la" "nocase.at:63" -( $at_check_trace; $LIBTOOL --mode=clean rm -f foo/libFoo.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:63" -$at_failed && at_fn_log_failure -$at_traceon; } - - -rm -f $libdir/libFoo.la - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar/bar.lo bar/bar.c -{ set +x -$as_echo "$at_srcdir/nocase.at:69: \$LIBTOOL --mode=link --tag=CC \$CC \$CFLAGS \$LDFLAGS -o bar/libbar.la bar/bar.lo -L\$libdir -lfoo -no-undefined -version-info 1:0:0 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o bar/libbar.la bar/bar.lo -L$libdir -lfoo -no-undefined -version-info 1:0:0 -rpath $libdir" "nocase.at:69" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS -o bar/libbar.la bar/bar.lo -L$libdir -lfoo -no-undefined -version-info 1:0:0 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:69" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/nocase.at:72: \$LIBTOOL --mode=install cp bar/libbar.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp bar/libbar.la $libdir" "nocase.at:72" -( $at_check_trace; $LIBTOOL --mode=install cp bar/libbar.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:72" -$at_failed && at_fn_log_failure -$at_traceon; } - - -str=`$EGREP '^(old_library)=' < $libdir/libbar.la` -eval "$str" -libbar=$old_library -rm -f $libdir/$libbar - -$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o main.$OBJEXT main.c - -{ set +x -$as_echo "$at_srcdir/nocase.at:82: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -L\$libdir -lbar" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$libdir -lbar" "nocase.at:82" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -L$libdir -lbar -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nocase.at:82" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_94 -#AT_START_95 -at_fn_group_banner 95 'install.at:26' \ - "Install tests" " " 7 -at_xfail=no -( - $as_echo "95. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# Ensure that install_override_mode overrides the mode of the shared -# library (and only the shared library). - -{ set +x -$as_echo "$at_srcdir/install.at:32: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" -at_fn_check_prepare_notrace 'a shell pipeline' "install.at:32" -( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/install.at:32" -$at_failed && at_fn_log_failure -$at_traceon; } - -$SED 's|^\(install_override_mode\)=.*|\1=755|' < $LIBTOOL > ./libtool -LIBTOOL=./libtool -chmod a+rx $LIBTOOL - -inst=`pwd`/inst -mkdir inst - -echo 'int a () { return 0; }' > a.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -{ set +x -$as_echo "$at_srcdir/install.at:43: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -rpath \$inst -no-undefined" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $inst -no-undefined" "install.at:43" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $inst -no-undefined -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/install.at:43" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/install.at:45: \$LIBTOOL --mode=install \$lt_INSTALL liba.la \$inst" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL liba.la $inst" "install.at:45" -( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL liba.la $inst -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/install.at:45" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/install.at:47: \$GREP ' -m 755' stdout" -at_fn_check_prepare_dynamic "$GREP ' -m 755' stdout" "install.at:47" -( $at_check_trace; $GREP ' -m 755' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/install.at:47" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/install.at:48: \$LIBTOOL --mode=install \$lt_INSTALL -m 644 liba.la \$inst" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install $lt_INSTALL -m 644 liba.la $inst" "install.at:48" -( $at_check_trace; $LIBTOOL --mode=install $lt_INSTALL -m 644 liba.la $inst -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/install.at:48" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/install.at:50: \$GREP ' -m 755' stdout" -at_fn_check_prepare_dynamic "$GREP ' -m 755' stdout" "install.at:50" -( $at_check_trace; $GREP ' -m 755' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/install.at:50" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/install.at:51: \$GREP ' -m 644.*liba.la' stdout" -at_fn_check_prepare_dynamic "$GREP ' -m 644.*liba.la' stdout" "install.at:51" -( $at_check_trace; $GREP ' -m 644.*liba.la' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/install.at:51" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_95 -#AT_START_96 -at_fn_group_banner 96 'versioning.at:24' \ - "versioning" " " 7 -at_xfail=no -( - $as_echo "96. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -eval "`$LIBTOOL --config | $EGREP '^(objdir|host_os|shared_archive_member_spec)='`" - -# Setup some library and program sources: -# a library (a1), a new revision (a2), a compatible update (a3), -# an incompatible update (a4). -# Another library (libb) using liba, and a couple of programs, -# using liba directly and indirectly through libb. - -cat >liba1.c <<'_ATEOF' - -int a (void) -{ - return 0; -} -_ATEOF - - -cat >liba2.c <<'_ATEOF' - -/* The internal detail should be static. It isn't static in this test, - so we can later find out that it's this revision of the library. */ -int internal_detail = 42; -int a (void) -{ - return internal_detail - 42; -} -_ATEOF - - -cat >liba3.c <<'_ATEOF' - -int a (void) -{ - return 0; -} -int aa (void) -{ - return 0; -} -_ATEOF - - -cat >liba4.c <<'_ATEOF' - -int aa (void) -{ - return 0; -} -_ATEOF - - -cat >libb.c <<'_ATEOF' - -extern int a (void); -int b (void) -{ - return a (); -} -_ATEOF - - -cat >prog1.c <<'_ATEOF' - -extern int a (void); -int main (void) -{ - return a (); -} -_ATEOF - - -cat >prog2.c <<'_ATEOF' - -extern int b (void); -int main (void) -{ - return b (); -} -_ATEOF - - - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -LDFLAGS="$LDFLAGS -no-undefined" -mkdir $inst $libdir $bindir - -for file in liba1.c liba2.c liba3.c liba4.c libb.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -for file in prog1.c prog2.c; do - $CC $CPPFLAGS $CFLAGS -c $file -done - -# Setup is finished here. - -# Hypothesis: -version-info is ignored for convenience archives. -{ set +x -$as_echo "$at_srcdir/versioning.at:111: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info 0:0:0" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 0:0:0" "versioning.at:111" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 0:0:0 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:111" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:113: \$GREP 'version-info.*ignored for convenience' stderr" -at_fn_check_prepare_dynamic "$GREP 'version-info.*ignored for convenience' stderr" "versioning.at:113" -( $at_check_trace; $GREP 'version-info.*ignored for convenience' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:113" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Hypothesis: the deprecated -version-number works. -# Be sure not to use zero here, it's not portable. -for version_number in 1 1:1 2:1 1:1:1 3:2:1; do - { set +x -$as_echo "$at_srcdir/versioning.at:118: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-number \$version_number -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-number $version_number -rpath $libdir" "versioning.at:118" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-number $version_number -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:118" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -# Hypothesis: -version-info can be passed kinds of values, esp. zero ones -# and large ones. -# TODO: check something like 1001:2419:189 after fixing issues -# for 'version_type's of 'irix', 'nonstopux', or 'osf'. -for version_info in 1 1:2 0:0:0 1:1:1 13:241:7; do - { set +x -$as_echo "$at_srcdir/versioning.at:127: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info \$version_info -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info $version_info -rpath $libdir" "versioning.at:127" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info $version_info -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:127" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -# Hypothesis: we diagnose when AGE is higher than CURRENT. -{ set +x -$as_echo "$at_srcdir/versioning.at:132: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info 1:3:2 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 1:3:2 -rpath $libdir" "versioning.at:132" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 1:3:2 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/versioning.at:132" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:134: \$GREP 'AGE.*is greater than' stderr" -at_fn_check_prepare_dynamic "$GREP 'AGE.*is greater than' stderr" "versioning.at:134" -( $at_check_trace; $GREP 'AGE.*is greater than' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:134" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Hypothesis: we diagnose invalid values. -for version_info in 1:2:3:4 -1 0:-1 0:0:-1; do - { set +x -$as_echo "$at_srcdir/versioning.at:138: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info \$version_info -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info $version_info -rpath $libdir" "versioning.at:138" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info $version_info -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/versioning.at:138" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Now, create an original version of the library and associated users. -# This setup will be reused for further hypotheses below, and these -# functions will be used to test working programs. - -test_uninstalled () -{ - # temporarily move installed libraries out of the way in order to avoid - # skewing test results: - mv $libdir temp-lib - mv $bindir temp-bin - lt_exe=./prog1; if test -f "./prog1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/versioning.at:153: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "versioning.at:153" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:153" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=./prog2; if test -f "./prog2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/versioning.at:154: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "versioning.at:154" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:154" -$at_failed && at_fn_log_failure -$at_traceon; } - - - mv temp-lib $libdir - mv temp-bin $bindir -} - -test_installed () -{ - # temporarily move uninstalled libraries out of the way in order to avoid - # skewing test results: - mv $objdir temp - lt_exe=$bindir/prog1; if test -f "$bindir/prog1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/versioning.at:164: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "versioning.at:164" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:164" -$at_failed && at_fn_log_failure -$at_traceon; } - - - lt_exe=$bindir/prog2; if test -f "$bindir/prog2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/versioning.at:165: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "versioning.at:165" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:165" -$at_failed && at_fn_log_failure -$at_traceon; } - - - mv temp $objdir -} - -{ set +x -$as_echo "$at_srcdir/versioning.at:169: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba1.lo -version-info 0:0:0 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 0:0:0 -rpath $libdir" "versioning.at:169" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba1.lo -version-info 0:0:0 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:169" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:171: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb.la libb.lo liba.la -version-info 0:0:0 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la libb.lo liba.la -version-info 0:0:0 -rpath $libdir" "versioning.at:171" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la libb.lo liba.la -version-info 0:0:0 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:171" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:173: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o prog1\$EXEEXT prog1.\$OBJEXT liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog1$EXEEXT prog1.$OBJEXT liba.la" "versioning.at:173" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog1$EXEEXT prog1.$OBJEXT liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:173" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:175: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o prog2\$EXEEXT prog2.\$OBJEXT libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog2$EXEEXT prog2.$OBJEXT libb.la" "versioning.at:175" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o prog2$EXEEXT prog2.$OBJEXT libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:175" -$at_failed && at_fn_log_failure -$at_traceon; } - -test_uninstalled -{ set +x -$as_echo "$at_srcdir/versioning.at:178: \$LIBTOOL --mode=install cp liba.la libb.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la libb.la $libdir" "versioning.at:178" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la libb.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:178" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:180: \$LIBTOOL --mode=install cp prog1\$EXEEXT prog2\$EXEEXT \$bindir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp prog1$EXEEXT prog2$EXEEXT $bindir" "versioning.at:180" -( $at_check_trace; $LIBTOOL --mode=install cp prog1$EXEEXT prog2$EXEEXT $bindir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:180" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:182: \$LIBTOOL --mode=clean rm -f liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "versioning.at:182" -( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:182" -$at_failed && at_fn_log_failure -$at_traceon; } - -test_installed -{ set +x -$as_echo "$at_srcdir/versioning.at:184: \$LIBTOOL --mode=uninstall rm -f \$libdir/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=uninstall rm -f $libdir/liba.la" "versioning.at:184" -( $at_check_trace; $LIBTOOL --mode=uninstall rm -f $libdir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:184" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Hypothesis: library revision updates do not require (uninstalled -# nor installed) programs or libraries to be relinked. -{ set +x -$as_echo "$at_srcdir/versioning.at:189: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba2.lo -version-info 0:1:0 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba2.lo -version-info 0:1:0 -rpath $libdir" "versioning.at:189" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba2.lo -version-info 0:1:0 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:189" -$at_failed && at_fn_log_failure -$at_traceon; } - -test_uninstalled -{ set +x -$as_echo "$at_srcdir/versioning.at:192: \$LIBTOOL --mode=install cp liba.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir" "versioning.at:192" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:192" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:193: \$LIBTOOL --mode=clean rm -f liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "versioning.at:193" -( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:193" -$at_failed && at_fn_log_failure -$at_traceon; } - -test_installed -# do not uninstall here: the library may be reused in the next test. - -# Hypothesis: backward compatible library updates do not require -# (uninstalled nor installed) programs or libraries to be relinked. -# This can have one of several reasons: -# - the soname is the difference between $current and $age, thus -# unchanged; in this case, the newly installed library will be used, -# - the soname is only $current, or we are linking statically, in which case -# the old installed library code will be used, -# - the numbers are not encoded at all, in which case the newly installed -# library will be used. -{ set +x -$as_echo "$at_srcdir/versioning.at:206: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba3.lo -version-info 1:0:1 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba3.lo -version-info 1:0:1 -rpath $libdir" "versioning.at:206" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba3.lo -version-info 1:0:1 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Do not test the uninstalled program, it may be broken (in the second case). -{ set +x -$as_echo "$at_srcdir/versioning.at:209: \$LIBTOOL --mode=install cp liba.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir" "versioning.at:209" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:209" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:210: \$LIBTOOL --mode=clean rm -f liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "versioning.at:210" -( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:210" -$at_failed && at_fn_log_failure -$at_traceon; } - -test_installed -# do not uninstall here: the library may be reused in the next test. - - -# Hypothesis: with shared libraries, incompatible library updates -# will not cause old installed programs or libraries (linked against the old -# library version) to break. -# This can have one of several reasons: -# - the soname has changed, so the old installed library will still be -# available, -# - we are linking statically, so the old library code will still be used. -# In order to be sure we are still linking against the old library version, -# we must ensure that libb is not relinked, so we must not reinstall libb here. -{ set +x -$as_echo "$at_srcdir/versioning.at:224: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la liba4.lo -version-info 2:0:0 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba4.lo -version-info 2:0:0 -rpath $libdir" "versioning.at:224" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba4.lo -version-info 2:0:0 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:224" -$at_failed && at_fn_log_failure -$at_traceon; } - -# We do not guarantee that old versions of an uninstalled library are still -# available, so test_uninstalled will not necessarily work here any more. -{ set +x -$as_echo "$at_srcdir/versioning.at:228: \$LIBTOOL --mode=install cp liba.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir" "versioning.at:228" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/versioning.at:229: \$LIBTOOL --mode=clean rm -f liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "versioning.at:229" -( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:229" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# On AIX, this test only works when the 'aix-soname' feature is enabled and -# active, which is reflected in shared_archive_member_spec being set and LDFLAGS -# containing -brtl. Otherwise, even with runtime linking, the linker always -# records the unversioned name as dependency. -{ set +x -$as_echo "$at_srcdir/versioning.at:235: :; case \$host_os,\$shared_archive_member_spec,\$LDFLAGS in -aix*,,*) exit 77 ;; -aix*,*,*-brtl*) ;; -aix*,*) exit 77 ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "versioning.at:235" -( $at_check_trace; :; case $host_os,$shared_archive_member_spec,$LDFLAGS in -aix*,,*) exit 77 ;; -aix*,*,*-brtl*) ;; -aix*,*) exit 77 ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/versioning.at:235" -$at_failed && at_fn_log_failure -$at_traceon; } - - -test_installed - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_96 -#AT_START_97 -at_fn_group_banner 97 'destdir.at:49' \ - "Simple DESTDIR install" " " 8 -at_xfail=no - eval `$LIBTOOL --config | $GREP '^fast_install='` - case $fast_install in no) :;; *) false;; esac && at_xfail=yes -( - $as_echo "97. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# A program that depends upon a library, both in the same package. -# DESTDIR installs do not work with relink at install time. - -LDFLAGS="$LDFLAGS -no-undefined" -if test -n "$we_are_on_a_safe_system"; then # let's read shorter cmdlines. - DESTDIR=/tmp/dest - prefix=/tmp/inst - rm -rf $DESTDIR $prefix -else - DESTDIR=`pwd`/dest - prefix=`pwd`/inst -fi -libdir=$prefix/lib -bindir=$prefix/bin -$mkdir_p src $prefix $DESTDIR $DESTDIR$prefix -eval `$LIBTOOL --config | $EGREP '^(FGREP|OBJDUMP)='` - -cd src -echo 'int a() { return 0; }' > a.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -echo 'extern int a(); int main() { return a(); }' > m.c -$CC $CPPFLAGS $CFLAGS -c m.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la -mkdir $DESTDIR$libdir $DESTDIR$bindir -{ set +x -$as_echo "$at_srcdir/destdir.at:62: \$LIBTOOL --mode=install cp liba.la \$DESTDIR\$libdir/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la" "destdir.at:62" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/destdir.at:64: \$LIBTOOL --mode=install cp m\$EXEEXT \$DESTDIR\$bindir/m\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT" "destdir.at:64" -( $at_check_trace; $LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:64" -$at_failed && at_fn_log_failure -$at_traceon; } - -$LIBTOOL --mode=clean rm -f liba.la m -$mkdir_p "$libdir" -(cd "$DESTDIR$libdir" && find . -type d) | (cd "$libdir" && xargs $mkdir_p) -for file in `cd "$DESTDIR$libdir" && find . -type f -print -o -type l -print` -do - mv "$DESTDIR$libdir"/$file "$libdir"/$file -done -rm -rf "$DESTDIR$libdir" - -$mkdir_p "$bindir" -(cd "$DESTDIR$bindir" && find . -type d) | (cd "$bindir" && xargs $mkdir_p) -for file in `cd "$DESTDIR$bindir" && find . -type f -print -o -type l -print` -do - mv "$DESTDIR$bindir"/$file "$bindir"/$file -done -rm -rf "$DESTDIR$bindir" - -# We ignore failure on purpose here: we may not be root. -{ set +x -$as_echo "$at_srcdir/destdir.at:70: \$LIBTOOL --mode=finish \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=finish $libdir" "destdir.at:70" -( $at_check_trace; $LIBTOOL --mode=finish $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/destdir.at:70" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=$bindir/m$EXEEXT; if test -f "$bindir/m$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/destdir.at:71: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "destdir.at:71" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:71" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_97 -#AT_START_98 -at_fn_group_banner 98 'destdir.at:76' \ - "DESTDIR with in-package deplibs" " " 8 -at_xfail=no - eval `$LIBTOOL --config | $GREP '^fast_install='` - case $fast_install in no) :;; *) false;; esac && at_xfail=yes -( - $as_echo "98. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# A program that depends upon a library that depends upon another -# library, all in the same package. Use two deplibs, one in $libdir -# and one in another directory. -# DESTDIR installs do not work with relink at install time. - -LDFLAGS="$LDFLAGS -no-undefined" -if test -n "$we_are_on_a_safe_system"; then # let's read shorter cmdlines. - DESTDIR=/tmp/dest - prefix=/tmp/inst - rm -rf $DESTDIR $prefix -else - DESTDIR=`pwd`/dest - prefix=`pwd`/inst -fi -libdir=$prefix/lib -bindir=$prefix/bin -$mkdir_p src $prefix $DESTDIR $DESTDIR$prefix -eval `$LIBTOOL --config | $EGREP '^(FGREP|OBJDUMP)='` - -cd src -echo 'int a1dep() { return 0; }' > a1dep.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a1dep.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba1dep.la a1dep.lo -rpath $libdir -echo 'int a2dep() { return 0; }' > a2dep.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a2dep.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba2dep.la a2dep.lo -rpath ${libdir}2 -echo 'extern int a1dep(), a2dep(); int a() { return a1dep() + a2dep(); }' > a.c -$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir liba1dep.la liba2dep.la -echo 'extern int a(); int main() { return a(); }' > m.c -$CC $CPPFLAGS $CFLAGS -c m.c -$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT liba.la -mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir -{ set +x -$as_echo "$at_srcdir/destdir.at:97: \$LIBTOOL --mode=install cp liba1dep.la \$DESTDIR\$libdir/liba1dep.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba1dep.la $DESTDIR$libdir/liba1dep.la" "destdir.at:97" -( $at_check_trace; $LIBTOOL --mode=install cp liba1dep.la $DESTDIR$libdir/liba1dep.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:97" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/destdir.at:99: \$LIBTOOL --mode=install cp liba2dep.la \$DESTDIR\${libdir}2/liba2dep.la" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "destdir.at:99" -( $at_check_trace; $LIBTOOL --mode=install cp liba2dep.la $DESTDIR${libdir}2/liba2dep.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:99" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/destdir.at:101: \$LIBTOOL --mode=install cp liba.la \$DESTDIR\$libdir/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la" "destdir.at:101" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la $DESTDIR$libdir/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:101" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/destdir.at:103: \$LIBTOOL --mode=install cp m\$EXEEXT \$DESTDIR\$bindir/m\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT" "destdir.at:103" -( $at_check_trace; $LIBTOOL --mode=install cp m$EXEEXT $DESTDIR$bindir/m$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:103" -$at_failed && at_fn_log_failure -$at_traceon; } - -$LIBTOOL --mode=clean rm -f liba1dep.la liba2dep.la liba.la m -$mkdir_p "$libdir" -(cd "$DESTDIR$libdir" && find . -type d) | (cd "$libdir" && xargs $mkdir_p) -for file in `cd "$DESTDIR$libdir" && find . -type f -print -o -type l -print` -do - mv "$DESTDIR$libdir"/$file "$libdir"/$file -done -rm -rf "$DESTDIR$libdir" - -$mkdir_p "${libdir}2" -(cd "$DESTDIR${libdir}2" && find . -type d) | (cd "${libdir}2" && xargs $mkdir_p) -for file in `cd "$DESTDIR${libdir}2" && find . -type f -print -o -type l -print` -do - mv "$DESTDIR${libdir}2"/$file "${libdir}2"/$file -done -rm -rf "$DESTDIR${libdir}2" - -$mkdir_p "$bindir" -(cd "$DESTDIR$bindir" && find . -type d) | (cd "$bindir" && xargs $mkdir_p) -for file in `cd "$DESTDIR$bindir" && find . -type f -print -o -type l -print` -do - mv "$DESTDIR$bindir"/$file "$bindir"/$file -done -rm -rf "$DESTDIR$bindir" - -# We ignore failure on purpose here: we may not be root. -{ set +x -$as_echo "$at_srcdir/destdir.at:110: \$LIBTOOL --mode=finish \$libdir \${libdir}2" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "destdir.at:110" -( $at_check_trace; $LIBTOOL --mode=finish $libdir ${libdir}2 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/destdir.at:110" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# put false libraries in the DESTDIR paths: if the installed program -# refers to them, that is a bug. -mkdir $DESTDIR$libdir $DESTDIR${libdir}2 $DESTDIR$bindir -for lib in a1dep a2dep a; do - case $lib in - a2dep) ldir=${libdir}2;; - *) ldir=$libdir;; - esac - echo "int this_should_not_be_linked_against () { return 0; }" > $lib.c - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $lib.c - # Note the rpath argument includes $DESTDIR: the installed false libs - # should be functional (i.e., not need 'libtool --mode=finish'). - $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o lib$lib.la $lib.lo -rpath $DESTDIR$ldir - $LIBTOOL --mode=install cp lib$lib.la $DESTDIR$ldir/lib$lib.la -done - -lt_exe=$bindir/m$EXEEXT; if test -f "$bindir/m$EXEEXT$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/destdir.at:128: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "destdir.at:128" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/destdir.at:128" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# TODO: make this more portable: -if test false != "$OBJDUMP" && ($OBJDUMP -p $bindir/m$EXEEXT) >/dev/null 2>&1; then - { set +x -$as_echo "$at_srcdir/destdir.at:132: \$OBJDUMP -p \$bindir/m\$EXEEXT | \$EGREP -i \"R(UN)?PATH.*\$DESTDIR\"" -at_fn_check_prepare_notrace 'a shell pipeline' "destdir.at:132" -( $at_check_trace; $OBJDUMP -p $bindir/m$EXEEXT | $EGREP -i "R(UN)?PATH.*$DESTDIR" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/destdir.at:132" -$at_failed && at_fn_log_failure -$at_traceon; } - - . $libdir/liba.la - set x $library_names - lname=$2 - if test -n "$lname"; then - { set +x -$as_echo "$at_srcdir/destdir.at:137: \$OBJDUMP -p \$libdir/\$lname | \$EGREP -i \"R(UN)?PATH.*\$DESTDIR\"" -at_fn_check_prepare_notrace 'a shell pipeline' "destdir.at:137" -( $at_check_trace; $OBJDUMP -p $libdir/$lname | $EGREP -i "R(UN)?PATH.*$DESTDIR" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/destdir.at:137" -$at_failed && at_fn_log_failure -$at_traceon; } - - fi -fi - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_98 -#AT_START_99 -at_fn_group_banner 99 'old-m4-iface.at:41' \ - "AM_PROG_LIBTOOL" " " 9 -at_xfail=no - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "99. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.in <<'_ATEOF' -AC_INIT(old.c) -AM_PROG_LIBTOOL -AC_SUBST([LIBTOOL_DEPS]) -AC_OUTPUT(Makefile) -_ATEOF - - -cat >Makefile.in <<'_ATEOF' -COMPILE = @CC@ @CPPFLAGS@ @CFLAGS@ -LINK = @CC@ @CFLAGS@ @LDFLAGS@ -o $@ -SHELL = @SHELL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ - -all: libtool old@EXEEXT@ - -old@EXEEXT@: old.@OBJEXT@ - $(LINK) old.@OBJEXT@ - -.SUFFIXES: -.SUFFIXES: .c .@OBJEXT@ - -.c.@OBJEXT@: - $(COMPILE) -c $< - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - - -cat >old.c <<'_ATEOF' -#include - -int main (void) -{ - printf ("Hello, World!"); - return 0; -} -_ATEOF - - -$LIBTOOLIZE --install - - - -# This is slightly bogus, since only libtool.m4 was required in aclocal.m4 -# with libtool-1.5x... -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:86: test -f aclocal.m4 || - cat \"\$tst_aclocaldir/libtool.m4\" \"\$tst_aclocaldir/ltoptions.m4\" \\ - \"\$tst_aclocaldir/ltsugar.m4\" \"\$tst_aclocaldir/ltversion.m4\" \\ - \"\$tst_aclocaldir/lt~obsolete.m4\" > aclocal.m4" -at_fn_check_prepare_notrace 'an embedded newline' "old-m4-iface.at:86" -( $at_check_trace; test -f aclocal.m4 || - cat "$tst_aclocaldir/libtool.m4" "$tst_aclocaldir/ltoptions.m4" \ - "$tst_aclocaldir/ltsugar.m4" "$tst_aclocaldir/ltversion.m4" \ - "$tst_aclocaldir/lt~obsolete.m4" > aclocal.m4 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:91: \$AUTOCONF --force" -at_fn_check_prepare_dynamic "$AUTOCONF --force" "old-m4-iface.at:91" -( $at_check_trace; $AUTOCONF --force -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:91: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "old-m4-iface.at:91" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/old-m4-iface.at:91: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "old-m4-iface.at:91" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -lt_exe=./old; if test -f "./old$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:93: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "old-m4-iface.at:93" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Hello, World!" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:93" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Now, test that libtoolize doesn't mistakenly think the user called -# any libtool macros if in fact she didn't. -$SED '/AM_PROG_LIBTOOL/d' configure.in >configure.int -mv -f configure.int configure.in -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:99: \$LIBTOOLIZE -n" -at_fn_check_prepare_dynamic "$LIBTOOLIZE -n" "old-m4-iface.at:99" -( $at_check_trace; $LIBTOOLIZE -n -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:99" -$at_failed && at_fn_log_failure -$at_traceon; } - -# ensure no shell errors: -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:101: \$GREP -v \"^libtoolize: \" stderr" -at_fn_check_prepare_dynamic "$GREP -v \"^libtoolize: \" stderr" "old-m4-iface.at:101" -( $at_check_trace; $GREP -v "^libtoolize: " stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/old-m4-iface.at:101" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:102: \$GREP \"Remember to add.*LT_INIT.*to configure.in\" stdout" -at_fn_check_prepare_dynamic "$GREP \"Remember to add.*LT_INIT.*to configure.in\" stdout" "old-m4-iface.at:102" -( $at_check_trace; $GREP "Remember to add.*LT_INIT.*to configure.in" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:102" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:103: \$GREP \"Consider adding.*LT_WITH_LTDL\" stdout" -at_fn_check_prepare_dynamic "$GREP \"Consider adding.*LT_WITH_LTDL\" stdout" "old-m4-iface.at:103" -( $at_check_trace; $GREP "Consider adding.*LT_WITH_LTDL" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/old-m4-iface.at:103" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:104: \$GREP \"Remember to add.*LT_CONFIG_LTDL_DIR\" stdout" -at_fn_check_prepare_dynamic "$GREP \"Remember to add.*LT_CONFIG_LTDL_DIR\" stdout" "old-m4-iface.at:104" -( $at_check_trace; $GREP "Remember to add.*LT_CONFIG_LTDL_DIR" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/old-m4-iface.at:104" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_99 -#AT_START_100 -at_fn_group_banner 100 'old-m4-iface.at:113' \ - "AC_WITH_LTDL" " " 9 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "100. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >module.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" -#endif -const char * -hello (void) -{ - return "Hello!"; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include "ltdl.h" - -int -main () -{ - lt_dlhandle module; - const char *(*func) (void) = 0; - int status = 1; - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialisation: %s\n", lt_dlerror()); - return 1; - } - - module = lt_dlopen("./module.la"); - if (!module) { - fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror()); - goto finish; - } - - func = (const char *(*)(void)) lt_dlsym (module, "hello"); - if (!func) { - fprintf (stderr, "error fetching func: %s\n", lt_dlerror()); - goto finish; - } - - printf ("%s\n", (*func) ()); - status = 0; - -finish: - if (lt_dlexit() != 0) { - fprintf (stderr, "error during finalisation: %s\n", lt_dlerror()); - status = 1; - } - - return status; -} -_ATEOF - - - - - - - -cat >configure.in <<'_ATEOF' -AC_PREREQ(2.50) -AC_INIT([main.c]) -AC_PROG_MAKE_SET -AC_LIBTOOL_DLOPEN -AM_PROG_LIBTOOL -AC_WITH_LTDL -AC_OUTPUT(Makefile) -_ATEOF - - -cat >Makefile.in <<'_ATEOF' -top_srcdir = . -top_builddir = . -COMPILE = @CC@ @INCLTDL@ @CPPFLAGS@ @CFLAGS@ -LTCOMPILE = @LIBTOOL@ --mode=compile $(COMPILE) -LTLINK = @LIBTOOL@ --mode=link @CC@ -no-undefined @CFLAGS@ @LDFLAGS@ -o $@ -SHELL = @SHELL@ -@SET_MAKE@ - -TARGETS = libltdl/libltdlc.la module.la ltdldemo@EXEEXT@ - -all: $(TARGETS) - -libltdl/libltdlc.la: - cd libltdl && $(MAKE) - -module.la: module.lo - $(LTLINK) module.lo -module -avoid-version -rpath /dev/null - -ltdldemo@EXEEXT@: main.@OBJEXT@ module.la libltdl/libltdlc.la - $(LTLINK) main.@OBJEXT@ -dlopen module.la @LIBLTDL@ @LIBS@ - -.SUFFIXES: -.SUFFIXES: .c .@OBJEXT@ .lo - -.c.@OBJEXT@: - $(COMPILE) -c $< - -.c.lo: - $(LTCOMPILE) -c -o $@ $< -_ATEOF - - -# Be sure to use the in-tree libltdl, somebody might have removed -# an installed libltdl.la file. -$LIBTOOLIZE --ltdl --install - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/old-m4-iface.at:161: \$ACLOCAL -I libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "old-m4-iface.at:161" -( $at_check_trace; $ACLOCAL -I libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:161" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - - -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:161: \$AUTOCONF --force" -at_fn_check_prepare_dynamic "$AUTOCONF --force" "old-m4-iface.at:161" -( $at_check_trace; $AUTOCONF --force -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:161" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:161: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "old-m4-iface.at:161" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:161" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/old-m4-iface.at:161: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "old-m4-iface.at:161" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:161" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -lt_exe=./ltdldemo; if test -f "./ltdldemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:164: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "old-m4-iface.at:164" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:164" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_100 -#AT_START_101 -at_fn_group_banner 101 'old-m4-iface.at:173' \ - "AC_CONFIG_MACRO_DIR" " " 9 -at_xfail=no -( - $as_echo "101. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtoolize-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) -LT_INIT -AC_OUTPUT -_ATEOF - - -cat >expout <<'_ATEOF' -libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. -libtoolize: copying file 'build-aux/ltmain.sh' -libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. -libtoolize: copying file 'm4/libtool.m4' -libtoolize: copying file 'm4/ltoptions.m4' -libtoolize: copying file 'm4/ltsugar.m4' -libtoolize: copying file 'm4/ltversion.m4' -libtoolize: copying file 'm4/lt~obsolete.m4' -libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. -_ATEOF - - -lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < expout > expout.t -mv -f expout.t expout -{ set +x -$as_echo "$at_srcdir/old-m4-iface.at:195: \$LIBTOOLIZE --copy - -" -at_fn_check_prepare_notrace 'an embedded newline' "old-m4-iface.at:195" -( $at_check_trace; $LIBTOOLIZE --copy - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/old-m4-iface.at:195" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_101 -#AT_START_102 -at_fn_group_banner 102 'am-subdir.at:34' \ - "C subdir-objects" " " 10 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "102. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subdir-demo], 2.4.7, bug-libtool@gnu.org) -AM_INIT_AUTOMAKE -LT_INIT([win32-dll]) -AC_PROG_CC -AM_PROG_CC_C_O -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -AUTOMAKE_OPTIONS = subdir-objects foreign 1.6 -AM_CPPFLAGS = -I$(top_srcdir)/../.. - -lib_LTLIBRARIES = subdir/libsub.la -subdir_libsub_la_SOURCES= subdir/sub.c - -bin_PROGRAMS = subdir/subdemo -subdir_subdemo_SOURCES = subdir/main.c -subdir_subdemo_LDADD = subdir/libsub.la -_ATEOF - - -test -d subdir || { rm -f subdir && mkdir subdir; } - -cat >subdir/main.c <<'_ATEOF' -#include - -extern void sub (void); - -int main (void) -{ - printf ("Welcome to GNU Libtool subdir-objects test!\n"); - sub(); - return 0; -} -_ATEOF - - -cat >subdir/sub.c <<'_ATEOF' -#include -void sub (void) { printf ("** This is libsub **\n"); } -_ATEOF - - -$LIBTOOLIZE --copy - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/am-subdir.at:79: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "am-subdir.at:79" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:79: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "am-subdir.at:79" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/am-subdir.at:79: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "am-subdir.at:79" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/am-subdir.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:79: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "am-subdir.at:79" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:79: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "am-subdir.at:79" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/am-subdir.at:79: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "am-subdir.at:79" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -lt_exe=subdir/subdemo; if test -f "subdir/subdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/am-subdir.at:81: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "am-subdir.at:81" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:81" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:82: \$GREP 'Welcome to GNU Libtool subdir-objects test' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU Libtool subdir-objects test' stdout" "am-subdir.at:82" -( $at_check_trace; $GREP 'Welcome to GNU Libtool subdir-objects test' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:82" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:84: \$GREP 'This is libsub' stdout" -at_fn_check_prepare_dynamic "$GREP 'This is libsub' stdout" "am-subdir.at:84" -( $at_check_trace; $GREP 'This is libsub' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:84" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_102 -#AT_START_103 -at_fn_group_banner 103 'am-subdir.at:94' \ - "C++ subdir-objects" " " 10 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "103. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:95: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "am-subdir.at:95" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:95" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:95: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "am-subdir.at:95" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:95" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subdir-demo], 2.4.7, bug-libtool@gnu.org) -AM_INIT_AUTOMAKE -AC_PROG_CC -AM_PROG_CC_C_O -AC_PROG_CXX -AC_PROG_CXXCPP - -AC_LANG([C++]) -LT_INIT([win32-dll]) - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I m4 -AUTOMAKE_OPTIONS = subdir-objects foreign 1.6 -AM_CPPFLAGS = -I$(top_srcdir)/../.. - -lib_LTLIBRARIES = subdir/libsub.la -subdir_libsub_la_SOURCES= subdir/sub.cxx subdir/sub.hxx - -bin_PROGRAMS = subdir/subdemo -subdir_subdemo_SOURCES = subdir/main.cxx -subdir_subdemo_LDADD = subdir/libsub.la -_ATEOF - - -test -d subdir || { rm -f subdir && mkdir subdir; } - -cat >subdir/sub.hxx <<'_ATEOF' -class libsub { public: int sub (void); }; -_ATEOF - - -cat >subdir/main.cxx <<'_ATEOF' -#include "sub.hxx" - -int main (void) -{ - libsub SUB; - return SUB.sub() != 27; -} -_ATEOF - - -cat >subdir/sub.cxx <<'_ATEOF' -#include "sub.hxx" - -int libsub::sub (void) { return 27; } -_ATEOF - - -$LIBTOOLIZE --copy - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/am-subdir.at:147: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "am-subdir.at:147" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:147: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "am-subdir.at:147" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/am-subdir.at:147: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "am-subdir.at:147" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/am-subdir.at:147" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:147: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "am-subdir.at:147" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/am-subdir.at:147: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "am-subdir.at:147" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/am-subdir.at:147: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "am-subdir.at:147" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:147" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -lt_exe=subdir/subdemo; if test -f "subdir/subdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/am-subdir.at:149: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "am-subdir.at:149" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/am-subdir.at:149" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_103 -#AT_START_104 -at_fn_group_banner 104 'lt_dlexit.at:31' \ - "lt_dlexit unloading libs" " " 11 -at_xfail=no -( - $as_echo "104. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# Test for -# http://lists.gnu.org/archive/html/bug-libtool/2007-01/msg00014.html -# http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00013.html - -cat >main.c <<'_ATEOF' -#include -#include -#include - -typedef int (*pfun_T) (int); -typedef int *pvar_T; - -/* lt_dlopen wrapper */ -static lt_dlhandle -xdlopen (const char *filename) -{ - lt_dlhandle handle = lt_dlopen (filename); - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - } - return handle; -} - -/* lt_dlsym wrapper: try one function and one variable */ -static int -xdlsymtest (lt_dlhandle handle, const char *func, const char *var) -{ - pfun_T pf = (pfun_T) lt_dlsym (handle, func); - pvar_T pv = (pvar_T) lt_dlsym (handle, var); - if (pf == NULL) { - fprintf (stderr, "function '%s' not found\n", func); - return 1; - } - if (pv == NULL) { - fprintf (stderr, "variable '%s' not found\n", var); - return 1; - } - return (*pf) (*pv); -} - -int -main (void) -{ - lt_dlhandle b1; - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - if (lt_dlexit() != 0) { - fprintf (stderr, "error during first lt_dlexit: %s\n", lt_dlerror()); - return 1; - } - if (lt_dlinit() != 0) { - fprintf (stderr, "error during second initialization: %s\n", lt_dlerror()); - return 1; - } - if (!(b1 = xdlopen ("modb1.la"))) return 1; - if (xdlsymtest (b1, "fb1", "vb1")) return 1; - /* do not lt_dlclose here on purpose. */ - - if (lt_dlexit() != 0) { - fprintf (stderr, "error during exit: %s\n", lt_dlerror()); - return 1; - } - return 0; -} -_ATEOF - - - -cat >a1.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -int f1 (int x) { return x - 1; } -int v1 = 1; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >b1.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -#if defined DLL_EXPORT && defined _WIN32 && defined _MSC_VER -# define LIBA1_SCOPE extern __declspec (dllimport) -#endif -#if !defined LIBA1_SCOPE -# define LIBA1_SCOPE extern -#endif -LIBA1_SCOPE int f1 (int); -LIBA1_SCOPE int v1; -int fb1 (int x) { return f1 (v1) + x - 3; } -int vb1 = 3; -#ifdef __cplusplus -} -#endif -_ATEOF - - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/lt_dlexit.at:142: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:142" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:142" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" - -for file in a1 b1; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c -done -$CC $CPPFLAGS $CFLAGS -c main.c -{ set +x -$as_echo "$at_srcdir/lt_dlexit.at:153: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba1.la a1.lo \\ - -rpath /foo -avoid-version" -at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:153" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba1.la a1.lo \ - -rpath /foo -avoid-version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:153" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlexit.at:155: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o modb1.la b1.lo \\ - -rpath /foo -module -avoid-version liba1.la" -at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:155" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o modb1.la b1.lo \ - -rpath /foo -module -avoid-version liba1.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# TODO: test -dlpreopen -for dlopen in -dlopen; do - { set +x -$as_echo "$at_srcdir/lt_dlexit.at:160: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT \\ - \$dlopen modb1.la \$LIBLTDL" -at_fn_check_prepare_notrace 'an embedded newline' "lt_dlexit.at:160" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT \ - $dlopen modb1.la $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:160" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/lt_dlexit.at:162: if \$LIBTOOL --mode=execute -dlopen modb1.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen modb1.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlexit.at:162" -( $at_check_trace; if $LIBTOOL --mode=execute -dlopen modb1.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlexit.at:162" -$at_failed && at_fn_log_failure -$at_traceon; } - - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_104 -#AT_START_105 -at_fn_group_banner 105 'lt_dladvise.at:29' \ - "lt_dlopenadvise library loading" " " 11 -at_xfail=no -( - $as_echo "105. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >main.c <<'_ATEOF' -#include -#include - -typedef int funcp (int); - -static int errors = 0; - -static void -complain (const char *msg) -{ - const char *errmsg = lt_dlerror (); - fprintf (stderr, "%s", msg); - if (errmsg) - fprintf (stderr, ": %s\n", errmsg); - else - fprintf (stderr, ".\n"); - ++errors; -} - -static lt_dlhandle -moduleopen (const char *filename, lt_dladvise advise) -{ - lt_dlhandle handle; - - handle = lt_dlopenadvise (filename, advise); - if (!handle) - { - fprintf (stderr, "can't open the module %s!\n", filename); - complain ("error was"); - } - - return handle; -} - -static int -moduletest (lt_dlhandle handle, const char *fname, const char *vname) -{ - funcp *f = (funcp *) lt_dlsym (handle, fname); - int *v = (int *) lt_dlsym (handle, vname); - - if (!f) - { - fprintf (stderr, "function '%s' not found\n", fname); - ++errors; - return -1; - } - if (!v) - { - fprintf (stderr, "variable '%s' not found\n", vname); - ++errors; - return -1; - } - return f (*v); -} - -void -hint_ext (void) -{ - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_ext (&advise)) - complain ("error setting advise ext"); - - handle = moduleopen ("libdepend", advise); - - if (handle) - printf ("depend: %d\n", moduletest (handle, "g", "j")); - - lt_dladvise_destroy (&advise); -} - -void -hint_resident (void) -{ - const lt_dlinfo *info; - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_resident (&advise)) - complain ("error setting advise resident"); - - handle = moduleopen ("libresident.la", advise); - - if (handle) - { - info = lt_dlgetinfo (handle); - if (!info->is_resident) - complain ("error taking advise resident"); - - /* cannot close resident modules */ - if (lt_dlclose (handle) == 0) - complain ("successfully unloaded resident module"); - - printf ("resident: %d\n", moduletest (handle, "func", "numb")); - } - - lt_dladvise_destroy (&advise); -} - -void -hint_local (void) -{ - const lt_dlinfo *info; - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_local (&advise)) - complain ("error setting advise local"); - - handle = moduleopen ("liblocal.la", advise); - - if (handle) - { - info = lt_dlgetinfo (handle); - printf ("local: %d\n", moduletest (handle, "f", "i")); - - /* If the symlocal hint was taken, don't unload this module - and test that our local symbolnames won't clash with modglobal. */ - if (!info->is_symlocal && lt_dlclose (handle)) - complain ("error unloading modlocal"); - } - - lt_dladvise_destroy (&advise); -} - -void -hint_global (void) -{ - const lt_dlinfo *info; - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_global (&advise)) - complain ("error setting advise global"); - - handle = moduleopen ("libglobal.la", advise); - - if (handle) - { - info = lt_dlgetinfo (handle); - printf ("global: %d\n", moduletest (handle, "f", "i")); - - /* Don't attempt to load moddepend unless modglobal was successfully - loaded and the symglobal hint was taken, and the system allows to - have undefined symbols. */ - if (info && info->is_symglobal && HAVE_UNDEFINED_SYMBOLS) - { - hint_ext (); - } - else - { - /* Fake the output so the test won't fail when using a dlloader - unable to take symglobal hints. */ - printf ("depend: 5\n"); - } - } - - lt_dladvise_destroy (&advise); -} - -void -hint_preload (void) -{ - lt_dlhandle handle; - lt_dladvise advise; - - if (lt_dladvise_init (&advise) || lt_dladvise_preload (&advise)) - complain ("error setting advise preload"); - - handle = moduleopen ("libpreload.la", advise); - - if (handle) - { - printf("preload: %d\n", moduletest (handle, "h", "k")); - } - - lt_dladvise_destroy (&advise); -} - -int -main (void) -{ - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (lt_dlinit() != 0) - { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - hint_resident (); - hint_local (); -#ifdef HAVE_SHARED - hint_global (); -#else - /* This ugly hack is because we have symbols with the same name in both the - global module and the local one, we can't lt_dlopen the local module - locally and then later load the global module globally because of this. - Instead of skipping the test entirely, we test what we can and - have this hack. */ - printf ("global: 4\n"); - printf ("depend: 5\n"); -#endif - hint_preload (); - - if (lt_dlexit () != 0) - complain ("error during exit"); - - return (errors != 0); -} -_ATEOF - - -cat >modresident.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -int func (int x) { return x / 3; } -int numb = 7; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >modlocal.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -int f (int x) { return (x * x) / 10; } -int i = 6; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >modglobal.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -int f (int x) { return x - 1; } -int i = 5; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >moddepend.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -extern int f (int), i; -int g (int x) { return f (i) + x - 3; } -int j = 4; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >modpreload.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -int h (int x) { return 2 * x; } -int k = 3; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >expout <<'_ATEOF' -resident: 2 -local: 3 -global: 4 -depend: 5 -preload: 6 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/lt_dladvise.at:316: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "lt_dladvise.at:316" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:316" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" - -dlopenable='resident local global' -dlpreloadable='preload' - -# ------------------------------------------------------------------------- # -# The depend test makes no sense unless compiled without -no-undefined. By # -# not building the depend module in that case, when this test passes we can # -# be sure that hint_global() above, is being correctly informed those hosts # -# are reporting not able to accept the global hint to lt_dlopenadvise(). # -# ------------------------------------------------------------------------- # - -have_shared=false -$LIBTOOL --features | $GREP 'enable shared libraries' >/dev/null && have_shared=: - -case $host_os,$have_shared in -cygwin* | mingw* | cegcc* | *,false) - # These hosts do not support linking without -no-undefined - CPPFLAGS="$CPPFLAGS -DHAVE_UNDEFINED_SYMBOLS=0" - ;; -*) - CPPFLAGS="$CPPFLAGS -DHAVE_UNDEFINED_SYMBOLS=1" - dlopenable="$dlopen depend" - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c moddepend.c - { set +x -$as_echo "$at_srcdir/lt_dladvise.at:344: \$LIBTOOL --mode=link \$CC -module \$CFLAGS \$LDFLAGS -o libdepend.la moddepend.lo -rpath /foo -avoid-version" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o libdepend.la moddepend.lo -rpath /foo -avoid-version" "lt_dladvise.at:344" -( $at_check_trace; $LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o libdepend.la moddepend.lo -rpath /foo -avoid-version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:344" -$at_failed && at_fn_log_failure -$at_traceon; } - - ;; -esac - -$have_shared && CPPFLAGS="$CPPFLAGS -DHAVE_SHARED" - -# ------------------------------------------------------------------------- # -# Other modules can be tested correctly even when built with -no-undefined. # -# ------------------------------------------------------------------------- # - -LDFLAGS="$LDFLAGS -no-undefined" - -$CC $CPPFLAGS $CFLAGS -c main.c -for name in resident local global preload; do - # FIXME: adding -static to libpreload shouldn't be necessary. - # Fix this properly in ltmain, then remove this workaround. - if test preload = "$name"; then - st=-static - else - st= - fi - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c mod$name.c - { set +x -$as_echo "$at_srcdir/lt_dladvise.at:367: \$LIBTOOL --mode=link \$CC -module \$CFLAGS \$LDFLAGS -o lib\$name.la mod\$name.lo \$st -rpath /foo -avoid-version" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o lib$name.la mod$name.lo $st -rpath /foo -avoid-version" "lt_dladvise.at:367" -( $at_check_trace; $LIBTOOL --mode=link $CC -module $CFLAGS $LDFLAGS -o lib$name.la mod$name.lo $st -rpath /foo -avoid-version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:367" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -preloaded= -for module in $dlpreloadable; do - preloaded="${preloaded+$preloaded }-dlpreopen lib$module.la" -done - -modules= -for module in $dlopenable; do - modules="${modules+$modules }-dlopen lib$module.la" -done - -{ set +x -$as_echo "$at_srcdir/lt_dladvise.at:381: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT \$preloaded \$modules \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $preloaded $modules $LIBLTDL" "lt_dladvise.at:381" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $preloaded $modules $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:381" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Remove loadable libpreload module, so we know it is the preloaded module -# that is being executed by a successful test invocation: -{ set +x -$as_echo "$at_srcdir/lt_dladvise.at:386: \$LIBTOOL --mode=clean rm -f libpreload.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f libpreload.la" "lt_dladvise.at:386" -( $at_check_trace; $LIBTOOL --mode=clean rm -f libpreload.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:386" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/lt_dladvise.at:388: if \$LIBTOOL --mode=execute \$modules \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute $modules \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dladvise.at:388" -( $at_check_trace; if $LIBTOOL --mode=execute $modules "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/lt_dladvise.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_105 -#AT_START_106 -at_fn_group_banner 106 'lt_dlopen.at:24' \ - "lt_dlopen error messages" " " 11 -at_xfail=yes -( - $as_echo "106. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# The bug is not fixed: - - -# This test only works if the system allows undefined symbols. -eval `$LIBTOOL --config | $GREP '^allow_undefined_flag='` -{ set +x -$as_echo "$at_srcdir/lt_dlopen.at:32: test unsupported != \"\$allow_undefined_flag\" || exit 77" -at_fn_check_prepare_dynamic "test unsupported != \"$allow_undefined_flag\" || exit 77" "lt_dlopen.at:32" -( $at_check_trace; test unsupported != "$allow_undefined_flag" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:32" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >main.c <<'_ATEOF' -#include -#include - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle plugin_handle; - - if (argc < 2) - { - fprintf (stderr, "usage: %s plugin\n", argv[0]); - return 1; - } - - lt_dlinit (); - plugin_handle = lt_dlopenext (argv[1]); - if (NULL != plugin_handle) - { - printf ("plugin opened successfully!\n"); - lt_dlclose (plugin_handle); - } - else - { - printf ("plugin failed to open: %s\n", lt_dlerror()); - err = 1; - } - lt_dlexit (); - return err; -} -_ATEOF - - -cat >good-plugin.c <<'_ATEOF' -int foo; -int *i = &foo; -_ATEOF - - -cat >missing-symbol-plugin.c <<'_ATEOF' -/* On systems that allow undefined symbols, this will compile, - but the symbol "foo" won't be found at runtime */ -extern int foo; -int *i = &foo; -_ATEOF - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -inst=`pwd`/inst -libdir=$inst/lib - -{ set +x -$as_echo "$at_srcdir/lt_dlopen.at:86: \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "lt_dlopen.at:86" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - -for file in good-plugin.c missing-symbol-plugin.c; do - { set +x -$as_echo "$at_srcdir/lt_dlopen.at:88: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c \$file" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file" "lt_dlopen.at:88" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - -done -{ set +x -$as_echo "$at_srcdir/lt_dlopen.at:91: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o good-plugin.la -rpath \$libdir -module -avoid-version good-plugin.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o good-plugin.la -rpath $libdir -module -avoid-version good-plugin.lo" "lt_dlopen.at:91" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o good-plugin.la -rpath $libdir -module -avoid-version good-plugin.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopen.at:93: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o missing-symbol-plugin.la -rpath \$libdir -module -avoid-version missing-symbol-plugin.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o missing-symbol-plugin.la -rpath $libdir -module -avoid-version missing-symbol-plugin.lo" "lt_dlopen.at:93" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o missing-symbol-plugin.la -rpath $libdir -module -avoid-version missing-symbol-plugin.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:93" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/lt_dlopen.at:96: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlopen good-plugin.la -dlopen missing-symbol-plugin.la \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen good-plugin.la -dlopen missing-symbol-plugin.la $LIBLTDL" "lt_dlopen.at:96" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen good-plugin.la -dlopen missing-symbol-plugin.la $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/lt_dlopen.at:100: if \"\$lt_exe\" ./good-plugin.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ./good-plugin.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopen.at:100" -( $at_check_trace; if "$lt_exe" ./good-plugin.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:100" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/lt_dlopen.at:101: if \"\$lt_exe\" ./missing-symbol-plugin.la; then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ./missing-symbol-plugin.la; then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopen.at:101" -( $at_check_trace; if "$lt_exe" ./missing-symbol-plugin.la; then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/lt_dlopen.at:101" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/lt_dlopen.at:102: \$GREP 'missing symbol' stderr" -at_fn_check_prepare_dynamic "$GREP 'missing symbol' stderr" "lt_dlopen.at:102" -( $at_check_trace; $GREP 'missing symbol' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen.at:102" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_106 -#AT_START_107 -at_fn_group_banner 107 'lt_dlopen_a.at:24' \ - "lt_dlopen archive" " " 11 -at_xfail=no -( - $as_echo "107. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >main.c <<'_ATEOF' -#include -#include - -/* This dlopen() in the main executable should override any dlopen()s in - shared libraries etc. - - If that is not the case (or the platform does not use dlopen()) then this - test should exit 77, causing the test to SKIP. -*/ -static int retcde = 77; - -void * dlopen(const char *path, int mode) { - if (!(strcmp(path,"plugin.a") && strcmp(path,"plugin.lib"))) - { - fprintf(stderr,"Tried to open archive %s\n",path); - retcde = 1; - } - else - { - fprintf(stderr,"Opening ... %s\n", path); - if (retcde == 77) retcde = 0; - } - return NULL; -} - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle plugin_handle; - - lt_dlinit (); - plugin_handle = lt_dlopenext (argv[1]); - lt_dlexit (); - return retcde; -} -_ATEOF - - -cat >plugin.c <<'_ATEOF' - -int i = 1; -_ATEOF - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin - -{ set +x -$as_echo "$at_srcdir/lt_dlopen_a.at:79: \$CC \$CPPFLAGS \$CFLAGS -c main.c || exit 77" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c || exit 77" "lt_dlopen_a.at:79" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:79" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopen_a.at:80: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c plugin.c || exit 77" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c || exit 77" "lt_dlopen_a.at:80" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:80" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopen_a.at:82: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o plugin.la -rpath \$libdir -module -no-undefined -avoid-version plugin.lo || exit 77" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir -module -no-undefined -avoid-version plugin.lo || exit 77" "lt_dlopen_a.at:82" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir -module -no-undefined -avoid-version plugin.lo || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:82" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/lt_dlopen_a.at:86: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlopen plugin.la \$LIBLTDL || exit 77" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen plugin.la $LIBLTDL || exit 77" "lt_dlopen_a.at:86" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen plugin.la $LIBLTDL || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - - -mkdir -p $libdir -mkdir -p $bindir - -{ set +x -$as_echo "$at_srcdir/lt_dlopen_a.at:93: \$LIBTOOL --mode=install cp plugin.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp plugin.la $libdir" "lt_dlopen_a.at:93" -( $at_check_trace; $LIBTOOL --mode=install cp plugin.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:93" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopen_a.at:94: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "lt_dlopen_a.at:94" -( $at_check_trace; $LIBTOOL --mode=install cp main$EXEEXT $bindir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:94" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopen_a.at:95: test -f \"\$libdir/plugin.a\" || exit 77" -at_fn_check_prepare_dynamic "test -f \"$libdir/plugin.a\" || exit 77" "lt_dlopen_a.at:95" -( $at_check_trace; test -f "$libdir/plugin.a" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:95" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=$bindir/main; if test -f "$bindir/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/lt_dlopen_a.at:96: if \"\$lt_exe\" \$libdir/plugin.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" $libdir/plugin.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopen_a.at:96" -( $at_check_trace; if "$lt_exe" $libdir/plugin.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopen_a.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_107 -#AT_START_108 -at_fn_group_banner 108 'lt_dlopenext.at:23' \ - "lt_dlopenext error messages" " " 11 -at_xfail=no -( - $as_echo "108. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# This test requires shared library support. -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:27: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" -at_fn_check_prepare_notrace 'a shell pipeline' "lt_dlopenext.at:27" -( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:27" -$at_failed && at_fn_log_failure -$at_traceon; } - - -prefix=`pwd`/inst -libdir=$prefix/lib -bindir=$prefix/bin -mkdir $prefix $libdir $bindir - -# This code is copied from the Autobook: -# -# so if it needs changes, be sure to notify the Autobook authors -# about them. - -cat >simple-module.c <<'_ATEOF' - -#include - -#ifdef __cplusplus -extern "C" -#endif -int -run (const char *argument) -{ - printf ("Hello, %s!\n", argument); - return 0; -} -_ATEOF - - -cat >ltdl-loader.c <<'_ATEOF' - -#include -#include -#ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -# define EXIT_SUCCESS 0 -#endif - -#include -#ifndef PATH_MAX -# define PATH_MAX 255 -#endif - -#include -#include - -#ifndef MODULE_PATH_ENV -# define MODULE_PATH_ENV "MODULE_PATH" -#endif - -typedef int entrypoint (const char *argument); - -/* Save and return a copy of the dlerror() error message, - since the next API call may overwrite the original. */ -static char *dlerrordup (char *errormsg); - -int -main (int argc, const char *argv[]) -{ - char *errormsg = NULL; - lt_dlhandle module = NULL; - entrypoint *run = NULL; - int errors = 0; - - if (argc != 3) - { - fprintf (stderr, "USAGE: main MODULENAME ARGUMENT\n"); - exit (EXIT_FAILURE); - } - - /* Initialise libltdl. */ - errors = lt_dlinit (); - - /* Set the module search path. */ - if (!errors) - { - const char *path = getenv (MODULE_PATH_ENV); - - if (path != NULL) - errors = lt_dlsetsearchpath (path); - } - - /* Load the module. */ - if (!errors) - module = lt_dlopenext (argv[1]); - - /* Find the entry point. */ - if (module) - { - run = (entrypoint *) lt_dlsym (module, "run"); - - /* In principle, run might legitimately be NULL, so - I don't use run == NULL as an error indicator - in general. */ - errormsg = dlerrordup (errormsg); - if (errormsg != NULL) - { - errors = lt_dlclose (module); - module = NULL; - } - } - else - errors = 1; - - /* Call the entry point function. */ - if (!errors) - { - int result = (*run) (argv[2]); - if (result < 0) - errormsg = strdup ("module entry point execution failed"); - else - printf ("\t=> %d\n", result); - } - - /* Unload the module, now that we are done with it. */ - if (!errors) - errors = lt_dlclose (module); - - if (errors) - { - /* Diagnose the encountered error. */ - errormsg = dlerrordup (errormsg); - - if (!errormsg) - { - fprintf (stderr, "%s: dlerror() failed.\n", argv[0]); - return EXIT_FAILURE; - } - } - - /* Finished with ltdl now. */ - if (!errors) - if (lt_dlexit () != 0) - errormsg = dlerrordup (errormsg); - - if (errormsg) - { - fprintf (stderr, "%s: %s.\n", argv[0], errormsg); - free (errormsg); - exit (EXIT_FAILURE); - } - - return EXIT_SUCCESS; -} - -/* Be careful to save a copy of the error message, - since the next API call may overwrite the original. */ -static char * -dlerrordup (char *errormsg) -{ - char *error = (char *) lt_dlerror (); - if (error && !errormsg) - errormsg = strdup (error); - return errormsg; -} -_ATEOF - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:188: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "lt_dlopenext.at:188" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:188" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" - -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:195: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c simple-module.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c" "lt_dlopenext.at:195" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:195" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:197: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o simple-module.la simple-module.lo -rpath \$libdir -module -avoid-version" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la simple-module.lo -rpath $libdir -module -avoid-version" "lt_dlopenext.at:197" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la simple-module.lo -rpath $libdir -module -avoid-version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:197" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:200: \$CC \$CPPFLAGS \$CFLAGS -c ltdl-loader.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c" "lt_dlopenext.at:200" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c ltdl-loader.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:200" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:202: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o ltdl-loader\$EXEEXT ltdl-loader.\$OBJEXT -dlopen self \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ltdl-loader.$OBJEXT -dlopen self $LIBLTDL" "lt_dlopenext.at:202" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ltdl-loader.$OBJEXT -dlopen self $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:202" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:205: \$LIBTOOL --mode=install cp simple-module.la \$libdir/simple-module.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la" "lt_dlopenext.at:205" -( $at_check_trace; $LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:206: \$LIBTOOL --mode=clean rm -f simple-module.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f simple-module.la" "lt_dlopenext.at:206" -( $at_check_trace; $LIBTOOL --mode=clean rm -f simple-module.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Try finding the module with and without the .la file, with absolute -# path, relative path, or one of the path variables. Do not override -# $PATH for w32, see shlibpath.at for the hacks this requires. -# -# Finding the module without the .la file will not work if MODULE_EXT -# aka. shared_ext is empty. - -eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shrext_cmds)='` - -module=no -eval shared_ext=\"$shrext_cmds\" -if test -n "$shared_ext"; then - have_lafile="with without" -else - have=with -fi - -if test PATH = "$shlibpath_var"; then - $unset shlibpath_var || shlibpath_var= -fi - -for lafile in $have_lafile; do - if test without = "$lafile"; then - rm $libdir/simple-module.la - fi - - for dir in inst/lib "$libdir"; do - lt_exe=./ltdl-loader; if test -f "./ltdl-loader$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:235: if \"\$lt_exe\" \$dir/simple-module World; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" $dir/simple-module World; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopenext.at:235" -( $at_check_trace; if "$lt_exe" $dir/simple-module World; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:235" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/lt_dlopenext.at:237: \$GREP \"Hello, World\" stdout" -at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "lt_dlopenext.at:237" -( $at_check_trace; $GREP "Hello, World" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:237" -$at_failed && at_fn_log_failure -$at_traceon; } - - - for var in MODULE_PATH LTDL_LIBRARY_PATH $shlibpath_var - do - eval $var=\$dir - export $var - lt_exe=./ltdl-loader; if test -f "./ltdl-loader$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/lt_dlopenext.at:243: if \"\$lt_exe\" simple-module World; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" simple-module World; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lt_dlopenext.at:243" -( $at_check_trace; if "$lt_exe" simple-module World; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:243" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/lt_dlopenext.at:245: \$GREP \"Hello, World\" stdout" -at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "lt_dlopenext.at:245" -( $at_check_trace; $GREP "Hello, World" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lt_dlopenext.at:245" -$at_failed && at_fn_log_failure -$at_traceon; } - - $unset $var || eval $var= - done - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_108 -#AT_START_109 -at_fn_group_banner 109 'ltdl-libdir.at:23' \ - "libdir of installed modules" " " 11 -at_xfail=no -( - $as_echo "109. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# This test requires shared library support. -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:27: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" -at_fn_check_prepare_notrace 'a shell pipeline' "ltdl-libdir.at:27" -( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:27" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# With MinGW, try Windows-style paths only. -if pwd -W >/dev/null 2>&1; then - prefix=`pwd -W`/inst -else - prefix=`pwd`/inst -fi -libdir=$prefix/lib -bindir=$prefix/bin -mkdir $prefix $libdir $bindir - -cat >a.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" -#endif -int f (void) -{ - return 42; -} -_ATEOF - - -cat >m.c <<'_ATEOF' - -#include -#include - -typedef int func_f(void); - -int -main (int argc, const char *argv[]) -{ - lt_dlhandle module = NULL; - func_f *f = NULL; - - if (lt_dlinit()) { - fprintf(stderr, "lt_dlinit failed '%s'\n", lt_dlerror()); - return 1; - } - - module = lt_dlopen("./a.la"); - - if (!module) { - fprintf(stderr, "lt_dlopen failed '%s'\n", lt_dlerror()); - return 1; - } - - f = (func_f *)lt_dlsym(module, "f"); - - if (!f) { - fprintf(stderr, "lt_dlsym failed '%s'\n", lt_dlerror()); - return 1; - } - - if (f() != 42) { - fprintf(stderr, "f did not return 42\n"); - return 1; - } - - lt_dlclose(module); - lt_dlexit(); - return 0; -} -_ATEOF - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip installcheck if --disable-ltdl-install was used. -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:97: test -f \"\$LIBLTDL\" || exit 77" -at_fn_check_prepare_dynamic "test -f \"$LIBLTDL\" || exit 77" "ltdl-libdir.at:97" -( $at_check_trace; test -f "$LIBLTDL" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:97" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" - -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:102: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c" "ltdl-libdir.at:102" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:102" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:104: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o a.la a.lo -rpath \$libdir -module -shared -avoid-version" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a.la a.lo -rpath $libdir -module -shared -avoid-version" "ltdl-libdir.at:104" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o a.la a.lo -rpath $libdir -module -shared -avoid-version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:104" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:107: \$CC \$CPPFLAGS \$CFLAGS -c m.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c m.c" "ltdl-libdir.at:107" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c m.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:107" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:109: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o m\$EXEEXT m.\$OBJEXT \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT $LIBLTDL" "ltdl-libdir.at:109" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m$EXEEXT m.$OBJEXT $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:109" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:112: \$LIBTOOL --mode=install cp a.la \$libdir/a.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp a.la $libdir/a.la" "ltdl-libdir.at:112" -( $at_check_trace; $LIBTOOL --mode=install cp a.la $libdir/a.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:112" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:114: \$LIBTOOL --mode=install cp m\$EXEEXT \$bindir/m\$EXEEXT" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT" "ltdl-libdir.at:114" -( $at_check_trace; $LIBTOOL --mode=install cp m$EXEEXT $bindir/m$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:114" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Try finding the module via the libdir entry in a misplaced .la file. - -mv $libdir/a.la $bindir/a.la -cd $bindir -lt_exe=./m; if test -f "./m$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/ltdl-libdir.at:121: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "ltdl-libdir.at:121" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-libdir.at:121" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_109 -#AT_START_110 -at_fn_group_banner 110 'ltdl-api.at:26' \ - "ltdl API" " " 11 -at_xfail=no -( - $as_echo "110. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# Ensure that no symbols from argz are unrenamed. -eval `$LIBTOOL --config | $EGREP '^(NM|global_symbol_pipe|objext)='` -lt__argz_o=$abs_top_builddir/libltdl/lt__argz.$objext -{ set +x -$as_echo "$at_srcdir/ltdl-api.at:32: test -f \"\$lt__argz_o\" || exit 77" -at_fn_check_prepare_dynamic "test -f \"$lt__argz_o\" || exit 77" "ltdl-api.at:32" -( $at_check_trace; test -f "$lt__argz_o" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-api.at:32" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ltdl-api.at:33: eval \"\$NM \\\"\\\$lt__argz_o\\\" | \$global_symbol_pipe\"" -at_fn_check_prepare_notrace 'a shell pipeline' "ltdl-api.at:33" -( $at_check_trace; eval "$NM \"\$lt__argz_o\" | $global_symbol_pipe" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ltdl-api.at:33" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Check for global symbols beginning with "argz_" -{ set +x -$as_echo "$at_srcdir/ltdl-api.at:36: \$GREP \"^T argz_\" stdout" -at_fn_check_prepare_dynamic "$GREP \"^T argz_\" stdout" "ltdl-api.at:36" -( $at_check_trace; $GREP "^T argz_" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/ltdl-api.at:36" -$at_failed && at_fn_log_failure -$at_traceon; } - -# and also for the _ prefixed version "_argz_" -{ set +x -$as_echo "$at_srcdir/ltdl-api.at:38: \$GREP \"^T _argz_\" stdout" -at_fn_check_prepare_dynamic "$GREP \"^T _argz_\" stdout" "ltdl-api.at:38" -( $at_check_trace; $GREP "^T _argz_" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/ltdl-api.at:38" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_110 -#AT_START_111 -at_fn_group_banner 111 'dlloader-api.at:23' \ - "dlloader API" " " 11 -at_xfail=no -( - $as_echo "111. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >main.c <<'_ATEOF' -#include -#include -#include -#include - -static int -first_init (lt_user_data data) -{ - const char *ctx = (const char *) data; - - printf ("first_init: %s\n", ctx); - - return 0; -} - -static lt_module -first_open (lt_user_data data, const char *filename, lt_dladvise advise) -{ - static const char *first_module = "first"; - const char *ctx = (const char *) data; - - /* Use a magic string to avoid possible interactions with file system - * objects. Prepend '/' to short-circuit libltdl's search of - * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). - */ - if (!filename || strcmp (filename, "/libltdl_dlloader_api_test_first")) - { - printf ("first_open denies a request\n"); - lt_dlseterror (LT_ERROR_FILE_NOT_FOUND); - return NULL; - } - - printf ("first_open (\"%s\"): %s\n", filename, ctx); - - return (lt_module) first_module; -} - -static const char * -first_symbol (void) -{ - return "first_symbol"; -} - -static void * -first_sym (lt_user_data data, lt_module module, const char *symbolname) -{ - const char *ctx = (const char *) data; - const char *filename = (const char *) module; - - printf ("first_sym (%s): %s\n", filename, ctx); - - return (void *) first_symbol; -} - -static int -first_close (lt_user_data data, lt_module module) -{ - const char *ctx = (const char *) data; - const char *filename = (const char *) module; - - printf ("first_close (%s): %s\n", filename, ctx); - - return 0; -} - -static int -first_exit (lt_user_data data) -{ - const char *ctx = (const char *) data; - - printf ("first_exit: %s\n", ctx); - - return 0; -} - -static int -last_init (lt_user_data data) -{ - const char *ctx = (const char *) data; - - printf ("last_init: %s\n", ctx); - - return 0; -} - -static lt_module -last_open (lt_user_data data, const char *filename, lt_dladvise advise) -{ - static const char *last_module = "last"; - const char *ctx = (const char *) data; - - /* Use a magic string to avoid possible interactions with file system - * objects. Prepend '/' to short-circuit libltdl's search of - * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). - */ - if (!filename || strcmp (filename, "/libltdl_dlloader_api_test_last")) - { - printf ("last_open denies a request\n"); - lt_dlseterror (LT_ERROR_FILE_NOT_FOUND); - return NULL; - } - - printf ("last_open (\"%s\"): %s\n", filename, ctx); - - return (lt_module) last_module; -} - -static const char * -last_symbol (void) -{ - return "last_symbol"; -} - -static void * -last_sym (lt_user_data data, lt_module module, const char *symbolname) -{ - const char *ctx = (const char *) data; - const char *filename = (const char *) module; - - printf ("last_sym (%s): %s\n", filename, ctx); - - return (void *) last_symbol; -} - -static int -last_close (lt_user_data data, lt_module module) -{ - const char *ctx = (const char *) data; - const char *filename = (const char *) module; - - printf ("last_close (%s): %s\n", filename, ctx); - - return 0; -} - -static int -last_exit (lt_user_data data) -{ - const char *ctx = (const char *) data; - - printf ("last_exit: %s\n", ctx); - - return 0; -} - -typedef const char *module_func (void); - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlvtable *first; - lt_dlvtable *last; - lt_dlhandle module = NULL; - module_func *symbol; - const char *first_ctx = "first_ctx"; - const char *last_ctx = "last_ctx"; - const lt_dlvtable *finder; - - LTDL_SET_PRELOADED_SYMBOLS (); - - if (lt_dlinit ()) - { - printf ("lt_dlinit failed\n"); - return 1; - } - - first = (lt_dlvtable *) malloc (sizeof (*first)); - if (!first) - { - printf ("malloc failed\n"); - err = 1; - goto cleanup; - } - - first->name = "first"; - first->sym_prefix = NULL; - first->module_open = first_open; - first->module_close = first_close; - first->find_sym = first_sym; - first->dlloader_init = first_init; /* test that it isn't called twice */ - first->dlloader_exit = first_exit; - first->dlloader_data = (lt_user_data) first_ctx; - first->priority = LT_DLLOADER_PREPEND; - - if (first_init (first->dlloader_data)) - { - printf ("first_init failed\n"); - err = 1; - goto cleanup; - } - - if (lt_dlloader_add (first)) - { - printf ("lt_dlloader_add failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - finder = lt_dlloader_find ("first"); - - if (!finder) - { - printf ("lt_dlloader_find failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("Found loader \"%s\"\n", finder->name); - - last = (lt_dlvtable *) malloc (sizeof (*last)); - if (!last) - { - printf ("malloc failed\n"); - err = 1; - goto cleanup; - } - - last->name = "last"; - last->sym_prefix = NULL; - last->module_open = last_open; - last->module_close = last_close; - last->find_sym = last_sym; - last->dlloader_init = last_init; /* test that it isn't called twice */ - last->dlloader_exit = last_exit; - last->dlloader_data = (lt_user_data) last_ctx; - last->priority = LT_DLLOADER_APPEND; - - if (last_init (last->dlloader_data)) - { - printf ("last_init failed\n"); - err = 1; - goto cleanup; - } - - if (lt_dlloader_add (last)) - { - printf ("lt_dlloader_add failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - finder = lt_dlloader_find ("last"); - - if (!finder) - { - printf ("lt_dlloader_find failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("Found loader \"%s\"\n", finder->name); - - /* Use a magic string to avoid possible interactions with file system - * objects. Prepend '/' to short-circuit libltdl's search of - * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). - */ - module = lt_dlopen ("/libltdl_dlloader_api_test_first"); - - if (!module) - { - printf ("lt_dlopen failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - symbol = (module_func *) lt_dlsym (module, "symbol"); - - if (!symbol) - { - printf ("lt_dlsym failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("result: %s\n", symbol ()); - - lt_dlclose (module); - module = lt_dlopen ("./module.la"); - - if (!module) - { - printf ("lt_dlopen failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - symbol = (module_func *) lt_dlsym (module, "symbol"); - - if (!symbol) - { - printf ("lt_dlsym failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("result: %s\n", symbol ()); - - lt_dlclose (module); - - /* Use a magic string to avoid possible interactions with file system - * objects. Prepend '/' to short-circuit libltdl's search of - * $shlibpath_var (e.g. PATH, LD_LIBRARY_PATH, or similar). - */ - module = lt_dlopen ("/libltdl_dlloader_api_test_last"); - - if (!module) - { - printf ("lt_dlopen failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - symbol = (module_func *) lt_dlsym (module, "symbol"); - - if (!symbol) - { - printf ("lt_dlsym failed: %s\n", lt_dlerror ()); - err = 1; - goto cleanup; - } - - printf ("result: %s\n", symbol ()); - - if (lt_dlopen ("no-module")) - { - printf ("lt_dlopen unexpectedly opened \"no-module\"\n"); - err = 1; - goto cleanup; - } - - if (lt_dlloader_remove ("first") != first) - { - printf ("vtable of first loader has changed\n"); - err = 1; - goto cleanup; - } - - free (first); - -cleanup: - if (module) - { - lt_dlclose (module); - } - lt_dlexit (); - return err; -} -_ATEOF - - -cat >module.c <<'_ATEOF' - -#ifdef __cplusplus -extern "C" -#endif -const char *symbol (void); -const char * -symbol (void) -{ - return "module_symbol"; -} -_ATEOF - - -cat >expout <<'_ATEOF' -first_init: first_ctx -Found loader "first" -last_init: last_ctx -Found loader "last" -first_open ("/libltdl_dlloader_api_test_first"): first_ctx -first_sym (first): first_ctx -result: first_symbol -first_close (first): first_ctx -first_open denies a request -result: module_symbol -first_open denies a request -last_open ("/libltdl_dlloader_api_test_last"): last_ctx -last_sym (last): last_ctx -result: last_symbol -first_open denies a request -last_open denies a request -first_exit: first_ctx -last_close (last): last_ctx -last_exit: last_ctx -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/dlloader-api.at:417: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "dlloader-api.at:417" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:417" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" - -{ set +x -$as_echo "$at_srcdir/dlloader-api.at:423: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c module.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c" "dlloader-api.at:423" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:423" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/dlloader-api.at:425: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o module.la -rpath /nowhere -module -avoid-version -no-undefined module.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la -rpath /nowhere -module -avoid-version -no-undefined module.lo" "dlloader-api.at:425" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la -rpath /nowhere -module -avoid-version -no-undefined module.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:425" -$at_failed && at_fn_log_failure -$at_traceon; } - - -. ./module.la -{ set +x -$as_echo "$at_srcdir/dlloader-api.at:432: test -n \"\$dlname\" || (exit 77)" -at_fn_check_prepare_dynamic "test -n \"$dlname\" || (exit 77)" "dlloader-api.at:432" -( $at_check_trace; test -n "$dlname" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:432" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/dlloader-api.at:434: \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "dlloader-api.at:434" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:434" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/dlloader-api.at:435: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlopen module.la \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen module.la $LIBLTDL" "dlloader-api.at:435" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen module.la $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:435" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/dlloader-api.at:439: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "dlloader-api.at:439" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/dlloader-api.at:439" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_111 -#AT_START_112 -at_fn_group_banner 112 'loadlibrary.at:23' \ - "loadlibrary error messages" " " 11 -at_xfail=no -( - $as_echo "112. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" - -cat >main.c <<'_ATEOF' -#include -#include - -static int -standard_error_message(const char *error) -{ - int error_number; - - for (error_number = 0; error_number < LT_ERROR_MAX; ++error_number) - { - lt_dlseterror (error_number); - if (error == lt_dlerror ()) - { - return 1; - } - } - - lt_dlseterror (LT_ERROR_UNKNOWN); - return 0; -} - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle module = NULL; - const lt_dlvtable *loadlibrary; - const lt_dlvtable *preopen; - lt_dlloader loader = NULL; - lt_dlloader next; - const lt_dlvtable *vtable; - void *symbol; - const char *error; - - if (argc < 2) - { - fprintf (stderr, "usage: %s plugin [symbol]\n", argv[0]); - return 1; - } - - lt_dlinit (); - - loadlibrary = lt_dlloader_find ("lt_loadlibrary"); - if (!loadlibrary) - { - /* Skip if the loadlibrary loader isn't supported */ - printf ("loadlibrary loader not found\n"); - err = 77; - goto cleanup; - } - - preopen = lt_dlloader_find ("lt_preopen"); - if (!loadlibrary) - { - printf ("preopen loader not found\n"); - err = 2; - goto cleanup; - } - - /* Remove all loaders except the preopen and loadlibrary loaders. */ - while (next = lt_dlloader_next (loader)) - { - if (lt_dlloader_get (next) == loadlibrary) - { - loader = next; - continue; - } - - if (lt_dlloader_get (next) == preopen) - { - loader = next; - continue; - } - - lt_dlloader_remove (lt_dlloader_get (next)->name); - } - - module = lt_dlopen (argv[1]); - error = lt_dlerror (); - - if (module) - { - printf ("lt_dlopen: success!\n"); - - if (argc == 2) - { - /* But failure was the desired result... */ - printf ("expected failure\n"); - err = 2; - goto cleanup; - } - } - else if (argc > 2) - { - /* Didn't expect failure... */ - printf ("lt_dlopen: failure: %s\n", error); - err = 2; - goto cleanup; - } - else if (standard_error_message (error)) - { - /* Expected custom error message... */ - printf ("lt_dlopen: standard error (bad): %s\n", error); - err = 1; - goto cleanup; - } - else - { - printf ("lt_dlopen: custom error (good): %s\n", error); - goto cleanup; - } - - symbol = lt_dlsym (module, argv[2]); - error = lt_dlerror (); - - if (symbol) - { - printf ("lt_dlsym: success!\n"); - } - else if (standard_error_message (error)) - { - /* Expected custom failure message... */ - printf ("lt_dlsym: standard error (bad): %s\n", error); - err = 1; - } - else - { - printf ("lt_dlsym: custom error (good): %s\n", error); - } - -cleanup: - if (module) - { - lt_dlclose (module); - } - lt_dlexit (); - return err; -} -_ATEOF - - -cat >foomod.c <<'_ATEOF' - -#ifdef __cplusplus -extern "C" -#endif -int foosym (void); -int -foosym (void) -{ - return 0; -} -_ATEOF - - -cat >bardep.c <<'_ATEOF' - -#ifdef __cplusplus -extern "C" -#endif -int bardep (void); -int -bardep (void) -{ - return 0; -} -_ATEOF - - -cat >barmod.c <<'_ATEOF' - -#ifdef __cplusplus -extern "C" { -#endif -int bardep (void); -int barsym (void); -#ifdef __cplusplus -} -#endif -int -barsym (void) -{ - return bardep (); -} -_ATEOF - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:217: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "loadlibrary.at:217" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:217" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -inst=`pwd`/inst -libdir=$inst/lib - -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:225: \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "loadlibrary.at:225" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:225" -$at_failed && at_fn_log_failure -$at_traceon; } - -for file in foomod.c bardep.c barmod.c; do - { set +x -$as_echo "$at_srcdir/loadlibrary.at:227: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c \$file" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file" "loadlibrary.at:227" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:227" -$at_failed && at_fn_log_failure -$at_traceon; } - -done -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:230: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o foomod.la -rpath \$libdir -module -avoid-version -no-undefined foomod.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o foomod.la -rpath $libdir -module -avoid-version -no-undefined foomod.lo" "loadlibrary.at:230" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o foomod.la -rpath $libdir -module -avoid-version -no-undefined foomod.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:230" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:234: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbardep.la -rpath \$libdir -avoid-version -no-undefined bardep.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbardep.la -rpath $libdir -avoid-version -no-undefined bardep.lo" "loadlibrary.at:234" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbardep.la -rpath $libdir -avoid-version -no-undefined bardep.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:234" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:238: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o barmod.la -rpath \$libdir -module -avoid-version -no-undefined barmod.lo ./libbardep.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o barmod.la -rpath $libdir -module -avoid-version -no-undefined barmod.lo ./libbardep.la" "loadlibrary.at:238" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o barmod.la -rpath $libdir -module -avoid-version -no-undefined barmod.lo ./libbardep.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:238" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:243: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $LIBLTDL" "loadlibrary.at:243" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:243" -$at_failed && at_fn_log_failure -$at_traceon; } - - -. ./foomod.la -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:248: test -n \"\$dlname\" || (exit 77)" -at_fn_check_prepare_dynamic "test -n \"$dlname\" || (exit 77)" "loadlibrary.at:248" -( $at_check_trace; test -n "$dlname" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:248" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:250: if \"\$lt_exe\" ./foomod.la no_symbol; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ./foomod.la no_symbol; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "loadlibrary.at:250" -( $at_check_trace; if "$lt_exe" ./foomod.la no_symbol; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:250" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# chmod -x doesn't appear to work in MSYS, and Wine can load no-exec dlls. - -rm -f $objdir/$dlname -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:257: if \"\$lt_exe\" ./foomod.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ./foomod.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "loadlibrary.at:257" -( $at_check_trace; if "$lt_exe" ./foomod.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:257" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:259: if \"\$lt_exe\" ./barmod.la no_symbol; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ./barmod.la no_symbol; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "loadlibrary.at:259" -( $at_check_trace; if "$lt_exe" ./barmod.la no_symbol; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:259" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -. ./libbardep.la -# chmod -x doesn't appear to work in MSYS, and Wine can load no-exec dlls. - -rm -f $objdir/$dlname -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/loadlibrary.at:267: if \"\$lt_exe\" ./barmod.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ./barmod.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "loadlibrary.at:267" -( $at_check_trace; if "$lt_exe" ./barmod.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/loadlibrary.at:267" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_112 -#AT_START_113 -at_fn_group_banner 113 'lalib-syntax.at:24' \ - "syntax of .la files" " " 11 -at_xfail=yes -( - $as_echo "113. $at_setup_line: testing $at_desc ..." - $at_traceon - - - - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle plugin_handle; - - if (argc < 2) - { - fprintf (stderr, "usage: %s plugin\n", argv[0]); - return 1; - } - - lt_dlinit (); - plugin_handle = lt_dlopenext (argv[1]); - if (NULL != plugin_handle) - { - printf ("plugin opened successfully!\n"); - lt_dlclose (plugin_handle); - } - else - { - const char *error = lt_dlerror (); - assert (error != NULL); - printf ("plugin failed to open: %s\n", error); - err = 1; - } - lt_dlexit (); - return err; -} -_ATEOF - - -cat >module.c <<'_ATEOF' -int foo (void) { return 0; } -_ATEOF - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/lalib-syntax.at:75: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "lalib-syntax.at:75" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:75" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$CPPFLAGS $LTDLINCL" - -{ set +x -$as_echo "$at_srcdir/lalib-syntax.at:81: \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "lalib-syntax.at:81" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:81" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lalib-syntax.at:82: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c module.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c" "lalib-syntax.at:82" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c module.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:82" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lalib-syntax.at:84: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o module.la module.lo -module -avoid-version -rpath /somewhere" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la module.lo -module -avoid-version -rpath /somewhere" "lalib-syntax.at:84" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o module.la module.lo -module -avoid-version -rpath /somewhere -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:84" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/lalib-syntax.at:86: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main main.\$OBJEXT \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.$OBJEXT $LIBLTDL" "lalib-syntax.at:86" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.$OBJEXT $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Several bogus test cases. - -cat >missing-closing-quote.la <<'_ATEOF' -# missing-closing-quote.la - a libtool library file -# Generated by libtool -dlname='module.so -library_names='module.so module.so module.so' -old_library='module.a' -installed=no -shouldnotlink=yes -libdir='/somewhere' -_ATEOF - - -cat >wrong-quotes.la <<'_ATEOF' -# wrong-quotes.la - a libtool library file -# Generated by libtool -dlname=module.so -library_names='module.so module.so module.so' -old_library='module.a' -installed=no -shouldnotlink=yes -libdir='/somewhere' -_ATEOF - - -cat >no-dlname.la <<'_ATEOF' -# no-dlname.la - a libtool library file -# Generated by libtool -installed=no -shouldnotlink=yes -libdir='/somewhere' -_ATEOF - - -cat >nonexistent-dlname.la <<'_ATEOF' -# nonexistent-dlname.la - a libtool library file -# Generated by libtool -dlname='does-not-exist.so' -installed=no -shouldnotlink=yes -libdir='/somewhere' -_ATEOF - - -for file in ./missing-closing-quote.la ./wrong-quotes.la \ - ./no-dlname.la ./nonexistent-dlname.la; do - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/lalib-syntax.at:133: if \"\$lt_exe\" \$file; then :; else lt_status=\$?; test \"\$lt_status\" != 1 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" $file; then :; else lt_status=$?; test \"$lt_status\" != 1 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "lalib-syntax.at:133" -( $at_check_trace; if "$lt_exe" $file; then :; else lt_status=$?; test "$lt_status" != 1 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/lalib-syntax.at:133" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/lalib-syntax.at:134: \$GREP 'plugin failed to open' stdout" -at_fn_check_prepare_dynamic "$GREP 'plugin failed to open' stdout" "lalib-syntax.at:134" -( $at_check_trace; $GREP 'plugin failed to open' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/lalib-syntax.at:134" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_113 -#AT_START_114 -at_fn_group_banner 114 'resident.at:27' \ - "resident modules" " " 11 -at_xfail=no -( - $as_echo "114. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >main.c <<'_ATEOF' -#include -#include - -int -main (int argc, char* argv[]) -{ - int err = 0; - lt_dlhandle plugin_handle; - lt_dladvise advise; - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (argc < 2) - { - fprintf (stderr, "usage: %s plugin\n", argv[0]); - return 1; - } - - lt_dlinit (); - if (lt_dladvise_init (&advise) != 0 - || lt_dladvise_ext (&advise) != 0 - || lt_dladvise_resident (&advise) != 0) - { - printf ("advise failure: %s\n", lt_dlerror ()); - err = 1; - } - else - { - plugin_handle = lt_dlopenadvise (argv[1], advise); - if (NULL != plugin_handle) - { - int (*pf) (void); - printf ("plugin opened successfully!\n"); - pf = (int (*) (void)) lt_dlsym (plugin_handle, "setup_plugin"); - if (pf) - pf (); - else - { - printf ("dlsym failure: %s\n", lt_dlerror ()); - err = 1; - } - if (!lt_dlisresident (plugin_handle)) - { - printf ("module wrongly not marked resident\n"); - err = 1; - } - if (lt_dlclose (plugin_handle) != 0) - { - printf ("close failure (expected): %s\n", lt_dlerror ()); - } - else - { - printf ("wrongly closed resident module\n"); - err = 1; - } - } - else - { - printf ("plugin failed to open: %s\n", lt_dlerror ()); - err = 1; - } - if (lt_dladvise_destroy (&advise) != 0) - { - printf ("advise destroy failure: %s\n", lt_dlerror ()); - err = 1; - } - } - lt_dlexit (); - return err; -} -_ATEOF - - -cat >plugin.c <<'_ATEOF' -#include -#include - -void -bye (void) -{ - puts ("called from atexit handler"); -} - -#ifdef __cplusplus -extern "C" -#endif -int -setup_plugin (void) -{ - atexit (bye); -} -_ATEOF - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/resident.at:128: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "resident.at:128" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/resident.at:128" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" -inst=`pwd`/inst -libdir=$inst/lib - -{ set +x -$as_echo "$at_srcdir/resident.at:137: \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c main.c" "resident.at:137" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/resident.at:137" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/resident.at:138: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c plugin.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c" "resident.at:138" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c plugin.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/resident.at:138" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/resident.at:140: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o plugin.la -rpath \$libdir -module -avoid-version plugin.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir -module -avoid-version plugin.lo" "resident.at:140" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o plugin.la -rpath $libdir -module -avoid-version plugin.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/resident.at:140" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/resident.at:142: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlopen plugin.la \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen plugin.la $LIBLTDL" "resident.at:142" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen plugin.la $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/resident.at:142" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/resident.at:145: if \"\$lt_exe\" ./plugin.la; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ./plugin.la; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "resident.at:145" -( $at_check_trace; if "$lt_exe" ./plugin.la; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/resident.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/resident.at:146: \$GREP 'called from atexit handler' stdout" -at_fn_check_prepare_dynamic "$GREP 'called from atexit handler' stdout" "resident.at:146" -( $at_check_trace; $GREP 'called from atexit handler' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/resident.at:146" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_114 -#AT_START_115 -at_fn_group_banner 115 'slist.at:25' \ - "SList functionality" " " 11 -at_xfail=no -( - $as_echo "115. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >test-slist.c <<'_ATEOF' - -#include -#include -#include -#include -#include -#include "slist.h" - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -void *find_string (SList *item, void *data) -{ - if (data != NULL && STREQ ((const char *) item->userdata, (const char *)data)) - return item; - else - return NULL; -} - -void boxed_delete (void *item) -{ - free (slist_unbox ((SList *) item)); -} - -void *print_item (SList *item, void *userdata) -{ - userdata = userdata; /* unused */ - printf ("%s\n", (const char*)item->userdata); - return NULL; -} - -int list_compare (const SList *item1, const SList *item2, void *userdata) -{ - userdata = userdata; - return strcmp ((const char *) item1->userdata, (const char *)item2->userdata); -} - -int main () -{ - int i; - SList *empty_list = NULL, *list = NULL, *item, *list_save; - char *data = NULL; - - /* slist_cons */ - list = slist_cons (NULL, NULL); - - for (i=0; i < 10; ++i) { - data = (char *) malloc (42); - assert (data); - sprintf (data, "foo%d", i); - list = slist_cons (slist_box (data), list); - } - list_save = list; - list = slist_cons (NULL, list); - assert (list == list_save); - - - /* slist_find */ - assert (slist_find (NULL, find_string, (void *) "whatever") == NULL); - assert (slist_find (empty_list, find_string, (void *) "whatever") == NULL); - assert (slist_find (list, find_string, (void *) "foo10") == NULL); - item = (SList *) slist_find (list, find_string, (void *) "foo1"); - assert (item != NULL); - assert (STREQ ((const char *) item->userdata, "foo1")); - - item = slist_nth (list, 10); - assert (item != NULL && STREQ ((const char *) item->userdata, "foo0")); - - puts ("list as inserted:"); - slist_foreach (list, print_item, NULL); - puts ("reversed list:"); - list = slist_reverse (list); - slist_foreach (list, print_item, NULL); - - item = slist_nth (list, 1); - assert (item != NULL && STREQ ((const char *) item->userdata, "foo0")); - - assert (10 == slist_length (list)); - - /* slist_tail is the second item, not the last one */ - item = slist_tail (list); - assert (item != NULL && STREQ ((const char *) item->userdata, "foo1")); - - assert (slist_tail (slist_nth (list, 10)) == NULL); - - /* slist_sort and implicitly, slist_sort_merge */ - assert (slist_sort (NULL, list_compare, NULL) == NULL); - list = slist_sort (list, list_compare, NULL); - puts ("list after no-op sort:"); - slist_foreach (list, print_item, NULL); - - list = slist_reverse (list); - puts ("reversed list:"); - slist_foreach (list, print_item, NULL); - puts ("sorting reversed list:"); - list = slist_sort (list, list_compare, NULL); - slist_foreach (list, print_item, NULL); - - /* slist_remove */ - assert (slist_remove (NULL, find_string, NULL) == NULL); - assert (slist_remove (&empty_list, find_string, NULL) == NULL); - - list_save = list; - assert (slist_remove (&list, find_string, NULL) == NULL); - assert (list_save == list); - - /* remove entries: middle, last, first, not present */ - /* slist_reverse above has left us with increasing order */ - list_save = list; - item = slist_remove (&list, find_string, (void *) "foo5"); - assert (list_save == list); - assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo5")); - free (data); - - list_save = list; - item = slist_remove (&list, find_string, (void *) "foo9"); - assert (list_save == list); - assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo9")); - free (data); - - list_save = list; - item = slist_remove (&list, find_string, (void *) "foo0"); - assert (list_save != list); - assert (item != NULL && STREQ (data = (char *) slist_unbox (item), "foo0")); - free (data); - - list_save = list; - item = slist_remove (&list, find_string, (void *) "foo5"); - assert (list_save == list); - assert (item == NULL); - - assert (slist_delete (list, boxed_delete) == NULL); - return 0; -} -_ATEOF - - -CPPFLAGS="-I$top_srcdir/libltdl -I$top_srcdir/libltdl/libltdl -I$abs_top_builddir" -{ set +x -$as_echo "$at_srcdir/slist.at:163: \$CC \$CPPFLAGS \$CFLAGS -c test-slist.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c test-slist.c" "slist.at:163" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c test-slist.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/slist.at:163" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/slist.at:165: \$CC \$CPPFLAGS \$CFLAGS -c \$top_srcdir/libltdl/slist.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c $top_srcdir/libltdl/slist.c" "slist.at:165" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c $top_srcdir/libltdl/slist.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/slist.at:165" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/slist.at:167: \$CC \$CFLAGS \$LDFLAGS -o test-slist test-slist.\$OBJEXT slist.\$OBJEXT" -at_fn_check_prepare_dynamic "$CC $CFLAGS $LDFLAGS -o test-slist test-slist.$OBJEXT slist.$OBJEXT" "slist.at:167" -( $at_check_trace; $CC $CFLAGS $LDFLAGS -o test-slist test-slist.$OBJEXT slist.$OBJEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/slist.at:167" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./test-slist; if test -f "./test-slist$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/slist.at:169: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "slist.at:169" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/slist.at:169" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_115 -#AT_START_116 -at_fn_group_banner 116 'need_lib_prefix.at:26' \ - "enforced lib prefix" " " 11 -at_xfail=no -( - $as_echo "116. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# Originally written to simulate a failure visible on systems -# that need a library prefix like 'lib', such as BeOS. Currently -# the prefix is hardcoded as 'lib', so systems that require a -# different prefix skips the test. - -cat >main.c <<'_ATEOF' -#include -#include - -typedef int fun (int); - -static int errors = 0; - -static void -complain (const char *msg) -{ - const char *errmsg = lt_dlerror (); - fprintf (stderr, "%s", msg); - if (errmsg) - fprintf (stderr, ": %s\n", errmsg); - else - fprintf (stderr, ".\n"); - ++errors; -} - -static lt_dlhandle -moduleopen (const char *filename) -{ - lt_dlhandle handle; - - handle = lt_dlopen (filename); - if (!handle) - { - fprintf (stderr, "can't open the module %s!\n", filename); - complain ("error was"); - } - - return handle; -} - -static int -moduletest (lt_dlhandle handle) -{ - const lt_dlinfo *info = lt_dlgetinfo (handle); - fun *f = (fun *) lt_dlsym (handle, "f"); - int *v = (int *) lt_dlsym (handle, "i"); - - if (!f) - { - complain ("function 'f' not found"); - return 1; - } - if (!v) - { - complain ("variable 'i' not found"); - return 1; - } - printf ("%s: %d\n", info->name, f (*v)); - - return 0; -} - -int -main (int argc, char **argv) -{ - lt_dlhandle handle; - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (lt_dlinit() != 0) - { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - if (lt_dlpreload_open (0, moduletest) != 0) - complain ("error during preloading"); - - if (lt_dlexit () != 0) - complain ("error during exit"); - - return (errors != 0); -} -_ATEOF - - -cat >foo1.c <<'_ATEOF' -#define f foo1_LTX_f -#define i foo1_LTX_i -#ifdef __cplusplus -extern "C" { -#endif -int f (int x) { return x / 3; } -int i = 7; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >foo2.c <<'_ATEOF' -#define f libfoo2_LTX_f -#define i libfoo2_LTX_i -#ifdef __cplusplus -extern "C" { -#endif -int f (int x) { return (x * x) / 10; } -int i = 6; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >expout <<'_ATEOF' -libfoo1: 2 -libfoo2: 3 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/need_lib_prefix.at:150: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "need_lib_prefix.at:150" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:150" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS=$LDFLAGS - -# Skip this test when libraries are not normally prefixed with lib. -# E.g., for MSVC and OS/2. -eval "`$LIBTOOL --config | $EGREP '^(libname_spec)='`" -name= -eval libname=\"$libname_spec\" -{ set +x -$as_echo "$at_srcdir/need_lib_prefix.at:162: test lib = \"\$libname\" || exit 77" -at_fn_check_prepare_dynamic "test lib = \"$libname\" || exit 77" "need_lib_prefix.at:162" -( $at_check_trace; test lib = "$libname" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:162" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Create our own libtool, forcing need_lib_prefix setting -$SED 's|^\(need_lib_prefix\)=.*$|\1=unknown|' $LIBTOOL > ./libtool -LIBTOOL="$SHELL ./libtool" - -# Installation directory: -instdir=`pwd`/_inst - -$CC $CPPFLAGS $CFLAGS -c main.c -for file in foo1 foo2; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c -done - -{ set +x -$as_echo "$at_srcdir/need_lib_prefix.at:176: \$LIBTOOL --mode=link \$CC -module -avoid-version \$CFLAGS \$LDFLAGS -o foo1.la foo1.lo -rpath \$instdir/lib" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o foo1.la foo1.lo -rpath $instdir/lib" "need_lib_prefix.at:176" -( $at_check_trace; $LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o foo1.la foo1.lo -rpath $instdir/lib -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:176" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/need_lib_prefix.at:178: \$LIBTOOL --mode=link \$CC -module -avoid-version \$CFLAGS \$LDFLAGS -o libfoo2.la foo2.lo -rpath \$instdir/lib" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o libfoo2.la foo2.lo -rpath $instdir/lib" "need_lib_prefix.at:178" -( $at_check_trace; $LIBTOOL --mode=link $CC -module -avoid-version $CFLAGS $LDFLAGS -o libfoo2.la foo2.lo -rpath $instdir/lib -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:178" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/need_lib_prefix.at:180: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT -dlpreopen foo1.la -dlpreopen libfoo2.la \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlpreopen foo1.la -dlpreopen libfoo2.la $LIBLTDL" "need_lib_prefix.at:180" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT -dlpreopen foo1.la -dlpreopen libfoo2.la $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:180" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/need_lib_prefix.at:183: if \$LIBTOOL --mode=execute -dlopen foo1.la -dlopen libfoo2.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen foo1.la -dlopen libfoo2.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "need_lib_prefix.at:183" -( $at_check_trace; if $LIBTOOL --mode=execute -dlopen foo1.la -dlopen libfoo2.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:183" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Install the libraries. -mkdir $instdir -mkdir $instdir/lib -$LIBTOOL --mode=install cp foo1.la $instdir/lib/foo1.la -$LIBTOOL --mode=install cp libfoo2.la $instdir/lib/libfoo2.la - -# Install the binary -mkdir $instdir/bin -$LIBTOOL --mode=install cp main$EXEEXT $instdir/bin/main$EXEEXT - -lt_exe=$instdir/bin/main; if test -f "$instdir/bin/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/need_lib_prefix.at:196: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "need_lib_prefix.at:196" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/need_lib_prefix.at:196" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_116 -#AT_START_117 -at_fn_group_banner 117 'mdemo.at:625' \ - "dynamically ltdl preload static modules" " " 12 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "117. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<_EOT_ -AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT([dlopen win32-dll]) -LTDL_INIT([nonrecursive convenience]) -AC_SUBST([LIBTOOL_DEPS]) -AC_SUBST([INCLTDL]) -AC_SUBST([LIBLTDL]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_EOT_ - - -cat >Makefile.am <<_EOT_ -AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign -ACLOCAL_AMFLAGS = -I m4 -AM_CPPFLAGS = \$(INCLTDL) -AM_LDFLAGS = - -noinst_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -include_HEADERS = - -EXTRA_DIST = - -BUILT_SOURCES = -CLEANFILES = -MOSTLYCLEANFILES = - -lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la - -foo1_la_SOURCES = foo1.c -foo1_la_LIBADD = \$(LIBM) libsub.la -foo1_la_LDFLAGS = -no-undefined -module -avoid-version - -libfoo2_la_SOURCES = foo2.c -libfoo2_la_LIBADD = \$(LIBM) libsub.la -libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" - -libsub_la_SOURCES = sub.c -libsub_la_LDFLAGS = -no-undefined - -## Use -export-symbols-regex here explicitly because libltdl marks -## its exported symbols, and we use libltdl as a convenience archive. -## Thus, on w32, auto-exporting is turned off. -libmlib_la_SOURCES = mlib.c -libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la -libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" -libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -noinst_HEADERS = foo.h - -bin_PROGRAMS = mdemo mdemo_static - -# Create a version of mdemo that does dlopen. -mdemo_SOURCES = main.c -mdemo_LDFLAGS = -export-dynamic -## The quotes around -dlopen below fool automake into accepting it -mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ - "-dlopen" foo1.la "-dlopen" libfoo2.la -mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -# Create a statically linked version of mdemo. -mdemo_static_SOURCES = \$(mdemo_SOURCES) -mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) -mdemo_static_LDADD = \$(mdemo_LDADD) -mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) - -libtool: \$(LIBTOOL_DEPS) - \$(SHELL) ./config.status --recheck - -include \$(srcdir)/libltdl/ltdl.mk -include \$(srcdir)/mdemo.mk -_EOT_ - -cat >mdemo.mk <<'_ATEOF' -# Don't abort for lack of mdemo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -int sub (void); - -#endif -_ATEOF - - -cat >foo1.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing foo1_LTX_nothing -#define foo1 foo1_LTX_foo1 -#define hello foo1_LTX_hello - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -/* private function */ -int _foo1_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo1 (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return _foo1_helper (); -} - -int hello () { - printf ("** This is foolib 1 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >foo2.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing libfoo2_LTX_nothing -#define foo2 libfoo2_LTX_foo2 -#define hello libfoo2_LTX_hello - -/* Give a global variable definition. */ -int nothing; - -/* private function */ -int _foo2_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo2 (void) { - printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); - return _foo2_helper (); -} - -int hello () { - printf ("** This is foolib 2 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >mlib.c <<'_ATEOF' -#include -#include - -#include "foo.h" -#include "ltdl.h" - -int test_dl (char *filename) { - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - handle = lt_dlopen(filename); - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -mlib_func (int argc, char **argv) -{ - int ret = 0; - int i; - /* - * Would be nice if this somehow worked for libraries, not just executables. - * LTDL_SET_PRELOADED_SYMBOLS(); - */ - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - if (test_dl(argv[i])) - ret = 1; - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >sub.c <<'_ATEOF' -#include -#include -void sub (void) { printf ("sub() called\n"); } -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" -#include "ltdl.h" - -#ifdef __cplusplus -# define EXPORT extern "C" -#else -# define EXPORT extern -#endif - -EXPORT int myfunc (void); - -int -test_dl (char *filename, int test_ext) -{ - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - if (test_ext) - handle = lt_dlopenext (filename); - else - handle = lt_dlopen (filename); - - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -myfunc () -{ - return HELLO_RET; -} - -int myvar; - -int -test_dlself () -{ - lt_dlhandle handle; - int (*pmyfunc)() = 0; - int *pmyvar = 0; - int ret = 0; - - handle = lt_dlopen(0); - if (!handle) { - fprintf (stderr, "can't dlopen the program!\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); - if (pmyfunc) - { - int value = (*pmyfunc) (); - - printf ("myfunc returned: %i\n", value); - if (value == HELLO_RET) - printf("myfunc is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'myfunc' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pmyvar = (int*)lt_dlsym(handle, "myvar"); - /* Try assigning to the variable. */ - if (pmyvar) - *pmyvar = 1; - else - { - fprintf (stderr, "did not find the 'myvar' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - lt_dlclose(handle); - return ret; -} - -static int -callback (const char *filename, void *data) -{ - printf ("%s: %s\n", (char *)data, filename); - return 0; -} - -static int -try_iterate (const char *search_path) -{ - char *s = "try_iterate"; - return lt_dlforeachfile (search_path, callback, s); -} - -/* cheap dirname clone. We require a '/' separator, nonempty and large - enough input, not ending with '/', and we will overwrite the input. */ -static char * -my_dirname (char *path) -{ - char *p = strrchr (path, '/'); - if (p) - *p = '\0'; - else - { - path[0] = '.'; - path[1] = '\0'; - } - return path; -} - -int -main (int argc, char **argv) -{ - int i; - int ret = 0; - char *p; - - printf ("Welcome to GNU libtool mdemo!\n"); - - if (argc < 2) { - fprintf (stderr, "usage: %s module [module...]\n", argv[0]); - } - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - { - if (test_dl(argv[i], 0)) - ret = 1; - p = strrchr(argv[i], '.'); - if (p) - { - *p = '\0'; - if (test_dl(argv[i], 1)) - ret = 1; - *p = '.'; - } - } - - if (test_dlself()) - ret = 1; - - for (i = 1; i < argc; i++) - if (argv[i][0] != '\0') - { - my_dirname (argv[i]); - if (try_iterate (argv[i])) - ret = 1; - } - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/mdemo.at:629: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:629" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:629: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:629" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:629: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:629" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/mdemo.at:629: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:629" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:629" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:629: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:629" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:629: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl --disable-shared" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:629" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl --disable-shared -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:629: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "mdemo.at:629" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/mdemo.at:629: \$EGREP '^build_libtool_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "mdemo.at:629" -( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:629" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/mdemo.at:631: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:631" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:631: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:631" -( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:631: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:631" -( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:631: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:631" -( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:631: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:631" -( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:631" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -for target in install -do - { set +x -$as_echo "$at_srcdir/mdemo.at:632: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:632" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:632" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -lt_exe=$prefix/bin/mdemo_static; if test -f "$prefix/bin/mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:632: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:632" -( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:632" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/mdemo; if test -f "$prefix/bin/mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:632: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:632" -( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:632" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/mdemo.at:633: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:633" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:633" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/mdemo.at:633: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "mdemo.at:633" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:633" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_117 -#AT_START_118 -at_fn_group_banner 118 'mdemo.at:642' \ - "dynamically ltdl load a shared module" " " 12 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "118. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<_EOT_ -AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT([dlopen win32-dll]) -LTDL_INIT([nonrecursive convenience]) -AC_SUBST([LIBTOOL_DEPS]) -AC_SUBST([INCLTDL]) -AC_SUBST([LIBLTDL]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_EOT_ - - -cat >Makefile.am <<_EOT_ -AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign -ACLOCAL_AMFLAGS = -I m4 -AM_CPPFLAGS = \$(INCLTDL) -AM_LDFLAGS = - -noinst_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -include_HEADERS = - -EXTRA_DIST = - -BUILT_SOURCES = -CLEANFILES = -MOSTLYCLEANFILES = - -lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la - -foo1_la_SOURCES = foo1.c -foo1_la_LIBADD = \$(LIBM) libsub.la -foo1_la_LDFLAGS = -no-undefined -module -avoid-version - -libfoo2_la_SOURCES = foo2.c -libfoo2_la_LIBADD = \$(LIBM) libsub.la -libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" - -libsub_la_SOURCES = sub.c -libsub_la_LDFLAGS = -no-undefined - -## Use -export-symbols-regex here explicitly because libltdl marks -## its exported symbols, and we use libltdl as a convenience archive. -## Thus, on w32, auto-exporting is turned off. -libmlib_la_SOURCES = mlib.c -libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la -libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" -libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -noinst_HEADERS = foo.h - -bin_PROGRAMS = mdemo mdemo_static - -# Create a version of mdemo that does dlopen. -mdemo_SOURCES = main.c -mdemo_LDFLAGS = -export-dynamic -## The quotes around -dlopen below fool automake into accepting it -mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ - "-dlopen" foo1.la "-dlopen" libfoo2.la -mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -# Create a statically linked version of mdemo. -mdemo_static_SOURCES = \$(mdemo_SOURCES) -mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) -mdemo_static_LDADD = \$(mdemo_LDADD) -mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) - -libtool: \$(LIBTOOL_DEPS) - \$(SHELL) ./config.status --recheck - -include \$(srcdir)/libltdl/ltdl.mk -include \$(srcdir)/mdemo.mk -_EOT_ - -cat >mdemo.mk <<'_ATEOF' -# Don't abort for lack of mdemo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -int sub (void); - -#endif -_ATEOF - - -cat >foo1.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing foo1_LTX_nothing -#define foo1 foo1_LTX_foo1 -#define hello foo1_LTX_hello - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -/* private function */ -int _foo1_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo1 (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return _foo1_helper (); -} - -int hello () { - printf ("** This is foolib 1 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >foo2.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing libfoo2_LTX_nothing -#define foo2 libfoo2_LTX_foo2 -#define hello libfoo2_LTX_hello - -/* Give a global variable definition. */ -int nothing; - -/* private function */ -int _foo2_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo2 (void) { - printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); - return _foo2_helper (); -} - -int hello () { - printf ("** This is foolib 2 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >mlib.c <<'_ATEOF' -#include -#include - -#include "foo.h" -#include "ltdl.h" - -int test_dl (char *filename) { - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - handle = lt_dlopen(filename); - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -mlib_func (int argc, char **argv) -{ - int ret = 0; - int i; - /* - * Would be nice if this somehow worked for libraries, not just executables. - * LTDL_SET_PRELOADED_SYMBOLS(); - */ - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - if (test_dl(argv[i])) - ret = 1; - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >sub.c <<'_ATEOF' -#include -#include -void sub (void) { printf ("sub() called\n"); } -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" -#include "ltdl.h" - -#ifdef __cplusplus -# define EXPORT extern "C" -#else -# define EXPORT extern -#endif - -EXPORT int myfunc (void); - -int -test_dl (char *filename, int test_ext) -{ - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - if (test_ext) - handle = lt_dlopenext (filename); - else - handle = lt_dlopen (filename); - - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -myfunc () -{ - return HELLO_RET; -} - -int myvar; - -int -test_dlself () -{ - lt_dlhandle handle; - int (*pmyfunc)() = 0; - int *pmyvar = 0; - int ret = 0; - - handle = lt_dlopen(0); - if (!handle) { - fprintf (stderr, "can't dlopen the program!\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); - if (pmyfunc) - { - int value = (*pmyfunc) (); - - printf ("myfunc returned: %i\n", value); - if (value == HELLO_RET) - printf("myfunc is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'myfunc' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pmyvar = (int*)lt_dlsym(handle, "myvar"); - /* Try assigning to the variable. */ - if (pmyvar) - *pmyvar = 1; - else - { - fprintf (stderr, "did not find the 'myvar' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - lt_dlclose(handle); - return ret; -} - -static int -callback (const char *filename, void *data) -{ - printf ("%s: %s\n", (char *)data, filename); - return 0; -} - -static int -try_iterate (const char *search_path) -{ - char *s = "try_iterate"; - return lt_dlforeachfile (search_path, callback, s); -} - -/* cheap dirname clone. We require a '/' separator, nonempty and large - enough input, not ending with '/', and we will overwrite the input. */ -static char * -my_dirname (char *path) -{ - char *p = strrchr (path, '/'); - if (p) - *p = '\0'; - else - { - path[0] = '.'; - path[1] = '\0'; - } - return path; -} - -int -main (int argc, char **argv) -{ - int i; - int ret = 0; - char *p; - - printf ("Welcome to GNU libtool mdemo!\n"); - - if (argc < 2) { - fprintf (stderr, "usage: %s module [module...]\n", argv[0]); - } - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - { - if (test_dl(argv[i], 0)) - ret = 1; - p = strrchr(argv[i], '.'); - if (p) - { - *p = '\0'; - if (test_dl(argv[i], 1)) - ret = 1; - *p = '.'; - } - } - - if (test_dlself()) - ret = 1; - - for (i = 1; i < argc; i++) - if (argv[i][0] != '\0') - { - my_dirname (argv[i]); - if (try_iterate (argv[i])) - ret = 1; - } - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/mdemo.at:646: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:646" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:646: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:646" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:646: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:646" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/mdemo.at:646: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:646" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:646" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:646: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:646" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:646: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:646" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:646: \$EGREP '^build_old_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "mdemo.at:646" -( $at_check_trace; $EGREP '^build_old_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/mdemo.at:646: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "mdemo.at:646" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:646" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/mdemo.at:648: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:648" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:648: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:648" -( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:648: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:648" -( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:648: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:648" -( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:648: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:648" -( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:648" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -for target in install -do - { set +x -$as_echo "$at_srcdir/mdemo.at:649: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:649" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:649" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -lt_exe=$prefix/bin/mdemo_static; if test -f "$prefix/bin/mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:649: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:649" -( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:649" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/mdemo; if test -f "$prefix/bin/mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:649: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:649" -( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:649" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/mdemo.at:650: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:650" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:650" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/mdemo.at:650: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "mdemo.at:650" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:650" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_118 -#AT_START_119 -at_fn_group_banner 119 'mdemo.at:659' \ - "ltdl load shared and static modules" " " 12 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "119. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<_EOT_ -AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT([dlopen win32-dll]) -LTDL_INIT([nonrecursive convenience]) -AC_SUBST([LIBTOOL_DEPS]) -AC_SUBST([INCLTDL]) -AC_SUBST([LIBLTDL]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_EOT_ - - -cat >Makefile.am <<_EOT_ -AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign -ACLOCAL_AMFLAGS = -I m4 -AM_CPPFLAGS = \$(INCLTDL) -AM_LDFLAGS = - -noinst_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -include_HEADERS = - -EXTRA_DIST = - -BUILT_SOURCES = -CLEANFILES = -MOSTLYCLEANFILES = - -lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la - -foo1_la_SOURCES = foo1.c -foo1_la_LIBADD = \$(LIBM) libsub.la -foo1_la_LDFLAGS = -no-undefined -module -avoid-version - -libfoo2_la_SOURCES = foo2.c -libfoo2_la_LIBADD = \$(LIBM) libsub.la -libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" - -libsub_la_SOURCES = sub.c -libsub_la_LDFLAGS = -no-undefined - -## Use -export-symbols-regex here explicitly because libltdl marks -## its exported symbols, and we use libltdl as a convenience archive. -## Thus, on w32, auto-exporting is turned off. -libmlib_la_SOURCES = mlib.c -libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la -libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" -libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -noinst_HEADERS = foo.h - -bin_PROGRAMS = mdemo mdemo_static - -# Create a version of mdemo that does dlopen. -mdemo_SOURCES = main.c -mdemo_LDFLAGS = -export-dynamic -## The quotes around -dlopen below fool automake into accepting it -mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ - "-dlopen" foo1.la "-dlopen" libfoo2.la -mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -# Create a statically linked version of mdemo. -mdemo_static_SOURCES = \$(mdemo_SOURCES) -mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) -mdemo_static_LDADD = \$(mdemo_LDADD) -mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) - -libtool: \$(LIBTOOL_DEPS) - \$(SHELL) ./config.status --recheck - -include \$(srcdir)/libltdl/ltdl.mk -include \$(srcdir)/mdemo.mk -_EOT_ - -cat >mdemo.mk <<'_ATEOF' -# Don't abort for lack of mdemo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -int sub (void); - -#endif -_ATEOF - - -cat >foo1.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing foo1_LTX_nothing -#define foo1 foo1_LTX_foo1 -#define hello foo1_LTX_hello - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -/* private function */ -int _foo1_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo1 (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return _foo1_helper (); -} - -int hello () { - printf ("** This is foolib 1 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >foo2.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing libfoo2_LTX_nothing -#define foo2 libfoo2_LTX_foo2 -#define hello libfoo2_LTX_hello - -/* Give a global variable definition. */ -int nothing; - -/* private function */ -int _foo2_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo2 (void) { - printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); - return _foo2_helper (); -} - -int hello () { - printf ("** This is foolib 2 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >mlib.c <<'_ATEOF' -#include -#include - -#include "foo.h" -#include "ltdl.h" - -int test_dl (char *filename) { - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - handle = lt_dlopen(filename); - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -mlib_func (int argc, char **argv) -{ - int ret = 0; - int i; - /* - * Would be nice if this somehow worked for libraries, not just executables. - * LTDL_SET_PRELOADED_SYMBOLS(); - */ - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - if (test_dl(argv[i])) - ret = 1; - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >sub.c <<'_ATEOF' -#include -#include -void sub (void) { printf ("sub() called\n"); } -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" -#include "ltdl.h" - -#ifdef __cplusplus -# define EXPORT extern "C" -#else -# define EXPORT extern -#endif - -EXPORT int myfunc (void); - -int -test_dl (char *filename, int test_ext) -{ - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - if (test_ext) - handle = lt_dlopenext (filename); - else - handle = lt_dlopen (filename); - - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -myfunc () -{ - return HELLO_RET; -} - -int myvar; - -int -test_dlself () -{ - lt_dlhandle handle; - int (*pmyfunc)() = 0; - int *pmyvar = 0; - int ret = 0; - - handle = lt_dlopen(0); - if (!handle) { - fprintf (stderr, "can't dlopen the program!\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); - if (pmyfunc) - { - int value = (*pmyfunc) (); - - printf ("myfunc returned: %i\n", value); - if (value == HELLO_RET) - printf("myfunc is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'myfunc' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pmyvar = (int*)lt_dlsym(handle, "myvar"); - /* Try assigning to the variable. */ - if (pmyvar) - *pmyvar = 1; - else - { - fprintf (stderr, "did not find the 'myvar' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - lt_dlclose(handle); - return ret; -} - -static int -callback (const char *filename, void *data) -{ - printf ("%s: %s\n", (char *)data, filename); - return 0; -} - -static int -try_iterate (const char *search_path) -{ - char *s = "try_iterate"; - return lt_dlforeachfile (search_path, callback, s); -} - -/* cheap dirname clone. We require a '/' separator, nonempty and large - enough input, not ending with '/', and we will overwrite the input. */ -static char * -my_dirname (char *path) -{ - char *p = strrchr (path, '/'); - if (p) - *p = '\0'; - else - { - path[0] = '.'; - path[1] = '\0'; - } - return path; -} - -int -main (int argc, char **argv) -{ - int i; - int ret = 0; - char *p; - - printf ("Welcome to GNU libtool mdemo!\n"); - - if (argc < 2) { - fprintf (stderr, "usage: %s module [module...]\n", argv[0]); - } - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - { - if (test_dl(argv[i], 0)) - ret = 1; - p = strrchr(argv[i], '.'); - if (p) - { - *p = '\0'; - if (test_dl(argv[i], 1)) - ret = 1; - *p = '.'; - } - } - - if (test_dlself()) - ret = 1; - - for (i = 1; i < argc; i++) - if (argv[i][0] != '\0') - { - my_dirname (argv[i]); - if (try_iterate (argv[i])) - ret = 1; - } - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/mdemo.at:663: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:663" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:663: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:663" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:663: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:663" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/mdemo.at:663: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:663" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:663" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:663: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:663" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:663: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:663" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:663: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "mdemo.at:663" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/mdemo.at:663: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "mdemo.at:663" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:663" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/mdemo.at:665: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:665" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:665: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:665" -( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:665: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:665" -( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo_static; if test -f "./mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:665: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:665" -( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo; if test -f "./mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:665: if \"\$lt_exe\" \`pwd\`/foo1.la \`pwd\`/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a `...` command substitution' "mdemo.at:665" -( $at_check_trace; if "$lt_exe" `pwd`/foo1.la `pwd`/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:665" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -for target in install -do - { set +x -$as_echo "$at_srcdir/mdemo.at:666: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:666" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:666" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Windows hosts search for dlls in the command path. -PATH=$prefix/lib:$PATH - -lt_exe=$prefix/bin/mdemo_static; if test -f "$prefix/bin/mdemo_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:666: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:666" -( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:666" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=$prefix/bin/mdemo; if test -f "$prefix/bin/mdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:666: if \"\$lt_exe\" \$prefix/lib/foo1.la \$prefix/lib/libfoo2.la | \$GREP '^try_iterate: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:666" -( $at_check_trace; if "$lt_exe" $prefix/lib/foo1.la $prefix/lib/libfoo2.la | $GREP '^try_iterate: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:666" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/mdemo.at:667: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:667" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:667" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/mdemo.at:667: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "mdemo.at:667" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:667" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_119 -#AT_START_120 -at_fn_group_banner 120 'mdemo.at:676' \ - "ltdl dryrun" " " 12 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "120. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<_EOT_ -AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT([dlopen win32-dll]) -LTDL_INIT([nonrecursive convenience]) -AC_SUBST([LIBTOOL_DEPS]) -AC_SUBST([INCLTDL]) -AC_SUBST([LIBLTDL]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_EOT_ - - -cat >Makefile.am <<_EOT_ -AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign -ACLOCAL_AMFLAGS = -I m4 -AM_CPPFLAGS = \$(INCLTDL) -AM_LDFLAGS = - -noinst_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -include_HEADERS = - -EXTRA_DIST = - -BUILT_SOURCES = -CLEANFILES = -MOSTLYCLEANFILES = - -lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la - -foo1_la_SOURCES = foo1.c -foo1_la_LIBADD = \$(LIBM) libsub.la -foo1_la_LDFLAGS = -no-undefined -module -avoid-version - -libfoo2_la_SOURCES = foo2.c -libfoo2_la_LIBADD = \$(LIBM) libsub.la -libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" - -libsub_la_SOURCES = sub.c -libsub_la_LDFLAGS = -no-undefined - -## Use -export-symbols-regex here explicitly because libltdl marks -## its exported symbols, and we use libltdl as a convenience archive. -## Thus, on w32, auto-exporting is turned off. -libmlib_la_SOURCES = mlib.c -libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la -libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" -libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -noinst_HEADERS = foo.h - -bin_PROGRAMS = mdemo mdemo_static - -# Create a version of mdemo that does dlopen. -mdemo_SOURCES = main.c -mdemo_LDFLAGS = -export-dynamic -## The quotes around -dlopen below fool automake into accepting it -mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ - "-dlopen" foo1.la "-dlopen" libfoo2.la -mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -# Create a statically linked version of mdemo. -mdemo_static_SOURCES = \$(mdemo_SOURCES) -mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) -mdemo_static_LDADD = \$(mdemo_LDADD) -mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) - -libtool: \$(LIBTOOL_DEPS) - \$(SHELL) ./config.status --recheck - -include \$(srcdir)/libltdl/ltdl.mk -include \$(srcdir)/mdemo.mk -_EOT_ - -cat >mdemo.mk <<'_ATEOF' -# Don't abort for lack of mdemo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -int sub (void); - -#endif -_ATEOF - - -cat >foo1.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing foo1_LTX_nothing -#define foo1 foo1_LTX_foo1 -#define hello foo1_LTX_hello - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -/* private function */ -int _foo1_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo1 (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return _foo1_helper (); -} - -int hello () { - printf ("** This is foolib 1 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >foo2.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing libfoo2_LTX_nothing -#define foo2 libfoo2_LTX_foo2 -#define hello libfoo2_LTX_hello - -/* Give a global variable definition. */ -int nothing; - -/* private function */ -int _foo2_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo2 (void) { - printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); - return _foo2_helper (); -} - -int hello () { - printf ("** This is foolib 2 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >mlib.c <<'_ATEOF' -#include -#include - -#include "foo.h" -#include "ltdl.h" - -int test_dl (char *filename) { - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - handle = lt_dlopen(filename); - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -mlib_func (int argc, char **argv) -{ - int ret = 0; - int i; - /* - * Would be nice if this somehow worked for libraries, not just executables. - * LTDL_SET_PRELOADED_SYMBOLS(); - */ - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - if (test_dl(argv[i])) - ret = 1; - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >sub.c <<'_ATEOF' -#include -#include -void sub (void) { printf ("sub() called\n"); } -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" -#include "ltdl.h" - -#ifdef __cplusplus -# define EXPORT extern "C" -#else -# define EXPORT extern -#endif - -EXPORT int myfunc (void); - -int -test_dl (char *filename, int test_ext) -{ - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - if (test_ext) - handle = lt_dlopenext (filename); - else - handle = lt_dlopen (filename); - - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -myfunc () -{ - return HELLO_RET; -} - -int myvar; - -int -test_dlself () -{ - lt_dlhandle handle; - int (*pmyfunc)() = 0; - int *pmyvar = 0; - int ret = 0; - - handle = lt_dlopen(0); - if (!handle) { - fprintf (stderr, "can't dlopen the program!\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); - if (pmyfunc) - { - int value = (*pmyfunc) (); - - printf ("myfunc returned: %i\n", value); - if (value == HELLO_RET) - printf("myfunc is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'myfunc' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pmyvar = (int*)lt_dlsym(handle, "myvar"); - /* Try assigning to the variable. */ - if (pmyvar) - *pmyvar = 1; - else - { - fprintf (stderr, "did not find the 'myvar' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - lt_dlclose(handle); - return ret; -} - -static int -callback (const char *filename, void *data) -{ - printf ("%s: %s\n", (char *)data, filename); - return 0; -} - -static int -try_iterate (const char *search_path) -{ - char *s = "try_iterate"; - return lt_dlforeachfile (search_path, callback, s); -} - -/* cheap dirname clone. We require a '/' separator, nonempty and large - enough input, not ending with '/', and we will overwrite the input. */ -static char * -my_dirname (char *path) -{ - char *p = strrchr (path, '/'); - if (p) - *p = '\0'; - else - { - path[0] = '.'; - path[1] = '\0'; - } - return path; -} - -int -main (int argc, char **argv) -{ - int i; - int ret = 0; - char *p; - - printf ("Welcome to GNU libtool mdemo!\n"); - - if (argc < 2) { - fprintf (stderr, "usage: %s module [module...]\n", argv[0]); - } - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - { - if (test_dl(argv[i], 0)) - ret = 1; - p = strrchr(argv[i], '.'); - if (p) - { - *p = '\0'; - if (test_dl(argv[i], 1)) - ret = 1; - *p = '.'; - } - } - - if (test_dlself()) - ret = 1; - - for (i = 1; i < argc; i++) - if (argv[i][0] != '\0') - { - my_dirname (argv[i]); - if (try_iterate (argv[i])) - ret = 1; - } - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/mdemo.at:680: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:680" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:680: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:680" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:680: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:680" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/mdemo.at:680: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:680" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:680" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:680: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:680" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:680: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:680" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:680" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -for target in all-local libltdl/libltdlc.la -do - { set +x -$as_echo "$at_srcdir/mdemo.at:681: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:681" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:681" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# create 'before' and 'after' in a directory deep within objdir, -# so that their creation and removal does not modify even a timestamp -# in the output of 'ls -l . $objdir' -$lt_INSTALL -d "$objdir/temp/temp" -before=$objdir/temp/temp/before -after=$objdir/temp/temp/after - -# Create a new libtool script that will enter dry run if the environment -# variable force_dry_run is set -$SED 's|^[ ]*opt_dry_run=.*$|opt_dry_run=$force_dry_run|' libtool > ltnew && mv ltnew libtool -export force_dry_run - -# main.o is not compiled with libtool, but it depends on it, so make -# sure it is up-to-date. libfoo2.la is linked with libsub.la, so make -# sure it exists, otherwise libtool will complain. -force_dry_run=false -for target in main.$objext -do - { set +x -$as_echo "$at_srcdir/mdemo.at:699: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:699" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:699" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Making object files -# ls -l in MSYS sometimes shows year, not time, for really fresh files. -sleep 1 -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -force_dry_run=: -for target in foo1.lo foo2.lo libsub.la -do - { set +x -$as_echo "$at_srcdir/mdemo.at:706: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:706" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:706" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -{ set +x -$as_echo "$at_srcdir/mdemo.at:708: cmp \"\$before\" \"\$after\"" -at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:708" -( $at_check_trace; cmp "$before" "$after" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:708" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Now really make them -force_dry_run=false -for target in foo1.lo foo2.lo libsub.la -do - { set +x -$as_echo "$at_srcdir/mdemo.at:712: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:712" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:712" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Making libraries -sleep 1 # for MSYS -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -force_dry_run=: -for target in foo1.la libfoo2.la -do - { set +x -$as_echo "$at_srcdir/mdemo.at:718: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:718" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:718" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -{ set +x -$as_echo "$at_srcdir/mdemo.at:720: cmp \"\$before\" \"\$after\"" -at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:720" -( $at_check_trace; cmp "$before" "$after" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:720" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Now really make them -force_dry_run=false -for target in foo1.la libfoo2.la -do - { set +x -$as_echo "$at_srcdir/mdemo.at:724: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:724" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:724" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Making programs -sleep 1 # for MSYS -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -force_dry_run=: -for target in mdemo$EXEEXT mdemo_static$EXEEXT -do - { set +x -$as_echo "$at_srcdir/mdemo.at:730: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:730" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:730" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -{ set +x -$as_echo "$at_srcdir/mdemo.at:732: cmp \"\$before\" \"\$after\"" -at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:732" -( $at_check_trace; cmp "$before" "$after" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:732" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Running $MAKE install -# Libtool does not create these directories -$lt_INSTALL -d "$prefix/bin" -$lt_INSTALL -d "$prefix/include" -$lt_INSTALL -d "$prefix/lib" - -sleep 1 # for MSYS -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$before" -force_dry_run=: -for target in install -do - { set +x -$as_echo "$at_srcdir/mdemo.at:744: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:744" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:744" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$after" -{ set +x -$as_echo "$at_srcdir/mdemo.at:748: cmp \"\$before\" \"\$after\"" -at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:748" -( $at_check_trace; cmp "$before" "$after" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:748" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Now really install -force_dry_run=false -for target in install -do - { set +x -$as_echo "$at_srcdir/mdemo.at:752: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:752" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:752" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Running $MAKE uninstall -# Libtool does not uninstall the programs, remove them first -rm -f "$prefix/bin/mdemo$EXEEXT" "$prefix/bin/mdemo_static$EXEEXT" - -sleep 1 # for MSYS -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$before" -ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$before" -force_dry_run=: -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/mdemo.at:762: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:762" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:762" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -ls -l . "$objdir" | $EGREP -v '(^total|testsuite.log$)' > "$after" -ls -lR "$prefix" | $EGREP -v '(^total|testsuite.log$)' >> "$after" -{ set +x -$as_echo "$at_srcdir/mdemo.at:765: cmp \"\$before\" \"\$after\"" -at_fn_check_prepare_dynamic "cmp \"$before\" \"$after\"" "mdemo.at:765" -( $at_check_trace; cmp "$before" "$after" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:765" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Now really uninstall -force_dry_run=false -for target in uninstall -do - { set +x -$as_echo "$at_srcdir/mdemo.at:769: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:769" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:769" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -{ set +x -$as_echo "$at_srcdir/mdemo.at:769: test -z \"\$leftovers\"" -at_fn_check_prepare_dynamic "test -z \"$leftovers\"" "mdemo.at:769" -( $at_check_trace; test -z "$leftovers" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:769" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_120 -#AT_START_121 -at_fn_group_banner 121 'mdemo.at:777' \ - "link with library that loads ltdl modules" " " 12 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "121. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<_EOT_ -AC_INIT([mdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE -AC_PROG_CC -LT_INIT([dlopen win32-dll]) -LTDL_INIT([nonrecursive convenience]) -AC_SUBST([LIBTOOL_DEPS]) -AC_SUBST([INCLTDL]) -AC_SUBST([LIBLTDL]) -STATIC= -test yes = "$enable_static" && STATIC=-static -AC_SUBST([STATIC]) -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_EOT_ - - -cat >Makefile.am <<_EOT_ -AUTOMAKE_OPTIONS = no-dependencies subdir-objects foreign -ACLOCAL_AMFLAGS = -I m4 -AM_CPPFLAGS = \$(INCLTDL) -AM_LDFLAGS = - -noinst_LTLIBRARIES = -EXTRA_LTLIBRARIES = - -include_HEADERS = - -EXTRA_DIST = - -BUILT_SOURCES = -CLEANFILES = -MOSTLYCLEANFILES = - -lib_LTLIBRARIES = libsub.la foo1.la libfoo2.la libmlib.la - -foo1_la_SOURCES = foo1.c -foo1_la_LIBADD = \$(LIBM) libsub.la -foo1_la_LDFLAGS = -no-undefined -module -avoid-version - -libfoo2_la_SOURCES = foo2.c -libfoo2_la_LIBADD = \$(LIBM) libsub.la -libfoo2_la_LDFLAGS = -no-undefined -module -export-symbols-regex "libfoo2.*" - -libsub_la_SOURCES = sub.c -libsub_la_LDFLAGS = -no-undefined - -## Use -export-symbols-regex here explicitly because libltdl marks -## its exported symbols, and we use libltdl as a convenience archive. -## Thus, on w32, auto-exporting is turned off. -libmlib_la_SOURCES = mlib.c -libmlib_la_LIBADD = \$(LIBLTDL) "-dlopen" foo1.la "-dlopen" libfoo2.la -libmlib_la_LDFLAGS = -no-undefined -export-symbols-regex ".*" -libmlib_la_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -noinst_HEADERS = foo.h - -bin_PROGRAMS = mdemo mdemo_static - -# Create a version of mdemo that does dlopen. -mdemo_SOURCES = main.c -mdemo_LDFLAGS = -export-dynamic -## The quotes around -dlopen below fool automake into accepting it -mdemo_LDADD = \$(LIBLTDL) libsub.la "-dlopen" self \ - "-dlopen" foo1.la "-dlopen" libfoo2.la -mdemo_DEPENDENCIES = \$(LIBLTDL) libsub.la foo1.la libfoo2.la - -# Create a statically linked version of mdemo. -mdemo_static_SOURCES = \$(mdemo_SOURCES) -mdemo_static_LDFLAGS = \$(STATIC) \$(mdemo_LDFLAGS) -mdemo_static_LDADD = \$(mdemo_LDADD) -mdemo_static_DEPENDENCIES = \$(mdemo_DEPENDENCIES) - -libtool: \$(LIBTOOL_DEPS) - \$(SHELL) ./config.status --recheck - -include \$(srcdir)/libltdl/ltdl.mk -include \$(srcdir)/mdemo.mk -_EOT_ - -cat >mdemo.mk <<'_ATEOF' -# Don't abort for lack of mdemo.mk -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H - -/* Silly constants that the functions return. */ -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -int sub (void); - -#endif -_ATEOF - - -cat >foo1.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing foo1_LTX_nothing -#define foo1 foo1_LTX_foo1 -#define hello foo1_LTX_hello - -/* Give a global variable definition. */ -int nothing = FOO_RET; - -/* private function */ -int _foo1_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo1 (void) { - printf ("cos (0.0) = %g\n", (double) cos ((double) 0.0)); - return _foo1_helper (); -} - -int hello () { - printf ("** This is foolib 1 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >foo2.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" - -#define nothing libfoo2_LTX_nothing -#define foo2 libfoo2_LTX_foo2 -#define hello libfoo2_LTX_hello - -/* Give a global variable definition. */ -int nothing; - -/* private function */ -int _foo2_helper (void) { - sub (); - return FOO_RET; -} - -/* export functions */ -#ifdef __cplusplus -extern "C" { -#endif - -int foo2 (void) { - printf ("sin (0.0) = %g\n", (double) sin ((double) 0.0)); - return _foo2_helper (); -} - -int hello () { - printf ("** This is foolib 2 **\n"); - return HELLO_RET; -} - -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >mlib.c <<'_ATEOF' -#include -#include - -#include "foo.h" -#include "ltdl.h" - -int test_dl (char *filename) { - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - handle = lt_dlopen(filename); - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -mlib_func (int argc, char **argv) -{ - int ret = 0; - int i; - /* - * Would be nice if this somehow worked for libraries, not just executables. - * LTDL_SET_PRELOADED_SYMBOLS(); - */ - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - if (test_dl(argv[i])) - ret = 1; - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >sub.c <<'_ATEOF' -#include -#include -void sub (void) { printf ("sub() called\n"); } -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include -#include - -#include "foo.h" -#include "ltdl.h" - -#ifdef __cplusplus -# define EXPORT extern "C" -#else -# define EXPORT extern -#endif - -EXPORT int myfunc (void); - -int -test_dl (char *filename, int test_ext) -{ - lt_dlhandle handle; - const lt_dlinfo *info; - int (*pfoo1)() = 0; - int (*pfoo2)() = 0; - int (*phello)() = 0; - int *pnothing = 0; - int ret = 0; - - if (test_ext) - handle = lt_dlopenext (filename); - else - handle = lt_dlopen (filename); - - if (!handle) { - fprintf (stderr, "can't open the module %s!\n", filename); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - info = lt_dlgetinfo(handle); - if (!info) { - fprintf (stderr, "can't get module info: %s\n", lt_dlerror()); - return 1; - } - if (info->name) { - printf ("module name: %s\n", info->name); - } else { - printf ("module is not a libtool module\n"); - } - printf ("module filename: %s\n", info->filename); - printf ("module reference count: %i\n", info->ref_count); - - phello = (int(*)())lt_dlsym(handle, "hello"); - if (phello) - { - int value = (*phello) (); - - printf ("hello returned: %i\n", value); - if (value == HELLO_RET) - printf("hello is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'hello' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pnothing = (int*)lt_dlsym(handle, "nothing"); - /* Try assigning to the nothing variable. */ - if (pnothing) - *pnothing = 1; - else - { - fprintf (stderr, "did not find the 'nothing' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pfoo1 = (int(*)())lt_dlsym(handle, "foo1"); - /* Just call the functions and check return values. */ - if (pfoo1) - { - if ((*pfoo1) () == FOO_RET) - printf("foo1 is ok!\n"); - else - ret = 1; - } - else { - pfoo2 = (int(*)())lt_dlsym(handle, "foo2"); - if (pfoo2) - { - if ((*pfoo2) () == FOO_RET) - printf("foo2 is ok!\n"); - else ret = 1; - } - else - { - fprintf (stderr, "did not find any of the 'foo' functions\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - } - lt_dlclose(handle); - return ret; -} - -int -myfunc () -{ - return HELLO_RET; -} - -int myvar; - -int -test_dlself () -{ - lt_dlhandle handle; - int (*pmyfunc)() = 0; - int *pmyvar = 0; - int ret = 0; - - handle = lt_dlopen(0); - if (!handle) { - fprintf (stderr, "can't dlopen the program!\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - return 1; - } - - pmyfunc = (int(*)())lt_dlsym(handle, "myfunc"); - if (pmyfunc) - { - int value = (*pmyfunc) (); - - printf ("myfunc returned: %i\n", value); - if (value == HELLO_RET) - printf("myfunc is ok!\n"); - } - else - { - fprintf (stderr, "did not find the 'myfunc' function\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - pmyvar = (int*)lt_dlsym(handle, "myvar"); - /* Try assigning to the variable. */ - if (pmyvar) - *pmyvar = 1; - else - { - fprintf (stderr, "did not find the 'myvar' variable\n"); - fprintf (stderr, "error was: %s\n", lt_dlerror()); - ret = 1; - } - - lt_dlclose(handle); - return ret; -} - -static int -callback (const char *filename, void *data) -{ - printf ("%s: %s\n", (char *)data, filename); - return 0; -} - -static int -try_iterate (const char *search_path) -{ - char *s = "try_iterate"; - return lt_dlforeachfile (search_path, callback, s); -} - -/* cheap dirname clone. We require a '/' separator, nonempty and large - enough input, not ending with '/', and we will overwrite the input. */ -static char * -my_dirname (char *path) -{ - char *p = strrchr (path, '/'); - if (p) - *p = '\0'; - else - { - path[0] = '.'; - path[1] = '\0'; - } - return path; -} - -int -main (int argc, char **argv) -{ - int i; - int ret = 0; - char *p; - - printf ("Welcome to GNU libtool mdemo!\n"); - - if (argc < 2) { - fprintf (stderr, "usage: %s module [module...]\n", argv[0]); - } - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror()); - return 1; - } - - for (i = 1; i < argc; i++) - { - if (test_dl(argv[i], 0)) - ret = 1; - p = strrchr(argv[i], '.'); - if (p) - { - *p = '\0'; - if (test_dl(argv[i], 1)) - ret = 1; - *p = '.'; - } - } - - if (test_dlself()) - ret = 1; - - for (i = 1; i < argc; i++) - if (argv[i][0] != '\0') - { - my_dirname (argv[i]); - if (try_iterate (argv[i])) - ret = 1; - } - - lt_dlexit(); - return ret; -} -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU Hell! -cos (0.0) = 1 -** This is not GNU Hello. There is no built-in mail reader. ** -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -cat >mdemo.mk <<'_ATEOF' -bin_PROGRAMS += mdemo2 mdemo2_static - -# Create a version of mdemo2 that links a library that does dlopen. -mdemo2_LDFLAGS = -export-dynamic "-dlopen" force -mdemo2_LDADD = libmlib.la - -# Create a statically linked version of mdemo. -mdemo2_static_SOURCES = mdemo2.c -mdemo2_static_LDFLAGS = $(STATIC) $(mdemo2_LDFLAGS) -mdemo2_static_LDADD = $(mdemo2_LDADD) -mdemo2_static_DEPENDENCIES = $(mdemo2_DEPENDENCIES) -_ATEOF - - -cat >mdemo2.c <<'_ATEOF' -#include -#include "ltdl.h" - -extern int mlib_func (int, char **); - -int main (int argc, char **argv) -{ - int ret = 0; - - printf ("Welcome to GNU libtool mdemo2!\n"); - if (argc < 2) { - fprintf (stderr, "usage: %s module [module...]\n", argv[0]); - } - - /* This must be called in the program to get the preloaded symbols */ - LTDL_SET_PRELOADED_SYMBOLS(); - - ret = mlib_func(argc, argv); - - return ret; -} -_ATEOF - - -# Normalize line endings after $EGREP instead of using LT_AT_HOST_DATA -# here, since $EGREP *may* normalize line endings for us. -cat >expout <<'_ATEOF' -Welcome to GNU libtool mdemo2! -module name: foo1 -module reference count: 1 -** This is foolib 1 ** -hello returned: 57616 -hello is ok! -cos (0.0) = 1 -sub() called -foo1 is ok! -module name: libfoo2 -module reference count: 1 -** This is foolib 2 ** -hello returned: 57616 -hello is ok! -sin (0.0) = 0 -sub() called -foo2 is ok! -_ATEOF - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/mdemo.at:841: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "mdemo.at:841" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:841: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "mdemo.at:841" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:841: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "mdemo.at:841" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/mdemo.at:841: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "mdemo.at:841" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/mdemo.at:841" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:841: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "mdemo.at:841" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/mdemo.at:841: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mdemo.at:841" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:841" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/mdemo.at:843: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "mdemo.at:843" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:843" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -lt_exe=./mdemo2_static; if test -f "./mdemo2_static$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:845: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$EGREP -v '^module filename: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:845" -( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $EGREP -v '^module filename: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:845" -$at_failed && at_fn_log_failure -$at_traceon; } - - -case $host_os in - mingw*) - tr -d '\015' < stdout > stdout.t - mv -f stdout.t stdout ;; -esac -echo "diff expout stdout"; { set +x -$as_echo "$at_srcdir/mdemo.at:848: diff expout stdout" -at_fn_check_prepare_trace "mdemo.at:848" -( $at_check_trace; diff expout stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:848" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./mdemo2; if test -f "./mdemo2$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/mdemo.at:850: if \"\$lt_exe\" ./foo1.la ./libfoo2.la | \$EGREP -v '^module filename: '; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_notrace 'a shell pipeline' "mdemo.at:850" -( $at_check_trace; if "$lt_exe" ./foo1.la ./libfoo2.la | $EGREP -v '^module filename: '; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:850" -$at_failed && at_fn_log_failure -$at_traceon; } - - -case $host_os in - mingw*) - tr -d '\015' < stdout > stdout.t - mv -f stdout.t stdout ;; -esac -echo "diff expout stdout"; { set +x -$as_echo "$at_srcdir/mdemo.at:853: diff expout stdout" -at_fn_check_prepare_trace "mdemo.at:853" -( $at_check_trace; diff expout stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/mdemo.at:853" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_121 -#AT_START_122 -at_fn_group_banner 122 'standalone.at:32' \ - "compiling softlinked libltdl" " " 13 -at_xfail=no -( - $as_echo "122. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/standalone.at:34: \$LIBTOOLIZE --ltdl=. - -" -at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:34" -( $at_check_trace; $LIBTOOLIZE --ltdl=. - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:34" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/standalone.at:35: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "standalone.at:35" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:35" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all $tst_dist -do - { set +x -$as_echo "$at_srcdir/standalone.at:36: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:36" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:36" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -{ set +x -$as_echo "$at_srcdir/standalone.at:38: test -f libltdlc.la" -at_fn_check_prepare_trace "standalone.at:38" -( $at_check_trace; test -f libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:38" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_122 -#AT_START_123 -at_fn_group_banner 123 'standalone.at:47' \ - "compiling copied libltdl" " " 13 -at_xfail=no -( - $as_echo "123. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/standalone.at:49: \$LIBTOOLIZE --copy --ltdl=. - -" -at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:49" -( $at_check_trace; $LIBTOOLIZE --copy --ltdl=. - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:49" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/standalone.at:50: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "standalone.at:50" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:50" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all $tst_dist -do - { set +x -$as_echo "$at_srcdir/standalone.at:51: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:51" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:51" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -{ set +x -$as_echo "$at_srcdir/standalone.at:53: test -f libltdlc.la" -at_fn_check_prepare_trace "standalone.at:53" -( $at_check_trace; test -f libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:53" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_123 -#AT_START_124 -at_fn_group_banner 124 'standalone.at:62' \ - "installable libltdl" " " 13 -at_xfail=no -( - $as_echo "124. $at_setup_line: testing $at_desc ..." - $at_traceon - - -prefix=`pwd`/_inst - -{ set +x -$as_echo "$at_srcdir/standalone.at:66: \$LIBTOOLIZE --copy --ltdl=. - -" -at_fn_check_prepare_notrace 'an embedded newline' "standalone.at:66" -( $at_check_trace; $LIBTOOLIZE --copy --ltdl=. - - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:66" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/standalone.at:67: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "standalone.at:67" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:67" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all install $tst_dist -do - { set +x -$as_echo "$at_srcdir/standalone.at:68: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "standalone.at:68" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:68" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -{ set +x -$as_echo "$at_srcdir/standalone.at:70: test -f \"\$prefix/lib/libltdl.la\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "standalone.at:70" -( $at_check_trace; test -f "$prefix/lib/libltdl.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:70" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/standalone.at:71: test -f \"\$prefix/include/ltdl.h\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "standalone.at:71" -( $at_check_trace; test -f "$prefix/include/ltdl.h" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:71" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_124 -#AT_START_125 -at_fn_group_banner 125 'standalone.at:80' \ - "linking libltdl without autotools" " " 13 -at_xfail=no -( - $as_echo "125. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >module.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" -#endif -const char * -hello (void) -{ - return "Hello!"; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include "ltdl.h" - -int -main () -{ - lt_dlhandle module; - const char *(*func) (void) = 0; - int status = 1; - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialisation: %s\n", lt_dlerror()); - return 1; - } - - module = lt_dlopen("./module.la"); - if (!module) { - fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror()); - goto finish; - } - - func = (const char *(*)(void)) lt_dlsym (module, "hello"); - if (!func) { - fprintf (stderr, "error fetching func: %s\n", lt_dlerror()); - goto finish; - } - - printf ("%s\n", (*func) ()); - status = 0; - -finish: - if (lt_dlexit() != 0) { - fprintf (stderr, "error during finalisation: %s\n", lt_dlerror()); - status = 1; - } - - return status; -} -_ATEOF - - - -cat >Makefile <<'_ATEOF' -top_builddir = . -LIBTOOL = ./libltdl/libtool -INCLUDES = -I./libltdl -MODFLAGS = -module -avoid-version -no-undefined - -LTCOMPILE = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile \ - $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LTLINK = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=link \ - $(CC) $(CFLAGS) $(LDFLAGS) - -TARGETS = libltdl/libltdlc.la module.la ltdldemo$(EXEEXT) - -all: $(TARGETS) - -libltdl/libltdlc.la: $(LIBTOOL) libltdl/Makefile - MAKE='$(MAKE)'; test -n "$$MAKE" || MAKE=make; \ - cd libltdl && $$MAKE CC="$(CC)" LIBTOOLFLAGS="$(LIBTOOLFLAGS)" \ - CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ - CONFIGURE_OPTIONS="$(CONFIGURE_OPTIONS)" - -$(LIBTOOL): libltdl/Makefile - -libltdl/Makefile: - cd libltdl && CONFIG_SHELL="$(SHELL)" $(SHELL) ./configure $(CONFIGURE_OPTIONS) - -ltdldemo$(EXEEXT): $(LIBTOOL) module.la libltdl/libltdlc.la main.lo - $(LTLINK) -o ltdldemo$(EXEEXT) main.lo -dlopen module.la ./libltdl/libltdlc.la - -main.lo: $(LIBTOOL) main.c - $(LTCOMPILE) -c main.c - -module.la: $(LIBTOOL) module.lo - $(LTLINK) -o module.la module.lo $(MODFLAGS) -rpath /dev/null - -module.lo: $(LIBTOOL) module.c - $(LTCOMPILE) -c module.c -_ATEOF - -cat >> Makefile <>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:83" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/standalone.at:84: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target CC=\"\$CC\" LIBTOOLFLAGS=\"\$LIBTOOLFLAGS\" CPPFLAGS=\"\$CPPFLAGS\" CFLAGS=\"\$CFLAGS\" LDFLAGS=\"\$LDFLAGS\" CONFIGURE_OPTIONS=\"\$configure_options\"" -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target CC=\"$CC\" LIBTOOLFLAGS=\"$LIBTOOLFLAGS\" CPPFLAGS=\"$CPPFLAGS\" CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\" CONFIGURE_OPTIONS=\"$configure_options\"" "standalone.at:84" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target CC="$CC" LIBTOOLFLAGS="$LIBTOOLFLAGS" CPPFLAGS="$CPPFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CONFIGURE_OPTIONS="$configure_options" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:84" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -lt_exe=./ltdldemo; if test -f "./ltdldemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/standalone.at:88: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "standalone.at:88" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/standalone.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_125 -#AT_START_126 -at_fn_group_banner 126 'subproject.at:58' \ - "compiling softlinked libltdl" " " 14 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "126. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subproject-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([sub/ltdl]) -AC_CONFIG_AUX_DIR([sub/ltdl/config]) -AC_CONFIG_MACRO_DIRS([sub/ltdl/m4]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT -LT_WITH_LTDL -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I sub/ltdl/m4 -AUTOMAKE_OPTIONS = 1.9 -SUBDIRS = sub/ltdl -lib_LTLIBRARIES = foo.la -foo_la_LDFLAGS = -module -avoid-version -no-undefined -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -$LIBTOOLIZE --ltdl - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I sub/ltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/subproject.at:62: \$ACLOCAL -I sub/ltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I sub/ltdl/m4$macro_dir" "subproject.at:62" -( $at_check_trace; $ACLOCAL -I sub/ltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:62: \$AUTOMAKE --add-missing --copy" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "subproject.at:62" -( $at_check_trace; $AUTOMAKE --add-missing --copy -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/subproject.at:62: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "subproject.at:62" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/subproject.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:62: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "subproject.at:62" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:62: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "subproject.at:62" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all $tst_dist -do - { set +x -$as_echo "$at_srcdir/subproject.at:62: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "subproject.at:62" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:62" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:65: test -f sub/ltdl/libltdlc.la" -at_fn_check_prepare_trace "subproject.at:65" -( $at_check_trace; test -f sub/ltdl/libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:65" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_126 -#AT_START_127 -at_fn_group_banner 127 'subproject.at:74' \ - "compiling copied libltdl" " " 14 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "127. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subproject-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([sub/ltdl]) -AC_CONFIG_AUX_DIR([sub/ltdl/config]) -AC_CONFIG_MACRO_DIRS([sub/ltdl/m4]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT -LT_WITH_LTDL -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I sub/ltdl/m4 -AUTOMAKE_OPTIONS = 1.9 -SUBDIRS = sub/ltdl -lib_LTLIBRARIES = foo.la -foo_la_LDFLAGS = -module -avoid-version -no-undefined -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -$LIBTOOLIZE --copy --ltdl - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I sub/ltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/subproject.at:78: \$ACLOCAL -I sub/ltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I sub/ltdl/m4$macro_dir" "subproject.at:78" -( $at_check_trace; $ACLOCAL -I sub/ltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:78: \$AUTOMAKE --add-missing --copy" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "subproject.at:78" -( $at_check_trace; $AUTOMAKE --add-missing --copy -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/subproject.at:78: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "subproject.at:78" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/subproject.at:78" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:78: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "subproject.at:78" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:78: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "subproject.at:78" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all $tst_dist -do - { set +x -$as_echo "$at_srcdir/subproject.at:78: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "subproject.at:78" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:78" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:81: test -f sub/ltdl/libltdlc.la" -at_fn_check_prepare_trace "subproject.at:81" -( $at_check_trace; test -f sub/ltdl/libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:81" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_127 -#AT_START_128 -at_fn_group_banner 128 'subproject.at:90' \ - "installable libltdl" " " 14 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "128. $at_setup_line: testing $at_desc ..." - $at_traceon - - -prefix=`pwd`/_inst - -cat >configure.ac <<'_ATEOF' -AC_INIT([subproject-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([sub/ltdl]) -AC_CONFIG_AUX_DIR([sub/ltdl/config]) -AC_CONFIG_MACRO_DIRS([sub/ltdl/m4]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT -LT_WITH_LTDL -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I sub/ltdl/m4 -AUTOMAKE_OPTIONS = 1.9 -SUBDIRS = sub/ltdl -lib_LTLIBRARIES = foo.la -foo_la_LDFLAGS = -module -avoid-version -no-undefined -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -$LIBTOOLIZE --copy --ltdl - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I sub/ltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/subproject.at:96: \$ACLOCAL -I sub/ltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I sub/ltdl/m4$macro_dir" "subproject.at:96" -( $at_check_trace; $ACLOCAL -I sub/ltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:96: \$AUTOMAKE --add-missing --copy" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "subproject.at:96" -( $at_check_trace; $AUTOMAKE --add-missing --copy -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/subproject.at:96: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "subproject.at:96" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/subproject.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:96: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "subproject.at:96" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:96: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "subproject.at:96" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all install $tst_dist -do - { set +x -$as_echo "$at_srcdir/subproject.at:96: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "subproject.at:96" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/subproject.at:100: test -f \"\$prefix/lib/libltdl.la\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "subproject.at:100" -( $at_check_trace; test -f "$prefix/lib/libltdl.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:100" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/subproject.at:101: test -f \"\$prefix/include/ltdl.h\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "subproject.at:101" -( $at_check_trace; test -f "$prefix/include/ltdl.h" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:101" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_128 -#AT_START_129 -at_fn_group_banner 129 'subproject.at:110' \ - "linking libltdl without autotools" " " 14 -at_xfail=no -( - $as_echo "129. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >module.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" -#endif -const char * -hello (void) -{ - return "Hello!"; -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include -#include "ltdl.h" - -int -main () -{ - lt_dlhandle module; - const char *(*func) (void) = 0; - int status = 1; - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialisation: %s\n", lt_dlerror()); - return 1; - } - - module = lt_dlopen("./module.la"); - if (!module) { - fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror()); - goto finish; - } - - func = (const char *(*)(void)) lt_dlsym (module, "hello"); - if (!func) { - fprintf (stderr, "error fetching func: %s\n", lt_dlerror()); - goto finish; - } - - printf ("%s\n", (*func) ()); - status = 0; - -finish: - if (lt_dlexit() != 0) { - fprintf (stderr, "error during finalisation: %s\n", lt_dlerror()); - status = 1; - } - - return status; -} -_ATEOF - - - -cat >Makefile <<'_ATEOF' -top_builddir = . -LIBTOOL = ./sub/ltdl/libtool -INCLUDES = -I./sub/ltdl -MODFLAGS = -module -avoid-version -no-undefined - -LTCOMPILE = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile \ - $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LTLINK = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=link \ - $(CC) $(CFLAGS) $(LDFLAGS) - -TARGETS = sub/ltdl/libltdlc.la module.la ltdldemo$(EXEEXT) - -all: $(TARGETS) - -sub/ltdl/libltdlc.la: $(LIBTOOL) sub/ltdl/Makefile - MAKE='$(MAKE)'; test -n "$$MAKE" || MAKE=make; \ - cd sub/ltdl && $$MAKE CC="$(CC)" LIBTOOLFLAGS="$(LIBTOOLFLAGS)" \ - CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ - CONFIGURE_OPTIONS="$(CONFIGURE_OPTIONS)" - -$(LIBTOOL): sub/ltdl/Makefile - -sub/ltdl/Makefile: - cd sub/ltdl && CONFIG_SHELL="$(SHELL)" $(SHELL) ./configure $(CONFIGURE_OPTIONS) - -ltdldemo$(EXEEXT): $(LIBTOOL) module.la sub/ltdl/libltdlc.la main.lo - $(LTLINK) -o ltdldemo$(EXEEXT) main.lo -dlopen module.la ./sub/ltdl/libltdlc.la - -main.lo: $(LIBTOOL) main.c - $(LTCOMPILE) -c main.c - -module.la: $(LIBTOOL) module.lo - $(LTLINK) -o module.la module.lo $(MODFLAGS) -rpath /dev/null - -module.lo: $(LIBTOOL) module.c - $(LTCOMPILE) -c module.c -_ATEOF - -cat >> Makefile <>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:114" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -lt_exe=./ltdldemo; if test -f "./ltdldemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/subproject.at:118: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "subproject.at:118" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/subproject.at:118" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_129 -#AT_START_130 -at_fn_group_banner 130 'nonrecursive.at:79' \ - "compiling softlinked libltdl" " " 15 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "130. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([ltdl/config]) -AC_CONFIG_MACRO_DIRS([ltdl/m4]) -AC_CONFIG_LIBOBJ_DIR([ltdl]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign subdir-objects]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT -LTDL_INIT([nonrecursive]) -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I ltdl/m4 -AUTOMAKE_OPTIONS = 1.9.6 -BUILT_SOURCES = - -AM_CPPFLAGS = -AM_LDFLAGS = - -include_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = foo.la -EXTRA_LTLIBRARIES = - -EXTRA_DIST = - -CLEANFILES = -MOSTLYCLEANFILES = - -include ltdl/ltdl.mk - -foo_la_LDFLAGS = -module -avoid-version -no-undefined -foo_la_SOURCES = foo.c -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -$LIBTOOLIZE --ltdl - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:84: if test -f ltdl/configure.ac; then false; fi" -at_fn_check_prepare_trace "nonrecursive.at:84" -( $at_check_trace; if test -f ltdl/configure.ac; then false; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:84" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Support vanilla autoconf-2.59 & automake-1.9.6 -for file in lt__argz.c lt__dirent.c lt__strl.c; do - cp ltdl/$file $file -done - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I ltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/nonrecursive.at:91: \$ACLOCAL -I ltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:91" -( $at_check_trace; $ACLOCAL -I ltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:91: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:91" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:91: \$AUTOMAKE --add-missing --copy" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:91" -( $at_check_trace; $AUTOMAKE --add-missing --copy -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/nonrecursive.at:91: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:91" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/nonrecursive.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:91: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:91" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:91: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "nonrecursive.at:91" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all $tst_dist -do - { set +x -$as_echo "$at_srcdir/nonrecursive.at:91: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.at:91" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:91" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:94: test -f ltdl/libltdlc.la" -at_fn_check_prepare_trace "nonrecursive.at:94" -( $at_check_trace; test -f ltdl/libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:94" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_130 -#AT_START_131 -at_fn_group_banner 131 'nonrecursive.at:103' \ - "compiling copied libltdl" " " 15 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "131. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([ltdl/config]) -AC_CONFIG_MACRO_DIRS([ltdl/m4]) -AC_CONFIG_LIBOBJ_DIR([ltdl]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign subdir-objects]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT -LTDL_INIT([nonrecursive]) -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I ltdl/m4 -AUTOMAKE_OPTIONS = 1.9.6 -BUILT_SOURCES = - -AM_CPPFLAGS = -AM_LDFLAGS = - -include_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = foo.la -EXTRA_LTLIBRARIES = - -EXTRA_DIST = - -CLEANFILES = -MOSTLYCLEANFILES = - -include ltdl/ltdl.mk - -foo_la_LDFLAGS = -module -avoid-version -no-undefined -foo_la_SOURCES = foo.c -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -$LIBTOOLIZE --copy --ltdl - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:108: if test -f ltdl/configure.ac; then false; fi" -at_fn_check_prepare_trace "nonrecursive.at:108" -( $at_check_trace; if test -f ltdl/configure.ac; then false; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:108" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Support vanilla autoconf-2.59 & automake-1.9.6 -for file in lt__argz.c lt__dirent.c lt__strl.c; do - cp ltdl/$file $file -done - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I ltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/nonrecursive.at:115: \$ACLOCAL -I ltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:115" -( $at_check_trace; $ACLOCAL -I ltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:115: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:115" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:115: \$AUTOMAKE --add-missing --copy" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:115" -( $at_check_trace; $AUTOMAKE --add-missing --copy -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/nonrecursive.at:115: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:115" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/nonrecursive.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:115: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:115" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:115: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "nonrecursive.at:115" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all $tst_dist -do - { set +x -$as_echo "$at_srcdir/nonrecursive.at:115: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.at:115" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:118: test -f ltdl/libltdlc.la" -at_fn_check_prepare_trace "nonrecursive.at:118" -( $at_check_trace; test -f ltdl/libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:118" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_131 -#AT_START_132 -at_fn_group_banner 132 'nonrecursive.at:127' \ - "installable libltdl" " " 15 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "132. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([ltdl/config]) -AC_CONFIG_MACRO_DIRS([ltdl/m4]) -AC_CONFIG_LIBOBJ_DIR([ltdl]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign subdir-objects]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT -LTDL_INIT([nonrecursive]) -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I ltdl/m4 -AUTOMAKE_OPTIONS = 1.9.6 -BUILT_SOURCES = - -AM_CPPFLAGS = -AM_LDFLAGS = - -include_HEADERS = -noinst_LTLIBRARIES = -lib_LTLIBRARIES = foo.la -EXTRA_LTLIBRARIES = - -EXTRA_DIST = - -CLEANFILES = -MOSTLYCLEANFILES = - -include ltdl/ltdl.mk - -foo_la_LDFLAGS = -module -avoid-version -no-undefined -foo_la_SOURCES = foo.c -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -prefix=`pwd`/_inst - -$LIBTOOLIZE --copy --ltdl - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:134: if test -f ltdl/configure.ac; then false; fi" -at_fn_check_prepare_trace "nonrecursive.at:134" -( $at_check_trace; if test -f ltdl/configure.ac; then false; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:134" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Support vanilla autoconf-2.59 & automake-1.9.6 -for file in lt__argz.c lt__dirent.c lt__strl.c; do - cp ltdl/$file $file -done - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I ltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/nonrecursive.at:141: \$ACLOCAL -I ltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I ltdl/m4$macro_dir" "nonrecursive.at:141" -( $at_check_trace; $ACLOCAL -I ltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:141: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "nonrecursive.at:141" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:141: \$AUTOMAKE --add-missing --copy" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing --copy" "nonrecursive.at:141" -( $at_check_trace; $AUTOMAKE --add-missing --copy -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/nonrecursive.at:141: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "nonrecursive.at:141" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/nonrecursive.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:141: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "nonrecursive.at:141" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:141: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "nonrecursive.at:141" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all install $tst_dist -do - { set +x -$as_echo "$at_srcdir/nonrecursive.at:141: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "nonrecursive.at:141" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:141" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:144: test -f \"\$prefix/lib/libltdl.la\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "nonrecursive.at:144" -( $at_check_trace; test -f "$prefix/lib/libltdl.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:144" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/nonrecursive.at:145: test -f \"\$prefix/include/ltdl.h\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "nonrecursive.at:145" -( $at_check_trace; test -f "$prefix/include/ltdl.h" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/nonrecursive.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_132 -#AT_START_133 -at_fn_group_banner 133 'recursive.at:61' \ - "compiling softlinked libltdl" " " 16 -at_xfail=no - case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac && at_xfail=yes -( - $as_echo "133. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([ltdl/config]) -AC_CONFIG_MACRO_DIRS([ltdl/m4]) -AC_CONFIG_LIBOBJ_DIR([ltdl]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT -LTDL_INIT([recursive]) -AC_CONFIG_FILES([Makefile ltdl/Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I ltdl/m4 -AUTOMAKE_OPTIONS = 1.7 -SUBDIRS = ltdl -lib_LTLIBRARIES = foo.la -foo_la_LDFLAGS = -module -avoid-version -no-undefined -foo_la_SOURCES = foo.c -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -$LIBTOOLIZE --ltdl - - -{ set +x -$as_echo "$at_srcdir/recursive.at:66: if test -f ltdl/configure.ac; then false; fi" -at_fn_check_prepare_trace "recursive.at:66" -( $at_check_trace; if test -f ltdl/configure.ac; then false; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:66" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -{ set +x -$as_echo "$at_srcdir/recursive.at:68: \$AUTORECONF --force --verbose --install" -at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:68" -( $at_check_trace; $AUTORECONF --force --verbose --install -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:68" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/recursive.at:68: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:68" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/recursive.at:68" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/recursive.at:69: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "recursive.at:69" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:69" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all $tst_dist -do - { set +x -$as_echo "$at_srcdir/recursive.at:70: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:70" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:70" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -{ set +x -$as_echo "$at_srcdir/recursive.at:72: test -f ltdl/libltdlc.la" -at_fn_check_prepare_trace "recursive.at:72" -( $at_check_trace; test -f ltdl/libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:72" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_133 -#AT_START_134 -at_fn_group_banner 134 'recursive.at:81' \ - "compiling copied libltdl" " " 16 -at_xfail=no - case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac && at_xfail=yes -( - $as_echo "134. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([ltdl/config]) -AC_CONFIG_MACRO_DIRS([ltdl/m4]) -AC_CONFIG_LIBOBJ_DIR([ltdl]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT -LTDL_INIT([recursive]) -AC_CONFIG_FILES([Makefile ltdl/Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I ltdl/m4 -AUTOMAKE_OPTIONS = 1.7 -SUBDIRS = ltdl -lib_LTLIBRARIES = foo.la -foo_la_LDFLAGS = -module -avoid-version -no-undefined -foo_la_SOURCES = foo.c -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -$LIBTOOLIZE --copy --ltdl - - -{ set +x -$as_echo "$at_srcdir/recursive.at:86: if test -f ltdl/configure.ac; then false; fi" -at_fn_check_prepare_trace "recursive.at:86" -( $at_check_trace; if test -f ltdl/configure.ac; then false; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -{ set +x -$as_echo "$at_srcdir/recursive.at:88: \$AUTORECONF --force --verbose --install" -at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:88" -( $at_check_trace; $AUTORECONF --force --verbose --install -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:88" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/recursive.at:88: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:88" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/recursive.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/recursive.at:89: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "recursive.at:89" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:89" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all $tst_dist -do - { set +x -$as_echo "$at_srcdir/recursive.at:90: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:90" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:90" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -{ set +x -$as_echo "$at_srcdir/recursive.at:92: test -f ltdl/libltdlc.la" -at_fn_check_prepare_trace "recursive.at:92" -( $at_check_trace; test -f ltdl/libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:92" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_134 -#AT_START_135 -at_fn_group_banner 135 'recursive.at:101' \ - "installable libltdl" " " 16 -at_xfail=no - case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac && at_xfail=yes -( - $as_echo "135. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([subdirectory-demo], 2.4.7, bug-libtool@gnu.org) -LT_CONFIG_LTDL_DIR([ltdl]) -AC_CONFIG_AUX_DIR([ltdl/config]) -AC_CONFIG_MACRO_DIRS([ltdl/m4]) -AC_CONFIG_LIBOBJ_DIR([ltdl]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT -LTDL_INIT([recursive]) -AC_CONFIG_FILES([Makefile ltdl/Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -ACLOCAL_AMFLAGS = -I ltdl/m4 -AUTOMAKE_OPTIONS = 1.7 -SUBDIRS = ltdl -lib_LTLIBRARIES = foo.la -foo_la_LDFLAGS = -module -avoid-version -no-undefined -foo_la_SOURCES = foo.c -_ATEOF - - -echo 'int dummy = 0;' > foo.c - - -prefix=`pwd`/_inst - -$LIBTOOLIZE --copy --ltdl - - -{ set +x -$as_echo "$at_srcdir/recursive.at:108: if test -f ltdl/configure.ac; then false; fi" -at_fn_check_prepare_trace "recursive.at:108" -( $at_check_trace; if test -f ltdl/configure.ac; then false; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:108" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -{ set +x -$as_echo "$at_srcdir/recursive.at:110: \$AUTORECONF --force --verbose --install" -at_fn_check_prepare_dynamic "$AUTORECONF --force --verbose --install" "recursive.at:110" -( $at_check_trace; $AUTORECONF --force --verbose --install -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:110" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/recursive.at:110: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "recursive.at:110" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/recursive.at:110" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/recursive.at:111: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "recursive.at:111" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:111" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all install $tst_dist -do - { set +x -$as_echo "$at_srcdir/recursive.at:112: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "recursive.at:112" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:112" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -{ set +x -$as_echo "$at_srcdir/recursive.at:114: test -f \"\$prefix/lib/libltdl.la\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "recursive.at:114" -( $at_check_trace; test -f "$prefix/lib/libltdl.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:114" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/recursive.at:115: test -f \"\$prefix/include/ltdl.h\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "recursive.at:115" -( $at_check_trace; test -f "$prefix/include/ltdl.h" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/recursive.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_135 -#AT_START_136 -at_fn_group_banner 136 'tagdemo.at:339' \ - "static library" " " 17 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "136. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:341: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "tagdemo.at:341" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:341" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:341: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "tagdemo.at:341" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:341" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([tagdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE -AC_PROG_CC -AC_PROG_CPP -AC_PROG_CC_C_O -AC_PROG_CXX -AC_PROG_CXXCPP - -# Check for namespace support and new-style headers -AC_LANG_PUSH([C++]) -AC_MSG_CHECKING([whether the compiler implements namespaces]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], - [[using namespace A::B; return i;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_NAMESPACES],[1], - [define if the compiler implements namespaces])], - [AC_MSG_RESULT([no])]) - -AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include -#ifdef HAVE_NAMESPACES -using namespace std; -#endif ]], [[cout << "bingo\n"; return 0;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_IOSTREAM],[1], - [define if the compiler has ISO C++ iostream])], - [AC_MSG_RESULT([no])]) -AC_LANG_POP([C++]) - -AC_LANG([C++]) -LT_INIT - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libconv.la -lib_LTLIBRARIES = libfoo.la libbaz.la - -libfoo_la_SOURCES = foo.cpp -libfoo_la_LDFLAGS = -no-undefined -libfoo_la_LIBADD = libconv.la $(LIBM) - -# Test some of the ILD support when using tagged configurations. -libbaz_la_SOURCES = baz.cpp -libbaz_la_LDFLAGS = -no-undefined -libbaz_la_LIBADD = libfoo.la - -# Test convenience libraries. -libconv_la_SOURCES = conv.cpp -libconv_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h baz.h conv.h - -bin_PROGRAMS = tagdemo - -tagdemo_SOURCES = main.cpp -tagdemo_LDADD = libbaz.la libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.cpp <<'_ATEOF' -#include -#if HAVE_IOSTREAM -# include -#else -# include -#endif - -#include "foo.h" -#include "baz.h" -#include "conv.h" - -#if HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -int main (int, char *[]) -{ - cout << "Welcome to GNU libtool tagdemo C++!" << endl; - - foobar_derived FB; - // Instantiate the derived class. - - foobar *fb = &FB; - // Have some fun with polymorphism. - - int value = fb->hello(); - - cout << "foobar::hello returned: " << value << endl; - if (value = HELLO_RET) - cout << "foobar::hello is ok!" << endl; - - if (fb->foo() == FOO_RET) - cout << "foobar::foo is ok!" << endl; - - // -------------- - - barbaz_derived BB; - // Instantiate the derived class. - - barbaz *bb = &BB; - // Have some fun with polymorphism. - - // barbaz_derived::baz() should return FOO_RET since it calls - // foobar_derived::foo(), which in turn calls ::foo(). - if (bb->baz() == FOO_RET) - cout << "barbaz::baz is ok!" << endl; - - // -------------- - - if (convenience()) - cout << "convenience is ok!" << endl; - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H -// Silly constants that the functions return. -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -// Our C test functions. -extern "C" -{ - int foo(void); - int hello(void); -} - -// Our test C++ base class. -class foobar -{ -public: - virtual int foo(void) = 0; - virtual int hello(void) = 0; - // Some dummy pure virtual functions. -}; - - -// Our test C++ derived class. -class foobar_derived : public foobar -{ -public: - virtual int foo(void); - virtual int hello(void); - // Override the base class' pure virtual functions. -}; - -#endif -_ATEOF - - -cat >foo.cpp <<'_ATEOF' -#include -#ifdef HAVE_IOSTREAM -# include -#else -# include -#endif - -#ifdef HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -#include - -#include "foo.h" - -// Our C functions. -int -foo(void) -{ - cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; - return FOO_RET; -} - -int -hello(void) -{ - cout << "** This is libfoo (tagdemo) **" << endl; - return HELLO_RET; -} - - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -foobar_derived::foo(void) -{ - return ::foo(); -} - -int -foobar_derived::hello(void) -{ - return ::hello(); -} -_ATEOF - - -cat >baz.h <<'_ATEOF' -#ifndef BAZ_H -#define BAZ_H 1 - -// Our test C++ base class. -class barbaz -{ -public: - virtual int baz(void) = 0; - // Some dummy pure virtual functions. -}; - -// Our test C++ derived class. -class barbaz_derived : public barbaz -{ -public: - virtual int baz(void); - // Override the base class' pure virtual functions. -}; - -#endif -_ATEOF - - -cat >baz.cpp <<'_ATEOF' -#include - -#include "foo.h" -#include "baz.h" - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -barbaz_derived::baz(void) -{ - foobar_derived FB; - - return FB.foo(); -} -_ATEOF - - -cat >conv.h <<'_ATEOF' -#ifndef CONV_H -#define CONV_H - -// Our C test functions. -extern "C" -{ - int convenience(void); -} - -#endif -_ATEOF - - -cat >conv.cpp <<'_ATEOF' -#include - -#include "conv.h" - -//Our C function. -int convenience (void) { return 1; } -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU libtool tagdemo C++! -** This is libfoo (tagdemo) ** -foobar::hello returned: 57616 -foobar::hello is ok! -cos (0.0) = 1 -foobar::foo is ok! -cos (0.0) = 1 -barbaz::baz is ok! -convenience is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/tagdemo.at:343: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "tagdemo.at:343" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:343: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "tagdemo.at:343" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:343: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "tagdemo.at:343" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/tagdemo.at:343: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "tagdemo.at:343" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:343: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "tagdemo.at:343" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:343: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "tagdemo.at:343" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:343: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "tagdemo.at:343" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/tagdemo.at:343: \$EGREP '^build_libtool_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "tagdemo.at:343" -( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/tagdemo.at:345: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:345" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:345" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./tagdemo; if test -f "./tagdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/tagdemo.at:345: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "tagdemo.at:345" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:345" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_136 -#AT_START_137 -at_fn_group_banner 137 'tagdemo.at:354' \ - "shared library" " " 17 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "137. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:356: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "tagdemo.at:356" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:356" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:356: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "tagdemo.at:356" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:356" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([tagdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE -AC_PROG_CC -AC_PROG_CPP -AC_PROG_CC_C_O -AC_PROG_CXX -AC_PROG_CXXCPP - -# Check for namespace support and new-style headers -AC_LANG_PUSH([C++]) -AC_MSG_CHECKING([whether the compiler implements namespaces]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], - [[using namespace A::B; return i;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_NAMESPACES],[1], - [define if the compiler implements namespaces])], - [AC_MSG_RESULT([no])]) - -AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include -#ifdef HAVE_NAMESPACES -using namespace std; -#endif ]], [[cout << "bingo\n"; return 0;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_IOSTREAM],[1], - [define if the compiler has ISO C++ iostream])], - [AC_MSG_RESULT([no])]) -AC_LANG_POP([C++]) - -AC_LANG([C++]) -LT_INIT - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libconv.la -lib_LTLIBRARIES = libfoo.la libbaz.la - -libfoo_la_SOURCES = foo.cpp -libfoo_la_LDFLAGS = -no-undefined -libfoo_la_LIBADD = libconv.la $(LIBM) - -# Test some of the ILD support when using tagged configurations. -libbaz_la_SOURCES = baz.cpp -libbaz_la_LDFLAGS = -no-undefined -libbaz_la_LIBADD = libfoo.la - -# Test convenience libraries. -libconv_la_SOURCES = conv.cpp -libconv_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h baz.h conv.h - -bin_PROGRAMS = tagdemo - -tagdemo_SOURCES = main.cpp -tagdemo_LDADD = libbaz.la libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.cpp <<'_ATEOF' -#include -#if HAVE_IOSTREAM -# include -#else -# include -#endif - -#include "foo.h" -#include "baz.h" -#include "conv.h" - -#if HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -int main (int, char *[]) -{ - cout << "Welcome to GNU libtool tagdemo C++!" << endl; - - foobar_derived FB; - // Instantiate the derived class. - - foobar *fb = &FB; - // Have some fun with polymorphism. - - int value = fb->hello(); - - cout << "foobar::hello returned: " << value << endl; - if (value = HELLO_RET) - cout << "foobar::hello is ok!" << endl; - - if (fb->foo() == FOO_RET) - cout << "foobar::foo is ok!" << endl; - - // -------------- - - barbaz_derived BB; - // Instantiate the derived class. - - barbaz *bb = &BB; - // Have some fun with polymorphism. - - // barbaz_derived::baz() should return FOO_RET since it calls - // foobar_derived::foo(), which in turn calls ::foo(). - if (bb->baz() == FOO_RET) - cout << "barbaz::baz is ok!" << endl; - - // -------------- - - if (convenience()) - cout << "convenience is ok!" << endl; - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H -// Silly constants that the functions return. -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -// Our C test functions. -extern "C" -{ - int foo(void); - int hello(void); -} - -// Our test C++ base class. -class foobar -{ -public: - virtual int foo(void) = 0; - virtual int hello(void) = 0; - // Some dummy pure virtual functions. -}; - - -// Our test C++ derived class. -class foobar_derived : public foobar -{ -public: - virtual int foo(void); - virtual int hello(void); - // Override the base class' pure virtual functions. -}; - -#endif -_ATEOF - - -cat >foo.cpp <<'_ATEOF' -#include -#ifdef HAVE_IOSTREAM -# include -#else -# include -#endif - -#ifdef HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -#include - -#include "foo.h" - -// Our C functions. -int -foo(void) -{ - cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; - return FOO_RET; -} - -int -hello(void) -{ - cout << "** This is libfoo (tagdemo) **" << endl; - return HELLO_RET; -} - - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -foobar_derived::foo(void) -{ - return ::foo(); -} - -int -foobar_derived::hello(void) -{ - return ::hello(); -} -_ATEOF - - -cat >baz.h <<'_ATEOF' -#ifndef BAZ_H -#define BAZ_H 1 - -// Our test C++ base class. -class barbaz -{ -public: - virtual int baz(void) = 0; - // Some dummy pure virtual functions. -}; - -// Our test C++ derived class. -class barbaz_derived : public barbaz -{ -public: - virtual int baz(void); - // Override the base class' pure virtual functions. -}; - -#endif -_ATEOF - - -cat >baz.cpp <<'_ATEOF' -#include - -#include "foo.h" -#include "baz.h" - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -barbaz_derived::baz(void) -{ - foobar_derived FB; - - return FB.foo(); -} -_ATEOF - - -cat >conv.h <<'_ATEOF' -#ifndef CONV_H -#define CONV_H - -// Our C test functions. -extern "C" -{ - int convenience(void); -} - -#endif -_ATEOF - - -cat >conv.cpp <<'_ATEOF' -#include - -#include "conv.h" - -//Our C function. -int convenience (void) { return 1; } -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU libtool tagdemo C++! -** This is libfoo (tagdemo) ** -foobar::hello returned: 57616 -foobar::hello is ok! -cos (0.0) = 1 -foobar::foo is ok! -cos (0.0) = 1 -barbaz::baz is ok! -convenience is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/tagdemo.at:358: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "tagdemo.at:358" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:358: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "tagdemo.at:358" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:358: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "tagdemo.at:358" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/tagdemo.at:358: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "tagdemo.at:358" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:358" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:358: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "tagdemo.at:358" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:358: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "tagdemo.at:358" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:358: \$EGREP '^build_old_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "tagdemo.at:358" -( $at_check_trace; $EGREP '^build_old_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/tagdemo.at:358: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "tagdemo.at:358" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:358" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/tagdemo.at:360: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:360" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:360" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./tagdemo; if test -f "./tagdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/tagdemo.at:360: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "tagdemo.at:360" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:360" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_137 -#AT_START_138 -at_fn_group_banner 138 'tagdemo.at:369' \ - "shared and static together" " " 17 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "138. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:371: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "tagdemo.at:371" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:371" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:371: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "tagdemo.at:371" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:371" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([tagdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE -AC_PROG_CC -AC_PROG_CPP -AC_PROG_CC_C_O -AC_PROG_CXX -AC_PROG_CXXCPP - -# Check for namespace support and new-style headers -AC_LANG_PUSH([C++]) -AC_MSG_CHECKING([whether the compiler implements namespaces]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], - [[using namespace A::B; return i;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_NAMESPACES],[1], - [define if the compiler implements namespaces])], - [AC_MSG_RESULT([no])]) - -AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include -#ifdef HAVE_NAMESPACES -using namespace std; -#endif ]], [[cout << "bingo\n"; return 0;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_IOSTREAM],[1], - [define if the compiler has ISO C++ iostream])], - [AC_MSG_RESULT([no])]) -AC_LANG_POP([C++]) - -AC_LANG([C++]) -LT_INIT - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libconv.la -lib_LTLIBRARIES = libfoo.la libbaz.la - -libfoo_la_SOURCES = foo.cpp -libfoo_la_LDFLAGS = -no-undefined -libfoo_la_LIBADD = libconv.la $(LIBM) - -# Test some of the ILD support when using tagged configurations. -libbaz_la_SOURCES = baz.cpp -libbaz_la_LDFLAGS = -no-undefined -libbaz_la_LIBADD = libfoo.la - -# Test convenience libraries. -libconv_la_SOURCES = conv.cpp -libconv_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h baz.h conv.h - -bin_PROGRAMS = tagdemo - -tagdemo_SOURCES = main.cpp -tagdemo_LDADD = libbaz.la libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.cpp <<'_ATEOF' -#include -#if HAVE_IOSTREAM -# include -#else -# include -#endif - -#include "foo.h" -#include "baz.h" -#include "conv.h" - -#if HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -int main (int, char *[]) -{ - cout << "Welcome to GNU libtool tagdemo C++!" << endl; - - foobar_derived FB; - // Instantiate the derived class. - - foobar *fb = &FB; - // Have some fun with polymorphism. - - int value = fb->hello(); - - cout << "foobar::hello returned: " << value << endl; - if (value = HELLO_RET) - cout << "foobar::hello is ok!" << endl; - - if (fb->foo() == FOO_RET) - cout << "foobar::foo is ok!" << endl; - - // -------------- - - barbaz_derived BB; - // Instantiate the derived class. - - barbaz *bb = &BB; - // Have some fun with polymorphism. - - // barbaz_derived::baz() should return FOO_RET since it calls - // foobar_derived::foo(), which in turn calls ::foo(). - if (bb->baz() == FOO_RET) - cout << "barbaz::baz is ok!" << endl; - - // -------------- - - if (convenience()) - cout << "convenience is ok!" << endl; - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H -// Silly constants that the functions return. -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -// Our C test functions. -extern "C" -{ - int foo(void); - int hello(void); -} - -// Our test C++ base class. -class foobar -{ -public: - virtual int foo(void) = 0; - virtual int hello(void) = 0; - // Some dummy pure virtual functions. -}; - - -// Our test C++ derived class. -class foobar_derived : public foobar -{ -public: - virtual int foo(void); - virtual int hello(void); - // Override the base class' pure virtual functions. -}; - -#endif -_ATEOF - - -cat >foo.cpp <<'_ATEOF' -#include -#ifdef HAVE_IOSTREAM -# include -#else -# include -#endif - -#ifdef HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -#include - -#include "foo.h" - -// Our C functions. -int -foo(void) -{ - cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; - return FOO_RET; -} - -int -hello(void) -{ - cout << "** This is libfoo (tagdemo) **" << endl; - return HELLO_RET; -} - - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -foobar_derived::foo(void) -{ - return ::foo(); -} - -int -foobar_derived::hello(void) -{ - return ::hello(); -} -_ATEOF - - -cat >baz.h <<'_ATEOF' -#ifndef BAZ_H -#define BAZ_H 1 - -// Our test C++ base class. -class barbaz -{ -public: - virtual int baz(void) = 0; - // Some dummy pure virtual functions. -}; - -// Our test C++ derived class. -class barbaz_derived : public barbaz -{ -public: - virtual int baz(void); - // Override the base class' pure virtual functions. -}; - -#endif -_ATEOF - - -cat >baz.cpp <<'_ATEOF' -#include - -#include "foo.h" -#include "baz.h" - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -barbaz_derived::baz(void) -{ - foobar_derived FB; - - return FB.foo(); -} -_ATEOF - - -cat >conv.h <<'_ATEOF' -#ifndef CONV_H -#define CONV_H - -// Our C test functions. -extern "C" -{ - int convenience(void); -} - -#endif -_ATEOF - - -cat >conv.cpp <<'_ATEOF' -#include - -#include "conv.h" - -//Our C function. -int convenience (void) { return 1; } -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU libtool tagdemo C++! -** This is libfoo (tagdemo) ** -foobar::hello returned: 57616 -foobar::hello is ok! -cos (0.0) = 1 -foobar::foo is ok! -cos (0.0) = 1 -barbaz::baz is ok! -convenience is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/tagdemo.at:373: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "tagdemo.at:373" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:373: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "tagdemo.at:373" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:373: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "tagdemo.at:373" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/tagdemo.at:373: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "tagdemo.at:373" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:373: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "tagdemo.at:373" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:373: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "tagdemo.at:373" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:373: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "tagdemo.at:373" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/tagdemo.at:373: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "tagdemo.at:373" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/tagdemo.at:375: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:375" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:375" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./tagdemo; if test -f "./tagdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/tagdemo.at:375: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "tagdemo.at:375" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:375" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_138 -#AT_START_139 -at_fn_group_banner 139 'tagdemo.at:384' \ - "allow_undefined_flag" " " 17 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "139. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:386: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "tagdemo.at:386" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:386" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:386: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "tagdemo.at:386" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:386" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([tagdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIRS([m4]) -AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE -AC_PROG_CC -AC_PROG_CPP -AC_PROG_CC_C_O -AC_PROG_CXX -AC_PROG_CXXCPP - -# Check for namespace support and new-style headers -AC_LANG_PUSH([C++]) -AC_MSG_CHECKING([whether the compiler implements namespaces]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[namespace A { namespace B { int i = 0; }}]], - [[using namespace A::B; return i;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_NAMESPACES],[1], - [define if the compiler implements namespaces])], - [AC_MSG_RESULT([no])]) - -AC_MSG_CHECKING([whether the compiler has ISO C++ iostream]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include -#ifdef HAVE_NAMESPACES -using namespace std; -#endif ]], [[cout << "bingo\n"; return 0;]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_IOSTREAM],[1], - [define if the compiler has ISO C++ iostream])], - [AC_MSG_RESULT([no])]) -AC_LANG_POP([C++]) - -AC_LANG([C++]) -LT_INIT - -LT_LIB_M -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -noinst_LTLIBRARIES = libconv.la -lib_LTLIBRARIES = libfoo.la libbaz.la - -libfoo_la_SOURCES = foo.cpp -libfoo_la_LDFLAGS = -no-undefined -libfoo_la_LIBADD = libconv.la $(LIBM) - -# Test some of the ILD support when using tagged configurations. -libbaz_la_SOURCES = baz.cpp -libbaz_la_LDFLAGS = -no-undefined -libbaz_la_LIBADD = libfoo.la - -# Test convenience libraries. -libconv_la_SOURCES = conv.cpp -libconv_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h baz.h conv.h - -bin_PROGRAMS = tagdemo - -tagdemo_SOURCES = main.cpp -tagdemo_LDADD = libbaz.la libfoo.la - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >main.cpp <<'_ATEOF' -#include -#if HAVE_IOSTREAM -# include -#else -# include -#endif - -#include "foo.h" -#include "baz.h" -#include "conv.h" - -#if HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -int main (int, char *[]) -{ - cout << "Welcome to GNU libtool tagdemo C++!" << endl; - - foobar_derived FB; - // Instantiate the derived class. - - foobar *fb = &FB; - // Have some fun with polymorphism. - - int value = fb->hello(); - - cout << "foobar::hello returned: " << value << endl; - if (value = HELLO_RET) - cout << "foobar::hello is ok!" << endl; - - if (fb->foo() == FOO_RET) - cout << "foobar::foo is ok!" << endl; - - // -------------- - - barbaz_derived BB; - // Instantiate the derived class. - - barbaz *bb = &BB; - // Have some fun with polymorphism. - - // barbaz_derived::baz() should return FOO_RET since it calls - // foobar_derived::foo(), which in turn calls ::foo(). - if (bb->baz() == FOO_RET) - cout << "barbaz::baz is ok!" << endl; - - // -------------- - - if (convenience()) - cout << "convenience is ok!" << endl; - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef FOO_H -#define FOO_H -// Silly constants that the functions return. -#define HELLO_RET 0xe110 -#define FOO_RET 0xf00 - -// Our C test functions. -extern "C" -{ - int foo(void); - int hello(void); -} - -// Our test C++ base class. -class foobar -{ -public: - virtual int foo(void) = 0; - virtual int hello(void) = 0; - // Some dummy pure virtual functions. -}; - - -// Our test C++ derived class. -class foobar_derived : public foobar -{ -public: - virtual int foo(void); - virtual int hello(void); - // Override the base class' pure virtual functions. -}; - -#endif -_ATEOF - - -cat >foo.cpp <<'_ATEOF' -#include -#ifdef HAVE_IOSTREAM -# include -#else -# include -#endif - -#ifdef HAVE_NAMESPACES -namespace std { } -using namespace std; -#endif - -#include - -#include "foo.h" - -// Our C functions. -int -foo(void) -{ - cout << "cos (0.0) = " << (double) cos ((double) 0.0) << endl; - return FOO_RET; -} - -int -hello(void) -{ - cout << "** This is libfoo (tagdemo) **" << endl; - return HELLO_RET; -} - - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -foobar_derived::foo(void) -{ - return ::foo(); -} - -int -foobar_derived::hello(void) -{ - return ::hello(); -} -_ATEOF - - -cat >baz.h <<'_ATEOF' -#ifndef BAZ_H -#define BAZ_H 1 - -// Our test C++ base class. -class barbaz -{ -public: - virtual int baz(void) = 0; - // Some dummy pure virtual functions. -}; - -// Our test C++ derived class. -class barbaz_derived : public barbaz -{ -public: - virtual int baz(void); - // Override the base class' pure virtual functions. -}; - -#endif -_ATEOF - - -cat >baz.cpp <<'_ATEOF' -#include - -#include "foo.h" -#include "baz.h" - -// -------------------------------------------------------------------- -// Our C++ derived class methods. - - -int -barbaz_derived::baz(void) -{ - foobar_derived FB; - - return FB.foo(); -} -_ATEOF - - -cat >conv.h <<'_ATEOF' -#ifndef CONV_H -#define CONV_H - -// Our C test functions. -extern "C" -{ - int convenience(void); -} - -#endif -_ATEOF - - -cat >conv.cpp <<'_ATEOF' -#include - -#include "conv.h" - -//Our C function. -int convenience (void) { return 1; } -_ATEOF - - -cat >expout <<'_ATEOF' -Welcome to GNU libtool tagdemo C++! -** This is libfoo (tagdemo) ** -foobar::hello returned: 57616 -foobar::hello is ok! -cos (0.0) = 1 -foobar::foo is ok! -cos (0.0) = 1 -barbaz::baz is ok! -convenience is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - -prefix=`pwd`/_inst - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/tagdemo.at:388: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "tagdemo.at:388" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:388: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "tagdemo.at:388" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:388: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "tagdemo.at:388" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/tagdemo.at:388: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "tagdemo.at:388" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:388: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "tagdemo.at:388" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:388: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "tagdemo.at:388" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:388" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/tagdemo.at:390: \$GREP \"^allow_undefined_flag=.\\{0,1\\}unsupported.\\{0,1\\}\$\" libtool && (exit 77)" -at_fn_check_prepare_dynamic "$GREP \"^allow_undefined_flag=.\\{0,1\\}unsupported.\\{0,1\\}$\" libtool && (exit 77)" "tagdemo.at:390" -( $at_check_trace; $GREP "^allow_undefined_flag=.\{0,1\}unsupported.\{0,1\}$" libtool && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/tagdemo.at:390" -$at_failed && at_fn_log_failure -$at_traceon; } - -$SED 's|allow_undefined=no|allow_undefined=yes|g' libtool > ltnew && mv -f ltnew libtool -for target in all -do - { set +x -$as_echo "$at_srcdir/tagdemo.at:393: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "tagdemo.at:393" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:393" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -lt_exe=./tagdemo; if test -f "./tagdemo$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/tagdemo.at:393: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "tagdemo.at:393" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/tagdemo.at:393" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_139 -#AT_START_140 -at_fn_group_banner 140 'template.at:28' \ - "simple template test" " " 18 -at_xfail=no -( - $as_echo "140. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/template.at:29: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "template.at:29" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:29" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:29: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "template.at:29" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:29" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >aclib.h <<'_ATEOF' -int cf(int); -_ATEOF - - -cat >aclib.cpp <<'_ATEOF' -#include "aclib.h" -template - -T cq(T b) -{ - return b * 3; -} - -int cf(int i) -{ - return cq(i); -} -_ATEOF - - -cat >alib.h <<'_ATEOF' -int f(int); -_ATEOF - - -cat >alib.cpp <<'_ATEOF' -#include "alib.h" - -template -T q(T b) -{ - return b * 2; -} - -int f(int i) -{ - return q(i); -} -_ATEOF - - -cat >prog.cpp <<'_ATEOF' -#include "alib.h" -#include "aclib.h" - -int main() -{ - return f(3) + 3 - cf(3) != 0; -} -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/template.at:80: \$LIBTOOL --tag=CXX --mode=compile \$CXX -I. \$CPPFLAGS \$CXXFLAGS -c -o alib.lo alib.cpp" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o alib.lo alib.cpp" "template.at:80" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o alib.lo alib.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:80" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:82: \$LIBTOOL --tag=CXX --mode=compile \$CXX -I. \$CPPFLAGS \$CXXFLAGS -c -o aclib.lo aclib.cpp" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o aclib.lo aclib.cpp" "template.at:82" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX -I. $CPPFLAGS $CXXFLAGS -c -o aclib.lo aclib.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:82" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:84: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CPPFLAGS \$CXXFLAGS \$LDFLAGS -o libaclib.la aclib.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libaclib.la aclib.lo" "template.at:84" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libaclib.la aclib.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:84" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:86: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CPPFLAGS \$CXXFLAGS \$LDFLAGS -o libalib.la -rpath /nonexistent alib.lo libaclib.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libalib.la -rpath /nonexistent alib.lo libaclib.la" "template.at:86" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o libalib.la -rpath /nonexistent alib.lo libaclib.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:88: \$CXX -I. \$CPPFLAGS \$CXXFLAGS -c prog.cpp" -at_fn_check_prepare_dynamic "$CXX -I. $CPPFLAGS $CXXFLAGS -c prog.cpp" "template.at:88" -( $at_check_trace; $CXX -I. $CPPFLAGS $CXXFLAGS -c prog.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:90: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CPPFLAGS \$CXXFLAGS \$LDFLAGS -o prog\$EXEEXT prog.\$OBJEXT libalib.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o prog$EXEEXT prog.$OBJEXT libalib.la" "template.at:90" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CPPFLAGS $CXXFLAGS $LDFLAGS -o prog$EXEEXT prog.$OBJEXT libalib.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:90" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./prog; if test -f "./prog$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/template.at:93: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:93" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:93" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_140 -#AT_START_141 -at_fn_group_banner 141 'template.at:127' \ - "template test with subdirs" " " 18 -at_xfail=no -( - $as_echo "141. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/template.at:128: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "template.at:128" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:128" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:128: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "template.at:128" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:128" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -noskip=: -withundef=: -# Mac OS X. -# The linker has issues with this test. -case $host in -*-darwin*) noskip=false ;; -*-aix*) withundef=false ;; -esac - - -CPPFLAGS="$CPPFLAGS -I../src/lib -I../src/lib2" - -mkdir src obj -( cd src; mkdir lib lib2 sub ) -( cd obj; mkdir lib lib2 sub ) - -cat >src/lib/a.hh <<'_ATEOF' -template -unsigned int a(const T&); - -template -unsigned int a(const T& t) -{ - return sizeof t; -} - -extern int a2(char t); - -inline int a3(const double* t) -{ - return a(t); -} -_ATEOF - - -cat >src/lib/a.cpp <<'_ATEOF' -#include "a.hh" - -int a2(char t) -{ - return a(t); -} -_ATEOF - - -cat >src/lib2/b.hh <<'_ATEOF' -#include "a.hh" - -template -unsigned int b(T& t) -{ - return a(t); -} -extern int b2(char* t); -struct bs { int bi; }; -extern int b3(bs t); -_ATEOF - - -cat >src/lib2/b.cpp <<'_ATEOF' -#include "b.hh" - -int b2(char* t) -{ - return a2(t[0]); -} - -int b3(bs t) -{ - return b(t); -} -_ATEOF - - -cat >src/sub/main.cpp <<'_ATEOF' -#include "b.hh" - -int main() -{ - double foo; - const char s = ' '; - char d; - char *t = &d; - return b(foo) + a3(&foo) + b2(t) - a(s) - - (sizeof(double) + sizeof(double*)); -} -_ATEOF - - -cd obj - -# If the compiler supports -c -o, we want to use it: -# it may make a difference for templates -eval `$LIBTOOL --tag=CXX --config | $GREP ^compiler_c_o=` -case $compiler_c_o in -yes) - main_o=sub/main.$OBJEXT - { set +x -$as_echo "$at_srcdir/template.at:223: \$CXX \$CPPFLAGS \$CXXFLAGS -c -o \$main_o ../src/sub/main.cpp" -at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c -o $main_o ../src/sub/main.cpp" "template.at:223" -( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c -o $main_o ../src/sub/main.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:223" -$at_failed && at_fn_log_failure -$at_traceon; } - - ;; -*) - main_o=main.$OBJEXT - { set +x -$as_echo "$at_srcdir/template.at:228: \$CXX \$CPPFLAGS \$CXXFLAGS -c ../src/sub/main.cpp" -at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp" "template.at:228" -( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - - ;; -esac - -{ set +x -$as_echo "$at_srcdir/template.at:233: \$LIBTOOL --tag=CXX --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp" "template.at:233" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib/a.lo ../src/lib/a.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:233" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:235: \$LIBTOOL --tag=CXX --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp" "template.at:235" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS -c -o lib2/b.lo ../src/lib2/b.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:235" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:237: \$CXX \$CPPFLAGS \$CXXFLAGS -c ../src/sub/main.cpp" -at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp" "template.at:237" -( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -c ../src/sub/main.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:237" -$at_failed && at_fn_log_failure -$at_traceon; } - -# both convenience -{ set +x -$as_echo "$at_srcdir/template.at:240: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib/liba.la lib/a.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo" "template.at:240" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:240" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:242: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo" "template.at:242" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:242" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:244: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la lib/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la" "template.at:244" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:244" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/template.at:246: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != ignore && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != ignore && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:246" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != ignore && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_skip $at_status "$at_srcdir/template.at:246" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# lib convenience -if $noskip && $withundef; then - { set +x -$as_echo "$at_srcdir/template.at:249: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo" "template.at:249" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:249" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/template.at:251: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la lib/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la" "template.at:251" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:251" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/template.at:253: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:253" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:253" -$at_failed && at_fn_log_failure -$at_traceon; } - - -fi - -# both installed -{ set +x -$as_echo "$at_srcdir/template.at:257: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo" "template.at:257" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -rpath /foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:257" -$at_failed && at_fn_log_failure -$at_traceon; } - -if $withundef; then - { set +x -$as_echo "$at_srcdir/template.at:260: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar" "template.at:260" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo -rpath /bar -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:260" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/template.at:262: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la lib/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la" "template.at:262" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la lib/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:262" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/template.at:264: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:264" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:264" -$at_failed && at_fn_log_failure -$at_traceon; } - - -fi - -# both convenience, libb depending on liba -{ set +x -$as_echo "$at_srcdir/template.at:268: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib/liba.la lib/a.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo" "template.at:268" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib/liba.la lib/a.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:268" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:270: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la" "template.at:270" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:270" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/template.at:272: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la" "template.at:272" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:272" -$at_failed && at_fn_log_failure -$at_traceon; } - -lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/template.at:274: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:274" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:274" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# lib convenience -if $noskip; then - - { set +x -$as_echo "$at_srcdir/template.at:278: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo" "template.at:278" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /foo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:278" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/template.at:280: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la" "template.at:280" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:280" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/template.at:282: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:282" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:282" -$at_failed && at_fn_log_failure -$at_traceon; } - - -fi -# both installed -if $noskip; then - { set +x -$as_echo "$at_srcdir/template.at:286: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar" "template.at:286" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o lib2/libb.la lib2/b.lo lib/liba.la -rpath /bar -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:286" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/template.at:288: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS -o sub/main\$EXEEXT \$main_o lib2/libb.la" -at_fn_check_prepare_dynamic "$LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la" "template.at:288" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS -o sub/main$EXEEXT $main_o lib2/libb.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/template.at:288" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./sub/main; if test -f "./sub/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/template.at:290: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "template.at:290" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:290" -$at_failed && at_fn_log_failure -$at_traceon; } - - -fi - -cd .. - -{ set +x -$as_echo "$at_srcdir/template.at:295: \$noskip || (exit 77)" -at_fn_check_prepare_dynamic "$noskip || (exit 77)" "template.at:295" -( $at_check_trace; $noskip || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/template.at:295" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_141 -#AT_START_142 -at_fn_group_banner 142 'ctor.at:28' \ - "C++ static constructors" " " 19 -at_xfail=no -( - $as_echo "142. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/ctor.at:29: { test -n \"\$CXX\" && test \"X\$CXX\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$CXX\" && test \"X$CXX\" != Xno; } || (exit 77)" "ctor.at:29" -( $at_check_trace; { test -n "$CXX" && test "X$CXX" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:29" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ctor.at:29: test g++ != \"\$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" -at_fn_check_prepare_dynamic "test g++ != \"$CXX\" || (g++ -v >/dev/null 2>&1) || (exit 77)" "ctor.at:29" -( $at_check_trace; test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:29" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >class.h <<'_ATEOF' -#define magic 0xaabbccdd -class Foo { -public: - Foo() { bar = magic; } - unsigned bar; -}; - -extern Foo instance; -_ATEOF - - -cat >libctor.cpp <<'_ATEOF' -#include "class.h" -Foo instance; -_ATEOF - - -cat >main.cpp <<'_ATEOF' -#include "class.h" - -int main(void) -{ - return instance.bar != magic; -} -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/ctor.at:57: \$LIBTOOL --tag=CXX --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS \\ - -c libctor.cpp -o libctor.lo" -at_fn_check_prepare_notrace 'an embedded newline' "ctor.at:57" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS \ - -c libctor.cpp -o libctor.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:57" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ctor.at:59: \$LIBTOOL --tag=CXX --mode=compile \$CXX \$CPPFLAGS \$CXXFLAGS \\ - -c main.cpp -o main.lo" -at_fn_check_prepare_notrace 'an embedded newline' "ctor.at:59" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=compile $CXX $CPPFLAGS $CXXFLAGS \ - -c main.cpp -o main.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:59" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ctor.at:61: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS \\ - libctor.lo -o libctor.la -rpath /none" -at_fn_check_prepare_notrace 'an embedded newline' "ctor.at:61" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS \ - libctor.lo -o libctor.la -rpath /none -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:61" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/ctor.at:63: \$LIBTOOL --tag=CXX --mode=link \$CXX \$CXXFLAGS \$LDFLAGS \\ - main.lo libctor.la -o main\$EXEEXT" -at_fn_check_prepare_notrace 'an embedded newline' "ctor.at:63" -( $at_check_trace; $LIBTOOL --tag=CXX --mode=link $CXX $CXXFLAGS $LDFLAGS \ - main.lo libctor.la -o main$EXEEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:63" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/ctor.at:66: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "ctor.at:66" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/ctor.at:66" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_142 -#AT_START_143 -at_fn_group_banner 143 'exceptions.at:24' \ - "C++ exception handling" " " 19 -at_xfail=no -( - $as_echo "143. $at_setup_line: testing $at_desc ..." - $at_traceon - - - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/exceptions.at:33: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "exceptions.at:33" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:33" -$at_failed && at_fn_log_failure -$at_traceon; } - - -CPPFLAGS="$LTDLINCL $CPPFLAGS" - -# Win32 (and cygwin) notes -# ------------------------ -# When using C++ and Win32 DLLs, data types used in the DLL's interface -# that are other-than-POD, must have vtables, typeinfo, and other -# elements resolved when the client is linked. This includes exception -# classes. Therefore, the exception class "modexc" thrown by the -# dynamically-loaded module must be defined in a separate DLL, to which -# both that module and main must be directly linked; hence, the 'common' -# library. Not using a 'common' library in this manner represents an -# ODR violation, unless the platform's runtime loader is capable of -# rationalizing vague linkage items such as vtables, typeinfo, and -# typename elements) at runtime. The Win32 loader is not capable of -# this, but some ELF loaders appear to be. -# -# Similar treatment is not necessary for liba (e.g. the libexc -# exception class), because that library is not dynamically loaded. As a -# consequence, vague linkage items for the class libexc are resolved at -# link time using the vague linkage rules, for both Win32 and other -# (e.g. ELF) platforms. -# -# Also, when linking a C++ DLL with another C++ DLL, some versions of -# the GNU toolchain on Win32 (or cygwin) mistakenly re-export symbols -# that were imported from the other DLL, when the client DLL is linked -# using -export-all-symbols. Similar issues MAY also arise with those -# versions of the GNU toolchain if using the libtool link flags -# -export-symbols LIST or -export-symbols-regex REGEX, if any symbols -# from the dependency, rather than client, library are listed (or match -# the regex). However, in this test, none of these situations apply, -# so we don't directly address it. Otherwise, the correct mechanism -# would be to avoid all of those flags, and instead explicitly decorate -# all symbols with appropriate __declspec (dllexport) or -# __declspec (dllimport) flags when building the DLLs and the clients. -# -# For more information, see these two threads: -# http://lists.gnu.org/archive/html/bug-libtool/2010-06/msg00069.html -# http://cygwin.com/ml/cygwin/2010-06/msg00392.html -# To sum up: C++ is complicated. -cat >common.h <<'_ATEOF' -#ifndef LIBTOOL_TEST_COMMON_HEADER -#define LIBTOOL_TEST_COMMON_HEADER - -#include -#include - -#if defined __CYGWIN__ || defined _WIN32 -# if defined DLL_EXPORT || defined USING_COMMON_DLL -# if defined LIBTOOL_TEST_IN_COMMON -# define COMMON_IMPEXP __declspec (dllexport) -# else -# define COMMON_IMPEXP __declspec (dllimport) -# endif -# else -# define COMMON_IMPEXP -# endif -#else -# define COMMON_IMPEXP -#endif - -class COMMON_IMPEXP modexc : public std::exception { -public: - modexc (std::string str) : message (str) { } - ~modexc () throw () { } - virtual const char *what () const throw () - { - return message.c_str (); - } -private: - std::string message; -}; - -extern "C" int COMMON_IMPEXP common_dummy (void); -#endif -_ATEOF - - -cat >common.cpp <<'_ATEOF' -#define LIBTOOL_TEST_IN_COMMON -#include "common.h" - -extern "C" -int common_dummy (void) -{ - return 0; -} -_ATEOF - - -cat >module.h <<'_ATEOF' -#include "common.h" - -#if defined __CYGWIN__ || defined _WIN32 -# if defined DLL_EXPORT || defined USING_MODULE_DLL -# if defined LIBTOOL_TEST_IN_MODULE -# define MODULE_IMPEXP __declspec (dllexport) -# else -# define MODULE_IMPEXP __declspec (dllimport) -# endif -# else -# define MODULE_IMPEXP -# endif -#else -# define MODULE_IMPEXP -#endif - -extern "C" int MODULE_IMPEXP modfoo () throw (modexc); -_ATEOF - - -cat >module.cpp <<'_ATEOF' -#include -#define LIBTOOL_TEST_IN_MODULE -#include "module.h" - -int modbar (void) throw (modexc) -{ - throw modexc ("exception in module"); -} - -extern "C" -int modfoo (void) throw (modexc) -{ - try { - modbar (); - } - catch (modexc e) { - std::cerr << "caught inside module: " << e.what () << '\n'; - throw modexc ("exception from module"); - } - return 0; -} -_ATEOF - - -cat >lib.h <<'_ATEOF' -#include -#include - - -#if defined __CYGWIN__ || defined _WIN32 -# if defined DLL_EXPORT || defined USING_LIB_DLL -# if defined LIBTOOL_TEST_IN_LIB -# define LIB_IMPEXP __declspec (dllexport) -# else -# define LIB_IMPEXP __declspec (dllimport) -# endif -# else -# define LIB_IMPEXP -# endif -#else -# define LIB_IMPEXP -#endif - -class LIB_IMPEXP libexc : public std::exception { -public: - libexc (std::string str) : message (str) { } - ~libexc () throw () { } - virtual const char *what () const throw () - { - return message.c_str (); - } -private: - std::string message; -}; -int LIB_IMPEXP libfoo () throw (libexc); -_ATEOF - - -cat >lib.cpp <<'_ATEOF' -#include -#define LIBTOOL_TEST_IN_LIB -#include "lib.h" - -int libbar (void) throw (libexc) -{ - throw libexc ("exception in library"); -} - -int libfoo (void) throw (libexc) -{ - try { - libbar (); - } - catch (libexc e) { - std::cerr << "caught inside lib: " << e.what () << '\n'; - throw libexc ("exception from library"); - } - return 0; -} -_ATEOF - - -cat >main.cpp <<'_ATEOF' -#include -#include -#include -#include -#include -#include "common.h" -#include "lib.h" -#include "module.h" - -class exc : public std::exception { -public: - exc (std::string str) : message (str) { } - ~exc () throw () { } - virtual const char *what () const throw () - { - return message.c_str (); - } -private: - std::string message; -}; - -int foo (void) throw (exc) -{ - throw exc ("exception in program"); - return 0; -} - -int exceptions_in_prog (void) -{ - std::cerr << "exceptions_in_prog\n"; - try { - foo (); - } - catch (exc e) { - std::cerr << "caught: " << e.what () << '\n'; - return 0; - } - return 1; -} - -int exceptions_in_lib (void) -{ - std::cerr << "exceptions_in_lib\n"; - try { - libfoo (); - } - catch (libexc e) { - std::cerr << "caught: " << e.what () << '\n'; - return 0; - } - return 1; -} - -int exceptions_in_module (void) -{ - std::cerr << "exceptions_in_module\n"; - - if (lt_dlinit ()) - { - std::cerr << "init error: " << lt_dlerror () << '\n'; - return 1; - } - - // Some systems need RTLD_GLOBAL for exceptions to work in modules. - lt_dladvise advise; - if (lt_dladvise_init (&advise) || lt_dladvise_global (&advise)) - { - std::cerr << "error setting advise global\n"; - return 1; - } - - lt_dlhandle handle = lt_dlopenadvise ("module.la", advise); - if (handle == NULL) - { - std::cerr << "dlopen failed: " << lt_dlerror () << '\n'; - return 1; - } - lt_dladvise_destroy (&advise); - - typedef int (*pfun) (void); - pfun pf = (pfun) lt_dlsym (handle, "modfoo"); - if (pf == NULL) - { - std::cerr << "dlsym failed: " << lt_dlerror () << '\n'; - return 1; - } - - bool exception_caught = false; - try { - (*pf) (); - } - catch (modexc e) { - std::cerr << "caught: " << e.what () << '\n'; - exception_caught = true; - } - - /* Only close the module after all of its objects have gone out of scope. */ - if (exception_caught) - { - if (lt_dlclose (handle)) - { - std::cerr << "dlclose failed: " << lt_dlerror () << '\n'; - return 1; - } - if (lt_dlexit ()) - { - std::cerr << "lt_dlexit failed: " << lt_dlerror () << '\n'; - return 1; - } - return 0; - } - return 1; -} - -int main (void) -{ - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (exceptions_in_prog ()) - return 1; - if (exceptions_in_lib ()) - return 1; - if (exceptions_in_module ()) - return 1; - return 0; -} -_ATEOF - - -inst=`pwd`/inst -libdir=$inst/lib -bindir=$inst/bin -moddir=$inst/mod -mkdir l m $inst $libdir $bindir $moddir - -# If the C++ compiler isn't capable, don't bother. -{ set +x -$as_echo "$at_srcdir/exceptions.at:361: \$CXX \$CPPFLAGS \$CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77" -at_fn_check_prepare_dynamic "$CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77" "exceptions.at:361" -( $at_check_trace; $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -DUSING_MODULE_DLL -DUSING_LIB_DLL -c main.cpp || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:361" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/exceptions.at:363: \$LIBTOOL --mode=compile --tag=CXX \$CXX \$CPPFLAGS \$CXXFLAGS -c common.cpp" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c common.cpp" "exceptions.at:363" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c common.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:363" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/exceptions.at:365: \$LIBTOOL --mode=compile --tag=CXX \$CXX \$CPPFLAGS \$CXXFLAGS -c lib.cpp" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c lib.cpp" "exceptions.at:365" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -c lib.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:365" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/exceptions.at:367: \$LIBTOOL --mode=compile --tag=CXX \$CXX \$CPPFLAGS \$CXXFLAGS -DUSING_COMMON_DLL -c module.cpp" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -c module.cpp" "exceptions.at:367" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CXX $CXX $CPPFLAGS $CXXFLAGS -DUSING_COMMON_DLL -c module.cpp -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:367" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/exceptions.at:370: \$LIBTOOL --mode=link --tag=CXX \$CXX \$CXXFLAGS \$LDFLAGS -o l/libcommon.la common.lo -no-undefined -version-info 1:0:0 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/libcommon.la common.lo -no-undefined -version-info 1:0:0 -rpath $libdir" "exceptions.at:370" -( $at_check_trace; $LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/libcommon.la common.lo -no-undefined -version-info 1:0:0 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:370" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/exceptions.at:373: \$LIBTOOL --mode=link --tag=CXX \$CXX \$CXXFLAGS \$LDFLAGS -o l/liba.la lib.lo -no-undefined -version-info 1:0:0 -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/liba.la lib.lo -no-undefined -version-info 1:0:0 -rpath $libdir" "exceptions.at:373" -( $at_check_trace; $LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o l/liba.la lib.lo -no-undefined -version-info 1:0:0 -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/exceptions.at:376: \$LIBTOOL --mode=link --tag=CXX \$CXX \$CXXFLAGS \$LDFLAGS -o m/module.la module.lo l/libcommon.la -module -avoid-version -no-undefined -rpath \$moddir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o m/module.la module.lo l/libcommon.la -module -avoid-version -no-undefined -rpath $moddir" "exceptions.at:376" -( $at_check_trace; $LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o m/module.la module.lo l/libcommon.la -module -avoid-version -no-undefined -rpath $moddir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:376" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# We need -export-dynamic for the exception handling in modules to work. -{ set +x -$as_echo "$at_srcdir/exceptions.at:381: \$LIBTOOL --mode=link --tag=CXX \$CXX \$CXXFLAGS \$LDFLAGS -o main\$EXEEXT main.\$OBJEXT l/liba.la l/libcommon.la -dlopen m/module.la \$LIBLTDL -export-dynamic" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT l/liba.la l/libcommon.la -dlopen m/module.la $LIBLTDL -export-dynamic" "exceptions.at:381" -( $at_check_trace; $LIBTOOL --mode=link --tag=CXX $CXX $CXXFLAGS $LDFLAGS -o main$EXEEXT main.$OBJEXT l/liba.la l/libcommon.la -dlopen m/module.la $LIBLTDL -export-dynamic -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:381" -$at_failed && at_fn_log_failure -$at_traceon; } - - -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/exceptions.at:385: if \$LIBTOOL --mode=execute -dlopen m/module.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen m/module.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "exceptions.at:385" -( $at_check_trace; if $LIBTOOL --mode=execute -dlopen m/module.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:385" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -{ set +x -$as_echo "$at_srcdir/exceptions.at:387: \$LIBTOOL --mode=install cp l/libcommon.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp l/libcommon.la $libdir" "exceptions.at:387" -( $at_check_trace; $LIBTOOL --mode=install cp l/libcommon.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:387" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/exceptions.at:389: \$LIBTOOL --mode=install cp l/liba.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp l/liba.la $libdir" "exceptions.at:389" -( $at_check_trace; $LIBTOOL --mode=install cp l/liba.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:389" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/exceptions.at:391: \$LIBTOOL --mode=install cp m/module.la \$moddir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp m/module.la $moddir" "exceptions.at:391" -( $at_check_trace; $LIBTOOL --mode=install cp m/module.la $moddir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:391" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/exceptions.at:393: \$LIBTOOL --mode=install cp main\$EXEEXT \$bindir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp main$EXEEXT $bindir" "exceptions.at:393" -( $at_check_trace; $LIBTOOL --mode=install cp main$EXEEXT $bindir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:393" -$at_failed && at_fn_log_failure -$at_traceon; } - -rm -rf l m main$EXEEXT - -LTDL_LIBRARY_PATH=$moddir -export LTDL_LIBRARY_PATH -lt_exe=$bindir/main; if test -f "$bindir/main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/exceptions.at:399: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "exceptions.at:399" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/exceptions.at:399" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_143 -#AT_START_144 -at_fn_group_banner 144 'early-libtool.at:33' \ - "config.status" " " 20 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "144. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtool-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.in <<'_ATEOF' -prefix = @prefix@ -libdir = @libdir@ -top_builddir = . -SHELL = @SHELL@ -DEFAULT_INCLUDES = -I. -I@srcdir@ -EXEEXT = @EXEEXT@ -LIBTOOL = @LIBTOOL@ -OBJEXT = @OBJEXT@ - -CPPFLAGS = @CPPFLAGS@ -CFLAGS = @CFLAGS@ -LDFLAGS = @LDFLAGS@ - -COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) -LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) -LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -o $@ - -all: hell$(EXEEXT) - -libhello.la: hello.lo - $(LINK) -rpath $(libdir) hello.lo -hell$(EXEEXT): main.$(OBJEXT) libhello.la - $(LINK) main.$(OBJEXT) libhello.la - -.SUFFIXES: -.SUFFIXES: .c .$(OBJEXT) .lo - -.c.$(OBJEXT): - $(COMPILE) -c $< -.c.lo: - $(LTCOMPILE) -c -o $@ $< -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include - -void -hello (void) -{ - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include - -extern void hello (void); - -int -main (void) -{ - printf ("Welcome to GNU Hell!\n"); - - hello (); - - return 0; -} -_ATEOF - - -cat > missing <<_EOF -#! /bin/sh -exit 0 -_EOF -chmod a+x missing - -$LIBTOOLIZE --copy --verbose --install - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/early-libtool.at:110: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "early-libtool.at:110" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:110" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/early-libtool.at:111: \$AUTOCONF --force" -at_fn_check_prepare_dynamic "$AUTOCONF --force" "early-libtool.at:111" -( $at_check_trace; $AUTOCONF --force -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:111" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/early-libtool.at:112: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "early-libtool.at:112" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:112" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/early-libtool.at:113: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "early-libtool.at:113" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:113" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/early-libtool.at:115: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "early-libtool.at:115" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:115" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/early-libtool.at:116: \$GREP 'Welcome to GNU Hell' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU Hell' stdout" "early-libtool.at:116" -( $at_check_trace; $GREP 'Welcome to GNU Hell' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:116" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/early-libtool.at:117: \$GREP 'This is not GNU Hello.' stdout" -at_fn_check_prepare_dynamic "$GREP 'This is not GNU Hello.' stdout" "early-libtool.at:117" -( $at_check_trace; $GREP 'This is not GNU Hello.' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:117" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_144 -#AT_START_145 -at_fn_group_banner 145 'early-libtool.at:127' \ - "config.lt" " " 20 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "145. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([libtool-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_MACRO_DIRS([m4]) -LT_INIT -LT_OUTPUT - -cat >hello.c <<\_EOF -#include - -void -hello (void) -{ - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); -} -_EOF - -# Prove that we can run libtool from inside configure: -$SHELL ./libtool --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS \ - -I. -I$srcdir -c -o hello.lo hello.c || exit 1 -$SHELL ./libtool --mode=link --tag=CC $CC $CFLAGS $LDFLAGS \ - -o libhello.la -rpath /notexist hello.lo || exit 1 - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.in <<'_ATEOF' -prefix = @prefix@ -libdir = @libdir@ -top_builddir = . -SHELL = @SHELL@ -DEFAULT_INCLUDES = -I. -I@srcdir@ -EXEEXT = @EXEEXT@ -LIBTOOL = @LIBTOOL@ -OBJEXT = @OBJEXT@ - -CPPFLAGS = @CPPFLAGS@ -CFLAGS = @CFLAGS@ -LDFLAGS = @LDFLAGS@ - -COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) -LINK = $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -o $@ - -all: hell$(EXEEXT) - -hell$(EXEEXT): main.$(OBJEXT) libhello.la - $(LINK) main.$(OBJEXT) libhello.la - -.SUFFIXES: -.SUFFIXES: .c .$(OBJEXT) - -.c.$(OBJEXT): - $(COMPILE) -c $< -_ATEOF - - -cat >hello.c <<'_ATEOF' -#include - -void -hello (void) -{ - printf ("** This is not GNU Hello. There is no built-in mail reader. **\n"); -} -_ATEOF - - -cat >main.c <<'_ATEOF' -#include - -extern void hello (void); - -int -main (int argc, char *argv[]) -{ - printf ("Welcome to GNU Hell!\n"); - - hello (); - - return 0; -} -_ATEOF - - -cat > missing <<_EOF -#! /bin/sh -exit 0 -_EOF -chmod a+x missing - -$LIBTOOLIZE --copy --verbose --install - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/early-libtool.at:217: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "early-libtool.at:217" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:217" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/early-libtool.at:218: \$AUTOCONF --force" -at_fn_check_prepare_dynamic "$AUTOCONF --force" "early-libtool.at:218" -( $at_check_trace; $AUTOCONF --force -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:218" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/early-libtool.at:219: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "early-libtool.at:219" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:219" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/early-libtool.at:220: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "early-libtool.at:220" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:220" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -lt_exe=./hell; if test -f "./hell$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/early-libtool.at:222: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "early-libtool.at:222" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:222" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/early-libtool.at:223: \$GREP 'Welcome to GNU Hell' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU Hell' stdout" "early-libtool.at:223" -( $at_check_trace; $GREP 'Welcome to GNU Hell' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:223" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/early-libtool.at:224: \$GREP 'This is not GNU Hello.' stdout" -at_fn_check_prepare_dynamic "$GREP 'This is not GNU Hello.' stdout" "early-libtool.at:224" -( $at_check_trace; $GREP 'This is not GNU Hello.' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:224" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Make sure config.status --recheck updates the libtool script -rm libtool -{ set +x -$as_echo "$at_srcdir/early-libtool.at:228: \$SHELL ./config.status --recheck" -at_fn_check_prepare_dynamic "$SHELL ./config.status --recheck" "early-libtool.at:228" -( $at_check_trace; $SHELL ./config.status --recheck -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/early-libtool.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_145 -#AT_START_146 -at_fn_group_banner 146 'no-executables.at:26' \ - "AC_NO_EXECUTABLES" " " 21 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "146. $at_setup_line: testing $at_desc ..." - $at_traceon - - -mkdir m4 - -cat >configure.ac <<'_ATEOF' -AC_INIT([no-exec], [1]) -AC_CONFIG_MACRO_DIRS([m4]) - -# We punt a bit here, to get the results of AC_PROG_CC -# (and allow it to do link tests) but still error out on -# link tests within Libtool macros. -LDFLAGS=-lnosuchlibrary -AC_NO_EXECUTABLES -AC_PROG_CC -AC_PROG_CXX -AC_PROG_F77 -AC_PROG_FC -AM_PROG_GCJ - -# Consequently, we have to set cache variables for each link -# test we may need. For the purposes of this test, it shouldn't -# matter much whether these values are actually wrong, the point -# is that the linker should never be invoked. - -lt_cv_shlibpath_overrides_runpath=no -lt_cv_archive_cmds_need_lc=no -lt_cv_cc_needs_belf=no -lt_cv_ld_exported_symbols_list=no -lt_cv_prog_compiler_static_works=no -lt_cv_aix_libpath=/usr/lib:/lib -lt_cv_irix_exported_symbol=yes - -# Deal with AC_LIBTOOL_DLOPEN in one of two possible ways: -# - do not execute it at all in the ac_no_link case -# - preset the individual Autoconf test variables - -if ${test_ac_libtool_dlopen-false}; then - ac_cv_func_shl_load=no - ac_cv_lib_dld_shl_load=no - ac_cv_func_dlopen=no - ac_cv_lib_dl_dlopen=no - ac_cv_lib_svld_dlopen=no - ac_cv_lib_dld_dld_link=no - AC_LIBTOOL_DLOPEN -fi -AC_PROG_LIBTOOL - -AC_OUTPUT -_ATEOF - - -$LIBTOOLIZE --install - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/no-executables.at:76: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "no-executables.at:76" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/no-executables.at:76" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - - -{ set +x -$as_echo "$at_srcdir/no-executables.at:76: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "no-executables.at:76" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/no-executables.at:76" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - - -{ set +x -$as_echo "$at_srcdir/no-executables.at:77: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "no-executables.at:77" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/no-executables.at:77" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/no-executables.at:78: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" test_ac_libtool_dlopen=:" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "no-executables.at:78" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" test_ac_libtool_dlopen=: -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/no-executables.at:78" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_146 -#AT_START_147 -at_fn_group_banner 147 'deplibs-ident.at:33' \ - "build tree relpaths" " " 22 -at_xfail=no - eval `$LIBTOOL --config | $EGREP '^hardcode_(direct|direct_absolute|action)='` - case $hardcode_action,$hardcode_direct,$hardcode_direct_absolute in - relink,yes,no) :;; - *,no,*) :;; - *) false;; - esac && at_xfail=yes -( - $as_echo "147. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -mkdir a a/b c -echo 'int c() { return 0; }' > c/libcee.c -{ set +x -$as_echo "$at_srcdir/deplibs-ident.at:38: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c c/libcee.c -o c/libcee.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c/libcee.c -o c/libcee.lo" "deplibs-ident.at:38" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c c/libcee.c -o c/libcee.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:38" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/deplibs-ident.at:40: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere" "deplibs-ident.at:40" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o c/libcee.la c/libcee.lo -rpath /nowhere -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:40" -$at_failed && at_fn_log_failure -$at_traceon; } - - -depl_1=../c/libcee.la -depl_2=`pwd`/c/libcee.la -depl_3="-L../c -lcee" - -( - cd a - for i in 1 2 3; do - eval depend_on_c=\"\$depl_$i\" - echo "extern int c(void); int a$i() { return c(); }" > liba$i.c - { set +x -$as_echo "$at_srcdir/deplibs-ident.at:52: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c liba\$i.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba$i.c" "deplibs-ident.at:52" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c liba$i.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:52" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/deplibs-ident.at:54: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba\$i.la liba\$i.lo \$depend_on_c -rpath /nowhere" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la liba$i.lo $depend_on_c -rpath /nowhere" "deplibs-ident.at:54" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba$i.la liba$i.lo $depend_on_c -rpath /nowhere -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:54" -$at_failed && at_fn_log_failure -$at_traceon; } - - done -) - -cat >a/b/b.c <<'_ATEOF' -extern int a1(void), a2(void), a3(void), c(void); -int main() { return a1() + a2() + a3() + c(); } -_ATEOF - - -( - cd a/b - { set +x -$as_echo "$at_srcdir/deplibs-ident.at:66: \$CC \$CFLAGS -c b.c" -at_fn_check_prepare_dynamic "$CC $CFLAGS -c b.c" "deplibs-ident.at:66" -( $at_check_trace; $CC $CFLAGS -c b.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:66" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/deplibs-ident.at:67: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o b\$EXEEXT b.\$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b$EXEEXT b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere" "deplibs-ident.at:67" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b$EXEEXT b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-ident.at:67" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/deplibs-ident.at:69: \$EGREP 'cee.*cee' stdout" -at_fn_check_prepare_dynamic "$EGREP 'cee.*cee' stdout" "deplibs-ident.at:69" -( $at_check_trace; $EGREP 'cee.*cee' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/deplibs-ident.at:69" -$at_failed && at_fn_log_failure -$at_traceon; } - - - ) - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_147 -#AT_START_148 -at_fn_group_banner 148 'configure-iface.at:103' \ - "installable libltdl" " " 23 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "148. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >main.c <<'_ATEOF' -#include -#include - -typedef int funcp (void); - -static int errors = 0; - -int -main (void) -{ - lt_dlhandle handle; - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (lt_dlinit () != 0) - { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror ()); - return 1; - } - - handle = lt_dlopenext ("libmodule"); - if (!handle) - { - fprintf (stderr, "can't open libmodule: %s\n", lt_dlerror ()); - ++errors; - } - - { - funcp *f = (funcp *) lt_dlsym (handle, "f"); - - if (f) - { - printf ("%d\n", f ()); - } - else - { - fprintf (stderr, "function 'f' not found: %s\n", lt_dlerror ()); - ++errors; - } - } - - if (lt_dlexit () != 0) - { - fprintf (stderr, "error during exit: %s\n", lt_dlerror ()); - ++errors; - } - - return (errors != 0); -} -_ATEOF - - -cat >libmodule.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -int f (void) { return 5150; } -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >expout <<'_ATEOF' -5150 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - - -cat >configure.ac <<'_ATEOF' -AC_INIT([installable-ltdl-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([libltdl/config]) -AC_CONFIG_MACRO_DIRS([libltdl/m4]) -AC_CONFIG_HEADERS([config.h:config.hin]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT([dlopen]) -LTDL_INIT([installable]) -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = 1.7 - -SUBDIRS = libltdl - -AM_CPPFLAGS = $(LTDLINCL) - -lib_LTLIBRARIES = libmodule.la -# Automake < 1.8 will use libmodule.la.c as default source, -# while newer will choose libmodule.c; so specify it here. -libmodule_la_SOURCES = libmodule.c -libmodule_la_LDFLAGS = -module - -bin_PROGRAMS = main -main_LDFLAGS = -dlopen libmodule.la -main_LDADD = $(LIBLTDL) -main_DEPENDENCIES = $(LTDLDEPS) libmodule.la -_ATEOF - - -# Install everything! -prefix=`pwd`/_inst - -$LIBTOOLIZE --ltdl - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/configure-iface.at:145: \$ACLOCAL -I libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "configure-iface.at:145" -( $at_check_trace; $ACLOCAL -I libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:145: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "configure-iface.at:145" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:145: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "configure-iface.at:145" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/configure-iface.at:145: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "configure-iface.at:145" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:145: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:145" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:145: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl --prefix=\$prefix" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:145" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl --prefix=$prefix -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all install -do - { set +x -$as_echo "$at_srcdir/configure-iface.at:145: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:145" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:145" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -# TODO: Check that the installed program 'main' is linked against our libltdl -{ set +x -$as_echo "$at_srcdir/configure-iface.at:149: test -f \"\$prefix/lib/libltdl.la\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "configure-iface.at:149" -( $at_check_trace; test -f "$prefix/lib/libltdl.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:149" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:150: test -f \"\$prefix/include/ltdl.h\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "configure-iface.at:150" -( $at_check_trace; test -f "$prefix/include/ltdl.h" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:150" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Check that main is rebuilt if libltdl.la is newer -rm -f libltdl/libltdl.la -{ set +x -$as_echo "$at_srcdir/configure-iface.at:154: \$MAKE -q main\$EXEEXT || exit 1" -at_fn_check_prepare_dynamic "$MAKE -q main$EXEEXT || exit 1" "configure-iface.at:154" -( $at_check_trace; $MAKE -q main$EXEEXT || exit 1 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:154" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_148 -#AT_START_149 -at_fn_group_banner 149 'configure-iface.at:163' \ - "--with-ltdl-include/lib" " " 23 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "149. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -# Install libltdl -prefix=`pwd`/_inst - -$LIBTOOLIZE --copy --ltdl=ltdl - - - -(cd ltdl -{ set +x -$as_echo "$at_srcdir/configure-iface.at:172: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --enable-ltdl-install --prefix=\$prefix" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:172" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --enable-ltdl-install --prefix=$prefix -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:172" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all install -do - { set +x -$as_echo "$at_srcdir/configure-iface.at:173: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:173" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:173" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -) - -# Remove build files -rm -rf ltdl/ - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:179: test -f \"\$prefix/lib/libltdl.la\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/lib/libltdl.la\"" "configure-iface.at:179" -( $at_check_trace; test -f "$prefix/lib/libltdl.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:179" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:180: test -f \"\$prefix/include/ltdl.h\"" -at_fn_check_prepare_dynamic "test -f \"$prefix/include/ltdl.h\"" "configure-iface.at:180" -( $at_check_trace; test -f "$prefix/include/ltdl.h" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:180" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >main.c <<'_ATEOF' -#include -#include - -typedef int funcp (void); - -static int errors = 0; - -int -main (void) -{ - lt_dlhandle handle; - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (lt_dlinit () != 0) - { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror ()); - return 1; - } - - handle = lt_dlopenext ("libmodule"); - if (!handle) - { - fprintf (stderr, "can't open libmodule: %s\n", lt_dlerror ()); - ++errors; - } - - { - funcp *f = (funcp *) lt_dlsym (handle, "f"); - - if (f) - { - printf ("%d\n", f ()); - } - else - { - fprintf (stderr, "function 'f' not found: %s\n", lt_dlerror ()); - ++errors; - } - } - - if (lt_dlexit () != 0) - { - fprintf (stderr, "error during exit: %s\n", lt_dlerror ()); - ++errors; - } - - return (errors != 0); -} -_ATEOF - - -cat >libmodule.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -int f (void) { return 5150; } -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >expout <<'_ATEOF' -5150 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - - -cat >configure.ac <<'_ATEOF' -AC_INIT([configure-iface-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_MACRO_DIRS([_inst/aclocal]) -AC_CONFIG_HEADERS([config.h:config.hin]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT([dlopen]) -LTDL_INIT -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = 1.7 - -AM_CPPFLAGS = $(LTDLINCL) - -lib_LTLIBRARIES = libmodule.la -# Automake < 1.8 will use libmodule.la.c as default source, -# while newer will choose libmodule.c; so specify it here. -libmodule_la_SOURCES = libmodule.c -libmodule_la_LDFLAGS = -module - -bin_PROGRAMS = main -main_LDFLAGS = -dlopen libmodule.la -main_LDADD = $(LIBLTDL) -main_DEPENDENCIES = $(LTDLDEPS) libmodule.la -_ATEOF - - -## Try to avoid linking against a previously installed libltdl found -## with an explicit -L/path. -save_LDFLAGS=$LDFLAGS -LDFLAGS= -for l in $save_LDFLAGS -do - case $l in - -L*) ;; - *) LDFLAGS="$LDFLAGS $l" ;; - esac -done - -# We don't use 'libtoolize --ltdl', so that we get an error if the test -# tries to build and link against its own ltdl sources: -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I _inst/aclocal$macro_dir"; { set +x -$as_echo "$at_srcdir/configure-iface.at:228: \$ACLOCAL -I _inst/aclocal\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I _inst/aclocal$macro_dir" "configure-iface.at:228" -( $at_check_trace; $ACLOCAL -I _inst/aclocal$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:228: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "configure-iface.at:228" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:228: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "configure-iface.at:228" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/configure-iface.at:228: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "configure-iface.at:228" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:228: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:228" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:228: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-ltdl-lib=\$prefix/lib --with-ltdl-include=\$prefix/include" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:228" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-ltdl-lib=$prefix/lib --with-ltdl-include=$prefix/include -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/configure-iface.at:228: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:228" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:228" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -## TODO: portable ldd check for correct libltdl -## Currently, this test doesn't fail if 'main' ends up linking against a -## previously installed system libltdl. -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/configure-iface.at:235: if \$LIBTOOL --mode=execute -dlopen libmodule.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen libmodule.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "configure-iface.at:235" -( $at_check_trace; if $LIBTOOL --mode=execute -dlopen libmodule.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:235" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_149 -#AT_START_150 -at_fn_group_banner 150 'configure-iface.at:244' \ - "--with-included-ltdl" " " 23 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "150. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cat >main.c <<'_ATEOF' -#include -#include - -typedef int funcp (void); - -static int errors = 0; - -int -main (void) -{ - lt_dlhandle handle; - - LTDL_SET_PRELOADED_SYMBOLS(); - - if (lt_dlinit () != 0) - { - fprintf (stderr, "error during initialization: %s\n", lt_dlerror ()); - return 1; - } - - handle = lt_dlopenext ("libmodule"); - if (!handle) - { - fprintf (stderr, "can't open libmodule: %s\n", lt_dlerror ()); - ++errors; - } - - { - funcp *f = (funcp *) lt_dlsym (handle, "f"); - - if (f) - { - printf ("%d\n", f ()); - } - else - { - fprintf (stderr, "function 'f' not found: %s\n", lt_dlerror ()); - ++errors; - } - } - - if (lt_dlexit () != 0) - { - fprintf (stderr, "error during exit: %s\n", lt_dlerror ()); - ++errors; - } - - return (errors != 0); -} -_ATEOF - - -cat >libmodule.c <<'_ATEOF' -#ifdef __cplusplus -extern "C" { -#endif -int f (void) { return 5150; } -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >expout <<'_ATEOF' -5150 -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac - - -cat >configure.ac <<'_ATEOF' -AC_INIT([configure-iface-demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([libltdl/config]) -AC_CONFIG_MACRO_DIRS([libltdl/m4]) -AC_CONFIG_HEADERS([config.h:config.hin]) -LT_CONFIG_LTDL_DIR([libltdl]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AM_PROG_CC_C_O -LT_INIT([dlopen]) -LTDL_INIT -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = 1.7 - -SUBDIRS = libltdl - -AM_CPPFLAGS = $(LTDLINCL) - -lib_LTLIBRARIES = libmodule.la -# Automake < 1.8 will use libmodule.la.c as default source, -# while newer will choose libmodule.c; so specify it here. -libmodule_la_SOURCES = libmodule.c -libmodule_la_LDFLAGS = -module - -bin_PROGRAMS = main -main_LDFLAGS = -dlopen libmodule.la -main_LDADD = $(LIBLTDL) -main_DEPENDENCIES = $(LTDLDEPS) libmodule.la -_ATEOF - - -$LIBTOOLIZE --ltdl - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/configure-iface.at:283: \$ACLOCAL -I libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "configure-iface.at:283" -( $at_check_trace; $ACLOCAL -I libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:283: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "configure-iface.at:283" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:283: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "configure-iface.at:283" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/configure-iface.at:283: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "configure-iface.at:283" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:283: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:283" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:283: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --with-included-ltdl" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:283" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/configure-iface.at:283: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "configure-iface.at:283" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -# --with-included-ltdl should build a convenience lib by default -{ set +x -$as_echo "$at_srcdir/configure-iface.at:287: test -f libltdl/libltdlc.la" -at_fn_check_prepare_trace "configure-iface.at:287" -( $at_check_trace; test -f libltdl/libltdlc.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:287" -$at_failed && at_fn_log_failure -$at_traceon; } - - -## TODO: portable ldd check for correct libltdl -## Currently, this test doesn't fail if 'main' ends up linking against a -## previously installed system libltdl. -lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/configure-iface.at:292: if \$LIBTOOL --mode=execute -dlopen libmodule.la \"\$lt_exe\" ; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if $LIBTOOL --mode=execute -dlopen libmodule.la \"$lt_exe\" ; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "configure-iface.at:292" -( $at_check_trace; if $LIBTOOL --mode=execute -dlopen libmodule.la "$lt_exe" ; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:292" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# Check that main is rebuilt if libltdlc.la is newer -rm -f libltdl/libltdlc.la -{ set +x -$as_echo "$at_srcdir/configure-iface.at:296: \$MAKE -q main\$EXEEXT || exit 1" -at_fn_check_prepare_dynamic "$MAKE -q main$EXEEXT || exit 1" "configure-iface.at:296" -( $at_check_trace; $MAKE -q main$EXEEXT || exit 1 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/configure-iface.at:296" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_150 -#AT_START_151 -at_fn_group_banner 151 'configure-iface.at:305' \ - "convenience libltdl" " " 23 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "151. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT -AC_CONFIG_AUX_DIR([libltdl/config]) -AC_LIBLTDL_CONVENIENCE -AC_LIBTOOL_DLOPEN -AC_PROG_LIBTOOL -AC_CONFIG_FILES(Makefile) -AC_OUTPUT -_ATEOF - -cat >Makefile.in <<'_ATEOF' -LIBLTDL = @LIBLTDL@ -print-ltdl: - echo $(LIBLTDL) -_ATEOF - - -$LIBTOOLIZE --ltdl - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/configure-iface.at:322: \$ACLOCAL -I libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I libltdl/m4$macro_dir" "configure-iface.at:322" -( $at_check_trace; $ACLOCAL -I libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:322" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:322: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "configure-iface.at:322" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:322" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:322: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "configure-iface.at:322" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:322" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:323: \$MAKE print-ltdl" -at_fn_check_prepare_dynamic "$MAKE print-ltdl" "configure-iface.at:323" -( $at_check_trace; $MAKE print-ltdl -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:323" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/configure-iface.at:324: \$GREP libltdl/libltdlc.la stdout" -at_fn_check_prepare_dynamic "$GREP libltdl/libltdlc.la stdout" "configure-iface.at:324" -( $at_check_trace; $GREP libltdl/libltdlc.la stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/configure-iface.at:324" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_151 -#AT_START_152 -at_fn_group_banner 152 'f77demo.at:296' \ - "static library" " " 24 -at_xfail=no - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "152. $at_setup_line: testing $at_desc ..." - $at_traceon - - -# Executing the static fprogram might be interactive on MSYS. - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:301: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "f77demo.at:301" -( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:301" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([f77demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -AC_PROG_F77 -dnl When configuring for 'make dist' purposes, skip checks that may yield fatal -dnl errors when there is no working F77 compiler. -if test -z "$with_dist"; then - dnl Check the flags needed to link f77 programs with ld (i.e. cc) - AC_F77_LIBRARY_LDFLAGS - dnl Check for underscoring of external names - AC_F77_WRAPPERS -fi -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la - -libfoo_la_SOURCES = foof.f -libfoo_la_LIBADD = libfoo2.la -libfoo_la_LDFLAGS = -no-undefined - -libfoo2_la_SOURCES = foof2.f -libfoo2_la_LDFLAGS = -no-undefined - -libfoo3_la_SOURCES = foof3.f -libfoo3_la_LDFLAGS = -no-undefined - -libmix_la_SOURCES = foof.f foof2.f fooc.c -libmix_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h - -bin_PROGRAMS = fprogram cprogram - -fprogram_SOURCES = fprogram.f -fprogram_LDADD = libfoo.la libfoo3.la - -cprogram_SOURCES = cprogram.c -cprogram_LDADD = libmix.la $(FLIBS) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >fprogram.f <<'_ATEOF' - program fprogram - implicit none - integer*4 arg,res - - write(*,*) 'Welcome to GNU libtool Fortran demo!' - write(*,*) 'Real programmers write in FORTRAN.' - arg=2 - - call fsub(arg,res) - - write(*,*) 'fsub returned, saying that 2 *',arg,' =',res - - if (res.eq.4) then - write(*,*) 'fsub is ok!' - endif - - call fsub3(arg,res) - - write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res - - if (res.eq.8) then - write(*,*) 'fsub3 is ok!' - endif - - stop - end -_ATEOF - - -cat >cprogram.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int -main () -{ - int arg,cres,fres; - - printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); - - arg=2; - - cres=csub(arg); - - printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); - - if(cres==2*arg) - printf ("The C subroutine is ok!\n"); - - printf("\nCalling the C wrapper routine...\n"); - fres=fwrapper(arg); - - printf ("The C wrapper to the fortran subroutine returned,\n" - "claiming that 2*%d = %d\n",arg,fres); - - if(fres==2*arg) - printf ("The Fortran 77 subroutine is ok!\n"); - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef _FOO_H_ -#define _FOO_H_ 1 - -/* config.h is necessary for the fortran name mangling */ -#include - -/* csub is an extremely useful subroutine that - * returns the argument multiplied by two :-) - */ -extern int csub(int); - -/* This routine performs the same action, but - * calls the fortran subroutine fsub to do the - * real work. - */ -extern int fwrapper(int); - -/* fsub does the same thing as csub, i.e. res=arg*2. - * Use autoconf macro for fortran function names. - * Note that fortran passes args by reference, so - * you need to provide pointers to your ints. - */ -extern -#ifdef __cplusplus -"C" -#endif -void F77_FUNC(fsub,FSUB)(int *arg, int *res); - -#endif -_ATEOF - - -cat >fooc.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int csub(int arg) -{ - return (2*arg); -} - - -int fwrapper(int arg) -{ - int res; - printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); - F77_FUNC(fsub,FSUB)(&arg,&res); - printf("Returned from the Fortran 77 subroutine...\n"); - return res; -} -_ATEOF - - -cat >foof.f <<'_ATEOF' - subroutine fsub(arg,res) - write(*,*) 'fsub called' - call fsubf(arg,res) - return - end -_ATEOF - - -cat >foof2.f <<'_ATEOF' - subroutine fsubf(arg,res) - implicit none - integer*4 arg,res - write(*,*) 'fsubf called' - res=arg*2 - return - end -_ATEOF - - -cat >foof3.f <<'_ATEOF' - subroutine fsub3(arg,res) - implicit none - integer*4 arg,res - write(*,*) 'fsub3 called' - res=arg*4 - return - end -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:301: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:301" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:301" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/f77demo.at:303: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:303" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:303: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:303" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:303: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:303" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/f77demo.at:303: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:303" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/f77demo.at:303" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:303: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:303" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:303: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "f77demo.at:303" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:303: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "f77demo.at:303" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/f77demo.at:303: \$EGREP '^build_libtool_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "f77demo.at:303" -( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:303" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/f77demo.at:305: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "f77demo.at:305" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Due to differences in line-endings between C stdout and Fortran -# stdout, as well as unpredictable output ordering between platforms -# and runtimes, we can't reliably check the output here... although -# it should be some variation of the following: -cat >expout <<'_ATEOF' - Welcome to GNU libtool Fortran demo! - Real programmers write in FORTRAN. - fsub called - fsubf called - fsub returned, saying that 2 * 2 = 4 - fsub is ok! - fsub3 called - fsub3 returned, saying that 4 * 2 = 8 - fsub3 is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/f77demo.at:305: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:305" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/f77demo.at:305: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "f77demo.at:305" -( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Similarly, we can't reliably compare actual output with the following. -cat >expout <<'_ATEOF' -Welcome to GNU libtool mixed C/Fortran demo! -The C subroutine returned, claiming that 2*2 = 4 -The C subroutine is ok! - -Calling the C wrapper routine... -Calling the Fortran 77 subroutine from the C wrapper... - fsub called - fsubf called -Returned from the Fortran 77 subroutine... -The C wrapper to the fortran subroutine returned, -claiming that 2*2 = 4 -The Fortran 77 subroutine is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/f77demo.at:305: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:305" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/f77demo.at:305: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "f77demo.at:305" -( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:305" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_152 -#AT_START_153 -at_fn_group_banner 153 'f77demo.at:314' \ - "shared library" " " 24 -at_xfail=no - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "153. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:316: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "f77demo.at:316" -( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:316" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([f77demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -AC_PROG_F77 -dnl When configuring for 'make dist' purposes, skip checks that may yield fatal -dnl errors when there is no working F77 compiler. -if test -z "$with_dist"; then - dnl Check the flags needed to link f77 programs with ld (i.e. cc) - AC_F77_LIBRARY_LDFLAGS - dnl Check for underscoring of external names - AC_F77_WRAPPERS -fi -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la - -libfoo_la_SOURCES = foof.f -libfoo_la_LIBADD = libfoo2.la -libfoo_la_LDFLAGS = -no-undefined - -libfoo2_la_SOURCES = foof2.f -libfoo2_la_LDFLAGS = -no-undefined - -libfoo3_la_SOURCES = foof3.f -libfoo3_la_LDFLAGS = -no-undefined - -libmix_la_SOURCES = foof.f foof2.f fooc.c -libmix_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h - -bin_PROGRAMS = fprogram cprogram - -fprogram_SOURCES = fprogram.f -fprogram_LDADD = libfoo.la libfoo3.la - -cprogram_SOURCES = cprogram.c -cprogram_LDADD = libmix.la $(FLIBS) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >fprogram.f <<'_ATEOF' - program fprogram - implicit none - integer*4 arg,res - - write(*,*) 'Welcome to GNU libtool Fortran demo!' - write(*,*) 'Real programmers write in FORTRAN.' - arg=2 - - call fsub(arg,res) - - write(*,*) 'fsub returned, saying that 2 *',arg,' =',res - - if (res.eq.4) then - write(*,*) 'fsub is ok!' - endif - - call fsub3(arg,res) - - write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res - - if (res.eq.8) then - write(*,*) 'fsub3 is ok!' - endif - - stop - end -_ATEOF - - -cat >cprogram.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int -main () -{ - int arg,cres,fres; - - printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); - - arg=2; - - cres=csub(arg); - - printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); - - if(cres==2*arg) - printf ("The C subroutine is ok!\n"); - - printf("\nCalling the C wrapper routine...\n"); - fres=fwrapper(arg); - - printf ("The C wrapper to the fortran subroutine returned,\n" - "claiming that 2*%d = %d\n",arg,fres); - - if(fres==2*arg) - printf ("The Fortran 77 subroutine is ok!\n"); - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef _FOO_H_ -#define _FOO_H_ 1 - -/* config.h is necessary for the fortran name mangling */ -#include - -/* csub is an extremely useful subroutine that - * returns the argument multiplied by two :-) - */ -extern int csub(int); - -/* This routine performs the same action, but - * calls the fortran subroutine fsub to do the - * real work. - */ -extern int fwrapper(int); - -/* fsub does the same thing as csub, i.e. res=arg*2. - * Use autoconf macro for fortran function names. - * Note that fortran passes args by reference, so - * you need to provide pointers to your ints. - */ -extern -#ifdef __cplusplus -"C" -#endif -void F77_FUNC(fsub,FSUB)(int *arg, int *res); - -#endif -_ATEOF - - -cat >fooc.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int csub(int arg) -{ - return (2*arg); -} - - -int fwrapper(int arg) -{ - int res; - printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); - F77_FUNC(fsub,FSUB)(&arg,&res); - printf("Returned from the Fortran 77 subroutine...\n"); - return res; -} -_ATEOF - - -cat >foof.f <<'_ATEOF' - subroutine fsub(arg,res) - write(*,*) 'fsub called' - call fsubf(arg,res) - return - end -_ATEOF - - -cat >foof2.f <<'_ATEOF' - subroutine fsubf(arg,res) - implicit none - integer*4 arg,res - write(*,*) 'fsubf called' - res=arg*2 - return - end -_ATEOF - - -cat >foof3.f <<'_ATEOF' - subroutine fsub3(arg,res) - implicit none - integer*4 arg,res - write(*,*) 'fsub3 called' - res=arg*4 - return - end -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:316: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:316" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:316" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/f77demo.at:318: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:318" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:318: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:318" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:318: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:318" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/f77demo.at:318: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:318" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/f77demo.at:318" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:318: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:318" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:318: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "f77demo.at:318" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:318: \$EGREP '^build_old_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "f77demo.at:318" -( $at_check_trace; $EGREP '^build_old_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/f77demo.at:318: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "f77demo.at:318" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:318" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/f77demo.at:320: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "f77demo.at:320" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Due to differences in line-endings between C stdout and Fortran -# stdout, as well as unpredictable output ordering between platforms -# and runtimes, we can't reliably check the output here... although -# it should be some variation of the following: -cat >expout <<'_ATEOF' - Welcome to GNU libtool Fortran demo! - Real programmers write in FORTRAN. - fsub called - fsubf called - fsub returned, saying that 2 * 2 = 4 - fsub is ok! - fsub3 called - fsub3 returned, saying that 4 * 2 = 8 - fsub3 is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/f77demo.at:320: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:320" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/f77demo.at:320: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "f77demo.at:320" -( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Similarly, we can't reliably compare actual output with the following. -cat >expout <<'_ATEOF' -Welcome to GNU libtool mixed C/Fortran demo! -The C subroutine returned, claiming that 2*2 = 4 -The C subroutine is ok! - -Calling the C wrapper routine... -Calling the Fortran 77 subroutine from the C wrapper... - fsub called - fsubf called -Returned from the Fortran 77 subroutine... -The C wrapper to the fortran subroutine returned, -claiming that 2*2 = 4 -The Fortran 77 subroutine is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/f77demo.at:320: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:320" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/f77demo.at:320: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "f77demo.at:320" -( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:320" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_153 -#AT_START_154 -at_fn_group_banner 154 'f77demo.at:329' \ - "shared and static together" " " 24 -at_xfail=no - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "154. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:331: { test -n \"\$F77\" && test \"X\$F77\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$F77\" && test \"X$F77\" != Xno; } || (exit 77)" "f77demo.at:331" -( $at_check_trace; { test -n "$F77" && test "X$F77" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:331" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([f77demo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -AC_PROG_F77 -dnl When configuring for 'make dist' purposes, skip checks that may yield fatal -dnl errors when there is no working F77 compiler. -if test -z "$with_dist"; then - dnl Check the flags needed to link f77 programs with ld (i.e. cc) - AC_F77_LIBRARY_LDFLAGS - dnl Check for underscoring of external names - AC_F77_WRAPPERS -fi -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la - -libfoo_la_SOURCES = foof.f -libfoo_la_LIBADD = libfoo2.la -libfoo_la_LDFLAGS = -no-undefined - -libfoo2_la_SOURCES = foof2.f -libfoo2_la_LDFLAGS = -no-undefined - -libfoo3_la_SOURCES = foof3.f -libfoo3_la_LDFLAGS = -no-undefined - -libmix_la_SOURCES = foof.f foof2.f fooc.c -libmix_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h - -bin_PROGRAMS = fprogram cprogram - -fprogram_SOURCES = fprogram.f -fprogram_LDADD = libfoo.la libfoo3.la - -cprogram_SOURCES = cprogram.c -cprogram_LDADD = libmix.la $(FLIBS) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck -_ATEOF - - -cat >fprogram.f <<'_ATEOF' - program fprogram - implicit none - integer*4 arg,res - - write(*,*) 'Welcome to GNU libtool Fortran demo!' - write(*,*) 'Real programmers write in FORTRAN.' - arg=2 - - call fsub(arg,res) - - write(*,*) 'fsub returned, saying that 2 *',arg,' =',res - - if (res.eq.4) then - write(*,*) 'fsub is ok!' - endif - - call fsub3(arg,res) - - write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res - - if (res.eq.8) then - write(*,*) 'fsub3 is ok!' - endif - - stop - end -_ATEOF - - -cat >cprogram.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int -main () -{ - int arg,cres,fres; - - printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); - - arg=2; - - cres=csub(arg); - - printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); - - if(cres==2*arg) - printf ("The C subroutine is ok!\n"); - - printf("\nCalling the C wrapper routine...\n"); - fres=fwrapper(arg); - - printf ("The C wrapper to the fortran subroutine returned,\n" - "claiming that 2*%d = %d\n",arg,fres); - - if(fres==2*arg) - printf ("The Fortran 77 subroutine is ok!\n"); - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef _FOO_H_ -#define _FOO_H_ 1 - -/* config.h is necessary for the fortran name mangling */ -#include - -/* csub is an extremely useful subroutine that - * returns the argument multiplied by two :-) - */ -extern int csub(int); - -/* This routine performs the same action, but - * calls the fortran subroutine fsub to do the - * real work. - */ -extern int fwrapper(int); - -/* fsub does the same thing as csub, i.e. res=arg*2. - * Use autoconf macro for fortran function names. - * Note that fortran passes args by reference, so - * you need to provide pointers to your ints. - */ -extern -#ifdef __cplusplus -"C" -#endif -void F77_FUNC(fsub,FSUB)(int *arg, int *res); - -#endif -_ATEOF - - -cat >fooc.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int csub(int arg) -{ - return (2*arg); -} - - -int fwrapper(int arg) -{ - int res; - printf("Calling the Fortran 77 subroutine from the C wrapper...\n"); - F77_FUNC(fsub,FSUB)(&arg,&res); - printf("Returned from the Fortran 77 subroutine...\n"); - return res; -} -_ATEOF - - -cat >foof.f <<'_ATEOF' - subroutine fsub(arg,res) - write(*,*) 'fsub called' - call fsubf(arg,res) - return - end -_ATEOF - - -cat >foof2.f <<'_ATEOF' - subroutine fsubf(arg,res) - implicit none - integer*4 arg,res - write(*,*) 'fsubf called' - res=arg*2 - return - end -_ATEOF - - -cat >foof3.f <<'_ATEOF' - subroutine fsub3(arg,res) - implicit none - integer*4 arg,res - write(*,*) 'fsub3 called' - res=arg*4 - return - end -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:331: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:331" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:331" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/f77demo.at:333: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "f77demo.at:333" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:333: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "f77demo.at:333" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:333: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "f77demo.at:333" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/f77demo.at:333: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "f77demo.at:333" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/f77demo.at:333" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:333: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "f77demo.at:333" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:333: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "f77demo.at:333" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/f77demo.at:333: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "f77demo.at:333" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/f77demo.at:333: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "f77demo.at:333" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:333" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/f77demo.at:335: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "f77demo.at:335" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Due to differences in line-endings between C stdout and Fortran -# stdout, as well as unpredictable output ordering between platforms -# and runtimes, we can't reliably check the output here... although -# it should be some variation of the following: -cat >expout <<'_ATEOF' - Welcome to GNU libtool Fortran demo! - Real programmers write in FORTRAN. - fsub called - fsubf called - fsub returned, saying that 2 * 2 = 4 - fsub is ok! - fsub3 called - fsub3 returned, saying that 4 * 2 = 8 - fsub3 is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/f77demo.at:335: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:335" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/f77demo.at:335: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "f77demo.at:335" -( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Similarly, we can't reliably compare actual output with the following. -cat >expout <<'_ATEOF' -Welcome to GNU libtool mixed C/Fortran demo! -The C subroutine returned, claiming that 2*2 = 4 -The C subroutine is ok! - -Calling the C wrapper routine... -Calling the Fortran 77 subroutine from the C wrapper... - fsub called - fsubf called -Returned from the Fortran 77 subroutine... -The C wrapper to the fortran subroutine returned, -claiming that 2*2 = 4 -The Fortran 77 subroutine is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/f77demo.at:335: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "f77demo.at:335" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/f77demo.at:335: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "f77demo.at:335" -( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/f77demo.at:335" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_154 -#AT_START_155 -at_fn_group_banner 155 'fcdemo.at:310' \ - "static library" " " 25 -at_xfail=no - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "155. $at_setup_line: testing $at_desc ..." - $at_traceon - - -# Executing the static fprogram might be interactive on MSYS. - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:315: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "fcdemo.at:315" -( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:315" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Autoconf will accept f77 or similar as a valid FC, but often f77 - # will not compile fortran90 code; in that case skip the FC checks. - cat >fc_test.f90 <<'_ATEOF' - program main - - end -_ATEOF - - { set +x -$as_echo "$at_srcdir/fcdemo.at:315: \$FC \$FCFLAGS fc_test.f90 || exit 77" -at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "fcdemo.at:315" -( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:315" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([fcdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -AC_LANG_PUSH([Fortran]) -AC_PROG_FC -dnl Check the flags needed to link fc programs with ld (i.e. cc) -AC_FC_LIBRARY_LDFLAGS -dnl Check for underscoring of external names -AC_FC_WRAPPERS -dnl We need to use .f90 and not .f to enable Automake FC support -dnl Some Intel ifc/ifort do not understand .f95. :-/ -AC_FC_SRCEXT([f90]) -dnl Yes, we want free-form Fortran! -AC_FC_FREEFORM -AC_LANG_POP - -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la - -libfoo_la_SOURCES = foof.f90 -libfoo_la_LIBADD = libfoo2.la -libfoo_la_LDFLAGS = -no-undefined - -libfoo2_la_SOURCES = foof2.f90 -libfoo2_la_LDFLAGS = -no-undefined - -libfoo3_la_SOURCES = foof3.f90 -libfoo3_la_LDFLAGS = -no-undefined - -libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c -libmix_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h - -bin_PROGRAMS = fprogram cprogram - -fprogram_SOURCES = fprogram.f90 -fprogram_LDADD = libfoo.la libfoo3.la - -cprogram_SOURCES = cprogram.c -cprogram_LDADD = libmix.la $(FCLIBS) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -# Work around Automake bug, where FCFLAGS_f90 is not provided: -.f90.o: - $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< - -.f90.obj: - $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'` - -.f90.lo: - $(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< -_ATEOF - - -cat >fprogram.f90 <<'_ATEOF' -program fprogram - implicit none - integer arg,res - - write(*,*) 'Welcome to GNU libtool Fortran demo!' - write(*,*) 'Real programmers write in FORTRAN.' - arg=2 - - call fsub(arg,res) - - write(*,*) 'fsub returned, saying that 2 *',arg,' =',res - - if (res.eq.4) then - write(*,*) 'fsub is ok!' - endif - - call fsub3(arg,res) - - write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res - - if (res.eq.8) then - write(*,*) 'fsub3 is ok!' - endif - - stop -end -_ATEOF - - -cat >cprogram.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int -main () -{ - int arg,cres,fres; - - printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); - - arg=2; - - cres=csub (arg); - - printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); - - if (cres == 2*arg) - printf ("The C subroutine is ok!\n"); - - printf ("\nCalling the C wrapper routine...\n"); - fres = fwrapper (arg); - - printf ("The C wrapper to the fortran subroutine returned,\n" - "claiming that 2*%d = %d\n",arg,fres); - - if (fres == 2*arg) - printf ("The Fortran subroutine is ok!\n"); - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef _FOO_H_ -#define _FOO_H_ 1 - -/* config.h is necessary for the fortran name mangling */ -#include - -/* csub is an extremely useful subroutine that - * returns the argument multiplied by two :-) - */ -extern int csub(int); - -/* This routine performs the same action, but - * calls the fortran subroutine fsub to do the - * real work. - */ -extern int fwrapper(int); - -/* fsub does the same thing as csub, i.e. res=arg*2. - * Use autoconf macro for fortran function names. - * Note that fortran passes args by reference, so - * you need to provide pointers to your ints. - */ -extern -#ifdef __cplusplus -"C" -#endif -void FC_FUNC(fsub,FSUB)(int *arg, int *res); - -#endif -_ATEOF - - -cat >fooc.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int csub(int arg) -{ - return (2*arg); -} - - -int fwrapper(int arg) -{ - int res; - printf("Calling the Fortran subroutine from the C wrapper...\n"); - FC_FUNC(fsub,FSUB)(&arg,&res); - printf("Returned from the Fortran subroutine...\n"); - return res; -} -_ATEOF - - -cat >foof.f90 <<'_ATEOF' -subroutine fsub(arg,res) - write(*,*) 'fsub called' - call fsubf(arg,res) - return -end -_ATEOF - - -cat >foof2.f90 <<'_ATEOF' -subroutine fsubf(arg,res) - implicit none - integer arg,res - write(*,*) 'fsubf called' - res=arg*2 - return -end -_ATEOF - - -cat >foof3.f90 <<'_ATEOF' -subroutine fsub3(arg,res) - implicit none - integer arg,res - write(*,*) 'fsub3 called' - res=arg*4 - return -end -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:315: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:315" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:315" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/fcdemo.at:317: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.at:317" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:317: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:317" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:317: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.at:317" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/fcdemo.at:317: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.at:317" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/fcdemo.at:317" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:317: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.at:317" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:317: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-shared" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fcdemo.at:317" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-shared -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:317: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "fcdemo.at:317" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/fcdemo.at:317: \$EGREP '^build_libtool_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=no' libtool" "fcdemo.at:317" -( $at_check_trace; $EGREP '^build_libtool_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:317" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/fcdemo.at:319: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "fcdemo.at:319" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Due to differences in line-endings between C stdout and Fortran -# stdout, as well as unpredictable output ordering between platforms -# and runtimes, we can't reliably check the output here... although -# it should be some variation of the following: -cat >expout <<'_ATEOF' - Welcome to GNU libtool Fortran demo! - Real programmers write in FORTRAN. - fsub called - fsubf called - fsub returned, saying that 2 * 2 = 4 - fsub is ok! - fsub3 called - fsub3 returned, saying that 4 * 2 = 8 - fsub3 is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/fcdemo.at:319: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:319" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/fcdemo.at:319: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "fcdemo.at:319" -( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Similarly, we can't reliably compare actual output with the following. -cat >expout <<'_ATEOF' -Welcome to GNU libtool mixed C/Fortran demo! -The C subroutine returned, claiming that 2*2 = 4 -The C subroutine is ok! - -Calling the C wrapper routine... -Calling the Fortran subroutine from the C wrapper... - fsub called - fsubf called -Returned from the Fortran subroutine... -The C wrapper to the fortran subroutine returned, -claiming that 2*2 = 4 -The Fortran subroutine is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/fcdemo.at:319: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:319" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/fcdemo.at:319: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "fcdemo.at:319" -( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:319" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_155 -#AT_START_156 -at_fn_group_banner 156 'fcdemo.at:328' \ - "shared library" " " 25 -at_xfail=no - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "156. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:330: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "fcdemo.at:330" -( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:330" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Autoconf will accept f77 or similar as a valid FC, but often f77 - # will not compile fortran90 code; in that case skip the FC checks. - cat >fc_test.f90 <<'_ATEOF' - program main - - end -_ATEOF - - { set +x -$as_echo "$at_srcdir/fcdemo.at:330: \$FC \$FCFLAGS fc_test.f90 || exit 77" -at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "fcdemo.at:330" -( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:330" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([fcdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -AC_LANG_PUSH([Fortran]) -AC_PROG_FC -dnl Check the flags needed to link fc programs with ld (i.e. cc) -AC_FC_LIBRARY_LDFLAGS -dnl Check for underscoring of external names -AC_FC_WRAPPERS -dnl We need to use .f90 and not .f to enable Automake FC support -dnl Some Intel ifc/ifort do not understand .f95. :-/ -AC_FC_SRCEXT([f90]) -dnl Yes, we want free-form Fortran! -AC_FC_FREEFORM -AC_LANG_POP - -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la - -libfoo_la_SOURCES = foof.f90 -libfoo_la_LIBADD = libfoo2.la -libfoo_la_LDFLAGS = -no-undefined - -libfoo2_la_SOURCES = foof2.f90 -libfoo2_la_LDFLAGS = -no-undefined - -libfoo3_la_SOURCES = foof3.f90 -libfoo3_la_LDFLAGS = -no-undefined - -libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c -libmix_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h - -bin_PROGRAMS = fprogram cprogram - -fprogram_SOURCES = fprogram.f90 -fprogram_LDADD = libfoo.la libfoo3.la - -cprogram_SOURCES = cprogram.c -cprogram_LDADD = libmix.la $(FCLIBS) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -# Work around Automake bug, where FCFLAGS_f90 is not provided: -.f90.o: - $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< - -.f90.obj: - $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'` - -.f90.lo: - $(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< -_ATEOF - - -cat >fprogram.f90 <<'_ATEOF' -program fprogram - implicit none - integer arg,res - - write(*,*) 'Welcome to GNU libtool Fortran demo!' - write(*,*) 'Real programmers write in FORTRAN.' - arg=2 - - call fsub(arg,res) - - write(*,*) 'fsub returned, saying that 2 *',arg,' =',res - - if (res.eq.4) then - write(*,*) 'fsub is ok!' - endif - - call fsub3(arg,res) - - write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res - - if (res.eq.8) then - write(*,*) 'fsub3 is ok!' - endif - - stop -end -_ATEOF - - -cat >cprogram.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int -main () -{ - int arg,cres,fres; - - printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); - - arg=2; - - cres=csub (arg); - - printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); - - if (cres == 2*arg) - printf ("The C subroutine is ok!\n"); - - printf ("\nCalling the C wrapper routine...\n"); - fres = fwrapper (arg); - - printf ("The C wrapper to the fortran subroutine returned,\n" - "claiming that 2*%d = %d\n",arg,fres); - - if (fres == 2*arg) - printf ("The Fortran subroutine is ok!\n"); - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef _FOO_H_ -#define _FOO_H_ 1 - -/* config.h is necessary for the fortran name mangling */ -#include - -/* csub is an extremely useful subroutine that - * returns the argument multiplied by two :-) - */ -extern int csub(int); - -/* This routine performs the same action, but - * calls the fortran subroutine fsub to do the - * real work. - */ -extern int fwrapper(int); - -/* fsub does the same thing as csub, i.e. res=arg*2. - * Use autoconf macro for fortran function names. - * Note that fortran passes args by reference, so - * you need to provide pointers to your ints. - */ -extern -#ifdef __cplusplus -"C" -#endif -void FC_FUNC(fsub,FSUB)(int *arg, int *res); - -#endif -_ATEOF - - -cat >fooc.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int csub(int arg) -{ - return (2*arg); -} - - -int fwrapper(int arg) -{ - int res; - printf("Calling the Fortran subroutine from the C wrapper...\n"); - FC_FUNC(fsub,FSUB)(&arg,&res); - printf("Returned from the Fortran subroutine...\n"); - return res; -} -_ATEOF - - -cat >foof.f90 <<'_ATEOF' -subroutine fsub(arg,res) - write(*,*) 'fsub called' - call fsubf(arg,res) - return -end -_ATEOF - - -cat >foof2.f90 <<'_ATEOF' -subroutine fsubf(arg,res) - implicit none - integer arg,res - write(*,*) 'fsubf called' - res=arg*2 - return -end -_ATEOF - - -cat >foof3.f90 <<'_ATEOF' -subroutine fsub3(arg,res) - implicit none - integer arg,res - write(*,*) 'fsub3 called' - res=arg*4 - return -end -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:330: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:330" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:330" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/fcdemo.at:332: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.at:332" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:332: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:332" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:332: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.at:332" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/fcdemo.at:332: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.at:332" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/fcdemo.at:332" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:332: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.at:332" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:332: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" --disable-static" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fcdemo.at:332" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --disable-static -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:332: \$EGREP '^build_old_libs=no' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=no' libtool" "fcdemo.at:332" -( $at_check_trace; $EGREP '^build_old_libs=no' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/fcdemo.at:332: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "fcdemo.at:332" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:332" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/fcdemo.at:334: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "fcdemo.at:334" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Due to differences in line-endings between C stdout and Fortran -# stdout, as well as unpredictable output ordering between platforms -# and runtimes, we can't reliably check the output here... although -# it should be some variation of the following: -cat >expout <<'_ATEOF' - Welcome to GNU libtool Fortran demo! - Real programmers write in FORTRAN. - fsub called - fsubf called - fsub returned, saying that 2 * 2 = 4 - fsub is ok! - fsub3 called - fsub3 returned, saying that 4 * 2 = 8 - fsub3 is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/fcdemo.at:334: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:334" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/fcdemo.at:334: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "fcdemo.at:334" -( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Similarly, we can't reliably compare actual output with the following. -cat >expout <<'_ATEOF' -Welcome to GNU libtool mixed C/Fortran demo! -The C subroutine returned, claiming that 2*2 = 4 -The C subroutine is ok! - -Calling the C wrapper routine... -Calling the Fortran subroutine from the C wrapper... - fsub called - fsubf called -Returned from the Fortran subroutine... -The C wrapper to the fortran subroutine returned, -claiming that 2*2 = 4 -The Fortran subroutine is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/fcdemo.at:334: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:334" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/fcdemo.at:334: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "fcdemo.at:334" -( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:334" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_156 -#AT_START_157 -at_fn_group_banner 157 'fcdemo.at:343' \ - "shared and static together" " " 25 -at_xfail=no - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOHEADER" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "157. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:345: { test -n \"\$FC\" && test \"X\$FC\" != Xno; } || (exit 77)" -at_fn_check_prepare_dynamic "{ test -n \"$FC\" && test \"X$FC\" != Xno; } || (exit 77)" "fcdemo.at:345" -( $at_check_trace; { test -n "$FC" && test "X$FC" != Xno; } || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:345" -$at_failed && at_fn_log_failure -$at_traceon; } - -# Autoconf will accept f77 or similar as a valid FC, but often f77 - # will not compile fortran90 code; in that case skip the FC checks. - cat >fc_test.f90 <<'_ATEOF' - program main - - end -_ATEOF - - { set +x -$as_echo "$at_srcdir/fcdemo.at:345: \$FC \$FCFLAGS fc_test.f90 || exit 77" -at_fn_check_prepare_dynamic "$FC $FCFLAGS fc_test.f90 || exit 77" "fcdemo.at:345" -( $at_check_trace; $FC $FCFLAGS fc_test.f90 || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:345" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -cat >configure.ac <<'_ATEOF' -AC_INIT([fcdemo], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE -AC_PROG_CC - -AC_LANG_PUSH([Fortran]) -AC_PROG_FC -dnl Check the flags needed to link fc programs with ld (i.e. cc) -AC_FC_LIBRARY_LDFLAGS -dnl Check for underscoring of external names -AC_FC_WRAPPERS -dnl We need to use .f90 and not .f to enable Automake FC support -dnl Some Intel ifc/ifort do not understand .f95. :-/ -AC_FC_SRCEXT([f90]) -dnl Yes, we want free-form Fortran! -AC_FC_FREEFORM -AC_LANG_POP - -LT_INIT -AC_SUBST([LIBTOOL_DEPS]) -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADERS([config.h:config.in.h]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' -AUTOMAKE_OPTIONS = no-dependencies foreign -ACLOCAL_AMFLAGS = -I m4 - -lib_LTLIBRARIES = libfoo.la libmix.la libfoo2.la libfoo3.la - -libfoo_la_SOURCES = foof.f90 -libfoo_la_LIBADD = libfoo2.la -libfoo_la_LDFLAGS = -no-undefined - -libfoo2_la_SOURCES = foof2.f90 -libfoo2_la_LDFLAGS = -no-undefined - -libfoo3_la_SOURCES = foof3.f90 -libfoo3_la_LDFLAGS = -no-undefined - -libmix_la_SOURCES = foof.f90 foof2.f90 fooc.c -libmix_la_LDFLAGS = -no-undefined - -noinst_HEADERS = foo.h - -bin_PROGRAMS = fprogram cprogram - -fprogram_SOURCES = fprogram.f90 -fprogram_LDADD = libfoo.la libfoo3.la - -cprogram_SOURCES = cprogram.c -cprogram_LDADD = libmix.la $(FCLIBS) - -libtool: $(LIBTOOL_DEPS) - $(SHELL) ./config.status --recheck - -# Work around Automake bug, where FCFLAGS_f90 is not provided: -.f90.o: - $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< - -.f90.obj: - $(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'` - -.f90.lo: - $(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $< -_ATEOF - - -cat >fprogram.f90 <<'_ATEOF' -program fprogram - implicit none - integer arg,res - - write(*,*) 'Welcome to GNU libtool Fortran demo!' - write(*,*) 'Real programmers write in FORTRAN.' - arg=2 - - call fsub(arg,res) - - write(*,*) 'fsub returned, saying that 2 *',arg,' =',res - - if (res.eq.4) then - write(*,*) 'fsub is ok!' - endif - - call fsub3(arg,res) - - write(*,*) 'fsub3 returned, saying that 4 *',arg,' =',res - - if (res.eq.8) then - write(*,*) 'fsub3 is ok!' - endif - - stop -end -_ATEOF - - -cat >cprogram.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int -main () -{ - int arg,cres,fres; - - printf ("Welcome to GNU libtool mixed C/Fortran demo!\n"); - - arg=2; - - cres=csub (arg); - - printf ("The C subroutine returned, claiming that 2*%d = %d\n",arg,cres); - - if (cres == 2*arg) - printf ("The C subroutine is ok!\n"); - - printf ("\nCalling the C wrapper routine...\n"); - fres = fwrapper (arg); - - printf ("The C wrapper to the fortran subroutine returned,\n" - "claiming that 2*%d = %d\n",arg,fres); - - if (fres == 2*arg) - printf ("The Fortran subroutine is ok!\n"); - - return 0; -} -_ATEOF - - -cat >foo.h <<'_ATEOF' -#ifndef _FOO_H_ -#define _FOO_H_ 1 - -/* config.h is necessary for the fortran name mangling */ -#include - -/* csub is an extremely useful subroutine that - * returns the argument multiplied by two :-) - */ -extern int csub(int); - -/* This routine performs the same action, but - * calls the fortran subroutine fsub to do the - * real work. - */ -extern int fwrapper(int); - -/* fsub does the same thing as csub, i.e. res=arg*2. - * Use autoconf macro for fortran function names. - * Note that fortran passes args by reference, so - * you need to provide pointers to your ints. - */ -extern -#ifdef __cplusplus -"C" -#endif -void FC_FUNC(fsub,FSUB)(int *arg, int *res); - -#endif -_ATEOF - - -cat >fooc.c <<'_ATEOF' -#include -#include - -#include "foo.h" - -int csub(int arg) -{ - return (2*arg); -} - - -int fwrapper(int arg) -{ - int res; - printf("Calling the Fortran subroutine from the C wrapper...\n"); - FC_FUNC(fsub,FSUB)(&arg,&res); - printf("Returned from the Fortran subroutine...\n"); - return res; -} -_ATEOF - - -cat >foof.f90 <<'_ATEOF' -subroutine fsub(arg,res) - write(*,*) 'fsub called' - call fsubf(arg,res) - return -end -_ATEOF - - -cat >foof2.f90 <<'_ATEOF' -subroutine fsubf(arg,res) - implicit none - integer arg,res - write(*,*) 'fsubf called' - res=arg*2 - return -end -_ATEOF - - -cat >foof3.f90 <<'_ATEOF' -subroutine fsub3(arg,res) - implicit none - integer arg,res - write(*,*) 'fsub3 called' - res=arg*4 - return -end -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:345: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:345" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:345" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - - -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I m4$macro_dir"; { set +x -$as_echo "$at_srcdir/fcdemo.at:347: \$ACLOCAL -I m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I m4$macro_dir" "fcdemo.at:347" -( $at_check_trace; $ACLOCAL -I m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:347: \$AUTOHEADER " -at_fn_check_prepare_dynamic "$AUTOHEADER " "fcdemo.at:347" -( $at_check_trace; $AUTOHEADER -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:347: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "fcdemo.at:347" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/fcdemo.at:347: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "fcdemo.at:347" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/fcdemo.at:347" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:347: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "fcdemo.at:347" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:347: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fcdemo.at:347" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/fcdemo.at:347: \$EGREP '^build_old_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_old_libs=yes' libtool" "fcdemo.at:347" -( $at_check_trace; $EGREP '^build_old_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/fcdemo.at:347: \$EGREP '^build_libtool_libs=yes' libtool" -at_fn_check_prepare_dynamic "$EGREP '^build_libtool_libs=yes' libtool" "fcdemo.at:347" -( $at_check_trace; $EGREP '^build_libtool_libs=yes' libtool -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:347" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - - -for target in all -do - { set +x -$as_echo "$at_srcdir/fcdemo.at:349: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "fcdemo.at:349" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - -# Due to differences in line-endings between C stdout and Fortran -# stdout, as well as unpredictable output ordering between platforms -# and runtimes, we can't reliably check the output here... although -# it should be some variation of the following: -cat >expout <<'_ATEOF' - Welcome to GNU libtool Fortran demo! - Real programmers write in FORTRAN. - fsub called - fsubf called - fsub returned, saying that 2 * 2 = 4 - fsub is ok! - fsub3 called - fsub3 returned, saying that 4 * 2 = 8 - fsub3 is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./fprogram; if test -f "./fprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/fcdemo.at:349: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:349" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/fcdemo.at:349: \$GREP 'Welcome to GNU libtool Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool Fortran demo!' stdout" "fcdemo.at:349" -( $at_check_trace; $GREP 'Welcome to GNU libtool Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Similarly, we can't reliably compare actual output with the following. -cat >expout <<'_ATEOF' -Welcome to GNU libtool mixed C/Fortran demo! -The C subroutine returned, claiming that 2*2 = 4 -The C subroutine is ok! - -Calling the C wrapper routine... -Calling the Fortran subroutine from the C wrapper... - fsub called - fsubf called -Returned from the Fortran subroutine... -The C wrapper to the fortran subroutine returned, -claiming that 2*2 = 4 -The Fortran subroutine is ok! -_ATEOF - -case $host_os in mingw*) - awk '{printf ("%s\r\n", $0);}' < expout > expout.t && mv -f expout.t expout ;; -esac -lt_exe=./cprogram; if test -f "./cprogram$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/fcdemo.at:349: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "fcdemo.at:349" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -# A weaker output content check that is agnostic to the issues above. -{ set +x -$as_echo "$at_srcdir/fcdemo.at:349: \$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" -at_fn_check_prepare_dynamic "$GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout" "fcdemo.at:349" -( $at_check_trace; $GREP 'Welcome to GNU libtool mixed C/Fortran demo!' stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/fcdemo.at:349" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_157 -#AT_START_158 -at_fn_group_banner 158 'darwin.at:27' \ - "darwin fat compile" " " 26 -at_xfail=no -( - $as_echo "158. $at_setup_line: testing $at_desc ..." - $at_traceon - -noskip=: -case $host_os in -darwin*) ;; -*) noskip=false ;; -esac - -cat >simple.c <<'_ATEOF' - -int main() { return 0;} -_ATEOF - - -$noskip && { -$CC $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 -o simple simple.c 2>&1 > /dev/null || noskip=false -rm -f simple -} - -{ set +x -$as_echo "$at_srcdir/darwin.at:43: \$noskip || (exit 77)" -at_fn_check_prepare_dynamic "$noskip || (exit 77)" "darwin.at:43" -( $at_check_trace; $noskip || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:43" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >foo.c <<'_ATEOF' - -int x=0; -_ATEOF - - -cat >baz.c <<'_ATEOF' - -int y=0; -_ATEOF - - -cat >bar.c <<'_ATEOF' - -extern int x; -int bar(void); -int bar() { return x;} -_ATEOF - - -cat >main.c <<'_ATEOF' - -extern int x; -extern int y; - -int main() { -return x+y; -} -_ATEOF - - -mkdir bin -cat >bin/basename <<'_ATEOF' - -#! /bin/sh - -usage="usage: $0 argument" -if test $# != 1; then - echo $usage >&2 - exit 1 -fi - -echo $1 | $SED "s|^.*/||" -_ATEOF - - -chmod +x bin/basename -save_PATH=$PATH -PATH=`pwd`/bin:$PATH -export PATH - -{ set +x -$as_echo "$at_srcdir/darwin.at:86: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o foo.lo \$CPPFLAGS \$CFLAGS -arch x86_64 -arch i386 foo.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 foo.c" "darwin.at:86" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o foo.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 foo.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:86" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:88: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o baz.lo \$CPPFLAGS \$CFLAGS -arch x86_64 -arch i386 baz.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 baz.c" "darwin.at:88" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o baz.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 baz.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:88" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:90: \$LIBTOOL --mode=link --tag=CC \$CC -o libfoo.la \$CPPFLAGS \$CFLAGS \$LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo" "darwin.at:90" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o libfoo.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 foo.lo baz.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:90" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:92: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o bar.lo \$CPPFLAGS \$CFLAGS -arch x86_64 -arch i386 bar.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 bar.c" "darwin.at:92" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o bar.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 bar.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:92" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:94: \$LIBTOOL --mode=link --tag=CC \$CC -o libbar.la \$CPPFLAGS \$CFLAGS \$LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent" "darwin.at:94" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o libbar.la $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 bar.lo libfoo.la -rpath /nonexistent -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:94" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:96: \$LIBTOOL --mode=compile --tag=CC \$CC -c -o main.lo \$CPPFLAGS \$CFLAGS -arch x86_64 -arch i386 main.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 main.c" "darwin.at:96" -( $at_check_trace; $LIBTOOL --mode=compile --tag=CC $CC -c -o main.lo $CPPFLAGS $CFLAGS -arch x86_64 -arch i386 main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:96" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:98: \$LIBTOOL --mode=link --tag=CC \$CC -o main\$EXEEXT \$CPPFLAGS \$CFLAGS \$LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la" "darwin.at:98" -( $at_check_trace; $LIBTOOL --mode=link --tag=CC $CC -o main$EXEEXT $CPPFLAGS $CFLAGS $LDFLAGS -arch x86_64 -arch i386 main.lo libbar.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:98" -$at_failed && at_fn_log_failure -$at_traceon; } - - -PATH=$save_PATH - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_158 -#AT_START_159 -at_fn_group_banner 159 'darwin.at:104' \ - "darwin concurrent library extraction" " " 26 -at_xfail=no -( - $as_echo "159. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >foo.c <<'_ATEOF' - -int foo (void) { return 0; } -_ATEOF - - -cat >bar.c <<'_ATEOF' - -extern int foo1 (void); -int bar (void) { return foo1 (); } -_ATEOF - -cp bar.c baz.c - -objects= -for obj in 1 2 3 4 5 6 7 8; do - $SED "s/foo/foo$obj/" < foo.c > foo$obj.c - { set +x -$as_echo "$at_srcdir/darwin.at:119: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c foo\$obj.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo$obj.c" "darwin.at:119" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo$obj.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:119" -$at_failed && at_fn_log_failure -$at_traceon; } - - objects="$objects foo$obj.lo" -done -{ set +x -$as_echo "$at_srcdir/darwin.at:123: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c bar.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c" "darwin.at:123" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:123" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:125: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c baz.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c baz.c" "darwin.at:125" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c baz.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:125" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:127: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libfoo.la \$objects" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la $objects" "darwin.at:127" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la $objects -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:127" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Hypothesis: concurrent convenience archive extraction works. -for i in 1 2 3 4 5; do - rm -f libbar.la libbaz.la - { set +x -$as_echo "$at_srcdir/darwin.at:133: (\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la) & (\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbaz.la baz.lo -rpath /foo libfoo.la) & wait; test -f libbar.la && test -f libbaz.la" -at_fn_check_prepare_dynamic "($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la) & ($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -rpath /foo libfoo.la) & wait; test -f libbar.la && test -f libbaz.la" "darwin.at:133" -( $at_check_trace; ($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la) & ($LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbaz.la baz.lo -rpath /foo libfoo.la) & wait; test -f libbar.la && test -f libbaz.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:133" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - -# Hypothesis: the lock is not used in dry run mode. -eval "`$LIBTOOL --config | $EGREP '^(objdir)='`" -# Next line is internal detail. -lockfile=$objdir/libfoo.a.lock -echo stamp > $lockfile -{ set +x -$as_echo "$at_srcdir/darwin.at:146: \$LIBTOOL --dry-run --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la" -at_fn_check_prepare_dynamic "$LIBTOOL --dry-run --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la" "darwin.at:146" -( $at_check_trace; $LIBTOOL --dry-run --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:146" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:149: \$GREP stamp \$lockfile" -at_fn_check_prepare_dynamic "$GREP stamp $lockfile" "darwin.at:149" -( $at_check_trace; $GREP stamp $lockfile -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:149" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_159 -#AT_START_160 -at_fn_group_banner 160 'darwin.at:153' \ - "darwin gdb debug information" " " 26 -at_xfail=no - -eval "`$LIBTOOL --config | $EGREP '^(whole_archive_flag_spec)='`" -case $whole_archive_flag_spec:$host_os in -:darwin*) : ;; -*) false ;; -esac && at_xfail=yes -( - $as_echo "160. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/darwin.at:155: gdb --version || (exit 77)" -at_fn_check_prepare_trace "darwin.at:155" -( $at_check_trace; gdb --version || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/darwin.at:155" -$at_failed && at_fn_log_failure -$at_traceon; } - - -cat >foo.c <<'_ATEOF' - -int foo (void) { return 0; } -_ATEOF - - -cat >bar.c <<'_ATEOF' - -extern int foo (void); -int bar (void) { return foo (); } -_ATEOF - - -cat >main.c <<'_ATEOF' - -extern int bar(void); - -int main() { return bar();} -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/darwin.at:172: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c bar.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c" "darwin.at:172" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c bar.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:172" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:174: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c foo.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo.c" "darwin.at:174" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c foo.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:174" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:176: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c" "darwin.at:176" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:176" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:179: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libfoo.la foo.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo" "darwin.at:179" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libfoo.la foo.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:179" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:182: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la " -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la " "darwin.at:182" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libbar.la bar.lo -rpath /foo libfoo.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:182" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:186: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o main main.lo libbar.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.lo libbar.la" "darwin.at:186" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o main main.lo libbar.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:186" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:188: echo quit | \$LIBTOOL --mode=execute gdb main" -at_fn_check_prepare_notrace 'a shell pipeline' "darwin.at:188" -( $at_check_trace; echo quit | $LIBTOOL --mode=execute gdb main -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/darwin.at:188" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:191: \$GREP 'Could not find object file' stderr" -at_fn_check_prepare_dynamic "$GREP 'Could not find object file' stderr" "darwin.at:191" -( $at_check_trace; $GREP 'Could not find object file' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/darwin.at:191" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -# Remove any dSYM bundle -rm -rf .libs/*.dSYM - -{ set +x -$as_echo "$at_srcdir/darwin.at:203: echo quit | \$LIBTOOL --mode=execute gdb main" -at_fn_check_prepare_notrace 'a shell pipeline' "darwin.at:203" -( $at_check_trace; echo quit | $LIBTOOL --mode=execute gdb main -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/darwin.at:203" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:205: \$GREP 'Could not find object file' stderr" -at_fn_check_prepare_dynamic "$GREP 'Could not find object file' stderr" "darwin.at:205" -( $at_check_trace; $GREP 'Could not find object file' stderr -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 1 $at_status "$at_srcdir/darwin.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_160 -#AT_START_161 -at_fn_group_banner 161 'darwin.at:209' \ - "darwin ld warnings changing configure results" " " 26 -at_xfail=no - case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac && at_xfail=yes -( - $as_echo "161. $at_setup_line: testing $at_desc ..." - $at_traceon - - -cat >configure.ac <<'_ATEOF' -AC_INIT([ld-stderr], 2.4.7, bug-libtool@gnu.org) -AC_CONFIG_MACRO_DIRS([m4]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -LT_INIT -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT -_ATEOF - - -cat >Makefile.am <<'_ATEOF' - -ACLOCAL_AMFLAGS = -I m4 -_ATEOF - -$LIBTOOLIZE --copy --force - - -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -{ set +x -$as_echo "$at_srcdir/darwin.at:225: \$AUTORECONF --force --install" -at_fn_check_prepare_dynamic "$AUTORECONF --force --install" "darwin.at:225" -( $at_check_trace; $AUTORECONF --force --install -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:225" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/darwin.at:225: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "darwin.at:225" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/darwin.at:225" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/darwin.at:226: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "darwin.at:226" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:226" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:227: ./libtool --config" -at_fn_check_prepare_trace "darwin.at:227" -( $at_check_trace; ./libtool --config -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_skip $at_status "$at_srcdir/darwin.at:227" -$at_failed && at_fn_log_failure -$at_traceon; } - -mv stdout expout -{ set +x -$as_echo "$at_srcdir/darwin.at:229: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" LDFLAGS=-L/there/is/no/dir/here" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "darwin.at:229" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" LDFLAGS=-L/there/is/no/dir/here -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:229" -$at_failed && at_fn_log_failure -$at_traceon; } - - -{ set +x -$as_echo "$at_srcdir/darwin.at:230: ./libtool --config" -at_fn_check_prepare_trace "darwin.at:230" -( $at_check_trace; ./libtool --config -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -$at_diff expout "$at_stdout" || at_failed=: -at_fn_check_skip $at_status "$at_srcdir/darwin.at:230" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_161 -#AT_START_162 -at_fn_group_banner 162 'darwin.at:233' \ - "darwin can lt_dlopen .dylib and .so files" " " 26 -at_xfail=no -( - $as_echo "162. $at_setup_line: testing $at_desc ..." - $at_traceon - - - - -# This test requires shared library support. -{ set +x -$as_echo "$at_srcdir/darwin.at:238: \$LIBTOOL --features | \$GREP 'enable shared libraries' || exit 77" -at_fn_check_prepare_notrace 'a shell pipeline' "darwin.at:238" -( $at_check_trace; $LIBTOOL --features | $GREP 'enable shared libraries' || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:238" -$at_failed && at_fn_log_failure -$at_traceon; } - - -eval `$LIBTOOL --config | $EGREP '^shrext_cmds='` - -module=no -eval shared_ext=\"$shrext_cmds\" -module=yes -eval module_ext=\"$shrext_cmds\" - -# Only bother with this test if module extension is different from -# shared extension -{ set +x -$as_echo "$at_srcdir/darwin.at:250: test \"\$shared_ext\" != \"\$module_ext\" || exit 77" -at_fn_check_prepare_dynamic "test \"$shared_ext\" != \"$module_ext\" || exit 77" "darwin.at:250" -( $at_check_trace; test "$shared_ext" != "$module_ext" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:250" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Skip this test when called from: -# make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install -{ set +x -$as_echo "$at_srcdir/darwin.at:254: case \$LIBLTDL in #( - */_inst/lib/*) test -f \"\$LIBLTDL\" || (exit 77) ;; -esac" -at_fn_check_prepare_notrace 'an embedded newline' "darwin.at:254" -( $at_check_trace; case $LIBLTDL in #( - */_inst/lib/*) test -f "$LIBLTDL" || (exit 77) ;; -esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:254" -$at_failed && at_fn_log_failure -$at_traceon; } - - -prefix=`pwd`/inst -libdir=$prefix/lib -bindir=$prefix/bin -mkdir $prefix $libdir $bindir - -# This code is copied from the Autobook: -# -# so if it needs changes, be sure to notify the Autobook authors -# about them. - -cat >simple-module.c <<'_ATEOF' - -#include - -#ifdef __cplusplus -extern "C" -#endif -int -run (const char *argument) -{ - printf ("Hello, %s!\n", argument); - return 0; -} -_ATEOF - - -cat >ltdl-loader.c <<'_ATEOF' - -#include -#include -#ifndef EXIT_FAILURE -# define EXIT_FAILURE 1 -# define EXIT_SUCCESS 0 -#endif - -#include -#ifndef PATH_MAX -# define PATH_MAX 255 -#endif - -#include -#include - -#ifndef MODULE_PATH_ENV -# define MODULE_PATH_ENV "MODULE_PATH" -#endif - -typedef int entrypoint (const char *argument); - -/* Save and return a copy of the dlerror() error message, - since the next API call may overwrite the original. */ -static char *dlerrordup (char *errormsg); - -int -main (int argc, const char *argv[]) -{ - char *errormsg = NULL; - lt_dlhandle module = NULL; - entrypoint *run = NULL; - int errors = 0; - - if (argc != 3) - { - fprintf (stderr, "USAGE: main MODULENAME ARGUMENT\n"); - exit (EXIT_FAILURE); - } - - /* Initialise libltdl. */ - errors = lt_dlinit (); - - /* Set the module search path. */ - if (!errors) - { - const char *path = getenv (MODULE_PATH_ENV); - - if (path != NULL) - errors = lt_dlsetsearchpath (path); - } - - /* Load the module. */ - if (!errors) - module = lt_dlopenext (argv[1]); - - /* Find the entry point. */ - if (module) - { - run = (entrypoint *) lt_dlsym (module, "run"); - - /* In principle, run might legitimately be NULL, so - I don't use run == NULL as an error indicator - in general. */ - errormsg = dlerrordup (errormsg); - if (errormsg != NULL) - { - errors = lt_dlclose (module); - module = NULL; - } - } - else - errors = 1; - - /* Call the entry point function. */ - if (!errors) - { - int result = (*run) (argv[2]); - if (result < 0) - errormsg = strdup ("module entry point execution failed"); - else - printf ("\t=> %d\n", result); - } - - /* Unload the module, now that we are done with it. */ - if (!errors) - errors = lt_dlclose (module); - - if (errors) - { - /* Diagnose the encountered error. */ - errormsg = dlerrordup (errormsg); - - if (!errormsg) - { - fprintf (stderr, "%s: dlerror() failed.\n", argv[0]); - return EXIT_FAILURE; - } - } - - /* Finished with ltdl now. */ - if (!errors) - if (lt_dlexit () != 0) - errormsg = dlerrordup (errormsg); - - if (errormsg) - { - fprintf (stderr, "%s: %s.\n", argv[0], errormsg); - free (errormsg); - exit (EXIT_FAILURE); - } - - return EXIT_SUCCESS; -} - -/* Be careful to save a copy of the error message, - since the next API call may overwrite the original. */ -static char * -dlerrordup (char *errormsg) -{ - char *error = (char *) lt_dlerror (); - if (error && !errormsg) - errormsg = strdup (error); - return errormsg; -} -_ATEOF - - -: ${LTDLINCL="-I$abs_top_srcdir/libltdl"} -: ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} - -CPPFLAGS="$LTDLINCL $CPPFLAGS" -LDFLAGS="$LDFLAGS -no-undefined" - -{ set +x -$as_echo "$at_srcdir/darwin.at:417: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c simple-module.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c" "darwin.at:417" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c simple-module.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:417" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:419: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o simple-module.la simple-module.lo -rpath \$libdir -module -avoid-version" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la simple-module.lo -rpath $libdir -module -avoid-version" "darwin.at:419" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o simple-module.la simple-module.lo -rpath $libdir -module -avoid-version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:419" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:422: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libsimple-dylib.la simple-module.lo -rpath \$libdir -avoid-version" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libsimple-dylib.la simple-module.lo -rpath $libdir -avoid-version" "darwin.at:422" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libsimple-dylib.la simple-module.lo -rpath $libdir -avoid-version -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:422" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:425: \$CC \$CPPFLAGS \$CFLAGS -c ltdl-loader.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c ltdl-loader.c" "darwin.at:425" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c ltdl-loader.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:425" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:427: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o ltdl-loader\$EXEEXT ltdl-loader.\$OBJEXT -dlopen self \$LIBLTDL" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ltdl-loader.$OBJEXT -dlopen self $LIBLTDL" "darwin.at:427" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o ltdl-loader$EXEEXT ltdl-loader.$OBJEXT -dlopen self $LIBLTDL -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:427" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:430: \$LIBTOOL --mode=install cp simple-module.la \$libdir/simple-module.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la" "darwin.at:430" -( $at_check_trace; $LIBTOOL --mode=install cp simple-module.la $libdir/simple-module.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:430" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:431: \$LIBTOOL --mode=install cp libsimple-dylib.la \$libdir/libsimple-dylib.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp libsimple-dylib.la $libdir/libsimple-dylib.la" "darwin.at:431" -( $at_check_trace; $LIBTOOL --mode=install cp libsimple-dylib.la $libdir/libsimple-dylib.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:431" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:432: \$LIBTOOL --mode=clean rm -f simple-module.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f simple-module.la" "darwin.at:432" -( $at_check_trace; $LIBTOOL --mode=clean rm -f simple-module.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:432" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/darwin.at:433: \$LIBTOOL --mode=clean rm -f libsimple-dylib.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f libsimple-dylib.la" "darwin.at:433" -( $at_check_trace; $LIBTOOL --mode=clean rm -f libsimple-dylib.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:433" -$at_failed && at_fn_log_failure -$at_traceon; } - - -rm $libdir/simple-module.la -rm $libdir/libsimple-dylib.la - -for dir in inst/lib "$libdir"; do - lt_exe=./ltdl-loader; if test -f "./ltdl-loader$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/darwin.at:439: if \"\$lt_exe\" \$dir/simple-module World; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" $dir/simple-module World; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "darwin.at:439" -( $at_check_trace; if "$lt_exe" $dir/simple-module World; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:439" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/darwin.at:441: \$GREP \"Hello, World\" stdout" -at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "darwin.at:441" -( $at_check_trace; $GREP "Hello, World" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:441" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./ltdl-loader; if test -f "./ltdl-loader$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/darwin.at:442: if \"\$lt_exe\" \$dir/libsimple-dylib World; then :; else lt_status=\$?; test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" $dir/libsimple-dylib World; then :; else lt_status=$?; test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "darwin.at:442" -( $at_check_trace; if "$lt_exe" $dir/libsimple-dylib World; then :; else lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:442" -$at_failed && at_fn_log_failure -$at_traceon; } - - - { set +x -$as_echo "$at_srcdir/darwin.at:444: \$GREP \"Hello, World\" stdout" -at_fn_check_prepare_dynamic "$GREP \"Hello, World\" stdout" "darwin.at:444" -( $at_check_trace; $GREP "Hello, World" stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/darwin.at:444" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_162 -#AT_START_163 -at_fn_group_banner 163 'dumpbin-symbols.at:25' \ - "dumpbin -symbols section hiding" " " 27 -at_xfail=no -( - $as_echo "163. $at_setup_line: testing $at_desc ..." - $at_traceon - - -# I don't know of a stable way to create a pair of objects that -# exhibits the potential problem, so this test fakes it by -# testing with output from a case that do have the potential -# problem. - -# First check if the global_symbol_pipe can handle the below -# test case at all, and skip if $NM is not MS dumpbin. - -cat >variable.c <<'_ATEOF' - -int some_variable = 0; -_ATEOF - - -{ set +x -$as_echo "$at_srcdir/dumpbin-symbols.at:40: \$CC \$CPPFLAGS \$CFLAGS -c variable.c" -at_fn_check_prepare_dynamic "$CC $CPPFLAGS $CFLAGS -c variable.c" "dumpbin-symbols.at:40" -( $at_check_trace; $CC $CPPFLAGS $CFLAGS -c variable.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:40" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/dumpbin-symbols.at:41: \$NM variable.\$OBJEXT" -at_fn_check_prepare_dynamic "$NM variable.$OBJEXT" "dumpbin-symbols.at:41" -( $at_check_trace; $NM variable.$OBJEXT -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:41" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/dumpbin-symbols.at:42: \$GREP 'External.*some_variable' stdout || exit 77" -at_fn_check_prepare_dynamic "$GREP 'External.*some_variable' stdout || exit 77" "dumpbin-symbols.at:42" -( $at_check_trace; $GREP 'External.*some_variable' stdout || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:42" -$at_failed && at_fn_log_failure -$at_traceon; } - - -eval `$LIBTOOL --config | $EGREP '^(global_symbol_pipe)='` - -cat >dumpbin-output <<'_ATEOF' - -Dump of file foo.obj - -File Type: COFF OBJECT - -COFF SYMBOL TABLE -000 00AB766F ABS notype Static | @comp.id -001 00000001 ABS notype Static | @feat.00 -002 00000000 SECT1 notype Static | .drectve - Section length 8F, #relocs 0, #linenums 0, checksum 0 -004 00000000 SECT2 notype Static | .debug$S - Section length 44B4, #relocs 1C, #linenums 0, checksum 0 -006 00000000 SECT3 notype Static | .rdata - Section length 1, #relocs 0, #linenums 0, checksum 0, selection 2 (pick any) -008 00000000 SECT3 notype External | ?value@?$integral_constant@_N$0A@@tr1@std@@2_NB (public: static bool const std::tr1::integral_constant::value) -009 00000000 SECT4 notype Static | .rdata - Section length 1, #relocs 0, #linenums 0, checksum 77073096, selection 2 (pick any) -*snip lots of uninteresting crap* -12A 00000000 SECT5B notype Static | .text - Section length 4B, #relocs 2, #linenums 0, checksum 22AE8362, selection 2 (pick any) -12C 00000000 SECT5C notype Static | .debug$S - Section length 150, #relocs B, #linenums 0, checksum 0, selection 5 (pick associative Section 0x5B) -12F 00000000 SECT5D notype Static | .debug$T - Section length 5C, #relocs 0, #linenums 0, checksum 0 - -String Table Size = 0x15EF bytes - - -Dump of file conv.lib - -File Type: LIBRARY - -COFF SYMBOL TABLE -000 00AB766F ABS notype Static | @comp.id -001 00000001 ABS notype Static | @feat.00 -002 00000000 SECT1 notype Static | .drectve - Section length 2F, #relocs 0, #linenums 0, checksum 0 -004 00000000 SECT2 notype Static | .debug$S - Section length 70C, #relocs 5, #linenums 0, checksum 0 -006 00000000 SECT3 notype Static | .text - Section length A, #relocs 0, #linenums 0, checksum BAFC81C1 -008 00000000 SECT3 notype () External | _convenience -009 00000000 SECT4 notype Static | .debug$T - Section length 5C, #relocs 0, #linenums 0, checksum 0 - -String Table Size = 0x11 bytes - - Summary - - 5B3C .debug$S - B8 .debug$T - BE .drectve - 129 .rdata - C .sxdata - 613 .text - 6C .text$x - B8 .xdata$x -_ATEOF - - -# Check if the _convenience symbol from section SECT3 in conv.lib is -# present even if section SECT3 in foo.obj is hidden. -{ set +x -$as_echo "$at_srcdir/dumpbin-symbols.at:108: < dumpbin-output eval \"\$global_symbol_pipe\"" -at_fn_check_prepare_dynamic "< dumpbin-output eval \"$global_symbol_pipe\"" "dumpbin-symbols.at:108" -( $at_check_trace; < dumpbin-output eval "$global_symbol_pipe" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:108" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/dumpbin-symbols.at:109: \$GREP convenience stdout" -at_fn_check_prepare_dynamic "$GREP convenience stdout" "dumpbin-symbols.at:109" -( $at_check_trace; $GREP convenience stdout -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/dumpbin-symbols.at:109" -$at_failed && at_fn_log_failure -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_163 -#AT_START_164 -at_fn_group_banner 164 'deplibs-mingw.at:27' \ - "deplibs without file command" " " 27 -at_xfail=no -( - $as_echo "164. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -cwd=`pwd` -instdir=$cwd/inst -libdir=$instdir/lib -bindir=$instdir/bin -save_LDFLAGS=$LDFLAGS -LDFLAGS="$LDFLAGS -no-undefined" - -mkdir inst inst/bin inst/lib - -cat >a.c <<'_ATEOF' -int a () { return 0; } -_ATEOF - -cat >b.c <<'_ATEOF' -extern int a (); -int b () { return a (); } -_ATEOF - - -for file in a.c b.c; do - $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file -done -{ set +x -$as_echo "$at_srcdir/deplibs-mingw.at:50: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o liba.la a.lo -rpath \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir" "deplibs-mingw.at:50" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:50" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/deplibs-mingw.at:52: library_names= && . ./liba.la && if test -z \"\$library_names\"; then exit 77; fi " -at_fn_check_prepare_dynamic "library_names= && . ./liba.la && if test -z \"$library_names\"; then exit 77; fi " "deplibs-mingw.at:52" -( $at_check_trace; library_names= && . ./liba.la && if test -z "$library_names"; then exit 77; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:52" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/deplibs-mingw.at:54: \$LIBTOOL --mode=install cp liba.la \$libdir" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=install cp liba.la $libdir" "deplibs-mingw.at:54" -( $at_check_trace; $LIBTOOL --mode=install cp liba.la $libdir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:54" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/deplibs-mingw.at:55: \$LIBTOOL --mode=clean rm -f liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=clean rm -f liba.la" "deplibs-mingw.at:55" -( $at_check_trace; $LIBTOOL --mode=clean rm -f liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:55" -$at_failed && at_fn_log_failure -$at_traceon; } - -rm -f $libdir/liba.la - -# check once with 'file' (if present) and once without, if on MinGW. -for try in with-file without-file; do - { set +x -$as_echo "$at_srcdir/deplibs-mingw.at:60: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libb.la b.lo -rpath \$libdir -L\$libdir -la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir -L$libdir -la" "deplibs-mingw.at:60" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libb.la b.lo -rpath $libdir -L$libdir -la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:60" -$at_failed && at_fn_log_failure -$at_traceon; } - - { set +x -$as_echo "$at_srcdir/deplibs-mingw.at:63: library_names= && . ./libb.la && if test -z \"\$library_names\"; then exit 99; fi " -at_fn_check_prepare_dynamic "library_names= && . ./libb.la && if test -z \"$library_names\"; then exit 99; fi " "deplibs-mingw.at:63" -( $at_check_trace; library_names= && . ./libb.la && if test -z "$library_names"; then exit 99; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:63" -$at_failed && at_fn_log_failure -$at_traceon; } - - - case $host_os in - mingw*) - if file /; then - mkdir bin new-libtool - - cat >bin/file <<\EOF -#! /bin/sh -exit 1 -EOF - chmod +x bin/file - PATH=`pwd`/bin${PATH_SEPARATOR-:}$PATH - cd new-libtool - # configure might fail due to in-tree build of toplevel, or - # missing configure flags and other reasons. - LDFLAGS=$save_LDFLAGS - { set +x -$as_echo "$at_srcdir/deplibs-mingw.at:81: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL \"\$abs_top_srcdir\"/configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" || exit 77" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "deplibs-mingw.at:81" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL "$abs_top_srcdir"/configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:81" -$at_failed && at_fn_log_failure -$at_traceon; } - - - LDFLAGS="$LDFLAGS -no-undefined" - cd .. - LIBTOOL=new-libtool/libtool - export LIBTOOL - # Check whether the generated script is usable; otherwise, skip. - { set +x -$as_echo "$at_srcdir/deplibs-mingw.at:87: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o libunrelated.la a.lo -rpath \$libdir || exit 77" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libunrelated.la a.lo -rpath $libdir || exit 77" "deplibs-mingw.at:87" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o libunrelated.la a.lo -rpath $libdir || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/deplibs-mingw.at:87" -$at_failed && at_fn_log_failure -$at_traceon; } - - else - break; - fi;; - *) - break;; - esac -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_164 -#AT_START_165 -at_fn_group_banner 165 'sysroot.at:204' \ - "-L=.../lib -l" " " 28 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "165. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -gcc_sysroot=`$CC --print-sysroot 2> /dev/null` -if test $? != 0; then - gcc_sysroot= -fi -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: test -n \"\$gcc_sysroot\" || exit 77" -at_fn_check_prepare_dynamic "test -n \"$gcc_sysroot\" || exit 77" "sysroot.at:204" -( $at_check_trace; test -n "$gcc_sysroot" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Detect installation prefix for the compiler -prefix= -for i in crt0.o crt1.o crt2.o crti.o; do - j=`$CC --print-file-name $i 2> /dev/null` - test $? = 0 || continue - case $j in - $gcc_sysroot*/lib/$i) - prefix=`echo "$j" | $SED "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"` - break ;; - esac -done -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: test -n \"\$prefix\" || exit 77" -at_fn_check_prepare_dynamic "test -n \"$prefix\" || exit 77" "sysroot.at:204" -( $at_check_trace; test -n "$prefix" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - -sysroot=`pwd`/sys-root - -# difficult to use AS_DIRNAME inside the AT_CHECK macro, so -# encapsulate as a shell function. -local_dirname() { - $as_dirname -- "$1" || -$as_expr X"$1" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$1" : 'X\(//\)[^/]' \| \ - X"$1" : 'X\(//\)$' \| \ - X"$1" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$1" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' -} - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: -(cd \"\$gcc_sysroot\" && find \".\$prefix/bin\" \".\$prefix/include\" \".\$prefix/lib\" \\! -type d) | \\ -while read file; do - dir=\`local_dirname \"\$sysroot/\$file\"\` - test -d \"\$dir\" || mkdir -p \"\$dir\" - rm -f \"\$sysroot/\$file\" - ln -s \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" || \\ - cp \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" -done" -at_fn_check_prepare_notrace 'a `...` command substitution' "sysroot.at:204" -( $at_check_trace; -(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \! -type d) | \ -while read file; do - dir=`local_dirname "$sysroot/$file"` - test -d "$dir" || mkdir -p "$dir" - rm -f "$sysroot/$file" - ln -s "$gcc_sysroot/$file" "$sysroot/$file" || \ - cp "$gcc_sysroot/$file" "$sysroot/$file" -done -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - -LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined" -configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix" - -#??? -if test PATH = "$shlibpath_var"; then - configure_options="$configure_options --libdir=/$prefix/bin" -fi - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: mkdir lib1 lib2 prog" -at_fn_check_prepare_trace "sysroot.at:204" -( $at_check_trace; mkdir lib1 lib2 prog -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Build and install package 1. -cat >lib1/configure.ac <<'_ATEOF' -AC_INIT([lib1], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([lib1.c]) -LT_INIT -AC_OUTPUT(Makefile) -_ATEOF - - -cat >lib1/Makefile.am <<'_ATEOF' -lib_LTLIBRARIES = lib1.la -lib1_la_SOURCES = lib1.c -lib1_la_LDFLAGS = -rpath $(libdir) -_ATEOF - - -cat >lib1/lib1.c <<'_ATEOF' -#include -#include -char *f(const char *s) -{ - return strdup (s); -} -_ATEOF - - -cd lib1 -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:204" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:204" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:204" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:204" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:204" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:204" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:204" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: test -f \"\$sysroot/\$prefix/lib/lib1.la\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:204" -( $at_check_trace; test -f "$sysroot/$prefix/lib/lib1.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib1.la\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:204" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib1.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd .. - -# Build and install package 2. -cat >lib2/configure.ac <<'_ATEOF' -AC_INIT([lib2], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([lib2.c]) -LT_INIT -sysroot=$with_sysroot -AC_SUBST([sysroot]) -AC_OUTPUT(Makefile) -_ATEOF - - -cat >lib2/Makefile.am <<'_ATEOF' -lib_LTLIBRARIES = lib2.la -lib2_la_SOURCES = lib2.c -lib2_la_LDFLAGS = -rpath $(libdir) -lib2_la_LIBADD = -L=$(libdir) -l1 -_ATEOF - - -cat >lib2/lib2.c <<'_ATEOF' -#include -#include -#include -extern char *f(const char *s); -char *g(const char *s) -{ - char *q = f(s); - puts (q); - return q; -} -_ATEOF - - -cd lib2 -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:204" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:204" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:204" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:204" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:204" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:204" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:204" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: test -f \"\$sysroot/\$prefix/lib/lib2.la\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:204" -( $at_check_trace; test -f "$sysroot/$prefix/lib/lib2.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib2.la\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:204" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib2.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd .. - -# Build and install a program. -cat >prog/configure.ac <<'_ATEOF' -AC_INIT([prog], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([prog.c]) -LT_INIT -sysroot=$with_sysroot -AC_SUBST([sysroot]) -AC_OUTPUT(Makefile) -_ATEOF - - -cat >prog/Makefile.am <<'_ATEOF' -bin_PROGRAMS = prog -prog_SOURCES = prog.c -prog_LDADD = -L=$(libdir) -l2 -_ATEOF - - -cat >prog/prog.c <<'_ATEOF' -#include -#include -#include -extern char *g(const char *s); -int main() -{ - char *q = g("hello world"); - free (q); - return 0; -} -_ATEOF - - -cd prog -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:204" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:204" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:204" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:204" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:204" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:204: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:204" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:204" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: test -f \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:204" -( $at_check_trace; test -f "$sysroot/$prefix/bin/prog$EXEEXT" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:204" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib2.la" -at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib2.la" "sysroot.at:204" -( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib2.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: ./libtool --mode=finish \$sysroot/\$prefix/lib/lib[12].la" -at_fn_check_prepare_dynamic "./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la" "sysroot.at:204" -( $at_check_trace; ./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:204: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib[12].la" -at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib[12].la" "sysroot.at:204" -( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib[12].la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:204" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# missing tests -# 1) pass absolute .la files -# 2) pass absolute -L -# 2) pass relative .la files - -cd .. - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_165 -#AT_START_166 -at_fn_group_banner 166 'sysroot.at:205' \ - "-L SYSROOT/.../lib -l" " " 28 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "166. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -gcc_sysroot=`$CC --print-sysroot 2> /dev/null` -if test $? != 0; then - gcc_sysroot= -fi -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: test -n \"\$gcc_sysroot\" || exit 77" -at_fn_check_prepare_dynamic "test -n \"$gcc_sysroot\" || exit 77" "sysroot.at:205" -( $at_check_trace; test -n "$gcc_sysroot" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Detect installation prefix for the compiler -prefix= -for i in crt0.o crt1.o crt2.o crti.o; do - j=`$CC --print-file-name $i 2> /dev/null` - test $? = 0 || continue - case $j in - $gcc_sysroot*/lib/$i) - prefix=`echo "$j" | $SED "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"` - break ;; - esac -done -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: test -n \"\$prefix\" || exit 77" -at_fn_check_prepare_dynamic "test -n \"$prefix\" || exit 77" "sysroot.at:205" -( $at_check_trace; test -n "$prefix" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -sysroot=`pwd`/sys-root - -# difficult to use AS_DIRNAME inside the AT_CHECK macro, so -# encapsulate as a shell function. -local_dirname() { - $as_dirname -- "$1" || -$as_expr X"$1" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$1" : 'X\(//\)[^/]' \| \ - X"$1" : 'X\(//\)$' \| \ - X"$1" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$1" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' -} - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: -(cd \"\$gcc_sysroot\" && find \".\$prefix/bin\" \".\$prefix/include\" \".\$prefix/lib\" \\! -type d) | \\ -while read file; do - dir=\`local_dirname \"\$sysroot/\$file\"\` - test -d \"\$dir\" || mkdir -p \"\$dir\" - rm -f \"\$sysroot/\$file\" - ln -s \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" || \\ - cp \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" -done" -at_fn_check_prepare_notrace 'a `...` command substitution' "sysroot.at:205" -( $at_check_trace; -(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \! -type d) | \ -while read file; do - dir=`local_dirname "$sysroot/$file"` - test -d "$dir" || mkdir -p "$dir" - rm -f "$sysroot/$file" - ln -s "$gcc_sysroot/$file" "$sysroot/$file" || \ - cp "$gcc_sysroot/$file" "$sysroot/$file" -done -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined" -configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix" - -#??? -if test PATH = "$shlibpath_var"; then - configure_options="$configure_options --libdir=/$prefix/bin" -fi - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: mkdir lib1 lib2 prog" -at_fn_check_prepare_trace "sysroot.at:205" -( $at_check_trace; mkdir lib1 lib2 prog -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Build and install package 1. -cat >lib1/configure.ac <<'_ATEOF' -AC_INIT([lib1], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([lib1.c]) -LT_INIT -AC_OUTPUT(Makefile) -_ATEOF - - -cat >lib1/Makefile.am <<'_ATEOF' -lib_LTLIBRARIES = lib1.la -lib1_la_SOURCES = lib1.c -lib1_la_LDFLAGS = -rpath $(libdir) -_ATEOF - - -cat >lib1/lib1.c <<'_ATEOF' -#include -#include -char *f(const char *s) -{ - return strdup (s); -} -_ATEOF - - -cd lib1 -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:205" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:205" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:205" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:205" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:205" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:205" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:205" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: test -f \"\$sysroot/\$prefix/lib/lib1.la\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:205" -( $at_check_trace; test -f "$sysroot/$prefix/lib/lib1.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib1.la\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:205" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib1.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd .. - -# Build and install package 2. -cat >lib2/configure.ac <<'_ATEOF' -AC_INIT([lib2], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([lib2.c]) -LT_INIT -sysroot=$with_sysroot -AC_SUBST([sysroot]) -AC_OUTPUT(Makefile) -_ATEOF - - -cat >lib2/Makefile.am <<'_ATEOF' -lib_LTLIBRARIES = lib2.la -lib2_la_SOURCES = lib2.c -lib2_la_LDFLAGS = -rpath $(libdir) -lib2_la_LIBADD = -L$(sysroot)$(libdir) -l1 -_ATEOF - - -cat >lib2/lib2.c <<'_ATEOF' -#include -#include -#include -extern char *f(const char *s); -char *g(const char *s) -{ - char *q = f(s); - puts (q); - return q; -} -_ATEOF - - -cd lib2 -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:205" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:205" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:205" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:205" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:205" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:205" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:205" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: test -f \"\$sysroot/\$prefix/lib/lib2.la\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:205" -( $at_check_trace; test -f "$sysroot/$prefix/lib/lib2.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib2.la\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:205" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib2.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd .. - -# Build and install a program. -cat >prog/configure.ac <<'_ATEOF' -AC_INIT([prog], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([prog.c]) -LT_INIT -sysroot=$with_sysroot -AC_SUBST([sysroot]) -AC_OUTPUT(Makefile) -_ATEOF - - -cat >prog/Makefile.am <<'_ATEOF' -bin_PROGRAMS = prog -prog_SOURCES = prog.c -prog_LDADD = -L$(sysroot)$(libdir) -l2 -_ATEOF - - -cat >prog/prog.c <<'_ATEOF' -#include -#include -#include -extern char *g(const char *s); -int main() -{ - char *q = g("hello world"); - free (q); - return 0; -} -_ATEOF - - -cd prog -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:205" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:205" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:205" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:205" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:205" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:205: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:205" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:205" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: test -f \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:205" -( $at_check_trace; test -f "$sysroot/$prefix/bin/prog$EXEEXT" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:205" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib2.la" -at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib2.la" "sysroot.at:205" -( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib2.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: ./libtool --mode=finish \$sysroot/\$prefix/lib/lib[12].la" -at_fn_check_prepare_dynamic "./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la" "sysroot.at:205" -( $at_check_trace; ./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:205: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib[12].la" -at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib[12].la" "sysroot.at:205" -( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib[12].la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:205" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# missing tests -# 1) pass absolute .la files -# 2) pass absolute -L -# 2) pass relative .la files - -cd .. - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_166 -#AT_START_167 -at_fn_group_banner 167 'sysroot.at:206' \ - "SYSROOT/.../*.la" " " 28 -at_xfail=no - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes - test no = "$ACLOCAL" && at_xfail=yes - test no = "$AUTOMAKE" && at_xfail=yes - test no = "$AUTOCONF" && at_xfail=yes -( - $as_echo "167. $at_setup_line: testing $at_desc ..." - $at_traceon - - - -gcc_sysroot=`$CC --print-sysroot 2> /dev/null` -if test $? != 0; then - gcc_sysroot= -fi -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: test -n \"\$gcc_sysroot\" || exit 77" -at_fn_check_prepare_dynamic "test -n \"$gcc_sysroot\" || exit 77" "sysroot.at:206" -( $at_check_trace; test -n "$gcc_sysroot" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Detect installation prefix for the compiler -prefix= -for i in crt0.o crt1.o crt2.o crti.o; do - j=`$CC --print-file-name $i 2> /dev/null` - test $? = 0 || continue - case $j in - $gcc_sysroot*/lib/$i) - prefix=`echo "$j" | $SED "s|^$gcc_sysroot\\(.*\\)/lib/$i\$|\\1|"` - break ;; - esac -done -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: test -n \"\$prefix\" || exit 77" -at_fn_check_prepare_dynamic "test -n \"$prefix\" || exit 77" "sysroot.at:206" -( $at_check_trace; test -n "$prefix" || exit 77 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -sysroot=`pwd`/sys-root - -# difficult to use AS_DIRNAME inside the AT_CHECK macro, so -# encapsulate as a shell function. -local_dirname() { - $as_dirname -- "$1" || -$as_expr X"$1" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$1" : 'X\(//\)[^/]' \| \ - X"$1" : 'X\(//\)$' \| \ - X"$1" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$1" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' -} - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: -(cd \"\$gcc_sysroot\" && find \".\$prefix/bin\" \".\$prefix/include\" \".\$prefix/lib\" \\! -type d) | \\ -while read file; do - dir=\`local_dirname \"\$sysroot/\$file\"\` - test -d \"\$dir\" || mkdir -p \"\$dir\" - rm -f \"\$sysroot/\$file\" - ln -s \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" || \\ - cp \"\$gcc_sysroot/\$file\" \"\$sysroot/\$file\" -done" -at_fn_check_prepare_notrace 'a `...` command substitution' "sysroot.at:206" -( $at_check_trace; -(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \! -type d) | \ -while read file; do - dir=`local_dirname "$sysroot/$file"` - test -d "$dir" || mkdir -p "$dir" - rm -f "$sysroot/$file" - ln -s "$gcc_sysroot/$file" "$sysroot/$file" || \ - cp "$gcc_sysroot/$file" "$sysroot/$file" -done -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined" -configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix" - -#??? -if test PATH = "$shlibpath_var"; then - configure_options="$configure_options --libdir=/$prefix/bin" -fi - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: mkdir lib1 lib2 prog" -at_fn_check_prepare_trace "sysroot.at:206" -( $at_check_trace; mkdir lib1 lib2 prog -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# Build and install package 1. -cat >lib1/configure.ac <<'_ATEOF' -AC_INIT([lib1], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([lib1.c]) -LT_INIT -AC_OUTPUT(Makefile) -_ATEOF - - -cat >lib1/Makefile.am <<'_ATEOF' -lib_LTLIBRARIES = lib1.la -lib1_la_SOURCES = lib1.c -lib1_la_LDFLAGS = -rpath $(libdir) -_ATEOF - - -cat >lib1/lib1.c <<'_ATEOF' -#include -#include -char *f(const char *s) -{ - return strdup (s); -} -_ATEOF - - -cd lib1 -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:206" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:206" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:206" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:206" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:206" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:206" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:206" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: test -f \"\$sysroot/\$prefix/lib/lib1.la\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:206" -( $at_check_trace; test -f "$sysroot/$prefix/lib/lib1.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib1.la\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib1.la\"" "sysroot.at:206" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib1.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd .. - -# Build and install package 2. -cat >lib2/configure.ac <<'_ATEOF' -AC_INIT([lib2], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([lib2.c]) -LT_INIT -sysroot=$with_sysroot -AC_SUBST([sysroot]) -AC_OUTPUT(Makefile) -_ATEOF - - -cat >lib2/Makefile.am <<'_ATEOF' -lib_LTLIBRARIES = lib2.la -lib2_la_SOURCES = lib2.c -lib2_la_LDFLAGS = -rpath $(libdir) -lib2_la_LIBADD = $(sysroot)$(libdir)/lib1.la -_ATEOF - - -cat >lib2/lib2.c <<'_ATEOF' -#include -#include -#include -extern char *f(const char *s); -char *g(const char *s) -{ - char *q = f(s); - puts (q); - return q; -} -_ATEOF - - -cd lib2 -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:206" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:206" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:206" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:206" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:206" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:206" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:206" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: test -f \"\$sysroot/\$prefix/lib/lib2.la\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:206" -( $at_check_trace; test -f "$sysroot/$prefix/lib/lib2.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/lib/lib2.la\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/lib/lib2.la\"" "sysroot.at:206" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/lib/lib2.la" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -cd .. - -# Build and install a program. -cat >prog/configure.ac <<'_ATEOF' -AC_INIT([prog], [1.0]) -AM_INIT_AUTOMAKE([foreign]) -AC_PROG_CC -AC_CONFIG_SRCDIR([prog.c]) -LT_INIT -sysroot=$with_sysroot -AC_SUBST([sysroot]) -AC_OUTPUT(Makefile) -_ATEOF - - -cat >prog/Makefile.am <<'_ATEOF' -bin_PROGRAMS = prog -prog_SOURCES = prog.c -prog_LDADD = $(sysroot)$(libdir)/lib2.la -_ATEOF - - -cat >prog/prog.c <<'_ATEOF' -#include -#include -#include -extern char *g(const char *s); -int main() -{ - char *q = g("hello world"); - free (q); - return 0; -} -_ATEOF - - -cd prog -$LIBTOOLIZE - - -macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -cat >acinclude.m4 <<'_ATEOF' -m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -_ATEOF - -echo "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir"; { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$ACLOCAL -I \$abs_top_srcdir/libltdl/m4\$macro_dir" -at_fn_check_prepare_dynamic "$ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir" "sysroot.at:206" -( $at_check_trace; $ACLOCAL -I $abs_top_srcdir/libltdl/m4$macro_dir -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$AUTOMAKE --add-missing" -at_fn_check_prepare_dynamic "$AUTOMAKE --add-missing" "sysroot.at:206" -( $at_check_trace; $AUTOMAKE --add-missing -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -if $at_failed; then : - { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$GREP 'require .*but have' stderr && (exit 77)" -at_fn_check_prepare_dynamic "$GREP 'require .*but have' stderr && (exit 77)" "sysroot.at:206" -( $at_check_trace; $GREP 'require .*but have' stderr && (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -fi -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$AUTOCONF " -at_fn_check_prepare_dynamic "$AUTOCONF " "sysroot.at:206" -( $at_check_trace; $AUTOCONF -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: : \${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; \$CONFIG_SHELL ./configure \$configure_options --prefix=\"\$prefix\" --exec-prefix=\"\$prefix\" --bindir=\"\$prefix/bin\" --libdir=\"\$prefix/lib\" " -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "sysroot.at:206" -( $at_check_trace; : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; $CONFIG_SHELL ./configure $configure_options --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -for target in all -do - { set +x -$as_echo "$at_srcdir/sysroot.at:206: \$as_unset LIBTOOL; \$as_unset LIBTOOLIZE; \$MAKE \$target " -at_fn_check_prepare_dynamic "$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target " "sysroot.at:206" -( $at_check_trace; $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -done - - - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$MAKE install DESTDIR=\$sysroot" -at_fn_check_prepare_dynamic "$MAKE install DESTDIR=$sysroot" "sysroot.at:206" -( $at_check_trace; $MAKE install DESTDIR=$sysroot -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: test -f \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" -at_fn_check_prepare_dynamic "test -f \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:206" -( $at_check_trace; test -f "$sysroot/$prefix/bin/prog$EXEEXT" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$GREP -F \"\$sysroot\" \"\$sysroot/\$prefix/bin/prog\$EXEEXT\"" -at_fn_check_prepare_dynamic "$GREP -F \"$sysroot\" \"$sysroot/$prefix/bin/prog$EXEEXT\"" "sysroot.at:206" -( $at_check_trace; $GREP -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT" -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib2.la" -at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib2.la" "sysroot.at:206" -( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib2.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: ./libtool --mode=finish \$sysroot/\$prefix/lib/lib[12].la" -at_fn_check_prepare_dynamic "./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la" "sysroot.at:206" -( $at_check_trace; ./libtool --mode=finish $sysroot/$prefix/lib/lib[12].la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/sysroot.at:206: \$GREP \"'.*=\" \$sysroot/\$prefix/lib/lib[12].la" -at_fn_check_prepare_dynamic "$GREP \"'.*=\" $sysroot/$prefix/lib/lib[12].la" "sysroot.at:206" -( $at_check_trace; $GREP "'.*=" $sysroot/$prefix/lib/lib[12].la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 1 $at_status "$at_srcdir/sysroot.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - -# missing tests -# 1) pass absolute .la files -# 2) pass absolute -L -# 2) pass relative .la files - -cd .. - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_167 -#AT_START_168 -at_fn_group_banner 168 'stresstest.at:32' \ - "Link option thorough search test" " " 29 -at_xfail=no -( - $as_echo "168. $at_setup_line: testing $at_desc ..." - $at_traceon - - -eval `$LIBTOOL --config | $EGREP '^(CC|objdir|allow_undefined_flag)='` - -mkdir sub sub2 sub3 2>/dev/null - -cat >a.c <<'_ATEOF' -/* all kinds of data items */ -#ifdef __cplusplus -extern "C" { -#endif -int v1; -static int v2; -int v3 = 0; -int v4 = 1; -extern const int v5, v6; -extern const char *v7; -extern const char v8[]; -extern int (*const v12) (void); -const int v5 = 0; -const int v6 = 1; -const char* v7 = "\01foo"; -const char v8[] = "\01bar"; -int v9(void) { return v2 + 1; } -int (*v10) (void); -int (*v11) (void) = v9; -int (*const v12) (void) = v9; - -typedef struct { int arr[1000]; } large; -large v13; -large v14 = { { 0 } }; -large v15 = { { 1 } }; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >asyms <<'_ATEOF' -v1 -v3 -v4 -v5 -v6 -v7 -v8 -v9 -v10 -v11 -v12 -v13 -v14 -v15 -_ATEOF - - -cat >b.c <<'_ATEOF' -int b = 42; -int b3 = 1; -int ab = 1; -_ATEOF - - -cat >main.c <<'_ATEOF' - -#if defined LIBA_DLL_IMPORT -# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ -# define LIBA_SCOPE extern __declspec(dllimport) -# if defined _MSC_VER -# define LIBA_SCOPE_VAR LIBA_SCOPE -# endif -# endif -#endif -#if !defined LIBA_SCOPE -# define LIBA_SCOPE extern -#endif -#if !defined LIBA_SCOPE_VAR -# define LIBA_SCOPE_VAR extern -#endif -#ifdef __cplusplus -extern "C" { -#endif -LIBA_SCOPE_VAR int v1; -LIBA_SCOPE_VAR int v3, v4; -LIBA_SCOPE const int v5, v6; -LIBA_SCOPE_VAR const char* v7; -LIBA_SCOPE_VAR const char v8[]; -extern int v9(void); -LIBA_SCOPE_VAR int (*v10) (void); -LIBA_SCOPE_VAR int (*v11) (void); -LIBA_SCOPE int (*const v12) (void); -#ifdef __cplusplus -} -#endif - -typedef struct { int arr[1000]; } large; -LIBA_SCOPE_VAR large v13, v14, v15; - -int main(void) -{ - char s = v7[0] + v8[0]; - return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() - + v13.arr[0] + v14.arr[0] + v15.arr[0] - - 8; -} -_ATEOF - - -cat >dlself.c <<'_ATEOF' - -#if defined LIBA_DLL_IMPORT -# if defined _WIN32 || defined WIN32 || defined __CYGWIN__ -# define LIBA_SCOPE extern __declspec(dllimport) -# if defined _MSC_VER -# define LIBA_SCOPE_VAR LIBA_SCOPE -# endif -# endif -#endif -#if !defined LIBA_SCOPE -# define LIBA_SCOPE extern -#endif -#if !defined LIBA_SCOPE_VAR -# define LIBA_SCOPE_VAR extern -#endif -#ifdef __cplusplus -extern "C" { -#endif -LIBA_SCOPE_VAR int v1; -LIBA_SCOPE_VAR int v3, v4; -LIBA_SCOPE const int v5, v6; -LIBA_SCOPE_VAR const char* v7; -LIBA_SCOPE_VAR const char v8[]; -extern int v9(void); -LIBA_SCOPE_VAR int (*v10) (void); -LIBA_SCOPE_VAR int (*v11) (void); -LIBA_SCOPE int (*const v12) (void); - -typedef struct { int arr[1000]; } large; -LIBA_SCOPE_VAR large v13, v14, v15; - -extern int w1; -extern int w3, w4; -extern const int w5, w6; -extern const char* w7; -extern const char w8[]; -extern int w9(void); -extern int (*w10) (void); -extern int (*w11) (void); -extern int (*const w12) (void); -extern large w13, w14, w15; -#ifdef __cplusplus -} -#endif - -int main(void) -{ - char s = v7[0] + v8[0] + w7[0] + w8[0]; - return s + v1 + v3 + v4 + v5 + v6 + v9() + v11() + v12() - + v13.arr[0] + v14.arr[0] + v15.arr[0] - + w1 + w3 + w4 + w5 + w6 + w9() + w11() + w12() - + w13.arr[0] + w14.arr[0] + w15.arr[0] - - 16; -} - - -#ifdef __cplusplus -extern "C" { -#endif -int w1; -static int w2; -int w3 = 0; -int w4 = 1; -const int w5 = 0; -const int w6 = 1; -const char* w7 = "\01foo"; -const char w8[] = "\01bar"; -int w9(void) { return w2 + 1; } -int (*w10) (void); -int (*w11) (void) = w9; -int (*const w12) (void) = w9; -large w13; -large w14 = { { 0 } }; -large w15 = { { 1 } }; -#ifdef __cplusplus -} -#endif -_ATEOF - - -cat >dlselfsyms <<'_ATEOF' -w1 -w3 -w4 -w5 -w6 -w7 -w8 -w9 -w10 -w11 -w12 -w13 -w14 -w15 -_ATEOF - - - -{ set +x -$as_echo "$at_srcdir/stresstest.at:234: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c a.c -o sub/a.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -o sub/a.lo" "stresstest.at:234" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c -o sub/a.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:234" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/stresstest.at:236: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c b.c -o sub/b.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c -o sub/b.lo" "stresstest.at:236" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c b.c -o sub/b.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:236" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/stresstest.at:238: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS -DLIBA_DLL_IMPORT \$CFLAGS -c main.c" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c" "stresstest.at:238" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c main.c -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:238" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/stresstest.at:240: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c main.c -o main-static.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c -o main-static.lo" "stresstest.at:240" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c main.c -o main-static.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:240" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/stresstest.at:242: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS -DLIBA_DLL_IMPORT \$CFLAGS -c dlself.c -o sub3/dlself.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c dlself.c -o sub3/dlself.lo" "stresstest.at:242" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS -DLIBA_DLL_IMPORT $CFLAGS -c dlself.c -o sub3/dlself.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:242" -$at_failed && at_fn_log_failure -$at_traceon; } - -{ set +x -$as_echo "$at_srcdir/stresstest.at:244: \$LIBTOOL --mode=compile \$CC \$CPPFLAGS \$CFLAGS -c dlself.c -o sub3/dlself-static.lo" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c dlself.c -o sub3/dlself-static.lo" "stresstest.at:244" -( $at_check_trace; $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c dlself.c -o sub3/dlself-static.lo -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:244" -$at_failed && at_fn_log_failure -$at_traceon; } - - -case $allow_undefined_flag in - unsupported) undef_opts=-no-undefined ;; - *) undef_opts='"" -no-undefined' ;; -esac - -# expose problems with the regex: -touch vfoo v.bar - -for l1 in $undef_opts -do - for l2 in '' '-export-symbols-regex "v.*"' '-export-symbols asyms' - do - for l3 in '' '-rpath /nonexistent' - do - linkargs="$l1 $l2 $l3" - for rel in '' ./ `pwd`/ - do - echo "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o \"$rel\"sub2/liba.la \"$rel\"sub/a.lo' $linkargs"; { set +x -$as_echo "$at_srcdir/stresstest.at:264: eval '\$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS -o \"\$rel\"sub2/liba.la \"\$rel\"sub/a.lo' \$linkargs" -at_fn_check_prepare_dynamic "eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o \"$rel\"sub2/liba.la \"$rel\"sub/a.lo' $linkargs" "stresstest.at:264" -( $at_check_trace; eval '$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o "$rel"sub2/liba.la "$rel"sub/a.lo' $linkargs -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:264" -$at_failed && at_fn_log_failure -$at_traceon; } - - for st in '' '-static' '-no-install' - do - # if '-static' is not passed, and the library is shared, then we have - # to use -DLIBA_DLL_IMPORT, thus main.lo (and not main-static.lo). - case $st,$l3 in - -static,*) mst=-static ;; - *,-rpath*) mst= ;; - *) mst=-static ;; - esac - - echo "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o \"$rel\"main$EXEEXT \"$rel\"main$mst.lo \"$rel\"sub2/liba.la"; { set +x -$as_echo "$at_srcdir/stresstest.at:276: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$st -o \"\$rel\"main\$EXEEXT \"\$rel\"main\$mst.lo \"\$rel\"sub2/liba.la" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o \"$rel\"main$EXEEXT \"$rel\"main$mst.lo \"$rel\"sub2/liba.la" "stresstest.at:276" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o "$rel"main$EXEEXT "$rel"main$mst.lo "$rel"sub2/liba.la -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:276" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./main; if test -f "./main$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/stresstest.at:278: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "stresstest.at:278" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:278" -$at_failed && at_fn_log_failure -$at_traceon; } - - - for l10 in '' '-export-symbols dlselfsyms' - do - echo "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o \"$rel\"sub3/dlself$EXEEXT \"$rel\"sub3/dlself$mst.lo \"$rel\"sub2/liba.la sub/b.lo -dlopen self $l10"; { set +x -$as_echo "$at_srcdir/stresstest.at:281: \$LIBTOOL --mode=link \$CC \$CFLAGS \$LDFLAGS \$st -o \"\$rel\"sub3/dlself\$EXEEXT \"\$rel\"sub3/dlself\$mst.lo \"\$rel\"sub2/liba.la sub/b.lo -dlopen self \$l10" -at_fn_check_prepare_dynamic "$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o \"$rel\"sub3/dlself$EXEEXT \"$rel\"sub3/dlself$mst.lo \"$rel\"sub2/liba.la sub/b.lo -dlopen self $l10" "stresstest.at:281" -( $at_check_trace; $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $st -o "$rel"sub3/dlself$EXEEXT "$rel"sub3/dlself$mst.lo "$rel"sub2/liba.la sub/b.lo -dlopen self $l10 -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:281" -$at_failed && at_fn_log_failure -$at_traceon; } - - lt_exe=./sub3/dlself; if test -f "./sub3/dlself$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -{ set +x -$as_echo "$at_srcdir/stresstest.at:283: if \"\$lt_exe\" ; then :; else lt_status=\$?; test \"\$lt_status\" != 0 && test \"X\$host\" != \"X\$build\" && test -x \"\$lt_exe\" && exit 77; exit \$lt_status; fi" -at_fn_check_prepare_dynamic "if \"$lt_exe\" ; then :; else lt_status=$?; test \"$lt_status\" != 0 && test \"X$host\" != \"X$build\" && test -x \"$lt_exe\" && exit 77; exit $lt_status; fi" "stresstest.at:283" -( $at_check_trace; if "$lt_exe" ; then :; else lt_status=$?; test "$lt_status" != 0 && test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; exit $lt_status; fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/stresstest.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - - - done - done - done - done - done -done - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_168 -#AT_START_169 -at_fn_group_banner 169 'cmdline_wrap.at:29' \ - "Run tests with low max_cmd_len" " " 29 -at_xfail=no -( - $as_echo "169. $at_setup_line: testing $at_desc ..." - $at_traceon - - -fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do test -f "$f" && echo "$f"; done` -echo "DEBUG: fail_list='$fail_list'" -{ set +x -$as_echo "$at_srcdir/cmdline_wrap.at:34: test -z \"\$fail_list\" || (exit 77)" -at_fn_check_prepare_dynamic "test -z \"$fail_list\" || (exit 77)" "cmdline_wrap.at:34" -( $at_check_trace; test -z "$fail_list" || (exit 77) -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/cmdline_wrap.at:34" -$at_failed && at_fn_log_failure -$at_traceon; } - - - -$SED 's|max_cmd_len=.*|max_cmd_len="24"|' < $LIBTOOL > libtool -chmod +x libtool -LIBTOOL=`pwd`/libtool -export LIBTOOL -# run the suite in a subdirectory, otherwise the two suites will compete -# for the output file 'testsuite.log'. -mkdir tests -cd tests -INNER_TESTSUITEFLAGS="$INNER_TESTSUITEFLAGS abs_top_srcdir=$abs_top_srcdir \ - abs_builddir=$abs_builddir" -{ set +x -$as_echo "$at_srcdir/cmdline_wrap.at:48: \$CONFIG_SHELL \$abs_srcdir/testsuite -k libtool\$INNER_TESTSUITEFLAGS" -at_fn_check_prepare_dynamic "$CONFIG_SHELL $abs_srcdir/testsuite -k libtool$INNER_TESTSUITEFLAGS" "cmdline_wrap.at:48" -( $at_check_trace; $CONFIG_SHELL $abs_srcdir/testsuite -k libtool$INNER_TESTSUITEFLAGS -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo stderr:; cat "$at_stderr" -echo stdout:; cat "$at_stdout" -at_fn_check_status 0 $at_status "$at_srcdir/cmdline_wrap.at:48" -$at_failed && at_fn_log_failure \ -"testsuite.log" -$at_traceon; } - - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_169 diff --git a/BUILD/libtool-2.4.7/tests/testsuite.at b/BUILD/libtool-2.4.7/tests/testsuite.at deleted file mode 100644 index f24c2dc..0000000 --- a/BUILD/libtool-2.4.7/tests/testsuite.at +++ /dev/null @@ -1,535 +0,0 @@ -# Process with autom4te to create an -*- Autotest -*- test suite. -# -# Copyright (C) 2004-2019, 2021-2022 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -#### - -m4_divert_push([PREPARE_TESTS])dnl -: ${tst_dist=dist} -: ${ACLOCAL=aclocal} -: ${AUTOHEADER=autoheader} -: ${AUTOCONF=autoconf} -: ${AUTOMAKE=automake} -: ${AUTORECONF=autoreconf} -test set = "${ECHO+set}" || ECHO=${as_echo-'printf %s\n'} -: ${ECHO=$as_echo} -for tool in ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF; do - if eval \$$tool --version >/dev/null 2>&1; then :; else eval $tool=no; fi -done -export ACLOCAL AUTOHEADER AUTOCONF AUTOMAKE AUTORECONF -eval `$LIBTOOL --config | $EGREP '^(objdir|objext)'` -eval `$LIBTOOL --config | $EGREP '^(host|host_os|host_alias|build|build_alias|to_host_file_cmd|to_tool_file_cmd)='` -configure_options=--prefix=/nonexistent -if test -n "$host_alias"; then - configure_options="$configure_options --host $host_alias" -fi -if test -n "$build_alias"; then - configure_options="$configure_options --build $build_alias" -fi -if test -n "$to_host_file_cmd"; then - configure_options="$configure_options lt_cv_to_host_file_cmd=$to_host_file_cmd" -fi -if test -n "$to_tool_file_cmd"; then - configure_options="$configure_options lt_cv_to_tool_file_cmd=$to_tool_file_cmd" -fi -: ${mkdir_p="$abs_top_srcdir/build-aux/install-sh -d"} -# Fix relative paths in $lt_INSTALL -case $lt_INSTALL in - *build-aux/install-sh*) - lt_INSTALL=$abs_top_srcdir/build-aux/install-sh - ;; -esac - -# func_extract_trace support -. "$abs_top_srcdir/build-aux/funclib.sh" -. "$abs_top_srcdir/build-aux/extract-trace" - - -# Unset some MAKE... variables that may cause $MAKE to act like a -# recursively invoked sub-make. Any $MAKE invocation in a test is -# conceptually an independent invocation. -unset MFLAGS MAKEFLAGS MAKELEVEL __MKLVL__ MAKE_JOBS_FIFO - -# On AIX, shared libraries remain loaded in memory after use if they -# are world-readable, until root issues slibclean. On NFS, this causes -# a testsuite rerun to fail to clean up test group directories. Avoid -# this with a suitable umask. Do not do this on other systems, for -# example HP-UX suffers unless shared libraries are mode 555. -case $host_os in -aix*) umask o-rwx ;; -esac -m4_divert_pop([PREPARE_TESTS])dnl - - -# LT_AT_LIBTOOLIZE([ARGS]) -# ------------------------ -m4_define([LT_AT_LIBTOOLIZE], -[$LIBTOOLIZE $1 -AT_KEYWORDS([libtoolize]) -]) - - -# _LIBTOOLIZE_TRANSFORM(FILE) -# --------------------------- -# Fix the expected output of installed libtoolize in presence of --program-*. -m4_define([_LIBTOOLIZE_TRANSFORM], -[lt_name=`$ECHO "$LIBTOOLIZE" | $SED "s|^.*/||"` -$SED "s/libtoolize/$lt_name/g -s|/usr/local/share/aclocal/|${tst_aclocaldir-$abs_top_srcdir/libltdl/m4}/|" < $1 > $1.t -mv -f $1.t $1 -])dnl - - -# LT_AT_CHECK_LIBTOOLIZE(ARGS, [EXIT-STATUS = 0], [STDOUT = ''], [STDERR = '']) -# ----------------------------------------------------------------------------- -m4_define([LT_AT_CHECK_LIBTOOLIZE], -[m4_if([$3], [expout], [_LIBTOOLIZE_TRANSFORM([$3])])dnl -m4_if([$4], [experr], [_LIBTOOLIZE_TRANSFORM([$4])])dnl -AT_CHECK([LT_AT_LIBTOOLIZE([$1])], - [$2], [$3], [$4]) -]) - - -# LT_AT_ACLOCAL([OPTIONS]) -# -------------------------- -m4_pattern_allow([^(m4_define|m4_defn|m4_ifndef)$]) -m4_define([LT_AT_ACLOCAL], -[macro_dir= -func_extract_trace AC_CONFIG_MACRO_DIRS -test -n "$func_extract_trace_result" \ - || func_extract_trace AC_CONFIG_MACRO_DIR -test -n "$func_extract_trace_result" \ - && macro_dir=" -I $func_extract_trace_result" -AT_DATA([acinclude.m4], -[[m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -]]) -LT_AT_CHECK([$ACLOCAL $1$macro_dir], [0], [ignore], [ignore]) -# After the 'aclocal' run sleep 1 second to guarantee that aclocal.m4 is going -# to have older timestamp than other autotools later-generated files (concretely -# for libtool case, we speak about config.h.in generated autoheader). -# Autoreconf does the same (after the first aclocal run). -sleep 1 -AT_XFAIL_IF([test no = "$ACLOCAL"]) -AT_KEYWORDS([automake]) -]) - - -# LT_AT_AUTOCONF([OPTIONS]) -# -------------------------- -m4_define([LT_AT_AUTOCONF], -[AT_CHECK([$AUTOCONF $1], [0], [ignore], [ignore]) -AT_XFAIL_IF([test no = "$AUTOCONF"]) -AT_KEYWORDS([autoconf]) -]) - - -# LT_AT_AUTOMAKE([OPTIONS]) -# -------------------------- -m4_define([LT_AT_AUTOMAKE], -[AT_CHECK([$AUTOMAKE $1], [0], [ignore], [stderr], - [AT_CHECK([$GREP 'require .*but have' stderr && (exit 77)], [1])]) -AT_XFAIL_IF([test no = "$AUTOMAKE"]) -AT_KEYWORDS([automake]) -]) - - -# LT_AT_AUTOHEADER([OPTIONS]) -# --------------------------- -m4_define([LT_AT_AUTOHEADER], -[AT_CHECK([$AUTOHEADER $1], [0], [ignore], [ignore]) -AT_XFAIL_IF([test no = "$AUTOHEADER"]) -AT_KEYWORDS([autoconf]) -]) - - -# LT_AT_AUTORECONF([OPTIONS]) -# -------------------------- -m4_define([LT_AT_AUTORECONF], -[AT_DATA([acinclude.m4], -[[m4_ifndef([AC_CONFIG_MACRO_DIRS], - [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) -]]) -AT_CHECK([$AUTORECONF $1], [0], [ignore], [stderr], - [AT_CHECK([$GREP 'require .*but have' stderr && (exit 77)], [1])]) -AT_XFAIL_IF( - [case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac]) -AT_KEYWORDS([autoconf automake]) -]) - - -# LT_AT_CONFIGURE([OPTIONS], [CONFIGURE-SCRIPT]) -# ---------------------------------------------- -# Configure CONFIGURE-SCRIPT, defaulting to ./configure, with -# additional OPTIONS. -m4_define([LT_AT_CONFIGURE], -[AT_CHECK([: ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL; ]dnl - [$CONFIG_SHELL m4_default([$2], [./configure]) $configure_options ]dnl - [--prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" $1], - [0], [ignore], [ignore]) -]) - - -# LT_AT_MAKE([TGTS], [VARS]) -# -------------------------- -m4_define([LT_AT_MAKE], -[for target in m4_default([$1], [all]) -do - AT_CHECK([$as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target $2], [0], [ignore], [ignore]) -done -]) - - -# LT_AT_BOOTSTRAP([LIBTOOLIZE-ARGS], [ACLOCAL-ARGS], [AUTOHEADER-ARGS], -# [AUTOMAKE-ARGS], [AUTOCONF-ARGS], [CONFIGURE-ARGS], [MAKE-ARGS]) -# ---------------------------------------------------------------------- -m4_define([LT_AT_BOOTSTRAP], -[m4_if([$1], [ignore], [], [LT_AT_LIBTOOLIZE([$1])]) -m4_if([$2], [ignore], [], [LT_AT_ACLOCAL([$2])]) -m4_if([$3], [ignore], [], [LT_AT_AUTOHEADER([$3])]) -m4_if([$4], [ignore], [], [LT_AT_AUTOMAKE([$4])]) -m4_if([$5], [ignore], [], [LT_AT_AUTOCONF([$5])]) -m4_if([$6], [ignore], [], [LT_AT_CONFIGURE([$6])]) -m4_if([$7], [ignore], [], [LT_AT_MAKE([$7])]) -]) - - -# LT_ESCAPE(ARG) -# -------------- -# Escape command for output (expand only parameters). -m4_define([LT_ESCAPE], -[m4_bpatsubst([$1], - m4_dquote(m4_default([$2], [\"`])), - [\\\&])]) - - -# LT_AT_CHECK -# ----------- -# Wrapper around AT_CHECK that outputs the command first, with -# parameters expanded. -m4_define([LT_AT_CHECK], -[echo "LT_ESCAPE([$1])"; AT_CHECK($@)]) - - -# LT_AT_CHECK_CONFIG (CONFIGURE-ARGS, [GREP-EXPRESSION], ...) -# ----------------------------------------------------------- -# Bootstrap and configure the project, and check each GREP-EXPRESSION -# works on the resulting libtool script. -m4_define([LT_AT_CHECK_CONFIG], -[LT_AT_BOOTSTRAP([], [-I m4], [], [--add-missing], [], [$1], [ignore]) -m4_if([$#], 0, [], - [$#], 1, [], [$0_(m4_shift($@))]) -]) -m4_define([LT_AT_CHECK_CONFIG_], -[AT_CHECK([$EGREP '$1' libtool], 0, [ignore]) - m4_if([$#], 1, [], [$0(m4_shift($@))]) -]) - - -# LT_AT_CHECK_EXECUTE([TARGETS], [PROGRAM], ...) -# ---------------------------------------------- -# Run the listed make rules, and check that the following PROGRAMs work. -m4_define([LT_AT_CHECK_EXECUTE], -[LT_AT_MAKE([$1]) -m4_if([$#], 0, [], - [$#], 1, [], [$0_(m4_shift($@))]) -]) -m4_define([LT_AT_CHECK_EXECUTE_], -[LT_AT_EXEC_CHECK([$1], 0, [expout]) -m4_if([$#], 1, [], [$0(m4_shift($@))]) -]) - - -# LT_AT_CHECK_UNINSTALL -# --------------------- -# Make sure uninstallation is complete. -m4_define([LT_AT_CHECK_UNINSTALL], -[LT_AT_MAKE([uninstall]) - -leftovers=`find $prefix ! -type d ! -name '.*' -print` -AT_CHECK([test -z "$leftovers"]) -]) - - -# LT_AT_HOST_DATA(FILE, CONTENTS) -# ------------------------------- -# Ensure correct line ending for expected output of host executables. -m4_define([LT_AT_HOST_DATA], -[AT_DATA([$1], [$2]) -case $host_os in mingw*) - awk '{printf ("%s\r\n", [$]0);}' < $1 > $1.t && mv -f $1.t $1 ;; -esac]) - - -# LT_AT_UNIFY_NL(FILE, [RESULT-FILE]) -# ----------------------------------- -# Ensure (text) FILE has predictable line endings. -# If RESULT-FILE is given, FILE is left untouched. If not, convert in-place. -m4_define([LT_AT_UNIFY_NL], -[case $host_os in - mingw*) - tr -d '\015' < $1 > m4_ifval([$2], [$2], [$1.t - mv -f $1.t $1]) ;; m4_ifval([$2], [ - *) - cp $1 $2 ;;]) -esac]) - - -# LT_AT_NORMALIZE_COMPILER_OUTPUT(FILE, [RESULT-FILE]) -# ---------------------------------------------------- -# Normalize differences in compiler output stemming from, e.g., -# - distcc process numbers, -# - ccache file location, -# - newline encoding, -# - location of the libtool script, -# - error messages involving unstable temporary file names. -m4_define([LT_AT_NORMALIZE_COMPILER_OUTPUT], -[_ltbase=`$ECHO "$LIBTOOL" | $SED 's|^.*/||'` -[$SED "/^distcc\[[0-9]*\]/d - /^$_ltbase: compile/d - s/\(tmp\/\{1,\}cc\)\([a-zA-Z0-9_]\{1,\}\)/\1-normalized-tmpname/g" < $1 > $1.t] -LT_AT_UNIFY_NL([$1.t], [m4_default([$2], [$1])])[]dnl -]) - - -# LT_AT_EXEC_CHECK(EXECUTABLE, [STATUS = 0], [STDOUT], [STDERR], -# [ARGS-OR-STATUS-ADJUST]) -# -------------------------------------------------------------- -# Run EXECUTABLE ARGS-OR-STATUS-ADJUST. STATUS, STDOUT, and STDERR are -# handled as in AT_CHECK. -# However, if we are cross-compiling, then SKIP instead of FAIL. -# ARGS-OR-STATUS-ADJUST can also contain code like '|| (exit 1)' -# to unify different possible exit status values. -m4_define([LT_AT_EXEC_CHECK], -[lt_exe=$1; if test -f "$1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -AT_CHECK([if "$lt_exe" $5; then :; else lt_status=$?; ]dnl - [ m4_ifval([$2], [test "$lt_status" != $2 && ])]dnl - [ test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; ]dnl - [ exit $lt_status; fi],[$2],[$3],[$4]) -]) - - -# LT_AT_NOINST_EXEC_CHECK(EXECUTABLE, [NOINST-MODULES], -# [STATUS = 0], [STDOUT], [STDERR], -# [ARGS-OR-STATUS-ADJUST]) -# --------------------------------------------------------- -# Run EXECUTABLE ARGS-OR-STATUS-ADJUST using 'libtool --mode=execute' -# with '-dlopen' arguments in NOINST_MODULES. STATUS, STDOUT, and -# STDERR are handled as in AT_CHECK. -# However, if we are cross-compiling, then SKIP instead of FAIL. -# ARGS-OR-STATUS-ADJUST can also contain code like '|| (exit 1)' -# to unify different possible exit status values. -m4_define([LT_AT_NOINST_EXEC_CHECK], -[lt_exe=$1; if test -f "$1$EXEEXT"; then lt_exe=$lt_exe$EXEEXT; fi -AT_CHECK([if $LIBTOOL --mode=execute $2 "$lt_exe" $6; then :; else lt_status=$?; ]dnl - [ m4_ifval([$3], [test "$lt_status" != $3 && ])]dnl - [ test "X$host" != "X$build" && test -x "$lt_exe" && exit 77; ]dnl - [ exit $lt_status; fi],[$3],[$4],[$5]) -]) - - -# LT_AT_TAG(TAG) -# -------------- -# Declare that the language TAG will be used in this test. -# Skips the test if the compiler is apparently not functional. -m4_define([LT_AT_TAG], -[AT_KEYWORDS([$1]) -AT_CHECK([{ test -n "[$]$1" && test "X[$]$1" != Xno; } || (exit 77)]) -m4_case([$1], - [CXX], - [AT_CHECK([test g++ != "$CXX" || (g++ -v >/dev/null 2>&1) || (exit 77)])], - [FC], - [# Autoconf will accept f77 or similar as a valid FC, but often f77 - # will not compile fortran90 code; in that case skip the FC checks. - AT_DATA([fc_test.f90], -[[ program main - - end -]]) - AT_CHECK([$FC $FCFLAGS fc_test.f90 || exit 77], [], [ignore], [ignore])], - [GCJ], - [# There are just too many broken gcj installations out there, either missing - # libgcj.spec or unable to find it. Skip the test for them. - AT_DATA([gcj_test.java], -[[public class gcj_test { - public static void main(String[] argv) { } - } -]]) - AT_CHECK([$GCJ $GCJFLAGS -c gcj_test.java || exit 77], - [], [ignore], [ignore])]) -]) - - -# LT_AT_EXEC_TAG([TAG]) -# --------------------- -# Declare that the language TAG will be used and compiled programs may be run. -# Skips the test if the compiler is apparently not functional. -m4_define([LT_AT_EXEC_TAG], -[LT_AT_TAG([$1]) -m4_case([$1], - [GCJ], - [AT_CHECK([$GCJ $GCJFLAGS --main=gcj_test -o gcj_test$EXEEXT gcj_test.java ]dnl - [|| exit 77], [], [ignore], [ignore]) - AT_CHECK([./gcj_test$EXEEXT || exit 77], [], [ignore], [ignore])]) -]) - - -# LT_AT_MVDIR(SRC, DEST) -# ---------------------- -# Move contents of a directory recursively. -# Avoid 'mv DIR ...' due to issues with non-deletable shared libraries -# on AIX on NFS mounts. We cannot use slibclean as non-superuser. -m4_define([LT_AT_MVDIR], -[$mkdir_p $2 -(cd $1 && find . -type d) | (cd $2 && xargs $mkdir_p) -for file in `cd $1 && find . -type f -print -o -type l -print` -do - mv $1/$file $2/$file -done -rm -rf $1 -]) - -## ------------------------------- ## -## Files for a small ltdl project. ## -## ------------------------------- ## - -# _LTDL_PROJECT_FILES([LTDL-DIR]) -# ------------------------------- -# LTDL-DIR is needed to generate a correct Makefile. If the argument -# is omitted, then no Makefile is created. -m4_define([_LTDL_PROJECT_FILES], -[AT_DATA([module.c], -[[#ifdef __cplusplus -extern "C" -#endif -const char * -hello (void) -{ - return "Hello!"; -} -]]) - -AT_DATA([main.c], -[[#include -#include "ltdl.h" - -int -main () -{ - lt_dlhandle module; - const char *(*func) (void) = 0; - int status = 1; - - LTDL_SET_PRELOADED_SYMBOLS(); - if (lt_dlinit() != 0) { - fprintf (stderr, "error during initialisation: %s\n", lt_dlerror()); - return 1; - } - - module = lt_dlopen("./module.la"); - if (!module) { - fprintf (stderr, "error dlopening ./module.la: %s\n", lt_dlerror()); - goto finish; - } - - func = (const char *(*)(void)) lt_dlsym (module, "hello"); - if (!func) { - fprintf (stderr, "error fetching func: %s\n", lt_dlerror()); - goto finish; - } - - printf ("%s\n", (*func) ()); - status = 0; - -finish: - if (lt_dlexit() != 0) { - fprintf (stderr, "error during finalisation: %s\n", lt_dlerror()); - status = 1; - } - - return status; -} -]]) - -m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$])) -m4_ifval([$1], -[AT_DATA([Makefile], -[[top_builddir = . -LIBTOOL = ./]_ARG_DIR[/libtool -INCLUDES = -I./]_ARG_DIR[ -MODFLAGS = -module -avoid-version -no-undefined - -LTCOMPILE = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=compile \ - $(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LTLINK = $(LIBTOOL) --tag=CC $(LIBTOOLFLAGS) --mode=link \ - $(CC) $(CFLAGS) $(LDFLAGS) - -TARGETS = ]_ARG_DIR[/libltdlc.la module.la ltdldemo$(EXEEXT) - -all: $(TARGETS) - -]_ARG_DIR[/libltdlc.la: $(LIBTOOL) ]_ARG_DIR[/Makefile - MAKE='$(MAKE)'; test -n "$$MAKE" || MAKE=make; \ - cd ]_ARG_DIR[ && $$MAKE CC="$(CC)" LIBTOOLFLAGS="$(LIBTOOLFLAGS)" \ - CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ - CONFIGURE_OPTIONS="$(CONFIGURE_OPTIONS)" - -$(LIBTOOL): ]_ARG_DIR[/Makefile - -]_ARG_DIR[/Makefile: - cd ]_ARG_DIR[ && CONFIG_SHELL="$(SHELL)" $(SHELL) ./configure $(CONFIGURE_OPTIONS) - -ltdldemo$(EXEEXT): $(LIBTOOL) module.la ]_ARG_DIR[/libltdlc.la main.lo - $(LTLINK) -o ltdldemo$(EXEEXT) main.lo -dlopen module.la ./]_ARG_DIR[/libltdlc.la - -main.lo: $(LIBTOOL) main.c - $(LTCOMPILE) -c main.c - -module.la: $(LIBTOOL) module.lo - $(LTLINK) -o module.la module.lo $(MODFLAGS) -rpath /dev/null - -module.lo: $(LIBTOOL) module.c - $(LTCOMPILE) -c module.c -]]) -cat >> Makefile <